machine-learning - 在 tensorflow 嵌入注意力 seq2seq 中,projection_output 如何影响注意力向量大小

标签 machine-learning tensorflow

如标题所示,

官方网站上有警告“警告:当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 - 在 tensorflow 嵌入注意力 seq2seq 中,projection_output 如何影响注意力向量大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42871716/

相关文章:

python - Tensorflow:使用不适合单个 GPU 内存的图形训练模型

javascript - Tensorflow JS,自定义损失函数,将各个部分放在一起

python - 带矢量化器的腌制模型

python - 拟合模型时,batch size 和 epoch 的数量应该有多大?

machine-learning - 训练分类器后使用 weka 对文本进行分类

machine-learning - 为什么Caffe训练时softmax损失变成87.3365?

r - MLR - getBMRModels - 如何从基准测试结果访问每个模型

python - 如何使用keras获得模型的准确性?

python - Tensorflow GPU 使用

python - 数据文件夹应该如何在 cnn 模型中将输入作为 (x-train, y-train), (x-test, y-test)