Maxout Networks论文阅读


[toc]

1. Maxout Networks

arXiv:1302.4389 [stat.ML]
tensorflow2代码:https://github.com/zhangkaihua88/ML_Paper


1.1. 摘要

maxout:

  • 旨在通过dropout来加快优化过程,并提高准确度(与drop共同使用);
  • 模型的输出是模型输入的最大值

1.2. 介绍

dropout

  • 可以训练集成模型
  • 共享参数并近似的对这些模型的预测进行了平均
  • 一种不加区分的适用型工具,几乎可以应用于任何模型,都可以产生一定的性能改进。

dropout与SDG

  • dropout
    在更新时最有效的方式是使用更大的步长,因为这样可以在不同的训练子集上对不同的模型有明显的影响来使得目标函数有持续的波动性,理想情况下整个训练过程就类似于使用bagging来训练集成的模型(带有参数共享的约束)。
  • SGD
    更新时一般会使用更小的步长,来使得目标函数平滑的下降。

对于深度网络模型,dropout只能作为模型平均的一种近似,显式的设计模型来最小化这种近似误差也可以提高dropout的性能。


1.3. 回顾droupt

在给定输入向量v后,输出预测向量y,该构成包含了一系列的隐含层h=\{h^{(1)},...,h^{(L)}\}
Dropout训练一组由包含vh中变量的子集组成的所有模型组成的模型。使用同一组参数\theta来标识一组分组p(y | v ; \theta, \mu),其中\mu \in M是一个二进制掩码,用来决定模型中哪些变量参与运算。
每次在训练集上进行训练时,我们都按照\log p(y | v ; \theta, \mu)的梯度对不同的\mu随机取样训练不同的子模型。
可以通过vh和掩码的按元素相乘得到不同子模型p(y | v ; \theta, \mu)的实例

当集合需要将所有子模型的预测平均起来进行预测时,函数形式就变得非常重要。
多个指数模型的预测平均值可以简单的通过运行权重除以2的完整模型来得到。即当p(y|v;\theta) = softmax(v^Tw+b)时,通过重整p(y|v;\theta,\mu)的几何平均定义的预测分布,可以很简单的由softmax(v^tw/2+b)

dropout与bagging

  • 都是在不同子集上训练出不同模型
  • dropout只训练一次,且所有模型共享参数。像是在训练一个模型集合而不是训练单个模型,每次的更新都必须有重大的影响,这样才能使得该子模型能较好的拟合当前的输入v
  • bagging对子模型的输出进行算数平均,dropout是几何平均

1.4. 模型maxout描述

  • 是一个简单的前馈框架模型
  • 使用了一个新的激活函数:maxout unit
    给定一个输入x \in \mathbb{R}^dx可能是输入v,也可能是隐含层的状态),maxout隐含层的采用下式实现:
    h_{i}(x)=\max _{j \in[1, k]} z_{i j}
    其中z_{i j}=x^{T} W_{\ldots i j}+b_{i j}x \in \mathbb{R}^{d \times n}W \in \mathbb{R}^{d \times m \times k}, b \in \mathbb{R}^{m \times k}wb都是可训练参数。k表示每个隐藏节点对应k个“隐隐层”节点,这k个“隐隐层”节点都是线性输出。maxout的每个节点就从这k个“隐隐层”节点输出值中取最大的。所以使得maxout为一种非线性的变换

Notes

  • maxout因为有参数同时为非线性,所以既可以是网络也可以是激活器
  • 单个maxout单元可以解释为对任意凸函数进行线性逼近。(任意的凸函数都可由分段线性函数来拟合)。它在每处都是局部线性的(k个“隐隐层”节点都是线性的,取其最大值则为局部线性,分段的个数与k值有关),而一般的激活函数都有明显的曲率。


    20200206171729.png
  • 如同MLP一样,maxout网络也可以拟合任意连续函数。只要maxout单元含有任意多个“隐隐层”节点,那么只要两个隐层的maxout网络就可以实现任意连续函数的近似。
  • maxout网络不仅可以学习到隐层之间的关系,还可以学习到每个隐层单元的激活函数。
  • maxout放弃了传统激活函数的设计,它产生的表示不再是稀疏的,但是它的梯度是稀疏的,且dropout可以将它稀疏化。
  • maxout没有上下界,所以让它在某一端饱和是零概率事件。
  • 如果训练时使用dropout,则dropout操作在矩阵相乘之前,而并不对max操作的输入执行dropout。
  • 使用maxout会默认一个先验:样本集是凸集可分的。

1.5. Maxout是一个通用的近似器

20200206165136.png

