From Hashing to CNNs: Training Binary Weight Networks via Hashing

匿名 (未验证) 提交于 2019-12-03 00:22:01

Abstract

本文在二值化权重(BWN)方面做出了创新,发表在AAAI2018上,作者是自动化所程建团队。本文的主要贡献是提出了一个新的训练BWN的方法,揭示了哈希与BW(Binary Weights)之间的关联,表明训练BWN的方法在本质上可以当做一个哈希问题。基于这个方法,本文还提出了一种交替更新的方法来有效的学习hash codes而不是直接学习Weights。在小数据和大数据集上表现的比之前的方法要好。

  • 本文揭示了保持内积哈希与BWN之间的紧密关联。
  • 为了减轻用哈希方法所带来的loss,本文将binary codes乘以了一个scaling factor并用交替优化的策略来更新binary codes以及factor。
  • 在Cifar10,Cifar100以及ImageNet上实验,本文提出的BWNH方法比之前方法要好。

Inner-product preserving hashing

保留内积哈希方法是沈老师团队在15年ICCV上提出的,方法是给定两个点集XRS×MWRS×NXiRS×1以及WiRS×1分别代表向量XW的第i个点,记作向量XW的内积相似性(inner-product similarity)为SRM×N。则目标函数变为:

minSh(X)Tg(W)F2(1)

h()g()表示的是向量XW的哈希函数。

假设有一个L层pre-trained CNN model,XRS×M是第L层的input feature map.记作第L层的权重的真实值为WRS×N,目标是得到二进制的weighs B{1,+1}S×N,天真的想法可能就是直接优化二者的差:

minL(B)=WBF2s.t.B{+1,1}S×N(2)

优化上式的解就是B=sign(W).直接来优化W会导致accuracy的严重下降。这时我们可以优化内积相似性的quantiztion error:
minL(B)=XTWXTBF2s.t.B{+1,1}S×N(3)

我们可以发现公式(3)和公式(1)很相似,令S=XTW,B=g(W),h(X)=X,这时两个等式是一致的。换句话说,训练一个二值化网络(BWN)本质上就转化称为了一个哈希问题。由于h(X)=X是一个确定的公式,所以不用学习X的哈希codes。这可以用在哈希空间的ACD(asmmetric distances calculation)方法来实现。
其实公式(3)有时候仍然会导致accuracy的下降(原因?)。本文采用了在每个hashing codes Bi上乘以一个scaling factor:g(W)=BAA是一个对角矩阵,αi=Aii对应Bi的scaling因子,这样目标函数就变为:
minL(A,B)=SXTBAF2=iNSiαiXTBiF2(5)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!