吐血整理-周志华演讲合集

news/2024/12/31 2:08:14/

前言: 这是整理了周志华老师几个演讲笔记的合集,很齐全啊哈哈哈哈,欢迎大家留言补充

“现在是大数据时代,但是大数据不等于大价值。”
我们要从大数据里面得到价值的话,就必须要有一些有效的数据分析。正因为这个原因,这几年机器学习特别热。这是从人工智能里面产生的一个学科,利用经验改善系统学习。在计算机系统里面,不管是什么经验,一定是以数据的形式呈现的。所以机器学习必须对数据分析,这个领域发展到今天主要是研究智能数据分析的理论和方法。

人工智能的三个阶段:

第一阶段:
在最早的一个阶段,大家都认为要把逻辑推理能力赋予计算机系统,这个是最重要的。因为我们都认为数学家特别的聪明,而数学家最重要的能力就是逻辑推理,所以在那个时期的很多重要工作中,最有代表性的就是西蒙和纽厄尔做的自动定理证明系统,后来这两位也因为这个贡献获得了七五年的图灵奖。
第二阶段:
但是后来慢慢的就发现光有逻辑推理能力是不够的,因为就算是数学家,他也需要有很多知识,否则的话也证明不出定理来。所以这个时候,主流技术的研究就很自然地进入了第二阶段。
大家开始思考怎么样把我们人类的知识总结出来,交给计算机系统,这里面的代表就是知识工程专家系统。像知识工程之父爱德华·费根鲍姆就因为这个贡献获得了 1994 年的图灵奖。
第三阶段:
但是接下来大家就发现要把知识总结出来交给计算机,这个实在太难了。一方面总结知识很难,另外一方面在有些领域里面,专家实际上是不太愿意分享他的经验的。
所以到底怎么解决这个问题呢?我们想到人的知识就是通过学习来的,所以很自然的人工智能的研究就进入了第三个阶段。
这时候机器学习作为这个阶段的主流研究内容,可以看到机器学习本身其实就是作为突破知识工程的一个武器而出现的。但是,事实上并没有达到目的,今天大多数的机器学习的结果都是以黑箱的形式存在的。另外一方面,为什么机器学习这么热门呢?其实恰恰是因为在二十世纪九十年代中后期,我们人类搜集、存储、管理、处理数据的能力大幅度提升,这时候迫切需要数据分析的技术,而机器学习恰恰是迎合了这个大时代的需求,所以才变得特别的重要。
今天的社会,机器学习已经可以说是无所不在了,基本上只要有数据需要分析,可能就可以用到机器学习。
机器学习这个学科里产生出了很多种有效的机器学习的技术和算法,但是更重要的就是机器学习是一个有坚实理论基础的学科,其中最重要的就是计算学习理论。
而计算学习理论中最重要的一个理论模型就是概率近似正确模型 —— PAC。它的提出者 Valiant(维利昂特) 教授也因此获得了图灵奖。

2006 年Hinton 在 Nature 发表了关于深度学习的文章。2012 年他又组队参加 ImageNet,获得冠军。冠军没什么特别的,因为每年都有冠军。但超过第二名 10 个百分点的成绩引起了大家的注意,深度学习就此兴起,现在深度学习的应用越来越广泛了。
所以如果折中一下,从 2010 年至今,深度学习的热潮已经 6 年了。
从技术层面来看,深度学习其实就是很多层的神经网络。所谓的一个神经元其实就是这么一个函数,我们所谓的神经网络其实就是很多这样的多层函数嵌套形式的数学模型,它在一定程度上受到了这个生物神经技术的启发,但是更重要的是数学和工程上的东西在支撑。
提升模型的复杂度可以提升学习能力,增加模型深度比宽度更有效,但提升模型的复杂度并不一定有利,因为存在过拟合和计算开销大的问题。
跳出这些技术细节来看,深度学习最重要的作用是表示学习,自动学习特征。
深度学习何处适用?数据的“初始表示”(例如,图像的“像素”)与解决任务所需的“合适表示”相距甚远。
深度学习会不会“一统江湖、千秋万载”?不会!很多学习任务,数据的“初始表示”与“合适表示”没那么远。

神经网络是相对最容易利用新增计算能力的机器学习表示方法!
所以,在技术层面对于未来的一个判断是:未必是深度学习,但应该是能有效利用GPU等计算设备的方法。
离“超越人类棋手”还远
鲁棒性是关键!
人类犯错:水平从九段降到八段。
机器犯错:水平从九段降到业余。
传统的机器学习任务大都是在给定参数的封闭静态环境中。数据分布恒定,样本类别恒定,样本属性恒定,评价目标恒定。
而现在正在慢慢转向开放动态环境。随着人工智能技术取得巨大发展,越来越多地面临“高风险应用”,因此必须有“鲁棒的AI”。
“好的时候”要好,“坏的时候”不能太坏

