论文阅读-2021.11.06
Backward Q-learning: The combination of Sarsa algorithm and Q-learning
自适应Q-learning
算法描述
- 初始化Q表,设置 (TH_P、TH_N、C、β和k)
- 循环(轮次episode):
- 随机状态或初始化状态
- 循环(步step):
- 根据Q表使用策略函数从状态 (s_t) 选择动作 (a_t)
- 使用动作 (a_t) ,获得回报 (r_{t+1})
- 如果 $TH_N - kt < max_aQ(s_{t+1},a) < TH_P + kt $ 那么:
- $ gamma_t (delta, gamma_{t-1}) = gamma_{initial}$
- (alpha_t (delta, t) = alpha_{initial})
- 否则:
- (gamma_t (t, gamma_{t-1}) = tanh(t gamma_{t-1} ))
- (delta = r_{t+1} + gamma_t (t, gamma_{t-1}) max_a Q(s_{t+1} , a) - Q(s_t, a_t))
- (alpha_t(delta, t) = anh(eta | delta| / t))
- (T (t) = C / t, C ∈ N)
- (Q(s_t , a _t) ← Q(s_t , a_t) + alpha_t (delta , t) delta)
- $s_t ← s_{t+1} $
- (s_t) 为终状态时结束循环
- 达到轮次上限时结束循环
其中,(eta, k ∈ R_+) ,且 (eta ,k ≥ 1) 。
Backward Q-learning(主要)
算法描述
-
随机初始化所有的 (Q(s,a), M) 和 (alpha_b , gamma_b)
-
对每一轮次:
-
随机选择一个状态或初始化 (s_t)
-
使用策略函数从Q表中选择 (s_t) 下的动作 (a_t)
-
对每个时间步 (N)
-
挑选动作 (a_t^i) 与环境交互,然后得到一个回报 (r_{t+1}^i) 和观察到的状态 (s_{t+1}^i)
-
使用策略函数从Q表中选择 (s_{t+1}^i) 下的动作 (a_{t+1}^i)
-
记录: $M^i ← s_t^i , a_t^i , r_{t+1}^i , s_{t+1}^i $
-
根据下列公式更新 (Q(s_t^i,a_t^i))
[Q(s_t^i,a_t^i) ← Q(s_t^i,a_t^i) + alpha (r_{t+1}^i + gamma max_a Q(s_{t+1}^i,a) - Q(s_t^i , a_t^i)) ] -
(s_t^i ← s_{t+1}^i ; a_t^i ← a_{t+1}^i ; i ← i + 1)
-
-
达到最终状态 (s_t) ,退出循环
-
(For j = N to 1)
-
根据下列公式,回溯更新 (Q(s_t^j , a_t^j))
[Q(s_t^j,a_t^j) ← Q(s_t^j,a_t^j) + alpha_b (r_{t+1}^j + gamma_b max _a Q(s_{t+1}^j , a) - Q(s_t^j,a_t^j)) ] -
(End for)
-
初始化 (M)
-
用降温准则重新计算温度参数(存疑)
-
-
达到轮次上限,结束循环。