SlideShare a Scribd company logo
1 of 27
ESPnet: End-to-End Speech
Processing Toolkitの紹介
株式会社レトリバ
西鳥羽 二郎
西鳥羽 二郎
• 研究開発@株式会社レトリバ
• 音声認識
• 自然言語処理
• 趣味
• 全都道府県を旅行
• 日本の世界遺産を観光
音声認識
テキスト化
テキスト化
こんにちは…
もしもし…
音声認識の活用例
• 音声アシスタント
• 音声検索
• スマートスピーカー
• ロボット操作
• etc…
便利なシチュエーショ ン
• 「 少し 寝たっ ぽいから 、 テレビつけてみよ」
( し ばし し て)
「 あら 、 泣き はじ めた…!」
( 抱っ こ )
( テレビ消し たい…が、 手がふさ がっ ている…!)
「 オッ ケーグーグル、 テレビ消し て!」
Kei Shiratsuchi, レトリバセミナー
Kei Shiratsuchi, レトリバセミナー
音声認識の精度
10年間の停滞
Li Deng, Deep Learning from Speech Analysis/Recognition to Language/Multimodal Processing
Deep Learningによ
り劇的な精度向上
標準的な音声認識の処理の流れ
音声データ
特徴ベクトル
特徴抽出
HMMの状態
単語列
Gaussian Mixture Model(GMM)による推定
デコード
Kaldi
• オープンソースの音声認識ソフトウェア
• データの取得から音声認識後の精度測定までを一気通貫して行える
• 話し言葉コーパス(CSJ)もあり、日本語も試せる
• 各ステップで様々な手法が用意されており、組み合わせることが可能
• 音声認識の研究では標準ツール
音声認識とDeep Learning 第一世代
音声データ
特徴ベクトル
特徴抽出
HMMの状態
単語列
GMMによる推定 DNNによる推定
デコード
Kaldiに独自にDeep
Learningフレームワー
クが搭載される
音声認識とDeep Learning 第二世代
音声データ
特徴ベクトル
特徴抽出
HMMの状態
単語列
DNNによる推定
デコード(N-gram言語モデル RNN言語モデル)
KaldiにRNN言語モデル
が搭載される
音声認識とDeep Learning 第三世代
音声データ
特徴ベクトル
特徴抽出
HMMの状態
単語列
DNNによる推定
デコード(RNN言語モデル)
音声データ
特徴ベクトル
特徴抽出
単語列
(Bi-)LSTMによる推定
文字(音素)の
推定
デコード
KaldiのDeep Learning
フレームワークでは対
応できなくなってくる
音声認識とDeep Learning 第四世代
音声データ
特徴ベクトル
特徴抽出
単語列
(Bi-)LSTMによる推定
文字(音素)の
推定
デコード
音声データ
特徴ベクトル
特徴抽出
単語列
Encoder-Decoderモデルに
よるEnd-to-Endなシステム
KaldiのDeep Learning
フレームワークでは対
応できなくなってくる
Deep Learningフレームワークで音声認識
ここまでニューラルネットワークならばDeep
Learningフレームワークで実装したら良いのでは?
Deep Learningフレームワークでは
対応できない処理が煩雑
学習データの煩雑さ
音声データ
特徴ベクトル
特徴抽出
単語列
Encoder-Decoder
モデルによるEnd-
to-endなシステム
一つの音声データから数十~数百の学習データ
が作成される
数秒~20秒程度に区切るため特徴ベクトル及び
正解ラベルともに長さ不揃いの系列データが大
量に作成される
前処理の煩雑さ
音声データ
特徴ベクトル
特徴抽出
単語列
Encoder-Decoder
モデルによるEnd-
to-endなシステム
1. 音声ファイル(WAV, mp3)の読み込み
2. プリエンファシスフィルタの適用
3. Short term Fourier transform
1. フレームの分割
2. 窓関数の適用
3. Fast Fourier Transformの適用
4. メルフィルタバンクの適用
5. ケプストラム分析
6. 離散コサイン変換
• その他 必要に応じて信号処理多数
ESPnet: End-to-End Speech Processing Toolkit
• Kaldiと連携
• データ取得
• データ加工
• 特徴抽出
• Deep Learning framework
• Chainer
• Pytorch
KaldiとChainer(及びPytorch)との連携
Chainer and Pytorch support
Chainer Pytorch
Performance ◎ ○
Speed ○ ◎
Multi-GPU 対応 対応
VGG-like encoder 対応 非対応
RNN言語モデル 対応 対応
Attention types 3種(no attention, dot,
location)
12種 (multihead attention
含む)
サポートしているデータセット
• 英語
• Wall Street Journal読み上げコーパス
• Librispeech
• etc.
• 日本語
• 日本語話し言葉コーパス(CSJ)
• 中国語
• HKUST Telephone speech
• その他含め全16データセット
日本語話し言葉コーパス(CSJ)での音声認識
• git clone http://github.com/espnet/espnet.git
• cd espnet/tools
• make
• cd ../egs/csj/asr1
• (エディタでCSJのおいてあるディレクトリ設定を修正)
• ./run.sh
• 精度の算出
• 個別の結果出力
結果の表示例
間違っている
場所の表示
正解
推測
正解及び、置換、
削除、挿入による
エラーの数
詳しく知りたい方へ
※arxivにもあります https://arxiv.org/abs/1804.00015
詳しく知りたい方へ
• githubのレポジトリ: https://github.com/espnet/espnet
• ドキュメント: https://espnet.github.io/espnet/
まとめ
• Chainerな方へ
• Chainerで組んだモデルで音声認識を試せます
• 音声認識な方へ
• Kaldiと同じ感覚でEncoder-Decoderモデルの音声認識が試せます
We are hiring!
• 音声認識の研究開発をしたい人を募集しています!!

