学习笔记
文章平均质量分 74
strawberry47
研究方向:强化学习、推荐系统、多智能体。
qq邮箱:852086890@qq.com
展开
-
小白刷题CTF show web方向
CTF show做题笔记原创 2024-03-12 16:15:26 · 460 阅读 · 1 评论 -
服务器出现 conda:command not found如何修复
注意这个地方的path要改成自己的bin目录哦,不能直接复制哦!命令打开,也可以在可视化界面找到对应文件,双击打开。文件,可以在终端使用。原创 2022-09-08 09:38:12 · 1144 阅读 · 1 评论 -
强化学习中的并行方法:ApeX框架 梯度并行,A3C经验并行 | 分布式异步参数更新, 分布式数据生成
有一个主网络和很多的worker。A3C把主网络的参数直接赋予worker中的网络,更新时。该架构依赖于优先记忆重放,只关注actor生成的最重要的数据。强化学习收敛速度慢,采用并行计算可以加快计算速度。与环境进行交互,产生的数据存储在。,对主网络的参数进行更新。原创 2022-08-25 11:28:30 · 1919 阅读 · 0 评论 -
pycharm中调试ray,设置断点不跳进去怎么办?解决方法
网上找了一下,在stackflow中发现了这个回答。框架,发现设置了断点后,并不会跳进相应函数。原创 2022-08-24 17:09:50 · 977 阅读 · 3 评论 -
超详细debug教程!小白必看!百分之八十的人都不知道的debug小技巧;pycharm界面如何设置?pycharm如何debug?for循环时如何停止?各种debug小技巧分享!
如果你是刚上手python的小白,一定要看这篇文章!如果已经用了好几年python,也不要错过这篇文章哦,总有一些小tips是你不知道的。原创 2022-08-19 14:57:02 · 1465 阅读 · 0 评论 -
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?
我们安装pytorch的时候,也会顺带安装cuda,那这个cuda和服务器自带的cuda是什么关系呢?另外,安装pytorch的时候,这里的platform究竟是什么意思呢?我问了问之前使用这个命令的同门,他表示:“那个可能过时了,当时好像是3090的原因”。于是上网搜了搜,发现可能是pytorch版本和CUDA版本不一样,于是使用。的时候安装的是什么东西,有没有cuda(千万不要安装成cpu版本哦!命令,惊奇的发现,CUDA version居然是11.4!所以,大家下载pytorch的时候,一定要从。..原创 2022-08-12 14:51:01 · 4050 阅读 · 2 评论 -
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 论文代码运行笔记原创 2022-07-28 10:04:42 · 2169 阅读 · 10 评论 -
Unity行人随机行走不碰撞
属性Mass(质量)、Drag(阻力)、AngularDrag(角阻力)、UseGravity(是否使用重力)、IsKinematic(是否受物理影响)、CollisionDetection(碰撞检测)等。比如地面就可以不设置刚体,因为地面是永远不动的,把人物设置刚体就可以实现真实的物理碰撞效果了。将行人对象的Layer设置为相同层级,再调整碰撞矩阵,就会互相不碰撞了。这里的不碰撞并不是“避障”,只是不检测碰撞了。,所以在使用刚体时,根据可能发生的碰撞触发事件,适当的。的游戏对象相互接触的时候。......原创 2022-07-22 11:06:52 · 1748 阅读 · 0 评论 -
无人驾驶动态避障策略调研 | 机器人动态避障策略 | 行人轨迹预测 | 机器人导航
既然要避障,就需要知道周围障碍物的位置和速度,预测是否会相撞。一般分为三个步骤①障碍物检测②障碍物轨迹预测③避障光流传感器可以估计物体的速度轨迹预测,比较简单的方法是基于行人过去的速度和方向,预测下一时刻的位置坐标,判断是否会与机器相撞。..............................原创 2022-07-15 14:47:40 · 5493 阅读 · 0 评论 -
三篇强化学习用于多智能体路径规划的论文
期刊:applied science MDPI总结:使用VGG进行特征提取,再使用DQN进行决策。论文质量较低,缺乏很多重要内容,如:环境搭建、数据集介绍、action和state的相关描述,还有很多typo;而且论文中并未体现出多机器人的思想。论文模型图非常简单,画了跟没画似的。。。和常见的强化学习交互图一样。用到了CNN来处理像素信息(应该后续会作为state),但文中并未说明图像信息来源:reward设置:离目标近,reward +0.2;碰撞,reward -20;到达目标点,reward原创 2022-07-13 14:57:50 · 8215 阅读 · 0 评论 -
强化学习中 on-policy与off-policy 的理解;如何区分on-policy 与 off-policy;RL更新策略、policy结构总结
有趣的解释:古时候,优秀的皇帝都秉持着“水能载舟 亦能覆舟”的思想,希望能多了解民间百姓的生活。皇帝可以选择通过微服出巡,亲自下凡了解百姓生活(On-policy),虽然眼见为实,但毕竟皇帝本人分身乏术,掌握情况不全;因此也可以派多个官员去了解情况,而皇帝本人则躺在酒池肉林里收听百官情报即可(Off-policy)。Q-learning vs. Sarsa二者都是基于TD的强化学习策略,但是前者是off-policy(有目标网络和行为网络),后者是on-policy。on-policy与off-polic原创 2022-07-07 10:08:53 · 4340 阅读 · 1 评论 -
对word2vec的一些浅层理解
最近有朋友问到word2vec是怎么一回事,于是我又复习了一遍相关知识,记录下自己的一些思考,防止遗忘~word2vec是获取词向量的手段,它是在NNLM基础上改进的。训练模型本质上是只具有一个隐含层的神经元网络。它有两种形式 ① skip-gram:从两边预测中间 ② C-BOW:从中间预测两边;注意,这两种形式只是代表两种不同的训练方式,最终都是取输入层->隐藏层的权重,作为词向量。训练时,以CBOW为例,假设语料库是“今天的天气真好”;模型的输入是 "今 天 的 天 真 好"六个单词的one-h原创 2022-07-06 15:37:26 · 391 阅读 · 0 评论 -
如何在服务器一次性运行多个python文件?(tmux搭配argparse)
在服务器开一个tmux窗口(服务器小技能(alias, tmux, htop,gpustat, zsh)超级方便,强推)直接将你想输入的命令用 & 连接起来,一次性复制到tmux中:原创 2022-06-09 11:36:11 · 636 阅读 · 0 评论 -
Counter统计数量后,如何返回有序的key
返回的是counter,我只想取出有序的key,该怎么做呢?原创 2022-06-09 10:23:14 · 414 阅读 · 0 评论 -
超好用的日志库 logzero
介绍链接python自带的日志库实在是太难用了,一点都不简洁!在朋友的安利下发现了这个超棒的库,直接 就可以输出,输出还有颜色,文件 + 行号,超级方便!输出文件有时间、代码行等信息原创 2022-06-07 15:02:02 · 218 阅读 · 0 评论 -
tensor中的append应该如何实现
法一:使用list ,再concat法二:直接使用concat原创 2022-06-05 22:30:00 · 18530 阅读 · 2 评论 -
当lambda没有输入时,是何含义?
今天看代码的时候,看见一句代码[lambda: gym.make("SimulatedEnv-v0", ) for _ in range(args.training_num)] ;用到了lambda,但是冒号前是空的,没有输入,输出是右边那一堆。我第一反应是这个lambda是不是可以不要哦后来做了一下实验,发现还不能去掉呢!def f(x): return x * 100print([f(3) for i in range(5)])print([lambda: f(3) for i in原创 2022-05-25 11:39:05 · 177 阅读 · 0 评论 -
Sparse稀疏矩阵主要存储格式总结
Sparse稀疏矩阵主要存储格式总结from scipy import sparsehelp(sparse)Sparse Matrix Storage FormatsThere are seven available sparse matrix types: 1. csc_matrix: Compressed Sparse Column format 2. csr_matrix: Compressed Sparse Row format 3. bsr转载 2022-04-06 11:04:36 · 312 阅读 · 1 评论 -
@njit 进行负采样,效率提升近40倍
慢吞吞的老方法:推荐算法中常常会用到BPR损失,在进行负采样时,常用方法为:def UniformSample_original_python(dataset): """ the original impliment of BPR Sampling in LightGCN :return: np.array """ total_start = time() user_num = dataset.trainDataSize users原创 2022-04-04 22:47:55 · 2945 阅读 · 4 评论 -
中科大+快手出品 CIRS: Bursting Filter Bubbles by Counterfactual Interactive Recommender System 代码解析
文章目录get_args() 解析参数load_mat()加载矩阵gym.make(args.env) 创建环境load_dataset_kuaishou() 加载数据集负采样构建dataset类论文简介:目前几乎所有的推荐的策略都面临着“越推越窄”和信息茧房(filter bubble)问题,这对于商业公司与用户来说是双输的局面。本文在快手App的交互式推荐数据中证实了信息茧房中过曝光效应带来的负影响,并首次将因果推断技术用于动态的交互式推荐中,最终学习一个能够避免信息茧房产生的推荐策略。先运行CIR原创 2022-04-03 09:43:54 · 2476 阅读 · 3 评论 -
中科大何向南团队+快手App联合出品 KuaiRec | 快手首个稠密为99.6%的数据集 | 相关介绍、下载、处理、使用方法
文章目录数据集介绍相关链接:数据集介绍相关链接:论文:https://arxiv.org/abs/2202.10842数据:https://rec.ustc.edu.cn/share/598635c0-9585-11ec-8259-414ede1f8d4f代码:https://chongminggao.github.io/KuaiRec/Example:http://m6z.cn/5U6xyQKuaiRec是中科大与快手团队合作产出的一个稠密度高达99.6%(一般推荐系统公开数据集的稠密度在1原创 2022-03-18 16:22:01 · 6437 阅读 · 3 评论 -
Pytorch学习
2021.09.17import torch.nn as nntorch.nn.Linear(in_features,out_features,bias)用于建立全连接层。in_features指的是输入的二维张量的大小,out_features指的是输出的二维张量的大小,也代表了该全连接层的神经元个数。layer = torch.nn.Linear(30,5)input = torch.randn(12,30)layer(input) # 输出12x5torch.nn.Paramete原创 2022-02-17 14:46:40 · 1220 阅读 · 0 评论 -
scipy.sparse.csr_matrix 压缩稀疏矩阵
处理数据的时候总是会用到csr_matrix函数,每次百度出的解释都看不明白,于是自己写了个说明。目的:当user和item数目过多时,gpu存不下一个m*n的大矩阵,需要压缩为稀疏矩阵。用法:from scipy.sparse import csr_matrixrating = [1,2,3,4,5]user = [3,4,1,2,3]item = [1,1,1,2,2]res = csr_matrix((rating,(user,item)),shape=(5,5))print(res原创 2022-02-14 20:47:12 · 926 阅读 · 0 评论 -
如何使用Sublime写latex(替代overleaf在线写论文)
下载sublime,安装各种工具网址:sublime安装Package Control(需要通过sublime的Package Control 安装LaTeXTools):法一:按 ctrl+`,然后将下面的代码输入,按enterimport urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.原创 2022-01-06 17:18:14 · 3160 阅读 · 0 评论 -
服务器小技能(alias, tmux, htop,gpustat, zsh)
目录alias自定义指令:tmux保持会话:htop查看CPU占用率:连接外网alias自定义指令:适用场景:想要替换某个长长的指令/设置指令的别名步骤:① vim .bashrc 进入用户配置文件② 在 # <<< conda initialize <<<下方添加想要替换的命令,如alias nv="watch -n .1 -d nvidia-smi" 就是用nv替换后面那一堆表达式。③ 按下esc键后输入冒号和wq键 保存并退出。④ 试一下输入nv原创 2021-12-25 22:48:36 · 1700 阅读 · 2 评论 -
图神经网络 图卷积网络
整理:图卷积的核心思想是利用『边的信息』对『节点信息』进行『聚合』从而生成新的『节点表示』GNN分为spectral domain和spatial domain:以前是谱域,涉及傅里叶变换、拉普拉斯矩阵等等(从信号与处理迁移过来的),现在逐渐转成空域,更简单一些。图上的空域:拓扑结构图上的频谱:没有一个直观的表示,只能用矩阵相乘的操作来表示。谱域:spectral domain(谱域):设计中间的卷积核->好几代GCN (从傅里叶变换到拉普拉斯矩阵,到卷积)离散卷积CNN ->原创 2021-12-21 20:57:22 · 1916 阅读 · 0 评论 -
EasyRL 强化学习笔记 7、8章节(DQN进阶,DQN连续动作)
DQN(进阶技巧)Double DQN**原因:**DQN中,Q值往往被高估了。设计了两个Q-network:假设第一个 Q-function 高估了它现在选出来的动作 a,只要第二个 Q-function Q’没有高估这个动作 a 的值,那你算出来的就还是正常的值。假设 Q’高估了某一个动作的值,那也没差,因为只要前面这个 Q 不要选那个动作出来就没事了,这个就是 Double DQN 神奇的地方。实现上:原本DQN就有两个network,目标网络(固定不动)和行为网络(不断更新)。转载 2021-11-15 09:40:39 · 788 阅读 · 0 评论 -
EasyRL 强化学习笔记 5、6章节(PPO,DQN)
第五章 PPOFrom On-policy to Off-policy如果要学习的 agent 跟和环境互动的 agent 是同一个的话, 这个叫做on-policy(同策略)。如果要学习的 agent 跟和环境互动的 agent 不是同一个的话, 那这个叫做off-policy(异策略)。policy gradient就是on-policy,必须要收集到很多τ\tauτ,然后更新式子,非常耗时。变成off-policy:使用另一个actor θ′\theta'θ′跟环境互动,用收集到的数据训练转载 2021-11-11 10:46:35 · 2209 阅读 · 0 评论 -
EasyRL 强化学习笔记 3、4章节(表格型方法,策略梯度)
本文转载于EasyRL。我是在阅读过程中从中摘录了一些重点,强烈建议大家阅读原文哦!写的超级细,而且在下面留言很快就会有回复。第三章 表格型方法MDPMDP四元组<S,A,P,R><S,A,P,R><S,A,P,R>(有时候也会加上KaTeX parse error: Undefined control sequence: \gmma at position 1: \̲g̲m̲m̲a̲变成五元组)。RL是一个序列决策过程model-basedmodel-转载 2021-11-10 14:51:15 · 323 阅读 · 2 评论 -
强化学习用于推荐系统 相关资料
强化学习系列三——如何处理大规模离散动作空间 https://zhuanlan.zhihu.com/p/64514037 增强学习在推荐系统有什么最新进展?https://www.zhihu.com/question/57388498/answer/80157468 RL在推荐中的综述,用很短的篇幅把强化学习在推荐系统中的工作、问题全理顺了。Reinforcement Learning based Recommender Systems: A Survey 一个tutorial对理解RL在推荐中的o.原创 2021-05-11 08:49:44 · 638 阅读 · 0 评论 -
EasyRL 强化学习笔记 1、2章节(强化学习概述,MDP)
目录第一章 强化学习概述Reinforcement Learning和监督学习对比:trajectory与episodeSequential Decision Makingstate和observation;MDP与POMDPAction SpacesMajor Components of an RL AgentPolicyValue FunctionModelPolicy-based 与 Value-basedTypes of RL Agentsvalue-based & policy-base转载 2021-11-03 11:06:46 · 1009 阅读 · 0 评论 -
十月学习日记
Interactive Recommender System via Knowledge Graph-enhanced Reinforcement Learning,KERL,overleaf编译错误,使用配置文件原创 2021-10-29 09:38:44 · 671 阅读 · 0 评论 -
Overleaf 小技巧(如何在arxiv下载latex文档 ;文献引用cite,citet,citep有什么区别;\newcommand命令怎么用;怎么打出引号、英文连接符)
目录arxiv文章如何下载latex文件引用文献cite,citet,citep有什么区别关于超链接,\newcommand命令怎么打出前引号后引号arxiv文章如何下载latex文件看论文的时候,遇到一些新奇的格式,但是不知道对方是怎么弄出来的,应该怎么办呢?可以去arxiv找找有没有这篇文章,然后把它的latex压缩包下下来。步骤:先在arxiv找到对应文章,点击other formats下载压缩包,一定记得改名哦!进行解压,再压缩成zip格式(因为overleaf只认zip格式)导原创 2021-10-18 11:02:13 · 11710 阅读 · 6 评论 -
九月学习笔记 (FM、一些论文阅读、代码)
目录2020.09.16FM 因子分解机2021.09.18论文阅读Interactive Recommender System via Knowledge Graph-enhanced Reinforcement LearningHierarchical Reinforcement Learning for Integrated RecommendationDEAR: Deep Reinforcement Learning for Online Advertising Impression in Reco原创 2021-10-13 15:20:39 · 409 阅读 · 0 评论 -
莫烦 强化学习视频整理
RL知识整理RL分类按是否理解环境分类:Model-free RL(不理解环境):用模型表示环境,从环境中得到反馈,再学习;只能一步一步等真实世界的反馈算法:Q Learning, Sarsa, Policy GradientsModel-Based RL(理解环境):可以模拟现实世界,有一个虚拟环境;预判断反馈算法:Q Learning, Sarsa, Policy Gradients按思想分:Policy-Based RL(基于概率):输出行动概率,然后根据概率采取行动(原创 2021-10-13 15:19:40 · 149 阅读 · 0 评论 -
交叉熵与KL散度
交叉熵:描述了两个概率分布之间的距离,当交叉熵越小说明二者之间越接近KL散度(相对熵):用于衡量对于同一个随机变量x的两个单独的概率分布P(x)和Q(x)之间的差异。原创 2021-10-13 15:18:16 · 110 阅读 · 0 评论 -
MAP和NDCG 概念及python代码
MAPAP:平均准确率,类似于顺序敏感的recall;返回的推荐结果中,我们需要的排在越前面越好。MAP:为所有用户的AP取均值。 def MAP(origin, res, N): sum_prec = 0 for user in res: hits = 0 precision = 0 # 一个用户一个用户算 for n, item in enumerate(res原创 2021-10-13 15:15:23 · 850 阅读 · 0 评论 -
网络表示学习(DeepWalk,node2vec)
DeepWalkDeepWalk的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入word2vec进行训练,得到物品的embedding。RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。node2vec2016年出现的n2v,相较于DeepWalk,是通过调整随机游走权重的方法使graph embedding的结果在网络的原创 2021-10-13 15:14:14 · 216 阅读 · 0 评论 -
Point-wise、Pair-wise、List-wise区别
在Information Retrieval领域一般按照相关度进行排序。比较典型的是搜索引擎中一条查询query,将返回一个相关的文档document,然后根据(query,document)之间的相关度进行排序,再返回给用户。而随着影响相关度的因素变多,使用传统排序方法变得困难,人们就想到通过机器学习来解决这一问题,这就导致了LRT的诞生。Ranking模型可以粗略分为基于相关度和机遇重要性进行排序。基于相关度的模型,通常利用query和doc之间的词共现特性(如布尔模型)、VSM(如TFIDF、L原创 2021-10-13 14:58:16 · 2798 阅读 · 0 评论 -
n折交叉验证结果中的+-怎么算的? 标准差?有偏估计?无偏估计?
n折交叉验证的结果怎么写Q:这种实验结果里的±是怎么写出来的呢?A:均值± 标准差标准差百度标准差的时候,发现了这两个公式。差别是,后者是无偏估计量。无偏估计那么什么是无偏估计呢?下面三个链接很好的解释了:为什么分母从n变成n-1之后,就从【有偏估计】变成了【无偏估计】?为什么样本方差(sample variance)的分母是 n-1?为什么样本方差(sample variance)的分母是 n-1?下面自己总结总结~个人理解:首先,我们要看看方差是怎么计算的:E[1n∑i=1原创 2021-10-11 16:52:13 · 1723 阅读 · 4 评论