1 of 26

A Fully Differentiable Beam Search Decoder

第11回最先端NLP勉強会

2019年 9月 28日

Ronan Collobert, Awni Hannun, Gabriel Synnaeve

In ICML, 2019

読み手:柯遠志(慶應大 萩原研 D3)

2 of 26

簡単にまとめると(by 発表者)

  • 音声認識モデルの学習時にもbeam searchしたい
  • 既存手法 (beam search optimization [Wiseman+])が対応しにくい
  • そのため、音声認識モデルの学習にも使えるbeam searchの最適化手法を提案した
    • 特別な制約はないので、他のアライメントが必要タスクも、マルチ粒度の扱う必要タスクも学習も可能
  • beam searchなしの学習手法と比べて音声認識の性能向上を確認、しかも従来より少ないbeam sizeでも高性能

3 of 26

選んだ理由

  • タイトルが魅力的
    • FULLY DIFFERENTIABLE !!
  • シンプルで実用性が高い
  • 汎用性が高い
    • 音声認識で評価したが、他のタスクにも普通に使えそう
  • 書き方が分かりやすい

4 of 26

  • 背景:音声認識のアライメント
    • 音声データには文字の割目がついてない、しかも話者の話速が変わる�➡ フレームからキャラクターのアライメントが必要
    • アライメントのやり方:

5 of 26

  • 音声認識のアライメントの厄介ところ
    • 一つの出力は複数のアライメントに対応する

    • Ground Truthを見ても、最適アライメントはわからない
    • 既存手法:
      1. 全部可能の文字列中のすべての文字のCross EntropyをBPTTで最適化(Graves+ 2005a, Graves+ 2005b, Kadous 2002)

H H H E E E L L _ L O _

H H E E E E L _ _ L O _

・・・・・・

HELLO

HELLO

重いし、文字の所属するアライメントも考慮しなくて性能も低い

昔の報告はLER 30%台

現在はほぼ使われない

繰り返した文字を認識するためのblank token

6 of 26

  • 音声認識のアライメントの厄介ところ
    • 一つの出力は複数のアライメントに対応する

    • Ground Truthを見ても、最適アライメントはわからない
    • 既存手法:
      • 全部可能のラベルのCross EntropyをBPTTで最適化(Graves+ 2005a, Graves+ 2005b, Kadous 2002)
      • 系列全体を考慮するLossを最適化:
        • MBR (Goel & Byrne 2000)
        • CTC (Graves+ 2006)

H H H E E E L L _ L O _

H H E E E E L _ _ L O _

・・・・・・

HELLO

HELLO

        • MMI (Bahl+ 1986)
        • ASG (Collobert+ 2016)

Bayes Ruleで計算するError Riskを最小化

Mutual Informationで出力と正解の関係を表現

正解になるPathのスコアを最大化

動的計画法で計算量を軽減

CTCの改良�(文字レベルの正則化しない、blankラベルを不使用)

7 of 26

  • 音声認識のアライメントの厄介ところ
    • 一つの出力は複数のアライメントに対応する

    • Ground Truthを見ても、最適アライメントはわからない
    • 既存手法:
      • 全部可能のラベルのCross EntropyをBPTTで最適化(Graves+ 2005a, Graves+ 2005b, Kadous 2002)
      • 系列全体を考慮するLossを最適化:
        • MBR (Goel & Byrne 2000)
        • CTC (Graves+ 2006)
      • とりあえずX→Z→Yのseq2seq、アライメント決めはモデルに任せ (Chan+ 2017)

H H H E E E L L _ L O _

H H E E E E L _ _ L O _

・・・・・・

HELLO

HELLO

        • MMI (Bahl+ 1986)
        • ASG (Collobert+ 2016)

8 of 26

  • 音声認識のアライメントの厄介ところ
    • 一つの出力は複数のアライメントに対応する

    • Ground Truthを見ても、最適アライメントはわからない
    • 既存手法:
      • とりあえずX→Z→Yのseq2seq、アライメント決めはモデルに任せ (Chan+ 2017)
      • 全部可能のラベルのCross EntropyをBPTTで最適化(Graves+ 2005a, Graves+ 2005b, Kadous 2002)
      • 系列全体を考慮するLossを最適化:
        • CTC (Graves+ 2006)
        • MBR (Goel & Byrne 2000)

