面向手写体识别的DCNN抗噪性能研究

2021-05-25 05:26蔡际杰陈德旺
软件导刊 2021年5期
关键词:瑞利伽马准确率

蔡际杰,陈德旺,张 璜

(1.福州大学数学与计算机科学学院;2.福州大学智慧地铁福建省高校重点实验室,福建福州 350108;3.福州理工学院计算与信息科学学院,福建福州 350506)

0 引言

大数据时代数据量越来越大,利用大数据解决实际问题的机会越来越多,深度学习作为处理数据的人工智能技术显得越来越重要。深度神经网络(Deep Neural Network,DNN)作为深度学习的重要分支受到青睐。DNN 在并行性计算能力、自学习能力和非线性映射能力上表现突出[1],广泛应用于计算机视觉、自然语言处理以及语音识别等领域。

自1943 年美国心理学家McCulloch 和数学家Pitts 提出神经元突触模型中最基本的模型——MP 模型以来[2],神经网络的发展历程跌宕起伏,发展至今经历了三起三落:1986 年,Rumelhart 等[3]共同提出了反向传播算法,利用梯度下降法不断更新神经节点参数,大大降低了神经网络误差;Hinton 等[4]于2006 年提出了深层次结构的神经网络,并首次提出深度学习概念,描述了深度学习的整个体系结构。其后人们开始考虑搭建多层神经网络来解决复杂的大数据问题,自此出现了各种类型的DNN,如深度卷积神经网络(Deep Convolution Neural Network,DCNN)、深度生成式对抗神经网络(Deep Generated Adversarial Neural Net⁃work,DGANN)等。神经网络的迅速发展得益于计算机性能的提高和Hinton、LeCun、Bengio 等研究者的成果贡献,Lecun 等[5]三人于2015 年共同在《Nature》上发表《Deep Learing》引起世界关注。如今深度学习研究成果已成功应用在图像识别、图像分类、语音识别等领域[6]。

DCNN 具有强大的自学习能力和非线性映射能力,但是其存在一些致命缺点:①过于依赖数据集。训练集一旦过大会导致生成的模型过拟合,不够泛化,太过死板;训练集一旦过小,则会导致生成的模型欠拟合,精度较差;②可解释性较差。当DCNN 结构变得越来越复杂时,参数会变得非常多,一旦出错则难以修正,而且难以解释其结果产生的依据,因此难以运用在诸如自动驾驶、医疗诊断和金融决策等高风险领域[7];③鲁棒性较差。一旦给数据集添加一些随机噪声将导致模型精度大大降低。

在DCNN 以上缺点中,DCNN 的抗噪性能近年备受关注。从图像识别到语音识别领域,DCNN 的影子随处可见,如果DCNN 训练测试的数据集发生人们无法察觉的微小变化,原本效果特别好的神经网络就会受到严重影响,将其应用在安全领域造成的后果将不堪设想。Eykholt[8]于2018 年发现倘若在一张停止的交通标志图片上增加4 个小方点,无人驾驶汽车的人工智能系统就会将该标志误识别为限速45 的标志;Finlayson[9]将像素恶意添加到医疗扫描的图像可能会使DNN 误检癌症。由此可见DCNN 鲁棒性较差,很容易受到噪声干扰,因此其难以运用在安全领域。

为进一步证明DCNN 抗噪性能较差的缺点,本文通过给手写体数据集DigitDataset 的测试集添加4 种不同幅度噪声,深入研究DCNN 在手写体识别问题上的抗噪性能。研究结果对DCNN 的改进和高鲁棒性的深度学习系统(如深度模糊系统等)研究具有一定的参考意义。

1 卷积神经网络

1.1 研究背景

近年来,DNN 凭借其强大的学习能力和并行性计算能力,使其在非线性问题建模上比一般浅层模型表现更好,具有一定优势。随着深度学习研究的深入,出现了一种具有强大特征提取能力的神经网络——卷积神经网络(Con⁃volution Neural Network,CNN)。CNN 能够实现端到端学习,通过大量的训练后,CNN 模型可以在不进行额外处理的情况下学习到图像中的特征,完成对图像特征的提取和分类工作[10]。CNN 中的局部连接、权值共享以及池化操作特性能够快速有效地降低网络复杂性[11],因此比其他神经网络方法更适合应用在图像特征学习问题上。CNN 的种种优势使其应用领域不断扩大,早期利用CNN 识别手写体字符,后来将其应用在语音识别、目标检测以及图像语义分割等领域。

