是近些年在机器视觉领域很火的模型,最先由 Yan Lecun 提出。
如果想学细节可以看 Andrej Karpathy 的 cs231n 。

How does it work?

给一张图片,每个圆负责处理图片的一部分。
这些圆就组成了一个 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也有个缺点,因为它是监督式学习,所以需要大量的有标签的数据

最新文章

  1. NLog配置文件根节点
  2. Android Studio教程--给Android Studio安装Genymotion插件
  3. CoordinatorLayout自定义Bahavior特效及其源码分析
  4. Solr的函数查询(FunctionQuery)
  5. Android 网络编程--URL互联网资源
  6. HDU 3397 Sequence operation (区间合并,操作比较多)
  7. 对于观察者模式,Reactor模式,Proactor模式的一点理解
  8. HDU-4619 Warm up 2 二分匹配
  9. J - Air Raid - hdu 1151(最小边覆盖)
  10. [转]Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
  11. Ubuntu kylin 有可能成为未来中国的主流系统吗?
  12. 教你怎么样在大陆直接使用google搜索
  13. 点击a标签实现txt文件另存的效果
  14. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂
  15. loading加载动画效果js实现
  16. log4j2自定义Appender(输出到文件/RPC服务中)
  17. DBN 大作业
  18. VMware Ubuntu如何连接互联网
  19. 如何在Windows Server 2003搭建Windows+iis+asp+access环境
  20. dxf cad dwg 文件读写,支持跨平台移植 库

热门文章

  1. Ubuntu win8 小设备版本
  2. 如何把数值或者对象添加到ArrayList集合
  3. Redis详解入门篇(转载)
  4. sublime 自定义快捷生成代码块
  5. [SPOJ1716] GSS3 - Can you answer these queries III
  6. WebService学习总结(6)——WebService常用接口
  7. Virtual address cache memory, processor and multiprocessor
  8. Spring自带字符编码过滤器
  9. exceptional c++ 读书笔记 一 . vector 的使用
  10. 大菲波数 【杭电-HDOJ-1715】 附题+具体解释