究竟深度学习在干什么?

来源:人机与认知实验室

概要: 深度学习取得了巨大的成功,这是无容置疑的。对此,我们不必再多说什么。但是,其理论基础仍然有很大的空白。


 深度学习取得了巨大的成功,这是无容置疑的。对此,我们不必再多说什么。但是,其理论基础仍然有很大的空白。例如:究竟深度学习在做什么?为什么可以学习很多东西?这些问题极为重要。但是直到现在,仍然众说纷纭,没有定论。


我们对待深度学习的基本思路是从梳理最基本的概念入手,一步一步推进,来逐步搞清楚里面的问题。


先从最简单也是最基本的说起,那就是IPU,即信息处理单元(Information Processing Unit)。其实这个概念真的是信息处理中最基本的。一个信息进来,即是一个N维的布尔向量进来,经过处理,一个信息出去,即一个M维的布尔向量出去,这就形成了一个IPU。也就是说,我们有了一个从N维布尔空间到M维布尔空间的映射(函数,变换,或者其他术语)。可以很容易想到,IPU是很宽泛的,有太多的东西都是IPU。如通常的CPU就是一个IPU,GPU也是,一个数学函数也是一个IPU,一个程序也是,等等。当然,我们最关心的是机器学习。一个机器学习的模型,如果我们停止它的学习,它也是一个IPU。


仅仅是IPU,就没有什么重要性。机器学习的模型,最重要的特征是可以学习。讲得更精确一些,就是可以在输入数据的驱动下,改变自己处理信息的能力。因此我们定义这样一个概念:即在输入数据的驱动下,可以改变自己处理信息能力的IPU,我们称为学习机。而这个学习过程,就是机械式学习。之所以强调机械式学习,是想把人为因素排除,使得学习仅是通过输入数据,而没有人工干预。在排除了各种人工干预的因素后,我们可以仔细考虑各种情况,进而梳理清楚这里面的问题。


这样,我们就进一步有了学习机的概念:学习机是一个IPU,但是,这个IPU可以在其输入数据的驱动下而改变自己处理信息的能力。很清楚,任何机器学习模型,如果排除人工干预,就是一个学习机(深度学习模型也是如此,概率学习模型也是如此)。这当然是我们做这些梳理的目的。


让我们从学习机倒回去看看IPU。前面说了,IPU就是一个处理信息的东西。我们问,这个东西里面有什么?其实就是有一个处理信息的机制。我们这里抽象地看这个处理信息的机制,我们把它称为Processing,中文可以叫做处理。我们可以不用管这个处理具体是怎么实现的,我们可以仅定义一个处理就是能够处理信息,一个N维的布尔向量进来,经过处理,一个M维的布尔向量出去。


一个最基本问题来了:一个N-M的IPU有多少可能的处理呢?这很容易回答,有2的(M乘2的N次方)次方。这是一个极端惊人的数目。如果仅看文字没有感觉的话,可以试试M=1,N=10,在代入之后,可以看到这个数远大于2的1000次方,或者10的300次方。这还仅是N=10的情况!如果N=100?N=1000?要知道,对于信息处理来说,N=1000都非常小的,N可能很大。那样的话,IPU的处理的数目就非常非常巨大了。


这个超乎寻常的巨大的量其实是反映学习的本质的(乃至于智能的本质的)。不过只能在别的地方细谈,此处只能放过。


所谓的学习,精确定义到IPU上面,那就是IPU里面的处理改变了。处理改变了,处理信息的能力就改变了,这就是机械式学习的精确定义。因此学习机就是:它是一个IPU,在输入数据的驱动下,它的处理会改变。


我们再仔细追问,一个IPU的处理是什么?其实可以有非常多种的实现方式。例如,可以是硬件来实现的,也可以是软件来实现的,可以是通过生物机制来实现的,也可以是纯数学的方式来实现的,可以是神经网络来实现的,也可以是通过某种统计模型来实现的。总之,只要能做相应的信息处理,就好。但是经过一些仔细的推论,我们可以看到,无论IPU内部的处理是通过什么方式实现的,都必须遵循一定的数学原则,因此原则上讲,这个处理必然等价于一组逻辑门的组合。我们因此定义一个数学对象,它是用与或非三个逻辑门反复组合形成的,称之为X-形式。之所以叫X-形式,是因为它的确是一个数学形式,而我们目前对这个形式还相当未知,所以冠以X。我们证明了,任何一个处理,都可以用一个X-形式表达。这样,我们就知道IPU中间其实就是一个X-形式。而学习就是改变IPU的X-形式。那么,学习机就是在输入数据的驱动下,它的X-形式从一个变成另一个。


