后Transformer时代,AI将何去何从?(上)|【十万字】深度研报
从互联网的搜索引擎和个性化推荐系统,到扫地机器人的Mapping算法和智能音箱的对话,再到“AI四小龙”的图像识别和自动驾驶公司,一直到现在的多模态大模型的生成能力,几乎每一次的AI的产业化,都会带来商业革命,从而产生巨大的社会价值。
本文的重点将全方位框架性的介绍AI:从哲学和神经科学的角度映射到AI学科,从技术理论讲至落地流程,最后覆盖大模型全产业链。当然也包括上述的过去、现在与未来。为同行们提供多元的观点和投资方向,也为了想理解AI的读者们进行一定的补充,方便深入研究。
本文在大量专家和同行的文献观点基础上,笔者加上一些浅薄的理解生成了这篇文章。真的非常感谢前辈和同行们的知识分享,如有错误,请及时指正,也欢迎激烈的讨论。本文内容摘选于Scale Partners势乘资本《AI研究》深度报告。
本报告由势乘资本和光锥智能联合发布
一、核心判断及观点
压缩即智能-十几万字的核心不过100多字
注意力机制告诉我们要做减法,总结是最好的减法过程。一个产业的结论:5句话足以。
1 理解神经科学机制,会对AI的发展起到关键作用!
2 联结主义学派仍然继续要走压缩智能和物理世界模型等深度仿生路线!
3 大模型的Scaling Law大概率失效下,大模型将降本增效-模型更小,成本更低,大家将会专注基于目前大模型能力,开发PMF的产品!
4 国内大模型公司将会转型做垂直行业产品的变多,不会有那么多的人留在牌桌上!
5 AI Infra:推理和训练阶段的计算优化,合成数据;大模型层:有持续稳定大流量使用以及良好的盈利潜力,期望能突破互联网的生态;应用层将大爆发:美术工具、音乐生成、AI4S、生产控制、学龄前儿童教育、游戏、智能眼镜、智能陪伴和具身智能;商业价值较高,投资机会明显。
二、AI导论
AI概念
人工智能(Artificial Intelligence,AI)研究目的是通过探索智慧的实质(哲学知识论和脑科学),扩展人造智能(计算机科学)—— 促使智能主体会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、专家系统等)、会学习(知识表示,机器学习等)、会行动(机器人、自动驾驶汽车等)。
AI学科的发展是由哲学知识论不断引导着神经科学和计算机科学融合(两者互相促进)的。
一个经典的AI定义是:“ 智能主体可以理解数据及从中学习,并利用知识实现特定目标和任务的能力。(A system’s ability to correctly interpret external data, to learn from such data, and to use those learnings to achieve specific goals and tasks through flexible adaptation)”
意识之外...
辩证上来说,一定会有人类的感知系统盲区,无法感知就无法意识到盲事物的存在。而人类万万没想到,这个盲区竟先来自于我们的大脑,具体来说是我们的神经系统。
神经系统把我们的感知死死限制在了对外界信息的获取和处理过程中,你可以通过眼、耳、口、鼻、舌、皮肤等外界感受器,获取大街上的帅哥美女信息,想一想今天晚上吃些什么,然后再刷刷抖音【1】。
我们的意识绝对不能主观控制心跳,控制肠胃的蠕动,肝脏的运行,控制血管的收缩,当然,意识更不能指导每一个神经元的运转,由于意识权限仅仅被限制在神经网络之中,若不是通过解剖和显微镜看到了神经元,人类甚至不知道神经元本身的存在。
我们以为自己的意识是身体或者大脑的主人。但我们还在妈妈肚子里的前两个月,根本没有任何的意识。我们以为的“自我"根本就不存在。但身体,依旧按照DNA编码的规则,按部就班的发育着。
随着孕龄的增大,听觉、味觉、触觉等感知系统的发育逐渐完善后,大脑才能建立足够多的神经网络,让我们产生意识。
人类科学家终于认识到--意识不等于大脑。
我们思考中的意识世界不过是神经元相互协作的结果。主动的意识习惯也可以改造神经元回路。(辩证唯物主义:意识产生于物质,但意识可以改造物质)
神经科学
随着人们对神经系统的研究深入,科学家们对智能的形成逐渐从意识层面(可认知的、肤浅)转向至物理层面(难以认知的、源头)。
图:意识和物理上的知识形成【2】
很多AI创业者和科学家特别喜欢说自己的项目才是更像人的运动、思维和感知模式,来强调技术的优越性,本篇将注重:
来帮助大家更好的独立判断项目。
神经科学的发展历史、现状和展望
神经科学(Neuroscience),又称神经生物学,是对神经系统(包括大脑、脊柱和周围神经系统)及其功能和疾病的科学研究。
神经科学是医学领域,乃至整个自然科学界最前沿、最复杂、最深奥的学科之一。近一百年,脑科学获得了近二十项诺贝尔奖。
“左脑负责理性思考,右脑负责创造力。”很多人曾经、甚至现在依然对类似这样的说法信以为真。这是因为,很长时间以来,对大脑的研究往往会把大脑划分出几个区域,分别研究单个脑区的功能。
但现在,许多神经科学家指出,是时候以新的方式来提升我们对大脑运行原理的认识了:大脑的各种功能,关键不在于某一个脑区,而是来自于不同区域之间的交流。
图:1873年,人类通过染色法第一次观察到完整的神经元
西方的科学家,经历了哲学思考、动物解剖、人类大脑解剖、脑功能分区、染色法发现神经元、电生理、神经化学、膜片钳、核磁共振成像、甚至是AI模拟的范式转变。由思想层面转变至物质层面,由整体层面转变至神经元微观层面,由直接观察到间接机制的模拟。
总而言之,神经科学发展是一个由不断更新的研究手段(1 直接观察:解剖、核磁共振影像;2 间接观察:电压钳、膜片钳、染色示踪;3 药理学;4 认知精神科学 5 AI模型复现)为主要驱动和从而发现的机制原理为次要驱动的相互影响双螺旋发展。
至今,目前的脑科学研究,在分子生物层面和认知行为层面还是很强的(个体机制),薄弱环节在于神经环路和系统机制方面(整体机制),如何分析各个神经环路的工作原理,以此来解释脑的功能或人的行为,进而阐明人脑的系统性工作机制。
图:个体机制--神经元的工作机制
认识神经元不难,搞清楚它们之间的排列组合,才是难【3】。
因为人类的大脑估计已经包含860亿个(10^11次方)神经元,这些细胞信号传递到对方通过多达100万亿(10^15)突触连接。
图:整体机制--神经元的排列组合
就好比,我们现在已经初步画好了咱们大脑图谱有哪些“中心功能大楼”,也知道了这些大楼本身是由神经元为砖瓦砌起来的,但是大楼内部的电线管道是怎么铺的?大楼与大楼之间的交通线路是怎么设计的?它们之间的排列组合、优先次序、是否有替代线路?我们仍然知之甚少。
这些像蜘蛛网一样密密麻麻排列的“大脑”线路,神经科学家们称之为“连接组”(connectome)。
我们始终相信,研究大脑,就要先从全面绘制大脑的连接地图开始(大脑的物质构造)。
阶段一:C.elegan,线虫-302个神经元(重现方法:切片/电镜/手绘)
于是,我们决定先杀个小小的生物的大脑来试试水,第一刀,挥向的是C.elegan,线虫(302个神经元)。
1970年代,剑桥大学两位分子生物学家John White 和 Sidney Brenner决定利用线虫来研究大脑连接组学,他们将线虫大脑切成了超薄脑片,通过将相机架在电镜下拍摄微观图片,然后放大打印出每一个脑片的电镜下图像,再人工用彩色铅笔一点一点、一圈一圈地标记线虫的大脑结构,绘制线虫脑图。
终于,十年以后,1986年,这项工作完成了,线虫--一个拥有302个神经元的简单生物--成为了人类神经科学研究史上第一个,也是迄今为止唯一一个,拥有完整大脑图谱的生物。
阶段2:果蝇的半个大脑-25,000个神经元(重现方法:切片/电镜/CV)
我们开始想办法提高技术,把样品准备和电镜拍摄速度提高、利用计算机算法来自动识别电镜图像下的神经元、以及引入人工智能来处理这大批量的数据,等等。
我们“教会”计算机如何识别一个个神经元细胞,命令它们将不同神经元以不同颜色区分开来,接着再将这每一个薄薄的脑片叠加还原成原本的脑组织块,以重建里面的每一个神经元的完整模样和真实连接关系......
果蝇的大脑有芝麻粒那么大,包含大约十万个神经元和数百万个突触连接。
2020年,哈佛大学研究团队宣布他们成功绘制出了...半个果蝇大脑图谱,下图是这半个果蝇大脑图谱的简单展示,包含了约25,000个神经元。
尽管还有半个果蝇大脑需要画,但是这半个果蝇脑谱,已经是现如今被报导出的最大的生物大脑图谱了。
阶段3:一立方毫米的老鼠的大脑-10万个神经元(重现方法:聚焦离子束显微镜&3D-CV)
Janelia团队则开始使用聚焦离子束显微镜,聚焦离子束系统除了具有电子成像功能外,由于离子具有较大的质量,经过加速聚焦后还可对材料和器件进行蚀刻、沉积、离子注入等加工,因此可以大大缩减样品和拍摄时间。
同时,他们找来了谷歌合作,将2D数据进行注释标记以及3D重建(谷歌地图技术),但是有时候计算机会将两个缠结在一起的神经元误认为是一个神经元,这给后期的勘误工作带来了很多麻烦。最后还是要靠经验丰富的科学家来进行最后的结果审查。
Allen Brain也是绘制脑图的主要贡献者,团队于2019年曾宣布他们已经花了十年时间绘制出了一立方毫米的小鼠大脑图,其中包含了10万个神经元和100万个突触结构。
虽然,一个小鼠大脑有大约500个立方毫米这么大,没关系,总有一天!
目前,脑功能成像,神经刺激,神经信号记录,脑损伤研究,等等研究方法【4】,大多是相关性研究,通过研究来证实某个神经核团或环路与某种脑功能的相关性,或者进一步再描述其简单的因果关系,“AA通过BB调制CC的活动来实现XX功能”之类。这些研究带来很多孤立的碎片的研究结论,每年在顶刊发表很多高分文章,但对整个人脑的工作原理仍然缺乏突破。
总而言之:仍然缺乏有效的观察研究方法(AI连接主义的模型模拟预测为一大方向),重现人类大脑结构和机制。(目前神经学前沿一大热点仍然是神经元分类)。
神经系统机制
大脑神经元的建立过程——从基础构建到复杂网络的形成之旅【5】。
神经细胞
神经系统的细胞主要分为两大类:
神经元具有感受刺激、整合信息和传导冲动的能力。神经元感知环境的变化后,再将信息传递给其他的神经元,并指令集体做出反应。
神经元占了神经系统约一半,其他大部分由神经胶质细胞所构成。据估计,人脑中约有850-1200亿个神经元,神经胶质细胞的数目则更是其10倍之多。
图:典型神经元2D结构
结构及功能
神经元形态与功能多种多样,但结构上大致都可分成细胞体(胞体)和神经突(胞突)两部分。神经突又分树突(dendrite)和轴突(axon)两种。轴突往往很长,由细胞的轴丘分出,其直径均匀,开始一段称为始段,离开细胞体若干距离后始获得髓鞘,成为神经纤维。
图:典型神经元3D结构
1、树突(dendrite)- 接收器:树枝状的纤维从细胞体向外伸出,分叉且非常多,这些纤维被称为树突,主要是收集来自感觉器官的直接刺激或来自相邻神经元的活动信息,并把传入信息传递给神经元的中心部分。这些突触具有一定的权重,它们决定了信号传递的强度和效率。权重的大小反映了神经元之间的连接强度,从而影响信息传递的效率和方式【6】。
2、胞体(soma) - 处理器:神经元的中心部分,含有细胞的染色体,能够迅速评估同时接收到的数百上千条信息。其中有些信息可能是兴奋性的(“放电”),有些是抑制性的(“不要放电”),胞体的唤起程度取决于所有传入信息的汇总。
3、轴突(axon) - 发射器:从胞体上伸出,上有髓鞘(轴突覆盖物),传递被唤起的神经元自己的信息(兴奋大于抑制),有时很长,有的人连接脊与脚趾的轴突可以长达一米多。轴突有时会非常短,大脑里中间神经元之间的轴突可能只有不到1厘米长。
图:神经元连接部分-轴突末端和树突前段
神经元的轴突会与另一个神经元的树突通过形成突触结构建立联系,在突触结构中,一些神级递质(化学)会通过上一个细胞的轴突上的突触前膜,向下一个细胞的树突上的突触后面传递,以实现细胞间的信号传递。神经元轴突还可通过发生动作电位(电信号)进行电信号传递。
功能
神经细胞可以大致分为运动神经细胞、感觉神经细胞和中间神经细胞三大类【7】。
感觉神经细胞(Sensory neurons)的细胞体位于背根神经节(细胞体簇就在脊髓外),而它们的外围延伸遍及全身。具体来说,感觉神经元通过特定的外部和内部受体被感觉输入激活。
运动神经细胞(Motor neurons)是一种位于大脑运动皮层、脑干或脊髓的神经细胞,其轴突(传出神经纤维)可延伸至脊髓内部或脊髓外部。
中间神经细胞(Interneurons)的细胞体皆位于中枢神经系统,连接神经系统的多个区域。中间神经元是神经回路的中心节点,允许感觉神经元、运动神经元和中枢神经系统之间进行通信。此类别包含最多种类的神经元,它们参与处理许多不同类型的信息,例如反射、学习和决策。
分工与合作:三种神经细胞构成了一个大环路,如下图。感觉神经细胞通过感受器感受到刺激(火的炙烤),并将刺激信号传递到中枢神经系统的中间神经细胞。中间神经细胞通过相互联络,做出决定(移开手指),并将指令传递给运动神经细胞。而后,运动神经细胞负责将指令信号传递到效应器,使肌肉动作(移开手指)。
释放不同的突触递质来区分神经元
突触神经突触是允许神经通信的神经元之间的连接点。
大脑中绝大多数的神经元大致可分为兴奋性神经元(excitatory)或抑制性(inhibitory)神经元。兴奋性神经元占80-90%,它们释放兴奋性神经递质并使得下游神经元更兴奋,相当于大脑中的”油门“;抑制性神经元占10-20%, 它们释放抑制性神经递质使得下游神经元更不兴奋,相当于大脑中的”刹车“,避免过于兴奋,比如痛觉麻痹等。
前者主要传递兴奋性神经递质,如谷氨酸(Glutamate)、肾上腺素(Epinephrine);而后者主要传递抑制性递质,如γ-氨基丁酸(GABA)和血清素(5-HT)【8】。
神经递质目前在人体中发现100多种(100多种信息维度),然而,大脑中绝大多数的神经元还是单纯的兴奋性或抑制性,再加上同时释放多种神经递质的意义和机制仍不清楚,相关问题还处于神经科学研究的早期阶段。
具体工作原理
一个典型的神经元能够通过树突和胞体一次接收上千条信息【9】。当胞体被充分唤起时,它自己的信息便会被传递给轴突,轴突通过动作电位将信息传递到突触小体。这个含有神经递质的小泡破裂,将神经递质释放到突触间隙中。形状合适的神经递质分子来到突触后膜时,会停留在受体上并刺激接收细胞。多余的神经递质通过再摄取过程被回收到“发送”神经元中。
PS1:动作电位(action potential):当细胞体的唤起达到临界水平时,触发轴突中的电脉冲,轴突内外电荷发生逆转,导致电信号沿轴突传递,我们称之为神经元“放电”or“点火”。
PS2:全或无原则(all-or-none principle):动作电位没有中间状态,要么放电,要么不放电。
PS3:静息电位(resting potential):在正常的静止状态时,细胞中的离子使轴突带有少量的负电荷,此时状态即为静息电位。
特殊情况:同步放电即有些神经元(极少数)不使用神经递质在突触间传递信息,放弃了化学信息传递,通过电联系进行直接通信。电突触不如化学突触常见,主要存在于中枢神经系统中。电突触中的突触间隙要小得多,这使得神经元可以直接通过间隙连接传递离子电流。出于这个原因,电突触比化学突触工作得更快,并允许脉冲在神经元内沿任一方向传播。然而,因为它们不使用神经递质,所以电突触比化学突触更不易改变。
如上图所示,神经元1的轴突传递了4个信号给神经元2,分别是输入1、输入2、输入3和输入4。而神经元2的输出信号(输出1和输出2)分别是神经元3的输入信号(输入1和输入2)。
如果输入信号之和(由各正电离子受刺激流入胞体,电压变高)超过神经元固有的边界值(电压阈值),细胞体就会做出反应,向与轴突连接的其他神经元传递信号,这称为点火【10】。
点火的输出信号是可以由"0" 或 "1"表示的数字信息表示--全或无原则(all-or-none principle):
1943年, [McCulloch and Pitts, 1943] 将神经元的工作过程抽象为上图所示的简单模型,这就是一直沿用至今的 “M-P神经元模型" 。
电信号的强弱用数字大小表示,突触的权重使用乘积,胞体接受的动作电位可以用点火函数表示,胞体的激活可以用阶跃函数比较表示。
在这个模型中,神经元接收到来自 m 个其他神经元传递过来的输入信号,这些输入信号通过带权重(weights)的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过"激活函数" (activation function) 处理以产生神经元的输出。神经元在信号之和超过阈值时点火,不超过阈值时不点火。
称为激活函数。理想中的激活函数是下图所示的阶跃函数,它将输入值映射为输出值 "0" 或 "1" ,显然,
神经胶质细胞,10-50倍与神经元数量,作用:隔离,支持,营养
这里不一一详细解释了,大家有兴趣可以自行查阅其功能。
神经元从来不单独行动,总是与其他细胞一起合作,神经元与神经元结成一张神经网络,以神经反射的形式工作。
我们可以把把神经元比喻为字母,大脑比喻为整篇文章,而微环路就是字母组成的单词,神经环路则是单词组成的句子。不同脑区使用的不同单词就是环路模体(circuit motifs),而环路模体又进一步组成了复杂的神经环路架构【11】。
环路架构大体分为连续地形图、离散并行处理、维度扩展、循环回路、偏倚输入-分离输出的环路结构;通过神经的不同布线连接,达到计算和节能的目的。
神经环路架构案例
神经系统的逐渐复杂化需要神经元数量、神经元类型及其连接和大脑区域的扩展。所有这些过程都必须由 DNA 的变化引起。进化创新的一个关键机制是基因的复制和发散。
大脑区域进化的复制和发散原则上应该使神经元回路模块化:复制单元内的丰富连接和单元之间的稀疏连接。反过来,神经元回路的模块化特性可能会加速进化,因为不同的模块可以相互独立地进化。
为目前为止,负责AI大模型进化的,只是人工的版本更新。
计算机环路是自上而下设计的产物,而复杂的神经元环路已经进化了数亿年。神经元回路在发育过程中使用进化选择的遗传指令自组装,并通过经验进行微调。因此,现有的神经环路结构很可能是在演化过程中很容易进化和组装的那些选择。
五种基本的感觉系统,听觉、嗅觉、味觉、躯体感觉以及视觉,使我们可以解释周围的环境。每一种感觉包含了独特的通路和加工,以将外部刺激转化为可以被大脑解释的神经信号。
这五种感觉也不是孤立工作的,而是一致行动以构建一个对世界的丰富的解释。正是这一整合成为许多人类认知的基础,并且使我们在一个多感觉的世界中生存并兴旺发展【12】。
从信号的角度来看,人们通过耳朵接受声波,鼻子和舌头接受远近分子化学信号,皮肤接受机械波、温度波,视觉接受光波后,各个感觉神经再通过电信号、化学信号以及机械波的形式传递。
神经如何传递和加工处理至人类可意识的过程大抵相同,下面将主要讲述视觉神经工作原理。
像大多数其他哺乳动物一样,人类是视觉生物:绝大多数人要依赖眼睛来辨别我们看到的是什么,往哪里看,来引导我们动作。这些过程当然是双向互动的。要完成诸如抓住一个扔出物的技巧性动作,我们必须确认物体大小、形状和空间运动轨迹,这样我们才能预先准备好把我们的手放到哪里。
从初级到更高级的视觉皮层,视觉信息逐级传递。人脑理解的内容越来越复杂化、抽象化,由”模式”变成具体的“物”,再到物的特性和物与物之间的关系。在逐级传到过程中,人们也注意到,其在皮层的传到可以大体分成两个通路,腹侧通路(Ventral Pathway/Stream)和背侧通路(DorsalPathway/Stream)。
这两个通路,也分别代表着视觉神经的两大功能:what-物体识别和where-空间感
物体识别
对于物体识别而言,视觉系统中的ventral stream(V1 -> V4 -> IT)通路是至关重要的。在这一视觉信息处理通路中,信息被越来越抽象成高级的语义信息。比如V1视觉皮层表征“bar”,V4视觉皮层则表征texture, IT则存在着对物体类别(脸,动物)的直接表征【13】。
视觉识别是典型的Encoder-Decoder的RNN(循环网络)架构
总而言之:大脑对外部信息处理就是不断表征化的过程(并且是往返循环),表征简单理解为人类可认知到的集成的符号 - 能把某些实体或某类信息表达清楚的形式化系统。
神经元系统对于信息的处理是层级递进的,简单来说每一个皮层(不同的表征处理单元)处理逐级规律复杂,V1视觉皮层前,输入信息为像素点,V1视觉皮层将之处理为Bar-线,随后再由V2-V4视觉皮层处理为-面,3维;再由后续的视觉皮层加工为颜色、光影等更综合的表征,直至IT皮层-形成我们对图像的整体感知,并区分物体。
知觉分类只解决了部分识别问题。要使关键信息发挥作用,必须把现有加工内容与我们贮存的有关视觉物体的知识相联系。语义分类(学习和记忆的表达表征--语言)使我们看到知觉对象间的相似性,并辦认出物体的独特特征。
看到这里,大家对视觉神经元的表征化的工程,感到一丝熟悉,对!以CV计算机视觉技术为主的公司所采取的基础模型-CNN卷积神经网络-Convolutional Neural Networks,其设计灵感就来自于层级递进的视觉神经物体识别通路表征化过程--1960年代对猫的视觉皮层的研究。
有意思的是,2014年,James Dicarlo首次尝试使用CNN来直接预测IT神经元的活动。他们将同一张图片展示给猴子以及CNN模型,在利用线性回归直接根据CNN对图片的表征去预测在猴子IT脑区记录到的电信号。他们惊人的发现,仅通过简单的线性方法就可以从CNN的表征预测出IT的脑区活动,这说明两者表征的信息是十分相似的。
利用数学模拟的AI模型去预测脑区电信号,当实验结果趋同时,也意味着神经元架构和数学模型基本相同,这种新的研究范式正在反向助力神经科学的探索(比如当下最火的AI预测蛋白)!
空间感(定位和导航)
通过空间通路,人可以很好的理解所观察到的物体在空间维度内和人的关系,从而得以判断和操作该物体。
太阳的东升西落,城市的东西南北,过马路要左右看……在人们的日常生活中,大脑的空间感知作用扮演着重要角色。无论是寻找方向、定位目标还是记忆场景,都需要大脑对空间信息的处理和记忆。
很遗憾的是,人类对此空间通路机制的研究,非常浅薄,对腹侧通路(物体识别功能)的神经通路的数学量化复现相当成功。
目前主流研究仍在通过小白鼠、猴子等哺乳动物实验,继续寻找空间感所涉及的神经单元及细分作用(仍未找齐,目前仅发现世界中心编码和自我中心神经元),各个单元如何相互作用以及如何集成编码,我们仍未探知清楚。空间感神经元与海马体(记忆)紧密联系。
幸运的是,科学界对神经科学空间感热情高,对此脑区的研究产出高。
世界中心的编码方式是建立在自我中心编码的计算和转换上的。换言之,相比起处理 ‘前后左右’的位置信息,大脑在处理‘东西南北’的位置信息要经过更为复杂的编码过程。
这部分我主要讲述注意,意识部分在上面已经有所提及。
想象你在参加一个鸡尾酒会,身边有人低语,有人高谈阔论,偶有玻璃碰杯声音,远处还有乐队在演奏。在这么嘈杂的环境中,你依旧能够听到身边的朋友在说什么。这不仅仅是因为你们离得近,更重要的是,你将注意力集中在了她身上。注意力让你「选择」把有效的认知资源都用于在一堆嘈杂的信息中,寻找、分析她的声音【14】。
这就是著名的「鸡尾酒会效应」。
注意力是一个用来分配有限的信息处理能力的选择机制。感知系统在做信息加法,那么注意力就是在做减法。
“少则得,多则惑,是以圣人抱一为天下式”-道德经
随着进化的脚步,生命体本身由简至繁,而人类历史发展到今天,我们的生存环境和所需要学习、掌握的工作任务和过去的丛林生活复杂到不知多少。为了应对这个变化,大脑会如何进化呢?是发展成一个同时处理庞大的信息并且容量超大的大脑,还是发展成虽然容量不大,但可以迅速地分析信息,并配有一个高效率信息选择和投注机制,将所有计算能力都放在重要的任务上的大脑呢?很明显的,后者更有优势,而且大自然也为我们选择了这个目标。这个「高效率信息选择和投注机制」就是我们说的「注意力」(attention)。
注意力是指,选择性地专注在某些感受到的信息上,这些信息可能是客观或主观的,同时忽视同一时刻收到的其他信息。这一个认知过程。
机制:注意力通过信号控制(关注的信息兴奋,不关注的信息抑制),锁定相关脑区的工作状态,同时加强相关脑区的连通性,削弱其他联通性,让我们的大脑临时性、软性的改变结构,变得“任务特异化”。
这种认知资源和认知资源协同状态的预锁定,就像对大脑这台计算机的“虚拟化",预先写好资源请求参数,并预装了所需要的程序执行和依赖环境。
一切源于2017年谷歌Brain团队那篇鼎鼎大名的文章“Attention Is All You Need”(注意力就是你所需要的一切),就是这篇文章提出了以自注意力为核心的Transformer网络结构。
在自注意力机制下,输出的内容加权平均了输入,既考虑了输入的全面性,也考虑了输入的个别单词的相关性,从而更有针对性的理解句子中的含义并输出理解。
学习 (learning)是获取新信息的过程,其结果便是记忆(memory)。也就是说,在学习了某样东西后,记忆便形成了,这种学习也许会发生在信息的单次呈现后,也许是在信息的重复呈现后。记忆必须是能够在一段时期内维持的【12】。
学习与记忆可以假设为三个主要的阶段,不断循环:
编码(encoding)是对输入信息的处理与储存它分为两个阶段:获取与巩固。
存储(storage)是获取和巩固的结果,代表了信息的长久记录。
记忆则是对学习过程的储存,即中枢神经系统储存感觉器官的神经电位,一般也分为两种,短时记忆和长时记忆。
短时记忆是中枢神经系统对于刺激的瞬间记忆,是对刚刚发生事情的片刻记忆,这样的记忆往往只能维持几秒钟或几分钟。而当片刻记忆的刺激,重复作用于中枢神经系统时,便会形成对事情的长时记忆。
提取 (retrieval)是通过利用所储存的信息创建意识表征或执行习得的行为,如自动化动作。对学习机制的再次刺激,直至形成长期记忆。
有意思的是,人类的记忆向来不太准确,大家可以试着回想一下上周的事情,能不能像计算机的视频一样每一帧都能高清的回想起来?
语言有两种形式:1 表达 2 语言推理(最重要)。
语言可以是某个语言上命名好的东西,也可以只是一种"表征"(representation)【15】。我们可以在不说话的情况下,直接使用这个“表征“进行思考、推理等等。所以常常有思维比口头表达更快的体验,而且如果口头说的比较快的话,经常会说错而不自知。也就是说,语言可以是更广义的概念。而这种推理和逻辑思考能力,我们称为Verbal Reasoning!
这里可以看出,“语言”(广义的)跟思考具有非常直接的关系。有了语言,我们能在大脑中思考的时候对事物形成“表征”。传统上,我们认为,为了方便思考,特别是在谈话和阅读中思考,我们会首先将口头语言中的对象物转化为大脑中的“表征”,这是一种"语言过程" ,然后使用这些“表征“进行演绎和推理,这是一种非语言过程,最后将结果转换为口头语言对象(表达)。
在整个过程中,从语言对象到大脑内在表征,以及从大脑内在表征到语言对象的两部转换自然是跟语言直接相关的。对应的,还有图像推理(Visual Reasoning),也就是直接使用视觉或者图像表征进行空间构建或者关系推理的过程,典型地比如玩俄罗斯方块。
既然有图像推理,那么,语言介质(广义的)就并非思考的必要条件,但是为最主要条件。
狭义上来说,人类就是用语言来进行高级思考的,输入的信息➡️形成表征➡️根据表征的特征,寻找匹配的语言形容➡️内在表征以语言的形式演绎推理➡️表达;
语言与思想的关系被认为是相互依存的。一方面,语言提供框架来组织和表达思想;另一方面,思想的边界可能受限于语言的表达能力。语言的使用不仅反映思想,也可能塑造思想,如母语对思维模式的影响。
运动功能分为运动计划(同步感觉和运动信息后进行位置和轨迹预测空间编码)、运动准备(小脑-专门表征动作的时间特性的结构,控制节奏;基底神经节转化信息为动作信息)以及和运动执行(调动分布式专门运动神经系统)。
运动控制依赖于广布的解剖结构,这些广布的运动结构以层级式的方式进行运作:最高层计划最好以动作如何实现目的来描述,底层的运动层级致力于将目标转化为运动。最底层是实现一个特定动作的具体指令,最高层是动作目的的抽象表征。
然而运动计划和学习是同时发生在各个层级上的。学习发生在所有的层级。运动控制上解耦,运动学习上强耦合!
我们对机器人的控制理论仍然是数字自动化控制(预定和固定流程控制-PID等),关于对控制的神经网络设计(适应开放场景,鲁棒性高,泛化性强)才刚刚开始,具体看具身技术部分。
情绪的作用在动物中激励目标的实现和躲避危险的功能。
情绪识别不仅仅是单一神经元或区域的工作,而是涉及广泛的大脑网络。例如,视觉皮层首先处理情绪刺激的视觉信息,然后传递到包括杏仁核在内的边缘系统,进一步的处理涉及前额叶和其他高级认知区域,以综合信息并做出情绪反应。
由意大利理工学院科学家弗朗切斯科·帕帕莱奥领导的研究团队,发现了使人类能够识别他人情绪的大脑网络。识别他人表情并作出适当回应,是人类和动物的基本技能,这能使同伴间的互动更有效,从而提高生存概率。但对这一能力背后的大脑机制,人们仍知之甚少【16】。
使用荧光显微镜拍摄的神经元图像。图片来源:意大利理工学院
认知控制 (cognitive control) 是指个体在特定的情境中,自上而下的灵活地调动认知资源来调整想法和行为的一种目标导向的心理过程;认知控制包括计划、控制和管理信息加工流的心理能力--调度资源和监控反馈保证目标导向行为的成功。
目前研究热点是认知控制的一般性/特异性机制。所谓一般性(大脑的泛化性),是指不同任务之间共享相同的加工机制 ;相反地,特异性(任务的专用性)是指不同的任务各有特异性的加工机制。
当两个任务之间的差别大到可以归为两类时,他们之间就产生了边界 (boundary)。因此,认知控制的一般性 / 特异性很可能不是非此即彼的。
这提示我们,大脑在进行信息加工时有一定的泛化能力,并不局限于具体的任务。但是这种泛化能力不是无限的,如果任务之间的差异达到了一定的程度,大脑会形成不同的功能模块来分别进行加工,这样能够保证在面对外界刺激时有最为高效的反应。从进化的角度来看,这种高效加工对人类适应环境也是极为有利的。
对认知控制的资源调度和监控反馈机制的研究可以让大模型(泛化)在应用(专用)时,进行特异化工程(形成洞悉),有效解决专用性不足的问题(通用大模型如何变成垂直大模型)。
1.智能史的第一次突破:两侧对称动物都有个脑子来趋利避害、整合信息、持续学习和情感惯性,发源于线虫--一切都是为了活下去【17】。
2. 智能史的第二次突破:脊椎动物的硬质骨骼催生了更大的身体、能够容纳更大的脑,大脑开始可以简单的强化学习(有明确的目标,但都是现实环境的目标)和好奇心(仅仅探索了未知区域满足好奇心、也应该得到强化鼓励);
3.智能史的第三次突破:依托于无监督学习、把同样的脑回路排队复制--神经元数量大爆炸(人类大脑中新皮层已经占整个脑容量的70%),新皮层创造出“在想象力中用强化学习模型思考”;哺乳动物的“新皮层”做模拟学习,是从自己的想象中学习(GPT-4 的阶段)。
OpenAI GPT4-草莓大模型(自我强化学习-RL新范式)已经发布:
你需要对一个问题建立多个智能体(agents),让每个智能体各自生成答案。选择最合适的一个,再输出。这两步加起来就是系统2思维。
而现今的大语言模型基本上只是系统1思维,纯直觉输出。但我们可以想见,跨越到系统2在技术上一点都不难,难的只是算力而已 —— 毕竟一切都是新皮层。
4. 有了心智理论,灵长类动物可以通过模仿另一个人做事来学习,也就是从他人的行动中学习(模仿学习)和群体生活(政治博弈-对抗学习)让大脑变得越来越大。
5.智能史的第五次突破:语言,语言让大脑和大脑联网。以前的我们是单独的个体,现在我们是网络中的一个个节点;有了语言,智人则能够从他人的想象中学习、知识开始爆炸性积累。(群体的智慧!)
我们的祖先们,不断持续的优化和补充神经回路机制,神经元的数量飙升,同时配对上好的学习范式,最终要形成精简的功能(皮层or脑区 and 针对性功能的特异回路),才能实现真正的智能!
实现真正的涌现能力!
AI的涌现能力是指随着模型规模变大,模型突然在某一刻拥有了以前没有的能力-大型语言模型在未直接训练过的任务上表现出惊人性能的能力。
神经网络不是黑箱!只是因为我们尚未了解以及计算量过大。
神经学对AI的影响大讨论-鸟飞派和伪鸟派
当人们最初想要制造飞行器的时候,是希望模仿鸟的飞行方式,制造出像鸟一样飞行的机器。后来人们发现,这样的制造方法并不可行,可能不仅实现难度大,而且还不稳定,blablabla...(非专业人士,只是猜测)于是莱特兄弟想出了另一种制造飞行器的方式,相比于模仿鸟类的飞行方式,这种飞行器的工作方式更简单,更安全,更...【18】
这群试图完全模仿鸟类飞行方式来制造飞行器的人,在后世被称为“鸟飞派”,莱特兄弟制造出的飞机则告诉我们,鸟飞派不一定是最有效的工程方法。而他们造出的“伪鸟”,才是更可取的飞行器制造方案。
同样,人工智能发展的初期也有一波“鸟飞派”学者,他们认为只有完全用机器实现大脑的结构,才能制造出一台和人类拥有相似功能的机器大脑。然而这并非是现实的,无论是放在人工智能发展的初期还是放在工业技术更加发达的现代。
原因包括:a人脑拥有上千亿个神经元,神经元之间还有数量更多的连接。要实现这些连接绝不是一件容易的事情。b这些神经元之间是怎样连接,以实现复杂的功能的,目前神经科学家们所知甚少。
2022年的一个周末,twitter上的神经科学圈发酵了一起不大不小的争论,引得领域内好几个著名学者,包括Yann Lecun的参与。最初争论的是神经科学是否推动了人工智能,后来就更多变成了未来的人工智能是否需要神经科学。中国在类脑智能领域的投入也在增加,“该不该类脑”以及“如何类脑”这样的问题都值得在广泛范围内讨论--详见饶毅事件。【19】
争论的起点10月15号时候,神经科学领域和人工智能领域一群大佬,如Terry Sejnowski, Yoshua Bengio, Yann LeCun,Eero Simoncelli, James DiCarlo, Alex Pouget 以及今天争论的主角Konrad Kording, 在arXiv上发表了一篇白皮书文章文章的观点非常简单,摘要只有两句话:Neuroscience has long been an important driver of progress in artificial intelligence (AI). We propose that to accelerate progress in AI, we must invest in fundamental research in NeuroAI.
概括起来就是:神经科学+人工智能非常有前途,政府请打钱。
没想到两天后,可能是周末比较清闲,来自DeepMind的David Pfau对着Kording的这篇tweet开喷了:神经科学从来都没推动过人工智能,你们白皮书中还说continue to drive AI progress你们真的认为发明Transformers / ADAM的人看过一篇神经科学论文吗?你们就假装在为人工智能做贡献吧。要点脸吧 "it's embarrasing"(原文)
这样的回复立马就炸雷了,引起了后面很多人的“参战”。这里简单提一下这位Pfau,他其实是正儿八经的神经科学博士,毕业于哥伦比亚大学的神经生物学专业,附属于Center for Theoretical Neuroscience (CTN)。并且在CTN里边有Larry Abbott和Ken Miller等计算神经科学大佬,毕业生中走出了很多在人工智能领域的佼佼者,如David Sussillo,Pfau对于这神经科学和人工智能两个领域都不陌生。
Pfau的评论一处,上文我们所提到的David Sussillo就出来说话了过去几年,我在Google Brain跟Transformer的主要贡献人交往很多。我虽然不能冒昧地推定到底是什么启发了他发明transformer,但是他对神经科学是发自内心的感兴趣,问了很多神经科学的问题。
Yann Lecun大佬出马,直接就一句"You are wrong"甩到Pfau老兄脸上了:你错了 。神经科学极大并且直接启发了我和Hinton,另外神经网络通过调节突触权重来实现学习这一整套想法确定无疑来自神经科学。
笔者认为如今神经学的研究会在两大方面极大的推动AI的发展:
总结
AI模型预测作为新的研究方法也在助推神经科学的发展,在探索完神经学原理后,又帮助ai发展,两者螺旋上升。还有大量神经元原理未被量化,技术天花板尚未显现!
三、AI技术流派原理与发展
(1) 总体流派类别原理和历史
在人工智能的发展过程中,不同时代、学科背景的人对于智慧的理解及其实现方法有着不同的思想主张,并由此衍生了不同的学派,影响较大的学派及其代表方法如下:
学派之间的范式方法早已融合贯通,以神经网络深度学习的联结主义是目前主要贡献学派,学派之争都在想深度学习神经网络的联结主义收敛。
其中,符号主义及联结主义为主要的两大派系【20】:
“符号主义”(Symbolicism),又称逻辑主义、计算机学派,认为认知就是通过对有意义的表示符号进行推导计算,并将学习视为逆向演绎,主张用显式的公理和逻辑体系搭建人工智能系统(已有知识的数学复刻)。如用决策树模型输入业务特征预测天气:
“联结主义”(Connectionism),又叫仿生学派,笃信大脑的逆向工程,主张是利用数学模型来研究人类认知的方法,用神经元的连接机制实现人工智能。如用神经网络模型输入雷达图像数据预测天气:
从始至此,人工智能(AI)便在充满未知的道路探索,曲折起伏,我们可将这段发展历程大致划分为5个阶段期(笔者罗列了关键的事件):
起步发展期:1943年—20世纪60年代
1943年,美国神经科学家麦卡洛克(Warren McCulloch)和逻辑学家皮茨(Water Pitts)提出神经元的数学模型,这是现代人工智能学科的奠基石之一。
1950年,艾伦·麦席森·图灵(Alan Mathison Turing)提出“图灵测试”(测试机器是否能表现出与人无法区分的智能),让机器产生智能这一想法开始进入人们的视野。
图灵在一篇论文中开门见山问道:
“I propose to consider the question, ‘Can machines think?’"
“我提议思考这样一个问题:‘机器可以思考吗’”
以此拉开AI的序幕,激发当时刚刚兴起的计算机科学领域对AI的思考。
1956年,达特茅斯学院人工智能夏季研讨会上正式使用了人工智能(artificial intelligence,AI)这一术语。这是人类历史上第一次人工智能研讨,标志着人工智能学科的诞生。
1957年,弗兰克·罗森布拉特(Frank Rosenblatt)在一台IBM-704计算机上模拟实现了一种他发明的叫做“感知机”(Perceptron)的神经网络模型。
1969年,“符号主义”代表人物马文·明斯基(Marvin Minsky)的著作《感知器》提出对XOR线性不可分的问题:单层感知器无法划分XOR原数据,解决这问题需要引入更高维非线性网络(MLP, 至少需要两层),但多层网络并无有效的训练算法。这些论点给神经网络研究以沉重的打击,神经网络的研究走向长达10年的低潮时期。
反思发展期:20世纪70年代1974年,哈佛大学沃伯斯(Paul Werbos)博士论文里,首次提出了通过误差的反向传播(BP)来训练人工神经网络,但在该时期未引起重视。
1975年,马文·明斯基(Marvin Minsky)在论文《知识表示的框架》(A Framework for Representing Knowledge)中提出用于人工智能中的知识表示学习框架理论。
1979年,汉斯·贝利纳(Hans Berliner)打造的计算机程序战胜双陆棋世界冠军成为标志性事件。(随后,基于行为的机器人学在罗德尼·布鲁克斯和萨顿等人的推动下快速发展,成为人工智能一个重要的发展分支。格瑞·特索罗等人打造的自我学习双陆棋程序又为后来的强化学习的发展奠定了基础。)
应用发展期:20世纪80年代1980年,在美国的卡内基梅隆大学(CMU)召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。
1982年,约翰·霍普菲尔德(John Hopfield) 发明了霍普菲尔德网络,这是最早的RNN的雏形。霍普菲尔德神经网络模型是一种单层反馈神经网络(神经网络结构主要可分为前馈神经网络、反馈神经网络及图网络),从输出到输入有反馈连接。它的出现振奋了神经网络领域,在人工智能之机器学习、联想记忆、模式识别、优化计算、VLSI和光学设备的并行实现等方面有着广泛应用。
1983年,Terrence Sejnowski, Hinton等人发明了玻尔兹曼机(Boltzmann Machines),也称为随机霍普菲尔德网络,它本质是一种无监督模型,用于对输入数据进行重构以提取数据特征做预测分析。
1985年,朱迪亚·珀尔提出贝叶斯网络(Bayesian network),他以倡导人工智能的概率方法和发展贝叶斯网络而闻名,还因发展了一种基于结构模型的因果和反事实推理理论而受到赞誉。
个性推荐算法简介:用户c看过物品a,c,d,用户b看过物品b,与用户c的喜好不重合,用户a看过物品a,c,由此可以推测用户a与用户c相似,可以推荐物品d给用户a;当然后续技术添加了组标签等新算法,使得推荐算法更加精确,推荐算法成为了新一代互联网的核心护城河!任何互联网平台都离不开推荐算法,抖音,小红书等推荐机制吸引了大量的注意力,便由此通过广告变现,成为新一代互联网龙头。
1986年,辛顿(Geoffrey Hinton)等人先后提出了多层感知器(MLP)与反向传播(BP)训练相结合的理念(该方法在当时计算力上还是有很多挑战,基本上都是和链式求导的梯度算法相关的),这也解决了单层感知器不能做非线性分类的问题,开启了神经网络新一轮的高潮。
1989年,LeCun (CNN之父) 结合反向传播算法与权值共享的卷积神经层发明了卷积神经网络(Convolutional Neural Network,CNN),并首次将卷积神经网络成功应用到美国邮局的手写字符识别系统中。
卷积神经网络通常由输入层、卷积层、池化(Pooling)层和全连接层组成。卷积层负责提取图像中的局部特征,池化层用来大幅降低参数量级(降维),全连接层类似传统神经网络的部分,用来输出想要的结果。
平稳发展期:20世纪90年代—2010年
1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫。深蓝是基于暴力穷举实现国际象棋领域的智能,通过生成所有可能的走法,然后执行尽可能深的搜索,并不断对局面进行评估,尝试找出最佳走法。
1997年,Sepp Hochreiter 和 Jürgen Schmidhuber提出了长短期记忆神经网络(LSTM)。
LSTM是一种复杂结构的循环神经网络(RNN),结构上引入了遗忘门、输入门及输出门:输入门决定当前时刻网络的输入数据有多少需要保存到单元状态,遗忘门决定上一时刻的单元状态有多少需要保留到当前时刻,输出门控制当前单元状态有多少需要输出到当前的输出值。这样的结构设计可以解决长序列训练过程中的梯度消失问题。
2003年,Google公布了3篇大数据奠基性论文,为大数据存储及分布式处理的核心问题提供了思路:非结构化文件分布式存储(GFS)、分布式计算(MapReduce)及结构化数据存储(BigTable),并奠定了现代大数据技术的理论基础。
2006年,杰弗里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念(Deeping Learning),开启了深度学习在学术界和工业界的浪潮。2006年也被称为深度学习元年,杰弗里·辛顿也因此被称为深度学习之父。
深度学习的概念源于人工神经网络的研究,它的本质是使用多个隐藏层网络结构,通过大量的向量计算,学习数据内在信息的高阶表示。
图:初始的损失函数
图:实际的梯度更新后的损失函数
蓬勃发展期:2011年至今2012年,Hinton和他的学生Alex Krizhevsky设计的AlexNet神经网络模型在ImageNet竞赛大获全胜,这是史上第一次有模型在 ImageNet 数据集表现如此出色,并引爆了神经网络的研究热情。
AlexNet是一个经典的CNN模型,在数据、算法及算力层面均有较大改进,创新地应用了Data Augmentation、ReLU、Dropout和LRN等方法,并使用GPU加速网络训练。GPU在深度学习网络的作用开始远远大于CPU。
2012年,谷歌正式发布谷歌知识图谱Google Knowledge Graph),它是Google的一个从多种信息来源汇集的知识库,通过Knowledge Graph来在普通的字串搜索上叠一层相互之间的关系,协助使用者更快找到所需的资料的同时,也可以知识为基础的搜索更近一步,以提高Google搜索的质量。
2015年,为纪念人工智能概念提出60周年,深度学习三巨头LeCun、Bengio和Hinton(他们于2018年共同获得了图灵奖)推出了深度学习的联合综述《Deep learning》。
《Deep learning》文中指出深度学习就是一种特征学习方法,把原始数据通过一些简单的但是非线性的模型转变成为更高层次及抽象的表达,能够强化输入数据的区分能力。通过足够多的转换的组合,非常复杂的函数也可以被学习。
2015年,Microsoft Research的Kaiming He等人提出的残差网络(ResNet)在ImageNet大规模视觉识别竞赛中获得了图像分类和物体识别的优胜。
残差网络的主要贡献是发现了网络不恒等变换导致的“退化现象(Degradation)”,并针对退化现象引入了 “快捷连接(Shortcut connection)”,缓解了在深度神经网络中增加深度带来的梯度消失问题。
2015年,谷歌开源TensorFlow框架。它是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。
2015年,马斯克等人共同创建OpenAI。它是一个非营利的研究组织,使命是确保通用人工智能 (即一种高度自主且在大多数具有经济价值的工作上超越人类的系统)将为全人类带来福祉。其发布热门产品的如:OpenAI Gym,GPT等。
2016年,AlphaGo与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜。
2018年,Google提出论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》并发布Bert(Bidirectional Encoder Representation from Transformers)模型,成功在 11 项 NLP 任务中取得 state of the art 的结果。
BERT是一个预训练的语言表征模型,可在海量的语料上用无监督学习方法学习单词的动态特征表示。它基于Transformer注意力机制的模型,对比RNN可以更加高效、能捕捉更长距离的依赖信息,且不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的masked language model(MLM),以致能生成深度的双向语言表征。
2020年,OpenAI开发的文字生成 (text generation) 人工智能GPT-3,它具有1,750亿个参数的自然语言深度学习模型,比以前的版本GPT-2高100倍,该模型经过了将近0.5万亿个单词的预训练,可以在多个NLP任务(答题、翻译、写文章)基准上达到最先进的性能。
2020年,谷歌旗下DeepMind的AlphaFold2人工智能系统有力地解决了蛋白质结构预测的里程碑式问题。它在国际蛋白质结构预测竞赛(CASP)上击败了其余的参会选手,精确预测了蛋白质的三维结构,准确性可与冷冻电子显微镜(cryo-EM)、核磁共振或 X 射线晶体学等实验技术相媲美。
2021年,OpenAI提出两个连接文本与图像的神经网络:DALL·E 和 CLIP。DALL·E 可以基于文本直接生成图像,CLIP 则能够完成图像与文本类别的匹配。
2021年,AlphaFold 2 能很好地预判蛋白质与分子结合的概率,为我们展示了人工智能驱动自然学科研究的无限潜力;
2022年,ChatGPT推出,AI爆炸进行时!
总结来说,AI技术学派的发展,随着人类对自己的智慧的研究深入-当然也有客观物理条件的满足(算力和数据),从意识层面(现成的知识复制)到物质层面(神经网络的机制),所产生的智能从机械重复性工作到创意生成实现了跨越,符号主义范式向联结主义范式迁移,少层次神经网络到多层次深度学习的神经网络。
(2)AI理论
在实践中,我们根据任务,优先确认学习范式和算法,搭建ai模型,在小规模应用中收敛学习范式和ai模型至可以被大规模训练的最佳状态--loss fuction表现优异。
学习范式
机器学习的范式包含三种主流范式:
监督学习模型主要是根据人类已标注数据对模型的输入和输出学习到一种映射关系,以此对测试数据集中的样本进行预测。包含两类任务:分类和回归。许多数据标注公司业务依赖于此学习范式的模型公司。
模仿学习是指从示教者提供的范例中学习,把状态作为特征(feature)【23】,动作作为标记(label)进行分类(对于离散动作)或回归(对于连续动作)的学习从而得到最优策略模型。模型的训练目标是使模型生成的状态-动作轨迹分布和输入的轨迹分布相匹配。本质上是一种对齐手段,不是真正的理解世界。
在简单自动驾驶任务中(如下图),状态就是指汽车摄像头所观测到的画面,动作即转向角度。根据人类提供的状态动作对来习得驾驶策略。这个任务也叫做行为克隆(Behavior Cloning),即作为监督学习的模仿学习。
缺点:由于没有自我探索能力,性能不可能超过人类遥控机器人所能达到的性能。而很多任务实际上是通过遥控/示教难以实现的,比如人形机器人的奔跑跳跃等动态平衡问题,以及与动态物体的交互。
相比于监督学习,无监督学习仅依赖于无标签的数据训练模型来学习数据表征。自监督学习是无监督学习的一种。
自监督学习主要是利用「辅助任务(pretext)--自动标注、自动训练「从大规模的无监督数据中挖掘」自身的监督信息」来提高学习表征的质量,通过这种构造监督信息对网络进行训练,从而可以学习到对下游任务具有价值的表征。
最常见的通过随机删去训练集句子中的单词来构造辅助任务训练集和标签,来训练网络预测被删去的单词,以提升模型对于语序特征的提取能力(BERT)。
基于环境的反馈而行动,通过不断与环境的交互、试错,最终完成特定目的或者使得整体行动收益最大化。强化学习不需要训练数据的label,但是它需要每一步行动环说给的反馈,是奖励还是惩别!反馈可以量化,基于反馈不断调整训练对象的行为【24】。
强化学习是智能体(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏。
强化学习主要是指导训练对象每一步如何决策,采用什么样的行动可以完成特定的目的或者使收益最大化。
比如AlphaGo下围棋,AlphaGo就是强化学习的训练对象,AlphaGo走的每一步不存在对错之分,但是存在“好坏”之分。当前这个棋面下,下的“好”,这是一步好棋。下的“坏”,这是一步臭棋。强化学习的训练基础在于AlphaGo的每一步行动环境都能给予明确的反馈,是“好”是“坏”?“好”“坏”具体是多少,可以量化。强化学习在AlphaGo这个场景中最终训练目的就是让棋子占领棋面上更多的区域,赢得最后的胜利。
但实际我们在进行强化学习训练过程中,会遇到一个“EE”问题。这里的Double E不是“Electronic Engineering”,而是“Explore & Exploit”,“探索&利用”。
所以在强化学习训练的时候,一开始会让Agent更偏向于探索Explore,并不是哪一个Action带来的Value最大就执行该Action,选择Action时具有一定的随机性,目的是为了覆盖更多的Action,尝试每一种可能性。等训练很多轮以后各种State下的各种Action基本尝试完以后,我们这时候会大幅降低探索的比例,尽量让Agent更偏向于利用Exploit,哪一个Action返回的Value最大,就选择哪一个Action。
Explore&Exploit是一个在机器学习领域经常遇到的问题,并不仅仅只是强化学习中会遇到,在推荐系统中也会遇到,比如用户对某个商品 or 内容感兴趣,系统是否应该一直为用户推送,是不是也要适当搭配随机一些其他商品 or 内容。
该学习范式容易陷入局部最优:部分场景中Agent采取的行动可能是当前局部最优,而不是全局最优。网上经常有人截图爆出打游戏碰到了王者荣耀AI,明明此时推塔或者推水晶是最合理的行为,但是AI却去打小兵,因为AI采取的是一个局部最优的行为。再合理的Reward函数设置都可能陷入局部最优中。
能力成长滞后:比如没有遇到的问题--长尾问题,长时间重复学习后,才能学会,没有Zero-Shot的能力。
AI模型算法
下面对典型的基本 AI 模型结构进行类型归纳【25】:
基础模型的典型算子已经被 AI 开发框架和底层 AI 硬件做了较多优化,但是 AI 模型已经不单纯只在算子层面产生变化,其从网络结构,搜索空间等方向演化出如下的新的趋势:
更大的模型:以 Transformer 为基本结构的代表性预训练神经语言模型(Neural Language Model),例如,BERT、GPT-3、LLAMA 等,在自然语言处理和计算机视觉等场景应用越来越广泛。其不断增加的层数和参数量,该模型对底层系统内存管理,分布式训练和硬件设计提出了很大的挑战。
更灵活的结构:图神经网络模型、深度搜索树网模型等算法不断抽象多样且灵活的数据结构(例如图 Graph,树 Tree 等),应对更为复杂的建模需求。进而衍生了新的算子(例如图卷积等)与计算框架(例如图神经网络框架等)。
更稀疏的模型结构:以多专家模型(Mixture of Experts,MoE)和 Pathways 模型结构为代表的模型融合结构,让运行时的 AI 系统执行模型更加动态(Dynamic)和稀疏(Sparse),提升模型的训练效率减少训练代价,支持更多的任务。给系统设计静态分析带来了不小的挑战,同时驱动运用即时编译(Just In Time Compiling)和运行时(Runtime)更加高效的调度与优化。
更大规模的搜索空间:用户定义更大规模的超参数与模型结构搜索空间,通过超参数搜索优化(HPO)与神经网络结构搜索(NAS)自动化找到最优的模型结构。自动化机器学习(AutoML)为代表的训练方式,衍生出多作业执行与多作业(Multi-Jobs)编排优化的系统需求。
更多样的训练方式:扩散模型(Diffusion Model)和深度强化学习(Deep Reinforcement Learning)为代表的算法有比传统训练方式更为复杂的过程。其衍生出训练,推理,数据处理混合部署与协同优化的系统需求。
当然还有软硬结合的算法:具身智能算法和自动驾驶算法。
接下来,笔者会重点阐述以trasfomer架构为主的算法演变及原理。
Transfomer模型算法
深度学习算法都是:通过学习输入的概率分布,形成神经网络潜空间的知识库-包罗万象的概率分布,然后引导输出的概率分布与现实的需求对齐。
一句话:通过概率分布找到事物的各种关系
深度学习RNN模型在自然语言领域的大规模探索和商业化后,人们逐渐发现其致命弱点,导致其学习能力受限--梯度爆炸和消失问题。
比较简单的深层网络如下【26】:
图中是一个四层的全连接网络,假设每一层网络激活后的输出为
其中i为第i层, x代表第i层的输入,也就是第i−1层的输出,f是激活函数,那么,得出
简单记为
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,参数的更新为
给定学习率α,得出
如果要更新第二隐藏层的权值信息,根据链式求导法则,更新梯度信息:
很容易看出来
即第二隐藏层的输入。
所以说, 就是对激活函数进行求导,如果此部分大于1,那么层数增多的时候,最终的求出的梯度更新将以指数形式增加,即发生梯度爆炸,如果此部分小于1,那么随着层数增多,求出的梯度更新信息将会以指数形式衰减,即发生了梯度消失。
总而言之,随着层数增多,链式求导的微积分算法导致的梯度更新求解失控。
如果说从数学上看不够直观的话,下面几个图可以很直观的说明深层网络的梯度问题。
从深层网络角度来讲,不同的层学习的速度差异很大,表现为网络中靠近输出的层学习的情况很好,靠近输入的层学习的很慢,有时甚至训练了很久,前几层的权值和刚开始随机初始化的值差不多。
梯度消失、爆炸,导致了RNN的学习能力受限,从而无法解决长时依赖问题,当预测点与依赖的相关信息距离比较远的时候,就难以学到该相关信息。例如在句子”我是一名中国人,…(省略数十字),我会说中文”,如果我们要预测未尾的“中文”两个字,我们需要上文的“中国人”,或者“中国”。
其根本原因在于反向传播训练法则,本质在于方法问题,而且对于人来说,在大脑的思考机制里是没有反向传播的。
同时在RNN当中,tokens是一个一个被喂给模型的。比如在a3的位置,模型要等a1和a2的信息都处理完成后,才可以生成a3。无法并行计算导致只能接纳有限的上下文。
为了更好地捕捉长距离信息,研究者们想要寻找到一种更强的语言模型方法,由此提出了以 transformer结构为基础的预训练语言模型。
一切源于2017年谷歌Brain团队那篇鼎鼎大名的文章“Attention Is All You Need”(注意力就是你所需要的一切),就是这篇文章提出了Transformer网络结构。
首先,Transformer引入的自注意力机制能够有效捕捉序列信息中长距离依赖关系,相比于以往的RNNs,它在处理长序列时的表现更好。
而自注意力机制的另一个特点是允许模型并行计算,无需RNN一样t步骤的计算必须依赖t-1步骤的结果,因此Transformer结构让模型的计算效率更高,加速训练和推理速度。
Transformer最开始应用于NLP领域的机器翻译任务,但是它的通用性很好,除了NLP领域的其他任务,经过变体,还可以用于视觉领域,如ViT(Vision Transformer)。
我们把模型拆成了各个零件进行学习,最后把这些零件组装成一个标准的Transformer。
最初,Transformer 模型是为机器翻译而设计的。它是一个编码器-解码器结构,其中编码器将原始语言的句子作为输入并生成基于注意力的表征。而解码器关注编码信息并以自回归方式生成翻译的句子,就像 RNN 一样。
“Embedding”直译是嵌入式、嵌入层。作用就是将文字降维至数字,让计算机可计算。
嵌入之前,我们首先tokenize是指将文本分割成称为“tokens”的有意义的片段的过程--可以理解为把句子里的主语、谓语等有意义的单词切割开,每个token单独输入给嵌入层。
简单来说,我们常见的地图就是对于现实地理的Embedding,现实的地理地形的信息其实远远超过三维,但是地图通过颜色和等高线等来最大化表现现实的地理信息。通过它,我们在现实世界里的文字、图片、语言、视频就能转化为计算机能识别、能使用的语言,且转化的过程中信息不丢失。
图:直观的几何表达压缩为:三维图像变压缩成3张二维的图像
假设,我们中文,一共只有10个字,那么我们用0-9就可以表示完【27】。
比如,这十个字就是“小普喜欢星海湾的朋友”,其分别对应“0-9”,如下:
那么,其实我们只用一个列表就能表示所有的对话。例如:
但是中文单词有几十万的,都需要特殊编码,可以经过one-hot编码把上面变成,保持其唯一特殊性:
即:把每一个字都对应成一个十个(样本总数/字总数)元素的数组/列表,其中每一个字都用唯一对应的数组/列表对应,数组/列表的唯一性用1表示。
稀疏矩阵做矩阵计算的时候,只需要把1对应位置的数相乘求和就行。何况这个列表还是一行,如果是100行、1000行或1000列呢?所以,one-hot编码的优势就体现出来了,计算方便快捷、表达能力强。
然而,缺点也随着来了。比如:中文大大小小简体繁体常用不常用有十几万,然后一篇文章100W字,表示成100W X 10W的矩阵???这是它最明显的缺点:过于稀疏时,过度占用资源。比如:其实我们这篇文章,虽然100W字,但是其实我们整合起来,有99W字是重复的,只有1W字是完全不重复的。那我们用100W X 10W的岂不是白白浪费了99W X 10W的矩阵存储空间。那怎么办???这时,Embedding层就出现了!
假设:我们有一个2 x 6的矩阵,然后乘上一个6 x 3的矩阵后,变成了一个2 x 3的矩阵。
这个过程,我们把一个A中的12个元素的矩阵变成C中6个元素的矩阵,直观上,大小是不是缩小了一半,Embedding层,在某种程度上,就是用来降维的,降维的原理就是矩阵乘法。
假如我们有一个100W X10W的矩阵,用它乘上一个10W X 20的矩阵,我们可以把它降到100W X 20,瞬间量级降了10W/20=5000倍。
它就是作为这个桥梁的存在,让我们手头的东西可伸可缩,变成我们希望的样子。
我们的输入除了嵌入层的降维数字信息外,还需要对每一个文字打上数字编码,知道每一个文字的上下文顺序【28】。
在self-attention模型中,输入是一整排的tokens,对于人来说,我们很容易知道tokens的位置信息,比如:
但是这些对于self-attention来说,是无法分辩的信息,因为self-attention的运算是无向的。因为,我们要想办法,把tokens的位置信息,喂给模型。
编码有三大要求:1 绝对位置信息有界限(否则距离大小无限)2 连续 3 不同位置的相对距离可以被转换计算
假设以下句子是我们要翻译的输入句子:
“动物没有过马路,因为它太累了”【29】
这句话中的“它”指的是什么?它是指街道还是动物?这对人类来说是一个简单的问题,但对算法来说却不那么简单, 当模型处理单词“它”时,自注意力允许它将“它”与“动物”联系起来。
当模型处理每个单词(输入序列中的每个位置)时,自注意力允许它查看输入序列中的其他位置以寻找有助于更好地编码该单词的线索。
自注意力机制就是要通过权重矩阵来自发地找到词与词之间的关系
(1)计算框架
Self-Attention的意思是,我们给Attention的输入都来自同一个序列,其计算方式如下【30】: