当前位置: 首页 > 科技观察

自动优化架构,这个算法可以帮助工程师设计神经网络

时间:2023-03-20 13:57:41 科技观察

近日,NeurIPS2019于加拿大温哥华召开。腾讯AILab共有14篇论文入选,在国内企业中名列前茅。这也是腾讯AILab第四次参加NeurIPS。会议期间,我们从腾讯AILab中挑选了一篇优秀论文进行解读。在这篇由腾讯AILab牵头,与华南理工大学合作完成的论文中,作者使用强化学习来学习一个神经网络结构转换器。它可以优化任何神经网络结构,将其转化为更紧凑的结构,具有更高的识别精度。以下是对论文的详细解读。NAT:NeuralArchitectureTransformerforAccurateandCompactArchitectures论文链接:https://papers.nips.cc/paper/8362-nat-neural-architecture-transformer-for-accurate-and-compact-architectures.pdfexistingdepthTheneural网络结构要么是人工设计的,要么是通过神经网络结构搜索(NAS)方法自动搜索的。但是这些网络结构可能包含很多冗余的计算操作,存在优化的空间。为了优化网络结构,作者提出了一种NeuralArchitectureTransformer(简称NAT)方法。该方法可以将网络结构中的冗余操作替换为计算复杂度较低的计算操作,从而在保证不引入额外参数和计算的情况下实现性能提升。神经网络中的计算操作可以分为三类,即S、N、O。其中,S代表跳跃连接,N代表空连接(即两个节点之间没有连接),O代表操作除了跳过连接和空连接(如卷积、池化操作等)。显然,这三者的计算量顺序是:O>S>N。为了降低网络结构的计算复杂度,我们希望学习到的NAT用计算量较小的操作来代替原来网络结构中的冗余操作。因此,NAT遵循以下翻译规则:OàS、OàN、SàN。NAT也允许NàS,因为跳过连接往往有助于提高模型的性能,并且它引入的计算量非常小。综上所述,NAT的翻译方案如下图所示。具体来说,对于任何服从分布p(·)的网络结构β,NAT的目标就是寻求仅通过上述允许的操作变化得到的最优结构α。这个优化问题可以写成:其中:R(α│β)=R(α,w_α)-R(β,w_β),R(α,w_α)表示网络结构α与验证上的最优参数w_α设置性能;c(α)≤κ是对所得模型的计算成本的约束。然而,很难直接获得最优结构α。因此,NAT首先学习一个策略,然后从学习到的策略中采样α,即α服从。为了学习策略π,我们解决了以下优化问题:为了解决这个优化问题,作者在强化学习方法中采用了策略梯度法。为此,需要构建合适的策略函数。由于网络结构β可以用(X,A)来表示(其中A是邻接矩阵,X是节点特征),作者这里的策略π(α|β,θ)使用了双层图卷积神经网络Network(GCN),即:其中,另外,文章采用了参数共享的方式,避免了从头训练各个结构的参数。总的来说,优化思路是通过以下两步迭代优化:1.更新神经网络参数w,(使用参数共享的思想):2.更新θ,(使用最大熵鼓励探索):第二步流程图如下:为了验证NAT的有效性,作者将NAT应用于人工设计的结构(如:VGG、ResNet、MobileNet)和NAS得到的结构(如:ENAS、飞镖、NAONet)。结果分别示于表1和表2中。表1.人工设计的网络结构的NAT优化结果。表2.NAS方法获得的网络结构上的NAT优化结果。从表1和表2可以看出,在ImageNet数据集上,经过NAT优化的模型比原来的基准模型取得了更高的识别精度,计算复杂度相近甚至更低。接下来,可视化NAT优化后的模型结构。图1和图2分别显示了NAT在人工和NAS设计的网络结构上的优化结果。图1.人工设计的网络结构的NAT优化结果。如图1所示,针对人为设计的网络结构,NAT引入了额外的skipconnections来提高识别准确率。图2.NAT优化结果在NAS设计的网络结构上。从图2可以看出,对于NAS方法得到的网络结构,NAT通过跳过连接代替冗余操作或直接删除连接来减少计算量。此外,作者还比较了不同的策略函数,发现GCN优于传统的LSTM模型。总之,该研究对于自动机器学习、网络结构设计、深度学习模型性能优化等诸多实际机器学习问题具有重要的指导意义。