神经网络与机器学习 笔记—卷积神经网络(CNN)
卷积神经网络
之前的一些都是考虑多层感知器算法设计相关的问题,这次是说一个多层感知器结构布局相关的问题。来总结卷积神经网络。对于模式分类非常合适。网络的提出所隐含的思想收到了神经生物学的启发。
第一个卷积网络是为了识别二维形状而特殊设计的一个多层感知器,这种二维形状对平移、比例缩放、倾斜或者其他形式的变形具有高度不变性。这个艰巨的任务是通过如下网络在监督方式下学会的,网络的结构包括如下形式的约束。
- 特征提取。每一个神经元从上一层的局部接收域得到突触输入,因而迫使它提取局部特征。一旦一个特征被提取出来,只要它相对于其他特征的位置被近似保留下来,他的精确位置就变得没有那么重要了。
- 特征映射。网络的每一个计算层都是由多个特征映射组成的,每个特征映射都是平面形式的,平面中单独的神经元在约束下共享相同的突触权值。这种结构约束的第二种形式具有如下的有益效果:
平移不变性,强迫特征映射的执行使用具有小尺度核的卷积,再接着用一个sigmoid函数。
自由参数数量的减缩,通过权值共享实现。
- 子抽样。每个卷积网层跟着一个实现局部平均和子抽样的计算层,由此特征映射的分辨率降低。这种操作具有使特征映射的输出对平移和其他形式的变形的敏感度下降作用。
注意,在一个卷积网络所有层中的所有权值都是通过训练来学习的。此外,网络自动地学习提取它自身的特征。
用于图像处理如手写识别的卷积网络:

上面是一个由一个输入层和四个隐藏层与一个输出层组成的卷积网络的体系结构布局。这个网络被设计用于实现图像处理(如手写识别)。输入层由28x28个感知节点组成,接收已经近似处于中心位置和在大小上规整化的不同字符的图像。然后,计算流程在卷积和子抽样之间交替:
- 第一隐藏层进行卷积。它由四个特征映射组成,每个特征映射由24x24个神经元组成。每个神经元指定一个5x5的接收域;
- 第二隐藏层实现了子抽样和局部平均。他同样由四个特征映射组成。但其每个特征映射由12x12个神经元组成。每个神经元具有一个2x2的接收域,一个可训练系数,一个可训练偏置和一个sigmoid激活函数。可训练系数和偏置控制神经元的操作点;例如,如果系数很小,该神经元以拟线性方式操作。
- 第三个隐藏层进行第二次卷积。它由12个特征映射组成,每个特征映射由8x8个神经元组成。该隐藏层中的每个神经元可能具有和上一个隐藏层几个特征映射相连的突触连接。否则,它以第一个卷积层相似的方式操作。
- 第四个隐藏层进行第二次子抽样和局部平均计算。它由12个特征映射组成,但每个特征映射由4x4个神经元组成。否则它以第一次抽样相似的方式操作。
- 输出层实现卷积的最后阶段。它由26个神经元组成,每个神经元指定为26个可能的字符中的一个。跟前面一样,每个神经元指定一个4x4的接收域。
相继的计算层在卷积和抽样之间的连续交替,得到一个“双尖塔”的效果。也就是在每个卷积或抽样层,随着空间分辨率下降,与相应的前一层相比特征映射的数量增加。卷积之后进行子抽样的思想是受到H和W首先提出的“简单的”细胞后面跟着“复杂的”细胞的概念启发而产生的。
上面的多层感知器包含近似100000个突触连接,但只有大约2600个自由参数。自由参数在数量上显著减少是通过权值共享实现的。机器学习的能力因而下降,这有提高了它的泛化能力。甚至更值得注意的事实是对自由参数的调整通过反向传播学习的随机形式实现。
另一个显著的特点是使用权值共享使得以并行形式实现卷积网络成为可能。这是卷积网络对完全连接的多层感知器而言的另一个优点。
卷积也说明了两点。首先,通过结合当前任务的先验知识约束其设计,一个可调整大小的多层感知器能够学习一个复杂的、高维的和非线性的映射。其次,突触权值和偏置水平可以周而复始地执行通过训练集的简单反向传播算法进行学习。

神经网络与机器学习 笔记—卷积神经网络(CNN)的更多相关文章
- 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火
神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...
- 李宏毅机器学习笔记5:CNN卷积神经网络
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- TensorFlow 深度学习笔记 卷积神经网络
Convolutional Networks 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Is ...
- [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...
- Coursera Deep Learning笔记 卷积神经网络基础
参考1 参考2 1. 计算机视觉 使用传统神经网络处理机器视觉的一个主要问题是输入层维度很大.例如一张64x64x3的图片,神经网络输入层的维度为12288. 如果图片尺寸较大,例如一张1000x10 ...
- [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...
- [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...
- [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...
- [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...
随机推荐
- windows跳转端口
//将客户机端口内网33306转发到外网,在通过本地连接ssh -L 3306:10.0.0.208:3306 ttx@180.180.180.182--通过git bash执行命令--10.0.0. ...
- 追洞小组 | 实战CVE-2020-7471漏洞
出品|MS08067实验室(www.ms08067.com) 本文作者:守拙(Ms08067实验室追洞小组成员) 一.漏洞名称: 通过StringAgg(分隔符)的潜在SQL注入漏洞 二.漏洞编号: ...
- 死磕生菜 -- lettuce 间歇性发生 RedisCommandTimeoutException 的深层原理及解决方案
0x00 起源 项目的一些微服务集成了 Spring Data Redis,而底层的 Redis 客户端是 lettuce,这也是默认的客户端.微服务在某些环境中运行很正常,但在另一些环境中运行就会间 ...
- POJ_2387 Til the Cows Come Hom 【最短路】
一.题目 POJ2387 二.分析 Bellman-Ford算法 该算法是求单源最短路的,核心思想就是不断去更新到起点的最短距离,更新的前提是没有负边.如果有负边需要手动控制循环次数. Dijkstr ...
- 从零学脚手架(八)---webpack-dev-server源码分析
上一篇中介绍了webpack-dev-server属性配置 这一篇就简单的梳理下webpack-dev-server内部实现. 由于涉及到源码解析,所以会涉及到一些比较难啃的知识,我会尽量进行简单化描 ...
- 递归实现1-n的全排列(JAVA语言)
思路: For example: 123的全排列= 1在最前面 23的全排列 + 2在最前面 13的全排列 + 3最前面 12的全排列 所以只需交换和最前面元素的位置,生成剩余元素的全排列即可. im ...
- 前端vue使用高德地图
首先,注册Key 1.注册开发者账号,成为高德开放平台开发者 2.登陆之后,在进入「应用管理」 页面「创建新应用」 3.为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」 ...
- 第16 章 : 深入理解 etcd:基于原理解析
深入理解 etcd:基于原理解析 本文将主要分享以下三方面的内容: 第一部分,会为大家介绍 etcd 项目发展的整个历程,从诞生至今 etcd 经历的那些重要的时刻: 第二部分,会为大家介绍 etcd ...
- k8s:py项目发布完整流程
k8s:py项目发布流程 1. 编写Dockerfile # cat Dockerfile FROM python:3.6-slim USER root RUN apt-get update & ...
- Scrapy框架的安装
Win+R 输入cmd打开命令行 我们先把pip升级到最新版,输入代码如下: pip install --upgrade pip 不过一般这种更新方式会经常性出错,安装文件在下载到一半时就会超时报错 ...