强化学习笔记3:RL agent的主要组成部分
Posted 刘文巾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习笔记3:RL agent的主要组成部分相关的知识,希望对你有一定的参考价值。
对于一个强化学习 agent,它可能有一个或多个如下的组成成分:
-
策略函数(policy function)
,agent 会用这个函数来选取下一步的动作。 -
价值函数(value function)
,我们用价值函数来对当前状态进行估价,它就是说你进入现在这个状态,可以对你后面的收益带来多大的影响。当这个价值函数大的时候,说明你进入这个状态越有利。 -
模型(model)
,模型表示了 agent 对这个环境的状态进行了理解,它决定了这个世界是如何进行的。
1 policy
Policy 是 agent 的行为模型,它决定了这个 agent 的行为,它其实是一个函数,把输入的状态变成行为。这里有两种 policy:
从 Atari 游戏来看的话,策略函数的输入就是游戏的一帧,它的输出决定你是往左走或者是往右走。
1.1 随机性策略的优点
通常情况下,强化学习一般使用随机性策略
。随机性策略有很多优点:
-
在学习时可以通过引入一定随机性来更好地探索环境;
-
随机性策略的动作具有多样性,这一点在多个智能体博弈时也非常重要。采用确定性策略的智能体总是对同样的环境做出相同的动作,会导致它的策略很容易被对手预测。
2 价值函数
价值函数是未来奖励的一个预测,用来评估状态的好坏。
价值函数里面有一个 discount factor(折扣因子)
,我们希望尽可能在短的时间里面得到尽可能多的奖励。
如果我们说十天过后,我给你 100 块钱,跟我现在给你 100 块钱,你肯定更希望我现在就给你 100 块钱,因为你可以把这 100 块钱存在银行里面,你就会有一些利息。
所以我们就通过把这个折扣因子放到价值函数的定义里面,价值函数的定义其实是一个期望,如下式所示:
s表示状态
表示一个策略函数
表示状态是s的时候,使用策略的价值函数
表示t时刻的状态是s
表示t时刻的收益
指t时刻状态时s的时候,使用 策略的期望收益
其中也就是说,是t之后时刻的reward经过折扣之后的总和
注:这里的期望,我觉得是对的期望,因为这里应该是一个随机策略,那么不同的策略,不同的概率,会得到一个期望(也不一定对哈,还请大家指正)
2.1 Q函数
我们还有一种价值函数:Q 函数。Q 函数里面包含两个变量:状态和动作,其定义如下式所示:
大体上的参数和前面的V类似,唯一的区别是,V只考虑了状态s这一个因素;Q考虑了当前状态s和当前的行为a两个因素。
你未来可以获得多少的奖励,它的这个期望取决于你当前的状态和当前的行为。这个 Q 函数是强化学习算法里面要学习的一个函数。因为当我们得到这个 Q 函数后,进入某一种状态,它最优的行为就可以通过这个 Q 函数来得到。
3 model
第三个组成部分是模型,模型决定了下一个状态会是什么样的,就是说下一步的状态取决于你当前的状态以及你当前采取的行为。它由两个部分组成,
4 以走迷宫为例
我们来看一个走迷宫的例子。
- 要求 agent 从 start 开始,然后到达 goal 的位置。
- 每走一步,你就会得到 -1 的奖励。
- 可以采取的动作是往上下左右走。
- 当前状态用现在 agent 所在的位置来描述。
如果采取的是
基于策略的(policy-based)RL
,当学习好了这个环境过后,在每一个状态,我们就会得到一个最佳的行为。比如说现在在第一格开始的时候,我们知道它最佳行为是往右走,然后第二格的时候,得到的最佳策略是往上走,第三格是往右走。通过这个最佳的策略,我们就可以最快地到达终点。
如果换成
基于价值的(value-based)RL
这个算法,利用价值函数来作为导向,我们就会得到另外一种表征,这里就表征了你每一个状态会返回一个价值。比如说你在 start 位置的时候,价值是 -16,因为你最快可以 16 步到达终点。因为每走一步会减一,所以你这里的价值是 -16。
当我们快接近最后终点的时候,这个数字变得越来越大。在拐角的时候,比如要现在在第二格 -15。然后 agent 会看上下,它看到上面值变大了,变成 -14 了,它下面是 -16,那么 agent 肯定就会采取一个往上走的策略。所以通过这个学习的值的不同,我们可以抽取出现在最佳的策略。
以上是关于强化学习笔记3:RL agent的主要组成部分的主要内容,如果未能解决你的问题,请参考以下文章
强化学习7日打卡营-世界冠军带你从零实践--基于表格型方法的 RL