卷积

GoogLeNet 之 Inception v1 v2 v3 v4

主宰稳场 提交于 2020-03-29 15:15:30
论文地址 Inception V1 : Going Deeper with Convolutions Inception-v2 : Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Inception-v3 : Rethinking the Inception Architecture for Computer Vision Inception-v4 : Inception-ResNet and the Impact of Residual Connections on Learning GitHub源码 Inception-v4 最原始的Google-net结构图 Inception V1 上图是论文中提出的最原始的版本,所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了,造成了特征图厚度很大。为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降低特征图厚度的作用,也就是Inception v1的网络结构。 Google Inception Net首次出现在ILSVRC 2014的比赛中(和VGGNet同年),就以较大优势取得了第一名

Inception V1、V2、V3和V4

回眸只為那壹抹淺笑 提交于 2020-03-29 12:31:38
Inception模块分为V1、V2、V3和V4。 V1(GoogLeNet)的介绍 论文:Going deeper with convolutions 论文链接:https://arxiv.org/pdf/1409.4842v1.pdf 主要问题: 每张图中主体所占区域大小差别很大。由于主体信息位置的巨大差异,那选择合适的卷积核相对来说就比较困难。信息分布更全局性的图像适合选用较大的卷积核,信息分布较局部的图像适合较小的卷积核。 非常深的网络更容易过拟合。将梯度更新传输到整个网络是很困难的。 简单地堆叠较大的卷积层非常消耗计算资源。 解决方法: 作者在神经网络设计上不是增加深度而是增加网络宽度,并且为了降低算力成本,作者在3*3和5*5卷积层之前添加额外的1*1卷积层,来限制输入信道的数量。   2. V2介绍 论文:Rethinking the Inception Architecture for Computer Vision 论文地址:https://arxiv.org/pdf/1512.00567v3.pdf 主要问题: 减少特征的表征性瓶颈。直观来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,也成为[特征性瓶颈]。 使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效。 解决方法: 最左侧一排将5*5分解成两个3

卷积 Convolution 原理及可视化

