一种典型的用来识别数字的卷积网络是LeNet-5。当年美国大多数银行就是用它来识别支票上面的手写数字的。能够达到这种商用的地步,它的准确性可想而知。
LeNet-5输入图像为32*32。比Mnist数据库的字母还要大。这样做的原因是希望潜在的明显特征如笔画断电或角点能够出现在最高层特征监测子感受野的中心。
卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音。
层名称 | 输入 | 卷积核或池化大小 | 输出 | 参数 | 连接数 |
---|---|---|---|---|---|
C1 | 32×32 | 6,5×5,1×1 | 28×28×6 | (5x5+1)x6=156 | (5x5+1)x6x28x28=122304 |
S2 | 28×28×6 | 6,2×2,2×2 | 14×14×6 | 2x6=12 | (2x2+1)x6x14x14=5880 |
C3 | 14×14×6 | 16,5×5,1×1 | 10×10×16 | (5x5x3+1)x6 + (5x5x4 + 1) x 6 + (5x5x4 +1)x3 + (5x5x6+1)x1 = 1516 | 1516x10x10=151600 |
S4 | 10×10×16 | 16,2×2,2×2 | 5×5×16 | 2x16=32 | (2x2+1)x5x5x16=2000 |
C5 | 5×5×16 | 120 | (5x5x16+1)x120 = 48120 | (5x5x16+1)x120 = 48120 | |
F6 | 120 | 84 | (120 + 1)x84=10164 | (120 + 1)x84=10164 | |
output | 84 | 10 | 84x10=840 | 84x10=840 |
C1层,(5x5+1)x6=156个参数,共(5x5+1)x28x28x6=122304个连接。
S2层有2x6=12个可训练参数,有(2x2+1)x14x14x6=5880个连接。
C3层有(5x5x3+1)x6 + (5x5x4 + 1) x 6 + (5x5x4 +1)x3 + (5x5x6+1)x1 = 1516个训练参数,共有1516x10x10=151600个连接。
S4层有2x16共32个训练参数,(2x2+1)x5x5x16=2000个连接
C5层有(5x5x16+1)x120 = 48120个参数,同样有48120个连接。
F6层训练参数和连接数是(120 + 1)x84=10164。
Output层训练参数和连接数是84x10=840。
共约有60,840个训练参数,340,908个连接。
为什么不把S2中的每个特征图连接到每个C3的特征图呢?
第一,不完全的连接机制将连接的数量保持在合理的范围内。
第二,也是最重要的,其破坏了网络的对称性。由于不同的特征图有不同的输入,所以迫使他们抽取不同的特征(希望是互补的)。
卷积神经网络CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显式的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
卷积网络较一般神经网络在图像处理方面有如下优点:
a)输入图像和网络的拓扑结构能很好的吻合;
b)特征提取和模式分类同时进行,并同时在训练中产生;
c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。