如果我们使用索引矩阵,我们是否需要在Theano中使用flatten和resh
我试着理解Theano implementation of LSTM(目前链接无论什么原因都不起作用,但我希望很快就会回来). 在代码中我看到以下部分:
为了使它“与上下文无关”,我按以下方式重写它:
其中x的维数为(n1,n2),W的维数为(N,n3). 所以,我的假设是代码可以重写为更短.特别是我们可以写:
或者,如果我们使用原始符号,它应该是:
我对吗? 为了提供更多的上下文,x是包含表示单词的整数的2D数组(例如27表示“单词数字27”).原始符号中的符号(或tparams [‘Wemb’])中的W是2D矩阵,其中每行对应一个单词.因此,它是一个字嵌入矩阵(Word2Vec),将每个字映射到实值向量. 最佳答案
是的,你是对的.
W [x.flatten()]]给出由x的值定义的W行(即单词).因此结果是shape =(n1 * n2,n3).让我们称之为“单词列表”(不是python列表,而只是一个常见的语音列表). 你用W [x]实现了相同的效果,因为x的每个n2行都给你一个结果的n1页. 这是一个示例程序,显示两个表达式是等效的:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |