首页 › programming › 它不思考只加权:神经网络就是函数拟合

它不思考只加权:神经网络就是函数拟合

导语

如果你对"神经网络""深度学习"还停留在"模仿人脑的黑魔法"这种印象上,那么 3Blue1Brown 的这支视频是你能找到的最值得花 18 分钟的入门材料。它不堆术语、不画饼,而是把一个能识别手写数字的神经网络彻底拆开给你看——你会发现里面没有任何"思考",只有一件事:加权求和,再把结果压扁。

这支视频的价值在于它做了一件大多数教程故意跳过的事:让你看清这个盒子里到底在算什么。一旦你看懂了正向传播(forward pass),就会发现所谓的"智能"全部藏在一万三千多个数字(权重和偏置)里;模型不是别的,就是这堆数字;而"训练"模型,本质上就是在一万三千多维的空间里找对一组数字。这套理解一旦建立,后面 PyTorch 里那一行 nn.Linear、Transformer 里的 Attention、甚至 GPT 之所以"会说话",全都变成同一件事的不同规模——这一点,正是很多从业者做了好几年工程都没真正厘清的底层认知。下面,我把这支视频的核心拆给你看,并补上视频没明说、但你作为开发者真正需要的延伸。

视频背景卡片

项目 内容
视频标题 But what is a neural network? | Chapter 1, Deep learning
频道 3Blue1Brown(Grant Sanderson)
时长 约 18 分钟
播放量 2000 万+(同类科普视频天花板级)
发布日期 2017-10-05(神经网络科普的"教科书级"经典)
核心主题 一个识别手写数字的神经网络,里面到底在算什么

说明:本轮联网检索工具受限(详见文末),无法定位 2026 年本周新片,故选择该领域公认最权威、播放量最高的经典长视频做深度解读,发布日期如实标注。

核心内容拆解

要点一:神经元不是会思考的细胞,它只是一个"被压扁的加权和"

视频一开始就用一个极具杀伤力的类比把"神经元"去神秘化了:在网络里,一个神经元装着一个 0 到 1 之间的数字,叫激活值(activation)。它怎么得到这个数字?把上一层所有神经元的激活值,各自乘上一个权重(weight),全部加起来,再加一个偏置(bias),最后用一个激活函数(activation function)把结果"压扁"到 0–1 区间。

用一行话讲:a = σ(w₁·a₁ + w₂·a₂ + … + b)。视频里用的激活函数是 sigmoid,图像是个 S 形,作用就是"加权和很大就输出接近 1、很小就接近 0"。就这。没有推理、没有顿悟、没有意识——每一个神经元本质上就是一个带阈值的加权投票器。

我的延伸:很多 AI 焦虑和玄学讨论,根源都在"神经元""神经网络"这种生物学比喻太强。一旦你把它换名叫"带权求和再过非线性函数的单元",整个领域的神秘感会瞬间塌掉一大半——这对工程师是好事,因为可计算、可调试的东西才可工程化。

要点二:784→16→16→10,认出你的字只要约 13000 个参数

视频用 MNIST 手写数字数据集做例子:每张图是 28×28=784 个像素,每个像素的灰度归一化到 0–1。于是输入层就是 784 个神经元,每个对应一个像素。中间放两个隐藏层,各 16 个神经元;输出层 10 个神经元,分别代表数字 0–9。哪个输出神经元的激活值最大,网络就"认为"这是哪个数字。

视频特意算了总参数量,这个动作非常关键: - 第一层:784×16 个权重 + 16 个偏置 = 12560 - 第二层:16×16 + 16 = 272 - 第三层:16×10 + 10 = 170 - 合计 ≈ 13002 个参数

视频原话大意:"整个网络的行为,完全由这大约一万三千个权重和偏置决定。" 我的延伸:把这个数字记牢——13000 个浮点数,就足以读懂你的手写字。而今天动辄数百亿参数的大模型,本质上是同一件事的暴力放大版。规模变了,"行为 = 参数"这件事根本没变。理解这一点,你就不会再被"千亿参数"这种数字吓到,而会去问更本质的问题:这些参数在拟合什么函数。

要点三:权重是"这条连接有多重要",偏置是"门槛多高才点亮"

视频对权重和偏置的直觉解释是全片最精彩的部分之一。它让你想象:如果想让第二层的某个神经元去"检测左上方的竖线边缘",那它就应该给那些对应左上竖线像素的连接赋大权重,给其它像素赋小或负权重,再设一个偏置作为"门槛"——只有当加权和足够大时这个神经元才被点亮。

换句话说,权重编码的是"关注哪里",偏置编码的是"多确定才算数"。而视频也很诚实地指出:这只是一个"希望"——我们并不能保证网络真的会学出"边缘检测器"这样的可解释单元,实际中隐藏层到底在算什么,往往没人说得清。

