テック

【機械学習の学習】隠れマルコフモデル(HMM)とその周辺分野の語彙について調べた

f:id:hapwish:20180703154615j:plain

独り言ですがこうした専門的な分野は、確かに高校生で学ぶ数学レベルで十分理解できる範囲もあります。ただ、自分が分け入ってみて、かつては「ふーん」くらいにしかならなかったものが、ようやく理解し始めてきたと感じています。

自分のやってみたいこと、つくってみたいもの、実現したい世界をイメージしたときに、いま何が足りていないのかを考え、どう克服していくのかに頭を悩ませ始めた時、ようやく自分の理解しようとする力が湧いてくるような気がしています。

以下の記載も決して正確な記載ではないと思いますが、英語の論文等を読んでいてよくわからない単語等が出てきたときに少しでも理解の足しになれば幸いです。

隠れマルコフモデル(HMM)について

隠れマルコフモデルのバウム・ウェルチアルゴリズム、ビタビアルゴリズムまでをサイコロを使ってわかりやすく説明してくれます。

www.fward.net

こちらでは少し数学的な解説をしていますが、内容は上と同様です。

隠れマルコフモデルの大雑把な解説 – 具体例で学ぶ数学

Viterbi argorithm (Viterbi alignment) ビタビアルゴリズム

バウム・ウェルチアルゴリズムと合わせて隠れマルコフモデルの一部を構成するアルゴリズム。隠れマルコフモデルの主なパラメータは以下の2つ。

A:状態遷移確率
B:状態と観測可能変数の関係を表す確率分布

ビタビアルゴリズムでは、いま観測可能な変数の値と、上記のA,Bのモデルパラメータから、もっともらしい隠れた変数の値を推定する事ができる。

もう一つのバウム・ウェルチアルゴリズムでは、その逆で観測可能な変数の値からモデルパラメータを推定することができる。*1

mieruca-ai.com

Bakis model バキスモデル

隠れマルコフモデルの1モデル。例えば単語の最後の状態「qs」から次の単語の最初の状態「q1」への直接遷移のみを許すようなLeft to right型のモデルをバキスモデルという。*2

f:id:hapwish:20180521232354p:plain

上の図では2つの4状態HMMを示している。左の図は左から右に遷移する(Bakis model)HMMを示している。右の図はHMMの4状態エルコードモデル(4-state ergotic model)である。

なお、Bakisモデルでは示されていないすべての遷移はゼロ確率を持つ。*3

f:id:hapwish:20180521233525p:plain

Alignment アライメント

アライメントとは列のことである。自然言語処理の分野ではアライメント(アラインメント)という言葉が「文間で対応する単語間の対応付け」という意味合いにおいてかなりの頻度で使われるようだ。

用法としては「構造的アライメント」や「単語アライメント」などである。

Connectionist Temporal Classification (CTC) について

時系列表現に用いられる分類器、「入出力間で系列長が違う問題を、隠れマルコフモデル(HMM)を使わずに解決する」もので、入力するデータ(音声や動画など連続的なもの)の長さに左右されず処理する。

HMMの前向き・後ろ向きアルゴリズムと同様のアプローチでこの問題を解決しているが、*4隠れマルコフモデルでなくRNNを活用するために空文字φを挿入する。例えば以下のようなイメージである。

{a, φ, φ, φ, r, φ, φ, y, φ, φ, φ … }

学習時にはどこにこのφが挿入されるかについてはすべてを考慮して勾配を計算する必要がある。(勾配は多次元の関数の場合、各変数による偏微分を並べたもの)

qiita.com

Expectation Maximisation EMアルゴリズム、期待値最大化法

データが特定の分布を仮定しない場合において、尤度関数を最大化するアルゴリズム。

EMアルゴリズムの性質については以下の通り。

各ステップを繰り返す必要がある
当然ですが,EMアルゴリズムはEステップとMステップを繰り返す必要があります.EMアルゴリズムが適用できる問題ならば各ステップの計算自体は簡単ですが,パラメータや対数尤度値がある程度収束するまでは,計算し続けなければいけません.

初期値に依存し,局所最適解に落ちることもある
先ほど示したイメージでは,下界を引き上げていく際に二次関数のようなものの頂点と対数尤度関数を行ったり来たりしていました.ということは,きちんと勾配にしたがって最大化してくれるという保証がある一方で,それらがある程度一致したところでパラメータは更新しようがないということになります.そのため,EMアルゴリズムは初期値によっては局所最適解に落ちる可能性があります.

yagays.github.io

www.youtube.com

20180526 更新
20180702 再更新

*1:ビタビアルゴリズム – Wikipedia

*2:Speech and Speaker Recognition, https://www.karger.com/Book/Home/220745 p.138

 

*3:Speech and Language Processing. Daniel Jurafsky & James H. Martin. Copyright c 2016. All rights reserved. Draft of August 7, 2017. https://web.stanford.edu/~jurafsky/slp3/9.pdf

*4:音声認識分野における 深層学習技術の研究動向, http://ibisml.org/archive/ibis2013/pdfs/ibis2013-kubo.pdf