NISP: Pruning Networks using Neuron Importance Score Propagation
University of Maryland & IBM T. J. Watson Research
https://arxiv.org/abs/1711.05908
2017年11月に発表された論文。タイトルから察するにNIPSでNISPという技術を発表してウケを狙ったのかな・・・?(未確認)
概要
ディープニューラルネットワークの高速化技術に該当。
特にCNNではパラメータが膨大すぎて計算時間がかかることが課題視されており様々な研究がなされている。
主な手法は不要なニューロンを削って高速化するPruningと、量子化対応(例えば16bitのところを近似して8bitにする)による計算高速化。
こちらの論文はPruningによって高速化を図っており、いかに不要なニューロンを削って、重要なニューロンを残すのか、その選定手法を提案している。
手法
ディープニューラルネットワークの最後のLayer(識別結果出力の直前)にて各ニューロンの重要度を算出。
重要度算出には、このLayerにおける各ニューロンは入力Xを抽象化して得られた特徴量であると解釈して、下記の特徴量選定手法(ICV2015)を適用。
それ以外の手前のLayerでは下記手順で重要度を算出
①そのニューロンをPruningした場合としなかった場合との差分を算出
②各ニューロンでの差分*各ニューロンでの重要度の和によって「Pruningによる影響」を算出
③「Pruningによる影響」が最も小さいニューロンをPruningに選定する
※直感的には、このニューロンを削ったとしても重要度の高いニューロンに影響がないようなものをのPruning対象に選択する
所感
比較対象がRandomにPruning対象を選んだ場合や、Pruningのたびにゼロから学習しなおした場合(scratch)なので、もっとそれらしい手法と比較をしてほしかった。
しかし、なんとなくではなく理論立てて納得感のあるPruning候補選定をした点は希少と感じており、今後このような研究が増えてほしい。