我们更进一步证明了,一个处理,其实可以对应多个X-形式。也就是说,对一个处理来说,有多个X-形式可以产生这同一个处理。因此,问题自然就来了,这多个X-形式中间,是否有好坏的差别?当然有,而且这个好坏差别还非常重要。因此,学习机的学习就是在改进其内在的X-形式。因此,我们知道了机械式学习,就是在输入数据的驱动下,学习机内部的X-形式在改变。


前面说了,如果一个机器学习模型没有人工干预,就是在做机械式学习,因此,我们也就可以说一个机器学习模型是在输入数据的驱动下,改变自己内在的X-形式。


如果一个学习机可以学会任何处理,那么这个学习机就是通用学习机。


这就是对通用学习机和X形式的简介



现在我们从机械式学习的角度来看深度学习。


首先说明,深度学习经过这几年的大发展,已经发展成了一个非常庞大的集合体,已经有了很多模型很多方法。为了清楚和容易入手起见,我们选取Hinton的原初的深度学习模型来展开讨论,Hinton的原初模型,非常具有代表性,可以使得我们的讨论相对容易一些。


可以这样描述Hinton的原初深度学习模型:它是一系列RBM的叠加,而RBM是单层人工神经网络,深度学习就是多层神经网络。我们正好可以比较深入地看RBM。我们从2-1 RBM看起,这是最简单的神经网络,有两个实参数。这样的模型,当然是一个学习机。因为仅有两个实参数,学习就是调整这两个实参数,学习也就相当于在参数在一个二维平面R上的运动。这样,我们从前面讲的机械式学习的角度看,就很清楚,2-1 RBM是这样一回事:这个二维平面R被切成6个区域,每一个区域对于一个X-形式,在学习中,如果参数从一个区域跨到另一个区域,就相当于X-形式换成了另一个X-形式。更具体的讨论,请参考英文原文。虽然2-1 RBM是一个很简单很特殊的例子,但是这里揭示的情况:把参数空间切成若干区域,而每一个区域对应一个X-形式,却是普遍的。


我们然后对3-1 RBM,N-1 RBM,N-M RBM都做了讨论,也都清楚地看到这个情况:把参数空间切成若干区域,而每一个区域对应一个X-形式,却是普遍的。


然后,我们把RBM层叠起来,就组成了Hinton的原初的深度学习模型。同样,对这个模型,我们也看到了:把参数空间切成若干区域,而每一个区域对应一个X-形式。


这样,我们就清楚了深度学习模型究竟在干什么!总结一下:


1. 当模型在形成时,就相当于把参数空间切成了若干区域。


2. 在任何一个这样的区域中,虽然参数可以很不同,但是,其实都代表同一个X-形式,而相应的处理也是相同的。仅有在参数跨过边界,进入不同区域时,才会发生不同的X-形式,才会有不同的处理。


3. 深度学习就是在数据的驱动下,从一个X-形式变到另一个X-形式。


更具体的讨论,请参考我的英文原文:

https://arxiv.org/pdf/1711.03577.pdf


当然Hinton的原初深度学习模型仅是深度学习模型的一种,而且是最简单的一种。现在深度学习已经加入了更多的东西和方法,如卷积,池化,剪枝,等等。而且其中的非线性切断函数也是多样的,不仅仅是Sign函数,如ReLU。这些都给深度学习模型带来很多变化。但是这个基本情况仍然如此:把参数空间切成有限块若干区域,而每一个区域对应一个X-形式。当然切出来的区域就更复杂,不是简单的超平面和直积切成的区域。



