參考:Alex Graves,?Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks
模型的訓(xùn)練
數(shù)值穩(wěn)定的前向-后向算法
? ? ? ? 由于前向-后向算法中會出現(xiàn)連續(xù)的概率值乘法(0歼跟,1之間)前联,對長序列來說很容易造成浮點(diǎn)下溢擂找;作者使用了歸一化的前向-后向過程变屁。為了不使得各個變量的意義發(fā)生混淆我們作一些澄清:(原論文中這幾個變量含義模糊毡证,不益理解)
1)?始終表示通常意義下的前向變量筝尾;
2)?為歸一化的前向過程中每個時間步中未規(guī)范化的變量;
3)?為歸一化的前向過程中每個時間步中對
規(guī)范化后的變量;
即呜呐,我們這樣定義歸一化的前向過程中的變量:
但是注意,當(dāng)時悍募,有
成立蘑辑。
類似地,定義歸一化的后向過程變量:
則給定輸入序列的條件下坠宴,目標(biāo)字符串的對數(shù)概率可以簡單地用
表示為:
這看起來不太明顯洋魂,我們一步步從最簡單的case捋一下:
到此為止,這足以讓你相信我們有下面等式成立:
同理易證:
更嚴(yán)格點(diǎn)啄踊,可以用數(shù)學(xué)歸納法來完成證明忧设,不過這里我不打算這么啰嗦了。對上式兩邊求和颠通,并利用的歸一化性質(zhì)有:
這等價于:
進(jìn)而得到目標(biāo)等式:
最大似然訓(xùn)練
由于每條數(shù)據(jù)之間是獨(dú)立的址晕,因此我們可以單獨(dú)對其求導(dǎo),若使用負(fù)對數(shù)似然下降法顿锰,則我們需要求:
由于谨垃,我們已經(jīng)可以高效地計(jì)算出來了。下面來看右半邊硼控,由于:
注:其中的下標(biāo)是未經(jīng)過
擴(kuò)展的長度為N的目標(biāo)字符序列中某個對應(yīng)的下標(biāo)刘陶。
我們來對上面的推導(dǎo)做一些說明:
1)由于展開式中的每一項(xiàng)都是由滿足的兩項(xiàng)乘起來的,因此都是一條在時刻
經(jīng)過字符
的完整路徑牢撼,且其概率為完整路徑的概率乘上一個多出來的項(xiàng)
匙隔;
2)由于任何一條滿足且在時刻
經(jīng)過字符
的路徑都可以被分成
兩部分,一部分在
之中熏版,另一部分在
之中纷责;所以上面的第一步展開式成立;
3)由于是所有路徑的公因子撼短,因而在上面的第三步可以提到求和號外面再膳;
于是接著對上面公式變形:
兩邊對下標(biāo)求和得:
????????為了對網(wǎng)絡(luò)輸出求導(dǎo),進(jìn)而通過經(jīng)典的反向傳播優(yōu)化網(wǎng)絡(luò)參數(shù)曲横,我們需要考慮在
時刻喂柒,經(jīng)過字符
所有的路徑(注意,我們把空白符放到了網(wǎng)絡(luò)輸出層的最后一個輸出單元,因而
就分別對應(yīng)著目標(biāo)字符序列
在
時刻的概率)灾杰。如下圖(為了簡潔蚊丐,省去了空白符):
????????因此吭露,我們記為標(biāo)注字符序列中那些等于網(wǎng)絡(luò)第
個輸出節(jié)點(diǎn)所代表的字符(如:上圖五角星對應(yīng)的縱坐標(biāo))吠撮;顯然不是每句話都包括所有的字,所以對某句話來說讲竿,集合
僅僅對那些包含在這句話中的字符
才不為空。
????????我們來分析:弄屡,由
和
的定義可知题禀,由于
的展開式中每條路徑在任一時刻只能處于
中的一種狀態(tài);但是膀捷,它們在
時刻的狀態(tài)已經(jīng)全部被鉗住為
了迈嘹,所以當(dāng)
時,
關(guān)于
為常數(shù)全庸,可以在求導(dǎo)中忽略秀仲。又在
中,
壶笼,所以下面我們直接使用
代替它們神僵。
? ? ? ? 令:,即我們將
中不包括
的部分單獨(dú)提出來記作
覆劈,因而有:
進(jìn)而有:
最后多寫一步:
????????在經(jīng)典的深度學(xué)習(xí)中保礼,我們都知道corssentropy損失是softmax分類層的最佳伴侶:corssentropy對softmax層的輸入的梯度具有異常簡潔的形式。但是在這里會怎么樣呢责语?我們嘗試直接求CTC損失函數(shù)關(guān)于softmax輸入數(shù)據(jù)的梯度炮障。
? ? ? ? 由基本函數(shù)的求導(dǎo)中得到的softmax關(guān)于其輸入的導(dǎo)數(shù)可知我們需要分兩種情況討論:
設(shè):,則:
根據(jù)求導(dǎo)的鏈?zhǔn)椒▌t坤候,結(jié)合上面(5)式胁赢,有:
在上面求和號中,當(dāng)時:
當(dāng)時:
綜合以上得:
注意雙重求和具有等價性(仔細(xì)看的定義):
白筹,事實(shí)上智末,比如“普通話識別”任務(wù)中,對大多數(shù)
來說
遍蟋。
再考慮到吹害,因此上式可化為:(注意下標(biāo)變化)
實(shí)際中會使用歸一化的前向-后向算法:
將(2)(3)式代入,并記
得:
將(2)(3)(7)式代入(6)式虚青,由于這一項(xiàng)在分子和分母同時出現(xiàn)它呀,并且與求和下標(biāo)無關(guān),因而可以同時提出到求和號外面,并消去得: