卷积神经网络

LRN和feature map

試著忘記壹切 提交于 2020-01-02 16:25:44
LRN层的作用 局部归一化:被激活的神经元抑制相邻神经元,使用LRN增加了泛化能力(使输出中响应比较大的值变得相对更大,并抑制其他响应较小的神经元)。 tensorflow中的lrn函数 函数原型如下: def lrn(input, depth_radius=None, bias=None, alpha=None, beta=None, name=None): 计算公式如下: i:代表通道,你要计算像素值所在的通道,从0到N-1 j:平方累加索引,代表从j~i的像素值平方求和 x,y:像素的位置,就是像素所在通道的高和宽 a:代表feature map里面的对应像素的具体值 N:通道的个数,也就是本层feature map的个数 k:超参数,由原型中的bias指定 α:超参数,由原型中的alpha指定 n/2:超参数,由原型中的deepth_radius指定,表示分母的计算范围 β:超参数,由原型中的belta指定 公式详解: 这个公式中的a表示卷积层(包括卷积操作和池化操作)后的输出结果,这个输出结果的结构是一个四维数组[batch,height,width,channel],这里可以简单解释一下,batch就是批次数(每一批为一张图片),height就是图片高度,width就是图片宽度,channel就是通道数可以理解成一批图片中的某一个图片经过卷积操作后输出的神经元个数

深度学习基础知识题库大全

百般思念 提交于 2019-12-28 16:34:26
1、 梯度下降算法 的正确步骤是什么? a.计算预测值和真实值之间的误差 b.重复迭代,直至得到网络权重的最佳值 c.把输入传入网络,得到输出值 d.用随机值初始化权重和偏差 e.对每一个产生误差的神经元,调整相应的(权重)值以减小误差 A.abcde B.edcba C.cbaed D.dcaeb 解析:正确答案 D ,考查知识点-深度学习。 2、已知: - 大脑是有很多个叫做神经元的东西构成,神经网络是对大脑的简单的数学表达。 - 每一个神经元都有输入、处理函数和输出。 - 神经元组合起来形成了网络,可以拟合任何函数。 - 为了得到最佳的神经网络,我们用梯度下降方法不断更新模型 给定上述关于神经网络的描述,什么情况下 神经网络模型 被称为深度学习模型? A.加入更多层,使神经网络的深度增加 B.有维度更高的数据 C.当这是一个图形识别的问题时 D.以上都不正确 解析:正确答案 A ,更多层意味着网络更深。没有严格的定义多少层的模型才叫深度模型,目前如果有超过2层的隐层,那么也可以及叫做深度模型。 3、训练 CNN 时,可以对输入进行旋转、平移、缩放(增强数据)等预处理提高模型泛化能力。这么说是对,还是不对? A.对 B.不对 解析: 对 。如寒sir所说,训练CNN时,可以进行这些操作。当然也不一定是必须的,只是data augmentation扩充数据后,模型有更多数据训练

卷积神经网络学习(一)

回眸只為那壹抹淺笑 提交于 2019-12-28 15:41:40
一、卷积的物理意义 卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。 在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。这正是单位响应是如此重要的原因。 二、卷积的另外解释 比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。下面还需要一些假设来保证论证的严谨:假定你的脸是线性时不变系统,也就是说,无论什么时候老板打你一巴掌,打在你脸的同一位置(这似乎要求你的脸足够光滑,如果你说你长了很多青春痘,甚至整个脸皮处处连续处处不可导,那难度太大了,我就无话可说了哈哈),你的脸上总是会在相同的时间间隔内鼓起来一个相同高度的包来,并且假定以鼓起来的包的大小作为系统输出。好了,那么,下面可以进入核心内容——卷积了! 如果你每天都到地下去打台球,那么老板每天都要扇你一巴掌,不过当老板打你一巴掌后,你5分钟就消肿了,所以时间长了,你甚至就适应这种生活了……如果有一天,老板忍无可忍,以0.5秒的间隔开始不间断的扇你的过程,这样问题就来了,第一次扇你鼓起来的包还没消肿,第二个巴掌就来了,你脸上的包就可能鼓起来两倍高,老板不断扇你

卷积神经网络

