---
# System prepended metadata

title: Join the High Accuracy Club on ImageNet with A Binary Neural Network Ticket
tags: [PYChou, Quantization, Knowledge Distillation, Binary Neural Network]

---

# Join the High Accuracy Club on ImageNet with A Binary Neural Network Ticket
論文作者: Nianhui Guo, Joseph Bethge, Christoph Meinel, Haojin Yang

整理by: PYChou

- - - - - 
 

## 前言: 二元神經網路的目標

這篇的主題在獎如何將神經網路的權重從32 bits壓縮至1 bit，從而加速運算，這種加速會對硬體的加速也有幫助。另外就是可以用更少的儲存空間來存模型。

此篇為第一個二元神經網路在ImageNet的準確率表現超過80%(top-1)，個人認為此篇的確有集合了許多過去的優點，是在此領域值得一讀的方法。

- - - - - 

## 0. 量子速讀版

透過:

* 設計BNN Module，實現有足夠capacity的模型, 新的架構取名為BNex
* 使用多個teacher的知識蒸餾
* 資料強化在BNN網路訓練上的應用

$\Rightarrow$ 在ImageNet的表現上，Top-1 80.4% (BNext-L, #Param 47.6MB)

- - - - - 

## 1. 首先要瞭解

這個任務首先會遇到的問題是參數沒辦法修正，為了讓模型二值化，在前段地的時候會使用sign函數讓輸出為二值，但是因為sign函數不可微，就會導致沒辦法修正的情況。
> (哎呀~ 成也倒傳遞、敗也倒傳遞)

為了解決這個問題，Matthieu Courbariaux等人在BinaryNet[[6]()] 提出了straight-through-estimation(STE)來解決。

### 1.1 Straight-through-estimation, STE

關鍵概念是在前傳遞跟倒傳遞要拆開來處理，前傳遞的部分使用

### 1.2 Fake-quantize (from QAT[[58]()])

在訓練好一個模型後，在前傳遞時，

- - - - - 

## 2. 論文介紹







## Reference(順序照論文內的)
[6] [BNN](https://hackmd.io/CcZcxBNRRIGUBdSGbn5SQA)
[17] [Augmentation Repetition](https://hackmd.io/aTYHpOyySL-r3DYhD7kYrA)

......額外的引用......
[58] [QAT](https://hackmd.io/gb9oZpGlTXq47Gbzp9B0qw)