音声認識メモ(HMM)その9(HTK HERest コマンド(6))
混合正規分布モデル(Gaussian Mixture Model)のHMMを作成する。
尚、単一正規分布のHMMモデル(single Gaussian models)のままでも認識エンジン「Julius」に渡すことはできる。
混合数の増加には「HHEd」コマンドを使用する。
HHEd -H "HMMモデル" -w "出力先" "HHEdスクリプト" "音素のリスト"
例えば、音素「m」の混合数を2にする場合、スクリプトには以下のように書く。
MU 02 {m.state[2-4].mix}
仮に、音素「m」の状態2の"MFCC1次"が、平均「-3.559778」、分散「42.87573」の正規分布に従う場合、確率密度関数のグラフは下図のようになる。
元々の平均「-3.559778」に対し、「標準偏差*0.2」(この例では「1.30959117」)を加算/減算したものを新たな平均とする。
混合比「0.5」を掛ける。
全体として見ると、元の分布よりも分散が大きくなっている。
モデルとしては、"MIXTURE"タグが追加される。
~s "ST_m_2_1" <NUMMIXES> 2 <MIXTURE> 1 5.000000e-01 <MEAN> 39 -2.250187e+00 ...(省略) <VARIANCE> 39 4.287573e+01 ...(省略) <GCONST> 1.100840e+02 <MIXTURE> 2 5.000000e-01 <MEAN> 39 -4.869369e+00 ...(省略) <VARIANCE> 39 4.287573e+01 ...(省略) <GCONST> 1.100840e+02
作成したモデルに対して、HERestコマンドによる学習を行い、モデルを更新する。
混合比が変わることで分布も動く。
下図は混合比を「0.8」と「0.2」にしたもの。