33、循环神经网络在神经机器翻译中的应用

循环神经网络在神经机器翻译中的应用

1. 波束搜索算法

在语言模型中,设 $y$ 为一个单词序列,$P(y)$ 为该序列出现的概率。我们使用波束搜索(Beam Search)来探索时间 $t$ 时序列的多个假设 $H_{t - 1}$,波束大小为 $k$。

波束搜索的公式为:
$H_t := \left{\left(w_1^1, \ldots, w_1^t\right), \ldots, \left(w_k^1, \ldots, w_k^t\right)\right}$

例如,$H_3 := {(cup\ of\ tea), (cup\ of\ coffee)}$

波束搜索会跟踪前 $k$ 个假设,并选择使 $P(y)$ 最大的路径。我们将每个假设的概率 $P(h_t)$ 收集在 $P_t$ 中,$H_t$ 和 $P_t$ 的索引顺序应保持一致,以便在排序时保持顺序。每个假设以 <SOS> 标记开始,当到达 <EOS> 标记时结束,得分最高的假设将被选中。

波束搜索算法如下:

# 算法 1: 波束搜索
# 数据: y_hat, beamWidth
# 结果: 具有最高 p(y) 的 y
begin
    H0 = {(< SOS >)}
    P0 = {0}
    for t in 1 to T do
        for h in Ht−1 do
            for y_hat ∈ Y do
                y_hat = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值