Python旧版课程库
Python第11期 - 人工智能查看课程总览

331 卷积神经网络介绍

主要内容

  1. 卷积神经网络介绍
  2. 卷积神经网络的结构
  3. 相关知识链接

卷积神经网络介绍

卷积神经网络 (Convolutional Neural Network,简称CNN)(LeCun, 1989),是一种深度学习模型,最初是由Yann LeCun等人在1980年代末和1990年代初所提出,用于解决手写数字识别等计算机视觉问题。这一早期的CNN模型被称为LeNet-5。然而,当时由于计算能力的限制,CNN并没有得到广泛的应用和发展。

随着计算机硬件性能的提升,特别是图形处理单元(GPU)的出现和发展,CNN的能力得以进一步发挥。在2012年,由于Alex Krizhevsky等人在ImageNet图像识别挑战赛中使用CNN模型(名为AlexNet)取得巨大的成功,CNN开始引起了广泛的关注。

自此以后,CNN在计算机视觉领域持续发展,并在图像分类、目标检测、语义分割、人脸识别等任务上取得了显著的性能提升。此外,CNN也被应用于其他领域,如自然语言处理和推荐系统等。

卷积神经网络的成功源于其特殊的网络结构和参数共享的特性,使得它在处理图像等具有局部相干性的数据上具有很强的表达能力和计算效率。此外,CNN还通过反向传播算法和大规模标注数据的使用,能够自动学习特征表示,克服了传统计算机视觉方法中需要手动设计特征的局限性。

总之,卷积神经网络的发展始于20世纪80年代末,经过多年的演进和应用,如今已经成为图像处理和计算机视觉领域最常用且最成功的深度学习模型之一。

卷积神经网络的结构

基础的卷积神经网络主要包括5种类型的层结构:输入层(Input layer)、卷积层(convolution layer)、池化层(poling layer)、全连接层(full-connected layer)、输出层(output layer)。如下图所示:

输入层和输出层只有一层,卷积层,池化层和全连接层可以有多层。卷积层和池化层之间的顺序可以自由组合,一般情况下,输入层的下一层是卷积层,输出层的上一层是全链接层。

以下为LeNet-5的基本结构,它包括7层网络结构(不含输入层),其中包括2个卷积层、2个降采样层(池化层)、2个全连接层和输出层。

以下为AlexNet的基本结构,此网络是深度学习开始大放异彩之作,使得科研目光一下从传统的机器学习聚焦在了深度神经网络上来。

相关知识链接:

卷积

池化

激活函数

损失函数