强化学习-基本概念

强化学习入门

强化学习(reinforcement learning, RL)

Basic

  • Agent
  • Environment
  • Goal

Agent在于Environment的互动过程中,完成Goal

Main

  • State
  • Action
  • Reward

在State下,做出Action,改变State,以此往复。
Reward则是做出Action后的反馈

RL最大化总的奖励,Reward即时,Goal长远

Core

  • Policy
  • Value

Policy: 采取何种策略?State->Action
Value:State Value 输入State 输出能获得最大价值,State-Action Value 输入State,Action 输出价值


智能体的目标就是让预期累积奖励最大化
Gt=Rt+1+Rt+2+...G_t = R_{t+1} + R_{t+2} + ...
如果考虑到奖励越来越难以获得,则改写为
Gt=Rt+1+γRt+2+γ2Rt+3+...G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ...
γ[0,1)\gamma \in [0, 1),越大表示越在意长期奖励,越小表示越在意短期奖励

任务分类

片段性任务
有起点,终点,之间有一堆状态,一堆行动,一堆奖励,和一堆新的状态。每次结束后,会计算奖励的累积值,以此来评估表现。下一次重新开始时,会更优经验,因此经历的越多,智能体的表现会越好。

连续性任务
没有终点,比如自动驾驶。可通过差分学习,没经过一个时间片都会进行学习

奖励 Reward

奖励的设置很重要
比如:吃到金币+1,赢得游戏+10000,输掉游戏-10000

状态转移

由s和a生成
old -> new
可以是确定的,也可以是随机的
p(ss,a)p(s'|s, a)

三种方法

基于价值(Value-Based)
目标为优化价值函数V(s)
这个函数表示了在每个状态里得到的未来奖励最大预期(Maximum expected future reward)
比如可以表示为 vπ(s)=Eπ[Rt+1+γRt+2+...St=s]v_\pi(s) = \mathbb{E_\pi}[R_{t+1} + \gamma R_{t+2} + ...|S_t = s]
后面每一步采取当前函数值最大的(Q值)行动

基于策略(Policy-Based)
直接优化策略函数π(s)\pi(s),不使用价值函数
策略是评判Agent在特定时间点的表现 a=π(s)a=\pi(s),把每个状态和对应的最佳行动建立联系
π(as)=P[At=aSt=s]\pi(a|s) = \mathbb{P}[A_t=a|S_t=s] 在状态s下选择动作a的概率
策略又可以分为两种:

  1. 确定性策略:每一个状态下的策略,永远都会给出相同的行动
  2. 随机性策略:策略给出的是多种行动的可能性分布

基于模型(Model-Based)
对环境建模,每个环境都要有一个不同的模型,这也是不常用的原因。

深度强化学习

在强化学习过程中使用深度神经网络
Q学习:传统算法创建Q-table,帮助Agent找到下一步要采取的行动
DQN(Deep Q Neural network):使用神经网络近似Q值

基本过程

environment 传递statetstate_t给 agent
agent做出动作 ata_t 然后环境更新状态 statet+1state_{t+1},并获得奖励rtr_t

理解随机性来源

  1. 来源于状态s,给定状态s,策略会输出不同action的概率
  2. 来源状态转移,给定状态s和动作a,会随机生成新的状态s’

轨迹 Trajectory

(state, action, reward):
s1,a1,r1,s2,a2,r2,...,sT,aT,rTs_1, a_1, r_1, s_2, a_2, r_2, ..., s_T, a_T, r_T

回报 Return

cumulative future reward
t时刻的回报 Ut=Rt+Rt+1+...U_t = R_t + R_{t+1} + ...

Discounted return
Ut=Rt+γRt+1+γ2Rt+2...U_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} ...
γ\gamma为超参数

回报的随机性 Randomness in Returns

价值函数 Value Functions

Action-value function
动作价值函数:
我们并不知道UtU_t的具体值,因此我们只能进行期望估计:
Qπ(st,at)=E[UtSt=st,At=at]Q_{\pi}(s_t, a_t) = \mathbb{E}[U_t|S_t = s_t, A_t = a_t]

告诉我们在policy函数π\pi下,在状态s下做动作a是好还是坏

Optimal action-value function
最优动作价值函数
Q(st,at)=maxπQπ(st,at)Q^*(s_t, a_t) = \mathop{max}\limits_{\pi} Q_\pi (s_t, a_t)

State-value function
状态价值函数:当前局势好不好


强化学习-基本概念
https://dreamerland.cn/2024/01/18/深度学习/强化学习1/
作者
Silva31
发布于
2024年1月18日
许可协议