《科学之路:人、机器与未来》有感

275 阅读10分钟

这是一本杂糅了个人传记和AI技术的书籍。个人传记部分介绍了作者杨立昆学术生涯和职场经历,其中为我们所熟知的是在Meta的经历。AI技术可分为人工智能、机器学习、深度学习,技术部分从大佬视角带我们回顾了跌宕起伏的发展史。本文也将通过上述结构,介绍全书内容。

这是一本非常新鲜的书籍,在2019年杨立昆获得图灵奖(计算机界诺贝尔奖)后写下的书籍,翻译版本在2021年9月上市。杨立昆主要成就,发明了“卷积神经网络”,在图像识别领域发表过很多专利,目前是Meta首席AI科学家,纽约大学教授,以及图灵奖。

一、学术生涯和职场经历

(不想看后面一大段内容的,我总结了时间流程图)

image.png

杨立昆(后面简称杨),法国人,他的父亲是名航空工程师,是个动手天才,喜欢在业务时间做电子产品,正是他这种爱好,激发了杨对机器的兴趣和培养了杨的动手能力。杨高中毕业后,进入了巴黎高等电子与电工技术与工程师学院,这给了他很多自主的机会。他自学了很多神经网络相关的知识,这是当时很少人关注的领域,他的博士论文也是该领域相关的。后来转折点来了,1985年在阿尔卑斯的研讨会上,他遇到了神经网络的顶级专家们,三年后,他被贝尔实验室录取,这当然得益于他在神经领域的投入,从当时参与研讨会的人可知研究这个领域的人真的少。随后业界的大佬辛顿等人发表了反向转播论文,神经领域第一次迎来自己的高光时刻。

1989年,杨此后发明了卷积神经网络,这是受福岛邦彦的神经认知机启发的,但它使用传统的神经元,并受到反向传播的启动。杨也将卷积神经网络应用于图像识别领域。最开始用于美国手写的邮政编码识别,而后用于票据编码的读取,我们现在用的GPT、文生图都用了卷积神经网络。

1995年寒冬到来。受限于硬件设施,数据集,以及还没有人尝试多层的卷积神经网络,卷积网络神经并没有带来大规模的应用。神经网络领域沉寂了15余年,杨也从贝尔实验室离职,开始领导团队生产工业应用的产品。

2012年转折点到来,由多伦多大学的杰弗里·辛顿和他的学生获得了ImageNet(计算机视觉领域用于图像识别的大型数据库)视觉识别挑战赛的冠军,并且将错误率下降至16%,这是大型卷积神经网络在GPU上应用首次获得大规划关注。至此,神经网络开始了快速的发展。“深度学习”的概念也是由辛顿在2006年提出,是对具有提取特征功能的神经网络的一种概括。

杨的职场经历也非常有意思(也证明了早期的工作经历对职业身涯有很大的影响,大家一定要注重前2份工作,对职业思维的培养)。他博士毕业后在多伦多大学辛顿的实验室里担任博士后研究助理员,次年加入AT&T贝尔实验室的自适应系统研究部门,在其中就发明了卷积神经网络,而后加入纽约大学,继续从事神经网络相关工作,2012年加入Meta(当时的Facebook),人工智能领域研究主管。他多年的理论+实践经验造就了他的管理理念,理论派和实践派的结合体。既要给员工足够的自由空间探索理论上的可能,又要结合将成果较为紧密的和实际应用联系到一起,所以需要有专人做理论和实际之间的桥梁。贝尔实验室其实发明了很多超前的东西,但与实际应用结合太少,很多理念未被自己使用,导致最后的解散。文中的原话,“不被世人所知的实验是没有未来的。研究以交流为基础,它应该是共享的、开放的,我在贝尔实验室领悟到了这一理念,并将它带到了FAIR(Facebook AI Research)。”

二、AI

人工智能

所谓人工智能是用机器执行通常由人类或者动物完成的任务,即机器要有感知、推理和行动的能力。这是杨下的定义。深度学习是人工智能的未来,杨写下该书时,Openai的GPT4浪潮还没发生,他认为深度学习还只能应用于某些领域,比如围棋,还远远未达到人工智能的标准。但是GPT4让我们看到了AGI的能力,即使模型有时像专家,有时又傻的像呆瓜。但超大的数据量,超强的硬件,爆发式的学术氛围,让人工智能如火箭般高速前进。

机器学习

