×

只需一步,快速开始

扫描二维码登录本站

标签: 暂无标签

本文作者:李嘉、方聪、林宙辰

--------------------------------

本文Lifted Proximal Operator Machines近期被AAAI Conference on Artificial Intelligence (AAAI) 2019接收,两个中国专利也已经于201711月和201810月申请。


01

引言

近年随着硬件和数据规模的发展,前向深度神经网络在许多任务上已经成为标准工具,如作为图像识别、语音识别、自然语言理解和围棋学习系统的核心部分。前向神经网络的优化通常是极小化一个关于网络权值的高度非凸且嵌套的函数,主流的优化方法是随机梯度下降法(stochastic gradient descent, SGD)及其变种。尽管非常流行,这些方法也存在一些缺点。主要的问题是梯度的数值会随着网络层数的增加而指数级减小或增大,从而造成梯度消失或爆炸,这会导致收敛变慢或不稳定。该缺点可以通过使用非饱和激活函数,如线性整流单元(ReLU),和修正的网络结构,如ResNet,得到部分解决。然而,根本问题依然存在。此外,它们的优化参数(如学习率和终止条件)很难调节,无法直接处理不可微的激活函数(如二值神经网络),不同层的权值也无法并行更新。SGD及其变种的这些缺点激发了研究者们去探索训练前向神经网络的新方法。最近,训练前向神经网络被形式化为约束优化问题。它引入每层的网络激活值为辅助变量,网络结构则通过逐层的等式约束来保证。这种做法将嵌套函数的依赖关系分解为等式约束,于是可以使用许多标准的优化算法来进行求解。目前这类方法或者是完全非凸的,或者引入过多的辅助变量(如拉格朗日乘子),或者仅适用于某些特定的激活函数(如ReLU)(详见论文)。为了克服上述现有方法的不足,本文提出一个近似前向神经网络的新模型,称为提升近邻算子机(Lifted Proximal Operator Machine, LPOM)。


02

基本思想

前向神经网络通常通过优化如下嵌套函数进行训练:

(1)

其中是训练样本,是第i层网络权值(为简单起见,这里省略偏置项),n是神经网络的层数,是损失函数,L对应的类标签,是激活函数。问题(1)一般使用SGD进行优化。通过引入每层的网络激活值为辅助变量,问题(1)可等价地改写为约束优化问题:

(2)

其中是第i层网络激活值,.

LPOM考虑近似求解问题(2)。假设我们想要求解问题:

LPOM试图构造一个参数是y的函数,使得它的最小值恰好在处取到。于是约束就可替换为。最后原问题就可以近似为:

,

其中是惩罚系数。下面介绍构造

LPOM使用近邻算子(Proximal Operator):

   (3)

来构造优化问题。假设激活函数是非降的,则是凸集。若定义函数,则问题(3)的最优解就是。虽然可能不唯一,但是这不影响是良好定义的。因此我们可以选

.

因为这个方法是把和约束等价的近邻算子提到目标函数上,所以我们称为提升近邻算子机。

上面定义的是单变量函数,对于矩阵输入,则定义。于是,最小化问题

的最优解恰好为问题(2)的等式约束

其中1是全1列向量。所以按前述思想,我们可以简单地近似问题(2)为:

  (4)

若期望LPOM的预测过程为一次网络前向传播,则问题(2)中的所有等式约束应满足LPOM的目标函数关于的最优性条件。然而,问题(4)关于的最优性条件为:

问题(2)中的等式约束并不能满足该最优性条件。为此,需修改该最优性条件为:

它对应如下问题:

(5)

其中。问题(5)为我们最终提出的LPOM模型。可以证明,若关于是凸的,并且是非降的,则LPOM关于是块多凸(Block Multi-Convex)的,即若保持其余变量块不变,则问题(5)的目标函数关于(和)是凸的。


03

求解算法

由于问题(5)是块多凸的,我们可以采用块坐标下降法求解LPOM模型。该算法LPOM模型中的每个子问题均保证收敛,可并行更新变量,且不占用比SGD更多的内存空间。具体包括如下步骤:

1)从神经网络训练样本中随机选取个训练样本L,其中,是批处理的大小,L是训练样本对应的类标;

2)逐层更新网络激活;执行操作21~22):

