一般社団法人 人工知能学会
Japanese Society for
Artificial Intelligence

人工知能学会研究会資料
JSAI Technical Report
SIG-Challenge-046-02 (11/09)

量子化 Deep Neural Network のための有界重みモデルに基づく音響モデル学習
Acoustic Model Training based on Weight Boundary Model for Discrete Deep Neural Networks

武田 龍 ∗1 , 中臺一博 ∗2 , 駒谷和範 ∗1
Ryu TAKEDA∗1 , Kazuhiro NAKADAI∗2 , Kazunori KOMATANI∗1

大阪大学 産業科学研究所 ∗1 , (株) ホンダ・リサーチ・インスティチュート・ジャパン ∗2
The Institute of Scientiﬁc and Industrial Research, Osaka University∗1
Honda Research Institute Japan Co., Ltd.∗2

rtakeda@sanken.osaka-u.ac.jp, nakadai@jp.honda-ri.com, komatani@sanken.osaka-u.ac.jp
Abstract

DNN 計算を可能とする．Fixed-point DNN は，重みやバ
イアスパラメータ，中間層の入力変数を n ビット固定小数

本研究では，Deep Neural Network (DNN) に点で表現しており，Very Large Scale Integration(VLSI)基づく音響モデルの省メモリ化と高速化のため，実装や CPU 上の Supplemental Streaming SIMD Exten-

パラメータを数ビットに量子化した DNN の構

sions 3 (SSSE3) 命令を用いた実装により，DNN の高速

築を目指す．それには，1) 量子化に伴う認識誤処理を実現した [7, 8]．Fixed-point DNN のパラメータりの低減と，2) 高速演算が可能な実装方法の開は，n ビットへの量子化と誤差逆伝播法を繰り返すことで発，が必要である．1) に対しては，DNN の重学習される [7, 9]．しかし，最適な量子化ビット数 n の選

みパラメータの正規化を，層単位ではなくノー択は経験的であり，多くの実験を必要とする．また，上記

ド単位に行う有界重みモデルに基づく学習アルの実装は CPU の特殊命令セットや特殊なデバイスを活用

ゴリズムを提案する．2) に対しては，量子化ししている．CPU のみを搭載した小型計算機上や CPU をた重みパラメータを索引に用いるルックアップ

伴った FPGA への実装では，特殊な命令セットを前提とテーブルを用いた実装方法を提案する．これらしない DNN の方が適用しやすい1 .

により，少ないビット数でのパラメータ表現がルックアップテーブル（LUT）は DNN の高速計算に可能となり，また，複数変数の高速な積和演算

有効な方法の 1 つであり，重みパラメータからなる値をが実現できる．評価実験により，単語正解精度

LUT の索引として用いる．例えば，一般的な CPU 上でもキャッシュメモリを活用することで，LUT を用いた DNNの低下を抑えて重みパラメータを 2-bit まで量子化でき，DNN のフォワード計算を 40% 高速

は SSSE3 命令と同等の高速処理が可能である．もちろん，化できることを確認した．

1

はじめに

1.1

背景

LUT 技術はハードウェア実装にも適用できる．我々は，これまで重み有界モデルと境界収縮に基づいた学習アルゴリ
ズムを提案していた [10]．このモデルでは，各層の重みの値はある範囲内に制限されており（層単位の有界重みモデ

Deep neural network (DNN) は，高い識別精度によりル），層単位で重みを正規化する機能を持つ．学習された

Gaussian mixture model (GMM) に代わって音声認識の音響モデルに広く使われている [1, 2, 3, 4]．一方，その膨重みは一様分布またはベルヌーイ分布に従っているため，大なパラメータ数により，使用メモリ量と計算コストは高彙音声認識実験により，単語正解精度を落とすことなく，く，DNN を適用可能な計算機はまだ限られている．GPU

パラメータを 4 ビットまで量子化可能なことを確認した．

や分散処理を用いた実装 [5, 6] は，DNN の処理速度向上

一方，4 ビット量子化における致命的な問題は，高速計算に効果的だが，リソースが制限されたシステムには適用のために必要な巨大な LUT サイズにある．その LUT サが難しい．例えば，通常の CPU を備えた小型計算機や組イズは 32M バイトを超えており，CPU のキャッシュメモ

み込みシステムなどがある．それゆえ，計算コストとメモリを有効活用できず，高速計算のネックとなっていた．そリ量の観点で軽量な DNN が必要である．

のため，より少ないビット数，たとえば 2 ビットで量子化

学習の後に一度だけ量子化するだけでよい．また，大語

量子化 DNN は，パラメータを量子化することで，GPU

1 http://www.xilinx.com/products/silicon-devices/soc/zynqultrascale-mpsoc.html

や分散処理がなくとも合理的な計算コストとメモリ量で2

Type of NNs

Discrete NNs (Ours)
Binary NNsが必要で，元の DNN パラメータ（例えば，ノード数）がPrecision Actual performance Applicable operations

Continuous NNs

32 bit
4 bit
3 bit
2 bit
1 bit

High (Upper limit)

Floating operation

冗長だと，相対的な圧縮率は高くなるからである．

Integer operation
Look-up table(constant value load)
Unknown

最初の手法は，特異値分解（Singular value decompo-

sition; SVD）[14] や行列分解 [15] を用いて重みパラメー
タ数を削減する方法で，音声認識実験で評価されている．

Bit operation

図 1: Properties of neural networks

Xue らは，SVD を中間層の重み行列に適用することで，認識精度の低下なく，使用メモリ量を 80% 削減している

した DNN が，高速計算に実現に必要である．

[14]．削減率は，重み行列を近似する際に用いる特異値の数に依存し，256 や 196 などが使われている．次の方法

本稿では，2 ビット量子化 DNN を達成するため，新たは，ノード削減 [16, 17] や模倣学習 [18] であり，音声認識にノード単位の有界重みモデルに基づく学習アルゴリズ

タスクで評価されている．He らは，重みの値に基づいて

ムと計算機上での実装手法を提案する．2 ビット量子化のノードの重要度を定義し，不要なノードを削除すること

キーは，従来研究では層単位で正規化をして量子化を行っで，中間層のノード数を約 62% 削減している [16]．Li らていた点にある．実際，各ノードで重みの分布とダイナは，元の DNN を模倣する小さな DNN を学習する方法を

ミックレンジが異なるので，層単位の正規化は量子化誤差

提案しているが，精度向上にはより多くの学習データが必を増加する．それゆえ，各ノードに適した重みの範囲で正要となる [18]．３番目の方法は，特殊なネットワーク構造