早期CNN 停留在理论研究阶段,1998 年Lecun 等[12]为解决手写体识别问题提出LeNet-5;2012 年Krizhevsky等[13]根据CNN 存在的过拟合缺陷引入dropout 机制,并增加非线性激活函数来增强模型的非线性表达能力,他们提出的Alex-Net 在ImageNet 竞赛中获得了冠军;而后Zeiler等[14]根据AlexNet 存在的不足进行改进,从可视化角度解释了CNN 具有较好性能的原因,并于2013 年提出具有特征可视化的ZFNet。目前CNN 种类繁多,如VGGNet[15]、GoogleNet[16]、ResNet[17]以及近几年迅速发展的轻量级卷积神经网络[18],每次更新的模型都有很大改进。随着CNN 模型的不断创新,CNN 研究成果层出不穷,成为目前最受关注的研究热点之一。

1.2 基本原理

普通的前馈神经网络由输入层、隐含层、输出层组成,而CNN 是一种特殊的前馈神经网络,它建立在前馈神经网络基础上,然后将隐含层延伸为卷积层、池化层和全连接层。CNN 基本结构由输入层、卷积层、池化层、全连接层以及输出层组成,如图1 所示[10]。一般CNN 会交替设置多个卷积层和池化层,即一个卷积层连接一个池化层,池化层后再连接一个卷积层[11],从而形成DCNN,如LeNet-5 结构就是交替设置卷积层和池化层的标准案例。

Fig.1 Typical structure of convolutional neural network图1 卷积神经网络典型结构

简单的DCNN 工作流程如下:将图片转为输入矩阵,经过输入层后进入卷积层,每一个卷积核滑遍整个输入矩阵,得到特征矩阵。卷积层提取输入矩阵的局部特征,然后再进入池化层进行降维和防止过拟合处理;接着进入全连接层进行特征组合完成目标建模。如图2 所示的前馈神经网络全连接层工作过程与BP 网络类似,利用梯度下降法进行误差反向传播,最后进入输出层输出结果。

Fig.2 Full connection layer of feedforward neural network图2 前馈神经网络全连接层

2 噪声类型及实现

噪声可以理解为妨碍人类理解信息的干扰因素。微小的噪声可能不会妨碍人类判断结果,但对于机器而言其影响可能较大,微小的干扰会严重影响机器的人工智能算法,严重的会导致其瘫痪,最后结果本末倒置。噪声是一种随机过程,所以它的分量灰度值是一个随机变量,其统计特性一般由概率密度函数表示[19]。一般使用均值、方差或某些函数来描述噪声特征。噪声在数字图像中十分常见,在进行图像处理实验时,实验图片在传输、存储过程中往往不可避免地受到各种噪声干扰。而DCNN 是一种依赖数据集的模型,倘若其测试集或整个数据集受到噪声干扰,其模型精度有可能大幅下降。实验中数据集的噪声通常都是理想化的,一般是叠加性的椒盐噪声、伽马噪声等,但在实际应用中图像受到的噪声情况更为复杂,对于DCNN 的影响更加严重,因此去噪方法研究尤为重要。

许多学者在图像去噪方面做了大量工作并取得突破。王小鹏等[20]在保证原始图像完整度基础上提出一种基于形态学多尺度的图像噪声去除方法;Song 等[21]为解决超声图像斑点噪声问题提出一种去除该类型噪声和突出缺陷特征的形态学方法;Umoh 等[22]对一种基于超混沌的数字图像加密算法在噪声攻击下进行大量的鲁棒性分析,以此分析噪声对该加密算法的影响;Semenishchev 等[23]提出一种保留目标边界的图像滤波方法并将其成功应用在医疗图像领域。由于噪声对算法的影响较大,所以未来图像去噪研究将是热点。

本文实验选取图像处理中常见的4 种噪声给数据集加噪,并通过调整噪声公式中的2 个参数来加大噪声对数据集的干扰,以此观察DCNN 精度变化情况。

