概述
前言:
{
最近在github上更新了一些代码,但没在这里更新文章,这次就在这写一篇论文的阅读笔记。
论文是《Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural 'networks》(Alex Graves, Santiago Fernández,Faustino J. Gomez, Jürgen Schmidhuber,https://www.researchgate.net/publication/221346365_Connectionist_temporal_classification_Labelling_unsegmented_sequence_data_with_recurrent_neural_%27networks),主题是序列识别的方法。
}
正文:
{
首先,论文的第一节Introduction提到了之前方法的问题:
- they usually require a significant amount of task specific knowledge, e.g. to design the state models for HMMs, or choose the input features for CRFs; (2)they require explicit (and often questionable) dependency assumptions to make inference tractable, e.g. the assumption that observations are independent for HMMs; (3) for standard HMMs, training is generative, even though sequence labelling is discriminative.
(1)通常这些方法需要很多任务专属的知识,比如说需要为HMMs设计状态模型,或为CRFs选择输入特征;(2)需要为这些方法做明显的依赖假设(经常存在问题),以使得推断可解,比如说需要为HMMs做观测独立的假设;(3)虽然序列标记是判别式的,但对于标准的HMMs,训练是生成式的。
接下来又说到循环神经网络(RNN)。用RNN需要分段,而最有效的方法还是结合HMMs(the most effective use of RNNs for sequence labelling is to combine them with HMMs ... The HMM component is able to automatically segment the sequence during training)。
在第二节中,主要给出了一种误差:
其中,x代表输入序列,z代表标准标签,h代表本论文的模型,ED(A,B)代表由A变换到B所需要的修改的数量(添加和删除等都算是一次修改),S代表测试集。
第三节介绍了模型的大致过程,我理解的数据流如下:
声波序列x ------(通过循环神经网络)------> 各个标签(包括空白标签)在各个时段下的概率y -------(通过式(2),(3),(4))-------> 最终的标签输出h(x)
(4)
其中,L‘T代表所有长度为T的标签序列的集合。π为标签序列(可能包括空白),B为一种多对一的映射(例如B(a−ab−) = B(−aa−−abb) = aab,其中a和b为标签,−为空白标签。论文中说此映射是删除空白与重复标签)。
第四节中提到了模型的训练方法。
计算式(2),(3),(4)会很耗时(需要考虑所有的π和l),所以论文中就提出了一种递归的算法:
式(5)中定义的αt(s)指的是在x给出并且πt=ls的情况下,π的前t部分经B的映射后为I的前s部分的概率。
一通推导之后得出了式(8)。
又介绍了反向递归:
所以递归过程被分成了两部分。在πt=ls的情况下,两个概率部分相乘之后再除以ls的概率便可得到式(3),因此,对于所有的t和s,可得式(14)。
训练的目标函数如下:
所以每个网络的误差为目标函数(12)对每个网络每次输出的微分,即式(16)。
式中u为网络输出(我认为就是y),α和β都被归一化了。
第五节描述了实验结果。
按照我的理解,输入为每个时刻的被量化的声波幅值(量化为26种)。在TIMIT数据集上的结果对比如表1:
可以看到,相比于Weighted error BLSTM/HMM,CTC的效果没有明显优势,Weighted error是指根据输出的长短缩放误差信号(the error signal was scaled to give equal weight to long and short phonemes (Robinson, 1991))。
另外,论文中也提到CTC更适合噪音等级比较高的场景(a higher level of noise was found to be optimal for CTC)。
}
结语:
{
这边论文涉及的还是数学或统计学方法,在循环神经网络后加了一个统计学模型,并没有涉及新的网络结构。光公式就琢磨了很久,可能是我的数学熟练度不够吧。
}
最后
以上就是纯情短靴为你收集整理的联结主义时间分类(Connectionist temporal classification)的论文笔记的全部内容,希望文章能够帮你解决联结主义时间分类(Connectionist temporal classification)的论文笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复