命题1:对于任意的正整数m,n,都存在两组n+1维的实数参数向量[W_{1j}, b_{1j}], j \in [1, k][W_{2j}, b_{2j}], j \in [1, k]使得g(v) = h_1(v) - h_(v) 即任意的分段连续函数都可以使用两个凸分段线性函数的差来表示。

命题2:根据Stone-Weierstrass近似定理,令C属于紧空间(compact domain)C \subset \mathbb{R}^{n}, 函数f: C \rightarrow \mathbb{R}是一个连续函数,一个正实数\epsilon>0。存在分段线性函数(PWL function)g,使得v \in C,|f(v)-g(v)|<\epsilon(取决于\epsilon)

命题3:万能近似理论:任何连续函数f,在紧空间上都可以使用具有两个maxout单元的maxout网络近似。

证明

  • 命题2,一个分段线性函数可以尽可能近似(取决于\epsilon)一个连续函数;
  • 命题1,一个分段线性函数的表示正好和一个maxout网络完全匹配,该maxout网络具有两个maxout单元h_1(v)h_2(v),且k足够大的,可以达到所需的近似程度\epsilon
  • 综上所述,我们可以得出结论:一个具有两个maxout单元的maxout网络可以任意程度的逼近任何一个紧空间内的连续函数f(v)。通常情况下,近似程度越大(即\epsilon \rightarrow 0),k越大(即k \rightarrow \infty)。

1.6. maxout与relu

relu表达式h_{i}(x)=\operatorname{relu}\left(x^{T} W_{\cdots i}+b_{i}\right)=\max \left(x^{T} W_{\cdots i}+b_{i}, 0\right)
maxout表达式h_{i}(x)=\max _{j \in[1, k]}\left(x^{T} W \ldots i j+b_{i j}\right)

唯一区别

  • relu使用的max(x,0)是对隐层每一个单元执行的与0比较最大化操作
  • maxout是对k个“隐隐层”单元的值执行最大化操作(k为最大池化步长,max pooling stride。一般最大池化步长与k相等,如果步长小,则会有重叠最大池化)
    一种实现方式2-4-1,maxout是对5个“隐隐层”单元的值执行最大化操作。如果将“隐隐层”单元在隐层展开,那么隐层就有20个“隐隐层”单元,maxout做的就是在这20个中每5个取一个最大值作为最后的隐层单元,最后的隐层单元仍然为4个。实现的时候,可以将隐层单元数设置为20个,权重维度(2,20)偏置维度(1,20),然后在20个中每5个取一个最大值得到4个隐层单元。)

1.7. 模型平均

  • 单层softmax有对模型进行平均的能力,但是通过观察,多层模型中使用dropout也存在这样的模型平均,只是有拟合精度的问题。
  • 训练中使用dropout使得maxout单元有了更大的输入附近的线性区域,因为每个子模型都要预测输出,每个maxout单元就要学习输出相同的预测而不管哪些输入被丢弃。改变dropout mask将经常明显移动有效输入,从而决定了输入被映射到分段线性函数的哪一段。使用dropout训练的maxout具有一种特性,即当dropout mask改变时每个maxout单元的最大化滤波器相对很少变化。
  • maxout网络中的线性和最大化操作可以让dropout的拟合模型平均的精度很高。而一般的激活函数几乎处处都是弯曲的,因而dropout的拟合模型平均的精度不高。

1.8. 优化

  • 训练中使用dropout时,maxout的优化性能比relu+max pooling好
  • dropout使用更大的步长最有效,使得目标函数有持续的波动性。而一般的SGD会使用更小的步长,来使得目标函数平滑的下降。dropout快速的探索着许多不同的方向然后拒绝那些损害性能的方向,而SGD缓慢而平稳的朝向最可能的方向移动。
  • 实验中SGD使得relu饱和在0值的时间少于5%,而dropout则超过60%。由于relu激活函数中的0值是一个常数,这就会阻止梯度在这些单元上传播(无论正向还是反向),这也就使得这些单元很难再次激活,这会导致很多单元由激活转变为非激活。而maxout就不会存在这样的问题,梯度在maxout单元上总是能够传播,即使maxout出现了0值,但是这些0值是参数的函数可以被改变,从而maxout单元总是激活的。单元中较高比例的且不易改变的0值会损害优化性能。
  • dropout要求梯度随着dropout mask的改变而明显改变,而一旦梯度几乎不随着dropout mask的改变而改变时,dropout就简化成为了SGD。relu网络的低层部分会有梯度衰减的问题(梯度的方差在高层较大而反向传播到低层后较小)。maxout更好的将变化的信息反向传播到低层并帮助dropout以类似bagging的方式训练低层参数。relu则由于饱和使得梯度损失,导致dropout在低层的训练类似于一般的SGD。

1.9. 参考资料

Paper---Maxout Networks
CSD---Maxout Networks
CSDN---论文笔记_Maxout Networks

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容