欲取代CNN的Capsule Network究竟是什么来头?它能为AI界带来革命性转折么?

大数据文摘作品

编译:余志文、Ether、钱天培

“卷积神经网络(CNN)的时代已经过去了!”——Geoffrey Hinton

酝酿许久,深度学习之父Geoffrey Hinton终于在上月发表了备受瞩目的Capsule Networks(CapsNet)。 Hinton本次挟CapsNet而来,大有要用它取代CNN的气势。那么,CapsNet相比CNN到底有哪些优势?它又是否能为AI界带来革命性转折呢?今天,文摘菌就来为大家科普一下这一深度学习的新里程碑。

首先,这位被誉为深度学习之父Geoffrey Hinto究竟是何许人也呢?在上世界50年代,深度神经网络的概念就已出现,从理论上来讲可以解决众多问题,但是一直以来却没有人知道该如何训练它,渐渐的也就被放弃。直至1986年,Hinton想到了通过反向传播来训练深度网络,标志了深度学习发展的一大转机。然而,受限于当时的计算机运算能力,直到2012年,Hinton的发明才得以一显神通。这一突破也为近年来人工智能的发展奠定了基础。

2017年 10月26日,Hinton又发表了一项开创性的论文——Capsule Networks(胶囊网络),或将再次改写深度学习的发展历程。(论文链接:https://arxiv.org/pdf/1710.09829v1.pdf)

关注大数据文摘,后台回复Hinton即可下载此篇论文。

传统神经网络中存在的问题

目前为止,CNNs(卷积神经网络)仍是最先进的图像分类识别方法。

简单来讲,CNNs通过逐层累加调整实现分类。它首先检测到边缘,然后是形状,然后是实际的识别对象。CNN的实现方式极具创新,然而在这一过程中却有一项重要的信息丢失了——特征之间的空间关系。下面是一个CNN工作原理的简化描述:

如果有两只眼睛,一只鼻子,一张嘴,那么这就是一张脸。

乍一看完全没问题啊,完美!那我们拿卡戴珊大姐的照片来试一下,看看会怎么样:

(前方高能……

请帮忙计算一下这位大姐的心理阴影面积……但话说回来,这也确实是两只眼睛,一个鼻子和一个嘴巴呀!我们很容易就能发现,这些特征的空间位置明显是错误的,不符合“脸”的特征,然而CNN在处理这一概念上却十分笨拙。

除了被图像的错误位置所迷惑,CNN在查看不同方向的图像时也很容易混淆。解决这个问题的方法之一,就是对所有可能的角度进行大量训练,但是这需要花费很多时间,而且似乎有些违反常理。

我们只要把Kim的照片颠倒一下,就能发现其性能的大幅下降:

颠倒的Kardashian被识别成了“炭黑色”

最后,卷积神经网络可能很容易受到白盒对抗攻击(攻击者知晓机器学习所用的算法和相关参数,并据此在对抗性攻击过程中与系统交互)。这种攻击在对象上嵌入了一个秘密的图案,由此使这张图片被错误识别。

讲到这,我们就不难理解为什么Hinton曾发表过这样的言论:“卷积神经网络的时代已经过去了”

胶囊网络“拯救世界”!

胶囊网络构架

胶囊网络的引入使我们能够充分利用空间关系,它可以实现以下逻辑:

如果有两个相邻的眼睛,眼睛下长了鼻子,鼻子下长了嘴巴:那么这就是一张脸。

你应该可以看到,这次我们定义的神经网络在处理卡戴珊大姐的照片过程中不会那么容易被糊弄了。

这种新的架构在以下数据集上也获得了更高的识别准确度。这个数据集经过了精心设计,是一个纯粹的形状识别任务,即从不同的角度来看也能识别物体。CapsNet在该数据集上打败了最先进的CNN,将错误数量减少了45%。

CapsNet能够识别出与上下对应的图像同属一个类别(动物,人类,飞机,汽车,卡车)。

另外,根据他们最近的研究成果,胶囊网络在对抗白盒攻击方面比卷积网络也更有效果。

训练CapsNet

要想使用胶囊网络,首先你得训练它——于是,我根据Hinton 的论文建立了一个Repo(非常感谢naturomics).

以下指南将为你提供在MNIST数据集上训练的模型。(MNIST是手写数字的数据集,很适合用作测试机器学习算法的基准线)

1. 复制Repo:

git clone https://github.com/bourdakos1/capsule-networks.git

2. 安装 requirements文件:

pip install -r requirements.txt

3. 开始训练!

python main.py

MNIST数据集包含6万个训练图像。默认情况下,该模型每次批处理的大小是128个,训练50次。每一次训练都是数据集的一次完整运行过程。由于每次批量大小是128,所以每次训练大约有468个批处理(60,000 / 128 ≈468)。

注意:如果你没有GPU,训练过程可能需要很长时间。你可以阅读这篇关于如何缩短训练时间的文章(链接:https://medium.freecodecamp.org/tracking-the-millenium-falcon-with-tensorflow-c8c86419225e)。

一旦我们的模型得到充分的训练,我们可以通过运行以下命令来测试它:

python main.py --is_training False

最后,我想指出,虽然胶囊网络看起来威力十足,但它现在仍然处在婴儿期。在训练庞大的数据集时,我们可能会遇到问题。但总体来说,我还是对胶囊网络的未来发展充满信心的。

原文链接:https://hackernoon.com/capsule-networks-are-shaking-up-ai-heres-how-to-use-them-c233a0971952?source=linkShare-9549803b36be-1510456766

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-11-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

从事人脸识别研究必读的N篇文章

该文内容较老,但对入门者还是有很强的学习意义,可以了解人脸识别的历程与技术发展。 人脸检测/跟踪 人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置...

3244
来自专栏机器之心

前沿 | 将逆向课程生成用于强化学习:伯克利新研究让智能体掌握全新任务

37510
来自专栏人工智能头条

模仿学习(Imitation Learning)完全介绍

5365
来自专栏深度学习

机器学习教材中的 7 大经典问题

一、神经网络不宜超过三层 这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能...

3768
来自专栏CreateAMind

最强UNREAL(UNsupervised REinforcement and Auxiliary Learning)简介及代码

UNREAL(UNsupervised REinforcement and Auxiliary Learning)算法

861
来自专栏机器学习算法与Python学习

干货 | 【深度学习】 在 【推荐算法】 上的应用研究进展

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 文章来源:知乎 作者:赵鑫 深度学...

8236
来自专栏机器之心

观点 | 三大特征选择策略,有效提升你的机器学习水准

2707
来自专栏深度学习

机器学习中的七大经典问题

这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能超过三层。这和我们现在说的...

42712
来自专栏专知

【干货】数据科学与机器学习面试指南

1511
来自专栏机器之心

学界 | 神奇的面包机!谷歌造出对抗样本的实体版

37313

扫码关注云+社区

领取腾讯云代金券