关于未来—形态

要分析未来,首先得知道现状。那么机器学习现在的形态是什么?有人会说算法,有人会说数据。
“其实机器学习的形态就是算法 + 数据。”
但是这样的形态下,它有哪些局限性呢?主要分为 3 个大的方面和其他一些小方面:
局限 1:需要大量训练样本;(有些应用中,样本数量少、特定类样本少、有标记样本少)
局限 2:难以适应环境变化;(分布变化:背景随季节变化、属性变动等)
局限 3:黑箱模型。(黑箱模型难以用于高风险应用。自动医疗:若学习器不能给出治疗理由,则难以说服患者接受昂贵的治疗方案)
我们可以看到机器学习的技术局限性仍然很多,当然,我们可以针对每个问题一一解决,但这难免进入一种“头疼医头,脚疼医脚”的境地。所以我们是否可以跳出这个框架,从整体上来解决这些问题呢?
那么我们都知道有硬件(Hardware),有软件(Software),这里提出一个类似于这两者的新概念“学件”(Learnware):
学件(Learnware)= 模型(model)+规约(specification)
很多人可能在自己的应用中已经建立了这样的模型,他们也很愿意找到一个地方把这些模型分享出去。那以后一个新用户想要应用,也许不用自己去建立一个,而是先到“学件”的市场上找一找有没有合适的,可以拿来使用修改。
比如说,要找一把切肉的刀,可以先看看市场上有没有这样的刀,不会说自己从采矿开始重新打一把刀。如果没有合适的刀,也许会选择一把西瓜刀,然后用自己的数据重新“打磨”一下,让它满足自己应用的需要。
所以,这个想法就是希望能够部分地重用他人的结果,不必“从头开始”。
从模型的角度需要满足 3 个要求:可重用、可演进、可了解
可重用:学件的预训练模型仅需利用“少量数据”对其进行更新或增强即可用于新任务。
可演进:学件的与训练模型应具备感知环境变化,并针对变化进行主动自适应调整的能力。
规约需要能清楚地说明在做什么,主要有三种方式:基于逻辑、基于统计量、技术与精简数据。
我们可以看到,有了“学件”的框架以后,很多之前提到的局限可能都会迎刃而解:
“可重用”的特性能够获取大量不同的样本;“可演进”的特性可以适应环境的变化;“可了解”的特性能有效地了解模型的能力;
总结:
最后,对今天的报告内容进行一个总结,主要有下面几点:
深度学习可能有“冬天”,它只是机器学习的一种技术,总会出现更“潮”的新技术;
机器学习不会有“冬天”,只要有分析数据的需求,就会用到机器学习;
关于未来的思考:
1、技术上:一定是能有效利用 GPU 等计算设备的方法(未必是深度学习);
2、任务上:开放环境的机器学习任务特别重要(鲁棒性是关键);
3、形态上:希望是从现在的“算法 + 数据”过渡到“学件”的形态。

谈到人工智能,有两种差别非常大的观点。第一种,我们称之为强人工智能,目的是希望研制出和人一样聪明,甚至比人更聪明的机器,这种观点在科幻作品和电影里面出现的比较多。另外-种叫做弱人工智能,是觉得人做事的时候很聪明,能不能向人学习-下,让机器做事的时候也聪明起来,在科学界研究者探索的主要是这个方面。
人工智能,更确切的说,是一种受智能行为启发的计算过程。
深度学习是机器学习的一个分支,而机器学习又是人工智能的一个核心研究领域。

机器学习不是万能的。

第一种情况,如果我们拿到的数据特征信息不够充分
第二种情况,这个数据样本的信息不充分

机器学习算法哪个好?

