東京大学工学部 4年生 夏学期 [03-501130]

応用音響学
第5回 (5/13)

亀岡弘和
東京大学大学院情報理工学系研究科
システム情報学専攻
kameoka@hil.t.u-tokyo.ac.jp

講義スケジュール
前半（亀岡担当）
 4/08: 第1回
 4/15: 第2回
 4/22: 第3回
 4/29: 休日
 5/01(木): 第4回
 5/06: 休日
 5/13: 第5回
 5/20: 第6回
 5/27: 第7回後半（牧野担当）
 6/03: 第8回
 6/10: 第9回
 6/17: 第10回
 6/24: 第11回
 7/01: 第12回
 7/08: 第13回
 7/15: 第14回

 7/22: 学期末試験

講義資料と成績評価
講義資料
http://hil.t.u-tokyo.ac.jp/~kameoka/aa/
成績評価
 出席点
 学期末試験

本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
DPマッチングによる音声認識
音声の発話リズムは話者・発話ごとに変動する

DPマッチングによる音声認識
パターンマッチングによる音声認識

入力特徴量系列との距離が最小となる参照特徴量系列を認識結果とする⇒発話リズムの違いを「正規化」してマッチングしたいDPマッチングとは
 DTW : Dynamic Time Warping
DP (Dynamic Programming)マッチング
日本で育った手法（独立にソ連から発表あり）
 隠れマルコフモデル(HMM)の出現まで音声認識手法の主流
 日本電気中央研究所の迫江および千葉による発明
 DPの原理: 最適化問題が部分問題に分解できるので、効率の高い最適経路探索問題が解ける
標準パターンと入力パターンの間を非線形対応づけ
 DP(動的計画法)により時間の対応づけを求める
 傾斜制限:

音声入力各フレームは標準パターンのどれかのフレームに必ず対応付ける。
同一フレームには2フレームまでは対応付けて良い。

窓制限:


マッチング経路は対角線から一定幅以内になくてはならない。

DPマッチングのアルゴリズム
14141151132DPマッチングのアルゴリズム
10400214303312104002143133121040021151132

DPマッチングのアルゴリズム
6104002103312400211331204002115113264331034301

DPマッチングのアルゴリズム
76
10403043

133

12002133124011134253103

640040021151132

DPマッチングのアルゴリズム
10403031312021312434401012113434045310364376040021151132

DPマッチングのアルゴリズム
104403043301122112743444

1103241101343045310363376040021151132

DPマッチングのアルゴリズム
10403

1043110323231571264412144030124113435304364043376040021151132DPマッチングのアルゴリズム
10403104311032234431757127644121440301241134353043640343376040021151132

DPマッチングのアルゴリズム
10403

104311032234431757127644121440301241134353043640343376040021151132

DPマッチングのアルゴリズム
1040310431103223443175712764412144030124113435304364034337604002

1151132

DPマッチングの最適性の根拠
最適時間整合問題
標準系列：
 入力系列： マッチング経路：
 ローカル距離：
からまでの最小マッチング距離：

動的計画法 (Dynamic Programming)「最適経路は部分最適経路を含まなければならない」

本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
DPマッチングの生成モデルとしての解釈
入力系列を生成する確率モデル
 平均がの 個の正規分布を用意する
 時刻 の観測値が、 番目の正規分布から生成された←GMMそのもの！と考える ⇒
を標準系列だと考えると、は、入力系列と標準系列との間の時刻の対応づけを表す変数に相当
1 2 3 ...
1 2 3 ...
DPマッチングのように傾斜制限を設けるには？
⇒
ここがGMMと異なる！

最尤推定データから、尤度関数が最大となる確率モデルのパラメータを推定するための一般的な枠組 尤度関数とは？
データを ，パラメータを とすると，尤度関数はのこと
 「データの生成源として，パラメータ の確率モデルがどの程度尤もらしいか」を意味した規準


最尤推定




最も尤もらしい、データの生成源を推定すること

最適時間整合問題の例では・・・
1 2 3 ...
1 2 3 ...

本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係隠れマルコフモデル (Hidden Markov Model; HMM)
隠れマルコフモデルによる観測値系列の生成プロセス
 状態系列がマルコフ過程に従って決定（ が、に依存した確率に従って決定）

状態1

状態2

状態3

状態4