我的延伸:这种"希望它学出可解释特征、但实际常常学出鬼知道什么"的张力,正是后来可解释性(interpretability)研究整个领域的起点。了解这一点,你就能理解为什么 2024–2026 年那么多人盯着一堆"特征电路(circuits)""叠加(superposition)"去反向扒模型——他们本质上是在回答视频里埋下的这个问题:隐藏层那 16 个神经元,到底在代表什么。

要点四:激活函数为什么必须"压扁"?没有非线性,再多层也只是一层

视频用 sigmoid 把信号压到 0–1。但为什么要压?这里视频点到为止,我帮你补全这个对程序员最关键的数学直觉:如果没有非线性激活函数,多层线性变换叠起来,等价于一个单层线性变换(线性代数里矩阵相乘还是矩阵)。也就是说,压扁这一步(引入非线性),是"层数变深才有意义"的唯一原因——少了它,你堆 100 层也白搭,数学上塌成一层。

我的延伸:实践中现在几乎没人用 sigmoid 做隐藏层了,主流是 ReLU(负数变 0、正数不变),因为它计算便宜、又缓解梯度消失。但无论 sigmoid 还是 ReLU,核心作用相同:制造非线性。一个工程上的副作用是:ReLU 会"杀死"所有负信号(直接归零),这也催生了 Leaky ReLU、GELU 等变体。如果你看 PyTorch 源码,ReLU 就是 max(0, x) 一行——大道至简。

要点五:"学习"= 在一万三千多维空间里找对一组数

这是全片承上启下的核心论点,也是它和后续 Chapter 2/3(梯度下降、反向传播)的衔接点。视频明确告诉你:网络的结构是固定的(784-16-16-10),真正决定它能不能认字的是那一万三千多个数字。所以"训练一个模型"翻译成数学语言,就是——在一个约 13000 维的参数空间里,找一个让"识别错误率"最小的点。

这是一个巨大的认知重构。很多人以为"AI 模型"是个会推理的实体;但站在数学角度,模型 = 一组参数,训练 = 优化,输入→输出就是一次函数求值。视频把这个反差讲得极透彻:所谓"智能涌现",在最底层就是一坨加权求和在拟合一个非常复杂、但确定性的函数。

我的延伸:把这一点内化后,你看待 LLM 就脱敏了。GPT 不"理解"语言,它是在用海量参数拟合"给定上文,下一个 token 的概率分布"这个函数。AGI 之争、意识之争都可以暂放,作为工程师你该关心的是:这个函数的输入输出是什么、参数怎么来的、推理时算力花在哪。这正是本系列前几轮讲到的"分词""Agent 烧 Token""矩阵乘法"能串起来的原因——它们都是同一个函数引擎的不同侧面。

要点六:"神经元"是个糟糕的名字——它其实是函数拟合

视频虽然用"神经元"来讲,但 Grant 的潜台词(也是数学界的共识)是:这套东西更准确的描述是函数拟合 / 函数逼近(function approximation)。网络本质上是在构造一个参数化的函数 f(x),把 784 维输入映射到 10 维输出,然后调整参数让它尽量贴合训练数据。这跟"脑科学"其实关系不大,神经科学界对生物神经元的研究早就指出:真实神经元的放电、树突计算、时间编码,比这个"加权求和"模型复杂得多。

我的延伸:这正是万能逼近定理(Universal Approximation Theorem,Cybenko 1989 / Hornik 1991) 的精神——只要有一个足够宽的隐藏层 + 非线性激活,理论上就能逼近任意连续函数。所以神经网络不是"魔法",它是一个足够灵活的函数族 + 一个找参数的算法(梯度下降)。记住这两个组件,你就抓住了深度学习的全部地基。

要点七:同一套骨架,认字、翻译、写文章都是它

视频结尾埋下伏笔:今天能做机器翻译、能下棋、能生成图像的模型,骨干结构其实和这个认数字的网络同源——都是"加权求和 + 非线性激活"层层堆叠,只不过规模、连接方式和参数量天差地别。CNN 加了"局部连接+权值共享"来处理图像,Transformer 加了"注意力"来处理序列,但底层每一次计算,仍是那行 σ(W·a + b) 的变体。

我的延伸:这是本片给开发者最值钱的一个心智模型——架构在变,算子不变。一旦你把"加权求和 + 非线性"当成基本粒子,再去读任何新论文(MoE、Diffusion、SSM/Mamba),你都会自动分解成两步问:(1) 它的"加权"是怎么组织的?(2) 它的"非线性/变换"长什么样?这种降维打击式的理解,是看一千篇营销文都换不来的。

知识结构图

