Vol.2017-SLP-119 No.18
2017/12/22

情報処理学会研究報告
IPSJ SIG Technical Report

テンソルトレイン分解によるEnd-to-End 自動音声認識モデルの圧縮
森 巧磨1,a)Andros Tjandra1

Sakriani Sakti1

中村 哲1

概要：大規模な音声コーパスが作成され，自動音声認識（ASR）を学習する統計学習法として大規模なニューラルネットワークで使用されるようになった．また，簡単で強力な方法として，殆どのモジュールを単一のモデルとして学習する End-to-End 自動音声認識の研究が行われている．ニューラルネットワー
クを用いた音声認識は，たくさんのパラメータを有し，新しいデータの学習および予測のために多くの計算資源を必要とする．パラメータが増える原因の一つとして，時系列タスクをモデリングし，様々な複雑な問題を解析する手法としてリカレントニューラルネットワーク（RNN）を使うことがあげられる．音声
認識は音声要約，自動コールセンター，音声翻訳などの多くのアプリケーションの重要なコンポーネントである．したがって，多くの場面でこのモデルを使えるようにするためには，メモリを削減して，軽量なモデルとする必要がある．本稿では，リカレントネットワークの中間層をテンソル表現し，それらを効率的に分解するテンソルトレイン分解により，パラメータ数を大幅に削減する代替 RNN モデルを提案する．
我々は，Libri Speech において非圧縮ゲーティッドリカレントユニット（GRU）モデルとテンソルトレイン分解により圧縮した GRU モデルを比較評価し，パラメータの数を大幅に削減しながら性能を維持することを示した．
キーワード：テンソルトレイン分解，モデル圧縮，End-to-End モデル，音声認識

1. はじめにことを検討する．テンソルトレイン分解とは，高次元テンソルを低次元テンソルに圧縮する手法であり，空間/時間大規模な音声コーパスが作成され，自動音声認識（ASR）計算量ともに次元数を指数に持たないため，高次元テンを学習する統計学習法として大規模なニューラルネットソルであっても高速に計算することができる．本稿では，ワークが使用されるようになった [1]．また，簡単で強力

End-to-End 自動音声認識の GRU 層の重みの圧縮に用いな方法として，殆どのモジュールを単一のモデルとしてる．本稿では，テンソルトレイン分解 End-to-End 自動音学習する End-to-End 自動音声認識の研究が行われてい声認識に焦点を当てているが，この提案は，手書き認識やる [2], [3], [4]．これらの高性能モデルは，入力音声を認識機械翻訳などの他の分野の難しいタスクにも適用できる．

するために高性能なサーバを必要とする．音声認識は様々

第 2 章では，ニューラルネットワークを圧縮するための関な使用環境があり，モバイルデータ接続が利用できない場

連研究を紹介する．第 3 章では，テンソルトレイン分解に合や，通信が遅く，信頼性が低い場合でも，ユーザーのやよる GRU の圧縮の説明をする．提案した方法の有効性はりとりを可能にしながら，待ち時間を短縮する必要があ

第 4 章と第 5 章で検証する．最後に，第 6 章にて結果をまる．これらの主な問題は，デバイスのディスク，メモリ，とめる．

および計算量の制約である．ニューラルネットワークの動作回数はモデルパラメータの数に比例するため，モデルを2. 先行研究圧縮することは，ディスク使用量とメモリ消費量を削減すニューラルネットワークのモデル圧縮に関する研究はいる観点から不可欠である．本稿では，テンソルトレイン分くつかのアプローチで行われている．先行研究では，ニュー解を用いて，できるだけ小さなモデルから性能を導出する

ラルネットワークパラメータに重大な冗長性があることが示されている．例えば，Daniel ら [5] は，ニューラルネッ

1a)

奈良先端科学技術大学院大学
Nara Institute of Science and Technology
mori.takuma.mi1@is.naist.jpⓒ 2017 Information Processing Society of Japan

