0
点赞
收藏
分享

微信扫一扫

平凡的Python为什么能一跃成为世界排名第一的语言

金穗_ec4b 2023-04-23 阅读 87

近期,以chatGPT为代表的大语言模型表现非常惊艳。“In Context Learning”、“Instruct”1,以及推理能力,很难不让我们期待未来人工智能的发展,同时冷静思考一下为什么自然语言模型能够取得巨大进步。

文章目录


我们是如何思考的?人类在不张嘴的情况下,会进行哪些活动?或者说,在我们复杂的思维活动中,哪些是天生的,哪些又是学习得到的呢?思考到底是如何进行的?语言又是什么?

1 放空大脑从0开始

试着放空大脑,啥也不想,把这当做思维的0状态(初态)。此时,你会发现自己会不自觉地注意到光、声音、衣服的褶皱等这些不起眼的变化。即使在完全黑暗、安静的地方,还是会感受到自己的心跳、呼吸。所谓的放空状态,可以理解为大脑对传感器(感觉器官)的输入处于惰性的忽视状态,也就是“不过脑子”。

在这种状态下,心眼里没有任何字母或者单词“蹦”出来。如果控制不好,可能也只会简单蹦出一些非常直观的关联词,比如“热”、“刺眼”之类的词汇。此刻,我们基本和普通的脊椎动物没有本质的区别了。这种对周围环境最直观的感受,所对应的神经活动,应该是动物较早进化出来的,甚至可以追溯到三叠纪的虫类。我们不妨从比较原始的单细胞生物开始探讨。

在中学,就知道单细胞生物能因为培养液两侧的温度、光照不同,导致理化差异,鞭毛发生偏转,让自己向温暖的地方游动。但这种活动并不是神经活动,而是由自然选择进化出的本能(不能偏转鞭毛的个体都被淘汰了)。这种理化结构是控制蛋白质合成的DNA、RNA决定的,并随着生命的迭代不断改进。

图片
(图片来自网络)
依靠变异的进化对于单细胞生物甚至病毒来说可能很快,比如在滥用抗生素的情况下,超级细菌可能只要短暂的一段时间就能生成。但对于越复杂的生物,可能就更慢。这其实是一个简单的概率问题。当物种沿着进化图谱越来越先进,也就越来越复杂,可以理解成构成系统的模块越多、模块之间的耦合性也很高。只有当变异不会破坏原有的功能,并恰好带来好处时,个体才能存活下来。但没有方向性的变异,“恰好”满足自然选择需求的变异是很难出现的,或者说需要更长的时间尺度来积累。

回到单细胞生物,我们可以理解这种对某个物理化学参数的感知造成个体活动改变的行为,是固定的、明确的。

单细胞生物的能力是依靠DNA指导合成特殊的蛋白质特性,来适应周围的环境。如果我们用一个树莓派来实现这个小细胞,它大概应该是这样的:

