斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时14&&15
课时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的更多相关文章
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3
课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时1
课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27
课时26 图像分割与注意力模型(上) 语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个 使用卷积神经,网络为每个小区块进行 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&&25
课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9
课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13
课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11
课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时10
课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7
课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...
随机推荐
- Java面试题集(151-180)
摘要:这部分包括了Spring.Spring MVC以及Spring和其它框架整合以及測试相关的内容,除此之外还包括了大型站点技术架构相关面试内容. 151. Spring中的BeanFactory和 ...
- Deep learning网络调参技巧
参数初始化 下面几种方式,随便选一个,结果基本都差不多.但是一定要做.否则可能会减慢收敛速度,影响收敛结果,甚至造成Nan等一系列问题.n_in为网络的输入大小,n_out为网络的输出大小,n为n_i ...
- Android 使用ListView的A-Z字母排序功能实现联系人模块
在上一篇文章其中,主要学习了ListView的A-Z字母排序功能以及依据输入框的输入值改变来过滤搜索结果,假设输入框里面的值为空.更新为原来的列表,否则为过滤数据列表,包含汉字转成拼音的功能.假设你还 ...
- python之入门,你好,中国
print("你好,中国") 可以运行py文件实现一样的效果(py文件编码一定要是utf-8编码) 你好中国基础教程结束!
- HTML--比较实用的小例子
常用的前端实例: 1略 2.在网页商城中的图片当我们把鼠标放上去之后,图片会显示一个有颜色的外边框,图片某一部分的字体的颜色并发生改变 鼠标放上去之前 鼠标放上去之后: 实现的代码: <!DOC ...
- 设计模式入门之原型模式Prototype
//原型模式:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 //简单来说,当进行面向接口编程时,假设须要复制这一接口对象时.因为不知道他的详细类型并且不能实例化一个接口 //这时就须要 ...
- c#中的多态 c#中的委托
C#中的多态性 相信大家都对面向对象的三个特征封装.继承.多态很熟悉,每个人都能说上一两句,但是大多数都仅仅是知道这些是什么,不知道CLR内部是如何实现的,所以本篇文章主要说说多态性 ...
- 简单的glib测试(三)
#include <stdlib.h> #include <stdio.h> #include <string.h> #include <locale.h&g ...
- Scrapy 'module' object has no attribute 'Spider'错误
在“Scrapy入门教程”中,在创建的“dmoz_spider.py”文件中是通过 import scrapy class DmozSpider(scrapy.Spider): 的方式导入.但是用这种 ...
- spring list map set
1 list <!-- result in a setSomeList(java.util.List) call --> <property name="someList& ...