![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
强化学习基础理论
文章平均质量分 96
ReEchooo
这个作者很懒,什么都没留下…
展开
-
100余行代码带你入门强化学习DQN算法
100多行代码入门强化学习DQN算法1. 简介2. 关键要点2.1 replay buffer存储及采样数据2.2 DQN网络2.3 主函数3. 完整代码1. 简介DQN算法是经典的强化学习算法, 作为一个入门级的算法,很有必要自己手动写一个简易实现。2. 关键要点DQN算法中,重要的是两个东西,一个是replay buffer,一个是agent。replay buffer涉及到经验的存储与采样。而agent中则涉及到构建神经网络与使用bellman equation更新网络。2.1 replay原创 2022-01-18 16:49:09 · 1621 阅读 · 1 评论 -
强化学习经典model-free方法总结
强化学习经典方法总结1. 基于值函数(value-based)的方法1.1 sarsa1.2 Q-learning1.3 DQN1.4 Double DQN1.5 Dueling DQN1.6 QR-DQN1.7 Rainbow2. 基于策略(Policy-based)的方法2.1 DPG2.2 DDPG3. 基于价值和策略(Actor-Critic架构)的方法本文对强化学习的model-free经典方法做一个总结归纳,以便在使用方法或阅读文献时进行对比查找。本文的框架如图所示:1. 基于值函数(va原创 2021-10-24 20:09:53 · 4068 阅读 · 0 评论 -
强化学习之图解SAC算法
强化学习之图解SAC算法1. 网络结构2. 产生experience的过程3. Q Critic网络的更新流程4. V Critic网络的更新流程5. Actor网络的更新流程柔性动作-评价(Soft Actor-Critic,SAC)算法的网络结构有5个。SAC算法解决的问题是离散动作空间和连续动作空间的强化学习问题,是off-policy的强化学习算法(关于on-policy和off-policy的讨论可见:强化学习之图解PPO算法和TD3算法)。SAC的论文有两篇,一篇是《Soft Actor-C原创 2021-07-01 12:45:44 · 15108 阅读 · 5 评论 -
强化学习之图解PPO算法和TD3算法
强化学习之图解PPO和TD3算法0. 引言1. PPO算法1.1 网络结构1.2 产生experience的过程1.3 Actor网络的更新流程1.4 Critic网络的更新流程2. TD3算法2.1 网络结构2.2 产生experience的过程2.3 Actor网络的更新流程2.4 Critic网络的更新流程2.5 总结0. 引言关于on-policy和off-policy的定义,网上有很多不同的讨论,我认为,on-policy和off-policy的差异在于所用到的数据(s,a,r,s′)(s,a原创 2021-06-27 20:12:44 · 8650 阅读 · 9 评论 -
强化学习知识要点与编程实践(8)——探索与利用
探索与利用0. 引言1. 多臂赌博机2. 常用的探索方法2.1 衰减ϵ\epsilonϵ-贪婪方法2.2 不确定行为优先探索2.2.1 乐观初始估计2.2.2 置信区间上限2.2.3 概率匹配2.3 基于信息价值的探索本文未经许可,禁止转载,如需转载请联系笔者0. 引言在强化学习问题中,探索和利用是一对矛盾: 探索 尝试不同的行为继而收集更多的信息,利用 则是做出当前信息下的最佳决定。探索可能会牺牲一些短期利益,通过搜集更多信息而获得较为长期准确的利益估计;利用则侧重于对根据已掌握的信息而做到短期利原创 2021-04-16 11:09:02 · 695 阅读 · 0 评论 -
强化学习知识要点与编程实践(7)——基于模型的学习和规划
基于模型的学习和规划0. 引言1. 环境的模型2. 整合学习与规划——Dyna算法本文未经许可,禁止转载,如需转载请联系笔者0. 引言无论是前面第五章的关于价值函数的近似,还是第六章的基于策略梯度的深度强化学习,都没有让个体去试图理解环境,没有让他学习环境的变化规律。如果能建一个较为准确的模拟环境动力学特征的模型或者问题的模型本身就类似于一些棋类游戏是明确或者简单的,个体就可以通过构建这样的模型来模拟其与环境的交互,这种依靠模型模拟而不实际与环境交互的过程类似于“思考”过程。通过思考,个体可以对问题原创 2021-04-12 22:26:40 · 379 阅读 · 0 评论 -
强化学习知识要点与编程实践(6)——基于策略梯度的深度强化学习
基于策略梯度的深度强化学习0. 引言1. 基于策略学习的意义2. 策略目标函数3. Actor-Critic算法4. 深度确定性策略梯度(DDPG)算法5. 编程实践本文未经许可,禁止转载,如需转载请联系笔者0. 引言前一章《价值函数的近似表示(含DQN算法)》中介绍了在强化学习中如何处理状态数量多或者状态连续时的情况,其基本思路就是构建一个价值近似函数(通常是一个神经网络),输入 是状态矢量(矢量的每个元素可以取连续值,元素数量即为神经网络的输入神经元个数)或状态矢量+动作,输出 是V值或Q值,如下原创 2021-04-10 18:40:05 · 1492 阅读 · 0 评论 -
图解DQN,DDQN,DDPG网络
图解DQN,DDQN,DDPG网络1. DQN1.1 网络结构1.2 产生experience的过程1.3 Q网络的更新流程2. DDQN2.1 网络结构2.2 产生experience的过程2.3 Q网络的更新流程3. DDPG3.1 网络结构3.2 产生experience的过程3.3 Actor网络的更新流程3.4 Critic网络的更新流程1. DQN深度Q网络(Deep Q Network)适用于动作离散的强化学习任务1.1 网络结构深度Q网络有两个网络结构,如下所示:Q网络输入是状态原创 2021-04-03 19:55:15 · 13012 阅读 · 6 评论 -
强化学习知识要点与编程实践(5)——价值函数的近似表示
价值函数的近似表示0. 前言1. 价值近似的意义2. 目标函数与梯度下降3. 常用近似函数3.1 线性近似3.2 神经网络4. DQN算法和DDQN算法5. 编程实践本文未经许可,禁止转载,如需转载请联系笔者0. 前言本章之前的内容介绍的多是规模比较小的强化学习问题,生活中有许多实际问题要复杂得多,有些是属于 状态数量 巨大甚至是连续的,有些 行为数量 较大或者是连续的。这些问题要是使用前几章介绍的基本算法效率会很低,甚至会无法得到较好的解决。本章就聚焦于求解那些 状态数量多或者是连续状态 的强化学习原创 2021-03-30 17:03:30 · 351 阅读 · 0 评论 -
强化学习知识要点与编程实践(4)——不基于模型的控制
不基于模型的控制0. 前言1. 行为价值函数的重要性2. ϵ\epsilonϵ-贪婪策略3. 现时策略(on-policy)蒙特卡罗控制4. 现时策略时序差分控制4.1 Sarsa算法4.2 Sarsa(λ\lambdaλ)算法4.3 比较Sarsa和Sarsa(λ\lambdaλ)5. 借鉴策略(off-policy)Q学习算法6. 编程实践本文未经许可,禁止转载,如需转载请联系笔者0. 前言前一章内容讲解了个体在不依赖模型的情况下如何进行预测,也就是求解在给定策略下的状态价值或行为价值函数。本章原创 2021-03-22 16:19:59 · 359 阅读 · 0 评论 -
强化学习知识要点与编程实践(3)——不基于模型的预测
不基于模型的预测0. 前言1. 蒙特卡罗强化学习2. 时序差分强化学习2.1 MC法和TD法的区别2.2 MC法、TD法、DP法的区别3. n步时序差分学习4. TD(λ\lambdaλ)算法分析5. 编程实践本文未经许可禁止转载,如需转载请联系笔者0. 前言在前一章: 动态规划寻找最优策略中,已经讲述了在已知状态转移概率时,如何使用 策略评估、策略迭代、价值迭代 的方法来求解价值函数,或寻找最优价值函数与最优策略。本章的重点在于未知环境的状态转移概率,就是在一个状态下采取一个动作,并不知道自己可能原创 2021-03-18 21:37:44 · 302 阅读 · 0 评论 -
强化学习知识要点与编程实践(2)——动态规划寻找最优策略
动态规划寻找最优策略0. 前言1. 策略评估2. 策略迭代3. 价值迭代4. 异步动态规划算法5. 编程实践0. 前言本文未经许可禁止转载,如需转载请联系笔者本章将详细讲解如何利用动态规划算法来解决强化学习中的规划问题。规划问题包含两个方面的内容,一是预测(prediction),二是控制(control),预测问题是给定策略,然后求在这个给定策略下,各个状态的价值;控制问题是不给定策略,只给定必要的环境信息(如奖励和状态转移概率等),然后求解最优策略和此策略下的最优价值函数。动态规划是指把求解复杂原创 2021-03-16 19:32:38 · 527 阅读 · 0 评论 -
强化学习知识要点与编程实践(1)——马尔可夫决策过程
马尔可夫决策过程0. 前言1. 马尔科夫过程(Markov Process)2. 马尔可夫奖励过程(Markov Reward Process)3. 马尔可夫决策过程0. 前言马尔可夫决策过程是强化学习中重要的概念之一,但是在介绍马尔可夫决策过程之前,需要先了解马尔可夫过程,和马尔可夫奖励过程,它们是依次递进的关系。1. 马尔科夫过程(Markov Process)在一个时序过程中,如果 t+1t+1t+1 时刻的状态仅取决于 ttt 时刻的状态 StS_tSt 而与 ttt 时刻之前的任何状态原创 2021-03-14 11:27:37 · 833 阅读 · 0 评论