前言:
如今朋友们对“离散组合优化问题”大致比较注重,咱们都想要分析一些“离散组合优化问题”的相关知识。那么小编同时在网上网罗了一些关于“离散组合优化问题””的相关内容,希望看官们能喜欢,看官们快快来学习一下吧!图:pixabay
原文来源:arxiv
作者:Abram L. Friesen 、Pedro Domingos
「雷克世界」编译:嗯~阿童木呀、多啦A亮
随着神经网络往更深层次的发展及其更为广泛的应用,对于网络量化(即可以大大减少时间和能量需求)和深度网络大型集成系统(即可能具有不可微的组件,并且必须避免梯度消失和爆炸以进行高效学习)的创建来说,具有硬阈值激活(hard-threshold activations)的学习网络变得日益重要。然而,由于梯度下降并不适用于硬阈值函数,所以不清楚如何以一种原则式的方式来对其进行学习。通过观察硬阈值隐藏单元的设置目标,以最大限度地减少损失,这是一个离散优化(discrete optimization)问题,而用它是可以解决上述问题的。离散优化的目的是找到一组target,使得每个单元(包括输出)都有一个线性可分离的问题要解决。鉴于这些target,网络分解成多个单一的感知器,然后可以用标准的凸方法(convex approaches)进行学习。基于此,我们开发了一种用于学习深度硬阈值网络的递归小批量算法,其中包括用流行但不太合理的直通评估器(straight-through estimator,STE)作为特例。经验证明,相较于直通评估器,我们的算法改进了许多设置中的分类精确度,包括ImageNet中的AlexNet和ResNet-18。
介绍
最初的神经分类方法是学习具有硬阈值激活函数的单层模型,就像感知器(Rosenblatt于1958年提出)。然而事实证明,将这些方法扩展到多层是很困难的,因为硬阈值单元几乎处处都是零阶导数,并且在原点处不连续,因此无法通过梯度下降进行训练。于是,社区转向具有soft激活函数的多层网络,例如sigmoid激活函数,以及最近常用的ReLU激活函数,其中通过反向传播可以有效地计算其梯度(Rumelhart等人于1986年提出)。
这种方法取得了显著的成功,使得研究人员能够对数百层的网络进行训练,并能够在一系列任务中以相较于以往任何方法都要高的准确度对模型进行学习。但是,随着网络的深度越来越深,宽泛度越来越广,使用硬阈值激活函数进行量化逐渐变成一种趋势,它们能够实现二进制或低精度推理(例如,Hubara等人、 Rastegari等人、Zhou 等人、Lin和Talathi于2016年、Zhu 等人于2017年皆有所提及)和训练(如Lin等人于2016年、 Li等人、 Tang 等人、Micikevicius等人于2017年皆有所提及),它可以大大降低现代深度网络所需的能量和计算时间。除了量化,硬阈值单元的输出规模与其输入规模无关(或不敏感),这可以缓解梯度消失和梯度爆炸的问题,并且应该有助于避免在用反向传播进行低精度训练期间发生的一些病理性问题(Li et等人于2017年提出)。尽量避免出现这些问题对于开发大型深度网络系统至关重要,特别是这些系统可用于执行更为复杂的任务。
基于这些原因的考虑,我们非常兴趣开发出一种有效的技术,用以学习具有硬阈值单元的深度神经网络。在这项工作中,我们提出了一个学习深度硬阈值网络的框架,该框架源于对硬阈值单元输出离散值的观察结果,这表明组合优化可能为训练这些网络提供了一种原则性方法。通过为每个隐藏层激活指定一组离散目标,该网络可以分解成许多单一的感知器,且其中的每一个都可以在给定其输入和目标的情况下很容易地得以训练。因此,学习深度硬阈值网络的困难之处在于设定目标,使得每个已训练的感知器(包括输出单元)具有一个要解决的线性可分离问题,从而实现其目标。我们展示了一个网络,其中使用我们的混合凸组合优化框架可以对其进行学习。
在此框架的基础上,我们开发了一种递归算法——可行性目标传播(feasible target propagatio,FTPROP),用于学习深度硬阈值网络。由于这是一个离散优化问题,我们基于每层损失函数开发了用于设定目标的启发式方法。可以使用小批量版本的FTPROP来对所使用的直通评估器进行解释和证明(Hinton于2012年提出、Bengio等人于2013年提出),现在,可以将其看作是对于每层有损失函数和目标启发式具有特定选择的FTPROP的实例。最后,我们开发出一种新颖的位于每层上的损失函数,可以改进对深度硬阈值网络的学习。经验证明,在将其应用到ImageNet 中 的AlexNet和ResNet-18上时,相较于直通评估器,我们的算法得到了许多改进。
相关工作
学习深度硬阈值网络的最常见方法是使用具有直通评估器(STE)的反向传播,它简单地用恒等函数代替每个硬阈值单元的导数。STE在量化网络文献中使用,通过量化激活传播梯度,并用于平面激活的训练。后来的研究泛化了STE,以用恒等函数替代每个硬阈值单元的导数,包括恒等函数(identity function)的优化版本。然而,虽然STE在实践中往往工作得很好,但我们并没有对其工作原理或该如何选择替代性导数进行严格的辩护或分析。除了在这方面不满意,我们对STE还不太了解,并随着层数的增加,而可能导致梯度不匹配的错误。我们在这里展示了(优化)STE是我们框架的一个特例,因此为其提供了原则性的理由,并为探索和理解替代方案奠定了基础。
使用硬阈值单元进行训练的另一个常见方法是通过随机神经元或概率训练方法。这两者都是为了软化硬阈值单元。相反的是,我们的目标是学习具有确定性硬阈值单元的网络。
最后,目标传播是一种明确将target与网络中每个激活输出相关联的方法,然后更新每个层的权重,使其激活更加接近target。我们的框架可以被视为使用组合优化来设置离散目标的目标传播的实例,而先前的方法采用连续优化。MADALINE Rule II(MRII)算法也可以看作是我们的框架和目标传播的一个特例,其中一次只设置一个目标。
结论
在这项工作中,我们提出了一个新的混合凸组合优化框架,用于学习具有硬阈值单元的深度神经网络。组合优化用于为硬阈值隐藏单元设置离散目标,使得每个单元仅具有一个要解决的线性可分离问题。然后,网络分解成单个感知器,给定这些目标可以用标准的凸方法学习。基于此,我们开发了一种用于学习深度硬阈值网络的递归算法,我们称之为可行目标传播(FTPROP)和一种高效的小批量版本(FTPROP-MB)。我们表明,通常使用但不合理的直通评估器(STE)是FTPROP-MB的特殊情况,这是由于在每层使用优化合页损失(hinge loss)和我们的目标启发式引起的。最后,我们定义了软合页损失(soft hinge loss),并表明,与STE相比,在每个层上,具有软合页损失的FTPROP-MB提高了CIFAR-10和ImageNet上多个模型的分类精度。
在未来的工作中,我们计划通过研究框架、约束满足度和可满足性之间的联系来开发新的目标启发式和层损失函数。我们还打算进一步探索具有硬阈值单元的深度网络的优势。特别是,虽然最近的研究清楚地表明了它们减少计算和能源需求的能力,但它们也需要减少梯度消失和爆炸所带来的影响,以及协方差转变(covariate shift)和对抗样本所带来的影响。