(注:本文用TensorFlow构造CNN进行手写数字识别,TensorFlow的配置参考博客:https://blog.youkuaiyun.com/ZSZ_shsf/article/details/78159883)
卷积神经网络(CNN)原理
一、概述
卷积神经网络(Convolutional Neural Networks / CNNs / ConvNets)与普通神经网络非常相似,它们都由具有可学习的权重和偏置常量(biases)的神经元组成。每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,普通神经网络里的一些计算技巧到这里依旧适用。
卷积神经网络默认输入是图像,可以让我们把特定的性质编码入网络结构,使是我们的前馈函数更加有效率,并减少了大量参数。
具有三维体积的神经元(3D volumes of neurons)
卷积神经网络利用输入是图片的特点,把神经元设计成三个维度 : width, height, depth(注意这个depth不是神经网络的深度,而是用来描述神经元的) 。比如输入的图片大小是 32 × 32 × 3 (rgb),那么输入神经元就也具有 32×32×3 的维度。下面是图解:
传统神经网络
卷积神经网络
一个卷积神经网络由很多层组成,它们的输入是三维的,输出也是三维的,有的层有参数,有的层不需要参数。
二、CNN的层次结构
minst数据库分析
一、介绍
该数据集包含60,000个用于培训的示例和10,000个用于测试的示例。 这些数字已经标准化,并以固定大小的图像(28x28像素)为中心,其值为0到1.为简单起见,每个图像都被展平并转换为784个特征(