卷积神经网络

CV方向调研

南楼画角 提交于 2019-12-02 06:40:57
CV方向调研 本文主要对CV方向深度学习相关的知识、资料进行介绍。DNN相关的模型在计算机视觉上有许多应用场景,大方向上大致分为2D和3D两类。 C V 技术总览 PS:列举的多为各个方向的state of the art。 C V 领域发展和应用 2D方向上,自从2012年提出的AlexNet获得了ImageNet 的冠军之后,性能惊人的用于图像分类的卷积神经网络模型不断涌现。以3*3卷积核为主的VGG、借鉴了NIN且在宽度上进行了增加的GoogleNet(Inception v1)、引入了残差块使得网络深度能够继续加深而不容易出问题的ResNet,都在分类问题上取得了不俗的成绩,并作为视觉中许多其他任务的网络模型的backbone。由于DNN模型消耗的计算资源过多,MobileNet、ShuffleNet等能够减少卷积计算量的网络被提出,虽各有特点,但核心操作在于将标准卷积用depthwise卷积(特殊的分组卷积)和1*1卷积代替。这些模型有望用于计算资源不多的嵌入式设备上。 MobileNet关键结构替换示意图 目标检测方面,模型主要分为two-stage和one-stage两大类。Two-stage首先给出proposal region,然后在给出的proposal region上进行定位和分类回归,而one-stage则是直接进行定位和分类回归任务。Two

小白也能入门的深度学习

柔情痞子 提交于 2019-12-02 03:49:57
卷积神经网络是近年来深度学习能在计算机视觉领域取得突破性成果的基石。它也逐渐在被其他诸如自然语言处理、推荐系统和语音识别等领域广泛使用。 一、卷积神经网络简介 卷积神经网络的结构:卷积层、池化层、全连接层。全连接层通常作为网络的最后几层,其中的每个神经元都与上层中的所有神经元相连,所以称之为全连接层。全连接层之前是若干对卷积层与池化层,卷积层与池化层一一对应,且卷积层在前,池化层在后。本质上卷积层与池化层作用是将原始的数据中的特征进行抽象,全连接层则利用这些抽象出来的特征对样本数据进行分类,并未样本打上标签。 卷积层与池化层是卷积神经网络的核心部分。 卷积层:由若干特征图构成,特征图由卷积核对输入数据卷积后得到,卷积核可被看做是一种对特定特征非常敏感的探测器。卷积核对输入数据卷积的过程就是,实际就是尝试发现输入数据中某个特征的过程。特征图会记录卷积核在原输入数据不同部分的激活程度(特征越契合,激活程度越高)。每个卷积核负责识别一种特定特征,卷积后将产生一张对应该特征的特征图,卷积层通常由若干个卷积核与之对应。 池化层的价值在于缩减输入数据的规模,比如将特征图中若干个激活值合并为新特征图中的一个激活值。合并方法很多,比如最大值合并、平均值合并和随机合并,采用何种方法根据业务来定。 二、卷积层 卷积核的宽和高,以及卷积核的个数由人工预定义得到。卷积核对什么特征敏感

用numpy实现CNN卷积神经网络

我是研究僧i 提交于 2019-12-02 03:47:24
为了加深对卷积神经网络底层原理的理解,本文通过使用numpy来搭建一个基础的包含卷积层、池化层、全连接层和Softmax层的卷积神经网络,并选择relu作为我们的激活函数,选择多分类交叉熵损失函数,最后使用了mnist数据集进行了训练和测试。 关于卷积网络的详细原理和实现可参考下列文章: 刘建平Pinard:卷积网络前向反向传播算法 卷积层的反向传播 手把手带你 Numpy实现CNN 1、卷积层 卷积层的前向传播输出由卷积核和特征图作卷积运算得到,反向传播时需要计算kernel和bias的梯度以及delta的反向传播误差,kernel的梯度由原特征图和delta作卷积得到,bias每个通道的梯度由对delta每个通道直接求和得到,delta的反向传播误差由delta和旋转180度的卷积核作卷积运算得到。其中卷积运算在实现时先将特征图的对应部分和卷积核展开成了向量的形式,再作向量乘法运算,这样可以通过并行运算加快速度,实现代码如下: def img2col(x, ksize, stride): wx, hx, cx = x.shape # [width,height,channel] feature_w = (wx - ksize) // stride + 1 # 返回的特征图尺寸 image_col = np.zeros((feature_w*feature_w, ksize

