婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python實(shí)現(xiàn)CTC以及案例講解

python實(shí)現(xiàn)CTC以及案例講解

熱門(mén)標(biāo)簽:電梯新時(shí)達(dá)系統(tǒng)外呼顯示e 西青語(yǔ)音電銷(xiāo)機(jī)器人哪家好 地圖標(biāo)注與注銷(xiāo) 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 無(wú)錫智能外呼系統(tǒng)好用嗎 旅游廁所地圖標(biāo)注怎么弄 南昌地圖標(biāo)注 宿州電話機(jī)器人哪家好 百應(yīng)電話機(jī)器人總部

在大多數(shù)語(yǔ)音識(shí)別任務(wù)中,我們都缺少文本和音頻特征的alignment,Connectionist Temporal Classification作為一個(gè)損失函數(shù),用于在序列數(shù)據(jù)上進(jìn)行監(jiān)督式學(xué)習(xí),可以不需要對(duì)齊輸入數(shù)據(jù)及標(biāo)簽。

對(duì)于輸入序列 X = [ x 1 , x 2 , . . , x T ] X=[x_1, x_2, .., x_T] X=[x1​,x2​,..,xT​] 和 輸出序列 Y = [ y 1 , y 2 , . . . , y U ] Y = [y_1, y_2, ..., y_U ] Y=[y1​,y2​,...,yU​],我們希望訓(xùn)練一個(gè)模型使條件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X) 達(dá)到最大化,并且給定新的輸入序列時(shí)我們希望模型可以推測(cè)出最優(yōu)的輸出序列, Y ∗ = a r g m a x Y   P ( Y ∣ X ) Y^*=\underset{Y}{argmax}\space P(Y|X) Y∗=Yargmax​ P(Y∣X),而CTC算法剛好可以同時(shí)做到訓(xùn)練和解碼。

損失函數(shù)

語(yǔ)音識(shí)別任務(wù)中,大多數(shù)情況下都是輸入序列長(zhǎng)度大于文本序列長(zhǎng)度,所以CTC算法的alignment方案也是基于將連續(xù)的幾幀輸入合并對(duì)應(yīng)到某一個(gè)輸出的token,即多對(duì)一,同時(shí)除了訓(xùn)練數(shù)據(jù)中所有的token集合,CTC還引入了一個(gè)空白token,在這里用 ϵ \epsilon ϵ 指代,他沒(méi)有實(shí)際意義并且在最終輸出序列中被移除,但這個(gè)token對(duì)生成alignment很有幫助。

CTC算法生成最終token輸出序列步驟如下:
生成和輸入序列長(zhǎng)度相同的alignment → 合并相同token → 刪除空白token → token序列

上面步驟準(zhǔn)確來(lái)講是解碼的步驟,解碼之前我們要訓(xùn)練模型,訓(xùn)練模型就需要損失函數(shù),或者說(shuō)需要一個(gè)被優(yōu)化的目標(biāo)函數(shù):

以下圖的普通RNN為例, p t ( a t ∣ X ) p_t(a_t|X) pt​(at​∣X) 是每一幀在token集合(含空白token)上的概率分布

通過(guò)每一幀的概率分布我們可以得到所有(有效)alignment的概率,最后所有alignment都可以對(duì)應(yīng)到一個(gè)輸出序列,進(jìn)而也就得到所有輸出序列的概率分布。我們找到所有能夠合并到 label (Y)序列的 alignment,并將他們的概率分?jǐn)?shù)相加,再取負(fù)對(duì)數(shù)就可以得到一對(duì)訓(xùn)練數(shù)據(jù)的Loss

那么對(duì)于整個(gè)數(shù)據(jù)集,可以得到目標(biāo)函數(shù) ∑ ( X , Y ) ∈ 訓(xùn) 練 數(shù) 據(jù) 集 − l o g   P ( Y ∣ X ) \sum_{(X,Y)\in 訓(xùn)練數(shù)據(jù)集}-log\space P(Y|X) ∑(X,Y)∈訓(xùn)練數(shù)據(jù)集​−log P(Y∣X),訓(xùn)練中需要將其最小化。