flowchart TD
    A["输入层: 784 神经元<br/>= 28×28 像素灰度"] --> B["隐藏层1: 16 神经元<br/>(希望学到'边缘')"]
    B --> C["隐藏层2: 16 神经元<br/>(希望学到'笔画/圈')"]
    C --> D["输出层: 10 神经元<br/>谁最大就是哪个数字"]

    subgraph M["单个神经元的计算(正向传播)"]
        M1["上一层的激活值 a"] --> M2["加权: ×权重 w"]
        M2 --> M3["求和 + 偏置 b"]
        M3 --> M4["压扁: 激活函数 σ/ReLU"]
        M4 --> M5["输出本层激活值"]
    end

    B -.-> M
    C -.-> M

    subgraph L["训练的本质 = 找参数"]
        L1["结构固定 784-16-16-10"] --> L2["≈13000 个<br/>权重+偏置 待定"]
        L2 --> L3["梯度下降<br/>在 ~13000 维空间<br/>找最优解"]
        L3 --> L4["行为 = 参数<br/>模型就是这堆数"]
    end

    D -.-> L

    style A fill:#e3f2fd,stroke:#1565c0
    style D fill:#e8f5e9,stroke:#2e7d32
    style M5 fill:#fff3e0,stroke:#ef6c00
    style L4 fill:#fce4ec,stroke:#c62828

实战启示:给开发者的行动指南

第一,把神经网络当"可微程序"来读代码。 当你打开任何 PyTorch / TensorFlow 代码,看到 nn.Linear(784, 16),请立刻在脑子里翻译成视频里那一步:它就是定义了一组权重 W 和偏置 b,前向时做 W·x + b。ReLU() 就是 max(0, x)。整个网络不过是一连串这样的算子串起来。养成这个"读代码即读数学"的习惯,你看任何模型架构都不会犯怵。

第二,调试模型的起点是"算子"和"参数",不是玄学。 模型不收敛?别先怀疑"数据不够聪明",先确认:(1) 输入是否归一化到合理范围;(2) 激活函数选对没有(深层网络慎用 sigmoid,会梯度消失);(3) 权重初始化是否合理。这些都是从"行为=参数"这条原理直接派生出来的工程检查项。大部分玄学 bug,本质是这 13000 个数没被优化器带到一个好位置。

第三,建立"规模换本质"的免疫力。 当你下次看到某公司吹"万亿参数""百倍性能",用本片的框架追问:它的输入输出函数是什么?算子是不是还是加权求和+非线性?参数增加换来了什么(容量、精度、还是过拟合)?这种追问能让你在 AI 营销浪潮里保持清醒——本系列早前那篇"只改一成吹成八倍:科技公司全靠造参数",其实就是同一个底层认知的延伸。

第四,为理解更高级主题铺路。 这支视频(Chapter 1)讲的是正向传播——给定参数,输入怎么变成输出。要真正入门,你还需要 Chapter 2(梯度下降)和 Chapter 3(反向传播)——即参数是怎么被找到的。把这三章连起来,你就拥有了从零理解任何深度学习论文的底座,包括 Transformer、Diffusion、强化学习。先吃透正向传播,是性价比最高的一步。

延伸学习路径

  1. 3Blue1Brown《Deep Learning》全 4 章(YouTube 系列)——本视频是第一章,后续章节讲梯度下降、反向传播与反向传播的直觉,强烈建议连看。
  2. Michael Nielsen《Neural Networks and Deep Learning》(在线免费书 neuralnetworksanddeeplearning.com)——3Blue1Brown 这套视频的素材来源,MNIST 认数字例子的母本,讲得更细更深。
  3. MNIST 数据集(LeCun et al.)——亲手用几行代码跑一遍 784-16-16-10 网络,比看十篇博客都管用;PyTorch 官方 tutorial 即可起步。
  4. Andrej Karpathy《Let's build GPT: from scratch》(YouTube)——当你吃透了本片,这支视频能让你看到"同一套加权求和骨架"如何放大成能写文章的 Transformer,衔接极佳。
  5. Universal Approximation Theorem 原始文献(Cybenko 1989 / Hornik 1991)——想理解"为什么这么简单的结构理论上万能",读这两篇经典是最终答案。

一句话总结

把神经网络从"模仿人脑的黑魔法"还原成"加权求和再压扁的函数拟合",是每一个想真正读懂 AI 的开发者最该迈出的第一步——而这支视频,是走这一步最好的导游。

参考来源

  1. But what is a neural network? | Chapter 1, Deep learning — 3Blue1Brown — 本文深度解读的核心视频
  2. Neural Networks and Deep Learning — Michael Nielsen — 视频素材母本,MNIST 认数字详解
  3. The MNIST Database of Handwritten Digits — LeCun, Cortes, Burges — 视频所用数据集与基准
  4. Let's build GPT: from scratch, in code — Andrej Karpathy — 同一骨架放大成 Transformer 的进阶衔接

    本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。 [!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入