相邻两个点之间,先用一条直线连接
先预测:只有 3 个点,会不会漏掉曲线的起伏?改变点数,看相邻割线与原曲线的差别。
目标曲线、采样点与相邻割线
┄ 目标 f(x)━ 插值折线○ 采样点▨ 点间误差带
输入 x ∈ [−1,1];输入与响应均无量纲。误差评估 801 个观察点,是抽样读数,不能称全区间严格误差上界。
为什么连续曲线可以这样逼近?
连续函数在有限、封闭的区间(紧致区间)上一致连续:足够近的输入会给出足够近的输出。均匀网格不断加密时,每个区间内的端点值都更接近真实曲线,用它们形成的线性插值也能一致逼近目标。
这里仅操作有限点数,并不是“任何函数都能这样逼近”的证明。连续是条件;不连续的跳变不能被连续折线以任意精度一致逼近。编辑器检查合法表达式与有限采样值,不能自动证明全域连续性。
先用更密波纹配 3 个点,再用 17 个点:经过所有采样点也可能漏掉点间结构。这也是后面必须区分训练样本与验证证据的原因。
把简单的拐角,一个个加起来
逐个加入单元,看橙色总输出怎样靠近蓝色折线。再选一个单元,改变它的权重或拐点。
每个单元的贡献,组成一个总输出
┄ 连续目标┄ 完整插值折线━ 已加入的累加曲线━ 预览单元贡献○ 原始采样点
一项一项,看见组合的来源
每个小图是一项加权 ReLU。点击选中,调参后观察总输出。橙线标记已加入;紫框标记选中。
展开所选单元:参数与斜率
各项会相互抵消,单元贡献与中间结果可能比目标大。纵轴包含本轮所有贡献及累加状态;手动修改后重新确定范围,播放期间固定。参数显示取小数 2–3 位,计算保留完整精度。
把选中单元展开:先加权输入,再激活,最后乘输出权重
三图横轴相同;①②同纵轴,③与所有基函数小图同纵轴。下面读数均取 x=0.50,来自同一次真实前向计算。
深入一点:把拐角拼接写成网络公式
kᵢ 是内部采样点;Δsᵢ = 右侧割线斜率 − 左侧割线斜率。因此经过 kᵢ 后,新单元让斜率增加 Δsᵢ。输出偏置 c 保证首段直线经过第一个采样点。
直线通路也不需要跳过隐藏层:s₀x = s₀ReLU(x) − s₀ReLU(−x)。本实验实际用这两个单元,再加上 n−2 个内部拐点单元,总共 n 个隐藏单元。这是 ReLU 单隐藏层的精确折线构造,不是“越多层才越能表达”的例子。
查看精确参数表
| 单元 | w | b | 输出权重 v | 拐点 k | 原构造左/右割线斜率 |
|---|
从一条曲线,走向两个输入的表面
输入现在有 x、y 两个坐标。让网络从样本学习形状,再用没有参与训练的位置检查误差。
当前指标始终对应当前模型。选择“冻结基准”只改变右侧图;基准不会继续训练。训练样本不同的两次训练 RMSE 不用于直接判优。
训练的证据
━ 验证 RMSE┄ 训练 RMSE
当前网络:一个真实查询怎样经过各层?
固定查询输入为 x=0.35、y=−0.25。这里用当前参数推理,不更新参数;每层显示前 4 个真实激活值。
先作对照:宽度、深度和训练样本分别改变什么?
保持碗形、225 个点和种子,先用单隐藏层宽度 4,再用宽度 32,训练相同步数。接着只改变隐藏层数。宽度对照改变可叠加响应的数量;深度对照改变表示的复合方式,但优化路径与参数数目也会变化。
最后保持网络结构,只把训练点数改为 25 或 900。误差只在训练点低并不能说明点间形状正确,验证网格提供另一组证据。根据验证结果调参后,它不能被称为独立测试。
选线性激活作为反例:任意数量的线性隐藏层复合仍只能得到平面,不能拟合碗形的曲率。更大的网络也不保证 Adam 在有限步数里找到最优参数。
通用近似定理:哪些结论成立,哪些不保证?
通用近似定理讨论:紧致域上的连续目标,在适合的非线性激活与足够大网络中,存在达到任意给定精度的参数。所需宽度可随函数与精度变化。
阶段 2 精确表示的是一维插值折线;目标曲线的误差还由采样密度决定。阶段 3 演示二元单/多隐藏层的实际训练,不能用一次运行证明任意二元函数的近似能力,也不能把一维构造直接当作多变量证明。
定理不保证固定有限宽度的任意精度,不保证训练算法找到这些参数,也不保证域外表现。验证网格最大误差仅约束被评估位置。外部参考的原创本地说明见 references/theorem-notes.md。