用暴力的方法找出所有alignment并對(duì)其概率求和效率很低,常用的算法是通過(guò)動(dòng)態(tài)規(guī)劃對(duì)alignment進(jìn)行合并,準(zhǔn)確來(lái)講是一個(gè)動(dòng)態(tài)規(guī)劃+DFS的算法:

為了實(shí)現(xiàn)這個(gè)算法,先引入一個(gè)中間序列 Z = ( ϵ , y 1 , ϵ , y 2 . . . , ϵ , y U ) Z=(\epsilon,y_1,\epsilon,y_2...,\epsilon,y_U) Z=(ϵ,y1​,ϵ,y2​...,ϵ,yU​),也就是在label序列的起始,中間和終止位置插入空白token,引入這個(gè)中間序列可以說(shuō)是CTC算法的精髓之一,下面我們以簡(jiǎn)單的 Y = ( a , b ) Y=(a,b) Y=(a,b) 輸出序列進(jìn)行說(shuō)明:

中間序列 Z = ( ϵ , a , ϵ , b , ϵ ) Z=(\epsilon,a,\epsilon,b,\epsilon) Z=(ϵ,a,ϵ,b,ϵ),長(zhǎng)度為 S S S

輸入序列 X = ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) X=(x_1, x_2, x_3, x_4,x_5,x_6) X=(x1​,x2​,x3​,x4​,x5​,x6​),長(zhǎng)度為 T T T

遞歸參數(shù) α s , t \alpha_{s,t} αs,t​ 到 t t t 時(shí)刻為止中間序列的子序列 Z 1 : s Z_{1:s} Z1:s​獲得的概率分?jǐn)?shù),也就是在 t t t時(shí)刻走到中間序列第 s s s個(gè)token時(shí)的概率分?jǐn)?shù)

算法整體流程如下圖所示,和原文中的圖比起來(lái)加入了具體數(shù)值,理解起來(lái)更加直觀,圖中的紅色路徑表示不能進(jìn)行跳轉(zhuǎn),因?yàn)槿绻苯訌? t = 2 t=2 t=2 的第一個(gè) ϵ \epsilon ϵ 跳到 t = 3 t=3 t=3 時(shí)刻的第3個(gè) ϵ \epsilon ϵ,中間的token a a a 會(huì)被忽略,這樣后面的路徑不管怎么走都得不到正確的token序列。

其他情況下都可以接受來(lái)自上一個(gè)時(shí)刻的第 s − 2 , s − 1 , s s-2,s-1,s s−2,s−1,s個(gè)token的跳轉(zhuǎn),再對(duì)圖中的節(jié)點(diǎn)做進(jìn)一步解釋,以綠色節(jié)點(diǎn)為例,該節(jié)點(diǎn)就是 α 4 , 4 \alpha_{4,4} α4,4​ (下標(biāo)從1開(kāi)始),表示前面不管怎么走,在 t = 4 t=4 t=4時(shí)刻落到第4個(gè)token時(shí)獲得的概率分?jǐn)?shù),也就是把這個(gè)時(shí)刻能走到 b b b 的所有alignment 概率分?jǐn)?shù)加起來(lái)。那么把最后一幀的2個(gè)節(jié)點(diǎn)的概率分?jǐn)?shù)相加就是所有alignment的概率分?jǐn)?shù),即 P ( Y ∣ X ) = α S , T + α S − 1 , T P(Y|X)=\alpha_{S,T}+\alpha_{S-1, T} P(Y∣X)=αS,T​+αS−1,T​

下面直接給出dp的狀態(tài)轉(zhuǎn)換公式, p t ( z s ∣ X ) p_t(z_s|X) pt​(zs​∣X) 表示 t t t 時(shí)刻第 s s s 個(gè)字符的概率:

α s , t = ( α s , t − 1 + α s − 1 , t − 1 ) × p t ( z s ∣ X ) \alpha_{s,t}=(\alpha_{s,t-1}+\alpha_{s-1, t-1})\times p_t(z_s|X) αs,t​=(αs,t−1​+αs−1,t−1​)×pt​(zs​∣X), ( a , ϵ , a ) (a,\epsilon, a) (a,ϵ,a)或者 ( ϵ , a , ϵ ) (\epsilon,a,\epsilon) (ϵ,a,ϵ) 模式

