ワークフロー
- Audioファイルの蓄積
- 特徴抽出
- 音響モデルの構築
- 言語モデルの構築
- 出力
sEnd-to-End Modeling
通常必要とされる途中過程(GMMとかHMMとか)をすっとばして、特徴ベクトルから直に音素+言語モデルを構築すること。DeepLearningの中間状態のもつ表現力を利用することによる。
データ処理
preprocess for mixture of Gaussians and Hidden Markov Model
そもそも、音声データ自体をそのままシーケンスとしてニューラルネットワークに入れるのは良くない。なぜなら、long term contextを拾うというタスク自体が難しいから。
できるだけ前処理をして、シーケンスの長さを短くしたほうがよい。1980年代には、あまりに短いシーケンスにする方法が研究され、混合分布やHMMでも扱えるほどだった。(精度は悪かったが)
以下、そのような方法を列挙する。
Dynamic time warping
スピードに対する正規化。同じパターンだが、1秒で終わる音声、2秒で終わる音声を同一視することができる。
cMllr / fMllr変換
Constrained Maximum Likelihood Linear Regressionはfeature space Mllrとも呼ばれる。線形モデル。
http://kaldi-asr.org/doc/transform.html#transform_cmllr_global
TIMIT Acoustic-Phonetic Continuous Speech Corpus
無料の音素コーパス
Melfrequency cepstral coefficients(MFCC)
フーリエ変換のlogを取り、高音域と低音域を分離したもの。logをとるので、周波数の表現に必要なビット数が減る。
25ミリ秒ぐらいのwindowで十分に計算可能。これらの係数の時間微分も特徴量になる。
短期記憶の実装
RNNの場合:Recurrentな隠れ層における、反響状態をメモリーとして利用する。つまり、固定アトラクタでない離散力学系である。
LSTMの場合:memory cell内にConstant Error Cellを仕込み、メモリーとして利用する。これも離散力学系である。反響の振動を防ぐため、CECには恒等関数が使われる。(Sepp, 1992)
機械学習タスク
ASR Task
人の会話に応答するというタスク。
Acoustic Model (ASR)
録音データから、音素データを切り出すタスク。
Language Model (ASR)
音素データが織り成す文法がどうなっているかを再現するタスク。
Long Word Context
文法モデルで、n-gramモデルの場合、n+1離れた単語間の相関は定義より0になる。DeepLearningとくにRNNの中間状態が、定数nより長い相関を拾っていることを期待する。
Reber Grammar
ベンチマークで使われる。教師データとなり、Reber Grammerを再現することがタスクになる。short time lag問題であり、long word contextは拾えないので、long界のHello World的なもの。LSTMはこの簡単なタスクでもRNN+BPTTを上回る精度
https://www.willamette.edu/~gorr/classes/cs449/reber.html
Discriminative Language Model
識別モデルのことで、条件付き確率 p(単語|データ)を教師データに従って最大化するタスク。次に来るべき音素の条件付き確率もこの応用。
Framewise phoneme classification
短い音素の分類タスク。
学習方法
※RNNのトレーニング方法には複数あるものの、明確に優れた方法は存在しない。
Backpropagation Through Time(BPTT)
Williams & Zipser 1992で提案、時間のウィンドウτを考慮する場合、w(t)〜w(t-τ)を一気に更新することになる。計算量が大変なことになる。よって、τを小さい値に固定することになり、τより長い時間続くトレンドは捉えづらい。
この方法のもう1つの問題は、アクティベーションファンクションの微分の絶対値が最大になるものをf’とすると、勾配の主要項がτ>>1では|f’|^τと指数的に増大し、wが振動し、安定学習ができないのである。(Hochreiter, 1991)
離散時間力学系として解析したときには、bifurcation(アトラクタの分岐現象)が起きてしまうことも知られている。bifurcationが起こると、パラメーターにより2つの全く違うモデルが再現されてしまう。たとえば、τ=10とτ=11では全く違うアトラクタが学習される。
truncted Backpropagation Through Time(BPTT)
τを小さい値に固定したもののこと。
RealTime Recurrent Learning(RTRL)
exactな方法。O((N+L)^4) (Williams & Zipser, 1989)
Extended Kalman Filtering(EKF)
局所的に線形システムで近似する方法。(Singhal & Wu, 1989)
Second-order Gradient Descent
収束を速くするために損失関数の曲率を使うのだが、計算オーダーがO(TE^2)になってしまう。(EはRecurrent層のエッジ数)
http://minds.jacobs-university.de/sites/default/files/uploads/papers/ESNTutorialRev.pdf
アドバンストモデル
Forget gates
ONにすると、CECの状態が0に戻る(Gers et al., 2000)
Peephole weights
(Gers, 2002)
bidirectional LSTM
未来から過去へのフィードバックがあるタイプ(Graves, 2005)
GravesLSTM
特徴は2つ。
- 多次元入力可能
- output layerが特殊