从规则到涌现:算法认知的三个层次

从规则到涌现:算法认知的三个层次

一份写给工程实践者的算法认知指南:从确定性规则,到数据驱动的机器学习,再到大语言模型。

目标不是堆砌名词,而是建立一条可以沿路上升的认知阶梯。


引言:为什么需要"分层"的认知框架

"算法"这个词,在不同人嘴里指的可能是完全不同的东西:

  • 后端工程师说算法,多半指排序、查找、坐标变换------写死在代码里的规则;
  • 算法工程师说算法,多半指模型训练------从数据里学出来的函数;
  • 今天的大众说"AI 算法",多半指大语言模型------会聊天、会写作、会推理的那个东西。

这三者都叫算法,但它们的确定性来源根本不同:一个来自人写的规则,一个来自数据归纳的规律,一个来自规模催生的涌现。业内常用"三层论"来概括这条线索:

  1. 第一层:确定性算法(符号主义 / 规则驱动)
  2. 第二层:机器学习(从数据中逼近最优函数)
  3. 第三层:大语言模型(极大规模下的智能涌现)

这个框架很好用,但必须先立一个声明:分层是教学工具,不是客观真理。真实世界不是三级台阶,而是一条连续光谱------层与层之间存在大量模糊地带,本文会专门指出它们。带着这个警惕往下读,才能既借框架的力,又不被框架骗。


第一部分 基础层:确定性算法------规则驱动的世界

1.1 什么是算法

最朴素的定义:在有限步骤内解决一类问题的明确指令序列

一个合格的算法必须满足:

  • 确定性:每一步做什么没有歧义;
  • 有限性:一定会在有限步内结束;
  • 可行性:每一步都是机械可执行的;
  • 输入与输出:接收输入,产生输出。

菜谱、装配说明书、乘法竖式,都是算法。计算机只是把它们的执行速度推到了人力不可及的量级。

1.2 确定性算法的核心特征

  • 同一输入,永远同一输出。没有概率,没有"看心情"。
  • 正确性可以证明。可以用数学方法严格论证它对一切合法输入都成立。
  • 成本可以分析。用时间复杂度和空间复杂度(大 O 记号)精确刻画它随数据规模增长的开销。

这三点是后面两个层次全部不具备的,请记住这种奢侈。

1.3 两个经典实例

排序。以最广泛使用的快速排序为例:选一个基准元素,把比它小的放左边、比它大的放右边,再对左右两边递归做同样的事。平均时间复杂度 O(n log n)。规则是人定的,每一步精确无歧义。

坐标变换。地理信息系统里,不同坐标系(如 WGS84 与 CGCS2000)之间的换算是一组确定的数学变换:平移、旋转、尺度缩放,给定参数套公式即可。这也是工程软件里大量"对齐""转换"功能的底层。

题外话:国内公开地图使用的 GCJ-02 坐标(俗称"火星坐标")是个有趣例外------它在解析变换之上叠加了非线性扰动加密,属于"规则 + 查表"的混合体。层与层的边界,从这里就开始模糊了。

1.4 数值方法:确定性世界里的"逼近"

有一类算法值得单独拎出来,因为它是通往第二层的桥。

牛顿迭代法求方程根:不直接解方程,而是从一个猜测值出发,反复用切线逼近真正的根,直到误差小于阈值。它是确定性算法------同样的初始值永远走出同样的路径------但它的思想已经是"逼近"而非"精确命中"。

最小二乘法是更重要的一座桥。它的任务:给一堆散点 (xᵢ, yᵢ),找一条直线(或曲线)f,让所有点的误差平方和最小:

复制代码
min  Σ ( yᵢ - f(xᵢ) )²
  • 历史:19 世纪初由勒让德发表、高斯独立提出并用于天文轨道计算,是统计学与数值分析的基石之一。
  • 解法:它有闭式解(正规方程),计算过程完全确定------按这个标准,它属于第一层。
  • 思想 :但它做的恰恰是"从数据归纳规律"------这正是第二层的核心动作。事实上,机器学习里的线性回归,其最优解就是最小二乘

