残差网络

目标检测中基于角点检测:CornerNet Detecting Objects as Paired Keypoints

孤者浪人 提交于 2020-01-24 23:57:46
原始内容来源于:https://blog.csdn.net/weixin_40414267/article/details/82379793 参考文献:https://arxiv.org/abs/1808.01244 pytorch代码实现:https://github.com/umich-vl/CornerNet 包括理解! CornerNet: Detecting Objects as Paired Keypoints 摘要 我们提出了一种新的目标检测方法,使用单个卷积神经网络将目标边界框检测为 一对关键点(即边界框的左上角和右下角) 。通过将目标检测为成对关键点,我们消除了现有的one stage检测器设计中对一组anchors的需要。除了上述新颖的构想,文章还引入了 corner pooling ,这是一种新型的池化层,可以帮助网络更好地定位边界框的角点。CornerNet在MS COCO上实现了42.1%的AP,优于所有现有的one stage检测器。 1 引言 基于卷积神经网络的对象检测器(ConvNets)[20,36,15]已经在各种具有挑战性的基准测试中取得了最新成果[24,8,9]。现有技术方法的一个 共同组成部分是anchor boxes [32,35],它们是包含各种尺寸和宽高比的矩形框,是用作检测的候选框。anchor boxes广泛用于one

OpenCV基于残差网络实现人脸检测

纵然是瞬间 提交于 2020-01-14 14:29:34
OpenCV基于残差网络实现人脸检测 OpenCV3.3版本第一次把深度神经网络(DNN)模块引入到正式发布版本中,最新的OpenCV3.4中DNN模块发布了两个必杀技,一个支持Faster R-CNN的对象检测,比SSD与YOLO这些模型有更好的检测精度与小对象检测能力,另外一个是支持基于SSD+Resnet模型的人脸检测,虽然速度还达不到HAAR级联检测器的实时性,但是准确性与模型泛化能力可以说完爆HAAR级联检测器方式的人脸检测算法。作为OpenCV开发者需要人脸检测功能时候又多了一种更加可靠的选择,这里我们首先简单介绍一下什么是残差网络,然后给出其人脸检测模型在OpenCV基于摄像头实时人脸检测演示。 一:残差网络(Resnet) 最初的CNN网络LeNet与AlexNet卷积层都比较少,VGG通过小的卷积核实现了网络深度的增加取得了显著效果,但是当层数过度增加的时候就发现训练错误与测试错误都在增加,图示如下: 最开始人们以为是因为梯度消失或者梯度爆炸导致的,不过随着大家的努力,认为这个不是一个过拟合问题,而是网络褪化现象,所以针对这种情况,MSRA何凯明团队提出了一种新的网络模型-Residual Networks,其主要思想是使用残差结构来训练网络,一个残差结构如下: 作者认为F(x) = H(x)-x所以得到H(x) = F(x) + x这样的恒等映射

深度残差网络

浪尽此生 提交于 2020-01-12 10:18:30
什么是深度残差网络 实际就是在一般的深度神经网络中加入短连接(shortcut connection)或者跳跃连接(skip connection)。 为什么需要深度残差网络 梯度消失问题:随着深度的增加,梯度消失,深度神经网络的比较快靠前的网络层很难训练。 加入短连接后,靠后网络的层的梯度可以直接反向传播到前面的层,加速网络训练。 另外一个解释就是,加上短连接后,参数没有增加,网络学习目标相当于学习原始目标和输入的差。而残差被假设更容易学习。这也是残差网络的由来。 来源: CSDN 作者: -倾城之恋- 链接: https://blog.csdn.net/P081513083/article/details/103801975

BP 算法之一种直观的解释

喜夏-厌秋 提交于 2020-01-10 07:15:11
本文转载自: https://www.cnblogs.com/daniel-d/archive/2013/06/03/3116278.html 作者:daniel-D 转载请注明该声明。 0. 前言 之前上模式识别课程的时候,老师也讲过 MLP 的 BP 算法, 但是 ppt 过得太快,只有一个大概印象。后来课下自己也尝试看了一下 stanford deep learning 的 wiki, 还是感觉似懂非懂,不能形成一个直观的思路。趁着这个机会,我再次 revisit 一下。本文旨在说明对 BP 算法的直观印象,以便迅速写出代码,具体偏理论的链式法则可以参考 我的下一篇博客 (都是图片,没有公式)。 1. LMS 算法 故事可以从线性 model 说起(顺带复习一下)~在线性 model 里面,常见的有感知机学习算法、 LMS 算法等。感知机算法的损失函数是误分类点到 Target 平面的总距离,直观解释如下:当一个实例点被误分,则调整 w, b 的值,使得分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,在 Bishop 的 PRML一书中,有一个非常优雅的图展现了这个过程。但是了解了 MLP 的 BP 算法之后,感觉这个算法与 LMS 有点相通之处。虽然从名字上 MLP 叫做多层感知机,感知机算法是单层感知机。 LMS (Least mean squares)

