论文阅读-2021.11.06
论文阅读-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) = \tanh(\beta | \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\) 为终状态时结束循环
- 达到轮次上限时结束循环
其中,\(\beta, k ∈ R_+\) ,且 \(\beta ,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\)
-
用降温准则重新计算温度参数(存疑)
-
-
达到轮次上限,结束循环。