Lazy loaded image
神经网络到底是什么?
字数 6518阅读时长 17 分钟
2026-4-20
2026-4-19
type
Post
status
Published
date
Apr 20, 2026
slug
NNs
summary
如果你想真正搞懂深度学习,那么起点通常不该直接放在 ChatGPT 或大模型上。因为这些系统虽然看起来宏大、复杂、充满“智能感”,但它们的数学骨架,其实都可以一路追溯回一个非常朴素的问题: 神经网络到底是什么?它为什么能学习?
tags
推荐
文字
思考
category
心情随笔
icon
password
Description
如果你想真正搞懂深度学习,那么起点通常不该直接放在 ChatGPT 或大模型上。因为这些系统虽然看起来宏大、复杂、充满“智能感”,但它们的数学骨架,其实都可以一路追溯回一个非常朴素的问题:
神经网络到底是什么?它为什么能学习?
这个问题太大,不可能一篇文章全部讲完。但它必须有一个起点。而这个起点,不是在 2022 年,也不是在 Transformer 时代,而是更早——甚至要回到 1969 年。

一、深度学习这条路的起点,并不是 ChatGPT

很多人谈神经网络,习惯直接从现代应用讲起:图像识别、语音识别、AIGC、大模型、ChatGPT。但如果回头看历史,你会发现这条路真正重要的一个起点,是 1969 年出版的一本书:《Perceptrons》。
它的作者之一,是 MIT 人工智能实验室的创始人之一——马文·明斯基(Marvin Minsky)。
这本书几乎以一己之力,把神经网络研究推进了一次长达十年的寒冬。原因很简单:书中证明了,当时被寄予厚望的感知机(Perceptron),连一个非常基础的逻辑规则都学不会——XOR(异或)
XOR 的规则其实极其简单:
  • 两个输入相同,输出 0;
  • 两个输入不同,输出 1。
这几乎是一个小学生都能理解的规则。但单层感知机做不到。这个结论在当时杀伤力极大:研究经费被砍、论文难发、实验室关闭,神经网络几乎被整个学术界打入冷宫。
但今天回头看,明斯基真正“错”的地方,不是指出了 XOR 的困难,而是他对多层网络前景的判断。这个判断后来被历史彻底推翻。
不过在讨论这段历史之前,我们要先回答一个更本质的问题:神经网络到底是什么?

二、一个神经元,本质上是在空间里画一条分界线

假设你面前有一张白纸,上面散落着一些点:有些是红色的,有些是蓝色的。现在让你画一条线,把两类点分开。
这件事,本质上就是一个最简单的神经元在做的事情。
一个神经元通常可以写成这样的形式:
这里面几个部分的含义并不复杂:
  • (x) 是输入,也就是你丢进来的那个点;
  • (W) 和 (b) 决定分界线的位置和方向;
  • (\sigma) 是激活函数,用来把原始结果转成某种更适合后续处理的输出。
如果在二维空间里看,(Wx+b=0) 表示的是一条直线;
在三维空间里,它表示一个平面;
在更高维空间里,它表示一个超平面
所以,一个神经元的本质工作,就是在空间里画出一个超平面,把数据分到不同的区域里。
但仅仅“分边站”还不够。超平面只能告诉你某个点在线的哪一边,而神经网络通常还希望输出一个更平滑、更连续的值,比如“这个点有多大概率属于某一类”。这就是激活函数存在的意义。

三、激活函数为什么不可或缺?

最经典的激活函数之一是 Sigmoid。它会把整条实数轴压缩到 0 和 1 之间,因此常被用来表示概率意义上的输出。
后来,现代神经网络里用得更多的是 ReLU。它更简单:
  • 负数直接变成 0;
  • 正数保持原样。
但无论具体形式是什么,激活函数最关键的作用都不是“压缩数值”,而是:
引入非线性。
这件事非常重要。因为如果没有激活函数,不管你堆多少层网络,本质上都还是一层线性变换。
例如,两层线性变换连起来:
展开之后,依旧可以写成一个新的线性变换:
也就是说,如果全网络只有线性运算,那么“多层”并不会带来真正的表达能力提升。你堆得再深,整个系统最终都会塌缩成一个单层线性模型。
所以,激活函数并不是附属品,而是神经网络从“线性分类器”走向“深度学习系统”的关键入口。没有非线性,深度学习这个词本身都无从谈起。

四、为什么单个神经元学不会 XOR?

现在回到那个经典问题:为什么感知机做不到 XOR?
把 XOR 的四个输入点画到二维平面上:
  • ((0,0)) 和 ((1,1)) 标成 0;
  • ((0,1)) 和 ((1,0)) 标成 1。
你会发现,这四个点呈现出一种“对角交叉”的结构。红蓝两类点不是分布在两边,而是交错排列。于是问题出现了:
你根本无法用一条直线把这两类点分开。
不管你怎么画,都会把至少两个点分错。
这就是所谓的线性不可分。而单个神经元本质上只能画出一个超平面,所以它天然只能处理线性可分的问题。XOR 恰恰是最简单的线性不可分例子。
这就是明斯基最有名的结论之一:单层感知机无法表示 XOR。

五、明斯基真正击中的,不只是 XOR

如果明斯基的批评只停留在 XOR,其影响可能还不会那么深。真正更有杀伤力的是,他还指出了另一类更深的问题:单层感知机无法有效处理需要全局视角的任务。
例如,判断一张图形是“连通的”还是“断开的”。
从局部小窗口去看,两张图可能看起来完全一样;只有从整体上看,才能分辨一块区域是否被分裂成两部分。这个问题的困难不在某个局部特征,而在全局结构。
明斯基证明,若想用单层感知机解决这种问题,所需参数量会随着图像尺寸迅速增长,变得几乎不可用。
这意味着,单层感知机的问题不只是“搞不定 XOR”,而是它对一大类需要整体结构理解的问题,都缺乏天然表达能力。

六、为什么当时没人立刻用“多加一层”来解决?

今天看这个问题似乎很简单:既然一层不够,那就再加一层。
事实上,当时很多人也知道,再加一层网络,XOR 是可以解决的。真正卡住整个领域的,不是“想不到多层”,而是:
不会训练多层。
多层网络的权重到底该怎么更新?
误差怎么从输出层传回前面的隐藏层?
参数怎么系统地调整?
这些问题在当时并没有成熟答案。直到 1986 年,反向传播(Backpropagation)重新被系统化推广,多层神经网络才真正获得可训练性。
所以第一次 AI 寒冬的完整故事,不是“人们不知道多层网络有用”,而是:
有想法,但没有算法。
明斯基杀死的,不是神经网络这个方向本身,而是那个时代尚不成熟的数学工具和训练方法。

七、加一层到底改变了什么?

这里要引入两个概念:
  • 深度(depth):网络有多少层;
  • 宽度(width):每层有多少个神经元。
先看最简单的“加一层”意味着什么。
对于 XOR,第一层如果有两个神经元,就可以各自画出一条线。两条线交叉之后,平面会被切成多个区域。第二层再从这些区域中挑出 XOR 所需要的那两个对角区域,于是原本线性不可分的四个点,就变得可以区分了。
但这只是输入空间里的表面现象。更重要的是从几何上理解:
第一层并不是简单地“多画了几条线”,而是在做一件更本质的事——改变数据所在的表示空间。

八、隐藏层的真正含义:把数据送进一个新空间

第一层计算完成后,数据不再停留在原始输入空间,而是被映射到了一个新的空间里。这个中间空间,就是所谓的隐藏层
之所以叫“隐藏”,是因为它既不是原始输入,也不是最终输出,而是夹在两者之间、从外面看不见的内部表示。
神经网络真正的“聪明”,恰恰就藏在这里。
以 XOR 为例,在原始输入空间里,那四个点线性不可分;但经过第一层映射后,它们在隐藏层空间中的位置关系会被重新组织:
  • 原本分散的两类点,被拉近或拉远;
  • 原本交错的结构,被改造成更容易分割的结构。
