深度强化学习-强化学习基础(二)

基本概念:

强化学习对于初学者来说会有专业名词,先对其进行解释。


状态(state):状态是环境中的一个位置信息,状态是做决策的唯一依据

状态空间(state space):所有可能存在状态的集合,可能是有限集,也可能是无限集。

状态转移(state transition):当前状态s变为新的状态s1。给定当前状态s,智能体动作a,由状态转移函数给出下一个状态s1.

状态转移函数(state-transition function):环境用于生成新的状态s1时用到的函数。当s和a都确定下来,下一个状态仍然具有随机性,下一个状态可能有多个,每个状态对应不同的概率,因此最后进行随机抽样。状态转移函数也是概率密度函数\small p\left ( s'|s,a \right ),给定当前状态s,当前动作a,最终输出所有可能的下一个状态的概率。

随机状态转移函数:是条件概率密度函数,即观测到当前状态 s 以及动作 a,那么 p 函数输出状态变成 s1 的概率

动作(action):做出的决策,是根据状态做出的。

动作空间(action space):所有可能动作的集合,如超级玛 丽的例子中,动作空间是 A = {左, 右, 上}。

智能体(agent):做动作的主体。

策略函数(policy function):根据状态做出决策,进而控制智能体的运动。强化学习的最终目的就是学习策略函数。给定当前状态s,策略函数会算出每个动作的概率值,到真正选取的时候会进行随机抽样,结果带有随机性\small \pi \left ( a|s \right )是一个概率密度函数,就是给定状态s,选择动作a的概率。

奖励(reward):当智能体做了某个动作或者到达某个状态后环境给予的反馈数值。给定当前状态st和动作at就能唯一确定奖励rt。如果给定t时刻状态,但动作未知则奖励未知。在一般情况下奖励rt取决于st,at,\small s_{t+1}。给定当前状态和动作新的状态不一定是一定的,可能会有环境中其他随机因素的影响。

环境(environment):谁能生成新的状态谁就是环境

智能体与环境交互(agent environment interaction):是指智能体观测到环境的状态s,做出动作 a,动作会改变环境的状态,环境反馈给智能体奖励 r 以及新的状态 s1。

轨迹(trajectory):在一回合(episode)游戏中智能体观测到的所有状态,动作,奖励。

动作的随机性来自于策略函数,状态的随机性来自于状态转移函数。

随机性的来源:第一个随机性从智能体的动作来的,动作是根据策略函数随机抽样得到的,用策略函数控制智能体,给定s,a是在策略函数下的随机抽样。另一随机性来自状态转移,在s和a确定,下一状态具有随机性,随机抽样得到下一个状态。


回报(return)与折扣回报(discounted return):

回报是折扣率等于 1 的特殊折扣回报

回报是从当前时刻(t)开始到一回合结束的所有奖励的总和,所以回报也叫做累计奖励 (Cumulative Future Reward)。所以智能体的目标就是让回报尽量大,越大越好。强化学习的目标就是寻找一个策略,使得回报的期望最大化。因此像一些实际问题中我们要设置不同的奖励,例如马里奥游戏,吃金币奖励为1,最终过关奖励为100。如果吃金币奖励设置太大,智能体会一直执着于吃金币而丧失了最终目标。强化学习的目标是最大化回报,而不是最大化当前的奖励。要追求胜利或者过关而不能执着于当前奖励。\small U_{t}是一个随机变量,依赖于未来所有的动作以及未来所有的状态,对\small U_{t}求期望就得到动作价值函数\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )

折扣回报 (Discounted Return),是给未来的奖励做折扣。对待越久远的未来,给奖励打的折扣越大。折扣率是个超参数,需要手动调;折扣率的设置会影响强化学习的结果。


价值函数:

动作价值函数\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )。对于t时刻以后的状态和动作求条件期望,其中st,at是已经观测到的值,条件期望的结果被称为动作价值函数\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )。t时刻动作价值函数\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )依赖于:1.当前状态,2.当前要执行的动作,3.策略函数,策略函数决定未来动作的好坏。  

详细解释一下为什么要有动作价值函数,以及动作价值函数是怎么来的:我们之前讲到Ut是对从t时刻起到结束所有奖励的和,但是未来的事情还没发生,以抛硬币为例你并不知道你未来抛硬币得到的是正面还是反面,回报Ut依赖于未来所有动作和未来所有状态,说白了Ut也是个随机值,不确定。因此用回报Ut来预测当前形势是不现实的,因此我们需要对Ut求期望,把里面的随机性用积分消除,得到的就是个实数,这个实数就记作动作价值函数\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )

\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )求期望,把里面的动作a作为随机变量,关于a求期望把a消掉就得到状态价值函数\small \small V_{\pi }\left ( s_{_{t}} \right )。具体计算就是对\small \pi \left ( a|s \right )得到的动作概率与\small Q_{\pi }\left ( s_{_{t}},a_{t} \right )回报的期望求积分或连续求和。

最优动作价值函数\small \small Q_{\bigstar }\left ( s_{_{t}},a_{t} \right ):表示选择最优策略时的动作价值函数。选择不同的策略会有不同的值,最优策略就是值最大的那个。

状态价值函数\small \small V_{\pi }\left ( s_{_{t}} \right ):把动作a消除,关于at求期望,此时at是随机变量。此时的状态价值函数只依赖于当前状态和策略,而不依赖于动作。可以用来衡量策略以及状态的好坏。


价值学习:学习最优价值函数,有了最优策略函数以及对应的Q值,我们可以根据Q值来评判当前动作的好坏,最终选择使得Q值最大的那个动作,因此也就有了智能体的决策。

策略学习:学习策略函数,有了策略函数,就可以计算所有动作的概率值,进行随机抽样选取一个动作执行。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值