Skip to content

01_基本概念 🤖

深度强化学习的目标是学习以下两者之一:

  • 🎯 Policy 函数 π(a|s)
  • 🏆 最优动作价值函数 Q*(s, a)

只要学到其中之一,就可以自动控制 Agent 玩游戏:

  • 如果知道 Policy 函数 π(a|s),就能把状态 s 作为输入,算出每一个动作的概率,然后随机抽样得到动作 a。
  • 如果知道 Q*(s, a),就能评估当前状态下每一个动作的好坏,从而选择 q 值最高的动作。
    • 例如:如果“向上跳”的动作 q 值最高,Agent 就应该向上跳。

结论: The Agent can be controlled by either π(a|s) or Q*(s, a).


📊 Value Functions

1. Action-value function (Q 函数)

  • 定义:
    Qπ(st,at)=E[Ut|St=st,At=a_t] 其中 U_t 是未来所有奖励的加权和。

  • 特点:

    • 🔗 与 policy π 有关
    • 🗺️ 与 状态 s_t 有关
    • 🎬 与 动作 a_t 有关
  • 作用:
    Qπ(st,at)statat 打分。⭐


2. State-value function (V 函数)

  • 定义:
    Vπ(s)=EA[Qπ(st,A)],A π(.|st)

  • 离散型:
    Vπ(st)=aπ(a|st)Qπ(st,a)

  • 连续型:
    Vπ(st)=π(a|st)Qπ(st,a)da

  • 特点:

    • 🔗 只和 policy π状态 s 有关
    • 与具体动作 a 无关
  • 作用:

    • 🧐 V_π(s) 可以评价当前状态的好坏(快赢了/快输了)
      • 如果 policy π 固定, 那么 s 越好,V_π(s) 的值就越大.
    • 📈 V_π(s) 还能评价 policy π 的好坏
      • 当状态确定, 若 π 越好,E_S[V_π(S)] 的平均值就越大.


⚙️ 强化学习方法

1. 价值学习 (Value-based learning)

  • 🧠 使用 DQN 近似 Q*(s, a)
  • 🔄 通过 Temporal Difference (TD) 学习网络参数

2. 策略学习 (Policy-based learning)

  • 🧩 使用 Policy Network 近似 π(a|s)
  • 📐 通过 Policy Gradient 学习网络参数(计算策略梯度并做梯度上升)

3. Actor-Critic 方法

  • 🤝 结合 Policy Network + Value Network

🌟 Example

  • AlphaGo ♟️

贡献者

The avatar of contributor named as yuki yuki

文件历史