規化することで，量子化誤差の低減が期待される．ノードに基づくコンパクトな DNN[19] である．彼らは Toeplitz

単位の有界重みモデルに基づた学習アルゴリズムにより，上記の正規化に適した重みパラメータを学習できる．まや Vandermonde 行列といった，特殊な行列を重み行列の表現として用いている．これらの行列構造は，行列・た，本稿では，LUT に適した重みのエンコード・デコー

ベクトル積といった線形演算の高速化を可能にしている．

ド方法を 2 種類提案するが，そのうち 1 つは LUT サイズ

最後の方法は，ノード削減と量子化の組み合わせにより，
Convolutional NN (CNN) と DNN の高い圧縮率を達成

を大きく削減できる．提案した学習アルゴリズムと実装
方法を，大語彙音声認識実験および DNN フォワード計算

しており，画像認識タスクで評価している [20]．彼らは，の real-time factor (RTF) で検証する．

4 または 5 ビットで量子化しており，また，SVD による量子化 DNN の利点としては，量子化ビット数を調整す

圧縮は量子化とノード削減と比べて効果的でないことをることで，必要な性能で多くのタスクに適応可能な点が挙示している．

げられる（図 1）．量子化 DNN は，バイナリ DNN と通常

効率的な量子化方法の追求は，他の手法と組み合わせるの（連続）DNN の中間的な位置付けである [11, 12]．バ

場合でも，軽量な DNN を達成する上で重要であり，Han

イナリ DNN では，すべてのパラメータがバイナリ {0, 1}

らによる実験でも示唆されている [20]．もちろん，ノードで表現されており，最小の量子化 DNN と言える．一方，著者の知る限り，音声認識でのパフォーマンスは評価され削除や DNN の構造も重要であるが，ビットとノードに関する冗長性の性質はやや異なる．例えば，ノード数を最適ていない．Wang らは，DNN の重みパラメータをベクト化した後でも，パラメータの量子化ビット数はある程度

ル量子化し，軽量な音響モデルを構築している [13] ．音の最適化は可能である．本稿では，提案する DNN 量子化

声認識精度を維持し，使用メモリサイズを 90% 削減しての効果を明らかにするため，同じ音声認識タスクにおいいるが，実際の処理速度の改善は CPU キャッシュのためて SVD およびノード削減手法との性能も比較する．

に課題とされている．

1.2

2

関連研究

音声認識や画像処理分野では，軽量な DNN を達成可能な層単位の有界重みモデルに基づく量子化
DNN

量子化以外の方法が提案されており， 1) 重み行列の低ラ

本章では最初に，層単位の正規化をほどこした量子化 DNN

ンク近似，2) ノード削減，3) 特殊なネットワーク構造，のフォワードモデルについて説明する．次に，有界重みモ

および，4) ノード削除と量子化の組み合わせ，に基づく

デルと収縮写像に基づくパラメータ学習を説明する．最手法がある．これらの手法は，使用メモリ量の高い削減率

後に，より小さいビット数へ量子化する際の問題点を説と高速な DNN 計算を実現している．主として，標準的な明する．図 2 に，量子化 DNN の学習手順の概要を示す．

学習手順で構築した DNN に対してパラメータ圧縮処理をフォワードモデル

施し，圧縮後の DNN パラメータを再学習する流れとなっ2.1ている．これらの DNN を比較する場合，同じタスクの条
件下でメモリ量や速度の相対および絶対的な改善量を比DNN のフォワード計算は層 l に関して再帰的に定義される．入力ベクトル xl = [xl,1 , ..., xl,Nl ]T ∈ RNl はアフィン

較する必要がある．特に，圧縮前の DNN サイズには注意

変換され，活性化関数 hl : RMl → RNl+1 が適用される．

3

Boundarycontraction mapping

Pre-training

Tuning based onboundary model(several epochs)

Fine-tuning

すでにファインチューニングされた DNN のものだと仮定
WeightDiscretization

する．
量子化に適したパラメータを学習するために，式（3）に類似した重みの制約を導入する．潜在的なパラメータ
行列 Vl = (vl,ij ) ∈ RMl ×Nl を用いて，フォワード計算を

図 2: Training process of discrete NNs

次のように表現する．

ここで，·T は転置を，Nl と Ml は l 番目の層への入力ベ

zl

クトル xl と中間ベクトル zl = [zl,1 , ..., zl,Ml ]T の次元を

= αl gl (Vl )xl + bl ,(4)

ここで，gl (x) = (gl (xij )) は， tanh(x) のような値域が表す．最終層 L の出力は，初期入力ベクトル x0 が与え[−1, 1] であるような，要素毎の有界な関数行列である．まられた元で，層 l = 0, ..., L − 1 に関する再帰的な計算でた， tanh(x) の導関数は 1 − tanh2 (x) であり， yl,ij =

得られる．

zl

=

Wl xl + bl

(1)

gl (vl,ij ) を満たす．
パラメータは通常の NN の学習と同様に，コスト関数 E

xl+1

=

hl (zl )(2)と教師信号 r = [r1 , ..., rNL ]T ∈ RNL に基づく逆誤差伝播

ここで，行列 Wl = (wl,ij ) ∈ RMl ×Nl とベクトル bl =法に基づいて最適化される．本稿では，E としてクロスエ
ントロピーを使う．初期誤差ベクトル L = ∂E
∂x (r, xL )[bl,1 , ..., bl,Ml ]T ∈ RMl は，第 l 層目の重みとバイアスパを計算した後，次のように l = L − 1, ..., 0 に対する各パラメータである．シグモイド関数とソフトマックス関数

ラメータを更新する:
 T

∂hl
(zl ) l+1 ,δl =∂zが活性化関数 hl として用いられる．音響モデルにおいては，入力ベクトル x0 が音声特徴量，出力ベクトル xL が

Hidden Markov Model (HMM) の状態に関する音響尤度lに対応する [3]．

=αl g(Vl )T δl ,αl − ηδlT gl (Vl )xl ,量子化 DNN のフォワード計算は，DNN の重みと中間αl←

入力ベクトルが数ビットに量子化された状態で定義され

Vl

←

bl

←

る．この式は，学習時ではなく，認識時のフォーワード計
算に用いられる．第 l 層の中間ベクトル zl の i 番目の要素は，層単位の正規化に基づき，次のように計算される．

zl,i

= αl

N
l −1


F (Qy [yl,ij ], Qx [xl,j ]) + bl,i

(5)
(6)


