课时14 卷积神经网络详解(上)

CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而是立体结构,有宽,高和深度,在整个计算过程中要保持这些三维特征。这里的深度指的是一个数据体的第三个维度。

工作流程

我们得到一些数据,作为网络的输入,在CNN中我们有这样的滤波器,假设现在我们只有一个滤波器,这些滤波器空间维度很小,我们用这个滤波器来和输入图像做卷积运算。这里的卷积运算,意思是说滤波器要在这个图像的空域范围内全部位置滑动,而且,在每一个位置滤波器和图像做点乘。滤波器表示为w,把这些滤波器当做你的一堆w,然后你在图像范围内滑动这个滤波器,随着我们滑动滤波器,还要计算w的转置和x的乘积加上b。这里的x是输入数据的一小块区域,大小为滤波器的大小。当滤波器在滑动的时候,最后得到的整个结果,我们叫做激活图。激活图给出了在每个空间位置处滤波器的反应。

课时15 卷积神经网络详解(下)

我们每次做池化层时都扔掉了一小部分信息

在全连接层之前会有深度减少的地方

输入的数据中,边缘的数据可能和中心不太一样

我们不会为滤波器进行特定的初始化

池化层没有参数,只有卷积层有参数

规范化层是一个进行规范化的特殊的层,在2012年之后就不再用到了。

当在做反向传播的时候一定要注意,因为参数是共享的,当你在用滤波器做卷积时,所有的神经元都共享参数。你必须小心,所有的滤波器的梯度都汇总到一个权重。

ZFNet

基于AlexNet构建
conv1的滤波器大小、步长比AlexNet更小,对原始图像做更密集的计算。
conv3、conv4、conv5相比AlexNet有更多的过滤器

VGG NET

VGG并没有在疯狂的架构选择(例如你如何设定过滤器个数,尺寸大小,过滤器的大小等参数)上做非常多的工作,VGG的关键点在于在这个操作你重复了多少次(多少层),最后同样的这组参数设定的网络结构重复层叠至16层

VGG网络有一个非常简单的线性结构

GoogLeNet

最关键的创新点是引入了inception模块,但是它仅仅是inception模块的序列,一个接一个进行排列,他们使用的是inception层而不是卷积层,随后他们使用average pool而非全连接层,所以他们省去了大量的参数,他致力于同时减少对内存和计算量的需求。

必须小心处理增加层数,如果仅仅是简单的去做,他将没有什么用处

ResNet

大致的工作原理是我们有plain net,然后选取一张图片,接着有conv,pool,然后继续conv,conv,conv,conv.在ResNet中,在这些有趣的跳跃连接中,除了这种严格将一个容量转移到下一个容量的传递之外,我们还有这些连接。你可以将很多的信息打包进一个小的容器里。

工作方式:

在一个普通的神经网络中,你有一些函数H(x),想做一些计算,你要转换映射后的值,所以你有一个权重层,你有神经元映射后的值,你要将其转换,等等。在残差网络中,你的输入不是去计算你的变换F(x),而是计算过程中需要加上输入的残差。这个2层的神经网络需要计算的是顶部输入的原始表示,而不是一种与之前x完全没关系的表示,这个就是resent模型。

这一层基本上是由默认的恒等运算,这些建立在顶部的恒等上,他只是让他更好的优化

训练残差网络过程

gpu计算空间是这个的瓶颈

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时14&&15的更多相关文章

  1. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3

    课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...

  2. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时1

    课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...

  3. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27

    课时26 图像分割与注意力模型(上) 语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个 使用卷积神经,网络为每个小区块进行 ...

  4. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&&25

    课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以 ...

  5. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9

    课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...

  6. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13

    课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们 ...

  7. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11

    课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...

  8. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时10

    课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7

    课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...

随机推荐

  1. 学习日记之抽象工厂模式和Effective C++

    抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口.而无需制定他们详细的类. (1),工厂方法模式是定义一个用于创建对象的接口.让子类决定实例化哪一个类. ...

  2. Python的未来和Python的意义 & pypy & JIT

    今天在读关于Lisp的文章,感概于这门语言的生命力(Link).同时也读到了关于python的文章,Python之父谈Python的未来(Link) 文章中拿Python和Javascript作比较, ...

  3. Python奇技

    本文目录 1. 显示有限的接口到外部 2. with的魔力 3. filter的用法 4. 一行作判断 5. 装饰器之单例 6. staticmethod装饰器 7. property装饰器 8. i ...

  4. Lambda 表达式的演示样例-来源(MSDN)

    本文演示怎样在你的程序中使用 lambda 表达式. 有关 lambda 表达式的概述.请參阅 C++ 中的 Lambda 表达式. 有关 lambda 表达式结构的具体信息,请參阅 Lambda 表 ...

  5. innodb 修改表共享空间为独立空间

    最近在优化mysql innodb存储引擎,准备把共享表空间转换成独立表空间.刚开始的没考虑这么多,过段时间又要推广,所以优化一下,看看效果如何.说一个转换过程. 1,查看一下是共享表空间,还是独立表 ...

  6. 数据结构与算法之贪心算法 C++实现

    1.基本思路:从问题的某一个初始解触发逐步逼近给定的目标,以尽可能快的求得更好的解. 当达到算法中某一步不能再继续前进时.就停止算法,给出近似值.也就是说贪心算法并不从总体最优考虑,它所作出的选择仅仅 ...

  7. 关于数组类型的json解析方法

    遇到了非常奇葩的数组类型的json,一时解析不出来,用jsonObject会直接报错. Json数据如: [{"id":"1000142","name ...

  8. 使用DWR实现自己主动补全 相似百度搜索框的自己主动显示效果

    使用DWR实现自己主动补全 自己主动补全:是指用户在文本框中输入前几个字母或汉字的时候,自己主动在存放数据的文件或数据库中将全部以这些字母或汉字开头的数据提示给用户供用户选择 在日常上网过程中,我们常 ...

  9. Python开发【迭代器】

    1.迭代器 1.1.迭代器创建:指定数据创建迭代器(使用iter()和next() ) x = [1, 2, 3] #定义一个列表:<class 'list'> y = iter(x) # ...

  10. CentOS笔记-系统概述

    Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动. 操作系统接管 ...