21)按顺序依次更新。循环(6)直到收敛:

(6)

22)更新。循环(7)直到收敛:

  (7)

3)并行更新网络权值

     初始化:。其中,是迭代更新的初始值,是参数的初始值,t是迭代次数。

31)计算

32)计算

33)计算,其中表示的伪逆;

34.

其中,步骤21),22)和3)在一定条件下均具有收敛性保证。(6)(7)是由不动点算法得到的,31)-34)是改进的加速近邻梯度法,详细推导见论文。我们可以看到,整个求解过程都只使用了激活函数本身,而没有使用的逆或导数。这样带来的好处就是LPOM可以使用任意非降的Lipschitz连续的激活函数,包括sigmoidtanhReLU等等。


04

实验

实验中使用最小二乘损失函数和ReLU激活函数(选用ReLU只是为了达到较低的错误率,而不是像SGD那样也为了部分解决数值计算上的困难),关于权值未使用任何正则化。LPOMSGD使用相同的输入和随机初始化方法。在MNIST数据集上,使用784-2048-2048-2048-10的前向全连接神经网络,未使用任何预处理或数据增强。LPOM简单地设置。实验运行LPOMSGD100趟,批处理大小均为100. LPOMSGDMNIST数据集上的训练和测试正确率见图1a)和(b)。可以看到,两种方法的训练正确率都接近于100%,然而LPOM所得的测试正确率(98.2%)略微优于SGD98.0%)。在CIFAR-10数据集上,使用3072-4000-1000-4000-10前向全连接神经网络。通过减去红、绿和蓝三个通道的均值来归一化彩色图像。除此之外,没有使用其他预处理或数据增强。对于LPOM,设. 实验运行LPOMSGD100趟,批处理大小均为100. LPOMSGDCIFAR-10数据集上的训练和测试正确率如图1c)和(d)所示。可以看到,两种方法的训练正确率均接近100%,然而LPOM的测试正确率(52.5%)明显高于SGD的测试正确率(47.5%)。 

   

图1. LPOM和SGD方法在MNIST和CIFAR-10数据集上的结果比较图

在MNIST数据集上与文献[2]进行比较时,使用与文献[2]相同的网络结构和实验设置。对于LPOM,在所有网络结构上均设。LPOM与文献[2]在MNIST上的测试正确率如表1所示。可以看到, LPOM的结果显著优于文献[2]。

表1. LPOM与文献[2]在MNIST数据集上的比较

表2. LPOM与SGD和文献[3]在SVHD数据集上的比较与文献[3]在SVHN数据集上进行比较时,按照文献[3]关于网络结构和数据集的设置。对于LPOM,设置. LPOM与SGD和文献[3]在SVHN数据集上的测试正确率见表2. 可以看到,LPOM的结果优于SGD和文献[3]。


05

总结

本文提出使用LPOM训练全连接前向神经网络。利用近邻算子,LPOM将神经网络转换成一个新的块多凸模型。这种转换适用于一般的非降Lipschitz连续激活函数,包括饱和的sigmoid和tanh(相比之下,SGD在这两个激活函数下不能很好工作)。我们使用块坐标下降算法求解LPOM,每个子问题都是凸的,且都有收敛性保证。LPOM仅使用每层的激活值为辅助变量(内存消耗和SGD完全一样),并且参数容易调节(相比之下,调SGD的学习率和终止条件要麻烦得多)。实验结果也验证了LPOM优于SGD、文献[2]和文献[3]。


相关论文:

[1] Jia Li, Cong Fang, and Zhouchen Lin. Lifted Proximal Operator Machines. AAAI 2019.

[2] Armin Askari, Geoffrey Negiar, Rajiv Sambharya, and Laurent El Ghaoui. Lifted Neural Networks. arXiv preprint arXiv:1805.01532.

[3] Gavin Taylor, Ryan Burmeister, Zheng Xu, Bharat Singh, Ankit Patel, and Tom Goldstein. Training Neural Networks without Gradients: A Scalable ADMM Approach. ICML 2016.


77965.jpg
ZERO实验室atPKU

写了 1 篇文章,拥有财富 0,被 0 人关注

www.XinBIM.com
转播转播 分享淘帖 踩!踩!
回复

使用道具

评论

使用高级模式,上传图片!
您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

返回顶部