CNN基础知识

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也有个缺点,因为它是监督式学习,所以需要大量的有标签的数据。 

转载于:https://www.cnblogs.com/Vancuicide/p/9777294.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值