∂gl
(Vl ) ◦ αl δl xTl ,Vl − η
∂V
bl − ηδl ,


(7)
(8)
(9)

ここで， ◦ は行列の要素毎の積を表す演算子であり，η は学習の速度と精度を制御する学習係数である．l は逆誤差

(3)伝播のための第 l 層における誤差ベクトルである．なお，

j=0

我々の有界重みモデル [10] は，Kim らが議論したバイナ

ここで，Qy と Qx は，正規化された重み Yl = (yl,ij ) ∈リ NN の学習モデルの一部と類似している [12]．

RMl ×Nl (i.e. yl,ij = wl,ij / maxi,j |wl,ij |) と第 l 層の入力ベクトル xl,j をバイナリや整数にエンコードする関数でク毎に次の境界収縮写像を行う．これは過去の実験から得ある．F (a, b) は，２つのバイナリ値 a と b のデコードとられた次の事実によって導入している．1) 小さな αl は式

正規化パラメータ αl を小さくするため，適当なエポッ

積演算を行う関数である．αl は第 l 層の重みの正規化パラメータであり，Yl , Qy , Qx 及び F の定義に依存する．
式 (3) における複数の F と加算演算は，目的の計算機（3）の量子化誤差を減少させる，2) 学習後の重み wl,ij の分布が非ガウス分布，特に線形量子化 Qy に有効に働く
ベルヌーイ分布に近くなる．

の構造に応じていくつか実現方法がある．例えば，Qy , Qx
が n ビット整数に線形量子化する演算，F が単純な整数

αl←max |wl,ij |,(10)

積演算であるとする．もし，SSSE3 のような特殊命令を

vl,ij

←

wl,ij / max |wl,ij |,(11)用いると，8 変数の積和は 3 命令で実現できる．他にも

i,j

i,j

LUT を用いれば，重みと入力ベクトルを結合した索引に

ここで，Wl = αl gl (Vl ) である．g に tanh を用いるのよって，予め計算された複数変数の積和結果を読み出す

で，この操作で αl は単調に減少する．

だけでよい．

2.2

2.3

パラメータ学習

問題点

層単位の有界重みモデルに基づく学習は，音声認識精度

量子化 DNN の学習は，連続領域で次の 2 ステップを何を下げることなく 4 ビットの量子化 DNN まで実現でき回か繰り返して行われる．1) 逆誤差伝播法 [21]，2) 重み

た．しかし，LUT を用いたフォワード計算の高速化は非境界の収縮．これ以降，登場するパラメータの初期値は，現実的であった．なぜなら，4 ビット量子化では LUT に4

必要なメモリ量が 32M バイトとなり，一般的な CPU の縮は同様に修正され，キャッシュメモリサイズを大きく超えているからである．
キャッシュメモリを活用するには，より小さなビット数での量子化が不可欠である．
実際の重みのダイナミックレンジと分布はノード毎に

λl,i

←

max |wl,ij |,

(18)

vl,ij

←

wl,ij / max |wl,ij |.

(19)

j

j

となる．

異なっている．そのため，層単位で重みを正規化すると情ルックアップテーブルを用いた実装方法

報損失が大きくなり，小さなビット数では量子化誤差が増

3.2

大する．その改善には，学習と認識において，ノード毎にLUT の実装方法は，エンコード関数 Qx がバイナリ値{0, 1} を出力するか否かで 2 種類に分けられる．初めに，異なる重みのダイナミックレンジを考慮する必要がある．

3

一般的なモデルで LUT のエンコード・デコード方法を説

ノード単位の有界重みモデルに基づく量子化 DNN

明する．そのあと，特別なバイナリモデルの場合について議論する．

本研究では，重みのダイナミックレンジと分布を均一化可

3.2.1

一般モデル

能な，ノード単位の有界重みモデルに基づく学習アルゴリ

説明のため，まず，重みの行ベクトルと入力ベクトルをズムと実装方法を提案する．はじめに，フォワード計算にいくつかのグループに分け，各グループで D 個の要素をおけるノード単位での重みの正規化と，学習のためのノー持っていると仮定する．それらを用いたバイナリコード

ド単位での有界重みモデルを説明する．次に，任意の計算をそれぞれ次のように記述する．

機構造で適用可能な LUT を用いた実装方法に関しても議ȳ(l,i,k)論する．最後に，量子化対象の層に関して議論を行う．

x̄(l,k)3.1

フォワードモデルとパラメータ学習[λl,1 , ..., λl,Ml ]T を導入する．ノード単位の正規化は次式で表現される．

(21)

Nl /D

zl,i

F (Qy [yl,ij ], Qx [xl,j ]) + bl,i . (12)= λl,iT [ȳ(l,i,k) x̄(l,k) ] + bl,i .

(22)

k=0

加算回数は明らかに 1/D に削減されている．

LUT は事前にすべてのバイナリコードのパターンを予め計算することで構築する．ā, b̄ のすべてのパターン, 例

正規化パラメータの対角行列表記 Λl = diag(λl,1 , ..., λl,Ml )を用いることで，ノード単位の有界モデルは次のように

えば, 0 から 2n − 1 を具体的に列挙して構築する．

表現できる．

= Λl gl (Vl )xl + bl .

(20)

ワード計算は次のように表現できる．

j=0

zl

,

[010, 101] の場合，LUT のインデックスはバイナリ表現で[110101010101] となる．式（12）から，量子化後のフォ代わりに，ノード毎に異なる正規化パラメータ λl == λl,i=D(k+1)−1{Qx [xl,i ]}i=Dk.

参照される．例えば，ȳ(l,i,k) = [110, 101] と x̄(l,k) =ナミックレンジをより適切に設定する．そのため，αl のzl,i{Qy [yl,ij ]}j=Dk

LUT，T ，は，以上のバイナリコードの組み合わせで本研究では，層単位ではなく，ノード単位で重みのダイ

N
l −1


D(k+1)−1=

T [āb̄] =

(13)

D−1


F (aj , bj ) =

j=0

D−1


−1
Q−1
y [aj ]Qx [bj ]

(23)

j=0

各パラメータは確率勾配に基づき逆誤差伝播法で学習

ここで，aj と bj は ā と b̄ に対応する第 j 要素を表現すされる．新たに導入したパラメータに関する更新則は次

−1
る．Q−1
y と Qx は，Qy と Qx に対応するデコード関数のように導出される．

であり，バイナリパターンの連続値表現を返す．




∂hTl
(zl ) l+1 ,
∂z

δl

=

l

=

λl