目标检测算法的总结(R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD、FNP、ALEXnet、RetianNet、VGG Net-16)

天涯浪子 提交于 2019-12-02 03:26:14
目标检测解决的是计算机视觉任务的基本问题:即What objects are where?图像中有什么目标,在哪里?这意味着,我们不仅要用算法判断图片中是不是要检测的目标, 还要在图片中标记出它的位置, 用边框或红色方框把目标圈起来。如下图 目前存在的一些挑战在于:除了计算机视觉任务都存在的 不同视角、不同光照条件以及类内差异 等之外,还存在 目标旋转和尺度变化(如小目标) ,如何精确的目标定位,密集和遮挡条件下的目标检测,以及如何加快检测速度等。 下图是目标检测的发展历程: 以 2014 年为界,目标检测分为传统目标检测时期(区域选择,特征提取,分类)和基于深度学习的目标检测时期(目标分类和目标定位)   比较流行的算法可以分为两类:(two-stage和one-stage,前者是由粗到精的过程,而后者则一步到位。) 目前对于One-Stage算法的主要 创新 主要集中在如何设计CNN结构、如何构建网络目标以及如何设计损失函数上  一类是基于 Region Proposal 的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN等),它们是 two-stage 的,需要先通过算法 产生目标候选框 ,也就是目标位置,然后再对候选框 做分类与回归。  而另一类是 Yolo,SSD这类one-stage 算法

你理解了吗?

只愿长相守 提交于 2019-12-02 03:16:52
0-为什么卷积层往往会有多个卷积核?   因为权值共享后意味着每一个卷积核只能提取到一种特征,为了增加CNN的表达能力,当然需要多个核,不幸的是,它是一个Hyper-Parameter。 1- 如何理解卷积神经网络中的(卷积核)权值共享?   xxxxxxxxxxxxxxxxxxx 2-为什么卷积神经网络里可以使用权值共享?   图片空间上的局部相关性 来源: https://www.cnblogs.com/xin-qing3/p/11728354.html

关系抽取 --- Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

余生长醉 提交于 2019-12-02 03:04:54
 (一) 论文的贡献   1、用PCNNs的神经网络结构自动学习文本特征,代替复杂的人工构造特征和特征处理流程。   PCNNs全名为Piecewise Convolutional Neural Networks,包含两层含义:Piecewise max pooling layer和Convolutional Neural Networds,对应到最大池化层和卷积层。用卷积神经网络强大的特征提取功能,能自动抽取丰富的特征,并且减少人工设计特征和NLP工具库抽取特征带来的误差。省时省力又能减少误差,何乐不为。   2、设计了分段最大池化层(三段,Piecewise max pooling layer)代替一般的最大池化层,提取更丰富的文本结构特征。   一般的最大池化层直接从多个特征中选出一个最重要的特征,实际上是对卷积层的输出进行降维,但问题是维度降低过快,无法获取实体对在句子中所拥有的结构信息。   如下图,把一个句子按两个实体切分为前、中、后三部分的词语,然后将一般的最大池化层相应地划分为三段最大池化层,从而获取句子的结构信息。                3、用多实例学习(Multi-Instances Learning)解决远程监督做自动标注的错误标注问题。   远程监督本质上是一种自动标注样本的方法,但是它的假设太强了,会导致错误标注样本的问题。  

torch_06_卷积神经网络

