所有文章 > 正文

干货 | 图灵奖得主John Hopcoft谈人工智能与深度学习

作者: 优学术

时间: 2019-01-04 12:10

John Hopcroft今日在清华举行深度学习相关讲座,本文为你整理了Hopcroft教授的讲稿与重点。


John Hopcroft今日在清华举行深度学习相关讲座
本文为你整理Hopcroft教授的讲稿与重点。

关注“学术头条”微信公众号,在后台回复“系庆讲座”即可获得Hopcroft教授的演讲录音。


John Hopcroft !

康奈尔大学计算机科学工程和应用数学的IBM教授,由于在算法和数据结构的设计和分析方面取得的成就而被ACM授予了“计算机届的诺贝尔奖”——图灵奖

这位令人崇敬的学术大牛于本周日来到清华,进行了一场主题为《An Introduction to AI and Deep Learning》的学术报告。

现场人满为患,不少学生甚至只能站在报告厅两侧。

本文将以第三人称,为你梳理John Hopcroft教授的演讲内容。

Part  1

● ● ●

Hopcroft教授说,我们正在经历一场信息革命,这场革命与农业革命以及工业革命有同等重要的地位。

这场革命将给我们的国家带来翻天覆地的改变,它的主要助推力就是信息和计算,每位计算机领域的人都将在这一变革中发挥重大作用。

在报告开始,Hopcroft教授首先给大家分享了以下自己在职场上的经历。

Hopcroft教授来自电子工程系,当时还没有计算机系。然而,当时的系主任却在没有课本和教材的情况下,让他来开发计算机科学课程。

没有课本和教材就来开发课程,自然是有困难的。然而后来Hopcroft教授却发现,开发这个课程,将让他有机会成为世界上最年轻的计算机科学家。

后来,美国致力于打造在计算机科学领域的领先地位,Hopcroft教授已经是最年长资深的计算机科学家了。

于是有一天,当时的总统联系他,让其出任国家科学委员会的成员。

Hopcroft教授说:“如果我一直呆在电子工程领域,直到今天,我可能都还在等前面更资深的教职员工退休。”

他说,之所以告诉大家这个故事,是因为目前的我们也同样处在科学转型时期。

计算机科学将发挥重大作用,如果大家以未来的眼光定位自己,我们也会有类似机会。

Part 2

● ● ●

短暂的小故事之后,Hopcroft教授首先介绍了一下我们机器学习理论在当前所扮演的一个关键角色。

Hopcroft教授说,阈值逻辑单元是机器学习中最基本的一个元素。

“有一组的输入,然后有一系列的权重,两者通过相乘求和得到一个结果,如果这个和达到获超过了某个阈值,便输出一个量。

把权重向量设为0可以让你能够很快的训练这个模型,之后你就可以测试是不是所有的样本都被正确的分类。

当出现没有被正确分类样本的时候,你就把这个没有被正确分类的样本加入到权重向量中来改变权重向量。”

Hopcroft教授说,他希望大家能够抓住的一个问题是——权重函数是样本的线性组合

Hopcroft教授在报告中提出了一个问题:“如果样本是线性可分的,那么可以很快找到解决办法。但是如果样本不是线性可分的话,那么你会怎么办呢?”

短暂的停顿后,他便给现场观众提供了一个解决方法,那就是将样本映射到更高维的空间。

“将二维的数据映射到三维空间,除了x轴和y轴,我们还需要添加z轴。

z轴表示的,是样本到原点的距离。

然而这有什么用吗?

其实这个时候我们就会发现,我们已经可以添加一个超平面将原来线性不可分的数据分开了。而这正是我们要做的。”


Part 3

● ● ●

Hopcroft教授说,对于信息时代,最重要的一点便是拥有大量的数据。 

人们一直以来都致力于降低错误率,现在错误率已经低于4%,而受过最好训练的人约为5%。

这也说明,计算机处理图像的能力高于人类。

在报告中,Hopcroft教授还表示,用一个3×3像素的小窗口来覆盖一张图片,然后用这个窗口计算一个门(Gate)。

