自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (4)
  • 收藏
  • 关注

原创 DPPO:Distributed Proximal Policy Optimization

DPPO:Distributed Proximal Policy Optimization分布式近端策略优化,因为就是PPO的分布式实现,整条的架构和A3C差不多,一个主网络,N个子网络,不一样的地方是,A3C的子网络负责采样数据和计算梯度,然后将梯度传回主网络,而DPPO的子网络只是负责采样数据,然后将采样的数据传回主网络进行统一计算。这个DPPO是王者荣耀智能体采用的技术方案,但是网上只有论文,没有具体的实现。要实现DPPO主要要解决两个技术难点:1.如何快速的在多个计算节点之间进行数据交换,一

2022-05-23 11:34:54 1584

原创 Actor-Critic

Actor-Critic将选取动作策略的步骤称为Actor,将评估动作的概率是变大还是变小的步骤称为Critic在AC算法中,Actor和Critic一般采用神经网络来实现,因此称为策略网络(参数为θ)和评价网络(参数为w)当评价函数为Q函数的时候,为最基础的AC算法,此时Actor参数的更新方式:θ=θ-α▽logπ(at|st, θ)*Q(at,st)Critic的损失函数:Loss=(Rt+γmaxQ(s’,a’)-Q(st,at))^2PS:s’为st的下一个状态,Rt为st转移到s’的

2022-05-23 11:06:48 1340

原创 Policy Gradient

Policy Gradient DQN利用神经网络来计算某个状态下执行各个动作的Q值是多少,从而辅助我们选取最优的动作,是一个回归问题,研究自变量和因变量之间的关系通过计算Q值,获取最优动作方法:采用策略梯度算法,策略梯度是Policy-Based的回合更新算法,本质上是一个分类问题,就是计算某个状态分类到某个动作的概率是多少,策略就是希望一个动作得到的奖励越多,它被选择的概率也越大。和DQN一样可以用神经网络来拟合这个过程,先确定我们目标函数,我们要优化的目标是使累积回报最大化,因此:目标函数

2022-05-23 10:42:38 259

原创 Batman-adv源码编译安装

Batman-adv源码编译安装https:downloads.open-mesh.org/batman/releases/batman-adv-2022.01.首先到上面的网站分别下载下面这三个文件,batman-adv文件夹下的net文件夹下的batman-adv是核心源码,另外两个是管理程序2.对两个管理程序,解压后进入到文件夹下,make编译,然后make install ,会生成执行命令到/usr/local/sbin(还是bin,忘记了,反正执行之后有提示到哪里了)。这里要注意:有的li

2022-05-13 17:32:47 1427 1

原创 Debian11加载模块batman-adv.ko的时候报错:Unknown symbol in module

Debian11加载模块batman-adv.ko的时候报错:Unknown symbol in module出现这个的原因是缺少依赖模块使用modinfo xx.ko | grep depends 可以查看依赖的模块然后使用 modprobe xx 来加载缺少的依赖模块最后在使用insmod batman-adv.ko就可以成功了Linux modprobe命令用于自动处理可载入模块。modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依

2022-05-12 22:17:02 739

原创 Debian11内核模块基础命令找不到的原因

安装batman-adv.so模块的时候,基本的insmod命令都找不到发现insmod这个命令在/sbin/这里#查看当前$PATHroot@debian:/home/user# echo $PATH如果不包含这个/sbin/,就先临时这样插入操作下可以不可以root@debian:/home/user# export PATH=$PATH:/sbin/如果命令可以了,就是Path路径的原因原先在Ubuntu20.04都没问题确实是因为,这些命令都在当前$PATH这只是临时添加,断

2022-05-12 21:24:39 1156

原创 Debian编译Batman-adv的时候出现错误:/lib/modules/5.10.0-13-amd64/build:没有哪个文件或目录

Debian编译Batman-adv的时候出现错误:/lib/modules/5.10.0-13-amd64/build:没有哪个文件或目录解决办法如下apt-get install build-essential apt-get update apt-get install linux-headers-$(uname -r)执行上面的命令之后重新make就可以了...

2022-05-12 20:03:29 977

原创 USENIX2021论文扫读(一)

1. DMon: Efficient Detection and Correction of Data Locality Problems Using Selective ProfilingDMon:使用选择性分析有效检测和纠正数据局部性问题糟糕的数据局部性会损害应用程序的性能。虽然已经提出了基于编译器的技术来改善数据局部性,但它们依赖于启发式方法,这有时会损害性能。因此,开发人员通常通过动态分析发现数据局部性问题并手动修复它们。唉,现有的分析技术在用于识别数据局部性问题时会产生很高的开销,并且不能部署

