承接一进行讲解公式
上图阐述了labelling为“cat”的前后向算法路径,黑色的表示实际label,白色的表示blank,箭头表示允许的转移,前向算法更新方向与箭头一致,后向算法更新与箭头相反。
公式7就是之前的说明,这两种可能也就是公式6要进行说明,为了更进一步说明以上公式的两种情况,结合图图3在公式(6)第一个条件是,如果第s步是blank的话,也就是t时刻预测为b,那么从图中3可以看出b只能从两种t-1时刻路径过来,
1/一种是t-1时刻本身就是blank,也就是水平转移过来那种那么去重复就可以。就是公式(7)中第一种情况,就是图3这种情况,原因是,t-1时刻已经完成了s步的过程,就是实际标签加了blank之后的
,t时刻也就是blank,那么就是和t-1时刻去除重复。 仍然是s。(t-1)时刻是s-1,就是s-1步与s=blank不同,那么仍然没有冲突,相当于从实际标签,;例如:“cat”中的“c”转移到blank这种情况。假设从s-2步能够到s步,这种在s=blank是不可能的,因为s-2只能是blank,则s-1一定应该包含一个实际字符例如“c”,那么直接s-2到就会去除“c”这个字符,这种就不是labels
,所以综上只有两种情况。
2/ 第二个条件是,相等的情况,只能两种
(1)这种的话和1/一样。
(2)说明s-2步和s步是有、同一个非blank字符,则s-1必定是blank,如果不是则去重复操作就会把两个合并。在这种情况下t-1时刻只能仍然是两种情况,t-1时刻本身已经是s,t时刻是s去重复,t-1时刻是s-1也就是blank,那么t时刻是s仍然满足条件。假设存在t-1时刻为s-2也就是
,对应图就是
,那条红线,那么就会直接去重复,也就不可能是labels
,所以对于s-2步与s步相同以及s步等于blank则有前馈两种情况转移过来。所以有公式:
,其中
对于公式(6)的下一个公式的情况意思就是可能有三种情况转化为s步,如下图这个情况
标黄的三种情况,s步一定是实际字符这个是一定的事情。从s-2直接转移过来满足,因为s-2与s是不同的实际字符。s-1步转移过来也可能,因为s-1步是blank,t-1时刻是s,也满足直接去重复。所以共有三种可能。
以上是本论文的关键,也差不多把论文的主要核心。
针对,意思就是图3矩阵左上角部分的结果,也就是走不完整个labels
,的路径。因为这些变量没有足够的时间步完成整个序列的预测。至于这个公式
怎么得到的。我们做一下变换就容易理解了。
1. 由于代入不等式得到
2.两边同时除以2,再把移到不等式左边,然后不等式两边同时除以-1,得到
,
这就容易理解了结合图3 是实际labels,也就是不加blank的标签,
就是预测的去除一般,也就是最多有
个blank,即空格数
的。综合图如下
如以上图形如果剩余的时间步小于剩余的实际标签
,那么就不可能预测称
标签。基本上解释完了。
这个显而易见。那么
的概率就是
的以及最后T时刻没有blank的情况概率求和,公式如下:
同样的后向算法backward 变量,定义在时刻t有关于
的所有概率,公式如下:
这个公式不在解释,与上面的一样的道理只不过是,是从t时刻到T时刻的结果。
最后公式(11)下面的那个条件看好就是图3左下角的情况,具体也容易搞懂,就和上面解释的差不多。
实际上上述递归计算导致任何数据计算的underflows下溢情况。其中一种方法就调整前后向算法。如下:
用替代
在公式(6)和(7),就会让前馈算法保存在计算范围之内。类似于前馈变量,后向变量定义如下:
替代公式(10)和(11),
这有点像归一化。
为了评估最大似然估计误差,针对labelling 概率取log对数,对于替换之后的变量具有以下简单的形式:
4.2最大似然估计
回顾一下最大然然估计的梯度计算就差不多了,优化以下公式:
其中
S就是所有训练数据集,(x,z)是是每一对训练数据,z就是标签。,计算梯度随公式12进行微分得到: