Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Sakriani Sakti Research Associate Professor
Augmented Human Communication Lab.
Division of Information Science
Nara Institute of Science and Technology
第5回 音声言語処理
音声認識理論と音声認識システム
講義の構成 (Syllabus)
2Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 第1回 11/02 中村 音情報基礎(音声、音響情報処理の導入、基礎)
Introduction to speech and acoustic signal processing
• 第2回 11/06 高道 音声の分析(DFT,LPC,ケプストラム分析)
Speech signal analysis (DFT, LPC analysis)
• 第3回 11/08 高道 音響信号処理基礎
Fundamentals of acoustic signal processing
• 第4回 11/12 中村 音声符号化基礎
Fundamentals of Speech Coding
• 第5回 11/14 サクティ 音声認識理論と音声認識システム
Speech recognition theories and systems
• 第6回 11/16 高道 音声合成理論と音声合成システム
Speech synthesis theories and systems
• 第7回 11/20 吉野 音声対話システム理論と音声対話システム
Spoken dialog system theories and systems
• 第8回 11/22 質疑, 試験
Discussion and Examination
第5回内容
3Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 音声認識概要 (Overview of Speech Recognition)
• テンプレートマッチングによる認識 (Template-based ASR) DTWマッチング
• 統計モデルによる認識 (Statistical-based ASR) HMM音響モデル
• ディープラーニングによる認識(Deep learning-based ASR) Hybridモデル, End-to-endモデル
• ASRシステムの評価 (Evaluation of ASR System)
Part 1:音声認識概要
Overview of Speech Recognition
4Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
人間のコミュニケーションHuman Communication
5Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
人間のコミュニケーション
• 音声コミュニケーション (Speech Communication)自分のアイデアや経験や知識などを表現する、人間にとって最も自然な手段
The most natural modality to express & share their ideas, experiences, and knowledge
6
会議 (Meeting)
ビジネス(Business)
講義 (Lecture)
会話(Conversations)
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
人間のコミュニケーション
• スピーチチェーン (Speech Chain)
7
[Denes & Pinson, 1993]
知覚神経Sensory nerves
運動神経Motornerves
知覚神経Sensory nerves
聴覚フィードバックAuditory feedback
話すSpeaking
聞くListening
“こんにちは”
言語レベルLinguistic
Level
生理学的レベルPhysiological
Level
音響レベルAcoustic
Level
生理学的レベルPhysiological
Level
言語レベルLinguistic
Level
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
どのように話すのですか?
• 音声の生成過程:ソー・フィルタモデル (Speech Production)
8
肺からの空気の流れ(Air flow from lungs)
[C] 音声(Speech sound)
[A] 声帯(Vocal folds)
[B] 声道(Vocal tract)
[A] [C][B]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
音声発話
• 音声発話(Speech Utterances)
9“She just had a baby”
フォルマント周波数Formant Frequencies
F1
F2
F3
[Phonical, 2017]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
フォルマント周波数 & 音素分布
• フォルマント周波数 & 音素分布
10Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
どのように聞くのですか?
•耳:外、中、内 (Ear: Outer, Middle, Inner)
11
[Bosi & Goldberg, 2003]
周波数分析frequency analysis
マイクロフォンmicrophone
安全制御システムControl system
周波数別に音を分離するSeparate Sound by Frequency
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ヒューマン·マシンインタラクション
Human-Machine Interaction
12Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ヒューマン·マシンインタラクション
13
• ヒューマンマシンインタラクションのモダリティModality in Human-machine Interaction Traditional way:
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
人間とコミュニケーションできる技術や機械を実現するRealize a technology or a machine that can communicate with the human
• ヒューマンマシンインタラクションのモダリティModality in Human-machine Interaction
ヒューマン·マシンインタラクション
14
聞く Listening
“こんにちは”
Recognized words
“こんにちは”
音声認識Speech
recognition
“お元気ですか”
話す Speaking
音声合成Speech Synthesis
知覚神経Sensory nerves
運動神経Motornerves
聴覚フィードバックAuditory feedback
話すSpeaking
Sensory nerves
コンピュータが聞き方、話し方を学習できるように、自動音声認識やテキストからの音声合成技術を開発する。
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
音声認識の課題は何ですか?What is the Challenges of ASR?
15Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
シングルスピーカー(Single Speaker)
16Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 誰も正確に発音を繰り返すことはできませんNo one can repeat pronunciation exactly
話者変動(Speaker Variability)
17Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 音声は、すべての話者では異なります特徴 (Individual characteristic): 話すスタイル、発話速度、イントネーションアクセントバリエーション (Accent variation): 地域/母語音声品質のばらつき(Voice quality variation): 男性、女性、子ども、高齢者
環境の変動 (Environments Variability)
18Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 異なる環境では音声に異なる効果を与えるバックグラウンドノイズ (Background noise): 車、電車、ファン残響 (Reverberation): エコーマイク/経路(Microphone/channel): マイク、電話
コンテキスト変動 (Contextual Variability)
19Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 調音結合の影響 (Coarticulation Effects):
Vowels
/s/ /a/ /S/
Consonants
/a/
Frequency f
言語的変動 (Linguistic Variability)
20Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 連続音声(Continuous Speech)
音素や単語の境界が不明である (Boundary is Unknown)
• 多言語(Multilingual Languages) 異なる音素セット、異なる意味 (Different Phoneme Set, Different Meaning)
異なる文法構造 (Different Grammatical Structure)
言語的変動 (Linguistic Variability)
21Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
いつから音声認識システムの開発を開始し始めた?
When People Start to Build ASR?
22Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
1920s:単一の単語の認識
23Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 犬玩具(Dog Toy’s) “REX” 犬の名前"レックス"の母音のみに応答 500 Hzの周囲に音響エネルギーに関連
[REX Dog Toy’s , 1920]
“REX”スペクトログラム
24Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
The first formant in the vowel [eh] is at about 500 Hz Only recognize adult male voice, so Rex would not respond to Unable to reject many words or non speech sounds that produced
sufficient 500Hz energy
1950s:孤立桁の認識
25Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 孤立数字認識 (Isolated Digit Recognition) 10の言葉だけを認識: 桁0-9
各桁の母音領域の間に推定れたフォルマント周波数を使用
[Davis, Biddulph, Balashek, 1952]
ベル研:孤立数字認識
26Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Davis, Biddulph, Balashek, 1952]
1960s: 孤立単語認識
27Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 孤立単語認識 (Isolated Word Recognition) 音声音のシンプルな音響音声学的性質に基づいている
小規模語彙を(10-100の単語の順番)を認識
Bell Labs:
From Analog Circuit to AD/DA Speech Processing
1970s:連続単語認識
28Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 連続単語音声認識 (Continuous Word Recognition) 複数の話者 中規模語彙を(100-1000語の順)を認識
TE
MP
LA
TE
(W
OR
D 7
)
UNKNOWN WORD
Dynamic Time Warping (Template-based ASR)
[Vyntsyuk, 1968]
[Sakoe & Chiba, 1970]
1980s:大語彙ASR
29Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 大語彙ASR (Large Vocabulary ASR)大語彙連続音声認識(LVCSR)
複数の話者
1000から10000までの単語
方法の変化(A shift Methodology):
より直感的な知識ベースのアプローチからより厳密な統計モデルの枠組みへ
(HMM-based ASR)
“Julie” The First Interactive Talking Doll
by Worlds of Wonder (1987)She would ask you to say her name, and a few other words, and then you
had to repeat them until she knew what you sounded like.
1990s:悪条件におけるASR
30Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 悪条件におけるASR (Adverse Conditions)複数の話者LVCSR (10,000-20,000言葉)
悪条件:
-クリーン対雑音下音声
-対話し言葉対読み言葉
近年(Recent Years)
31Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 2000年代の後(After 2000s)大語彙連続音声認識(LVCSR) 20,000単語以上複数の話者 多言語と多アクセントスピーカー方法の変化(A shift Methodology) 悪条件
HMMに基づく音声認識からDNNベースの音声認識へ
音声認識の現状
32
[https://www.economist.com/technology-quarterly/2017-05-01/language]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
音声認識+機械翻訳English-Japanese Lecture Translation
33Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
音声認識技術の利点Advantages of ASR
34Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
個々の制限に対するメリット
35Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 個々の制限メリット(Benefits for Individual Limitations):
[ASR by Dragon Naturally Speaking]
世界中の言語 (World Languages)
36Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
Count Percent Count Percent
Africa 2,110 30.5 726,453,403 12.2
Americas 993 14.4 50,496,321 0.8
Asia 2,322 33.6 3,622,771,264 60.8
Europe 234 3.4 1,553,360,941 26.1
Pacific 1,250 18.1 6,429,788 0.1
Totals 6,909 100 5,959,511,717 100
Living Languages Number of Speakers
Area
Lewis, M. Paul (ed.), 2009. Ethnologue: Languages of the World, Sixteenth edition.
Dallas, Tex.: SIL International. Online version: http://www.ethnologue.com/.
多言語コミュニケーション
37Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[ATR/NICT多言語コミュニケーション]
音声認識+機械翻訳Speech Translation
38[Sakti et al., 2008 / Sakti et al., A-STAR 2013]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
TED協議における音声認識 (ASR on TED Talks)
39Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• コミュニケーションチャネル (Communication Channel)
高い能力を持つ手段(Capacity Channel)
40Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
モダリティModality
伝送速度Transmission Rate
練習Practice
他のタスクOther Tasks
手書きHandwriting 0.4 単語/秒 リテラシーLiteracy
できない(手と目忙しい)
タイピングTyping (by skilled typist)
1.6-2.5単語/秒 リテラシーLiteracy
できない(手と目忙しい)
音声Speech
2.0-3.6単語/秒 いらないNo
できる
[Pierce, et.al 1957]
特別なトレーニングを必要としません
41Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
マシンを動かすために人間がうまれてから学んでいるスキルしか必要としない
[ASR Technology, Consumer Electronic Show, 2012]
音声認識+高度道路交通システムASR & Intelligent Transport System
42
• サイバーカーズとのコミュニケーションCommunicating with Cybercars
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
サイバーカーズとのコミュニケーション
43[Sakti et al., 2015]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
パラダイムの変遷
44Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
1920 1950 1970 1980 1990 20001960 2010
ルールベースのASR(フォルマント周波数)
テンプレートマッチングによる単語認識(DTW)
HMMとN-グラムによる連続音声認識
ディープニューラルネットワーク(DNN)による連続音声認識
テンプレートマッチングによる単語認識(DTW)
HMMとN-グラムによる連続音声認識
ディープニューラルネットワーク(DNN)による連続音声認識
Part 2:テンプレートマッチングによる認識
Template-based ASR
45Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
テンプレートマッチングによる認識Template-based ASR
46Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
Travel• I lost my passport!
• Where is the station?Basic
• Good Morning
• Have a nice day.
Shopping
• How much is this?
•Ten dollars.
Feature
Extraction
DTW
AlgorithmXs Ŵ
Recognized
Words
Hypothesis
Speech Waveform
Template
ダイナミックタイムワーピング (Dynamic Time Warping)
47Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• DTW(Dynamic Time Warping)マッチング
対応付けるべきフレーム同士を動的に探索しながら比較を
行うパターンマッチング手法
[Kawanami, lecture slide 2014]
DTW vs ユークリッド距離
48Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• ユークリッド距離
Euclidean distance• Aligned one to one linearly
• ダイナミックタイムワーピングDynamic Time Warping• Can be non-linearly aligned
マッチングパス (Matching Path)
49Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 入力音声と単語テンプレートの分析フレームの時系列を2軸とした平面を考える
• 対応づけてフレームの座標(=格子点)を結んだもの
[Kawanami, lecture slide 2014]
マッチングパス (Matching Path)
50Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• マッチングパスは,何番目の格子点か: k を与えると格子点の座標を返す,
時間伸縮関数(Warping function)として記述できる
[Kawanami, lecture slide 2014]
DTWアルゴリズム
51Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• DTW Algorithm類似度を測定します (Measuring similarity)
Initialization:
Recursion:
Termination (Time-normalized):
Path Backtracking
D(A:B) =g(𝐼,𝐽)
𝐶
C=I+J
例 (Example)
52Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Kawanami, lecture slide 2014]
例 (Example)
53Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Kawanami, lecture slide 2014]
例 (Example)
54Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
例 (Example)
55Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Kawanami,
lecture slide 2014]
連続音声認識 (Continuous ASR)
56Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• アルゴリズム
(a) 2段DP法
(b) Level Building法
単語数既知の場合に効果的
(c) One Pass DP法
単語数未知の場合に効果的
2段DP法 (Two-level DP)
57Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• DPを2段階で行う
第1段階:
入力音声の始点m から単語テンプレートn について非対象パスに
よる終端フリーマッチング
[Kawanami, lecture slide 2014]
第2段階:
入力フレームの累積距離が最小になる単語の系列を探索する
Level Building 法
58Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 何番目の単語を処理しているか明示的にしてマッチングを行う 段数(単語数)が分かっている認識で効果的 (#words is known)
Ex: 電話番号認識 (Connected digit recognition)
処理のながれ (Flow of processing) 1段目
- 入力音声の先頭を始端としてマッチングパスを開始 単語テンプレートに対して順に非対象パス終端フリーDPマッチング(DP matching with word template)
- テンプレート終端に達したら,その入力フレームまでの最小累積距離と単語を記録(When reach the end, record the minimum score)
2段目(second level)以降- 入力フレームの初期値として,前段までの最小の累積距離を与える
(Start from score provide from previous level)- 各単語テンプレートについて端点フリーDPマッチングを行う (DP match)- 終端となったフレームに,その段の認識結果とそこまでの累積距離を記録
(When reach the end, record the minimum score) 最大段数までおわったら,終端からパスをバックトレースし,認識単語列を得る
(Back tracking)
Level Building 法
59Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ワンパスDP法 (One Pass DP)
60Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• ワンパスDP法:
単語数を決めておく必要がない
Part 3:統計モデルによる認識Statistical-based ASR
61Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
統計モデルによる認識 (Statistical-based ASR)
62Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
Feature
Extraction
DTW
AlgorithmXs Ŵ
Recognized
Words
Hypothesis
Speech Waveform
Template
Travel• I lost my passport!
• Where is the station?Basic
• Good Morning
• Have a nice day.
Shopping
• How much is this?
•Ten dollars.
Feature
Extraction
Search
AlgorithmXs Ŵ
Recognized
Words
Hypothesis
Speech Waveform
Phone-Level
Matcher
Word-Level
Matcher
Sentence-Level
Matcher
Acoustic Model Lexicon Language Model
Text
Corpus
Speech
Corpus
TrainTrain
Statistical Learning
統計モデルによる認識 (Statistical-based ASR)
63Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
/my speech/
“MY SPEECH”
/my/ /speech/
音声信号
単語 Words
音素 Phonemes
特徴 Features
文章 Sentences
音響モデル
AM
発音辞書LEX
言語モデルLM
HMM
state
HMM
言語レベル
Linguistic
Level
生理学レベル
Physiological
Level
音響レベル
Acoustic
Level
最も可能性の高い言葉
特徴抽出(Feature Extraction)
64Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 特徴抽出 (Feature Extraction):単語識別のために本質的な特徴を抽出する (Extract essential features)
不要な情報を削除 (Remove unwanted information)
Analysis Unit / FrameFrame Transition
x1 x2 x3Feature Vector : Feature Space
c1 X1X2
X3X4
X16
X5
X6X7
X13
X10
X12
X9
X11 X15
X17
X14
X18
X19
c2
特徴抽出(Feature Extraction)
65Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 特徴抽出 (Feature Extraction):単語識別のために本質的な特徴を抽出する (Extract essential features)
不要な情報を削除 (Remove unwanted information)
統計モデルによる認識 (Statistical-based ASR)
66Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
音声信号
単語 Words
音素 Phonemes
特徴 Features
文章 Sentences
音響モデル
AM
発音辞書LEX
言語モデルLM
HMM
state
HMM生理学レベル
Physiological
Level
音響レベル
Acoustic
Level
最も可能性の高い言葉
音響モデル (Acoustic Model)
67Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 音響モデル (Acoustic Modeling):音声の特徴から言語の単位音にマッピング
隠れマルコフモデル(HMM)に基づくアポローチ Based on Hidden Markov Model (HMMs)
Gaussian Mixture
Model (GMM)
Mixture
weight
321
HMM
(phoneme
model)Analysis Unit / Frame
Frame Transition
x1 x2 x3Feature Vector :
Feature Space
c1 X1X2
X3X4
X16
X5
X6X7
X13
X10
X12
X9
X11 X15
X17
X14
X18
X19
c2
音素ベースのHMM
68Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 音素ベースのHMM (Phoneme-based HMM):
1 HMM associated to 1 phonemes
Number of HMM equal to Number of Phonemes (Including Silence)
HMMの要素(Elements of HMM)
69Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• HMMの要素 State sequence of time length T
Transition probabilities from state i to state j
Observation symbol probability distribution in state j
The observed output sequence of time length T
Initial state distribution[Ellis, lecture slide, 2009]
HMM
HMMデコード (HMM Decoding)
70Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• どのように最適な状態シーケンスを見つけるには?How to find the optimum state sequence? 与えられた (Given):
観測シーケンスとモデルパラメータthe observation sequence and model parameter
単一状態シーケンスの検索(最適)
Finding the single state sequence (optimum): 最大化するもの (Which maximizes):
ビタビアルゴリズム
71Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 最適なパスの確率Best Path Probability
• ビタビアルゴリズムViterbi Algorithm Initialization (𝑛 = 1; 1 ≤ 𝑘 ≤ 𝐾):
Recursion (2 ≤ 𝑛 ≤ 𝑁; 1 ≤ 𝑘 ≤ 𝐾):
Termination:
Path Backtracking:
𝛿1(𝑘) = 𝜋𝑘𝐵𝑘 x1
𝛿𝑛(𝑘) = max1≤𝑘≤𝑁
𝛿𝑛−1(𝑗)𝐴𝑗𝑘 𝐵𝑘 xn
The most likely state sequence probability at 𝑛 having x1, x2, … , x𝑛 and ending in state 𝑘
𝛿𝑛(𝑘) = 𝑝 x1, x2, … , x𝑛 , 𝑧1, z2, … , z𝑛−1 , 𝑧𝑛 = 𝑘|
𝜓1(𝑘) = 0
𝜓𝑛(𝑘) = argmax1≤𝑘≤𝑁
𝛿𝑛−1(𝑗)𝐴𝑗𝑘
The best score = max1≤𝑘≤𝑁
𝛿𝑁(𝑗) Ƹ𝑧𝑁 = argmax1≤𝑘≤𝑁
𝜓𝑁(𝑘)
Ƹ𝑧𝑛 = 𝜓𝑁(𝑘) Ƹ𝑧𝑛+1
ビタビアルゴリズム
72Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• ビタビアルゴリズムViterbi Algorithm
𝐴11=0.9𝐴21=0.2
𝒌 = 𝟏
𝒌 = 𝟐
𝒏 = 𝟏 𝒏 = 𝟐 𝒏 = 𝟑𝑯 𝑯 𝑻
𝜋1 = 0.6
𝜋2 = 0.4
𝐵1 𝐻 = 0.5 𝐵1 𝐻 = 0.5 𝐵1 𝑇 = 0.5
𝐵2 𝐻 = 0.3 𝐵2 𝐻 = 0.3 𝐵2 𝑇 = 0.7
𝐴11=0.9𝐴21=0.2
𝐴22=0.8 𝐴22=0.8𝐴12=0.1 𝐴12=0.1
𝛿1 1 = 0.6 ∗ 0.5 = 0.3
𝛿1 2 = 0.4 ∗ 0.3 = 0.12
𝛿2 1 = 𝑚𝑎𝑥 0.3 ∗ 0.9 , 0.12 ∗ 0.2 ∗ 0.5 = 0.135
𝛿2 2 = 𝑚𝑎𝑥 0.3 ∗ 0.1 , 0.12 ∗ 0.8 ∗ 0.3 = 0.029
𝛿3 1 = 𝑚𝑎𝑥 0.135 ∗ 0.9 , 0.029 ∗ 0.2 ∗ 0.5= 0.0608
𝛿3 2 = 𝑚𝑎𝑥 0.135 ∗ 0.1 , 0.029 ∗ 0.8 ∗ 0.7]= 0.0162
𝑝 X| = max[0.0608, 0.0162] = 0.0608
Best state sequence𝟎. 𝟑
𝟎. 𝟏𝟐
𝟎. 𝟏𝟑𝟓
𝟎. 𝟎𝟐𝟗
𝟎. 𝟎𝟔𝟎𝟖
𝟎. 𝟎𝟏𝟔𝟐
音声入力からのHMM状態に
73Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• From Speech to HMM States
統計モデルによる認識 (Statistical-based ASR)
74Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
/my/ /speech/
音声信号
単語 Words
音素 Phonemes
特徴 Features
文章 Sentences
音響モデル
AM
発音辞書LEX
言語モデルLM
HMM
state
HMM
言語レベル
Linguistic
Level
生理学レベル
Physiological
Level
音響レベル
Acoustic
Level
最も可能性の高い言葉
発音辞書 (Pronunciation Lexicon)
75Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 発音辞書 (Pronunciation lexicon):
音素から単語にマッピング
例:数字の発音
音素ベースのHMM+発音辞書
76Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 例 (Example):
統計モデルによる認識 (Statistical-based ASR)
77Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
/my speech/
/my/ /speech/
音声信号
単語 Words
音素 Phonemes
特徴Features
文章Sentences
音響モデル
AM
発音辞書LEX
言語モデルLM
HMM
state
HMM
言語レベル
Linguistic
Level
生理学レベル
Physiological
Level
音響レベル
Acoustic
Level
最も可能性の高い言葉
言語モデル (Language Model)
78Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
•言語モデル (Language Modeling):
言語の文字列の傾向を数値的に表すモデルです
Example:
確率的言語モデルによれば
私 は 学校 へ 行きます私 わ 学校 へ 行きます私 は 学校 へ 生きます
P(私 は 学校 へ 行きます)>P(私 わ 学校 へ 行きます)
統計的言語モデル
79Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• N-gram Language Modeling:
Example:
Often not enough data to estimate probability of long word sequence
Solution: Reduce complexity
確率推定 (Probability Estimation)
80Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 確率推定
Example:
LMの効果 (Effect of LM in Recognition)
81Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
サーチアルゴリズム (Search Algorithm)
82Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• サーチアルゴリズム (Search Algorithm)
すべての可能な単語列Wの中で最も確率の高い単語列を見つける
Bayes Rule:
確率推定 (Probability Estimation)
83Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
音素ベースのHMM+発音辞書
84Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• 例 (Example):
連続音声認識
85Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• Connected Word Recognition:
Unigram:
Bigram:
連続音声認識
86Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• Trellis Network:
Part 4:ディープラーニングによる認識
Deep learning-based ASR
87Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
統計的音声認識(ASR)
88
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
/my speech/
“MY SPEECH”
/my/ /speech/
Feature Extraction
SearchAlgorithm
最も可能性の高い言葉音声信号
音素 単語 文章
音響モデル 発音辞書 言語モデル
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
深層学習ベースの音声認識(ASR)
89Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
X1X2X3X4… …XT-1XT
/m/ /a/ /i/ /s/ /p/ /ee/ /t/ /sh/
/my speech/
“MY SPEECH”
/my/ /speech/
X1X2X3X4… …XT-1XT
“MY SPEECH”
Deep Learning
Important factors of Deep Learning: Simplify many complicated
hand-engineered models Let the networks find the way
that map from speech to text
フレームベースのDNN
90Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ハイブリッドHMM/DNN:特徴-セノン(HMM状態)
91Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ハイブリッドHMM/DNN:特徴-セノン(HMM状態)
92
[Dahl et al. 2012]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ハイブリッドHMM/CLDNN
93
Direct mapping from features to phoneme
Standard HMM-GMM:o Extract robust features
o Model temporally via GMM/HMM system
o Training GMM/HMM model discriminatively
CLDNN:o CNNs for extract features
o LSTM to perform temporal modeling
o DNN layers for better discrimination[Sainath et. al 2015]
Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
エンドツーエンドASR (End-to-End ASR):Wav-文字
94Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
接続主義時間分類Connectionist Temporal Classification
95Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Graves et. al 2006]
接続主義時間分類Connectionist Temporal Classification
96Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• CTC Gradient DescentのトレーニングCTC
Forward-Backwardアルゴリズムを使用して、
希望の出力シーケンスに一致する反復的に拡張する接頭辞と接尾辞
Iteratively expanding prefixes & suffixes that match the desired output sequence, using Forward-Backward algorithm
時間遅れニューラルネットワークTime Delay Neural Network
97Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• TDNN 2D入力
Early model of CNN
[Waibel 1987]
畳み込みニューラルネットワークConvolutional Neural Network
98Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
•フィーチャーマップ (Feature Maps) Use inputs that preserve locality in both axes of frequency and time.
[Amdel-Hamid et al. 2014]
音素認識のためのCNNCNN for Phoneme Recognition
99Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Amdel-Hamid et al. 2014]
Sequence-to-Sequence (Seq2Seq)
100Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Source: karpathy.github.io]
Seq2Seq ネットワークと Attention
101Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
[Chorowski et. al 2015, Bahdanau et. al 2015]
Output
Hidden state
Input
Hidden
state
Context is a weighted sum of input
Weight is normalized of score
Alignment model which scores
how well the inputs & outputs match
音素認識のためのSeq2SeqSeq2Seq for Phoneme Recognition
102Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
Attention Generator:
At each time step t, an MLP
combines the hidden state with all the
input vectors to compute the attention
weights α
[Bahdanau et. al 2016]
Listen, Attend, and Spell (LAS)
103Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• LAS 2つのコンポーネント (Two components)
リスナー (Listener):
フィルタバンクスペクトルを入力として受け
入れるピラミッド型RNNエンコーダ
RNN encoder that accepts filter bank spectra as inputs
スペルラー (Speller):
出力として文字を出力するRNNデコーダRNN decoder that emits characters as outputs
[Chan et. al 2016]
Wav2Text
104Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• Wav2Text生の音声波形からテキストの転写に直接変換する
[Tjandra et. al 2017]
敵対的生成ネットワークGenerative Adversarial Network
105Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• GAN 生成ネットワーク(generator)
生成側がイメージを出力し (Tries to produce fake but realistic-looking samples) 識別ネットワーク(discriminator)
識別側がその正否を判定する (Tries to distinguish between real and fake samples) 生成側は識別側を欺こうと学習し、識別側はより正確に識別しようと学習する
Train them against each other
Generator tries to minimize it, Discriminator tries to maximize it.
頑強な音声認識のためのGANGAN for ASR
106Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• Encoder as Generative Model
[Sriram et. al 2017]
Part 4:ASRシステムの評価
Evaluation of ASR System
107Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
ASRシステムの評価
108Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• ASRシステムの評価 (Evaluating ASR System) 3種類のエラー(Three types of errors)
置換 (Substitutions) :間違った単語が認識されている削除 (Deletion) :単語が省略されている挿入(Insertions) :余分な単語が認識される
ワード誤り率 word error rate (WER)
where:
N = 発話中の単語の数 (number of words)
C(x) =エラーの数
Minimum Edit Distance アルゴリズム
109Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
• Minimum Edit Distance アルゴリズム類似度を測定します (Measuring similarity)
Initialization:
Recursion:
例 Example
110Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
CER =𝐶 𝑠𝑢𝑏𝑠 +𝐶 𝑑𝑒𝑙 +𝐶(𝑖𝑛𝑠)
𝑁=
3
5x100% =0.6
人間の音声認識 対 機械音声認識
111Sakriani Sakti @ AHC Labs, NAIST, Japan |音声言語処理| November 14th, 2018
Human at least 5 times better than machine
Far more robust in noisy and conversational speech
Thank You