我现在正在学习机器翻译,我对一个更深入地探究句子表达内部的问题感兴趣。
假设我们在并行语料库上训练一个编码器-解码器 Seq2Seq En-Fr 翻译系统,从预先训练的 Eng 和 Fr 词向量开始。系统可以使用任何东西来形成句子嵌入(变压器,LSTM等)。然后Seq2Seq翻译系统的工作是学习从Eng词向量构建Eng句子表示,并学习从法语单词向量构建法语句子表示,并通过编码器和解码器的链接,在同一空间中学习这两个句子表示。
在训练模型并用模型编码一些英语句子(比如,“这不是管道。”)之后,嵌入联合表示空间的句子对单词“This”、“is”、“not”、“a”、“pipe”等及其所有关联以及它们出现的顺序有了一些了解。(1)
当解码器在编码上运行时,它能够取出由于在单词之间的训练和统计关联期间馈送给它的大量语料库而产生的上述信息,并相应地输出‘颜后君’,‘n’,‘‘‘,‘est’,‘pas’,‘une’,‘pipe’,‘(EOS)’。在每一步,它从解码器隐藏状态中提取并输出下一个法语单词,并对其进行转换,以便解码器可以找到下一个要解码的启发式“最突出”单词,依此类推,直到'(EOS)'。
我的问题是:在(EOS)是输出之后,最后一个解码器隐藏状态有什么解释吗?它对其他任何东西都有用吗?当然,一个简单的答案是“不,模型被训练为捕获数百万行英文文本并对其进行处理,直到某些单词与隐藏状态一起产生(EOS),最后一个解码器隐藏状态很简单,所有其他没有明确训练的东西都只是噪声而不是信号”。
但我想知道这是否还有什么?我想说的是,如果你有一个用英语生成的句子嵌入,并且解码器模型用法语倾倒了含义,那么是否有任何无法从英语翻译成法语的剩余含义?当然,任何特定句子翻译的最后一个隐藏状态都很难解释,但是在聚合中呢(比如每个要翻译的句子的最后隐藏状态的聚合,其中有“法语”一词,这意味着英语中略有不同,因为它可以与“薯条”等配对。这是一个愚蠢的例子,但你可能会想到其他人利用语言中出现的文化歧义等。这最后的嵌入是否捕捉到一些关于翻译的统计“不确定性”或歧义(也许像英语可能的“含义”和联想,这些“含义”和联想可能最终出现在法语中但没有?)或者语言的其他一些结构方面,可以用来帮助我们理解,比如说,英语与法语的不同之处?
您认为这个问题的答案属于哪一类?
我不确定这个问题是否合理,但我对答案很好奇,是否在这方面进行了任何研究?我出于简单的好奇心问道。
注意:< br >我知道最后一个隐藏状态存在,因为它与最后一个单词一起生成(EOS)。就是它的目的,没别的(?)让它变得特别。我想知道我们是否能从中获得更多的意义(即使这意味着转换它,就像对它再应用一次解码器步骤或什么的)。
(1) (当然,ML模型没有像人类那样丰富的“概念”,它与思想、经验和感受都有关联。对于ML模型,“概念”只与用于词向量训练的单语语料库和用于翻译训练的双语语料库中的其他单词有关联。)
回答我自己的问题但仍然对思想感兴趣。我预感答案是“否”,因为生成隐藏状态嵌入时只考虑了两个属性:(1)按照余弦距离“最接近”法语中所有记号中的下一个输出记号,以及(2)当对其应用解码器变换时,产生对应于下一个单词的隐藏状态。为了使最后一个隐藏状态具有不同于“它是300-d(或我们正在使用的任何嵌入维度)单位圆上的点以余弦距离接近法国(EOS)记号”的解释,这意味着我们将对它应用(2)。但是训练数据从来没有任何后续(EOS)的例子,所以如果我们将解码器变换应用到最后一个隐藏状态,我们得到的是从来没有学习到的,只是随机的,取决于我们的模型初始化。
如果我们想知道英语和法语联合嵌入空间的“匹配”有多好,我们应该查看和比较各种翻译的测试损失,而不是查看最后的隐藏状态。但仍然对人们对此事的想法感兴趣,如果有人有不同的想法。