自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 Deformable Convolutional Network论文解读

卷积神经网络由于固定的几何结构一直受限于对几何形变的建模,这篇工作引入了两个新模块——deformable convolution和deformable RoI pooling。deformable convolution 和deformable RoI pooling都是基于一个平行网络分支学习offset(偏移),使卷积核在input map的采样点发生偏移,集中于我们感兴趣的区域或目标。同时...

2019-11-25 11:49:19 773

原创 RFB-Net论文解读

论文链接:Receptive Field Block Net for Accurate and FastObject Detection代码链接:https://github.com/ruinmessi/RFBNet目前state-of-art的目标检测网络主要是两条路子:two-stage:先只区分前景、背景的region proposals,同时进行第一次bounding boxes...

2019-11-22 20:31:44 1531

原创 网络结构搜索-综述

同样是在知乎上编辑的,公式格式不同,我直接贴个链接了:网络结构搜索-综述

2019-11-09 14:58:56 681

原创 PyTorch 学习笔记(十二):强化学习算法之DQN及其变种

这篇文章是我在知乎上写的,由于里面有大量公式,所以如何移植过来的话需要手动编辑格式,太麻烦了。。。。我就直接贴个链接,想看的可以点进去看:PyTorch 学习笔记(十二):强化学习算法之DQN及其变种...

2019-11-09 14:56:13 1740 1

原创 Not All Ops Are Created Equal!

最近读了一片文章“Not all Ops Are Created Equal!”,以前大家手工设计网络结构的时候,都是尽量在减少模型的计算量和模型参数量,认为计算量和参数量小的模型inference的效率就一定高。其实不然,首先我们要明确设计轻量级网络的最终的目的是什么?——在保证精度损失在可接受范围内的同时,降低模型推理的延迟和功耗才是重中之重!论文连接:Not All Ops Are Cre...

2019-11-09 14:53:16 680

原创 剑指leetcode

并查集复习+Leetcode下并查集相关题目

2019-10-17 20:37:46 194

原创 深度炼丹术

神经网络模型的设计和训练十分复杂,initialization, activation, normalization,优化器,学习率 等等无不是四两拨千斤,这篇文章主要是总结一些炼丹技巧,讨论下关于如何初始化、选择激活函数、正则化的方式和优化器的选择等。一. 优化器的选择知乎上有一个系列文章总结的非常好,我强烈推荐!一个框架看懂优化算法之异同 SGD/AdaGrad/AdamAdam那么棒...

2019-10-17 20:37:25 493

原创 TF-Lite:Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

摘要智能移动设备日益增长的普及度和基于深度学习模型令人畏惧的计算成本需要高效且精确的终端推理方案。我们提出了一个量化方案,它允许仅使用整数运算来执行推断方案,在通用的整数运算硬件上执行地要比浮点推断高效很多。我们也协同设计了一种训练过程来保存量化后的模型精度,结果是提出的量化方案在精度和设备延迟上取得了一个很好的平衡,即使在MobileNets(一种精简网络family,以实时效率而著名)上取得...

2019-09-24 08:24:49 1094

原创 YOLO v3 PyTorch版本源码解读(二):数据集的读取以及网络的训练

PyTorch 代码链接:https://github.com/ultralytics/yolov3本篇主要是对代码文件中 原始数据读取方式 的解读,集中分析了 utils 文件夹下的 datasets.py函数。1. datasets.py1.1 letterbox函数我们知道 yolo v3是支持任意尺寸的图片输入的,但我们定义的网络结构是输入尺寸是固定的,所以在读取 原始图片时肯定...

2019-09-10 19:13:24 5275 3

原创 YOLO v3 PyTorch版本源码解读(一):模型结构解读

PyTorch 代码链接:https://github.com/ultralytics/yolov3本篇主要是对代码文件中 models.py的解读,同时由于用到了utils文件夹下 parse_config.py中的两个函数,所以也对其进行了分析。1. utils文件夹1.1. parse_config.py这个py文件中定义了两个函数——parse_model_cfg和parse_da...

2019-09-05 20:20:09 8493 5

原创 PyTorch 学习笔记(十一):循环神经网络(RNN)

对于人类而言,以前见过的事物会在脑海中留下记忆,虽然随后记忆会慢慢消失,但是每当经过提醒,人们往往可以重拾记忆。在神经网络中也是一样,之前介绍的CNN模型都是与时间序列无关的模型,它有明显的局限性,就是只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。所以接下来要介绍一种在序列问题和自然语言处理等领...

2019-09-02 21:11:53 4489

原创 Multi-Task Learning Using Uncertainty to Weigh Losses

论文题目:Multi-Task Learning Using Uncertainty to Weigh Lossesfor Scene Geometry and Semantics中文翻译:使用不确定性来衡量权重损失的多任务学习——用于几何和语义场景...

