【强化学习入门笔记】1.1基本概念

科技   2024-11-05 08:05   上海  

本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记.

课程视频网址:https://space.bilibili.com/2044042934

1.1.1 网格世界示例

首先给出了课程中需要用的模拟场景: 一个有边界的网格世界. 由起点, 终点和禁止网格. 目的是得到一条从起点到终点的最优路径.

1.1.2 State, Action, Policy 状态, 动作, 策略

1.1.2.1 状态和状态空间

在网格世界示例中, 我们将状态定义为栅格的索引.  实际上, 更复杂的建模状态中可以包含:速度, 加速度, 角速度等等信息.

将一系列状态放进一个集合中称之为状态空间

1.1.2.2 动作和动作空间

如上图所示, 我们将动作定义为:向上走, 向右走等等.  将一系列动作放进一个集合中称之为动作空间

每一个状态都有对应的动作空间, 比如对于左上角栅格状态, 它能采取的动作只有向右, 向下和不动. 因此它的动作空间为:

也就是说, 动作空间是一个关于状态空间的函数:

1.1.2.3 状态转移

执行向右的动作到, 可以写作:

一般的, 采取动作从一个状态转移到另一个状态的过程, 定义为状态转移:

我们列举出了网格世界示例中, 所有的状态转移组合:

如果我们用条件概率来表达状态转移:

1.1.2.4 Policy 策略

策略是指对于每一个状态而言, 为了抵达目的应该采取的动作称之为策略. 比如上图给出了在不同状态下, 绿色箭头就是对应的策略.

我们将策略定义为, 也就是当状态为时采取动作的概率, 上图的策略可以写成:

如上图, 如果策略可以按概率采取不同的动作, 则可以写成:

在程序中, 我们常常使用一个矩阵来表达完整的策略分布:

1.1.3 Reward, Return

1.1.3.1 Reward 奖励

Reward是指采取动作之后, 得到的奖励值, 是一个标量. 奖励值越高, 采取的动作越受鼓励, 因此我们需要设计合适的Reward 函数来鼓励智能体采取我们希望的动作.

我们将处于状态s, 执行动作a, 奖励函数定义为:

以网格世界为例, 我们可以设计如下奖励:

  • 如果智能体越过边界, 或者走到禁止网格, 则奖励值为-1
  • 如果智能体抵达目的, 则奖励值为1
  • 其他情况, 奖励值为0

所以可以写出: , ,

1.1.3.2 Trajectories, returns

我们将一组连续的状态定义为Trajectory, 每一个状态都从上一个状态采取动作转移而来. 每次状态转移都有对应的奖励.

上图的trajectory可以写成:

将trajectory上每一步的奖励加起来, 定义为return:

如果我们在抵达终点之后, 没有中止游戏. 那么奖励值就会不停的+1导致发散:

为了解决这个问题, 可以采取discounted return, 也就是奖励值的加权和:

其中是远期奖励值的权重. 这样可以增加近期动作获得奖励的权重, 减少远期动作获得奖励的权重.

推荐阅读:

🏎️自动驾驶小白说官网:https://www.helloxiaobai.cn


自动驾驶小白说
输出专业自动驾驶算法教程的开发者社区. 🦈 官网: https://www.helloxiaobai.cn
 最新文章