作为标题,
在官方网站上有一个警告,“警告:当output_projection为None时,注意向量和变量的大小将与num_decoder_symbols成比例,可能会很大。”
我不知道为什么输出投影会影响注意力向量的大小。
事实上,我读过关于嵌入注意力大小的源代码。
在我看来,注意力机制是基于单元格输出计算的,在被注意力使用之前,没有对单元格输出进行投影操作。那么,输出投影如何影响注意力向量的大小呢?
非常感谢,并恳求一些解释...
发布于 2017-03-21 05:14:10
你说得对:“注意力机制是基于单元格的输出来计算的”。但是,如果没有投影(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时才会发生这种情况,否则一切正常,并使用投影。
https://stackoverflow.com/questions/42871716
复制相似问题