作者 | 王井东
整理 | 阿司匹林
出品 | 人工智能头条(公众号ID:AI_Thinker)
卷积神经网络在近几年获得了跨越式的发展,虽然它们在诸如图像识别任务上的效果越来越好,但是随之而来的则是模型复杂度的不断提升。越来越深、越来越复杂的卷积神经网络需要大量存储与计算资源,因此设计高效的卷积神经网络是非常重要和基础的问题,而消除卷积的冗余性是该问题主要的解决方案之一。
如何消除消除卷积的冗余性?我们邀请到了微软亚洲研究院视觉计算组资深研究员王井东博士,为大家讲解发表在 ICCV 2017 和 CVPR 2018 上基于交错组卷积的方法。
视频回放地址:https://edu.csdn.net/course/detail/8320
以下是公开课内容,AI科技大本营整理,略有删减:
▌深度学习大获成功的原因
2006年《Science》上的一篇文章——Reducing the Dimensionality of Data with Neural Networks,是近十多年来促进深度学习发展非常重要的一篇文章。当时这篇文章出来的时候,很多机器学习领域的人都在关注这个工作,但是它在计算机视觉领域里并没有取得非常好的效果,所以并没有引起计算机视觉领域的人的关注。
深度学习的方法在计算机视觉领域真正得到关注是因为 2012 年的一篇文章——ImageNet Classification with Deep Convolutional Neural Networks。这个文章用深度卷积神经网络的方法赢得了计算机视觉领域里一个非常重要的 ImageNet 比赛的冠军。在 2012 年之前的冠军都是基于 SVM(支持向量机)或者随机森林的方法。
2012年 Hinton 和他的团队通过深度网络取得了非常大的成功,这个成功大到什么程度?比前一年的结果提高了十几个百分点,这是非常可观、非常了不起的提高。因为在 ImageNet 比赛上的成功,计算机视觉领域开始接受深度学习的方法。
比较这两篇文章,虽然我们都称之为深度学习,但实际上相差还挺大的。特别是 2012 年这篇文章叫“深度卷积神经网络”,简写成 “CNN”。CNN 不是 2012 年这篇文章新提出来的,在九十年代,Yann LeCun 已经把 CNN 用在数字识别里,而且取得非常大的成功,但是在很长的时间里,大家都没有拿 CNN 做 ImageNet 比赛,直到这篇文章。今天大家发现深度学习已经统治了计算机视觉领域。
为什么 2012 年深度学习能够成功?其实除了深度学习或者 CNN 的方法以外,还有两个东西,一个是 GPU,还有一个就是 ImageNet。
这个网络结构是 2012 年 Hinton 跟他学生提出的,其实这个网络结构也就8层,好像没有那么深,但当时训练这个网络非常困难,需要一个星期才训练出来,而且当时别人想复现它的结果也没有那么容易。
这篇文章以后,大家都相信神经网络越深,性能就会变得越好。这里面有几个代表性的工作,简单回顾一下。
深度网络结构的两个发展方向
▌越来越深
2014 年的 VGG,这个网络结构非常简单,就是一层一层堆积起来的,而且层与层之间非常相似。
同一年,Google 有一个网络结构,称之为“GoogLeNet”,这个网络结构看起来比 VGG 的结构复杂一点。这个网络结构刚出来的时候看起来比较复杂,今天看起来就是多分支的一个结构。刚开始,大家普遍的观点是这个网络结构是人工调出来的,没有很强的推广性。尽管 GoogLeNet 是一个人工设计的网络结构,其实这里面有非常值得借鉴的东西,包括有长有短多分支结构。
2015 年时出了一个网络结构叫 Highway。Highway 这篇文章主要是说,我们可以把 100 层的网络甚至 100 多层的网络训练得非常好。它为什么能够训练得非常好?这里面有一个概念是信息流,它通过 SkipConnection 可以把信息很快的从最前面传递到后面层去,在反向传播的时候也可以把后面的梯度很快传到前面去。这里面有一个问题,就是这个 Skip Connection 使用了 gate function,使得深度网络训练困难仍然没有