AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型开发 - 一文搞懂CNNs工作原理(卷积与池化)
发布日期:2024-04-10 21:25:28 浏览次数: 2291 来源:架构师带你玩转AI


不懂CNNs,何以明白卷积与池化?
本文将从CNN工作原理TextCNN工作原理、DPCNN工作原理三个方面,带您一文搞懂CNNs工作原理。

CNNs工作原理

一、CNN工作原理

CNN(Convolutional Neural Network):卷积神经网络通过卷积和池化操作有效地处理高维图像数据,降低计算复杂度,并提取关键特征进行识别和分类。

LeNet-5被誉为卷积神经网络的“Hello Word”,是图灵奖获得者Yann LeCun(杨立昆)在1998年提出的CNN算法,用来解决手写识别的问题。

CNN(卷积神经网络)

LeNet-5是一个7层的卷积神经网络,包括卷积、池化和全连接层,每层都有可训练参数。卷积层通过多个Feature Map和卷积滤波器提取图像特征,每个Feature Map包含多个神经元处理局部信息。

卷积和池化

  • 输入层:INPUT

  • 三个卷积层:C1、C3和C5

  • 两个池化层:S2和S4

  • 一个全连接层:F6

  • 输出层:OUTPUT

LeNet-5网络结构

工作原理:LeNet-5通过卷积层提取图像局部特征,池化层降低数据维度,全连接层进一步提取高级特征并进行分类。

LeNet-5工作原理

  • INPUT层:负责接收32x32像素的输入图像,是数据的入口。

  • C1层:应用6个5x5的卷积核对输入图像进行特征提取,输出28x28的特征图。

C1层

  • S2层:对C1层的特征图进行2x2的池化操作,降低特征图尺寸并提取关键信息。

S2

  • C3层:利用16个5x5的卷积核组合S2层的特征图,生成10x10的特征图,实现特征的高级组合。

C3层

  • S4层:对C3层的特征图进行进一步的池化操作,进一步降低特征图尺寸。

  • C5层:通过120个5x5的卷积核与S4层全连接,生成全局特征,输出为1x1的特征图。

  • F6层:作为全连接层,将C5层的特征映射到84维空间,通过sigmoid激活函数进行非线性变换。

F6层

  • Output层:通过全连接和径向基函数(RBF)的方式,输出最终的10个分类结果,代表数字0-9。

LeNet-5工作原理

二、TextCNN工作原理

TextCNN(Text Convolutional Neural Network文本卷积神经网络是一种应用于文本分类的卷积神经网络模型。

TextCNN通过多个不同大小的卷积核提取句子中的关键信息,仅包含一层卷积、一层最大池化,最终通过softmax实现多分类。

TextCNN

工作原理:TextCNN通过不同大小的卷积核提取文本局部特征,经过最大池化和全连接层后,通过softmax输出分类结果。

卷积和池化

  • 接收输入:TextCNN接收词嵌入向量作为输入,这些向量通常是通过预训练的词嵌入模型(如Word2Vec或GloVe)得到的,它们将文本中的每个单词转换为固定维度的向量。

  • 卷积操作:模型使用多个不同大小的卷积核(或称为过滤器)对输入的词嵌入向量进行卷积操作。每个卷积核在输入向量上滑动,进行点积运算,从而提取出局部特征。这些特征可以类比为图像中的边缘或纹理,但在文本中,它们代表了由若干单词组成的滑动窗口内的信息,类似于N-gram。

  • 特征图与激活图:卷积操作后,会生成一系列的特征图(feature maps)。每个特征图都包含了输入文本在不同位置上的局部特征信息。然后,通过激活函数(如ReLU)将特征图映射到激活图,进一步增强了模型的非线性表示能力。

  • 最大池化:接下来,对每个激活图进行最大池化(max-pooling)操作。最大池化能够提取出每个特征图中的最显著特征,同时使得模型能够处理不同长度的输入文本。经过最大池化后,每个特征图都被转换为一个固定长度的向量。

  • 拼接与全连接层:所有经过最大池化后的向量被拼接起来,形成一个单一的向量。这个向量作为全连接层的输入,全连接层进一步对特征进行组合和筛选,最终输出每个类别的概率。

  • 分类与输出:在全连接层之后,通常使用softmax激活函数来输出每个类别的概率分布。这样,TextCNN就能够根据输入的文本数据,预测其所属的类别。

TextCNN工作流程

三、DPCNN工作原理

DPCNN(Deep Pyramid Convolutional Neural Network):深度金字塔卷积神经网络是第一个word level的深层文本分类卷积神经网络,由张潼博士在2017年提出,以其出色的性能在文本分类任务中表现出色。

DPCNN利用深度金字塔结构提升word level CNN的文本分类性能,通过优化网络设计克服了单纯加深网络带来的问题,并充分发挥了CNN的并行计算优势。

DPCNN(深度金字塔卷积神经网络)

DPCNN通过结合文本区域嵌入、等长卷积块和带有Max-Pooling的Repeat结构,构建了一个高效且强大的深度卷积神经网络,用于文本分类任务。

  • Region Embedding层(文本区域嵌入层)接收word embedding作为输入,通过卷积操作提取文本的局部特征,形成初始表示。

  • Convolution Block(等长卷积块由两个卷积核大小为3的卷积层构成,执行卷积操作以提取更深层次的文本特征,使用ReLU激活函数,通过pre-activation直接连接,提高信息的流通性。

  • Repeat结构在等长卷积块的基础上,增加Max-Pooling层进行下采样,捕获更长距离的文本依赖关系。通过重复这种结构,构建深度金字塔网络,提取多尺度特征。

工作原理:文本经Region Embedding后,通过等长卷积块逐层提取特征,经Max-Pooling构建金字塔结构,并利用近路连接确保信息流通,最终输出特征向量用于文本分类。

  • 卷积(等长卷积):输入文本经过word embedding后,进入DPCNN的起始层。在等长卷积层中,使用固定大小的卷积核(如size=3)进行卷积操作。卷积操作后,通过ReLU激活函数进行非线性变换。

  • 池化(Downsampling and Polling):在每个等长卷积块之后,固定特征图的数量以减少计算量。使用最大池化层进行下采样,池化窗口大小为3,步长为2。池化操作使每个卷积核的维度减半,从而构建一个金字塔形状的网络结构。

  • 近路连接(Shortcut Connect):DPCNN借鉴了ResNet中的残差连接思想。在等长卷积块之间使用近路连接,将前一层的输出直接加到后一层的输出上。近路连接中使用的激活函数是线性的,有助于降低计算复杂度。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询