1 2 3 ...
1 2 3 ...
ごとに、状態の出力分布に従って観測値が生成

隠れマルコフモデル (Hidden Markov Model; HMM)
隠れマルコフモデルによる観測値系列の生成プロセス
 状態系列がマルコフ過程に従って決定（ が、に依存した確率に従って決定）

状態1

状態2

状態3

状態4

1 2 3 ...
1 2 3 ...
ごとに、状態の出力分布に従って観測値が生成

隠れマルコフモデル (Hidden Markov Model; HMM)
隠れマルコフモデルによる観測値系列の生成プロセス
 状態系列がマルコフ過程に従って決定（ が、に依存した確率に従って決定）

状態1

状態2

状態3

状態4

1 2 3 ...
1 2 3 ...
ごとに、状態の出力分布に従って観測値が生成

隠れマルコフモデル (Hidden Markov Model; HMM)
隠れマルコフモデルによる観測値系列の生成プロセス
 状態系列がマルコフ過程に従って決定（ が、に依存した確率に従って決定）

状態1

状態2

状態3状態41 2 3 ...
1 2 3 ...
ごとに、状態の出力分布に従って観測値が生成

隠れマルコフモデル (Hidden Markov Model; HMM)
隠れマルコフモデルによる観測値系列の生成プロセス
 状態系列がマルコフ過程に従って決定（ が、に依存した確率に従って決定）

状態1

状態2

状態3

状態4

1 2 3 ...
1 2 3 ...
ごとに、状態の出力分布に従って観測値が生成

隠れマルコフモデル (Hidden Markov Model; HMM)
非定常信号源のモデル
定常信号源が切り替わるモデル（区分定常信号源）
 離散シンボル系列の場合：
隠れマルコフモデル (Hidden Markov Model; HMM)
非定常信号源のモデル
定常信号源が切り替わるモデル（区分定常信号源）
 連続値系列の場合：
隠れマルコフモデル (Hidden Markov Model; HMM)
定常信号源（「状態」）がマルコフ遷移する非定常信号源モデル
状態遷移確率に従って状態が遷移
 状態出力分布に従って観測値が生成
HMMの例：手書き三角形の速度ベクトル系列
手書き三角形、ペンの速度ベクトル系列、その空間分布

隠れマルコフモデル (Hidden Markov Model; HMM)
生成モデルfor：状態 から状態へ遷移する確率
確率

for

1 234

J

本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
本日の話題確率モデル（生成モデル）による動的時間伸縮（DPマッチング）問題の定式化
DPマッチング DPマッチングの生成モデルとしての解釈
 隠れマルコフモデル (Hidden Markov Model; HMM)
 HMMのパラメータ推定アルゴリズム
 Viterbiアルゴリズム
 Forwardアルゴリズム
 Baum-Welchアルゴリズム


HMMとGMM (Gaussian mixture model) の関係
 ViterbiアルゴリズムとDPマッチングの関係
 ForwardアルゴリズムとKalmanフィルタアルゴリズムの関係
Viterbiアルゴリズム
状態系列の最大事後確率推定

対数をとっても最大化の目標は変わらない状態系列：
 求めたいのは尤度関数の導出=

DPマッチングにおけるローカル距離に相当

DPマッチングにおける傾斜重みに相当

状態1

状態2

状態3

状態4

トレリス表現（空間時間経路）

12

3

456

DPマッチングとの関係
Left-to-Right HMM
状態が一方向にのみ（「左」から「右」へ）遷移していくよう拘束されたHMM
 Left-to-Right HMMの最適状態遷移系列の推定問題はDPマッチングと同形経路制限する代わりに、あらゆる状態遷移に確率を仮定するのがHMM流の考え方
 経路制限は遷移確率設計の特殊ケース（遷移を許さない状態間の遷移確率を０に設定すれば良い）Viterbiアルゴリズム
 HMMの最適状態遷移系列の探索アルゴリズム
 DPマッチングと同様、動的計画法に基づく
 DPマッチングとは独立にViterbiによって開発されたこのアルゴリズムは、Viterbiアルゴリズムと呼ばれているエルゴディックHMM/a//i//u//o/すべての状態遷移を許したHMM

1

2

3

456

エルゴディックHMM/i//u//o/すべての状態遷移を許したHMM/a/

各状態が音素に対応する
なら最適状態系列の推定は音声認識に相当

