作为标题

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

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

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

在我看来,注意力机制是基于单元格输出来计算的,在进行注意力使用之前,对单元格输出没有任何投影操作。那么,输出投影如何影响注意力向量的大小?

非常感谢,并请求解释。

最佳答案

您说对了:“注意力机制是基于单元格输出来计算的”。但是,如果没有投影(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时发生,否则一切都很好并且使用了投影。

关于machine-learning - 在嵌入注意seq2seq的 tensorflow 中,projection_output如何影响注意向量的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42871716/

10-12 23:18