前面讲的这个深度学习的基本情况非常重要,它决定了深度学习的基本能力和特征。当我们清楚了这个基本情况后,我们就可以对深度学习的一些方面做一些评论:


为什么深度学习能很有效


为什么深度学习很有效?我认为,有两个基本的原因:


其一:一个深度学习模型建立之时,其实就决定了这个模型是否有效,因为在这时,这个模型能够触及的全部X-形式已经到位,不可能再有新的X-形式来参与了。如果我们期望的X-形式已经在里面,我们就有可能找到它。如果期望的X-形式不在里面,那么无论我们付出多大的努力和具备多大的数据,都不可能学习到期望的东西。因此,深度学习模型的建立是决定性的。


其二:已经发展出了一套比较有效的方法来寻找期望的X-形式(当然如果这个X-形式不在,那么这些方法也就无效)。需要指出,这套方法基本上建立在线性代数运算的基础上,可以做到高度平行化。高度平行化是在现有计算结构下充分利用计算能力的必需。但是如果要加入动态调整(如最新的“胶囊”方法),这种高度平行化,就可能失去。


*逻辑或者概率


通过我们的这个角度,可以很清楚看清楚,一个深度学习模型在处理输入信息到输出信息时,是遵循一个逻辑陈述(即其内部的X-形式),是完全逻辑的,并无随机因素。当然,它是如何获得这个逻辑陈述(即X-形式)的,就不排除随机因素。而且在实践中,随机因素的成分可以相当大。


*数据和深度学习


深度学习中,最重要的是数据驱动。但是,有一个根本的问题就是,需要多少数据才能够有效学习?目前没有理论来说明。如果是一个完全概率的学习模型,有足够的统计学理论来说明需要多少数据。但是,如前所说,深度学习的核心是X-形式,而且这个X-形式可能相当复杂(这就是深度嘛),不可能凭空得到这个X-形式。只有在足够的数据支持下,才有希望获得这个X-形式。那么需要多少数据,什么数据?我们已经有了一些初步理论来说明要什么数据,多少数据。


*深度学习的重大不足


其1:深度学习的基本特性,决定了深度学习的能力极限,那就是,深度学习模型建立的时候,就已经确定了所有可能的X-形式,就是说,当模型一旦确定,它能够学习什么,不能学习什么,已经定下了极限,再不能超越。这个特性使得很多事情成为不可能,例如,转移学习成为很困难的事情。尤其,不可能做到通用学习机。


其2:深度学习是在一个非常巨大的欧式空间中活动的,这个欧式空间可能有上千万维。但是,真正的学习却不在这个巨大的欧式空间中,而是在那些切成的区域中,这样的间接性就使得深度学习的很多性质很模糊,例如很难清晰获得学习的动力学。


其3:这样的间接性极大局限了深度学习的效能。非常可能大量的计算是浪费在不必要的运算上面。


其4:这样把X-形式间接嵌入到区域中的方式,使得深度学习很难做得可以解释。而可解释是非常需要的。


其5:需要大量的数据。而无监督学习有重大困难。


*展望通用学习机


我们现在比较清楚了深度学习的各种问题。那么,要克服这些问题,走向更高效能的机器学习,我们认为就需要展望通用学习机。


通用学习机就是可以学习任何东西的机器,我们可以用一句话来讲:通用学习机不需要人工的干预,只要有数据,就可以高效能学习,学会数据里面隐含的东西。尤其,不需要像深度学习那样,需要预先人工搭好一个模型,才能学习。我们对此已经对通用学习机做了一些理论工作,也发明了一些具体实现的方法,并且申请了专利。欢迎有更多的朋友一起来探索理论,发明方法,促进应用。


(史元春  摄于北京)


