这篇文章把 The Verge 对 Beeple(真名为 Mike Winkelmann) 的采访翻译成了中文。Beeple 这个名字可能有点陌生,他做了一件常人很难做到的事:12年来(到现在已经 14 年了)每天创作和发布一件艺术作品,Instagram 上也积累了200多万粉丝,还不断推出短片、VR和AR作品,范围从专辑艺术和音乐会视觉效果到概念和电影作品。如此旺盛的创作精力,自然就会想知道,他是如何做到的,有没有什么诀窍。他的回答还是挺有启发的。
在复杂系统中,「涌现」是一个经常会被提到的名词,简单解释就是:系统定量上的变化导致系统行为上的定性变化,使得整体上展现出了构成它的个体所不具备的新特性。比如单个蚂蚁毫无智力可言,但当一大群蚂蚁聚集在一起时,就会呈现出智能。
这篇文章以涌现现象为切入点,从复杂系统的视角结合动力学来分析 AI 大模型。动力系统最简单理解就是油门和刹车,跑得快了踩一脚刹车,跑得慢了踩一脚油门,这两个工具的配合就能达到调配动力的效果。神经网络里也有类似的机制,比如前馈过程(数据从 input 神经元,跋山涉水,经过各个神经元,被 transform 成各个数值,一直到 output 神经元)就是那脚油门,而反向传播传播(通过与误差的比较来修正神经元的权重值)就像那脚刹车。如果误差小,就轻踩,误差大就踩得狠一点。
大模型的涌现能力跟渗流模型比较像,在低于某个阈值时是很多个小单元,一旦突破这个阈值,这些单元就会串联起来形成一个联合体,表现上就是出现了新的能力。或许也可以用渗流模型来解释思维链(CoT,就是要思考好几步才能得到最终的结果)。但这也会带来一些新的问题,比如这个能力的边界在哪里,什么场景下会有怎样的表现?
文中还提到了「生态位」和语言中的类比现象的相似性。简单来说就是职能差不多,但长得不一样。
我们都知道每一个物种在整个生态系统中都有着独一无二的地位和作用,如果一个生态位上的物种消失,经过一段时间的演化,该生态位上就有可能“诞生”出一个全新的物种,但是它的功能和原物种极其相似。
如果我们将一个词所表达的概念看作是一个物种,而人类整个语言所起到的功能性作用看作是一个生态系统,那么每个概念也就会具有一个类似的生态位。现代的基于预训练的语言大模型本质上就是建立在各个词汇彼此之间的类比关系而进行语言理解的
比如,那个著名的公式:男人-女人=国王-王后。也就是说,表示男人和女人的词向量彼此相减得到的差向量,是与表示国王和王后的词向量彼此相减得到的差向量非常接近的。这说明,在整个语言体系中,国王相对于王后相当于男人相对于女人。国王和王后的关系可以类比为男人和女人的关系。王后这个词在王室成员这个具体的生态系统中起到了和女人这个词在更大的人物角色这个生态系统中类似的生态位。
将 AI 大模型与复杂系统类比,一方面是因为这二者在某些方面有相似性,更主要的还是从复杂系统的研究视角来理解和改进 AI 大模型。
这篇文章是对这篇英文文章的翻译,可以从较高维度了解深度学习大概是怎么运作的。
说回生物神经网络,一个典型神经元的物理结构包括细胞体(cell body)、向其他神经元发送信号的轴突(axon)和接收其他神经元发送的信号或信息的树突(dendrites)。
上图中,红色圆圈代表两个神经元交流的区域。神经元通过树突接收来自其他神经元的信号。树突的权重叫作突触权值(synaptic weight),将和接收的信号相乘。来自树突的信号在细胞体内不断累积,如果信号强度超过特定阈值,则神经元向轴突传递信息。如未超过,则信号被该神经元「杀死」,无法进一步传播。
可以从流体动力学来理解,如果「流」向树突的信号很强,那么就更有可能「冲破」神经元的阻碍,流向更多的神经元。
对这个机制进行人工建模就会是这样:
f
是激活函数,里面的数值就是所连接的神经元们传过来的数值*权重
之和,再加上一个偏置项(从理解流程角度,可以先不考虑这个值)。
接下来的问题就是:什么是激活函数?为什么需要激活函数?
激活函数简单理解就是对接收到的输入再做一次转换,映射成新的数值传递给下一个神经元。有了激活函数就可以使神经网络随意逼近复杂函数。
文中还展示了不同的激活函数,和它的使用场景以及局限,可以一并了解下。
「损失函数」与「梯度下降」是机器学习领域经常会遇到的两个概念,了解了这两个概念,对加深机器学习的理解很有帮助。这篇文章我觉得基本把这两个概念讲清楚了,同时不太需要太多数学和机器学习基础。
简单来说,损失函数用来评判某个数学方程式(对现实问题的抽象)的准确度,梯度下降用来找到损失函数的值最小时,方程式中的各个系数。训练的过程就是不断调优方程,然后用这个方程对新的输入做出预测。
「损失函数」如果换成「偏离函数」(偏离真实值的距离)或许更加容易理解?
比如房价与「面积」、「到地铁站的距离」这两个因素相关(现实中还会有更多的相关因素,这里进行了简化)。那么可以用表达式:z = ax + by + c
表示(也可以选取其他的方程式)。其中 z
表示房价,x
表示面积,y
表示到地铁站的距离。损失函数就是预测值与真实值的均方差之和。(损失函数有很多种,可以参考这篇文章)
梯度下降,就是从曲面(损失函数可能是多元多次方程,不只是平面上的一条曲线,无法快速找到那个最低点)中的一点往下走,一直走到最低点(损失最小的点),此时的 a
,b
,c
就是方程中对应的系数。比如最后的方程可能是:z = 10x + 9y + 8
,然后就可以通过这个方程去做预测了。
从这篇文章看到的这个 TED 演讲。作者发现每天在跟屏幕打交道,尤其是手机,这样的感觉不太对,于是他限制了手机的使用时间,去做「低刺激」的事情,然后发现变得更容易专注,也有了更多的想法和对未来的计划。
就好像我们的大脑里住着两个人,一个是总想体验新奇事物的孩子,另一个是喜欢思考的大人。当大人在做事情时,小孩只能在旁边看着,所以不一会儿就会感到无聊,就想拽着大人去探索各种新鲜事物。我们的专注能力与小孩的「活性」有很大的关系,可以主动做一些事情来降低他的活性,比如限制手机使用时间,让它不出现在视线中,以及做无聊的事情。一旦他适应甚至喜欢无聊的事,那些曾经的高刺激物就会失去魔力,大人也会有充足的时间来做自己的事,变得更专注,也更容易遇到有趣的想法。
把做无聊的事推向极致,可能就是冥想,细想一下,比「观察自己的呼吸」更无聊的事也不太多这也是为什么「冥想」这种古老的修行方式在信息化、智能化的时代变得越来越重要的原因。
这篇文章是《纽约时报》的前总编辑 Craig Smith 与 OpenAI 的联合创始人 Ilya 进行的一次访谈的记录。聊到了大语言模型的局限和潜力,以及 AI 在未来世界中可能带来的影响。鉴于 Ilya 在 AI 领域所做出的成绩和地位,他对 GPT 以及 AI 的思考还是挺值得一听的。
总结一下 Ilya 的一些观点:
我现在有点理解为什么要呼吁 Slow Down AI 了。摩托车、汽车虽然跑得比人快,但比赛时我们可以禁止它们参赛;AlphaGo 虽然更擅长围棋,我们也可以把它排除在赛场之外。但 AGI 就不一样了,虽然现在还没有一个公认的 AGI,但 GPT-4 的出现吹响了这个号角,让它不再那么遥远,只是这次我们不能再把它排除在外了。
人相对于动物很大的一个优势,是发达的前额叶皮层带来的智能:推理、规划、抽象思维、理解复杂思想、学习。如果有一个工具(或许称之为物种更合适?)在智能方面能够大幅超过普通人类,并且在持续进化,一个必然的结果就是让这个工具为自己所用,然后就会形成棘轮效应:一旦用上了,就回不去了。形成依赖之后,是否会降低使用者的智能?就像导航一样,要去哪里,告诉导航,然后顺着它设计的路线走就行了。
这个视频从 Beginner 的角度描述了 ChatGPT 的大致运行原理,不需要编程基础就能看明白,可以对 ChatGPT 有一个整体的了解。
我们知道人的大脑里有数百亿的神经元,万亿个神经元突触连接。ChatGPT 内部也有数量庞大的神经元组成的神经网络。只不过人类的神经元之间通过电信号传递,而 ChatGPT 的神经元连接则是通过数学和编程的方式实现。
对神经元的运行机制做一个简化,就是接收一个特定的输入,然后会产生不同的输出,这些不同的输出又可以作为其他神经元的输入。比如上图中这个神经元接受 3 作为输入,然后输出 5,1,9。
切换到机器学习的语境,如果用神经网络的方式来学习辨识鸟,可能就会像上图这样(做了简化),将图像进行某种方式的切割,作为 input layer,这个 layer 里的神经元又会将输入传递给下一层的神经元,因为每个神经元对感兴趣的输入都不一样,所以可能有些神经元被激活了,有些则没什么响应。一开始这套系统的识别率会很低,但训练者可以告诉它结果是对的还是错的,进而来调整内部的神经网络。经过大量数据的训练后,这个模型就具备了识别特定物体的能力。
当然还有很多种神经网络的连接方式(就像人的大脑一样),可以应对不同的场景。ChatGPT 是通过大语言模型训练出来的,啥意思呢?就像人类婴儿小时候一样,虽然不能说话,但天天能听到家人们的对话,就会积累对语言的使用经验,但还是会有点笨拙。等到上学后,在老师的监督下学习就会知道怎样的表达是正确的,怎样的语言组合是错误的。ChatGPT 也经历了类似的两个阶段,第一阶段会学习大量的互联网上的文本数据,慢慢积累知识和语感,第二阶段通过人工调教,告诉它怎样的回答加分,怎样的回答减分,对 ChatGPT 进行强化学习。经过这两个步骤后,ChatGPT 就很会说人话了。
都是神经网络,但 ChatGPT 的神经网络跟人的神经网络还是不太一样。人类需要花费大约 25 年的时间才能拥有完全发育的大脑。即使完全发育后,神经元也总是在发生变化(可塑性),从对话、书本、经验中持续学习。但 ChatGPT 的神经网络训练完成后,基本就定型了(虽然也可以通过对话来更新模型,但整体来说还是偏 Fixed)。
在使用 Midjourney 时,就发现有这个问题(V5 版本对「手」做了很大的优化,但还不到完美的程度),AI 生成的手总是会显得不自然,比如 6 根手指,或者奇怪的姿势。这个视频 就聊了这个现象背后的原因,主要有 3 个:
解决方案的话,可以增加手的样本量,丰富描述,还可以通过 RLHF(人工反馈的强化学习,也是 ChatGPT 采用的方法)来告诉 AI 哪些手画的好,哪些不好,让它逐渐找到画好手的诀窍。
这可能也是用照片训练 AI 的一个局限,不像现实生活中,我们可以立体地观摩对象,还可以从解剖学的角度去理解它的运行机制,从而对目标建立更深刻的认知。如果 AI 可以感知现实中的事物,或许可以创作出更丰富更逼真的作品。
PS: 视频的评论中有人提到,我们做梦时,也无法看到清晰的手的形态,或者有点畸变,所以可以通过看手来判断是在梦里还是在现实中。会不会人类经常以与 AI 相似的方式构建心理图像?