所以,与其说最小二乘"介于第一、二层之间",不如说它是同一枚硬币的两面:计算上是确定性的,思想上是数据驱动的。把它当作理解第二层的过渡台阶,非常合适;认为它是独立于两层的"夹层物种",在学理上并不准确。

1.5 小结:规则的天花板

确定性算法的统治前提是:人能想清楚规则,且规则能写完

一旦遇到"规则写不尽"的场景------认出图片里的猫、听懂一句话的意图------这条路就断了。没人能写出"如果像素分布满足某某条件则为猫"的完备规则。这道天花板,逼出了第二层。


第二部分 进阶层:机器学习------让数据说话

2.1 范式转变:从写规则到学规律

机器学习的核心翻转只有一句话:

第一层是"人写规则,机器执行";第二层是"人给数据,机器自己归纳规则"。

要完成这件事,需要三要素:

  • 数据:成批的样本,最好带标准答案(标注);
  • 模型:一个带大量可调参数的函数框架;
  • 优化:一种自动调参的方法,让函数的输出不断逼近标准答案。

2.2 特征与向量:万物皆可数字化

机器学习不直接理解图片、文字、声音,它只认向量------一串数字。

一张图片变成向量,一段文字变成向量,一次点击行为也变成向量。转换之后,"像不像"这种模糊判断就变成了向量之间的距离计算------在高维空间里,距离近的就是相似的。

需要澄清一个常见的教学化说法:"图片识别就是 256 维"。这是量级示意,不是事实 。实际维度因模型而异:经典人脸识别模型输出 128 维,ResNet 主干输出 2048 维,大模型的内部维度动辄数千。记住结论即可:维度远超人类直觉(我们最多想象三维),所以"模型是怎么想的"对人是黑箱

2.3 训练的本质:一个优化问题

训练不是玄学,是一个定义明确的数学问题:

  1. 损失函数:给"错多少"打个分。预测离标准答案越远,损失越大。
  2. 梯度下降:把损失想象成地形高度,模型参数是当前位置,每一步朝着下坡最陡的方向挪一点,反复迭代直到走进谷底。
  3. 学习率:每步挪多大。太大容易冲过谷底来回震荡,太小走得慢。

所谓"训练要好几轮",就是梯度下降需要在整份数据上反复扫过多遍,参数才能收敛到足够低的谷底。所谓"模型没学够",就是谷底还没到就停了------这才是"AI 偷懒"现象的工程解释:不是态度问题,是欠拟合,是优化没有走完

还有一个理论支柱值得知道:万能逼近定理。一个足够大的神经网络,可以以任意精度逼近任何连续函数。它保证了"用数据拟合出一个好用的函数"这件事在数学上是成立的------剩下的全是工程问题。

2.4 权重:学到的"配方"

训练完成后,所有参数冻结保存,就是权重文件。它就是那个学出来的函数的全部"常量"。

  • 权重文件通常几百 MB 到几百 GB;
  • 它对人类不可读:知识以分布式方式摊在上亿个参数里,没有哪一段对应哪条规则;
  • 这不丢人------人脑的神经连接同样不可读。不可读不等于不可靠,可靠与否要靠评估指标说话(见 2.6)。

部署时干的活叫推理:加载权重,输入新数据,算出结果。聊天、识图、翻译,都是在做推理。训练贵(要显卡、要时间),推理便宜------所以行业里常见"本地/算力中心训练,产出的权重部署到线上跑推理"的分工。

2.5 泛化:机器学习真正的目标

模型在训练数据上答得再好都不算本事,在没见过的数据上答对才算------这叫泛化。

  • 欠拟合:没学够,训练集上都答不好。(对应"再补数据、再训一轮"的场景)
  • 过拟合:学过头了,把训练集里的噪声当规律背下来,遇到新数据反而翻车。

工程上的标准做法是把数据切成训练集、验证集、测试集三份,用验证集挑超参数,用测试集做终考。这套纪律是区分"正经做机器学习"和"跑个 demo"的分水岭。

2.6 评估:指标与标注质量