如果算法A在某个问题上比算法B更好一些,那么一定在另外某个问题上,两个算法的优劣是反过来的。所以我们在针对一个具体的任务时,要使用什么算法或技术,一定要具体问题具体分析。
例如,Kaggle竞赛 中有各种各样的任务,但在图像、视频、语音之外的很多任务上,比如订机票、订旅馆之类,还是传统机器学习技术(如随机森林或XGBoost)表现更好,尤其是涉及符号建模、离散建模、混合建模等问题。
有时候就会有很多公司的工程师说,你看我现在掌握了机器学习十大算法、二十大算法,我把它们都用得很熟,那么来一个问题之后,我把这些算法全部试一遍,然后找到最好的算法就行了。如果发现试一遍,这些都不Work,那就认为机器学习是骗人的。
但是如果大家有了刚才那样的理解之后,其实就知道,这样看待机器学习是不行的。因为我们在现实生活中碰到的问题,可能是无限多的情况,而如果你只是套用这些有限多种的方法,那-定有些东西是解决不了的。机器学习更多的时候像一个裁缝,一定要 量体裁衣,针对某个问题专门设计有效的方法,这样才能得到一个更好的结果。所以我想,按需设计、度身定制,是在做机器学习应用的时候特别重要的一点。我想这也是很多大企业要把机器学习专家挖过去的一个原因。
AI科技大本营:我知道您偏爱集成学习方法。现在的随机森林算法、XGBoost算法,效果很好,非常流行。不过我们都知道机器学习有所谓的“No free lunch theorem",也就是说对于一般的问题,任意两种机器学习算法的期望性能都相同,没有哪-种方法是有绝对优势的。可是现实情况是,在Kaggle和其他的机器学习大赛当中,深度学习和XGBoost基本上一-统天下。这种情况为什么会出现?
周志华:机器学习技术解决现实问题的时候,通常要“度身定做”,根据问题的特性去对方法做改造、甚至设计出专门的新方法,才能有更好的效果。但是能这样做的人不多,需要很资深的专家。Kaggle之类的比赛里面,普通级别的玩家比较多,这时候比较热门流行的技术就比较容易被关注、被尝试,并且深度学习和XGBoost都有现成的工具,很容易就被拿来用。不过我们应该意识到,在某个比赛上获得优胜的方法,未必是在这个任务上最优秀的技术。

机器学习有着深厚的理论基础

所以其实以往机器学习做的事情,都是你给我数据之后,我希望能够以很高的概率,给出一一个好模型。那在这个意义上我们做的事情是可以有理论保证的。比如说我们可以估算,手握多少数据,对某个问题能做到什么样的精度。如果你对这个问题的要求非常高,根据想要的效果,反推需要多少数据。如果这个数据大到无法满足,那这个问题就是不可学习的。所以在概率近似正确"的意义下,要做出一个什么样的模型,把问题能解决得多好,我们是可以从理论上去探讨它的,并且是可以有理论的保证。

深度学习并不是在模拟人脑

虽然深度学习从生命的生物机理中获得灵感,但它与大脑的实际工作原理差别非常非常巨大。将它与大脑进行类比给它赋予了一些神奇的光环,这种描述是很危险的,这将导致天花乱坠的宣传,大家在要求一些不切实际的事情。

深度学习火起来的三个因素

深度学习技术发表的那么早,为什么今天才特别热呢?
第一个原因,是我们有了大量的训练数据,有了大数据。没有大数据的话,这个东西是不会有那么多用处的。
第二个原因,这么大的模型,我们一定要有很强的计算设备才能算出来。今天我们恰恰也有了,不管是GPU,还是CPU集群,还包括今天有这么多人去研究机器学习的平台,做机器学习技术的支撑。如果我们只做简单模型的话,可能这些计算设备和技巧上的努力就不是那么重要。
第三个原因,就是这里面要使用大量的诀窍,大家如果用过深度学习网络的,你就会知道,我们不能把现在用的这些技术叫做”方法”。因为第一个人说我加了一层网络性能更好,可能第二个人会告诉你,在我的任务上把这层网络减掉才更好。所以很多的技巧都是这样,好像不是在任何地方都有效果。更关键的是,什么时候有效,我们今天不知道。所以机器学习界对这个东西不能把它承认是方法,他只能叫做Trick.深度学习里面有大量的缺口,所以今天来看就有点像老中医在治病-样,反正他总是能治病,但是什么东西是有用的,什么是没有
用的,什么是起副作用的都不太清楚,就把它笼统地放到一起。
机器学习成功的背后,离不开三点:
1)有效的深度模型,现阶段基本上就是深度神经网络
2)存在强监督信息,也即数据都要有标注,而且越精准越好
3)学习的环境较为稳定
因此,如果未来机器学习要取得进一步突破,就必须
1)设计新的、多样化的深度模型
2)让智能体能够在弱监督条件下学习
3)考虑开放动态任务环境下的学习

深度学习为什么深—模型复杂度的角度