机器学习是人工智能的一个步骤,让机器拥有人的部分能力。机器学习其实是让机器进行尝试、犯错和自我调整的过程。

举一个最简单的例子。有一个一次函数,y = 3x。输入1,得到3;但是有一个模型,每次只会按照循序从1开始输出,每次递增1。我们可以计算模型输出和实际期望之间的差距。最简单用函数输出结果和模型输出结果之间的平方,即方差,这个函数也叫成本函数。

image.png 假设模型就是要求出一次函数的斜率(即权重Weight)。当方差为0,就找到了答案,通过3/1得到斜率3。这样下次你再输入任何数,模型输出和函数输出结果都一样。

当然这是最简单的情况,一次函数会有常数(即偏置Bias),也有可能求多项式,或者像GPT4这样有各种知识的模型,但是本质都是找到成本函数的最小值,也是求梯度(梯度即多个导数的值,多维情况下,某个坐标会有多个导数值)下降的最小值。

这里再举一个例子,之前学习梯度下降远离看的是知乎的回答,发现用到的图例解释和书中的一模一样。

什么是梯度下降法?

梯度下降法是用来计算函数最小值的。它的思路很简单,想象在山顶放了一个球,一松手它就会顺着山坡最陡峭的地方滚落到谷底:

image

from 什么是梯度下降法?

反向传播

上面说了训练模型就是在求成本函数最小值,求成本函数可以用梯度(多个导数的值)表示,我们不能一次性就求得成本函数最小值,需要不断试错,每次试错后,都需要将实际输出与期间输出的差异传给模型,所以就有人发明了反向传播,可以自动将结果的差异传递给模型本身,修改模型的参数(权重),以达到训练模型的目的。

image

from Back Propagation(梯度反向传播)实例讲解

上图中,有输入参数x1,x2。分别经过中间层(可以认为是提取特征的)h1,h2,模型最终输出结果y。每一个节点都有一条边相连,这些边都有值w,即为权重。模型训练本质是训练出最合适的w。

假设我有一堆数据集,包含输入输出对(x1, x2, y)。让模型根据x1,x2输出参数y‘,将y和y’的方差结果反向传播给模型,用于修改w。反向传播就利用了变化率(即导数,多个导数即梯度)。即寻找梯度最小值。

具体看Back Propagation(梯度反向传播)实例讲解

深度学习

卷积神经网络

介绍杨,不得不提他的成名之作,卷积神经网络。Idea受生物学家神经科学的神经元发现视觉信号是通过几层神经元传输的结果,以及福岛邦彦的神经认知机的启发。卷积神经网络的主要功能是通过卷积层和池化层(pooling layer)对输入数据进行特征提取。卷积层负责提取局部特征,而池化层则负责降低数据的维度,从而实现特征的压缩,即特征提取+压缩数据。

image

from 机器学习算法之——卷积神经网络(CNN)原理讲解

从上面图中能看出卷积神经网络基本原理,将输入矩阵的窗口(最左边蓝色选中区域),与卷积核(中间蓝色区域,类似权重)做卷积乘法,得到卷积运算结果。可以通过多个卷积核提取不同的特征,只要设置好了多个不同的卷积层,它就能自动提取各类特征,所以卷积神经成为了现代机器学习的标配。

自监督学习与强化学习

最近也在看《动手学强化学习》,提到深度学习,就不得不提自监督学习与强化学习。

先下个定义

  • 自监督学习:在给定数据分布下,求最小成本(损失)函数。

  • 强化学习:无明确数据分布下,最大化奖励函数期望值。

自监督学习会圈定能学习到数据的范围,训练数据集背后的数据分布是完全不变的,所以模型能很好的学习到数据本身,但处理特殊情况能力不足。

强化学习任务往往比一般的有监督学习任务更难,因为一旦策略有所改变,其交互产生的数据分布也会随之改变,并且这样的改变是高度复杂、不可追踪的,往往不能用显式的数学公式刻画。

举个例子,自动驾驶。路上的情况无法枚举,所以数据分布是无法圈定的,基于自监督学习的模型根本无法上路。而基于强化学习的模型会在学习了一些基础常识后,开始在路上实践学习,根据每一种情况做出决策,然后由人类校准,比如遇到悬崖是“飞”过去,还是掉头。

三、One more thing

信息的自由流动就是进步的动力。 ---- 杨立昆

这句话送给大家,知识的分享就是个人、社会发展的必要动力,写下这篇文章算是推进一丢丢社会进步,当然也可能是退步(水平有限)。