
强化学习
文章平均质量分 89
韭菜盖饭
一名自学爪哇的小学生
展开
-
强化学习------Actor-Critic(AC)算法(附pytorch代码)
算法是一种基于策略梯度和价值函数的强化学习方法,通常被用于解决连续动作空间和高维状态空间下的强化学习问题。该算法将一个Actor网络和一个Critic网络组合在一起,通过Actor网络产生动作,并通过Critic网络估计状态值函数或状态-动作值函数,最终通过策略梯度算法训练Actor网络和Critic网络。算法的优点是在处理大型状态空间时具有较高的效率和可扩展性。原创 2024-03-16 19:56:18 · 4495 阅读 · 5 评论 -
强化学习------DDPG算法(附pytorch代码)
算法是DeepMind团队提出的一种专门用于解决连续控制问题的在线式(on-line)深度强化学习算法,它其实本质上借鉴了算法里面的一些思想。本文将会介绍其基本原理,并实现DDPG算法来训练游戏的例子。原创 2024-03-16 19:21:11 · 13544 阅读 · 17 评论 -
强化学习------Policy Gradient算法公式推导
算法是一种基于策略的强化学习算法,与基于值的方法(如Q-learning和DQN)不同。基于值的方法主要关注于学习值函数(如状态值函数或者动作值函数),然后通过值函数来选择最优的动作。而算法则直接优化策略函数,通过梯度上升来最大化长期累积奖励。简单来说基于策略的算法给出了智能体在特定状态下应该采取的动作的概率分布基于值的算法是给出智能体在特定状态下每一个动作的Q值策略梯度()是基于策略搜索方法中最基础的方法,要理解ACDDPG需要先学习策略梯度。学习策略梯度(),要明白其原理,更是离不开其公式的推导。原创 2023-12-18 10:17:22 · 367 阅读 · 0 评论 -
强化学习------时序差分(Temporal-Difference Learning)
时序差分方法(Temporal-Difference Learning)简称TD算法是强化学习中非常经典的一种方法,Sarsa算法和Q-learning算法都是基于时序差分这种方法的。强化学习分为基于模型和不基于模型的方法基于模型的方法:是一种通过建立对环境的模型来预测状态和行动结果,然后基于这些预测来制定最优策略的方法在基于模型的强化学习中,智能体会尝试建立一个对环境的内部模型,该模型可以预测在给定状态下采取某个行动后可能产生的下一个状态,以及相应的奖励。原创 2023-12-03 17:35:49 · 709 阅读 · 0 评论 -
强化学习------贝尔曼方程
最近在学习强化学习的内容,为了更加方便理解强化学习中的各种算法与底层原理,学习了贝尔曼方程以及最优公式,特此记录强化学习的数学原理什么是贝尔曼方程?贝尔曼方程,又叫动态规划方程,是以Richard Bellman命名的,表示动态规划问题中相邻状态关系的方程。某些决策问题可以按照时间或空间分成多个阶段,每个阶段做出决策从而使整个过程取得效果最优的多阶段决策问题,可以用动态规划方法求解。原创 2023-11-23 10:12:41 · 1460 阅读 · 0 评论 -
强化学习------DDQN算法
DQN算法DQN算法有一个显著的问题,就是DQN估计的Q值往往会偏大。这是由于我们Q值是以下一个s’的Q值的最大值来估算的,但下一个state的Q值也是一个估算值,也依赖它的下一个state的Q值…,这就导致了Q值往往会有偏大的的情况出现。所以出现了对DQN算法的改进算法算法。原创 2023-10-30 22:48:53 · 1618 阅读 · 0 评论 -
强化学习------PPO算法
PPO算法之所以被提出,根本原因在于在处理连续动作空间时取值抉择困难。取值过小,就会导致深度强化学习收敛性较差,陷入完不成训练的局面,取值过大则导致新旧策略迭代时数据不一致,造成学习波动较大或局部震荡。除此之外,因为在线学习的性质,进行迭代策略时原先的采样数据无法被重复利用,每次迭代都需要重新采样;同样地置信域策略梯度算法虽然利用重要性采样、共轭梯度法求解提升了样本效率、训练速率等,但在处理函数的二阶近似时会面临计算量过大,以及实现过程复杂、兼容性差等缺陷。而PPO算法具备。原创 2023-10-27 23:05:26 · 28465 阅读 · 6 评论 -
强化学习------Policy Gradient算法
之前的都是通过计算动作得分来决策的,我们是在确定了价值函数的基础上采用某种策略,即,通过先算出价值函数,再去做决策。而算法是一种直接的方法,我们直接去评估策略的好坏,然后进行选择。即。智能体通过与环境的交互获得特定时刻的状态信息,并直接给出下一步要采取各种动作的概率,然后根据该状态动作的策略分布采取下一步的行动,所以每种动作都有可能被选中,只是选中的概率性不同。智能体直接学习状态动作的策略分布,在强化学习的训练中,用神经网络来表示状态动作分布,给一个状态,就会输出该状态下的动作分布。原创 2023-10-17 15:17:17 · 290 阅读 · 0 评论 -
强化学习------DQN算法
DQN,即深度Q网络(),是指基于深度学习的Q-Learing算法。Q-Learing算法维护一个Q-table,使用表格存储每个状态s下采取动作a获得的奖励,即状态-价值函数Q(s,a),这种算法存在很大的局限性。在现实中很多情况下,强化学习任务所面临的状态空间是连续的,存在无穷多个状态,这种情况就不能再使用表格的方式存储价值函数。为了解决这个问题,我们可以用一个函数Q(s,a;w)来近似动作-价值Q(s,a)原创 2023-10-08 22:05:57 · 4484 阅读 · 0 评论 -
强化学习------Qlearning算法
Q learning算法是一种的强化学习算法,Q是quality的缩写,Q函数 Q(state,action)表示在状态state下执行动作action的quality, 也就是能获得的Q value是多少。算法的目标是最大化Q值,通过在状态state下所有可能的动作中选择最好的动作来达到最大化期望reward。Q learning算法使用Q table来记录不同状态下不同动作的预估Q值。原创 2023-10-07 22:42:51 · 5358 阅读 · 0 评论 -
强化学习------Sarsa算法
是一个学习马尔可夫决策过程策略的算法,通常应用于机器学习和强化学习学习领域中。它由Rummery和Niranjan在技术论文“” 中介绍了这个算法,并且由Rich Sutton在注脚处提到了SARSA这个别名。这个名称清楚地反应了其学习更新函数依赖的5个值,分别是当前状态S1,当前状态选中的动作A1,获得的奖励RewardS1状态下执行A1后取得的状态S2及S2状态下将会执行的动作A2。我们取这5个值的首字母串起来可以得出一个词SARSA。原创 2023-10-07 22:02:35 · 1353 阅读 · 0 评论 -
强化学习之DQN(deep Q-network)算法
DQN算法是深度学习领域首次广泛应用于强化学习的算法模型之一。它于2013年由DeepMind公司的研究团队提出,通过将深度神经网络与经典的强化学习算法Q-learning结合,实现了对高维、连续状态空间的处理,具备了学习与规划的能力。原创 2023-07-18 10:36:49 · 2964 阅读 · 0 评论