正则化?正交化!改善紧凑型网络


当其他公司正在讨论远程管理团队时,Smart Engines的我们将继续与您共享我们的技术堆栈。今天关于神经网络的优化。要建立一个基于神经网络的识别系统,该系统可以在智能手机和其他移动设备上快速运行,是非常困难的。并且要确保高质量是更加困难的。在本文中,我们将讨论一种简单的规范化神经网络的方法,该方法用于Smart Engine中,以通过少量参数提高“移动”网络的质量。该方法的思想是基于训练过程中卷积层中滤波器的线性依赖性逐渐​​降低,因此每个神经元都能更有效地工作,因此模型的泛化能力得到了提高。为此,我们以一维矢量的形式呈现滤波器,并将投影长度最长的一对彼此正交。

在设计大多数现代神经网络时,可以理解的是,它们将在服务器上的某个远程位置执行,并且用于处理的数据将通过PC或移动设备上的客户端来进行。但是,对于您不想转移到某个地方的个人数据(例如,护照照片或用于识别的银行卡)的安全性,这种方法是不可接受的。对我们来说幸运的是,当今的移动设备具有足够的能力来运行神经网络,因此您可以避免将数据发送给第三方。另一件事是,这些网络应该很小,并且包含少量操作,以免测试用户的耐心。这样的条件限制了他们最大的工作质量,以及如何在不牺牲运行时间的情况下改善轻量级网络是一个悬而未决的问题。对此进行反思,我们提出了一种新的神经网络正则化方法,该方法侧重于紧凑型网络并包括卷积滤波器的正交化。

该帖子是报告``通过正交化进行卷积神经网络权重正则化''的简短版本,该报告于2019年11月在荷兰阿姆斯特丹的ICMV 2019国际会议上发表。

使用正交化进行正则化的想法


由于所提出的方法与正则化有关,因此我们首先简要回顾一下它是什么。正则化包括根据我们关于应如何解决任务的想法对模型施加一些限制。结果,提高了网络的泛化能力。例如,L1正则化通过使网络放电来使部分平衡归零,L2-将系数保持在较小的范围内,Dropout消除了单个神经元的依赖性等。这些方法是许多现代网络学习过程中不可或缺的一部分,尤其是当它们包含大量参数时-正则化使您可以很好地应对再培训。

现在回到我们的方法。我们立即提出保留,首先,我们考虑使用卷积神经网络对图像进行分类的问题。我们使用正交化的基础是如下假设:如果网络的资源极其有限,无法用于数据中的模式概念,则必须使网络中的每个神经元尽可能高效地工作,并使其执行严格分配给它的功能。换句话说,这样它“组合”了任何其他神经元都无法检测到的特征。我们通过逐渐减少训练期间神经元权重向量之间的线性关系来解决此问题。为此,我们修改了经典的正交化算法,使其适应了学习过程的实际情况。

卷积滤波器正交化


将卷积层过滤器定义为一组向量,其中c是卷积层的索引,N是其中的过滤器数。在误差的反向传播期间更新权重后,在每个卷积层中,我们寻找一对最大投影长度彼此



重叠的向量向量f gf k的投影可以计算为。然后,为了使滤波器f af b正交,我们将Gram-Schmidt算法的第一步替换为



以下公式:



其中η是学习速度,麦芽汁正交系数,其值位于间隔[0.0,1.0]上。引入正交化系数的原因是,滤波器的“瞬时”正交化极大地破坏了学习过程,从而消除了过去迭代中权重的系统变化。麦芽汁保留了学习的动力,并有助于分别减小每一层中过滤器之间的线性关系。我们再次注意到该方法的一个重点:在一次迭代中,我们仅修改了一个向量,以免损害优化算法。


图。可视化一次迭代。

我们仅考虑卷积滤波器的正交化,因为在现代神经网络中,卷积层构成了体系结构的很大一部分。但是,该算法很容易推广到完全连接层中神经元的权重。

实验


我们从理论转向实践。对于实验,我们决定使用2个最受欢迎的数据集来评估计算机视觉领域的神经网络-MNIST(手写数字图像的分类)和CIFAR10(10类照片-船,卡车,马等)。

由于我们假设正交化主要对紧凑型网络有用,因此我们采用了类似LeNet的体系结构,进行了3​​次修改,它们在卷积层中的滤波器数量方面彼此不同。表1中显示了我们网络的体系结构,为方便起见将其称为LeNet 1.0。从其派生的LeNet 2.0和LeNet 3.5体系结构通过卷积层中的大量过滤器(分别是2倍和3.5倍)来区分。

