码迷,mamicode.com
首页 > 其他好文 > 详细

CNN基础知识

时间:2018-10-12 14:13:52      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:filter   也有   机器   weight   一个   降维   需要   缺点   work   

CNN - Convolutional Neural Networks

是近些年在机器视觉领域很火的默许部分,最先由Yan Lecun提出。

如果想学细节 可看Li Feifei CS231n课程

如何工作?

给一张图片,每个圆负责处理图片的一部分。

这些圆就组成了一个filter。

filter可以识别图片中是否存在指定的pattern,以及在哪个区域存在。

技术分享图片

下图中有4个filter,同一种颜色的filter的不同点负责图片不同的区域。

技术分享图片

神经元利用convolution的技术查找pattern,简单地理解就是用filter的形式去查找图片是否具有某种pattern。

技术分享图片

weights和bias对模型的效果起着重要的作用。

把白圆圈换成神经元,就是CNN的样子。

技术分享图片

Convolution层的神经元之间没有联系,它们各自都只连接inputs。

技术分享图片

同一层的神经元用相同的weights和bias,这样同一层的神经元就可以抓取同样的pattern,只不过是在图片上的不同的区域。

技术分享图片

接下来是ReLU(Rectified Linear Unit)层和Pooling层,它们用来构建由convolution层找到的pattern。

CNN也用Back propagation训练,所以也有vanishing gradient的可能。而ReLU作为激活函数的话,gradients会大体保持常值的样子,这样就不会在关键的那几层有很明显的下降。

Pooling层是用来降维的。

经过convolution的ReLU的作用后,会有越来越复杂的形式,所以Pooling层负责提取出最重要的pattern,进而提高时间空间的效率。

技术分享图片

这三层可以提取出有用的pattern,但它们并不知道这些pattern是什么。

所以接着是Fully Connected层,它可以对数据进行分类。

技术分享图片

一个典型的Deep CNN由若干组 Convolution-ReLU-Pooling层组成。

技术分享图片

但CNN也有个缺点,因为它是监督式学习,所以需要大量的有标签的数据。 

CNN基础知识

标签:filter   也有   机器   weight   一个   降维   需要   缺点   work   

原文地址:https://www.cnblogs.com/Vancuicide/p/9777294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!