0
点赞
收藏
分享

微信扫一扫

强化学习基础06——小结

ZMXQQ233 2022-01-28 阅读 108

目录

1.术语总结

2.强化学习的目的

3.强化学习具体是要学什么?


1.术语总结

 

agent就是会做动作这样一个东西,比如超级玛丽中的Mario就是agent。

agent可以跟环境Environment交互,超级玛丽中的环境就是游戏本身,Agent做出动作action,环境就会更新状态State,并且给出一个奖励reward

可以认为State就是当前屏幕上显示的画面,游戏玩家会根据这个画面进行操作,如果状态、动作、奖励等变量被观测到,就用小写字母表示,如果没观测到他们就是随机变量,用大写字母表示。

policy函数π和状态转移函数P,观测到状态S。

policy函数会输出每个动作的概率,告诉agent该做什么动作。

状态转移函数P是不知道的,环境通过函数P来随机选择下一个状态。

 return回报,就是把未来所有的奖励都加权求和,我们希望return Ut越大越好,Ut是个随机变量,随机性来自于未来所有的状态和动作。

由于Ut的随机性在t时刻我们并不知道Ut是什么,只有当agent玩完游戏Ut才能被观测到,想要在当前就对return有一个预估的话,可以对Ut求期望,把其中的随机性给去掉。

Action value function,动作价值函数,Qπ。

就是对Ut的期望。除了当前状态St和动作at,其余随机变量都被期望给消除了。

Qπ跟状态St动作at,还有policy函数π有关。

如果使用policy函数π,那么Qπ可以告诉我们在状态St的情况下做出动作at是好还是坏。

Optimal action-value function,最优动作价值函数Q*。是对Qπ球最大化,把policy函数π给去掉了,意思就是说无论用什么样的policy函数来控制agent,在状态St做动作at,最多可以获得Q*这么多的期望回报。

State value function,状态价值函数 Vπ,是再求一次期望,把Qπ中的动作a也给去掉了,Vπ可以评价状态S和policyπ的好坏,如果使用policy函数π,那么Vπ可以告诉我们,当前状态St是好是坏,快赢了还是快输了?

2.强化学习的目的

强化学习的目的就是学会怎么样控制agent,让agent基于当前的状态S来做出相应动作a。争取能在未来得到尽量多的奖励。

 

流程如上图所示,观测到状态St。agent会做出动作at,然后环境会根据St和at来更新状态,给出新的状态St+1以及奖励rt。再开始下一轮agent再做动作,环境在更新状态以及给奖励,这样一直重复到游戏结束。

3.强化学习具体是要学什么?

通常来说是学policy函数π,或者是最优动作价值函数Q*,只要有这两个中的一个,我们就可以自动控制agent自动玩游戏了。

假如知道了policy函数π,就可以把状态S作为输入,算出每一个动作的概率,然后做一个随机抽样得到动作a。

假如知道了函数Q*,就可以用它来评估当前状态下每一个动作的好坏,从而选出Q值最高的动作。

假如当前状态下向上跳的Q值最高,Agent就应该向上跳。

举报

相关推荐

0 条评论