经过近半个世纪的飞速发展,人工智能已进入到我们生活的方方面面。从改变我们交流方式的语言模型,到成为我们娱乐伙伴的智能机器人,在医疗、交通、教育等各领域推动着社会进步。
熟悉的同时,我们真的了解人工智能吗?近期,在2023宜兴笔架山数字科商大会上,知名教育家李永乐老师针对人工智能,从其基本原理到生态应用以及产业发展等几个方面深入浅出的谈了一些看法,并和现场观众进行了精彩的讨论。以下是现场实录:
感谢各位领导、来宾,非常感谢在座的小朋友们,我是人民大学附属中学的物理老师李永乐。今天很荣幸受到曹老师的邀请,与大家讨论机器为什么能像人一样思考,换句话说,什么是人工智能?
我希望通过我们今天的讲述,让大家对人工智能的基本原理有一个简单的理解。
让我们来看一个例子。这是我家的两只狗,左边这只叫“帅帅”,右边这只叫“栗子头”。它们两个已经长得很大了。你们知道这是什么品种吗?
(观众):柯基。
许多朋友知道这是柯基,但可能有些不养狗的朋友不了解这是柯基。我在家里做过一个实验,有一块小天才儿童智能手表,摄像头对准小狗,这时候它会念出来,这是“威尔士柯基犬”。为什么扫描一下,它就知道这是威尔士柯基犬呢?因为它具有人工智能。
现在人工智能的用处实在已经是太广泛了,随处可见的人脸识别系统是人工智能;计算机辅助的CT影像是人工智能;在路上开车违章了被拍是人工智能;手机上的各种语音软件、智能音箱、美颜软件、短视频平台的推荐机制、电子邮箱的垃圾系统,都是人工智能;在自动驾驶、智慧工业等领域,人工智能也是不可或缺的,所以如果把人工智能从我们的生活中抽掉的话,我们的生活可能会退到几十年之前。
实际上,我本身是一个人工智能的门外汉,但是我多学了一点数学,所以今天跟大家聊一聊人工智能的发展史,以及它最基本的数学原理。我希望通过这一堂课,使我们的小朋友们了解一丢丢的人工智能,并且对它感兴趣,甚至未来从事这个行业,我们今天的报告的目的就达到了。
1. 人工智能发展史
首先,让我们来回顾一下人工智能的发展历史。人工智能并不是一个新生的概念,上古时代,东西方文明都曾出现过类似人造人的说法。
上世纪50年代左右,神经生物学、计算机科学、数学等学科的发展,使得人工智能首次进入科学家的视野。
1950年,一位叫图灵的科学家提出了一个问题,机器会思考吗?机器能否像人一样思考?他还提出一种“图灵测试”,这个测试非常简单,有一个人和一台机器,有另一个人向这两者提问,人和机器会分别以文字形式回答,然后我们根据回答,判断他们谁是人,谁是机器。
如果大部分人都无法区分出哪个是机器,那就说明这台机器已经通过了图灵测试。如果一台机器通过了机器,那么就可以说,它可以像人一样进行思考。
图灵当年预言,到2000年左右,会有通过图灵测试的机器出现。实际上,在2014年,确实有一个人工智能软件通过了图灵测试,它的名字叫尤金·古斯特曼。到了2023年,ChatGPT出现后,我们才知道它有多强大。
人工智能发展非常迅速。我们都知道,在科学领域的最高奖是诺贝尔奖;数学领域的最高奖是菲尔斯奖;在计算机领域,最高奖就是图灵奖。说个题外话,图灵在二战时破译了德国的英格尔码机,他的故事被拍成了一部电影,叫作《模仿游戏》,如果大家有兴趣,可以回去看一下。
到了1956年,美国计算机科学家明斯基、麦卡锡,以及信息论的奠基人香农等一众大佬,在一起开了一个会议,叫达特茅斯会议,他们创造了“人工智能(AI)”这个词。
从那次会议开始,人工智能进入了大发展时代。后来,明斯基和麦卡锡因为各自的贡献获得图灵奖。而其中最重要的一位大佬,香浓,却没有获得图灵奖,为什么呢?因为香农已经不需要图灵奖,他的名字被命名为通讯领域的最高奖“香农奖”。
从此之后的几十年,由于算法和算力限制,人工智能几经起落。到了1997年,卡斯帕罗夫被一个机器人打败了,这个机器人就是IBM的人工智能软件“深蓝”。自从那件事发生后,人工智能迎来了第三次大发展。
在过去的20多年里,人工智能算法领域涌现了许多灵魂人物,例如深度学习之父辛顿。他引入了一个算法,叫“反向传播算法”,这是一个比较复杂的算法。还有纽约大学的一位教授,叫杨立昆,现在还非常活跃,经常出来谈话。他最著名的工作是卷积神经网络,这两人与加拿大蒙特利尔大学的本·吉奥共同获得了2018年的图灵奖。
2. 数学原理
说了这么多历史和人物,计算机到底是如何实现智能的?我们来说一下数学原理,那就是损失函数和梯度下降,这个问题稍微有一点复杂,但是只要具有初中以上的文化程度,就一定能够听明白,因为它只涉及一次函数的知识。
我们可以先举一个例子,比如房价与房子的面积之间的关系,我们大致知道,房子的面积越大,房价就越贵。但当我将这些数据标记在这张图上时,会发现它们并不在同一条直线上。那么,我们应该如何解释房价与面积的关系呢?
我们设想用一条线,让这条线最接近这些点,让这些点和线的距离之平方和最小,这样,这条线就是最完美的,这种现象称为,利用最小二乘法找到一个拟合。换句话说,我们需要找到一个误差函数,即预测值与实际值的差别到底有多大。如果预测值和实际值的差别最小,我们就说这个预测是最完美的。如果不完美怎么办?那就调呗,调整这根线的位置。
这根线由几个参数决定呢?许多小朋友知道,一个是斜率,一个是截距,就涉及这两个参数。因此,我们只需调整斜率和截距,观察什么时候这条线与这些点之间的距离平方和最小,这时,就称为误差函数最小。
如何确定损失函数的最小值呢?我们有一种数学方法,稍微有些复杂,大致意思是,假如误差较大,我们可以设法在某个特定的点上进行调整,直到找到最完美的值。
说起来这并不是一个复杂的问题,但我们知道,现实生活中,一个房子的价值并非由面积决定,除了面积之外,我们还需要考虑许多因素,将许多参数放入这个方程中。在数学领域,预测值可能由许多参数构成,它们并非直线或二维,可能是高维空间。尽管如此,我们仍可在高维空间中寻找到误差值最小的点,也就找到了预测值。
这正是人工智能的基本原理。我们需要找到一个预测,你给我一些输入,我获得一个输出,当预测值最小,它就是最准确的。
就像刚才我用小天才智能手表拍摄小狗时,它不停地去寻找拍摄对象是什么东西时能得到误差函数最小,结果发现,在威尔士柯基犬这个类目下,误差最小,从而判定它是一只威尔士柯基犬。这个过程其实就是人工智能的训练的过程。
3. 神经网络原理
接下来,我们来讨论神经网络的原理。
神经网络这个词我们都听过,大家是否经常看到这张图?
有没有同学知道它的含义?左侧表示输入的数据,中间表示一些神经元计算,最后有一个输出结果。例如,如果我们输入大量数据点,最后,它告诉我们是一只威尔士柯基犬,从左到右,每个圆圈我们将其命名为神经元。
那为什么叫神经元,不叫计算机元?这是因为神经网络就是模拟人的大脑而产生的。这是一个人脑的神经图,可能高中同学们应该学过神经元细胞。左侧有一个树突,将上一级神经元的信息收集起来,然后经过轴突,再通过突触传递到下一层。因此,神经元具有输入、运算和输出这样一个结构。人们觉得这很有趣,神经元居然可以接收信号,通过计算,再传递给下一层神经元。
在1943年,美国有两位神经科学家,一位叫皮茨,另一位叫麦卡洛克。他们分析了人类的神经结构,认为人类的脑神经元是一个多输入、单输出的系统,而且输出只有两种,0和1,如果输出为1,则向下游传递,信息如果输出为0,则不向下游传递。
比如一只蚊子轻轻落在我的皮肤上,可能我皮肤上的神经元受到了刺激,但它们觉得刺激太小,所以拒绝向下游传递。下一个球员可能不知道,但是如果有一个铅球砸到我的胳膊上,这个时候所有神经元都会猛烈地向下游传递,我就知道这件事了。
因此,神经细胞是否向下传递并不一定,取决于它的运算结果。
因此,他制作了一个人工神经元模型(MP模型)。神经元有许多输入,经过计算后得出一个结果,根据结果的大小决定是否向下游传递信息。如果我决定要向下游传递信息,那么Oi输出为1,在计算机上称为高电平,在人脑上,称为传递神经递质。这个过程中需要经过Sigmoid方程,这是为了引入非线性,我们暂时不考虑。总之,通过计算将上游输入转化为一个结果,决定是否下一步输出。
我们刚才讨论过房子问题,需要寻找一个最优解。在寻找最优解时,需要调节很多参数,例如调节直线斜率和截距,这就是不断训练模型的过程,这个过程就像我们小时候,跟爸妈出去,你问“这是什么”,妈妈说“这是摩托车”,下次你看到自行车,说“这是摩托车”,妈妈说“不对,这是自行车”,你就区分了摩托车和自行车。这个过程就是不断调节你的内部参数的过程。这是神经元的原理。
通过这样的操作,我们可以让计算机理解图像。例如,大家可以看到左边这张图,实际上是一个英文字母X,大部分同学都能看出来。但计算机不懂X,也不懂你想跟他说什么,它只能看到黑和白这两种状态,黑是1,白是0,于是计算机把这个图形转化成一个数字矩阵。问题是,变成数字矩阵后,计算机如何知道它是一个X?
我们不能告诉计算机,记住了,这就是X。如果你只告诉计算机这一点,那么图形稍微旋转一下就不是X了吗?图形扩大一下就不是X了吗?所以我们不能告诉计算机,只要记住这就是X,其他的都不是,这样做就不叫人工智能。人工智能就是在告诉它一些事情后,进入新的领域也能识别,怎么做到呢?这就是人脑和计算机非常不同的地方。
我现在展示一张电影截图,大家知道这是来自《黑客帝国》。黑客帝国描述了整个世界都是数字世界。在我们看来的图像,在计算机看来都是一大堆数据点,但问题是,这些数据点进入计算机后,计算机如何知道它们具体是什么?其实很简单,靠神经网络。
简单神经网络可以分为三层,输入、隐藏和输出,深度神经网络有很多层。首先,你需要提供大量数据,例如一大堆的0、1,输入完成后,再调节参数,把输出再连到下一层的输入上。
比如,图上第一层是5个神经元,第二层是7个神经元,那么在这5个神经元和7个神经元之间共有35个连接,它们之间的连接都需要调整,所以每个连接都会有参数,一旦网络扩大,参数会非常多。
如果只判断一个图像是否是X,可能一层神经元就够了,但如果想判断更复杂的图像,比如一个人或一只狗,就需要使用多层神经元,那就是深度神经网络。然而,全连接的网络复杂度实际上太高,需要的计算量非常大,正因为计算量过大,传统意义上人工智能并没有太大发展。有些人认为,人工智能是无法实现的。
这张图展示了人工智能的起落。
我们可以看一下,1956年达特茅斯会议提出了AI的概念,1959年提出了机器学习,第一次浪潮发生在大约1970年代,然后第一次陷入低谷,因为过去的算法存在一些问题。第二次浪潮是在美日两国立项AI的研究,后来又进入低谷,因为市场不大。最后一次浪潮是深蓝战胜世界冠军,自那之后,人工智能发展特别迅速。目前全世界所有科技公司基本都在搞人工智能,因为它的作用实在太大了。
4. 视觉原理
接下来我们来讨论视觉原理。为什么你能看到我是一个人?当你看到我时,你真的立刻觉得自己在看一个人吗?不是的,实际上你看到的是一堆像素点,是我的身体影像进入了你的视网膜,上面有很多感光细胞投影,使你感觉到了一大堆像素点,但问题是如何才能知道这些像素点是一个人?实际上这就是视觉原理。
视觉原理是最近几年才被真正搞清楚的。在1981年,诺贝尔生理学和医学奖获得者,科学家大卫·苏泊尔和威瑟尔两人发现了视觉原理。具体做法是将电极插入猫的脑子,让猫观察各种信号,观察完成后,发现猫的大脑中与视觉相关的细胞分为两种:一种是对特定线条有反应的细胞,称为简单细胞;另一种是对运动线条有反应的复杂细胞。
在他们的启发下,日本科学家在福岛邦彦提出了神经认知模型。
这个模型很有趣。
他认为:人的视觉分为多层。外界光进入眼睛后,通过瞳孔晶状体在视网膜上的成像实际上是一堆像素点,这些像素点信息会传递到大脑中,大脑最初接收信号的是V1皮层,或者叫初级皮层;初级皮层获得像素点后,会对像素点进行处理,处理后变成线条,再传到V2皮层,称为次级皮层;次级皮层根据这些线条组合成图形;再传递到三级皮层。
当你看到一个人时,首先是一堆像素点,然后大脑将这些像素点连成线条,接着将线条变成图形,再上色。最后你就发现原来看到的是一个人,不是一个昆虫。
这个模型就被人们做成了一个人工智能的方法,首先通过组合像素点,将其变成边缘特征,然后将边缘特征组合成轮廓,比如鼻子和眼睛等,最后将轮廓转化为更大的物体模型。这与传统认知有所不同,传统认知认为,首先观察到轮廓,再关注细节。实际上,但事实上科学家说,我们是将细节逐步组合成一个整体,才能认识到对方的整体,每一级工作都是在人脑的不同区域完成的。
这个人就叫杨立昆,杨立昆想,既然人脑可以做这件事,计算机能不能做?于是他就做了一个卷积神经网络。插一句,前段时间,杨立昆出来说,ChatGPT没有任何的智能,它只是鹦鹉学舌,但是大部分人还是对这个ChatGPT非常感兴趣。
5. 卷积神经网络
我们来简要介绍卷积神经网络的原理。卷积神经网络的原理稍显复杂,首先,我们想让大家看这4张图,实际上每张都是一个字母X,人类一眼就能看出来,但这4张图完全不一样。
因此,在计算机无法识别出它们是不是X,我们需要采用一些方法。虽然这些图形本质上不太一样,但它们都有一些共同的特征,比如,中间都是一个中间白、四角白,然后四边有一块黑色的十字图形;再比如,左上角都有两个白块。所以我们假设无论在哪个地方,只要能寻找到这些特征,或者找到的这些特征特别多的时候,我们就认为它是一个X。
具体如何寻找涉及到复杂的运算,称为卷积。大致意思是将原来的数据与设计好的卷积核进行内积,内积就是对应项相乘再相加,然后得出一个特征值,特征值越大,说明它越满足X的特征。例如,这里的特征值为2,说明左上角的图形与卷积核接近,若特征值为3,则更接近。
我们通过这种方法逐步寻找,最后得到一张图,它展示了我们完成卷积后的结果。这个结果告诉我们,在这些部位的特征是2333,表示这些部位的特征非常接近。我们还可以将这作为一个示意图,将原来的图像通过卷积核转换为多个不同的图像,每个图像代表一些特征,这些特征组合起来便是我们想要的判断结果。
还有一个过程叫池化,这个概念更加复杂一些。大致意思是,左上角2、3表示左上角确实具有某个特征,特征2并没有特征3强,那么可以省略特征2,这样计算会更简单一些。总之,我们需要通过卷积抽象出图像的特征,然后通过池化,可以让图形更小一些。池化后,我们进入Sigmoid函数,大意就是决定到底是否向下游进行传递。比如这张图的特征值非常大,就表明特别容易产生一个X,因此,这组神经元可能会向下游传导。
总的来说,经历了卷积、池化等步骤,我们就模拟了人眼的机制,本来输入大量像素点,通过卷积抽象出特征,再输入到下一层。对于计算机来说,一个人和一只威尔士柯基犬并无区别,但是经过一层一层输出,计算机就理解了,这堆杂乱的像素点组合出来的是人、桌子、椅子。
6. 算力与数据
最后,跟大家谈一谈算力和数据。刚才我们提到的主要是算法领域,但人工智能的发展实际上涉及三个领域,算法、算力和数据。显而易见,人工智能的算法如此复杂,程序员们不可能每次都从零开始编程,就像厨子做菜一样,不能从种地开始,也不能从炼砖或者烧锅开始,所以有一些基础的代码应该是早已编辑好,可以直接调用的,这就是所谓的人工智能框架。
近几年人工智能非常热门,许多大公司都开发了自己的框架。目前较流行的框架有谷歌开发的TensorFlow,以及Facebook开发的PYTORCH。
然而,在别人的框架下进行编程,自然而然受制于人。因此,中国也在开发自己的人工智能框架。你们知道中国自己的框架有哪些吗?(沉默)看来中国自己的框架还不太流行,所以了解的人比较少。华为设计了一个框架叫MindSpore,百度设计了一个框架叫Paddle Paddle(飞桨)希望有更多的人使用我们自己的框架进行人工智能程序编辑,因为使用人数越多,它才越好用。
有一次我和阿里的算法工程师聊天,他们负责做数据库。这位工程师就说,如果数据库不出任何问题,那就非常容易实现,之所以难做,是因为它总出问题,就看你怎么去解决问题。使用的时间越长,问题就越少,数据库就越成熟。同样的道理,无论是什么框架,好坏并不重要,关键是我们的人员是否使用。只有使用的人越多,才越能解决问题,一个框架的生态才能越成熟。
再来说数据,巧妇难为无米之炊,无论算法多么优秀,如果没有积极投喂数据,比如通过大量图片、文本进行训练,机器就完全无法产生认知。
拥有数据是人工智能非常重要的一个环节。
大家可能不知道,其实我们每个人都为人工智能投喂过数据。比如常见的点击图片验证码,你可能认为这是为了验证我是否是一个人类。实际上,这是讲数据投喂给进行训练的免费途径。训练数据非常昂贵,ChatGPT花了上百亿美元进行训练。
因为需要购买大量的CPU、GPU、数据、电力,这些都非常昂贵。
前段时间我和微软的人聊天,他提到谷歌正在推出自己的AI大模型,但无法追上ChatGPT。原因是在ChatGPT开放的那段时间,全世界的人都在用它,提供了大量数据进行训练,所以它已经遥遥领先于微软和谷歌。如果谷歌再开发一套模型,没有人去用,自然就无法再崛起。
因此,人工智能的特点在于使用的人越多,就越智能,如果没有人使用,即使算法再优秀,也无法实现智能。
人工智能的另外一个重要基础是算力。人工智能领域所需要的计算难度不大,就是小学计算,加法、乘法。虽然说每个计算不难,但是涉及到数据特别多,计算量非常大。是否应该用CPU处理呢?CPU的特点是什么都能算,就像一个博士;另一种芯片是GPU,它就像1万名小学生,只会算加法和乘法,但数量巨大。所以当我们面对人工智能的算力要求时,使用GPU会更合适。
世界上做GPU做得最好的公司是哪家?英伟达,没想到,随着人工智能时代的来临,英伟达突然变得很厉害,真正成为这个时代的弄潮儿。其实现在还有一些新的,比如华为正在做NPU,也就是神经网络处理器,专门用来设计人工智能和神经网络,它的具体效果怎么样,我们拭目以待。
小结
人工智能是一种通用技术,能够让计算机完成许多繁重工作,极大地解放生产力。AI也是一种根技术,它能够衍生并支撑多个技术簇,持续地滋养和刺激整个技术簇的发展。
在历史上发生过几次工业革命,每一次工业革命都会有技术突破。
比如第一次工业革命是牛顿力学、经典热力学取得了突破,瓦特就改良了蒸汽机,把人类带入蒸汽时代。第二次工业革命发生在19世纪末和20世纪初,法拉第发明了发电机,人类进入电气时代,美国成为世界第一强国;20世纪中叶,由于电子技术和计算机技术的发展,人类迅速进入了电子时代,这便是第三次工业革命,使日本成为世界第二发达的国家。
因此,英国、美国和日本实际上都是通过工业革命成为世界一流强国的。
虽然中国在前三次工业革命中没有赶上,但现在,世界正处于以互联网、人工智能、新材料和生物技术等为代表的第四次工业革命中,这一次,我们希望中国人不要缺席,同时也希望我们的民族企业能这些方面发力。这就要拜托在座的企业家和小朋友们一起努力。好,今天我就讲到这里,谢谢!
Q&A环节
观众:如果当人工智能发展到一定程度,它取代了大量重复性、较低端的工作,那个时候会不会首先造成大家的失业?当失业发生的时候,对于社会发展是积极还是消极的影响?
李永乐:这个问题当然都是有两面回答的,有很多人持悲观意见,认为人工智能终究有一天会替代人。马斯克就说过这样的话,碳基生命只不过是硅基生命的一道程序,当有一天我们人类不存在时,人工智能替代人类继续生存下去。
当然也有一些人持有乐观的看法。他们就认为,人工智能只是一个工具,它虽然可以消灭很多行业,但是也会创造很多新的行业。就像现在互联网发达之后,很多行业消失了。但是外卖、网约车等行业都是新兴的,这样一来,很多人都会涌入新的行业。这是一种比较积极乐观的理解。
我个人相对折衷。有悲观的情绪,因为人工智能终究会超过人类,这是100%确定的。但是在人工智能超过人类,把人类毁灭之前,那些控制人工智能的人,可能就已经把世界毁灭了。
我觉得更要防范的是一家公司,或者一个人利用人工智能,把整个世界毁灭,这比人工智能本身更可怕。在乐观方面来讲,它一定会创造出很多新的行业,不会让所有人都失业,我个人觉得短时间内,还会持续过去的情况。
观众:您觉得人工智能是需要较少量、但是素质比较高、经验比较丰富的人才;还是需要大量的掌握一般专业技能的人才?整个行业的人员包容量有多大?
李永乐:这个问题真的是看不太准,你说人工智能的行业到底需要多少人才?这涉及一个问题,如果需要大量的人才,我们就可以在高考时报考?如果人员很容易饱和,我们就不能报考了,回答这个问题责任很重大。
我个人觉得,人工智能还是需要很多人才,就像20年之前,计算机是一个风口,现在计算机饱和了吗?实际上到现在也没有饱和。
我觉得人工智能是未来20年发展的新方向,它有很多细分领域,我们不一定都要去编计算机程序,也可以去研究算法、芯片、数据等等层面,甚至可以研究应用,比如说利用人工智能来辅助医疗诊断,这都是需要人才的。我认为这个行业很大,一定可以容纳很多很多的人,学好数学,或者学好人工智能,对我们的未来很有帮助,不用太担心人才容量的问题。
观众:您刚才演讲当中谈了很多生态的重要性,以及先发优势在人工智能领域特别重要,我们看到从AlphaGO到ChatGPT,西方的公司在生态上非常强,在产品设计上非常强,我们在这个方面应该怎么做?您怎么看待这个问题?
李永乐:我的看法是,西方很多公司做事情比较持续。他们做一件事可能真的持续好多年,比如说波士顿机器人公司,持续40年去做一个机器人,就为这一件事,就可以把事情做得比较好。OpenAI也是,可以持续7-8年就做一件事情,可以做很久。
但是我们的公司是不是变化太快,总是去抢风口。这个风口来了,我们做这件事,另一个风口来了,我们做那件事,变来变去,可能每件事都没有做好。
是不是我们的企业应该想一想,尤其是一些特别大的企业,确实应该用较长时间去深耕一个东西,这样才有可能一鸣惊人。如果不停地去跟着别人抢风口,可能临时会赚一桶金,但永远跟着别人走,是没有办法产生先发优势的。