
强化学习
文章平均质量分 73
软件工程小施同学
区块链、DevOps、小程序、软件工程
展开
-
强化学习(4):PPO算法 知识点梳理
原文:你会PPO算法吗?那这些问题你知道答案吗?转载 2024-06-12 11:09:39 · 2881 阅读 · 0 评论 -
强化学习(3) PPO pytorch实例
邻近策略优化(Proximal Policy Optimization,PPO)算法解决的问题是离散动作空间和连续动作空间的强化学习问题,是on-policy的强化学习算法。算法主要思想:策略pi接受状态s,输出动作概率分布,在动作概率分布中采样动作,执行动作,得到回报,跳到下一个状态。在这样的步骤下,我们可以使用策略pi收集一批样本,然后使用梯度下降算法学习这些样本,但是当策略pi的参数更新后,这些样本不能继续被使用,还要重新使用策略pi与环境互动收集数据,真的非常耗时。因此采用。转载 2024-05-31 23:39:05 · 1680 阅读 · 0 评论 -
如何在google colab上直接运行自己的python文件
还有就是可能还需要安装一些包,直接使用!pip install 包名称 即可。colab不只可以跑.ipynb文件,还可以运行完整的项目。如果.py文件还有一些超参数设置,直接加在后面即可。三:在colab上挂载Google Drive。五:运行目录下的.py文件(记住前面加感叹号)二:新建一个.ipynb文件,自行改文件名。一:上传项目到谷歌云端硬盘的指定目录中。记得要在笔记本设置里使用GPU加速。四:进入项目文件所在的目录。转载 2024-05-30 20:24:56 · 1091 阅读 · 0 评论 -
强化学习(1)DQN Pytorch实例(Cliff Walking PlayGround)
这一篇是参考自Pytorch官网的教程,. 我对其中做了一些简化. 在原实验中是使用了CartPole-v0的环境, 但是因为在线上环境Google Colab里面无法渲染图像, 所以我选择使用Cliff Walking PlayGround.这一篇主要概述一下使用Pytorch实现Deep Q-Learning的过程. 里面暂时不会涉及原理的介绍, 只会有DQN的整体算法流程.在这次实验中, 我们使用的是Cliff Walking PlayGround, 环境如下所示:一共有48个状态,转载 2024-05-30 13:46:13 · 174 阅读 · 0 评论 -
神经网络 设计层数和神经元数量的考虑
选择第二层有24个神经元的设计是为了在特征提取和压缩之间取得平衡。这样的设计既能提高模型的非线性表达能力,又能避免过拟合,同时保证信息的逐步提取和处理。这种设计原则需要根据具体任务和数据的需求进行实验调整,最终找到最优的模型结构。原创 2024-05-29 13:27:18 · 1640 阅读 · 0 评论 -
module ‘plotting‘ has no attribute ‘EpisodeStats‘
的版本不同,可以使用下列版本。原创 2024-05-28 22:18:33 · 423 阅读 · 0 评论 -
强化学习(2) Actor-Critic演员评论家( A2C, Cliff Walking PlayGround)Pytorch实例
Actor-Critic从名字上看包括两部分,演员(Actor)和评价家(Critic)。其中Actor使用的是策略函数,负责生成动作(Action)并和环境交互。而Critic使用的是价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。这一篇介绍在Policy Gradient中的Actor Critic Baseline, 也就是常说的A2C. 这一篇的实验环境还是使用Cliff Walking PlayGround, 使用Google Colab完成实验.转载 2024-05-28 17:20:16 · 398 阅读 · 0 评论 -
深度强化学习 Actor-Critic演员评论家 PPO
Actor-Critic从名字上看包括两部分,演员(Actor)和评价家(Critic)。其中Actor使用的是策略函数,负责生成动作(Action)并和环境交互。而Critic使用的是价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。import gymimport sys"""策略函数逼近""""""值函数逼近器""""""Actor Critic 算法.通过策略梯度优化策略函数逼近器参数:env: OpenAI环境.原创 2024-05-26 19:58:33 · 4331 阅读 · 0 评论 -
self.eval_net.forward(state)和self.eval_net.forward(state)区别
前言我们在使用Pytorch的时候,模型训练时,不需要调用forward这个函数,只需要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数。class Module(nn.Module): def __init__(self): super().__init__(…在根据状态获取一个动作:self.eval_net.forward(state)在更新网络时:self.eval_net(state)这2个有什么区别呀,为啥不都是forward。我打印了一下返回值的时候,我感觉格式是一样的。原创 2022-12-16 12:02:24 · 544 阅读 · 0 评论 -
DQN 为什么要批更新
DQN简介 DQN,全称Deep Q Network,是一种融合了神经网络和Q-learning的方法。这种新型结构突破了传统强化学习的瓶颈,下面具体介绍: 神经网络的作用 传统强化学习使用表格形式来。每次 DQN 更新的时候, 我们都可以随机抽取一些之前的经历进行学习。DQN - Sunshine_y - 博客园。打乱了经历之间的相关性。, 也使得神经网络更新。转载 2022-12-16 11:29:21 · 185 阅读 · 0 评论 -
torch.max(action_value, 1)[1].data.numpy()[0] 是什么意思
a0 = torch.max(a, dim) 其中a为一个tensor dim的值为 0/1,分别代表索引每列/行最大值返回的值包含两个数据(values, indices) 分别代表最大值的值和所在的索引 一般我们只需要里面的索引,而对最大值的值不感兴…torch.max(action_value, 1)表示取action_value里每行的最大值。torch.max(action_value, 1)[1]表示最大值对应的下标。.data.numpy()[0]表示将将Variable转换成tensor。原创 2022-12-16 00:01:33 · 1096 阅读 · 0 评论 -
强化学习 DQN pytorch实例
实例参考,更改为PyTorch实现,并增加了几处优化。实现效果如下。其中,红色方块作为探索的智能体,到达黄色圆形块reward=1,到达黑色方块区域reward=-1.视频:DQN 神经网络 | 莫烦Python接着上节内容, 这节我们使用 Tensorflow 如果还不了解 Tensorflow, 这里去往 经典的 Tensorflow 视频教程 来搭建 DQN 当中的神经网络部分 (用来预测 Q 值).转载 2022-12-15 12:07:08 · 2342 阅读 · 0 评论 -
强化学习 double DQN 代码注释解析
一次transition就是(s,a,w,s_)一次episode就是DQNQ-learning如果状态很多,动作很多时,需要建立的q表也会十分的庞大,因此神经网络就是用来算动作的q-value的为了帮助收敛experience。例如,记忆库的容量N=500,可以选择执行200次transition来初始化记忆库,这样学习过程可以从记忆库中抽取batch个transition,进行学习了。在存储过程中,只执行eval_net来获取Q值,进而根据实际情况,得到动作,奖励,和下一状态。存储过程:更新记忆库。原创 2022-09-14 20:30:35 · 632 阅读 · 0 评论 -
强化学习 学习资料汇总
DQN算法流程。原创 2022-09-14 20:30:00 · 935 阅读 · 0 评论 -
强化学习 Q-learning 实例详解
q-learning原创 2022-07-02 11:18:50 · 447 阅读 · 0 评论 -
深度学习和强化学习的区别
深度学习是一种典型的监督学习方式,基于大量带有标签的数据进行预测(回归问题) 分类(分类问题)强化学习则是通过与环境不断地交互获得奖励,并基于这些奖励调整学习过程以获得全局最优的行为策略。...原创 2022-05-31 19:19:46 · 3774 阅读 · 0 评论