深度学习是什么?

人工智能,就好像第四次工业革命,正从学术界的私藏,转变为一种能够改变世界的力量 。尤其,以深度学习取得的进步为显著标志 。它让匍匐前进60年的人工智能一鸣惊人 。
我们正降落到一片新大陆 。深度学习带来的这场重大技术革命,有可能颠覆过去20年互联网对技术的认知,实现技术体验的跨越式发展 。
那么,深度学习到底是什么?怎么理解它的重要性?我们先从概念和现象入手 。
我总结了一句话,学术上看未必严谨,但从我的理解角度看——深度学习是基于多层神经网络的,海量数据为输入的,规则自学习方法 。
这里包含了几个关键词:
第一个关键词叫多层神经网络 。
深度学习所基于的多层神经网络并非新鲜事物,甚至在80年代被认为没前途 。但近年来,科学家们对多层神经网络的不断算法优化,使它出现了突破性的进展 。
以往很多算法是线性的 。而这世界上大多数事情的特征是复杂非线性的 。比如猫的图像中,就包含了颜色、形态、五官、光线等各种信息 。深度学习的关键就是通过多层非线性映射将这些因素成功分开 。
那为什么要深呢?多层神经网络比浅层的好处在哪儿呢?
简单说,就是可以减少参数 。因为它重复利用中间层的计算单元 。我们还是以认猫为例好了 。它可以学习猫的分层特征:最底层从原始像素开始学习,刻画局部的边缘和纹;中层把各种边缘进行组合,描述不同类型的猫的器官;最高层描述的是整个猫的全局特征 。
它需要超强的计算能力,同时还不断有海量数据的输入 。特别是在信息表示和特征设计方面,过去大量依赖人工,严重影响有效性和通用性 。深度学习则彻底颠覆了“人造特征”的范式,开启了数据驱动的“表示学习”范式——由数据自提取特征,计算机自己发现规则,进行自学习 。
你可以理解为——过去,人们对经验的利用,靠人类自己完成 。在深度学习呢?经验,以数据形式存在 。因此,深度学习,就是关于在计算机上从数据中产生模型的算法,即深度学习算法 。
问题来了,几年前讲大数据,以及各种算法,与深度学习有什么区别呢?
过去的算法模式,数学上叫线性,x和y的关系是对应的,它是一种函数体现的映射 。但这种算法在海量数据面前遇到了瓶颈 。国际上著名的ImageNet图像分类大赛,用传统算法,识别错误率一直降不下去,上深度学习后,错误率大幅降低 。在2010年,获胜的系统只能正确标记72%的图片;到2012年,多伦多大学的 Geoff Hinton利用深度学习的新技术,带领团队实现了85%的准确率 。2015年的ImageNet竞赛上,一个深度学习系统以96%的准确率第一次超过了人类(人类平均有95%的准确率) 。
计算机认图的能力,已经超过了人 。尤其图像和语音等复杂应用,深度学习技术取得了优越的性能 。为什么呢?其实就是思路的革新 。
举几个脑洞大开的例子 。
(1)
先说计算机认猫 。
我们通常能用很多属性描述一个事物 。其中有些属性可能很关键,很有用,另一些属性可能没什么用 。我们就将属性被称为特征 。特征辨识,就是一个数据处理的过程 。
传统算法认猫,也是标注各种特征去认 。就是大眼睛,有胡子,有花纹 。但这种特征写着写着,有的猫和老虎就分不出来,狗和猫也分不出来 。这种方法叫——人制定规则,机器学习这种规则 。
深度学习方法怎么办呢?直接给你百万张图片,说这里有猫,再给你上百万张图,说这里没猫 。然后再训练一个深度网络,通过深度学习自己去学猫的特征,计算机就知道了,谁是猫 。
(2)
第二个例子是谷歌训练机械手抓取 。
传统方法肯定是看到那里有个机械手,就写好函数,move到xyz标注的空间点,利用程序实现一次抓取 。
而谷歌现在用机器人训练一个深度神经网络,帮助机器人根据摄像头输入和电机命令,预测抓取的结果 。简单说,就是训练机器人的手眼协调 。机器人会观测自己的机械臂,实时纠正抓取运动 。
所有行为都从学习中自然浮现,而不是依靠传统的系统程序 。
为了加快学习进程,谷歌用了14个机械手同时工作,在将近3000小时的训练,相当于80万次抓取尝试后,开始看到智能反应行为的出现 。据公开资料,没有训练的机械手,前30次抓取失败率为34%,而训练后,失败率降低到18% 。
这就是一个自我学习的过程 。
(3)
有人问了,深度学习,能学习写文章吗?
来看这个例子 。斯坦福大学的计算机博士andrej kapathy曾用托尔斯泰的小说《战争与和平》来训练神经网络 。每训练100个回合,就叫它写文章 。100个回合后,机器知道要空格,但仍然有乱码 。500个回合后,能正确拼写一些短单词 。1200个回合后,有标点符号和长单词 。2000个回合后,已经可以正确拼写更复杂的语句 。
整个演化过程是个什么情况呢?
以前我们写文章,只要告诉主谓宾 。而以上过程,完全没人告诉机器语法规则 。甚至,连标点和字母区别都不用告诉它 。不告诉机器任何程序 。只是不停将原始数据进行训练,一层一层训练,最后输出结果——就是一个个看得懂的语句 。
【深度学习是什么?】一切看起来都很有趣 。人工智能与深度学习的美妙之处,也正在于此 。
(4)
我还去硅谷看过一家公司——完全颠覆以往的算法,利用深度学习实现图像深度信息的采集 。
众所周知,市面上已经有无人机,可实现人的跟踪 。它的方法是什么呢?一个人,在图像系统里,一堆色块的组合 。通过人工的方式进行特征选择,比如颜色特征,梯度特征 。拿简单的颜色特征举例:比如你穿着绿色衣服,突然走进草丛,就可能跟丢 。或,他脱了件衣服,几个人很相近,也容易跟丢 。
此时,若想在这个基础上继续优化,将颜色特征进行某些调整,是非常困难的 。而且调整后,还会存在对过去某些状况不适用的问题 。
总之,这样的算法需要不停迭代,迭代又会影响前面的效果 。
而硅谷这个团队,利用深度学习,把所有人脑袋做出来,只区分好前景和背景 。区分之后,背景全部用数学方式随意填充,再不断生产大量背景数据,进行自学习 。只要把前景学习出来就行 。
据我所知,很多传统方法,还在采用双目视觉 。用计算机去做局部匹配,再根据双目测出的两个匹配的差距,去推算空间另一个点和它的三角位置,从而判断离你多远 。
可想而知,深度学习的出现,使得很多公司辛苦积累的软件算法直接作废了 。
“算法为核心竞争力”,正在转变为,“数据为核心竞争力” 。
技术人员必须进入新的起跑线 。
(5)
最后再举个例子 。
大家都做过胃镜 。尤其胃痛,很痛苦 。肠胃镜要分开做,而且小肠看不见 。
有一家公司出了一种胶囊摄像头 。吃进去后,在你的消化道,每5秒拍一幅图,连续摄像,此后再排出胶囊 。所有关于肠道胃部的问题,全部完整记录 。但医生光把那个图看完,就需要五个小时 。原本的机器主动检测漏检率高,要医生复查 。
后来,他们采用深度学习 。采集8000多例图片数据灌进去,用机器不断学,不仅提高诊断精确率,减少了医生的漏诊,以及对稀缺好医生的经验依赖 。只需要靠机器自己去学习规则 。
深度学习算法,可以帮助医生作出决策 。
了解完深度学习,接着思考一个问题——20世纪70年代末80年代初,个人电脑突飞猛进时,人工智能的商业化却步履维艰 。乔布斯曾这样定义个人计算机的价值——“它是我们思维的自行车” 。那么,今天的人工智能呢?深度学习呢?它给我们真正带来的东西是什么?未来,对行业和社会有什么影响?中国公司的机会在哪?
深度学习是人工智能的一个研究领域 。人工智能的研究大致经历了三个阶段:

  • 最初人们认为可以把人的知识和经验都变成规则,写成程序让计算执行就能实现人工智能 。这方面的努力取得了不少成果 。比如,关系型数据库、我们所熟知的Excel(学名叫Spreadsheet)都是这方面的研究成果 。但是,不管怎么努力人们都不能把复杂的世界用一个简单的模型表示出来,人工智能也因此走进了瓶颈 。
  • 人们终于相信用人工无法制定出完整的规则,于是就另辟蹊径让计算机主动去学习规则好了,这就是机器学习的概念 。人们给电脑制定了许多条件,让它在海量的数据中寻找有用的信息,并转化成规则 。这一阶段的成主要果是各类数据挖掘技术 。这些技术广泛应用到了搜索引擎,如某度、某歌什么的 。值得一提的是深蓝就是通过大量搜索棋谱跟人类棋手过招的 。可是这么做的局限性也是明显的,因为深蓝不会用人类不知道的招数 。
  • 在搜索引擎大行其道的时候,人们并没有放弃对把知识转化成规则的研究,这些技术用到了各类信息系统之中,比如,ERP什么的 。这中间线性规划得到了广泛应用,比如,计算行车路线时可能要考虑时间、距离、是否拥堵等多个条件,把这些条件可以列成一组多元方程组,但通常方程的个数要比未知数少,这样的方程有无数组解,而我们只能从这些解中寻找一组最优解 。这就产生了一个问题,这就是解的数量庞大,一个一个都算出来是不现实的 。这时候人们便想了很多办法快速地找到最优解l或者叫近似解 。神经网络就是比较有效的办法之一 。这些研究取得了一个重要的进展,就是计算机能找到一些人所不知道的规则 。于是,人们开始让计算机用前面说的算法,自己搜索规则,这个过程被称为深度学习 。阿尔法狗就是通过深度学习,找到了不为人知的棋谱从而大败人类棋手的 。
如果说机器学习是让计算机被动搜索已知的规则,那么深度学习就是让计算机主动搜索潜在的新规则 。深度学习让人工智能有了超越人类的可能 。

    推荐阅读