Icml読み会 deep speech2

Post on 08-Jan-2017

2492 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

Deep Speech 2:End-to-End Speech Recognition

in English and Mandarin

Amodei, et al.

ICML2016 読み会 2016/07/21 @ ドワンゴセミナールーム

株式会社プリファードインフラストラクチャー

西鳥羽 二郎

自己紹介

西鳥羽二郎 株式会社 Preferred Infrastructure

- 製品事業部

- 研究開発 音声認識 自然言語処理 その他諸々

Twitter ID: jnishi

2

3

Deep Speech 2: End-to-End の音声認識

異なる言語 (English, Mandarin), 雑音あるなしに関わら

ず変更をほとんど必要としないモデル 従来の音声認識よりも少ないコンポーネントで構成 一般の人の書き起こしよりも精度が良い音声認識 特徴

- 巨大なニューラルネットワークのモデル

- 巨大なデータ

- Deep Learning 上の各種最適化

4

パターン認識としての音声認識

ニイタカヤマノボレ

音声信号データ

5

一般的な音声認識の構成

音声データ

特徴ベクトル列

音素生起確率

テキスト

スペクトル分析ケプストラム分析

(Deep) Neural Network

言語モデル文脈自由文法

状態系列 (HMM)

最尤状態系列探索

6

音声認識は大変

コンポーネント数が多く、かつそれぞれチューニング

を必要とする

チューニングを必要とする条件も多い- 環境の変化 (≒ データセットの変化 )

- 言語の変化 中国語 ( 日本語 )

7

Mandarin

公用中国語- 中国の中で最もポピュラーな言語

話者数 (Wikipedia 調べ )- 第一言語 : 885,000,000 人

- 総話者 : 1,365,053,177 人

8

英語と中国語の違い

English Mandarin

文字数 ( 記号除く ) 26 6000

文字体系 表音文字 表意文字

語彙の区切り 空白 句読点 (?)

9

Deep Speech 2 の構成

音声データ

特徴ベクトル列

文字生起確率

テキスト

Spectrograms of power normalized audio clip

Recurrent Neural Network

N-gram 言語モデルBeam Search

特徴抽出

Spectrograms of power normalized audio clip1. 音声データをフレーム ( 通常 20ms 〜 40ms) に分割する

2. 各フレーム毎のデータに離散フーリエ変換を行う

3. Mel filterbank を適用する Mel 数 ( 人の聴覚特性を反映した数字 ) を考慮したフィルタ

4. 対数を取る

5. 離散コサイン変換を行う

6. 低い次元から 12 個抽出する

10

一般的に使われる特徴抽出

Log Filterbank1. 音声データをフレーム ( 通常 20ms 〜 40ms) に分割する

2. 各フレーム毎のデータに離散フーリエ変換を行う

3. Mel filterbank を適用する Mel 数 ( 人の聴覚特性を反映した数字 ) を考慮したフィルタ

4. 対数を取る

5. 離散コサイン変換を行う

6. 低い次元から 12 個抽出する

11

一般的に使われる特徴抽出

MFCC(Mel Frequency Cepstral Coefficient)1. 音声データをフレーム ( 通常 20ms 〜 40ms) に分割する

2. 各フレーム毎のデータに離散フーリエ変換を行う

3. Mel filterbank を適用する Mel 数 ( 人の聴覚特性を反映した数字 ) を考慮したフィルタ

4. 対数を取る

5. 離散コサイン変換を行う

6. 低い次元から 12 個抽出する

12

13

ニューラルネットワークの構成

14

ニューラルネットワークの構成

Convolution 層

15

Convolution 層

1-D: 前後の時間と組み合わせて Convolution 2-D: 前後の時間及び周波数の組み合わせでの

Convolution

16

Convolution 層

1-D: 前後の時間と組み合わせて Convolution 2-D: 前後の時間及び周波数の組み合わせでの

Convolution

2-D で 3 層の Convolution 層を用いるのが通常のデータ

においても雑音環境下のデータにおいても精度が良い

17

ニューラルネットワークの構成

Unidirectional GRU

18

Simple RNN と GRU の比較

どの構成においても Simple RNN よりも GRU の方が精