トワークがいくつかのパラメータの値を考慮して再構成できることを示している．Wang ら [6] および Rohit ら [7] は1

Vol.2017-SLP-119 No.18
2017/12/22

情報処理学会研究報告
IPSJ SIG Technical Report

入力から隠れ層，隠れ層から出力の重みの圧縮について説明するが，他の 4 つの重みも同様の手法で圧縮することができる．
入力から隠れ層の重みを行列 Wxh ∈ RM ×M と定義し，隠れ層から出力の重みを行列 Whh ∈ RM ×M と定義する．
今回，GRU に対する入力次元と出力次元が同じであるため，どちらの重みも RM ×M に帰属する．本手法では，こ図 1

テンソルトレインフォーマットによる低階テンソル表現

音響モデルを圧縮するために特異値分解（SVD）とベクトル量子化の組み合わせた． Hinton ら [8] は，統計的な温度で複数のモデルの出力の加重平均を調整しながら，アンサンブル学習を単一のモデルに圧縮する方法を提案した．

Hinton らはこのような複数のモデルや高性能なモデルの出力分布を学習のターゲットとし，単一の小さなモデルを学習させ，高いパフォーマンスを得ることを知識蒸留と呼の (Wxh , Whh ) を圧縮する．
∏d
まず，行列の形状 M を k=1 mk に分解する． 次に，モデルのテンソルトレインランク {rk }dk=0 を決定し，Wxh をテンソル Wxh と Whh をテンソル Whh と置き換える．テンソル Wxh は，∀k ∈ {1, .., d}，Gkxh ∈ Rmk ×mk ×rk−1 ×rk である時，テンソルトレインコア {Gkxh }dk=1 で表すことができ，テンソル Whh は，∀k ∈ {1, .., d}，Gkhh ∈ Rmk ×mk ×rk−1 ×rk
である時，テンソルトレインコア {Gkhh }dk=1 で表すことができる（図 1）．また，Wxh および Whh のテンソルコアにんでいる [8]．また，Bulo ら [9] は，多くのドロップアウ

よって定義される行 p ∈ {1, .., M } を全単射する関数 fix お

トパターンを作り，異なる問題に対して強いモデルを作よび fih を定義する．これらを用いて，RNN の出力 ht はり，これを知識蒸留し，単一の高性能なモデルを作った．

以下のように書き表せる．
∑axh
Wxh (fix (p), [j1 , .., jd ]) · Xt (j1 , .., jd )t (p) =

機械翻訳の分野では，Kim ら [10] は時系列学習のためのSequence-to-Sequence 注意モデルの知識蒸留を提案し，教師ネットワークの系列出力分布や出力文字列を学習する方法などを提案した．また，Oseledets ら [11] は次元の呪いを回避する手法として，高ランクテンソル行列を低ランクテンソルに近似する手法であるテンソルトレイン分解を提案し，Andros ら [12] はテンソルトレイン分解が音楽分
析のために RNN や GRU の重み行列を圧縮できることを

j1 ,..,jdahht (p) =∑Whh (fih (p), [j1 , .., jd ]) · Ht−1 (j1 , .., jd )

j1 ,..,jd[ xh]
at (1), .., axht (M )[]hhahh= ahht (1), .., at (M )taxh=thhht = f (axht + at + bh ),示した．我々は，テンソルトレイン分解が CTC ベースのX は入力 xt のテンソル表現であり，Ht−1 は以前の隠れ状

End-to-End 自動音声認識という難しい系列タスクにも用態 ht−1 のテンソル表現である．以上が GRU の入力からいることができることを示す．

隠れ層，隠れ層から出力の重みの圧縮であり，GRU で圧

3. テンソルトレイン分解による GRU の圧縮

縮するには，リセットゲートと更新ゲート内の行列を同様