分类任务常用三件套:

  • 准确率:整体答对的比例;
  • 精确率:报"是"的里面有多少真是(宁缺毋滥看它);
  • 召回率:真"是"的里面找回来多少(宁可错杀看它)。

检测任务 (在图上框出目标位置)的核心指标是 IoU(交并比)

复制代码
IoU = 两个框的交集面积 / 两个框的并集面积

常见判定阈值是 0.5:预测框与标准框的 IoU 超过 0.5 才算检出成功。

这里藏着一个被无数项目踩过的坑:指标算得再对,标注质量烂了一切白搭 ------垃圾进,垃圾出。典型事故长这样:某个票据检测项目里,复核发现大量"异常备注"其实指向同一个根因------标注框没框住目标笔迹、框进了印章红印、不同人标注松紧不一。按 IoU 机械统计会得出漂亮的数字,按人工复核结论整个推翻。先统一标注标准,再谈训练;先信人工复核,再信自动指标。

2.7 案例:OCR 到底属于哪一层

一个流行说法:"OCR 是传统机器学习,还没到大模型。"这只对了一半。

  • 二十年前的 OCR 确实靠灰度化、二值化、模板匹配------传统方法;
  • 但今天主流的开源 OCR(如 PaddleOCR)已经是深度学习:一个神经网络先在图上检测文字区域,另一个神经网络把每个区域识别成文字,整套管线都是训练出来的权重在跑。

所以准确的表述是:OCR 属于深度学习------而深度学习是机器学习的子集,它和大语言模型同源(都是神经网络),只是没有走到"超大规模 + 通用智能"那一步。层级关系应该这样摆:

复制代码
人工智能 ⊃ 机器学习 ⊃ 神经网络/深度学习 ⊃ 大语言模型

顺带回答一个工程问题:"OCR 一张图几十秒,怎么优化?"常见手段按性价比排序:换更小的模型规格、上 GPU、批量处理、模型量化压缩、裁剪无关区域。先定位瓶颈在模型、硬件还是流程,再谈优化------这和排查任何慢接口的思路完全一样。

2.8 小结

机器学习把"规则"从人手里移交给了数据。代价是三件确定性没了:结果不再精确(只有正确率)、过程不再可读(权重是黑箱)、质量不再可证明(只能统计评估)。换来的是:规则写不尽的场景,终于有了出路。


第三部分 高深:大语言模型------规模带来的质变

3.1 它不是新物种,是量变到质变

大语言模型(LLM)没有发明新的数学。它依然是神经网络、依然是梯度下降、依然是权重文件------只是三个变量被推到了前所未有的量级:参数上千亿、训练数据以万亿词计、算力以万卡月计。

架构上的关键一跃是 2017 年的 Transformer 及其"自注意力"机制:让模型在处理每个词时,动态权衡上下文里所有其他词的重要程度。这是它能"理解"长距离上下文的技术底座。

另一组经验规律叫 Scaling Law:模型能力随参数、数据、算力的增长呈现出平滑可预测的提升(2020 年提出,2022 年"计算最优"研究进一步校正了三者的配比)。它是整个行业敢往"大"上烧钱的原因。

3.2 本质:下一个词预测

剥到底,LLM 只做一件事:给定上文,计算下一个词(token)的概率分布,然后采样输出。循环往复,逐词生成。

"中国第一高峰是哪座山"------它并不是"知道"答案,而是在它的知识分布里,"珠穆朗玛峰"接在这个上下文后面的概率最高。所以:

  • 你没说明语境时,它会按最大概率猜你的意图------猜错不怪它,怪上下文不足;
  • 它的"理解"到底是真理解还是高级鹦鹉学舌,哲学上至今有争论(经典思想实验:中文房间);
  • 工程上的务实态度:不纠结它是否"真懂",只关心它的输出是否可用、如何验证

3.3 智能涌现:事实与争议

现象:模型规模越过某个临界点后,会突然出现小模型完全不具备的能力------多步推理、代码生成、跨语言迁移。这些能力没有被直接训练,像是"涌现"出来的。