不打扰是莪最后的温柔 提交于 2019-12-02 02:52:24
1.概述   卷积神经网络的参数,由一些可学习的滤波器集合构成的,每个滤波器在空间上都计较小,但是深度和输入数据的深度保持一致。在前向传播中,让每个滤波器都在输入数据的宽度和高度上滑动(卷积),然后计算整个滤波器和输入数据任意一处的内积。当滤波器沿着输入数据的宽度和高度滑动时,会生成一个二维的激活图,激活图上的每个空间位置表示了原图片对于该滤波器的反应。 2. 三种思想 2-1 局部性   对于一张图片,需要检测图片中的特征来决定图片的类别,通常情况下这些特征都不是由整张图片决定的,而是由局部的区域决定。 2-2 相同性   对于不同的图片,如果他们具有相同的特征,这些特征会出现在图片的不同位置,也就是说可以用同样的检测模型去检测不同图片的相同特征,只不过这些特征处于图片中不同的位置,但是特征检测所做的操作几乎一样。 2-3 不变性   对于一张大图片,如果我们进行下采样,图片的性质基本保持不变。 3.全连接网络   由一系列隐藏层构成,每个隐藏层中由若干个神经元构成,其中每个神经元都和前一层的所有神经元相关联,但是每一层中的神经元是相互独立的。   存在的问题:比如在MNIST数据集,图片大小为28*28,那么第一个隐藏层的 单个 神经元的权重数目是28*28 = 784个 (权重矩阵的一行为一个神经元,一行有784列) 4.卷积神经网络:一个滤波器就相当于一个神经元 卷积层:

卷积神经网络基本概念(卷积篇 01)

我是研究僧i 提交于 2019-12-01 18:45:17
Computer Vision Theory CNN Part 1 简介 1.1 我先后在以下场景下见到过卷积 微分方程 傅立叶变换及其应用 概率论 卷积神经网 1.2 相关阅读 推荐一下 Christopher Olah 的理解卷积的blog http://colah.github.io/posts/2014-07-Understanding-Convolutions/ 数学论证 https://www.dsprelated.com/freebooks/mdft/Convolution.html 1.3 本文将介绍卷积在计算机图像处理上的应用,所以限定讨论条件 离散的 2-维卷积(注:2-维的卷积相当于depth=1的3-维的卷积) 篇幅有限具体的数学和理解请参考相关阅读 Part 2 原理和代码实现 2.1 四种方式简单介绍 无损精度算法 2.1.1滑动窗口 最直观的方法 大规模加速比较困难 某些特定场景下速度比较快 2.1.2 im2col 私以为最主流的实现方式(caffe/MXNet 等使用的是这种方式) 一般来说速度较快(空间换时间) 卷积过程转化成了GEMM过程(被各种极致优化) 算法: 将没有个需要做卷积的矩阵平摊为一个一维向量 将所有的向量组成新的矩阵 新矩阵和kernal做矩阵乘法 得到结果 有损精度算法 FFT/Winograd的卷积算法,它们都是通过:

卷积神经网络(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 特征图和感受野 特征图:二维卷积层输出的二维数组可以看做是输入在空间维度(宽和高)上某一级的表征。 感受野

MnasNet论文解读

风流意气都作罢 提交于 2019-12-01 08:30:39
论文链接: https://arxiv.org/pdf/1807.11626v1.pdf 代码链接: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet 摘要 由于移动和嵌入式平台需要模型小、快且精度高,所以设计针对移动平台的模型是一件很有挑战的事情。尽管在设计移动端CNNs上已经做了很大努力,但是当有很多结构可能性需要考虑时还是很难在这些因素之间做平衡的。在本篇论文中,我们提出了一个自动移动神经网络架构搜索方法(MNAS),它明确地将模型延迟考虑进主要目标中以致于可以得到一个在精度和延迟之间达到平衡的模型。不像之前的网络,我们没有选择延迟的一个不精确的度量——比如FLOPS,而是直接通过在移动手机上推理模型来衡量真实的延迟。为了进一步在灵活性和搜索空间尺寸上取得平衡,我们提出了一个新颖的分解式层次搜索空间,它鼓励整个网络层的多样性,实验结果表明展示了我们的网络在多个视觉任务上都达到了先进的性能,在ImageNet 分类任务上,我们的MnasNet实现了75.2%的top-1精度,延迟为78ms,这笔MobileNetV2快了1.8倍,精度提升了0.5%;比NASNet快了2.3倍,精度提升了1.2%。我们的MnasNet同样在COCO目标检测上也取得了比MobileNets更好的MAP。 1.