2017年 10月 12日 ( 1 )

4値化?

次はアクセラレータのテナリ化かな?とも思ったのですが、なんで4値じゃなくて3値なんだろうかと疑問を持っています。
まあ、3値だと掛け算しても3値のままだから便利なんだろうけど、ここでは掛け算の相手は2値だから4値でも良いよね。
で、試してみる前に、今まで気になっていた乱高下の原因を突き止めたいです。バイナリネットでは入力データの正規化は必要ないんじゃないかと思いついたので試してみました。
左がウェイトだけ2値化、右はアクティべーションも2値化。
f0054075_20365912.pngf0054075_21181478.png
まぁ多少はましになったのかな?では本番。左が3値化で右が4値化です。
f0054075_22371580.pngf0054075_23483700.png

テスト時の認識精度をまとめてみました。やっぱり4値を使った方が良いみたいですねぇ。人の真似しているだけじゃなくて、自分で考えないと駄目ですねぇ。
f0054075_23511832.png
ちなみにアクティベーション関数は下のような感じです。逆伝搬はどれも STE を使います。
f0054075_23583658.png

[PR]
by tom01h | 2017-10-12 23:59 | Trackback | Comments(0)