← λl − ηδl ◦ (gl (Vl )xl ) ,∂gl(Vl ) ◦ Λl δl xTl .
← Vl − η∂VVl

Λg(Vl )T δl ,gl (x) = tanh(x) で，hl (x) = 1/(1 + exp(−x)) である(14)

場合には, n ビットの各デコード・エンコード演算は次の(15)ように定義される．

(16)

Qx [x](17)以上の式より，式 (7) では 1 つの αl に集約していた伝播
していることがわかる．Wl = Λl gl (Vl ) における境界収

ﬂoor[(2n − 1)x + 0.5],nﬂoor[(2 − 1)(y + 1)/2 + 0.5],

(25)

Q−1
x [x]

x/(2n − 1),

(26)

=
=

n

2y/(2 − 1) − 1.

なお，本稿では LUT 自体の最適化は扱わない．

5

(24)

Qy [y] =Q−1y [y]誤差ベクトル δl が，それぞれの正規化パラメータに影響

=

(27)

表 1: Memory requirement per layer in bytes
32-bit float
8-bit SSSE
4-bit general LUT
3-bit general LUT
3-bit-bin binary LUT
2-bit general LUT
1-bit general LUT

for weights
4Nl MlNl Ml
Nl Ml /2
Nl Ml 3/8
Nl Ml 3/8
Nl Ml /4
Nl Ml /8

表 2: Conﬁguration

for LUT
–
–
28D
26D
23D
24D
22D

Item
Audio data
STFT analysis
Features for GMM
Features for DNN
Language model
GMM-HMM

3.2.2

バイナリモデル# of DNN layer (L)もし，xl にバイナリ量子化を採用するなら，テーブル

DNN network size

サイズはビットマスク演算により半分にできる．例えば，

Training setȳ(l,i,k) = [110, 101] と x̄(l,k) = [0, 1] の場合，T のイン
デックスは通常は [11010101] となる．デコード関数がTest set−1−1
Q−1
y [000] = 0, Qx [0] = 0 かつ Qx [1] = 1 を満たす

限り，ȳ(l,i,k) のビットを x̄(l,k) でマスクすることで，バValue
16 bits, 16 kHz samplinghamming window: 25 ms, shift: 10 ms
MFCC 39 dim.
[13+ Δ 13 + ΔΔ 13]FBANK 825 dim.
[(25+ Δ 25 + ΔΔ 25) × 11 frames]
3-gram statistical
65000 words
3-state tri-phone4000 tied-states
32 mixtures
7
input layer: 1024 × 825
middle layer: 1024 × 1024
output layer: 4000 × 1024
clean speech 223 hours(799 males and 168 females)clean speech 3.5 hours(15 males and 5 females)

イナリモデルの LUT, Tb , のインデックスは [000101] とすべての層の重みを量子化していた．最終層の出力は識できる．これは次式により理解できる．

別に用いられるので，本稿では最終層の重みも量子化を行わず浮動小数点で表現する．

−1
−1
−1
T [11010101]= Q−1
y [110]Qx [0] + Qy [101]Qx [1](28)=0 + Q−1y [101]

(29)

4

評価実験

=

−1
Q−1
y [000] + Qy [101]

(30)

4.1

実験設定

=

Tb [000101].

(31)

日本語話し言葉コーパス（CSJ）[22] を用いた連続音声認識実験により，ノード単位の有界重みモデルに基づく

なお，このバイナリモデルにおける Qy と Q−1
y の定義は，

音響モデルを評価した．まず，n ビット量子化における式 (25) と (27) から適切に変更する．使用メモリ量は削

ノード単位・層単位モデルの単語正解精度（WA）を比較

減できるが，量子化誤差の増加と音声認識率の低下を招する．この時，学習フェーズ (Eq.(4) or Eq.(13)) と，認識く可能性があるため，その効果は実験的に確認する必要

フェーズ (Eq.(3) or Eq.(12)) のそれぞれにおいて，ノーがある．

ド単位・層単位のモデルの各組み合わせにおける正解精3.2.3

度を調査する．正規化した重みの平均量子化誤差, |y −使用メモリ量の比較

Q−1
y [Qy [y]]| と，ノード単位の重み統計量として正規化尖度 E[(x − E[x])4 ]/E[(x − E[x])2 ]2 − 3 に関しても議論す

表 1 に，各実装方法における DNN 重みと LUT のメモ
リ使用量を示す．32-bit float と 8-bit SSSE は，通常の浮動小数点の積和演算と SSSE3 命令セットによる方法で，

LUT 自体を必要としない．3-bit-bin (binary LUT) はバる．E は期待値演算を表す．LUT の一般・バイナリモデ
ルの各実装におけるフォワード計算のリアルタイムファク
タ (RTF) も比較した．RTF は次式で定義される．

イナリモデルの LUT を意味し，その他の項目は一般モデ
ルの LUT の結果を示している．32-bit float では 4Nl Ml

RTF = (processing time)/(data duration).

(32)のメモリが重みに必要であるが，他の方法ではそれの 1/8
以下のメモリ量で済む．なお，LUT のサイズはパラメー

ノード削減 DNN [16] と SVD-DNN[14] の WA，RTF お

タ D にも依存する．全体のメモリ使用量は，実際の CPU

よびメモリ使用量も調査した．

キャッシュサイズを考えると，1, 2 M バイト以下が理想

DNN 音響モデルの学習用データとして，約 223 時間分の学術講演音声を用いた．評価用データは，CSJ テスト

的である．

セット 1 および 2 の約 3.5 時間分，男性 15 名・女性 5 名

3.3

量子化対象の層の選択分の音声である．言語モデルの学習データは，評価用デー

本研究では，量子化したフォワード計算はすべての層にタを除いた CSJ に含まれるすべての書き起こしテキスト適用しない．というのは，少なくとも入力層への入力はを用いた．語彙サイズは 65000 であり，トライグラム言語[0, 1] の範囲に収まっていないからである [8, 10]．また，重みを量子化する層を選択することで，音声認識性能を改

モデルを用いた．音声認識器は Julius (ver. 4.3.1) [23] を善できる可能性はある．以前の報告では，入力層を除いたある 8 と −2 に設定した. また，ビーム幅は 4000 にした．

用い, 言語モデル重みと挿入ペナルティはデフォルト値で6

表 3: Word accuracy (WA) vs. quantization bits for clean speech task
Applied model
Training
NormalTraining
Baseline

Proposed

P0
P1
P2
P3
P4

Recog.

