爱吧机器人网 » 技术 > 机器学习 > 正文

反向传播或将被抛弃 深度学习需另辟途径

核心提示:当年的神经系统还不如现如今这般流行,所有的研究都只是深度学习,而那时候我们就已经在思考一个问题:深度学习依赖的反向传播算法 (back-

当年的神经系统还不如现如今这般流行,所有的研究都只是深度学习,而那时候我们就已经在思考一个问题:深度学习依赖的反向传播算法 (back-prop) 显然是很不容易被人们所接受的,很难相信神经系统能够自动形成与正向传播对应的反向传播结构(这需要精准地求导数,对矩阵转置,利用链式法则,并且解剖学上从来也没有发现这样的系统存在的证据)。

另外一点是,神经系统是有分层的(比如视觉系统有 V1, V2 等等分层),但是层数不可能像现在的大型神经网络一样动不动就成百上千层(而且生物学上也不支持如此,神经传导速度很慢,不像用 GPU 计算神经网络一层可能在微秒量级,生物系统传导一次一般在 ms 量级,这么多层数不可能支持我们现在这样的反应速度,并且同步也存在问题)。

但是有趣的是,目前大多数研究指出,大脑皮层中普遍存在一种称为 Cortical minicolumn 的柱状结构,其内部含有上百个神经元,并存在分层。这意味着人脑中的一层并不是类似现在神经网络的一层,而是有复杂的内部结构。

神经系统
 
神经系统
 

不过 Hinton 也没有料到后来 CNN 发展的如此火,他当时的这篇论文没有怎么受到关注。这几年他也没有继续关注这个问题,因为 CNN,LSTM, NTM 等等问题太多太有趣。

不过到现在,CNN 的发展似乎到了一个瓶颈:特别大,特别深的网络;容易被对抗样本欺骗;仍然需要大量训练数据;无监督学习方面进展很少。

Hinton 在题主给的 视频 中重新分析了一下目前 CNN 的问题,主要集中在 Pooling 方面(我认为可以推广到下采样,因为现在很多 CNN 用卷积下采样代替 Pooling 层)。Hinton 认为,过去人们对 Pooling 的看法是能够带来 invariance 的效果,也就是当内容发生很小的变化的时候(以及一些平移旋转),CNN 仍然能够稳定识别对应内容。

Hinton 觉得这是一个错误的方向。他给出了一个心理学实验的例子,这个例子要求判断两个 R 是否是一样的,仅仅因为旋转导致不同:

心理学实验
 

(几乎所有)人的做法是下意识的旋转左侧的 R,“看” 它们是否重合。

但是按照 CNN 的 invariance 的想法完全不是这么做。如果你对训练神经网络有经验,你可能会想到我们在做图像预处理和数据拓增的时候,会把某些 图片 旋转一些角度,作为新的样本,给神经网络识别。这样 CNN 能够做到对旋转的 invarience,并且是 “直觉上” 的 invariance,根本不需要像人那样去旋转图片,它直接就 “忽视” 了旋转,因为我们希望它对旋转 invariance。

CNN 同样强调对空间的 invariance,也就是对物体的平移之类的不敏感(物体不同的位置不影响它的识别)。这当然极大地提高了识别正确率,但是对于移动的数据(比如 视频 ),或者我们需要检测物体具体的位置的时候,CNN 本身很难做,需要一些滑动窗口,或者 R-CNN 之类的方法,这些方法很反常(几乎肯定在生物学中不存在对应结构),而且极难解释为什么大脑在识别静态图像和观察运动场景等差异很大的视觉功能时,几乎使用同一套视觉系统。

因此 Hinton 认为,人脑做到的是 equivariance ,也就是能够检测到平移、选转等等各种差异,但是能够 “认识” 到他们在某些视觉问题场景下是相同的,某些场景下应该有所区别,而不是像 CNN 一样为了追求单一的识别率,用 invariance 掩盖这些差异。

于是 Hinton 重新开始关注 Capsules 的问题,希望从中有所突破,解决之前深度学习中的很多问题。如果确实能够解决这些问题,Hinton 有勇气完全抛弃之前的体系结构,从 0 开始。

这是 Hinton 最近被 NIPS 接受的关于 Capsules 论文 Dynamic Routing between Capsules (未发表) https://research.google.com/pubs/pub46351.html 。其在 MNIST 上非常成功,识别率达到了新高,同时解决了 CNN 难以识别重叠图像等问题。

注:上文中 equivalence 改为了 equivariance,这是更准确的说法

一些分析

虽然现在只有论文摘要,以及 Hinton 最近的视频,我们还是可以分析一下 Hinton 的想法和追求:

可解释性。

按照 Hinton 的说法, Capsule 是一组神经元,这组神经元的激发向量可以代表对应于一类实体(比如一个物体,或者一个物体的部件)的实例参数( instantiation parameters )。这个说法非常像 Hinton 曾经提的 “专家积”(Products of Experts)[1] 的概念,他用这个概念解释著名的对比散度(contrastive divergence)算法 [2]。更为人熟知的是 Andrew Y. Ng 的关于自动从视频中识别猫脸的实验 [3],这些实验都暗示了某个神经元可以代表代表某些物体实例(祖母细胞假说)。但是我们知道,某个神经元自身是个简单的数学变换,其自身不能起到决定性的作用。CNN 等能够自动抽取图像特征等等性质已经为人熟知,但是到底是哪些神经元或者哪些结构起了作用?这个很难回答。现代大多数神经网络的结构是相对整体且比较粗糙的,很难解释其内部的具体作用机制,因此我们常常把神经网络称为 “黑盒模型”。现在有了 Capsule 后,我们或许可以以 Capsule 为单位分析得出每个 Capsule 具体的作用,这样可解释性要强很多。

注:从视频中看 Hinton 所说的 instantiation parameters 应该是指表征以下内容的参数:

1. 某类物体出现的概率

2. 物体的一般姿态 (generalized pose),包括位置,方向,尺寸,速度,颜色等等

因果性。

这是 Hinton 在视频中重点提到的,也是很多机器学习专家关心的东西。现在的神经网络缺乏某种 “推断” 的机制,更多是目标函数最大化下的函数拟合。我们知道网络能够正确分类某个图片,但是为什么?图片中什么部分或者条件才导致网络得出这个结论?如果分类出错了,又是什么具体的部分或者条件误导了它?这些我们都不是非常清楚,大部分时候仅仅靠调参提高结果。而论文中 Dynamic Routing,就是希望能够形成一种机制,让网络能够将适合 Capsule_A 处理的内容,路由到 Capsule_A 让其处理。这样就形成了某种推断链。 “找到最好的(处理)路径等价于(正确)处理了图像” ,Hinton 这样解释。

Hinton 指出,原先的 Pooling,类似于静态的 routing,仅仅把上面的结果原地交给下面一层的神经元。(下面图片中 Dynamic Routing 仅供示意,具体实现要看发表出来的论文)

神经元
 

无监督学习。

这点也是 Hinton 强调的(原话似乎是 A human does not know so much labels)。Hinton 估计有在 Capsule 基础上做无监督研究的意向,在之前的 [4] 中 Hinton 已经用 Capsule 实现了自编码器。

如何看待 Hinton 重新提出的 Capsule ?

首先这个工作成功或者不成功都是很正常的,就算 Capsule 真的会成为以后的趋势,Hinton 也未必这么快找到正确的训练算法;就算 Hinton 找到了正确的训练算法,也没有人能够保证,Capsules 的数量不到人脑中 mini-columns 数量的时候,能够起达到人类的识别率(何况现在 CNN 虽然问题很多,但是识别率很多已经超过人类了)。

另外看之前的关于 Capsules 的论文 [4],其中的结果在 2011 年还是不错的,但是相比近年来的 CNN 就差多了,这恐怕也是 Capsules 随后没有火起来的原因。很多人都吐槽现在深度学习各种各样的问题,需要大量调参,但是每次调参都能有一大批人在论文发表 deadline 前调到想要的效果,这个也不得不服啊;不服你用 SIFT 给你一年调到一样的效果试试?

或许最糟的结果是,如同分布式存储中著名的 CAP 理论(又叫 Brewer's theorem)所述,一致性,可用性和分片性三者不能同时满足;或许对于机器学习,正确率,可解释性,因果性也不能同时满足(最好的模型必然最难理解)。Hinton 晚年试图突破深度学习就像爱因斯坦晚年试图统一电磁力和引力一样,是注定无法成功的。不过相信 Hinton 仍然愿意等下去,毕竟从反向传播提出,到深度学习的火爆,Hinton 已经坚守了 30 年了。

评论中有人提到,人工神经网络不必非要按照生物的路子走。我想 Hinton 重提 Capsule 的原因不只是因为 Capsule 在生物学上有支持,而是其有可以实施 dynamic routing 算法等的优良性质,Hinton 在其上看到了一些可能的突破点。

最早的神经网络作为感知机出现的时候是按照 Hebb's rule 学习的,可以说是非常生物了。正是 Hinton 和 LeCun 搞出脱离生物模型的反向传播算法,以及 Hinton 后来基于热力学统计做的玻尔兹曼机和受限玻尔兹曼机以及配套的对比散度算法,才有了深度学习的今天。


上一篇:深度学习:远非人工智能的全部和未来
下一篇:分布式机器人走进智能工厂 机器人学习迎来“春天”

本周栏目热点

深度学习之生成式对抗网络(GAN)入门指南

[2017-12-25]  本文将介绍GAN的基础概念及其工作方式,并辅之以有趣案例的实现方法和重要资源,方便初学者训练、使用。2014年Ian J Goodfellow等人首先提出生成对抗网络(Generative Ad......

实用:用深度学习方法修复医学图像数据集

[2018-05-04]  医学图像数据很难处理,经常包含旋转倒置的图像。这篇文章介绍如何利用深度学习以最小的工作量来修复医疗影像数据集,缓解目前构建医疗 AI 系统中收集和清洗数据成本大的问题...

Graphcore 研发出AI芯片让机器学习提速百倍

[2017-12-15]  作为英国最热门的创业公司之一,Graphcore专注于加速复杂机器学习模型的训练以及推断过程。他们正在开发人工智能芯片,以降低企业数据中心和云端使用AI应用程序的成本,并将性......

解密百变机器人一天的工作

[1970-01-01]  你造吗?百变机器人是这样工作的    偶开了一个小的医疗器械工厂,不久前,面试了一个最让我满意的工人:他高智商,好体力,一天可以工 ...

深度学习算法研究现状

[2017-12-12]  深度学习便是人工智能领域的最新热点。它被广泛的运用在图像识别、语义理解等等方面。近来谷歌研究院的围棋机器人Alpha Go,也部分使用了深度学习技术。...

成功构建一个机器学习模型需避免这9个错误

[2018-07-10]  随着越来越多的团队使用预测模型,企业领导者和管理者必须意识到可能扭曲团队工作结果的常规问题。 以下是要避免的九个常见问题,最好的做法是遵循,以实现一个可靠的机器学......

Judea Pearl:传统机器学习于因果层级底层,达成完备AI的7个工具

[2018-07-12]  机器学习的巨大成功带来了 AI 应用的爆炸式增长以及对具备人类级别智能的自动化系统不断增长的期望。然而,这些期望在很多应用领域中都遇到了基本的障碍。其中一个障碍就是......

精选推荐

机器人从工业走向家庭  库卡KUKA目标是引领中国市场
机器人从工业走向家庭 库卡KUKA目标是引领中国市场

[2017-12-08]  机器人正在改变着人们的生活方式,而库卡KUKA想要在中国这个大蛋糕中占有一块大份额,库卡公司正在引领市场...

亚马逊CEO杰夫·贝佐斯操控巨型有人驾驶机器人(巨型机甲)
亚马逊CEO杰夫·贝佐斯操控巨型有人驾驶机器人(巨型机甲)

[2017-03-21]  近日,亚马逊CEO杰夫·贝佐斯实现了每一个6岁儿童都会有的梦想,他控制了一个巨大的机甲机器人。据国外媒体Verge报道,前天(3月19日),贝 ...

2018年企业数字化转型的五大趋势
2018年企业数字化转型的五大趋势

[2017-12-16]  据2016年哈佛商学院研究表明,选择进行数字化转型的企业在3年内表现出了55%的平均毛利润提升,相比之下其他企业毛利润同期降低了37%。数字化转型企业的领头羊,也曾是收入处于......

2023年服务机器人市场将超过250亿美元
2023年服务机器人市场将超过250亿美元

[2017-09-04]  全球服务机器人市场预计到2023年将达到250亿美元, 并在预测期内登记15% 的复合年增长率。短期中期回收期和投资回报率高 (ROI), 以及在教育和研究、临场感、防御、救援和安......

受大脑控制的机器人
受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

德国研发出一种能在你体内工作的微型机器人

[2018-01-26]  纽约时报的报道,德国的研究人员已经开发出一种长约七分之一英寸的机器人,首先看起来不过是一小块橡皮条。然后它开始移动。机器人走路,跳跃,爬行,滚动和游泳。它甚至爬出......

科学家从蟑螂获得启发 教机器人更好地走路
科学家从蟑螂获得启发 教机器人更好地走路

[2017-12-11]  Weihmann指出:“我特别感到惊讶的是,动物运动稳定机制的变化与腿部协调的变化是一致的。昆虫的慢运行非常稳定,因为它的重心很低,三条腿总是以协调的方式运动。...

如何让人工智能机器人快速自我纠正错误并吃一堑长一智?
如何让人工智能机器人快速自我纠正错误并吃一堑长一智?

[2017-08-23]  莱斯特大学数学系的研究人员在《Neural Networks》杂志上发表了一篇文章,概述了新算法的数学基础,可以使人工智能收集错误报告并立即纠正,而不影响现有技能 ,同时还会积......