Concolutional Neural Networks(CNN)同样使用三层结构,但结构上同Feedforward Neural Network有很大不同,其结构如下图:

Input layer: 对单张图片来说,输入数据是3D的(Width*Length*Depth),见下方的立体图。但如果我们使用mini-batch去训练神经网络的话,则input变为了4D数据(Width*Length*Depth*Batch_size)。

Feature-extraction layers:Convolution layer(+Relu)和Pooling layer成对出现,进行高阶映射和特征提取。如下图所示,对于单张图片(3D data)来说,使用Filter(也叫Kernel,可以看成是一个Sliding Window,一般尺寸比数据要小)去扫描该图片并做卷积。通常情况下,从input volumn到Convolutional Layer,数据的Width和Length有了少许的减少,而the 3rd Dimension Depth,则被扩张了,因为有多个Kernels。在中间的过程中,可以看到经过Filter以后,depth变成了6,证明有6个Filter,将原先Depth=3扩展到了6。而后通过pooling layer,Width和Length又被进一步压缩,在这里一般使用Average,或者Maximum去压缩。

Classification layer:在最终输出层之前,会有一个Fully-connected layer,形式和Feedfoward Neural Network的Hidden layer是一样的,与前一Pooling layer的Neurons做全连接,与输出层的Output nodes也做全连接,一层或多层根据需要。

Output layer:用Softmax输出概率或根据需要输出其他形式。如果使用了Mini batch,则输出是2D的(Probabilities*Batch_size)。

实际工作流程,可以用下例来说明:

a. Input是32*32的(depth=1)

b.在Layer1中有6个kernel,Convolution之后有6个28*28的Activation Map,经过Pooling(Subsample)四选一之后,变成了6*14*14.

c.Layer2中有16个kernel,Convolution之后有16个10*10的Activation Map,经过Pooling(Subsample)四选一之后,变成了16*5*5.

d.C5是含有120个neurons的全连接层,F6是输出层

Convolutional Neural Networks(1): Architecture的更多相关文章

  1. A Beginner's Guide To Understanding Convolutional Neural Networks(转)

    A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural ...

  2. (转)A Beginner's Guide To Understanding Convolutional Neural Networks

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  3. 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

    Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理 ...

  4. 卷积神经网络Convolutional Neural Networks

    Convolutional Neural Networks NOTE: This tutorial is intended for advanced users of TensorFlow and a ...

  5. 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks

    This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...

  6. [转] Understanding Convolutional Neural Networks for NLP

    http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/ 讲CNN以及其在NLP的应用,非常 ...

  7. (zhuan) Building Convolutional Neural Networks with Tensorflow

    Ahmet Taspinar Home About Contact Building Convolutional Neural Networks with Tensorflow Posted on a ...

  8. [转]An Intuitive Explanation of Convolutional Neural Networks

    An Intuitive Explanation of Convolutional Neural Networks https://ujjwalkarn.me/2016/08/11/intuitive ...

  9. Understanding Convolutional Neural Networks for NLP

    When we hear about Convolutional Neural Network (CNNs), we typically think of Computer Vision. CNNs ...

随机推荐

  1. python学习第四十四天斐波那契数列和yield关键词使用

    斐波那契数列是数学中的常见的算法,第一个第二个不算,从第三个开始,每个数的都是前面两个数的和,使用yield关键词把生成的数列保存起来,调用的时候再调用,下面举例说明一下 def fab(max): ...

  2. POJ3321[苹果树] 树状数组/线段树 + dfs序

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:39452   Accepted: 11694 Descr ...

  3. BUUCTF--rsa

    测试文件:https://buuoj.cn/files/ed10ec009d5aab0050022aee131a7293/41c4e672-98c5-43e5-adf4-49d75db307e4.zi ...

  4. 初学Java 数组统计字母

    public class CountLetterInArray { public static void main(String[] args) { char[] chars = createArra ...

  5. MYSQL学习笔记——常用语句

    1.检索数据 1.1.检索单个列:SELECT prod_name FROM products; 1.2.检索多个列:SELECT prod_id, prod_name, prod_price FRO ...

  6. 03机器学习实战之决策树scikit-learn实现

    sklearn.tree.DecisionTreeClassifier 基于 scikit-learn 的决策树分类模型 DecisionTreeClassifier 进行的分类运算 http://s ...

  7. 14DBCP连接池

    实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样我们就不需要每次都创建连接.释放连接了,这些操作 ...

  8. git Octotree:提供项目目录,方便用户在线快速浏览项目结构【转载】

    很好奇的是,GitHub 作为代码托管平台,竟然没有提供项目目录,方便用户在线快速浏览项目结构.所以,在线分析项目源码就会变得很繁琐,必须一层一层点击,然后再一次一次地向上返回.要知道,本来 GitH ...

  9. alert(1) to win 8

    function escape(s) { return '<script>console.log("' + s.toUpperCase() + '")</scri ...

  10. Tenka1 Programmer Contest C - Align

    链接 Tenka1 Programmer Contest C - Align 给定一个序列,要求重新排列最大化\(\sum_{i=2}^{i=n} |a_i-a_{i-1}|\),\(n\leq 10 ...