文档章节

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

o
 osc_gu9d45li
发布于 2019/04/10 19:39
字数 2035
阅读 15
收藏 0

精选30+云产品,助力企业轻松上云!>>>

李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube、网易云课堂、B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对这些知识内容的理解与补充。(本笔记配合李宏毅老师的视频一起使用效果更佳!)


Lecture 7: CNN

目录

一、CNN的引入

二、CNN的层次结构

三、CNN的小Demo加深对CNN的理解

四、CNN的特点

 

在学习本节课知识之前,先让我们来了解一下有关CNN的知识,让我们对CNN有一个大概的认知。卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一,被大量应用于计算机视觉、图片处理等领域。在CNN中,卷积层的神经元只与前一层的部分神经元节点相连,即它的神经元间的连接是非全连接的,且同一层中某些神经元之间的连接的权重 和偏移 是共享的(即相同的),这样大量地减少了需要训练参数的数量。

卷积神经网络CNN的结构一般包含这几个层:

输入层:用于数据的输入

卷积层:使用卷积核进行特征提取和特征映射

激励层:由于卷积也是一种线性运算,因此需要增加非线性映射

池化层:进行下采样,对特征图稀疏处理,减少数据运算量。

全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失

输出层:用于输出结果

以上是最主要的层次结构,当然中间还可以使用一些其他的功能层:

归一化层(Batch Normalization):在CNN中对特征的归一化

切分层:对某些(图片)数据的进行分区域的单独学习

融合层:对独立进行特征学习的分支进行融合


接下来就进入我们的正题!

一、看完上面的介绍,肯定有人会有一下的疑问:

为什么CNN对图片处理有那么好的效果呢?

计算机又是如何识别我们人工输入的图片呢?

机器识图的过程:机器识别图像并不是一下子将一个复杂的图片完整识别出来,而是将一个完整的图片分割成许多个小部分,把每个小部分里具有的特征提取出来(也就是识别每个小部分),再将这些小部分具有的特征汇总到一起,就可以完成机器识别图像的过程了。

Why CNN for Image:CNN与全连接神经网络相比,其所用的参数少的多,那为什么CNN能够做到用更少的参数作图像处理反而得到更好的表现结果呢?这是因为图像具有以下三点特征: 

(1)一些模式比整张图片小得多,例如“鸟喙”就比整张图片小得多;

(2)同样的模式可能出现在图像的不同区域,例如“鸟喙”可能出现在图片的左上方也可能出现在图像的中间;

(3)对图像的降采样不会改变图像中的物体。

CNN的卷积层的设计对应着前两点,池化层的设计对应着第三点。

 

 

 

 

二、CNN的层次结构

 1.卷积层

卷积说白了其实就是一种神经网络的连接方式,就是因为这种卷积的方式,才使得CNN的参数要比全连接神经网络的参数少得多。

(1)对于黑白,通道数为1的图片,卷积方式如下:

(2)对于彩色,通道数为3的图片

 

具体卷积过程(能帮助你更好的理解):http://cs231n.github.io/assets/conv-demo/index.html

(3)卷积和全连接方式的对比,体现出利用卷积的连接方式比全连接方式所需的参数更少。

接下来,让我们换个角度去看待卷积的连接方式

 (4)卷积层和激励层通常合并在一起称为“卷积层”

激励层主要对卷积层的输出进行一个非线性映射,然后把映射结果输入到池化层,因为卷积层的计算还是一种线性计算。使用的激励函数一般为ReLu函数:卷积层和激励层通常合并在一起称为“卷积层”。

2.池化层

池化层又称下采样,它的作用是减小数据处理量同时保留有用信息

当输入经过卷积层时,若感受视野比较小,布长stride比较小,得到的feature map (特征图)还是比较大,可以通过池化层来对每一个 feature map 进行降维操作,输出的深度还是不变的,依然为 feature map 的个数。

池化层也有一个“池化视野(filter)”来对feature map矩阵进行扫描,对“池化视野”中的矩阵值进行计算,一般有两种计算方式:

  • Max pooling:取“池化视野”矩阵中的最大值
  • Average pooling:取“池化视野”矩阵中的平均值

以Max pooling为例,见下图:

3.全连接层

作用:把所有局部特征结合变成全局特征,用来计算最后每一类的得分

换句话说全连接层就是把卷积层和池化层的输出展开成一维形式,在后面接上与普通网络结构相同的回归网络或者分类网络,一般接在池化层后面,如图所示;

4.输出层

输出层就不用介绍了,就是对结果的预测值,一般会加一个softmax,其损失函数一般为cross entropy

三、了解了CNN的层级结构,现在让我们通过一个Demo加深对CNN的理解

CNN作用于手写数字识别,有关这个Demo我博客有一篇有详细的介绍,欢迎跳转浏览。

四、CNN的主要特点

