- 博客(34)
- 收藏
- 关注
原创 语法习题总结
语法习题总结输入输出、表达式与顺序语句钞票在这个问题中,你需要读取一个整数值并将其分解为多张钞票的和,每种面值的钞票可以使用多张,并要求所用的钞票数量尽可能少。请你输出读取值和钞票清单。钞票的可能面值有100,50,20,10,5,2,1。输入格式输入一个整数N。输出格式参照输出样例,输出读取数值以及每种面值的钞票的需求数量。数据范围0<N<1000000#include<iostream>using namespace std;int main(
2021-09-06 20:01:23
1360
原创 解决tab不能自动补全问题
问题描述:今天在服务器上突然发现没法用tab自动补全了,总是会报错:cannot create temp file for here-document: No space left on device。似乎是空间不足的问题首先执行命令df -h查看服务器各个部分的空间使用情况:Filesystem Size Used Avail Use% Mounted onudev 63G 63G 0 100% /devtmpfs 13G
2021-05-27 11:22:06
2138
原创 VScode pylint bug解决
1、missing docstrings在settings中添加"python.linting.pylintArgs": ["--errors-only"]2、PyTorch : error message “torch has no […] member”在settings中添加"python.linting.pylintArgs": [ "--generated-members=numpy.* ,torch.*"]
2021-04-23 18:33:33
246
原创 安装Mujoco、mujoco-py、multiagent-compete踩坑记录
安装Mujoco踩坑记录1、pip install 时报错“ValueError: Unable to determine SOCKS version from socks://127.0.0.1:1080/”每次打开terminal都要执行 export all_proxy="socks5://127.0.0.1:1080"2、Box 2D从网上下载相应的安装包时要注意python的版本,cp37表示python3.7,另外还要看看文件名是不是正确,有的时候要更改文件名才能安装,可以查看pip._
2021-04-10 16:48:53
5778
2
原创 强化学习对抗攻击总结
十六、Adversarial Attack in RL&MARL Summary1、前言这次主要对6篇论文做一个总结,这几篇文章有着比较紧密的联系:1、Adversarial Attacks on Neural Network Policies (2017 ICLR)2、DELVING INTO ADVERSARIAL ATTACKS ON DEEP POLICIES (2017 ICLR)3、Robust Adversarial Reinforcement Learning (2017
2021-04-10 13:38:57
2536
1
原创 算法基础知识总结(贪心)
六、贪心算法1、区间问题1、区间选点:1、题目:给定N个闭区间[ai,biai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。2、思路:首先将所有区间按照右端点从小到大排序,然后从前往后依次枚举每个区间,如果当前区间中已经包含了上一个区间的端点,就什么都不做,如果没有包含上一个区间则要答案累加 1 并且选择当前区间的右端点。3、代码注意点:(1)区间用结构体来表示,要重载小于号。2、最大不相交区间数量1、题目
2021-04-10 13:02:09
284
原创 算法基础知识总结(动态规划)
五、动态规划1、背包问题1、0 1 背包1、基本含义:有 NNN 个物品和一个容量是 VVV 的背包,每个物品的体积是 viv_ivi,价值是 wiw_iwi ,每个物品最多只能用一次,即每个物品要么用 1 次,要么用 0 次 ,怎样装才能让总价值最大?2、朴素解法:3、优化解法:通过观察状态转移方程,有两处可以优化:(1)f(i,j)f(i, j)f(i,j) 只与 f(i−1,)f(i - 1, )f(i−1,) 相关,与更往前的状态无关,所以可以用一个一维数组来进行状态表示和状态计
2021-04-10 13:00:44
286
原创 算法基础知识总结(数学知识)
四、数学知识1、分解质因数1、目标:把一个整数分解成若干质数,输出每个质数以及它的次数。2、思路:首先判定一个数是否是质数,即用大于等于2的因数去试除,如果余零则说明不是质数,则用该因数累除直到余数不为零,同时创建一个变量来记录次数(幂)。总之,是基于试除法判定因数的。3、代码注意点:(1)1 到 n 中最多只包含一个大于 n\sqrt nn 的质因子,所以不要忘记如果最后得到的数依然大于1的话要输出他和相应的次数(2)试除法不推荐采用 i <= sqrt(n)因为每次循环都要执行一次,
2021-04-10 12:54:55
2530
1
原创 算法基础知识总结(搜索与图论)
三、搜索与图论1、树与图的深度优先遍历1、基本思想:利用深度优先搜素2、树与图的存储与时间复杂度:(1)邻接矩阵:O(∣V∣2)O(|V|^2)O(∣V∣2)(2)邻接表:O(∣V∣+∣E∣)O(|V|+ |E|)O(∣V∣+∣E∣) V 为 vertex 表示节点数,E 为 edge 表示边数。用邻接表存储图时类似于哈希表的拉链法,只不过不需要用哈希函数得到存储的位置通常稠密图用邻接矩阵,稠密图是指边数与点数的平方大致为一个数量级的图。3、作用:求树的重心、返回每个节点对应的子树中包含的节点
2021-04-10 12:54:14
916
原创 算法基础知识总结(数据结构)
二、数据结构1、单链表1、定义:链表是一种线性表,它不需要用地址连续的存储单元来实现。链表不需要逻辑上相邻的两个数据再物理地址上也相邻,而是通过“链”建立数据之间的关系。2、优点:(1)可以不用预先知道数据的个数(2)可以充分利用计算机内存实现灵活的内存动态管理。(3)可以在任意位置高效地实现插入和删除操作3、缺点:(1)要耗费更多的空间(2)不方便随机存取,而要每次都遍历(3)由于节点不是连续存储的,索引一个元素的时间更长4、作用:可以用来实现栈、队列、邻接表存储图、解决散列查找的冲
2021-04-10 12:52:33
321
1
原创 算法基础知识总结(基础算法)
算法基础知识总结Efficient procedures for solving problems on large inputs.一、基础算法1、快速排序1、类别:快速排序是一种 交换排序,冒泡排序也是一种交换排序。2、原理:将未排序的元素根据一个作为基准的主元(Pivot)分成两个子序列,其中一个子序列的数都大于主元,另一个子序列的数都小于主元,然后递归地对两个子序列进行排序。3、本质:分而治之的思想。减小问题规模再分别进行处理。4、时间复杂度:最好和平均:O(NlogN)O(NlogN)
2021-04-10 12:51:19
4928
1
原创 图像分割学习心得
为期七天的图像分割课程转瞬即逝,这七天忙碌但又收获颇丰,非常感谢百度AIstudio提供了这样的机会能让我从一个什么都不会的小白到能够在本机安装paddle paddle,学会是用notebook。之前我接触过一些简单的图像分类,对于最简单单标签分类任务,每一张图片都对应一个标签。通过神经网络训练图片与正确标签之间的映射关系,最后能在测试集上有良好的表现。记得第一次上课之前看了一下图像分割的简介当时就很好奇它是怎么在同一张图像上识别出不同的景物并且用不同的色块表示的?第一次听老师直播讲解才明白原来它的大
2020-10-26 10:54:28
2259
原创 鲁棒性迁移
十八、《What it Thinks is Important is Important: Robustness Transfers through Input Gradients》1、简介这篇论文提供了一种能够迁移对adversarial perturbation的鲁棒性的方法。以往的一些工作都是首先产生一些adversarial examples,把它们放到训练集中对模型进行retrain从而提升鲁棒性,这种鲁棒性可以在不同的任务之间进行迁移,但是要求不同任务使用的是同一个模型,这是一个很大的限制。
2020-10-01 09:36:15
739
原创 强化学习之对抗攻击
十五、Tactics of Adversarial Attack on Deep Reinforcement Learning Agents1、简介之前提到的《ADVERSARIAL POLICIES: ATTACKING DEEP REINFORCEMENT LEARNING》一文在转移概率矩阵和回报函数中考虑了victim agent的动作利用PPO和self-play的方法实现了adversarial attack,这个方法并没有让adversarial agent学会如何去干扰、攻击victim
2020-06-22 14:37:28
3646
5
原创 Adversarial Policies: Attacking Deep Reinforcement Learning
十四、Adversarial Policies: Attacking Deep Reinforcement Learning1、前言之前偶然之间想到,在有多个智能体的竞争任务中能不能让某个或者某些智能体采取诸如“做假动作”等方式来“误导”其他智能体从而提升自己的胜率呢?于是自己很粗糙地想了一个framework,尽管现在看来有很多不太明朗的地方。首先这是一个self-interested的场景,也就是说在训练某个agent的时候其他agent都被看作环境的一部分了。假如当前仅仅考虑 iii 要去误导
2020-06-17 10:02:43
952
原创 迁移学习在多智能体强化学习中的应用(Action Advising)
十三、Action Advising1、Multi-Agent RL 中的 Transfer Learning(1)一些定义在多智能体系统中使用TL是为了重复利用已经学到的知识从而提高学习的速度并且使原本复杂的任务变得容易学习。多智能体系统的TL中有如下几个概念:1、knowledge space K\mathscr{K}K :它包含了当前的任务(target task)中的samples,即⟨s,u,s′,r⟩\left\langle s, \boldsymbol{u}, s^{\prime},
2020-06-05 15:40:00
1776
2
原创 多智能体强化学习之eTL-P
十二、eTL-P:Evolutionary Multi-Agent Transfer Learning with Model-based Opponent Behavior Prediction1、涉及的问题这篇论文信息量很大,需要很多preliminaries 具体有:1、什么是迁移学习(Transfer Learning),在RL、MARL的问题中TL是怎么起作用的?2、什么是evolutionary algorithm?它是怎么和TL结合起来的?3、什么是Memetic Multi Agen
2020-05-30 11:52:59
852
原创 多智能体强化学习之MADDPG
MADDPG(Multi-agent Deep Deterministic Policy Gradient)MADDPG可以看作三部分,首先是DPG(Deterministic Policy Gradient),然后是DDPG(Deep Deterministic Policy Gradient),最后是MADDPG(Multi-agent Deeep Deterministic Policy Gradient)。我们需要逐一了解。1、什么是DPG?DPG是在连续动作空间上采用确定策略进行Policy
2020-05-12 16:03:30
22399
3
原创 多智能体强化学习之LeCTR
LeCTR(Learning to Coordinate and Teach Reinforcement)一、简介LeCTR是一种在Dec-POMDP(Decenteralized Partilly Observable Markov Decision Process)的多个智能体中使用“Learning to teach”方法的RL算法。这些智能体在合适的时机扮演老师或学生的角色,来提供或请...
2020-05-03 16:09:17
1156
原创 Actor-Critic
Actor-Critic(A2C A3CA2C \ A3CA2C A3C)1、首先要搞清楚什么是actor-critic算法,它是怎么来的?Actor-critic算法是一种policy based的on policy的model-free算法。和value based的DQN算法有着本质的不同。policy based算法是将policy参数化π(a∣s,θ)=Pr{A...
2020-05-02 23:00:55
518
原创 DQN——Deep Q Network
1、什么是DQN?DQN是通过多个Q-learning来训练卷积神经网络从而实现高维输入任务的策略控制。神经网络的返回值是Q(s, a)。2、DQN是value based 还是policy based?是value-based,DQN是根据估计的动作价值函数选择动作的。而policy based是参数化策略然后最大化性能指标的办法。3、DQN是on-policy还是off-policy?...
2020-05-01 14:16:10
2058
原创 强化学习实战之Q-Learning
Q-LearningQ-Learning 的代码部分和SARSA大同小异, 最大的不同是SARSA是on-policy,但是Q-Learning是off-policy。import gymimport numpy as npimport matplotlibimport matplotlib.pyplot as pltmatplotlib.style.use('ggplot')imp...
2020-04-10 21:15:24
836
原创 强化学习实战之SARSA算法
SARSASARSA算法是TD Learning中的一个重要应用,TD算法是根据一个直接后继状态节点的单次样本转移来更新的,它没有使用完整的一幕,并且它采用了自举法,因为它用了后继状态的估计值来更新当前状态的估计值。我们导入必要的包并熟悉以下“出租车调度”的环境。import gymimport collectionsimport itertoolsimport matplotlib....
2020-04-10 19:36:10
1651
原创 强化学习实战之蒙特卡洛算法
Monte Carlo本次代码实战使用“21点”游戏作为环境。首先导入必要的包并熟悉环境。import gymimport numpy as npfrom collections import defaultdictimport matplotlibimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes...
2020-04-08 21:10:46
1167
原创 强化学习实战之价值迭代
Value Iteration之前我们实现了DP中的策略迭代,现在来实现价值迭代从而对它有一个更清晰地认识。和之前一样我们导入一些必要的包,写好执行策略的函数。import gymimport numpy as npfrom IPython.display import clear_outputimport timeimport pprintenv = gym.make('Fro...
2020-04-07 20:50:29
648
原创 强化学习实战之策略迭代
Policy Iteration在动态规划那一章我们知道在给定完备的环境模型的情况下可以用策略迭代的方式来求解最优策略,这次我们主要用gym中的FrozenLake-v0环境来试验策略迭代。from gym import envsimport gymimport numpy as npimport timefrom IPython.display import clear_output...
2020-04-04 16:47:04
1018
原创 强化学习实战之Bellman期望方程
MDP:Bellman Expectation EquationMDP理论介绍有了之前的理论经验我们现在可以通过一个编程实例来体会Bellman期望方程了。首先我们导入需要用的包,这里使用了sympy,它的优点是可以用符号来表示公式。import pandas as pdimport sympyfrom sympy import symbols假设这一样一个场景:小明参加了一场考试...
2020-04-02 14:29:53
2030
原创 强化学习之表格型方法小结
表格型求解方法总结到目前为止已经对强化学习中的表格性求解方法有了初步的了解,接下来以Q&A的形式做一些总结。1、Q:什么是强化学习?A:强化学习就是学习做什么(如何把当前的环境映射成动作)才能使数值化的收益信号最大化。学习者不会被告知正确的动作而是必须自己和环境交互通过尝试去发现哪些动作会产生最大的回报。(trial and error)2、Q:强化学习和监督学习、无监督学习的区别...
2020-04-01 19:49:06
1017
原创 强化学习之n步自举法
上一篇:时序差分学习n-step bootstrapping n 步自举法1、n步时序差分预测我们已经知道TD(0)和MC的回溯图分别是这样:自然会联想到中间的一些情况有没有什么意义呢?比如下方的一些回溯图:其实中间的这些过度情况就是n步时序差分方法,它的两种极端情况就是TD(0)和MC。还是按照原来的思路,先研究预测再考虑控制。想要弄清楚n步时序差分的预测是怎么实现的,可以从M...
2020-04-01 19:35:13
969
原创 强化学习之时序差分学习
Temporal-Difference Learning (TD) 时序差分学习 (单步、表格型、无模型)1、为什么要用TD回顾MC算法,它是逐幕采样然后对完整的回报求平均。这里存在一些问题:首先,MC算法比较适用于分幕式任务并且要求每一幕必须会终止,难以胜任连续型任务;其次,MC算法需要一直等到一幕结束了才能获得 GtG_tGt 。TD算法可以较好地解决这两个问题。2、TD 预测之前我...
2020-03-28 17:48:07
882
原创 强化学习之蒙特卡洛方法
Monte-Carlo RL (MC)蒙特卡洛方法1、为什么要用 Monte-Carlo之前提到,第在RL中DP的核心思想是使用价值函数来结构化地组织对最优策略的搜索。但是对于强化学习问题传统的DP作用有限,因为它要求有限MDP给出完备的环境描述(model-based),并且计算复杂度极高!所以直接使用DP是很困难的,而MC则是通过平均样本的回报来估计价值函数并寻找最优策略,并且MC可以不依...
2020-03-28 17:37:17
931
原创 强化学习之动态规划
Dynamic Programming(DP)动态规划1、DP的特点在RL中DP的核心思想是使用价值函数来结构化地组织对最优策略的搜索。但是对于强化学习问题传统的DP作用有限,因为它要求有限MDP给出完备的环境描述(model-based),并且计算复杂度极高!但是它非常重要,所有其他方法都是对DP的一种近似,只不过降低了计算复杂度或者减弱了对环境模型完备性的假设。2、Banach不动点定理...
2020-03-28 17:27:05
807
原创 强化学习之马尔可夫决策过程
一、强化学习简介1、什么是强化学习“Reinforcement learning is learning what to do—how to map situations to actions—so as to maximize a numerical reward signal!”——— Sutton强化学习和监督学习:监督学习中的每个样本都有标签,这些标签告诉模型在当前的环境下什么行...
2020-03-25 20:44:49
1128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人