–
layer-wise–layer-wise–node-wise–
node-wise
layer-wise layer-wiselayer-wise node-wisenode-wise
layer-wisenode-wise
node-wise
re-train. (2-bit quan.)Discretelayer l
1-6
1-5
1-6
1-5
1-5
1-5
1-5
1-5
1-5

2-bit
-bin
–
–
–
0.69
–
41.17
–
58.45
–

1-bit
–
1.10
–
1.07
2.98
2.73
2.06
1.45
–

DNN 音響モデルは，GMM-HMM を用いたラベル付与

Word accuracy (%)
3-bit
2-bit
3-bit
-bin
-2.24
–
-1.16
2.17
–
2.80
2.13
–
57.47
2.17
1.33 62.35
77.78
–
80.07
77.55
59.45
80.82
44.35
–
66.13
79.37 61.40 81.05
80.15
–
–

4-bit

8-bit

-3.35
49.54
79.07
79.83
81.07
81.47
80.14
81.10
–

80.63
81.74
81.82
81.82
81.32
81.36
81.52
81.52
–

32-bit
ﬂoat
81.86

81.33
81.53

従来研究と同様，性能改善のため，ノード削除と SVD を適用した後に，DNN パラメータを再学習した．

とフレーム単位での識別に基づき学習した．初めに，混合数 32・共有状態数 4000 のトライフォン GMM-HMM
を HTK (Hidden Markov Model Toolkit) 2 を用いて学習

4.2

した．音声特徴量は，13 次元の Mel-frequency cepstral

4.2.1

coeﬃcients (MFCCs)，その 1 次差分および 2 次差分の計
39 次元である．音声データのサンプリング周波数は 16kHz

実験結果
単語正解精度

表 3 に，異なる量子化ビット数に対する WA を示す．

Normal Training の行は，有界重みモデルではなく，通であり，窓長 25 ミリ秒・シフト長 10 ミリ秒で短時間フー常の DNN モデルで学習したパラメータでの認識結果をリエ解析を行った．また，発話単位毎に平均・分散正規化を表す．Discrete layer の列は，量子化対象の層を表してい行っている．DNN-HMM は，GMM-HMM と同じ HMM

る．2-bit-bin と 3-bit-bin は，重みは 2・3 ビットに量子化

パラメータを利用し， DNN の中間層のノード数は 1024

し，中間層への入力ベクトルを 1 ビットに量子化した場合

で，L = 7 とした．出力ノードの次元は，HMM の状態の結果を示す．2-bit などの他の表記では，重みと中間層を識別するため 4000 に設定した．DNN への入力特徴量

への入力ベクトルの量子化ビット数は同じである．32-bit

は，基本特徴量における中心フレームと前後 5 フレーム

float は量子化していない浮動小数点で表現された重みをを連結した計 11 フレームの 825 次元となっている．その意味する．なお，GMM-HMM の単語正解精度は 75.8 %基本特徴量は，25 次元の対数メルフィルタバンク係数と1 次差分，2 次差分で構成される．平均・分散正規化を同様に適用した．これらの設定を表 2 にまとめる．最後に，であった．
まず，量子化ビット数と各手法の WA の関係に関して述べる．8 ビット量子化ではすべての手法はほぼ同程度

GMM-HMM に基づくビタビアライメントにより得られた状態ラベルを用いて，DNN パラメータを学習した．プの性能であり，より小さいビット数では性能差が明確に

レトレーニングは段階的に識別学習を行う方法を用い [3]，なっている．表中の Normal Training に着目すると，通常モデルで学習し，認識時に層単位の正規化を行った場

学習係数の半自動調整を行うため AdaGrad [24] を用い合（Recog.），4 ビット量子化以下では認識に失敗していた．ミニバッチサイズは 64 に設定した．ファインチュー

ることがわかる．認識時にノード単位の正規化を適用す

ニングの後，有界モデルを用いた学習を行った．重みの量

るだけで，WA は大きく改善しており，ノード単位の正規子化後，入力層などの量子化を行わなかった層のパラメー化の重要性が示唆される．量子化対象の層を制限すると，
3 ビットのようなシビアなビット数においても WA を改

タの再学習も検討した．ドロップアウト [25] も DNN の絶対的な性能を改善する可能性があるが，Kim らが議論善している．これ以降は，層 l = 1, ..., 5 における重みにしているように [7]，その有無で手法間の相対的な差には量子化を行った結果を比較する．

致命的な影響を及ぼさないと考えている．

次に，ノード単位での有界重みモデルと各 LUT の実装

ノード削減 DNN と SVD-DNN においても，初期値にを用いた場合の WA に着目する．ノード単位モデルの WA

用いる DNN のパラメータ値，構造，特徴量などは提案

は，P2 のミスマッチ状況を除き，2・3 ビットの量子化に法の場合と同様にした．ノード削減 DNN は，出力重みノ

おいて，ベースラインの WA を最大 1.8 ポイント上回っ

ルム基準 [16] によって行い，中間層のノード削減率は 10,ている．特に，P3 では 2 ビット量子化においても十分に

20, 40, 60, 80% に設定した．SVD-DNN [14] も，SVD は中間層の重み Wl (l = 1, ..., 5) に対して適用し，用いる

高い精度を保っており，通常の DNN と比較して 2 ポイン

特異値数は 32, 64, 128, 256, 512 および 768 に設定した．
2 http://htk.eng.cam.ac.uk/

トしか WA は低下していない．P3 から量子化を行っていない層のパラメータ再学習することで，少し性能は改善している (P4)．2-bit-bin および 3-bit-bin の WA は，中7表 4: Quantization error (QE) vs. quantization bits. Discrete layers were 1-5 in all cases for clean speech task.

Normal training
Baseline
Proposed

P0
P1
P2
P3, P4

Applied model
Training
Recognition–
layer-wise–node-wise
layer-wiselayer-wiselayer-wisenode-wise
node-wise
layer-wisenode-wise
node-wise

1-bit
9.13E-01
8.31E-01
3.10E-01
2.26E-01
7.24E-01
2.92E-01

Quantization error
2-bit
3-bit
2.50E-01
8.42E-02
1.98E-01 7.25E-02
1.89E-01
8.16E-02
1.27E-01 7.25E-02
1.38E-01
6.83E-02
1.52E-01
7.85E-02

4-bit
3.43E-02
3.33E-02
3.29E-02
3.58E-02
3.35E-02
3.44E-02

8-bit
1.96E-03
1.96E-03
1.97E-03
1.96E-03
1.96E-03
1.96E-03

度低下を招いたと推察される．ノード単位の有界重みモ
表 5: Computer speciﬁcations for forward calculation
OS
CPU
MemoryCache

