0%

人工智能呼啸而来--《科学之路:人、机器与未来》

从翻开这本书,到全部看完,花了不到3天。毕竟书中的部分故事,我已经在其他书中看到过,很难得的是,竟然在自传中给出了神经网络的算法和程序实现。或许,这看起来简单明了的表述,蕴含了作者多年的心血,也是作者的自豪。和辛顿比起来,杨立昆看起来会更张扬,更有性格,也会更激进。

人工智能呼啸而来–《科学之路:人、机器与未来》

和这本书的缘分,还是来自单位的图书室,难得有一本自己已经列入书单,但仍未阅读的好书。当然是把它借出来,第一时间把它看完啊。杨立昆是法国人,原著用的肯定是法文,书名是Quand la machine append,恰好我懂一点点法文,这句话的原意是“当机器在学习”。

如果辛顿没有在合适的时候遇到杨立昆,说不定神经网络的研究还要被耽误上一段时间。所以,当下所有研究深度神经网络的人,都要致敬杨立昆,一个是因为他证明了在多层神经网络中可以用梯度反向传播的方式来训练节点参数,使得网络能快速地完成最小值的搜寻;另一个原因是,他根据视觉神经传导信息会经过大脑不同的位置的机理,提出了卷积神经网络的结构来处理图像,使得机器能快速有效地识别出照片的信息。

灵感的来源

在2016年的时候,我就开始关注深度学习这个领域了,但是其中有一个关键的步骤,多层神经网络中可以用梯度反向传播来调整参数,我一直想不明白这是为什么。这到底是巧合,还是故意设计成这样的?最重要的是大部分的书籍和材料都说,“显然易见”,这是个简单的偏导数。当人家说这很简单,我又看不明白的时候,自己就变得很沮丧了,归结于自己的数学基础太差,顿时没了信心。

后来我又认真重新找了一些微积分的材料,读完之后,人家也没有什么提到什么“梯度反向传播”的内容。我还是没看看懂,直到看了这本书,杨立昆自己给出了答案:

我意识到我正在研究的方法和最优控制理论中所谓的伴随状态法之间存在惊人的相似性,通过使用连续的(非二进制)激活函数和传播错误(而不是目标),数学公式会变得简洁紧凑。事实上,这种伴随状态法应用于多层网络就是梯度反向传播。我的直觉不再需要被证明:这个新算法很轻易地就可以借助18世纪末由法国—意大利籍数学家约瑟夫-路易斯·拉格朗日发明的一个数学形式来完成形式化,当时拉格朗日发现这个数学形式是为了形式化牛顿力学。我因此发现了梯度反向传播。

这是杨立昆当年在与一个那时正攻读机器人轨迹规划方向博士学位的朋友迪迪埃·乔治聊天的时候,突然获得的灵感。看到这里,我的迷惑就瞬间消失了。这一刻,我是非常开心的。

我是一个在搞科研或技术的时候会变得特别奇怪的人。遇到一个理论或技术,我会巴不得理解手上的所有东西之后,才能继续往下推进的人。好处是,我对每一个知识点掌握得都比较透彻,坏处是,一旦不懂,就不得不停下来了。看起来没有太多的奇怪,但是我的关注点实在太发散,而且提出的问题,不见得难,但确实不好回答,以至于招来很多白眼。亦或在一个我研究得比较明白的领域,一旦讨论起来,我就想搞明白到底是不是我错了,于是开始刨根问底,时不时还带来一个偏执的名号。对于很多人来说,干就完了,问那么多干嘛。

其实,无论是辛顿还是杨立昆,都是在默默地推进自己的事业,为此去寻找很多可能的办法,不断地在和朋友、同事交流的过程中寻求创新的灵感,正是这一个个的小火花,最后才燃起推动文明进步的大火。

科学和工程

在书中,杨立昆一直强调,其实神经网络的初衷和路线,一直没有变化,只是缺乏了一些工具包的加持,不得不停顿下来。

监督学习的基本原理,从始至终都没有改变过,即通过调整系统的参数来降低成本函数,也就是降低一个学习例集中测量到的实际输出和期望输出之间的平均误差。

机器学习,就是让机器不断自己找到合适的网络参数,使得系统输出最大限度接近人类的期望。用数学的话语就是,两者的差能等于0就好了,事实上约等于0也成。如果找到这些数,他们的导数就是为0的。重点是,怎么找?这不是一直都没找到,花了十几二十年,直到辛顿和杨立昆一起合作。

这种让机器不断接受自反馈的系统,其实也是一个动力学系统。本质上和我曾经研究过的混沌系统和密码系统有一点点的相似之处。大家使用的也是浮点数,只要是深究过数据类型和操作的学者,都会被浮点数的可怕所折服。当年,辛顿正是因为没有更多的超级计算资源,而且x86的CPU对浮点数的计算又特别的慢,才会打起显卡的主意。在《深度学习革命》一书中讲到,当年辛顿和谷歌合作的时候,很长一段时间,使用显卡这样的事情都被当做一个笑话,后来还被勒令停机搬走。

深度学习和英伟达的合作,正是处于弱势的两个种子选手的惺惺相惜,当年主流的学者完全不看好黄仁勋要坚持写CUDA库来做科学计算的决策。对历史没有了解,就完全不可能明白后来英伟达为什么这么火,连谷歌自己研发TPU都没有英伟达的显卡好用。这种难兄难弟后来火出圈的还有台积电和阿斯麦。

提出方法,并证明是对的,固然重要。能够在大规模的数据中使用这个理论,考验的就不是科学能力,而是工程能力。辛顿和杨立昆,自己提出方法,自己去写程序,自己去打比赛,自己去大厂现场演示我的东西好。组建openai这个公司的时候,主流学者嗤之以鼻,笑话居多。当openai发现了训练数据大到一定程度,会出现智能的时候,规模定律出现了。deepseek的出圈,也是一个道理,在大家都知道事情是怎么做的时候,在每一个环节做工程性的优化,构建巨量的带宽、把显卡的GPU性能跑满等等,这些都是许多科研工作者无法完成的工作,太具体也太难了,更发不了论文,走不了捷径。

赋能

对于当下,不同领域有不同领域的大模型,语音转文字有一系列大模型,文字转语音有一系列大模型,语言和推理有一系列大模型,图像处理有一系列的大模型,文字生成图片或视频又有一系列的大模型,我们用得最多的只不过是语言和推理大模型(deepseek-r1和chatgpt的o1)。如果AlphaGo不打败李世石,如果chatgpt的o1不计算出奥数题,这个技术永远得不到世人的瞩目。然而,大家看到它的能力,便开始有的没的去描述自己心中的人工智能,多问几句可能就哑口无言了。

我们当下能做的,要么就是用好别人训练出来的大模型,为工作生活提高效率;要么就是在自己的领域,认认真真地设计并训练一个大模型出来。无论是哪一个,都需要巨量的计算资源,在没有更好的替代之前,那就只能是CUDA和英伟达了。这年头,说自己会写代码的很多,真正能写一写有质量的代码的,这个人数就立马锐减下来了,如果还要考量工程能力的,那就难上加难了。倘若没有这些基础,deepseek是绝对不会出圈的。

这其实是一个很沉重的话题,就拿写代码来说。deepseek已经能按照我们的要求,写出了优质的代码,至于调试和代码审查,如果做不到的话,工作堪忧。如果要做到,没有一些功夫和积累是不可能的。初级岗位会被大量替代,那么他们的就业会怎么样呢?

结语

人工智能呼啸而来,无论你懂或不懂,都会被它撞一下腰。不过,最好是跟着它,一起摇摆。