一、简介
RL与其他ML的区别(特点):
无监督,只有奖励信号
反馈延迟
时间顺序:动态系统,受不同环境影响很大
采用不同的措施应对不同的环境:独立同分布数据不符合RL
假设:
量化奖励信号,通过最大化累积奖励进行训练。
对于多目标,不同目标设置不同权重值的奖励,以达到累积奖励最大化的目标
input: 观察,奖励
output:动作
无法控制外部环境,只能产生动作
个体和环境 Agent & Environment
环境可以:
- 接收个体的动作 A t A_t At ,
- 更新环境信息,同时使得个体可以得到下一个观测 Q t + 1 Q_{t+1} Qt+1,
- 给个体一个奖励信号 R t + 1 R_{t+1} Rt+1
history and state:
关系:
agent根据history决定action
环境根据history决定下一个观察和奖励
由于history数据太过庞大,且满足马尔可夫性质,state是history的总结
环境状态: S t e S_t^e Ste
agent状态: S t a S_t^a Sta agent state决定下一步动作的信息
环境状态
是环境的私有呈现,包括环境用来决定下一个观测/奖励的所有数据,通常对个体并不完全可见,也就是个体有时候并不知道环境状态的所有细节。即使有时候环境状态对个体可以是完全可见的,这些信息也可能包含着一些无关信息。
个体状态
是个体的内部呈现,包括个体可以使用的、决定未来动作的所有信息。个体状态是强化学习算法可以利用的信息,它可以是历史的一个函数: S t a = f ( H t ) S_{t}^{a}=f\left(H_{t}\right) Sta=f(Ht)
信息状态
包括历史上所有有用的信息,又称Markov状态。
全观察: O t = = S t e = = S t a O_t == S_t^e == S_t^a Ot==Ste==Sta
部分观察: S t e ! = S t a S_t^e != S_t^a Ste!=Sta
个体必须构建它自己的状态呈现形式,
-
记住完整的历史: S t a = H t S_{t}^{a}=H_{t} Sta=Ht
-
Beliefs of environment state:此时虽然个体不知道环境状态到底是什么样,但个体可以利用已有经验(数据),用各种个体已知状态的(贝叶斯)概率分布作为当前时刻的个体状态的呈现:
-
Recurrent neural network:不需要知道概率,只根据当前的个体状态以及当前时刻个体的观测,送入循环神经网络(RNN)中得到一个当前个体状态的呈现:
agent的组成部分:
策略:表现形式,决定agent行为
奖励:对未来奖励的预测,用来评价当前状态的好坏程度。当面对两个不同的状态时,个体可以用一个Value值来评估这两个状态可能获得的最终奖励区别,继而指导选择不同的行为,即制定不同的策略。同时,一个价值函数是基于某一个特定策略的,不同的策略下同一状态的价值并不相同。
模型:agent认为的环境:next state and reward(不是必须的)
RL and planning:
学习:环境初始时是未知的,个体不知道环境如何工作,个体通过与环境进行交互,逐渐改善其行为策略。
规划: 环境是已知或近似已知的,个体并不与环境发生实际的交互,而是利用其构建的模型进行计算,在此基础上改善其行为策略。
一个常用的强化学习问题解决思路是,先学习环境如何工作,也就是了解环境工作的方式,即学习得到一个模型,然后利用这个模型进行规划。
Exploration and exploitation:
Exploration:找到更多关于环境的信息
Exploitation:利用已知信息最大化奖励
prediction and controll:
在强化学习里,我们经常需要先解决关于预测(prediction)的问题,而后在此基础上解决关于控制(Control)的问题。
- 预测:给定一个策略,评价未来。可以看成是求解在给定策略下的价值函数的过程。eg.找到一个价值函数适配统一的随机策略
- 控制:找到一个好的策略来最大化未来的奖励
二、MDP
(马尔可夫决策过程)MDP:描述一种可完全观察的环境(如果只能观察到部分环境,也能转化为完全观察的环境)
马尔可夫性质/马尔可夫链/马尔可夫链:t+1时刻的状态仅取决于t时刻的状态,与之前的状态无关
马尔可夫过程/马尔可夫链:
元祖:<S,P>
S:状态
P:转换概率
(马尔可夫奖励过程)MRP:
<S,P,R,r>
R:s状态下,t+1时刻的奖励
r:折扣因子
使用折扣计算的原因:
从数学上可以避免在计算return时因陷入循环而无法求解
反映了远期奖励对于当前状态具有一定的不确定性
目标:
G t G_t Gt:RL的目标,累积奖励最大化。从某一个状态 St 开始采样直到终止状态时所有 奖励的有衰减的之和。
用来反映一个状态的重要程度
由于 G t G_t Gt本身具有局限性,所以引入value function来描述状态的重要性。
如果序列本身可以终结,那么r可以取值为1
value函数:
在状态s下,MRP获得的(累积)奖励的期望。一个状态的价值就是该状态(在不同状态序列下)的收获的期望。
当采样生成的状态序列越多,计算得到的平均收 获就越接近该状态的价值,因而价值可以准确地反映某一状态的重要程度。
价值函数建立了从状态到价值的映射。
bellman公式:迭代方法
Value function可以分为两部分:
及时奖励 R t + 1 R_{t+1} Rt+1
之后一系列的折扣奖励 r v ( S t + 1 ) rv(S_{t+1}) rv(St+1)=>下一时刻的折扣奖励
MDP:MRP引入决策过程
<S,A,P,R,r>:
A:一组动作的有限集合
MDP:
策略:当前状态下采取的动作(与时间步无关,任意时刻
在该状态下
采取的动作是一样的)
基于状态的价值函数:基于某种策略下产生不同的动作所获得的价值
v π ( s ) = m a x ∗ q ∗ ( s , a ) v_\pi(s) = max_{*}q_{*}(s,a) vπ(s)=max∗q∗(s,a)
基于动作的价值函数:
与MRP类似,在某个状态下,只做出该动作获得的价值