2022-04-12 18:41:23 2535

原创 NDSS2021论文扫读(一)

1. Data Poisoning Attacks to Deep Learning Based Recommender Systems对基于深度学习的推荐系统的数据中毒攻击推荐系统在帮助用户在亚马逊、YouTube 和谷歌新闻等各种网络服务中找到他们感兴趣的信息方面发挥着至关重要的作用。各种推荐系统,从基于邻域的、基于关联规则的、基于矩阵分解的到基于深度学习的,已经在工业中开发和部署。其中,基于深度学习的推荐系统因其卓越的性能而变得越来越流行。在这项工作中,我们对基于深度学习的推荐系统的数据中毒攻击

2022-04-10 23:15:56 6226

原创 图的最小生成树与最短路径

两者没有太大的关联,只不过在一定程度上应用了贪心算法的思想而已,但区别比较明显。一、区别最小生成树能够保证首先是树(对于n个顶点的图只有n-1条边),其次保证任意两个顶点之间都可达,再次保证这棵树的边权值之和为最小,但不能保证任意两点之间是最短路径。最短路径保证从源点S到目地点D的路径最小(有向图中不要求终点能到起点),不保证任意两个顶点都可达二、最小生成树普里姆(Prim)算法Prim算法是以某顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树的算法描述:从单一顶点开始,普里姆算法

2022-04-09 11:35:16 1170 1

原创 前后端分离

前后端分离解决了一个问题,那就是静态资源(页面)和动态资源(数据接口)的分离,以前的jsp因为是直接把数据嵌入页面的导致页面资源也是动态的,接下来需要引入cdn缓存的概念,涉及的是运维方面的知识,静态资源一旦进入缓存,是可以有效降低服务器的负载的cdn缓存是服务器缓存, cdn就是代理和Http类似,客户端请求数据时,先从本地缓存查找,如果被请求数据没有过期,拿过来用,如果过期,就向CDN边缘节点发起请求。CDN便会检测被请求的数据是否过期,如果没有过期,就返回数据给客户端,如果过期,CDN再向源站发

2022-04-09 11:33:56 728

原创 Vue基础

Vue遵循SoC关注度分离原则前端基础结构层:HTML表现层:CSS–CSS预处理器:用一种专门的语言,进行Web样面设计,再通过编译器转化为正常的CSS常用的:SASS(基于Ruby), LESS(这个是基于NodeJS,使用简单,一般用这个)行为层:JSVue概念Augular特点:将后台的MVC模式搬到前端并增加了模块化开发的理念(MVVM)(VM双向绑定相当于控制层)React特点: 提出新概念虚拟DOM, 用于减少真实的DOM操作,在内存中模拟DOM操作,提升前端的渲染效率Vu

2022-04-09 11:32:49 2989

原创 MyBatis缓存

一、缓存为什么使用缓存减少和数据库交互的次数,提高系统效率什么情况下使用缓存经常查询,但是不经常改变的数据二、MyBatis缓存MyBatis默认定义了一级缓存和二级缓存一级缓存一级缓存也称为本地缓存,与数据库同一会话期间查询到的数据会放在本地缓存中二级缓存二级缓存也称为全局缓存,一级缓存作用域低;二级缓存是基于namaspace级别的缓存,一个名称空间对应一个二级缓存二级缓存的工作机制:一个会话查询一条数据,这个数据就会被放在当前会话的一级缓存中如果当前

2022-04-09 11:31:28 604

原创 JavaScript基础