度が良いので GRU を採用

19

ニューラルネットワークの構成

Lookahead Convolution 層

20

Lookahead Convolution

Bidirectional GRU は精度面では良いが、 online, 低レイ

テンシでの実行ができない

t1 t2 tn

どの段階の値を計算するにも t1

から tn のすべての入力が必要

21

Lookahead Convolution

指定したパラメータ (τ) 分だけ先の時刻の出力を用いる

22

ニューラルネットワークの構成

全結合層

23

ニューラルネットワークの構成

CTC損失関数

24

Connectionist Temporal Classification(CTC)損失関数 入力と出力の系列長が違う時に用いられる損失関数 任意の RNNや LSTM等の出力に適用できる

blank( 空白文字 ) を導入し、正解文字列を順番に生成す

る確率を求める- CAT

_C_A_T_ ____CCCCA___TT

- aab a_ab_ _aa__abb

25

デコーダー

複数のスコアを組み合わせて最終出力を構成する- ニューラルネットワークの出力 ( 文字列の生起確率 )

- 言語モデルによるスコア

- word count 単語数 (English) 文字数 (Mandarin)

ビームサーチを行って上記スコアが最大になるような

文章を探索する

26

デコーダーのスコアリング

トランスクリプション

文字列のスコア

ニューラルネットワークが出力する文字列の生起確率

言語モデルによるスコア

word count

α, β は学習データに応じて変更する

27

ニューラルネットワーク学習上の工夫 :Batch Normalization Batch Normalization SortaGrad

28

(Sequence-wise) Batch Normalization

正則化に (Sequence-wise) Batch Normalization を用い

下位層からの入力にのみ Batch Normalization を適用する

水平方向の入力には Batch Normalization を適用しない

29

SortaGrad

Curriculum learning- CTC の学習初期は blank 文字列を出力しがちで損失がとても大

きくなりやすい

- 学習データを系列の長さでソートし、短い音声データから学習

を行う

SortaGrad を用いない場合精度が下がっている

30

最適化 : 並列最適化

Synchronous SGD

- 各 GPU がローカルにデータのコピーを持つ

- ミニバッチの勾配を計算する

- 勾配を共有する

31

最適化 : 並列最適化

Synchronous SGD

- 各 GPU がローカルにデータのコピーを持つ

- ミニバッチの勾配を計算する

- 勾配を共有する

勾配の共有に時間がかかるせいで Asynchronous SGD よりも遅いかも知れないが、扱いや

すいので採用

32

最適化 : 並列最適化

Synchronous SGD

- 各 GPU がローカルにデータのコピーを持つ

- ミニバッチの勾配を計算する

- 勾配を共有する

勾配の共有に時間がかかるせいで Asynchronous SGD よりも遅いかも知れないが、扱いや

すいので採用

All-Reduce の高速化 (4x-21x)により対応

33

学習データセット

English- 11,940 時間

- 800万個の音源データ

Mandarin- 9,400 時間

- 1,100万個の音源データ

34

学習データセット

12000 時間までの範囲では学習データが多ければ多いほど精度

が向上する

35

実験結果 : 評価方法

各種データに対して以下の方法で比較- Deep Speech 2 の出力

- 人手による聞き取り Amazon Mechanical Turk によるクラウドソーシングでの書き起こし

36

実験結果 (English)

37

実験結果 (Mandarin)

38

Deep Speech 2

End-to-End の高精度な音声認識- 大規模なデータに対応したニューラルネットワークモデル

- 異なる言語、雑音のあるなしにも対応可能

特徴- Batch Normalization

- SortaGrad

- GRU

- Frequency Convolution

- Lookahead Convolution and Unidirectional Models

- Synchronous SGD

- Connectionist Temporal Classification

39

補足 : Arxiv版

https://arxiv.org/abs/1512.02595 に掲載されていて

ICML版に掲載されていないこと- Striding (in convolution)

- Language Modeling

- Scalability and Data parallelism

- Memory allocation

- Node and cluster architecture

- GPU Implementation of CTC Loss Function

- Batch Dispatch

- Data Augmentation

- Beam Search

Copyright © 2006-2016Preferred Infrastructure All Right Reserved.

top related