万众期待:Hinton团队开源CapsNet源码

【导读】前几天,Hinton团队的胶囊网络论文第一作者Sara Sabour将其源码在GitHub上开源,其实,该论文“Dynamic Routing Between Capsules”早在去年10月份就已经发表,直到今日,其官方实现终于开源。此前,Hinton一再强调,当前的反向传播和CNN网络存在很大的局限性,表明AI的下一代研究方向是“无监督学习”。因此,CapsNet应运而生,虽然传统神经网络很大程度上是在Hinton的理论基础上创建的,但Hinton却丝毫没有手下留情,声称要把反向传播等深度学习方法推倒重来。



近日,深度学习之父Geoffrey Hinton的胶囊网络论文“Dynamic Routing Between Capsules”的源码在GitHub上公布,目前,其Star数达到486,Fork数达到14407。早在去年10月份,该论文就已经发表,但其源码一直未公布,此前也有人根据其论文实现过其他版本,直到前几天,该论文第一作者Sara Sabour终于将其在GitHub上开源,可谓万众期待!


GitHub:




https://github.com/Sarasra/models/tree/master/research/capsules



胶囊网络的paper及链接:




Dynamic Routing Between Capsules. Sara Sabour, Nicholas Frosst, Geoffrey E Hinton

https://arxiv.org/abs/1710.09829



胶囊网络(Capsule Networks, CapsNet)




胶囊网络是Hinton等人在论文“Dynamic Routing Between Capsules”中提出的网络结构,它提出了理论上能更好地替代卷积神经网络的方案,是当前计算机视觉领域的最新技术。


首先来看一下传统神经网络的神经元。在物质世界中,这是一组细胞,以信号作为输入,并发出一些信号作为输出,只要它足够兴奋。虽然这是一个简单直白的解释,但这最终是对“神经网络”机器学习概念的充分体现。在这里,神经元是一个数学单位,它接受一个输入,并使用一系列函数给出输入的输出。我们学习权重来确定在训练阶段哪个特定的输入可能比使用反向传播的输入更重要。我们可以堆叠这些神经元,使得一层神经元的输出成为另一层神经元的输入。所有类型的神经元都取自从这个基本概念,包括递归神经网络和卷积神经网络。

 

胶囊的概念:像基本的神经元一样,它们也代表了一个认知思想的符号数字化。大脑的高层做了更多的演绎、理解和高层次特征的计算,大脑的特定部分在他们处理的领域或主题上有明确的含义。我们并不是将所有维度的数据都放在整个大脑中,而是“喂食(feed in)”较低级别的特征,以供大脑的高层部分处理,从而将认知负荷从较高级别的处理中移除。如果较低级别的功能与大脑某些较高级别的部分不相关,则不应将其发送到那里。它的信号至少应该有所减弱。

 

如果胶囊被用于处理姿势识别问题中。当训练一个模型对人的姿势进行识别时,往往会因为方向而存在问题:当人转个方向可能会在识别的时候遇到问题。为了解决这一问题,胶囊试图通过让“符号数学大脑(symbolic mathematical brain)”(即网络)的更高级别部分来处理复杂特征的识别和姿势认证,而较低级别部分用来处理“子”特征。一个较高级别的胶囊可以识别出一张脸部特征,而这是基于较低级别的胶囊是以一个相一致的方向来对嘴巴和鼻子进行识别的。

然而,传统的CNN只是依赖大量的数据,其中将该目标可能拥有的所有姿势都包含在内。

 

如果用胶囊代替神经元。较低级别的胶囊通过识别该目标的较简单的子部分来做一个该目标可能是什么的“弱赌注”,然后一个更高级别的胶囊会采取这些低级别的赌注,并试图看看它们是否同意。如果它们中有足够多的同意,那么这个目标就是Y,这可能是非常巧合。而这就是这些胶囊网络运行方式的本质。

 

我们如何路由这些较低级别的胶囊,把它们送到正确的、更高级别胶囊中呢?Hinton等人也在其论文中详细介绍了其路由算法,感兴趣的读者可以仔细阅读其论文,这里不做详细描述。


https://arxiv.org/abs/1710.09829

 

反向传播存在的问题




我们知道,反向传播也是Geffrey Hinton及其同事在1986年发表的论文“Learning representations by back-propagating errors”上提出的,自此之后,反向传播成了所有深度学习技术的基础。

 

但是,去年9月份,Hinton在多伦多接受采访时就表示要放弃反向传播,那么,反向传播到底存在什么问题呢?

 

首先,反向传播在生物学上很难成立。反向传播需要进行准确地求导、进行矩阵转置等,这种功能的系统从来没有在解剖学上得到证实。所以,反向传播更像是为训练多层神经网络而发展起来的算法。反向传播还需要进行小心翼翼地优化,这是个高度非凸的问题,依赖于繁杂的调参过程。

 

其次,反向传播计算出来的梯度不能保证是学习的正确方向。很多时候,研究者找到的所谓的最优解,往往只是看上去可行的,并不是问题最终的最优解。Hinton认为,要想让神经网络能够自己变得智能,必须进行“无监督学习”,“我认为这意味着需要放弃反向传播。”

 

卷积神经网络




不可否认,CNNs是当前计算机视觉中最先进的技术。CNN 是通过积累各层的特征集进行工作的,它的工作方式是首先从寻找边缘开始,然后是形状,继而是实际对象。但这种工作方式,把所有这些特征的空间关键信息都丢失了。所以,CNN在探索特征(视角,大小,方位)之间的空间关系方面效果较差。CNN 在以不同的方向查看图像时,也很容易混淆比如,在我们倒转或部分旋转图片时,CNN的性能会大幅下降。

 

参考链接:




https://arxiv.org/abs/1710.09829

https://github.com/Sarasra/models/tree/master/research/capsules


-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

同时欢迎各位用户进行专知投稿,详情请点击

诚邀】专知诚挚邀请各位专业者加入AI创作者计划了解使用专知!

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!

点击“阅读原文”,使用专知


展开全文
Top
微信扫码咨询专知VIP会员