强化学习笔记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 肯定就会采取一个往上走的策略。所以通过这个学习的值的不同,我们可以抽取出现在最佳的策略。

 参考资料:第一章 强化学习概述 (datawhalechina.github.io)

以上是关于强化学习笔记3:RL agent的主要组成部分的主要内容,如果未能解决你的问题,请参考以下文章

Easy RL:强化学习教程:什么是强化学习

强化学习7日打卡营-世界冠军带你从零实践--基于表格型方法的 RL

轻松入门强化学习的一本新书《Easy RL 强化学习教程》

强化学习笔记1:强化学习概述

强化学习入门笔记 | UCL silver RL | UC Berkely cs285 DRL

强化学习笔记: 应用举例