第 8 章 卷积神经网络

8.1 CNN概述

卷积神经网络(Convolutional Neural Network,CNN)常被用于图像识别、语音识别等各种场合。它在计算机视觉领域表现尤为出色,广泛应用于图像分类、目标检测、图像分割等任务。

卷积神经网络的灵感来自于动物视觉皮层组织的神经连接方式,单个神经元只对有限区域内的刺激作出反应,不同神经元的感知区域相互重叠从而覆盖整个视野。

CNN中新出现了卷积层(Convolution层)和池化层(Pooling层),下图是一个CNN的结构:

图片[1]-第 8 章 卷积神经网络-大赛人网
  • 卷积层用于提取输入数据的局部特征。
  • 池化层用于降维,增强鲁棒性并防止过拟合。
  • 全连接层用于整合特征并输出结果。

8.2 卷积层

在全连接层中,相邻层的神经元全部连接在一起,输出的数量可以任意决定,但是却忽视了数据的形状。比如,输入数据为图像时,图像通常是长、宽、通道方向上的3维数据,但是向全连接层输入时却需要将其拉平为1维数据,这种情况下3维形状的数据中的空间信息可能被全连接层忽视掉。

图片[2]-第 8 章 卷积神经网络-大赛人网

而卷积层可以保持数据形状不变,即接收3维形状的输入数据后同样以3维形状将数据输出至下一层。在CNN中,卷积层的输入输出数据也称为特征图(feature map)。

8.2.1 卷积运算

卷积层对数据进行卷积运算,卷积运算相当于图像处理中的滤波器运算。

图片[3]-第 8 章 卷积神经网络-大赛人网

对于输入数据,卷积运算以一定间隔滑动卷积核的窗口并应用。将各个位置上卷积核的元素和输入的对应元素相乘,然后再求和(也称为乘积累加运算、矩阵的内积)。

图片[4]-第 8 章 卷积神经网络-大赛人网

CNN中,卷积核的参数对应之前的权重。并且CNN中也存在偏置。

图片[5]-第 8 章 卷积神经网络-大赛人网

8.2.2 填充

在进行卷积层的处理之前,有时要向输入数据的周围填入固定的数据(比如0),这称为填充(padding)。例如,对形状为4×4
的数据进行幅度为1的填充,即用幅度为1、值为0的数据填充周围:

图片[6]-第 8 章 卷积神经网络-大赛人网
图片[7]-第 8 章 卷积神经网络-大赛人网

8.2.3 步幅

应用卷积核的位置间隔称之为步幅(stride)。

之前的例子中步幅都为1,下面我们进行步幅为3的卷积运算:

图片[8]-第 8 章 卷积神经网络-大赛人网
图片[9]-第 8 章 卷积神经网络-大赛人网
图片[10]-第 8 章 卷积神经网络-大赛人网
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容