常规符号函数的梯度几乎处处为零,不能用于反向传播。为此,来自华为诺亚方舟实验室等机构的研究者提出一种在频域中估计原始符号函数梯度的新方法。
二值神经网络(BNN)将原始全精度权重和激活用符号函数表征成 1-bit。但是由于常规符号函数的梯度几乎处处为零,不能用于反向传播,因此一些研究已经提出尝试使用近似梯度来减轻优化难度。然而,这些近似破坏了实际梯度的主要方向。基于此,在一篇 NeurIPS 2021 论文中,来自华为诺亚方舟实验室等机构的研究者提出使用傅里叶级数的组合来估计频域中符号函数的梯度以训练 BNN,即频域逼近 (FDA)。所提方法不影响占整体能量大部分的原始符号函数的低频信息,并且将高频系数使用噪声拟合模块 (noise adaptation module) 进行估计以避免大量的计算开销。![](https://image.jiqizhixin.com/uploads/editor/0399ccf5-b8ac-47f5-82fe-3986826099be/640.png)
论文地址:https://arxiv.org/pdf/2103.00841.pdf在几个基准数据集和神经架构上的实验表明,使用该方法学习的二值网络实现了 SOTA 准确率。数日前,在机器之心 2021 NeurIPS MeetUp China 上,论文一作许奕星为参会者解读了该论文。该研究提出的 FDA 方法,通过利用傅里叶级数 (FS) 来估计频域中的原始符号函数,FS 估计是使用无穷项时符号函数的无损表征。在实际应用中,能量相对较低的高频系数会被忽略,以避免巨大的计算开销,并将符号函数表征为固定数量的不同周期正弦函数的组合。与现有的逼近方法相比,该研究所提出的频域逼近方法不影响原始符号函数的低频域信息,即占用符号函数能量最多的部分。因此,原始符号函数相应梯度的主要方向能够被更准确地保持。![](https://image.jiqizhixin.com/uploads/editor/5f8947d2-a06a-4d17-8fa8-995d2fc42c0a/640.png)
论文中用 f(·)和 f’(·)来表示原始函数及其对应的梯度函数。由于符号函数的梯度是一个无法反向传播的脉冲函数,需要应用进化算法(evolutionary algorithm)等零阶算法来达到最优解,但这是非常低效的。因此该研究提出找到一个代理函数,通过一阶优化算法(如 SGD)依靠实验求解,而理论上具有与符号函数相同的最优解。已有研究证明,任何周期为 T 的周期信号都可以分解为傅里叶级数的组合:![](https://image.jiqizhixin.com/uploads/editor/5481853a-921a-4ca4-a97a-09dbf63cffad/640.png)
其中 ω = 2π/T 是角频率,α_0/2 是直接分量,
是正弦(余弦)分量的系数。具体来说,当周期信号呈方波时,有:![](https://image.jiqizhixin.com/uploads/editor/ce98204c-5fea-4f0b-af20-71168675a6e5/640.png)
![](https://image.jiqizhixin.com/uploads/editor/601ff8e2-ea33-4680-b906-b5664fd81178/640.png)
注意到当信号被限制在单个周期内时,符号函数与方波等同:![](https://image.jiqizhixin.com/uploads/editor/0276464f-17fd-4f5a-a5c7-498519ce667a/640.png)
因此,符号函数也可以被分解为正弦(余弦)函数的组合,并且其导数如下:![](https://image.jiqizhixin.com/uploads/editor/38aa1070-d6c9-4716-a90d-49f061acea15/640.png)
然后,该研究提出使用上述等式 (8) 替换 STE 中的导数,以在反向传播期间更好地逼近符号函数。当将信号从空间域转换到频域,使用无限项时,FS 分解是符号函数的无损表征,因此等式 (6) 可以重写为:![](https://image.jiqizhixin.com/uploads/editor/65dc0fd7-1d00-4097-b223-ea0d3646274f/640.png)
然后该研究进一步证明了随着 n 的增加,估计值
和 s(t)之间的均方误差会逐渐减小,并在 n → ∞ 时收敛到 0。为了进一步补偿细微的逼近误差,该研究在训练阶段添加了一个噪声适应模块来细化梯度。![](https://image.jiqizhixin.com/uploads/editor/0d80b016-e62f-488a-8546-8e4a6e0dfbf6/640.png)
为了展示 FDA-BNN 优越的性能,该研究在 CIFAR-10 数据集上进行了评估实验,实验结果如下表所示。![](https://image.jiqizhixin.com/uploads/editor/50433f72-acff-45b1-b1fe-19f70dcbfe71/640.png)
为了验证所提方法中每个组件的有效性、噪声适应模块和超参数的影响,该研究进行了一系列的消融实验。首先,该研究使用 ResNet-20 架构在 CIFAR-10 上实验验证正弦模块和噪声适应模块的效果,结果如下表所示。![](https://image.jiqizhixin.com/uploads/editor/e39e47a8-af83-4ed8-a8c8-6149e3cf7e19/640.png)
从上表的结果看,使用正弦模块可使训练过程受益,将准确率从 84.44% 提高到 85.83%。将正弦模块和噪声自适应模块组合在一起时得到了最佳性能,即 86.20% 的准确率。为了进一步验证噪声适应模块的用途,研究者将该模块添加到其他梯度逼近方法中,例如 DSQ 和 BNN+,结果如下表所示。![](https://image.jiqizhixin.com/uploads/editor/7920a38f-9b59-49b4-93a0-d7607cc61e4c/640.png)
然后该研究评估了不同 η(·) 对噪声适应模块的影响。结果如下表所示,使用 shortcut 时性能更好,并且 shortcut function η(x) = α sin(x) 在实验过程中表现最好。![](https://image.jiqizhixin.com/uploads/editor/1e0879d4-b62d-47c7-9926-12da49bc9388/640.png)
该研究进一步在大规模数据集 ImageNet ILSVRC 2012 上进行了实验,使用 ResNet-18 和 AlexNet 进行实验,结果如下表所示。![](https://image.jiqizhixin.com/uploads/editor/ca72c388-a7a1-4923-aef2-e5412c74d8d9/640.png)
对于 ResNet-18,FDA-BNN 实现了 60.2% 的 top-1 准确率和 82.3% 的 top-5 的准确率,比基线方法(Bireal-Net + PReLU)高出 1.2% 和 1.0%,并超过所有其他方法。当以 ReActNet 作为基线方法,并使用该研究所提方法计算符号函数的梯度, FDA-BNN 达到了 66.0% 的 top-1 准确率,86.4% 的 top-5 准确率,比基线方法分别高出 0.5% 和 0.3%。对于 AlexNet,该研究使用 Dorefa-Net 中的量化方法作为基线方法,FDA-BNN 实现了 46.2% 的 top-1 准确率和 69.7% 的 top-5 准确率,并优于其他 SOTA 方法。 理论二值化神经网络华为诺亚方舟实验室NeurIPS 2021