深度卷積神經網絡在計算機視覺任務中有著廣泛的應用。然而由于神經網絡常常具有較大的計算量,其無法被直接應用在例如手機、無人車等移動設備上。于是,如何壓縮神經網絡使得他們可以被應用在資源受限的設備上已成為研究的熱點。
圖1:不同比特乘法和加法的運算代價對比
加法,減法,乘法和除法是數學中最基本的四個運算。眾所周知,乘法的運算速度比加法慢。圖1展示了加法和乘法在45nm元器件上的運算代價,可以看到,乘法的運算代價大大高于加法。然而現有的深度卷積神經網絡包含著大量的乘法運算,帶來了極大的運算代價。實際上,CNN中的卷積運算是計算特征和卷積核之間的互相關性。卷積被作為看作是從視覺數據中提取特征的默認操作,以往的工作引入各種方法來加速卷積。但是,幾乎沒有研究者嘗試用另一種更有效的相似性度來量代替卷積。由于加法的計算復雜度比乘法低得多。因此,我們研究卷積神經網絡中用加法代替乘法的可行性。
在本論文中,我們提出了AdderNet,一種幾乎不包含乘法的神經網絡。不同于卷積網絡,我們使用L1距離來度量神經網絡中特征和濾波器之間的相關性。由于L1距離中只包含加法和減法,神經網絡中大量的乘法運算可以被替換為加法和減法,從而大大減少了神經網絡的計算代價。此外,我們設計了帶有自適應學習率的改進的梯度計算方案,以確保濾波器的優化速度和更好的網絡收斂。在CIFAR和ImageNet數據集上的結果表明AdderNet可以在分類任務上取得和CNN相似的準確率。