本章では，テンソルトレイン分解による GRU の重み行列の圧縮 [12] について解説する．k ∈ {1, .., d} と，k 次元の次元インデックス jk ∈ {1, .., nk } の値を用いて表せる，dの方法で圧縮することで達成できる．これをテンソルトレイン GRU（TTGRU）とする．

4. 実験次元配列（テンソル）を W とする．W の要素が以下の式

この章では，TTGRU を評価し，ベースラインである非で行列 Gk [jk ] によって表せるときテンソルトレインフォー

圧縮 GRU と比較する．我々は，このモデルを評価するタス

マットと呼び，以下の式で定式化される [11]．

クとして，英語音声コーパスである LibriSpeech コーパス

W(j1 , j2 , .., jd ) = G1 [j1 ] · G2 [j2 ] · .. · Gd [jd ].

(1)[10] を使用した．この実験では，LibriSpeech コーパスのいくつかのサブセットが使用され，使用されるコーパスは表

例えば，d = 2 のときのテンソルフォーマット適用を図示

1 に示されている．トレーニングデータに train-clean-1000

すると，図 1 のように表すことができ，低ランク近似するサブセット，検証データに dev-clean サブセット，テストときに必要となる rk ∈ {1, .., nk } がテンソルトレインラン

データにの test-clean サブセットを用いた．この音声認識

クである．

タスクでは，16kHz でサンプリングされた発話が入力とGRU アーキテクチャでは，入力から隠れ層，隠れ層かして与えられ，正しいラベルである文字列誤り率で評価ら出力が 1 つずつ，リセットゲートを制御する重みが入力される．TTGRU のモデルパラメータを最適化するためと出力で 2 つ，更新ゲートを制御する重みが入力と出力でに Adam アルゴリズム，ベースラインの GRU には SGD

2 つの合計 6 つの重み行列で表すことができる．以下に，アルゴリズムを使用した．以降，GRU は GRU-HF と表ⓒ 2017 Information Processing Society of Japan2

Vol.2017-SLP-119 No.18
2017/12/22

情報処理学会研究報告
IPSJ SIG Technical Report

たもたのである．評価関数には単語誤り率 (CER) を用いた．表 2 は, ベースラインおよび提案されたモデルに関する我々の実験の結果である．表は，これらのモデルが検証セットとテストセットが同様の性能を有することを示している．我々の提案したモデルは，変換した GRU 層に限れば約 99%削減し，モデル全体では約 60%削減しているが，パラメータの数を減らすと同時に性能を維持することができた．

6. まとめ
本稿では，CTC ベースの End-To-End 自動音声認識という難しいタスクでテンソルトレイン分解が有効であるこ（a）GRU モデル（b）TTGRU モデルとを示した．テンソルトレインフォーマットを使用して，複数の低ランクテンソルをによって GRU レイヤー内の重図 2 モデル設計

み行列を表現した．TTGRU End-to-End 自動音声認識は，し，TTGRU は TTGRU-HF-R で表す．ここで，F は隠れユニットの数であり．R はテンソルトレインランクを表す．例えば，TTGRU-H4x8x6x8-R3 は，テンソルトレインフォーマットのテンソルトレインランク 3 で 4x8x6x8 の隠れユニットを有する TTGRU を意味する．GRU のパラ
メータの設定は Deep Speech2[4] の論文に基づいており，TTGRU のパラメータの設定は検証セットのパフォーマンスに基づいて決定され，図 2 のような設計となっている．

用いたデータセットの概要

難しいタスクでも精度を失うことなく元のモデルと比較して RNN パラメータを大幅に削減できた．
謝辞 本研究の一部は JSPS 科研費 JP17H06101 およびJP17K00237 の助成を受けたものである．
参考文献

[2]

サブセット

時間

話者数

発話時間/人 (分)train-clean-100

100.6

251

25

dev-clean

5h40

10

test-clean

5h40

10

[3]