于是,在新的空间里,第二层只需要画一条简单的直线,就能把它们分开。
这就是深度学习最重要的直觉之一:
网络并不是直接在“学会分类”,而是在学习一个新的坐标系,让分类这件事变得容易。
这件事有一个非常经典的名字,叫做特征学习(feature learning)

九、深度学习真正学到的,是“更适合分类的表示”

一旦你理解了隐藏层,就会明白深度学习的本质并不是堆公式,而是不断重塑数据表示。
每一层都会对空间做一次温和的拉扯、扭曲和重排。
在浅层网络中,这种变化也许只能把四个点重新分布;
而在更复杂的网络里,它能把两条纠缠在一起的螺旋逐步“解开”。
例如,对于一个经典的双螺旋分类任务:
  • 一层网络稍微扭开一点空间;
  • 两层扭得更开;
  • 四层之后,两条螺旋可能就被拉成两块完全不相交的区域。
于是问题就从“复杂的非线性分类”,变成了“简单的线性切分”。
所以,从 XOR 到现代大模型,底层都共享同一个几何思想:
通过逐层的可学习变换,把原本难分的数据,搬运到一个更容易线性分割的表示空间。

十、这和 SVM 的核方法有什么关系?

如果学过机器学习,看到这里可能会想到 SVM 的 kernel trick(核技巧)。
两者确实有相似的本质:
都在试图把原本线性不可分的数据,送到一个更高维或更合适的空间中,使其变得线性可分。
区别在于:
  • SVM 使用的是预先设定好的核函数
  • 神经网络使用的是可学习的隐藏层表示
前者更固定,后者更灵活。代价则是:神经网络必须通过梯度下降去学习这个空间变换。
也就是说,隐藏层不是“多几个神经元”这么简单,它代表的是网络获得了一种重新理解数据空间的能力。

十一、单隐藏层真的已经足够强大吗?

到了这里,自然会出现一个问题:
既然两层网络已经能解决 XOR,那一层隐藏层到底够不够?
1989 年,George Cybenko 发表了一篇极具影响力的论文,给出了一个震动整个领域的结论:
只要单隐藏层网络的神经元足够多,它就可以逼近任意连续函数。
这就是著名的万能逼近定理(Universal Approximation Theorem)
无论是 (\sin)、(\cos)、高斯函数,还是你随手画出来的一条连续曲线,只要隐藏层足够宽,一个单隐藏层网络就能以任意精度逼近它。
两年后,Kurt Hornik 进一步推广了这个结论。他证明,不只是 Sigmoid,很多其他激活函数也都成立。关键条件不是“某一种特殊激活函数”,而是:
网络具有非线性结构。
这说明,神经网络的强大并不依赖某个神秘的函数形式,而是依赖于“线性变换 + 非线性激活 + 多单元组合”这一整体结构。

十二、为什么万能逼近定理成立?

严格证明这个定理需要更高阶的泛函分析工具,但从直觉上,可以用一种非常漂亮的建构方式去理解。

第一步:让 Sigmoid 越来越像阶跃函数

Sigmoid 原本是一条平滑的 S 形曲线。
但如果把权重 (W) 拉得非常大,它会变得越来越陡,最终近似成一个“门槛”:某个点左边接近 0,右边接近 1。
于是,一个神经元就像一道可以立起来的门。

第二步:两个门槛拼出一个矩形块

如果一个阶跃函数在 (x=2) 的位置升起来,另一个在 (x=3) 的位置降下去,那么把它们相减,就会得到一个只在 ([2,3]) 区间内非零的小矩形块。
也就是说,两个神经元就能拼出一个局部小块。

第三步:很多小块叠起来,可以逼近任意曲线

