自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 夏令营,预推免经验分享(计科方向,天大+北理+上交+国防科大+北邮+清华深圳)

保研经验分享个人材料推免学校:北京邮电大学推免专业: 计算机科学与技术个人情况:某985分校2%(4/198),四级649六级530,有实验室经历和项目没有论文,有两个国奖和一个省三好,以及美赛,计算机博弈,蓝桥杯,省程序设计竞赛等一些奖。二. 保研经验分享:首先总结一下自己参加过的夏令营和预推免夏令营:天大计算机,北京理工计算机,北交大计算机,上海交大网安,南...

2019-10-15 15:03:44 7480 3

原创 平移不变性

平移不变性意味着系统产生完全相同的响应(输出),不管它的输入是如何平移的 。平移同变性(translation equivariance)意味着系统在不同位置的工作原理相同,但它的响应随着目标位置的变化而变化 。比如,实例分割任务,就需要平移同变性,目标如果被平移了,那么输出的实例掩码也应该相应地变化。...

2022-06-26 10:12:40 631 1

原创 推荐系统(一)-推荐系统概述

推荐系统的本质:预测任意用户u对于任意物品i的偏好或评分特征(内容)提取提取每个待推荐物品的特征(内容属性)用户偏好计算计算用户在不同特征上的偏好分数(可设置时间衰减系数)内容召回粗排,强调筛选效率物品排序细排,强调准确性其中的关键在于特征提取部分 :优点:无冷启动问题,能为具有特殊兴趣爱好的用户进行推荐缺点:对于特征提取要求比较高,精度不高根据用户之间的相似度来找到与用户喜好相似的其他用户,并把其他用户喜欢的商品推荐给该用户。根据物品之间的相似度来找到与用户所喜欢的物品相似的物品。而其中最重要的部分则是如

2022-06-03 21:56:25 606

原创 C++面试题(二)-预处理,编译,汇编,链接

注:[1]常见的以#开头的命令主要包括,#include指令和#define指令,其中#define指令是在预处理阶段起作用,只是简单的文本替换。#define常常与const,inline进行比较,其中const在编译,链接过程起作用,const是有数据类型的,define与处理后,占用代码段空间,const占用数据段空间。define可用来防止文件被重复引用。而inline是函数,有类型检查,在编译阶段进行替换。[2]动态链接和静态链接的区别:...

2022-06-03 20:14:29 328

原创 C++面试题(一)-C++结构体内存对齐

结构体内存对⻬⽅式和为什么要进⾏内存对⻬?

2022-06-03 00:17:02 345

原创 运筹与优化(一)-LP模型

多商品流模型connection-based model1.所有行程都是一条边有两个顶点a.没有按照顶点对应的地点进行归类b.没有按照时间进行排序2.将所有的等待边和可跨线调度的边归为一类。3.使用边的数目较多。 传统的求解器软件(ILOG CPLEX,MOPS)

2022-06-02 17:31:58 1254

原创 图神经网络学习(四)-带有边信息的图

前言:有些图的每条边都带有额外信息,例如权重,边的类型。1.先验知识1.1. 各种"积" 点积 叉积 外积 哈达玛积 1.2 二部图二部图又称为二分图,即将顶点集分为两个互不相交的子集,并且每条边所关联的两个顶点分别属于这两个不同的顶点集,顶点集内部的节点没有边存在。2.两种处理带有边信息的图的方法2.1 将图转换为二部图操作方法:原始图中的边变成节点,一条边被拆成两条新边,这意味着在编辑诶单和...

2022-05-30 16:58:32 1763 2

原创 图神经网络学习(三)-常见的图神经网络库

1.Pytorch GeometricPyTorch Geometric Library (简称 PyG) 是一个基于 PyTorch 的图神经网络库。它包含了很多 GNN 相关论文中的方法实现和常用数据集,并且提供了简单易用的接口来生成图。1.1 数据集1.1.1 使用PyG自带的数据集# %%# 数据加载dataset = Planetoid(root="data/Cora", name="Cora")print(dataset)print(dataset[0])print(

2022-05-28 21:00:50 1909

转载 图神经网络学习(二)-GCN的进化史

1.卷积与GCN在这里,需要注意的GCN中的等式证明部分需要证明下面的两个式子相等2.第一代GCN3.第二代GCN

2022-05-27 11:28:08 567

原创 图神经网络学习(一)-GCN及其应用

