projection_output如何影响注入seq2seq的张量流中的注意向量大小

时间:2017-03-18 07:29:41

标签: machine-learning tensorflow

作为标题,

官方网站上有一条警告“警告:当output_projection为None时,注意向量和变量的大小将与num_decoder_symbols成比例,可能很大。”

我不知道为什么输出投影会影响注意力矢量大小。

事实上,我阅读了有关嵌入注意力大小的源代码。

在我看来,注意机制是根据细胞输出计算的,并且在注意使用之前没有投射对细胞输出进行操作。那么,输出投影怎么会影响注意力矢量大小呢?

非常感谢并请求解释......

1 个答案:

答案 0 :(得分:1)

你说得对:"注意机制是根据单元格输出计算出来的。但是如果没有投影(output_projection为None),则单元格输出必须与num_output_symbols具有相同的尺寸才能进行解码。这一行由OutputProjectionWrapper强制执行。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py#L866所以现在细胞输出可能具有非常大的维数,这使得它不适合注意。正如你可以看到上面的一行,只有当output_projection为None时才会发生这种情况,否则一切都很好并且使用了投影。