5. 実験結果
表 2に圧縮した．我々は，読み上げコーパスでこれを評価し，[1]

結果を次の章に示す．
表 1

モデルの性能と精度を維持しながらパラメータの数を大幅[4]

train-clean-100 による学習の結果

Model

Param

Comp

Val CER

Test CER

GRU-H1510

13M

100

20.03%

20.62%TTGRU
H4x8x6x8-R3

11k0.0827.57%27.21%

H4x8x6x8-R522k

0.1623.76%

23.40%

H4x8x6x8-R737k

0.2722.68%

23.73%[5][6]

実験の結果と GRU のパラメータがどの程度圧縮されているかを表 2 に示した．TTGRU はランク 5 やランク 7 では圧縮される前のモデルに近い性能を引き出すことに成功[7]した．ベースラインモデルは，1510 の隠れユニットを持
つ GRU である．我々の提案するモデルは，4x8x6x8 の出力形状とテンソルトレインランク（3,5,7）の TTGRU である．音声入力はスペクトログラムに変換して正規化しⓒ 2017 Information Processing Society of Japan[8]

Deng, L., Yu, D. et al.: Deep learning: methods andR in Signal Proapplications, Foundations and Trends⃝
cessing, Vol. 7, No. 3–4, pp. 197–387 (2014).
Graves, A. and Jaitly, N.: Towards end-to-end speech
recognition with recurrent neural networks, Proceedingsof the 31st International Conference on Machine Learning (ICML-14), pp. 1764–1772 (2014).
Hannun, A., Case, C., Casper, J., Catanzaro, B., Diamos, G., Elsen, E., Prenger, R., Satheesh, S., Sengupta,S., Coates, A. et al.: Deep speech: Scaling up end-toend speech recognition, arXiv preprint arXiv:1412.5567(2014).
Amodei, D., Ananthanarayanan, S., Anubhai, R., Bai,J., Battenberg, E., Case, C., Casper, J., Catanzaro, B.,
Cheng, Q., Chen, G. et al.: Deep speech 2: End-toend speech recognition in english and mandarin, International Conference on Machine Learning, pp. 173–182(2016).
Denil, M., Shakibi, B., Dinh, L., de Freitas, N. et al.:Predicting parameters in deep learning, Advances in
Neural Information Processing Systems, pp. 2148–2156(2013).
Wang, Y., Li, J. and Gong, Y.: Small-footprint highperformance deep neural network-based speech recognition using split-VQ, Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on, IEEE, pp. 4984–4988 (2015).
Prabhavalkar, R., Alsharif, O., Bruguier, A. and McGraw, L.: On the compression of recurrent neural networks with an application to LVCSR acoustic modelingfor embedded speech recognition, Acoustics, Speech andSignal Processing (ICASSP), 2016 IEEE International
Conference on, IEEE, pp. 5970–5974 (2016).
Hinton, G., Vinyals, O. and Dean, J.: Distilling3

情報処理学会研究報告
IPSJ SIG Technical Report

[9]

[10]

[11]

[12]

Vol.2017-SLP-119 No.18
2017/12/22

the knowledge in a neural network, arXiv preprint
arXiv:1503.02531 (2015).
Bulò, S. R., Porzi, L. and Kontschieder, P.: Dropout distillation, International Conference on Machine Learning, pp. 99–107 (2016).
Kim, Y. and Rush, A. M.:
Sequence-Level
Knowledge Distillation, (online), available from⟨http://arxiv.org/abs/1606.07947⟩ (2016).
Oseledets, I. V.: Tensor-train decomposition, SIAM
Journal on Scientific Computing, Vol. 33, No. 5, pp.
2295–2317 (2011).
Tjandra, A., Sakti, S. and Nakamura, S.: Compressing Recurrent Neural Network with Tensor Train, arXiv
preprint arXiv:1705.08052 (2017).

ⓒ 2017 Information Processing Society of Japan4