酝酿许久,深度学习之父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)

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

目前为止,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

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

原文发布时间为:2017-11-29

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

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

  1. 论文解析:Capsule Network

    Capsule network <Dynamic Routing Between Capsules> 待解决  为什么要设计动态路由算法,动态路由算法的本质看起来也就是反向传播以更新前后层 ...

  2. 胶囊网络(Capsule Network)在文本分类中的探索

    作者丨杨敏 单位丨中国科学院深圳先进技术研究院助理研究员 研究方向丨自然语言处理 文本建模方法大致可以分为两类:(1)忽略词序.对文本进行浅层语义建模(代表模型包括 LDA,EarthMover's ...

  3. CNN、Capsule详解

    参考资料: [1] 从传统神经网络的角度解读Geoffrey Hinton的Capsule模型 [2] Dynamic Routing Between Capsules [3] 终于,Geoffrey ...

  4. 论文阅读笔记:Multi-Labeled Relation Extraction with Attentive Capsule Network(AAAI-2019)

    论文信息 作者: Xinsong Zhang Shanghai Jiao Tong University Pengshuai Li Shanghai Jiao Tong University Weij ...

  5. 【Mo 人工智能技术博客】胶囊网络——Capsule Network

    胶囊网络--Capsule Network 作者:林泽龙 1. 背景介绍 CNN 在处理图像分类问题上表现非常出色,已经完成了很多不可思议的任务,并且在一些项目上超过了人类,对整个机器学习的领域产生了 ...

  6. 看完这篇,别说你还不懂Hinton大神的胶囊网络,capsule network

    from:https://www.sohu.com/a/226611009_633698 倒计时 2 天 来源 | 王的机器(公众号ID:MeanMachine1031) 作者 | 王圣元 0 引言 ...

  7. HP-Capsule: Unsupervised Face Part Discovery by Hierarchical Parsing Capsule Network

    可解释性 CNN没有具体的位置信息(反思但是能有复杂结构?不然为什么没人使用胶囊网络?) Hinton提出"routing-by-agreement"的过程.较底层的特征将只被传递 ...

  8. python实现胶囊网络_胶囊网络(Capsule Network)的TensorFlow实现

    现在我们都知道Geoffrey Hinton的胶囊网络(Capsule Network)震动了整个人工智能领域,它将卷积神经网络(CNN)的极限推到一个新的水平. 网上已经有很多的帖子.文章和研究论文 ...

  9. python实现胶囊网络_胶囊网络(Capsule Network)在文本分类中的探索

    作者丨杨敏 单位丨中国科学院深圳先进技术研究院助理研究员 研究方向丨自然语言处理 文本建模方法大致可以分为两类:(1) 忽略词序.对文本进行浅层语义建模 (代表模型包括 LDA,EarthMover' ...

最新文章

  1. 源恩教育计算机,源恩计算机二级
  2. 天天用Synchronized,底层原理是个啥?
  3. css解决li边框重合问题
  4. Asp.Net自学笔记...(运算符)
  5. HTML元素和标签的区别
  6. (篇四)C语言静态变量法,求各阶乘,的和
  7. SQLSERVER对数据表进行分区
  8. MySQL Index Merge Optimization
  9. LVM 的创建,扩展,缩减及建立快照
  10. 2017.4.26-morning
  11. 明日方舟如何在电脑上玩 明日方舟模拟器教程
  12. 二进制整数奇偶互换c语言,奇偶
  13. 余数大法写了个手机虚拟号
  14. PWmat案例赏析:利用激光脉冲实现绝缘体-金属超快转变
  15. DataStream与DataSet
  16. [tool] perforce
  17. 2019上半年各大手机销量榜单:华为第一,苹果第五,三星没落!
  18. Typora+Git搭建云笔记本
  19. Python学习笔记7:实操案例四(支付密码的验证,模拟QQ账号登录,商品价格竞猜,星座看运势)
  20. [zz]各大IT公司待遇

热门文章

  1. Android之自定义ViewPager实现图片的无线轮播
  2. 配置MUX VLAN示例(汇聚层设备)
  3. Linux下多路复用IO接口epoll/select/poll的区别
  4. uvalive3209City Game
  5. GNU make manual 翻译(八十八)
  6. 百度2011实习生招聘笔试题
  7. PHP取得json前面有乱码(去除文件头部BOM)
  8. Windows Server 2003防黑小秘决
  9. 例解 autoconf 和 automake 生成 Makefile 文件
  10. INNODB 热备工具试验与总结