关于深度神经网络为什么能深呢?到今天为止,学术界都还没有统一的看法。有很多的论述。我在这里面跟大家讲一个我们前段时间给出的一个论述。这个论述其实主要是从模型的复杂度的角度来讨论。
我们知道一个机器学习模型,它的复杂度实际上和它的容量有关,而容量又跟它的学习能力有关。所以就是说学习能力和复杂度是有关的。机器学习界早就知道,如果我们能够增强一个学习模型的复杂度,那么它的学习
能力能够提升。那怎么样去提高复杂度,对神经网络这样的模型来说,有两条很明显的途径。一条是我们把模型变深,一条是把它变宽。如果从提升复杂度的角度,那么变深是会更有效。当你变宽的时候,你只不过是增加了一些计算单元,增加了函数的个数,在变深的时候不仅增加了个数,其实还增加了它的嵌入的程度。所以从这个角度来说,我们应该尝试去把它变深。
那大家可能就会问了,那既然要变深,那你们早就不知道这件事了吗?那么现在才开始做?这就涉及到另外-一个问题,我们把机器学习的学习能力变强了,这其实未必是一件好事。因为机器学习一直在斗争的一一个问题,就是经常会碰到过拟合(overfit) 。这是一种什么样的现象?你给我一个数据集,我做机器学习要把数据集里面的东西学出来,学出来之后,我希望学到的是一般规律,能够用来预测未来的事情。但是有时候呢我可能把这个数据本身的一些特性学出来了,而不是一般规律。错误地把它当成一般规律来用的时候,会犯巨大的错误。这种现象就是所谓的过拟合。那为什么我们会把这个数据本身的一些特性学出来呢?其实大家都很清楚,就是因为我们的模型学习能力太强。当你的能力非常非常强的时候,你可能就把一些特性学出来,当成- 般规律。所以我们以往通常不太愿意用太复杂的模型。
深度神经网络最重要的是表示学习的能力
如果从复杂度这个角度去解释的话,我们就没法说清楚为什么扁平的(flat),或者宽的网络做不到深度神经网络的性能?实际上我们把网络变宽,虽然它的效率不是那么高,但是它同样也能起到增加复杂度的能力。实际上只要有一个隐层,加无限多的神经元进去,它的复杂度也会变得很大。但是这样的模型在应用里面怎么试,我们都发现它不如深度神经网络好。所以从复杂度的角度可能很难回答这个问题,我们需要点更深入的思
考。所以我们要问这么一个问题:

深度神经网络里面最本质的东西到底是什么?

今天我们的回答是,表示学习的能力。以往我们用机器学习解决一个问题的时候,首先我们拿到一一个数据,比如说这个数据对象是个图像,然后我们就用很多特征把它描述出来,比如说颜色、纹理等等。这些特征都是我们人类专家通过手工来设计的,表达出来之后我们再去进行学习。而今天我们有了深度学习之后,现在不再需要手工去设计特征了。你把数据从一端扔进去,模型从另外-端就出来了,中间所有的特征完全可以通过学习自己来解决。所以这就是我们所谓的特征学习,或者说表示学习。
有些朋友经常说的一个东西是端到端学习。对这个其实我们要从两方面看,一方面,当我们把特征学习和分类器的学习联合起来考虑的时候,可以达到一个联合优化的作用,这是好的方面。但是另外一方面,如果这里面发生什么我们不清楚,这样的端到端学习就不一定真的是好的。因为里面很可能第一个部分在往东,第二个部分在往西,合起来看,好像它往东走的更多一点,其实内部已经有些东西在抵消了。所以实际上机器学习里面早就有端到端学习,比如说我们做特征选择,可能大家知道有一类基于wrapper的方法,它就是端到端的学习,但这类方法是不是比别的特征选择方法一定强呢?不-定。所以这不是最重要的。
真正重要的还是特征学习,或者表示学习。表示学习最关键的又是什么呢?就是逐层的处理。
因为扁平神经网络能做很多深层神经网络能做的事,但是有一点它是做不到的。当它是扁平的时候,它就没有进行这样的一个深度的加工。所以深度的逐层抽象这件事情,可能是很关键的。
大家可能就会问,“逐层地处理"在机器学习里面也不是新东西。比如说决策树就是一种逐层处理,这是非常典型的。决策树模型已经有五六十年的历史了,但是它为什么做不到深度神经网络这么好呢?我想答案是这样。首先它的复杂度不够,决策数的深度,如果我们只考虑离散特征的话,它最深的深度不会超过特征的个数,所以它的模型复杂度是有限的。第二,整个决策树的学习过程中,它内部没有进行特征的变换,始终是在一个特
征空间里面进行的。这可能也是它的一个问题。那boosting呢?xgboost等等都属于这个boosting的一类,他也是一层一层的往下走,他为什么没有取得像深度神经网络这样的成功呢?首先它的复杂度还不够。第二可能是更关键的一点,它始终是在原始空间里面做事情,所有的这些学习器都是在原始特征空间,中间没有进行任何的特征变化。

