AI探索(六)卷积神经网络(LeNet)_卷积

引言

卷积神经网络(CNN)是深度学习领域中一种重要的神经网络结构,特别在图像处理和计算机视觉任务中取得了显著成功。LeNet是最早的CNN之一,由Yann LeCun等人于1989年提出,主要用于手写数字识别。尽管LeNet在当时的应用相对简单,但其基本思想和结构为后来的复杂网络奠定了基础。

这个模型是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并以其命名),目的是识别图像 (LeCun et al., 1998)中的手写数字。 当时,Yann LeCun发表了第一篇通过反向传播成功训练卷积神经网络的研究,这项工作代表了十多年来神经网络研究开发的成果。

当时,LeNet取得了与支持向量机(support vector machines)性能相媲美的成果,成为监督学习的主流方法。 LeNet被广泛用于自动取款机(ATM)机中,帮助识别处理支票的数字。 时至今日,一些自动取款机仍在运行Yann LeCun和他的同事Leon Bottou在上世纪90年代写的代码呢!

0. 发展历史


LeNet5于1994年诞生,是最早的卷积神经网络之一,对深度学习的发展产生了重要影响。从1988年开始,经过多年的研究和多次成功的迭代,这项由Yann LeCun完成的开创性工作被命名为LeNet5。

1989年,Yann LeCun和他的团队在贝尔实验室首次成功地将反向传播算法应用于实际问题。他们发现,通过提供任务相关的约束,可以大幅增强网络的泛化能力。LeCun将反向传播训练的卷积神经网络应用于“手写”数字的识别,有效识别了美国邮政服务提供的手写邮政编码数字。这便是后来称为LeNet的卷积神经网络的雏形。同年,LeCun在另一篇论文中描述了一个小规模的手写数字识别问题。他指出,即使该问题线性可分,单层网络的泛化能力仍然较差。而在多层、有约束的网络中使用具有位移不变性的特征检测器时,模型表现优异。他认为这些结果表明,最小化神经网络中的自由参数数量可以增强其泛化能力。

在1990年发表的论文中,他们再次探讨了反向传播网络在手写数字识别中的应用。研究中仅对数据进行了最小的预处理,而模型则进行了精心设计和高度约束。在美国邮政服务的邮政编码数据测试中,模型的错误率仅为1%,拒绝率约为9%。

在接下来的8年里,他们的研究不断推进。直到1998年,Yann LeCun、Leon Bottou、Yoshua Bengio和Patrick Haffner发表了一篇论文,回顾了手写字符识别的各种方法,并在标准手写数字识别基准任务中对这些模型进行比较。结果显示,卷积神经网络的表现优于其他所有模型。他们还展示了神经网络在实际应用中的诸多实例,如在线识别手写字符的两种系统,以及每天能读取数百万张支票的模型。

他们的研究取得了巨大的成功,激发了众多学者对神经网络的研究兴趣。如今,尽管最先进的神经网络架构与LeNet已有很大不同,但LeNet作为许多神经网络架构的起点,为该领域带来了丰富的灵感。

1. LeNet的结构


总体来看,LeNet(LeNet-5)由两个部分组成:

  • 卷积编码器:由两个卷积层组成;
  • 全连接层密集块:由三个全连接层组成。

LeNet的基本结构由多个卷积层、池化层和全连接层组成,通常包含以下几层:

  1. 输入层: 接受28x28像素的灰度图像,通常用于手写数字识别。
  2. 卷积层(C1): 使用6个5x5的卷积核,对输入图像进行卷积操作,生成6个特征图(feature maps),每个特征图的尺寸为24x24。
  3. 激活层(S1): 通常使用Sigmoid或tanh激活函数对卷积层的输出进行非线性变换。
  4. 池化层(S2): 采用2x2的平均池化,减少特征图的尺寸,输出尺寸为6个12x12的特征图。
  5. 卷积层(C3): 使用16个5x5的卷积核,对池化层的输出进行卷积,生成16个特征图,输出尺寸为8x8。
  6. 激活层(S3): 同样采用Sigmoid或tanh激活函数。
  7. 池化层(S4): 再进行一次2x2的平均池化,输出尺寸为16个4x4的特征图。
  8. 全连接层(C5): 将所有特征图展平,输入到一个全连接层,输出120个神经元。
  9. 全连接层(F6): 再接一个全连接层,输出84个神经元。
  10. 输出层: 最终输出10个神经元,表示数字0到9的分类结果,通常使用softmax激活函数。

结构示意图

Input (28x28)Convolution (C1: 6x5x5) 
      ↓
<