探知录-强化学习
智能体通过与环境进行马尔可夫决策过程式的交互,根据获得的奖励信号,不断优化其(通常通过学习和更新价值函数来实现),最终目标是关键词:经验中学习、试错、延迟奖励→。
·
一、基本框架
智能体通过与环境进行马尔可夫决策过程式的交互,根据获得的奖励信号,不断优化其策略(通常通过学习和更新价值函数来实现),最终目标是最大化长期累积奖励
关键词:经验中学习、试错、延迟奖励
- 智能体、环境
- 智能体:学习&决策的主体
- 环境:与智能体互动的外部世界
- 智能体观察环境 ,做出动作→\rightarrow→环境会接收智能体的动作,并给出新的状态和奖励
- 状态、动作与奖励
- 状态:在某个时刻,环境情况的完整描述。
- 动作:智能体在某个状态下可以做出的选择。
- 奖励: 环境在智能体执行一个动作后,反馈给智能体的一个标量信号。它定义了什么是好,什么是坏。
- 策略:智能体的规则:定义了在任意给定状态下,智能体应该采取哪个动作
- 价值函数:衡量这个长期收益的工具。
(VS 奖励:当前好坏)- 状态价值函数 V(s): 衡量在状态 s 下,遵循当前策略的长期价值。
- 动作价值函数 Q(s, a): 衡量在状态 s 下,执行特定动作 a 后,再遵循当前策略的长期价值。它比状态价值函数更常用,因为它能直接指导动作选择。
马尔可夫决策过程 MDP
核心思想:下一个状态和奖励只取决于当前状态和当前采取的动作,与之前的历史无关
Q-learning:Q(S,A)=Q(S,A)+α∗[R+γ∗max(Q(S′,a′))−Q(S,A)]Q(S, A) = Q(S, A) + α * [ R + γ * max(Q(S', a')) - Q(S, A) ]Q(S,A)=Q(S,A)+α∗[R+γ∗max(Q(S′,a′))−Q(S,A)]
二、探索 ?开采?
- 探索:为了获取更多关于环境的信息而采取行动,目的是优化长期的未来收益
- 开采:基于当前已知的最佳信息做出决策,目的最大化眼前的确定性收益
初期重探索,后期重开采
探索策略:
- ε-贪心策略 (ε-Greedy)
智能体在绝大多数时间(概率为 1-ε)选择当前认为最优的动作(开采),但会以一个小概率 ε(例如 5%)完全随机地选择一个动作(探索)。 - 上置信界算法 UCB (Upper Confidence Bound)
为每个动作的估值加上一个"不确定性奖励"。一个动作被尝试的次数越少,其不确定性就越大,这个奖励项就越高,从而鼓励智能体去尝试它。
at=argmaxa[Q(a)+clntNt(a)]xa_t = \arg\max_{a} \left[ Q(a) + c \sqrt{\frac{\ln t}{N_t(a)}} \right] xat=argamax[Q(a)+cNt(a)lnt]x- Q(a):动作 a 当前的平均奖励估计(开采项)。
- N_t(a) :到时刻 t 为止动作 a 被选择的次数。
- c :平衡参数,控制探索的强度。
- ln t :总时间步的对数。
- 根号项:“不确定性奖励"或"探索奖励”。动作被选得越少(Nt(a)N_t(a)Nt(a) 小),这项的值就越大。
list=np.where(N == 0)[0] """返回数组 self.N 中所有等于 0 的元素的索引"""
"""[0]: 去掉元组最外层括号([2,3,5]) -> [2,3,5]"""
np.random.random() < true_means[action] """生成一个 0~1 之间的随机小数"""
- 汤普森采样 (Thompson Sampling)
智能体为每个动作的奖励分布维护一个先验分布(如 Beta 分布)。每一步,智能体从每个动作的当前分布中采样一个可能的奖励参数 θ_a,然后选择采样值最大的那个动作执行。收到真实奖励后,再根据结果更新该动作的后验分布。
更多推荐



所有评论(0)