1、什么是神经网络?
神经网络是一种深度学习方法,源自人类大脑生物神经网络的概念。它由大量相互连接的人工神经元(也称为节点或单元)组成,每个神经元接收输入,进行简单处理后生成输出,并将结果传递给下一层的神经元。
1.2 传统神经网络的问题
传统神经网络,也称为全连接神经网络,在处理输入数据(如图像)之前,将其展平为一长串数字。
想象一下,你有一个构成图像的像素网格,你将该网格变成一长排像素。当你这样做时,你会丢失有关每个像素相对于其他像素的位置的重要空间信息。这就像拆开一个拼图,将所有碎片排成一行,你会失去这些碎片组成的图画。
由于空间信息的丢失,传统的神经网络不太擅长理解图像。
1.3 CNN 如何解决这个问题
卷积神经网络 (CNN) 是一种特殊类型的神经网络,专门用于处理网格状数据(例如图像)。
CNN 的设计目的是以一种保持空间信息完整的方式处理图像。它们使用称为卷积层的特殊层,以小部分扫描图像,寻找模式。
卷积层
卷积层是 CNN 的核心组件。它通过应用卷积核(过滤器)在输入数据上滑动,提取局部特征。每个卷积核都是一个小矩阵,通常尺寸较小(如 3x3、5x5)。卷积操作计算输入图像的局部区域与卷积核的点积,产生特征图(feature map)。多个卷积核可以提取图像的不同特征。
池化层
池化层用于下采样,减少特征图的尺寸,同时保留重要信息。常用的池化方法包括最大池化(Max Pooling)和平均池化(Average Pooling)。最大池化选取池化窗口内的最大值,而平均池化计算池化窗口内的平均值。
全连接层
全连接层将一层中的每个神经元链接到下一层中的每个神经元,从而能够根据卷积层和池化层提取的特征做出高级决策。
2 技术细节
2.1 卷积运算
卷积运算包括在输入图像上滑动过滤器并计算过滤器与过滤器覆盖的图像块之间的点积。
此过程会生成一个特征图,突出显示特定特征,例如边缘或纹理。通过卷积操作收集的特征类型取决于它使用的过滤器/内核。
2.2 激活函数
激活函数将非线性引入网络,使其能够学习更复杂的模式。CNN 中最常用的激活函数是 ReLU(整流线性单元),它将负像素值替换为零,从而使网络学习速度更快、性能更好。
2.3 池化层
池化层对特征图进行下采样,在保留基本信息的同时减小其大小。
最大池化从特征图的每个块中选择最大值,因其在总结特征方面的有效性而被广泛使用。
2.4 全连接层
卷积层和池化层完成从图像中提取和汇总特征的工作后,需要对数据进行解释和分类。这就是全连接层 (FC) 的作用所在,它在卷积神经网络 (CNN) 的决策过程中起着至关重要的作用。