• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
SilentSamsara
博客园    首页    新随笔    联系   管理    订阅  订阅

学习日志-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):

      • \(\tilde{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)达到预定次数时,结束循环

posted @ 2021-11-08 21:55  SilentSamsara  阅读(29)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3