用这个3×3的窗口,每次移动一列,遍历一列之后,再往下移动一行,如此滑动遍历,就得到和图像的像素数字相同的门。

计算这些门使用了相同的算法,那么这些门就表示图像的一个特点。

你想要挖掘更多的特点话,就构建第二层网络,你可以一直构建甚至到60层。

为了让网络简化,我们可以构建一个池化层(pooling)。

这次我们使用门形成的矩阵,构建一个2×2的窗口,然后用不重叠的方式滑动这个窗口,并且每个窗口中取四个值中的最大值放大这里。

这样,我们可以通过池化层提取特征,却并不需要知道这些特征的确切值。

此处,Hopcroft教授为了生动说明,举了一个识别人脸的例子。

他说:“如果你看一张人脸,你只需要知道鼻子在嘴上,而你不需要知道二者的距离究竟是多少。”

Hopcroft教授还说:“目前,我们一直在谈论的事情之一是有监督学习。

如果你有一辆自动驾驶汽车,你一定不想训练车辆遇到的每一种情况,而是会希望汽车能够在开车的过程中,用一种无监督的方式自动学习。

最近我们发现,这是可能实现的。”

有些人做了以下实验:他将图像放到完全连接的层面上,训练图像并重新构图以再现图像。

在只通过训练和重构图像的方式,让系统在没有监督的情况下把猫认成猫。

“这被称为无监督学习。而这也将是一个很重要的研究方向。”他说。

Part 4

● ● ●

在长达1小时的报告中,Hopcroft教授提到了许多内容。在此我们略过一部分,从生成对抗网络开始讲起。

Hopcroft教授说:“人们试图创造图像,希望在输入“猫”这个词之后,就能够创造出一只猫的图像。”

比如,有人想创造出一个人骑着马而狗在旁边跟着的图像,他们的技术可能不太好,创造的图像看起来并不完全像真实的照片。

于是有人提出使用合成图像鉴别器,这种设备经过训练后能够鉴别出输入的图片是真实拍摄的还是合成的。

接着,这些人将图像生成器和图像鉴别器相结合。他们开始训练图像生成器,直到它生成的照片可以成功地骗过合成图像鉴别器。

接下来,他们又进一步训练合成图像鉴别器,增强其鉴别能力。通过这样反复修改、训练,图像生成器很快就可以生成质量不错的图像。

Hopcroft教授说,在场的观众可能会问,这个想法可以应用到哪些领域?

假设你现在需要进行翻译,在过去,译员的做法就是根据自己对两种语言的掌握进行翻译。

如果我们现在对另一种语言几乎一无所知,应该怎么办呢?

首先,你可能会把英语逐字转换成德语,然后用鉴别器来鉴别转换后是一个完整的句子还是随意排列的词语。

接着,再用一种设备将德语翻译回英语。最后经过反复训练,这两种设备就可以将英语翻译成德语。

Hopcroft教授强调:“大家不必了解深度学习为什么奏效,而是应该了解如何将其应用到诸多领域。

他说:我们想做的是,将深度学习应用到大众的手机当中。

然而此处又出现的了新的问题:但网络过于庞大,是否有办法将网络压缩至适合手机的大小?

目前人们训练小型网络的技术还不成熟。但是他们也已经取得一定的成绩:他们训练手机网络,然后拿到激活因子。他们试图通过训练这个网络,来训练激活因子,做法与之前Hopcroft教授提到的例子是同样的道理。

Hopcroft在此处又提出了一个问题:“我们是否能够先训练一个大型的网络,从中学习经验,然后利用这些经验去训练小型网络?”

“这是一个很有趣的研究课题。”他说。

为了令报告更加生动有趣,Hopcroft教授以他女儿为例,向大家进一步说明。

“多年前,我女儿大概四岁左右,我们经常一起坐在沙发上一起读书。

我们有一本书,名叫 The Greatest Book Ever or The Best Book Ever

这本书上有很多图片,我会指着狗的图片,跟她说这是狗,她就会跟着念狗;

我指着房子的图片说这是房子,她就跟着念房子。

但是这本书上,只有一张消防车的图片。她却在我没有告诉她的情况下,她就知道了这张图片代表消防车。”

