神经网络与机器学习 笔记—卷积神经网络(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池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...
随机推荐
- 面试常备,字符串三剑客 String、StringBuffer、StringBuilder
尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...
- Linux Kernel 0.12 启动简介,调试记录(Ubuntu1804, Bochs, gdb)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Tomcat8弱口令+后台getshell
漏洞原因 用户权限在conf/tomcat-users.xml文件中配置: <?xml version="1.0" encoding="UTF-8"?&g ...
- rest framework ViewSet
ViewSets 路由选择确定要用于一个请求哪个控制器之后,控制器负责做出请求的感并产生相应的输出. - Ruby on Rails的文档 Django的REST框架允许你的逻辑一组在一个类中的相关意 ...
- C# 应用 - 封装类访问 Oracle 数据库
1. 引入库类 Oracle.ManagedDataAccess.dll using Oracle.ManagedDataAccess.Client; 2. 粗暴封装 namespace xx { p ...
- python 常用库收集
读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...
- GUI编程学习笔记——day01
GUI编程 前言:告诉大家应该怎么学? 这是什么? 它怎么玩? 该如何在我们平时运用? 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 一.是什么 GUI是图形 ...
- python基础之赋值运算
之前的文章说明了变量的三大组成部分,详细说明了变量名与变量值,但是对于赋值这一块介绍相对较少,今天就来对这一部分进行补充,除了egon老湿所讲之外,本喵还参阅了<python3-cookbook ...
- Android Studio中批量注释 Java代码
•ctrl+/ 选中需要注释的多行代码,然后按 ctrl + / 实现多行快速注释: 再次按下 ctrl + / 取消注释. •ctrl+shift+/ 选中一行或几行代码,按 ctrl + shif ...
- Kubernetes使用metric-server让HPA弹性伸缩运行
监控架构概述 kubernetes监控指标大体可以分为两类:核心监控指标和自定义指标,核心监控指标是kubernetes内置稳定可靠监控指标,早期由heapster完成,现由metric-server ...