深度学习成功的三个因素

这是我们现在的一个认识:第一,我们要有 逐层的处理; 第二,我一们要有特征的内部变换;第三,我们要有足够的模型复杂度。这三件事情是我们认为深度神经网络为什么能够成功的比较关键的原因。
深度学习很有用,但过度追捧就危险了
我们回顾一下, 2010年左右的时候,有多少人意识到神经网络技术很有用了?很少。但其实这方面早在2005年左右的时候就已经突破了。那么当时为什么意识不到呢?因为大家都在追热门,而神经网络当时是冷门。这样的事情会不会重演?也许10年之后很重要的技术,今天已经有苗头了,如果我们全都扑向深度学习,根本不去关心其他的东西,那会不会把未来丢掉了?
AI科技大本营:现在很多人都想学习深度学习,沾沾仙气。-般来说学习深度学习,总还是要具备一个比较完整的机器学习基础。但现在很多人不学机器学习基础课,一上来就搞深度学习,好像也能学得会,您赞成这种速成法吗?
周志华:这要看学习的目的是什么。如果仅仅是为了使用现有的深度学习工具去做应用、解决已经清楚定义好的任务,那么可以去学速成法。只不过,这样的工作很容易被其他人替代。如果学习的目的是为了深入理解,为了在深度学习的研究里面有自己的创新,或者为了自如地解决那些没人给你清楚定义好的任务,那么恐怕还是要从打好基础开始。这就像武侠小说里的“正宗功去要慢慢打基础?“邪门功夫”上手快、短期内更“厉害”,但是到了后来,邪门功夫到了一定程度就会上不去了。

可微

今天深度神经网络的成功和它最后使用的基础构件是使用了可微的构件,这个是密不可分的。深度神经网络带来的最大区别是什么呢?虽然有各种各样的模型,各种各样的算法,但是最根本的差别就是现在我们用了很多很多层。深度神经网络最著名、最早的成功来自2012年,在计算机视觉领域最著名的ImageNet比赛上获胜。当时这个获胜的模型用了8层,2015年 获胜的模型用了152层,2016年 就用到了1207层,今天几千层的模型比比皆是。
实际上,这样的模型当中有大量参数需要计算,所以需要非常复杂、非常庞大的计算系统。虽然现在我们有了很强的计算设备和很巧妙的算法,但是我们能够做到这一切,根本的原因之一是神经网络中基本计算单元激活函数是连续可微的。原来浅层神经网络用的是左边的函数,也是连续可微的,深度学习的年代我们通常会用右边这样的函数或变体。
不管怎么样,可微性给我们带来了非常重要的结果,就是可以很容易地计算出梯度,基于梯度的调整就可以用著名的BP算法来训练整个模型。
2006年之前,可以说我们都不知道怎么训练出5层以上的神经网络,根本原因是一旦层数高了以后,用BP算法梯度就会消失,然后就不知道怎么学习下去。所以,2006年的时候GeoffreyHinton做了很重要的工作,通过逐层训练来缓解梯度消失,使得深层模型能够被训练出来。后来有了一系列深度学习的工作,包括到今天为止的很多前沿研究,都是在防止深层网络中梯度消失,使得梯度更新搜索能持续下去使训练能够完成。
神经网络存在的问题
常用神经网络的朋友知道,现在深度神经网络有很多问题。大家经常说的一件事情就是要花大量的精力调整参数,参数实在太多了。不仅如此,这还会带来另外-个严重的问题:哪怕我告诉你同样的算法、用同样的数据,如果不告诉你参数是怎么调的,可能就没有办法得到同样的结果。
此外,还有很多别的问题,比如我们现在用的神经网络模型的复杂度是固定的,一旦先确定了|一个模型,就把这个模型用下去。问题是,在解决一个现实问题之前,我们怎样才能知道什么样的模型是最恰当的呢?我们不知道,所以通常会用一个过度复杂的模型来做问题,做的过程当中不断把它简化。
最近如果大家关心深度学习方面的一些前沿研究,可能就会发现现在有大量的论文是关于模型压缩、模型简化等等,事实上都是由这个原因导致的。我们能不能在使用模型的最初不要使用那么复杂的东西?先使用一个比较简单的,然后随着数据和训练的过程让它自适应地、自动地提升复杂度呢?很遗憾,我们对神经网络很难做到这一点, 因为我们一旦用BP算法基于梯度搜索来做这件事情,如果事先结构都完全不知道,那么求梯度的对象也就不知道了。
如果我们真正看一看今天的深度神经网络到底在哪些任务上取得了成功,其实我们可以看到无外乎主要就是图像、视频、语音,涉及到这些对象的任务。它们非常典型,都是一些数值信号建模的任务。而在很多其他的任务上,深度神经网络表现并没有那么好,比如可能有的朋友接触过Kaggle这个数据分析竞赛的网站,上面每天都有很多数据分析的任务,有订机票的,有订旅馆的,到今天为止,虽然深度学习网络这么成功,很多这样的任务上我们可以看到获胜的通常还是一些相对传统的机器学习技术,而不是深度神经网络。随机森林or XGBoost