α s , t = ( α s − 2 , t − 1 + α s − 1 , t − 1 + α s , t − 1 ) × p t ( z s ∣ X ) \alpha_{s,t}=(\alpha_{s-2,t-1}+\alpha_{s-1,t-1}+\alpha_{s,t-1})\times p_t(z_s|X) αs,t​=(αs−2,t−1​+αs−1,t−1​+αs,t−1​)×pt​(zs​∣X),其他情況

解碼

解碼問(wèn)題就是已經(jīng)有訓(xùn)練好的模型,需要通過(guò)輸入序列推測(cè)出最優(yōu)的token序列,實(shí)際上就是解決 Y ∗ = a r g m a x Y   P ( Y ∣ X ) Y^*=\underset{Y}{argmax}\space P(Y|X) Y∗=Yargmax​ P(Y∣X) 這個(gè)問(wèn)題,那么能想到最直接的方法就是取每一幀概率分?jǐn)?shù)最高的token,連接起來(lái)去掉 ϵ \epsilon ϵ 組成輸出序列,也就是貪婪解碼:

這樣做雖然很高效但有時(shí)并不是最優(yōu)解,比如幾個(gè)概率分?jǐn)?shù)較小的alignment序列最后都能轉(zhuǎn)換為相同的token序列,那么將這些較小的alignment概率分?jǐn)?shù)加起來(lái)可能會(huì)大于貪婪解碼的概率分?jǐn)?shù)。

常用的算法是改進(jìn)版的beam search,常規(guī)的beam search是在每一幀都會(huì)保存概率分?jǐn)?shù)最大的前幾個(gè)路徑并舍棄其他的,最后會(huì)給出最優(yōu)的 b e a m beam beam 個(gè)路徑,在此基礎(chǔ)上,我們?cè)诼窂剿阉鞯倪^(guò)程中,需要對(duì)能映射到相同輸出的alignment進(jìn)行合并,合并之后再進(jìn)行beam的枝剪。

和語(yǔ)言模型結(jié)合

CTC最明顯的特點(diǎn)就是前后幀之間的條件獨(dú)立假設(shè)

缺點(diǎn):不適合包括語(yǔ)音識(shí)別在內(nèi)的大多數(shù)seq2seq任務(wù),上下文之間的相關(guān)性會(huì)被忽略,因此經(jīng)常需要額外引入語(yǔ)言模型。

優(yōu)點(diǎn):不考慮上下文的相關(guān)性可以使模型泛化能力更強(qiáng),比如如果不考慮文本之間的相關(guān)性,用于識(shí)別日常會(huì)話的聲學(xué)模型可以直接用在會(huì)議內(nèi)容轉(zhuǎn)錄的場(chǎng)景中。

由于語(yǔ)言模型分?jǐn)?shù)和CTC的條件概率分?jǐn)?shù)相互獨(dú)立,因此最終的解碼序列可以寫(xiě)成
Y ∗ = a r g m a x Y   P ( Y ∣ X ) × P ( Y ) α Y^*=\underset{Y}{argmax} \space P(Y|X)\times P(Y)^\alpha Y∗=Yargmax​ P(Y∣X)×P(Y)α, P ( Y ) P(Y) P(Y)表示語(yǔ)言模型的概率分?jǐn)?shù),可以是bigram也可以是3gram,以bigram為例的話,如果當(dāng)前時(shí)刻序列是 ( a , b , c ) (a,b,c) (a,b,c),計(jì)算下一幀跳到 d d d 的概率分?jǐn)?shù)時(shí),不僅要考慮下一時(shí)刻的token概率分布,還要考慮訓(xùn)練文本中 ( c , d ) (c,d) (c,d) 出現(xiàn)的頻次,即 c o u n t ( c , d ) / c o u n t ( c , ∗ ) count(c,d) / count(c,*) count(c,d)/count(c,∗),將這個(gè)概率和 d d d出現(xiàn)的概率相乘才是最終的概率分?jǐn)?shù), α \alpha α 是語(yǔ)言模型因子,需要fine tuning。

