卷积神经网络

之前的一些都是考虑多层感知器算法设计相关的问题,这次是说一个多层感知器结构布局相关的问题。来总结卷积神经网络。对于模式分类非常合适。网络的提出所隐含的思想收到了神经生物学的启发。

第一个卷积网络是为了识别二维形状而特殊设计的一个多层感知器,这种二维形状对平移、比例缩放、倾斜或者其他形式的变形具有高度不变性。这个艰巨的任务是通过如下网络在监督方式下学会的,网络的结构包括如下形式的约束。

  1. 特征提取。每一个神经元从上一层的局部接收域得到突触输入,因而迫使它提取局部特征。一旦一个特征被提取出来,只要它相对于其他特征的位置被近似保留下来,他的精确位置就变得没有那么重要了。
  2. 特征映射。网络的每一个计算层都是由多个特征映射组成的,每个特征映射都是平面形式的,平面中单独的神经元在约束下共享相同的突触权值。这种结构约束的第二种形式具有如下的有益效果:

平移不变性,强迫特征映射的执行使用具有小尺度核的卷积,再接着用一个sigmoid函数。

自由参数数量的减缩,通过权值共享实现。

  1. 子抽样。每个卷积网层跟着一个实现局部平均和子抽样的计算层,由此特征映射的分辨率降低。这种操作具有使特征映射的输出对平移和其他形式的变形的敏感度下降作用。

注意,在一个卷积网络所有层中的所有权值都是通过训练来学习的。此外,网络自动地学习提取它自身的特征。

用于图像处理如手写识别的卷积网络:

上面是一个由一个输入层和四个隐藏层与一个输出层组成的卷积网络的体系结构布局。这个网络被设计用于实现图像处理(如手写识别)。输入层由28x28个感知节点组成,接收已经近似处于中心位置和在大小上规整化的不同字符的图像。然后,计算流程在卷积和子抽样之间交替:

  1. 第一隐藏层进行卷积。它由四个特征映射组成,每个特征映射由24x24个神经元组成。每个神经元指定一个5x5的接收域;
  2. 第二隐藏层实现了子抽样和局部平均。他同样由四个特征映射组成。但其每个特征映射由12x12个神经元组成。每个神经元具有一个2x2的接收域,一个可训练系数,一个可训练偏置和一个sigmoid激活函数。可训练系数和偏置控制神经元的操作点;例如,如果系数很小,该神经元以拟线性方式操作。
  3. 第三个隐藏层进行第二次卷积。它由12个特征映射组成,每个特征映射由8x8个神经元组成。该隐藏层中的每个神经元可能具有和上一个隐藏层几个特征映射相连的突触连接。否则,它以第一个卷积层相似的方式操作。
  4. 第四个隐藏层进行第二次子抽样和局部平均计算。它由12个特征映射组成,但每个特征映射由4x4个神经元组成。否则它以第一次抽样相似的方式操作。
  5. 输出层实现卷积的最后阶段。它由26个神经元组成,每个神经元指定为26个可能的字符中的一个。跟前面一样,每个神经元指定一个4x4的接收域。

相继的计算层在卷积和抽样之间的连续交替,得到一个“双尖塔”的效果。也就是在每个卷积或抽样层,随着空间分辨率下降,与相应的前一层相比特征映射的数量增加。卷积之后进行子抽样的思想是受到H和W首先提出的“简单的”细胞后面跟着“复杂的”细胞的概念启发而产生的。

上面的多层感知器包含近似100000个突触连接,但只有大约2600个自由参数。自由参数在数量上显著减少是通过权值共享实现的。机器学习的能力因而下降,这有提高了它的泛化能力。甚至更值得注意的事实是对自由参数的调整通过反向传播学习的随机形式实现。

另一个显著的特点是使用权值共享使得以并行形式实现卷积网络成为可能。这是卷积网络对完全连接的多层感知器而言的另一个优点。

