ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

强化学习笔记(周博磊)

2022-06-25 01:32:36  阅读:148  来源: 互联网

标签:mathbb limits sum 笔记 周博磊 强化 pi Markov gamma


  # Lecture 1:概括与基础 和 supervised learning 的区别: * 强化学习是Sequential data作为input,每次输入并不是独立同分布 * 没有ground truth, learner不会被告知什么action是正确的。需要不断去尝试 * Trail-and-error exploration(balance between explioration and exploitation) * reward signal是延迟的
rollout:sample actions
Full observation: $O_t=S_t^e=S_t^a$ Partial observation: Partially observation Markov decision process(POMDP)


Agent: Policy, Value function, Model(agent对世界的理解) Stochastic policy: $\pi (a|s)=P[A_t=a|S_t=s]$ Deterministic policy:$a*=\mathop{\arg\max}_{a}\pi(a|s)$

Value-function: $$v_{\pi}(s)\equiv\mathbb{E}_{\pi}[G_t|S_t=s]=\mathbb{E}_{\pi}[\sum\limits_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s], s\in\mathcal{S}$$ Q-function: $$q_{\pi}\equiv\mathbb{E}_{\pi}[G_t|S_t=s, A_t=a]=\mathbb{E}_{\pi}[\sum\limits_{k=0}^{\infty}\gamma^kR_{t+k+1}|S_t=s, A_t=a]$$
## Model 预测下一步环境将会怎么做 $$\mathcal{P}_{ss'}^{a}=\mathbb{P}[S_{t+1}=s'|S_t=s, A_t=a]$$ $$\mathcal{P}_{s}^a=\mathbb{E}[R_{t}| S_t=s, A_t=a]$$

## 不同的表征: * Value-based agent: 显式输出value,隐式输出policy ![](Image/2022-01-16-09-31-22.png)
* Policy-based agent: 显式输出policy, 没有value function

* Actor-Critic agent:策略函数和价值函数都学习了
* Model based: 显式学习model
* Model free:没有model,显式学习value和policy function ![](Image/2022-01-16-09-33-01.png)



![](Image/2022-01-16-09-44-50.png)
# Lecture2: Markov ## Markov Property state历史:$h_t=\{s_1, s_2, ..., s_t\}$ 称一个 $s_t$ 是Markovian,当且仅当:$$p(s_{t+1}|s_t)=p(s_{t+1}|h_t)$$$$p(s_{t+1}|s_t, a_t)=p(s_{t+1}|h_t,a_t)$$

