贪心搜索greedy search🍓

每一步选择每个输出的最大概率,直到出现终结符或最大句子长度。

维特比算法Viterbi algorithm🍈

维特比算法是一种动态规划算法。它用于寻找最有可能产生观测事件序列的维特比路径——隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。viterbi算法是每次记录到当前时刻,每个观察标签的最优序列,每次只需要保存到当前位置最优路径,之后循环向后走。到结束时,从最后一个时刻的最优值回溯到开始位置,回溯完成后,这个从开始到结束的路径就是最优的。

集束搜索beam search🍒

集束搜索可以认为是维特比算法的贪心形式,在维特比所有中由于利用动态规划导致当字典较大时效率低,而集束搜索使用beam
size参数来限制在每一步保留下来的可能性词的数量。集束搜索是在测试阶段为了获得更好准确性而采取的一种策略,在训练阶段无需使用。

假设字典为[a,b,c],beam size选择2,则如下图有:

梯度裁剪Gradient Clipping🍑

梯度裁剪是解决梯度爆炸的一种技术,其出发点是非常简明的:如果梯度变得非常大,那么我们就调节它使其保持较小的状态。精确的说,∥g∥≥c,则

g←c⋅g/∥g∥

此处的c指超参数,g指梯度,||g||为梯度的范数,g/∥g∥必然是一个单位矢量,因此调节后的梯度范数等于c。