基本概念
Q-Learning
Q-Learning算法是强化学习的主要算法之一,它提供了智能体在马尔可夫环境中利用经历的动作序列选择最优动作的一种学习能力,将智能体与环境的交互过程看成一个马尔可夫决策过程(MDP),根据智能体当前所处的状态和所选择的动作,决定一个固定的状态转移概率分布、下一个状态并得到一个及时回报。目标就是找到一个策略可以最大化将来获得的报酬。
Q-Learning算法使用的数学模型模型如上图所示,其中公式的右半部分中,
Q
(
s
,
a
)
Q(s,a)
Q(s,a)表示Q表中的记忆回报,
r
r
r表示根据动作
a
a
a和状态
s
s
s获得的当前回报,
m
a
x
Q
(
s
′
,
a
∗
)
maxQ(s',a^*)
maxQ(s′,a∗)下一个状态和可选动作集
a
∗
a^*
a∗中选取最大Q值对应的
a
′
a'
a′。
α
\alpha
α表示学习率,从公式中可以看出,学习率越低,机器人越在乎之前的回报,而不能积累新的回报。
γ
\gamma
γ表示折扣因子,是考虑未来奖励对于现在影响的因子,是一个(0,1)之间的值。
假设用 r + γ Q ( s ′ , a ∗ ) r +\gamma Q(s',a^*) r+γQ(s′,a∗)表示现实的回报值, Q ( s , a ) Q(s,a) Q(s,a)表示估计的回报值,则模型更新方法:新的回报 = (1- α \alpha α)估计回报 + α \alpha α * 现实回报。
Q-learning算法的伪代码如下图所示: