![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
Swocky
这个作者很懒,什么都没留下…
展开
-
【目标检测】Towards Accurate One-Stage Object Detection with AP-Loss
one-stage目标探测器通过同时优化分类损失和定位损失进行训练,前者由于锚的数量众多而遭受极端的前景-背景类别失衡问题。本文提出了一个新颖的框架,以分级任务代替one-stage检测器中的分类任务,并采用平均精度损失(AP-loss)解决分级问题,从而缓解了这一问题。由于其不可微性和非凸性,AP损耗无法直接优化。为此,我们开发了一种新颖的优化算法,该算法将感知器学习中的错误驱动更新方案与深度网络中的反向传播算法无缝结合。我们从理论和经验上验证了所提出算法的良好收敛性。原创 2020-07-22 09:24:28 · 1137 阅读 · 0 评论 -
【深度学习】Image Super-Resolution Using Deep Convolutional Networks
作者提出了一种深度学习图像超分辨率的方法,直接在高低分辨率图像之间学习一个端到端的映射。作者后续还证明了传统的sparse-coding-based超分方法也可以看做一个深度卷积神经网络,相对于这种方法,作者的方法联合优化所有层。作者的深度CNN有一个轻量级的结构,实现了SOTA效果并且速度更快。作者通过在不同的网络结构和参数设置中进行探索实现了性能与速度的平衡。另外,作者还拓展网络来同时处理三色通道,并且得到了更好的全局重建性能。原创 2020-06-25 14:46:59 · 824 阅读 · 0 评论 -
【深度学习】A model-based gait recognition method with body pose and human prior knowledge
作者提出了一个新的基于模型的步态识别方法,PoseGait。步态识别是生物特征识别中一个比较有挑战且有吸引力的领域。之前的一些方法主要基于外形,而基于外形的特征通常从人的体形中提取,很容易倍计算且比较高效。然而由于很多因素,外形一般不是不变的。一个基于体形方法的替代是基于模型的方法。然而,在低分辨率下比较困难。相对于之前的方法,作者使用人体3D姿态估计作为步态识别的输入。人体3D坐标对于很多外部因素的改变是不变的。作者设计了一个3D姿态的时空特征来提高识别率。原创 2020-06-05 19:17:46 · 1463 阅读 · 1 评论 -
【三维重建】PIFuHD:Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization
基于图像的3D人体估计已经在深度神经网络的帮助下取得了重大的进展。即使现在很多的方法已经证明在真实世界应用的潜力,它们仍然难以产生输入图呈现出的细节。精确的预测需要更多的上下文,但是精确的预测需要高分辨率。由于硬件的内存限制,之前的很多方法把低分辨率图作为输入以涵盖更多的上下文,然后产生较低准确率的3D估计。作者通过形成一个多层次的端对端可循了结构来解决这个问题。粗略的层次在较低的分辨率下观察整个图像,并侧重于整体推理。这为通过观察高分辨率图像估计细致的几何结构提供了上下文信息。原创 2020-05-31 08:02:23 · 4594 阅读 · 5 评论 -
【三维重建】Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network
作者在本文提出了一种能够同时进行3D面目结构重建与提供密集对齐的方法。为了实现这个效果,作者设计了一个称为UV位置映射的2D表示,能够在UV空间中记录一个人脸的3D形状,然后训练一个卷积神经网络来从一张2D图像中重建这张图。本文还在训练过程中的loss里引入了一个权重mask来提高网络性能。该方法并不依赖任何先验人脸模型,并且能够伴随着语义重建整张人脸的面部几何。同时,网络非常轻量,9.8ms便可以处理一张图片,比之前很多工作速度都快。最后在多种比较有挑战性的数据集下表现出了超过SOTA的效果。原创 2020-05-30 11:15:27 · 1837 阅读 · 0 评论 -
【三维重建】Unsupervised Learning of Depth and Ego-Motion from Monocular Video
本文提出了一种基于无监督学习的新方法,对单目视频中的深度与自我运动的估计。以往的一些方法多采用像素级或基于梯度的损失,只关注在较小区域的像素。而作者提出的方法能够明确地对整个区域的3D几何进行推断,并且加强连续视频帧之间3D点云和自我运动的一致性。对于这项比较有挑战性的任务,在作者提出的对齐三维结构的新颖的反向传播算法下得以解决。作者使用从相邻帧之间得到的深度与运动信息,将3D的损失与基于帧重建光度质量的2D损失进行了结合。作者还通过加入有效性掩码来避免不存在有效信息区域的惩罚。原创 2020-05-29 16:45:35 · 975 阅读 · 0 评论 -
【三维重建】Learning the Depths of Moving People by Watching Frozen People
本文提出的方法能够在有自由移动的人的单目视频中进行深度估计,这类场景在实际应用中还是挺多的。现有的从单目视频中恢复动态非刚性物体深度的方法对物体的运动有很强的假设性,只能恢复稀疏的深度。本文的方法是数据驱动的,且来源也比较特别,来自于YouTube。由于人是固定的,训练数据可以从多个角度产生,在推断阶段正是通过视差从静止的区域来引导深度预测。作者在现实世界手握相机拍摄的视频中验证了他们的方法,并且展示出超过SOTA的效果。原创 2020-05-29 21:37:05 · 1296 阅读 · 1 评论 -
【深度学习】从对抗生成网络出发的目标导向式优化器调参方法
最近做对抗生成网络实验的过程中出现了模型无法收敛的问题,后来发现是优化器本身的问题,通过从效果较好的优化器数学表达式出发进行调整,最终包括SGD、SGDm、Adagrad、RMSprop和Adam在内的优化器都得到了收敛,特此总结一下调参经验。原创 2020-05-20 11:12:38 · 678 阅读 · 0 评论 -
【深度学习】生成式对抗网络(GAN)的常见评价指标:IS/FID/JS散度
生成式对抗网络的目标是生成高质量且多样性的样本,而一般的loss对其衡量能力有限,也无法像分类问题这种监督学习一样通过准确率等指标衡量。因此需要一些特定的方式对其进行衡量,本文主要介绍场景的几种衡量方式,即IS、FID与JS散度,能够从不同角度对GAN的效果进行衡量。原创 2020-05-18 15:44:22 · 4697 阅读 · 0 评论 -
【深度学习】生成式对抗网络原理与GAN/WGAN/WGAN-GP初步
生成对抗网络(GAN, Generative Adversarial Networks)相比于CNN与RNN是一项比较新的技术,由Ian J. GoodFellow于2014年提出,随后不断发展,目前已经广泛用于图像生成、图像合成与图像增强领域。原创 2020-05-18 11:18:45 · 1842 阅读 · 0 评论 -
【深度学习】踩坑日记:模型训练速度过慢,GPU利用率低
最近课程实验在与同学交流的过程中发现自己的模型训练速度比别人慢很多,而且使用AI Studio的Tesla V100速度与自己笔记本的GTX1050速度差别不大,跑一个ResNet50的epoch要12分钟,最终问题得到了解决。原创 2020-05-04 19:50:04 · 58758 阅读 · 43 评论 -
【深度学习】常见的学习率衰减算法的介绍与选择
模型准确率的提高除了模型本身的设计学习的过程也十分重要,好的学习过程可以让模型更快更好地趋近于最优。而学习过程中除了学习算法,学习率的控制也尤为重要,固定值的学习率很容易最终不断振荡,无法实现收敛。本文主要整理介绍一些学习率衰减算法,同时也简单介绍一些例如warm up和batch size有关的学习率控制经验。原创 2020-05-02 00:25:46 · 8632 阅读 · 1 评论 -
【深度学习】AlexNet CIFAR-10从70%到86%:CNN调参经验总结
最近课程实验是使用AlexNet训练CIFAR-10,并在验证集上验证。而AlexNet出现与2012年,模型结构也比较简单,在准确率方面与当今流行的网络肯定没法比,所以想要达到更改的准确率还是需要很多额外的改进。最终从70%左右的准确率提升到了86%,虽然也不是特别高但是有很多可以总结的地方。在整个实验过程中为了提升准确率也做了很多的尝试,各种参数加起来也跑了好几百个Epoch,这里总结了一些小规律,记录下来以供以后参考。原创 2020-05-01 00:08:46 · 5661 阅读 · 0 评论 -
【深度学习】深度学习模型训练的tricks总结
得到更改的准确率模型的设计自然是重要,而使用一些数据处理和训练的技巧也能提高最终模型的训练效果,因此也十分重要。本文基于对一些资料的阅读总结一些模型训练常见的trick,能够更快地拟合以及在一定程度上提升模型效果。原创 2020-04-30 22:33:11 · 5053 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(九)SENet
SENet是ImageNet 2017的冠军,全称为Squeeze-and-Excitation Networks。它将注意力机制通过space与channel两个角度进行了进一步的拓展,并结合了一些比较成熟的网路设计思路,最终实现了比较好的效果。原创 2020-04-30 13:03:25 · 1557 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(八)DenseNet
DenseNet发表在2017年的CVPR上,并获得了当时的best paper。ResNet的出现使模型可以变得更深,通过建立前面层与后面层之间的shortcut提高模型的性能。DenseNet将ResNet与跨层连接的思路进一步发挥,它将前面建立的所有层都与后面层的密集连接(Dense Connection)。另外DenseNet通过特征在channel上的连接实现特征重用,最终让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能。原创 2020-04-30 11:16:45 · 1056 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(七)ResNet
ResNet几乎是现在应用最广泛的特征提取网络,于2015年由何恺明等人提出拿到了ImageNet的冠军,并且发表在2016年的CVPR上,现在针对各种问题也衍生了很多新的网络。很多经典的网络也通过借鉴其思想在效果上得到了提升。一般来说,随着网络变深学习能力应该会更强,但是事实上一味地增加深度并不能继续提升性能,反而会导致模型收敛变慢,效果甚至还会变差,ResNet就是针对这样的问题。文中提出了很多值得借鉴的思想,可以说将卷积神经网络又向前推进了一个阶段,我们可以去训练更深的网络。原创 2020-04-30 10:22:20 · 1615 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(六)U-Net
U-Net于2015年提出,广泛用于图像分割问题。其初是专门为医学图像分割而设计的。该方法取得了良好的效果,并在以后的许多领域得到了应用。相对于很多其他语义分割网络,其规模较小,所以也可以用于一些实时的任务。原创 2020-04-29 23:38:42 · 3652 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(五)GoogLeNet
GoogLeNet是2014年ImageNet的冠军,亚军是著名的VGG。两类模型共同的特点是更深了。VGG继承了AlexNet的很多思想,而GoogLeNet在结构上则有了大胆的尝试。虽然深度增加了,但其参数量只是AlexNet的十二分之一,而性能上却更加优越。GoogLeNet也被称作Inception,有4个版本,不断趋于完善,其主要思想是分治与因式分解。原创 2020-04-29 22:14:54 · 874 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(四)VGGNet
VGG是Oxford的Visual Geometry Group的组提出的模型结构,分为VGG16和VGG19,证明了增加网络的深度能够在一定程度上影响网络最终的性能。可以发现,其设计落实了ZFNet的很多想法,并获得了ImageNet 2014的亚军。原创 2020-04-29 18:30:52 · 781 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(三)ZFNet
这篇论文是在AlexNet的基础上做了细微的改动,总的结构没有太大突破,其主要贡献是通过可视化揭示了神经网络各层的作用。这一点也是非常重要的,如果不知道原理只能盲目的进行网络设计与调参。原创 2020-04-29 17:39:17 · 455 阅读 · 0 评论 -
【深度学习】卷积神经网络中Dropout、BatchNorm的位置选择
卷积神经网络的设计自然要考虑到各层之间的顺序。这种“考虑”既有原理性的解释也有经验方面的原因。本文主要介绍一些层常见的位置选择,并对其原因进行分析,从中提取共性有利于其他模型的设计。原创 2020-04-28 19:37:18 · 17069 阅读 · 1 评论 -
【深度学习】经典卷积神经网络(二)AlexNet
上一篇文章中介绍的LeNet是几乎第一个典型的CNN,但后来经过一段时间沉寂,这些年真正再次流行起CNN还是从2012年的AlexNet开始。作者是著名的Hinton与他的学生Alex Krizhevsky,夺得了2012年的ImageNet竞赛冠军,效果远远领先于第二名。AlexNet提出的很多CNN思路至今都非常常用,很多网络也都是从它的设计不断改进的。原创 2020-04-28 19:32:55 · 997 阅读 · 0 评论 -
【深度学习】经典卷积神经网络(一)LeNet-5
为了能更好地指导卷积神经网络的设计,本系列将逐步学习一些经典的卷积神经网络模型。从一些比较古老的例如LeNet到比较新的例如SENet、UNet,从它们的设计中寻找思路,这将在各类问题卷积神经网络的设计都有参考价值。这类文章网上也很多,所以主要介绍下一些基本的信息然后从中寻找一些自己的心得体会。本文首先从最经典的LeNet开始。原创 2020-04-28 19:28:57 · 556 阅读 · 0 评论 -
【深度学习】常见的代价函数的理解与选择
代价函数决定着模型训练的方向,而优化方法也是建立在代价函数的基础上的。而不同的问题往往有不同的代价函数,这里最一些比较常见的代价函数进行总结,也供模型设计的时候予以参考。原创 2020-04-24 19:02:34 · 1896 阅读 · 0 评论 -
【深度学习】常见的提高模型泛化能力的方法
模型的泛化能力是其是否能良好地应用的标准,因此如何通过有限的数据训练泛化能力更好的模型也是深度学习研究的重要问题。仅在数据集上高度拟合而无法对之外的数据进行正确的预测显然是不行的。本文将不断总结相关的一些方法。原创 2020-04-24 17:37:50 · 20920 阅读 · 1 评论 -
【深度学习】梯度消失与梯度爆炸的原因分析与解决策略
前言梯度消失和梯度爆炸是深度网络训练过程中容易遇到的问题,由于网络层数的加深,梯度的膨胀或缩小效应不断累积,最终很容易造成模型无法收敛。除了模型本身的深度,发生的原因往往与参数初始化及模型设置,这里列举一些场景的原因与解决策略,以供参考。一、发生原因梯度消失与梯度爆炸出现的原因基本一致,一般可能是网络层数过深、激活函数、损失函数设置与参数初始化问题。学过梯度下降理论就很好理解,无非就是求梯度...原创 2020-04-23 16:04:07 · 10227 阅读 · 0 评论 -
【深度学习】参数初始化与Batch Normalization
一、参数初始化原则参数初始化作为模型训练的起点,决定了模型训练的初始位置。选择的好坏很大程度影响收敛的速度与最终的训练结果。一般来说,参数初始化遵循以下几点要求:不建议同时初始化为一个值,容易出现“对称失效”最好保证均值为0,正负交错,参数大致数量相等初始化参数不要太大或太小,前者会导致梯度发散难以训练,后者会导致特征对后面的影响逐渐变小二、常见的初始化方法1、全零初始化与随机初始...原创 2020-04-23 13:27:39 · 3592 阅读 · 0 评论 -
【深度学习】常见激活函数的理解与选择
一、关于激活函数设置激活函数是为了使之能拟合更多的情况,如果仅仅是线性加权那么无论多少层仍然相当于是线性组合,拟合效果十分有限。而不同的激活函数无论在分类效果上还是运算速度上都是不同的,本文主要对常见的激活函数进行总结,分析其特别以供选择。当然,介绍之前肯定要知道,没有绝对好的激活函数,深度学习问题也是具体问题具体分析的。二、常见激活函数介绍1、Sigmoid数学表达式:几何图像:...原创 2020-04-23 10:46:32 · 1151 阅读 · 0 评论 -
【深度学习】常见的优化算法与batch size的选择
一、梯度下降算法(这个图是课件里的,可能对SGD的理解不太一样,其实指的是下面说的小批量梯度下降)三个类型梯度下降具体的公式和推导网上比较多这里就不再赘述了。梯度下降有三种不同的形式,即批量梯度下降、小批量梯度下降随机梯度下降(SGD)。区别主要在于读入的数据数量不同,依次减小。批量梯度下降是对全部数据求导取平均,小批量则是取一部分,一般都是8的幂,而随机梯度下降取的是一个样本,对内存的...原创 2020-04-22 21:50:09 · 2945 阅读 · 3 评论 -
【深度学习】手部分割问题的尝试与总结
前言手部分割这个问题出现了很多年了,从深度学习流行之前就有人去做,如今AR/VR的兴起更是成为一个相对热门的研究方向。有效地分割手既能进行很多姿态的判断,又能用于身份认证,应用面还是很广。我做手部分割有一段时间了,虽然还是没有得到比较好的成果,基本也都是在研究前人的成果,这里还是总结一些心得与体会。简单概括一下,已经尝试了四种方法了,分别作出总结。1、基于深度图的手部分割这种方法简单来说...原创 2020-04-11 19:03:07 · 2419 阅读 · 0 评论 -
【深度学习】语义分割任务在模型设计与领域进展的一些想法
因为最近在做手的分割,并且目前的思路是把它理解为一个对于手部的具体语义分割问题,所以对这个领域有了一点点的了解与认识,在这里总结一下。模型设计语义分割对分割精度要求比较高,尤其是物体的边界,所以需要对图像的信息进行充分的理解,因此从数据集学习的过程模型要经过精心设计。目前思路目前的思路是来自师兄的硕士毕业设计。通过Wide ResNet在充分提取图像信息,其性能与运算量已经达到了一个比较...原创 2020-04-09 15:43:53 · 1048 阅读 · 0 评论 -
【深度学习】在浏览器中进行深度学习:TensorFlow.js (一)基本概念
原文作者:刚是程序员原文链接:https://zhuanlan.zhihu.com/p/35345939作为deeplearn.js的继任者,tensoflow.js 支持在浏览器或者nodejs中利用JavaScript来运行深度学习。并且能够支持GPU和现有的Tensorflow的模型。该项目的首页上有几个很酷炫的演示。作为热爱机器学习和前端数据可视化的我怎能不心动呢。快来和我一起来看...转载 2019-03-22 22:13:26 · 646 阅读 · 0 评论 -
【深度学习】调参小结(一)BatchSize对学习效果的影响
昨天跑seq2seq的模型中遇到一些问题,总结一下。本来以为模型已经收敛了,因为loss在震荡,后来发现我理解错了,因为我所看到的震荡其实是不同batch之间loss不同导致的,纵向来看,每个epoch同一个batch的loss仍在下降,所以其实没有必要缩小learning rate,例如将learning rate从0.01缩小到0.001,对于一个仍在准确逼近的模型可能会使模型收敛的速度减慢...原创 2019-03-26 10:54:36 · 854 阅读 · 0 评论