0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用巧妙的集成方法改进了神经网络的优化过程

zhKF_jqr_AI 来源:未知 作者:李倩 2018-05-04 11:40 次阅读

传统的神经网络集成

传统上,集成组合若干不同的模型,让它们基于相同的输入做出预测。接着通过某种平均化方法决定集成的最终预测。可能是通过简单的投票或取均值,也可能是通过另一个模型,该模型基于集成模型的结果学习预测正确值或标签。岭回归是一种组合若干预测的特定方法,Kaggle竞赛冠军使用过这一方法。

集成应用于深度学习时,组合若干网络的预测以得到最终预测。通常,使用不同架构的神经网络比较好,因为不同架构的网络更可能在不同的训练样本上犯错,因而集成的收益会更大。

然而,你也可以集成同一架构的模型,并得到出乎意料的好效果。比如,在这篇快照集成的论文中,作者在训练同一个网络时保存了权重快照,在训练之后,创建了同一架构、不同权重的网络集成。这可以提升测试表现,同时也是一个非常节省开销的方法,因为你只训练一个模型,训练一次,只不过不时地保存权重。

每个学习率周期末尾保存模型;图片来源:原论文

你可以阅读文章开头提到的Vitaly Bushaev的博客文章了解细节。如果你到目前为止还没有尝试过周期性学习率,那你真应该尝试一下,它正在成为当前最先进的技术,而且非常简单,算力负担也不重,可以说是在几乎不增加额外开销的前提下提供显著的增益。

快照集成使用周期性学习率退火;图片来源:Vitaly Bushaev

上面所有的例子都是模型空间内的集成,组合若干模型,接着使用这些模型的预测以得到最终模型。

而本文开头提到的论文,作者提出的是权重空间内的集成。该方法通过组合同一网络在训练的不同阶段的权重得到一个集成,接着使用组合的权重做出预测。这一方法有两大优势:

组合权重后,我们最终仍然得到一个模型,这有利于加速预测。

该方法超过了当前最先进的快照集成。

在我们看看这一方法是如何工作之前,我们需要先理解损失平面(loss surface)和概化解(generalizable solution)。

权重空间的解

第一个重要的洞见是,一个训练好的网络是多维权重空间中的一点。对任何给定的架构而言,每个不同的网络权重组合产生一个不同的模型。任何给定架构都有无穷的权重组合,因而有无穷的解。训练神经网络的目标是找到一个特定的解(权重空间中的点),使得训练数据集和测试数据集上的损失函数的值都比较低。

在训练中,训练算法通过改变权重来改变网络并在权重空间中漫游。梯度下降算法在一个损失平面上漫游,该平面的海拔为损失函数的值。

狭窄最优和平坦最优

可视化和理解多维权重空间的几何学非常困难。与此同时,了解它又非常重要,因为随机梯度下降本质上是在训练时穿过这一高维空间中的损失平面,试图找到一个良好的解——损失平面上的一“点”,那里损失值较低。研究表明,这一平面有很多局部最优值。但这些局部最优值并不同样良好。

为了处理一个14维空间中的超平面,可视化一个3维空间,然后大声对自己说“十四”。每个人都这么做。

-- Hinton (出处:coursera课程)

可以区分良好的解与糟糕的解的一个量度是平坦性(flatness)。背后的想法是训练数据集和测试数据集会产生相似但不是完全一样的损失平面。你可以将其想象为测试平面相对训练平面平移了一点。对一个狭窄的解而言,测试时期,损失较低的点可能因为这一平移产生变为损失较高的点。这意味着这一狭窄的解概括性不好——训练损失低,测试损失高。另一方面,对于宽而平的解而言,这一平移造成的训练损失和测试损失间的差异较小。

我解释了两种解之间的差异,因为本文关注的新方法可以导向良好、宽阔的解。

快照集成

起初,SGD会在权重空间中跳一大步。接着,由于余弦退火,学习率会降低,SGD将收敛于某个局部解,算法将保存一个模型的“快照”。接着学习率重置为高值,SGD再次迈一大步,以此类推。

快照集成的周期长度为20到40个epoch。较长的学习率周期是为了在权重空间中找到足够不同的模型,以发挥集成的优势。

快照集成表现优异,提升了模型的表现,但是快速几何集成(Fast Geometric Ensembling)效果更好。

快速几何集成(FGE)

快速几何集成和快照集成非常相似。它们的不同主要有两点。第一,快速几何集成使用线性分段周期学习率规划,而不是余弦退火。第二,FGE的周期长度要短得多——2到4个epoch。这是因为作者发现,在足够不同的模型之间,存在着损失较低的连通路径。沿着这些路径小步前进所得的模型差异较大,足够发挥集成的优势。因此,相比快照集成,FGE表现更好,搜寻模型的步调更小(步调更小使其训练更快)。

如上图左侧的图像所示,根据传统的直觉,良好的局部极小值被高损失区域分隔开来(图中虚线)。而上图中、右的图像显示,局部极小值之间存在着路径,这些路径上的损失都很低(图中实线)。FGE沿着这些路径保存快照,从而创建快照的集成。

快照集成和FGE都需要储存多个模型,接着让每个模型做出预测,之后加以平均以得到最终预测。因此,我们为集成的额外表现支付了更高的算力代价。所以天下没有免费的午餐。真的没有吗?让我们看看随机加权平均吧。

随机加权平均(SWA)

随机加权平均只需快速集合集成的一小部分算力,就可以接近其表现。SWA导向我之前提到过的广阔的极小值。在经典定义下,SWA不算集成,因为在训练的最终阶段你得到一个模型,但它的表现超过了快照集成,接近FGE。