不可微

今天我们认为有一个很前沿的问题,就是能不能基于不可微构件来进行深度学习?
keras的创始人说可微层是当前模型的根本弱点。以往我们知道深度学习很有效,但其实深度学习只有一种是叫深度网络学习模型,但是还有其他模型。
我们有没有可能设计出新的模型,在这些任务取得以往没有取得的效果?
基于非可微构件、非神经网络的深度模型,是下一步很值得探索的方向。
如果我们重新审视深度模型自身的话,会发现今天我们所谈的深度模型其实都是指深度神经网络,而用更学术的话来说,这是由多层参数化可微的非线性模块搭建起来的模型,而它本身能够用BP算法去训练。
最近有些深度学习网络的研究在考虑怎样用一些不可微的激活函数,但是实际上是怎么做的呢?先用了一个不可微的激活函数对现实建模,然后在优化的过程当中逐渐近似放松,最后还要把它变成个可微的东西求解,所以最终还是离不开可微性。但是,现实世界当中并不是所有规律都是可微的,或者能够利用可微构件最优建模的,而且另一方 面我们机器学习界早就经过了很多年的研究,也有很多不可微的构件,这些构件以后有没有用呢?现在我们就在考虑这样一个很 基础的问题,就是能不能基于不可微构件进行深度学习?

深度森林

最近我们的课题组做了一些研究,提出了一个新的模型叫做"深度森林”,这是不基于神经网络来做的模型,它的基本构件是决策树,本身是不可微的,所以不能用BP训练,模型复杂度可以自己根据数据调整,超参数比深度神经网络要小。除了大规模的图像类任务之外,很多的任务上它的性能已经达到或者接近了深度神经网络的性能。从学术上来说,特别值得关注的就是它是第一个非神经网络,不使用BP算法训练的深度学习模型。
它主要是借用了集成学习里面的很多的想法。
来自工业界做应用的朋友可能会问,应用上到底有什么东西用它做比较好?在图像、视频、语音这些纯的数值建模之外,涉及到符号数据、离散数据、混合建模的问题,可能是这种不可微模型能够发挥作用的地方。
AI科技大本营:所以Deep Forest不是小打小闹,是您战略性的研究方向,是不是这样?
周志华:这个工作确实考虑了很长时间。它主要是关于我关心的两个问题,第一个是基于不可微分的部件怎么做成深度模型,第二是对于集成方法和基于树的结构,我们有没有办法通过引入深度学习的思想把它的性能做的更好。这两个在机器学习中应该算是比较重要和基本的问题。

弱监督学习

