NeurIPS 2021 | 华为诺亚Oral论文:基于频域的二值神经网络训练方法

简介: NeurIPS 2021 | 华为诺亚Oral论文:基于频域的二值神经网络训练方法

二值神经网络(BNN)将原始全精度权重和激活用符号函数表征成 1-bit。但是由于常规符号函数的梯度几乎处处为零,不能用于反向传播,因此一些研究已经提出尝试使用近似梯度来减轻优化难度。然而,这些近似破坏了实际梯度的主要方向。

基于此,在一篇 NeurIPS 2021 论文中,来自华为诺亚方舟实验室等机构的研究者提出使用傅里叶级数的组合来估计频域中符号函数的梯度以训练 BNN,即频域逼近 (FDA)。所提方法不影响占整体能量大部分的原始符号函数的低频信息,并且将高频系数使用噪声拟合模块 (noise adaptation module) 进行估计以避免大量的计算开销。


论文地址:https://arxiv.org/pdf/2103.00841.pdf

在几个基准数据集和神经架构上的实验表明,使用该方法学习的二值网络实现了 SOTA 准确率。

数日前,在机器之心 2021 NeurIPS MeetUp China 上,论文一作许奕星为参会者解读了该论文,感兴趣的读者可以查看以下视频。

,时长14:39

方法

该研究提出的 FDA 方法,通过利用傅里叶级数 (FS) 来估计频域中的原始符号函数,FS 估计是使用无穷项时符号函数的无损表征。在实际应用中,能量相对较低的高频系数会被忽略,以避免巨大的计算开销,并将符号函数表征为固定数量的不同周期正弦函数的组合。与现有的逼近方法相比,该研究所提出的频域逼近方法不影响原始符号函数的低频域信息,即占用符号函数能量最多的部分。因此,原始符号函数相应梯度的主要方向能够被更准确地保持。


在论文中,该研究对所提方法做了详细的理论表述。

论文中用 f(·)和 f’(·)来表示原始函数及其对应的梯度函数。由于符号函数的梯度是一个无法反向传播的脉冲函数,需要应用进化算法(evolutionary algorithm)等零阶算法来达到最优解,但这是非常低效的。因此该研究提出找到一个代理函数,通过一阶优化算法(如 SGD)依靠实验求解,而理论上具有与符号函数相同的最优解。

已有研究证明,任何周期为 T 的周期信号都可以分解为傅里叶级数的组合:


其中 ω = 2π/T 是角频率,α_0/2 是直接分量,是正弦(余弦)分量的系数。具体来说,当周期信号呈方波时,有:


并推导出方波 s(t) 的 FS:


注意到当信号被限制在单个周期内时,符号函数与方波等同:


因此,符号函数也可以被分解为正弦(余弦)函数的组合,并且其导数如下:


然后,该研究提出使用上述等式 (8) 替换 STE 中的导数,以在反向传播期间更好地逼近符号函数。

当将信号从空间域转换到频域,使用无限项时,FS 分解是符号函数的无损表征,因此等式 (6) 可以重写为:

其中,n 是 FS 的项数,相应的导数是:


然后该研究进一步证明了随着 n 的增加,估计值和 s(t)之间的均方误差会逐渐减小,并在 n → ∞ 时收敛到 0。

为了进一步补偿细微的逼近误差,该研究在训练阶段添加了一个噪声适应模块来细化梯度。


实验及结果

为了展示 FDA-BNN 优越的性能,该研究在 CIFAR-10 数据集上进行了评估实验,实验结果如下表所示。


消融实验

为了验证所提方法中每个组件的有效性、噪声适应模块和超参数的影响,该研究进行了一系列的消融实验。

首先,该研究使用 ResNet-20 架构在 CIFAR-10 上实验验证正弦模块和噪声适应模块的效果,结果如下表所示。


从上表的结果看,使用正弦模块可使训练过程受益,将准确率从 84.44% 提高到 85.83%。将正弦模块和噪声自适应模块组合在一起时得到了最佳性能,即 86.20% 的准确率。

为了进一步验证噪声适应模块的用途,研究者将该模块添加到其他梯度逼近方法中,例如 DSQ 和 BNN+,结果如下表所示。


然后该研究评估了不同 η(·) 对噪声适应模块的影响。结果如下表所示,使用 shortcut 时性能更好,并且 shortcut function η(x) = α sin(x) 在实验过程中表现最好。


在 ImageNet 上的实验

该研究进一步在大规模数据集 ImageNet ILSVRC 2012 上进行了实验,使用 ResNet-18 和 AlexNet 进行实验,结果如下表所示。


对于 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 方法。

相关文章
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
68 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
2月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
71 3
|
16天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
61 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
8天前
|
域名解析 缓存 网络协议
优化Lua-cURL:减少网络请求延迟的实用方法
优化Lua-cURL:减少网络请求延迟的实用方法
|
29天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
52 8
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
113 1
|
1月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
1月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
56 2
|
2月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
83 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
69 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)

热门文章

最新文章