H H H E E E L L _ L O _

H H E E E E L _ _ L O _

・・・・・・

HELLO

HELLO

        • ASG (Collobert+ 2016)
        • MMI (Bahl+ 1986)

今から見ると性能が低い(LER 30%台)

なんとWSJデータセットのSOTAらしい

よく使われてる音声認識の代表的なLoss関数たち

しかし、どちらにも、学習とInferenceが不一致のため、exposure biasとlabel biasがある

9 of 26

  • Exposure bias [Ranzato+, Wiseman+, Baskar+]
  • = 学習とInferenceのし組の違いによる問題
  • Label bias [Lafferty+, Andor+]
  • =Greedy Searchで最適解を見つけない

C

A

T

<B>

C

A

T

<E>

学習する時はGround Truthを使用

<B>

C

A

T

<E>

Inferenceする時は自分の出力を頼る

1個間違ったら後全部間違う

(Accumulated Error)

<B>

C

D

A

O

T

G

<E>

0.4

0.6

0.9

0.1

0.4

0.6

0.9

0.1

0.4

0.6

1.0

1.0

P(‘<B>CAT<E>’) = 0.324

P(‘<B>DOG<E>’) = 0.216

しかし、Greedy Searchなら‘<B>DOG<E>’

Beam Searchで解決できるが、InferenceだけにBeam Searchすれば、TrainingとInferenceが不一致

10 of 26

  • BSO (Beam Search Optimization) [Wiseman+ 2016]
    • ビームから落ちた箇所を着目し落ちないように学習
    • 正解とビームの距離を考慮するLoss

    • Forward Pass計算時、ビームから落ちる箇所を修正し、Backwardの時一つの系列としてまとめ、計算量を軽減

ビームから落ちるまで

はモデル自分の予測

落ちた箇所から次の予測はTeacher-forcing

ビームから落ちるまで

はモデル自分の予測

  • Beam SearchでTrainingする手法が既にある

tまではビーム内であれば0, 落ちたら正の数

t時刻の正解のスコア

t時刻のK番目スコア

最終時刻K=1, 他の時刻K=beam size

11 of 26

    • 計算量軽減のためBSOのForwardとBackward(再掲):

Forward: ビームから落ちる箇所を見つけて修正

Backward: 一つの系列にまとめる

    • 一部の正解がビーム内、一部の正解がビーム外であれば、一つの系列にまとめらっれない

ビームから落ちるまで

はモデル自分の予測

落ちた箇所から次の予測はTeacher-forcing

ビームから落ちるまで

はモデル自分の予測

  • しかしBSOは音声認識に対応しにくい

12 of 26

提案手法:Differentiable Beam Search Decoder (DBD)

DBDは何:微分できるBeam Search Decoder

どうやって:尤度の計算手法に工夫をかけて実現

特徴:

    • TraningもInferenceもBeam Searchだから、exposure biasなし
    • 系列全体を正則化するため、label biasもない
    • 制約がほぼない 汎用性高い、どんなモデルでも使えそう

13 of 26

DBDの仕組み

正解の尤度を最大化するため、�正解になるのアライメントの尤度を全員最大化したい

しかし、普通のSoftmaxを計算すれば、重い

全部の可能の出力に対応する全部アライメントの集合、めっちゃでかい

14 of 26

DBDの仕組み

Beam Searchするので�全体的な一番いい系列≈Beam内の一番いい系列�

だから、Beam外の出力を考慮しなくてもいい

全部の可能→Beam内の可能、正則化項の計算が一気に軽く

モデルのHypothesis (=全部の予測?)

15 of 26

DBDのトレーニング

Beam Searchするので�全体的な一番いい系列≈Beam内の一番いい系列�

だから、Beam外の出力を考慮しなくてもいい

全部の可能→Beam内の可能、正則化項の計算が一気に軽く

モデルのHypothesis (=全部の予測?)

しかし、Trainingするとき、Ground Truthは必ずBにあるわけがないじゃない?

16 of 26

学習時、Groud Truthがビームから落ちれば?

DBDの答え:学習時は、正解を入れてBeamと正解アライメント集合の和集合正則化すればいい

17 of 26

学習時、Groud Truthがビームから落ちれば?

DBDの答え:学習時は、正解を入れてBeamと正解アライメント集合の和集合正則化すればいい

