![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
强化学习导论
文章平均质量分 78
普通攻击往后拉
Intelligent decision-making for scheduling and planning problems
展开
-
[经典论文分享] Reinforcement Learning for Solving the Vehicle Routing Problem
1 背景针对组合优化问题,早在2016年就有论文提出了指针网络(pointer network)来解决TSP问题,并使用强化学习进行训练,取得了一定的效果。而直接基于指针网络解决VRP问题则存在一些弊端:1)难以解决解决动态VRP的问题,因为整个VRP问题结局过程中,各个消费者的需求会随着车辆的运输而不断被解决,使得输出过程是动态的。2)指针网络只适用于TSP问题以及背包问题等简单的问题,而对于复杂的CO问题适应性较差。3)指针网络的运算复杂度较高,并且其在encoder部分的RNN结构难以实现输入序列的原创 2021-10-22 21:17:02 · 2573 阅读 · 3 评论 -
一些深度强化学习相关的开源库和学习资料
为了回答深度强化学习实验室论坛的问题,按照自己的github梳理了关注的一些开源库:深度强化学习实验室自己的官方资料汇总链接,感觉还是很好用的:https://github.com/NeuronDance/DeepRL基于torch的单强化学习开源库,里面用面向对象的方法封装了几乎所有主流的单智能体强化学习pytorch实现:https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch基于torch的原创 2021-08-09 21:08:49 · 1578 阅读 · 1 评论 -
强化学习中的MASK掩码约束动作action
在强化学习解决问题的场景中,动作是体现学习效果最直接的因素,直接影响了智能体下一步的走向和对环境状态的改变。在应用强化学习解决实际问题时,往往不同于gym库中倒立摆那样的情况,而是存在很多的约束。例如,在ttt时刻智能体可选的动作为1,2,31,2,31,2,3,但是在t+1t+1t+1时刻只能选1,21,21,2,333处于不可用的状态。在这种情况下,就需要借助掩码mask来对智能体的动作进行处理。有人会疑问:就不能制定相应的奖励函数使得智能体学习到这种约束吗?这样做是可以的,但是付出的训练代价很大,原创 2021-07-13 20:50:00 · 8210 阅读 · 12 评论 -
on-policy与off-policy;确定性策略与随机策略
1 on-policy与off-policy之前一直搞不清楚on-policy和off-policy是什么区别,在查阅了各种公众号和博客、论坛之后,决定总结一下on-policy和off-policy的区别。首先,如下图所示,on-policy和off-policy都是on-line强化学习策略更新中的一种。on-line和off-line最明显的区别就是,在一次learn policy之后,on-line2 确定性策略和随机性策略确定性策略[公式]为一个将状态空间[公式]映射到动作空间[公式]的原创 2021-06-22 23:35:13 · 5455 阅读 · 2 评论 -
大厂们的python算法编程习惯
最近在看和使用github上的代码的时候,越来越发现不同来源的代码风格差异很大,个人的代码一般都比较直观,而大厂的代码都有一些固定的习惯。最近一直在看OpenAI的深度强化学习的python代码,发现了一些平时个人不怎么常用,但是却很不错的常用法,因此记录学习一下。1 enumerate()用于包装循环,返回索引和内容:list1 = [2, 3, 4]for i, eve in enumerate(list1): print(i, eve)结果会是:1 22 33 4之前自己喜欢用原创 2021-04-24 14:18:27 · 175 阅读 · 0 评论 -
Multi-agent Particle Environment - MPE多智能体强化学习运行环境的任务简介
MPE环境是一个时间离散、空间连续的二维环境,UI的界面风格如图所示,它通过控制在二维空间中代表不同含义的粒子,实现对于各类MARL算法的验证。MPE被人们广泛所知是借助于那篇NiPS2017的著名多智能体强化学习算法MADDPG的实验环境,可以直接在arxiv中搜索到。MPE的使用方法与gym的使用方法基本一致,即每一个step通过输入agent的动作状态等信息来换取MPE的环境感知。MPE和gym一样,也是由openai组织进行开发的,其主要有以下几个任务构成。代码中的环境名称是否具有交原创 2021-02-28 21:48:04 · 10031 阅读 · 6 评论 -
[经典论文分享]QMIX: 基于值学习的多智能体强化学习协作算法
1 背景在多智能体强化学习中有两个重要的问题,一是如何学习联合动作值函数,因为该函数的参数会随着智能体数量的增多而成指数增长;二就是学习到了联合动作值函数后,如何提取出一个合适的分布式的策略。这两个问题导致单智能体强化学习算法,如Q-learning,难以直接应用到多智能体系统中。Rashid提出了QMIX多智能体算法,基于Q-learning和VDN的启发,从上述两个问题角度提升marl算法的准确度。论文原文:QMIX: Monotonic Value Function Factorisation f原创 2021-02-14 10:35:47 · 5014 阅读 · 3 评论 -
[经典论文分享]SchedNet:带宽限制下的多智能体通讯调度网络
1 背景普遍认为,交流可以进一步提高学习者在尝试完成合作任务时的集体智力,许多论文已经研究了在强化学习中多个代理之间使用的通信协议和语言的学习。但是agent之间的交互是有成本的,不是随便就能交互的,并且存在带宽的限制。此外,agent之间的交互是通过某种一致的媒介进行的,意味着同一时间只会有几个智能体同时进行交互,因此需要对整个mas进行调度。Kim等人提出了一种SchedNet,用于解决在上述背景下的agent间的调度行为。论文原文:LEARNING TO SCHEDULE COMMUNICATIO原创 2021-01-23 10:57:09 · 818 阅读 · 1 评论 -
[经典论文分享]CommNet 多智能体通讯网络模型
1 背景多智能体系统(MAS)在解决复杂问题中具有重要地位,然而大多数的MAS内部agent的通讯都是通过定义实现的,即if-else的规则集,这样不仅对于不同的MAS要重新定义,而且也难以获得最优的通讯定义方式。利用“万物皆可"one layer”的思想,Sainbayar Sukhbaatar提出了针对完全合作任务的CommNet网络,实现了通过训练的方式进行定义agent间的通讯过程。论文原文:Learning Multiagent Communication with Backpropagati原创 2021-01-19 11:04:02 · 3084 阅读 · 0 评论 -
Q-learning\Sarsa解决12*12 grid world问题源码与总结
1 原理综述Q-learning和Sarsa的原理已经有很多相关教程,详细内容推荐查看CS234强化学习课程第4-5讲。总的来说,无论是Q-learning还是Sarsa,都是基于时序差分法控制的无模型策略迭代方法,因此两种算法很像。相似点:1、两种算法的本质都是为了通过策略迭代得到最优策略,而策略迭代又可以分为两个部分:策略评估和策略改进。2、两种算法的控制策略都是基于时序差分法进行更新,与时序差分控制并列的还有蒙特卡洛仿真和动态规划,其中时序差分法可以看作蒙特卡洛仿真和动态规划的结合。3、在原创 2020-05-24 18:29:09 · 1444 阅读 · 0 评论