1

2

3

456

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する
観測系列

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する
観測系列

最適状態系列推定問題
状態系列の最大事後確率推定

対数をとっても最大化の目標は変わらない状態系列：
 求めたいのは尤度関数の導出=DPマッチングにおけるローカル距離に相当

DPマッチングにおける傾斜重みに相当

状態1

状態2

状態3

状態4

Viterbiアルゴリズム： トレリス上の最適経路探索

123456

状態1

状態2

状態3

状態4

Viterbiアルゴリズム： トレリス上の最適経路探索

123456

状態2

状態3

状態4

Viterbiアルゴリズム： トレリス上の最適経路探索

状態1動的計画法(Dynamic Programming)による最適経路探索⇒Viterbiアルゴリズム
123456

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する
観測系列

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する


観測系列

状態事後確率推定問題
時刻 までの観測系列
おいて状態がが与えられた下で、時刻 にである確率（つまり、）を求めたい⇒フィルタリング問題
再帰式
が求まっていたとしたら、

によりによりが求まるが求まっていたとしたら、が求まるとして、上記を繰り返す

状態1

状態2

状態3

状態4

Forwardアルゴリズム

123456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

123456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

12

3456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

123456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

123456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

123456状態1状態2

状態3

状態4

Forwardアルゴリズム

123456

状態1

状態2

状態3

状態4

Forwardアルゴリズム

12

Viterbiアルゴリズムでは全経路のmaxを取るのに対し、Forwardアルゴリズムではsumをとっている

3456

Kalmanフィルタとの関係
Kalmanフィルタリングアルゴリズムが求まっていたとしたら、



により

によりが求まるが求まっていたとしたら、が求まる
として、上記を繰り返す
Kalmanフィルタでは、
が連続値
がいずれも正規分布

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する
観測系列

HMMの基本問題
観測系列
状態系列
パラメータ：：：

状態出力分布パラメータ、状態遷移確率最適状態系列推定問題
が与えられたとき、状態系列の事後確率が最大となる状態系列を推定する⇒Viterbiアルゴリズム
状態事後確率推定問題
 観測系列が与えられたとき、時刻 に状態 にいる確率を推定する ⇒Forwardアルゴリズム
パラメータ学習問題
 観測系列を生成する確率が最大となる⇒Baum-Welchアルゴリズム
パラメータ を推定する


観測系列

最適パラメータ学習問題
観測系列となるパラメータを生成する確率を推定したいが最大対数尤度関数

状態出力分布がガウス分布の場合

最適パラメータ学習問題
を最大化するを求めたい
 しかし解析的には求められない！
 ちなみに，状態系列が既知であれば各正規分布の平均と分散，遷移確率の最尤値は解析的に求められる⇒状態 i に対応した観測値の平均と分散を求めるだけ
状態 i から状態 j への遷移回数の集計をとるだけ

解析的な求解を困難にしているのはにおけるlogの中のsummation補助関数法
補助関数法を局所最小化するためのテクニック
を満たすを補助関数と定義
 反復アルゴリズム


目的関数

[1]
[2]


収束性

補助関数

目的関数

[1]
[2]

Jensenの不等式
Jensenの不等式


：凸関数



例えば，の場合：

右辺左辺

対数尤度の補助関数
対数尤度の下限関数

対数関数が凹関数であることに注意してJensenの不等式を適用

はの 補助関数！

Baum-Welchアルゴリズム (EMアルゴリズム)
対数尤度と補助関数の関係：
反復アルゴリズムによる局所最大化
対数尤度

補助関数

[2] Θの更新[1] λの更新

Baum-Welchアルゴリズム (EMアルゴリズム)
λの更新式

補助関数

Baum-Welchアルゴリズム (EMアルゴリズム)


これを求めるには！？

状態1

状態2

状態3

状態4

Forward-Backwardアルゴリズム

123

4

56

状態1

状態2

状態3

状態4

Forward-Backwardアルゴリズム

123456状態2状態3状態4Forward-Backwardアルゴリズム

状態1Forwardアルゴリズム

123456

状態2状態3

状態4Forward-Backwardアルゴリズム

状態1Forwardアルゴリズム

123456

状態3状態4Forward-Backwardアルゴリズム

状態2Backwardアルゴリズム

状態1Forwardアルゴリズム

123456

