卷积神经网络 一般性结构卷积核个数和 输入输出的关系以及输入输出的个数的说明:

以cifar-10为例:

Initialized data layer 'data', producing3072 outputs
Initialized data layer 'labels', producing1 outputs
Initialized convolutional layer 'conv1',producing 32x32 64-channel output
Initialized max-pooling layer 'pool1',producing 16x16 64-channel output
Initialized cross-mapresponse-normalization layer 'rnorm1', producing 16x16 64-channel output
Initialized convolutional layer 'conv2',producing 16x16 64-channel output
Initialized cross-map response-normalizationlayer 'rnorm2', producing 16x16 64-channel output
Initialized max-pooling layer 'pool2',producing 8x8 64-channel output
Initialized locally-connected layer'local3', producing 8x8 64-channel output
Initialized locally-connected layer'local4', producing 8x8 32-channel output
Initialized fully-connected layer 'fc10',producing 10 outputs
Initialized softmax layer 'probs',producing 10 outputs
Initialized logistic regression cost'logprob'
Initialized neuron layer 'conv1_neuron',producing 65536 outputs
Initialized neuron layer 'conv2_neuron',producing 16384 outputs
Initialized neuron layer 'local3_neuron',producing 4096 outputs
Initialized neuron layer 'local4_neuron',producing 2048 outputs

1、卷积说明:

输入是3个32*32, 共3*1024=3072。每条边padding为2,则内存里实际为3个36*36.

卷积核个数是3维的5*5分别与3个输入进行卷积运算,得到3维的32*32的输出,这里将3维的32*32相应位相加得到一张32*32的feature Map

假设有64个3维的5*5卷积核就有64张feature Map

详细过程图示为:

卷积的权值存取方式为:

第一个5*5作用于第一张输入全图,

第二个5*5作用于第二张输入全图,

第三个5*5作用于第三张输入全图,

再把这三个相应位置相加,在加上biases,得到第一张feature map

最后64个5*5*3反复上面的过程,得到64个featuremap

这里weights有3*5*5*64个,biases有64个.

这里输入是3 输出是64,卷积核是5*5权值个数是64* 5*5*3

2、local层说明:

输入是8x8  64-channel output 。每条边padding为1,则内存里实际为64个10*10.

卷积核个数是8*8个的3*3的卷积核分别与单一的一个输入相应位置卷积,得到1个8*8的中间输出O1。这里将8*8个的3*3作用于单一单张输入O1的卷积核组称为A。

如今64维的A分别作用于64个输入,将得到64个中间输出O2(就是64个O1),这里将64维的O2相应位相加得到一张8*8的feature Map。这里将64维的A称作B。

假设有64个B就有64张feature Map,就是终于的输出。

Local层和conv层的差别就在于local的单一输入的feature Map不共享卷积核。而conv是共享卷积核的,所以local比conv多了在单一输入的卷积核。

权值存取方式说明:

每一列是64*3*3*8*8=36864;将一列分成64份:每一份就是64*3*3.一份相应输出的一个pixel.

前64*3*3个权值怎么计算的呢:

64个3*3与64个输入的左上角3*3分别卷积,就是第一个3*3与第一个输入的左上角卷积,第二个3*3与第二个输入的左上角卷积,。。。得到64个值,然后这64个值相加再加biases就是第一个输出的左上角的值.



cuda-convnet 卷积神经网络 一般性结构卷积核个数 和 输入输出的关系以及输入输出的个数的说明:的更多相关文章

  1. [CLPR] 卷积神经网络的结构

    本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi ...

  2. 深度学习-使用cuda加速卷积神经网络-手写数字识别准确率99.7%

    源码和运行结果 cuda:https://github.com/zhxfl/CUDA-CNN C语言版本参考自:http://eric-yuan.me/ 针对著名手写数字识别的库mnist,准确率是9 ...

  3. 卷积神经网络概念及使用 PyTorch 简单实现

    卷积神经网络 卷积神经网络(CNN)是深度学习的代表算法之一 .具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”.随着深度学习理论的提出和数值计算设备 ...

  4. 卷积神经网络(CNN,ConvNet)

    卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...

  5. CS231n课程笔记翻译9:卷积神经网络笔记

    译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客和猴子翻译完成,堃堃和李艺颖进行校对修改. 原文如下 内容列 ...

  6. 【cs231n】卷积神经网络

    较好的讲解博客: 卷积神经网络基础 深度卷积模型 目标检测 人脸识别与神经风格迁移 译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权 ...

  7. 第二次作业:卷积神经网络 part 1

    第二次作业:卷积神经网络 part 1 视频学习 数学基础 受结构限制严重,生成式模型效果往往不如判别式模型. RBM:数学上很漂亮,且有统计物理学支撑,但主流深度学习平台不支持RBM和预训练. 自编 ...

  8. 神经网络:卷积神经网络CNN

    一.前言 这篇卷积神经网络是前面介绍的多层神经网络的进一步深入,它将深度学习的思想引入到了神经网络当中,通过卷积运算来由浅入深的提取图像的不同层次的特征,而利用神经网络的训练过程让整个网络自动调节卷积 ...

  9. TensorFlow 实战之实现卷积神经网络

    本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.相关性概念 1.卷积神经网络(ConvolutionNeu ...

随机推荐

  1. 1、ListView自定义控件下拉刷新(一)

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo ...

  2. (原创)LAMP教程4-用VirtualBox安装64位的centos6.4

    (原创)LAMP教程4-用VirtualBox安装64位的centos6.4 好的,今天就要开始正式的讲一些有营养的东西了,是的,没有错就是讲如何用VirtualBox安装64位的centos6.4 ...

  3. IOS init initWith 等相关集中

    1.initWithCoder    当一个view从nib初始化的时候,会调用这个函数.  用keyedArchiver序列化一个类的实力,后面用keyedUnArchiver拿回来的时候会调用到 ...

  4. NiuTrans 日记 1

    这些天把东北大学自然语言实验室的NiuTrans 系统搭建并按照例子将短语系统运行了一遍,写这个日记主要是为了以后能提醒自己在这其中遇到的问题. 环境:短语系统我是windows和linux都运行了, ...

  5. Redrain个人维护并使用的DuiLib和UiLib库源码下载地址

    转载请说明原出处:http://blog.csdn.net/zhuhongshu/article/details/40740353,谢谢~~ 我把我自己使用的Duilib库和Uilib库都上传到了Gi ...

  6. 基本输入输出系统BIOS---键盘输入

    基本输入输出系统BIOS概述 硬盘操作系统DOS建立在BIOS的基础上,通过BIOS操纵硬件,例如DOS调用BIOS显示I/O程序完成输入显示,调用打印I/O完成打印输出 通常应用程序应该调用DOS提 ...

  7. js变量申明提前及缺省参数

    现在最先的行为准则:js变量申明必须带var:然后开始随笔: 函数中的变量申明在编译的时候都会提到函数开头. 例如: function foo(){ console.log('some code he ...

  8. 现代程序设计——homework-09

    Lambda表达式 // homework-09.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream ...

  9. homework6-更加简单的题目

    又把时间搞错了 以为这次要写客户端程序的博客 没想到这次是“怎么吃” 言归正传 cnblog上面有很多技术博客 http://perhaps.cnblogs.com/archive/2005/08/0 ...

  10. Struts2通配符映射

    1.一个Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 2.通配符映射规则 –若找到多个匹配, 没有通配符的 ...