, 其中 x 表示输入的法语句子,
表示输出的第一个英语单词。
其中:上式也可表示为下式
这个乘积式中的因子都是小数,其乘积会是一个十分小的数,会造成 数值下溢(numerical underflow)
即乘积的 log 变成了 log 的求和,最大化这个 log 的求和值能够得到同样的结果,并且不会出现 数值下溢和四舍五入
乘积式中各个因此都是小数,所以随着翻译句子的增长,P 的乘积会越来越小。而 集束搜索 的结果会选取较大的 P 的乘积式。这样搜索方法会不自然的偏向 更短的翻译输出 因为 短句子 的概率是由更少的小于 1 的数字乘积得到的。而对于乘积的 对数式 ,由于取对数后的结果是负数,要取得更大的概率值,也会偏向于 更短的翻译结果
,使用训练完成的机器翻译模型翻译为 Jane visited Africa last September 并将其标记为
和
的值的大小来判断 RNN 和束搜索方法的好坏。
, RNN 计算 P(y|x), 而束搜索方法就是找到了
,使得 P(y|x)达到最大。所以此时能够判断 束搜索方法不能提供一个能是 P(y|x)达到最大的 y 值
是比
更好的翻译结果,不过根据 RNN 的概率计算
这与 P(x|y)的实际定义不符合,RNN 应该判断更好的翻译结果具有更高的 P(x|y)值,所以此时可以认为是 RNN 模型出了问题,不能对 P(x|y)做出有效的判断。
[1]
吴恩达老师课程原地址: https://mooc.study.163.com/smartSpec/detail/1001319001.htm