树莓派(https://img-blog.csdnimg.cn/2a575c90f3b849bcbf66ebac5987bb54.png)

编写一个函数,送入四个感光值,输出步进电机的左右步数。我们把这个任务交给猿如意的C知道来完成(GPT2):

QUESTION:
我的树莓派小车连接了4个感光传感器,每个传感器会返回一个亮度值。
这个亮度值范围是0到64,0表示完全没有光,64表示非常亮的光。
四个传感器分别安装在东南西北四个方向。
小车的活动是靠左右轮子来控制的,两个步进电机可以控制轮子正传、反转。
步进电机输出值是一个整数,取值只能是-1,0,1中的一个。取值-1时,反转10度;取值为0时,电机停止;取值为1时,电机正传10度。
控制程序每秒会调用一个函数F, F的输入值为四个传感器的亮度,分别为 l1,l2,l3,l4; 函数输出为左右两个电机的步进,取值为 n1,n2.请帮我实现这个F函数,使得小车能够朝着光最亮的地方行走。

C知道的回答:

#这个问题是一个编程问题,可以直接回答。
#可以通过比较四个传感器返回的亮度值来确定光最亮的方向,然后控制左右轮子的运动方向使得小车朝向光最亮的地方行走。
#具体实现方法如下:
#1.读取四个传感器的亮度值l1,l2,l3,l4。
#2.比较四个亮度值,找出最大值所对应的方向dir,比如如果l1是最大值,那么dir为东方向。如果最大值不止一个,可以随机选择一个方向。
#3.根据方向dir计算左右两个电机的步进值n1,n2:
#如果dir为东方向,那么右轮向前转,左轮向后转。此时n1为1,n2为-1。
#如果dir为南方向,那么左轮向前转,右轮向后转。此时n1为-1,n2为1。
#如果dir为西方向,那么左轮向前转,右轮向后转。此时n1为-1,n2为1。
#如果dir为北方向,那么右轮向前转,左轮向后转。此时n1为1,n2为-1。
#4.返回计算出的左右电机步进值n1,n2。
#代码实现如下:

def F(l1, l2, l3, l4):
    dir = ['east', 'south', 'west', 'north'][[l1, l2, l3, l4].index(max(l1, l2, l3, l4))]
    if dir == 'east':
        n1, n2 = 1, -1
    elif dir == 'south':
        n1, n2 = -1, 1
    elif dir == 'west':
        n1, n2 = -1, 1
    else:
        n1, n2 = 1, -1
    return n1, n2

虽然这段代码并不是最优解,比如可以利用四个值进行插值,确定光场最亮的方向,而后来控制等。但是,基本算是符合逻辑的编程。

C知道
单细胞生命的DNA会控制生成一类特殊的蛋白质结构,起到与上述代码完全一样的效果。这种结构是由自然选择决定的,并不是一种智能。实际山,我们用模拟器件,比如晶体管、电容电阻和电感,也能制作这样的差分控制器。实现这种功能无需数字电路和计算机的参与。

2 简单的神经活动

原始的多细胞生物,则要复杂一些,通过原始的嗅觉触觉寻找猎物。它们基本不具备个体尺度上的学习能力。它们对大自然的适应能力是靠自然选择与基因突变来完成的,可能要跨越很多代个体。但多细胞生物已经进化出了原始的神经活动,如通过一定的感知与应激,精确地跟踪和捕获猎物。如一种简单的腔肠动物可以使用嗅觉、触觉细胞(尚未形成眼睛这样复杂的器官)锁定从身边飘过的小虾,并蠕动躯体一口把它吸进去。

这种跨越多个细胞的整体应激行为,就需要神经的传导。虽然这些生物并没有大脑,但却存在神经节,并构成了简单的神经网络。这个网络的原理是这样的:

假设这腔肠动物的触觉细胞位于口器周围,能够感知16个方向的虾米分子浓度;当虾米浓度达到门限后,控制身躯的16组肌纤维的长度,让口器迅速跟踪并接触虾米。传感器感受到的参数,由自身运动和环境刺激共同组成,这种简单的反馈系统使得触须可以不断接近猎物。

QCDW腔肠动物

这是一个典型的机械自动控制问题。使用液压系统和超声波传感器,能够较为逼真的还原这种控制结构。控制液压系统的代码并不一定要用神经网络,可以用传统的控制理论进行微积分数学计算。需要说明的是,对于这种结构,是不是存在“记忆”性,科学尚无完全笃定的结论。但从常识和一般的生物老师的口中,腔肠动物是没有记忆性的。对同一个水母,无法从失败中学习。比如,水母的触须被一种锋利的玻璃割断了,但是其他的触须还是不会避让这种玻璃。

这里还要注意的是,乌贼不是腔肠动物,而是软体动物,它是有脑子的,还是分布式的多核。

3 感知与行动去耦合

如果仔细思考上述两种活动,与更高级的生物的活动有何不同,最显而易见的区别就是感知与行动的强关联性。对于较为低等的生物:

  • 感知环境得到的数据(或者神经信号)直接决定了行动。这种决定是立刻的、无(弱)记忆、直观而直接的。
  • 这种应激是瞬时的,无法对事物随时间变化的长期规律进行适应。

当生物继续进化,拥有了专门用于复杂神经活动的神经节或者原始的大脑后,就降低了感知与行动的耦合性。这种复杂度导致了重要的进步,就是“经验”的产生。这种能力允许使用过去积累的经验指导后续的活动。

典型的一种思维实验。如果准备两种外观、色彩有区别的鱼食,一种对于鱼很好吃,另一种很难吃,经过反复随机投喂,鱼就会提前选择吃好吃的那种色彩或者形状。

不严谨的说,此刻鱼形成了一种概念,比如方形红色的鱼食很够劲,圆形绿色的不好吃。为了记忆这个知识,鱼在神经系统的记忆部分会记录形状、色彩这些概念,并与好吃、不好吃形成上下文联系。

有了这种记忆和关联能力,更大的脑容量、更复杂的概念和高维度的关联,就会形成极为有效的经验。比如如果科学家按照白天、晚上投喂时间的不同(环境光照不同),来决定好吃和形状的搭配,则聪明鱼学习到了如下经验:

从上述思维过程来说,人思维活动中简单的经验和鱼没有什么区别。比如经过训练,我看到某种包装的瓜子,就知道它是假货还是真货。与鱼相比,人只是观察的角度更多,但本质没有区别。

4 概念的连接与推理

想象一只猎豹在逆风处准备燃烧宝贵的能量发起对羚羊的冲刺,它仔细的观察、聆听、嗅闻,评估捕捉哪一只成功率最高。注意,下面的图是站在会说话的人类的角度来绘制的。猎豹对于味道、毛色的概念,与会说话的人类完全不同。极有可能这种概念是视觉记忆区域的回放,或者其他简化的指代。

如果猎豹是一个妈妈,可能会引入更多的决策概念

猎豹的大脑中,应该已经具备了很多经验与概念。比如最基础的对物体的大小、味道、材质的概念,对猎物呼吸的评估(时间的概念)、对孩子食量大小的估计。思维的过程就是对这些概念的先后顺序、联系进行调整,套用经验得到最有可能获利的决策。

其实对于人来说,大部分时间都在进行类似的思维决策。

我们即使不开口说话,思维活动的绝大多数是由一个个概念串起来的。如果一个物种不会说话,它也会形成概念。但各个物种利用概念的能力、方式可能是不同的。

5. 单词是概念的索引

猎豹建立的概念可能是一个具象化的浮影。现在试图假设自己完全不会说话,去思考一个事情。比如组成一盘黄瓜炒蛋的要素。你会发现,自己的面前浮出和一个黄瓜的影子,和圆不溜秋的鸡蛋,可能还有油盐酱醋等味道。这种概念是从大脑视觉、味觉等感知区域调取的传感器的历史记录。调取这样的记录,像是从机械硬盘里检索一份冗长的数据,非常耗时。

如果一个生物不会为各种概念建立索引,那它的思维过程就非常痛苦。想象我们在编程的时候,对100个数据块进行处理,显然更希望通过一个ID来标识每个数据,而不是用数据的全貌来区分。高等生物对一些复杂概念形成的索引,就是单词。

概念与概念之间的联系和组合关系是多层、交织的。他们既有包含关系,又有跨层次的联系。大胆的猜测,不会说话的生物也有类似单词这种用于指代具象化事物的“ID”。这种“ID”用于个体大脑内部的思考,但现有的科学手段无法感知研究。

这种“ID”,或者说单词,应该是使用少量神经节的状态就能表达的一种物理化学结构,而不是需要支持回放的视觉、味觉这种复杂的向量。这样对于思考的效率、能量比如葡萄糖的消耗都是有利的。

6 语言是概念的接口

对于社会性动物,跨个体的信息交流是一种巨大的优势。这种信息交流能够跨越个体传递经验。对于传递概念,有两种进化路线。

一种是传递指代压缩符号。对使用低频声波的物种,比如大部分会叫的动物,还有人类,受限于交流的时间成本,倾向于用简单的符号指代传递信息。以狐猴或者小型的啮齿动物为例,即使它们不会像人类一样说话,也能用长短高低不同的叫声,来互相提醒老鹰等掠食者的到来。但三长两短这种叫声为什么代表老鹰,恐怕大有可能要有同伴的扑街来示范,也就是现场教育警示,把三长两短和老鹰来袭关联起来。这是因为狐猴的语言系统不能表达足够多的概念,以便在洞里就把老鹰这茬子事情说清楚。

另一种是直接传递数据本身。对掌握高频声波的物种,比如海豚、蝙蝠,极有可能除了上述抽象的语言,还可以直接回放脉冲多普勒神经系统的浮影来进行具象化交流。也就是没有经过压缩编码的原汁原味的传感器信号。这样在家里的孩子就能学到妈妈捕猎时的录像(大有可能和B超的图像类似),兴许还能结合第一种语言,大致描述一下沙丁鱼和剑鱼的区别。

抽象波形接口具象波形接口
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

对上述两种交流方式,我觉得第二种非常酷。但是,第一种具备一个非常大的优势——可以描述自然界不存在的东西。

  • 冷热、明暗,苦辣、色彩形状,这些基于感觉器官收集的原始概念组合成的概念簇,是直接的、具象化的概念。无论组合多复杂,都可以细细拆解为各个感觉器官的直观感受。
  • 懒惰、勤劳、善良、灵活、明天、昨天,这种对事物规律的总结、对决定事物运动的深层次原因的描述,是无法使用具体的感觉神经系统来回放的。

复杂的神经系统能够根据浅表的具象化的概念,生成非常深层次的抽象概念,使得个体能够站在历史的、时间的、辩证的角度思考问题。同时,通过语言系统对这些概念进行不厌其烦的描述,进而跨越个体和时间(隔代)继承知识。

人类语言的复杂性使得我们通过简单的单词、句子的组合、修饰(一些语言比如粘着语略有不同),在长达几个小时甚至几天的时间内,按部就班叙述并教授一个复杂的概念。同时能够设置场景,在“假如”的前提下,把剑齿虎来袭这种事情说清楚。这种能力使得人类不用现场示范,就能教授很多知识。

想象一下我们是如何从小时候只知道吃辣条,到现在会用微积分和FFT设计工业产品的。我们经历的教育,就是在不断建立概念、关联概念。这种建立、关联过程如此痛苦,很多人直到30岁还在学校读书。

7 自然语言模型高度接近人类思维

从本文上面的探讨,就能感觉到,自然语言模型强调对上下文的关联、推理,这一点与人类思维的原理是非常接近的。虽然计算机不知道“冷”是啥意思,但是我们思考的时候,也不会去仔细品味“冷”的感觉,而是一笔带过。

“天冷了,穿衣服”

大部分人在上述六个字的思考、交流过程中,不会刻意的思考自己在冷库里瑟瑟发抖这种“冷”的具体意义,而是直接套用了这个经验。换句话说,我们完全可以在计算机里建立“冷”的概念模型.

自然语言模型不需要能够感受到冷,也能通过学习人类的语言著作,把这些概念建立起来。

GPTGPT的训练是以生成正确的文本为目标的,显然与人类思维的目标不同。但人类思维的目标,比如吃得饱、穿得暖,玩得嗨,本身也可以用语言来描述,从而变成GPT训练的目标。从这个意义上说,语言是思维的符号化表示,只要能够在语言层面得到正确的结果,那这个思维黑箱和大脑就没有本质的不同。

8 具备思维和行动能力的AI

具备思维和行动能力的AI,有可能是使用自然语言模型作为思维引擎,使用CNN等感知模型作为传感器引擎,使用自动控制的专用模型指导运动模块。从目前的科技水平来看,要创造仿生的人工智能,或者叫做人工意识,已经不远了。

为了避免潜在的安全问题,主要是搞清楚如何预训练模型。新生儿的大脑是一片空白吗?显然不是。我们的DNA经过亿万年进化,已经把一些基础的本质的东西固化到生物结构图中去了。搞清楚这部分由自然选择形成的结构、加权,是非常重要的。这种结构决定了大脑中很多预先连接和固化的特性,比如对基础生存的保证、对基础概念的固化,如疼痛、痛苦、香甜。

作为一个AI,预训练过程就对应了实现这部分内容。如果要实现一个生化人,预训练部分的一些概念就尤其重要。

  • 惰性:在没有应激输入时,倾向于休眠。
  • 痛苦:需要规避的特性,要设置为痛苦,也就是算法中的惩罚。
  • 目标:需要设计的特性,设置为目标,比如照顾患者的机器人,患者开心就是奖励。

同时,预训练模型也覆盖对后天学习这个阶段的快速训练,如基础概念的关联、基础逻辑的建立。对具备传感器的机器人,可以把红色、棱角这些概念,和具体的CNN的切片、阈值联系起来,形成真正的感知。当仿生人开始工作(比如进入养老院上岗)时,即可通过传感器、运动系统和医师的干预,不断优化自己的服务策略。


  1. 通向AGI之路:大型语言模型(LLM)技术精要 ↩︎

举报

相关推荐

0 条评论