Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ニューラルネットの1bit化 / 1bit-neural-network

shun74
July 13, 2022

ニューラルネットの1bit化 / 1bit-neural-network

Explanation of what is 1bit neural network .

shun74

July 13, 2022
Tweet

More Decks by shun74

Other Decks in Programming

Transcript

  1. ニューラルネットの1bit化
    B4 shun sato

    View Slide

  2. 本日のお話
    ● ニューラルネットとは
    ● ニューラルネットの1bit化
    ● 1bit化のメリット
    ● FPGAによる爆速化

    View Slide

  3. ニューラルネットとは
    ● 人間のシナプス結合を模倣
    ● 掛け算足し算をたくさんやる
    ● 出力と答えの誤差を微分して学習
    ニューラルネット内の数値表現
    ● 入力 :float32, int32, uint8…
    ● 重み :float32
    ● バイアス :float32
    ● 出力・答え :float32, int32, uint8…
    シナプス結合
    ニューラルネット(多層パーセプトロン)

    View Slide

  4. ニューラルネットの1bit化
    内部の表現をいろいろと1bit化する
    式:
    ⇢⇢⇢
    1bit化
    重み・活性化関数・正則化などが1bit化可能
    ※ここでいう1bitとは{-1, 1}のことです

    View Slide

  5. 1bit化のメリット
    ● メモリ大幅削減!
    float32 ⇢ 1bitでメモリ消費が1/32になる
    ● 計算の単純化 ⇢ 高速化・省電力
    ● FPGAによる爆速化 (次のスライド)
    1bitの掛け算はXNORと同じ
    ⇢ ALUを使わなくても計算可能
    足し算もbit countで高速に処理

    View Slide

  6. FPGAによる爆速化
    FPGA = Field Programmable Gate Array (その場で書き換え可能な集積論理回路)
    ⇠こういうやつ
    高位合成でプログラムするのが一般的
    HDLでもプログラム可能
    LUT(Look up table)を使った高速な計算が可能
    浮動小数点演算 :速くて40クロックぐらい
    LUT+FFによる演算 :数クロック
    LUTで数値を取り出してFFに入力

    View Slide

  7. FPGAの実験
    ⇠ FPGAのみの実験結果
    ネットワークの大きさはSFC手元でSFCをGPUで動かしたら9500FPSぐらいだった
    1bit+FPGAにすれば約1000倍速(1200万FPS)になる?
    LUTは回路の面積も小さいので省電力

    View Slide

  8. デメリットもあるよね?
    ● 普通に1bit化すると大幅な精度低下
    ● ニューラルネットの1bit化について様々な研究が存在
    ● Binary Connect:BC (CVPR 2015) https://arxiv.org/abs/1511.00363
    NNの重みを1bit化した初のモデル
    ● Binarized Neural Network:BNN (NIPS 2016) https://arxiv.org/abs/1602.02830
    BCの活性化関数を1bit化
    計算のボトルネックになるBatchNormalizationをシフト演算化
    ● XNOR-Net (CVPR 2016) https://arxiv.org/abs/1603.05279
    BNNの演算に係数をつけて大規模データセットにも対応
    畳み込みブロックの順序を変えて精度を向上

    View Slide

  9. 参考文献
    ● ニューラルネット https://sinhrks.hatenablog.com/entry/2014/11/30/192940
    ● 1bit化とハードウェア https://www.slideshare.net/kentotajiri/ss-77136469
    ● 演算のクロック数 http://rakasaka.fc2web.com/delphi/numop.html
    ● FPGAの大手企業 Xilinx https://xilinx.com/

    View Slide