Bayesian Compressionfor Natural Language Processing文献紹介2019/9/2長岡技術科学大学自然言語処理研究室 吉澤 亜斗武
View Slide
Abstract・RNNのようなモデルは膨大なパラメータを必要とする.・特に語彙の長さに比例してサイズが大きくなる埋め込み層に大部分のパラメータが集中している.・RNNのベイジアンスパース化を提案した.・また,不要な単語を削除すことで,さらにRNNを圧縮し,単語の選択について議論した.2Sparse VD
1. Introduction・先行研究ではSparse Variational Dropout (Sparse VD) がある.・RNNへの適用は調査されていない.・自然言語処理のタスクでは語彙との関連がつよい最初の層(埋め込み層)にRNNの重みの大部分が集中する.・一部のタスクでは不要な単語が存在する場合があり,フィルタリングが必要3
1. Introduction・本論文では,Sparse VD をRNNに適合し,単語に重みをかけ,語彙をスパース化させた.・Sparse VDが大幅な品質の低下をなしに,大きなスパース性をもたらすことを示した.・語彙のスパース化では,分類タスクでは圧縮率を高めますが,言語モデルのタスクでは役に立たないことがわかった.4
2. Related Work5・先行研究では各ニューロンに対応するグループごとにLSTMの重みを取り除くことを提案・ベイジアンNNでは重みはランダム変数として表され,事前分布として表され,トレーニングで事後分布に変換される.・ベイジアンスパース化はプルーニング手法と比較して,ハイパーパラメータの数が少なく,スパース性が高い.・RNNの特徴を考慮してSparse VDを適応させる.
3.1 Notations6RNNについて
3.2 Sparse variational dropout for RNNs7
3.2 Sparse variational dropout for RNNs8
3.2 Sparse variational dropout for RNNs9reparametrization trick(積分を計算可能に)先行研究では,local reparametrization trickを用いているが,RNNでは時系列データを用いるため,厳密には使えない .
3.2 Sparse variational dropout for RNNs10reparametrization trick(積分を計算可能に)どのタイミングでサンプリングするかが問題になる.先行研究では,local reparametrization trickを用いているが,RNNでは時系列データを用いるため,厳密には使えない .
3.2 Sparse variational dropout for RNNs11・トレーニングの手順(ミニバッチ)(1)全ての重みをサンプリングして,通常通りRNNに適用(2)Eq.(1)の勾配をθ,logσ,Bで計算.・Eq.(2)より, θが極端に小さいものと,分散が大きいものは0に近づき,スパース化される.
3.3 Multiplicative weights for vocabulary sparsification12・ベイジアンスパース化の利点は,グループ(層)ごとのスパース化に拡張できる.・入力のone-hot ベクトルに確率的重み ∈ をかける・ はミニバッチごとに重み同様に因子分解された正規分布で近似・トレーニング後, の要素が低いものをθとσの比率をもとに削除し,その語彙に対応する単語を使用せず,重み行列から該当する行を削除.
4 Experiments13・テキスト分類のタスク・IMDb:2値分類・AGNews:4クラス分類頻度の高い20000語に両方のデータセットを揃える.・言語モデリングのタスク・Penn Treebankコーパス(Marcus et al、1993)文字レベル,単語レベル
4.1 Text Classification14・品質を大幅に落とすことなく,圧縮率を高める・分類には重要な単語のみを読めば良いことがわかる.
4.1 Text Classification15・2値分類に重要そうな単語が残り,分類出来ている.
4.2 Language Modeling16・文字は語彙数が少なく,すべて重要でありほとんど減らない・単語においても,語彙数はスパース化しないほうが精度が高い.
5. Conclusions17・Sparse VDをRNNに適用し,重みのθとσの比が一定以下のものを重みを削除することで,品質を落とさずスパース化した・分類タスクでは,かなり圧縮できたが,言語モデルのタスクでは単語のほとんどが重要であり,語彙のスパース化はタスクを困難に品質の低下につながることがわかった.