【问题标题】:How to train two dense layers at different learning rates in Tensorflow?如何在 Tensorflow 中以不同的学习率训练两个密集层?
【发布时间】:2019-02-09 01:42:07
【问题描述】:
我正在尝试在 Tensorflow 中构建一个多任务 CNN,它有两个并行的密集层,一个用于年龄预测,另一个用于性别预测。我如何训练每个 Dense 层针对不同数量的时期,因为一个可以在另一个之前收敛并且针对相同数量的时期进行训练会过度拟合其中一个?
另外,如果我将年龄和性别的梯度传播到 CNN,它是否会过拟合,因为它的权重以两倍于密集层的速度更新?
【问题讨论】:
标签:
python
python-3.x
tensorflow
deep-learning
【解决方案1】:
我也问过类似的问题,终于找到答案了:LINK
解决方案:您可以定义2个不同的train_step,每个都有自己的学习率。每个 train_step 可以被调用一定次数。此外,如果您希望某些变量仅可针对选定的 train_step 进行训练,则可以定义一些依赖项。 (见documentation)。