你可以用很多这样的小矩形去拼出一条曲线。
10 个小块不够精细,那就用 100 个;
100 个还不够,就用 1000 个。
这其实和黎曼积分的思想非常接近:
把一条连续曲线分割成无数个小矩形来逼近。
从这个角度看,一个足够宽的单隐藏层网络,本质上就是在用很多局部小块,去拼装任意复杂的函数形状。

第四步:推广到二维和更高维

一维里是小矩形,二维里就变成小方柱或小塔。
把这些“小塔”像积木一样铺满平面,就可以逼近任意二维曲面。再推广下去,就可以逼近更高维空间里的连续函数。
这就是“万能逼近”在几何上的直觉来源。

十三、万能逼近定理虽然强,但藏着两个大问题

这个定理看起来几乎完美,但它并不等于“单层网络在实践里就足够用了”。
因为它至少藏着两个关键问题。

1. 存在性不等于你能训练得到

定理只说明:存在这样一个网络。
它并没有保证:你通过现实中的训练算法,一定能找到它。
也就是说,理论上的可表示性,不等于工程上的可学习性。

2. 单层虽然能做,但代价可能指数级爆炸

逼近一条简单曲线,也许只需要十几个小块;
但如果要逼近复杂高维对象,比如一张人脸、一个复杂决策边界,所需的神经元数量可能会迅速膨胀到几十万、几百万。
于是出现一个事实:
单隐藏层网络在理论上万能,但在现实中可能极其低效。
这也正是为什么深度网络在实践中会取代单纯“超宽浅层网络”的核心原因。

十四、为什么我们更偏爱“深”而不是“宽”?

2014 年,Montúfar 等人的工作给出了一个非常重要的解释。
他们试图量化一个网络到底能表达多少种不同的函数模式,并引入了一个指标:linear regions(线性区域)
对于使用 ReLU 的网络来说,它整体上可以看成一个分段线性函数。每一个分段对应一个线性区域。区域越多,说明网络能够表达的模式越丰富,表达力越强。
研究发现,在相近参数规模下:
  • 增加宽度,表达力通常是多项式级别增长;
  • 增加深度,表达力可能呈现指数级增长。
这意味着,深度带来的并不只是“参数变多”,而是表达结构发生了质变
一个非常形象的比喻是:
每经过一层 ReLU,就像把一张纸再折一次。折一次,结构被分成更多段;再折一次,复杂度继续翻倍。随着层数增加,网络可以用极少的参数,构造出非常复杂的分段结构。
所以,深度并不是简单堆叠,而是一种更高效的表达机制。

十五、深度学习真正震撼的地方,在于层次特征

除了数学表达力的提升,深度还有另一个更重要的意义:层次化抽象。
这是深度学习最震撼人的部分。
以视觉任务为例:
  • 第一层学到的,可能是边缘、角点、方向;
  • 第二层学到的,可能是纹理和局部形状;
  • 第三层学到的,可能是眼睛、嘴巴、车轮等部件;
  • 更高层学到的,才是整张人脸、整辆车、整个物体。
每一层的输入,都是上一层已经抽象过的结果。于是网络可以一层一层地把原始信号变成越来越高级的概念表示。
这也是为什么大型语言模型会有很深的层数。以 Transformer 为例,每一层 block 都在进一步抽象输入表示:从字词模式,到句法关系,到语义结构,再到更复杂的推理线索。
所以,深度的价值,不只是为了“更强的拟合能力”,更是为了让模型具有分层理解世界的能力

十六、为什么不能无限加深?

既然深度这么有用,那为什么不直接堆到 1000 层、10000 层?
因为深度是有代价的。最经典的问题就是:
  • 梯度消失
  • 梯度爆炸
尤其是在早期使用 Sigmoid 一类激活函数时,梯度在多层传递中会被不断压缩。层数一深,前面的网络几乎收不到有效更新信号,训练就会停滞。
现代深度学习中大量架构技巧,本质上都在解决这个问题,例如:
  • 残差连接(ResNet)
  • Batch Normalization
  • Layer Normalization
