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

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研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(y∣y1,...,yt′−1,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,...,yL∣c)=Lα1t′=1∑LlogP(yt′∣y1,...,yt′−1,c)

其中,L是最终候选序列的长度,α通常设为0.75。这样做是因为,一个较长的序列在求和中会有更多的对数项,因此分母用来惩罚长序列。

实际上,贪心搜索就可以看作是一种束宽为1的特殊类型的束搜索。束搜索可以在正确率和计算代价之间进行权衡。

小结

1、序列搜索策略包括贪心搜索、穷举搜索和束搜索。

2、贪心搜索所选取序列的计算量最小,但精度相对较低。

3、穷举搜索所选取序列的精度最高,但计算量最大。

4、束搜索通过灵活选择束宽,在正确率和计算代价之间进行权衡。

相关推荐
企业老板ai培训15 分钟前
从九尾狐AI案例拆解企业AI培训的技术实现与降本增效架构
人工智能
Elastic 中国社区官方博客6 小时前
使用 Discord 和 Elastic Agent Builder A2A 构建游戏社区支持机器人
人工智能·elasticsearch·游戏·搜索引擎·ai·机器人·全文检索
张祥6422889046 小时前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
2501_933329557 小时前
企业级AI舆情中台架构实践:Infoseek系统如何实现亿级数据实时监测与智能处置?
人工智能·架构
阿杰学AI7 小时前
AI核心知识70——大语言模型之Context Engineering(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·数据处理·上下文工程
赛博鲁迅7 小时前
物理AI元年:AI走出屏幕进入现实,88API为机器人装上“最强大脑“
人工智能·机器人
管牛牛7 小时前
图像的卷积操作
人工智能·深度学习·计算机视觉
云卓SKYDROID7 小时前
无人机航线辅助模块技术解析
人工智能·无人机·高科技·云卓科技
琅琊榜首20208 小时前
AI生成脑洞付费短篇小说:从灵感触发到内容落地
大数据·人工智能