ので、この正則化項の計算も容易

動的計画法で計算 (CTC、ASGのForward Passと同じ)

普通にBeam Searchで計算

普通にBeam Searchで計算

全部微分できるのため、普通に連鎖律でBPで学習できる

18 of 26

  • 評価実験
  • こんな音声認識モデルに使われた:
    • 音声モデル+文字レベルの言語モデル+単語レベルの言語モデル

    • 音声モデル:1D 畳み込みネットワーク + Gated Linear Units
    • 文字レベルの言語モデル:       (Wave2letter [Collobert+ 2016])
    • 単語レベルの言語モデルには以下3つの考えを検討した:
      1. 使用しない:      (DBD自体の評価のため)
      2. 学習済み言語モデルを使用:
      3. Bilinear言語モデル:�(簡易化した言語モデル)

音声モデルの出力スコア

文字レベルの言語モデル

単語レベルの言語モデル

音声モデルが出力した

t時刻の正解文字のスコア

文字モデルが出力したt-1時刻の文字からt時刻の正解文字の推移スコア

単語モデルが評価した出力全体のスコア

1-gramからK-gramの中で単語の関連性をモデリングする系列評価として最低限のモデル

19 of 26

実験1 音声データ+学習済み言語モデル

  • データセット:WSJ Continuous Speech Recognition
  • 目的:既存手法との比較
  • 評価指標:Word Error Rate (WER)

Model

nov93dev (Validation Set)

nov92 (Test Set)

ASG 10M AM (beam size 8000)

8.5

5.6

ASG 10M AM (beam size 500)

8.9

5.7

ASG 7.5M AM (beam size 8000)

8.8

6.0

ASG 7.5M AM (beam size 500)

9.4

6.1

DBD 10M AM (beam size 500)

8.7

5.9

DBD 7.5M AM (beam size 500)

7.7

5.3

DBD 7.5M AM (beam size 1000)

7.7

5.1

Attention RNN + CTC [Bahdanau+]

9.3

CNN + ASG [Zeghidour+]

9.5

5.6

CNN + ASG (wav + convLM) [Zeghidour+]

6.8

3.5

RNN + E2E-LF-MMI [Hadian+]

4.1

BILSTM + PAPB + CE [Baskar+]

3.8

Improved LF-MMI [Hadian+]

4.3

2.5

20 of 26

実験1 音声データ+学習済み言語モデル

  • データセット:WSJ Continuous Speech Recognition
  • 目的:既存手法との比較
  • 評価指標:Word Error Rate (WER)

Model

nov93dev (Validation Set)

nov92 (Test Set)

ASG 10M AM (beam size 8000)

8.5

5.6

ASG 10M AM (beam size 500)

8.9

5.7

ASG 7.5M AM (beam size 8000)

8.8

6.0

ASG 7.5M AM (beam size 500)

9.4

6.1

DBD 10M AM (beam size 500)

8.7

5.9

DBD 7.5M AM (beam size 500)

7.7

5.3

DBD 7.5M AM (beam size 1000)

7.7

5.1

Attention RNN + CTC [Bahdanau+]

9.3

CNN + ASG [Zeghidour+]

9.5

5.6

CNN + ASG (wav + convLM) [Zeghidour+]

6.8

3.5

RNN + E2E-LF-MMI [Hadian+]

4.1

BILSTM + PAPB + CE [Baskar+]

3.8

Improved LF-MMI [Hadian+]

4.3

2.5

もっと複雑なSOTAモデルに劣るけど...

小さいなビームサイズでも高性能でASGに勝る

21 of 26

実験2 音声データのみ (言語モデルはJoint Learning)

  • データセット:WSJ Continuous Speech Recognition
  • 目的:言語モデルのJoint Learningの有効性
  • 評価指標:Word Error Rate (WER)

Model

nov93dev (Validation Set)

nov92 (Test Set)

ASG (zero LM decoding)

18.3

13.2

ASG (2-gram LM decoding)

14.8

11.0

ASG (4-gram LM decoding)

14.7

11.3

DBD zero LM

16.9

11.6

DBD 2-gram LM

14.6

10.4

DBD 2-gram-bilinear LM

14.2

10.0

DBD 4-gram LM

13.9

9.9

DBD 4-gram-bilinear LM

