AI人工智能 卷积神经网络(CNN)
卷积神经网络与普通神经网络类似,因为它们也由具有可学习权重和偏置的神经元组成。普通神经网络忽略输入数据的结构,所有数据在输入到网络之前都被转换为一维数组。这个过程适合常规数据,但是如果数据包含图像,这个过程可能会很麻烦。
CNN 轻松解决了这个问题。它在处理图像时考虑了图像的二维结构,这使得它们能够提取图像特有的属性。通过这种方式,CNN 的主要目标是从输入层的原始图像数据到输出层的正确分类。普通神经网络和 CNN 的唯一区别在于对输入数据的处理和层的类型。
CNN 的架构概述
从架构上看,普通神经网络接收输入并通过一系列隐藏层进行转换。每一层都通过神经元连接到另一层。普通神经网络的主要缺点是它们不能很好地扩展到完整图像。
CNN 的架构中,神经元排列在三个维度上,称为宽度、高度和深度。当前层中的每个神经元连接到前一层输出的一个小区域。这类似于叠加一个过滤器,过滤器是特征提取器,提取边缘、角落等特征。
用于构建 CNN 的层
以下层用于构建 CNN:
- 输入层:直接接收原始图像数据。
- 卷积层:这是 CNN 的核心构建块,执行大部分计算。该层计算神经元和输入中各个区域之间的卷积。
- 整流线性单元层:它将激活函数应用于前一层的输出。它为网络添加非线性,使其能够很好地泛化到任何类型的函数。
- 池化层:池化帮助我们在网络中前进时只保留重要部分。池化层独立地对输入的每个深度切片进行操作,并在空间上调整其大小。它使用 MAX 函数。
- 全连接层:该层计算最后一层的输出分数。最终输出的大小为 (L,),其中 L 是训练数据集中类别的数量。