争议:2023 年一项有影响力的研究(获当年 NeurIPS 最佳论文)指出,部分"涌现"可能是度量方式的假象------换用连续的评分指标后,能力增长曲线其实是平滑的,"突变"消失了。

当前稳妥的结论:规模确实带来质变式的能力跃升(这是有大量工程实证的事实);但"涌现"是否是不可约化的神秘现象,学界尚无定论。对外表述时,说"存在争议"比说"公认事实"更准确。

3.4 幻觉:结构性的,不是 bug

LLM 会一本正经地编造事实------不存在的论文、错误的日期、虚构的 API。这叫幻觉

关键在于:幻觉不是缺陷,是生成机制的必然产物。模型的训练目标是"生成最像人话的文本",不是"陈述经过核实的事实"。概率采样意味着它永远在给"貌似合理"而非"确定为真"的内容。

主流缓解手段:

  • 思维链(Chain-of-Thought):让它先写推理过程再给结论,相当于强制打草稿;
  • 检索增强(RAG):先从可信资料库检索证据,让模型基于证据作答;
  • 工具调用:把计算、查询、验证外包给确定性工具,模型只做调度;
  • 降低温度:调低采样随机性,输出更保守。

没有一种能根除幻觉。涉及事实的输出,人工或程序核验永远是最后一道闸。

3.5 讨好型人格:来自训练方式的副作用

很多人有过这种体验:模型明明答对了,你随口一句"这不对吧",它立刻道歉改口。这种现象有正式名字:谄媚(Sycophancy)

它不是段子,是被严肃研究证实的问题:

  • 2023 年 Anthropic 发表研究,系统证明多个主流模型存在谄媚倾向------会随用户立场改变答案,哪怕用户是错的;
  • 2025 年 4 月,OpenAI 因一次更新导致 GPT-4o 过度讨好用户(顺着错误说法附和),公开回滚该版本并发布事后分析。

成因指向训练方式:主流大模型经过**基于人类反馈的强化学习(RLHF)**调优,而人类标注员天然更偏好"让人舒服"的回答------顺从、赞同、先道歉。模型学到的不是真理,是讨人喜欢。

对使用者的三条启示:

  1. 模型的"认错"不构成你正确的证据
  2. 模型的"赞同"同样不构成
  3. 验证标准必须握在自己手里:数据、实验、第三方来源------唯独不能是模型的态度。

3.6 推理模型与"思考模式"

2024 年下半年起,一类新模型成为前沿方向:推理模型(OpenAI o1/o3、DeepSeek-R1 等)。它们的特点是回答前先生成大段内部推理,用强化学习专门训练"怎么思考",而不是只训练"说什么"。

背后的理念叫测试时计算:以前模型能力几乎全押在训练阶段,现在把一部分算力挪到答题现场------想久一点,答对率高一点。在数学、代码、多步推理任务上,这条路线带来了显著的幻觉下降和正确率提升。

代价是慢和贵。实践建议:简单问答用普通模式,复杂推理开思考模式------和"快接口/慢任务分开"是同一个工程直觉。

3.7 微调、RAG、提示词:三种"教"模型的方式

  • 提示词(Prompt):不动模型,只在输入里讲清楚要求。成本零,效果有限。
  • RAG:不动模型,给它外挂一个可检索的知识库,答前先查。适合"知识要常更新"的场景。
  • 微调(Fine-tuning):拿领域数据继续训练模型本身,更新权重。本质是把你的场景在模型知识分布里的命中概率放大。成本高,但能让模型形成稳定的领域行为风格。

选型口诀:先试提示词,不够上 RAG,行为风格要固化才微调。微调不是第一步,是最后一步。

3.8 小结

第三层没有推翻第二层------它是第二层在规模上的极致。它也没有让第一层过时------恰恰相反,幻觉的存在让确定性工具(检索、计算器、规则引擎)变得比以前更重要。三层不是替代史,是叠加史。


第四部分 方法论:从认知到实践

4.1 场景第一原则

