slug
type
status
date
summary
tags
category
icon
password
 

人工智能最开始是分为两种类型

一种是符号主义,一种是联结主义
符号主义是纯靠逻辑代数推导的,比如,1+1=2这套代数理论和你在路上遇到一条狗,它朝你叫,然后,你预测如果下次遇到一条狗,它还是有可能朝你叫,符号主义的一大特点是知道很多前提条件和规则。
联结主义,认为人的只能是通过成千上万的神经元相互连接,通过调整权重来得到结果,不需要设置规则,通过大量样本经历和反馈,你就可以总结出一种对应模式,个人认为,后者更接近人真实学习的方式。
 
点爆联结主义的是一个本书《并行分布式处理》(PDP)
1980年代出版了《分布式并行处理:认知微观结构的探索》第一卷(基础)及第二卷(心理和生物学模型),作者为詹姆斯·L·麦克莱兰德 ,戴维·E·鲁梅尔哈特和PDP研究小组PDP才开始流行联结主义 Connectionism
 

人类智能的三大支柱

抽象关系

(我们的大脑能表示变量之间的抽象关系,简单来说,就是我们可以理解和使用规则,比如,让动词变成过去式,verb +ed 也就是说verb为一个变量,然后我们带入任何动词,walk,jump,move,这个规则依旧成立)

递归结构

(我们大脑拥有递归的、结构化的表示系统,“桌子上的书”和“书上的桌子”,虽然用词一样,但是它们传递出了完全不同的含义,我们的大脑不是简单地堆砌一堆词,而是会处理它们之间地关系)

个体与种类

(我们知道狗和你家的旺财都是不同的东西,但是它们都是狗,这对于机器来说,它们是难以区分的)
 

自由泛化问题讨论

为什么要给大模型喂那么多数据,它才会懂呢
思想实验,一个系统输入1100,输出1100,再输入1010,输出1010,然后请问输入1111是什么
 
我大概率你会猜1111,因为,你估计这是一个y=x的函数(function),但是如果输入给大模型呢
它很可能会给你一个1110的结果,因为它发现,上面的数据,尾数都是0,结果它就是没有学习到整个系统的精髓,它只学了一个表面,就是它会还停留在背记的层面,而没有真正去理解整个题目背后的公式到底是什么。
人类天生擅长找公式(但是如果你不擅长,也不代表你就不是人类了哈)
 
我们大脑中有双轨制的模块,回到动词的例子,有规则变化的,也就是大一统的,也有不规则的,也就是特殊的,人类大脑会两个模式同时运行
 

Chatgpt的本质

本质就是在我们看不见的一个高维的意义空间中顺着一条语义最通顺的轨迹散步
 
当前的人工智能简单来说更像是模式匹配,transformer架构更像是一个词语接龙的游戏,它通过前面说的话,来不断推测出下一个最有可能的字,可是,如果每次都是最有可能的单词,这样的文本输出是十分无趣的,我们通过一个叫做温度temperature的东西来进行调节,如果温度越高,它的输出就可能不是最可能的,也就是所谓的它会更加天马行空,发散一些,由此,这就是目前大语言模型的核心。
 
展开文字接龙游戏,
比如你问,“您好,我是一个方圆脸,我现在要换换我的造型,我应该换一个什么样的发型会比较好?”
你按下回车,发送给chat老师,他开始发力,但是他在干什么呢,你以为他在思考吗?no,他在回忆,从喂过他的那万万亿级别的资料(记忆)中开始搜索,在人类的语言中,当前面我的这句话出现之后,下一个最有可能出现的词是什么呢?
然后,他拆解出关键信息:
  • 打招呼 → “您好”
  • 描述特征 → “方圆脸”
  • 表达需求 → “换造型”
  • 提问 → “推荐合适的发型”
ok,他会开始总结,那么按照人的思维来说,对方问好了,我要回礼。它会直接列个概率
概率
说明
您好
14%
常见回答开头“您好,我…”
请问
11%
“请问你要”
很高兴
9%
礼貌开场
感谢
7%
“感谢您的…”
欢迎
6%
“欢迎来到…”
然后,他发现,您好,这个词的概率是最大的,选他(当然,具体情况当中不止选概率最大的这一种方式哦,这里只是举个例子,但他们都是要从很多可能的词中,挑选一个出来),然后输出,“您好、、、”于是,这个词语(token)接龙游戏成功开始
 
也就是说,他完全没有在理解,他就是在做统计和预测
但当然,如果这要是个纯概率统计的事情,那么20个单词组成的句子,可能的结果会比宇宙粒子总是还要多,也是我们引入一个概念,模型(model)
简单理解,这是一钟“举一反三”的工具,它不需要看过所有的句子,而是在通过我们人类给它喂过足够多的例子之后,它就可以从中总结出一套“生成概率的规则”,也就引出了我们当前超级火热的概念,神经网络,它就是一个模型。
 
