强化学习
文章平均质量分 93
荒野火狐
这个作者很懒,什么都没留下…
展开
-
【深度强化学习】常常使用的pytorch代码
最近又看了一遍《深度强化学习》,和TD3的代码,觉得市面上好多代码写的非常绚丽,但表达的意思,实际的操作确实同一个,再此总结一下这些常见的代码的含义。顺便自己构建一个比较简单易懂的强化学习算法供自己使用。暂时只搭建了部分,欢迎star参考了很多人写的代码,这里先不列举了。torch版本:2.3.1+cu121python版本:3.11.9设计深度强化学习库的思想。原创 2024-08-15 12:48:48 · 1041 阅读 · 0 评论 -
【MARL】MADDPG + attention 实现(+论文解读)
导师让在MADDPG上加一个注意力机制,试了很多种,下面的参考的论文的效果最好,先把其思路记录下来。之后有时间再试试自注意力机制。github和实际上的attention 不一样,论文里并不是直接加进去,而是巧妙利用了注意力机制里的一些特性,重新定义了Q函数,达到了神奇的效果。MADDPG论文中定义的Q 为QQiusa∣aiuioiQQiusa∣aiuioi))原创 2024-07-25 23:08:27 · 823 阅读 · 0 评论 -
【深度强化学习】关于混合动作空间转化为连续域空间的一点思考与实现
根据导师的文章,得到的想法,论文如下:论文链接:《Deep Reinforcement Learning for SmartHome Energy Management》现在我有一个环境,3v3坦克环境,此时坦克有两个动作,一个动作为行动(360度都能走),一个动作是射击(360度都能射击)。一开始的想法是0:行动,1:射击,两者都是0-360度的范围(0-2*pi)这就变成的一个离散域,一个连续域的情况一个是[0,1]离散域,一个是0-2*pi连续域的混合域。我们知道,在单个智能体的环境下,[0,原创 2024-06-29 16:45:09 · 518 阅读 · 2 评论 -
【深度强化学习】如何使用多进程(multiprocessing、pipe)来加速训练
进程:相当于电脑多开了很多应用。线程:相当于一个应用里,比方说:一个网页浏览器里有一个线程负责渲染页面,另一个线程负责处理用户输入,还有一个线程负责下载文件。这些线程在同一个进程内协作,共同完成浏览器的功能。比方说上图的VScode是32进程,这里显示每个进程里有多少个线程,如上图第一个code进程有32个线程。任务管理器查看线程数、PID值等方法了解到此,我们可以了解到上述线程和平时电脑上所说的8核16线程中的线程所区分开,第二个线程说的可以看作逻辑核心数。实际效果:我这里开了4个进程。原创 2024-06-25 14:17:45 · 1169 阅读 · 0 评论 -
【深度强化学习】如何平衡cpu和gpu来加快训练速度(实录)
一般来说,对于ppo这种类在线策略的深度学习算法:1、对于原代码全是gpu训练的(上面例子),需要改三处,注意第三处,可改可不改第4处。2、全cpu训练的,前两处加的不变,第三处的修改有变化,:(这里也要特别注意,否则也会报同时用两个设备的错误)即:在模型训练时,把所有要计算的tensor张量加到gpu中。如下所示:顺口记法:对于在线的策略(无经验池的策略),大体框架改两处,对应设备改一处,否则会报错。强化学习是不是主要吃cpu而不怎么吃gpu?这个参考的结论基本对,这里做补充。原创 2024-05-31 14:28:15 · 1820 阅读 · 2 评论 -
【深度强化学习】关于同一设备上cpu和gpu计算结果不一致问题
1、在一般使用中,可以不必追求cpu和gpu计算的结果一致性,也也避免不了,且cpu和gpu导致的细小差别,在训练的效果上几乎没有区别。2、同时,在同一台设备上,我们尽量要求该程序的结果能复现,是为了更好修改超参数。(见:本文万能seed,适用于单机多卡)3、不必追求在不同的设备上能复现一致结果,最终的效果在相同的超参数和输入下,输出的结果也相差无几。4、cpu和gpu在设计时的目的也不同,有差异理所应当,这里本文只分析了在计算上和训练神经网络时的出现的差异,仅作参考。原创 2024-05-24 15:28:31 · 1258 阅读 · 0 评论 -
[通俗易懂]《动手学强化学习》学习笔记3-第5-13章
参考:《动手学强化学习》作者:张伟楠,沈键,俞勇动手学强化学习 网页版动手学强化学习 github代码动手学强化学习 视频强化学习入门这一篇就够了!!!万字长文(讲的很好)强化学习入门(第二版)读书笔记我做了一个思维导图很方便理解之后学习完会在这里一直更新。补充一下要下载的库#第5章#第7章这里仅记录下学习时遇到的问题,已经学了一个月了,只是忙于毕设没空来更新一下学习进度,发现踏入门槛后学习强化学习就轻松了,当然还有一些实验时学到的一些小细节,准备下个博客再更。原创 2024-05-16 11:49:04 · 751 阅读 · 0 评论 -
[通俗易懂]《动手学强化学习》学习笔记2-第2、3、4章
参考:《动手学强化学习》作者:张伟楠,沈键,俞勇动手学强化学习 网页版动手学强化学习 github代码动手学强化学习 视频强化学习入门这一篇就够了!!!万字长文(讲的很好)强化学习入门(第二版)读书笔记我做了一个思维导图很方便理解之后学习完会在这里一直更新。这里2、3、4章作者讲的非常好,就是得多读几遍,这里只做下当时学习时没弄明白的笔记。其余代码多看两遍就理解了,和伪代码都对的上。原创 2024-04-10 21:42:01 · 574 阅读 · 0 评论 -
[通俗易懂]《动手学强化学习》学习笔记1-第1章 初探强化学习
参考:《动手学强化学习》作者:张伟楠,沈键,俞勇动手学强化学习 网页版动手学强化学习 github代码动手学强化学习 视频强化学习入门这一篇就够了!!!万字长文(讲的很好)我做出的决策:选择了强化学习作为研究方向。强化学习是人工智能的未来。未来智能系统需要能够在不接受持续监督的情况下自主学习,而强化学习正是其中的最佳代表之一。我们知道,机器学习分为无监督学习,(有)监督学习,强化学习,迁移学习和深度学习等。(各有说法)无监督学习分析数据流,发现模式并做出预测,无需任何其他指导。解决聚类问题。原创 2024-04-07 10:02:59 · 1045 阅读 · 1 评论