学习日志-2021.11.08
其他Q-Learning
SA-Q-learning
为了平衡Q-learning的探索与利用,基于Metropolis准则提出的算法
算法描述
-
初始化Q表
-
对每一轮次(episode):
-
随机选择或初始化一个状态 (s_t)
-
对于每一步(step):
-
从动作空间随机选择一个动作 (a_r)
-
根据策略 (pi (s_t)) (一般指Q-learning的 (epsilon - greedy) 策略)从动作空间选择一个动作 (a_p)
-
获取一个随机数 (zeta ∈ (0,1))
-
如果 (zeta < exp ((Q(s,a_r)-Q(s,a_p))/T)) ,那么 (a ← a_r) ,否则 (a ← a_p)
-
执行动作 (a) ,并获得一个收益 (r_{t+1}) 和当前的新状态 (s_{t+1})
-
根据下面的公式更新 (Q (s_t , a_t))
[Q(s_t,a_t) ← Q(s_t,a_t) + alpha (r_{t+1} + gamma max_a Q(s_{t+1},a) - Q(s_t , a_t)) ] -
(s_t ← s_{t+1})
-
-
当(step)到达某一个目标状态时,结束循环
-
使用温度下降公式重新计算温度参数 (T)
-
-
当轮次(episode)达到预定次数时,结束循环
EQL 算法(enhanced Q-learning)
算法描述
-
随机初始化所有 (Q(s,a)) 的值
-
对每一轮次(episode):
-
随机选择或初始化一个状态 (s_t)
-
对于每一步(step):
-
( ilde{Q_t} = max_a (Q(s_t , a)) - min_a (Q(s_t,a)))
-
(ΔV_t = max_a (Q(s_t,a)) - max_a (Q(s_{t-1}, a)))
-
(E_t = v E_{t-1} + (1-v)log(T_{t-1}))
-
使用模糊平衡器计算 (T) 如下所示:
-
使用策略从 (Q) 的状态 (s_t) 选择合适的动作 (a_t),根据玻尔兹曼分布使用参数 (T) 计算再决定是否采取
-
执行动作 (a_t) ,并获得一个收益 (r_{t+1}) 和当前的新状态 (s_{t+1})
-
根据下面的公式更新 (Q (s_t , a_t))
[Q(s_t,a_t) ← Q(s_t,a_t) + alpha (r_{t+1} + gamma max_a Q(s_{t+1},a) - Q(s_t , a_t)) ] -
(s_t ← s_{t+1})
-
-
当(step)到达结束状态
-
-
当轮次(episode)达到预定次数时,结束循环