我修改了一个卷积神经网络的架构。我没有时间重新训练并进行交叉验证(对最佳参数进行网格搜索)。我想直观地调整学习率。
如果以下情况发生,我应该增加还是减少基于SGD的RMS优化器的学习率:
- 我在全连接层中添加了更多神经元?
- 在卷积神经网络中,我移除了一个子采样层(平均或最大池化)在全连接之前,并且我在该特征图与softmax输出之间增加了全连接单元的数量(因此有更多的权重连接到顶部的全连接神经元)?
回答:
作为一个简短且实用的回答,如果模型更复杂,则降低学习率,变量model_size
大约是每层的神经元数量:
def rate(self, step = None): "Implement `lrate` above" if step is None: step = self._step return self.factor * \ (self.model_size ** (-0.5) * min(step ** (-0.5), step * self.warmup ** (-1.5)))