SRResNet与EDSR

放肆的年华 提交于 2020-01-10 01:03:54
SRResNet SRResNet 网络来源于SRGAN,原论文( https://arxiv.org/abs/1609.04802 )提到一种扩展方式,允许修复更高频的细节。 SRResNet 的残差块架构基于这篇文章( http://torch.ch/blog/2016/02/04/resnets.html )。存在两个小的更改:一个是 SRResNet 使用 Parametric ReLU 而不是 ReLU,ReLU 引入一个可学习参数帮助它适应性地学习部分负系数;另一个区别是 SRResNet 使用了图像上采样方法,SRResNet 使用了子像素卷积层。详见: https://arxiv.org/abs/1609.07009 。 SRGAN网络结构如图1所示。 图1 在生成网络部分(SRResNet)部分包含多个残差块,每个残差块中包含两个3×3的卷积层,卷积层后接批规范化层(batch normalization, BN)和PReLU作为激活函数,两个2×亚像素卷积层(sub-pixel convolution layers)被用来增大特征尺寸。在判别网络部分包含8个卷积层,随着网络层数加深,特征个数不断增加,特征尺寸不断减小,选取激活函数为LeakyReLU,最终通过两个全连接层和最终的sigmoid激活函数得到预测为自然图像的概率。 这篇论文( https:/

【深度残差收缩网络】计算机视觉的应用代码

大兔子大兔子 提交于 2019-12-28 13:00:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深度残差收缩网络是一种新的神经网络结构,实际上是深度残差网络的升级版本,能够在一定程度上提高深度学习方法在含噪数据上的特征学习效果。 首先,简要回顾一下深度残差网络,其基本模块如下图所示。相较于传统的卷积神经网络,深度残差网络利用了跨越多层的恒等映射,来缓解模型训练的难度,提高准确性。 然后,和深度残差网络不同的是,深度残差收缩网络引入了一个小型的子网络,用这个子网络学习得到一组阈值,对特征图的各个通道进行软阈值化。 这个过程其实可以看成一个可训练的特征选择的过程 。具体而言,就是通过前面的卷积层将重要的特征转换成绝对值较大的值,将冗余信息所对应的特征转换成绝对值较小的值;通过子网络学习得到二者之间的界限,并且通过软阈值化将冗余特征置为零,同时使重要的特征有着非零的输出。 深度残差收缩网络其实是一种通用的方法,不仅可以用于含噪数据,也可以用于不含噪声的情况。 这是因为,深度残差收缩网络中的阈值是根据样本情况自适应确定的。换言之,如果样本中不含冗余信息、不需要软阈值化,那么阈值可以被训练得非常接近于零,从而软阈值化就相当于不存在了。 最后,堆叠一定数量的基本模块,就得到了完整的网络结构。 利用深度残差收缩网络进行MNIST数据集的分类,可以看到,效果还是不错的。下面是深度残差收缩网络的代码: #!/usr/bin

tensorflow学习笔记——ResNet

自闭症网瘾萝莉.ら 提交于 2019-12-28 09:06:56
  自2012年AlexNet提出以来,图像分类、目标检测等一系列领域都被卷积神经网络CNN统治着。接下来的时间里,人们不断设计新的深度学习网络模型来获得更好的训练效果。一般而言,许多网络结构的改进(例如从VGG到ResNet可以给很多不同的计算机视觉领域带来进一步性能的提高。   ResNet(Residual Neural Network)由微软研究员的 Kaiming He 等四位华人提出,通过使用 Residual Uint 成功训练152层深的神经网络,在 ILSVRC 2015比赛中获得了冠军,取得了 3.57%的top-5 的错误率,同时参数量却比 VGGNet低,效果非常突出,因为它“简单与实用”并存,之后很多方法都建立在ResNet50或者ResNet101的基础上完成的,检测,分割,识别等领域都纷纷使用ResNet,Alpha zero 也使用了ResNet,所以可见ResNet确实很好用。ResNet的结构可以极快的加速超深神经网络的训练,模型的准确率也有非常大的提升。之前我们学习了Inception V3,而Inception V4则是将 Inception Module和ResNet相结合。可以看到ResNet是一个推广性非常好的网络结构,甚至可以直接应用到 Inception Net中。 1,Highway Network简介   在ResNet之前

烧脑!CMU、北大等合著论文真的找到了神经网络的全局最优解

笑着哭i 提交于 2019-12-27 07:16:50
烧脑!CMU、北大等合著论文真的找到了神经网络的全局最优解 机器之心 ​ 已认证的官方帐号 811 人赞同了该文章 选自arXiv,作者:Simon S. Du、Jason D. Lee、Haochuan Li、Liwei Wang、Xiyu Zhai,机器之心编译,参与:思源、王淑婷、张倩。 一直以来,我们都不知道为什么深度神经网络的损失能降到零,降到零不代表着全局最优了么?这不是和一般 SGD 找到的都是局部极小点相矛盾么?最近 CMU、北大和 MIT 的研究者分析了深层全连接网络和残差网络,并表示使用梯度下降训练过参数化的深度神经网络真的能找到全局最优解。 用一阶方法训练的神经网络已经对很多应用产生了显著影响,但其理论特性却依然是个谜。一个经验观察是,即使优化目标函数是非凸和非平滑的,随机初始化的一阶方法(如随机梯度下降)仍然可以找到全局最小值(训练损失接近为零),这是训练中的第一个神秘现象。令人惊讶的是,这个特性与标签无关。在 Zhang 等人的论文 [2016] 中,作者用随机生成的标签取代了真正的标签,但仍发现随机初始化的一阶方法总能达到零训练损失。 人们普遍认为过参数化是导致该现象的主要原因,因为神经网络只有具备足够大的容量时才能拟合所有训练数据。实际上,很多神经网络架构都高度过参数化。例如,宽残差网络(Wide Residual Network)的参数量是训练数据的

深度残差收缩网络:(3)网络结构

给你一囗甜甜゛ 提交于 2019-12-26 21:14:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> (1)回顾一下深度残差网络的结构   在下图中,(a)-(c)分别是三种残差模块,(d)是深度残差网络的整体示意图。BN指的是批标准化(Batch Normalization),ReLU指的是整流线性单元激活函数(Rectifier Linear Unit),Conv指的是卷积层(Convolutional layer),Identity shortcut指的是跨层的恒等映射,RBU指的是残差模块(Residual Building Unit),GAP是全局均值池化(Global Average Pooling),FC是全连接层(Fully Connected Layer)。 C表示特征图的通道数,W表示特征图的宽度,1表示特征图的高度始终为1(这是因为这篇文章以一维的振动信号作为输入)。   在Conv后的括号中,K表示卷积层中卷积核的个数。当K=C时,输出特征图的通道数为C。当K=2C时,输出特征图的通道数为2C。/2表示的是卷积核每次移动的步长为2,从而使得输出特征图的宽度减半。   我们可以看到,在图(a)中,输入特征图的尺寸为C×W×1,输出特征图的尺寸也是C×W×1,也就是说,特征图的尺寸保持不变。在图(b)中,输出特征图的尺寸减小为C×(0.5W)×1,换言之,宽度减小为原先的一半。在图(c)中

深度残差收缩网络:(2)整体思路

瘦欲@ 提交于 2019-12-26 21:07:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 其实,这篇文章的摘要很好地总结了整体的思路。一共四句话,非常简明扼要。   我们首先来翻译一下论文的摘要:    第一句:This paper develops new deep learning methods, namely, deep residual shrinkage networks, to improve the feature learning ability from highly noised vibration signals and achieve a high fault diagnosing accuracy.    翻译:本文提出了新的深度学习方法,即深度残差收缩网络,来提高深度学习算法从强噪声信号中学习特征的能力,并且取得较高的故障诊断准确率。    解释:不仅明确了所提出的方法(深度残差收缩网络),而且指出了面向的信号类型(强噪声信号)。    第二句:Soft thresholding is inserted as nonlinear transformation layers into the deep architectures to eliminate unimportant features.    翻译:软阈值化作为非线性层,嵌入到深度神经网络之中