cnn深度学习

卷积神经网络(CNN)

耗尽温柔 提交于 2019-12-01 10:16:37
卷积神经网络( CNN ) 1.1 二维卷积层 卷积神经网络是含有卷积层的神经网络,均使用最常见的二维卷积层,它有高和宽两个空间维度,常用来处理图像数据。 1.1.1 二维互相关运算 在二维卷积层中,一个二维输入数组和一个二维核数组通过互相关运算输出一个二维数组。 输入一个高和宽均为3的二维数组,核数组的高和宽均为2,核数组在卷积计算中又称卷积核或过滤器,卷积核窗口(卷积窗口)的形状取决于卷积核的高和宽。 1.1.2 二维卷积层 二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏差来得到输出。卷积层的模型参数包括卷积核与标量偏差。在训练模型时,通常先对卷积核随机初始化,然后不断迭代卷积核与偏差。 卷积窗口形状为p x q的卷积层称为p x q卷积层,说明卷积核的高和宽分别为p和q。 1.1.3 图像中物体边缘检测 卷积层的简单应用:检测图像中物体的边缘,即找到像素变化的位置。卷积层可以通过重复使用卷积核有效的表征局部空间。 1.1.4 通过数据学习核数组 例子:使用物体边缘检测中的输入数据x,输出数据y,来构造核数组k。首先构造一个卷积层,将卷积核初始化成随机数组,在每一次迭代中,使用平方误差来比较Y和卷积层的输出,然后计算梯度来更新权重。 1.15 特征图和感受野 特征图:二维卷积层输出的二维数组可以看做是输入在空间维度(宽和高)上某一级的表征。 感受野

CNN笔记:通俗理解卷积神经网络

烈酒焚心 提交于 2019-11-30 12:51:01
CNN笔记:通俗理解卷积神经网络 2016年07月02日 22:14:50 v_JULY_v 阅读数 250368 更多 分类专栏: 30.Machine L & Deep Learning 机器学习十大算法系列 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/v_JULY_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012年我在北京组织过8期machine learning读书会,那时“机器学习”非常火,很多人都对其抱有巨大的热情。当我2013年再次来到北京时,有一个词似乎比“机器学习”更火,那就是“深度学习”。 本博客内写过一些机器学习相关的文章,但上一篇技术文章“LDA主题模型”还是写于2014年11月份,毕竟自2015年开始创业做在线教育后,太多的杂事、琐碎事,让我一直想再写点技术性文章但每每恨时间抽不开。然由于公司在不断开机器学习、深度学习等相关的在线课程,耳濡目染中,总会顺带着学习学习。 我虽不参与讲任何课程(我所在公司“ 七月在线 ”的所有在线课程都是由目前讲师团队的60位讲师讲),但依然可以用最最小白的方式 把一些初看复杂的东西抽丝剥茧的通俗写出来。这算重写技术博客的价值所在

R-CNN 系列模型总结

百般思念 提交于 2019-11-29 08:37:12
Introduction 相比于分类,目标检测不仅仅要确定物体是什么,还要确定其在哪里;分类通常是一张影像获得一个类别,而检测则要找出影像中存在的多个物体,并确定其类别。因此,目标检测的两大任务:1.Object localization 2.Object classification。 基于深度学习的方法在最近5年来取得了显著的效果。本文将介绍深度学习在目标检测领域的开篇之作:RCNN(Region-based Convolutional Neural Network)及其后续版本Fast R-CNN、Faster R-CNN。 R-CNN 论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation 论文地址: 传送门 通过神经网络(AlexNet)提取丰富的、层次化的影像特征,R-CNN取得了显著的成绩,相比于传统方法,其精度提高了将近30%,达到了53.3%。 其网络示意图如下所示: R-CNN的基本流程: 对于每幅输入影像,使用Selective Search(fast mode)方法提取将近2000个region proposals 对region proposals外包围一个固定大小的bounding box,使其具有固定的尺寸

Faster R-CNN、SSD和YOLO

╄→гoц情女王★ 提交于 2019-11-29 06:31:10
最近做一些关于Faster R-CNN、SSD和YOLO模型选择和优化的项目,之前只了解Faster R-CNN系列目标检测方法,于是抽空梳理一下这几个检测模型。先上两张简单的精确度和运算量的对比图,有个粗略的了解,虽然图中缺了YOLO,参考价值仍然很大: 下面开始分别详述吧~ Faster R-CNN架构 传统目标检测方法大致分为如下三步: 深度学习特别是CNN的出现使得上述第二三步可以合并在一起做。Faster R-CNN步骤: (1)由输入图片产生的区域候选 (2)最后一层卷积输出的所有通道 (2)最后一层卷积输出的所有通道 pooling=> + (3)ROI pooling 候选区的产生 RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,因为anchor机制和边框回归可以得到多尺度、多长宽比的region proposal,3*3滑窗对应的每个特征区域同时预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的region proposal,这种映射的机制称为anchor: RPN 利用基网络对图像用一系列的卷积和池化操作进行特征提取,得到原始的feature maps(灰色区域),然后在原始的feature

R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD, R-FCN学习总结(持续更新)

此生再无相见时 提交于 2019-11-28 14:08:07
R-CNN这个领域目前研究非常活跃,先后出现了R-CNN, SPP-net ,Fast R-CNN, Faster R-CNN , R-FCN , YOLO , SSD 等研究, Ross Girshick (rbg大神)作为这个领域的开山鼻祖总是神一样的存在,R-CNN、Fast R-CNN、Faster R-CNN、YOLO都和他有关。这些创新的工作其实很多时候是把一些传统视觉领域的方法和深度学习结合起来了,比如选择性搜索( Selective Search )和图像金字塔( Pyramid )等。 深度学习相关的目标检测方法也可以大致分为两派: 基于区域提名的,如R-CNN, SPP-net, Fast R-CNN, Faster R-CNN, R-FCN; 端到端(End-to-End)无需区域提名的,如YOLO, SSD。 发展历程: 基于区域提名的R-CNN家族 R-CNN解决的是,“为什么不用CNN做classification呢?” Fast R-CNN解决的是,“为什么不一起输出bounding box和label呢?” Faster R-CNN解决的是,“为什么还要用selective search呢?” R-CNN 2014年提出,其意义在于:CNN除了在object classification领域的有一大的应用,证明了CNN的广泛应用性

【论文整理】:R-CNN、fast R-CNN、faster R-CNN三者的整理

旧巷老猫 提交于 2019-11-28 14:06:03
看了《基于特征共享的高效物体检测》论文后,为加强理解,网上找了关于R-CNN、Fast R-CNN、Faster R-CNN三篇论文的详解,现在先将三者的问题、创新点以及待改进的地方做一个表格,方便自己以后复习查阅。 参考: 对于这三篇论文的详解,网上有很多,个人特别喜欢是这个博主(WoPawn)写的文章。这三篇详解,写得太赞了,这里膜拜一下大佬,。 R-CNN论文详解 Fast R-CNN论文详解 Faster R-CNN论文详解 三个框架的整理: \ R-CNN Fast R-CNN Faster R-CNN 针对的问题 1.近10年以来,以人工经验特征为主导的物体检测任务mAP【物体类别和位置的平均精度】 提升缓慢 ; 2.随着ReLu激励函数、dropout正则化手段和大规模图像样本集ILSVRC的 出现 ,在2012年ImageNet大规模视觉识别挑战赛中,Hinton及他的学生 采用CNN特征 获得了最高的图像识别精确度; 3.上述比赛后,引发了一股“是否可以 采用CNN特征 来提高当前一直停滞不前的物体检测准确率“的 热潮 。 1. R-CNN网络训练、测试速度都很慢 ;R-CNN网络中,一张图经由selective search算法提取约2k个建议框【这2k个建议框大量重叠】,而所有建议框变形后都要输入AlexNet CNN网络提取特征【即约2k次特征提取】

