卷积神经网络

Deformable Convolutional Networks

◇◆丶佛笑我妖孽 提交于 2019-12-06 05:46:09
1 空洞卷积 1.1 理解空洞卷积 在图像分割领域 ,图像输入到CNN(典型的网络比如FCN)中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预测是pixel-wise的输出,所以要将pooling后较小的图像尺寸upsampling到原始的图像尺寸进行预测,之前的pooling操作使得每个pixel预测都能看到较大感受野信息。因此图像分割FCN中有两个关键,一个是pooling减小图像尺寸增大感受野,另一个是upsampling扩大图像尺寸。在先减小再增大尺寸的过程中,肯定有一些信息损失掉了,那么能不能设计一种新的操作,不通过pooling也能有较大的感受野看到更多的信息呢?答案就是dilated conv。 (a) 普通卷积,1-dilated convolution,卷积核的感受野为3×3 (b) 扩张卷积,2-dilated convolution,卷积核的感受野为7×7 (c) 扩张卷积,4-dilated convolution,卷积核的感受野为15×15 (a)图对应3x3的1-dilated conv,和普通的卷积操作一样. (b)图对应3x3的2-dilated conv,实际的卷积kernel size还是3x3,但是空洞为1,也就是对于一个7x7的图像patch

深度学习_0_相关概念

岁酱吖の 提交于 2019-12-06 04:20:16
SVM损失函数 L1 = max(0,5.1-3.2+1)+max(0,-1.7-3.2+1) l2 = ...... 损失函数:L=(L1+L2+L3)/3 当所有的分数几乎相同时:L=分类数-1 (就是max中的那个1.共有类数-1个) 为什么使用平均值? 无论分数如何变化loss不会改变 最优化w并不是唯一的,若w1对应loss为0,2*w 对应loss也为0 因此要选择正确的w L=原来的L+λR(w)(正则项) λ为超参数 常见的是L2正则化 神经网络 卷积神经网络 卷积 图片:32*32*3 卷积核:3*3*3 前两个 3是卷积核大小,后一个是图片通道数,指定步长后滑动一次生成 一个[x,y,1] 假设有n个卷积核,这样就生成[x,y,n] 缩小图片大小,厚度增加 参数:n个卷积核 n*3*3 +n(偏执) 池化: 对于32*32*3的图片 ----->28*28*64 卷积 28*28*64 -------> 14*14*64 池化 通常也有滤波器 2*2 每次滑动步长为2 意思就是不重叠 池化方法通常是最大池化法:在2*2的4个值中选取最大的作为结果 没有参数,64的深度不变 通常使用最大池化,不是均值池化:因为它表示的是神经元在某一区域的感知, (只可意会,不和言传) 一般不用0填充 激活函数 批量归一化:Btach Normalization (x-均值)

学习CNN系列一:原理篇

限于喜欢 提交于 2019-12-06 03:35:39
CNN的发展历程:   1962年,卷积神经网络的研究起源于Hubel和Wiesel研究毛脑皮层的发现局部互连网络可以有效降低反馈神经网络的复杂性。   1980年,CNN的第一个实现网络:Fukushima为解决模式识别问题基于神经元间的局部连通性和图像的层次组织转而提出的新识别机。   1998年,第一个多层人工神经网络——LeNet5,也是第一个正式的CNN模型(LeCun,用于手写数字分类)。共7层:2个卷积层,2个池化层,3个全连接层,利用BP算法训练参数。   (之后十年停滞,一因BP算法训练计算量极大,硬件计算能力不足。二因浅层机器学习算法(如SVM)开始发展。)   2012年,AlexNet在ImageNet大赛上夺冠,掀起CNN学习热潮。AlexNet整体架构与LeNet-5相似,但是更深。在卷积层使用ReLU函数作为非线性激活函数,在全连接层使用Dropout机制来减少过拟合。   2014年,GooleNet在ImageNet夺冠,达到22层。主要创新在于Inception(核心结构),是一种网中网的结构,即原来的节点也是一个网络。   2015年,ResNet将网络做到152层,引入残差,解决了网络层比较深时无法训练的问题。   2016年,商汤做到了1207层的CNNM,是截止目前在ImageNet上最深的深度学习网络。 CNN与普通网络的区别:  

最容易理解的对卷积(convolution)的解释

