学习日志-2021.11.08

学习日志-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)达到预定次数时,结束循环

原文地址:https://www.cnblogs.com/SilentSamsara/p/15526408.html