【问题标题】:About the impact of activation functions in CNN on computation time关于 CNN 中激活函数对计算时间的影响
【发布时间】:2018-09-25 05:18:32
【问题描述】:

目前我正在阅读以下论文:“SqueezeNet:AlexNet-level accuracy with 50 x less parameters and

在这4.2.3(激活函数层)中有如下语句:

激活函数的后果几乎完全是 受限于训练阶段,对训练的影响不大 推理期间的计算要求。

我理解激活函数的影响如下。 在卷积运算处理后,对特征图的每个单元应用激活函数(ReLU 等)。我认为此时的处理在训练模式和推理模式下都是相同的处理。为什么说它对训练影响很大,对推理影响不大?

谁能解释一下。

【问题讨论】:

    标签: machine-learning neural-network deep-learning conv-neural-network activation-function


    【解决方案1】:

    我认为此时的处理在训练模式和推理模式下都是相同的处理。

    你是对的,激活函数的处理时间是一样的。 但是训练时间测试时间还是有很大区别的:

    • 训练时间涉及对多个 epoch 应用前向传递,其中每个 epoch 通常由整个训练数据集组成。即使对于小型数据集,例如 MNIST(由 60000 个训练图像组成),这也需要数万次调用。确切的运行时影响取决于许多因素,例如GPU 允许大量并行计算。但在任何情况下,它都比测试时的调用次数大几个数量级,通常单个批次只处理一次。

    • 除此之外,您不应该忘记反向传递,其中激活的导数也适用于相同数量的时期。对于某些激活,导数可能会更加昂贵,例如elu vs reluelu 有需要更新的可学习参数)。

    最后,您可能会忽略推理时 5% 的减速,因为神经网络的推理无论如何都非常快。但是您可能会关心对一个单个架构进行额外几分钟到几小时的训练,尤其是当您需要对多个模型进行交叉验证或超参数调整时。

    【讨论】:

    • 谢谢马克斯。我真的很感激。
    猜你喜欢
    • 1970-01-01
    • 2021-10-26
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2011-02-10
    相关资源
    最近更新 更多