tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq的官方文档对output_projection参数有以下解释:
output_projection:没有或一对(W,B)输出投影权重和偏差;W具有shape output_size x num_decoder_symbols,而B具有shape num_decoder_symbols;如果提供和feed_previous=True,则每个馈送的先前输出将首先乘以W并添加B。
我不明白为什么B参数应该有[num_decoder_symbols]的大小?由于输出首先乘以W,然后将偏差相加,它不应该是[output_size]吗
发布于 2017-09-28 13:56:07
好了!所以,我找到了这个问题的答案。
混淆的主要来源是W矩阵本身的维度[output_size x num_decoder_symbols]。
这里的output_size不是指您想要的 output_size ,而是LSTM单元的output_size(与隐藏向量的大小相同)。因此,矩阵乘法u x W将产生大小为num_decoder_symbols的向量,该向量可被认为是输出符号的对数。
https://stackoverflow.com/questions/46424912
复制相似问题