一、LeNet原理
简介
LeNet是一种早期的卷积神经网络(CNN),由贝尔实验室Yann LeCun和他的同事们在1990年代开发,主要用于手写字符识别。它是现代深度学习和卷积神经网络发展的一个重要里程碑。
LeNet-5 网络结构
卷积层输入的4维数据
Batch Size ( B ):
这是第一个维度,表示一次传递给网络的样本数量,即批次大小。比如,如果你一次性将64张图像送入网络进行处理,那么这个维度的大小就是64。
Channels ( C ):
第二个维度指的是输入图像的颜色通道数。对于灰度图像(如LeNet-5原本设计用于的手写数字识别任务),通道数为1;对于彩色RGB图像,通道数则为3。
Width (W):
第三个维度是图像的宽度。与高度相似,对于32x32像素的图像,宽度也是32。
所以,如果你看到一个形状为 (B, C, W, H) 的张量被用作LeNet-5的输入,它意味着你有一个批次大小为 B 的图像集合,每个图像有 C 个通道,并且每个图像的高度为 H,宽度为 W。
Height (H):
第四个维度是图像的高度。例如,在原始的LeNet-5中,输入图像是32x32像素的灰度图像,因此高度为32。
例如,一个形状为 (64, 1, 32, 32) 的张量表示一个包含64张32x32像素灰度图像的批次。在一些框架中,如TensorFlow,输入张量可能采用不同的顺序,如 (N, H, W, C),但概念是相同的。
卷积层输出的4维数据
Batch Size (B):与上面相同
Channels (C_out,即FN):
第二个维度表示输出特征图的数量,就是卷积核的个数,这对应于该卷积层中使用的不同卷积核的数量。每个卷积核负责检测输入数据的不同特征,因此输出通道数反映了卷积层能够同时提取的特征种类的数量。例如,如果一个卷积层有64个卷积核,那么它将产生64个不同的特征图。
Width (W_out,即OW):
第三个维度是输出特征图的宽度,其计算方式与高度类似,取决于输入图像的宽度、卷积核的大小、步幅和填充。
Height (H_out,即OH):
第四个维度是输出特征图的高度。这个高度取决于输入图像的高度、卷积核的大小、步幅(stride)、以及是否使用了填充(padding)。通过这些参数,可以计算出输出特征图的具体尺寸