2016-09-19 94 views

回答

2

在内部,一个神经网络对一些大小的密集向量进行操作,通常是256,512或1024个浮点数(这里假设为512)。但最后它需要从词汇中预测一个词,这个词通常要大得多,例如40000个单词。输出投影是将内部表示转换(投影)到最大线性层的最后一个线性层。因此,例如,它可以由一个512 x 40000参数矩阵和一个用于偏向量的40000参数组成。它在seq2seq代码中保持分离的原因是某些损失函数(例如,采样的softmax损耗)需要直接访问最终的512个大小的向量和输出投影矩阵。希望有所帮助!

+0

为什么要循环输出投影的桶数? self.outputs [b] = [tf.matmul(output,output_projection [0])+ output_projection [1]用于在self.outputs [b中输出]]' –