當前位置:首頁 » 操作系統 » 前向後向演算法

前向後向演算法

發布時間: 2022-04-13 12:04:07

1. 想使用馬爾科夫模型,用什麼語言編程

將C語言實現的隱馬爾科夫模型演算法(UMDHMM)改為C#語言實現。
功能描述:
前向演算法(forward algorithm):給定HMM求一個觀察序列的概率(評估)
後向演算法(backward algorithm):給定HMM求一個觀察序列的概率(評估)
前向-後向演算法(forward-backward algorithm):根據觀察序列生成隱馬爾科夫模型(學習)
維特比演算法(Viterbi algorithm):搜索最有可能生成一個觀察序列的隱藏狀態序列(解碼)

2. 求論文(語音識別)

與機器進行語音交流,讓機器明白你說什麼,這是人們長期以來夢寐以求的事情。語音識別技術就是讓機器通過識別和理解過程把語音信號轉變為相應的文本或命令的高技術。語音識別是一門交叉學科。近二十年來,語音識別技術取得顯著進步,開始從實驗室走向市場。人們預計,未來10年內,語音識別技術將進入工業、家電、通信、汽車電子、醫療、家庭服務、消費電子產品等各個領域。
語音識別聽寫機在一些領域的應用被美國新聞界評為1997年計算機發展十件大事之一。很多專家都認為語音識別技術是2000年至2010年間信息技術領域十大重要的科技發展技術之一。
語音識別技術所涉及的領域包括:信號處理、模式識別、概率論和資訊理論、發聲機理和聽覺機理、人工智慧等等。 任務分類和應用 根據識別的對象不同,語音識別任務大體可分為3類,即孤立詞識別(isolated word recognition),關鍵詞識別(或稱關鍵詞檢出,keyword spotting)和連續語音識別。其中,孤立詞識別 的任務是識別事先已知的孤立的詞,如「開機」、「關機」等;連續語音識別的任務則是識別任意的連續語音,如一個句子或一段話;連續語音流中的關鍵詞檢測針對的是連續語音,但它並不識別全部文字,而只是檢測已知的若干關鍵詞在何處出現,如在一段話中檢測「計算機」、「世界」這兩個詞。
根據針對的發音人,可以把語音識別技術分為特定人語音識別和非特定人語音識別,前者只能識別一個或幾個人的語音,而後者則可以被任何人使用。顯然,非特定人語音識別系統更符合實際需要,但它要比針對特定人的識別困難得多。
另外,根據語音設備和通道,可以分為桌面(PC)語音識別、電話語音識別和嵌入式設備(手機、PDA等)語音識別。不同的採集通道會使人的發音的聲學特性發生變形,因此需要構造各自的識別系統。
語音識別的應用領域非常廣泛,常見的應用系統有:語音輸入系統,相對於鍵盤輸入方法,它更符合人的日常習慣,也更自然、更高效;語音控制系統,即用語音來控制設備的運行,相對於手動控制來說更加快捷、方便,可以用在諸如工業控制、語音撥號系統、智能家電、聲控智能玩具等許多領域;智能對話查詢系統,根據客戶的語音進行操作,為用戶提供自然、友好的資料庫檢索服務,例如家庭服務、賓館服務、旅行社服務系統、訂票系統、醫療服務、銀行服務、股票查詢服務等等。 前端前端處理是指在特徵提取之前,先對原始語音進行處理,部分消除雜訊和不同說話人帶來的影響,使處理後的信號更能反映語音的本質特徵。最常用的前端處理有端點檢測和語音增強。端點檢測是指在語音信號中將語音和非語音信號時段區分開來,准確地確定出語音信號的起始點。經過端點檢測後,後續處理就可以只對語音信號進行,這對提高模型的精確度和識別正確率有重要作用。語音增強的主要任務就是消除環境雜訊對語音的影響。目前通用的方法是採用維納濾波,該方法在雜訊較大的情況下效果好於其它濾波器。處理聲學特徵 聲學特徵的提取與選擇是語音識別的一個重要環節。聲學特徵的提取既是一個信息大幅度壓縮的過程,也是一個信號解卷過程,目的是使模式劃分器能更好地劃分。由於語音信號的時變特性,特徵提取必須在一小段語音信號上進行,也即進行短時分析。這一段被認為是平穩的分析區間稱之為幀,幀與幀之間的偏移通常取幀長的1/2或1/3。通常要對信號進行預加重以提升高頻,對信號加窗以避免短時語音段邊緣的影響。常用的一些聲學特徵* 線性預測系數LPC:線性預測分析從人的發聲機理入手,通過對聲道的短管級聯模型的研究,認為系統的傳遞函數符合全極點數字濾波器的形式,從而n 時刻的信號可以用前若干時刻的信號的線性組合來估計。通過使實際語音的采樣值和線性預測采樣值之間達到均方差最小LMS,即可得到線性預測系數LPC。對 LPC的計算方法有自相關法(德賓Durbin法)、協方差法、格型法等等。計算上的快速有效保證了這一聲學特徵的廣泛使用。與LPC這種預測參數模型類似的聲學特徵還有線譜對LSP、反射系數等等。
* 倒譜系數CEP:利用同態處理方法,對語音信號求離散傅立葉變換DFT後取對數,再求反變換iDFT就可得到倒譜系數。對LPC倒譜(LPCCEP),在獲得濾波器的線性預測系數後,可以用一個遞推公式計算得出。實驗表明,使用倒譜可以提高特徵參數的穩定性。
* Mel倒譜系數MFCC和感知線性預測PLP:不同於LPC等通過對人的發聲機理的研究而得到的聲學特徵,Mel倒譜系數MFCC和感知線性預測 PLP是受人的聽覺系統研究成果推動而導出的聲學特徵。對人的聽覺機理的研究發現,當兩個頻率相近的音調同時發出時,人只能聽到一個音調。臨界帶寬指的就是這樣一種令人的主觀感覺發生突變的帶寬邊界,當兩個音調的頻率差小於臨界帶寬時,人就會把兩個音調聽成一個,這稱之為屏蔽效應。Mel刻度是對這一臨界帶寬的度量方法之一。
MFCC的計算首先用FFT將時域信號轉化成頻域,之後對其對數能量譜用依照Mel刻度分布的三角濾波器組進行卷積,最後對各個濾波器的輸出構成的向量進行離散餘弦變換DCT,取前N個系數。PLP仍用德賓法去計算LPC參數,但在計算自相關參數時用的也是對聽覺激勵的對數能量譜進行DCT的方法。聲學模型語音識別系統的模型通常由聲學模型和語言模型兩部分組成,分別對應於語音到音節概率的計算和音節到字概率的計算。本節和下一節分別介紹聲學模型和語言模型方面的技術。
HMM聲學建模:馬爾可夫模型的概念是一個離散時域有限狀態自動機,隱馬爾可夫模型HMM是指這一馬爾可夫模型的內部狀態外界不可見,外界只能看到各個時刻的輸出值。對語音識別系統,輸出值通常就是從各個幀計算而得的聲學特徵。用HMM刻畫語音信號需作出兩個假設,一是內部狀態的轉移只與上一狀態有關,另一是輸出值只與當前狀態(或當前的狀態轉移)有關,這兩個假設大大降低了模型的復雜度。HMM的打分、解碼和訓練相應的演算法是前向演算法、Viterbi演算法和前向後向演算法。
語音識別中使用HMM通常是用從左向右單向、帶自環、帶跨越的拓撲結構來對識別基元建模,一個音素就是一個三至五狀態的HMM,一個詞就是構成詞的多個音素的HMM串列起來構成的HMM,而連續語音識別的整個模型就是詞和靜音組合起來的HMM。上下文相關建模:協同發音,指的是一個音受前後相鄰音的影響而發生變化,從發聲機理上看就是人的發聲器官在一個音轉向另一個音時其特性只能漸變,從而使得後一個音的頻譜與其他條件下的頻譜產生差異。上下文相關建模方法在建模時考慮了這一影響,從而使模型能更准確地描述語音,只考慮前一音的影響的稱為Bi- Phone,考慮前一音和後一音的影響的稱為Tri-Phone。
英語的上下文相關建模通常以音素為基元,由於有些音素對其後音素的影響是相似的,因而可以通過音素解碼狀態的聚類進行模型參數的共享。聚類的結果稱為senone。決策樹用來實現高效的triphone對senone的對應,通過回答一系列前後音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態應使用哪個senone。分類回歸樹CART模型用以進行詞到音素的發音標注。 語言模型語言模型主要分為規則模型和統計模型兩種。統計語言模型是用概率統計的方法來揭示語言單位內在的統計規律,其中N-Gram簡單有效,被廣泛使用。
N-Gram:該模型基於這樣一種假設,第n個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積。這些概率可以通過直接從語料中統計N個詞同時出現的次數得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
語言模型的性能通常用交叉熵和復雜度(Perplexity)來衡量。交叉熵的意義是用該模型對文本識別的難度,或者從壓縮的角度來看,每個詞平均要用幾個位來編碼。復雜度的意義是用該模型表示這一文本平均的分支數,其倒數可視為每個詞的平均概率。平滑是指對沒觀察到的N元組合賦予一個概率值,以保證詞序列總能通過語言模型得到一個概率值。通常使用的平滑技術有圖靈估計、刪除插值平滑、Katz平滑和Kneser-Ney平滑。 搜索連續語音識別中的搜索,就是尋找一個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜索所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上一個高權重,並設置一個長詞懲罰分數。
Viterbi:基於動態規劃的Viterbi演算法在每個時間點上的各個狀態,計算解碼狀態序列對觀察序列的後驗概率,保留概率最大的路徑,並在每個節點記錄下相應的狀態信息以便最後反向獲取詞解碼序列。Viterbi演算法在不喪失最優解的條件下,同時解決了連續語音識別中HMM模型狀態序列與聲學觀察序列的非線性時間對准、詞邊界檢測和詞的識別,從而使這一演算法成為語音識別搜索的基本策略。
由於語音識別對當前時間點之後的情況無法預測,基於目標函數的啟發式剪枝難以應用。由於Viterbi演算法的時齊特性,同一時刻的各條路徑對應於同樣的觀察序列,因而具有可比性,束Beam搜索在每一時刻只保留概率最大的前若干條路徑,大幅度的剪枝提高了搜索的效率。這一時齊Viterbi- Beam演算法是當前語音識別搜索中最有效的演算法。 N-best搜索和多遍搜索:為在搜索中利用各種知識源,通常要進行多遍搜索,第一遍使用代價低的知識源,產生一個候選列表或詞候選網格,在此基礎上進行使用代價高的知識源的第二遍搜索得到最佳路徑。此前介紹的知識源有聲學模型、語言模型和音標詞典,這些可以用於第一遍搜索。為實現更高級的語音識別或口語理解,往往要利用一些代價更高的知識源,如4階或5階的N-Gram、4階或更高的上下文相關模型、詞間相關模型、分段模型或語法分析,進行重新打分。最新的實時大詞表連續語音識別系統許多都使用這種多遍搜索策略。
N-best搜索產生一個候選列表,在每個節點要保留N條最好的路徑,會使計算復雜度增加到N倍。簡化的做法是只保留每個節點的若干詞候選,但可能丟失次優候選。一個折衷辦法是只考慮兩個詞長的路徑,保留k條。詞候選網格以一種更緊湊的方式給出多候選,對N-best搜索演算法作相應改動後可以得到生成候選網格的演算法。
前向後向搜索演算法是一個應用多遍搜索的例子。當應用簡單知識源進行了前向的Viterbi搜索後,搜索過程中得到的前向概率恰恰可以用在後向搜索的目標函數的計算中,因而可以使用啟發式的A演算法進行後向搜索,經濟地搜索出N條候選。 系統實現 語音識別系統選擇識別基元的要求是,有準確的定義,能得到足夠數據進行訓練,具有一般性。英語通常採用上下文相關的音素建模,漢語的協同發音不如英語嚴重,可以採用音節建模。系統所需的訓練數據大小與模型復雜度有關。模型設計得過於復雜以至於超出了所提供的訓練數據的能力,會使得性能急劇下降。
聽寫機:大詞彙量、非特定人、連續語音識別系統通常稱為聽寫機。其架構就是建立在前述聲學模型和語言模型基礎上的HMM拓撲結構。訓練時對每個基元用前向後向演算法獲得模型參數,識別時,將基元串接成詞,詞間加上靜音模型並引入語言模型作為詞間轉移概率,形成循環結構,用Viterbi演算法進行解碼。針對漢語易於分割的特點,先進行分割再對每一段進行解碼,是用以提高效率的一個簡化方法。
對話系統:用於實現人機口語對話的系統稱為對話系統。受目前技術所限,對話系統往往是面向一個狹窄領域、詞彙量有限的系統,其題材有旅遊查詢、訂票、資料庫檢索等等。其前端是一個語音識別器,識別產生的N-best候選或詞候選網格,由語法分析器進行分析獲取語義信息,再由對話管理器確定應答信息,由語音合成器輸出。由於目前的系統往往詞彙量有限,也可以用提取關鍵詞的方法來獲取語義信息。 自適應與強健性 語音識別系統的性能受許多因素的影響,包括不同的說話人、說話方式、環境噪音、傳輸信道等等。提高系統魯棒性,是要提高系統克服這些因素影響的能力,使系統在不同的應用環境、條件下性能穩定;自適應的目的,是根據不同的影響來源,自動地、有針對性地對系統進行調整,在使用中逐步提高性能。以下對影響系統性能的不同因素分別介紹解決辦法。
解決辦法按針對語音特徵的方法(以下稱特徵方法)和模型調整的方法(以下稱模型方法)分為兩類。前者需要尋找更好的、高魯棒性的特徵參數,或是在現有的特徵參數基礎上,加入一些特定的處理方法。後者是利用少量的自適應語料來修正或變換原有的說話人無關(SI)模型,從而使其成為說話人自適應(SA)模型。
說話人自適應的特徵方法有說話人規一化和說話人子空間法,模型方法有貝葉斯方法、變換法和模型合並法。
語音系統中的雜訊,包括環境雜訊和錄音過程加入的電子雜訊。提高系統魯棒性的特徵方法包括語音增強和尋找對雜訊干擾不敏感的特徵,模型方法有並行模型組合PMC方法和在訓練中人為加入雜訊。信道畸變包括錄音時話筒的距離、使用不同靈敏度的話筒、不同增益的前置放大和不同的濾波器設計等等。特徵方法有從倒譜矢量中減去其長時平均值和RASTA濾波,模型方法有倒譜平移。 微軟語音識別引擎 微軟在office和vista中都應用了自己開發的語音識別引擎,微軟語音識別引擎的使用是完全免費的,所以產生了許多基於微軟語音識別引擎開發的語音識別應用軟體,例如《語音游戲大師》《語音控制專家》《芝麻開門》等等軟體。 語音識別系統的性能指標 語音識別系統的性能指標主要有四項。①詞彙表范圍:這是指機器能識別的單詞或片語的范圍,如不作任何限制,則可認為詞彙表范圍是無限的。②說話人限制:是僅能識別指定發話者的語音,還是對任何發話人的語音都能識別。③訓練要求:使用前要不要訓練,即是否讓機器先「聽」一下給定的語音,以及訓練次數的多少。④正確識別率:平均正確識別的百分數,它與前面三個指標有關。
小結
以上介紹了實現語音識別系統的各個方面的技術。這些技術在實際使用中達到了較好的效果,但如何克服影響語音的各種因素還需要更深入地分析。目前聽寫機系統還不能完全實用化以取代鍵盤的輸入,但識別技術的成熟同時推動了更高層次的語音理解技術的研究。由於英語與漢語有著不同的特點,針對英語提出的技術在漢語中如何使用也是一個重要的研究課題,而四聲等漢語本身特有的問題也有待解決。

