淘先锋技术网

首页 1 2 3 4 5 6 7

欢迎关注“计算机视觉研究院

计算机视觉研究院专栏

作者:Edison_G

神经网络压缩是指在对神经网络性能影响不大的情况下,通过有关方法来减少网络的参数和存储空间,大体上可以分为近似量化剪枝三类方法。

扫码关注」 获取更多资源

1、简要

为了降低随机存取存储器(RAM)的要求,并提高识别算法的速度,考虑了训练神经系统的权重离散化问题,在比特数为1或2时达到相同的精度。在3bit指数离散化的情况下,神经网络VGG-16的性能已经令人满意(top5精度69%,ResNet50神经网络在4bit时top5的精度为84%。其他神经网络在5bit时表现相当好(Xception、Inception-v3和MobileNet-v2 top5的精度分别为87%、90%和77%)。在较少的比特数下,精度迅速下降。

近日,来自俄罗斯人民友谊大学(RUDN)的数学家团队找到一种方法,可以将训练后的神经网络的大小减小六倍,而无需花费更多的资源来对其进行重新训练。该方法基于找到初始系统及其简化版本中神经连接权重之间的相关性。这项研究的结果发表在《Optical Memory and Neural Networks》期刊上。

2、回顾

目前的神经网络包括数百万个参数,它们的大小越来越大。 这是一个全球性的问题,阻止在移动设备和不同芯片上部署神经网络。 

例如,即使是一个相对较小的预训练神经网络VGG16设计成图像分类,在设备的内存中约占553MB。 有不同的方法允许我们减少预训练的神经网络的大小。 特别是,其中一种方法是离散化,即通过将权重分布区间划分为离散值来减小神经网络权值的比特宽度。 将离散化应用于预训练神经网络,大大减小了权重的大小,并“减轻”了神经网络,使其适用于移动设备上的实现和发射。

在[Kryzhanovsky, B.V., Kryzhanovsky, M.V. & Malsagov, M.Y. Discretization of a matrix in quadratic functional binary optimization. Dokl. Math. (2011) 83: 413. https://doi.org/10.1134/S1064562411030197;Kryzhanovsky M.V., Malsagov M.Yu. Modification of Binary Optimization Algorithm and Use Small Digit Capacity Numbers. "Optical Memory and Neural Networks (Information Optics)". Vol.20. №3. pp. 194–200, 2011. https://doi.org/10.3103/S1060992X11030052.]论文中,他们研究了神经网络的裁剪操作和矩阵权值的量化,并获得了Hopfield神经网络权值的最优离散表示的解析估计,以及所获得的模型中误差概率的公式。 

对于基于二元神经元的Hopfield模型,证明了连接权重的最优离散对应于输入和离散权重之间的相关性最大化。 在今天分享中,作者使用了同样的思想,但是对于前馈深度神经网络。

3、Description of discretization procedure

Linear partition

在这种情况下,我们将分布的区间划分为相同的区间:

Exponential partition

在指数分区的情况下,随后的间隔相对于第一个区间呈指数增长:

The value of X0

在实现线性和指数离散化算法时,需要定义初始数x。 这样做,最大限度地提高了32位(全精度)权重和离散权重之间的相关性。 设x0是层中权值的初始值,设y是离散值。 相关的表达式有形式:

Rounding of numbers

4、Discretization results for random numbers

测试了两种分布的离散化过程,即高斯拉普拉斯分布。 在这两种情况下,使用给定分布的10000个数字来生成一个向量,然后使用上述方法之一进行离散化。 将参数x0从0到1,并将位数从2改为6。 在表1和表2中收集了获得的结果,并在图3和图4中显示了它们。

在上图中,给出了神经网络离散化的过程。 应特别注意倒数第二排。 重点是相关性的最大化不是精确离散化的唯一标准。 我们可以将离散化的数乘以任意数,而不改变相关值。 这就是为什么在研究中,额外乘以离散化的权重,使它们的色散在离散之前和之后保持不变的原因。

从下图我们看到线性离散化的量化是指数离散化后的一个比特,在某些情况下是两个比特(VGG-16是一个例子)。

5、拓展

生命体中人工神经网络和神经元的结构是基于相同的原理。网络中的节点是相互连接的;其中一些接收信号,一些通过激活或抑制链中的下一个元素来发送信号。任何信号(例如图像或声音)的处理都需要很多网络元素及其之间的连接。但是,计算机模型只有有限的模型容量和存储空间。为了处理大量数据,这一领域的研究者必须发明各种方法来降低对模型能力的需求,包括所谓的量化。这有助于减少资源消耗,但需要对系统进行重新训练。RUDN 大学的一些数学家发现后者可以避免。

RUDN 大学 Nikolskii 数学研究所助理教授 Iakov Karandashev 博士说:「几年前,我们在 Hopfield 网络中进行了有效且经济高效的权重量化。这是一个关联存储网络,并带有遵循 Hebb 规则形成的元素之间的对称连接。在其运行过程中,网络的活动被降低到某个平衡状态,并且在该状态达到时任务就被认为是已经解决了,该研究中获得的见解后来被应用于当今在图像识别中非常流行的前馈深度学习网络。通常这些网络需要在量化后进行重新训练,而我们找到了避免重新训练的方法。」

简化人工神经网络背后的主要思想是所谓的权重量化,即减少每个权重的位数。量化提供信号的均值化:例如,如果将其应用于图像,则代表相同颜色不同阴影的所有像素将变得相同。从数学上讲,这意味着借助某些参数的相似神经连接应该具有相同的权重(或重要性),即表示成同一个数字。

RUDN 大学的一个数学家团队进行了计算并创建了公式,该公式可以有效地在量化前后,在神经网络的权重之间建立相关性。基于此,科学家们开发了一种算法,利用该算法,经过训练的神经网络可以对图像进行分类。在该研究的实验中,数学家使用了包含 5 万张照片的数据集,这些照片包可以被分为 1000 组。训练之后,该网络会使用新方法进行量化,并且不进行重新训练。然后,该研究将实验结果与其他量化算法进行了比较。

RUDN 大学的 Iakov Karandashev 补充说道:「量化之后,分类准确率仅降低了 1%,但是所需的存储容量减少了 6 倍。实验表明,由于初始权重与量化后权重之间的相关性很强,该网络不需要重新训练。这种方法有助于在完成时间敏感任务或在移动设备上运行任务时节省资源。」

论文链接:https://arxiv.org/abs/2002.00623

© THE END 

我们开创“计算机视觉协会”知识星球一年有余,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

如果想加入我们“计算机视觉研究院”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

计算机视觉研究院

长按扫描二维码关注我们