## Markov Process/Markov Chain * 使用状态转移矩阵$P$来描述: $P_{s,s'}(s_{t+1}=s'|s_t=s)$ ![](Images/2022-05-28-04-54-55.png) * 思考:如何通过sample一些trajectory来还原$P$?直接根据出现频率计算即可(利用Markov Property)
## Markov Reward Process * 奖励是state的函数 * 随波逐流的小船 * Horizon:一个episode中最大的步数(可以是$\infty$) * Return:$$G_t=R_{t+1}+\gamma R_{t+2}+...+\gamma^{T-t-1}R_T$$ 为什么用折扣因子? (1)防止有环 (2)未来有不确定性,尽可能尽快获得奖励 (3)对人来说,也是希望尽可能尽快收获奖励 (4)当然也可以设置成0或者1 * Value Function:$$V_t(s)=\mathbb{E}[G_t|s_t=s]$$ Bellman equation:$$V(s)=R(s)+\gamma \sum\limits_{s'\in S}P(s'|s)V(s')$$![](Image/2022-01-16-21-10-09.png) 如何计算? (1)蒙特卡洛:直接sample足够多的trajectory (2)动态规划:不断迭代Bellman方程直到收敛
## Markov Decision Process * MDP可以由确定。加入action之后的变化: $$P(s_{t+1}=s'|s_t=s,a_t=a)\\ R(s,a)=R(s_t=s,a_t=a)=\mathbb{E}[r_t|s_t=s,a_t=a]$$ * 策略和MDP是独立的,是属于agent的一部分。因此,给定一个MDP:$(S,A,P,R,\gamma)$ 和 $\pi$,就可以将MDP转化为Markov Reward Process:$(S,P^{\pi},R^{\pi},\gamma)$,其中:$$P^{\pi}(s'|s)=\sum\limits_{a\in A}\pi(a|s)P(s'|s,a)\\ R^{\pi}(s)=\sum\limits_{a\in A}\pi(a|s)R(s,a)$$ * 加入action之后,相当于状态转移加入了agent的行为,因此在计算期望时的采样也会受到策略的影响,因此:$$v^\pi(s)=\mathbb E_\pi[G_t|s_t=s]\\ q^\pi(s,a)=\mathbb E_\pi[G_t|s_t=s,A_t=a]\\ v^\pi(s)=\sum\limits_{a\in A}\pi(a|s)q^\pi(s,a)$$ * Backup:当前状态是下一状态的线性组合 $$v^\pi(s)=\sum\limits_{a \in A}\pi(a|s)R(s,a)+\gamma\sum\limits_{a \in A}\pi(a|s)P(s'|s,a)v^\pi(s') \\ q^\pi(s,a)=R(s,a)+\gamma\sum\limits_{s'\in S}P(s'|s,a)\sum\limits_{a'\in A}\pi(a'|s')q^\pi(s',a')$$
#### Policy Evaluation(Prediction):根据 $\pi$ 求 $v^\pi$ > $\textbf{Synchronous backup}$ $$v_{t+1}=\sum\limits_{a\in \mathcal{A}}\pi(a|s)R(s,a)+\gamma \sum\limits_{s'\in\mathcal{S}}\pi(a|s)P(s'|s,a)v_t(s')$$不断迭代直到收敛 [动态演示](https://cs.stanford.edu/people/karpathy/reinforcejs/gridworld_dp.html) #### Control: 输入MDP,输出最优价值函数和最优policy $$\pi^*(a|s)=\left\{ \begin{array}{lll} 1 & a=\argmax\limits_{a\in\mathcal{A}}q^*(s,a) \\ 0 & else \end{array} \right.$$
> $\textbf{Value Iteration Algorithm}$ Initialize $k=1$ and $v_0(s)=0$ for all state s $For\ k=1:H$ $\ \ \ \ \ For\ each\ state\ s:$$$q_{k+1}(s,a)=R(s,a)+\gamma\sum\limits_{s'\in\mathcal{S}}P(s'|s,a)v_k(s')\\v_{k+1}(s')=\max\limits_{a}q_{k+1}(s, a)$$ $\ \ \ \ \ k\larr k+1 $ To get optimal policy:$$\pi(s)=\argmax\limits_{a}R(s, a)+\gamma\sum\limits_{s'\in\mathcal{S}}P(s'|s,a)v_{k+1}(s')$$



# 第三讲 无模型的价值函数估计和控制 前提:不知道MDP的模型 什么是已知MDP?已知R和P
### Monto-Carlo算法: ##### 特点: * 不需要知道reward和转移概率,只需要sample足够多的trajectory然后进行平均来估计价值函数。 * booststrap:一种非参数统计方法: 在原有样本中通过重抽样(有放回的抽取,完全独立同分布)抽取一定数量的新样本,每次得到一个统计量,将这些统计量进行平均即可近似算出总体的参数估计值 * no bootstrapping(DP用的就是bootstrapping) * 不假设是MArkov的 * 使用empirical mean return而不是expected return * 只能应用于episodic MDPs(each episode terminates)
##### Empirical Mean: * $\mu_t = \frac{1}{t}\sum_i x_i=\frac{1}{t}(x_t+\sum_{i=0}^{t-1} x_i)=\frac{1}{t}(x_t+(t-1)\mu_{t-1})=\mu_{t-1}+\frac{1}{t}(x_t-\mu_{t-1})$
##### 算法: ![](Images/2022-06-22-00-23-50.png)
##### Running Mean 忘记old带来的影响 $v(S_{t})=v(S_t)+\alpha(G_t-v(S_t))$ $\alpha$越大新的带来的影响越大,大于$\frac{1}{n}$将会有遗忘效果

### Temporal-Difference(TD)Learning 特点: * 直接从trajectory经验中学习 * model-free:不需要知道R和P * 可以从incomplete episodes中学习,通过bootstrapping

标签:mathbb,limits,sum,笔记,周博磊,强化,pi,Markov,gamma
来源: https://www.cnblogs.com/yirangeng/p/16410616.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有