5.9K Views
November 08, 23
スライド概要
Pythonで学ぶ音声認識の輪読会第5回の発表スライドです。
2023年11月2日(木) 18:30~
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
⾳声認識第5章 隠れマルコフモデル 前⽥康介 0
今⽇の内容 ⽬次 1. 隠れマルコフモデルとは 2. GMM-HMMによる学習 3. GMM-HMMによる認識 4. まとめ 1
1. 隠れマルコフモデル 2
隠れマルコフモデルの構造 ● 状態遷移図を持って表される。特に左から右 にしか遷移しないものをleft-to-right HMM と呼ぶ。 ● ⾳素が状態を持っていると考える。状態間の 移動は遷移確率によって決まる。 ● ⾳声全体の⽣成確率が計算できる。 3
出⼒確率と遷移確率 ● ⾳素が発声される確率が出⼒確率。(左図の 左から右に流れる確率) ● ⾳素がどの状態に次に⾏くのかを決めるのが 遷移確率。 4
出⼒確率の計算 •図5-10において、⾳素pを発声したとき、⾳声特徴量{x(0), x(1), x(2), x(3)}が状態{s0p, s1p, s1p, s2p}という遷移をして出 ⼒される確率は次のように計算できる。 →⾳素pの出⼒確率は状態間の遷移確率と各⾳声の出⼒確率で表さ れる。 5
GMM-HMMとは •各状態の出⼒確率がGMMで表された隠れマルコフモデルをGMMHMMと呼ぶ。 •GMM-HMMのパラメータは各⾳素、各状態におけるGMMのパラ メータと遷移確率である。 •GMM-HMMは⾳響モデルに相当する。つまり知りたいのは⾳声系 列に対する⾳素の尤度。 6
GMM-HMMにおける尤度 •GMM-HMMにおけるパラメータをθ(状態遷移確率とGMMのパラ メータを合わせたもの)と置くと尤度は次の式で表せる。 •Nはフレーム数 →⾳声系列に対してあり得る状態遷移パス全てについて確率を計算 している。 7
⾳素GMM-HMMの学習 8
⽤いる変数 u: 発話番号(総発話数はU) n: フレーム番号((N - 1)フレームが最後の⾳素の最後の状態) Nu: 発話uの⾳声の総フレーム数 xu: 発話uの⾳声系列 lu: 発話uの⾳声ラベル(「会う」のラベルは{a, u}) su: 発話uの状態系列(これが(p, j)とは⾳素pのj番⽬の状態を表す) zu: 発話uの混合要素系列 → suとzuは不明である。 9
知りたいパラメータ ● ● • • ai, jp: ⾳素pの隠れマルコフモデルにおける状態iから状態jへの遷 移確率 wmp, j: ⾳素pの状態iにおいて定義されるGMMの、混合要素mの 重み。 : 混合要素mの平均値ベクトル : 混合要素mの共分散⾏列 →これらのパラメータをEMアルゴリズムを⽤いて解く。 10
Q関数 •GMM-HMMにおけるQ関数は次の式で定義される。 →全ての混合要素と状態遷移を考量した期待値として表されている 11
Q関数続き ● Q関数を変形すると最終的に次のように表せる。 12
求めたいパラメータ ● 上のQ関数を最⼤にする4つのパラメータは次のように表せる。 13
問題点 • の分⺟の計算が⼤変であるということ。 →フレームnの時状態(p, j)を通る全ての道について計算する必要が あるから。 →前向き後ろ向きアルゴリズム を⽤いる 14
前向き・後ろ向きアルゴリズムとは ● …(✳) →この式の右辺の分⼦をフレームn、状態(p, j)で分割して計算をす る⽅法。 15
使う記号 ● Pfirst: ラベルlにおける最初の⾳素 ● Plast: ラベルlにおける最後の⾳素 ● Pprev: ラベルlにおける、ある⾳素pの直前の⾳素 ● Pnext: ラベルlにおける、ある⾳素pの直後の⾳素 ● api, loop(i): ⾳素pのi番⽬の状態で⾃⼰ループする確率 ● api, next(i):⾳素pのi番⽬の状態で次の状態に遷移する確率 ● S: 各⾳素における状態の数。(各⾳素で統⼀されているとする) 16
前向き確率の計算 ● スタート(n = 0)は必ず次の状態に⾏くので、前向き確率は次の ようになる。 • n = 1, 2, ... N – 1については次のように計算する。 17
前向き確率の計算 ● ゴールにおける前向き確率はあらゆるパスを通ったxの総和とし て表せる。 18
後ろ向き確率の計算 ● スタート(n = N - 1)は必ずゴールにいるので、後ろ向き確率は 次のようになる。 • n = 1, 2, ... N – 1については次のように計算する。 19
(✳)を書き換える ● 前向き確率と後ろ向き確率を⽤いると(✳)は次のように書き換え られる。 →先に前向き確率と後ろ向き確率を計算しておけば計算が楽にな る。 20
推定パラメータを書き換える。 ● ● 先ほどの式の分⺟を以下のように書き換える。 これを⽤いて遷移確率パラメータの推定式を次のように書き換え る。 21
パラメータを書き換える ● ● 次に混合正規分布のパラメータを書き換えるために次のような式 変形を⾏う。 →Upjは次のスライドで 22
パラメータを書き換える ● Uupj(n)は次のように書ける。 ● →前向き確率の計算に似た計算を⾏なっている。 23
パラメータを書き換える ● 混合正規分布のパラメータを先ほど導⼊した⽂字を⽤いて書き換 えると次のようになる。 24
GMM-HMMのまとめ Step 1 パラメータの初期化 θを初期値に設定する Step 2 前向き確率・後ろ向き確率の計算 スライド17枚⽬や19枚⽬を⽤いて計算を⾏う。 Step 3 パラメータの更新 混合正規分布のパラメータと隠れマルコフモデルのパラ メータの更新を更新式に従って⾏う。. 25
GMM-HMMによる認識 26
尤度の近似 ● GMM-HMMの役割は次の式を計算することであった。 ● ⾳声認識では上の尤度を次のように近似する。 →確率が最⼤となるパスのみを⽤いて尤度を近似する。実際にはこ れの対数を考える。 27
尤度の近似の続き • 知りたいのは以下の式であった。 →対数遷移確率と対数出⼒確率の和を最⼤化すれば良い。 • あらかじめ ⾏う。 を計算して次のスライドの計算を 28
アルゴリズム ● ● ● 以下の計算式を⽤いてフレームn、状態(p, j)への最⼤対数確率を 最⼤化する。 n = 0では必ずスタートにいるので最⼤対数確率は次の式で表せ る。 n = 1, 2, ... , N – 1についてはまず確率最⼤のパスを計算す る。 29
アルゴリズム ● 求めた確率のパスと対数出⼒確率を⾜して対数確率を最⼤にする。 ● これを最後の⾳素まで⾏ったものを近似尤度とする。 ● これをビタビルアルゴリズムという。ビタビルアルゴリズムでは 配列のアライメントが得られるというメリットがある。 30
2. 便利なテンプレ集 まとめ まとめ1 まとめ2 まとめ3 隠れマルコフモデル 混合正規分布を用いた隠れマルコフモデル 隠れマルコフモデルの学習 前向きアルゴリズム、後ろ向きアルゴリズム 隠れマルコフモデルによる認識 ビタビルアルゴリズム 31