深层神经网络 · 实验记录 04-B
参数量与计算量估算
网络变深、变宽之前,先做一张预算表。这里针对带偏置的全连接层,逐层拆开“要存多少参数”和“一批数据大约要做多少矩阵乘法工作”。
参数跟层宽有关
计算还会乘上批次 m
计算还会乘上批次 m
填写网络宽度
逐层账本
参数 = n_out × (n_in + 1)| 层 | n_in → n_out | 权重 | 偏置 | 本层参数 | 前向矩阵主项 |
|---|
总参数量—
前向矩阵主项 m × Σ(n_in × n_out)—
每个样本对应的主项—
敏感性实验
两个网络放在同一把尺子上
网络 A 使用上方宽度;网络 B 把所有隐藏层宽度乘以系数,输入与最终输出不变。
网络 B · 隐藏层加宽
—网络 B 参数量约为网络 A 的
为什么“宽度翻倍”常接近四倍?
相邻两个隐藏层都翻倍时,它们之间的权重矩阵两个维度一起变大:
(2n_in) × (2n_out) = 4 × n_in × n_out
但不是永远精确四倍
第一层的输入维度通常不变,最后一层的输出维度也常不变;偏置只随输出宽度线性增长。因此总比例取决于哪些层占大头。右上实验把真实比例算出来,避免把“近四倍”当成机械公式。