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

作者: 极客头条 2017-07-19 11:39:25

1. 背景

1.1 Boosting

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

图1 Boosting 方法原理图【src】

1.2 残差网络

残差网络[2]目前是图像分类等任务上***的模型,也被应用到语音识别等领域。其中核心是 skip connect 或者说 shortcut(图2)。这种结构使梯度更易容向后传导,因此,使训练更深的网络变得可行。

图2. 残差网络基本block[2]

在之前的博文作为 Ensemble 模型的 Residual Network中,我们知道,一些学者将残差网络视一种特殊的 Ensemble 模型[3,4]。论文作者之一是Robert Schapire(刚注意到已经加入微软研究院),AdaBoost的提出者(和 Yoav Freund一起)。Ensemble 的观点基本算是主流观点(之一)了。

2. 训练方法

2.1 框架

图3. BoostResNet 框架

  • 残差网络

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

  • hypothesis module

其中 $C$ 为分类任务的类别数。

  • weak module classifier

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

  • 将残差网络显示表示为 ensemble

令残差网络的***输出为 $F(x)$,并接合上述定义,显然有:

这里用到了裂项求和的技巧(telescoping sum),因此作者称提出的算法为 telescoping sum boosting.

我们只需要逐级(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 现在已经显得有点过时了。

References

  1. Schapire & Freund. Boosting: Foundations and Algorithms. MIT.
  2. He et al. Deep Residual Learning for Image Recognition.
  3. Veit et al. Residual Networks Behave Like Ensembles of Relatively Shallow Networks.
  4. Xie et al. Aggregated Residual Transformations for Deep Neural Networks.
深度学习 人工智能 boosting
上一篇:人工智能与机器学习有哪些不同 下一篇:一文读懂矩阵的秩和行列式的意义
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

AI人工智能正在悄悄的操控着我们的所见所想

在日常生活中大家现在已经越来越依赖手机上各种形形色色的app了,无论我们是出门吃饭时寻找餐厅,还是在视频语音聊天,刷视频,或是网上购物shopping,无时无刻我们都离不开手机APP。

软件说明 ·  15h前
AI 崛起的第九个年头,还有哪些大有可为的地方?

2020年还剩下10个月的时间,让我们去预期,人工智能会有哪些重要的趋势呢? CB insights曾就此问题做了一个判断,并给出人工智能的九个重要研究和应用趋势。AI 科技评论在一定程度上认同这些判断,针对这 9 个趋势,我们将做以下分析。

蒋宝尚 ·  15h前
AI芯片为啥至今都没有出现“爆款”?

“AI芯片”这个新鲜的概念在过去一年间逐渐走过了普及的阶段,越来越被大众所熟知。在行业走过野蛮生长,开始加速落地、加速整合的过程中,也有更多的AI芯片公司也开始走出属于自己的差异化路线。

佚名 ·  15h前
拥有30亿张照片库的人脸识别初创公司遭黑客攻击!600多家执法机构和银行信息被盗

Clearview AI是美国纽约的一家AI面部识别创业公司Clearview设计的一款突破性的面部识别应用工具,通过拍摄陌生人的照片,然后将其上传,就可以轻松查看该人的公开照片,以及指向这些照片出现位置的链接和具体内容。

张佳、王汐 ·  15h前
数据机器学习在故障检测中的应用

本文将简要介绍几种在故障诊断领域广泛应用的机器学习技术及其各自的应用方向,并对每种技术的优缺点进行简单分析。包括:贝叶斯网络(BN),人工神经网络(ANN),支持向量机(SVM)和隐马尔可夫模型(HMM)技术。

交能网 ·  16h前
人工智能如何改造旅游业

旅游业正在慢慢地将人工智能融入到行业当中,并为游客提供个性化定制体验。在人工智能的帮助下,旅游业的业务流程和客户服务都发生了改变。

佚名 ·  21h前
人工智能技术如何将人们从深度伪造的世界中拯救出来

如今,采用深度伪造(Deepfake)生成的视频和音频,人工智能生成的文本、诗歌和歌词,假网站和假新闻进入人们的世界。人们的生活还会真实吗?

Mike Elgan ·  21h前
四种使用物联网和人工智能加速获取价值的有效方法

最近,话题转向企业如何才能更快,更有效地获取和利用物联网计划的见解。物联网和人工智能的结合为企业实现这一预期成果提供了途径。实际上,这两种技术是相辅相成的,应该紧密相连。

佚名 ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载