我刚刚进入机器学习——主要是强化学习——使用基于 Q 值训练的神经网络。然而,在查看超参数时,有两个似乎是多余的:神经网络的学习率,,以及 Q 学习的学习率,. 它们似乎都改变了神经网络对旧结论得出新结论的速度。
那么这两个参数是多余的吗?我是否需要担心甚至有如果我已经在调整,则为 1 以外的任何内容,或者它们最终会产生不同的效果吗?
我刚刚进入机器学习——主要是强化学习——使用基于 Q 值训练的神经网络。然而,在查看超参数时,有两个似乎是多余的:神经网络的学习率,,以及 Q 学习的学习率,. 它们似乎都改变了神经网络对旧结论得出新结论的速度。
那么这两个参数是多余的吗?我是否需要担心甚至有如果我已经在调整,则为 1 以外的任何内容,或者它们最终会产生不同的效果吗?
在强化学习中使用神经网络作为函数逼近器时,通常只有一个学习率处于活动状态。不同的名字和只是相同基本概念的不同约定。
当您在强化学习中使用函数逼近器(而不是线性逼近器)时,通常不会像这样使用基于 TD 错误的更新:
但是你会在抽样的 TD 目标上以监督学习的方式训练你的估计器(这将使用神经网络中的参数):
如果您的库支持它,您实际上可以这样做 - 当然可以计算例如,对于神经网络,而不是使用显式的训练损失函数。但是,这两种方法是表达同一事物的等效方式,没有理由同时使用两者。
强化学习中使用的其他参数可能会影响学习代理的收敛速度和其他属性。例如,对于差分半梯度 TD 学习——这可能是一种你会为连续任务寻找的算法——萨顿和巴托提出作为平均奖励的单独学习率,与估计器的学习率不同。
那么这两个参数是多余的吗?我是否需要担心甚至有如果我已经在调整,则为 1 以外的任何内容,或者它们最终会产生不同的效果吗?
它们本质上是相同的参数,但名称不同。
如果您尝试传递错误值,例如(是否乘以或不)作为目标进入神经网络,那么你的想法就错了。相反,您希望您的神经网络学习目标. 这是因为神经网络训练中内置了当前预测和乘法乘以学习率的减法。