デルに基づく学習は，各ノードの重みの分布を均一にし，Ubuntu 14.04.2 LTSIntel Core i5-4690 3.50GHz
32GB
6M

連続値と量子化した値の隔たりを埋め，そのような状況を避けられたと考えられる．
最後に，層単位およびノード単位モデルの実際の重み分
布を図 4 に示す．通常学習 (normal training) の重み分布

間層への入力ベクトルを {0, 1} に量子化したにも関わらはガウス分布に似ているが，有界モデルを用いた学習されず 50% 以上となった．2-bit-bin では，層単位モデルからた重みの分布はベルヌーイ分布に近くなっている．−1 と約 16 ポイント WA が改善しており，ノード単位モデルに基づく学習の優位性を示している．しかし，1 ビットに重1 付近にある 2 つのピークは，正規化パラメータ αl , λl,iが小さくなるにつれて，外側へ移動する傾向にある．それ

みを量子化する（1-bit ）と全く認識されず，2 ビットと 1ゆえ，それらは分布の形状を制御していると考えられる．

ビット量子化の間に大きな隔たりがある．1 ビット量子化

4.2.3

DNN を実現するには，より精度を保てるパラメータ学習

LUT を用いたフォワード計算の RTF

LUT における一般的モデル（general model）とバイナと量子化方法が必要となる．

リモデル（binary model）の２つの実装方法を用いて，量4.2.2

量子化誤差および重み分布

子化 DNN のフォワード計算の速度向上率を明らかにす

量子化誤差 (QE) と WA の関係を理解するため，各る．また，重みと LUT の使用メモリ量も同時に示す．計

ビット数における平均量子化誤差を表 4 に示す．normal

算機のスペックは表 5 に示す通りである．CPU のキャッtraining と baseline (P0) の QE は，認識時でノード単位の正規化を行うことで減少している．しかし，低い量子シュサイズと周波数は LUT を用いた計算に十分な値で化誤差が必ずしも高い WA に繋がっているとは限らない．

RTF と LUT・重みに必要なメモリ量の関係を表 6 に

例えば，P1 における QE は P0 と比較して改善している

示す．表中では 2 つの RTF が示されているおり，1 つはが，それらの WA は同じ程度である．

中間層 (l = 1, ..., 5) に対する RTF(partial)，もう一つはある．

次に，通常学習，層単位およびノード単位の有界重み

DNN 処理全体 (l = 0, ..., 6) に対する RTF(all) である．

モデルに基づく学習の違いを分析するため，重みに対する

これは，量子化が中間層の重みに対して適用されており，ノード単位の尖度の分布に注目 s する．ガウス分布，一様

実質的な速度改善はこれらの層（l = 1, ..., 5）に限られる

分布，ベルヌーイ分布の尖度はそれぞれ 0, −1 および −2からである．32-bit float は，LUT や特殊命令セットを用である．図 3 に，学習後における normal training，P0

いない通常の積和実装を表し，8-bit SSSE は [8] で提案(baseline, layer-wise) および P3 (node-wise) の尖度の分された SSSE 命令セットを用いた実装である. baseline は布を示す．normal training の尖度は 0 以上であるため，

4 ビットの量子化 DNN の結果であり，層単位モデルの限重みはガウス分布やよりスパースな分布をしていること界値である．表中の D は，式 (22) において同時に計算さがわかる．一方，baseline と提案モデルの重み分布はベルれる変数の数を意味する．

ヌーイ分布に近い．というのは，ほとんどの尖度が −1 よD = 3, 4 において，一般・バイナリの両実装モデルにりも小さいからである．また，baseline の尖度分布には提対する RTF(all) は，baseline と比較して約 30〜40% の案モデルの方にはない複数のピークが見られる．この内，処理速度向上を達成し，SSSE 命令を用いた実装に近い処

比較的尖度が大きいピークは，量子化 DNN の中間出力に理速度となっている．さらに，3-bit-bin で D = 7 の RTF

おける誤差を増大させ，その誤差の範囲や分布も各ノード

は，WA は十分ではないものの，SSSE と同等の処理速度で異なると考えられる．このような誤差が途中で打ち消となっている．しかし，3 ビットの量子化では 4M バイト

し合うこともなく蓄積していき，HMM や言語モデルで平の LUT を必要とする．もし，2 ビット量子化かつバイナ滑化可能な範囲を超え，層単位での正規化方法の認識精

リモデルを適用し，D = 8 に設定すると，SSSE と同等

8

1.4E+05

800

normal training
baseline
proposed

1.0E+05
Frequency

Frequency

600

normal training
baseline
proposed

1.2E+05400

8.0E+04
6.0E+04
4.0E+04200

2.0E+04

0
-2

0

6

4

2

0.0E+00-1

図 3: Kurtosis distributions

-0.5

0

0.5

1

図 4: Weight distributions

表 6: Real-time factor of forward calculation and memory usage on single CPU
Methods
Standard
Baseline

ProposedSpecial32-bit ﬂoat
4-bit (general LUT)
4-bit (general LUT)
3-bit (general LUT)
3-bit-bin (binary LUT)
2-bit (general LUT)
1-bit (general LUT)
8-bit SSSE

RTF (partial)(l = 1, ...., 5)
0.435
0.653
0.220
0.255
0.096
0.111
0.084
0.092

RTF (all)(l = 0, ..., 6)
0.841
1.060
0.641
0.661
0.501
0.517
0.489
0.498

D
1
3
2
3
7
4
8
8

Memory usage (bytes)
total weights
LUT(l = 1, ..., 5)
–
20 M
32 M
2.5 M
128 K
2.5 M
512 K
1.85 M
4M
1.85 M
128 K
1.25 M
128 K
640 K
–
5M

の処理速度を達成しつつ，LUT サイズは 512K バイトにらにノード削減率を高くする必要があり，使用する特異値抑えられる．1 ビット量子化 DNN は 8-bit SSSE の処理数も極端に減らす必要がある．例えば，これまで報告さ速度を上回っているので，その WA の改善が期待される．

れているような 80% の圧縮率を達成するためには，ノー中間層だけの RTF(partial) に注目すると，DNN の量子ド削減率では 60% 程度必要であり，特異値数では 64 に化ビット数に比例して，RTF が改善していることがわか設定する必要がある．しかし，それらの設定での WA はる．例えば，2 ビット実装の RTF(partial) は，32 ビット

80% を下回っている．この結果は，本研究での用いた中実装から約 75% 処理速度の向上がみられる．ハードウェ

間層におけるノード数が他の報告で用いられている数，例

