想象你在训练一只叫旺财的小狗。你并没有给它一本《狗生指南》,而是把它领进客厅:它踱步、嗅地板、偶尔不小心坐下,你立刻丢出一颗零食;它扑向花盆时,你皱眉说“不”。半天下来,旺财居然学会了:看到你手里攥着零食时,“坐下”这个动作能换来好吃的。整个过程,没有任何老师告诉它标准答案——一切知识都来自它自己的尝试和你的反馈。这套“尝试—反馈—调整”的循环,正是强化学习(Reinforcement Learning)的骨架。本文就沿着这条“训狗线”展开:先认识智能体、环境、状态、动作、奖励这些零件,再拆解 Q-Learning 和策略梯度两大主流玩法,最后看一眼 AlphaGo 是怎么用同一套思路登顶围棋之巅的。
强化学习是 AlphaGo、机器人、自动驾驶背后的核心引擎。理解它的框架与算法思路,能帮你从“只会预测”迈入“能自主决策”的 AI 新阶段,也是许多大厂强化学习与模型对齐岗位的面试敲门砖。
目录
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
智能体与环境:训练场上的一人一狗
想象你在训练一只叫旺财的小狗。你并没有给它一本《狗生指南》,而是把它领进客厅:它踱步、嗅地板、偶尔不小心坐下,你立刻丢出一颗零食;它扑向花盆时,你皱眉说“不”。半天下来,旺财居然学会了:看到你手里攥着零食时,“坐下”这个动作能换来好吃的。整个过程,没有任何老师告诉它标准答案——一切知识都来自它自己的尝试和你的反馈。
这套“尝试—反馈—调整”的循环,正是强化学习的骨架。主角旺财叫“智能体”(Agent),客厅这个物理世界叫“环境”(Environment)。旺财每时每刻眼里的画面——自己的位置、主人的手势、零食在哪——合起来叫“状态”(State);它能做的“坐、趴、转圈”组成“动作空间”(Action Space);每次动作后换来的零食或皱眉,就是“奖励”(Reward)。智能体的使命,是学会一套“看到什么状态就做什么动作”的本领,让长期攒下的零食总量最大。
把这一幕写成数学就是一个闭环:智能体在时刻 t 观察到状态 sₜ,依某个策略选出动作 aₜ;环境收到动作后,给出奖励 rₜ₊₁ 并转入新状态 sₜ₊₁,然后下一时刻继续。环境并不按剧本走——旺财打滚时可能撞到茶几,也可能正好滚到你脚边。于是我们用“转移概率”描述环境规律:
所以,强化学习的起点一点也不神秘:把一只小狗放进环境,定义清楚状态、动作和奖励,剩下的交给“试错循环”。旺财每走一步,都是在给环境“交作业”,环境则用奖励当“批改评语”。谁是做动作的,谁是给反馈的——分清了这两张面孔,你就拿到了强化学习世界的第一把钥匙。
- 当前状态 s旺财此刻的处境,比如“坐在食盆旁、主人叉腰”。
- 动作 a旺财做出的行为,如“坐、卧、转圈”。
- 条件竖线 |表示“给定、在……的前提下”。
- 下一状态 s′动作完成后旺财进入的新处境。
- 整体含义环境不是写死剧本,而是按概率掷骰子给出下一幕。
策略与价值:手册与小算盘
训狗几天后,旺财脑子里长出了两样东西:一本“行为手册”和一把“心里的小算盘”。手册回答“现在该做什么”——看到零食就坐下;算盘回答“这样做划不划算”——眼前这个情形到底值不值得冒险。前者叫“策略”(Policy),后者叫“价值函数”(Value Function)。
策略通常记作 π(a|s),它回答:在状态 s 下,选择动作 a 的概率(或倾向)。π 可以是一张查表,也可以是神经网络。价值函数量化“好坏”:状态价值 V(s) 表示“从状态 s 出发,按现在的习惯走下去,平均能攒多少奖励”;动作价值 Q(s,a) 则表示“在状态 s 先做 a,之后按习惯走,平均能攒多少”。二者差别只在于:是否把眼前这个动作本身也算进去。
由于奖励散落在未来不同时刻,得把它们汇总成一个数。眼下的零食最实在,两小时后才兑现的大骨头要“打个折”——这个折扣率就是 γ ∈ [0,1)。从时刻 t 出发的“折扣回报”(Discounted Return)是:
有了手册(策略)和算盘(价值),还得让二者对齐:算盘越准,手册越好写。马尔可夫决策过程,就是把“未来会怎样”这件模糊的事,变成一个可以递推计算的数学模型。
- Gₜ 折扣回报把 t 时刻之后收到的所有零食折现后加起来的“总甜头”。
- 即时奖励 rₜ₊₁下一步立刻到手的零食,不打折扣。
- 折扣因子 γ一个 0 到 1 之间的小数,表示旺财对未来的耐心程度。
- γᵏ 幂次权重第 k 步之后的奖励要连续乘 k 次折扣。
- 求和符号把不同时刻的奖励统一折算后加在一起。
马尔可夫决策:鱼的记忆与人生规划
俗话说“鱼的记忆只有七秒”。马尔可夫性质就像给旺财戴了一副“记忆眼镜”:它只保留当前这一刻的画面,更早的影像一律不看。你可能会嘀咕:这合理吗?但正是这个“简化世界观”,把“预测未来”从不可能变成了可能。
马尔可夫决策过程(Markov Decision Process,MDP)是强化学习的标准数学框架,由四件套组成:状态集合、动作集合、转移概率 P(s′|s,a) 和奖励函数 R(s,a)。所谓“马尔可夫性”指的是:给定当前状态 sₜ,下一状态 sₜ₊₁ 的分布与更早的历史 s₀,…,sₜ₋₁ 无关。对训狗而言,这意味着你不需要记住旺财三天前咬过拖鞋,只要知道它此刻的状态,就足以决定下一步怎么教。
在这个框架下,策略带来的长期收益可以用“贝尔曼方程”层层拆解:当前状态的价值 = 按策略做动作后的即时奖励 + 下一步状态价值的折扣期望。
有了 MDP 这台“因果推演机”,价值函数就有了递归定义——一个状态的价值藏在下一个状态里。求解强化学习,本质上就是把这个套娃一层层拆开算清楚。旺财的小算盘,终于有了精确的计算规则。
- V^π(s)按手册 π 行动时,状态 s 的价值。
- 策略 π(a|s)手册在状态 s 下选择动作 a 的概率。
- 转移概率 P(s′|s,a)环境把 s 和 a 变成 s′ 的概率。
- 括号内 r + γV^π(s′)这一步的零食,加上下一步价值的折扣。
- 双重求和先对“动作”求期望,再对“下一状态”求期望。
Q学习算法:旺财的零食账本
旺财慢慢长大,你决定引入“零食账本”:一张巨大表格,每一行是一个状态(客厅的位置 + 你的手势),每一列是一个动作。格子里记的是“在这个情形做这个动作,平均能拿多少零食”。每尝试一次,旺财就翻开账本,把对应格子擦掉重写。这就是 Q-Learning。
Q 表的核心是“时序差分”(Temporal Difference)思想:用“这一步实际拿到的奖励 + 下一步最乐观的估计”来修正“这一步原来的估计”。换句话说,账本上的数字不是老师给的,而是旺财拿真实体验去“纠正”出来的:
Q-Learning 不需要等一个回合走完再学,走一步就更新一步,这叫“在线学习”。为了让旺财既会“利用”账本里已知的好动作,又敢“探索”没试过的动作,常用 ε-greedy:以 ε 的概率随便试一个新动作,以 1−ε 的概率选账本上估值最高的动作。
账本虽朴素,却揭示了一个深刻的道理:只要把每一步经验翻译成一个修正量,不断微调,价值函数就会像水往低处流那样一点点逼近真相。旺财的账本越记越厚,脚步也越来越自信。
- Q(s,a) 旧估值账本里“在状态 s 做动作 a”这一格原来的数字。
- 新目标真实奖励 r,加上下一步最好动作的折扣估值。
- max 取最大从下一状态所有可选动作中,挑估值最高的那个——乐观地假设下一步能做最好。
- 中括号即时序差分误差新目标与旧估计之间的差距,是学习的“信号量”。
- 学习率 α每次更新吸收误差的比例。太大则震荡,太小则学得慢。
- 箭头 ← 更新把旧值朝目标方向挪一小步,然后继续下一轮体验。
策略梯度:直接拧概率的旋钮
账本有一个致命的伤:状态一多,表格就爆炸。客厅里光线、家具、手势的每种组合都是一种“状态”,记不过来。于是新思路出现了——不记“哪种情形有多好”,直接调“哪个动作更该做”的旋钮。这就是策略梯度(Policy Gradient):把策略本身变成一个带旋钮(参数)的函数,转动旋钮,动作概率就跟着变。
我们把策略参数化,记为 π_θ(a|s),θ 就是那堆旋钮。再定义一个目标 J(θ):按当前策略走一个回合,能拿到的总回报的期望。训练愿望很朴素——让 J(θ) 变大。做法是沿着目标上升最快的方向(梯度)调整 θ,这叫做“梯度上升”:
直观理解:回合一结束,旺财回想自己一路做的动作——如果这回合零食多(Gₜ 大),就把这些动作的概率都调高一点;如果零食少,就调低一点。每个动作的“奖惩”由整回合回报背书,再乘以“提高该动作概率的方向”,合成一个总调整量。
从这个角度看,策略梯度像是“事后论功行赏”:不看每一步预测得准不准,只看整场表现,然后给所有动作按贡献分红。它天然支持连续动作、也能表达随机策略,成为机器人控制与现代大模型对齐中最常用的一类方法。
- 目标函数 J(θ)策略表现好坏的总分,累计回报的期望越大越好。
- 梯度 ∇_θ对参数 θ 求导,指明“往哪个方向拧旋钮”。
- 对数概率梯度提高动作 aₜ 出现概率的方向。
- 回报权重 Gₜ这一回合从 t 往后累计的折扣回报,充当这次动作的“功劳/责任”。
- 期望 𝔼对整段交互过程取平均,让调整方向更可靠。
深度强化学习:雇一个神经网络管家
旺财的客厅升级成了整栋别墅,账本彻底记不下了。于是你请来一位“神经网络管家”:它不需要一个格子一个格子地记,而是“看情形直接估”。给它一个状态,它输出每个动作的估值;给它一堆相似状态,它还能互相借鉴——这就是“深度强化学习”。
深度 Q 网络(DQN)把 Q 表换成了神经网络 Q(s,a;θ)。训练它,就是让网络输出的预测值逐步逼近“目标值”:真实奖励 + 下一步的最乐观估计。两者差距用平方差衡量:
“经验回放”是 DQN 的另一根支柱:旺财把每天的经历(s,a,r,s′)存进一个仓库,训练时随机抽一撮来学,而不是逮着最近一条猛学。这一举两得——既打破了相邻样本的强相关性,又让一段数据能被反复咀嚼,等于旺财睡觉时还在回味白天的对错。
有了神经网络管家 + 经验回放 + 目标网络这“三件套”,强化学习终于从表格世界走进了真实世界:图像直接进网络、动作直接出概率。AlphaGo 正是在这个地基上拔地而起的。
- 在线网络 Q(s,a;θ)管家网络对“状态 s 做动作 a”的估值,θ 是网络权重。
- 目标网络 θ⁻一个更新更慢的“备份管家”,专门生成目标值,防止目标跟着预测一起乱跳。
- max 项用备份管家算出下一状态里最好的动作估值。
- 平方差网络预测值与目标值的距离平方,越小代表估计越准。
- 期望与经验回放从历史经验仓库里随机抽一小批 (s,a,r,s′) 样本,算平均损失。
AlphaGo实战:冠军柯基的诞生
如果说旺财是宠物界的学霸,那 AlphaGo 就是围棋界的“冠军柯基”。它要做的明明是“下围棋”,但骨架仍然是强化学习那套:状态是棋盘局面,动作是落子位置,奖励是终局的胜或负。只不过,陪它训练的不是你,而是千千万万个“自己”。
AlphaGo 由三块积木搭成:策略网络(看到局面,直接推荐几个候选落点)、价值网络(评估当前局面胜率有多高)、蒙特卡洛树搜索(在候选落点里“脑内模拟”若干步,综合裁决)。其中蒙特卡洛树搜索在挑选分支时,会用一个“探索—利用”平衡公式:
训练过程同样精彩:AlphaGo 先从人类棋谱热身(模仿学习),然后进入“自我博弈”——自己和自己下几百万局,赢的落子路径得到高奖励、输的得到低奖励,再用深度强化学习不断更新策略网络与价值网络。这套组合拳让它在 2016 年以 4:1 击败世界冠军李世石。
回看整条路:从客厅里吃零食的旺财,到棋盘上屠龙的 AlphaGo,本质是同一个故事的不同舞台——定义状态、动作、奖励,再用价值或策略的视角,在试错中逼近最优。旺财学会了握手,AlphaGo 学会了围棋;而你和强化学习的缘分,才刚刚开始。
- 平均胜率 wᵢ/nᵢ节点 i 被模拟过的次数中赢的比例——“利用”已知的好分支。
- 访问次数 nᵢ第 i 个候选落点被“脑内模拟”过的次数。
- 父节点总访问数 Nln N 给访问少的节点额外加分。
- 根号项访问越少的节点越值得一探——“探索”未知分支。
- 系数 c调节“探索”与“利用”的分量,c 越大越爱冒险。
AI 应用场景
让机器狗学会走路
阶段:策略学习与策略优化(策略梯度 / 深度强化学习)
解决的问题:传统控制需要工程师手写每一条关节角度曲线,在石子路、楼梯等复杂地形几乎不可维护。强化学习让机器人像旺财学握手一样,自己试错、摔跤、爬起来,从“摔倒惩罚 + 前进奖励”中学出稳健步态。
具体案例:波士顿动力 Spot 和小米 CyberDog 的研发中引入了仿真训练 + 强化学习:先在海量仿真环境里让四足机器人反复摔倒再爬起,学到的策略再迁移到真机,能适应草地、斜坡等未见地形。
让游戏 AI 超越人类
阶段:策略训练与自我博弈
解决的问题:围棋、星际争霸、Dota 2 这类游戏状态空间巨大,穷举搜索或规则脚本根本无法覆盖,需要智能体自己探索策略。
具体案例:AlphaGo 用“策略网络 + 价值网络 + 蒙特卡洛树搜索 + 自我博弈”击败李世石;OpenAI Five 用策略梯度家族(PPO)在 Dota 2 中战胜职业战队。游戏也因此成为评估强化学习算法能力的“标准赛道”。
让大模型说“人话”
阶段:奖励建模 + 策略梯度微调
解决的问题:预训练大模型“会接话但不会说人话”,靠人工标注逐句纠正代价太高。思路是先把人类偏好训练成一个“奖励模型”,再把它当“训狗师”用策略梯度微调语言模型——这是旺财读书版。
具体案例:OpenAI 的 ChatGPT、Anthropic 的 Claude 都采用 RLHF:人类标注员比较两段回答排出偏好,训练奖励模型,再用强化学习(策略梯度类方法)优化语言模型,使其输出更符合人类偏好。
Python 演示
import random class QLearningAgent: def __init__(self, rows, cols, n_actions, alpha=0.5, gamma=0.9, epsilon=0.3): self.rows = rows self.cols = cols self.n_actions = n_actions self.alpha = alpha self.gamma = gamma self.epsilon = epsilon self.q_table = {} for r in range(rows): for c in range(cols): self.q_table[(r, c)] = [0.0] * n_actions def choose_action(self, state): if random.random() < self.epsilon: return random.randrange(self.n_actions) qs = self.q_table[state] best = max(qs) candidates = [i for i, v in enumerate(qs) if v == best] return random.choice(candidates) def update(self, state, action, reward, next_state): best_next = max(self.q_table[next_state]) td_error = reward + self.gamma * best_next - self.q_table[state][action] self.q_table[state][action] += self.alpha * td_error class GridWorld: def __init__(self): self.rows = 6 self.cols = 6 self.start = (0, 0) self.goal = (5, 5) self.walls = {(1, 2), (3, 3)} self.actions = [(-1, 0), (0, 1), (1, 0), (0, -1)] # up, right, down, left def step(self, state, action): r, c = state dr, dc = self.actions[action] nr, nc = r + dr, c + dc if not (0 <= nr < self.rows and 0 <= nc < self.cols): return state, -0.5, False if (nr, nc) in self.walls: return state, -0.5, False if (nr, nc) == self.goal: return (nr, nc), 10.0, True return (nr, nc), -0.1, False def run_episode(env, agent, max_steps=100): state = env.start total_reward = 0.0 for _ in range(max_steps): action = agent.choose_action(state) next_state, reward, done = env.step(state, action) agent.update(state, action, reward, next_state) state = next_state total_reward += reward if done: break return total_reward def show_policy(agent, env): arrows = ["^", ">", "v", "<"] for r in range(env.rows): row = "" for c in range(env.cols): if (r, c) == env.goal: row += " G " elif (r, c) in env.walls: row += " # " else: qs = agent.q_table[(r, c)] row += " " + arrows[qs.index(max(qs))] + " " print(row) def main(): env = GridWorld() agent = QLearningAgent(env.rows, env.cols, len(env.actions)) for episode in range(400): reward = run_episode(env, agent) if episode % 50 == 0: print("episode %3d reward %6.1f" % (episode, reward)) print("learned policy:") show_policy(agent, env) if __name__ == "__main__": main()
self.q_table[(r, c)] = [0.0] * n_actions给每个状态准备一行“零食账本”,初始认为所有动作都值 0。if random.random() < self.epsilon:以 ε 概率随机探索,保证每个动作都被试过。candidates = [i for i, v in enumerate(qs) if v == best]多个动作估值并列最高时随机挑一个,避免总走同一条路。td_error = reward + self.gamma * best_next - self.q_table[state][action]计算“新目标与旧估计”的差距,也就是时序差分误差。self.q_table[state][action] += self.alpha * td_error按学习率 α 把账本朝新目标挪一小步。if not (0 <= nr < self.rows and 0 <= nc < self.cols):出界视为撞墙:原地不动,并给 −0.5 的惩罚。agent.update(state, action, reward, next_state)每走一步立刻学习一次,这就是 Q-Learning 的在线更新。show_policy(agent, env)把学到的账本翻译成箭头地图,直观验证“哪个方向最划算”。
常见误区
误区很多人看到 AlphaGo、DQN 都带着神经网络,就觉得“强化学习 = 很深的网络 + GPU 训练”,没有神经网络就不算强化学习。
正解强化学习是一种“学习范式”,跟用什么函数逼近器无关。表格版的 Q-Learning 就是纯粹的强化学习;神经网络只是把表格换成了能泛化的“管家”。就像训小狗既可以用手写账本,也可以雇管家代记——核心始终是“试错 + 奖励”。
为何常见:媒体上出圈的强化学习案例几乎都叠加了深度学习,导致大家把“工具”当成了“本体”。
误区新手设计奖励时总觉得“多给分、勤表扬”是好事,结果智能体学会了钻空子刷分,比如原地转圈刷正奖励。
正解奖励是指引信号而非分数试卷。太密的奖励会让智能体找到“作弊捷径”(reward hacking),太稀疏又难探索。好的奖励设计要简洁、有区分度,比如“走到目标 +1,否则 0”就足够引导学习。
为何常见:人从小到大被分数衡量,本能地认为“多给分”就是鼓励;忘了在强化学习里奖励是“告诉 AI 往哪走”的路标。
误区新手觉得“探索 = 学习”,把 ε-greedy 的 ε 设成 0.9,结果智能体九成时间在随机乱跑,永远学不会。
正解ε 是“完全随机”的概率,探索太多会浪费已经学到的知识。实践中常让 ε 随时间衰减:前期多探索、后期多利用。就像旺财小时候什么动作都试,长大后只做最拿手的那几个。
为何常见:把“探索”误当成了“学习”本身,没有意识到学习的价值恰恰在于把探索成果沉淀成可利用的经验。
误区新手跑一个 RL 任务发现不收敛,第一反应是代码有 bug,或者干脆觉得强化学习不靠谱。
正解Q-Learning 收敛是有前提的:每个状态动作对要被反复访问、学习率要衰减、奖励与转移要保持稳定。实际中状态表示、奖励设计、超参数都会影响结果。收敛困难本身正是强化学习研究的热点。
为何常见:监督学习给人的印象是“训练就会收敛,过拟合就调参”;而强化学习的难点在于“数据是行为产生的”,行为又反过来改变数据,这个闭环让问题难上加难。
面试题
Q1. 强化学习中“奖励信号”最重要的作用是?
- A.告诉智能体哪些动作更值得做← 正确答案
- B.直接决定神经网络的层数
- C.替代人工标注的全部标签
- D.消除环境中的所有随机噪声
答案:A。奖励是智能体判别动作好坏的唯一依据,指引它调整策略。网络层数是设计者定的;强化学习靠试错产生的奖励学习,不需要人工标签;噪声是环境固有属性,奖励无法消除。
Q2. 马尔可夫性质的核心含义是?
- A.未来状态只取决于当前状态← 正确答案
- B.未来状态取决于全部历史
- C.环境状态必须完全可观测
- D.动作和状态之间互相独立
答案:A。马尔可夫性即“给定现在,未来与过去无关”,它让决策问题可以化简为状态转移。B 正好说反了;C 是部分可观测马尔可夫决策过程的放宽项;D 与“动作影响状态”的基本事实相悖。
Q3. Q-Learning 更新公式中的 max Q(s′, a′) 表示?
- A.下一状态所有动作的最大估值← 正确答案
- B.当前状态下所有动作的平均值
- C.环境给出的固定终点奖励
- D.策略在所有历史状态的输出
答案:A。它表示“从下一个状态出发能做到的最好程度”,给当前 Q 值提供一个乐观目标。平均值会让估计偏离最优;终点奖励只是 r 的一部分;历史状态的输出与当前更新无关。
Q4. ε-greedy 策略中较小的 ε 表示?
- A.以 ε 概率随机探索新动作← 正确答案
- B.以 ε 概率放弃本次奖励
- C.智能体永远选择随机动作
- D.神经网络学习率衰减速度
答案:A。ε-greedy 以 ε 概率随机动作、以 1−ε 概率贪心。小 ε 意味着大部分时间利用已知经验、偶尔探索。B 没有依据;C 是 ε=1 的特例;学习率是另一个超参数。
Q5. DQN 引入经验回放的主要目的是?
- A.打破样本相关性并复用历史数据← 正确答案
- B.增加神经网络的参数量和层数
- C.让奖励信号变得更加密集丰富
- D.替代价值函数做离线策略评估
答案:A。交互数据相邻样本高度相关,直接训练会让网络“失忆”;经验回放通过随机采样打破相关、提升数据利用率。B 与回放无关;奖励由环境与设计决定;回放并不改变价值评估方法。
Q6. 折扣因子 γ 越接近 1 表示智能体?
- A.越重视未来长远的累计收益← 正确答案
- B.越只看重当下的一步奖励
- C.越不关心环境状态的变化
- D.越倾向于随机探索的动作
答案:A。γ 给未来奖励乘上折扣权重。γ→1 时远期奖励几乎不打折,智能体会为长期目标忍受眼前损失;γ→0 时只看眼前。B 对应 γ→0;C 与 γ 无关;D 由探索策略决定。
Q7. 策略梯度方法的核心思想是?
- A.直接调整参数增大高回报动作概率← 正确答案
- B.用表格记录状态价值后贪心选择
- C.随机生成大量动作并取平均值
- D.让两个智能体互相博弈到纳什均衡
答案:A。策略梯度把策略参数化,用梯度上升提高高回报动作的概率、降低低回报动作的概率。B 是值函数方法;C 是随机搜索而非学习;D 是多智能体博弈的收敛概念。
Q8. 以下属于强化学习核心组成要素的有?
- A.负责做出决策的智能体← 正确答案
- B.可以交互反馈的环境← 正确答案
- C.预先标注好的训练标签
- D.评估表现的奖励信号← 正确答案
答案:ABD。强化学习四要素是智能体、环境、动作与奖励。C 是监督学习的要素——强化学习的信号来自环境奖励,而非人工标签。
Q9. 关于 Q-Learning 收敛的常见前提条件,正确的有?
- A.每个状态动作对可被反复访问← 正确答案
- B.学习率随时间逐渐衰减趋近零← 正确答案
- C.环境中不允许存在任何随机性
- D.每一步的奖励必须保持非负值
答案:AB。收敛需要所有状态动作对被无限次访问,且学习率满足衰减条件,估计才能逐渐稳定。随机环境下 Q-Learning 依然可以收敛;负奖励完全允许,惩罚本身也是信息。
Q10. 关于“探索与利用”的平衡,正确做法有?
- A.前期多探索后期多利用← 正确答案
- B.随机扰动加入动作选择← 正确答案
- C.永远只选当前最优动作
- D.完全放弃已知知识的利用
答案:AB。探索与利用是核心权衡:既要尝试新动作发现更好的策略,又要利用已知好动作。常用 ε-greedy、UCB、熵正则实现。C 纯利用会陷入次优;D 纯探索则永远学不到稳定策略。