2019-08-04 23:31:08 3318 2

原创 YOLO_v3论文解读

摘要我们对YOLO做了一些设计上的变化来使得它运行的更好,并对新网络重新训练,也证明了新网络可以工作的很好,它虽然比之前的网络(YOLO v1和v2)稍微大了一点,但是它的精度更高了。同时检测速度也很快,这一点不用担心,对于 320 ×\times× 320的输入,YOLOv3用了22ms实现了28.2的mAP,这个精度与SSD一样高,但是速度却快了三倍。当我们使用旧的 IOU = 0.5 作为...

2019-07-30 13:56:40 1141 1

原创 MnasNet论文解读

论文链接:https://arxiv.org/pdf/1807.11626v1.pdf代码链接:https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet摘要

2019-06-28 11:07:38 12222 2

原创 强化学习之马尔可夫决策过程—机器学习公开课第十五讲

本篇笔记对应的是公开课的第十五讲,主要内容包括 马尔可夫决策过程MDP(Markov Decision Process)、价值函数(Value Function)、价值迭代(Value Iteration)、策略迭代(Policy Iteration)。不同于监督学习,强化学习不是一个一次性的决策过程,比如对于一个判断患者是否患有癌症的二分类监督问题,它就是一个一次性的决策过程;但在强化学习中你...

2019-06-25 00:00:42 832

原创 EfficientNet论文解读

论文链接:https://arxiv.org/abs/1905.11946代码链接:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet第三方实现的PyTorch代码:https://github.com/lukemelas/EfficientNet-PyTorch...

2019-06-23 12:57:32 30273 2

原创 概率论基础、朴素贝叶斯、贝叶斯统计、MLE及贝叶斯网络

趁着这几天在复习数据挖掘,里面牵扯到了一些概率论里面的基础常识,我就简单介绍下有关的基础知识吧!概率论是一门研究随机现象数量规律的学科,个体选择是有各种各样的原因,微观层面难以准确判断,但从宏观层面,群体角度会涌现出一定的规律,并且这个规律在一定时期内保持不变,概率是帮助我们找到这样规律的一种数学方法。一. 基本概念1. 决定性现象和不确定现象决定性现象包括必然事件和不可能事件;必然事件是...

2019-06-16 22:58:56 1011

原创 Spiking Deep Convolutional Neural Networks for Energy-Efficient Object Recognition

论文名:Spiking Deep Convolutional Neural Networks for Energy-EfficientObject Recognition中文名:脉冲卷积神经网络做高效的目标识别摘要深度神经网络(如CNN)已经在处理复杂的视觉问题(如目标识别)上展示了巨大的潜力。基于SNN的结构展示了使用基于脉冲的神经形态硬件实现低功耗的巨大潜力,这项工作描述了一种将CN...

2019-06-09 15:09:40 5651 10

原创 Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing

论文名:Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing 中文名:权重、阈值权衡实现快速分类且高精度的脉冲神经网络摘要例如ConvNets(卷积神经网络)和 DBNs(深度信念网络)代表了最先进的机器学习和计算机视觉问题。为了克服深度网络的大计算量成本,...

2019-06-08 16:01:01 2966 2

原创 PyTorch 学习笔记(十):初识生成对抗网络(Generative Adversarial Networks,GANs)

2014年,深度学习三巨头之一Ian Goodfellow提出了生成对抗网络(Generative Adversarial Networks,GANs)这一概念,刚开始并没有引起轰动,直到2016年,学界、业界对它的兴趣如“井喷”一样爆发,多篇重磅文章陆续发表,Lecun这样形容GANs“adversarial training is the coolest thing since sliced ...

2019-06-05 00:16:15 930

原创 PyTorch 学习笔记(九):自动编码器(AutoEncoder)

一. 生成模型生成模型(Generative Model)这一概念属于概率统计与机器学习,是指一系列用于随机生成可观测预测数据得模型。简而言之,就是 “生成” 的样本和 “真实” 的样本尽可能地相似。生成模型的两个主要功能就是学习一个概率分布Pmodel(X)P_{model}(X)Pmodel​(X)和生成数据,这是非常重要的,不仅可以用在无监督学习中,还可以用在监督学习中。无监督学习的发展...

2019-06-01 16:16:39 31950 5

原创 ANN to SNN

论文名:Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification 中文名:将连续值深度网络转换为高效的事件驱动SNN做图像分类摘要脉冲神经网络(SNN)可能提供了一种高效的推理方法,因为网络中的神经元是稀疏激活的,并且计算是事件驱动型。...

2019-05-30 21:28:47 10036 2

原创 脉冲神经网络的模拟策略

