Efficient Methods and Hardware for Deep Learning
近年モデルサイズが大きくなっており、学習にかかる時間やエネルギーが大量に必要となってしまう。
またスマホなどへのアプリケーションもメモリの関係から難しくなる。
そこでどのようなアルゴリズムを用いたら効率化、省エネ化できるかということが検討されている。
Pruning
ニューロンの90%を不活性化してまた学習し直しても精度が落ちずにできるようである。
重みの値が小さいものを除くらしい。
人間のシナプスの数も生まれた時50trilionあって、一歳の時には1000trillionになるが、青年期になると500trillionになるようだ。
Weight Sharing
重みで1,98,1.88,2.12,2.03
のような重みは2で表す
ということにより必要なビット数を少なくすることができる。
重みの更新の際にも傾きを大体の数で表して更新するということもあるようだ。
Huffman coding
Squeeze net
1×1の畳み込み層を使い、全結合層を無くしパラメーターの数を少なくする
Quantization
重みの分布から最大値、最小値を考慮しbit数を決める
重みを学習させたら推測の際には-1,0,1 を使う
GPUも改良が進んでいるみたい