学习视频链接:(https://www.bilibili.com/video/BV1jE411T7ya from=search&seid=609703055903100372)let const区别let值可变,不需要初始化,没有初始化时候默认undefined,const则相反开发中一般都使用const,除非明确知道值会改变的才用let基本数据类型String, Number, Boolean, null, undefined, symbol, bigint (后两个ES6新增)

2022-04-09 11:29:15 69

原创 CCS2021论文扫读(二)- 检测相关

Fuzzy Message Detection模糊消息检测许多隐私保护协议采用一种原语,允许发送者将消息“标记”到接收者的公钥,这样只有接收者(拥有相应的密钥)才能检测到该消息是供他们使用的。此类协议的示例包括匿名消息传递、隐私保护支付和匿名跟踪。现有技术的一个限制是接收者不能轻易地将消息检测外包给远程服务器,而不向服务器揭示匹配消息的确切集合。在这项工作中,我们提出了一类新的密码原语,为模糊消息检测方案。这些方案允许接收者派生一个专门的消息检测密钥,该密钥可以识别正确的消息,同时也可以错误地识别具有特

2022-04-05 21:16:59 6469

原创 CCS2021论文扫读(一)

On the TOCTOU Problem in Remote Attestation远程认证中的TOCTOU问题很多注意力都集中在验证远程嵌入式 (IoT) 设备的软件完整性上。在所谓的远程证明 (RA) 的共同保护伞下,已经提出了许多具有不同假设和安全保证的技术。除了可执行文件的完整性验证之外,RA 还是许多安全服务的基础,例如内存擦除证明、系统重置、软件更新和运行时属性验证。现有的 RA 技术在执行 RA 功能时验证远程设备的二进制文件,因此在当前 RA 执行之前或连续 RA 执行之间不提供有关设

2022-04-04 17:57:19 3461

原创 分布式架构APE-X

Rainbow是结合七个变体DAN打造出来的最强DQN算法,APE-X对Rainbow进行了降维打击,APE-X和Rainbow一样,在算法层次其实没有做太大的革新,但是和Rainbow集众家之所长不一样的是,APE-X引入了分布式架构PE-X是基于PER DQN所做的优化,在编写PER DQN智能体的时候,有几个比较重要的模块:1.act,这个模块主要负责和环境进行交互2.memory,这个模块主要负责记忆库的增删改查3.learn,主要是从记忆库中获取数据进行训练时,三个模块在同一个进程里面跑

2022-04-04 16:54:50 752

原创 User-Defined Privacy-Preserving Traffic Monitoring Against n-by-1 Jamming Attack

User-Defined Privacy-Preserving Traffic Monitoring Against n-by-1 Jamming Attack期刊:IEEE/ACM TRANSACTIONS ON NETWORKING交通监控服务会收集交通报告,并响应用户的交通查询。但是,这些报告和查询可能会显示用户的身份和位置。虽然采用了不同的匿名化技术来保护用户隐私,但也出现了一种新的安全威胁,即n-by-1干扰攻击,即匿名贡献驱动程序模拟n个驱动程序,并通过使用n个报告设备上传n个正常报告。这种

2022-04-03 15:53:31 144

原创 流量数据特征相关与攻击

数据包根据网络协议的类型,数据包有不同的格式。数据包通常由两部分组成:数据包报头和它的有效负载报头负责引导包在网络中传输,并标记包的源信息。在许多数据收集方法中,报头对于识别和过滤数据包变得很重要。一些基于报头的方法,根据报头中包含的IP地址、端口和协议将数据包分类为多个流。有效负载包含在通信各方之间交换的数据,尽管其中一些数据可以被加密libpcap函数库提供了收集数据包流的所有内容的功能网络流量的最小传输单元是一个包,每个包包括一个或多个报头和一个有效负载。例如,超文本传输协议(HTTP)包包

2022-04-01 16:40:46 3707

原创 DQN的一些变体(改进)总结,如:Double DQN、Prioritized Experience Replay DQN等

王者荣耀最早也是基于DQN来实现智能体,后来改成PPO引入Double DQN的前言DQN总共有两个网络,一个是实时更新的评估网络,一个是阶段性更新的目标网络目标Q值(即下个时刻的累积价值)的计算主要依赖目标网络,通过传入下个状态S(t+1),来获取S(t+1)状态下最大的Q值以及对应的动作,从而完成Q函数的更新但是无论是DQN还是QLearning,在计算价值函数的时候都采用了贪心策略,即每次都对(状态-动作)的实际价值进行了过高的估计,最终会影响到我们最后的决策因此引入Double DQN,通

2022-04-01 13:20:32 1938

原创 QLearning和DQN

实际不可能这么简单,f应该是一个非常复杂的函数,所以可以采用神经网络来表示这个函数,神经网络可以从大量的样本数据中拟合出一个最相似的f来表示Q,而这需要一个前置条件:确定损失函数(判定f接近Q的标准)

2022-03-31 21:48:47 3399

原创 强化学习基本概念及方法分类

定义强化学习的目标是找到最大化收益的策略,找寻策略的一个重要途径是找到马可夫决策模型上的价值函数马尔可夫用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态,即符合马尔可夫性质求解价值函数求解价值函数有三种方法:蒙特卡洛方法,方程:V(s)←V(s)+α(Gt−V(s))动态规划方法,贝尔曼方程(相对于对于确定的环境):V(s)←Eπ[Rt+1+γV(s′)]结合蒙特卡洛方法

2022-03-28 17:18:34 3444

原创 硕士方向研究现状相关技术简介(一)

迁移学习定义:把已训练好的模型参数迁移到新的模型来帮助新模型训练所看论文主要用途思想:创建源和目标数据集的域不变映射动机:(1)用于训练传统网络的DL模型的数据集可能不适用于移动网络或物联网网络。(2)无法识别随着时间的推移发现的新的攻击家族。少样本学习定义:利用少量的有标签样本学习一个分类器,对未知的类进行识别FSL 既可以是监督学习, 也可以是半监督学习, 取决于从有限的监督信息中可以获得哪种数据分层聚类分层聚类如何提供更细粒度、无监督的分析能力它依赖于层次聚类技术来发现和表征嵌套

2022-03-10 16:08:23 470

原创 python画坐标图的一些坑

当纵坐标的数字过长的时候,保存图片的时候,纵坐标旁边的文字提示会被盖住一点解决办法:如果是0.9123这种长度的,可以转换成91.23,少一个长度就不会盖住了当纵坐标的元素不是数字类型,而是字符串类型的时候,纵坐标不会按照升序的方式解决办法:把字符串转换为数字,这样就会按照正常的升序了...

2021-10-02 16:11:05 370

原创 Springer latex期刊模板使用的坑

1.之前都是用这个编译,Springer 期刊不是这个,是pdflatex解决方案:可以上面选项换成pdflatex也可以加这命令\documentclass[pdflatex,sn-basic]{sn-jnl}(注意documentclass只能出现一次,所以pdflatex可以加在原有的documentclass后面)2.数学公式的 | 符号会报错Variable name ended by end of line… .解决方案:换成\vert这个,来代替|...

2021-09-20 15:01:51 8186 7

原创 寻找数组中第n多重复的数字及对应的次数

B站前端笔试题 20210913注:如果不存在第n多的,则返回-1let arr=[1,3,2,3,3,2,2,1,2]//[1,3,2,3,2,2,1,2] [1,3,2,3,2,2,1,2] 4let n=3;let obj={};for(let i = 0;i < arr.length; i++){ let item = arr[i]; obj[item] = (obj[item] + 1) || 1;}const count = [];for(let key in

2021-09-13 20:50:01 117

原创 小米前端一面

background-image 与img标签的区别1.background-image无法使用懒加载,而img标签可以通过设置其src进行懒加载的实现加载顺序不同: background-image是css属性,img标签中如果有src会立即请求,img会优先background-image进行请求.图片设置性不同:background-image 可以借助其本身css属性中的background-position、background-size来设置图片展示的位置关系,大小显示关系,而..

2021-09-08 14:21:17 69

原创 浏览器碰到 script 脚本的时候怎么加载(网易云音乐前端一面)

<script src="wangyi.js"></script>没有 defer 或 async,浏览器不等待后续载入的文档元素,读到就加载并执行。有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。参考链接...

2021-08-30 17:38:23 135

原创 小米读代码题-1

function foo(){this.a = 100;this.b = 200;}function goo(){this.c = 300;this.d = 400;}var seed = new foo(); foo.prototype.fuss = function(fn) {fn.prototype = seed;seed = new fn; //seed 为new goo(),也就是{c: 300,d: 400, prototype: foo:{a: 100,b:

2021-08-09 13:37:28 106

原创 小米前端面经整理(二)

Vue兄弟组件传值1,首先创建一个事件总线,例如bus,作为一个通讯的桥梁;2,在需要传值的组件中,通过e m i t 触 发 一 个 自 定 义 事 件 , 并 传 递 参 数 ;3 ,在接收数据的组件中,通过on监听自定义事件,并处理传递过来的参数;;父组件向子组件传递数据是通过prop传递的,子组件传递数据给父组件是通过$emit触发事件来做到的VUE自定义指令通过directives自定义指令VUEX的mutation和action的区别mutation处理同步任务,act

2021-08-09 11:48:03 110

原创 小米前端面经整理(一)

HTTP3、2、1.XHTTP1.0存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来;HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分http2二进制传输,多路复用,header压缩,服务器主动向浏览器推送与此请求相关资源http3实现了类似TCP的流量控制、传输可靠性功能,集成了TLS加密功能跨域基本概念:跨域问题是浏览器同源策略限制,当协议,主机,和端口号有一个不同时,就是跨域。跨域并不是请求发不出去,请求能发出去,服务端能收

2021-08-08 21:57:45 219

原创 WeakMap和Map的区别以及WeakMap限制只能用对象作为键的原因

WeakMap和Map的区别Map的键值可以是原始数据类型和引用类型,WeakMap的键值只能是引用类型Map可以迭代遍历键,WeakMap不可迭代遍历键Map所构建的实例是需要手动清理,才能被垃圾回收清除,而WeakMap只要外部的引用消失,所对应的键值对就会自动被垃圾回收清除很多博客写着WeakMap的键名所指向的对象,不计入垃圾回收机制,一直不理解这个不计入垃圾回收机制的意思,总以为是不能被回收,给想反了,其实是说保存的对象不会增加引用计数器,如果一个对象不被引用了会自动删除Weak

2021-07-29 15:24:51 561

原创 1.const 对象可以改,那怎么让它也不能改,2.通过reduce实现map函数,--字节面试

const 对象可以改,那怎么让它也不能改我回答的时候是直接只记得freeze()更详细的方法见这个链接通过reduce实现map函数let arr=[1,2,3];Array.prototype.map2=function(fn){ let result=[]; this.reduce((pre,cur)=>{ result.push(fn(cur)) },[]) return result;}let arr2=arr.map2(func

2021-07-27 20:11:02 107

原创 函数的原型链

原型对象:在声明了一个函数之后,浏览器会自动按照一定的规则创建一个对象,这个对象就叫做原型对象。每一个函数对象都有一个prototype属性,但是普通对象是没有的;Object继承自己,Funtion继承自己,Object和Function互相是继承对方函数A的原型链function A(){};var f1 = new A();f1.proto ==>A.prototype ==> A.prototype.proto ==> Object.prototype ==> O

2021-07-27 11:44:44 362

原创 Promise.all()的实现---字节飞书一面

面试时间:20210726面试官很耐心,一步步等我完善,虽然最后一个下标的没完善好最原始的没加settimeout的时候,注释那里的可以后续改进,加了settimeout以及如果参数不是promise的时候不能then最后一次改进,为了能看到具体是哪个promise,采用下标let promise1=new Promise(function(resolve){ setTimeout(function(){ resolve(1); },1000);});let p

2021-07-26 20:15:18 95

原创 字节面经算法题总结

求数组第k大的数有两个方法:1.直接用快速排序的思路O(nlogn)2.快速选择,使用快速排序的思路, 递归取中间的索引进行排序, 比中间值小的放左边, 比中间值大的放右边,只需递归一个方向,O(n)var findKthLargest = function(nums, k) { // quicksort(nums); // return nums[nums.length-k]; return quickSelect(nums,nums.length-k,0);};let

2021-07-22 13:27:35 226

原创 Promise.resolve(v)和new Promise(r => r(v))的对比

当v是一个Promise实例new Promise(r => r(v))let v = new Promise(resolve => { console.log("begin"); resolve("then"); }); new Promise(resolve => { resolve(v); }).then((v)=>{ console.log(v) }); new Promise(resolve => {

2021-07-21 17:46:00 601

原创 Vue题目总结

v-model实现原理1.v-bind 绑定响应式数据2. 触发oninput 事件并传递数据Vue2.0 双向绑定的缺陷1.vue 实例创建后,无法检测到对象属性的新增或删除,只能追踪到数据是否被修改解决方案:改变get和set, 新增属性的时候,可以给子响应对象重新赋值2. 不能监听数组的变化解决方案:重写Array.prototype对应的方法* 组件传值,事件总线是怎么用的新建一个Vue事件bus对象,然后通过bus.emit触发事件,bus.emit触发事件,bus.emit触发事件,b

2021-07-05 22:22:23 83

原创 var与for循环结合使用产生的无法取得最新变量值的问题

很多博客都有写了,经典的面试题,自己重新记录下,顺便也明白下var、let的区别,以及加深对闭包的理解for(var i=1;i<=5;i++) { setTimeout(() => { console.log(i) }, i*1000) }原因:for循环中用var来申明变量i,此时var存在变量提升问题,并且6次循环中全都共用一个变量,当setTimeout中的延迟函数开始执行时,循环已经结束,此时i=6,所以会打印出6个6解决方法一:let声明

2021-07-03 19:33:52 399

原创 async读代码题,加强理解

//https://www.jianshu.com/p/b4fd76c61dc9 参考学习腾讯二面做错的题await会阻塞后面的代码,先执行async外面的同步代码,同步代码执行完,再回到async内部async function async1(){ console.log(await async2() ); console.log('1')}async function async2(){ // await async3() console.log('2')

2021-07-01 13:25:24 75

advertising.csv

advertising.csv advertising.csv advertising.csv advertising.csv用于Tensorflow2.0学习用的训练数据

2019-08-09

Lightgbm.rar

Lightgbm算法的简单应用,Lightgbm的算法原理参考https://blog.csdn.net/luanpeng825485697/article/details/80236759这个博客学习一下

2019-08-09

手机防盗软件

适合安卓初学者共同学习的小项目

2016-03-18

dhjasdhjasdhas

简单的一个正在学习安卓的人做的小项目

2016-03-17

空空如也

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

TA关注的人

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