一. 时钟驱动模拟策略1. 神经元模型的数值计算方法一般来说,大多数生物系统建立的模型是微分方程形式,并且这些方程不能简单地通过微积分的方法得到它们的解析表达式,即使有时候可以得到,其表达式也十分复杂,很难讨论其具有的性质。因此,需要采用一定的数值方法进行求解,求出方程在某些离散点处的近似解,进而分析方程所具有的性质和规律。对于脉冲神经元模型的数值计算,一般采用欧拉或龙格-库塔等数值方法进行近...

2019-05-27 10:30:28 2211

原创 脉冲神经元的建模与分析

一. 生物神经元结构及脉冲发放生物神经系统中的信号是以细胞膜的电位变化来传导的。神经元细胞膜内外的电位有差别,外正内负,70-80mv。周围环境和内部变化可以引起膜电位的高低变化。但是这类变化当幅度不大时只是局部的,随着变化幅度的增加,达到一定阈值时,膜电位才会发生突然的变化,产生沿轴突传导的动作电位,也称为脉冲。这种神经元传递的脉冲持续时间为1-2ms,它可以跨越较远的距离进行传递而不致衰减。...

2019-05-25 13:45:48 7807 4

原创 脉冲神经网络(Spiking Neural Network,SNN)概述

主要讨论脉冲神经网络的拓扑结构、信息的脉冲序列编码方法、脉冲神经网络的学习算法和进化方法等。一. 脉冲神经网络的拓扑结构同传统的人工神经网络一样,脉冲神经网络同样分为三种拓扑结构。它们分别是前馈型脉冲神经网络(feed-forward spiking neural network)、递归型脉冲神经网络(recurrent spiking neural network)和混合型脉冲神经网络(hy...

2019-05-24 16:15:48 33750 2

原创 人工神经网络概述

一. 生物神经系统及构成近几十年来,神经科学和脑功能的研究快速发展,并取得了很大进展。神经科学主要研究生物神经系统的结构、功能和发育等,对生物行为及学习的研究都属于神经科学的分支。人脑是人类智能与高级精神活动的生理基础,其研究涉及分子层面、细胞层面、神经元群体和神经系统等多个领域,人的思想、信仰、记忆、行为和情感等都与脑密不可分。通过对脑的结构与功能的研究,提示脑进行思维活动的本质,建立脑模型,...

2019-05-24 10:34:09 5191

原创 SSD-PyTorch源码解析

pytorch代码链接:https://github.com/amdegroot/ssd.pytorch一. 网络结构1. VGGSSD 使用了VGG16(D)卷积部分(5层卷积,一般标记为Conv5)作为基础网络,后面加了 1024 × 3 × 3、1024 × 1 × 1 两个卷积层,这两个卷积层后都有 RELU 层。对应的网络结构如下图,红线以上部分是VGG16本来就有的卷积层,红线...

2019-05-19 23:36:30 4420 11

原创 YOLO_v1(You Only Look Once)论文解读

论文链接:https://arxiv.org/abs/1506.02640Abstract我们提出了一种新的目标检测算法——YOLO。之前的目标检测都是基于two-stage的工作,先要提出候选框,然后再对提出的候选框做分类和边框回归;而我们是将目标检测看作一项回归任务,从空间上分割边界框和相关的类别概率,使用单个网络在一个评估中直接对整张图像中边界框和所属类别概率进行预测。由于整个检测流水线...

2019-05-17 17:20:45 1516

原创 SSD:Single Shot MultiBox Dectector算法解读

论文链接:https://arxiv.org/abs/1512.02325代码链接:https://github.com/weiliu89/caffe/tree/ssd摘要我们提出了一种one-stage的多框预测检测器,称为SSD,它是将边框的输出空间离散化成一组不同长宽比和尺寸的边界框。在预测期间,网络会对每一个边框的每一个类别都进行评分,并且会调整原始的边框来使其更好的匹配目标形状。另...

2019-05-17 16:58:56 1158

原创 Vivado HLS(High-level Synthesis)笔记八:优化方法综述

一. Optimizing for Throughout改变吞吐率是通过提高并行度实现的;Pipeline可以作用于函数,也可以作用于循环,当其作用于函数时是连续的,作用于循环时中间有停顿;二. Optimizing for Latency三. Optimizing for Area...

2019-05-12 17:56:34 2502

原创 Vivado HLS(High-level Synthesis)笔记七:函数层面的优化

一. 代码风格从函数这个角度来说代码风格,主要是看参数的数据类型,C++中的数据类型是以8为边界的,而实际硬件中我们可能会遇到任意精度的数据类型,因此我们一定在C++中定义为任意精度的数据类型;二. lnline对函数的Inline实际是去除函数的层次化,带来的好处是可以改善资源,不再需要调用函数的相关逻辑,对于小函数HLS会自动Inline,如果我们不希望,可以通过directi...

2019-05-12 16:34:28 2406 1

原创 Vivado HLS(High-level Synthesis)笔记六:数组优化

一. 数组分割对于数组可以resource directive来明确告知HLS当前数组采用什么样的Memory(RAM、FIFO等)来实现,如果没有使用resource,Vivado HLS会自行决定采用单端口还是双端口(取决于哪种更好);数组最终会以Memory形式出现(RAM、ROM或者FIFO),如果是顶层函数中的形参就会以 相应Memory的接口呈现,包括读写地址、使能以及数据;如...

2019-05-12 15:32:21 5693 1

原创 Vivado HLS(High-level Synthesis)笔记五:for循环优化

一. 基本性能指标for循环优化的基本概念、对for循环施行流水的优化、for循环的展开以及for循环的循环变量的数据类型是否对结果资源有影响1. 流水线优化2. for循环的展开默认情况下for循环是被折叠的,所谓折叠可以理解为所有每次循环都是采用同一套电路,只是这个电路被分时复用,而展开就意味着这个for循环被复制了n或者n/2份,这个是可以设置的;for循环可以部分展开,比...

2019-05-12 11:24:18 6347 1

原创 Toward Extremely Low Bit and Lossless Accuracy in DNNs with Progressive ADMM

论文题目:Toward Extremely Low Bit and Lossless Accuracy in DNNs with Progressive ADMM 使用渐进式ADMM(交替方向乘子法)实现DNN中极低的位和无损精度论文链接:https://arxiv.org/abs/1905.00789?context=cs代码链接:http://bit.ly/2YYqzJv先来看...

2019-05-11 20:37:22 319

原创 Vivado HLS(High-level Synthesis)笔记四:接口综合

一. 基本介绍

2019-05-11 13:10:18 4681 1

原创 Vivado HLS(High-level Synthesis)笔记三:Test bench

一. C/C++ Test bench的基本架构Test bench是一个用来验证逻辑功能是否正确的虚拟坏境,由Driver/Stimulus(输入激励)、Reference Model(参考模型,其输出结果是正确结果)、DUT(待测模型,Design Under Test,我们需要综合的C函数)、Monitor(检测DUT的输出)、Scoreboard(将DUT的输出和参考模型的结果做对比...

2019-05-10 21:42:05 5148 1

原创 Vivado HLS(High-level Synthesis)笔记二:数据类型及其初始化、复合数据类型、HLS中的C++基本运算

一. 如何处理任意精度的数据类型C语言支持的数据类型有字符型、整型(有符号和无符号)、浮点型、boolean类型等的,需要注意的是char 16_t和char 30_t这两个数据类型在Vivado HLS中是不支持的;Vivado HLS继承了传统的C/C++包含的数据类型,包括char、short、int、float和double,又由于这些数据类型都是以8为边界的(8、16、32、64...

2019-05-10 19:53:52 6838 1

原创 Vivado HLS(High-level Synthesis)笔记一:HLS基本流程

前言实验室项目需要,需要将在服务器段跑出的网络参数配置到FPGA上,一种方法是直接利用verilog或者vhdl直接去写一个网络的前向传播模型,另一种就是用 C/C++ 来描述网络的前向传播模型,然后利用Vivado的HLS将其转化为硬件描述语言——verilog或者vhdl。第一种方法资源利用率高,但需要考虑时序和并行性(硬件语言设计的两个重要因素),这一点比较困难;第二种方法相对高效且容易一...

2019-05-10 15:43:00 17816 2

原创 XNOR-Net论文解读

论文地址:https://arxiv.org/abs/1603.05279代码地址:http://allenai.org/plato/xnornetAbstract我们提出了两种对标准卷积神经网络的高效近似:Binary-Weight-Networks 和 XNOR-Networks。在Binary-Weight-Networks中,卷积核中的权重被近似为二值,这使得内存节省了32x;在X...

2019-05-08 19:46:56 1665 1

原创 PyTorch 学习笔记(八):图像增强、ResNet完成Cifar10分类

一. 图像增强的方法一直以来,图像识别这一计算机视觉的核心问题都面临很多挑战,同一个物体在不同情况下都会得出不同的结论。对于一张图片,我们看到的是一些物体,而计算机看到的是一些像素点。如果拍摄照片的照相机位置发生了改变,那么拍得的图片对于我们而言,变化很小,但是对于计算机而言,图片得像素变化是很大得。拍照时得光照条件也是很重要的一个影响因素:光照太弱,照片里的物体会和背景融为一体,它们的像素点...

2019-04-24 18:54:57 1834

公开课笔记

这篇笔记对应的是公开课视频的第五个,讲到的内容有生成学习算法(generative learning algorithm)、高斯判别分析法(Gaussian Discriminant Analysis)、朴素贝叶斯(naive Bayes)和拉普拉斯平滑(Laplace Smoothing).

2019-02-20

空空如也

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

TA关注的人

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