
深度学习论文阅读及算法详解
文章平均质量分 94
just_sort
Acdream.
展开
-
【CNN结构设计】无痛的涨点技巧:ACNet
1. 前言不知道是否发现了,CNN的结构创新在这两年已经变得相对很少了,同时要做出有影响力并且Solid的工作也变得越来越难,最近CNN结构方面的创新主要包含两个方面:网络结构搜索,以Google Brain的EfficientNet为代表作。获取更好的特征表达,主要是将特征复用,特征细化做得更加极致,以HRNet,Res2Net等为代表作。本文要介绍的是ICCV 2019的一个新CN...原创 2020-04-15 18:03:12 · 1171 阅读 · 3 评论 -
卷积神经网络学习路线(二十三)| 经典网络回顾之XceptionNet
Xception: Deep Learning with Depthwise Separable Convolutions1.前言卷积神经网络学习路线这个系列旨在盘点从古至今对当前CV影响很大的那些经典网络。为了保证完整性我会将之前漏掉的一些网络补充下去,已经介绍了非常多的经典网络,这个系列可能也快要迎来完结的日子了。接着卷积神经网络学习路线(九)| 经典网络回顾之GoogLeNet系列 ...原创 2020-03-31 22:05:15 · 866 阅读 · 0 评论 -
【CNN调参】图像分类算法优化技巧(实用性很高)
这篇论文整理了CNN分类任务中一些常用的Tricks,如改善模型结构,训练过程中的一些Refinements如修改损失函数,数据预处理等,有较大工程意义。1. 前言这篇论文的全名是:Bag of Tricks for Image Classification with Convolutional Neural Networks 。论文地址见附录。这篇论文是亚马逊团队对CNN网络调优的经验总...原创 2020-03-20 22:55:09 · 2671 阅读 · 0 评论 -
卷积神经网络学习路线(二十二)| Google Brain EfficientNet
1. 前言这是卷积神经网络学习路线的的第二十二篇文章,要介绍的是2019年Google Brain的大作EfficientNet,论文全名为EfficientNet:Rethinking Model Scaling for Convolutional Neural Networks。这篇论文系统的研究了网络的深度(Depth),宽度(Width)和分辨率(Resolution)对网络性能的影响(...原创 2020-02-29 12:21:05 · 970 阅读 · 0 评论 -
深度学习算法优化系列十一 | 折叠Batch Normalization
前言今天来介绍一个工程上的常用Trick,即折叠Batch Normalization,也叫作折叠BN。我们知道一般BN是跟在卷积层后面,一般还会接上激活函数,也就是conv+BN+relu这种基本组件,但在部署的时候前向推理框架一般都会自动的将BN和它前面的卷积层折叠在一起,实现高效的前向推理网络,今天我就从原理和实现来讲一讲这个操作。原理我们知道卷积层的计算可以表示为:Y=W∗X+BY...原创 2020-02-19 22:41:19 · 565 阅读 · 0 评论 -
深度学习算法优化系列十 | 二值神经网络(Binary Neural Network,BNN)
前言昨天介绍的BinaryConnect提出将浮点权重量化到1bit,提出了完整的量化权重训练/测试流程,并且从带噪声权重的角度来解释了量化权重。但这种方法还有一个缺点,即并没有对激活函数进行量化,所以Bengio大神在2016年发表了这篇Binary Neural Network,论文原文和代码链接见附录。BNN算法二值化的方法二值化方法主要有两种,确定式二值化和随机式二值化。二值化将f...原创 2020-02-13 20:46:33 · 1728 阅读 · 0 评论 -
深度学习算法优化系列九 | NIPS 2015 BinaryConnect
摘要:得益于GPU的快速计算,DNN在大量计算机视觉任务中取得了最先进的结果。但算法要落地就要求其能在低功耗的设备上也可以运行,即DNN的运行速度要更快,并且占用内存更少。这是我读的关于二值网络的第一篇文章,即在DNN的训练阶段用1bit的二值权重代替浮点数权重,可以将硬件的乘法操作简化为累加操作,可以大量节省存储空间,同时提高运行速度。介绍当前CNN网络主要的运算集中在实数权值乘以实数激...原创 2020-02-11 13:32:56 · 421 阅读 · 0 评论 -
卷积神经网络学习路线(十五) | NIPS 2017 Dual Path Network(ResNeXt+DensetNet结合版)
前言前面已经讲了ResNet,ResNeXt,以及DenseNet,讲解的原文都可以在文后找到。今天要介绍的DPN(双路网络)原创 2020-01-15 16:58:00 · 746 阅读 · 0 评论 -
卷积神经网络学习路线十四 | CVPR 2017 ResNeXt(ResNet进化版)
前言传统的卷积神经网络在提高性能时都是加深和加宽网络,但随着超参数数量的增加(如通道数,卷积核大小等)网络变得非常难调,且网络的计算开销和网络结构设计也变得越来越难,这一点我在介绍ResNet和DenseNet大型模型的时候已经提到过了。此外这些大模型针对性比较强,即在特定数据集上表现好的网络放到新数据集上就需要修改很多的参数才能工作良好,因此可扩展性比较一般。针对上述问题,Saining Xi...原创 2020-01-12 21:36:33 · 640 阅读 · 0 评论 -
深度学习算法优化系列八 | VGG,ResNet,DenseNe模型剪枝代码实战
前言具体原理已经讲过了,见上回的推文。深度学习算法优化系列七 | ICCV 2017的一篇模型剪枝论文,也是2019年众多开源剪枝项目的理论基础 。这篇文章是从源码实战的角度来解释模型剪枝,源码来自:https://github.com/Eric-mingjie/network-slimming 。我这里主要是结合源码来分析每个模型的具体剪枝过程,希望能给你剪枝自己的模型一些启发。稀疏训练论...原创 2020-01-08 15:31:29 · 5813 阅读 · 12 评论 -
卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言时间来到2016年,也就是ResNet被提出的下一年,清华的黄高(也是DenseNet的提出者)在EECV会议上提出了Stochastic Depth(随机深度网络)。这个网络主要是针对ResNet训练时做了一些优化,即随机丢掉一些层,优化了速度和性能(...原创 2020-01-05 19:52:58 · 2748 阅读 · 0 评论 -
卷积神经网络学习路线(十)| 里程碑式创新的ResNet
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言时间来到2015年,何凯明团队提出Residual Networks(ResNet,残差网络),这个网络横扫了2015年的各类CV比赛。在ImageNet的分类,定位,回归以及COCO的检测,分割比赛中均获得冠军。ResNet的论文地址和作者的源码见附录。...原创 2020-01-04 18:18:17 · 1746 阅读 · 0 评论 -
ICCV 2017 Learning Efficient Convolutional Networks through Network Slimming(模型剪枝)
前言这篇文章是ICCV 2017的一篇模型压缩论文,题目为《Learning Efficient Convolutional Networks through Network Slimming》。2019年有相当多的关于YOLOv3的剪枝开源工程,他们大多数的原理都来自于这篇论文,这篇论文的思想值得仔细品读。论文原文地址和Pytorch开源代码地址见附录。基础原理这篇文章不同于之前介绍的那...原创 2020-01-03 15:26:53 · 1440 阅读 · 0 评论 -
卷积神经网络学习路线(九)| 经典网络回顾之GoogLeNet系列
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言昨天讲到了ZFNet和VGG Net,并且我们提到VGGNet是2014年ImageNet分类任务的亚军,而冠军就是今天要介绍的GoogLeNet。GoogLeNet的名字不是GoogleNet,而是GoogLeNet,这是为了致敬LeNet。GoogLe...原创 2020-01-02 17:15:23 · 590 阅读 · 0 评论 -
卷积神经网络学习路线(八)| 经典网络回顾之ZFNet和VGGNet
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言这是卷积神经网络学习路线的第八篇文章,我们来回顾一下经典网络中的ZF-Net和VGGNet。稳中求胜-ZFNetZFNet是ImageNet分类任务2013年的冠军,其在AlexNet的结构上没有做多大改进。首先作者Matthew D Zeiler提出...原创 2020-01-01 19:36:02 · 426 阅读 · 0 评论 -
深度学习算法优化系列六 | 使用TensorFlow-Lite对LeNet进行训练中量化
前言在深度学习算法优化系列三 | Google CVPR2018 int8量化算法 这篇推文中已经详细介绍了Google提出的Min-Max量化方式,关于原理这一小节就不再赘述了,感兴趣的去看一下那篇推文即可。昨天已经使用tflite测试了训练后量化,所以今天主要来看一下训练时量化时怎么做的。注意训练中的量化实际上是伪量化,伪量化是完全量化的第一步,它只是模拟了量化的过程,并没有实现量化,只是在...原创 2019-12-31 18:54:27 · 653 阅读 · 0 评论 -
深度学习算法优化系列五 | 使用TensorFlow-Lite对LeNet进行训练后量化
前言在深度学习算法优化系列三 | Google CVPR2018 int8量化算法 这篇推文中已经详细介绍了Google提出的Min-Max量化方式,关于原理这一小节就不再赘述了,感兴趣的去看一下那篇推文即可。今天主要是利用tflite来跑一下这个量化算法,量化一个最简单的LeNet-5模型来说明一下量化的有效性。tflite全称为TensorFlow Lite,是一种用于设备端推断的开源深度学...原创 2019-12-30 17:56:06 · 1042 阅读 · 0 评论 -
快2020年了,你还在为深度学习调参而烦恼吗?
前言我之前回答了一个深度学习调参的问题,整理了从2019年月1到12月的一些经验,没想到这几天竟然火起来了,2天之内涨了快300赞同,看来大家还是比较关注这方面的。而我自己只是一个能力非常有限的民工,然后昨天晚上旷世的akkaze-郑安坤大佬也发表了他的调参技巧,也是非常的实用,所以取得了他的授权后,我也可以转载他的文章了。我觉得这些方法应该让更多人看看,所以就有了这篇文章。文章分为两部分,一部...原创 2019-12-27 14:05:52 · 604 阅读 · 0 评论 -
深度学习算法优化系列三 | Google CVPR2018 int8量化算法
1. 前言这是Google在CVPR 2018上发表的一篇int8量化的论文,题目为《Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference》。也是入门量化最经典的论文之一。论文介绍了一种只使用整数运算的量化方式,相比于浮点数运算效率更高。一起先来看看这篇论文吧。论文...原创 2019-12-25 22:41:19 · 2013 阅读 · 4 评论 -
卷积神经网络学习路线(七)| 经典网络回顾之AlexNet
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言这是卷积神经网络学习路线的第七篇文章,主要回顾一下经典网络中的AlexNet。背景在卷积神经网络学习路线(六)中讲到了LeNet是第一个真正意义上的卷积神经网络,然后发明者Lecun也被称为卷积神经网络之父。但LeNet发明后的几十年时间,深度学习仍然...原创 2019-12-23 21:04:07 · 607 阅读 · 0 评论 -
深度学习算法优化系列二 | 基于Pytorch的模型剪枝代码实战
前言昨天讲了一篇ICLR 2017《Pruning Filters for Efficient ConvNets》 ,相信大家对模型剪枝有一定的了解了。今天我就剪一个简单的网络,体会一下模型剪枝的魅力。本文的代码均放在我的github工程,我是克隆了一个原始的pytorch模型压缩工程,然后我最近会公开一些在这个基础上新增的自测结果,一些经典的网络压缩benchmark,一些有趣的实验。欢迎关注...原创 2019-12-20 17:13:43 · 6401 阅读 · 11 评论 -
卷积神经网络学习路线(六)| 经典网络回顾之LeNet
开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。前言这是卷积神经网络学习路线的第六篇文章,前面五篇文章从细节,超参数调节,网络解释性方面阐述了卷积神经网络。从这篇文章开始,卷积神经网络学习路线就开始代领大家一起探索从1998年到2019年的20多种经典的网络,体会每种网络的前世今身以及包含的深邃思想。本节就...原创 2019-12-18 21:28:01 · 365 阅读 · 0 评论 -
卷积神经网络学习路线(五)| 卷积神经网络参数设置,提高泛化能力?
前言这是卷积神经网络学习路线的第五篇文章,主要为大家介绍一下卷积层的参数设置以及介绍我从业CV领域这一年半载在训练CNN主要用了哪些参数调整方法和网络结构调整策略,希望可以帮助到大家。卷积层的参数设置...原创 2019-12-13 15:36:53 · 1967 阅读 · 0 评论 -
卷积神经网络学习路线(四)| 如何减少卷积层计算量,使用宽卷积的好处及转置卷积中的棋盘效应?
前言这是卷积神经网络的学习路线的第四篇文章,这篇文章主要为大家介绍一下如何减少卷积层的计算量,使用宽卷积的好处以及转置卷积中的棋盘效应。如何减少卷积层计算量?从本系列的前面几篇文章看,减少卷积层的计算量主要有以下几种方法:使用池化操作。在卷积层前使用池化操作降低特征图分辨率。使用堆叠的小卷积核代替大卷积核。VGG16中使用222个3×33\times 33×3卷积代替一个5×55\ti...原创 2019-12-11 14:44:57 · 1852 阅读 · 0 评论 -
深度学习算法优化系列一 | ICLR 2017《Pruning Filters for Efficient ConvNets》
前言这是我的深度学习算法优化系列一,主要来讲讲网络模型的通道剪枝。本文主要是复述一些ICLR 2017的论文《Pruning Filters for Efficient ConvNets》的一些通道剪枝技巧。论文原文链接见附录。方法卷积的计算方法假设第iii层卷积层的输入通道数为nin_ini,长宽分别为hi,wih_i,w_ihi,wi。使用ni+1n_{i+1}ni+1个输出通...原创 2019-12-19 21:49:59 · 1075 阅读 · 0 评论 -
卷积神经网络学习路线(三)| 盘点不同类型的池化层、1*1卷积的作用和卷积核是否一定越大越好?
前言这是卷积神经网络学习路线的第三篇,这一篇开始盘点一下池化层的不同类型和1*1卷积原创 2019-12-10 15:15:49 · 2510 阅读 · 0 评论 -
卷积神经网络学习路线(二)| 卷积层有哪些参数及常用卷积核类型盘点?
前言上一篇推文介绍了卷积神经网络的组成层以及卷积层是如何在图像中起作用的,推文地址为:https://mp.weixin.qq.com/s/MxYjW02rWfRKPMwez02wFA 。今天我们就继续讲讲卷积核的基本参数以及卷积核有哪些基本类型。卷积核的基本参数卷积神经网络的核心操作就是卷积层,我们这里以caffe框架为例子来介绍一下卷积核都有哪些基本的参数。下面先上一段代码,是caffe...原创 2019-12-09 12:58:24 · 2607 阅读 · 0 评论 -
卷积神经网络学习路线(一)| 卷积神经网络的组件以及卷积层是如何在图像中起作用的?
前言这是卷积神经网络学习路线的第一篇文章,这篇文章主要为大家介绍卷积神经网络的组件以及直观的为大家解释一下卷积层是如何在图像中发挥作用的。卷积神经网络的组件...原创 2019-12-06 16:57:11 · 1393 阅读 · 0 评论 -
DeepLab语义分割算法源码解析
前言算法和工程是我们算法工程师不可缺少的两种能力,之前我介绍了DeepLab V1,V2, V3,但总是感觉少了点什么?只有Paper,没有源码那不相当于是纸上谈兵了,所以今天尝试结合论文的源码来进行仔细的分析这三个算法。等我们分析清楚这三个算法之后,有机会再解析一下DeepLabV3。由于博主最近正在看Pytorch版本的《动手学深度学习》,不妨用Pytorch的源码来进行分析。我分析的源码均...原创 2019-11-09 15:23:52 · 594 阅读 · 1 评论 -
《DeepLab V3》论文阅读
论文地址https://arxiv.org/abs/1706.05587摘要本文首先回顾了空洞卷积在语义分割中的应用,这是一种显式调整滤波器感受野和控制网络特征响应分辨率的有效工具。为了解决多尺度分割对象的问题,我们设计了采用级联或并行多个不同膨胀系数的空洞卷积模块,以更好的捕获上下文语义信息。此外,我们扩充了在DeepLab V2中提出的ASPP模块,进一步提升了它的性能。并且我们还分享了...原创 2019-11-06 15:38:55 · 2590 阅读 · 0 评论 -
斯坦福大学-李菲菲,深度学习10-13课时听课笔记
神经网络训练细节part1 第十课时: (前3行是第9课时的内容) 最少使用3个神经元可以完成2类点的分类 神经网络越多越好,但要加入适当正则化,防止过拟合 L-BFGS是神经网络小的时候的一种优化算法(mini-batch) Mini-batch SGD 过程 1.从训练集中抽样出一小部分数据 2.将数据运入卷积神经网络中计算损失值原创 2018-01-30 20:35:29 · 689 阅读 · 0 评论 -
斯坦福大学-李菲菲,深度学习1到9讲听课笔记
CS231n计算机视觉历史回顾与介绍第一课时: 深度神经网络:卷积神经网络 计算机视觉是跨学科的领域 NLP 自然语言处理 生物进化出眼睛 相机的出现 基础视觉皮层(处理视觉)第二课时: 通过实验发现,视觉处理的第一步是对简单的形状结构处理 简单的边缘结构,边缘决定了结构 (论文)block world CVPR,ICCV原创 2018-01-29 21:01:06 · 2654 阅读 · 24 评论 -
斯坦福大学-李菲菲,深度学习14-15课时听课笔记
第十四课时: 卷积的时候,假设是F*F的滤波器在N*N的图片上滑动,可以通过(N-F)/stride+1是否是整数来判断,选取的stride是否可行。通过填补(pad)可以让卷积后的图像和原来的图像大小一样,而不用考虑图像大小。填补的圈数是(F-1)/2。CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而原创 2018-01-31 16:37:33 · 1266 阅读 · 0 评论 -
拜读曹哲的Realtime Multi-Person 2D Pose Estimation using Part Affinity Fileds
曹哲【实时多人人体姿态识别】视频回放>>https://pan.baidu.com/s/1mhVRhpu;PDF及参考资料>>https://pan.baidu.com/s/1i5qqaw9;算法方面的话可以看视频还有PPT,我说不好,我记录一下视频在问答环节的一些问题和在观看视频中听到的一些关键信息。非关键点检测后极大值抑制17个点,30个人,点分类中点作为确信值(空间错误)原创 2018-01-26 15:26:39 · 1441 阅读 · 0 评论 -
Efficient Graph-Based Image Segmentation解读
前一段时间在看Selective Search【1】的论文,其前期工作就是利用Graph-Based Image Segmentation【2】的分割算法,在深入阅读论文【2】以及查阅代码之后,深深地为作者的清晰逻辑折服。在此将自己对于这篇论文的理解记录下来。后期将继续补充对Selective Search的理解。 &nbs...转载 2018-02-09 09:33:04 · 410 阅读 · 0 评论 -
RMPE 区域多人姿态估计论文翻译 CVPR 2017
官网:http://mvig.sjtu.edu.cn/research/alphapose.html论文原文:https://arxiv.org/abs/1612.00137摘要复杂环境下的人姿势估计是具有挑战性的。虽然最先进的人体探测器已经表现出良好的性能,但是在定位和识别方面的小错误是不可避免的。这些错误可能会导致单人姿势估计器(SPPE)的失败,尤其是对于完全依赖于人体检测结原创 2018-02-05 17:03:44 · 3641 阅读 · 0 评论 -
卷积姿态机(单人姿态识别)论文阅读 CVPR2016
项目代码:https://github.com/CMU-Perceptual-Computing-Lab/convolutional-pose-machines-release 论文原文:https://arxiv.org/abs/1602.00134 推荐一篇写的特别好的总结博文:http://blog.youkuaiyun.com/zimenglan_sysu/article/details/520原创 2018-02-05 21:09:13 · 6303 阅读 · 2 评论 -
Tensoflow 把自己的图片生成向量
在Python2下运行的代码我先把工程目录截图放上来: import osimport numpy as npimport cv2def imgTodata(path, imgCount = 128, weight = 1960, height = 960, channel = 3): pathDir = list(os.listdir(path)) # [原创 2018-02-07 20:42:41 · 950 阅读 · 0 评论 -
Tensorflow 实现Lenet神经网络
直接上源码:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("../data/", one_hot = True) #读图片数据集sess = tf.InteractiveSession() #创建se...原创 2018-02-08 15:06:00 · 482 阅读 · 2 评论 -
Tensoflow实现第一个神经网络-卷积神经网络
参考博文:http://blog.youkuaiyun.com/xukaiwen_2016/article/details/70880694 对于卷积神经网络的基础知识这上面说的很清楚,我第一次写Tensoflow几乎是模仿着写的,并且把学习率设得比较低,最后得到了比较好的训练结果,然后贴上有注释的代码#encoding utf-8from tensorflow.examples.tutorial...原创 2018-02-07 17:39:33 · 754 阅读 · 0 评论