作家
登录

基于 boosting 原理训练深层残差神经网络

作者: 来源: 2017-07-19 15:10:43 阅读 我要评论

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!

这里用到了裂项乞降的技能(telescoping sum),是以作者称提出的算法为 telescoping sum boosting.


1. 背景

1.1 Boosting

Boosting[1] 是一种练习 Ensemble 模型的经典办法,个一一种具体实现 GBDT 更是广泛应用在各类问题上。介绍boost的文┞仿很多,这里不再赘述。简单而言,boosting 办法是经由过程特定的准则,逐个练习一系列弱分类,这些弱分类加权构成一个强分类器(图1)。

图1 Boosting 办法道理图【src】

1.2 残差收集

残差收集[2]今朝是图像分类等义务上最好的模型,也被应用到语音辨认等范畴。个中核心是 skip connect 或者说 shortcut(图2)。这种构造使梯度更易容向后传导,是以,使练习更深的收集变得可行。

图2. 残差收集根本block[2]

图3. BoostResNet 框架

  • 残差收集

在之前的博文作为 Ensemble 模型的 Residual Network中,我们知道,一些学者将残差收集视一种特别的 Ensemble 模型[3,4]。论文作者之一是Robert Schapire(刚留意到已经参加微软研究院),AdaBoost的提出者(和 Yoav Freund一路)。Ensemble 的不雅点根本算是主流不雅点(之一)了。

2. 练习办法

2.1 框架

即这是一个线性分类器(Logistic Regression)。

  • hypothesis module

个中 $C$ 为分类义务的类别数。

  • weak module classifier

个中 $\alpha$ 为标量,也即 $h$ 是相邻两层 hypothesis 的线性组合。第一层没有更低层,是以,可以视为有一个虚拟的低层,$\alpha_0=0$ 并且 $、o_0(x)=0$。

  • 将残差收集显示表示为 ensemble

令残差收集的最后输出为 $F(x)$,并接合上述定义,显然有:

我们只须要逐级(residual block)练习残差收集,效不雅上便等同于练习了一系列弱分类的 enemble。个中,除了练习残差收集的权值外,还要练习一些帮助的参数——各层的 $\alpha$ 及 $W$(练习完成后即可丢弃)。

2.2 Telescoping Sum Boosting(裂项乞降晋升)

文┞仿正文以二分类问题为例展开,我们更关怀多分类问题,相干算法在附录部分。文┞仿给出的伪代码颂峦秽当清跋扈,直接复制如下:

个中,$\gamma_t$ 是一个标量;$C_t$ 是一个 m 乘 C (样本数呈攀类别数)的矩阵,$C_t(i, j)$ 表示个中第 $i$ 行第 $j$ 列的元素。

须要特别解释的是,$st(x, l)$ 表示 $s_t(x)$的第 $l$ 个元素(此处符号用的略随便:-);而 $st(x) = \sum{\tau=1}^t h\tau(x) = \alpha_t \cdot o_t(x) $。

与算法3中类似,$f(g(x_i), l)$ 表示 $f(g(x_i))$ 的第 $l$ 个元素,$g(x_i, y_i)$ 表示 $g(x_i)$ 的第 $i$ 个元素。

显然 Algorithm 4 给的最小化问题可以用 SGD 优化,也可以数值的办法求解([1] 4.3 节)。

3. 理论

理论分部没有具体看。大年夜体上,作者证清楚明了 BoostResNet 保存为 boost 算法是长处:1)误差随收集深度(刻期分类器数量)指数减小;2)抗过拟合性,模型复杂度承收集深度线性增长。具体可拜见论文。

4. 评论辩论

BoostResNet 最大年夜的特点是逐财揭捉?练,如许有一系列好处:

  • 削减内存占用(Memory Efficient),使灯揭捉?练大年夜型的深层收集成为可能。(今朝我们也只能在CIFAR上练习千层的残差收集,过过干瘾)
  • 削减计算量(Computationally Efficient),每一级都只练习一个浅层模型。
  • 因为只须要练习浅层模型,在优化办法上可以有更多的选择(非SGD办法)。
  • 别的,收集层数可以根据练习情况动态切实其实定。

4.2 一些疑问

文┞仿应当和逐财揭捉?练的残差收集(固定或不固定前面各层的权值)进行比较多,而不是仅仅比较所谓的 e2eResNet。
作者这 1.1 节最后也提到,练习框架不限于 ResNet,甚至不限于神经收集。不知道用来练习通俗深度模型效不雅会如何,竞争 layer-wise pretraining 如今已经显得有点过时了。


  推荐阅读

  【技术分享】使用CTS进行漏洞检测及原理浅析

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 2.2 CtsSecurityTestCases模块 团队介绍360 Vulpecker团队 附属360信息安然部,致力于Android应用和体系>>>详细阅读


本文标题:基于 boosting 原理训练深层残差神经网络

地址:http://www.17bianji.com/lsqh/36295.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)