More Related Content

More from Jiro Nishitoba

Retrieva seminar jelinek_20180822
Retrieva seminar jelinek_20180822Retrieva seminar jelinek_20180822
Retrieva seminar jelinek_20180822Jiro Nishitoba
 
全体セミナー20180124 final
全体セミナー20180124 final全体セミナー20180124 final
全体セミナー20180124 finalJiro Nishitoba
 
深層学習による自然言語処理勉強会2章前半
深層学習による自然言語処理勉強会2章前半深層学習による自然言語処理勉強会2章前半
深層学習による自然言語処理勉強会2章前半Jiro Nishitoba
 
深層学習による自然言語処理勉強会3章前半
深層学習による自然言語処理勉強会3章前半深層学習による自然言語処理勉強会3章前半
深層学習による自然言語処理勉強会3章前半Jiro Nishitoba
 
全体セミナー20170629
全体セミナー20170629全体セミナー20170629
全体セミナー20170629Jiro Nishitoba
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
Icml読み会 deep speech2
Icml読み会 deep speech2Icml読み会 deep speech2
Icml読み会 deep speech2Jiro Nishitoba
 
全体セミナーWfst
全体セミナーWfst全体セミナーWfst
全体セミナーWfstJiro Nishitoba
 
Chainer meetup20151014
Chainer meetup20151014Chainer meetup20151014
Chainer meetup20151014Jiro Nishitoba
 

More from Jiro Nishitoba (12)

20190509 gnn public
20190509 gnn public20190509 gnn public
20190509 gnn public
 
Retrieva seminar jelinek_20180822
Retrieva seminar jelinek_20180822Retrieva seminar jelinek_20180822
Retrieva seminar jelinek_20180822
 
全体セミナー20180124 final
全体セミナー20180124 final全体セミナー20180124 final
全体セミナー20180124 final
 
深層学習による自然言語処理勉強会2章前半
深層学習による自然言語処理勉強会2章前半深層学習による自然言語処理勉強会2章前半
深層学習による自然言語処理勉強会2章前半
 
深層学習による自然言語処理勉強会3章前半
深層学習による自然言語処理勉強会3章前半深層学習による自然言語処理勉強会3章前半
深層学習による自然言語処理勉強会3章前半
 
全体セミナー20170629
全体セミナー20170629全体セミナー20170629
全体セミナー20170629
 
Hessian free
Hessian freeHessian free
Hessian free
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
Icml読み会 deep speech2
Icml読み会 deep speech2Icml読み会 deep speech2
Icml読み会 deep speech2
 
全体セミナーWfst
全体セミナーWfst全体セミナーWfst
全体セミナーWfst
 
Emnlp読み会資料
Emnlp読み会資料Emnlp読み会資料
Emnlp読み会資料
 
Chainer meetup20151014
Chainer meetup20151014Chainer meetup20151014
Chainer meetup20151014
 

20180609 chainer meetup_es_pnet