然而识别出“消防车”并不是故事的真正结尾。

Hopcroft教授在之后还说:“有一天我们出去散步,街上有一辆消防车,女儿对我说‘爸爸,你看消防车。’

但是街上的这辆消防车,跟她以前在书上看到并且形成概念的消防车完全不一样。

所以,深度学习其实就是利用上千张消防车的照片来训练如何识别出真正的消防车。

怎么使学习最大化?可以先从学习一个简单的图像开始。

在两岁之前,我女儿都是在学习如何进行学习。最初,在学习一些东西之前,她需要看大量相关的图片。

渐渐地,她开始学习如何从一张图片上去获取东西。现在她已经完全可以做到了。”

Hopcroft教授指出,有时深度学习也会出现一些看似愚蠢的小错误,令大家感到困扰。

“比如我们训练一个网络,让它去识别猫。我们改变了一些笔触,这些细微变化人类可能很难察觉,但深度学习网络识别的结果却可能会突然变成了汽车。这就是目前深度学习存在的问题。”

Hopcroft进一步用这个例子证明,在激活空间中,猫的每一个激活向量在任意的其他类别中都任意地被激活到一个激活向量。

怎样才能让它变得正确?Hopcroft教授对这个问题进行了研究。

他说:“你可以从一维开始,设置10个类别,把数字分成10组,一组中的每个点任意接近其他组中的这个点。当然如果把它拓展到三维,这些分组也是可以沿用的。

如果我们想阻止深度学习犯一些愚蠢的小错误或出现其他问题,理解激活空间的结构是非常重要的。”

Part 5

● ● ●

在报告末尾,Hopcroft教授说:“每次我演讲时,大家都会问我人工智能真的智能吗?我给出的答案是否定的。”

他说,在现阶段,人工智能只是在多维空间进行模式识别。我们训练网络时,人工智能程序并不能抓取物体的本质,或理解物体的功能,或掌握这个物体其他重要的因素。

当我们要了解自行车时,你不仅仅要知道它的形状,还要知道它是一种骑行的工具,你可以骑着它从办公室到达地铁站或者从地铁站到家,人工智能却无法理解这些东西。

“如果你需要训练一个深度学习网络,让它去识别机车、厢式车、罐车、平板车等等,你问它图片上的物体是什么,它可能会说这是厢式车或装着东西的平板车。

但是如果大家仔细观察的话,可能会发现这是一台发动机。”

Hopcroft教授话音刚落,全场便响起了一阵笑声。

“所以,这个情况再次说明深度学习只涉及形状,无法获取物体的功能。”Hopcroft教授解释道。

之前,我们认为人工智能是一种解决最终问题的能力。然而当计算机开始能够解决这些问题时,却通常都不是用智能的方式。

Hopcroft教授举了一个下象棋的例子:“下象棋时,我们要把每一步可能出现的情况做成树状图,会有不同的分支。人类通常只能够完成几层,但是计算机却能够完成更多层的布局,所以计算机能打败人类。

然而这个过程没有涉及智能方面,更多地是依靠计算机的计算能力。”


在最后,Hopcroft教授说:“对于人工智能来说,我们需要做的是逐渐让机器解决越来越多在我们看来需要智力才能解决的问题。”

在报告结束后,贵系周教授代表计算机系为Hopcroft教授送上礼物。

许多人在结束后仍然不肯离去,希望能与Hopcroft教授在计算机领域的问题上有所沟通交流;

也有人拿出准备好的笔与书,希望Hopcroft教授能为自己留下签名。

报告虽然结束了,然而计算机人的追求却不会停止。

正如Hopcroft在报告开头所说的一样:信息和计算将给我们的国家带来翻天覆地的改变,而每位计算机领域的人都将在这一变革中发挥重大作用。

关注"学术头条“微信公众号,后台回复 “ 系庆讲座 ” 即可获得Hopcroft教授的演讲录音。

[关于转载]:本文为AMiner唯一官方微信公众号“学术头条”原创文章。转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“SciTouTiao”微信公众号。谢谢您的合作。

二维码 扫码微信阅读
推荐阅读 更多