14.0

9.8

RNN + CTC [Graves+]

30.1

Attention RNN + CTC [Bahdanau+]

18.6

Attention RNN + CTC + TLE [Bahdanau+]

17.6

Attention RNN + seq2seq + CNN [Chan+]

9.6

BILSTM + PAPB + CE [Baskar+]

10.8

22 of 26

実験2 音声データのみ (言語モデルはJoint Learning)

  • データセット:WSJ Continuous Speech Recognition
  • 目的:言語モデルのJoint Learningの有効性
  • 評価指標:Word Error Rate (WER)

Model

nov93dev (Validation Set)

nov92 (Test Set)

ASG (zero LM decoding)

18.3

13.2

ASG (2-gram LM decoding)

14.8

11.0

ASG (4-gram LM decoding)

14.7

11.3

DBD zero LM

16.9

11.6

DBD 2-gram LM

14.6

10.4

DBD 2-gram-bilinear LM

14.2

10.0

DBD 4-gram LM

13.9

9.9

DBD 4-gram-bilinear LM

14.0

9.8

RNN + CTC [Graves+]

30.1

Attention RNN + CTC [Bahdanau+]

18.6

Attention RNN + CTC + TLE [Bahdanau+]

17.6

Attention RNN + seq2seq + CNN [Chan+]

9.6

BILSTM + PAPB + CE [Baskar+]

10.8

簡単の言語モデルだけでも�ただ同時学習するだけで性能を向上できる

23 of 26

既存モデルからの転移学習の考察

  • 150, 250, 500 EpochでASGでまず学習したモデルを�続いてDBDで学習
  • ASGでよく学習された場合はDBDが過学習気味

24 of 26

Beam sizeについて考察

  • Beam 500以上はとても良好
  • 1000以上はコスパの面でいらない

25 of 26

まとめ

    • 微分できるビームサーチデコーダーを提案
    • 特長:
      • ビーム内の有効系列と正解系列だけを考慮する正規化によって計算が軽い
        • WSJの学習はわずか30分/Epoch (beam size 500, on CPU)
      • アライメントが必要な音声認識タスクでも使える
      • どんなモデルでも使える
    • 音声モデルと言語モデルの同時学習は性能を上げる
    • BSOとの比較がないのは残念
      • BSOは音声認識に使いにくいが、DBDが他のタスクに簡単に使えるじゃないか
      • 機械翻訳などでBSOとの比較を個人的に見たい

26 of 26

参考文献

  • Andor, D., Alberti, C., Weiss, D., Severyn, A., Presta, A., Ganchev, K., Petrov, S., and Collins, M. Globally normalized transition-based neural networks. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL), pp. 2442–2452. Association for Computational Linguistics, 2016.
  • Baskar, M. K., Burget, L., Watanabe, S., Karafi´at, M., Hori, T., and ˇCernock`y, J. H. Promising accurate prefix boosting for sequence-to-sequence ASR. arXiv preprint arXiv:1811.02770, 2018.
  • Collobert, R., Hannun, A., Synnaeve, G. A fully differentiable beam search decoder. In International Conference on Machine Learning (ICML), 2019.
  • Graves, A., Fern´andez, S., & Schmidhuber, J. (2005). Bidirectional LSTM networks for improved phoneme classification and recognition. Proceedings of the 2005 International Conference on Artificial Neural Networks. Warsaw, Poland.
  • Graves, A., & Schmidhuber, J. (2005). Framewise phoneme classification with bidirectional LSTM and other neural network architectures. Neural Networks, 18, 602–610.
  • Kadous, M. W. (2002). Temporal classification: Extending the classification paradigm to multivariate time series. Doctoral dissertation, School of Computer Science & Engineering, University of New South Wales.
  • Lafferty, J. D., McCallum, A., and Pereira, F. C. N. Conditional random fields: Probabilistic models for seg- menting and labeling sequence data. In International Conference on Machine Learning (ICML), pp. 282– 289, 2001.
  • Ranzato, M., Chopra, S., Auli, M., and Zaremba, W. Sequence level training with recurrent neural networks. In International Conference on Learning Representations (ICLR), 2016.
  • Wiseman, S. and Rush, A. M. Sequence-to-sequence learning as beam-search optimization. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1296–1306. Association for Computational Linguistics, 2016.