自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liuyishou

对抗样本领域,论文兼代码。

  • 博客(84)
  • 收藏
  • 关注

原创 docker之传染病可视化系统

传染病可视化系统罢了

2022-07-28 16:17:39 753 1

翻译 字符集与编码的前世今生

Unicode与UTF系列编码的共性与区别

2022-03-26 16:36:57 314

原创 penetration notes for personal use

目录网络知识木马制作及绕过wafXSS攻击sqlmap使用说明其他漏洞的利用网络知识物理层:光纤、网线(就是双绞线)或无线电波等(含有UDP及TCP两条路) 功能:传输 0 - 1 点信号数据链路层:交换机(常用于局域网) 功能:管理链路上的数据网络层:路由器(可用于广域网或局域网) 功能:路由与寻址家用模式:光猫(modern)–》交换机(或者路由器)–》通过网线或无线网,连入互联网ISP:网络运营商,管理国家(及城市)的网络设置路由器:包括内网与外网两

2021-12-17 10:57:34 1300 1

原创 爆肝总结:神经网络大杂烩

文章目录purpose:来龙去脉LeNet5AlexnetVGGGoogle InceptionResNetDenseNetpurpose:论文里面经常会有对比实验,经常会用到一些较经典的网络。例如Alexnet网络是从Imagenet大赛中脱颖而出的模型,但是其原始的输入大小与输出大小可能与我们的任务并不相符。这种情况我们怎么使用经典的网络结构来做对比实验呢?看过了一些论文复现的代码,大多数作者是这样处理的:尽量保留经典模型的网络结构。如果任务不同,该改的还是要改。也就是说,他们复现的经典网络结

2021-10-02 16:44:29 404

原创 剑指 Offer 32 - I. 从上到下打印二叉树

