18
Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015) Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015) 味曽野雅史 (weblab B4) 2015/9/11 2015/9/11 味曽野雅史 (weblab B4) 1

論文輪読: Compressing Neural Networks with the Hashing Trick

  • Upload
    mmisono

  • View
    398

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

Compressing Neural Networks with the Hashing Trick (WenlinChen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger,

Yixin Chen; ICML 2015)

味曽野雅史 (weblab B4)

2015/9/11

2015/9/11 味曽野雅史 (weblab B4) 1

Page 2: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

紹介する論文

• Compressing Neural Networks with the Hashing Trick• Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger,

Yixin Chen• Proceedings of The 32nd International Conference on Machine

Learning, pp. 2285–2294, 2015• 著者所属: Washingotn University, NVIDIA

• http://arxiv.org/abs/1504.04788• 被引用: 3件• ハッシュ関数を利用した重み共有により,メモリ使用量を下げた学習を実現

2015/9/11 味曽野雅史 (weblab B4) 2

Page 3: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

背景

• deep learning技術を,モバイル端末でも利用できるようにしたい• しかしながら,モバイル環境では利用できるメモリが限られる

• iPhone 6でも 1GB RAM• メモリ使用量が限られる状況下でも学習できる方法が必要

2015/9/11 味曽野雅史 (weblab B4) 3

Page 4: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

関連研究

• ニューラルネットワーク (NN)のパラメータには冗長性があることが分かっている (Denil et al. ’13)

• NNの複雑さを減らすためのアプローチ• CNN (+ pooling)• パラメタ数を明示的に減らす

• 重みを共有 (Nowlan & Hinton ’92)• 重み行列を低ランクにする (Denil et al. ’13, Denton et al ’14)• ランダムに重みを除去 (Ciresan et al. ’11)• 最初の学習段階で閾値以下の重みを除去する (Han et al. ’15)

• Distilled model (Bucilu et al ’06, Hinton et al. ’14)• アンサンブルの結果を一つのモデルにまとめる (テスト時のコストを削減)

• メモリ使用率を下げるアプローチ• 半精度 (16bit浮動小数点)演算 (Gupta et al. ’15)

• 提案手法は,メモリ使用率を削減を目的とし,ランダムな重み共有をハッシュ関数で実現する

2015/9/11 味曽野雅史 (weblab B4) 4

Page 5: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

今回の手法のベース: Feature Hashing

• 著者の一人Weinbergerらが 2009年に提案• ハッシュ関数を利用して,特徴量次元を削減する• d 次元のベクトル xを k 次元に削減するとき,

φ : Rd → Rk

h : N → {1, · · · , k}ξ : N → {−1, +1}

φk(x) =∑

i:h(i)=k

xiξ(i)

• ξ(i)により,E[φ(x)Tφ(x′)] = xTx′ となる

2015/9/11 味曽野雅史 (weblab B4) 5

Page 6: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

Feature Hashingの疑似コード (from wikipedia)

1 function hashing_vectorizer(features : array of string, N :integer):

2 x := new vector[N]3 for f in features:4 h := hash(f)5 idx := h mod N6 if ξ(f) == 1:7 x[idx] += 18 else:9 x[idx] -= 1

10 return x

2015/9/11 味曽野雅史 (weblab B4) 6

Page 7: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

重み共有によるメモリ使用率の削減

• 論文 Figure1• al+1

i = f (z l+1i ), z l+1

i =∑

j V lijal

j と表記

• 同じ色 = 同じ重み• 計算時は重み行列 V 1, V 2 ではなく,下の重みベクトル w1, w2 だけ保持す

れば OK• 図では圧縮率は 1

4 (本来のパラメータ数は 16+8 = 24)

2015/9/11 味曽野雅史 (weblab B4) 7

Page 8: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

提案手法: Hashed Neural Nets (HashedNets)

• Feature Hashingと同様の方法で,重み行列 V l の (i,j)成分を重みベクトルw l のある要素に対応づける

V lij = w l

hl (i,j)