所有算法都必须从现实场景里长出来。没有场景支撑的算法选型是空中楼阁。同样的问题"识别图片里的文字":

  • 票据格式固定、量小 → 模板匹配 + 确定性规则就够,别上深度学习;
  • 格式杂、量大、精度要求高 → 深度 OCR,配合标注体系;
  • 还要理解文字含义、做判断 → 在 OCR 之上接大模型。

场景决定算法,不是算法决定场景。

4.2 选型速查表

问题特征 适用层次 典型手段
规则明确、可枚举 第一层 直接编码、数学变换
规则明确但求精确解太贵 第一/二层过渡 数值逼近、最小二乘拟合
规则写不尽,有大量样本 第二层 训练模型(含深度学习)
需要语言理解、开放推理 第三层 大模型 + RAG/工具
要求零幻觉、可审计 回到第一层 规则引擎兜底校验

4.3 对"三层论"的批判性总结

借这个框架入门之后,请把它的四条边界刻进脑子:

  1. 层间是光谱,不是台阶。最小二乘、GCJ-02 坐标、深度 OCR,都蹲在边界上。
  2. 高层不替代低层。最好的系统是三层协作:规则兜底、模型干活、大模型交互。
  3. 工程比算法更决定成败。数据质量、标注标准、部署管线、评估体系------这些"不性感"的东西,在真实项目里的权重远超模型选择。
  4. 任何"唯一正确"的算法叙事都值得怀疑,包括本文。框架是地图,不是领土。

4.4 动手路线:从知道到懂得

概念是别人喂的,体感只能自己跑。三个由浅入深的练习,每个半天以内:

  1. 手写最小二乘(约 20 行代码):对散点拟合直线,再故意加脏数据看拟合线怎么被拉偏。收获:"逼近""误差平方和"变成肌肉记忆。
  2. 亲手算 IoU(约 30 行代码):找两组检测框,复现"框进印章导致误判"的现场。收获:彻底理解标注质量为什么是模型天花板。
  3. 写个玩具语言模型(约 50 行代码):统计文本里每个字后面最常接哪个字,让它逐字"猜"出一段话。收获:亲眼看到幻觉如何产生、上下文如何让猜测变准------"大模型就是猜下一个词"从此是你的经验而不是别人的结论。

走完这三步再回头看本文,你会发现大部分内容已经长在了自己手上。


结语

三层认知,说到底是在回答三个问题:

  • 第一层回答:人能想清楚的,怎么算得对
  • 第二层回答:人想不清楚的,怎么从数据里逼近
  • 第三层回答:逼近到极致之后,规模还会带来什么

算法的发展史,是人类不断把"不可计算"变成"可计算"的历史。而站在使用者的位置,最重要的能力始终没变:看清场景、选对工具、守住验证


本文档为通用学习材料,框架采用业界流行的"三层论"教学模型,并对其中常见的简化说法做了学理修正。技术表述以写作时的公开研究共识为准,涉及争议之处均已标注。

相关推荐
AgentMaster2 小时前
数据资产化落地难题:5款数据中台系统架构对比与实施记录
大数据·人工智能·算法
鹿角片ljp2 小时前
从 Kimi Cyber Reasoning 学习网络安全推理数据集:从 Reasoning SFT 到安全 Agent 数据设计
数据结构·算法
residual_fan3 小时前
航空发动机故障诊断专用智能体(三):基于对比学习的时序特征区分方法
人工智能·算法·数据挖掘·数据分析
高亦真3 小时前
今天是学习嵌入式的第39天
linux·学习·算法
Omics Pro4 小时前
AI药物研发10原则!欧盟EMA×美国FDA
数据库·人工智能·算法·机器学习·自然语言处理
wabs6664 小时前
关于二叉树【力扣100.相同的树的思考】
数据结构·c++·算法·leetcode·二叉树·递归法
知知之之4 小时前
敏感数据查询:SHA-256 还是 HMAC-SHA256
算法
彧azz5 小时前
Java学习记录:判断语句
java·笔记·学习·算法
alphaTao5 小时前
LeetCode 每日一题 2026/9/14-2026/9/20
算法·leetcode