只愿长相守 提交于 2020-03-28 19:18:21
文章抄自 知乎-王贵波 本文主要介绍了卷积 Convolution 的背景、基本原理、特点、与全连接的区别与联系、不同的卷积模式,进行了卷积可视化以及代码实现了一个简单的 2 维卷积操作,并针对卷积操作进行了计算优化。 目录 卷积背景及原理 卷积的特点(与全连接的区别与联系) 卷积的三种模式 卷积操作 Numpy 简单实现 卷积优化实现 卷积背景及原理 卷积操作历史上来发展于信号处理领域,在信号处理中原始信号通常会被混入噪音,假设传感器在每个时刻 \(t\) 会输出一个信号 \(f(t)\) ,这个信号通常混入了一些噪声,我们可以通过过个测量点进行加权平均来抵消掉噪声,并且离当前时间点 \(t\) 越近的测量点权重应该越高,我们可以用下面的公式表示 \[h(t)=\sum_{t'}g(t-t')f(t') \] 上式中 \(g\) 是一个权重函数,参数是时间点 \(t'\) 距离当前时间 的 \(t\) 距离,输出 \(t'\) 时间点测量的权重; \(f\) 是信号测量函数。在这个例子中, \(t'\) 的采样是离散的,因此采用了加和的形式,同时 \(g\) 还应该是一个概率密度函数,因为在这个例子中表示了一种权重。下图就是这个例子的可视化,灰色是 \(f(t)\) ,红色的部分就是经过翻转的 \(g\) ,绿色部分是生成的 \(h\) 。 这个例子实际上就是卷积操作的一种特例

神经网络分类简介

主宰稳场 提交于 2020-03-27 09:56:57
3 月,跳不动了?>>> 1 深度学习概念 2006年,Geoffery Hinton在《Science》和相关期刊上发表了论文,首次提出了“深度信念网络”的概念。具体是利用预训练的方式缓解了局部最优解的问题,将隐藏层增加到了7层,实现了真正意义上的“深度”。 他给多层神经网络相关的学习方法赋予了一个新名词--“ 深度学习 ”。很快,深度学习在语音识别领域暂露头角。接着,2012年,深度学习技术又在图像识别领域大展拳脚。在这之后,关于深度神经网络的研究与应用不断涌现。 2 神经网络分类 神经网络的分类主要有以下几种:DNN(深度神经网络)、RNN (循环神经网络)、CNN(卷积神经网络)、ResNet(深度残差)、LSTM之外,还有很多其他结构的神经网络 。 DNN: 为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。结构跟多层感知机一样,如下图所示. 我们看到全连接DNN的结构里下层神经元和所有上层神经元都能够形成连接,从而导致参数数量膨胀。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。 RNN: DNN无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。为了适应这种需求

卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解

你离开我真会死。 提交于 2020-03-27 01:27:28
1、卷积的数学意义   从数学上讲,卷积与加减乘除一样是一种运算,其运算的根本操作是将两个函数的其中一个先平移,然后再与另一个函数相称后的累加和。这个运算过程中,因为涉及到积分、级数的操作,所以看起来很复杂。在 卷积(转自wiki百科) 中已经讲过了卷积的定义如下所示: 对于定义在连续域的函数,卷积定义为 对于定义在离散域的函数,卷积定义为   这里令U(x,y) = f(x)g(y) ,考虑到函数 f 和 g 应该地位平等,即变量 x 和 y 应该地位平等,一种可取的办法就是沿直线 x+y = t将U(x,y)卷起来。下面为t取实际值的时候的坐标图,可以看到不同取值的t可以遍历整个平面。   将x+y=t中t取一次定值(这个定值可能是我们想要知道的某时刻的结果或着某种特征,由我们赋值),代入到U(x,y)中,就相当于U(x,y)所在平面沿着x+y=t直线做一次旋转如下列动图所示:   这里便是完成了整个卷积的降维过程,完成降维过程后,U(x,y)也就从一个二元函数 U(x,y) = f(x)g(y) 被卷成一元函数 V(x)=f(x)g(t-x),最后再对x求积分(即遍历降维后的轴上的特征点之和)。 2、卷积的C语言编写   编写卷积的程序,需要根据其离散方程组来进行了解。前面已经知道了卷积的离散函数的定义公式为:    在用C语言等其他语言进行实现是可以采用定义

PaddleSeg图像分割库再添新武器,新增压缩部署方案FLOPs降低51%

好久不见. 提交于 2020-03-25 19:56:49
3 月,跳不动了?>>> 相信很多人都看过电影《变形金刚》,电影中经常可以看到大黄蜂变身的跑车飞驰在公路之上,可是大家有没有仔细想过,大黄蜂是怎么知道马路中间是黄实线还是黄虚线,到底能不能压线,能不能掉头呢?要知道差一点没分清楚,那就是200块钱罚3分的下场。说到这里那些了解图计算机视觉的小伙伴们应该就会想到这个领域的核心研究方向之一的图像分割技术(Image Segmentation)。 什么是图像分割? 图像分割是一种将图像分成若干个特定的、具有独特性质的区域并提取出感兴趣目标的技术和过程。从数学角度来看,图像分割是将图像划分成互不相交的区域的过程。 图1 图像分割应用效果图 如图1所示,随着人工智能的发展,图像分割技术已经在交通控制、医疗影像和工业用表识别等多个领域获得了广范的应用。为了让广大开发者可以方便快捷的将图像分割技术应用到自己的业务中,飞桨开发了一整套图像分割模型库,这就是我们接下来要介绍的PaddleSeg。 什么是PaddleSeg? 早在2019年秋季的时候飞桨就已经正式发布了图像分割模型库 PaddleSeg,这是一款如同工具箱般便捷实用的图像分割开发套件,该套件具有模块化设计、丰富的数据增强、高性能、工业级部署四大特点: 模块化设计 :支持U-Net、DeepLabv3+、ICNet和PSPNet等多种主流分割网络,结合预训练模型和可调节的骨干网络

PaddleSeg图像分割库再添新武器,新增压缩部署方案FLOPs降低51%

心已入冬 提交于 2020-03-25 16:58:18
3 月,跳不动了?>>> 相信很多人都看过电影《变形金刚》,电影中经常可以看到大黄蜂变身的跑车飞驰在公路之上,可是大家有没有仔细想过,大黄蜂是怎么知道马路中间是黄实线还是黄虚线,到底能不能压线,能不能掉头呢?要知道差一点没分清楚,那就是200块钱罚3分的下场。说到这里那些了解图计算机视觉的小伙伴们应该就会想到这个领域的核心研究方向之一的图像分割技术(Image Segmentation)。 什么是图像分割? 图像分割是一种将图像分成若干个特定的、具有独特性质的区域并提取出感兴趣目标的技术和过程。从数学角度来看,图像分割是将图像划分成互不相交的区域的过程。 图1 图像分割应用效果图 如图1所示,随着人工智能的发展,图像分割技术已经在交通控制、医疗影像和工业用表识别等多个领域获得了广范的应用。为了让广大开发者可以方便快捷的将图像分割技术应用到自己的业务中,飞桨开发了一整套图像分割模型库,这就是我们接下来要介绍的PaddleSeg。 什么是PaddleSeg? 早在2019年秋季的时候飞桨就已经正式发布了图像分割模型库 PaddleSeg,这是一款如同工具箱般便捷实用的图像分割开发套件,该套件具有模块化设计、丰富的数据增强、高性能、工业级部署四大特点: 模块化设计 :支持U-Net、DeepLabv3+、ICNet和PSPNet等多种主流分割网络,结合预训练模型和可调节的骨干网络

深度学习最佳实践

前提是你 提交于 2020-03-23 09:06:11
本文首发自公众号: RAIS ,欢迎关注。 最佳实践,顾名思义,就是做某事的最佳方法,当然,这里的最佳一定是绝大多数情况,但又不是百分百的情况,我们不必纠结这个问题,我们需要记住的是下面这些方法在深度学习实践中是非常好的做法。 回调机制 如果你看到这里,我有理由认为你是一个懂得程序设计懂得编程的有一定开发经验的程序员,既然如此,你一定对回调不陌生,回调类似于一种观察者的设计模式,我交给你一个任务去执行,交代结束我就继续去做自己的工作了,你执行结束了,不管结果是好是坏,你都要把结果告诉我,这就是回调的含义。 在我们之前的各种深度学习的例子中,总有一个参数是 epochs,含义是网络模型循环迭代的次数,一开始的时候,我们都会给出一个不小的值,让网络训练然后调整参数,这个 epochs 在调整参数的过程中总要保证模型要处于过拟合状态,只有这样,我们才能知道在什么情况下网络达到最优。在前面的大多数例子中这是合理的也是可行的,因为我们的网络训练的很快,数据集也没有大到在可接受时间内无法完成的情况,因此这并不影响什么,但是也有一些例外,例如前文提到的循环神经网络,训练的时间可能就有点让你等得不耐烦了,这个问题凸显出来了,我们需要解决这个问题。 我们查看训练过程中的数据,找到哪里开始过拟合,那我们就把循环迭代的次数设置成那个临界点,重新去训练网络,那解决上诉问题的思路是否可以改为我们训练的网络

卷积神经网络处理文本序列

强颜欢笑 提交于 2020-03-19 11:22:22
3 月,跳不动了?>>> 我们之前讨论了卷积神经网络,从局部可以提取出特征,用于小猫小狗的图片识别处理,非常有效;也讨论了循环神经网络进行文本的处理,因为文本的顺序是顺序相关的。基于以上特点,我们把时间或者说文本的前后看做一个维度,那一段文本就是一个一维空间,相比图片的二维空间,变得更加简单了,那卷积神经网络是否可以处理这样的情况呢? 先亮出结论,答案是肯定的。图片是二维的数据,文本是一维的数据,因此我们可以对训练的神经网络进行简化,让网络去提取一维的特征。既然如此,一维神经网络与二维的神经网络是类似的,因此我们可以把二维卷积神经网络的特性迁移到一维的卷积神经网络上。 我们在讨论神经网络的时候,我们知道了卷积神经网络具有平移不变性,非常好的特性,这个特性可以抓住问题的关键,识别出特殊的特征。在一维的卷积神经网络(用到的方法:Conv1D)中,一小段文本所具有的特性,进行学习后,在文本的其他位置仍然可以被识别出来。可以这样理解,一句话在开头说与在结束的时候说,表达的感情应该是一致的,效果也是一样的(绝大多数情况下),这就是文本的平移不变性。 同样的,在处理图片的时候,为了防止数据量过大,防止过拟合,我们需要进行池化的操作,在一维的神经网络中,我们也需要进行池化操作(用到的方法:MaxPooling1D)。 说到这里,大概的主要内容我们就说完了,比较简单,我们该举一个例子了

卷积神经网络处理文本序列

廉价感情. 提交于 2020-03-19 11:08:03
3 月,跳不动了?>>> 我们之前讨论了卷积神经网络,从局部可以提取出特征,用于小猫小狗的图片识别处理,非常有效;也讨论了循环神经网络进行文本的处理,因为文本的顺序是顺序相关的。基于以上特点,我们把时间或者说文本的前后看做一个维度,那一段文本就是一个一维空间,相比图片的二维空间,变得更加简单了,那卷积神经网络是否可以处理这样的情况呢? 先亮出结论,答案是肯定的。图片是二维的数据,文本是一维的数据,因此我们可以对训练的神经网络进行简化,让网络去提取一维的特征。既然如此,一维神经网络与二维的神经网络是类似的,因此我们可以把二维卷积神经网络的特性迁移到一维的卷积神经网络上。 我们在讨论神经网络的时候,我们知道了卷积神经网络具有平移不变性,非常好的特性,这个特性可以抓住问题的关键,识别出特殊的特征。在一维的卷积神经网络(用到的方法:Conv1D)中,一小段文本所具有的特性,进行学习后,在文本的其他位置仍然可以被识别出来。可以这样理解,一句话在开头说与在结束的时候说,表达的感情应该是一致的,效果也是一样的(绝大多数情况下),这就是文本的平移不变性。 同样的,在处理图片的时候,为了防止数据量过大,防止过拟合,我们需要进行池化的操作,在一维的神经网络中,我们也需要进行池化操作(用到的方法:MaxPooling1D)。 说到这里,大概的主要内容我们就说完了,比较简单,我们该举一个例子了