机器学习&&深度学习——机器翻译(序列生成策略)

这篇具有很好参考价值的文章主要介绍了机器学习&&深度学习——机器翻译(序列生成策略)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er
🌌上期文章:机器学习&&深度学习——seq2seq实现机器翻译(详细实现与原理推导)
📚订阅专栏:机器学习&&深度学习
希望文章对你们有所帮助

引入

上一节已经实现了机器翻译的模型训练和预测,逐个预测输出序列, 直到预测序列中出现特定的序列结束词元eos,而对于预测序列的结果我们进行了评估,发现了效果并不好。因为之前的方式是使用了贪心搜索方式,这个搜索方式并不能使得全局上是优秀的,甚至是非常差的。接下来将介绍搜索方式。
我们已经知道,在任意的时间步,解码器的输出的概率取决于时间步之前的输出子序列和对输入序列的信息进行编码得到的上下文变量。为了量化计算代价,用γ表示输出词表(包含eos),而|γ|显然就是词表大小。
除此之外,我们限制一下输出序列的最大词元数T

贪心搜索

对于输出序列的每一个时间步t,我们都将基于贪心搜索从γ中找到具有最高条件概率的词元,即:
y t ′ = a r g m a x y ∈ γ P ( y ∣ y 1 , . . . , y t ′ − 1 , c ) y_{t^{'}}=argmax_{y∈γ}P(y|y_1,...,y_{t^{'}-1},c) yt=argmaxyγP(yy1,...,yt1,c)
一旦输出序列包含了eos或者已经达到了最大长度T,则输出完成。
机器学习&&深度学习——机器翻译(序列生成策略),机器学习&&深度学习,机器学习,深度学习,机器翻译,人工智能,自然语言处理
上图中的预测输出序列是ABC和eos,这个输出序列的条件概率就是0.5×0.4×0.4×0.6=0.048。
而如果我们在第二个时间步换一下,换成C,那么可能AC后面跟着的A、B、C和eos的概率就会全变了,例如:
机器学习&&深度学习——机器翻译(序列生成策略),机器学习&&深度学习,机器学习,深度学习,机器翻译,人工智能,自然语言处理
计算得出输出序列ACB和eos的条件概率为0.054,大于之前的贪心方式得到的结果。搞过动态规划算法的朋友们都知道贪心就是很可能出现这种情况,所以贪心搜索本身就不是一个很好的搜索策略。

穷举搜索

这个好理解,就是所有结果全部遍历过去,这样的话,我们绝对可以找到条件概率最高的一个。然而这样的复杂度将会非常的大,计算量会达到:
O ( ∣ γ ∣ T ′ ) O(|γ|^{T^{'}}) O(γT)
因此在词元数过多,或者预测序列的最大词元数太大的话,这个方法简直是非常的慢。

束搜索

显然,上面的可以得出一个简单的选择策略:如果精度最重要,则显然是穷举搜索;如果计算成本最重要,则显然是贪心搜索。而束搜索则是介于两者之间的(算是贪心的一个改进版本)。
它有一个超参数,名为束宽,记为k。在每个时间步,我们都选择具有最高条件概率的k个词元,过程如下所示(束宽为2,最大长度为3):
机器学习&&深度学习——机器翻译(序列生成策略),机器学习&&深度学习,机器学习,深度学习,机器翻译,人工智能,自然语言处理
我们从这里面选出六个候选输出序列:
(1)A;(2)C;(3)AB;(4)CE;(5)ABD;(6)CED
最后基于这六个序列, 我们获得最终候选输出序列集合。然后我们选择其中条件概率乘积最高的序列作为输出序列:
1 L α l o g P ( y 1 , . . . , y L ∣ c ) = 1 L α ∑ t ′ = 1 L l o g P ( y t ′ ∣ y 1 , . . . , y t ′ − 1 , c ) \frac{1}{L^α}logP(y_1,...,y_L|c)=\frac{1}{L^α}\sum_{t^{'}=1}^LlogP(y_{t^{'}}|y_1,...,y_{t^{'}-1},c) Lα1logP(y1,...,yLc)=Lα1t=1LlogP(yty1,...,yt1,c)
其中,L是最终候选序列的长度,α通常设为0.75。这样做是因为,一个较长的序列在求和中会有更多的对数项,因此分母用来惩罚长序列。
实际上,贪心搜索就可以看作是一种束宽为1的特殊类型的束搜索。束搜索可以在正确率和计算代价之间进行权衡。

小结

1、序列搜索策略包括贪心搜索、穷举搜索和束搜索。
2、贪心搜索所选取序列的计算量最小,但精度相对较低。
3、穷举搜索所选取序列的精度最高,但计算量最大。
4、束搜索通过灵活选择束宽,在正确率和计算代价之间进行权衡。文章来源地址https://www.toymoban.com/news/detail-651220.html

到了这里,关于机器学习&&深度学习——机器翻译(序列生成策略)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【GPT】文本生成任务(生成摘要、文本纠错、机器翻译等的模型微调)

    NLG:自然语言生成任务,很多NLP任务可以被描述为NLG任务,如经典的T5模型(text to text transfer transformer模型)就是NLG模型,如文本纠错任务,输出正确的文本描述、智能问答根据一定背景进行推理,然后回答。 主要分为三种: 抽取式摘要:从原文档中提取现成的句子作为摘要

    2023年04月26日
    浏览(53)
  • 【2022吴恩达机器学习课程视频翻译笔记】3.2线性回归模型-part-2

    Let’s look in this video at the process of how supervised learning works. Supervised learning algorithm will input a dataset and then what exactly does it do and what does it output? Let’s find out in this video. Recall that a training set in supervised learning includes both the input features, such as the size of the house and also the output targets,

    2024年02月12日
    浏览(35)
  • 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三)

    【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四) 模型部

    2024年02月15日
    浏览(40)
  • OJ# 376 机器翻译

    题目描述 ​ 小李的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 ​这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义, 如果内存中有,软件

    2024年02月11日
    浏览(246)
  • NLP——Translation 机器翻译

    基于统计的机器翻译任务通常通过翻译模型(Translation Model)和语言模型(Language Model)的结合来学习更强大的翻译模型。这种结合被称为统计机器翻译(SMT)。 翻译模型(Translation Model):翻译模型主要关注如何将源语言句子翻译成目标语言句子。它使用双语语料库进行训练

    2024年02月09日
    浏览(91)
  • 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二)

    【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四) 基于

    2024年02月15日
    浏览(37)
  • 几个nlp的小任务(机器翻译)

    2024年02月10日
    浏览(37)
  • 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之ncnn(python)(五)

    系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四

    2024年02月15日
    浏览(60)
  • 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四)

    系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四

    2024年02月15日
    浏览(37)
  • 什么是自然语言处理的机器翻译?

    机器翻译(Machine Translation,MT)是一种自然语言处理技术,旨在将一种语言的文本自动翻译成另一种语言。机器翻译是自然语言处理领域的重要应用之一,它可以帮助人们在跨语言交流、文档翻译和信息检索等方面更加便捷和高效。本文将详细介绍自然语言处理的机器翻译。

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包