卷积也说明了两点。首先,通过结合当前任务的先验知识约束其设计,一个可调整大小的多层感知器能够学习一个复杂的、高维的和非线性的映射。其次,突触权值和偏置水平可以周而复始地执行通过训练集的简单反向传播算法进行学习。

神经网络与机器学习 笔记—卷积神经网络(CNN)的更多相关文章

  1. 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火

    神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...

  2. 李宏毅机器学习笔记5:CNN卷积神经网络

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  3. TensorFlow 深度学习笔记 卷积神经网络

    Convolutional Networks 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Is ...

  4. [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...

  5. Coursera Deep Learning笔记 卷积神经网络基础

    参考1 参考2 1. 计算机视觉 使用传统神经网络处理机器视觉的一个主要问题是输入层维度很大.例如一张64x64x3的图片,神经网络输入层的维度为12288. 如果图片尺寸较大,例如一张1000x10 ...

  6. [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...

  7. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  8. [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...

  9. [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...

随机推荐

  1. IntelliJ-IDEA 打包代码报错

    一.问题由来 使用 IntelliJ-IDEA 打包项目一直以来都没问题,可是上周的时候,突然打包就报错了,并且Maven中的pom.xml文件确定是没有改过,打包的配置文件也没有修改过. 报错信息如 ...

  2. 一键安装KMS服务

    本文转载于 秋水逸冰 » 一键安装 KMS 服务脚本 KMS,是 Key Management System 的缩写,也就是密钥管理系统.这里所说的 KMS,毋庸置疑就是用来激活 VOL 版本的 Wi ...

  3. 什么是IPFS集群?IPFS集群有什么好处?

    IPFS作为区块链不多的创新技术,其热度一直居高不下.IPFS挖矿效率最高的就是集群结构,那么今天我就带着大家了解IPFS的集群挖矿. 什么是集群挖矿?   集群(cluster)就是计算机集群,指在 ...

  4. c++ 反汇编 继承

    单继承,父类中没有虚函数 单继承,父类存在虚函数,子类重写虚函数 单继承,父类存在虚函数,子类不新定义虚函数 单继承,父类存在虚函数,子类新定义虚函数 单继承,父类不存在虚函数,子类定义虚函数 多继承 ...

  5. Go 中的 gRPC 入门详解

    目录 Go GRPC 入门 1,安装包 2,gRPC 服务端 3,gRPC 客户端 4,编译运行 5,其它 GRPC Protobuf buffer 字段类型 字段规则 Protobuf gRPC 四 ...

  6. Trie、并查集、堆、Hash表学习过程以及遇到的问题

    Trie.并查集.堆.Hash表: Trie 快速存储和查找字符串集合 字符类型统一,将单词在最后一个字母结束的位置上打上标记 练习题:Trie字符串统计 import java.util.*; pu ...

  7. 数据表设计之主键自增、UUID或联合主键

    最近在做数据库设计的时候(以MySQL为主),遇到不少困惑,因为之前做数据库表设计,基本上主键都是使用自增的形式,最近因为这种做法,被领导指出存在一些不足,于是我想搞明白哪里不足. 一.MySQL为什 ...

  8. Swagger3注解使用

    这里只简单的说一下swagger的传值,返回值时注解的使用演示.相关注解及说明见其他文章 接收参数方式1 我们常规接收参数,可以使用一个类,类里面把属性作为接收的参数,使用注解对属性进行说明.但是这种 ...

  9. Python信息搜集

    1.IP查询 IP查询是通过当前所获取到的URL去查询对应IP地址的过程.可以应用socket库函数中的gethostbuname()获取域名所对应的IP值,代码如下: 查询域名www.biadu.c ...

  10. 201871030119-马桂婷 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客 2018卓越工程师班 这个作业要求链接 实验三 软件工程结对项目 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程:2.掌握Github协作开发程序的操作方法 ...