ア上での論理回路を用いた実装では，さらなる RTF の改

えば 2048，よりも相対的に小さい点が一因している．以

善が期待される

上より，使用メモリ量の削減において，量子化の効果は大4.2.4

きいと言える．

ノード削減 DNN と SVD-DNN との比較

次に，各手法の RTF に注目する．ノード削減法は，通表 7 と表 8 に，ノード削減 DNN と SVD-DNN の WA,

常多くのノードを含む出力層の重み行列の次元を大きくメモリ使用量および RTF を示す．これらの表でも 2 種類

削減可能なので，RTF(all) は量子化 DNN と比較するとの RTF が示されており，1 つは中間層 (l = 1, ..., 5) に対す

大きく改善している．量子化ビット数は，DNN のノード

る RTF(partial)，もう一つは DNN 処理全体 (l = 0, ..., 6)

数を最適化した後でも，最適化するとは可能であるため，での RTF(all) である．再学習を行わない場合の WA は，
すべての設定において元の DNN よりも低くなっている．

SVD-DNN での性能低下はノード削減 DNN よりも深刻

ノード削除と量子化の組み合わせは，DNN の構造を改善する効率的な戦略であるといえる [20]．そのような場合でも，量子化の方法は重みの圧縮率と認識性能に影響を与でない．これは，SVD は元の重み行列の値を保つようなえるため，量子化アルゴリズムの改善は不可欠である．

次元圧縮方法だからである．多くの場合，再学習の後でWA は 81% まで改善している．

5

まず，各手法の使用メモリ量と WA の関係について比較する．量子化 DNN では約 1.4M バイトの使用メモリ量議論

実験結果から，WA，量子化誤差および重みの統計量に関で WA 80% を達成していたが，ノード削減 DNN および

して，1) 量子化誤差と WA の関係と 2) 重みの正規化のSVD-DNN では，3M のような少ない使用メモリ量の場
合，WA は 80% 未満となっている．量子化 DNN と同等効果に関する事実を得た．前者は，DNN のパラメータ学の使用メモリ量および RTF(partial) を達成するには，さ改善するわけではないので，パラメータ学習のコストに習の戦略に影響を与える．QE は必ずしも直接的に WA を9

表 7: The Performance of Node-pruning: word accuracy, memory usage, and RTF
Pruning-ratio
80%
60%
40%
20%
10%

Word Accuracy (%)
w/o retrain
w/ retrain
0
74.48
0
78.29
0.56
80.28
1.35
81.29
58.06
81.64

Memory usage (bytes)(l = 1, ..., 5)
0.8 M
3.2 M
7.2 M
12.8 M
16.2 M

RTF (partial)(l = 1, ...., 5)
0.018
0.070
0.155
0.274
0.346

RTF (all)(l = 0, ...., 6)
0.101
0.233
0.397
0.592
0.702

表 8: The Performance of SVD-DNN: word accuracy, memory usage, and RTF
SVD dim.
32
64
128
256
512
768

Word Accuracy (%)
w/o retrain
w/ retrain
4.35
48.81
3.35
79.74
2.96
80.52
11.41
81.78
79.36
81.81
81.62
82.01

Memory usage (bytes)(l = 1, ..., 5)
1.25 M
2.5 M
5.0 M
10.0 M
20.0 M
30.0 M

RTF (partial)(l = 1, ...., 5)
0.034
0.056
0.111
0.215
0.421
0.628

RTF (all)(l = 0, ...., 6)
0.431
0.456
0.508
0.611
0.817
1.024

QE を最小化するような制約を加えるだけでは，効果的で含むような，入力データのパターン数が増加する場合，そないと考えられる．後者は，量子化 DNN に対する他の重れらを記憶または識別するためのより多くの「記憶容量」

み制約の可能性を示唆している．もし，WA を改善するたが必要である．そのため，ヘテロなデータを扱う場合に，めにこの事実を直接的に用いるのであれば，ノード単位のクリーン音声用に設計された DNN 構造を流用すると，少重みの尖度の平均を最小化するアプローチもある．LUT

ないビット数での量子化はより難しくなると考えられる．

の最適化や，重みの非線形量子化なども，1 ビット量子化

使用メモリ量と計算効率の観点でより一般的に最適化をを含む低ビット量子化 DNN の WA 改善に効果的である．

行うには，入力データと演算の実装方法に合わせた DNN

また， sequence training も WA の向上に効果があると推構造の適応（ノード削減など）と量子化を同時に扱う枠組察される．なぜなら，HMM と言語モデルによるフィルタ

みが不可欠である．

効果により，量子化誤差の影響は小さくなるからである．
量子化後のフレーム単位での状態識別率はとても低い，と6いう事実もこの仮説を支持している．

結論

バイナリモデル LUT に基づく実装も改善の余地があり，その実現可能性は残されている．提案したノード単位の本研究の目的は，省メモリ・低計算コストな音響モデル

モデルは，中間層への入力ベクトルの量子化を考慮してのための量子化 DNN の開発である．4 ビットの量子化でいないため，その影響を学習に組み込むことで性能改善

は LUT サイズが巨大となるので，使用メモリ量の観点でが可能だと考えられる．理想的には，そのベクトルの要素

2 ビットでの量子化が必要となった．2 ビット量子化のカもベルヌーイ分布に従っていることである．そのようなギは，重みパラメータのバラつきの正規化方法にあった．

分布の形成に適した制約を，発見または開発することが本研究では，層単位ではなく，ノード単位の有界重みモデ必要である．これは，単に活性化関数で用いられるシグモルに基づいてパラメータを学習するアルゴリズムを開発

イド関数などのスケールパラメータを調整するだけで十した．このアルゴリズムは，ノード単位で重み分布のバ分な可能性もある．以上の課題を解決すれば，2 ビット重ラつきを均一化し，量子化に有効な重みの学習を可能にみ量子化とバイナリモデル LUT に基づいた実装が実現でした．また，量子化 DNN の実装として，メモリ使用量がきる．

異なる，一般的な LUT およびバイナリ LUT に基づくの
2 種類の実装方法を提案した．2 ビット量子化 DNN の評

最後に，DNN の本質的な「記憶」力も，より進んだ研価実験では，高い単語正解精度を保ちつつ，DNN のフォ究を行うために考慮すべきである．例えば，もし，巨大なワード計算の計算速度を約 40% 向上した．

ネットワークを中間層に用いると，従来研究 [9] でも述べられているように，重みの量子化はより簡単になると予残された主な課題は，メモリ量と処理速度を改善する

