博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度学习网络大杀器之Dropout(II)——将丢弃学习视为集成学习之我见
阅读量:5769 次
发布时间:2019-06-18

本文共 4303 字,大约阅读时间需要 14 分钟。

首发地址:

更多深度文章,请关注云计算频道:

关于dropout的分析,可以见博主的另外一篇文章:

1.引言

随着2012年Hiton的文章《ImageNet classification with deep convolutional neural networks》[1]的问世,掀开了学术界深度学习快速发展的序幕;而阿法狗打败世界顶级棋手李世石后,再次经过一年多的“深山老林修炼”,强化后完胜世界围棋冠军柯洁,让人们感受到了人工智能的发展速度与工业化进程的到来。目前深度学习在很多领域的都吸引众多研究者的注意,比如目标识别、语言识别、目标检测、图像分类等,深度学习在这些领域以自动提取特征的能力表现出优异的性能。

深度学习较传统网络而言,使用的是一个非常深层的神经网络,并采用大数量的数据集。因此,在这个过程中会面临一个严峻的问题——过拟合。什么是过拟合呢?打个比方,高考前各种刷题全部能做对但理解的不好,很多答案都是强行背下来的,但是一到考场题目稍微变一点,整个人就懵了。这是因为对于机器而言,使用算法学习数据的特征时候,样本数据的特征可以分为局部特征和全局特征,全局特征就是任何你想学习那个概念所对应的数据都具备的特征,而局部特征则是你用来训练机器的样本里头的数据专有的特征。机器在学习过程中是无法区别局部特征和全局特征的,于是机器在完成学习后,除了学习到了数据的全局特征,也可能学习得到一部分局部特征,而学习的局部特征比重越多,那么新样本中不具有这些局部特征但具有所有全局特征的样本也越多,于是机器无法正确识别符合概念定义的“正确”样本的几率也会上升,也就是所谓的“泛化性”变差,这是过拟合会造成的最大问题。

那么为了避免过拟合的出现,通用的做法是在算法中使用正则化,这也是Hinton在文献[2]中提出的技巧“(dropout learning)”。丢弃学习包含两个步骤在学习阶段,是以概率p忽略掉一些隐藏节点,这一操作减小了网络的大小;而在测试阶段,学习的节点和那些没有被学习的节点求和后并乘以丢弃概率p计算得到网络的输出。我们发现可以将学习到的节点与没有学习的节点求和相乘概率p这一过程看作是集成学习。

