✨ 要点🔬 技术摘要
在现代世界中,计算机在识别模式方面已经变得异常出色,从识别照片中的猫到理解口语。这种能力源于一种被称为神经网络的软件,它旨在通过将许多简单的处理单元连接在一起,来模拟人类大脑处理信息的方式。为了使这些网络变得智能,必须使用海量数据对其进行训练,这一过程需要计算机执行数十亿次复杂的计算。传统上,这些计算高度依赖于乘法,这是一种在数学上很直接的操作,但若要快速执行,则需要大量的能量和专门的硬件。当我们试图在智能手机或传感器等较小的电池供电设备上运行这些智能系统时,对乘法的巨大需求成为了一个瓶颈,消耗着电量并减慢了学习过程。
南加州大学的一个研究小组提出了一种处理这些计算的不同方式,这种方式可以使这些网络的训练变得更加高效。他们建议不再执行传统方法所要求的标准乘法,而是将所有数字转换为对数格式。在这个系统中,两个数字相乘这一困难任务被两个数字相加这一简单得多的任务所取代。虽然这种转换听起来很有前景,但它也引入了一个新的挑战:在这种对数格式下进行加法并不像标准加法那样简单,通常需要复杂的查找表或近似值才能正确运行。研究人员着手研究是否可以进一步简化这些加法,使用硬件易于构建的粗略近似值,且不破坏最终结果的准确性。
研究人员开发了一个完整的系统,使神经网络的整个训练和测试过程都发生在这个对数世界中。他们用加法取代了标准的乘法步骤,并使用两种特定的捷径来处理对数加法中棘手的部分。其中一种捷径使用一个包含预计算值的微型表格,类似于一张“小抄”;而另一种则使用简单的位移技术,这是计算机乘以 2 的幂次的一种快速方式。为了测试他们的想法,他们构建了一个神经网络的数字模拟,并在几个著名的图像数据集上对其进行了训练,包括手写数字和衣物的图片。他们将这种新的对数方法与目前大多数高性能计算机所使用的标准高精度浮点法进行了对比。
结果令人感到惊喜地鼓舞人心。当研究人员对数字使用 16 位表示法时,该对数方法实现的分类准确率与标准浮点法之间的差距在 1% 左右。这意味着尽管使用了简化的数学运算和近似值,该网络学习识别图像的能力几乎与传统系统一样好。他们发现,即使使用仅包含 20 个条目的极小查找表,系统也能表现良好,并且在许多情况下,简单的位移捷径就足以维持高准确度。研究表明,对于许多常见任务,在对数域中使用 16 位定点表示法足以接近更为复杂的浮点计算的性能。
这项工作证明,只要使用这些特定的近似处理加法操作,就可以在不依赖昂贵的乘法硬件的情况下训练深度神经网络。研究人员表明,准确性的下降是微乎其微的,这表明未来的硬件设计有可能在训练和推理任务中完全消除乘法器。这将带来更小、更快、更节能的设备,使其能够在边缘侧直接进行学习和适应,而无需将数据传回大型服务器。虽然这项研究侧重于特定类型的网络和数据集,但研究结果指明了一条可行路径,使先进的人工智能对于日常设备而言变得更加易于获取且更具实用性。
技术摘要:基于近似对数计算的神经网络训练
问题陈述 与训练深度神经网络(DNN)相关的高计算复杂度限制了在边缘设备上进行在线和实时训练的可行性。虽然图形处理器(GPU)提供了大规模的硬件乘累加(MAC)加速器,但它们是通用型的,可能无法高效利用硬件进行 DNN 处理。定制化硬件加速器通过协同设计为提高速度和能效提供了路径,但 MAC 单元中乘法器电路的主导地位仍然是一个显著的瓶颈。现有的复杂度降低方法通常侧重于稀疏性、剪枝或量化,但需要能够从根本上降低 MAC 单元本身复杂度的方案。
方法论 本文提出了一种用于 DNN 的端到端训练和推理方案,通过使用对数数制(LNS)在对数域内执行所有计算,从而消除了乘法。在 LNS 中,实数 v v v 由其绝对值的对数(V = log 2 ∣ v ∣ V = \log_2 |v| V = log 2 ∣ v ∣ )及其符号(s v s_v s v )表示。这种变换将线性域的乘法转换为对数域的加法。
LNS 中的主要挑战是对数域加法操作,这需要计算复杂的 Δ \Delta Δ 项(Δ + \Delta_+ Δ + 和 Δ − \Delta_- Δ − )来处理对数之和。为了解决这个问题,作者提出了受硬件友好型技术启发的低复杂度近似方法:
查找表(LUTs): 预计算的 Δ ± ( d ) \Delta_\pm(d) Δ ± ( d ) 表,其中 d d d 是对数值之间的差值。
位移近似(Bit-Shift Approximations): 将之前的位移方法推广以处理有符号算术。这些近似被证明是具有特定分辨率的 LUT 的特例。
训练过程完全在对数域中使用定点数据表示实现。作者将标准的 DNN 组件适配到该领域:
激活函数: 将 leaky-ReLU 转换为对数 leaky ReLU (llReLU)。
权重初始化: 对称分布被转换为对数域,其中符号变为伯努利变量。
Soft-max: 对 soft-max 层和交叉熵代价进行了针对对数域操作的重新构建。
定点分析: 本文分析了位宽需求,指出虽然最坏情况分析表明对数域表示比线性域等效表示需要更多比特,但实证结果表明它们可以达到相当水平。
核心贡献
端到端对数域训练: 作者展示了一个使用近似 LNS 计算的完整 DNN 训练和推理流水线,消除了对乘法器的需求。
广义位移近似: 本文扩展了现有的位移近似方法以处理有符号算术,并确立了它们与特定 LUT 配置的等效性。
定点实现: 一个用于使用定点 LNS 实现 DNN 训练的全面框架,包括针对激活函数、权重初始化和 soft-max 层的特定适配。
实验结果 作者使用多层感知器(MLP)架构在四个数据集(MNIST、Fashion-MNIST、EMNIST-Digits 和 EMNIST-Letters)上评估了所提方法。他们对比了线性域和对数域(同时使用 LUT 和位移近似)中的 12 位和 16 位定点实现与浮点基准。
准确率: 在测试的数据集中,基于 16 位对数的训练在分类准确率上与等效的浮点基准相比,误差在约 1% 以内。
近似敏感度: 研究发现对数域 soft-max 层比其他操作对近似误差更敏感,与标准操作(20 个元素)相比,它需要更高分辨率的 LUT(640 个元素)。
位移性能: 简单的位移近似(可视为等效于较小的 LUT)在许多情况下提供了良好的分类性能,尽管 LUT 通常能产生略好的结果。
精度: 对数域中的 16 位定点表示足以接近浮点计算的准确度,而 12 位实现显示出略高的性能下降。
意义与主张 本文声称,所提方法允许在没有乘法器的情况下实现 DNN 训练和推理的硬件实现,从而可能显著降低实现复杂度和能耗。作者得出结论:
使用 max 操作、加法器和基于 LUT 的 Δ \Delta Δ 项近似来近似对数域加法,与线性处理相比,分类准确率仅出现轻微下降。
16 位定点表示足以实现与浮点计算相当的性能。
对于大多数操作,大小为 20 的 LUT 已足够,且简单的位移近似在许多场景下是可行的替代方案。
作者在实际部署方面保持了审慎的态度,指出若要使该方法具有吸引力,近似对数域加法器的电路实现复杂度必须显著低于乘法器。他们将未来的研究方向确定为将该方法应用于更大的卷积神经网络,并针对准确率和硬件复杂度对 Δ \Delta Δ 项近似进行协同优化。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。