这些技巧表面上形式各异,但底层目标很一致:
让梯度能够更稳定地穿过深层网络。
也可以说,现代深度学习的许多工程创新,都是围绕“如何让深网络真正可训练”展开的。

十七、理论最坏情况很复杂,但实际训练出来的网络往往更温和

还有一个非常反直觉的事实。
从理论上看,深网络的表达能力极强,复杂度甚至可能指数级爆炸;但在实际训练中,学出来的网络往往并没有把这种最坏情况的复杂度完全用满。
2019 年的一些研究指出,真实训练得到的网络,其线性区域数量远低于理论最坏上界。理论告诉你它“可以极度复杂”,但训练过程往往会引导它选择一个更温和、更平滑的表达版本。
这也解释了一个长期让人困惑的现象:
为什么很多神经网络参数极多,却没有简单地把训练集死记硬背?
因为训练过程本身并不是任意搜索,它会对模型的实际表达方式形成某种“规训”。模型虽然有巨大的表达潜力,但最终常常学到的是一个更平滑、更有泛化能力的解。

十八、回到历史:明斯基真正错在哪里?

现在再回到 1969 年。
今天看,明斯基指出 XOR 对单层感知机来说是困难的,这本身并没有错。问题在于,他和 Papert 在书的结尾,对多层网络作出了过于悲观的判断:他们认为单层感知机的一些局限,并没有理由相信会因为多层结构而被根本改变,甚至把这条路线描述成某种“徒劳”的方向。
更关键的是,即使到了 1988 年,在反向传播已经重新进入主流视野之后,他们仍然对大规模多层网络的前景持强烈怀疑态度。
历史后来的发展大家都知道了:
  • 1986 年,反向传播重新回到舞台中央;
  • 2012 年,深度学习在 ImageNet 等任务上爆发;
  • 2017 年,Transformer 出现;
  • 2022 年,ChatGPT 问世。
令人感慨的是,这些系统底层用的,依然是当年那个“被看不起的神经元”——只不过它不再是孤零零的一层,而是被堆叠成了极深、极复杂、可训练的网络结构。
从 XOR 那次失败开始,到 ChatGPT 每次生成文字为止,走的其实是同一条路。

十九、从一个神经元到 ChatGPT,中间贯穿的是同一套几何直觉

如果把整条线索串起来,会看到一个非常完整的脉络:
  • 一个神经元,是一个超平面加上非线性激活;
  • 单层感知机只能处理线性可分问题,因此卡在 XOR 上;
  • 加入隐藏层之后,网络开始学习新的表示空间;
  • 多层结构让网络能够逐层重构坐标系,让原本复杂的问题变得容易分割;
  • 单隐藏层网络在理论上具备万能逼近能力;
  • 深度则让这种能力变得更高效、更层次化、更适合现实任务;
  • 现代架构设计则进一步解决了深层训练的稳定性问题。
所以,神经网络真正的秘密,并不是“它很神奇”,而是:
它能够通过层层可学习的非线性变换,重构数据所处的表示空间,从而把复杂问题逐步变成简单问题。

二十、理解神经网络,先抓住几何直觉

很多人一上来就试图理解大模型、理解注意力机制、理解“为什么它会推理”。但如果最底层的几何直觉没有建立起来,这些内容很容易变成堆概念、堆黑箱、堆术语。
真正稳固的理解路径,往往还是要从这里开始:
  • 向量是什么;
  • 矩阵做了什么;
  • 一个神经元到底在空间里干什么;
  • 非线性为什么重要;
  • 隐藏层为什么意味着“重构表示”;
  • 深度为什么能带来表达力和抽象层次。
当这些问题真正串起来之后,你对现代深度学习的理解,就不再只是“知道它很强”,而是开始知道它为什么强、强在哪里、代价是什么、边界又在哪里。
从一个神经元,到 XOR,到隐藏层,到万能逼近,再到深网络与 Transformer,这不是几套互相割裂的知识,而是一条连续的思想路线。
而这条路,才刚刚开始。