文章目录DescriptionAnswer层级遍历(循环)层级遍历(递归)先序遍历(递归)先序遍历(循环)中序遍历(递归)中序遍历(循环)后序遍历(递归)后序遍历(循环)题目链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/Description从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],返回:[

2021-09-26 21:29:27 149

原创 数字水印保护你的神经网络

文章目录1 前言2 数字水印2.1 白盒方法2.2 黑盒方法3 总结1 前言最近了解到数字水印技术在神经网络上的应用。我觉得蛮有意思的,就拿出来讲一讲,主要从大方向上讲解,生人亦可进。可能提到数字水印,大家第一印象是,把带有个人象征的内容嵌入到原创作品中,如下图。但考虑到通过p图技术可以把这种水印去掉,那么就有人这样做。在如下小姐姐的照片中,嵌入“老司机”图片。你敢信,一张小姐姐的图片,通过计算可生成“老司机”字样图片。我有个大胆的想法【手动狗头】。具体实现,可见 https://www.z

2021-09-25 01:29:17 3299

原创 剑指 Offer 11. 旋转数组的最小数字

题目链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/Description把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0

2021-09-18 00:13:37 132

原创 剑指 Offer 04. 二维数组中的查找

题目链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/目录DescriptionAnswerDescription在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5,

2021-09-16 22:04:48 150

原创 剑指 Offer 35. 复杂链表的复制

目录DescriptionAnswer总结题目链接:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/Description请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输

2021-09-15 20:10:26 135

原创 Leecode : 无重复字符的最长子串

目录前言DescriptionAnswer:题目链接: https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/前言之前一直发的都是AI相关的内容,有算法阿,论文之类的。但说实话,这些内容并不能很好的培养自己的算法思维以及编程技巧。借此,开设leecode算法解答专刊,提供各种时间复杂度以及空间复杂度的解答,目标不在多,而在精,针对leecode上的剑指offer的题目进行最全面的总结。一则为以

2021-09-14 17:09:57 133

原创 PCA原理详解

目录标题1 前言2 原理3 总结附录1 前言PCA作为一种降维策略,在数据过于巨大时经常使用。这方面的文章也遍地都是,但我问一个问题,你真的懂了PCA吗?你能自己推导它的原理吗?疑问三连,bro,我并没有在贩卖焦虑。实际上,作为一个AI领域从业者,我们除了被动接收这些知识之外,还得知道为什么。这样一个降维的问题交给你,你会怎么设计算法?以这种主动学习的心态去思考一个问题,学习一个算法,毫无疑问,你会学到更多。这篇文章会以一个解题者的角度,带你如何从零到一,彻底和PCA说baibai。2 原理

2021-08-18 20:50:58 355

原创 域自适应实战&coding

目录1 前言2 原理3 coding3.1 加载数据集3.2 搭建网络3.3 训练及测试3.4 对比3.5 可视化特征分布4 总结附录1 前言好几天前我就想做关于域自适应的文章。可能你觉得我不务正业【手动狗头】,但是别急,这个还真挺有意思。还能加深自己对网络的理解,所以这几天,我一直在肝这方面的内容。好的,什么叫做域自适应?举个例子哈,有些人微信头像喜欢换成动漫的自己,当然了,作为好朋友,你肯定认得出动漫的他。这是因为我们视觉系统比较强大,偷偷做了域自适应。梦回正文,单纯的神经网络却认不出来。你训练

2021-08-17 18:27:39 2779 8

原创 使用torch进行迁移学习

文章目录1 前言2 process2.1 加载resnet18模型2.2 加载cifar10数据集2.3 冻结并改网络2.4 训练并测试3 源代码附录1 前言什么叫迁移学习?迁移学习(Transfer learning) 顾名思义就是把已训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型训练。大白话:你学过了英文(预训练模型),之后你想学法文(新模型),在学习过程中,你会利用英文的基础,来帮助自己理解法文。That is Transfer Learning .更专业的表述可以参考迁移学习与域自适

2021-08-14 11:00:38 1284 1

原创 迁移学习与域自适应

文章目录1 摘要2 思路2.1 Question:2.2 理论公式2.3 任务场景2.3.1 同样的域,不同任务2.3.2 同样任务,不同的域3 总结附录1 摘要本文会介绍迁移学习与域自适应的具体区别首先,解答一个问题:如果说两个image服从同一种分布,到底是什么意思?之后通过数学理论公式,严谨的将迁移学习与域自适应区分开来,并介绍两者相应的应用场景。坚持看下去,我会讲清楚,我也相信你会有所收获。2 思路2.1 Question:如果说两个image服从同一种分布,到底是什么意思?

2021-08-13 12:30:13 4996 5

原创 强化学习之QLearning实战

目录1 前言2 如何做2.1 gym使用2.2 QLearning介绍2.3 生成Q表2.4 Q表决策3 源代码(可直接运行)4 总结5 附录1 前言玩个游戏(滑动杆CartPole),看下图。我们的目标是,我们通过向左或向右滑动滑块来保证杆子始终在滑块的上方。下图我设置随机滑动滑块,展现出来就是这样一个效果。经过该篇文章学习后,你能通过强化学习操控滑块,达到如下的一个效果。Amazing?Let’s make it .回到正题首先需要安装Gym,即游戏仿真平台。使用pip install

2021-08-11 22:48:25 1348 5

原创 神经网络之特征图可视化

目录1 前言2 coding2.1 加载数据及模型2.2 微调及训练2.3 可视化特征图3 总结附录1 前言使用torch实现。使用cifar10数据集代码中,有一点点迁移学习的内容中间层输出的特征图与原始图像进行对比,加深对神经网络理解。即从人为的可视化的角度,理解神经网络到底干了什么事。效果图:2 coding为了减少运行时间,这里直接使用resnet18的预训练模型。但是由于resnet18是适配imagenet数据集(1000个类别)的,最终层输出是1000维的向量。这里我

2021-08-06 12:33:21 12299

原创 对抗样本库之foolbox

目录1 前言2 foolbox使用2.1 构建并训练模型2.2 foolbox加载数据2.3 CW有目标及无目标实例2.4. foolbox杂谈3 总结附录1 前言对抗样本库的一些基本介绍,大家可以看cleverhans的前言部分foolbox支持tensorflow,pytorch以及jax框架,包含大量对抗样本攻击方式。这里主要介绍使用torch+foolbox来实现对抗样本攻击。使用pip install foolbox 进行安装。官网资料:github foolbox库foolb

2021-08-03 13:52:51 3843 3

原创 对抗样本库之cleverhans

目录1 前言2 cleverhans使用2.1 构建并训练模型2.2 cleverhans攻击及可视化3 总结附录1 前言对抗样本库,即进行对抗样本攻击或防御的工具。cleverhans,foolbox,advertorch这三个对抗样本库是比较常用的。github搜索关键字即可找到。cleverhans在github有5k个star,foolbox 2k个star,advertorch 1k个star。通过该信息自然大家都会选择使用cleverfans。cleverhans在之前的版本中只支持t

2021-08-02 18:17:55 9268 7

原创 大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解

1 引言使用单像素点愚弄深度神经网络。2017 CVPR 论文地址对抗样本生成的一种策略。本文采取一种独立思考的方式,来理解与讲解这篇论文。2 算法原理2.1 第一印象what the fuck?改变一个像素点就能使网络分类错误?想法great,但怎么可能逐渐冷静。。。单像素点真的能攻击成功?2.2 初步设想Can we:貌似 ”goodfellow的模型高度线性化,使得图像会有扰动放大效应“ 为改设想提供了一定的理论依据。How:假设确实改动某个像素点的值能实现对抗攻击。那

2021-07-26 18:39:45 1448 3

原创 对抗样本之JSMA原理&coding

目录1 引言2 JSMA原理3 coding3.1 训练模型3.2 JSMA对抗样本生成3.3 测试鲁棒性3.4 可视化展示附录1 引言本文代码完成生成JSMA对抗样本的完整过程。直接复制代码就能跑。相信我,不骗你。使用pytorch实现JSMA。pytorch不会?跳转2016 论文地址2 JSMA原理与FGSM利用模型输出的损失函数梯度信息不同,JSMA主要利用模型的输出类别概率信息,来反向传播求得对应梯度信息。作者将其称为前向梯度。即:通过如上的前向梯度,我们可以知道每个像素点对

2021-07-23 11:30:15 4154 7

原创 对抗样本之DeepFool原理&coding

目录1 笔者言2 coding2.1 训练模型2.2 DeepFool对抗样本生成2.3 测试鲁棒性2.4 可视化展示附录1 笔者言虽说标题有DeepFool原理,但能力有限,这个我确实讲不清楚。与FGSM,BIM,MIM,CW等生成对抗样本的方法相比,deepfool是最难的了。给你推荐一个我看懂了的文章,但切记,想要真正明白deepfool的原理,就一定要耐下性子认真看,还要多动笔画示意图。言至此,传送门本文主要讲解代码,完成生成deepfool对抗样本的完整过程。直接复制代码就能跑。相信我,不

2021-07-21 23:25:02 3406 3

原创 对抗样本之MIM原理&coding

1 引言MIM,即基于动量的基本迭代法。在BIM上加了动量的操作。不会BIM?跳转理解了BIM(基本迭代法),相信MIM的原理对你也不难。使用pytorch实现MIM。pytorch不会?跳转MIM 论文地址2 MIM原理对比BIMMIM如上,MIM与BIM在公式上就是有没有 miu*gt 的区别。其方法主要借鉴于神经网络中参数更新的momentum动量的思想。说白了,MIM的本质就是,在进行迭代的时候,每一轮的扰动不仅与当前的梯度方向有关,还与之前算出来的梯度方向相关

2021-07-20 23:12:28 2118 6

原创 对抗样本之BIM原理&coding

1 引言BIM,即基本迭代法,在FGSM基础上加上了迭代操作。想看FGSM,跳转理解了FGSM,相信对BIM会丝毫没有压力。各位看官大多还是奔着代码去的吧,这里核心讲下代码。使用pytorch实现BIM。pytorch不会?跳转2 BIM原理对比FGSM公式BIM公式如上,BIM与FGSM真就是一个for循环的区别。但为什么BIM也能发论文呢?BIM存在其数学理论的合理性以及实验效果表现良好。FGSM的使用,基于作者假设模型是高度线性化的。如此一来,梯度上升的方向就是最佳

2021-07-20 11:27:19 2720 4

原创 进化算法及模拟退火算法详解

文章目录1 引言2 GA遗传算法3 ES算法4 ES(1+1)算法5 模拟退火算法6 总结1 引言学习启发式算法需紧抓两点:如何通过父代生成子代点。通俗点来讲,就是种群如何交叉繁衍如何实现优胜劣汰,即使用何种算法将一个种群表现优秀的个体保存下来牢抓以上两点,有的放矢,启发式算法就简单的一批。2 GA遗传算法这里主要讲下GA算法的宏观思路。初始化100个父代(其实就是上图的100个点的x值),那如何通过这些父代,产生子代呢?这里就要拿生物学上的概念来理解了。现在我们把一个父代或子代看

2021-06-14 19:23:40 1114 4

原创 对抗样本之CW原理&coding

目录1 引言2 算法详解2.1 常人思路2.2 CW算法思路3 攻击直观对比4 总结5 附录1 引言本文采用手稿模拟的角度,尽量使读者较为直白的面对冷冰冰的公式。抛去CW算法不谈。一般来说,生成样本算法都要保证如下两个条件:1、对抗样本和干净样本的差距应该越小越好。评价指标有 L0,L2,L正无穷2、对抗样本应该使得模型分类错,且分类错的那一类的置信度应足够的高(有目标攻击)。条件一,保证了生成样本与原始干净样本尽量的相似。条件二,保证了生成样本确实能成功攻击模型。仔细想想,这两个条件是

2021-06-09 13:53:20 4448 12

原创 对抗样本之FGSM原理&coding

文章目录1、FGSM原理2、pytorch实现2.1 建立模型2.2 FGSM模块2.3 测试2.4 可视化对比2.5 对比样本与对抗样本1、FGSM原理论文 Explaining and harnessing adversarial examples. 这篇论文由Goodfellow等人发表在ICLR2015会议上,是对抗样本生成领域的经典论文。FGSM(fast gradient sign method)是一种基于梯度生成对抗样本的算法,属于对抗攻击中的无目标攻击(即不要求对抗样本经过mod

2021-05-13 13:56:37 6835 13

原创 pytorch从基础到实战

1、前言受博士学长推荐,入手了pytorch,用过都说好基础部分:pytorch优势以及其自动求导模块实战部分:pytorch拟合log函数曲线,代码逐句解释,让你真正明白pytorch的运行原理要求:提前安装好pytorch库,官方文档入口2、基础部分1.pytorch优势...

2021-05-08 22:05:30 2623 2

原创 关于我的复试那点事

目录1、前言2、初试后3、成绩出4、复试事5、录取时1、前言风里雨里多少日,终究等到艳阳天。应某位兄弟的要求,现着手完成复试的总结。也想着好久没有写新文章了,手法都要日渐生疏。以下单纯讲下个人经历,只博未来一笑。2、初试后还记得那是2020年12月27号的下午,天气是异常的好,虽说是冬季,但却有了春风的感觉。考完之后,我随着人群走出考场。风,吹到了我脸上,心中稍微一颤,这才从专业课的思绪中拉出来。风哪有什么恶意,只不过想引起我的注意罢了。我拿起一根烟,点了起来。诶,这次专

2021-04-14 20:40:43 1042 12

原创 Python中调用C/C++程序

目录1 摘要2 在Python中加载c/c++动态链接库3 Python与C/C++程序间传递图像1 摘要在Python中调用C/C++代码有两种方式,这里就说其中更简单的一种。将C/C++代码编译成动态链接库在Python中通过ctypes.cdll.LoadLibrary()直接加载该动态链接库,调用其中的函数。2 在Python中加载c/c++动态链接库编写C/C++程序factorial.cint factorial(int n){ if (n < 0)

2021-03-03 14:22:02 842 1

原创 python+selenium实战之无限评论

目录概要1、登录模块2、生成评论3、主要内容4、源代码汇总(可直接运行)概要功能:对csdn门户网站进行无限评论和点赞操作该实战项目使用的是firefox浏览器,进行selenium进行自动化操作对selenium使用不熟,可转至Python Selenium库的使用要求:安装selenium库,安装代码 pip install selenium使用firefox(如果你想用google,相应的驱动自己去装也行)下载geckodriver(是Firefox的官方webdriver),

2021-02-08 22:00:24 2434 57

原创 keras之迁移学习小demo(四)

0 概要如果不懂迁移学习的概念——> 什么是迁移学习 (Transfer Learning)?本篇文章的预训练模型是从keras之分类数字图片(二)内获取的。要求:安装keras库能用gpu跑项目,如果不能,解决方案——>Google colab使用之手把手教学以上两点要求无法满足,你我就改日再见吧“食用”方式先“食用” keras之分类数字图片(二) 再观看这篇文章,效果更佳(不是捆绑消费)或者通过网盘获取 h5 模型文件,直接看这篇文章,效果略差h5 模型文件获取方

2021-02-01 17:51:27 771 3

原创 keras之读取h5文件(三)

目录0 前言1 读取h5文件1.1 加载模型1.2 打印模型权重1.3 使用test集验证2 源代码0 前言要求:安装keras库需要一个h5文件进行读取h5文件获取方式:1、keras之分类数字图片(二),该文章的会生成模型及参数,建议使用这种方法,掌握来龙去脉。2、或者直接获取:百度网盘提取码:gedt1 读取h5文件目标:熟练使用keras存读取h5文件步骤:1、加载模型2、打印模型权重3、使用test数据集验证,加载的模型是否完整1.1 加载模型fro

2021-01-31 10:23:24 3740 4

原创 keras之分类数字图片(二)

目录0 前言1 搭建模型1.1、加载数据1.2、数据进行预处理1.3、构建网络模型1.4、模型可视化1.5、模型评估及预测1.6、保存模型及参数2 源代码0 前言要求:安装keras库使用gpu运行。使用gpu大概10分钟能跑完,cpu跑不太现实没有gpu之解决方案,传送至Google colab使用之手把手教学1 搭建模型目标:使用keras搭建简单的网络结构,用来预测mnist数据集中的手写数字步骤:从MNIST加载图片数据。数据进行预处理构建网络模型,模型结构如下图

2021-01-30 21:42:36 678 1

原创 keras之模拟线性回归(一)

目录0 前言1 搭建模型2 源代码0 前言要求:安装keras库如有疑问,评论区留言1 搭建模型#这个demo,做一个简单的线性回归预测# 步骤:# 目标:是使得网络模型拟和一条 y=2*x+1 的函数图像,# 1、首先在 y=2*x+1 附近生成一些点,其中的x作为输入数据,y作为输出数据# 2、训练一个神经网络模型,包括100个神经元的全连接层和最终1个神经元的输出层。下面会提供网络模型图片# 3、训练大概1万次左右,即更新一万次参数。最后随机给出几个x,预测是否符合 y=.

2021-01-30 10:28:19 549

原创 Google colab使用之手把手教学

目录0 前言1 极速开始2 “持久化”使用方式3 一些重要的使用经验0 前言相信各位看到这篇文章,是因为自己电脑跑神经网络代码太慢了。这里我谈一下我个人经历。前几天我要跑一个tensorflow的项目——官方提供的一个28*28*3的手写数字生成项目。由于我没有配cpu,一个很简单的项目跑了很久都没成功。我开始了探索之路。刚开始我尝试在自己电脑上配置gpu环境,网上配置gpu教程参差不齐,我试了很久也无法成功 经同学推荐入手了baidu AI Studio。发现不支持te.

2021-01-27 23:24:44 3321 1

原创 cv2.resize()原理详解

以下使用python语言,使用opencv库,解释最近邻插值法和双线性插值法的原理,并通过python代码复现。1、cv2.resize函数说明 resize是opencv库中的一个函数,主要起到对图片进行缩放的作用。 example: 以下代码就可以将原图片转化为宽和长分别为300,300的图片。width和height可以自己任意指定,不论大小。import cv2 as cvwidth = 300height = 300img = cv.imread('...

2021-01-23 22:35:06 129183 4

原创 图片转为字符串(蔡徐坤之舞动人生)

一、直接看效果源代码图像:结果图像(转为彩色字符串):2、上代码解释:下面的path是视频路径,结果就会显示如上图所示;想要黑白效果自需要将代码下面的(b,g,r)改为(255,255,255)黑白的,具体代码里有注释import cv2import numpy as npdef readVideo(path): videoCapture = cv...

2020-04-24 16:02:49 6513

原创 MongoDB安装(超详细)

一、概要 之所以写这篇文章是被mongodb安装坑了不少,接下来我会详细的一步步说明我的安装步骤。我的系统是window10,只要和我的系统相同保证你安装成功。 MongoDB安装包括两部分,一个是将MongoDB的服务下载下来并且安装到自己电脑;一个是可视化界面(解释:你下了MongoDB服务当然要用起来啊,固然你可以使用命令行的客户端,但是建议你安装MongoDB ...

2020-04-05 14:53:17 191494 95

原创 seaborn库各个画图函数使用实例

前言:以下均使用anaconda的notebook环境进行编写,数据和源代码均能找到链接:https://pan.baidu.com/s/1ggSmjI7aOB7CqbDmVfvw0A提取码:x4kv通过anaconda的notebook 打开 Utitled.ipynb,有所有代码1、seaborn的出现x = np.random.normal(size=10...

2020-02-16 16:40:05 4559 2

原创 acm资源分享(包括啊哈算法,白书,紫书)

链接:https://pan.baidu.com/s/16CI7M6-H2gBORfS8UJ0ZVQ提取码:0v65

2019-12-25 10:57:35 1375

空空如也

空空如也

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

TA关注的人

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