我们没有办法去做真正的不需要任何数据,不需要任何标记的学习。
当前机器学习高度依赖于强监督信息,弱监督学习还有很大空白
所谓的弱监督学习,就是希望监督信息不用那么多了,稍微少一点,它还是能够工作得很好。
举几个典型的弱监督学习的例子:在医院里诊断乳腺图像的影像,希望看到影像中有没有钙化点。一个医院有很多数据,比如100万幅图像,但是医生只标注了一万幅,有99万幅没有标记,这种叫做监督信息不完全。第二种情况,可能医生只告诉我们这个图像里面有病灶,但是病灶在哪儿没标出来,这时候我们把它叫监督信息不具体。还有更多的情况,比如医生由于疲劳、疏忽等标注中间有错误,我们就把它叫做监督信息不精确,这是三种典型的情况。
事实上很多应用里这些问题都普遍存在,大量的应用都能看到这三种情况。对这些情况事实上机器学习界有一些探索,比如第一种情况我们做半监督学习、 主动学习;第二种情况有多示例学习,有MIML; 第三种有众包学习、带噪学习。这是好的一方面。
另一方面,强监督学习我们已经研究很多,非常典型的弱监督学习也已经有研究,但是还有更多的弱监督状态,例如这个图中几朵云之间的过渡状态,这些状态有的连学术探讨的文献都还很少见。
开放的环境—环境变化
事实上这可能是一个误解,现在虽然已经有很多强化学习的研究,包括用强化学习来打游戏,在很多游戏上获得胜利等等,看起来是和环境交互,但事实上,在整个强化学习的经典假定里面,它所考虑的是状态在环境中的变化,但是环境本身的基本规则比如下围棋的游戏规则,在游戏过程中是不变的。
绝对不是说在学习的过程中是一种环境,在用的时候环境变化了,我这个模型还能用,那是不行的。比方说训练下棋模型的时候原来是什么规则,以后模型使用的时候仍然是这样-种规则环境。
这个问题使用传统强化学习技术还远远解决不了。
在国际人工智能大会(AAAI) Tom Dietterich教授做了-个主席报告,叫“通往鲁棒的人工智能”,特别提到现在人工智能技术取得巨大发展,越来越多地面临高风险应用。所谓高风险应用是指自动驾驶汽车、自主武器、远程辅助外科手术等等,这一类应用无一例外都是一旦出现了问题,会造成巨大的损失。所以,我们才希望不要出问题,希望学习过程必须有鲁棒性。

OpenAI强化学习竞赛

最近OpenAl组织了-个强化学习的比赛,比赛内容是打游戏。最近这段时间可能大家听到关于人工智能技术来打游戏的消息有不少了,比如DeepMind的消息等等。现在我们说的这件事和其他那些有什么不同呢?
以前打游戏的时候是把告诉你要打什么游戏,学习程序可以把整个游戏都玩-遍,玩够之后再和人玩,也就是说训练的时候可以看到所有的场景。
而这个比赛和以前不太一样的是,它给我们的训练场景和测试场景是完全不一样的,训练场景58个关卡,测试11个关卡,环境变化非常明显,最重要的是考验我们怎么去适应环境变化的能力。
这个比赛我们组俞扬博士和合作者在200多个队伍里面获得冠军。他们最重要是使用了两个小技术,都是我们自己做出来的技术。
第一个是2004年我们提出的叫“二次学习技术”,先学个模型, 再做第二次学习得到进一步的加强。这个技术后来被Geoffrey Hinton重新命名为Knowledge Ditillation。
另外一个技术是我们通过集成学习研究得到启发,引入多样性激励。如果只使用传统强化学习环境的激励,进去好的状态之后就很难再探索了;而现在引入多样性激励之后,一个地方做得好,会自动去探索别的地方。
机器学习有两大派别
第一个community,是把机器学习看作人工智能分支的-一个群体,这群人的主体是计算机科学家。现在的「机器学习研究者」可能很少有人读过1983年出的「Machine Learning: An Artificial Intelligence Approach」这本书。这本书的出版标志着机器学习成为人工智能中一个独立的领域。它其实是一部集早期机器学习研究之大成的文集,收罗了若干先贤(例如Herbert Simon, 那位把诺贝尔奖、图灵奖以及各种各样和他相关的奖几乎拿遍了的科学天才)的大作,主编是Ryszard S.Michalski (此君已去世多年了,他可算是机器学习的奠基人之一)、 Jaime G.Carbonell (此君 曾是Springer的LNAI的总编)、 Tom Mitchell (此君是CMU机器学习系首任系主任、著名教材的作者,机器学习界没人不知道他吧)。MachineLearning杂志的创刊,正是这群人努力的结果。这本书值得-读。虽然技术手段早、就日新月异了,但有一些深刻的思想现在并没有过时。各个学科领域总有不少东西,换了新装之后又粉墨登场,现在热火朝天的transfer learning, 其实就是learning by analogy的升级版。
这群人可能也不care在文章里show自己的数学水平,甚至可能是以简化表达自己的思想为荣。人工智能问题不是数学问题,甚至未必是依靠数学能够解决的问题。人工智能中许多事情的难处,往往在于我们不知道困难的本质在哪里,不知道「问题」在哪里。一旦「问题」清楚了,解决起来可能并不困难。
第二个community,是把机器学习看作「应用统计学」 的一一个群体,这群人的主体是统计学家。慢慢地,不少统计学家逐渐意识到,统计学本来就该面向应用,而机器学习天生就是一个很好的切入点。因为机器学习虽然用到各种各样的数学,但要分析大量数据中蕴涵的规律,统计学是必不可少的。统计学出身的机器学习研究者,绝大部分是把机器学习当作应用统计学。他们关注的是如何把统计学中的理论和方法变成可以在计算机上有效实现的算法,至于这样的算法对人工智能中的什么问题有用,他们并不care.
下面人工智能技术会在哪些领域取得更大的提高?
我想现在人工智能技术已经用得很好的领域反倒不太容易取得更大的提高,现在用得比较少的领域用进去之后可能进展会更大。未来的话人工智能技术确实就应该像电力-样,迟早会进入所有的行业。
人工智能产业发展到底需要什么呢?是不是需要设备呢?其实不是的,我们基本不需要什么特殊精密设备,是不是需要数据呢?现在数据遍地都是。真正需要的是什么呢?其实真正需要的是人才。特别是和一般的软件产业比,人工智能产业应该是一个非常凸现个人英雄主义的行业。以往我们做软件的话, -个软件-定要有很多人来做。今天人工智能这个行业它的代表性就是它是软件业里面的一个明珠,个别人的聪明才智在哪个方面取得算法上的突破,可能就真的带来生产力。
人工智能这个学科,它和其他的一些短期的投资风口和短期的热点不太一样。它经过60多年的发展,已经有一.个庞大的、真正的知识体系。而高水平的人工智能人才稀缺,这是一个世界性的问题。