SWA的直觉来自以下由经验得到的观察:每个学习率周期得到的局部极小值倾向于堆积在损失平面的低损失值区域的边缘(上图左侧的图形中,褐色区域误差较低,点W1、W2、3分别表示3个独立训练的网络,位于褐色区域的边缘)。对这些点取平均值,可能得到一个宽阔的概化解,其损失更低(上图左侧图形中的WSWA)。

上图中间的图形显示,WSWA在测试集上的表现超越了SGD。而上图右侧的图形显示,WSWA在训练时的损失比SGD要高。结合WSWA在测试集上优于SGD的表现,这意味着尽管WSWA训练时的损失较高,它的概括性更好。

下面是SWA的工作机制。SWA只保存两个模型,而不是许多模型的集成:

第一个模型保存模型权重的平均值(wSWA)。在训练结束后,它将是用于预测的最终模型。

第二个模型(w)将穿过权重空间,基于周期性学习率规划探索权重空间。

SWA权重更新公式;

在每个学习率周期的末尾,第二个模型的当前权重将用来更新第一个模型的权重(公式见上)。因此,训练阶段中,只需训练一个模型,并在内存中储存两个模型。预测时只需要平均模型,基于其进行预测将比之前描述的集成快很多,因为在集成中,你需要使用多个模型进行预测,最后进行平均。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成
    +关注

    关注

    1

    文章

    176

    浏览量

    30233
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100739
  • 深度学习
    +关注

    关注

    73

    文章

    5502

    浏览量

    121124

原文标题:权重空间集成学习背后的直觉

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    粒子群优化模糊神经网络在语音识别中的应用

    针对模糊神经网络训练采用BP算法比较依赖于网络的初始条件,训练时间较长,容易陷入局部极值的缺点,利用粒子群优化算法(PSO)的全局搜索性能,将PSO用于模糊神经网络的训练
    发表于 05-06 09:05

    求助基于labview的神经网络pid控制

    小女子做基于labview的蒸发过程中液位的控制,想使用神经网络pid控制,请问这个控制方法可以吗?有谁会神经网络pid控制么。。。叩谢
    发表于 09-23 13:43

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播
    发表于 07-12 08:02

    卷积神经网络一维卷积的处理过程

    inference在设备端上做。嵌入式设备的特点是算力不强、memory小。可以通过对神经网络做量化来降load和省memory,但有时可能memory还吃紧,就需要对神经网络在memory使用上做进一步优化
    发表于 12-23 06:16

    图像预处理和改进神经网络推理的简要介绍

    为提升识别准确率,采用改进神经网络,通过Mnist数据集进行训练。整体处理过程分为两步:图像预处理和改进神经网络推理。图像预处理主要根据图像
    发表于 12-23 08:07

    卷积神经网络模型发展及应用

    为 三个过程:输入信号线性加权、求和、非线性激活。1958 年到 1969 年为神经网络模型发展的第一阶段, 称为第一代神经网络模型。在 1958 年 Rosenblatt 第 一次在 MCP 模型上
    发表于 08-02 10:39

    优化神经网络训练方法有哪些?

    优化神经网络训练方法有哪些?
    发表于 09-06 09:52

    基于人工免疫网络神经网络集成方法

    提出基于人工免疫网络神经网络集成方法AINEN。在用Bagging生成神经网络集成之后,将人工免疫网络
    发表于 04-10 08:49 18次下载

    基于免疫聚类的神经网络集成的研究

    基于免疫聚类的思想,提出了一种神经网络集成方法。采用轮盘赌选择方法重复地从各免疫聚类中的抽取样本以构成神经网络集成中各个体
    发表于 02-21 11:24 7次下载

    改进PSO优化神经网络算法的人体姿态识别_何佳佳

    改进PSO优化神经网络算法的人体姿态识别_何佳佳
    发表于 03-19 11:41 1次下载

    BP神经网络风速预测方法

    针对BP神经网络风速预测中存在的结构不确定以及网络过度拟合的问题,利用遗传算法的全局搜索能力和模糊聚类算法的数据筛选能力,分别对BP神经网络的结构与数据进行双重优化,提出了基于遗传算法
    发表于 11-10 11:23 5次下载
    BP<b class='flag-5'>神经网络</b>风速预测<b class='flag-5'>方法</b>

    一种改进的自适应遗传算法优化BP神经网络

    神经网络计算模型的优化,运用到汽车加油量计算中,通过比较标准BP网络、Srinivas提出的自适应遗传算法优化的BP神经网络
    发表于 11-16 10:39 13次下载
    一种<b class='flag-5'>改进</b>的自适应遗传算法<b class='flag-5'>优化</b>BP<b class='flag-5'>神经网络</b>

    改进人工蜂群算法优化RBF神经网络的短时交通流预测模型

    为了提高径向基函数RBF神经网络预测模型对短时交通流的预测准确性,提出了一种基于改进人工蜂群算法优化RBF神经网络的短时交通流预测模型。利用改进
    发表于 12-01 16:31 2次下载
    <b class='flag-5'>改进</b>人工蜂群算法<b class='flag-5'>优化</b>RBF<b class='flag-5'>神经网络</b>的短时交通流预测模型

    基于改进郊狼优化算法的浅层神经网络进化

    基于改进郊狼优化算法的浅层神经网络进化
    发表于 06-24 15:40 15次下载

    如何训练和优化神经网络

    神经网络是人工智能领域的重要分支,广泛应用于图像识别、自然语言处理、语音识别等多个领域。然而,要使神经网络在实际应用中取得良好效果,必须进行有效的训练和优化。本文将从神经网络的训练
    的头像 发表于 07-01 14:14 456次阅读