内容提要:GCN背景简介+torch_geometric库安装+GCN处理Cora数据集1.图神经网络1.1 概念原有的卷积神经网络主要用来解决欧式空间中的数据(数据规整,形状固定),例如图像数据。无法应对非欧式空间中的数据,例如图数据。但是神经网络是规整的计算方式,所以图神经网络的目标就是,如何去用规整的神经网络去处理不规整的图数据。1.2 应用场景非欧数据的场景很多,如:社交网络,计算机网络,病毒传播路径,交通运输网络(地铁网络),食物链,粒子网络(物理学家描述基本粒子生.

2022-05-26 23:05:11 4643 2

转载 因果推断(二)-Causal effect 因果效应推理

1.因果效应推理定义套用一个发券和购买转化率的关系,已知发优惠券与购买转化率有因果关系,发优惠券是因,购买转化率是果,我们想知道,当发券的情况下,购买转化率会增加多少?2.因果效应推理估计对象估计对象:ITE(Individual treatment effect) ATE(average treatment effect), CATE(conditional average treatment effect)注:ITE可以看成CATE的一种特例,也就是集合中只有一个元素。3.

2022-05-26 14:42:44 1898

转载 因果推断(一)-基础

1.因果推断定义根源:因果推断就是找到事情发生的原因重要的现象:桑普森悖论,Casualty和Association之间的区别Association是人工智能的基础人工智能Association的问题:知其然,不知其所以然不可解释性 无法满足独立同分布假设 公平性问题 不可回溯性产生Association的三种方式:因果机制 混淆效应 样本选择偏差2.因果推断的两个关键问题Causal discovery(因果关系挖掘): 比如研究:温度升高是否是电

2022-05-26 10:19:19 829

原创 深度学习编译器

深度学习编译器强调优化,深度学习推理框架强调部署 深度学习编译器实现了从深度学习框架(tensorflow等等)到部署到硬件的过程。 编译器其实跟推理框架很相近 编译器scheduler的作用主要在于优化 Relay将前端模型变成TVM可以识别的Graph IR ...

2022-01-03 22:18:49 1315

原创 深度学习推理框架

TensorRT OpenVINO mnn ncnn 深度学习训练框架: Google的TensorFlow和FaceBook的Pytorch是全球主流的深度学习框架,另外亚马逊的MxNet,百度的Paddle,旷视的MegEngine,华为的Mindspore以及一流科技的OneFlow 深度学习前向推理框架: 在Intel的CPU/GPU上就使用OpenVINO,在Arm的CPU/...

2022-01-03 22:17:31 1155

原创 TensorRT

什么是TensorRTTensorRT是可以在NVIDIA各种GPU硬件平台下运行的一个C++推理框架。我们利用Pytorch、TF或者其他框架训练好的模型,可以转化为TensorRT的格式,然后利用TensorRT推理引擎去运行我们这个模型,从而提升这个模型在英伟达GPU上运行的速度。速度提升的比例是比较可观的。说回TensorRT本身,TensorRT是由C++、CUDA、python三种语言编写成的一个库,其中核心代码为C++和CUDA,Python端作为前端与用户交互。当然,TensorRT

2022-01-03 22:15:18 1463

原创 目标检测-twostage

R-CNN 两大贡献:1.引入CNN 2.引入fine-tune的方法 Two-stage方法:1.Region Proposal 2.对区域内物体进行分类 trick:1.根据Iou对RP进行过滤 2.在进行边框regression的时候,加入log对损失函数大小进行控制 缺点:速度慢,需要训练三个模型(RP,classify,regression) Selective search: 三个主要

2022-01-03 22:12:17 1357

转载 C++ Makefile 技巧

单个源文件生成可执行程序下面是一个保存在文件helloworld.cpp中一个简单的C++程序的代码: 单个源文件生成可执行程序/* helloworld.cpp */#include<iostream>intmain(intargc,char*argv[]){std::cout<<"hello, world"<<std::endl;return(0);}程序使用定义在头文件iostream中的cout,向标准输出写入一...

2022-01-03 22:10:16 275

原创 强化学习实习生面经

自己的研究方向是强化学习,最近投了三个有强化学习岗位公司的实习,比较幸运,因为问的问题都比较简单,最后全都收到了实习offer????滴滴:网约车策略与技术部运筹调度实习生一面1.自我介绍,介绍简历项目2.场景题:跨区域车辆调度问题设计3.算法题:单个数组找单个重复元素单个数组(100个数)找25个重复元素二面1.自我介绍,介绍简历项目2.智力题:去掉大小王的52张扑克牌抽中5张同花顺的概率延伸:抽到五张顺子的概率瓶盖换饮料问题(3换1),喝100瓶需要买

2021-11-15 16:34:53 1100

原创 机器学习面试题总结

机器学习面试题1.支持向量机 模型建立 为什么要求解SVM的对偶问题? 原问题:固定w,b,针对α求最大值 对偶问题:固定α,针对w,b求最大值 核函数的原理及作用 从模型的角度,使得模型具有拟合非线性函数的能力。 根据Cover Theomem,高维空间比低维空间更容易线性可分。 从优化角度,对偶的表示能够带来内积,从而便于求解。 常用核函数 线性核,多项式核,高斯核,拉普拉斯核,Sigmoid核 SMO

2021-10-29 16:16:56 1683

原创 强化学习方向常见面试题总结

最近在准备面试,从“深度强化学习实验室 (neurondance.com)”上偶然看到了强化学习常见面试题的总结,自己简单的写了一下,由于很多东西都是自己随口一说,里面会有很多问题和错误,期待大家一起交流讨论。 <!--蒙特卡洛、TD、动态规划的关系?--> 动态规划属于有模型强化学习的范畴,蒙特卡洛和TD都属于无模型的范畴。蒙特卡洛和TD都需要通过采样来获取数据进行学习蒙特卡洛需要采样整个样本序列,无偏差,但是方差大...

2021-10-28 13:07:37 8683 2

原创 有模型强化学习总结

有模型和无模型的区别1.有了模型,我们可以干哪些事呢?第一, 利用模型和基于模型的优化算法,我们可以得到回报高的数据,也就是好的数据。有了好的数据,我们就可以对策略网络进行稳定的训练了。第二, 有了模型,我们可以充分地利用示例(demonstration)学习。人的示例可以当成模型的初值第三,提高数据利用率,在真实环境中采集到的数据不白白扔掉,而是用来构建模型第四,利用已有的数据学到系统的模型后,利用这个模型你就可以预测其他未知状态处的值了。无模型的强化学习只能依靠尝试,与环境交互得到其他未知状态

2021-04-26 14:00:24 2338

原创 分布式强化学习总结

DPPO在ppo基础上的优化1.在状态中加入了RNN,能够兼顾观察状态的时序性,更加适用与POMDP问题2.在回报计算中使用了K步奖励法3.对原来的数据进行归一化DPPO框架含有一个chief线程,和多个worker线程。多个worker进程可以并行运行全局只有一个共享梯度区和共享PPO模型不同的worker中还有自己的局部PPO模型和局部环境局部PPO模型的作用:worker使用PPO策略和局部环境进行互动获得数据,并在更新中计算梯度A3C我们先看看经典的A3C[1]架构图。

2021-04-26 11:53:59 2528 6

原创 From TRPO to PPO

TRPOTRPO通过采取最大可能的步骤来更新策略,以提高性能,同时满足新策略和旧策略允许的接近程度的特殊限制。约束是用kl散度表示的,kl散度是对概率分布之间距离的度量(有点像,但不完全是)。这不同于一般的策略梯度,它使新旧策略在参数空间上保持接近。但是,即使参数空间上看起来很小的差异也可能会在性能上产生很大的差异,因此一个错误的步骤可能会破坏策略的性能。这里需要注意的是,这根正常的梯度下降也不大一样,因为这里优化的不是旧的参数,而是优化的新的参数,主要原因在于使用了优势函数,需要重要性采样。PP

2021-04-01 22:30:47 175

原创 from TD3 to SAC

TD3DDPG常常会遇到Q值overestimate的问题,这将会导致Critic部分给出错误的评判,导致Actor部分错误利用了这部分知识进行学习。TD3则是为了解决这个问题。技巧一:快速双q学习。TD3学习两个q函数而不是一个q函数(即twin),并使用两个q值中较小的一个作为Bellman误差损失函数中的目标。技巧二:延迟的政策更新。TD3更新策略(和目标网络)的频率低于q函数。本文建议每两个q函数更新一次策略更新。这样可以有效避免policy带来的偏差问题。技巧三:目标政策平滑。TD3为目

2021-04-01 15:34:20 809

原创 回溯专题

回溯专题1.DFS 和回溯算法区别DFS 是一个劲的往某一个方向搜索,而回溯算法建立在 DFS 基础之上的,但不同的是在搜索过程中,达到结束条件后,恢复状态,回溯上一层,再次搜索。因此回溯算法与 DFS 的区别就是有无状态重置2.何时使用回溯算法当问题需要 “回头”,以此来查找出所有的解的时候,使用回溯算法。即满足结束条件或者发现不是正确路径的时候(走不通),要撤销选择,回退到上一个状态,继续尝试,直到找出所有解为止3.怎么样写回溯算法(从上而下,※代表难点,根据题目而变化)①画出递归树,找到状

2021-04-01 10:50:13 97

转载 如何判断强化学习算法是否收敛

如何判断强化学习算法是否收敛1. 策略熵对于随机性策略(PPO等)可以用策略熵来表示策略是否“确定”。在训练过程中随着策略提升,策略变得越来越确定,此时熵应该是随着逐渐降低的,熵曲线趋于平缓。2. loss指标(网络收敛好坏)这是DL中的直观指标,虽然不能直接用在DRL来说明策略好坏,但loss是在一直下降还是已经趋于平缓了,可以一定程度上说明网络模型的学习程度,看模型是“学会了”还是“学废了”,趋于平缓可能就是已经训练差不多了,当然“训练差不多”不代表“策略最优”,有些可能loss还在掉,但

2021-03-31 11:26:52 12931 3

原创 位运算专题

位运算专题位操作(Bit Manipulation)是程序设计中对位模式或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。位操作包括:¬¬ 取反(NOT)∩∩ 按位或(OR) |⊕⊕ 按位异或(XOR)^∪∪ 按位与(AND)&移位 << >>移位是一个二元运算符,用来将一个二进制数中的每一位全部都向一个方向移动指定位,溢

2021-03-29 10:21:09 89

转载 值分布强化学习

值分布强化学习1.对比传统强化学习目标是为了优化累积回报,但是这个累积回报其实是一个随机变量值分布强化学习由于状态转移的随机性、状态表示的混叠效应,以及函数逼近的引入,智能体与环境之间存在着随机性,这就导致了折扣累计回报 [公式] 是一个随机变量,给定策略 [公式] 后,随机变量 [公式] 服从一个分布,这个分布我们称之为值分布。经典强化学习算法是优化值分布的均值,而忽略了整个分布所提供的信息。用一个图来表示是这样的:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img

2021-03-28 11:43:53 554

原创 使用Tensorflow和numpy分别构建简单神经网络

使用Tensorflow和numpy分别构建简单神经网络numpy构建'''用底层numpy实现神经网络这里使用的时pytorch风格的实现方式'''import numpy as npimport matplotlib.pyplot as plt'''定义layer基本类'''class Layer: def __init__(self): pass def forward(self,input): return input

2021-03-27 17:57:26 310 1

原创 Pytorch基础代码记录(基本特性,构建网络)

Pytorch基础代码记录(基本特性,构建网络)import torchimport tensorflow as tfimport numpyx=torch.rand(5,3)print(x)y=torch.randn_like(x,dtype=torch.float)print(y)# 1.# pytorch提供切片# print(y[:,1])# 2.# method 1:z=x+y# method 2:z=torch.add(x,y)# method 3: z=x.

2021-03-27 17:51:56 103

原创 主题:数组,链表,快慢指针方法,双指针方法

主题:数组,链表,快慢指针方法,双指针方法无法高效获取长度,无法根据偏移快速访问元素,是链表的两个劣势。然而面试的时候经常碰见诸如获取倒数第k个元素,获取中间位置的元素,判断链表是否存在环,判断环的长度等和长度与位置有关的问题。这些问题都可以通过灵活运用双指针来解决。作者:Time-Limit链接:https://leetcode-cn.com/problems/linked-list-cycle/solution/yi-wen-gao-ding-chang-jian-de-lian-biao-wen

2021-03-23 10:33:01 63

转载 强化学习奖励和状态设计

奖励1.稀疏奖励问题2.奖励模式化问题3.奖励不能太过于全局化4.记住一些常用的奖励设置方式5,逆向强化学习自动涉及回报函数6.避免奖励异常问题(贪婪:来回踱步,胆怯:不敢走,主线奖励太小,鲁莽:惩罚不够)7.采用reward shaping(加入势能项)首先确定主线奖励,但只定义主线奖励的往往都是属于稀疏回报问题,太难去获得正样本,所以需要辅助reward主线概率难获得,就要将原始目标分成一系列子目标,也就是常常说的credit assignment,但是要避免喧宾夺主最好的rewar

2021-03-22 19:37:30 4650

原创 TRPO问题

Trpo问题1.TRPO和PPO系列,对于奖励部分的评估是使用的Q网络还是使用的蒙特卡洛方法目前看,两种方法都是可以的,当然用Q网络效果更好,但是这样就应该把这俩归到AC架构中去了(不知道对不对),其中Open AI的spinning up教程中使用的是Q网络,而levine的课里使用的还是蒙特卡洛方法2.TRPO相对于传统的PG的提升对于步长进行了限制,使用KL散度来进行约束,使得每步都有好的回应(事事有回应),而且使用重要性采样,使用旧策略来代替新策略spinning up版本Levine

2021-03-21 21:53:32 130

原创 【LeetCode 92】

【LeetCode 92】链表特性:没法反向来进行遍历,所以不容易倒着来两种思路:1.变数遍历一遍记下来2.变指针对于倒转的情况一般使用双指针转的情况一般使用双指针

2021-03-20 17:47:43 84

转载 RL稀疏奖励问题

强化学习中状态空间大,在只有达到特定的状态才能给出奖励的设定下,agent很难探索到特定状态,怎么办?稀疏奖励问题是指agent探索的过程中难以获得正奖励,导致学习缓慢甚至无法进行学习的问题,并且广泛存在于现实中,比如围棋,人们很难去设定中间每步的奖励,并且状态空间巨大,使用全局奖励会有奖励稀疏且滞后的问题。对于稀疏奖励问题的资料首先推荐李宏毅老师关于稀疏奖励部分的讲解和国内这篇稀疏奖励综述。深度强化学习中稀疏奖励问题研究综述 - 中国知网kns.cnki.net我觉得目前的稀疏奖励算法可以从数据和

2020-12-06 22:21:46 484

原创 多智能体强化学习

传统RL算法面临的一个主要问题是由于每个智能体都是在不断学习改进其策略,因此从每一个智能体的角度看,环境是一个动态不稳定的,这不符合传统RL收敛条件。并且在一定程度上,无法通过仅仅改变智能体自身的策略来适应动态不稳定的环境。由于环境的不稳定,将无法直接使用之前的经验回放等DQN的关键技巧。policy gradient算法会由于智能体数量的变多使得本就有的方差大的问题加剧。1.强化学习和多智能体强化学习我们知道,强化学习的核心思想是“试错”(trial-and-error):智能体通过与环境的交互,根据

2020-12-06 22:21:08 12244 5

原创 极大似然估计

① 频率学派他们认为世界是确定的。他们直接为事件本身建模,也就是说事件在多次重复实验中趋于一个稳定的值p,那么这个值就是该事件的概率。他们认为模型参数是个定值,希望通过类似解方程组的方式从数据中求得该未知数。这就是频率学派使用的参数估计方法-极大似然估计(MLE),这种方法往往在大数据量的情况下可以很好的还原模型的真实情况。② 贝叶斯派他们认为世界是不确定的,因获取的信息不同而异。假设对世界先有一个预先的估计,然后通过获取的信息来不断调整之前的预估计。 他们不试图对事件本身进行建模,而是从旁观者的角

2020-11-19 11:42:25 200 1

原创 【LeetCode31】

【LeetCode31】class Solution {public: void nextPermutation(vector<int>& nums) { int i=nums.size()-1; int tmp; int flag=0; if(nums.size()==0||nums.size()==1) { return; } whil

2020-11-11 11:41:51 99

转载 迁移强化学习

作者:机器之心链接:https://zhuanlan.zhihu.com/p/87220648来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、迁移学习是什么?机器学习技术在许多领域取得了重大成功,但是,许多机器学习方法只有在训练数据和测试数据在相同的特征空间中或具有相同分布的假设下才能很好地发挥作用。当分布发生变化时,大多数统计模型需要使用新收集的训练数据重建模型。在许多实际应用中,重新收集所需的训练数据并重建模型的代价是非常昂贵的,在这种情况下,我们需要在任务域

2020-11-07 22:06:57 2216

原创 【LeetCode 1358】

【LeetCode 1358】[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4osxhEOe-1604755774208)(C:\Users\liuyi\AppData\Roaming\Typora\typora-user-images\image-20201107210151741.png)]版本1:int abc_or_not(string s,int l,int r){ int flag1=0,flag2=0,flag3=0; for(int i

2020-11-07 21:29:47 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除