Redian新闻
>
第六篇:强化学习策略迭代 通俗解释

第六篇:强化学习策略迭代 通俗解释

科技

你好,我是zhenguo(郭震)

今天,介绍强化学习第6篇:策略迭代

策略迭代是马尔可夫决策过程(MDP)中的一种求解方法,当然也是强化学习常用求解方法。

它的思想可以用通俗的方式解释如下:

假设你正在玩一个迷宫游戏,目标是找到迷宫的出口。你每到达一个迷宫的某个位置,都需要根据当前的状态(位置)来选择一个行动(向上、向下、向左、向右)来移动。

你希望找到一种「最优的策略」,即在每个位置都选择最好的行动,从而尽快找到迷宫的出口。

策略迭代的思想也非常直接,就是通过不断「改进策略」来寻找最优策略。

它分为两个主要步骤:策略评估和策略改进。

兑现为代码:

# 策略迭代算法
def policy_iteration():
    max_iterations = 1000  # 最大迭代次数
    for _ in range(max_iterations):
        policy_evaluation()  # 策略评估
        policy_improvement()  # 策略改进

如何做策略评估?如何做策略改进呢?

策略评估

策略评估的算法思想直接说还是有些难,我们先通过例子来阐述。

我们依然还是以迷宫游戏为例子。

我们定义迷宫状态空间大小和动作空间大小分别为9和4,即在3*3的网格中,动作有4种,上下左右,对应代码:

num_states = 9
num_actions = 4

有了它们,我们就有了策略,一个二维数组,即每一个状态下对应的4种动作的取值概率,对应代码如下:

policy = np.ones((num_states, num_actions)) / num_actions

策略迭代方法还有一个值函数,值函数的入参是状态,返回价值大小,因此它的结构为如下,初始状态,每个状态的值大小为0.

values = np.zeros(num_states)

有了这些定义,我们再理解策略评估:

对当前的策略进行评估,计算每个状态的值函数(表示在该状态下能够获得的预期累积奖励)。通过迭代计算每个状态的值函数,直到值函数收敛。

再通俗一点来说,就是迭代,比如1000次,在当前策略下,对每个状态遍历,求出每个状态对应的值函数,不断更新上面定义的values值函数,直到收敛。

所以它的代码框架,大概如下所示:

iter = 0
while iter<1000:
  for s in range(num_states):
    new_values = f(policy[s], a, s_) # f是一个数学公式
    if np.max(np.abs(new_values - values)) < delta:
       break # 停止迭代
    values = new_values
  iter += 1

上面代码中f是一个数学公式,写一篇详细来阐述代码实现。

策略改进

接下来,策略迭代第二步,「策略改进」

在策略改进阶段,根据已经计算得到的值函数,更新策略,以便在每个状态下选择更好的行动。通过比较每个行动的价值(即采取该行动后的预期累积奖励),选择在每个状态下最好的行动,从而改进策略。

policy是一个[num_states, num_actions]二维数组,在策略改进这一步实际上就是不断更新每个state下的最优action,就是更新policy二维数组的第二个维度num_actions取值。

所以它的代码框架,大概如下所示:

  for s in range(num_states):
    q_values = q(values[s], s, a) # q函数
    
    new_policy = np.zeros(num_actions)
    new_policy[best_action] = 1
    policy[s] = new_policy # 更新s下的策略为new_policy

总结

策略迭代的过程是循环进行策略评估和策略改进,直到策略收敛到最优策略为止。

在每次迭代中,我们都会根据当前的策略评估值函数,并根据评估得到的值函数改进策略,然后再次进行策略评估,不断循环迭代,直到最终找到最优策略。

策略迭代是一种通过反复评估和改进策略的方法来求解马尔可夫决策过程的算法。它通过不断优化策略和值函数来找到最优策略,并帮助我们在迷宫游戏等问题中做出最佳的决策。

感谢你的点赞和转发,让我更新更有动力

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
两首合唱:《你的眼神》&《红豆》语言模型做先验,统一强化学习智能体,DeepMind选择走这条通用AI之路强化学习驱动的低延迟视频传输第四范式开源强化学习研究通用框架,支持单智能体、多智能体训练,还可训练自然语言任务!训练速度提升17%Dr Sun 2023 暑假基础物理化学 AP 物理化学 奥林匹克化学莫辜负这大好春光复习强化学习过往四篇通俗易懂chatGPT原理第五篇:强化学习基础之马尔科夫决策过程ICLR 2023 | PromptPG:当强化学习遇见大规模语言模型昼夜第三篇:强化学习发展历史我将开始更新 强化学习第十二篇:强化学习SARSA算法用ChatGPT和强化学习玩转《我的世界》,Plan4MC攻克24个复杂任务MABIM:多智能体强化学习算法的“炼丹炉”碧桂园董事会主席杨惠妍:强化一二线城市产品力布局,建立自身的业务壁垒金融监管新信号!李云泽:强化民营企业金融服务,金融业开放的大门只会越开越大博士申请 | 亚利桑那州立大学魏华老师招收强化学习全奖博士/硕士/本科/实习生无需强化学习的与人类偏好对齐的语言模型:Wombat袋熊WWW 2023|快手:通过强化学习提升用户留存第二篇:强化学习中的7个基础概念杭州国大六周年:强化自有IP 「长期主义」打造商业「新世界」站在凡尔赛宫的油画前(古詩詞英譯) 虞美人 寄公度 – (宋)舒亶AI设计蛋白质新方法登Science!利用强化学习,直接根据预想优化结构Qlib全新升级:强化学习能否重塑金融决策模式?第10篇:强化学习Q-learning求解迷宫问题 代码实现耗时两年,谷歌用强化学习打造23个机器人帮助垃圾分类第八篇:强化学习值迭代及代码实现ICLR 2023 | 如何融合进化算法与强化学习打破性能瓶颈?强化学习的应用领域和案例蛋白设计新时代!Science: 开发出基于强化学习的蛋白结构设计方法浙大团队将化学知识引入机器学习,提出可外推、可解释的分子图模型预测反应性能ICLR 2023|节省95%训练开销,清华黄隆波团队提出强化学习专用稀疏训练框架
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。