• 先ほどの図では,例えば h1(2, 1) = 1より,V 12,1 = w1

1 = 3.2

2015/9/11 味曽野雅史 (weblab B4) 8

Page 9: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

ネットワークの訓練方法

• 誤差逆伝播法を使う• 一般の N層ネットワークの場合, Lを適当な損失関数として,

∂L∂V l

ij= al

j δl+1i

δlj = f ′(z l

j )

(∑i

V lijδ

l+1i

)δN

j = zNj − yj

2015/9/11 味曽野雅史 (weblab B4) 9

Page 10: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

ネットワークの訓練方法 (cont’d)

• Hashed Netsの場合,al+1i = f (

∑j w l

hl (i,j)ξl(i , j)al

j )に注意して,

δlj = f ′(z l

j )

(∑i

w lhl (i,j)δ

l+1i ξl(i , j)

)∂V l

ij

∂w lk

= ξl(i , j)δhl (i,j)=k

∂L∂w l

k=

∑i,j

∂L∂V l

ij

∂V lij

∂w lk

2015/9/11 味曽野雅史 (weblab B4) 10

Page 11: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

HashedNetsの Feature Hashing的解釈

• HashedNetsのある層の i 番目の出力は,

zi =∑

j

Vijaj =∑

j

wh(i,j)aj

• zi は以下のように表現できる

zi = wTφi(a)

• ただし [φi(a)]k =∑

j:h(i,j)=k aj

2015/9/11 味曽野雅史 (weblab B4) 11

Page 12: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

評価実験

1. ネットワークサイズを固定し,圧縮率を変更したときの精度2. 重みのサイズを固定し,ネットワークサイズを変更したときの精度

• dropout, reluを使用• 比較対象

• Low-Rank Decomposition• ランダム辺除去• Dark Knowledge (Distilled model)• 圧縮した NN

• データセット• MNIST, ROT, CONVEX, RECT

2015/9/11 味曽野雅史 (weblab B4) 12

Page 13: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

実装

• Torch7により実装• ハッシュ関数には xxHashを利用

• 非暗号用途用のハッシュ,高速かつ低メモリ• 実装は公開してあると書いてあるが,どうやら公開されていない模様• おそらく zi = wTφi(a)を計算する形で実装?

2015/9/11 味曽野雅史 (weblab B4) 13

Page 14: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

実験結果 1

• ネットワークサイズ固定,圧縮率を変更, 3層

2015/9/11 味曽野雅史 (weblab B4) 14

Page 15: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

実験結果 1 (cont’d)

• ネットワークサイズ固定,圧縮率を変更, 5層

2015/9/11 味曽野雅史 (weblab B4) 15

Page 16: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

実験結果 2

• 重みサイズを固定し,ネットワークサイズを大きくしていく

• 仮想的なユニットをある程度増やした方が,精度が良くなる• ネットワークの表現力が向上?

2015/9/11 味曽野雅史 (weblab B4) 16

Page 17: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

まとめ

• ハッシュ関数による,ランダムな重み共有方法を提案• メモリ使用率を削減できる• 既存手法と比べても,精度が良い• Future Work: GPUによる計算効率化

2015/9/11 味曽野雅史 (weblab B4) 17

Page 18: 論文輪読: Compressing Neural Networks with the Hashing Trick

Compressing Neural Networks with the Hashing Trick (Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, Yixin Chen; ICML 2015)

議論

• 学習速度は?• 速くなりそうな気もするが,ハッシュ計算のオーバヘッドがある

• モバイル環境で GPU?• テスト時のメモリ削減が目的?

• 計算の効率化• z l+1

i =∑

j w lhl (i,j)a

lj を逐一計算するのは効率が悪い

• 通常の NNの場合

zl+1

(m×1)= W

(m×n)al

(n×1)

• zi = wTφi(a) として計算するとき

zl+1m×1

= φ(a)m×c

w lc×1

• 行列のサイズが m × nから m × c になる• m × c がメモリに乗らない場合は,分割して計算

2015/9/11 味曽野雅史 (weblab B4) 18