在讲神经网络之前,我们需要先来讲讲最简单最基础的一种神经网络模型,大名鼎鼎的多层感知机

典型神经网络架构 mutilayer perceptron 多层感知机(mlp)

notion image
细化一下哈
大模型是无法像人类一样直接读懂任何一张照片的,因为底层来说,大模型是跑在计算机上的,计算机底层是0和1的模拟信号,所以大模型也一样,只能看懂数字。
即输入的这些图片,它会通过一些处理,把它变成一个彩色图(RGB),简单来说,如果你对摄影有研究的话,最开始的彩色图片就是由红绿蓝的相纸叠一起做成的,红也有区分,深红,浅红,中等红,然后把三张纸压在一起就变成了一张彩色照片,这个在计算机上也是一样的道理,这样他就转换成了只有不同程度的像素点(数字),一张照片就是一个数字矩阵,但是为了方便计算会把它们拉成一维向量,也就是一串数字,而不是一个二维的矩阵,那么这个时候我们就可以输入给大模型他就可以进行一个区分或者是识别了。
总结一下,也就是说这些小猫小狗小动物们的照片,就以向量的形式输入给了输入层。
 
那么这个时候我们就来到了隐藏层,隐藏层通过多次的加权求和来进行激活,
一句话就是,每一层的神经元都会对上一层传来的所有数字,进行一次加权求和。算出来的结果,再传给下一层。就这么一层一层地传递下去,像多米诺骨牌一样。
 
想深挖下的看下面的公式,核心公式是以下这个,每个神经元的计算方法,认为难的可以直接跳过
💡
为什么下面有求和符号,但是说的却是对每个神经元的计算呢?
每个神经元不是只接收一个输入,而是接收前一层的所有输入,所以计算量相当恐怖
想象一个“加权投票”的场景:
  • x_i = 每个同学的意见(输入)
  • w_ji = 每个同学的投票权重(老师更看重谁)
  • b_j = 老师自己带来的偏好(偏置)
  • 把所有意见加权相加 → 得到 z_j
(这里就不说激活函数的问题哈,减少大家的理解负担,激活函数部分在下面的AI文艺复兴故事中有提一嘴)
 
此时,输出层有四个神经元,分别代表小猪小猫小马小狗
隐藏层也吭哧吭哧地推导了最后一层,输出层,然后每个神经元会有一个数值,或者说是概率,哪个大最后就选谁。
 
这也就是一个最基本的多层感知机(无激活函数)的全过程,当然最原始的就是单层感知机,就是隐藏层只有一层,所以这个的话,就让我无法讲上面的这个例子,或者说神经网络就被讲的太简单了。
 
然而,最开始的单层感知机或者说纯多层感知机被疯狂抨击,很多人说这玩意根本没什么用
虽然SLP(Single-Layer Perceptron)给联结主义带来了短暂的兴奋,但随后也因为有人发现SLP连非线性问题都解决不了,而迎来一波大寒潮。
 

联结主义上世纪的兴起与AI Winter(AI寒冬),再到联结主义的文艺复兴故事

再先聊聊s/mlp自己的故事,
单层感知机的局限性
  • 最早的 感知机 (Perceptron) 是 Frank Rosenblatt 在 1958 年提出的。
  • 它可以处理 线性可分 的任务,比如 AND、OR。
  • 但是它 不能解决线性不可分的问题(也就是不能解决非线性问题,这个世界是十分复杂的,很多问题都是非线性的) —— 最经典的就是 XOR(异或)exclusive OR = “两者不同为真”,通俗说:如果两个值相同 → 输出 0,不同 → 输出 1。
XOR线性不可分问题为什么要命,举例子说明

先看 AND、OR

假设输入是二维 (x1, x2),取值是 0 或 1。