这里主要讨论CNN相比与传统的神经网络的不同之处,CNN主要有三大特色,分别是局部感知、权重共享和多卷积核

 1.局部感知

局部感知就是我们上面说的感受野,实际上就是卷积核和图像卷积的时候,每次卷积核所覆盖的像素只是一小部分,是局部特征,所以说是局部感知。CNN是一个从局部到整体的过程(局部到整体的实现是在全连通层),而传统的神经网络是整体的过程。具体如下图所示

2.权重共享

传统的神经网络的参数量是非常巨大的,比如1000X1000像素的图片,映射到和自己相同的大小,需要(1000X1000)的平方,也就是10的12次方,参数量太大了,而CNN除全连接层外,卷积层的参数完全取决于滤波器的设置大小,比如10x10的滤波器,这样只有100个参数,当然滤波器的个数不止一个,也就是下面要说的多卷积核。但与传统的神经网络相比,参数量小,计算量小。整个图片共享一组滤波器的参数。

3.多卷积核

一种卷积核代表的是一种特征,为获得更多不同的特征集合,卷积层会有多个卷积核,生成不同的特征,这也是为什么卷积后的图片的高,每一个图片代表不同的特征。

 

 

参考资料:https://blog.csdn.net/soulmeetliang/article/details/73188417

     https://blog.csdn.net/xzy_thu/article/details/69808817

 


以上就是有关CNN的基础知识介绍,欢迎交流

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
内容索引

基础论文学习相关 VGG 论文研读 GoogLeNetv1 论文研读笔记 GoogLeNetv2 论文研读笔记 GoogLeNetv3 论文研读笔记 ResNet 论文研读笔记 GoogLeNetv4 论文研读笔记 DenseNet 论文阅读笔记 论文研...

osc_9sai706y
2019/09/27
1
0
【笔记】机器学习 - 李宏毅 - 汇总

学习笔记: 章节 简介 1 - Introduction & next step 机器学习介绍 & 机器学习下一步 2 - Regression + Demo 回归 & 示例代码 3 - Bias & Variance 偏差和方差 4 - Gradient Descent 梯度下降...

osc_sgztt2v6
2019/07/31
3
0
一文读懂卷积神经网络CNN(学习笔记)

来源:机器学习算法与自然语言处理 作者:白雪峰 本文为图文结合,建议阅读10分钟。 本文为大家解读如何简单明了的解释卷积,并且分享了学习中的一些方法案例。 首先文章的提纲为: CNN栗子镇...

tmb8z9vdm66wh68vx1
2017/12/29
0
0
深度学习进程

纯属个人计划!!!! 一、编程基础:Python 推荐书籍: 学习要点: 二、图像处理:Python-OpenCV 推荐书籍:OpenCV 3计算机视觉 Python语言实现(第二版) 学习要点: 1、OpenCV的安装 2、使用...

万三豹
03/31
0
0
原创 | 深度学习60讲453页pdf下载

关注公众号 后台回复 深度学习 即可下载深度学习60讲 作者简介 机器学习实验室的号主作为一名统计专业的硕士毕业生,一路从数据分析师进阶到深度学习算法工程师。现于杭州一家AI初创公司担任...

3D视觉工坊
06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

科技人文丨玻璃心:承受阈值与表达

大家好,我是SKODE。 有趣的灵魂,聊科技人文。 本系列博客地址:传送门 本文转载自B站:安慰记传送门 玻璃心是网络用语,意思是: 对负面事件的接受度很低 还有对别人可能给出的负面评价非常...

osc_u9mt0sus
37分钟前
20
0
迅睿CMS 游客不允许上传附件

游客不允许上传附件 迅睿CMS系统:https://www.xunruicms.com/ 本文档原文地址:https://www.xunruicms.com/doc/752.html...

迅睿CMS-PHP开源CMS程序
37分钟前
7
0
代理,注解,接口和实现类的小测验

* retention : 保留* policy : 策略 ps : 简单测试了一下手写代理,jdk动态代理,和cglib动态代理,根据其不同的结果分析其原理 一:测试目的 主要想看一下不同的代理模式对于目标类中方法上注...

岁一
38分钟前
12
0
V-Ray 5 For 3ds Max 正式发布:超越渲染 - 知乎

15个新功能,V-Ray5助你时间更节省,渲染更出色! 作者:ChaosGroup VRay 5 For 3ds Max 已正式发布! 2分钟视频,抢先预览新功能↓ 知乎视频 www.zhihu.com V-Ray 5 for 3ds Max 新增功能 ...

osc_o9u1um45
38分钟前
0
0
毕业的笑容和悲伤永远是校园的回忆

校园的风轻轻的拂过我的脸庞,风儿显得更加凉爽, 开满火红的凤凰树,染遍了校园的每个角落, 晚上那枝头蝉儿的竞相鸣奏,唱满了令人不舍的毕业歌, 它们彷彿告诉了我们要毕业了。 毕业典礼那...

瑾123
39分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部