http://www.ppmy.cn/news/926517.html

相关文章

《弓》:集金基德大成

2005-10-07 00:15:40 来自: 毒得书少 (广州) 金基德是个极端的人,《弓》说的又是一个极端的故事。海上漂浮的船里生活着一个老人和一个少女,两人靠用小船把客人接到船上来钓鱼维生。少女是老人十年前收养的,他准备等她满18岁就马上与她结婚&…

科幻电影是人机与艺术融合的智能系统

对于智能,人们往往太强调理性的一面,而常常忽略了其感性的另一面,殊不知,这个世界却是由数和非数共同构成的。 《星际穿越》是人类历史上科幻电影的集大成者,是一部堪称完美的科幻电影。这部电影非常踏实,和…

电影《功夫熊猫3》中的管理知识

来啦,坐。 我是老杨,《数据赋能:IT团队技术管理实战》作者,“四季逗派”文风创始人。 这是《看电影读管理》系列的第八篇。 电影《功夫熊猫3》中有三句台词对“进步”的阐述非常到位,而“进步”是管理者非常重要的一…

LeetCode: 620. 有趣的电影

原题&#xff1a;https://leetcode-cn.com/problems/not-boring-movies/ # Write your MySQL query statement below select id, movie, description, rating from cinema where description <> boring and id&1 order by rating desc;<>和!是一样的 而id&…

普利策奖《哥德尔、埃舍尔、巴赫——集异璧之大成》

普利策奖《哥德尔、埃舍尔、巴赫——集异璧之大成》 书名&#xff1a;集异璧之大成&#xff08;Godel&#xff0c;Escher&#xff0c;Bach——an Eternal Golden Braid&#xff09; 作者&#xff1a;侯世达&#xff08;Douglas R. Hofstadter&#xff09; 出版社&#xff1a;…

“集百度AI技术之大成的终极硬件形态”发布

李根 问耕 发自 东三环 量子位 出品 | 公众号 QbitAI 2017百度世界大会主论坛刚刚落幕。 结尾迎来高潮。 今天上午的最神秘的发布&#xff0c;是百度的首款AI硬件产品。 这次的百度世界大会&#xff0c;为这款产品做足了噱头&#xff0c;邀请函和现场展示&#xff0c;都把这款产…

显式锁Lock的集大成之作,最细节教程

显式锁是什么&#xff1f; 我们一般喊synchronized就叫synchronized。其实synchronized又被称为隐式锁&#xff0c;但我们就爱喊它synchronized。而显式锁就是我们一般说的Lock锁&#xff0c;但大家就是爱叫它显式锁。大概是Lock很容易和别的单词搞混吧&#xff1f;但无论如何…

利用python绘制对数坐标轴

利用python绘制对数坐标轴 1&#xff09;效果图 2&#xff09; 程序代码 import matplotlib.pyplot as plt import numpy as np# 设置图形的大小 plt.figure(figsize(8, 6))# 设置x轴的范围为10的-4次方到10的3次方 plt.xlim(1e-4, 1e3)# 绘制x轴的对数坐标轴 plt.xscale(log…