强化学习基本概念

📅 发布时间:2026/7/8 23:40:10 👁️ 浏览次数:
强化学习基本概念
随机变量X表示随机变量 x表示观测值。 如x是某一次抛硬币的值。概率密度函数为什么有了概率还要有概率密密度呢对于连续型随机变量如人的身高、温度其取值是无限且不可列的。问你“一个人身高恰好是180.0000…厘米的概率是多少”在数学上这个概率实际上是​​0​​因为可能的值有无限多个。但这显然不符合直觉我们仍然认为身高在180厘米附近是有可能性的。这就引出了“密度”的概念•类似于物理学中​​质量密度​​密度 质量 / 体积。你不能说一个几何点有多少质量但可以说某点附近的密度很大从而通过积分密度 × 体积求出某区域的总量。•概率密度也是如此。​​概率密度函数在某点的值本身不是概率​​但它反映了概率在该点附近的“密集程度”。概率密度越高说明随机变量落在该点附近​​极小区域​​内的​​可能性越大​​。 ​​举个例子​​这很像​​人口密度​​单位面积内的人口数和​​总人口数​​的关系•你不能说“上海市陆家嘴某个点上有多少人”但可以说“陆家嘴地区的人口密度很高”。•想知道陆家嘴街道有多少人你需要用人口密度乘以区域面积。•同样想知道随机变量如身高落在某个区间如179cm至181cm内的概率你需要对概率密度函数在该区间内进行积分。结论1.概率密度函数值不是概率​​概率密度函数在某点的函数值并非该点的概率而是概率在该点的变化率。概率密度函数值甚至​​可以大于1只要它在整个定义域上的积分总面积等于1即可2.概率通过积分获得​​只有对概率密度函数在某个区间上进行积分得到的面积才表示随机变量落在这个区间内的​​实际概率​​期望对于离散变量 和连续 变量分别如下。随机抽样状态State 、动作Action 、AgentPolicy Π 策略Policy就是 根据观测到的状态S, 做出决策动作Action , 数学上定义 Π 是一个概率密度函数 表示做某个动作的概率密度。有了Π函数 输入一个 state, 那么Π函数就会输出 采取各个动作的概率比如这里 给了当前这一帧的画面stateΠ输出三种动作的概率密度值。 那么Agent可以随机选取其中的一种Action, 就得到了一个观测值。 由于是随机抽样的Action, 所以Action是具有随机性的。为什么要让动作Action随机而不是每次都选择最大概率的Action呢 试想一下如果Π确定了那么每次输出的动作概率就是知道的哪个动作的概率最大也是知道的了。 如果是下棋 对方知道了你的Π之后就能知道你下一步要走哪里这样你就永远赢不了。当然超级玛丽 可以不用让 动作Action随机 因为对手游戏设计机制也是定好的它不会根据你的Π去调整自己所以让对手知道也无所谓你也可以赢。Reward 奖励奖励是指 对于一个动作Action 好坏的得分。 奖励的设计很重要 设计的不好可能导致 结果很差。目标是让奖励越大越好。对于超级玛丽游戏 为了让游戏通过可以这样设计Reward。吃到金币 Reward 1碰到墙Reward -1赢得游戏Reward 1000打输游戏Reward - 1000状态转移 State Transition做出一个动作之后 状态会改变 这就叫做状态转移。 那么具体是怎么改变的呢对于超级玛丽游戏来说 以我们的经验来看假如说 执行向上的动作吃了金币那么新的画面里面的金币就会减少前面这个敌人Goomba橙色的小人可能向左移动也可能向右移动具体向左西向右的概率有多大只有环境知道 我玩家并不知道。因此这里的状态是有随机性的 状态的随机性来源于环境。假设状态转移 也能用一个概率密度函数来表示 如Goomba向左移动的概率是0.8向右移动的概率是0.2 这个就是状态转移函数 但是这个函数只有环境自己知道我们是不知道的。Agent 和 Environment 交互t时刻采取了一个动作Action a_t之后 State会改变成 S_t1, 同时会给出一个奖励reward_t 表示 a_t的 好坏。随机性的两个来源Action 具有 随机性给出了一个状态S策略Π函数输出的动作是有多个的 每个有一定的概率 具体选择哪一个可以随机选取。所以说Action具有随机性。状态转移具有随机性假设 做了 up的动作 那么环境的状态State是怎么变化的呢 也是具有随机性的。可以用 概率密度函数p(s_t1 | s a) 表示 通过抽样得到下一个环境状态s_t1 具体是什么。强化学习的过程当输入一个当前的状态s1首先模型学习出来一个策略Π 具体怎么学习的先不管通过Π 得到一系列动作然后随机抽样一个动作去执行执行完动作后, 环境更新一个新的状态 s2 并且反馈一个 奖励值 r1新的状态s2作为输入 执行新的动作a2, 得到新的状态s3, 同时反馈一个奖励值r2。。。。。。循环结束后就 得到了 每个时刻的 s, ar 。 称为轨迹 TrajectoryReturn和RewardReturn就是 当前的Reward 和 未来的Reward之和。 由于未来的Reward没有当前的Reward重要 所以一般采用 Discounted return, 对未来的reward打折扣。Return的随机性Return 用U表示如果 t时刻 游戏结束了 那么所有时刻的reward都被观测到了 就用小写的字母r 表示如果 t时刻 游戏还没有结束 那么未来的reward还不确定还是随机变量没有被观测到具体是多少 用大写的R表示上面讲了随机性来源于两个方面 动作和状态转移。U取决于未来时刻的R R取决于Action 和 State, 因此U的大小取决于当前时刻和未来时刻的 A, 以及未来时刻的SValue Function动作价值函数Q上面学习了Ut是具有随机性的 随机性来源于 未来时刻的Action和State, 而Action和State是 可以用函数表示的如下图所示的Policy function 和 State transition 。其中 Policy function 的含义是 输入当前状态s, 输出的动作的概率分布如 left0.1, right0.2, up0.7; State transition 表示给出s和采样的动作a, 得到的新状态的概率分布如Gooma向左0.2 向右0.8。又因为未来时刻还没有被观测到是个随机变量换句话说就是有很多可能性 而当前时刻已经观测到了是个具体的值 因此我们可以把当前时刻但当作常量那么可以带入这两个函数 对Ut求期望 得到的期望即为 Q (动作价值函数)。Q与 s_t和a_t 有关它和Policy函数Π也有关系 因为Π决定了 输出的动作概率。不同的Π 得到的动作概率不一样 那么随机抽取到的动作a也不一样。Q函数的含义是 对于一个固定的Π策略当我有了s 和 a之后 输入到Q函数种 就能达到对应的 Return的期望值这个值越大代表 Return越大可以用来反映 a 的好坏。有很多个Π可以选当我们选了一个最好的Π函数之后得到的 Q* 叫做最优的动作价值函数。状态价值函数V状态价值函数是 对 Q 函数求期望 因为Q函数里面的Action是个随机变量 我们可以对它求期望。这个函数的意义是 加入给定了一个策略Π 输入当前的状态s, 可以得到值V, 可以反映当前的状态的好坏是快赢了还是快输了。对于连续变量如自动驾驶种的 方向盘的角度 是连续的。总结对U求期望 → Q 反映a的好坏对Q求期望 → V 反映s的好坏对V求期望 → Es(V(S)) 反映策略Π的好坏AI如何控制Agent达到目的策略学习 Policy Learning可以学习出来一个策略在该策略下抽样得到的a来控制Agent执行动作。最优动作价值函数可以学习一个Q*, 有了Q*就可以评价当前动作Q代表的是未来的Return的期望 Q越大说明这个a越好。举例总结概念总结接下来学习