Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
音声認識における言語モデル
2016/12/02@pfxセミナー
PFNアルバイト瀬戸山幸大郎
瀬戸山 幸大郎@KotaroSetoyama
■ Retriva/PFNアルバイト
音声認識/Chainer,CuPy開発
■ 卒業論文
音声合成
2
自己紹介
本日の内容
■ 音声認識システムの音響モデルの簡単な概要
■ 音声認識システムで言語モデルをどう使うか
・N-gramLMとRNNLM,それぞれをどう組み込むか
・組み込む上で高速化,精度向上の工夫
3
音声認識とは
4
NEC 音声認識の仕組みhttp://jpn.nec.com/vsol/overview.html
音声認識とは
5
音声認識とは
6
音声認識とは
7
音響モデル
■ GMM + HMM, DNN + HMM, RNN + CTC ...
■ HMMやCTCの役割は時間方向の継続長の処理
8
GMM...Gaussian Mixture Model HMM...Hidden Markov Mo...
音響モデル
9
■ 音響モデルでは音声特徴ベクトルと音素(トライフォン)を対応させる
例) 文単位:あらゆる現実をねじねじする 無限個
単語単位:あらゆる 現実 を ・・・ 数万個
音素単位:a r a y u r u ・・・ 数十個
この各ト...
音響モデルをどう表現するか?
10
→ FST(finite state transducer) / WFST(weighted FST)
HMMの場合
・各音素(トライフォン)に対し
て右のようなHMMを用意する
・継続長の処理は自己ループに...
11
このHMMをWFSTで表現する
徳田恵一. "隠れマルコフモデルによる音声認識と音声合成." 情報処理 45.10 (2004): 1005-1011.
2016/05/12の西鳥羽さんの全体セミナー http://www.slideshare.net/JiroNishitoba/wfst-61929888
12
WFSTとは
13
14
15言語モデルをWFSTで表現すれば音響モデルのWFSTと合成できる
音響モデルをどう表現するか?
16
■ HMMもCTCもFST/WFSTを用いて表現出来る
■ 言語モデルもWFSTで表すことができれば1つの巨大なWFSTを構築できる(サー
チグラフ)
■ サーチグラフを探索することで確率を計算し、確率最大の...
音響モデルをどう表現するか?
17
言語モデルはWFSTで表せられるのか?
■ HMMもCTCもFST/WFSTを用いて表現出来る
■ 言語モデルもWFSTで表すことができれば1つの巨大なWFSTを構築できる(サー
チグラフ)
■ サーチグラフ...
言語モデルとは
■ある言葉の次は、この言葉が続きやすいという情報を保持
・N-gram言語モデル
・Recurrent Neural Network言語モデル(今日のメイン)
18
N-gram言語モデル
19
トライグラム
■ ある単語の出現確率は過去のN-1単語に依存すると仮定
■ Nは3〜5が多い
■ コーパス中に現れない単語の確率が0になるのを防ぐ、スムージングなどの工
夫が必要
■ WFSTで表すことができる
WFST of N-gram言語モデル
20
N-1個の単語の組を1つの状態(state)とする
■ 単語数が増えると言語モデルの状態数も増えるので状態数を減らす工夫をする
■ 音響モデルは音素単位,言語モデルは単語単位だったので,単語と音素の対応
表(単語辞書)もWFSTで表す
■ 音響モデル,言語モデル,単語辞書をWFSTで表し,合成演...
RNNLM
■ 2010年にTomas Mikolovによって提案された言語モデル
■ N-gram言語モデルよりも広いコンテキスト情報を保持できる
■ 最新の音声認識システムでは使われることが多い
22
RNNLM
23
ソフトマックスで確率化
1-of-K
過去の履歴を保持
RNNLM
24
ソフトマックスで確率化
1-of-K
過去の履歴を保持
音響モデルと組み合わせられるのか?
RNNLMの問題点
■ 計算コストが大きい
特に出力層のソフトマックスのコストが大きい(後述)
■ サーチグラフが巨大になる
N-gramLMではN-1個の単語の組が1つのstateであった
→ Nが無限(RNNLM)の時はstate数は無限?...
RNNLMをFirst-passで利用する例1
Conversion of recurrent neural network language models to weighted finite state transducers for au...
RNNLMをFirst-passで利用する例1
27
後述するリスコアリング(N-gram+RNNLM)の方がWERは低い
Variational approximation of long-span language models for LVCSR [Deoras+ 11]
Approximate inference: A sampling based mode...
29
RNNLMをFirst-passで利用する例2
WERはほとんど変わらない
Cache based recurrent neural network language model inference for first pass speech recognition[Huang+ 14]
30
RNNLMをFirst-...
■ First-passでRNNLMを利用しようとした例はいくつかあるが,成功例は少ない
■ 主流はN-gramLM + RNNLMのリスコアリング
31
リスコアリング
■ First-passで出力したN-bestをSecond-passでリスコアリングする
■ First-passで出力したN個の候補をN-bestという
32
リスコアリング
Empirical Evaluation and Combination of Advanced Language Modeling Techniques. [Mikolov+ 11]
■ リスコアリングは以下のように各言語モデ...
リスコアリングRNNLMの問題点
■ 精度がN-gramLMに依存する
N-bestの中からしか最適解を選べない
■ 依然,計算コストは大きい
・特に出力層のソフトマックスによる正規化が学習と評価の双方でコストが大きい
(これ自体はよく知られた...
Noise Contrastive Estimation for Speech Recognition
Recurrent neural network language model training with noise contrastiv...
Noise Contrastive Estimation for Speech Recognition
36
データが以下のような混合分布(NCEで近似するRNNLMの分布+ノイズの分
布)から生成されると仮定する
なんやかんや
Noise Contrastive Estimation for Speech Recognition
37
正規化項が過去の単語に依存しない定数
Noise Contrastive Estimation for Speech Recognition
38
Cross-Entropy(通常のソフトマックス)と同等のWERを保ちながら,
train,evalの双方で大幅な高速化を実現
RNN...
Noise Contrastive Estimation for Speech Recognition
39
単語数が増加しても速度は不変
■ リスコアリングRNNLMの精度/速度を上げる研究は他にも多くある
CUED-RNNLM Toolkit
■ 先ほど紹介したRNNLM training with NCEの著者Xie Chenが公開している
RNNLMを記述できるツールキット
■ RNNLMのツールはいくつかあるが,音声認識で使用するのに最も適...
まとめ
■ RNNLMの音声認識システムへの組み込み方は様々
■ N-gramLMで出力したN-bestをリスコアリングするのが主流
■ リスコアリングの速度を上げる研究はNCE含め多く提案されている
41
Upcoming SlideShare
Loading in …5
×

音声認識における言語モデル

2,589 views

Published on

音声認識における言語モデル

Published in: Science
  • Be the first to comment

音声認識における言語モデル

  1. 1. 音声認識における言語モデル 2016/12/02@pfxセミナー PFNアルバイト瀬戸山幸大郎
  2. 2. 瀬戸山 幸大郎@KotaroSetoyama ■ Retriva/PFNアルバイト 音声認識/Chainer,CuPy開発 ■ 卒業論文 音声合成 2 自己紹介
  3. 3. 本日の内容 ■ 音声認識システムの音響モデルの簡単な概要 ■ 音声認識システムで言語モデルをどう使うか ・N-gramLMとRNNLM,それぞれをどう組み込むか ・組み込む上で高速化,精度向上の工夫 3
  4. 4. 音声認識とは 4 NEC 音声認識の仕組みhttp://jpn.nec.com/vsol/overview.html
  5. 5. 音声認識とは 5
  6. 6. 音声認識とは 6
  7. 7. 音声認識とは 7
  8. 8. 音響モデル ■ GMM + HMM, DNN + HMM, RNN + CTC ... ■ HMMやCTCの役割は時間方向の継続長の処理 8 GMM...Gaussian Mixture Model HMM...Hidden Markov Model DNN... Deep Neural Network CTC...Connectionist Temporal Classification p p r e f f e r r r d preferred
  9. 9. 音響モデル 9 ■ 音響モデルでは音声特徴ベクトルと音素(トライフォン)を対応させる 例) 文単位:あらゆる現実をねじねじする 無限個 単語単位:あらゆる 現実 を ・・・ 数万個 音素単位:a r a y u r u ・・・ 数十個 この各トライフォンの音素がそれぞれ異なる特徴ベクトルに対応している (トライフォン _-a+r a-r+a r-a+y a-y+u y-u+r ・・・)
  10. 10. 音響モデルをどう表現するか? 10 → FST(finite state transducer) / WFST(weighted FST) HMMの場合 ・各音素(トライフォン)に対し て右のようなHMMを用意する ・継続長の処理は自己ループに よって確率的に処理できる a - a + r 徳田恵一. "隠れマルコフモデルによる音声認識と音声合成." 情報処理 45.10 (2004): 1005-1011.
  11. 11. 11 このHMMをWFSTで表現する 徳田恵一. "隠れマルコフモデルによる音声認識と音声合成." 情報処理 45.10 (2004): 1005-1011.
  12. 12. 2016/05/12の西鳥羽さんの全体セミナー http://www.slideshare.net/JiroNishitoba/wfst-61929888 12 WFSTとは
  13. 13. 13
  14. 14. 14
  15. 15. 15言語モデルをWFSTで表現すれば音響モデルのWFSTと合成できる
  16. 16. 音響モデルをどう表現するか? 16 ■ HMMもCTCもFST/WFSTを用いて表現出来る ■ 言語モデルもWFSTで表すことができれば1つの巨大なWFSTを構築できる(サー チグラフ) ■ サーチグラフを探索することで確率を計算し、確率最大のものを出力 この処理をデコードと呼び,デコードを行うプログラムをデコーダという 音声認識システムの実装で面倒なのはデコーダの部分
  17. 17. 音響モデルをどう表現するか? 17 言語モデルはWFSTで表せられるのか? ■ HMMもCTCもFST/WFSTを用いて表現出来る ■ 言語モデルもWFSTで表すことができれば1つの巨大なWFSTを構築できる(サー チグラフ) ■ サーチグラフを探索することで確率を計算し、確率最大のものを出力 この処理をデコードと呼び,デコードを行うプログラムをデコーダという 音声認識システムの実装で面倒なのはデコーダの部分
  18. 18. 言語モデルとは ■ある言葉の次は、この言葉が続きやすいという情報を保持 ・N-gram言語モデル ・Recurrent Neural Network言語モデル(今日のメイン) 18
  19. 19. N-gram言語モデル 19 トライグラム ■ ある単語の出現確率は過去のN-1単語に依存すると仮定 ■ Nは3〜5が多い ■ コーパス中に現れない単語の確率が0になるのを防ぐ、スムージングなどの工 夫が必要 ■ WFSTで表すことができる
  20. 20. WFST of N-gram言語モデル 20 N-1個の単語の組を1つの状態(state)とする
  21. 21. ■ 単語数が増えると言語モデルの状態数も増えるので状態数を減らす工夫をする ■ 音響モデルは音素単位,言語モデルは単語単位だったので,単語と音素の対応 表(単語辞書)もWFSTで表す ■ 音響モデル,言語モデル,単語辞書をWFSTで表し,合成演算を行い,単語列 と重みを出力するWFSTを構築 音響モデル + N-gram言語モデル WFST 音響モデル 言語モデル 単語候補A + 確率 詳細は西鳥羽さんの資料参照 http://www.slideshare.net/JiroNishitoba/wfst-61929888
  22. 22. RNNLM ■ 2010年にTomas Mikolovによって提案された言語モデル ■ N-gram言語モデルよりも広いコンテキスト情報を保持できる ■ 最新の音声認識システムでは使われることが多い 22
  23. 23. RNNLM 23 ソフトマックスで確率化 1-of-K 過去の履歴を保持
  24. 24. RNNLM 24 ソフトマックスで確率化 1-of-K 過去の履歴を保持 音響モデルと組み合わせられるのか?
  25. 25. RNNLMの問題点 ■ 計算コストが大きい 特に出力層のソフトマックスのコストが大きい(後述) ■ サーチグラフが巨大になる N-gramLMではN-1個の単語の組が1つのstateであった → Nが無限(RNNLM)の時はstate数は無限? ■ 単語の扱い方がN-gramLMと異なる RNNLMは単語をベクトル(連続空間)で扱っている 25 RNNLMをFirst-passで使用するのは容易ではない
  26. 26. RNNLMをFirst-passで利用する例1 Conversion of recurrent neural network language models to weighted finite state transducers for automatic speech[Lecorvé+ 12] 26 ■ 連続空間で表されている単語をstateに変換するために無理やり量子化を行う ■ k-meansで似ている単語ベクトルを1つにまとめる 量子化 状態の枝刈り
  27. 27. RNNLMをFirst-passで利用する例1 27 後述するリスコアリング(N-gram+RNNLM)の方がWERは低い
  28. 28. Variational approximation of long-span language models for LVCSR [Deoras+ 11] Approximate inference: A sampling based modeling technique to capture complex dependencies in a language model [Deoras+ 13] 28 RNNLMをFirst-passで利用する例2 ■ First-passで使用できる計算コストの低い確率分布QとRNNLMのようなLong- spanLMの確率分布を変分近似する ■ KL距離最小化
  29. 29. 29 RNNLMをFirst-passで利用する例2 WERはほとんど変わらない
  30. 30. Cache based recurrent neural network language model inference for first pass speech recognition[Huang+ 14] 30 RNNLMをFirst-passで利用する例3 ■ 同じ計算を行っている箇所に注目して,計算結果をキャッシュとして蓄えてお くことでRNNLMを呼ぶ回数を最小限にとどめている N-gramLMと同程度の速度を保ったままN-gramLMよりも良い精度を出している
  31. 31. ■ First-passでRNNLMを利用しようとした例はいくつかあるが,成功例は少ない ■ 主流はN-gramLM + RNNLMのリスコアリング 31
  32. 32. リスコアリング ■ First-passで出力したN-bestをSecond-passでリスコアリングする ■ First-passで出力したN個の候補をN-bestという 32
  33. 33. リスコアリング Empirical Evaluation and Combination of Advanced Language Modeling Techniques. [Mikolov+ 11] ■ リスコアリングは以下のように各言語モデルの線形和をとる ■ 重みはヒューリスティックに決める ■ Mikolovの論文ではN-gramLMでN-bestを出力し,RNNLMでリスコアリングし たものが最も精度が良い 例) N-gramLMでN-best出力 → 1-of-K表現 → RNNLMに入力 → RNNLMのスコアが出る → N-gramLMのスコアと線形和をとる 33
  34. 34. リスコアリングRNNLMの問題点 ■ 精度がN-gramLMに依存する N-bestの中からしか最適解を選べない ■ 依然,計算コストは大きい ・特に出力層のソフトマックスによる正規化が学習と評価の双方でコストが大きい (これ自体はよく知られた課題) ・単語数の増加に従ってコストも増加する 34
  35. 35. Noise Contrastive Estimation for Speech Recognition Recurrent neural network language model training with noise contrastive estimation for speech recognition [Chen+ 15] 35 損失関数 正規化項が過去の単語に依存
  36. 36. Noise Contrastive Estimation for Speech Recognition 36 データが以下のような混合分布(NCEで近似するRNNLMの分布+ノイズの分 布)から生成されると仮定する なんやかんや
  37. 37. Noise Contrastive Estimation for Speech Recognition 37 正規化項が過去の単語に依存しない定数
  38. 38. Noise Contrastive Estimation for Speech Recognition 38 Cross-Entropy(通常のソフトマックス)と同等のWERを保ちながら, train,evalの双方で大幅な高速化を実現 RNNLMの学習データは20M word Fisher data
  39. 39. Noise Contrastive Estimation for Speech Recognition 39 単語数が増加しても速度は不変 ■ リスコアリングRNNLMの精度/速度を上げる研究は他にも多くある
  40. 40. CUED-RNNLM Toolkit ■ 先ほど紹介したRNNLM training with NCEの著者Xie Chenが公開している RNNLMを記述できるツールキット ■ RNNLMのツールはいくつかあるが,音声認識で使用するのに最も適してそう ■ 手軽にリスコアリングを行える ■ Kaldiと組み合わせられる 40 http://mi.eng.cam.ac.uk/projects/cued-rnnlm/
  41. 41. まとめ ■ RNNLMの音声認識システムへの組み込み方は様々 ■ N-gramLMで出力したN-bestをリスコアリングするのが主流 ■ リスコアリングの速度を上げる研究はNCE含め多く提案されている 41

×