一文彻底搞懂CNN - 模型架构(Model Architecture)

人工智能与算法增长营销数据中台

picture.image

CNN Model Architecture

CNN(卷积神经网络)的模型架构 由输入层、卷积层、池化层以及全连接层组成 ,通过卷积操作提取图像特征,并通过池化减少参数数量,最终通过全连接层进行分类或回归。

  1. 输入层:接收原始图像数据,可能需要进行预处理,如归一化、尺寸调整等。
  2. 卷积层:通过一系列可学习的卷积核(或称为滤波器)对输入图像进行卷积操作,以提取图像中的局部特征。每个卷积核都会生成一个特征图(feature map),这些特征图共同构成了卷积层的输出。
  3. 池化层:通常位于卷积层之后,用于对特征图进行下采样,以减少数据的空间维度和参数数量,同时保留重要特征。常见的池化操作包括最大池化和平均池化。
  4. 全连接层:将卷积层和池化层提取的特征进行全局整合,并映射到样本标记空间。全连接层的每个神经元都与前一层的所有神经元相连,起到分类器的作用。

picture.image

CNN Model Architecture

一、输入层 (Input)

输入层( Input ):CNN(卷积神经网络)的输入层是原始图像数据进入网络的第一步,它负责将图像数据以适当的格式和状态传递给后续的卷积层、池化层等网络层。

picture.image

输入层(input)

输入层直接接收来自外部的图像数据, 这些数据可能是图像文件(如JPEG、PNG格式)中的像素值,或者是通过图像采集设备(如摄像头)实时捕获的数据。

picture.image

输入层( input)

输入层数据预处理: 将原始图像数据转换为适合网络学习的格式和范围的过程,包括尺寸调整、归一化、去均值等步骤,以及数据增强,以提高模型的性能和训练效率。

picture.image

一、尺寸调整(Resizing)

  • 目的: 将输入图像调整到网络所需的固定尺寸。这有助于网络处理统一大小的输入,避免尺寸不一致带来的问题。
  • 方法:
  • 裁剪: 从原始图像中截取一块指定大小的区域。
  • 缩放: 改变图像的尺寸而不改变其宽高比,使其符合网络的输入要求。
  • 填充: 在图像周围添加额外的像素(通常是0或边界像素的复制),以达到所需的尺寸。

二、归一化(Normalization)

  • 目的: 将图像的像素值缩放到一个特定的范围内(如[0, 1]或[-1, 1]),以加快网络的收敛速度和提高训练效率。
  • 方法:
  • Min-Max归一化: 将原始数据线性变换到[0,1]范围内。新数据 = (原数据 - 最小值) / (最大值 - 最小值)。
  • Z-Score标准化: 基于原始数据的均值和标准差进行标准化。新数据 = (原数据 - 均值) / 标准差。 这种方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。

三、去均值(Mean Subtraction)

  • 目的: 从图像数据中减去全局均值或每个颜色通道的均值,以消除数据中的偏置。
  • 方法:
  • 对于全局均值,从每个像素值中减去整个数据集的均值。
  • 对于每个颜色通道,分别计算并减去该通道的均值。

四、数据增强(Data Augmentation)

  • 目的: 通过随机改变训练图像来增加数据的多样性和数量,减少过拟合风险。
  • 方法:
  • 旋转: 将图像按一定角度旋转。
  • 翻转: 水平或垂直翻转图像。
  • 缩放: 在保持图像宽高比的同时,随机改变图像的尺寸。
  • 裁剪: 随机裁剪图像的一部分。
  • 颜色变换: 调整图像的亮度、对比度、饱和度等。

picture.image

Convolution

二、 卷积层和池化层

**卷积层(Convolution):

卷积层(Convolution layer)是卷积神经网络(CNN)中的核心组件,它通过滑动窗口(卷积核)在输入数据上滑动并进行点积运算来提取局部特征,实现数据的自动特征提取和降维。**

池化层(Pooling):

池化层(Pooling Layer)是卷积神经网络中用于降低特征维度、减少计算量、提取主要特征并增加模型泛化能力的一种下采样操作。

一文彻底搞懂CNN - 卷积和池化(Convolution And Pooling)

三、全连接层

全连接层(Full Connection): 全连接层(Fully Connected Layer,FC)是一种神经网络层,其中该层的每个神经元都与前一层的所有神经元相连接。 全连接层的每个神经元都会接收前一层的所有神经元的输出作为输入,并产生自己的输出,这些输出再传递给下一层或作为最终输出。

picture.image

Fully Connected

在CNN中,全连接层通常位于卷积层和池化层之后, 用于将前面层提取到的特征进行综合和分类。

  1. 特征整合:全连接层将前面卷积层和池化层提取到的局部特征进行整合,形成全局特征表示。这些全局特征对于后续的分类或回归任务至关重要。
  2. 分类器:在CNN中,全连接层常作为分类器使用。它将学到的特征表示映射到样本的标记空间,即输出每个类别的预测概率或得分。
  3. 加权和:全连接层通过对前面层提取的特征进行加权和,实现特征的进一步抽象和整合。这些权重是通过训练过程学习得到的,能够反映出不同特征对于最终分类或回归任务的重要性。

picture.image

Fully Connected

全连接层的工作流程: 全连接层将卷积层和池化层提取的特征进行加权求和,并通过激活函数处理,形成最终输出;每个神经元与前一层的所有神经元全连接,实现特征的全面整合和分类决策。

  1. 特征扁平化:在将特征送入全连接层之前,通常需要将这些特征(可能是三维的,即高度、宽度和通道数)扁平化(Flatten)成一维的向量。这是因为全连接层的每个神经元都需要与前一层的所有神经元相连接,而一维向量使得这种连接变得简单直接。
  2. 加权求和:在全连接层中,每个神经元都会接收来自前一层的所有神经元的输入,并对这些输入进行加权求和。这些权重是通过网络训练过程中学习得到的,它们决定了不同特征对于当前神经元输出的重要性。
  3. 偏置项:除了加权求和之外,每个神经元还会加上一个偏置项(Bias),这个偏置项同样是通过学习得到的。偏置项的存在使得神经元的激活函数在输入为零时也能有一个非零的输出。
  4. 激活函数:加权求和的结果会通过一个激活函数,以引入非线性因素。在分类任务中,常用的激活函数包括Sigmoid(用于二分类问题的输出层)、Softmax(用于多分类问题的输出层,将输出转换为概率分布)和ReLU(Rectified Linear Unit,用于隐藏层,能够缓解梯度消失问题)。
  5. 特征整合与分类决策:通过多个全连接层的堆叠,网络能够逐步将前面层提取的局部特征整合为全局特征,并最终根据这些全局特征做出分类、回归或其他任务的决策。

picture.image

Fully Connected

神经网络动画讲解 - 权重W、偏置b和激活函数

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论