目前我正在阅读以下论文:&#34; SqueezeNet:AlexNet级精度,参数减少50 x,型号尺寸<0.5 MB&#34;
在4.2.3(激活功能层)中,有以下语句:
激活功能的后果几乎完全如此 受限于训练阶段,对训练阶段影响不大 推理过程中的计算要求。
我理解激活功能的影响如下。 在卷积运算处理之后,将激活函数(ReLU等)应用于特征映射的每个单元。我认为此时的处理与训练模式和推理模式中的处理相同。为什么我们可以说它对培训有很大影响,对推理影响不大?
有人可以解释一下。
答案 0 :(得分:0)
我认为此时的处理与训练模式和推理模式中的处理相同。
你是对的,激活功能的处理时间是一样的。 但培训时间和测试时间之间仍存在很大差异:
训练时间涉及对多个时期应用前向传递,其中每个时期通常由整个训练数据集组成。即使对于小型数据集,例如MNIST(由60000个训练图像组成),这也占据了数万个调用。确切的运行时间影响取决于许多因素,例如: GPU允许并行进行大量计算。但无论如何,它通常比测试时的调用次数大几个数量级,而通常只需要处理一个批次一次。
除此之外,你不应该忘记向后传递,其中激活的衍生物也适用于相同数量的历元。对于某些激活,衍生物可能明显更昂贵,例如elu
vs relu
(elu
有可学习的参数需要更新)。
最后,你可能会在推理时间忽略5%的减速,因为无论如何神经网络的推断它都非常快。但您可能会关心单架构的额外几分钟到几小时的培训,特别是如果您需要对多个模型进行交叉验证或超参数调整。