【发布时间】:2019-11-28 17:21:57
【问题描述】:
我正在尝试实现 DQN 代理,因此是深度强化学习解决方案。
我应该在一些迭代后降低学习率,而不改变模型权重或其他任何东西。在 RL 问题中,''fit'' 是在收集到一定数量的新事件后完成的,并且每个 ''fit'' 只有 1 个单独的 epoch,所以衰减率
目前,我找到的唯一解决方案是执行以下操作:
if(time%1000==0):
learning_rate=learning_rate*0.75
mainQN_temp=QNetwork(hidden_size=hidden_size, learning_rate=learning_rate)
mainQN_temp.model.load_weights("./save/dqn-angle3-"+str(t)+".h5")
mainQN=mainQN_temp
class QNetwork:
def __init__(self, learning_rate=0.01, state_size=4,
action_size=5, hidden_size=32):
# some layers in here
self.optimizer = Adam(lr=learning_rate)
self.model.compile(loss='mse', optimizer=self.optimizer)
这是效率最低的事情。我尝试引用 mainQN.optimizer.lr 之类的东西,但没有成功。
【问题讨论】:
标签: keras deep-learning reinforcement-learning