想される．彼らの研究では，10 種の数字画像の識別精度ために，ノード削減法との組み合わせや中間層への入力を，より多くの中間層のノード数を用いることで改善でベクトルの 1 ビット量子化である．そのカギとなるアプ

きたと報告している．そのため，ノード数と重み表現に必

ローチは sequence training，重みの非線形量子化などが要なビット数，必要なメモリ量および演算効率などの関係あり，これらの技術を用いてより省メモリかつ低計算コスをより詳細に調べる必要がある．また，雑音や残響音声をトな DNN 構築を目指す予定である．

10

謝辞
本研究は JSPS 科研費 15K16051 の助成を受けたものです．

[16] T. He, Y. Fan, Y. Qian, T. Tan, and K. Yu, “Reshaping deepneural network for fast decoding by node-pruning,” in Proceedings of the IEEE International Conference on Acoustics,
Speech and Signal Processing, 2014, pp. 245–249.
[17] S. Han, J. Pool, J. Tran, and W. Dally, “Learning bothweights and connections for eﬃcient neural network,” in Advances in Neural Information Processing Systems, 2015.

参考文献[1] G. E. Dahl, D. Yu, L. Deng, and A. Acero, “Contextdependent pre-trained deep neural networks for largevocaburary speech recognition,” IEEE Transactions on Audio, Speech, and Language Processing, vol. 20, no. 6, pp. 82–
97, 2012.

[18] J. Li, R. Zhao, J.-T. Huang, and Y. Gong, “Learning smallsize DNN with output-distribution-based criteria.,” in Proceedings of Interspeech, 2014, pp. 1910–1914.
[19] V. Sindhwani, T. Sainath, and S. Kumar, “Structured transforms for small-footprint deep learning,” in Advances in Neural Information Processing Systems, 2015.

[2] G. Hinton, L. Deng, D. Yu, G. E. Geroge, A. Mohamed, N.
Jaitly, A. Senior, V. Vanhoucke, P. Nguyen, T. N. Sainath,and othres, “Deep neural networks for acuostic modelling inspeech recognition,” Signal Processing Magazine, vol. 29, no.
6, pp. 82–97, 2012.

[20] S. Han, H. Mao, and W.J Dally, “Deep compression: Compressing deep neural network with pruning, trained quantization and huﬀman coding,” in ICLR, 2015.

[3] F. Seide, G. Li, , and X. Chen D. Yu, “Feature engineeringin context-dependent deep neural networks for conversational
speech transaction,” in Proceedings of the IEEE Workshop
on Automatic Speech Recognition and Understanding, 2011,
pp. 24–29.

[21] D. E. Rumelhart, G. E. Hinton, and R. J. Williams, “Learning
representations by back-propagating erros,” Nature, pp. 533–
536, 1986.

[4] F. Seide, G. Li, and D. Yu, “Conversational speech transcription using contex-dependent deep neural network,” inProceedings of the Interspeech 2011, 2011, pp. 437–440.

[22] K. Maekawa, “Corpus of spontaneous Japanese: Its design and evaluation,” in Inproceedings of the ISCA & IEEE
Workshop on Spontaneous Speech Processing and Recognition, 2003.

[5] R. Raina, A. Madhavan, and A. Y. Ng, “Large-scale deep
unsupervised learning using graphics processors,” in Proceedings of the 26th Annual International Conference on Machine
Learning, 2009, pp. 873–880.

[23] A. Lee and T. Kawahara, “Recent development of opensource speech recognition engine Julius,” in Proceedings of
the Asia-Paciﬁc Signal and Information Processing Association, Annual Summit and Conference, 2009, pp. 131–137.

[6] J. Dean, G. Corrado, R. Monga, K. Chen, M. Devin, Q. Le,
M. Mao, M. Ranzato, A. Senior, P. Tucker, K. Yang, andA. Ng, “Large scale distributed deep neural networks,” inAdvances in Neural Information Processing Systems, 2012,
pp. 1223–1231.

[24] J. Duchi, Elad. Hazan, and Y. Singer, “Adaptive subgradientmethods for online learning and stochastic optimization,” The
Journal of Machine Learning Research, vol. 12, pp. 2121–
2159, 2011.
[25] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and
R. Salakhutdinov, “Dropout: A simple way to prevent neuralnetworks from overﬁtting,” The Journal of Machine Learning
Research, vol. 15, no. 1, pp. 1929–1958, 2014.

[7] J. Kim, K. Hwang, and W. Sung, “X1000 real-time phoneme
recognition VLSI using feed-forward deep neural networks,”
in Proceedings of the IEEE International Conference on
Acoustics, Speech and Signal Processing, 2014, pp. 7510–
7514.
[8] V. Vanhouche, A. Senior, and M. Z. Mao, “Improving
the speed of neural networks on CPUs,” in Proceedings ofthe Deep Learning and Unsupervised Feature Learning NIPS
Workshop, 2011, vol. 1.
[9] C. Z. Tang and H. K. Kwang, “Multilayer feedforward neuralnetworks with single powers-of-two weights,” IEEE Transactions on Signal Processing, vol. 41, no. 8, pp. 2724–2727,
1993.
[10] R. Takeda, N. Kanda, and N. Nukaga, “Boundary contraction training for acoustic model based on discrete deep neuralnetworks,” in Proceedings of the Interspeech, 2014, pp. 1063–
1067.
[11] D. Soudry, I. Hubara, and R. Meir, “Expectation backpropagation: Parameter-free training of multilayer neural networks
with continuous or discrete weights,” in Advances in Neural
Information Processing Systems, 2014.
[12] M. Kim and P. Smaragdis, “Bitwise neural networks,” in Proceedings of the ICML Workshop on Resource-Eﬃcient Machine Learning, 2015.
[13] Y. Wang, J. Li, and Y. Gong,“Small-footprint highperformance deep neural network-based speech recognition
using split-vq,” in Proceedings of the IEEE International
Conference on Acoustics, Speech and Signal Processing, 2015,
pp. 4984–4988.
[14] J. Xue, J. Li, and Y. Gong, “Restructuring of deep neuralnetwork acoustic models with singular value decomposition.,”in Proceedings of Interspeech, 2013, pp. 2365–2369.
[15] T.N Sainath, B. Kingsbury, V. Sindhwani, E. Arisoy, and
B. Ramabhadran, “Low-rank matrix factorization for deepneural network training with high-dimensional output targets,” in Proceedings of the IEEE International Conferenceon Acoustics, Speech and Signal Processing, 2013, pp. 6655–
6659.

11