匆匆过客 提交于 2019-12-28 15:40:29
先简单理解一下卷积这个东西。 (以下转自https://blog.csdn.net/bitcarmanlee/article/details/54729807 知乎是个好东西) 1.知乎上排名最高的解释 首先选取知乎上对卷积物理意义解答排名最靠前的回答。 不推荐用“反转/翻转/反褶/对称”等解释卷积。好好的信号为什么要翻转?导致学生难以理解卷积的物理意义。 这个其实非常简单的概念,国内的大多数教材却没有讲透。 直接看图,不信看不懂。以离散信号为例,连续信号同理。 已知x[0] = a, x[1] = b, x[2]=c 已知y[0] = i, y[1] = j, y[2]=k 下面通过演示求x[n] * y[n]的过程,揭示卷积的物理意义。 第一步,x[n]乘以y[0]并平移到位置0: 第二步,x[n]乘以y[1]并平移到位置1 第三步,x[n]乘以y[2]并平移到位置2: 最后,把上面三个图叠加,就得到了x[n] * y[n]: 简单吧?无非是平移(没有反褶!)、叠加。 从这里,可以看到卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。 重复一遍,这就是卷积的意义:加权叠加。 对于线性时不变系统,如果知道该系统的单位响应,那么将单位响应和输入信号求卷积,就相当于把输入信号的各个时间点的单位响应 加权叠加,就直接得到了输出信号。 通俗的说:

12.16日志

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-28 11:25:06
研究一下Pyramid Feature Attention Network for Saliency detection的模型代码 先是VGG16的结构 def VGG16(img_input, dropout=False, with_CPFE=False, with_CA=False, with_SA=False, droup_rate=0.3): # Block 1 #shape=(?, 256, 256, 64) x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv1')(img_input) #shape=(?, 256, 256, 64) x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv2')(x) C1 = x #shape=(?, 128, 128, 64) x = MaxPooling2D((2, 2), strides=(2, 2), name='block1_pool')(x) if dropout: x = Dropout(droup_rate)(x) # Block 2 # shape=(?, 128, 128, 128) x = Conv2D(128, (3,

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之前

卷积神经网络详解

假装没事ソ 提交于 2019-12-27 17:33:48
1 前言 在dl中,有一个很重要的概念,就是卷积神经网络CNN,基本是入门dl必须搞懂的东西。本文基本根据斯坦福的机器学习公开课、cs231n、与七月在线寒老师讲的5月dl班第4次课CNN与常用框架视频所写,是一篇课程笔记。本只是想把重点放在其卷积计算具体是怎么计算怎么操作的,但后面不断补充,故写成了关于卷积神经网络的通俗导论性的文章。有何问题,欢迎不吝指正。 2 人工神经网络 2.1 神经元 神经网络由大量的节点(或称“神经元”、“单元”)和相互连接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个输出神经元被激活。从而识别当前数字是什么字。 神经网络的每个神经元/单元如下 类似wx + b的形式,其中 a1~an为输入向量,当然,也常用x1~x n表示输入 w1~wn为权重 b为偏置 bias f 为激活函数 t 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了

卷积神经网络--CNN

◇◆丶佛笑我妖孽 提交于 2019-12-27 17:33:24
1.人工神经网络 神经网络由大量的节点(或称“神经元”、“单元”)和相互连接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个 输出神经元 被 激活 。从而识别当前数字是什么字。 神经网络的每个神经元/单元如下 类似wx + b的形式,其中 a1~an为输入向量,当然,也常用x1~xn表示输入 w1~wn为权重 b为偏置bias f 为激活函数 t 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了。事实上,在20世纪50/60年代,上述简单神经元被称之为感知机,可以把感知机理解为一个根据不同因素、以及各个因素的重要性程度而做决策的模型。 举个例子,这周末北京有一草莓音乐节,那去不去呢?决定你是否去有3个因素,这三个因素可以对应三个输入,分别用x1、x2、x3表示,此外,这三个因素对做决策的影响程度不一样,各自的影响程度用权重w1、w2、w3表示。一般来说

(Review cs231n) ConvNet

落爺英雄遲暮 提交于 2019-12-27 17:30:17
概念 神经网络的深度和数据据体的深度(图像的通道数channels)要主要区分。 输入 1.得到一些数据,作为网络的输入。 2.在CNN中有filter,the size of filter is small。如上的filter为5*5,深度为3,这个3要在深度上穿过 输入数据的每一个位置,输入数据是三个通道; 3.filter 要完全覆盖输入数据的全部深度,用filter来和输入图像做卷积运算。 filter要在整个图像的空域范围内全部位置滑动,每一个位置filter和图像做点乘。这个filter是要学习的用W表示,我们也要学习这些filter,可以把filter看作是你的一堆W,然后在图像范围内滑动这个filter。 as folllows: $w^{T}x + b$ where w denotes the filter and x denotes the patch of input image, 大小是5*5*3的小区域。 激活图给出了每个空间位置出滤波器的反应,将5*5的filter在32*32的输入数据上滑动,得到了28*28的激活图。 hei = 32; wid = 32; stride = 1; count = 0; step1 = 0; step2 = 0; pathchSize = 5; for x = 1 + step1: stride : hei -

卷积神经网络CNN的可视化

▼魔方 西西 提交于 2019-12-27 03:21:14
通常我们认为深度学习模型是“黑盒”的,即模型学到的表示很难用人类可以理解的方式来提取和呈现。然而对于卷积神经网络来说却不是这样的。CNN学到的表示非常适合可视化,因为CNN本身就是 视觉概念的表示 。 CNN可视化和解释:【本文给出3个层面的可视化】 1)可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积网络神经连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义。 2)可视化卷积神经网络的过滤器 有助于精确理解卷积神经网络中每个过滤器容易接受的视觉模式或视觉概念。 3)可视化图像中类激活的热力图 有助于理解图像的哪个部分被识别为属于某个类别,从而可以定位图像中的物体。 一、可视化中间激活 可视化中间激活,是指对于给定输入,展示网络中各个卷积层和池化层输出的特征图(层的输出通常被称为该层的激活,即激活函数的输出)。 可视化中间激活,可以看到输入如何被分解为网络学到的不同过滤器。 从三个维度对特征图进行可视化:宽度、高度和深度(通道)。每个通道都对应相对独立的特征,所以讲这些特征图可视化的正确方法是将每个通道的内容分别绘制成二维图像。 原图如下: 第一层卷积层第4通道可视化结果: 第一层卷积层第7通道可视化结果: 第5个卷积层第5个通道可视化: 第5个卷积层的第30通道可视化: 上例中揭示了DL学到的表示存在一个重要普遍特征: 随着层数的加深