(1) AND

  • 输入/输出:
    • 分布:只有右上角 (1,1) 是正类,其他都是负类。
    • 我们可以用一条线(比如 x1 + x2 > 1.5)把 (1,1) 单独分出来。
      • 所以 AND 线性可分。

    (2) OR

    • 输入/输出:
      • 分布:只有左下角 (0,0) 是负类,其它都是正类。
      • 一条直线(比如 x1 + x2 > 0.5)就能把 (0,0) 单独分出来。
        • 所以 OR 线性可分。

      3. 再看 XOR

      • 输入/输出:
        • 分布:对角线上 (0,0) 和 (1,1) 属于一类(0),而 (0,1)、(1,0) 属于另一类(1)。
        • 问题:无论怎么画一条直线,都不可能同时把这两对点分开,因为它们交错在对角线上。
        • 这就是 线性不可分
          • 需要更复杂的边界(比如曲线、分段直线,或者增加一个隐藏层做特征变换)才能分开。

        4. 直观类比

        • AND / OR:像一堆点聚在角落,拉条直线就能分。
        • XOR:像“棋盘格”,你要把黑格子和白格子分开,一条直线肯定不行,要用更复杂的边界。
        1969 年,Minsky 和 Papert 出了一本书 Perceptrons,明确证明了感知机无法表示 XOR。
        为什么说如果连这个问题都解决不了就证明它是个废物呢?
        因为 XOR(异或) 在逻辑里是非常基础的运算,如果连这个都搞不定,那意味着感知机的表达能力非常有限。
         
        诸位专家们看到了这样的结果,都表示十分失望,随后为期小二十年的AI寒冬降临,准确的说是,神经网络这条路被基本弄倒,没人做了。
         
        但是,转机也出现了,
        后来研究发现:如果把感知机堆成多层,再加上非线性激活函数,就能表示XOR了。
        1970s:Paul Werbos 在博士论文里提出了反向传播(Backpropagation)的思想,但nobody cares。
        让联结主义派人士重获自信的时刻,1986 年:Rumelhart、Hinton、Williams 把反向传播推广开来,并成功用它训练了多层感知机,解决了 XOR。
        💡
        多层感知机 (MLP):有隐藏层 + 非线性激活,就能表示 XOR,甚至能逼近任意函数 → 变得“无所不能”。
        结果证明:MLP 可以近似任意连续函数(万能逼近定理,Cybenko 1989)。
         
        然后随着算力的提升,游戏人推动了显卡的进步,并行计算能力大涨;世界进入互联网时代,大把大把的数据涌现出来;更复杂,更牛逼的神经网络模型被提出。
        三者合力,2022年11月30日OpenAI发布了ChatGPT(基于 GPT-3.5 的对话系统),这是第一次把 GPT 以“聊天机器人”的形式面向公众,召唤神龙出场,AI热再次爆发。
         
         
        💡
        前面通过前向传播,我们已经能够让这个网络最终选择一个图片点亮了,但是这肯定没有达到我们能够使用的要求,因为我如果给你小猫图片,然后最后你点亮了小狗的神经元,结果就是你说,这张图片是张小狗图,你肯定是不买账的。
        再联系上面说的小历史,说隐藏层单层变多层+非线性激活函数,就可以解决不能表示非线性问题,再加上反向传播,模型就可以真正学会如何识别小猫啦!

        激活函数

        在神经网络里,一个神经元先做加权求和:
        如果直接把 z_j 当输出,那整个网络就只是在做“线性叠加”。不管叠多少层,最后还是一条直线,无法表达复杂关系(比如 XOR)。
        所以要对它做一个函数变换 → 这就是激活函数 (activation function)

        为什么要“非线性”

        • 线性函数(比如 f(x)=x) → 没意义,叠几层还是等于一层。
        • 非线性函数(比如 sigmoid、ReLU、tanh) → 能弯折直线,让模型具备“分割曲线”的能力。
        这样才可以处理 线性不可分问题,比如 XOR。

        一个直观类比

        你可以把激活函数理解成:
        • 线性函数:像一根直直的铁丝,怎么折叠都是直的 → 没变化。
        • 非线性激活函数:像橡皮筋,可以弯曲、扭转 → 就能形成更复杂的形状。
         

        反向传播

        反向传播,简单来说,像是学生做题,老师给他一个目标答案,但是只能在最后的时候看,等到他网络输出结果出来,对答案,然后比较,如果他发现自己的答案,跟老师的答案有差距,机器学习中成为偏差(或者残差)
        于是,学生开始反思,从答案开始,一层层反向看,找原因,修改自己的笔记(修改笔记的过程就是在网络中调整那些连接的权重)
        如果你一直反复这个反思的过程,我们的网络输出跟目标输出差距越来越小,那不就相当于这个网络“学会”了。
        当我们认为这个模型训练好啦,也就是在测试的时候,目标答案和网络输出答案基本一致,那么,我们就可以投入使用,也就是我们跟chatgpt交互的模式,你提问问题,它给你答案,然后你觉得它给的答案都还不错。
        好处:不需要提前制定许多规则和条件,只要你给他够多的数据和反馈,它就学习到整个的输出规律,说实话这更类似于人类的学习方式
         
        数学层面的感觉还是有些小难,后续催更的人多,我就补下,哈哈哈
         
        这个过程,就像在一个有着无数山谷和山峰的复杂地形上找最低点。每一次调整权重,都相当于朝着"山坡最陡峭"的方向挪一小步—-这就是梯度下降。
        强烈建议大家去读一下我的这篇博客和这本书(链接有这本书的资源,点击下载就好,拿走不谢),真的很好,看完我相信你就能从较为哲学和底层的角度去看不光梯度下降这件事,也能对解决复杂问题有新的认知和启发。
         

        Chatgpt运作原理大揭秘

        激动人心的部分终于到了,前面铺垫了这么多,咱们来看看Chat老师是咋运作的。
        问题出现了,文字比小猫小狗,数字12345…这些东西更难去喂给模型了,它不是形式化表示的数字,而是符号化的内容。

        天才想法出现了,Word Ebbedding(词嵌入)

        简单来说,还是好理解,把每个词都转换成一个向量,这样不就把文字形式化统一了吗?
        它就把每个词都作为在“意义空间”中的坐标
        类似这样的数组,
        [0.128, -0.374, 0.562, -0.941, 0.217, 0.003, 0.845, -0.223, 0.679, -0.557, -0.104, 0.336, 0.492, -0.789, 0.110, 0.427, -0.658, 0.905, -0.312, 0.244, 0.199, -0.482, 0.731, -0.050, 0.617, -0.391, 0.452, -0.129, 0.780, -0.645, 0.282, 0.001, -0.505, 0.933, -0.112, 0.348, -0.297, 0.564, -0.840, 0.275, 0.631, -0.451, 0.092, 0.703, -0.220, 0.149, 0.598, -0.377, 0.856, -0.429]
        这只是一个50维的数组,一个向量,是不是已经长相很恐怖了,但真实模型常用768维、1024 维、甚至4096维。 通过海量文本的训练,大模型阅读了各种上下文就会发现,边牧和金毛从语境位置或者文本同时出现频率上会高一些,那么自然它们的关系就会比较近一些,而边牧与虎皮鹦鹉的关系就会远一些。

        向量运算

        最神奇的事情出现了,词语之间的关系居然可以用向量的加减法来表示
         

        一句话总结

        ChatGPT生成文本的过程,本质上,就是在那个我们在一个超高维度的"意义空间"里,沿着一条"语义上最通顺"的轨迹"散步"。而它的每一步,都迈向下一个概率最高的点。
         

        Transformer架构到底伟大在哪里

        transformer架构最牛的点在于发明了“注意力机制”,经典论文大家可以去读读哈《attention is all you need》。
         
        简单来说,我们人在读一个长句子的时候,注意力也不是平均分配的。比如这个句子:
        “我昨晚在图书馆里借了一本厚厚的《人工智能简史》,它放在计算机科学书架的最上层。”
        当读到“它”的时候,你的大脑几乎不会想去指代“书架”,而是立刻把注意力放回到前面提到的“《人工智能简史》”上。
        这个例子说明:注意力并不是均匀分布在“图书馆 / 书架 / 厚厚的”这些词上;而是优先抓住与上下文逻辑相关的关键对象(“书”)。
        解决了早期模型的一大痛点,分不清大小王,把每个词都当成差不多重要,结果一旦句子很长,就容易“忘记”前面提到的内容。注意力机制能给前面出现过的所有词分配“注意力权重”,相关性高的词权重更高。也是Chat老师具备了强大的长文本理解与生成能力,可以记住并利用很之前对话的内容。
         

        对齐,强化学习

        很多大的AI公司都有自己的对齐团队,而对齐对于大模型来说,指的就是让人工智能更加符合正常人类的意图、价值观和倾向,而不是每次一堆话让你感觉网线那头坐着敲键盘的是希特勒本勒。
        而大的公司具体是怎么做呢,就是找一堆人,然后人工去评价到底哪条回的是更好的,这样大模型就可以通过不断的反馈,知道我们人类需要什么样的答案,Chat老师就可以变得十分正常了。
         
        未完,待续…
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
        大模型“不确定性”的真相:不是温度而已,关键在 batch invarianceHinton采访 24.6.27
        Loading...
        盛溪
        盛溪
        盛溪的学习&生活博客
        Announcement
        🌟 欢迎来到盛溪的博客!🌟
        大家好,我是盛溪。在这里,我将分享我的生活感悟、学习心得以及其他一些有趣的发现。希望我的文章能为你的生活带来一点启发和乐趣。
        📅 更新通知:
        • 我会定期更新博客,分享新的内容。你可以通过RSS订阅或关注我的社交媒体账号来及时获取更新通知。
        💬 互动环节:
        • 如果你有任何问题或想法,欢迎在评论区留言。我非常期待与你的互动!
        📚 推荐阅读:
        • 不定期推荐一些我觉得有价值的书籍或资源,希望能对你有所帮助。
        感谢你的访问和支持,希望你能常来逛逛!
        盛溪敬上