最后,要对看到这里的朋友表示深深的谢意。穿过了很多艰涩的概念,一直读到这里,一定是对这些问题有极大的兴趣,而且对这些问题已经有深入思考,才能读到这里。谢谢大家。对读到这里的朋友们,我就多说两句务虚的话。这个时代是激动人心的时代,这是我们终于可以开始用数学和科学对人类最关键的知识领域——认识论——做探讨的时代。在这之前,我们用数学和科学对我们的外部世界(也包括人自己的身体)做了许多伟大的探索,形成了伟大的学问。但是,对这个根本问题:为什么人脑可以反射大千世界怎样反射大千世界,还是基本停留在哲学层面,没有也不可能深入到科学原理和数学细节上面。请注意,现在伟大的帷幕已经在开启,我们很快就可以在这个伟大的领域有所作为了。而这个领域的突破,就意味整个科学和数学的巨大升华。我们碰到了这样的大时代,是我们的幸运,不是很多人有这种幸运的。我们要珍惜这个幸运。现有的深度学习仅是伟大帷幕开启的先声号角,而通用学习机也仅是在这个方向做探索的一个小努力。帷幕正在开启,大时代正在到来。让我们一起来迎接这个大时代。


两年前在中国,因时差而反侧困顿,梦境依稀中得一打油诗,愿意和大家分享:


记  梦

机械学习创新知,

学习机器待奇思,

反侧犹觉洞天地,

一行一步渐趋之。


这里的洞天地,指的是认识史上的高峰:获取用机器来反射大千世界的基本规律,并且建造机器来帮助我们获得更高层次的认识。这个高峰,我恐怕是看不到的。但是,当感觉(或者幻觉)到可以一行一步趋近的时候,那种愉悦,的确非常好!以此和大家交流。


(刘伟 摄于剑桥)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

128位计算机 ps2,64位就最强?为啥没有128位电脑?

虽然CPU只有64位,但是我们在选择显卡的时候可以看到显存有128位甚至256位的,那么这里的位数指的意思一样吗?既然64位的操作系统相比32位有更大的优势,那么为什么没有128位的操作系统和CPU呢?64位性能优势明显我们先简单…

微信AI体验中心发布上线了!

来源:全球人工智能 概要:微信的所有用户都可以直接通过微信小程序进行搜索“AI体验中心”进行使用! 最新消息,微信发布了“AI体验中心”小程序!微信的所有用户都可以直接通过微信小程序进行搜索“AI体验中心”进行使用…

新技术:如何用VR训练机器人?

来源:亿欧 概要:然而,如果请一个机器人来抓取同样的东西,你只会看到一个发呆的机器人或得到一团皱巴巴的东西抓在机器人手里。 帮我个忙,抓住你周围的一件东西。随便你怎么做,即使你以前从来没有做过这种事…

Google正式发布TensorFlow Lite预览版,针对移动/嵌入设备的轻量级解决方案

来源:AI科技评论 概要:日前,谷歌正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。 日前,谷歌正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级…

百度最早量产?一图看全球公司无人驾驶汽车时间表

来源:全天候科技 概要:无论是Waymo、英伟达等科技公司,还是丰田、宝马等传统汽车厂商,都将2020年设为无人车产品落地的重要时间节点。 无论是Waymo、英伟达等科技公司,还是丰田、宝马等传统汽车厂商,都将2…

延边大学计算机金小峰,第九届中国信息安全博士论坛在我校开幕

8月6日第九届中国信息安全博士论坛(2016 China Information Security Doctor Conference,CISDC2016)在我校开幕,本届中国信息安全博士论坛是由延边大学和中国信息安全博士网联合主办,北京艾得威尔信息咨询中心承办,中国信息安全人…

电脑计算机d盘有用吗,d盘不见了,教您电脑d盘不见了怎么解决

安装完win7系统之后,一般用户会分硬盘有CDEF盘,可以方便我们存储文件软件等,而有win7系统用户要却发现没有D盘了,D盘不见了?这是怎么回事呢?该怎么去解决呢?下面,小编就给大家分享解…

深读|赛迪报告:国外低功耗广域网发展及启示

来源:通信产业报 概要:从人类进入信息时代以来,经济社会发展对信息互联互通的需求不断提升,通信的范围和边界已从人与人逐渐拓展到物与物以及人与物之间。 从人类进入信息时代以来,经济社会发展对信息互联互通的需求不…

波士顿动力发布新版人形机器人:能跳跃旋转、后空翻

来源:澎湃新闻 概要:发布新设计的四足机器人SpotMini后,仅过了三天,波士顿动力又发布了一款人形机器人——Atlas。 发布新设计的四足机器人SpotMini后,仅过了三天,波士顿动力又发布了一款人形机器人——At…

