当前位置:   article > 正文

强化学习介绍

强化学习

1 什么是强化学习

监督学习:让系统在有标签训练集上按照每个样本对应的标签推断出相应的反馈机制,进而在未知标签上能够计算一个尽可能正常的结果

无监督学习:让系统在无标签训练集上发现隐藏的结构,自动对输入资料进行分类或分群。

强化学习:是除监督学习和无监督学习的第三种机器学习范式

在这里插入图片描述

强化学习(Reinforcement Learning, RL,评价学习、增强学习)是机器学习的范式和方法论之一,用于描述和解决agent与环境交互中,通过学习策略以达到最大化或实现特定目标的问题。

强化学习:

1、强化学习是机器学习的一种方法。

2、强化学习是agent与环境之间的交互。

3、强化学习的目标是追求最大回报或特定目标。

强化学习是一种学习如何从状态映射到行为获取奖励最大的学习机制,agent需要不断从环境中进行实验,通过环境给予的反馈(award)来不断优化状态-行为的对应关系。


2 强化学习的特征与特点

强化学习的两个特征:反复实验(trail and error)和延迟奖励(delay reward)。

强化学习的特点:

1、没有监督者,只有一个奖励信号。

2、延迟反馈,而不是即时反馈。

3、具有时间序列性质。

4、agent的行为影响后续数据。


3 强化学习的要素与框架

强化学习的要素:策略(policy)、奖励(award)、价值(value)、环境/模型(model)

3.1 Policy

policy定义一个从环境状态和agent状态行为映射。policy是强化学习的核心,

1、policy定义agent的行为。

2、policy是状态到行为的映射。

3、policy是具体的映射或随机分布。

3.2 Reward

Reward定义了强化学习的目标在每个时间步骤内,环境向强化学习发出的标量值为奖励,奖励能定义agent的好坏。

1、奖励是一个标量的反馈信号。

2、奖励表示在某一步骤agent的表现如何。

3、agent的任务就是一个时间段内积累的总奖励值最大。

3.3 Value

价值函数是对长期收益的衡量,其从一个长期的角度评判当前行为的收益

1、价值函数是对未来奖励的预测。

2、价值函数可以评估状态的好坏。

3、价值函数的计算需要对状态之间的转移进行分析。

3.4 model

强化学习有基于模型(model-based)和不基于模型(model-free)两种方法。model是对环境的模拟。

model-based:当给出状态和行为后,通过model就可以预测接下来的状态和对应的奖励。

model-free:通过对策略和价值函数分析进行学习。

1、模型能预测环境下一步的表现。

2、表现具体由预测的状态和奖励来反应。

3.5 Return(cumulative future reward) 回报|未来累积回报

t时刻的return叫做 U t U_t Ut

把t时刻开始未来所有的奖励都累加起来,一直加到游戏结束最后一个奖励 U t = R t + R t + 1 + R t + 2 + . . . R n U_t = R_t+R_{t+1}+R_{t+2}+...R_n Ut=Rt+Rt+1+Rt+2+...Rn

3.6 Discounted return 折扣回报

折扣率为 γ , γ ∈ ( 0 , 1 ) \gamma,\gamma ∈ (0,1) γγ(0,1),需要自定义。

现在奖励与未来奖励对比,未来奖励具有不确定性,于是将未来的奖励打一个折扣。

U t = R t + γ 1 R t + 1 + γ 2 R t + 2 + . . . γ n R n U_t = R_t+\gamma^1 R_{t+1}+\gamma^2R_{t+2}+...\gamma^nR_n Ut=Rt+γ1Rt+1+γ2Rt+2+...γnRn

4 强化学习流程

1.action
2.reward
3.observation
agent state
model

1、首先agent根据当前状态 S t a S_t^a Sta做出一个行为 A t A_t At对model产生一个影响

2、然后model对agent反馈一个奖励信号 R t R_t Rt

3、此时agent从model中发现一些信息 O t O_t Ot

4、最后agent进入一个新状态,依次类推。


5 例子 马里奥 (一定要看)

以马里奥游戏为例子:

5.1 定义

state为环境状态,当前状态就是游戏此刻的画面。

action为向左、向右、上挑三个动作。

agent就是马里奥(在一个应用中谁做动作,谁就是agent)

model是游戏程序。

5.2 policy

policy为 π \pi π函数,其根据观测到的state进行决策,控制agent运行。 π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s)=P(A=a|S=s) π(as)=P(A=aS=s),在当前状态 s s s下,做出动作 a a a的概率密度。

将当前state(画面)输入到policy函数 π \pi π中,此刻会计算出向左、向右、向上的概率,根据此概率选择一个action,或者根据一个确定的policy选择action。

例如: a = ′ l e f t ′   o r   ′ r i g h t ′   o r   ′ u p ′ a ='left' \ or\ 'right'\ or\ 'up' a=left or right or up

π ( l e f t ∣ s ) = 0.2 \pi(left|s)=0.2 π(lefts)=0.2

π ( r i g h t ∣ s ) = 0.1 \pi(right|s)=0.1 π(rights)=0.1

π ( u p ∣ s ) = 0.7 \pi(up|s)=0.7 π(ups)=0.7

5.3 reward

agent做出一个动作,游戏就会给出一个奖励(该奖励需要自定义),马里奥每吃到一个金币,奖励 R + = 1 R+=1 R+=1,强化学习的目标就是使获得的奖励总和尽量高。

5.4 状态转移 state transition

当前state下,马里奥每做一个动作,游戏就会给出一个新状态,这个过程叫状态转移,状态转移可以是固定的或随机的。

状态转移p函数: p ( s ′ ∣ s , a ) = P ( S ′ = s ∣ S = s , A = a ) p(s'|s,a)=P(S'=s|S=s,A=a) p(ss,a)=P(S=sS=s,A=a)

5.5 agent与环境交互

agent是马里奥,当前状态是 S t S_t St,动作是 a t a_t at

agent根据 S t S_t St做出一个 a t a_t at,model根据 a t a_t at会反馈奖励reward。



6 强化学习的随机性

6.1 动作随机性

policy函数 π \pi π控制agent,给定当前状态S,按照policy输出概率随机抽样,获得动作action。

State
left
π(left|s)=0.2
up
π(up|s)=0.7
right
π(right|s)=0.1

6.2 状态转移随机性

当agent做出动作后,model用状态转移函数p算出概率,然后使用随机抽样得到下一状态S‘。

State
agent
State1'
p(State1'|s,a)=0.3
State2'
p(State2'|s,a)=0.7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/368616
推荐阅读
相关标签
  

闽ICP备14008679号