深层神经网络 · 实验记录 04-B

参数量与计算量估算

网络变深、变宽之前,先做一张预算表。这里针对带偏置的全连接层,逐层拆开“要存多少参数”和“一批数据大约要做多少矩阵乘法工作”。

参数跟层宽有关
计算还会乘上批次 m

填写网络宽度

逐层账本

参数 = n_out × (n_in + 1)
n_in → n_out权重偏置本层参数前向矩阵主项
总参数量
前向矩阵主项 m × Σ(n_in × n_out)
每个样本对应的主项
敏感性实验

两个网络放在同一把尺子上

网络 A 使用上方宽度;网络 B 把所有隐藏层宽度乘以系数,输入与最终输出不变。

网络 A · 原始

网络 B · 隐藏层加宽

网络 B 参数量约为网络 A 的

为什么“宽度翻倍”常接近四倍?

相邻两个隐藏层都翻倍时,它们之间的权重矩阵两个维度一起变大:

(2n_in) × (2n_out) = 4 × n_in × n_out

但不是永远精确四倍

第一层的输入维度通常不变,最后一层的输出维度也常不变;偏置只随输出宽度线性增长。因此总比例取决于哪些层占大头。右上实验把真实比例算出来,避免把“近四倍”当成机械公式。