Science:最新发现哈希可能是大脑的通用计算原理!

来源:全球人工智能 概要:研究哈希(hash)的小伙伴们,有没有感觉到自己的研究非常的高大上? 最近Science的一篇论文发现,果蝇的嗅觉系统识别不同气味是通过哈希(LSH)来实现的。 研究哈希(hash)的小伙伴们,有…

激战服务器位置,如何选服务器 《激战2》服务器设置讲解

官方已经公布了《激战2》5月1日不删档测试的服务器,《激战2》5月1日上午10时将正式开启不删档测试,三组服务大区今日正式公布!此次不删档测试将开放电信一区、电信二区和联通一区共计18组服务器,只有在4月30日24时前参与预售的购买用户才能登…

中国超算项目获戈登贝尔奖:首次高分辨率精确模拟唐山大地震

来源:澎湃 概要:北京时间11月17日凌晨,在美国丹佛举行的全球超级计算大会上,由清华大学地球系统科学系副教授付昊桓等共同领导的团队所完成的“非线性地震模拟”获得国际高性能计算应用领域最高奖“戈登贝尔”奖。 北京时间11月17…

中科院在2017年高被引科学家遴选中表现优异

来源:科学网 概要:美国哈佛大学109人(次)入选排名第一,斯坦福大学64人(次)入选排名第二,德国马普学会47人(次)入选排名第四。 11月15日,科睿唯安&…

谷歌宣布对外开放聊天机器人数据分析平台Chatbase

来源:TechWeb 概要:11 月 17 日消息,据美国科技博客VentureBeat报道,谷歌的聊天机器人分析平台Chatbase在I / O大会上安静地登场后,该公司宣布现在向所有人开放。 11 月 17 日消息,据美国科技博客VentureBe…

解密首批人工智能国家队 BAT都在【附下载】

来源:智东西 概要:11月15日,科技部在京召开新一代人工智能发展规划暨重大科技项目启动会,会上公布了首批国家人工智能开放创新平台名单。 11月15日,科技部在京召开新一代人工智能发展规划暨重大科技项目启动会,会上公布了首批国家人工智能开放创新平台名单。

无人驾驶、VR、AR时代即将开启,中国电信2018年将完成5G商用版本

来源:36氪 概要:中国5G基础研发测试分为三个阶段,第一阶段5G关联技术试验,第二阶段5G技术方案验证,第三阶段5G的系统验证。目前,已经到了第三个阶段。 中国5G基础研发测试分为三个阶段,第一阶段…

在人工智能时代,我们更需要理解自己的智能 | 艾伦脑科学研究所所长克里斯托夫·科赫STEP峰会演讲实录

来源:神经科技 概要:我们的大脑只有1.5千克,但对我们来说非常重要。是我们的大脑,而不是心脏,塑造了人的思维,帮助我们记忆。 11月15日下午,在由《环球科学》和财新传媒联合主办的STEP全球科技峰…

要毁灭人类、喷马斯克、还获得公民身份的Sophia,是假的

来源:品玩 概要:按照官方的说法,这个身份是授予给索菲亚这个个体的,意味着即便是用索菲亚同样的技术方案「复制」出来的机器人并不共有这个身份。 她的名字叫索菲亚,在过去一年里经常出现在微博和微信朋友圈刷屏。 最…

C++ 与Qt开发人机象棋(第一部分)

MyWidget.h //Hearders #include <QWidget> #include "MyWidget.h" #include <QPushbutton>namespace{ class MyWidget: }class MyWidget:public QWidget {Q_OBJECTpublic:explict MyWidget(QWidget *parent0);//在QTcreator中&#xff0c…

C++与Qt开发人机象棋(第二部分)

C与Qt开发人机象棋(第二部分) 项目目录 文件名->(包含)类名1->(包含)类名2 ChessByChessBy.proHeadersBoard.h–––SourcesBoard.cppmain.cpp 上次我们讲到 调用了 获取鼠标点击的当前区域 以及在屏幕上绘制线段&#xff0c;圆&#xff0c;文本&#xff0c;改变他们的…