2.1 高斯白噪声

高斯白噪声一般指该噪声的幅度分布服从高斯分布,功率谱密度服从均匀分布,通俗指在一般范围内噪声的统计特性符合高斯分布,且其热噪声部分在工作范围内均匀分布[24]。高斯白噪声在MATLAB 下的实现公式如下:

式(1)中,randn(M,N)为MATLAB 下自带的函数,该函数可以自动产生出均值为0、方差为1、尺寸为M×N 像素的高斯噪声矩阵,参数a 为均值,参数b 为方差。加噪前后对比如图3 所示,其中a=0,b=0.05。

Fig.3 Comparison of Gaussian white noise before and after adding noise图3 高斯白噪声加噪前后对比

2.2 伽马噪声

伽马噪声指一种概率密度函数服从伽马曲线分布的噪声。伽马噪声可通过叠加x 个服从指数分布的噪声得到[25]。伽马噪声在MATLAB 下实现公式如下:

Gama_noise=a+b×gamrnd(A,B,[M,N]) (2)

式(2)中,gamrnd(A,B,[M,N])为MATLAB 自带的函数,该函数可自动产生参数为A、B,尺寸为M×N 像素服从伽马分布的噪声矩阵。为消除将伽马噪声叠加到图像产生的变形影响,给公式添加参数a 和b。加噪前后对比如图4 所示,其中a=0,b=0.05,A=1,B=1。

Fig.4 Comparison of Gamma noise before and after adding noise图4 伽马噪声加噪前后对比

2.3 瑞利噪声

瑞利噪声是图像处理中常见的噪声,该噪声的统计特性服从瑞利分布,即当由噪声组成的随机二维向量的两个分量呈独立、有着相同方差的正态分布时,这个向量的模呈瑞利分布[23]。瑞利噪声在MATLAB 下实现公式如下:

式(3)中,raylrnd(B,[M,N])为MATLAB 的自带函数,该函数可自动产生出服从瑞利分布,参数为B、尺寸为M×N像素的瑞利噪声矩阵。为消除瑞利噪声叠加到图像产生的变形影响,给公式添加了参数a 和b。加噪前后对比如图5 所示,其中a=0,b=0.05,B=1。

Fig.5 Comparison of Rayleigh noise before and after noise addition图5 瑞利噪声加噪前后对比

2.4 指数噪声

指数噪声,顾名思义就是统计特性服从指数分布的噪声。指数分布是伽马分布的一种特殊情况[26],因此指数噪声与伽马噪声有部分相似之处。指数噪声在MATLAB 下的实现公式如下:

式(4)中,exprnd(mu,[M,N])为MATLAB 下自带的函数,该函数可自动产生期望值为mu、尺寸为M×N 像素的指数噪声矩阵,服从指数分布。为消除将指数噪声叠加到图像中产生的变形影响,给公式添加参数a 和b。加噪前后对比如图6 所示,其中a=0,b=0.05,mu=1。

Fig.6 Comparison of exponential noise before and after noise addition图6 指数噪声加噪前后对比

3 实验内容

3.1 实验准备工作

实验数据来自MATLAB 自带工具箱的DigitDataset 数据集,其中包含10 000 张数字手写体图片,每个类别分别1 000 张。数据集划分比例为3∶1,划分方式有顺序划分和随机划分两种。DCNN 模型结构为输入层→卷积层→批量归一化层→Relu 层→最大池化层→卷积层→批量归一化层→Relu 层→最大池化层→卷积层→批量归一化层→Relu层→全连接层→Softmax 层→分类层,其中学习率为0.1,最大训练轮次为5 轮,每轮训练迭代58 次。

为深入研究DCNN 在手写体识别问题上的抗噪性能,本文采用不同方式对DCNN 模型进行大量测试。本文尝试两种数据集划分方式,但由于在顺序划分方式下无噪声数据集测试准确率只有77%左右,不够直观,而在随机划分方式下无噪声数据测试准确率达到99%,在测试模型抗噪性能变化时更加直观,所以记录随机划分方式下的测试结果。通过实验分析可以发现,参数a、b 与噪声强度有密切关系,因此实验的主要思路是通过调节4 类噪声的参数a 和b 来加大噪声对数据集的影响,进而观察模型精度变化。在对数据集加噪的同时考虑加噪后的图片识别情况,从而发现参数变化至何值时DCNN 开始失灵。

