[CLPR] 卷积神经网络的结构
本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi
正如前文所述, 程序并未实现一个通用神经网络, 也并非一个神经网络开发环境. 它其实是一个非常特殊的网络, 一个5层卷积神经网络. 输入层接收 29x29 的灰度手写数字图片, 输出层由10个神经元组成, 判断结果对应的神经元输出1, 其余输出-1(理想).
CNN是基于"权值共享"的NN. 主要思想是使用一个小的核窗, 它在前一层的神经元上移动. 在本实现中, 我使用的是5x5的尺寸. 核中的每个元素都有一个独立于其他元素的权值. 所以共有25个权值(外加1个偏置). 这个核被前一层的所有神经元共享.
图例和说明.
下图是CNN的一个图示:

输入层(#0) 是灰度图像. MNIST图像库中的图像是28x28, 但基于Simard在"Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis," 中的描述, 图片尺寸被放大为29x29. 所以输入层共有841个神经元.
层#1 是一个卷积层, 拥有6个特征图, 每个特征图的尺寸为13x13 像素/神经元. 特征图中的每个神经元都是一个输入层的5x5的卷积核, 但输入层中的像素每隔一个就被跳过. 结果就是每行每列均有(29-5)/2 + 1 = 13个卷积中心. 所以层#1共有13*13*6 = 1014个神经元和(5x5 +1) * 6 = 156个权值.
另外, 每个神经元都有26个连接(5x5+1), 所以共有1014*26 = 26364个连接. 共享权值的好处在此处显现: 因为权值是共享的, 尽管有26364个连接, 只需要控制156个权值即可. 如果是全连接的网络, 则有大量的权值需要训练.
层#2 也是卷积层, 但有50个特征图, 每个特征图都是5x5的. 所以共有5x5x50 = 1250个神经元, (5x5+1)*6*50 = 7800个权值, 1250x26 = 32500个连接.
在介绍层#3前, 我们需要再讲解一些网络的结构, 特别是层#2. 正如上文提及, 每一个层#2中的特征图都连接到前一层的6个特征图. 这是一个设计选择, 但并非唯一的选择. 我认为, 设计是和Simard博士的设计相同的. 但和LeCun博士的设计不同. LeCun博士有意地没有把层#2的每个特征图都和前一层的所有特征图连接起来, 而是选择性地连接到前一层的某一些特征图上.
层#3 和 层#4 是全连接的层.
本实现的层#4和LeCun博士的不同, 他使用的是RBF网络, 但出于简洁和易于实现的目的, 我选择的是Simard的结构.
[CLPR] 卷积神经网络的结构的更多相关文章
- cuda-convnet 卷积神经网络 一般性结构卷积核个数 和 输入输出的关系以及输入输出的个数的说明:
卷积神经网络 一般性结构卷积核个数和 输入输出的关系以及输入输出的个数的说明: 以cifar-10为例: Initialized data layer 'data', producing3072 ou ...
- 神经网络:卷积神经网络CNN
一.前言 这篇卷积神经网络是前面介绍的多层神经网络的进一步深入,它将深度学习的思想引入到了神经网络当中,通过卷积运算来由浅入深的提取图像的不同层次的特征,而利用神经网络的训练过程让整个网络自动调节卷积 ...
- Tensorflow之卷积神经网络(CNN)
前馈神经网络的弊端 前一篇文章介绍过MNIST,是采用的前馈神经网络的结构,这种结构有一个很大的弊端,就是提供的样本必须面面俱到,否则就容易出现预测失败.如下图: 同样是在一个图片中找圆形,如果左边为 ...
- 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
一.CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二.LeNet-5网络 输入尺寸:32 ...
- 深度学习之卷积神经网络(CNN)
卷积神经网络(CNN)因为在图像识别任务中大放异彩,而广为人知,近几年卷积神经网络在文本处理中也有了比较好的应用.我用TextCnn来做文本分类的任务,相比TextRnn,训练速度要快非常多,准确性也 ...
- 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇
[原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...
- 【Python】keras卷积神经网络识别mnist
卷积神经网络的结构我随意设了一个. 结构大概是下面这个样子: 代码如下: import numpy as np from keras.preprocessing import image from k ...
- 卷积神经网络(CNN)在语音识别中的应用
前言 总结目前语音识别的发展现状,dnn.rnn/lstm和cnn算是语音识别中几个比较主流的方向.2012年,微软邓力和俞栋老师将前馈神经网络FFDNN(Feed Forward Deep Neur ...
随机推荐
- SQL学习笔记之MySQL查询练习2
(网络搜集) 0x00 数据准备 CREATE TABLE students (sno ) NOT NULL, sname ) NOT NULL, ssex ) NOT NULL, sbirthday ...
- bzoj1628 [Usaco2007 Demo]City skyline(单调栈)
Description Input 第一行给出N,W 第二行到第N+1行:每行给出二个整数x,y,输入的x严格递增,并且第一个x总是1 Output 输出一个整数,表示城市中最少包含的建筑物数量 Sa ...
- # 20145106 《Java程序设计》第4周学习总结
教材学习内容总结 翻开第六章的书,发现书中的例子居然是"假设我正在开发一款rpg游戏" public class Magician extends Role { public vo ...
- usb_submit_urb
hub_irq() --> usb_submit_urb() usb_start_wait_urb() --> usb_submit_urb() 一旦urb被USB驱动程序正确地创建和初始 ...
- Java Minor GC和FullGC
Minor GC触发条件:当Eden区满时,触发Minor GC. Full GC触发条件: 调用System.gc时,系统建议执行Full GC,但是不必然执行 老年代空间不足 方法去空间不足 通过 ...
- STL空间配置器那点事
STL简介 STL(Standard Template Library,标准模板库),从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其 ...
- UVA-1614 Hell on the Markets(贪心+推理) (有待补充)
题目大意:一个整数序列a,1≤a[i]≤i.问能否通过在一些元素前加上负号,使得整个序列和为0. 题目分析:贪心.贪心策略:每次都先选最大的元素加负号(或保留,不加负号). 贪心依据:对于1≤a[i] ...
- Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)
--20170322 --1.0 --更新表的统计信息begin dbms_stats.set_table_stats(user,'EMP',numrows => 10000);end; beg ...
- socket中 emit和on的写法
socket.emit('action');表示发送了一个action命令,命令是字符串的,在另一端接收时,可以这么写: socket.on('action',function(){...});soc ...
- ubuntu16.04 NVIDIA CUDA8.0 以及cuDNN安装
下载CUDA 官网下载按照自己的实际情况进行选择,下载合适的版本. 官方安装指南 注意这里下载的是cuda8.0的runfile(local)文件. 安装CUDA 下载完成后,解压到当前目录,切换到该 ...