折月煮酒 提交于 2019-12-05 23:30:07
本文转自: 最容易理解的对卷积(convolution)的解释 https://www.cnblogs.com/alexanderkun/p/8149059.html 最容易理解的对卷积(convolution)的解释 啰嗦开场白 读本科期间,信号与系统里面经常讲到卷积(convolution),自动控制原理里面也会经常有提到卷积。硕士期间又学了线性系统理论与数字信号处理,里面也是各种大把大把卷积的概念。至于最近大火的深度学习,更有专门的卷积神经网络(Convolutional Neural Network, CNN),在图像领域取得了非常好的实际效果,已经把传统的图像处理的方法快干趴下了。啰啰嗦嗦说了这么多卷积,惭愧的是,好像一直以来对卷积的物理意义并不是那么清晰。一是上学时候只是简单考试,没有仔细思考过具体前后的来龙去脉。二是本身天资比较愚钝,理解能力没有到位。三则工作以后也没有做过强相关的工作,没有机会得以加深理解。趁着年前稍微有点时间,查阅了一些相关资料,力争将卷积的前世今生能搞明白。 1.知乎上排名最高的解释 首先选取知乎上对卷积物理意义解答排名最靠前的回答。 不推荐用“反转/翻转/反褶/对称”等解释卷积。好好的信号为什么要翻转?导致学生难以理解卷积的物理意义。 这个其实非常简单的概念,国内的大多数教材却没有讲透。 直接看图,不信看不懂。以离散信号为例,连续信号同理。

一文读懂「Attention is All You Need」| 附代码实现

不羁岁月 提交于 2019-12-05 22:14:49
作者丨苏剑林 单位丨 广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 前言 2017 年中,有两篇类似同时也是笔者非常欣赏的论文,分别是 FaceBook 的 Convolutional Sequence to Sequence Learning 和 Google 的 Attention is All You Need ,它们都算是 Seq2Seq 上的创新,本质上来说,都是抛弃了 RNN 结构来做 Seq2Seq 任务。 在本篇文章中,笔者将对 Attention is All You Need 做一点简单的分析。 当然,这两篇论文本身就比较火,因此网上已经有很多解读了(不过很多解读都是直接翻译论文的,鲜有自己的理解),因此这里尽可能多自己的文字,尽量不重复网上各位大佬已经说过的内容。 序列编码 深度学习做 NLP 的方法,基本上都是先将句子分词,然后每个词转化为对应的词向量序列。这样一来,每个句子都对应的是一个矩阵 X=(x1,x2,…,xt),其中 xi 都代表着第 i 个词的词向量(行向量),维度为 d 维,故 。这样的话,问题就变成了编码这些序列了。 第一个基本的思路是 RNN 层 ,RNN 的方案很简单,递归式进行: 不管是已经被广泛使用的 LSTM、GRU 还是最近的 SRU,都并未脱离这个递归框架。RNN 结构本身比较简单

轻量化模型之SqueezeNet

送分小仙女□ 提交于 2019-12-05 22:12:17
  自 2012 年 AlexNet 以来,卷积神经网络在图像分类、目标检测、语义分割等领域获得广泛应用。随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 CNN 网络,如 VGG、GoogLeNet、ResNet、DenseNet 等。由于神经网络的性质,为了获得更好的性能,网络层数不断增加,从 7 层 AlexNet 到 16 层 VGG,再从 16 层 VGG 到 GoogLeNet 的 22 层,再到 152 层 ResNet,更有上千层的 ResNet 和 DenseNet。虽然网络性能得到了提高,但随之而来的就是效率问题。 效率问题主要是 模型的存储问题和模型进行预测的速度问题。 1、存储问题。数百层网络有着大量的权值参数,保存大量权值参数对设备的内存要求很高; 2、速度问题。在实际应用中,往往是毫秒级别,为了达到实际应用标准,要么提高处理器性能(很难),要么就减少计算量。 只有解决 CNN 效率问题,才能让 CNN 走出实验室,更广泛的应用于移动端。 对于效率问题,通常的方法是进行模型压缩(Model Compression),即在已经训练好的模型上进行压缩,使得网络携带更少的网络参数,从而解决内存问题,同时可以解决速度问题。 相比于在已经训练好的模型上进行处理,轻量化模型模型设计则是另辟蹊径

SGD与Adam识别MNIST数据集