状態3状態4Forward-Backwardアルゴリズム

状態2Backwardアルゴリズム

状態1Forwardアルゴリズム

123456

Forward-Backwardアルゴリズム

状態3

状態4（←求めたかったもの！）

状態2

Backwardアルゴリズム

状態1Forwardアルゴリズム

12

3456

Forward-Backwardアルゴリズム

状態3

状態4（←求めたかったもの！）

状態2

Backwardアルゴリズム

状態1Forwardアルゴリズム

12

3456

Baum-Welchアルゴリズム (EMアルゴリズム)
補助関数

の更新
←解析的に求まる！

HMMの応用先
HMMは非定常時系列のモデル時系列：音声認識、話題遷移モデル、音楽リズム認識、経済モデル
 記号列：自然言語モデル化、音楽和声づけ
 空間順序：画像処理への応用
 構造順序：遺伝子解析
学習の観点から分類
モデルパラメータ(確率)を理論・直観により与える場合
 モデルパラメータ(確率)の一部のみ学習データから学習する場合
 モデルパラメータ(確率)のすべてを学習データから学習する場合


学習データ量と質によって使い分け

状態1状態2状態3状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123

456状態1

状態2

状態3

状態4

Backwardアルゴリズム

123456

HMMに基づく音声合成システム (HTS)[Yoshimura1999,...]SPEECHDATABASE

Training partSpeech signal

Excitation
Parameter
extraction

SpectralParameter
Extraction

Excitation
parameters

Spectralparameters

Training HMMs

LabelsTEXT
Text analysis
LabelsSynthesis part

Excitation
parameters

Parameter generationfrom HMMs

Excitation
generation

Excitation

Context-dependent HMMs
& state duration models
Spectralparameters

Synthesis
filterSYNTHESIZEDSPEECH音声の生成メカニズム

Modulation of carrier wave
by speech information
Frequencytransfercharacteristics

SpeechMagnitude
start--end

Sound source
Voiced: pulse
Unvoiced: noise

Fundamental
frequency
air flowソースフィルタモデルに基づく音声ボコーダ
Original speech
F0

Unvoiced / voiced Mel-cepstrum

Pulse train

Synthesis filter
Excitation
White noiseh(n)Vocoded speeche(n)テキスト音声合成の実現のため
この系列をモデル化したい

x(n)HMMによる音声特徴系列のモデル化
aij: State transition probabilitybq (ot ) : Output probability

a11
1

a33

a22
a12

b1 (ot )2a23

b2 (ot )3b3 (ot )Observation
sequenceoo1 o2 o3 o4 o5

 ・・

 oT

State sequence

q1 1 1 1 2  2 3

 3

The Markov chain whose state sequence is unknown⇒ Estimating state sequence by the observation

尤度関数（観測系列の確率モデル）
a33ib3 (o7 )a23

32π111234567T =8Likelihood function
TP (ο | λ ) = ∑ P (ο, q | λ ) = ∑∏ aq q bq (ot )qqt =1t −1 ttt

音声特徴系列の生成
For given HMM λ , determine a speech parameter vector
Sequence o = [o1T , o2T ,  , oTT ]T which maximizes

P(o | λ) = ∑ P(o | q, λ)P(q | λ)q

≈ max P(o | q, λ) P(q | λ)q⇒qˆ = arg max P(q | w, λ)qoˆ = arg max P(o | qˆ , λ)o状態系列の決定MeanVarianceô becomes a sequence of mean vectors⇒ discontinuous outputs between statesframe音声特徴系列の生成
For given HMM λ , determine a speech parameter vector
Sequence o = [o1T , o2T ,  , oTT ]T which maximizes

P(o | λ) = ∑ P(o | q, λ)P(q | λ)q

≈ max P(o | q, λ) P(q | λ)q⇒qˆ = arg max P(q | w, λ)qoˆ = arg max P(o | qˆ , λ)o状態系列からの音声特徴系列の生成∆c cMeanVariancecframeスペクトル系列の生成
silWithout
dynamicfeature

0 1 2 3 4 5(kHz)Withdynamicfeatureaisil

0 1 2 3 4 5(kHz)Spectra changing smoothly between phonemes

HTSによる音声合成の例（日本語）
Mel-cepstrum
staticstaticlog F0

static +∆static +∆+∆2

static +∆static+∆+∆2