选择激活功能后,我们之所以在ReLU停下来,不仅是因为它是最流行且计算效率最高的功能(提醒您,我们仍在谈论快速网络)。事实是,使用非分段线性函数可以消除正交化的影响:例如,双曲线正切会严重扭曲输入向量,因为它在接近饱和的区域具有明显的非线性。

表1.实验中使用的LeNet 1.0网络体系结构。
层数
一种参量
激活功能
1个转换8个滤镜3x3,步幅1x1,无填充露露
2转换16个滤镜5x5,步幅2x2,填充2x2露露
3转换16个滤镜3x3,步幅1x1,填充1x1露露
4转换32个滤镜5x5,步幅2x2,填充2x2露露
5转换32个滤镜3x3,步幅1x1,填充1x1露露
6转换32个滤镜3x3,步幅1x1,填充1x1露露
7完全连接10个神经元软最大

我们尝试了正交系数麦芽汁的 3个值:0.01、0.05、0.1。所有实验均进行了10次,并对结果取平均值(错误率的标准偏差(std列在结果表中)。我们还计算出错误(收益数量减少了百分之几 实验结果证实,正交性的改进越大,网络中的参数越小(表2和3)。我们还获得了一个有趣的结果,即在“重”网络的情况下使用正交化会导致质量较差。 表2. MNIST的实验结果




MnistLeNet 1.0(52k参数)LeNet 2.0(17.9万个参数)LeNet 3.5(378k参数)
错误率性病效益错误率性病效益错误率性病效益
基准线0.402%0.033--0.366%0.026--0.361%0.028--
麦芽汁= 0.010.379%0.0275.72%0.355%0.013.01%0.359%0.0260.55%
麦芽汁= 0.050.36%0.02210.45%0.354%0.0183.28%0.356%0.0341.39%
麦芽汁= 0.10.368%0.0158.46%3.53%0.0243.55%0.353%0.0182.22%

表3. CIFAR10的实验结果
Cifar10LeNet 1.0(52k参数)LeNet 2.0(17.9万个参数)LeNet 3.5(378k参数)
错误率性病效益错误率性病效益错误率性病效益
基准线22.09%0.65--18.49%1.01--17.08%0.47--
麦芽汁= 0.0121.56%0.862.38%18.14%0.651.89%17.33%0.49-1.46%
麦芽汁= 0.0521.59%0.482.24%18.30%0.571.03%17.59%0.31-3.02%
麦芽汁= 0.121.54%0.412.48%18.15%0.531.85%17.53%0.4-2.63%

但是,LeNet网络现在很少,通常使用更现代的模型。因此,我们还对ResNet模型进行了实验,该模型由25个卷积层组成的过滤器数量促进了。前7层包含4个滤镜,接下来的12 x 8滤镜,最后6 x 16滤镜。该模型的训练参数总数为21000,结果是相似的:正交化提高了网络的质量。


图。带有和不带有正交化的MNIST上ResNet学习动态的比较。

尽管已经实现了质量上的改进,但要完全放心所提出方法的正确操作,您仍需要查看过滤器本身发生了什么变化。为此,在所有时代的训练中,都将2、12和25 ResNet层中最大滤波器投影长度的值注销。我们在下图中给出变化的动态。此处最重要的是,在所有层中,滤波器的线性相关性均降低。


图。以ResNet为例,说明卷积层中滤镜的最大投影长度变化的动力学。

基于正交化的正则化非常容易实现:在使用numpy模块的python上,它只需不到10行代码。同时,它不会减慢训练速度,并且与其他正则化方法兼容。

结论


尽管很简单,但是正交化有助于提高“轻量级”网络的质量,这对执行的大小和速度施加了限制。由于移动技术的发展,这种限制越来越普遍:神经网络不应在云中的某个地方运行,而应直接在处理器和内存较低的设备上运行。此类网络的训练与神经网络科学的现代趋势背道而驰,在神经网络科学中,积极使用了无数智能手机无法提取的具有数百万个训练参数的模型集合。因此,在解决工业问题的框架中,发明和开发提高简单快速网络质量的方法极为重要。

使用的资料清单


亚历山大·V·盖尔(Alexander V. Gayer),亚历山大·V·舒什库斯(Alexander V. Sheshkus),“通过正交化的卷积神经网络权重正则化”,Proc.Natl.Acad.Sci.USA,87:1593-2877。SPIE 11433,第十二届机器视觉国际会议(ICMV 2019),1143326(2020年1月31日); https://doi.org/10.1117/12.2559346

All Articles