0

我研究过深度强化学习,在文献中,学习率通常低于我在其他环境中发现的。

我的模型如下:

def create_model(self):

    model = Sequential()  
    model.add(LSTM(HIDDEN_NODES, input_shape=(STATE_SIZE, STATE_SPACE), return_sequences=False))
    model.add(Dense(HIDDEN_NODES, activation='relu', kernel_regularizer=regularizers.l2(0.000001)))
    model.add(Dense(HIDDEN_NODES, activation='relu', kernel_regularizer=regularizers.l2(0.000001)))
    model.add(Dense(ACTION_SPACE, activation='linear'))

    # Compile the model
    model.compile(loss=tf.keras.losses.Huber(delta=1.0), optimizer=Adam(lr=LEARNING_RATE, clipnorm=1))

    return model

其中初始学习率 (lr) 为 3e-5。对于微调,我冻结了前两层(这一步在我的设置中是必不可少的)并将学习率降低到 3e-9。在微调过程中,一旦样本源受到扰动数据,模型可能会遭受分布偏移。如此低的学习率让我的模型不断改进,除此之外还有其他问题来源吗?

4

1 回答 1

0

首先,向我展示您的数据样本。

理论答案:

我们已经了解了扰动如何帮助解决与神经网络训练或训练模型相关的各种问题。在这里,我们看到了与神经网络训练和训练模型相关的三个组件(梯度、权重、输入)的扰动;扰动,梯度是解决梯度消失问题,权重是为了逃避鞍点,输入是为了避免恶意攻击。总体而言,不同方式的扰动起到了加强模型对抗各种不稳定性的作用,例如,它可以避免停留在正确性残骸点,因为这样的位置将通过扰动(输入、权重、梯度)进行测试,这将使模型接近正确性吸引点。

到目前为止,扰动主要取决于直觉设计的经验实验,以解决遇到的问题。如果直观地扰乱训练过程的一个组成部分是否有意义,则需要进行实验,并进一步凭经验验证它是否有助于缓解问题。然而,在未来,我们将看到更多关于深度学习或机器学习中的扰动理论,这也可能得到理论保证的支持。

于 2021-10-19T19:13:32.807 回答