LeNet网络结构

用随机的共享的卷积核得到像素点的加权和从而提取到某种特定的特征,然后用反向传播来优化卷积核参数就可以自动的提取特征,是CNN特征提取的基石。

基础知识

在这里插入图片描述全连接的权值数:4x4x4=64(4个神经元,每个神经元都有4x4个不同的权值,这里先不考虑偏置值)

局部连接:一个神经元只于图片中的部分像素点有关系,即一个神经元连接部分像素点。

只局部连接不权值共享的权值数:4x4=16(4个神经元,每个神经元都有4个不同的权值)

权值共享 w 1 , w 2 , w 3 , w 4 w_1,w_2,w_3,w_4 w1,w2,w3,w4是其中一个神经元的是4个权值,所谓权值共享,就是其他神经元的权值也使用这四个值。

局部连接和权值共享的权值数: 4(每个神经元都是相同的4个权值)



在这里插入图片描述上图包含输入层总共8层网络,分别为:

输入层(INPUT)、卷积层(Convolutions,C1)、池化层(Subsampling,S2)、卷积层(C3)、池化层(S4)、卷积层(C5)、全连接层(F6)、输出层(径向基层)

输入层(INPUT):

输入的手写体是32x32像素的图片,在论文里说输入像素的值背景层(白色)的corresp值为-0.1,前景层(黑色)的corresp值为 1.175。这使得平均输入大约为0,而方差大约为1,从而加速了学习,要求手写体应该在中心,即20x20以内。

卷积层(Convolutions,C1): 通过卷积运算,可以使原信号特征增强,并且降低噪音

特征平面的概念:
我们从上图可以看到有6个特征平面(这里不应该称为卷积核,卷积核是滑动窗口,通过卷积核提取特征的结果叫特征平面,特征平面的个数与卷积核的个数一致),得到的每个特征平面使用的一个5x5的卷积核(这里说明窗口滑动的权值就是卷积核的内容,这里需要注意的是特征平面有6个说明有6个不同的卷积核,因此每个特征平面所使用的权值都是一样的,这样就得到了特征平面)。

那么特征平面有多少神经元呢?32x32通过一个5x5的卷积核运算,根据局部连接和平滑,需要每次移动1,因此从左移动到右时是28,因此特征平面是28x28的,即每个特征平面有28x28个神经元。6个特征平面对应6个不同的卷积核或者6个滤波器,每个滤波器的参数值也就是权值都是一样的,这样的平面有6个,即卷积层有6个特征平面。

现在我们计算一下该层总共有多少个连接,有多少个待训练的权值呢?

连接数,首先每个卷积核是5x5的,每个特征平面有28x28的神经元(每个神经元对应一个偏置值),总共有6个特征平面,因此连接数为:(5x5+1)x28x28x6 = 122304。

权值数,首先每个特征平面神经元共用一套权值,而每套权值取决于卷积核的大小,因此权值数为:(5x5+1)x6 = 156个

池化层(Subsampling,S2): 降低数据维度,只改变H、W,不改变C

池化层又叫下采样层,目的是压缩数据,降低数据维度,池化和卷积有明显的区别,这里采样2x2的选择框进行压缩,如何压缩呢,通过选择框的数据求和再取平均值然后在乘上一个权值和加上一个偏置值,组成一个新的图片,每个特征平面采样的权值和偏置值都是一样的,因此每个特征平面对应的采样层只两个待训练的参数。如下图4x4的图片经过采样后还剩2x2,直接压缩了4倍。本层具有激活函数,为sigmod函数,而卷积层没有激活函数。
S2层有12个可训练参数和5880个连接

卷积层(C3):

这一层也是卷积层,和C2不同的是这一层有16个特征平面,那么16个特征平面是如何和上一层池化层是如何对应的呢?这里的16个特征平面是这样对应的,每个特征平面对应的卷积核,和池化层的多个平面进行卷积。这里把C3的卷积层特征平面编号即0,1,2,…,15,把池化层S2也编号为0,1,2,3,4,5.这两层具体如何对应呢?如下图
在这里插入图片描述上面说了,C3层和S2的对应关系和前面不一样,主要体现在C3的每一个特征平面是对应多个池化层的采样数据,如上图,横向的数表示卷积层C3的特征平面,纵向表示池化层的6个采样平面,我们以卷积层C3的第0号特征平面为例,它对应了池化层的前三个采样平面即0,1,2,三个平面使用的是三个卷积核(每个采样平面是卷积核相同,权值相等,大小为5x5),既然对应三个池化层平面,那么也就是说有5x5x3个连接到卷积层特征平面的一个神经元,因为池化层所有的样本均为14x14的,而卷积窗口为5x5的,因此卷积特征平面为10x10(大家可按照第一个卷积计算求的)。只是这里的卷积操作要更复杂,他不是所有的都是特征平面对应三个池化层平面,而是变化的,从上图我们可以清楚的看到前6个特征平面对应池化层的三个平面即0,1,2,3,4,5 , 而6~14每张特征平面对应4个卷积层,此时每个特征平面的一个神经元的连接数为5x5x4,最后一个特征平面是对应池化层所有的样本平面,这里大家好好理解。我们来计算一下连接数和待训练权值个数:

连接数: (5x5x3+1)x10x10x6+(5x5x4+1)x10x10x9+(5x5x6+1)x10x10 = 45600+90900+15100=151600

权值数: (5x5x3+1)x6 + (5x5x4+1)x9 + 5x5x6+1 = 456 + 909+151 = 1516

这一层为什么要这样做呢?为什么不和前面的一样进行卷积呢?Lecon的论文说,主要是为了打破对称性,提取深层特征,因为特征不是对称的,因此需要打破这种对称,以提取到更重要的特征,这样设计的目的就是这个原因

池化层(S4&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值