分类目录归档:强化学习

Dyna 算法框架

前置知识:强化学习入门Q-Learning

Dyna 框架

Dyna 是一种经典的强化学习算法

  • Dyna 会尝试从环境中学习两个独立模型(1)状态转移模型 $P$,根据当前状态 $s$ 和动作 $a$,预测下一个的状态 $s'$(2)奖励预测模型 $R$,根据当前状态 $s$ 和动作 $a$,预测环境的反馈奖励 $r$
  • Dyna 作为一类算法的总称,可以将基于模型的强化学习与无模型的强化学习进行组合,从而使得策略/价值函数既可以从环境模型中学习,也可以在与真实环境交互中学习,结合二者的优势
  • Dyna 的环境模型一般为查表法或监督学习的预测

Read more

Actor-Critic 算法

前置知识:强化学习入门Deep Q-Learning策略梯度算法

Actor-Critic

Actor-Critic (简称 AC)是一种经典的强化学习框架

  • 结合了策略(Policy Based)和价值(Value Based)
  • Actor 表示策略函数,负责动作生成与环境交互
  • Critic 表示价值函数,负责 Actor 的表现评估和指导

AC 算法的 Actor 策略函数近似 $$ \pi_{\theta}(s,a) = P(a|s,\theta)\approx \pi(a|s) $$

Read more

策略梯度算法

前置知识:强化学习入门Deep Q-Learning

策略梯度算法

策略梯度(Policy Gradient)

  • 一种基于策略(Policy Based)的基础强化学习方法
  • 区分与 TDDQN 等基于价值(Value Based)的方法
  • 策略梯度是一种在线算法,其依赖当前策略采样到的经验数据

基于价值(Value Based)方法的局限性:

  1. 离散动作空间,难以处理连续或高维的动作空间
  2. 受限状态下的问题,可能不存在基于价值的最优解
  3. 基于最大价值的策略为确定性策略,不适合随机策略问题

基于策略的

Read more

Deep Q-Learning

前置知识:强化学习入门时序差分算法 TD

Deep Q-Learning

Deep Q-Learning,简称 DQN

  • DQN 在 Q-Learning 的基础上,添加神经网络 Q 来计算价值函数
  • 网络 Q 的输入为状态向量 $\phi(S)$,输出是所有动作在该状态下的动作价值
  • DQN 通过引入网络 Q 来代替原始 Q-Learning 的 Q 表;解决了Q-Learning 只能适用于离散状态空间的局限性;因此 DQN 可用来解决连续状态下离散动作的问题

DQN 算法步骤

  1. 随机初

Read more

时序差分算法 TD

前置知识:强化学习入门蒙特卡洛法马尔可夫决策过程 MDP

时序差分算法

时序差分(temporal difference,TD)

  • 一种用来估计一个策略的价值函数的方法,结合了蒙特卡洛和动态规划算法的思想
  • 时序差分 vs 蒙特卡洛:都可以从样本数据中学习,不需要事先知道环境;但蒙特卡洛法需要完成整个序列后才能计算得到回报 $G_{t}$,而时序差分法只需要当前步结束即可进行计算
  • 时序差分 vs 动态规划:都可以根据贝尔曼方程来更新当前状态的价值估计

回顾 MDP 中状态价值函数的贝尔曼方程: $$ v_{

Read more

马尔可夫决策过程 MDP

前置知识:马尔可夫模型强化学习入门

MDP 的定义

马尔可夫奖励过程(Markov reward process,MRP)

  • 在马尔可夫过程的基础上加入奖励 $R$ 和奖励衰减因子 $\gamma$
  • 马尔可夫奖励过程中时刻 $t$ 的回报 $G_{t}$ 是未来奖励的衰减折现

$$ G_{t}=R_{t}+\gamma R_{t+1}+\gamma^2 R_{t+2}+\dots+\gamma^n R_{t+n} $$

  • 马尔可夫奖励过程中的状态价值函数 $v(s)=E[G_{t}|S_{t}=s]$

Read more

强化学习入门

强化学习的定义

强化学习(reinforcement learning,RL)

  • RL 是 Agent 通过动作与环境交互,从而实现特定目标最优化的一种计算方法
  • Agent 在环境状态为 $S_{t}$ 的情况下产生一个动作决策 $A_{t}$,并将 $A_{t}$ 作用到环境中
  • 然后环境发生相应的改变,并将相应的奖励反馈 $R$ 和下一轮状态 $S_{t+1}$ 传回机器
  • 以上交互是迭代进行的,目标是最大化在多轮交互过程中获得的累积奖励的期望

强化学习的三个基本要素:

  1. 状态 $S$,Agent 需要能感知当前环境的状态;比如 AlphaGo 需要了

Read more