我与影子孤独终老i 提交于 2019-12-05 15:19:42
几种常见的优化函数比较: https://blog.csdn.net/w113691/article/details/82631097 1 ''' 2 基于Adam识别MNIST数据集 3 ''' 4 import torch 5 import torchvision 6 import torchvision.transforms as transform 7 import torch.nn 8 from torch.autograd import Variable 9 10 ''' 11 神经网络层级结构: 12 卷积层Conv1,Conv2() 13 最大池化层 MaxPool2d() 14 损失函数 ReLU() 15 参数: 16 卷积神经网络的卷积层参数:------输入通道数、输出通道数、卷积核大小、卷积核移动步长和Padding的值 17 Conv2d(input_channels,output_channels,kernel_size,stride,padding); 18 最大池化层参数:------池化窗口大小、移动步长 19 MaxPool2d(kernel_size,stride) 20 方法: 21 1.torch.nn.Sequential()用作参数序列化,神经网络模块会按照传入Suquential构造器顺序依次被添加到计算图中执行 22 2

详解深度学习之经典网络架构——LeNet

放肆的年华 提交于 2019-12-05 14:04:31
一、基本简介 LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络。 二、LeNet网络的基本结构 LeNet5 这个网络虽然很小,但是它包含了深度学习的基本模块:卷积层,池化层,全链接层。是其他深度学习模型的基础, 这里我们对LeNet5进行深入分析。同时,通过实例分析,加深对与卷积层和池化层的理解。 LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。 各层参数详解: 1、INPUT层-输入层 首先是数据 INPUT 层,输入图像的尺寸统一归一化为32*32。 注意:本层不算LeNet-5的网络结构,传统上,不将输入层视为网络层次结构之一。 2、C1层-卷积层 输入图片:32*32 卷积核大小:5*5 卷积核种类:6 输出featuremap大小:28*28 (32-5+1)=28 神经元数量:28*28*6 可训练参数:(5*5+1) * 6(每个滤波器5*5=25个unit参数和一个bias参数,一共6个滤波器) 连接数:(5*5+1)*6*28*28=122304 详细说明

4.tensorflow——CNN

早过忘川 提交于 2019-12-05 13:57:00
1.CNN结构:X-->CONV(relu)-->MAXPOOL-->CONV(relu)-->FC(relu)-->FC(softmax)-->Y 1.1 卷积层:提取特征,改变特征图的个数 卷积 tensorflow卷积函数,tf.nn.conv2d(input=x,filter=W_conv1,strides=[1,1,1,1],padding='SAME') 1.2 池化层:缩小图片,不改变特征图个数 针对卷积层输出的特征图结果,为了提取一定区域的主要特征,并减少参数数量,防止模型过拟合。 除了MaxPooling,还有AveragePooling,顾名思义就是取那个区域的平均值。 tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME') 池化带来的结果就是:图片缩小啦 1.3 全链层:特征组合 先将多维的数据进行“扁平化”, 也就是把 (height,width,channel) 的数据压缩成长度为 height × width × channel 的一维数组,然后再与 FC层 连接, 这之后就跟普通的神经网络无异了 。 1.4 输出分类 2.相关辅助操作 tf.truncated_normal(),截断正态分布随机数,https://blog.csdn.net/justgg/article

卷积神经网络

泪湿孤枕 提交于 2019-12-05 11:40:50
卷积操作主要用于处理类网格结构的数据,对于时间序列以及图像数据的分析与识别具有显著优势 本质特性 稀疏交互 每个输出神经元仅与前一层特定局部区域内的神经元存在连接权重(产生交互) 假设网络中相邻两层分别具有 \(m\) 个输入和 \(n\) 个输出 全连接网络: \(m \times n\) 个参数的权值矩阵 卷积网络: \(k \times n\) 个参数的权值矩阵, \(k\) 为每个输出神经元连接的输入数 减少了参数个数,防止了过拟合 物理意义:通常图像、文本、语音等数据具有局部的特征结构。可以先学习局部特征,再将局部特征组合起来形成更复杂特征 参数共享 不同模块使用相同参数 全连接网络:权值参数矩阵中的每个元素只作用于某个输入元素一次 卷积网络:卷积核中的每个元素作用于每一次局部输入的特定元素上 物理意义: 卷积层具有平移等变性,神经网络的输出对于平移是等变的 池化操作 本质是降采样 非重叠区域 均值池化 抑制由于邻域大小受限造成估计值方差增大的现象 对背景的保留效果好 最大池化 抑制网络参数误差造成估计均值偏移 更好地提取纹理特征 相邻重叠区域 采用比窗口宽度更小的步长,窗口每次滑动时存在重叠区域 空间金字塔池化 考虑多尺度信息,同时计算多个尺度池化结果并拼接 池化操作能显著降低参数数量,还能保持对平移、伸缩、旋转操作的不变性 文本分类任务 核心思想:捕捉局部特征 优势