3.2 实验结果与分析

本实验采用DCNN 模型对未加噪手写体数据集进行识别,测试准确率达到99.56%,其对应的训练过程如图7所示。

通过调节高斯白噪声、伽马噪声、瑞利噪声、指数噪声的参数a 和参数b 增强这4 类噪声对测试集的干扰,进而观察DCNN 精度变化。将参数a 的范围设定为[0,1],将参数b 的范围设定为[0,0.1],其他参数设置如下:伽马噪声参数A=1,B=1,瑞利噪声参数B=1,指数噪声参数mu=1。实验过程中测试集准确率变化如表1-表4 所示。

Fig.7 Change curve of accuracy of training set during DCNN training图7 DCNN 训练过程中训练集准确率变化曲线

Table 1 Change of gaussian white noise parameters and accuracy of DCNN test set表1 高斯白噪声参数与DCNN 测试集准确率变化数据

Table 2 Change of Gamma noise parameters and accuracy of DCNN test set表2 伽马噪声参数与DCNN 测试集准确率变化数据

Table 3 Change of rayleigh noise parameters and accuracy of DCNN test set表3 瑞利噪声参数与DCNN 测试集准确率变化数据

从表1-表4 可以清楚发现噪声对DCNN 性能有很大影响。随着4 类噪声的参数a 和b 增大,DCNN 识别精度呈大幅度下降趋势。因为随着参数a 和b 的上升,噪声幅度增大,测试集受干扰较强,导致模型识别效果下降,因此精度逐渐降低。另外,通过图8-图10 可以发现指数噪声对模型精度影响最大,伽马噪声、瑞利噪声次之,高斯白噪声影响最小。由于噪声叠加具有随机性,因此部分结果有所波动。从表1-表4 和图8-图10 所示的实验结果可知,当给测试集添加各类噪声时,在人类依然可以识别测试集图片的情况下,DCNN 识别准确率却下降至50%以下,模型基本失灵,已无法正常识别手写体。

Table 4 Change data of exponential noise parameters and accuracy of DCNN test set表4 指数噪声参数与DCNN 测试集准确率变化数据

Fig.8 Curve of noise parameter a and accuracy of test set(b=0.025)图8 噪声参数a 与测试集准确率变化曲线(b=0.025)

Fig.9 Curve of noise parameter b and accuracy of test set(a=0)图9 噪声参数b 与测试集准确率变化曲线(a=0)

Fig.10 Curved surface of noise parameters and accuracy of test set图10 噪声参数与测试集准确率变化曲面

4 结语

根据大量的测试分析与比较研究发现,给数据集添加的噪声幅度越大,DCNN 在手写体识别上的准确率越低。不管是给整个数据集添加噪声,还是只给测试集添加噪声,DCNN 的识别精度都受到很大影响。因此,根据实验结果,本文进一步证明了DCNN 抗噪性能较差的结论。不仅在手写体识别问题上,在图像分类、语音识别等问题上,若数据集受到噪声干扰,其精度同样会大幅度下降。

针对DCNN 鲁棒性较差问题,一方面应提出新方法改善DCNN 的抗噪性能,另一方面应探索深度学习下的其他分支技术,相信存在一种潜在的AI 技术在鲁棒性、可解释性等性能上会优于DCNN,如目前正在研究的深度模糊系统(Deep Fuzzy System,DFS)。发现具有强可解释性与高鲁棒性的AI 技术以更好地解决新时代下日益复杂的实际问题是后续研究方向。

猜你喜欢
瑞利伽马准确率
宇宙中最剧烈的爆发:伽马暴
基于车载伽马能谱仪的土壤放射性元素识别研究
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
Understanding Gamma 充分理解伽马
高速公路车牌识别标识站准确率验证法
马瑞利推出多项汽车零部件技术
瑞利波频散成像方法的实现及成像效果对比研究
随钻伽马能谱仪在录井中的应用研究