0
本文作者: 奕欣 | 2017-09-19 15:11 |
雷锋网 AI 科技评论按:7 月 31 日在清华大学举办的「人工智能与信息安全」清华前沿论坛暨得意音通信息技术研究院成立大会上,有 6 位来自不同领域的特邀嘉宾受邀前来,为大家带来精彩的演讲。
本章为庄炳湟院士演讲实录。按照庄院士要求,文章仅采用文字形式发布。本文经庄炳湟院士审改,以下为讲座文字整理版。本文首发于「北京得意音通」(d-EarTech),雷锋网 AI 科技评论获授权转载。
庄炳湟,美国乔治亚理工学院教授暨乔治亚州研究联盟杰出学者、美国国家工程院院士、美国发明家学院院士、IEEE 会士、中央研究院院士,数家著名大学的荣誉讲座教授。原美国贝尔实验室资讯研究部门主任,负责声音和语音以及人类资讯模式化的研究。学术贡献甚丰,包括语音编码与识别、多频回声控制等,其所著《语音识别基础》一书被公认为经典之作。曾获贝尔实验室金牌奖、IEEE 信号处理学会技术成就奖等。
在 7 月 31 日得意音通信息技术研究院成立大会上,庄炳湟院士接受得意音通邀请,出任研究院学术委员会联席主任。以下为演讲全文整理,全文共 8045 字,阅读时间约 12 分钟。
庄炳湟:很高兴能够到清华来给各位作报告,也感谢郑方老师邀我来这边共襄盛举。我今天报告的题目是《Artificial Intelligence,Scientifically Speaking》,其实我要讲的,刚刚张院士点点滴滴都稍微有一点谈到了。
我在过去一两年里,在世界各地旅行,常常听到收音机里、电视机里很多人在讨论人工智能。但是碰到讨论的人数中通常没有科研基础的都比有科研基础的人数还多,所以这个听起来非常有意思。我们讲「瞎子摸象」,当做故事听听是蛮有娱乐价值的。
张院士讲基本上很长时间我们是知其然不知其所以然,是「黑箱」学习。今天的报告最主要的出发点是希望从科普的角度,给这个黑箱造一点光,看能不能帮大家从历史的角度、从科技进展的角度来多了解一些最近所谓的深度学习,並引起大家对人工智能正确的兴趣。
人工智能确实过去一两年非常火热,6 月份,美国川普总统召开了一个美国科技界主管总统级的汇报,在会议中,亚马逊老板(杰夫·贝索斯)当场跟川普总统说:「美国各阶层都应该进行人工智能研发的工作,希望能够深入到政府的每一个阶层,促进政府对人民服务的效能。」所以的确是很重要的一个课题。
既然是这么一个重要的课题,我们如何了解人工智能?在座或多或少都有一些科技背景,怎么摆脱人们对人工智能的揣测,稍微有一些比较科学上的根据和了解。
我们希望人工智能替我们做事情,今天讲到人工智能,很多人会认为我们以后可能一个人被机器人代替,可以当我们的玩伴。但是我们今天希望讲的是另外一个层面,它能带给我们真正的工效,就是自动化。自动化从早期的机械化,今天还有机械化,但是在程式方面、复杂度更高,从机械化到控制、电子控制,对环境参数的掌握,引起管理控制上面的变化,到最近智能化的工作。请大家记住我们做人工智能不是好玩的,它是有实际功效的。
什么是智能?
智能包括许多不同的能力,论理能力、联想能力、假设能力以及很多不同的能力,我举的这几项只是其中一部分。人类的智能包含很多不同的能力,這是我希望大家了解的第一点。
过去我们讲用机器获取智能,有两种方法来达到目的:
第一,希望能够建立人脑的模型;
第二,能够模拟人脑的功能。
模型的建立,要由生理上的研究来引导,但是功能上,希望从计算上来表达,这两者相辅相成。
在提到智能计算机化的过程中,大家一定会提到图灵这个科学家,他有两个观点:
第一,计算基本是符号的处理;
第二,跟智能有关系,当一个机器表现的跟人一样时,它就有人的智能。
图灵讲的是一个基本的概念,稍嫌笼统。比如,今天不懂电脑的人大概也都会讲电脑就是 0 与 1 的处理,但是很多人不知道,除非你是计算机系的,可能不知道 3+5,在计算机里面是怎么做的,你知道是 0 与 1,但怎么搭配出来变成 8,可能很多人,特别是没有科技背景的讨论人工智能的人可能不知道,在这么小的计算器里怎么得到 8 的。所以讲根本是一回事,讲实现又是另外一回事。
在这个过程中,最出名的是图灵测试,一个机器是不是有智能,让一个机器在一个屏幕之后做某一些动作,在屏幕之外的人判断是人做的还是机器做的。假如我们没有看到真正做这些反应的人或机器,但是猜测是人的话,就算通过图灵测试。但是图灵测试是非常笼统的观念,对智能并没有非常精细的界定。精细的意思是没有教你怎么达成,只是说用人来判断这个机器到底做的像不像人。
1964-1966 年 MIT 有一个年轻的教授写了一个程式:ELISA,这是早期写的一个计算机程式,跟人可以对话。如:
ELISA :我是一个心理治疗师,你告诉我你到底有什么问题?
人:我头痛。
ELISA :你应该去找一个医生,我只是一个心理专家,不是医生。
人:好,我就去找医生。
ELISA :你能不能多讲一点?
人:我不再讲了,再见。
ELISA :你为什么这样讲?
这个程式是这个教授用很简单的规则写出来的而已,这是早期通过图灵测试的一个人机对话的系统。这样的人机对话有智能吗?假如有智能的话,几行 code 就能写出来,智能这么廉价吗?
先前提到电脑是 0 与 1 之间,但要电脑能达成 3+5=8,有一段距离,这个细节怎么做,还需要很多工程师做设计。这个差别在于判断智能的根本或智能的实用。
在人工智能发展过程中,大部分人都会提到 1956 年的 Dartmouth workshop 的主張,智能可以用符号逻辑来达成,早期人工智能的研究很多是属于符号逻辑,包括所谓计算机程式针对符号逻辑做处理的设计,比如有一个程式语言叫 lisp,这是早期符号处理语言,听说最近又有人重启 lisp 的兴趣。
在人工智能发展过程中,经过好几个人工智能的「冬天」,起起落落出现过好多次,所以本身不是一个非常稳定的学科,常常因为有一些进展,大家就非常兴奋,但是真正的进展和了解是我们每一个人应该加强的地方。今天希望在这个部分提供给大家一些参考。
以符号逻辑为人工智能的根本之外,其他的工作也有很多跟人工智能非常有关系的,这些工作过去经常不包括在传统的人工智能中,但由功能来看,今天的人工智能已经将许多这类的工作包括进去了。
Claude Shannon 在 50 年代初做了很多工作。举两个例子,Shannon game 和老鼠走迷宫的例子。另外在 50 年代,在实验室里,70 年代、80 年代、90 年代,我们做了很多数学上的工作,对语音识别有很多的促进,到 2007 年 siri 的出现,于是被认为这是人工智能的一部分。我们做语音识别工作时,几乎没有想到我们是属于人工智能的,但是今天,大部分的人会把我们归类成人工智能的一部分。其他像 Fuzzy set 在 1965 年提出来,还有今天要讲的人工神经网络,其中包括好几个在历史发展里比较重要的事件等等,都不甚符合传统比较严谨的人工智能的定义,现在回头看,很多工作都可以算是人工智能的一部分。
什么是 Shannon Game?我写一个句子,不告诉你是什么,要你一个字母一个字母来猜。如:THERE, 很多句子开头都是 T,你猜对了,就算 1,下面数字是你猜的数字,你看到了 T,猜 T,一次就猜对了,接下来很可能就是 H,这是很常出现的,你也猜一次就出现了。再接着是 E,也猜对了,但是到第四个可能猜了 5 次才猜对,THE 之后很多人可能就猜「空格」,要么就是 Y,猜了 5 次才到"R"。
Shannon 是用猜测的次数来界定信息量,信息量是另外一个题目。当机器假如保留这个概率,看到前面 3 个字母,后面 26 个字母,加上空格的概率都掌握到了,机器不懂这句子,但机器会猜的比你好,猜的次数会比你少。可是我们不会认为这个机器有智能。这是在 1951 年的时候。后来 Shannon 参加了 1956 年这个会议,半天就回去了,没有再参加。根据一些文件,我们可以硏判,从派系来讲,似乎他并不认为他属于传统的人工智能学者。今天讲猜字,计算机掌握很简单的方式就可以猜的比人好,是不是也有人类的智能?
Shannon 当时研究电子交换机的问题,设计了一个机器,放机械老鼠进去,老鼠自己走到目的地,好像老鼠有智能一样。但这里并没有任何智能在其中,只是简单的 relay 而已。
人工智能在发展过程中,有比较严谨的计算机科学的角度,有一些比较实际的从别的方面解决一些自动化的问题。当初虽然有一些分割,以今天大家通称的人工智能来说是合为一体的。目前尽量两边互相有一些对接。当初神经网络并没有真正被包括在人工智能里,可是今天大家希望神经网络能纳入传统的符号逻辑互相影响,现在在做一些深层研究的项目。
人的智能并不是一个单一的能力,智能包含了很多能力,不同的智慧能力事实上有不同的目标。智能优化目标跟我们做决定的目标可能是不一致的,需要的算法很可能也是不一样的。假如认定这一点的话,就可以从不同智慧功能的角度来看过去这 10 年深度学习方面的进展到底在什么地方。
过去几年,人工智能的进展有一大部分是因为大量的数据加上深层学习所引起的一些辨识功能的增进,引起大家很多的兴趣。从这个角度来解释,过去深层学习的进展引起大家对人工智能的兴趣,中间除了计算机数据量增加以外,有没有更深层次学习方面的根据?这里跟大家分享一下心得。
人工智能的进展是得力于大量的数据,但是数据怎么驱动人工智能的发展?以辨识的问题来做解释。从辨识问题的目标是需要辨识率最高或错误率最低角度来讲,传统的辨识理论已经告诉我们怎么做了,我们必须掌握到它的分布。当确定以最小错误率当做目标时,辨识理论就引导我们必须从数据里学习分布模式。辨识理论容易讲,不容易实现,从数据里学习也是容易讲,不容易实现,问题在哪里?叫做 3Ds。
第一個,观测维度的问题。维度高时,要专家来告诉你特征在哪里。问题是这个特征有可能已经主观上忽略了一些或没有办法关照到一些细节,先入为主的观念有时候就限制了我们系统的功能。深的数据本身观测的维度很高,有可能计算不下去。
第二,掌握统计的分析。这个分布怎么代表?要把它数学模式化。数学模式化的时候,要学什么模式?是正常分布或者其他分布,单一尖峰值的分布够不够,这些都是应该讨论的,但是很可惜过去深度讨论这些模式的妥善性不够。再加上有了模式的选择,要参数化,要从数据里能够学到参数的值,怎么学?会有层层困难。
第三,数据量够不够。这些实际的问题,虽然我们相信辨识理论,但是在实行时鞭长莫及,常常达不到最好的结果。
观测维度问题非常重要,这个问题对于了解深层学习的进展也是关键。例如,這裡手写数字的数据,2,是 28×28 的观测,本身这个维度是 784,假如要做常态分布的分析来套这个数据的话,马上碰到一个问题,即有多少个参数值?平均值先摆一边,784 任取 2,是 307720 个参数。这是相当高的参数量。我们现在一般掌握到号称最大量的 MNIST 的数据,每一个数字差不多 10 万个而已,数据量比参数量还少,那统计的估计不会太精准。这问题,怎么解决?
这是 NIST Digits 的例子。面对 784 维的观测值,怎么建立统计的模式,这是第一个课题。刚刚提到当选最简单的常态分布的话,産生了数据量不够去估计这个参数值的问题。在过去,我们常假设这观测值有 Markovian 性質,以简化分佈函数。通常高纬度观测象量里,非常常见的情形是随便抓两个维度算相关性,其实是非常低的,只是你不知道哪一对。30 万对里,哪一些对,是不值得你顾虑的,不容易事先知道。但是讲数学的话,可以用代表,当把 784 任取 2 的对简化,知道如何简化,写成一个图,比如这个五个维度的例子中有关联的只是 1 和 5、2 和 5、3 和 3,1 和 2 是没有的。假如你知道的话,就可以简化,问题是你不易事先知道。现在有一个方法可以让数据自己说话,把有相关度、值得重视的维对之间做比较可靠的选取。当要处理维度很高的观测值时,过去做不到,传统统计的方法不容易做,现在神经网络里有一种可以做得到。
神经网络。今天讲深层学习,就是深层神经网络,这里基本的构成是 McCulloch Pitt 神经元,我们将人脑模拟成由这些神经元互相连接构成的。Y 是输出值,Y 是一个神经元,跟这个神经元连接有好几个神经元,根据输入神经元的状态強弱,经过一个計算法則可以得出 Y 是 0 还是 1,为什么这个也变成逻辑推导的共通点,当初 McCulloch 和 Pitt 的文章是定义逻辑的微积分。这个又跟生理上脑的神经元概念虽然不完全精准,但是符合的,所以接受的人很多。
我们希望能够模拟人脑或模拟人脑的功能,在神经网络进展里,已提出很多不同的模式,其中有两个最值得重视的:
第一,是 Recurrent Neural networks,在图中這個例子,当五个维度的观测值输入给这个人脑模式,随着时间演变,五个神经元最后会各回归到一个值,就是把所有的神经元连接起来,输入每一个神经元,让它自己回归到固定的值。
第二,是 feedforward neural networks, 从左到右,比如这里输入的值有四个,输出的有五个,这个人脑模式处理输入的信号是阶段性的,一层一层,比如声音从耳朵进来以后,或是有视觉的输入,从眼睛进来,层层往上,到最后看到了什么、听到了什么,是用这个方式来建构人脑模式的。这个模式可用来作识别的工作。例如,把 FNN 作为一个模拟人脑辨識物形的計算法,输入一个几何图形,三角形由第一个 Y 输出代表,圓形、方形是由其他的输出神经元代表,希望它的权重学到什么程度呢?比如一有三角形的輸入,三角形的神经元就亮起来了,这样我看到了一个三角形,这样可以当做一个近似函数的作用。刚才谈神经网络时,提到 1974 年,提出错误回流训练法的观念,就可以让你学习这些权重,达到识别的目的。
另一方面在 RNN 的概念里,人脑是一堆神经元,每一个都接受输入,反复计算,自动回归到每一个神经元的终止状态。1980 年就已经提出来了,比如要用图中四个联结的神经元来学 0、1、1、1,用 Hebbian 学习法,学了以后,所有权重都掌握到了,用这个方程式来代表。以后,若用 0、1、1、0 輸入,自己回归以后,取得 0、1、1、1,变成记忆选取的功能,所以可以用神经网络来做记忆。
后来的发展,四个神经元,4 的 2 次方,有 16 个,真正记忆的可能只有 2 个,不是太有效的。有人提出来,不要让所有的神经元都接入输入,增加一些看不见的神经元,让它的记忆量增加,同时因为增加其他看不见的神经元,输入的部份就很可能允许一般性的输入,不需限定 0 和 1,有可能一些小数点或数目的大小比较通用。这个结果隐含着能够跟刚刚提到的 Markov random field 结合在一起。
结论是,有了 Boltzmann Machine(BM)& Restricted BM (RBM),可以提供数据,让你做这种学习,所隐含的统计模式就比较简单,但是也符合数据所能够提供给你的资讯,而不是专家或漫无目的的学习。
来看一些例子。比如现在输入的是两维的,中间看不见的神经元有 8 个,输入 2 个常态分布,学习完了以后,随便用两维的数放进去,都跑到这条线上,基本上记忆中心点。远看的话,跟这个角度是有关联的,所以有一些输入就会跑到这条线上来。所以 RBM 可以想象成是保留相关度的一个结构,学习以后保留数据里的相关结构。这个意义在哪里?当维度很大时,不易建立统计模式,可是又要能够算出概率,只能近似,怎么近似?只能保留在数值上比较重要的、相关度比较高的维对。这些功能,能够让你很快得到一些结果。虽然不见得真正准确,但是比起传统的统计方法,至少很快有结果让你用。
例如,现在有 784 维输入的神经元,中间用了 2000 个看不见的神经元,RBM 学完了以后,把 0 到 9 放进去,让它自己回归,6 次以后,得到的结果如图显示。另一例,現在用的輸入含有大量的杂讯,肉眼很难看出其中的数字。你把记忆里最相关的部分整理出来,这些数字里唯一你比较能够认识的就是 2。放的是 2,经过学习以后,放进输入,第二段像 2,8 放到 2 里,虽然噪声不相干的部分被去掉,但是剩下部分像 8,但不完全,因为继续做的话,离 8 越来越远,因为你所学习的是 2。所谓相关结构的保留,把一个高纬度的输入经过处理,把不相关的部分去除掉或减少,保留高相关度来做下一级的处理,这是一个很重要的现象。层层转换,联想,以算出较准的可信度。
所以,在模拟人脑里,出现两个功能,从相关度引出联想;微调辩证,减少错误。用 RBM 相关度引出联想,但是联想并不见得达到最高的辩证效果,須再接用 FNN 微调辨识。
現在回來看深层神经网络。从结构上来讲,与早期的神经网络相比,只是宽度和深度的增加,并没有任何奇妙的地方,为什么要 60 年?原因是深层神经网络不同的层次包含着不同的意义,而且有不同的学习目标。初步的几层是从联想引发转换,变成比较抽象的代表,抽象代表里再加以统计的考虑,一直到上层,上层保留辩证功能。假设第一个神经元应该是 1,但算出是 0 的话,可以朝那个方向去调权重去学习,让它的输出靠近 1,那就是促进辩证的功能。
RBM 输入以后,会把不相关的去掉,结构上来讲是跟 FNN 层层处理是不一样的,可是 RBM 翻转以后,看起来就像 FNN,所以 RBM 功能训练的法则不一样,可是翻转以后,结构就跟 FNN 很类似,所以可以跟 FNN 作为一个辩证功能的神经网络结合在一起。
今天我们讲深层神经网络包含联想的部分和辩证的部分,联想的部分是用不同的法则来做学习的目标。如图,以辩证角度,以 FNN 角度,用错误回流的方式来学习权重。今天我们讲深层神经网络其实包含着不同的学习法则、不同的学习意义就在这里面。
我有一个朋友,最近很生气,为什么很生气?他说这些东西 60 年代就做过了。我想他并没有想到虽然是同样的结构,但是内涵事实上有可能不一样。
结论:到底最近的进展怎么样?
1. DNN 可以处理高维度观测值,在很多识别工作里,把维度增加了,是有很显然的益处。如声音识别,同时把时间的因素拉长的话,我们很早就知道是有好处的,只是过去传统统计的做法,因为计算上有一些难度,做不下去。但是现在有了 RBM/DBN 来估算 Markov Random Field 的简化模式,就解决了这个问题,虽然在低维度观测值的问题里,深层神经网络不见得比较好,可是到高维度时,就一定比传统的好,因为传统的由于数据量不够做不下去。
2. DNN 包含了两个有关智能的动作:联想和辨识。这两个目标不太一样。
3. RBM 让你联想,FNN 让你辨识。RBM 翻转以后,两个串成一气,可以不用更改计算结构就可以达成最终的目的。我们过去也做,但是没有像现在这么统一的计算法,就是一层一层的以神经网络的计算法来进行。
最后我对得意音通有一些期许,到底人工智能是不是会超越人?有一些人认为人的智能是最高的,其实在很多特定功能下,人工智能是做得比人还要好。在声音方面,如 1991 年就已经证明连续数字的识别,讲一连串数字,超过 10-11 个,机器一定做得比人好,因为人要识别然后再转换记录,没有办法记忆太长的数字串,这个过程中会出错。声纹的确认,现在只要 1 秒钟的声音可以做到错误率只是在 3-5% 的结果。一般 1 秒钟的声音太短,对人耳来讲,不足以让人判断。希望得意音通将来有许多比人的智能更好的技术。
最后回应一下张院士讲的 Alpha Go 第一个打败人类的观点,我非常同意。但是有一点,我们人还是赢过 Alpha Go 的,假如允许有一个条件的话,Alpha Go 用 GPU、CPU 大概 2000 多个,每一个 CPU 至少 300W,人脑大概消耗 100W,所以 Alpha Go 那个机器消耗的功率相当于 6000 多个人。假定围棋比赛有规定,我们定功率不能超过 100W,Alpha Go 就完了。
提问:现在有一个词汇叫机器智能,想请教一下机器智能和人工智能之间的区别如何理解?
庄炳湟:机器智能跟人工智能在我看来是没有区别的,因为「机器」本身这个名词是电子计算,通常 99% 以上都是电子的,有一些机械,可能有一些智能的表现,不过中间的分割并不是太值得去追究。我个人觉得机器智能跟人工智能几乎划等号。
张钹:同意。
提问:刚才您把 Markov random field 和 Neural network 结合在一起,觉得两者有相关一致性,我们通过一种方法去解决维度之间的相关性,这是非常有意思的一个想法。您现在把 Markov random field 翻转之后成为 Neural networks,但是这里缺失了一个东西,就是统计模型部分少了,变成一个固定的计算。事实上会带来很大的问题,您对这个问题有什么想法?
庄炳湟:要讲到统计模型的话,我常常在想针对实际问题,世界上没有真正的统计模型,只是精神上是统计模型,但实际做不到,因为真正实际的数据本身没有人知道分布怎么样。这是第一。
第二,用 RBM 转换成 DNN,针对 RBM 可以做 Markov random field 来讲,事实上只是帮我们解决了怎么保留高相关度维对的问题,所学到的参数值,跟数据本身真正的分布是不是非常靠近?我们也没有办法去证明。这是从实际的结果角来看,而不是理论上的精准度,是不是我们真正掌握到它的数据的分布,我们并没有做这样一个主张。只是传统的做不下去,当现在维度增加时,用这个方法,RBM 到 DNN,放在整个 DNN 里,维度高也不是太大的问题。
另外一个有意思的概念,系统可靠度跟数据量有关系,但是深层神经网络有一个特点,数据量少,还是可以作出一些结果,只是这个结果有多少可信度?有些人会批评,虽然有结果出来,但是没有相对错误的分析。今天绝大部分的人,因为很容易取得工具,结果也很容易出来,大家一窝蜂去做这个事情,当以后大家比较冷静的时候,现在每一年报的结果里有多少能够沉淀下来的,我们可以等着瞧。谢谢!
提问:其实这里面涉及到一个问题,因为最近所谓 S-network 比较火,我有一个思路,怎么把知识和数据结合在一起的问题。您说通过数据驱动去做特性学习,其实还是数据驱动部分占很大比例。
庄炳湟:这个在精神上跟刚刚是一致的,到目前为止很多人用工具,遇到这些问题就可以报一些结果。但是现在又有一点回顾,因为现在在美国已经出现立项目时不要只追求最终识别结果,可以牺牲 10%-15%,但是要能了解这个结构里的意义,至少怎么把一些知其所以然部分做出来,希望人做这方面的工作。传统专家就说这个维度太高,就减掉,减成多少维,找这个特征。现在不要这个专家,纯粹从数据方面来,就把意义丢了。这中间有没有可能取得一个平衡。让中间每一层物理意义都能够显现了解,希望中间能够取得一个平衡。这是一个正确的方向。
本文首发于「北京得意音通」(d-EarTech),雷锋网 AI 科技评论获授权转载,欲了解更多大会演讲资讯,敬请关注。
雷峰网版权文章,未经授权禁止转载。详情见转载须知。