根据您的经验,较小的 CNN 模型(较少的参数)是否比较大的模型收敛得更快?
我自然会认为是的,因为要优化的参数更少。但是,我正在训练一个基于 MobileNetV2 的自定义 Unet(具有 2.9k 参数)用于图像分割,与具有更多参数(5k 参数)的模型相比,它需要更长的收敛时间。如果这种收敛行为出乎意料,则可能表明架构中存在错误
根据您的经验,较小的 CNN 模型(较少的参数)是否比较大的模型收敛得更快?
我自然会认为是的,因为要优化的参数更少。但是,我正在训练一个基于 MobileNetV2 的自定义 Unet(具有 2.9k 参数)用于图像分割,与具有更多参数(5k 参数)的模型相比,它需要更长的收敛时间。如果这种收敛行为出乎意料,则可能表明架构中存在错误
在大多数情况下,可能。对于所有情况,不。尤其是如果您正在使用非常积极的正则化来训练小数据,您可能需要很长时间才能达到所需的性能水平。
例如,对于一些在小型数据集上训练的称为 Transformer 的流行文本生成网络,有必要使用非常激进的正则化技术并在非常大量的迭代中进行训练(参见这个 Twitter 线程,他们描述了如何在PTB 和 Wikitext-103 数据集)。
有趣的问题。正如@ncasas 所提到的,对于大多数情况,可能对于所有情况都没有。
影响网络收敛速度的因素有很多。
无论您是使用 SGD、Adam 还是其他优化器,它都会对收敛速度产生直接影响。这些优化器具有超参数,尤其是可以产生巨大差异的学习率。
不用说,预训练的网络可能会比未收敛的网络收敛得更快。尽管很小,但权重的不同初始化总是有可能使您离收敛更近或更远。
具有N参数的网络可以以多种不同的方式设计,具有不同的层类型、层数和层大小。每种架构都会产生不同的收敛行为。
需要记住的是,神经网络通常不会收敛到全局最优值,但它们确实有很多局部最优值,你可以最终得到它们。训练本质上是尝试许多权重组合,然后决定一个令人满意的配置。所有这一切都表明某些问题可能比其他问题具有更多“令人满意”的配置,这意味着某些网络可能比其他网络有更多的收敛方式,这意味着它们可能会更快地找到一种。