0

我知道每层可以有一个学习率(链接)。我还发现了如何动态更改学习率(在没有调度程序的情况下在训练过程中动态更改它)(链接)。

如何创建一个每个神经元具有动态学习率的优化器?这样我就可以在训练期间改变特定神经元的学习率值

例如,如果我的网络如下:

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()

        self.fc1 = nn.Linear(3,5)
        self.fc2 = nn.Linear(5,10)
        self.fc3 = nn.Linear(10,1)

    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = torch.relu(self.fc2(x))
        x = torch.relu(self.fc3(x))
        return x 

第一层应该有 5 个学习率(5 个神经元每个都有一个,每个神经元有 3 个相关的权重),第二层有 10 个,最后一个有 1 个。

4

0 回答 0