增加或减少添加神经元或重量的学习率?

时间:2015-12-27 00:10:31

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

我有一个卷积神经网络,我修改了它的架构。我没有时间重新训练并执行交叉验证(对最佳参数进行网格搜索)。我想直观地调整学习率。

如果出现以下情况, 增加降低我的RMS(基于SGD)优化器的学习率:

  1. 我将更多神经元添加到完全连接的层?
  2. 在卷积神经网络上,我在完全连接之前删除了一个子采样(平均或最大池)层,并且增加了该特征映射和softmax输出之间的完全连接单元的数量(这样就有< em>更多权重连接到顶部的完全连接的神经元??

3 个答案:

答案 0 :(得分:11)

添加更多层/神经元会增加过度拟合的可能性。因此,如果随着时间的推移降低学习率会更好。删除子采样层也会增加参数的数量,并再次增加过度拟合的机会。强烈建议,至少通过实证结果证明,子采样层可以帮助模型更好地学习。所以避免删除它们。

另外,我建议您通过裁剪图像生成更多示例,并使用这些裁剪版本训练模型。这作为正则化器有助于模型学习更好的数据分布。然后你也可以增加层/神经元的数量,减少过度拟合的风险。

答案 1 :(得分:2)

我们都同意,学习率可以被视为一种控制过度拟合的方法,就像辍学或批量大小一样。但是我写这个答案是因为我认为Amir的答案和评论中的以下内容具有误导性:

  •   

    添加更多层/神经元会增加过度拟合的机会。   因此,如果您降低学习速度超过   时间。

  •   

    由于在模型中添加了更多的层/节点,因此易于   过度拟合[...]   建议朝着局部最小值采取小步骤

实际上是反对!较小的学习率会增加过度拟合的风险!

引自Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates (Smith & Topin 2018)(非常有趣的一读):

  

正规化的形式很多,例如学习率高,   小批量,重量下降和脱落。从业者必须   平衡每个数据集的各种形式的正则化和   架构以获得良好的性能。 减少其他形式   正则化和正则化的学习率很高   大大提高了培训效率。

因此,正如Guillaume Chevalier在他的第一则评论中说的那样,如果您添加正则化,如果要保持正则化的总量不变,降低学习率可能是个好主意。但是,如果您的目标是增加正则化的总体数量,或者您减少了其他正则化方法(例如,减少辍学,增加批次大小),则应提高

>

相关(也非常有趣):Don't decay the learning rate, increase the batch size (Smith et al. ICLR'18)

答案 2 :(得分:1)

作为一个简短且实用的答案,如果模型更复杂,此处的学习率会降低,变量 FragmentManager manager = getSupportFragmentManager(); Fragment fragment = new FragmentA(); // if already exists remove it and add again if(fragment!= null) { manager.beginTransaction().remove(fragment).commit(); } manager.beginTransaction().add(R.id.fragment_id, fragment).commit(); 大约是每层神经元的数量:

<Style x:Key="MultiSelectCombo" TargetType="{x:Type ComboBox}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    ...
    <Setter Property="Template">
        <Setter.Value>
            <!-- Put the control template you used in your UserControl -->

        </Setter.Value>
    </Setter>
    <Setter Property="ItemTemplate">
        <Setter.Value>
            <!-- Put the DataTemplate you used in your UserControl -->

        </Setter.Value>
    </Setter>
</Style>

来源:The Annotated Transformer

另请参阅:Adam: A Method for Stochastic Optimization