吴恩达深度学习-序列模型 3.2 选择最可能的句子

我们上节课讲到了基础模型,但是基础模型所选择出来的句子并不一定是最好的句子。

我们这次要说的就是如何选择最好的句子。首先我们还是要像上周一样建立一个seq2seq的神经网络,然后通过这个网络,进行一个条件语句选择,就是P(x/y)。在输入的法语句子的前提下,进行英语句子的翻译输出。

如果,你只是对这个y的概率进行采样的话,得到的语句会有好有坏,前3个都还可以,第四个就不太行。为了避免这种情况,我们需要找到一个算法,能使Y值最大化,找到合适的句子。

在这里我们即将使用的算法叫做束约束算法。这个在下一节课当中会进行讨论,这一节课我们先来聊一些看起来可行但是实际上有些问题的算法。

比如说贪心,贪心算法是计算机科学当中很普遍的一个算法,最简单来说,就是取每一步的最优值,然后再走下一步。

由于我们所关心的是整个p(Yi/x)之和最大,因此通过上面那个贪心算法算出来的答案不见得是可行的。作者通过一个例子来说明,在is之后,going的可能性有可能要高于visiting,但是得到的并不是最优的翻译。

由于,我们整个序列很长,一个字典有可能有10000或者是是100000个词,如果我们一个句子有10个词,那么全部的排列组合就有10000的10次方,是很难去计算所有排列组合的得分然后再进行比较的。因此我们需要一个算法来做一个近似最大值的计算,也就是束搜索算法,这个算法在下节课会讲到。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容