3. 怎麼用C語言實現向前向後差分演算法

沒有初始化low,就會報運行時錯誤,初始化一下low就好了
#include
"stdio.h"
#define
List_Size
20
struct
RecordType
{
int
key;
//簡單查找
char
otherkey;
};
struct
RecordList
{
RecordType
r[List_Size+1];
int
length;
}list1,*p;
void
init_list()
{
int
i;
//初始化數據
p=&list1;
for(i=0;i<List_Size+1;i++)
{
p->r[i].key
=i;
p->r[i].otherkey
=i+1;
}
p->length
=List_Size+1;
for(i=0;i<List_Size+1;i++)
//確認初始化數據
{
printf("list.r[%d].key=%d,list.r[%d].otherkey=%d\n",i,p->r[i].key,i,p->r[i].otherkey);
}
printf("list.length=%d\n",p->length);
}
int
BinSrch(RecordList
L,int
k)
//二分差演算法
{
int
low,high,mid;
int
i=0;
low
=
0;
//初始化low
high=L.length-1;
while(low<=high)
{
mid=(low+high)/2;
if(k==L.r[mid].key)
{
i=mid;break;
}
else
{
if(k
<
L.r[mid].key)
{
high=mid-1;
}
else
low=mid+1;
}
}
//
if((low==high)&&(k!=L.r[mid].key))
//
{
//
return
(0);
//
}
return
(i);
}
void
main()
{
int
result=0;
p=&list1;
init_list();
result=BinSrch(list1,7);
printf("the
reslut=%d",result);
getchar();
}

4. 語音識別文件的系統實現

語音識別系統選擇識別基元的要求是,有準確的定義,能得到足夠數據進行訓練,具有一般性。英語通常採用上下文相關的音素建模,漢語的協同發音不如英語嚴重,可以採用音節建模。系統所需的訓練數據大小與模型復雜度有關。模型設計得過於復雜以至於超出了所提供的訓練數據的能力,會使得性能急劇下降。
聽寫機:大詞彙量、非特定人、連續語音識別系統通常稱為聽寫機。其架構就是建立在前述聲學模型和語言模型基礎上的HMM拓撲結構。訓練時對每個基元用前向後向演算法獲得模型參數,識別時,將基元串接成詞,詞間加上靜音模型並引入語言模型作為詞間轉移概率,形成循環結構,用Viterbi演算法進行解碼。針對漢語易於分割的特點,先進行分割再對每一段進行解碼,是用以提高效率的一個簡化方法。
對話系統:用於實現人機口語對話的系統稱為對話系統。受目前技術所限,對話系統往往是面向一個狹窄領域、詞彙量有限的系統,其題材有旅遊查詢、訂票、資料庫檢索等等。其前端是一個語音識別器,識別產生的N-best候選或詞候選網格,由語法分析器進行分析獲取語義信息,再由對話管理器確定應答信息,由語音合成器輸出。由於目前的系統往往詞彙量有限,也可以用提取關鍵詞的方法來獲取語義信息。

5. 語音識別的搜索

連續語音識別中的搜索,就是尋找一個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜索所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上一個高權重,並設置一個長詞懲罰分數。
Viterbi:基於動態規劃的Viterbi演算法在每個時間點上的各個狀態,計算解碼狀態序列對觀察序列的後驗概率,保留概率最大的路徑,並在每個節點記錄下相應的狀態信息以便最後反向獲取詞解碼序列。Viterbi演算法在不喪失最優解的條件下,同時解決了連續語音識別中HMM模型狀態序列與聲學觀察序列的非線性時間對准、詞邊界檢測和詞的識別,從而使這一演算法成為語音識別搜索的基本策略。
由於語音識別對當前時間點之後的情況無法預測,基於目標函數的啟發式剪枝難以應用。由於Viterbi演算法的時齊特性,同一時刻的各條路徑對應於同樣的觀察序列,因而具有可比性,束Beam搜索在每一時刻只保留概率最大的前若干條路徑,大幅度的剪枝提高了搜索的效率。這一時齊Viterbi- Beam演算法是當前語音識別搜索中最有效的演算法。N-best搜索和多遍搜索:為在搜索中利用各種知識源,通常要進行多遍搜索,第一遍使用代價低的知識源,產生一個候選列表或詞候選網格,在此基礎上進行使用代價高的知識源的第二遍搜索得到最佳路徑。此前介紹的知識源有聲學模型、語言模型和音標詞典,這些可以用於第一遍搜索。為實現更高級的語音識別或口語理解,往往要利用一些代價更高的知識源,如4階或5階的N-Gram、4階或更高的上下文相關模型、詞間相關模型、分段模型或語法分析,進行重新打分。最新的實時大詞表連續語音識別系統許多都使用這種多遍搜索策略。
N-best搜索產生一個候選列表,在每個節點要保留N條最好的路徑,會使計算復雜度增加到N倍。簡化的做法是只保留每個節點的若干詞候選,但可能丟失次優候選。一個折衷辦法是只考慮兩個詞長的路徑,保留k條。詞候選網格以一種更緊湊的方式給出多候選,對N-best搜索演算法作相應改動後可以得到生成候選網格的演算法。
前向後向搜索演算法是一個應用多遍搜索的例子。當應用簡單知識源進行了前向的Viterbi搜索後,搜索過程中得到的前向概率恰恰可以用在後向搜索的目標函數的計算中,因而可以使用啟發式的A演算法進行後向搜索,經濟地搜索出N條候選。

6. 什麼是relevant variables

本節我們詳細介紹硬體的實現。ANFIS控制器目標的實現需要真正具有智能的步進電機。神經模糊方法可以讓電機具備適應環境條件變化的能力。步進電機在配備了這種智能控制器後,就能夠按照新的數據來訓練自己,更新參數,進而改變自己的行為方式。
首先我們要提到的是,ANFIS的實現需要一款能夠滿足所有數值計算要求的特種微處理器。按照ANFIS方法論的要求,訓練是在自適應網路上完成的,它要用到相關問題變數的時間序列數據。為此,我們選用了「Jstamp」微處理器。該處理器採用JAVA作為自己的編程語言,擁有512KB的RAM內存和512KB的快閃記憶體。圖13給出的就是我們在研發工作中使用的Jstamp微處理器。
ANFIS實現的總體框架結構如圖14所示。圖中為簡化起見,我們只給出了九種模糊演算法規則中的四種,但它們的結構都是類似的。從該圖中我們也可以感受到ANFIS方法所具備的混合特性,因為它的前向運動採用了最小二乘方法,而後向運動採用的是後向傳播演算法。這些演算法都是採用JAVA語言實現,它們可以隨後下載到Jstamp微處理器中構成控制器。
我們還使用了一款微控制器來檢測編碼器的位置,這就是Ubicom公司的SX28微控制器。SX28是一種基於快閃記憶體和RISC體系結構的。圖15是編碼器位置檢測的連接框圖。

在本節中,我們將採用模擬和實驗的方法對步進電機模糊控制的跟蹤和自適應特性進行測試。首先,我們在圖16給出了步進電機對階躍輸入信號的響應(我們用了400個采樣點)。圖17是使用了ANFIS方法的訓練數據和測試數據後的結果。我們採用20個時間點進行訓練,最終誤差為0.000001,這對於該項應用是一個非常好的結果。在圖18中,我們給出了模糊模型的預測值與系統實際值的對比曲線,二者實際幾乎完全重合。最後,我們在圖19給出實際信號與模糊模型預估信號的差異曲線。

你是研究自控的?旦願對你有幫助!

7. 語音識別文件的聲學模型

語音識別系統的模型通常由聲學模型和語言模型兩部分組成,分別對應於語音到音節概率的計算和音節到字概率的計算。本節和下一節分別介紹聲學模型和語言模型方面的技術。
HMM聲學建模:馬爾可夫模型的概念是一個離散時域有限狀態自動機,隱馬爾可夫模型HMM是指這一馬爾可夫模型的內部狀態外界不可見,外界只能看到各個時刻的輸出值。對語音識別系統,輸出值通常就是從各個幀計算而得的聲學特徵。用HMM刻畫語音信號需作出兩個假設,一是內部狀態的轉移只與上一狀態有關,另一是輸出值只與當前狀態(或當前的狀態轉移)有關,這兩個假設大大降低了模型的復雜度。HMM的打分、解碼和訓練相應的演算法是前向演算法、Viterbi演算法和前向後向演算法。
語音識別中使用HMM通常是用從左向右單向、帶自環、帶跨越的拓撲結構來對識別基元建模,一個音素就是一個三至五狀態的HMM,一個詞就是構成詞的多個音素的HMM串列起來構成的HMM,而連續語音識別的整個模型就是詞和靜音組合起來的HMM。上下文相關建模:協同發音,指的是一個音受前後相鄰音的影響而發生變化,從發聲機理上看就是人的發聲器官在一個音轉向另一個音時其特性只能漸變,從而使得後一個音的頻譜與其他條件下的頻譜產生差異。上下文相關建模方法在建模時考慮了這一影響,從而使模型能更准確地描述語音,只考慮前一音的影響的稱為Bi- Phone,考慮前一音和後一音的影響的稱為Tri-Phone。
英語的上下文相關建模通常以音素為基元,由於有些音素對其後音素的影響是相似的,因而可以通過音素解碼狀態的聚類進行模型參數的共享。聚類的結果稱為senone。決策樹用來實現高效的triphone對senone的對應,通過回答一系列前後音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態應使用哪個senone。分類回歸樹CART模型用以進行詞到音素的發音標注。

8. 聲學模型的介紹

聲學模型是語音識別系統中最為重要的部分之一,目前的主流系統多採用隱馬爾科夫模型進行建模。 隱馬爾可夫模型的概念是一個離散時域有限狀態自動機,隱馬爾可夫模型HMM是指這一馬爾可夫模型的內部狀態外界不可見,外界只能看到各個時刻的輸出值。對語音識別系統,輸出值通常就是從各個幀計算而得的聲學特徵。用HMM刻畫語音信號需作出兩個假設,一是內部狀態的轉移只與上一狀態有關,另一是輸出值只與當前狀態(或當前的狀態轉移)有關,這兩個假設大大降低了模型的復雜度。HMM的打分、解碼和訓練相應的演算法是前向演算法、Viterbi演算法和前向後向演算法。

9. 請問RFID傳輸速率的前向速率和後向速率是指的什麼謝謝啦

我這邊有點參考資料,希望對你有所幫助

目前的防沖突演算法分兩大類【一是基於曼徹斯特編碼的二進制搜索演算法及其改進演算法, 二是基於隨機數產生器的時隙演算法及其改進演算法下面分別介紹。
二進制搜索演算法及其改進演算法在二進制搜索演算法中電子標簽的舊號必須採用曼徹斯特編碼。曼徹斯特碼可在多個射頻卡同時響應時, 譯出錯誤位置,以按位定出發生沖突的位置。根據沖突的位置搜索標簽。二進制搜索演算法只能識別舊號唯一的情況。改進的演算法有動態二進制搜索演算法演算法改進的地方是對沒有發生沖突的舊位只傳送一次。這樣就減少了重傳的數據提高了效率。圖二所提的基於動態二進制的二叉樹搜索結構舊反沖突演算法是對二進制搜索演算法的改進。它的思想是對每次識別的沖突位進行分類, 分成、兩部分從而形成一棵二叉樹, 如圖。
太多了,你留個郵箱,我發給你

10. 神經網路中的前向和後向演算法

神經網路中的前向和後向演算法
看了一段時間的深度網路模型,也在tf和theano上都跑了一些模型,但是感覺沒有潛下去,對很多東西的理解都只停留在「這個是干什麼的」層次上面。昨天在和小老師一起看一篇文章的時候,就被問到RNN裡面的後向傳播演算法具體是怎麼推。當時心裡覺得BP演算法其實很熟悉啊,然後在推導的過程中就一臉懵逼了。於是又去網上翻了翻相關內容,自己走了一遍,准備做個筆記,算是個交代。
准備一個神經網路模型,比如:

其中,[i1,i2]
代表輸入層的兩個結點,[h1,h2]代表隱藏層的兩個結點,[o1,o2]為輸出。[b1,b2]
為偏置項。連接每個結點之間的邊已經在圖中標出。
來了解一下前向演算法:
前向演算法的作用是計算輸入層結點對隱藏層結點的影響,也就是說,把網路正向的走一遍:輸入層—->隱藏層—->輸出層
計算每個結點對其下一層結點的影響。
?? 例如,我們要算結點h1
的值,那麼就是:
是一個簡單的加權求和。這里稍微說一下,偏置項和權重項的作用是類似的,不同之處在於權重項一般以乘法的形式體現,而偏置項以加法的形式體現。
??而在計算結點o1時,結點h1的輸出不能簡單的使用neth1的結果,必須要計算激活函數,激活函數,不是說要去激活什麼,而是要指「激活的神經元的特徵」通過函數保留並映射出來。以sigmoid函數為例,h1的輸出:

於是

最後o1的輸出結果,也就是整個網路的一個輸出值是:
按照上面的步驟計算出out02,則[outo1,outo2]就是整個網路第一次前向運算之後得到的結果。
後向演算法:

??在實際情況中,因為是隨機給定的權值,很大的可能(幾乎是100%)得到的輸出與實際結果之間的偏差非常的大,這個時候我們就需要比較我們的輸出和實際結果之間的差異,將這個殘差返回給整個網路,調整網路中的權重關系。這也是為什麼我們在神經網路中需要後向傳播的原因。其主要計算步驟如下:
1. 計算總誤差
2. 隱藏層的權值更新
在要更新每個邊的權重之前,必須要知道這條邊對最後輸出結果的影響,可以用整體誤差對w5求偏導求出:
具體計算的時候,可以採用鏈式法則展開:
在計算的時候一定要注意每個式子裡面哪些自變數是什麼,求導千萬不要求錯了。
??需要講出來的一個地方是,在計算w1的權重時,Etotal中的兩部分都需要對它進行求導,因為這條邊在前向傳播中對兩個殘差都有影響
3. 更新權重 這一步裡面就沒什麼東西了,直接根據學習率來更新權重:

至此,一次正向+反向傳播過程就到此為止,接下來只需要進行迭代,不斷調整邊的權重,修正網路的輸出和實際結果之間的偏差(也就是training整個網路)。

熱點內容
android音樂波形圖 發布:2024-11-15 11:57:12 瀏覽:378
福建社保銀行卡初始密碼是多少 發布:2024-11-15 11:47:40 瀏覽:911
游戲多開用什麼配置 發布:2024-11-15 11:46:51 瀏覽:729
管理java版本 發布:2024-11-15 11:44:03 瀏覽:629
ndk編譯的程序如何執行 發布:2024-11-15 11:43:18 瀏覽:626
輕應用伺服器適合搭建網站嗎 發布:2024-11-15 11:36:08 瀏覽:246
c語言的百分號 發布:2024-11-15 11:34:24 瀏覽:31
一加五安卓8什麼時候推送 發布:2024-11-15 11:19:40 瀏覽:854
暗影騎士擎有哪些配置 發布:2024-11-15 11:13:46 瀏覽:598
方舟主機專用伺服器是什麼意思 發布:2024-11-15 11:12:23 瀏覽:8