一、卷积神经网络系统
二、卷积神经网络简介
卷积神经网络(Convolutional Neural Networks,简称 CNN)是一种深度学习模型,在图像和视频处理领域大显身手。其核心在于借鉴生物神经网络里神经元结构,通过卷积、池化等操作提取图像特征,以此实现图像分类、目标检测、对象识别等任务。
20 世纪 80 年代,LeCun 等人率先开展对卷积神经网络的研究,并提出用于手写数字识别的 CNN 模型。2006 年,LeCun 等人在图像识别领域再次推出 CNN 模型,于 ImageNet Large Scale Visual Recognition Challenge(ILSVRC)比赛中成绩斐然。2012 年,Alex Krizhevsky 等人凭借深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)在 ILSVRC 拔得头筹,就此拉开深度学习迅猛发展的大幕。后续,2014 年 Karen Simonyan 和 Andrej Karpathy 等人提出 16 层的 DCNN 模型 ——VGG 网络,在 ILSVRC 取得高准确率;2015 年 Christian Szegedy 等人提出具有多尺度特征提取的 Inception 网络,登顶 ILSVRC;2017 年 Vaishnavi Vedantam 等人推出更为深度和宽度的 DCNN 模型 ——Xception 网络,同样在 ILSVRC 上斩获佳绩 。
三、卷积神经网络的核心概念
(一)卷积层
卷积层堪称 CNN 的核心构成。它借助卷积操作提取图像特征,具体而言,是将名为卷积核(Kernel)的小矩阵在图像上滑动,对每个位置做元素乘积的求和。卷积核如同小型特征检测器,助力找出图像里的边缘、纹理等特征 。
对图像(不同的数据窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。
卷积核一般是 2x2 或 3x3 的小矩阵,其元素可以随机设定,也能通过训练得出,它的选取对 CNN 性能影响重大。数学上,卷积操作可表示为:
,这里x代表输入图像,y是输出图像,k为卷积核,P和Q是卷积核的行和列尺寸 。同心距指的是卷积核与输入图像间的距离,一般设为 1。卷积层的参数主要包含卷积核和同心距,通常卷积核随机初始化,同心距由用户设定或随机生成 。
(二)池化层
池化层也是 CNN 的关键部分,它通过下采样缩小图像尺寸,同时留存关键特征信息。常见的池化操作有最大池化和平均池化,前者是把窗口在输入图像上滑动,选取窗口内最大值作为输出;后者则是取窗口内的平均值作为输出 。
以最大池化为例,数学表示为:
其中x是输入图像,y是输出图像,P和Q是窗口的行和列尺寸 。
池化层的作用:一种降采样,减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。
常见的池化层:
最大池化、平均池化、全局平均池化、全局最大池化。
平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。
最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。是最为常见的。
通常来说,CNN的卷积层之间都会周期性地插入池化层。
(三)全连接层
全连接层将卷积和池化层的输出作为输入,借助全连接神经元开展分类或回归任务,可看作传统的多层感知器(MLP) 。全连接神经元的输入、输出均有连接,输出通过激活函数得出。一般情况下,其输入来自卷积和池化层输出,输出是分类或回归结果 。
(四)激活函数
激活函数在 CNN 里扮演重要角色,为神经网络引入非线性。比如 ReLU 函数,计算效率高,还能规避梯度消失问题 。
(五)卷积神经网络 --- 感受野
例如图片是3通道:
卷积核为3个7*7的,则卷积核所需要的参数个数为:3*(3*7*7)=441个
卷积核为3个3*3的3层,则卷积核所需要的参数个数为:3*(3*3*3)+3*(3*3*3) +3*(3*3*3) =243
四、卷积神经网络的算法原理
卷积神经网络核心算法原理,是通过卷积、池化、全连接等操作提取图像特征,再利用激活函数和损失函数完成分类或回归任务 。在卷积层,设置好卷积核大小、行和列尺寸以及同心距后,让输入图像在卷积核上滑动,进行元素乘积求和;池化层中,设定窗口的行和列尺寸,以及选择最大池化或平均池化方式,接着让输入图像在窗口上滑动,选取最大值或平均值输出;全连接层里,设置好输入节点数、输出节点数和激活函数,将卷积和池化层输出作为输入,通过全连接神经元实现分类或回归 。
训练卷积神经网络时,要设定学习率、批次大小和迭代次数,运用梯度下降算法优化模型的损失函数。评估模型性能,则是在测试集上进行预测,计算准确率、精度等指标 。
五、卷积神经网络的应用领域
(一)图像分类
CNN 在图像分类领域表现卓越,能精准识别各类图像所属类别,像在识别猫、狗、汽车等不同物体的图像时,展现出极高准确率 。
(二)目标检测
可以在图像或视频里检测出特定目标的位置与类别,在安防监控中检测行人、车辆,以及医学影像分析里检测肿瘤等场景中广泛应用 。
(三)语义分割
将图像中每个像素进行分类,标注出所属类别,常用于自动驾驶领域对道路、行人、车辆等元素的分割识别 。
五、卷积神经网络的发展趋势
随着技术不断演进,卷积神经网络也在持续发展。一方面,模型朝着更深、更宽方向发展,以提升特征提取能力与模型性能,如不断涌现的新型网络结构;另一方面,与其他技术的融合愈发紧密,像结合生成对抗网络(GAN),能够生成高质量图像 。同时,在轻量化模型设计上也不断突破,让 CNN 能在资源受限设备上高效运行,拓展应用场景 。