集成学习(Ensemble Learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法,相对于单个分类器作为决策者,集成学习的方法就相当于多个决策者共同进行一项决策。可以看到,这与分而治之地把问题分解成若干个子问题,然后再想办法从个别解综合求得整体解是不同的。集成学习的处理过程是不是有点熟悉?是不是与丢弃学习类似?下面将具体分析如何将丢弃学习看成是集成学习。

2.模型

本文中使用的模型是老师-学生模型,并假设存在一个老师网络(teacher)能够使得学生网络(student)产生最优输出。下面介绍一些构造的老师及学生模型,并引入梯度下降算法。

1e4493c0aad39023292de88387c552f119ba6d83

从图中可以看到,老师和学生都是一个具有N输入节点、多个隐藏节点及一个输出节点组成的软决策机。老师是由K个隐层节点组成,而学生是由K’个隐藏节点组成,每一个隐藏节点都是一个感知机,老师的第k个隐藏权重向量用4e629e4253121d756ec24e959d92a07609eaf685 表示,学生的第k’个隐藏权重向量用8e534bca3d303d9db7888832b8cb11ff3df32fa9表示,其中m表示学习迭代次数。在软决策机中,所有的隐藏节点到输出节点的权重固定为+1,这种网络计算得到的是隐藏层输出的多数表决结果。另外假设老师和学生的输入都是716ddf3d388f5830a223dbcc03d5bd064be2cc08、老师的输出是d4893c6fffb84c24278ffcae24d6226895b0e7775ada8f8e7eecb2b2f2a0ce7add403395d9bd8be3,学生的输出是2cea0017a921b6eb80b07e846812332b2a85240c。其中g(.)表示的是隐藏节点的输出函数,fc0da1747e007eff16bc429ace63f7fb114c0bb5是老师模型中第k个隐藏节点通过b6baa4a480da69ad58400fbf99a6776061c13349计算得到;同理,ba90af001be932d8d70ed7fbac6b20f1eb407416是学生模型中第k’个隐藏节点通过c3e7d7b110d553cfcd19fd1411c4d075987f5dea计算得到。

同时我们假设输入向量d25a58c3dfbf86f32d423486042dad3e05eda160中的第i个元素d1d7e524d9ad3f6a097c4360c58a16644a0d91f8是具有零均值和单位方差的独立随机变量,即输入的第i个元素来自于概率分布d8061d63dc1313a291381a3d39ecf5485bfceaf1,并且由热力学极限假设可知68d80e4f7c47fc28ab06a84afc33a8b8330f8f9c10ee3260f1b4715ea7c71b1adc4909047579bf7f,其中<>表示求平均,||.||表示求向量的模;对于中间隐藏层而言,每一个元素Bki,k=1~K是来自于零均值和方差为1/N的概率分布同样地,由热力学极限假设可知8c07a1ec17a7ddfda7f5afc3d2777a503b33ed1755583f409b3f3cd11101768d91400027ba06d73d252bc7c2b382c5a3973042a49c11de812910c776,这也意味着任意两个b3c0daadbbcf34fb666a62a33f9e74c38e8fe266,另外fc0da1747e007eff16bc429ace63f7fb114c0bb5服从零均值和单位方差的高斯分布。

基于以上分析,我们假设每个元素8382447cdfa89b0cd21ed8be3631f0c71bc7cacf来自于零均值和方差为1/N的概率分布,统计学生的第k’个隐藏权重向量得到322c6e37c0c81eb2d61b8733a5db5d37a594449fea3af8ae433e2d30226a0433d0900ea44543024a,这意味着任意两个4df29674d784fc73b22a96337e3889c609e6af01。学生网络的隐藏节点输出函数g(.)与老师网络一样,统计学生的第m次迭代的权重向量得到b2528bc9400fbad48cfdf10ea3f0fdd8b5993ee5,其中aa83eaaf3e08d83c05f5688a87c31e7f4480feb30cba82fe27015c9b45010cbe4afa401e03511ece服从零均值和方差为55715874d05fb5f36ad1a1b6c7c2104fa4dcbae0的高斯分布。

接下来,引入随机梯度下降算法(SGD),泛化误差定义为下式:

0c52e8281ad327749cbe20467456ed8abdbd8e01 

并且学生的隐藏权重向量通过下式更新

3f97feeca9c1ecf6096d09949e498e690ca06456 

其中η是学习步长大小,g’(x)是实际隐藏节点输出函数g(x)的导数。

通过在线学习来训练网络,每次使用的是一个新输入,因此不会发生过拟合现象。为了评估丢弃学习,预先选择整个输入经常是使用的在线方式。根据经验,当输入是N,如果预先选定10xN的输入就会导致过拟合的现象。

3.丢弃学习和集成学习

        3.1 集成学习(Ensemble Learning)

集成学习是使用许多的学习者(学生)来实现更好的性能,在集成学习中,每一个学生独立地学习老师模型,并且将每个输出平均以计算出集成输出sen。

db3cd1975a0a92fd6fa15e0658395c9385de305d

其中1b33934ee791f009987236309370999550307f61是平均权重,9b89fbb1fe611960ccde06f69f7c4acd245cc8cd是学生数量。

2展示了计算机仿真的结果,老师和学生模型都包含两个隐藏节点,输出函数g(x)是误差函数4eabb846a1e7160834cbbcdbc6c453ead139c132adb4192ff163180b14a973e0a15fe53d8a1ddcc4。从图中可以看到,水平坐标轴是时间t=m/N,这里m是迭代次数,N是输入节点的维度,取N=10000,并且10xN输入经常被使用;纵坐标是均方误差(MSE),每个元素d1d7e524d9ad3f6a097c4360c58a16644a0d91f8都是零均值单位方差的独立随机变量。图2中“single”是使用一个学生的实验结果,“m2”是同时使用两个学生的结果,同理可得,“m3”和“m4”分别是同时使用3个学生和4个学生的结果。正如图2所示,同时使用4个学生的效果要优于其他两种情况。

3609b56e4dc76aa2ab558346ee80c9356392ca83

下面我们将修改集成学习,将学生模型(K’个隐藏节点)划分为Ken个网络,如图3所示(这里K’=4Ken=2),划分后的网络将单独学习老师模型,并且通过将输出dfcbb9f528f9d166beac685acea951f21a8cb488平均得到整体输出sen

 fee5b56d07432979cec863abc75c328ed4bfb3b2fee5b56d07432979cec863abc75c328ed4bfb3b2

其中,f98ad5585914b4939a51daaace3e8be0afbdd6ac是划分后的网络的输出,0954d3ce62c1b4076713fa4b56553d25a1a3a56d是第3646fa417e0eb6db9916ab700c135e090a2cce80划分网络中的第l’个隐藏输出;将等式3和等式4对比来看,当c9181190ab8cfdcbce859263bf5a283fe9698471bba277a3007e303ea436d9304a2e96d5519b3d0e,两等式相等。

3.2丢弃学习(dropout Learning)

丢弃学习是在深度学习中被使用的一种技巧,以用来阻止过拟合的发生。如果发生过拟合,学习误差和测试误差将会变得不一样。图4展示了随机梯度下降(4(a))和应用了丢弃学习(4(b))的结果,二者对比可以看到,4(a)中发生了过拟合,而4(b)中没有发送过拟合。因此丢弃学习能够阻止过拟合的发生。

ad5d1ab641fb5101ed8678a100cd4c58245f2af6

对于软决策机而言,丢弃学习的学习公式可以用下式表示:

db61866ff8a7047edda593fd3ee44d8891aac9c0 

其中,eaf464e98193b3823d82843ff2842df4fab33079表示隐藏节点的集合。在学习之后,学生们的输出s(m)是通过将学习的隐藏节点输出求和后并乘以丢弃概率p得到。

 26b1183bf092f6c3a109b144b23efd819c986214

当丢弃概率p=0.5时,上式可以看成是一个学习网络(第一项)与不学习网络(第二项)的集成。当44745390a64c659f17cf3625a8b00783c4382d642ce16ff89a5ed09000e02df28b1748bc91afb35e时,等式6对应于等式4。然而,eaf464e98193b3823d82843ff2842df4fab33079在每次迭代学习中是随机挑选的,因此,丢弃学习可以看成是在每次迭代中不同隐藏节点集合的集成学习表现。

4.结果

        4.1 将丢弃学习与集成学习作对比

在这一部分,我们将误差函数e03da38f8430bbe6652bde56c03320e9509a9865用作输出函数g(x),比较丢弃学习与集成学习。针对于集成学习,将隐藏节点设置为50;针对于丢弃学习,将隐藏节点设置为100,并设置丢弃概率p为0.5,即丢弃学习将选择50个隐藏节点作为eaf464e98193b3823d82843ff2842df4fab33079及剩余的50个节点不被选择;输入维度N=1000,学习率η=0.01。仿真结果如图5所示,其中横纵坐标跟图4的含义相同,在图5(a)中,“single”表示使用50个隐藏节点的软决策机的结果,“ensemble”表示使用集成学习的结果;图5(b)中,“test”表示测试数据的MSE,“learn”表示学习数据的MSE。

4579119c8a16f9ee0ea8ffae92a9bd19aed312dd

正如图5(a)所示,集成学习实现的MSE要比单独一个网络的MSE更小,然而,丢弃学习实现的MSE比集成学习的MSE更小。因此,在每次迭代中,集成学习使用不同的隐藏节点集合比使用相同隐藏节点集合的性能更好

4.2 将丢弃学习与带有L2范数的随机梯度下降法作对比

带有L2范数的随机梯度下降法的学习等式可以用下式表示:

3bf48eb7ab03fac27f6cd7bc155a990d96977e3b 

其中,αL2范数的系数,也称为惩罚系数。

图6展示了带有L2范数的随机梯度下降算法的结果(实验条件与图5相同):

425e2ce08be53e903ebfec20a4598ef009441343

对比图6和图5(b)可以看到,丢弃学习与带有L2范数的随机梯度下降算法的结果几乎相同。因此,丢弃学习的正则化效果与L2范数的相同。注意到,L2范数的随机梯度下降算法中,我们在每次尝试中必须选择α参数,而丢弃学习不需要调节参数。

5.结论

本文分析了可以将丢弃学习当作是集成学习。在集成学习中,可以将一个网络划分成若干个子网络,并且单独训练每个子网络。在训练学习后,将每个子网络的输出进行平均得到集成输出。另外,我们展示了丢弃学习可以看成是在每次迭代中不同隐藏节点集合的集成学习表现,同时也展示了丢弃学习有着与L2正则化一样的效果。后续将分析带有ReLU激活函数的丢弃学习的性能。

 

参考文献:

[1]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.

[2]Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4):pages. 212-223.

作者信息

,东京都理工大学教授,研究方向是机器学习与在线学习

本文由北邮老师推荐,组织翻译。

文章原标题《Analysis of dropout learning regarded as ensemble learning》,作者:Kazuyuki Hara译者:海棠,审阅:

文章为简译,更为详细的内容,请查看

翻译者: 海棠 

Wechat:269970760 

Email:duanzhch@tju.edu.cn

微信公众号:AI科技时讯

157f33dddfc596ede3681e0a2a0e7068dc288cc1

转载地址:http://ludux.baihongyu.com/

你可能感兴趣的文章
开源中国动弹客户端实践(三)
查看>>
Win 8创造颠覆性体验:预览版关键更新
查看>>
AC旁挂三层交换机管理ap,二层接入ap心得
查看>>
JS中比较数字大小
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
ant android 打包签名和渠道
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
CString、Char* ,char [20]、wchar_t、unsigned short转化
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
linux 死机分析
查看>>
BOM
查看>>