Below you will find pages that utilize the taxonomy term “RL”
REINFORCE
Q-learning、DQN 算法都是基于价值(value-based)的方法
- Q-learning 是处理有限状态的算法
- DQN 可以用来解决连续状态的问题
在强化学习中,除了基于值函数的方法,还有一支非常经典的方法,那就是基于策略(policy-based)的方法。
对比 value-based 和 policy-based
- 基于值函数:主要是学习值函数,然后根据值函数导出一个策略,学习过程中并不存在一个显式的策略;
- 基于策略:直接显式地学习一个目标策略。策略梯度是基于策略的方法的基础。
1. 策略梯度
将策略参数化:寻找一个最优策略并最大化这个策略在环境中的期望回报,即调整策略参数使平均回报最大化。
策略学习的目标函数
- J(θ) 是策略的目标函数(想要最大化的量);
- πθ 是参数为θ的随机性策略,并且处处可微(可以理解为AI的决策规则);
- Vπθ(s0) 指从初始状态 s₀ 开始,遵循策略π能获得的预期总回报;
- Es0 是对所有可能的初始状态求期望。
DQN (deep Q network)
Q-learning 算法用表格存储动作价值的做法只在 环境的状态和动作都是离散的,并且空间都比较小 的情况下适用.
DQN:用来解决连续状态下离散动作的问题,是离线策略算法,可以使用ε-贪婪策略来平衡探索与利用。
Q 网络:用于拟合函数Q函数的神经网络
Q 网络的损失函数(均方误差形式)
Q-learing
无模型的强化学习:不需要事先知道环境的奖励函数和状态转移函数,而是直接使用和环境交互的过程中采样到的数据来学习。
1. 时序差分方法
时序差分方法核心:对未来动作选择的价值估计来更新对当前动作选择的价值估计。
蒙特卡洛方法(Monte-Carlo methods)
使用重复随机抽样,然后运用概率统计方法来从抽样结果中归纳出我们想求的目标的数值估计。
用蒙特卡洛方法来估计一个策略在一个马尔可夫决策过程中的状态价值函数:用样本均值作为期望值的估计
- 在 MDP 上采样很多条序列,计算从这个状态出发的回报再求其期望
- 一条序列只计算一次回报,也就是这条序列第一次出现该状态时计算后面的累积奖励,而后面再次出现该状态时,该状态就被忽略了。
蒙特卡洛方法对价值函数的增量更新方式
时序差分方法只需要当前步结束即可进行计算
PPO-代码实现
1. 论文详读
Proximal Policy Optimization Algorithms
2. Policy Gradient
1. 完整过程
随机初始化 actor 参数 theta
玩 n 次游戏,收集 n 个 trajectory(state、action),算出 reward
用得到的 data 去更新参数 theta
如果 R(τⁿ) 为正,梯度更新会提升该轨迹中所有动作的概率;若为负,则降低概率。
PPO-直观理解
1. 基础概念
enviroment:看到的画面+看不到的后台画面,不了解细节
agent(智能体):根据策略得到尽可能多的奖励
state:当前状态
observation:state的一部分(有时候agent无法看全)
action:agent做出的动作
reward:agent做出一个动作后环境给予的奖励
action space:可以选择的动作,如上下左右
policy:策略函数,输入state,输出Action的概率分布。一般用π表示。
- 训练时应尝试各种action
- 输出应具有多样性
Trajectory/Episode/Rollout:轨迹,用 t 表示一连串状态和动作的序列。有的状态转移是确定的,也有的是不确定的。
Return:回报,从当前时间点到游戏结束的 Reward 的累积和。
强化学习目标:训练一个Policy神经网络π,在所有状态S下,给出相应的Action,得到Return的期望最大。
强化学习-数学基础
总述
基础工具
- 基本概念:state, action, reward, return, episode, policy, mdp…
- 贝尔曼公式:用于评价策略
- 贝尔曼最优公式:强化学习的最终目标是求解最优策略
算法/方法
- 值迭代、策略迭代—— truncated policy iteration:值和策略update不断迭代
- Monte Carlo Learning:无模型学习
- 随即近似理论:from non-incremental to incremental
- 时序差分方法(TD)
- 值函数估计:tabular representation to function representation,引入神经网络
- Policy Gradient Methods:from value-based to policy-based
- Actor-Critic Methods:policy-based + value-based
强化学习-直观理解
不用告诉该怎么做,而是给定奖励函数,什么时候做好。
回归
增加折现因子
强化学习的形式化
A policy is a function $\pi(s) = a$ mapping from states to actions, that tells you what $action \space a$ to take in a given $state \space s$.
goal: Find a $policy \space \pi$ that tells you what $action (a = (s))$ to take in every $state (s)$ so as to maximize the return.
状态动作值函数(Q-Function)
Q(s,a) = Return if you:
- start in state s.
- take action a (once).
- then behave optimally after that.
The best possible return from state s is max$Q(s, a)$. The best possible action in state s is the action a that gives max$Q(s, a)$.