文章目录
- 📚 核心结论(塔尖):MDP建模环境+奖励信号指导学习+价值函数和策略函数+策略梯度+深度强化学习,通过交互学习最优策略
- 一、MDP环境建模:用数学模型描述环境
- 二、奖励信号:学习的唯一指导
- 三、价值函数:评估状态和动作的长期价值
- 四、策略函数:行为选择规则
- 五、策略梯度方法:直接优化策略
- 1. REINFORCE算法:使用完整轨迹估计梯度
- 2. Actor-Critic方法:结合策略和价值
- 3. 基线方法:减少方差
- 六、深度强化学习:解决复杂决策问题
- 七、方法选择:根据问题特点权衡
⏱️预计阅读时间:40-50分钟
🎯学习目标:学会怎么通过与环境交互学习最优策略,怎么用MDP建模环境,怎么用奖励信号指导学习,怎么用价值函数和策略函数学习最优行为
📚 核心结论(塔尖):MDP建模环境+奖励信号指导学习+价值函数和策略函数+策略梯度+深度强化学习,通过交互学习最优策略
当你需要设计一个能够通过与环境交互学习最优策略的智能体时,面临的核心问题是:不是通过老师指导(监督学习),而是通过试错和奖励反馈(强化学习)来学习。就像学骑自行车,没有人告诉你每一步该怎么做,只能通过不断尝试,摔倒了(负奖励)就调整,骑稳了(正奖励)就继续,最终学会骑自行车。
强化学习解决的核心问题是怎么设计一个能够通过与环境交互学习最优策略的智能体,解决复杂的决策问题。这需要解决几个核心问题:
怎么用MDP建模环境?就像你要在一个迷宫中找路,需要知道:你现在在哪里(状态)、可以往哪个方向走(动作)、走对了有什么奖励(奖励)、往某个方向走会到哪里(转移概率)。MDP用这四个要素描述环境,就像画一张地图,告诉智能体这个环境是什么样的,可以怎么行动。
怎么用奖励信号指导学习?就像训练小狗:做对了给零食(正奖励),做错了不给(负奖励),小狗慢慢学会什么该做什么不该做。智能体也一样,奖励高的行为会多做,奖励低的行为会少做,通过不断试错,最终学会最优策略。
怎么用价值函数和策略函数学习最优行为?就像下棋时,你不能只看这一步能得多少分,要考虑这一步对整盘棋的影响。价值函数告诉你"从这个位置开始,从长远来看能得多少分";策略函数告诉你"在这个位置,应该走哪一步"。两者结合:价值函数评估长期收益,策略函数选择具体行动,最终学会最优行为。
怎么用策略梯度方法直接优化策略?就像直接调整你的下棋策略,不需要先计算每个位置的价值,而是直接让策略越来越好。策略梯度方法直接优化策略函数,就像直接调整参数,使策略越来越强。
怎么用深度强化学习解决复杂决策问题?就像AlphaGo下围棋,围棋的状态空间有1 0 170 10^{170}10170种可能,不可能用表格存储每个状态的价值。这时用神经网络表示策略和价值函数,就像用大脑记住下棋的经验。训练分三步:先学人类怎么下(有监督学习),然后自己跟自己下不断改进(强化学习),最后结合搜索算法选择最佳走法(MCTS)。这样就能处理复杂决策问题。
那么,怎么用MDP建模环境?怎么用奖励信号指导学习?怎么学习最优策略?怎么解决复杂决策问题?这些正是本文要解决的核心。
一、MDP环境建模:用数学模型描述环境
当你需要让智能体在环境中做决策时,首先需要描述这个环境。就像你要在一个迷宫中找路,需要知道迷宫的结构、你在哪里、可以往哪里走、走对了有什么奖励。MDP(马尔可夫决策过程)提供了强化学习的数学框架,用状态、动作、奖励、转移概率等要素描述环境,使问题可以形式化和求解。
MDP用四个核心要素描述环境:
- 状态表示环境的当前情况,就像你在迷宫中的位置;
- 动作表示智能体可以采取的行为,就像你可以往哪个方向走;
- 奖励表示环境对动作的反馈,就像走对了有奖励,走错了有惩罚;
- 转移概率表示状态转移的概率,就像你往某个方向走,会以多大概率到达哪个新位置。
马尔可夫性是MDP的核心假设:未来只依赖于当前状态,不依赖过去。就像你决定下一步怎么走,只需要知道现在在哪里,不需要记住之前是怎么走过来的。这个假设简化了问题,使强化学习可以高效求解。
二、奖励信号:学习的唯一指导
奖励信号是学习的唯一指导,智能体通过最大化累积奖励来学习最优策略。奖励高的行为被加强,奖励低的行为被减弱,就像通过奖励和惩罚来学习。
奖励信号包括两种:
- 即时奖励是每个动作的即时反馈,就像你走了一步,立即知道这一步好不好;
- 累积奖励是长期累积的奖励,就像你走完整个路径,看总的奖励是多少。智能体的目标是最大化累积奖励,而不是只看眼前的即时奖励。
奖励函数的设计对学习至关重要。奖励可能是延迟的,比如下围棋,只有下完一盘才知道输赢,中间每一步都没有明确的奖励。这时需要平衡即时奖励和长期奖励,既要考虑立即的奖励,也要考虑长期的奖励。就像下棋时,不能只看眼前的一步,要考虑整盘棋的走势。
三、价值函数:评估状态和动作的长期价值
当你需要在多个选择中做决策时,不能只看眼前的奖励,要考虑长期后果。就像下棋时,不能只看这一步能得多少分,要考虑这一步对整盘棋的影响。价值函数使智能体能够评估不同选择的长期价值,做出更好的决策。
价值函数有两种:
- 状态价值V ( s ) V(s)V(s)评估状态的长期价值,就像评估"在这个位置,从长远来看能获得多少奖励";
- 动作价值Q ( s , a ) Q(s,a)Q(s,a)评估动作的长期价值,就像评估"在这个位置,采取这个动作,从长远来看能获得多少奖励"。
贝尔曼方程提供价值函数的递归定义:当前价值等于即时奖励加上未来价值的折扣和。就像评估一个位置的价值,等于这一步的奖励,加上下一步可能到达位置的价值。这样,价值函数可以递归计算,不需要等到游戏结束。
最优价值是最优策略对应的价值函数,表示如果按照最优策略行动,从某个状态或采取某个动作,能获得的最大累积奖励。找到最优价值,就找到了最优策略。
四、策略函数:行为选择规则
价值函数告诉你"这个状态或动作值多少",但最终还是要决定"在什么情况下做什么"。策略函数决定在给定状态下选择哪个动作。
策略函数有两种:
- 确定性策略在给定状态下,确定选择某个动作,就像"在这个位置,总是往右走";
- 随机策略在给定状态下,按概率选择动作,就像"在这个位置,80%概率往右走,20%概率往上走"。随机策略可以增加探索,避免总是走同一条路。
最优策略是最大化累积奖励的策略,表示如果按照这个策略行动,能获得最大的累积奖励。就像找到一条从起点到终点的最优路径,每一步都选择能获得最大累积奖励的动作。
策略改进通过逐步改进策略找到最优策略。就像先有一个简单的策略,然后根据价值函数评估,找到更好的策略,不断改进,最终找到最优策略。
五、策略梯度方法:直接优化策略
之前的方法(如价值函数)是间接的:先评估价值,再根据价值选择动作。
策略梯度方法更直接:直接优化策略函数,使用梯度上升最大化期望累积奖励。策略梯度方法特别适合连续动作空间和高维状态空间。比如控制机器人,动作是连续的角度值,不是离散的"左转、右转",这时用策略梯度方法更合适。
1. REINFORCE算法:使用完整轨迹估计梯度
REINFORCE算法是策略梯度的基础方法。它的思路很简单:通过多次尝试,根据结果调整策略。就像你下了一盘棋,赢了就加强这盘棋中采取的策略,输了就减弱。
REINFORCE算法使用完整轨迹估计梯度:需要等到游戏结束,知道整条轨迹的累积奖励,才能更新策略。梯度估计是无偏的(估计是对的),但梯度估计的方差较大(估计不稳定),因为不同轨迹的累积奖励可能差别很大。就像你下10盘棋,有的赢了,有的输了,累积奖励差别很大,导致梯度估计不稳定。
2. Actor-Critic方法:结合策略和价值
REINFORCE算法的问题是方差大,需要等完整轨迹。Actor-Critic方法解决了这个问题:结合Actor(策略)和Critic(价值函数),Actor学习策略,Critic评估策略,Critic的评估帮助Actor更好地学习。就像有策略执行者(Actor)和价值评估者(Critic),Critic告诉Actor"这个动作比平均好多少",而不是"这个动作的绝对价值是多少"。
Actor-Critic方法的核心是优势函数:A ( s , a ) = Q ( s , a ) − V ( s ) A(s,a) = Q(s,a) - V(s)A(s,a)=Q(s,a)−V(s),表示"这个动作比平均好多少"。使用优势函数而不是绝对价值,可以减少方差,因为优势函数衡量的是相对好坏,而不是绝对价值。就像评价一个学生的表现,说"比平均分高10分"比说"得了90分"更稳定,因为平均分可能会变化。
Actor-Critic方法可以在线学习(边学边改),不需要完整轨迹。就像你下棋时,每走一步就可以根据Critic的评估调整策略,不需要等整盘棋下完。
3. 基线方法:减少方差
基线方法通过引入基线(baseline)减少策略梯度估计的方差,提高训练稳定性。就像减去一个基准值,减少方差。基线方法能够减少方差,提高训练的稳定性,同时保持梯度估计的无偏性(估计是对的)。常用的基线是状态价值函数V ( s ) V(s)V(s),表示"在这个状态下的平均价值"。
六、深度强化学习:解决复杂决策问题
当面对复杂决策问题(如围棋)时,状态空间巨大,传统方法无法处理。就像围棋有1 0 170 10^{170}10170种可能的状态,不可能用表格存储每个状态的价值。这时需要结合深度学习和强化学习:用神经网络表示策略和价值函数,用强化学习训练网络。
AlphaGo展示了深度强化学习在复杂决策问题中的强大能力。它的训练分为三个阶段:
阶段1:有监督学习。先学习人类经验,用人类棋谱训练策略网络,初始化一个不错的策略。就像先学人类怎么下棋,有一个基础。
阶段2:强化学习。通过自我对弈不断改进,策略网络和价值网络相互促进:策略网络选择走法,价值网络评估局面,两者一起训练,策略越来越好。就像自己跟自己下棋,不断改进。
阶段3:MCTS。在实际对弈时,结合策略网络、价值网络和MCTS,选择最佳走法。策略网络提供候选走法,价值网络评估局面,MCTS搜索最优路径,三者结合实现强大的决策能力。
深度强化学习的关键是分阶段训练:从基础到高级,每一步解决前一步的局限性。先学人类经验,再通过自我对弈超越人类,最后结合搜索算法实现强大能力。
七、方法选择:根据问题特点权衡
在实际应用中,不同的问题需要不同的方法。简单问题(状态空间不大)可以用MDP+价值函数,复杂问题(状态空间巨大)需要用深度强化学习。
强化学习解决的核心问题是怎么设计一个能够通过与环境交互学习最优策略的智能体,解决复杂的决策问题。
- 通过MDP建模环境(用数学模型描述环境),
- 通过奖励信号指导学习(做对了有奖励),
- 通过价值函数和策略函数学习最优行为(评估选择/选择行为),
- 通过策略梯度方法直接优化策略(直接优化策略),
- 通过深度强化学习解决复杂决策问题(结合深度学习和强化学习)。
方法选择取决于问题特点:简单问题用MDP+价值函数(状态空间不大),复杂问题用深度强化学习(状态空间巨大)。