以下内容由AI辅助生成
——从函数形式到分段线性逼近的机制说明
一、感知机与神经网络的基本函数形式
在深度学习中,感知机及其扩展的神经网络,并不是在使用人为指定的多项式函数形式,例如:
其基本计算结构为:
其中:
:输入特征 :可学习参数 :激活函数(形式固定,由模型结构决定)
神经网络的非线性能力并非来自显式写入平方、立方项,而是来自激活函数与多层组合。
二、模型结构与参数学习的区分
神经网络需要在两个层面上理解:
结构层面:
层数、连接方式、激活函数类型(人为设计)参数层面:
权重、偏置 (通过数据训练得到)
网络不会“选择一个解析公式”,而是在固定结构下,通过参数不断调整,形成某种函数形状。
三、单层感知机的表达能力边界
当模型只有一层(无隐藏层)时:
虽然激活函数引入了非线性,但其表达能力仍然受限:
- 决策边界是线性的(对于分类任务)
- 无法表示真正复杂的非线性决策区域
例如 XOR、圆形边界等问题,无法由单层感知机解决。
复杂函数的表达能力来自隐藏层。
四、复杂函数是如何被“学出来”的
神经网络学习复杂函数的过程,本质是连续的数值优化:
- 参数随机初始化,函数形状与目标无关
- 前向传播,计算当前模型对应的输出函数
- 计算损失函数,仅反映预测误差
- 反向传播,计算参数对损失的梯度
- 梯度下降,微小更新参数
- 多次迭代,函数形状逐步调整
模型并不“理解函数形式”,只是不断在函数空间中朝误差更小的方向移动。
五、非线性激活的作用(以 ReLU 为说明示例)
为便于几何化理解,引入 ReLU 激活函数作为示例:
对一维输入:
其几何特征为:
- 当
,输出为 0 - 当
,输出为一条直线
一个 ReLU 神经元在一维输入下,只做一件事:
在某个位置之后,开始贡献一段线性函数。
六、折点的定义与来源
ReLU 的“折点”定义为:
需要明确:
- 网络中不存在名为
的独立参数 - 折点是权重
与偏置 的比值结果 - 训练过程中仅对
做梯度下降 - 折点位置是参数学习的自然副产物
七、多 ReLU 网络的函数性质
对一维输入、单隐藏层 ReLU 网络:
该函数族具有严格性质:
- 在任意区间内是线性的
- 在折点处一阶导数发生跳变
- 整体函数为分段线性函数
复杂性来自多个折点及其线性部分的叠加。
八、三 ReLU 拼接示例(严格区分“折点”与“输出折线”)
考虑如下网络:
1. 折点(竖直分界线)
该网络包含三个 ReLU,因此理论上只有三个折点:
它们对应三条竖直分界线,用于划分输入区间,本身不是函数图像的一部分:
1 | │ │ │ |
2. 区间划分
折点将输入轴划分为四个区间:
3. 各区间内的函数来源(这是关键)
区间 A:
- ReLU(x+1) = 0
- ReLU(x) = 0
- ReLU(x−1) = 0
输出为:
这是一个常数函数,因此图像是一条横线。
这条横线并不对应任何单个 ReLU
而是“三个 ReLU 全部未激活”的叠加结果
区间 B:
- ReLU(x+1) = x+1
- 其余两个 ReLU = 0
输出为:
这一段直线由 ReLU₁ 单独贡献
区间 C:
- ReLU(x+1) = x+1
- ReLU(x) = x
输出为:
这一段直线是 ReLU₁ 与 ReLU₂ 的线性叠加
区间 D:
- 三个 ReLU 全部激活
输出为:
这一段直线是 三个 ReLU 的线性部分之和
4. 输出函数的折线示意(结果)
1 | y |
需要严格理解:
- 竖线(t):表示 ReLU 的激活边界
- 折线:表示当前所有“已激活 ReLU”的线性部分之和
- 折线不是某个 ReLU 单独“画出来的”
九、为什么这种结构可以逼近抛物线
抛物线
- 斜率随
连续增大
ReLU 网络无法产生连续曲率,但可以通过:
- 足够多折点
- 足够密的斜率跳变
在有限区间内逼近这种行为。
十、有限 ReLU 的表达极限
在一维情况下:
- 有限 ReLU 网络 ⇒ 分段线性函数
⇒ 处处光滑、二阶导数非零
因此:
- ❌ 有限 ReLU 无法在整个实数轴上精确等于
- ✅ 在任意有限区间内,可以逼近到任意精度
十一、需要多少个 ReLU(量级结论)
在区间
若最大误差为
含义为:
- 区间越大 → 折点越多
- 精度要求越高 → 折点越多
十二、整体总结
- 神经网络不显式构造高次多项式
- 表达能力来自线性变换与非线性激活的组合
- ReLU 在一维下本质生成分段线性函数
- 折点是参数学习的自然结果,而非人为设定
- 折线是多个 ReLU 线性部分的叠加结果
- 光滑函数只能被有限 ReLU 逼近,不能被精确等同