代碼實(shí)現(xiàn)

損失函數(shù)(動(dòng)態(tài)規(guī)劃+DFS)
常規(guī)beam search解碼
合并alignment的beam search解碼
加入語(yǔ)言模型的 beam search解碼

到此這篇關(guān)于python實(shí)現(xiàn)CTC以及案例講解的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)CTC內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Asp.net Core 3.1基于AspectCore實(shí)現(xiàn)AOP實(shí)現(xiàn)事務(wù)、緩存攔截器功能
  • 解決Keras中循環(huán)使用K.ctc_decode內(nèi)存不釋放的問(wèn)題
  • 使用keras框架cnn+ctc_loss識(shí)別不定長(zhǎng)字符圖片操作
  • Asp.Net Core輕量級(jí)Aop解決方案:AspectCore
  • Kotlin基礎(chǔ)教程之dataclass,objectclass,use函數(shù),類(lèi)擴(kuò)展,socket
  • IOS ObjectC與javascript交互詳解及實(shí)現(xiàn)代碼
  • asp內(nèi)置對(duì)象 ObjectContext 事務(wù)管理 詳解

標(biāo)簽:許昌 辛集 濰坊 西安 雅安 七臺(tái)河 贛州 渭南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python實(shí)現(xiàn)CTC以及案例講解》,本文關(guān)鍵詞  python,實(shí)現(xiàn),CTC,以及,案例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實(shí)現(xiàn)CTC以及案例講解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于python實(shí)現(xiàn)CTC以及案例講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩电影网1区2区| av在线一区二区| 亚洲成人福利片| 欧美激情一区在线| 欧美一区二区久久| 在线观看成人小视频| 国产一区二区电影| 日韩精品亚洲专区| 亚洲欧美一区二区三区孕妇| 久久精品综合网| 精品国产一区二区精华| 91精品国产色综合久久| 日本乱人伦aⅴ精品| 国产 日韩 欧美大片| 亚洲成a人v欧美综合天堂下载 | 欧美午夜精品一区| 国产乱人伦偷精品视频不卡| 热久久国产精品| 亚洲综合色在线| 亚洲男人的天堂av| 中文字幕五月欧美| 日本一区二区免费在线| 久久麻豆一区二区| 久久久久久久免费视频了| 日韩一区和二区| 日韩欧美一二区| 精品免费一区二区三区| 精品少妇一区二区三区在线视频| 欧美一区二区私人影院日本| 欧美日韩国产电影| 成人白浆超碰人人人人| 成人看片黄a免费看在线| 大白屁股一区二区视频| 成人午夜视频免费看| 成人18视频在线播放| 99久久精品国产观看| 99热在这里有精品免费| 色综合久久综合| 色综合中文字幕| 在线观看三级视频欧美| 在线观看国产日韩| 欧美高清视频一二三区 | 日韩高清不卡一区二区三区| 亚洲成人精品影院| 麻豆成人久久精品二区三区红| 日韩精品色哟哟| 日韩精品三区四区| 国产一区二区精品久久| 成人av小说网| 色婷婷av久久久久久久| 欧美精品777| 久久久天堂av| 1000精品久久久久久久久| 亚洲综合色丁香婷婷六月图片| 午夜a成v人精品| 国产乱色国产精品免费视频| av资源站一区| 欧美精品1区2区| 国产色产综合产在线视频| 亚洲人成亚洲人成在线观看图片| 亚洲精品你懂的| 亚洲午夜电影网| 国产一区二区三区免费| 99久久99久久久精品齐齐| 欧美精品一二三| 国产精品视频在线看| 亚洲精品欧美综合四区| 久久精品99国产精品日本| a亚洲天堂av| 欧美草草影院在线视频| 欧美国产日韩精品免费观看| 亚洲午夜在线视频| 国产麻豆午夜三级精品| 色诱视频网站一区| 日韩欧美电影一二三| 国产精品成人午夜| 日本视频在线一区| 99re这里只有精品6| 欧美成人精品二区三区99精品| 国产精品无码永久免费888| 首页综合国产亚洲丝袜| 成人免费福利片| 日韩一区二区免费在线电影 | 久久天堂av综合合色蜜桃网 | 国产成人精品亚洲午夜麻豆| 91日韩一区二区三区| 欧美揉bbbbb揉bbbbb| 久久久国产精品麻豆| 亚洲一区二区精品视频| 国产精品一区免费视频| 欧美日韩在线亚洲一区蜜芽| 久久久不卡影院| 日韩高清不卡一区二区| 色丁香久综合在线久综合在线观看| 日韩美女在线视频| 午夜精品在线看| 在线一区二区三区四区五区 | 日韩欧美国产麻豆| 一区二区三区丝袜| www.亚洲在线| 精品国产免费视频| 日韩电影在线一区| 欧洲色大大久久| 亚洲欧美自拍偷拍| 国产91高潮流白浆在线麻豆| 3atv一区二区三区| 亚洲大片在线观看| 欧美午夜理伦三级在线观看| 国产精品人妖ts系列视频| 精品一区二区三区在线视频| 欧美日韩一区精品| 亚洲欧美欧美一区二区三区| 成人理论电影网| 欧美国产日产图区| 国产不卡在线播放| 久久久久久麻豆| 国产一区二区精品久久99| 日韩欧美www| 美国毛片一区二区三区| 日韩一区二区在线观看视频| 午夜电影一区二区三区| av不卡免费电影| 欧美激情一区二区三区四区| 国产专区欧美精品| 国产日韩综合av| 国产精品亚洲а∨天堂免在线| 精品精品国产高清一毛片一天堂| 日韩精品免费专区| 日韩一级在线观看| 黄色成人免费在线| 国产亚洲女人久久久久毛片| 国产在线国偷精品免费看| 欧美电视剧免费观看| 琪琪久久久久日韩精品| 日韩三级在线观看| 国产一区二区三区免费| 国产亚洲精品bt天堂精选| 国产激情一区二区三区四区| 国产欧美日韩另类一区| 成人h动漫精品| 亚洲精选免费视频| 欧美日韩在线不卡| 日本欧美韩国一区三区| 欧美精品一区二区三区高清aⅴ| 国产麻豆一精品一av一免费| 欧美国产精品劲爆| 99视频一区二区| 亚洲高清不卡在线观看| 777奇米成人网| 国产精品1024| 亚洲日本va在线观看| 91久久一区二区| 亚洲国产一区在线观看| 欧美一区二区三区在线看| 国产精品亚洲第一| 亚洲另类在线制服丝袜| 欧美一区二区网站| 成人精品小蝌蚪| 亚洲一区在线观看免费| 欧美岛国在线观看| 欧美日韩三级一区二区| 不卡一区二区三区四区| 精品一区二区三区久久久| 亚洲国产精品视频| 中文字幕成人网| 精品国产制服丝袜高跟| 欧美日韩国产三级| 色综合久久中文字幕综合网| 国产伦精品一区二区三区视频青涩| 亚洲一区在线电影| 亚洲欧美中日韩| 国产人妖乱国产精品人妖| 欧美一级日韩一级| 欧美三级在线看| 色吊一区二区三区| 成人免费av资源| 国产成人在线电影| 韩国三级电影一区二区| 麻豆精品一区二区综合av| 亚洲二区在线视频| 亚洲黄色免费网站| 亚洲欧美日韩在线| 亚洲欧洲成人av每日更新| 国产欧美精品日韩区二区麻豆天美| 日韩女优av电影| 欧美一区二区视频网站| 欧美人与z0zoxxxx视频| 欧美揉bbbbb揉bbbbb| 91久久国产综合久久| 色一区在线观看| 色婷婷一区二区三区四区| 91蜜桃免费观看视频| 91在线porny国产在线看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品国产一区二区亚洲人成毛片 | 久久色中文字幕| 精品久久久影院| 精品久久久久av影院| 日韩一级二级三级精品视频| 欧美剧情片在线观看|