Fast R-CNN论文解读

妖精的绣舞 提交于 2019-11-28 14:05:19
论文链接: https://arxiv.org/abs/1504.08083 代码链接: https://github.com/rbgirshick/fast-rcnn . Abstract 这篇论文提出了一种基于卷积神经网络做目标检测的算法——Fast R-CNN,它是建立在之前R-CNN的基础上使用深度卷积神经网络进行高效的目标检测。Fast R-CNN做了几点创新来提高训练和测试阶段的速度,同时提高了检测的准确率。 Fast R-CNN使用的是VGG16网络,训练速度比R-CNN快了9倍,测试速度快了213倍,并且在PASCAL VOC 2012上实现了更高的map; 与SSPnet相比,Fast R-CNN训练速度快了3倍,测试速度快了10倍,并且准确率更高; 1. Introduction 目前深度神经网络已经极大的提高了图形分类和目标检测的精度,与图像分类相比,目标检测明显更为复杂,现在的方法在训练网络时会分多个阶段,这样会导致训练和运行时间过长。 目前检测有两个最基本的挑战: 如何产生候选框; 候选框只是提供了一个粗略的定位范围,所以需要进一步的修正才可以得到更精确的定位,这意味着我们的方法需要在速度、精度和简单性之间做权衡; 在本片论文中,我们简化了训练过程,提出了以一种单阶段的训练算法——分类和边框回归的loss合并,梯度回传。 1.1 R-CNN and

笔记 :归纳总结 (一)

孤街浪徒 提交于 2019-11-28 13:09:57
原文: http://blog.gqylpy.com/gqy/480 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

R-FCN:

跟風遠走 提交于 2019-11-28 09:36:01
和Faster R-CNN相比,R-FCN具有更深的共享卷积网络层,这样可以获得更加抽象的特征 抽象特征的捕获能否通过“sketch/conceptual...” - guided 来进行? 想法还是说把逻辑推理和深度学习暴力计算相结合,各自发挥各自的优势~ 4. R-FCN网络的设计动机 Faster R-CNN是首个利用CNN来完成proposals预测的,从此之后很多的目标检测网络都开始使用Faster R-CNN的思想。而Faster R-CNN系列的网络都可以分成2个部分:ROI Pooling之前的共享全卷积网络和ROI Pooling之后的ROI-wise子网络(用来对每个ROI进行特征提出,并进行回归和分类)。第1部分就是直接用普通分类网络的卷积层,用来提取共享特征,然后利用ROI Pooling在最后一层网络形成的feature map上面提取针对各个RoIs的特征向量,然后将所有RoIs的特征向量都交给第2部分来处理(即所谓的分类和回归),而第二部分一般都是一些全连接层,在最后有2个并行的loss函数:softmax和smoothL1,分别用来对每一个RoI进行分类和回归,这样就可以得到每个RoI的真实类别和较为精确的坐标信息啦(x, y, w, h)。 需要注意的是第1部分通常使用的都是像VGG、GoogleNet、ResNet之类的基础分类网络

CNN、RNN、DNN

只愿长相守 提交于 2019-11-28 04:19:14
一:神经网络   技术起源于上世纪五、六十年代,当时叫感知机(perceptron),包含有输入层、输出层和一个隐藏层。输入的特征向量通过隐藏层变换到达输出层,由输出层得到分类结果。但早期的单层感知机存在一个严重的问题——它对稍微复杂一些的函数都无能为力(如异或操作)。直到上世纪八十年代才被Hition、Rumelhart等人发明的多层感知机克服,就是具有多层隐藏层的感知机。 多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。这就是现在所说的神经网络NN。 神经网络的层数直接决定了它对现实的刻画能力——利用每层更少的神经元拟合更加复杂的函数。但问题出现了——随着神经网络层数的加深,优化函数越来越容易陷入局部最优解,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加,“梯度消失”现象更加严重。(具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。) 2006年,Hition提出了深度学习的概念,引发了深度学习的热潮