基于生成少数类技术的深度自动睡眠分期模型
2018-10-16金欢欢尹海波何玲娜
金欢欢,尹海波,何玲娜
(1.浙江工业大学 计算机科学与技术学院,杭州 310023; 2.哈尔滨工业大学 航天学院,哈尔滨 150001)
0 引言
睡眠分期对研究睡眠相关疾病[1]具有重要意义。睡眠分期通常由有经验的睡眠分期专家,依据睡眠分期规则手动完成睡眠各阶段的划分和统计。人工睡眠分期需要大量的专业人才和时间,可普及性较差,因此自动睡眠分期一直是睡眠分期研究的重要方向。
自动睡眠分期的研究多基于睡眠脑电信号[2]。对原始数据的预处理、针对数据集特点设计所要提取的特征、将提取的特征输入分类器进行类别划分是近年自动睡眠分期研究的三个关键点。其中针对特定数据集的人工特征设计,是制约分类效果的关键因素[3]。人工设计的特征虽然针对特定数据集效果较好,但是由于需针对性尝试设计特征,具有很强的主观性,无法实现对原始睡眠脑电数据的端到端学习[4]。
近年来深度学习在图像识别、自然语言处理以及语音识别领域已有大量成熟的应用。在经大量注释的数据集训练后,基于深层神经网络的机器学习模型,能够接近并超过人类专家水平[5-6]。尤其在医学成像识别中,得益于可直接应用现存大型图像数据集对模型进行预训练,这种优越性更为突出[7-8]。在时序信号处理方面,卷积神经网络和递归神经网共同构建的网络模型已成功应用于语音识别和自然语言处理中[9-10]。虽然受限于目前包括自动睡眠分期在内的绝大多数领域都无法提供足量的数据,仍有少量团队将深度学习模型应用于自动睡眠分期[11-12],实现了端到端睡眠自动分期,但是由于类不平衡小数据集在深度学习中的局限性,以及未应用最新的深度学习优化技术,分类精度仍有很大的提升空间。
本文在这些技术的基础上,分别从对类不平衡小数据集中少数类的扩增,以及应用深度学习模型优化技术对模型训练进行优化两方面入手,来完成高分类精度端到端自动睡眠分期模型的构建。在类不平衡小数据集的处理方面,对修改的生成少数类过采样技术(Modified Synthetic Minority Oversampling Technique, MSMOTE)[13]进行改进,并将其应用于高维度、多分类脑电数据集中少数类的过采样。在训练方法的优化方面,仿照迁移学习中的两步训练法,将扩增后的类平衡数据集用于预训练,原始数据集用于微调。此外还应用如残差连接(Residual Connections)[14]、批归一化(Batch Normalization, BN)[15]、Swish激活函数[16]等技术,进一步对模型进行优化。最终实现可用于类不平衡小数据集的端到端自动睡眠分期模型。
1 模型结构及技术介绍
1.1 自动特征提取部分
本文提出的自动睡眠分期模型由三部分组成,如图1所示,在图1中依次标示为Part1、Part2、Part3。
图1 模型结构图及重要参数
该模型的第一部分(Part1)主要作用为自动特征提取。Part1采用三个独立的卷积神经网络对序列进行并行特征提取。为了从数据集中捕获全局信息,按照一定步幅对这三个卷积神经网络的第一层卷积核尺寸进行设定。在每个卷积层的卷积运算之后,依次进行批归一化、应用Swish自门控激活。最后对并行卷积神经网络提取的时不变特征进行连接(Concat)操作。采用与残差网络结构中类似的方式来构建残差网络,进一步对卷积神经网络部分进行优化;通过这种结构,信息可以在较深的神经网络中更有效地传播,进而达到优化训练的目的。
作为深度学习模型核心结构之一,深度神经网络中激活函数的选择极其重要;即使所使用激活函数性能只有微小的提升,也会由于它的大量使用而获得巨大的性能提升。本文模型使用Swish函数作为激活函数。Swish激活函数的设计,主要受到高速网络(Highway Network)和长短期记忆网络(Long Short Term Memory, LSTM)中使用 Sigmoid 函数作为门控所启发。谷歌大脑团队通过使用相同值进行门控,完成门控机制简化,并将其称为自门控(Self-Gating)。相较于传统门控,自门控最大的优势是仅需要输入单个简单标量。这种优势令使用自门控的Swish激活函数,可轻易在程序中取代用单个标量进行输入的激活函数,如现在广泛使用的修正线性单元(Rectified Linear Unit, ReLU)激活函数,并且不需对参数的隐藏数量或容量进行改变。Swish函数和ReLU函数的数学表达式如下:
(1)
ReLU(x)=max(x,0)
(2)
图2为两种激活函数曲线对比。
图2 Swish和ReLU函数曲线对比
Swish激活函数形式极其简单,且具有非单调、平滑等特性;这些优势理论上使Swish成为优于ReLU的激活函数,并且谷歌大脑团队通过大量相关实验得出:在不改变针对ReLU设计的超参的情况下,用Swish 直接替换ReLU,可以在总体上提升深度神经网络的分类精度和收敛速度[16]。本文会在4.3节对两种激活函数应用于本文模型中的效果进行对比。
1.2 时间信息解码部分
第二部分是由两层双向门限循环单元构建的递归神经网络,和含有池化层的捷径连接,共同构成的序列残差学习框架。该框架可从时不变特征中学习时间信息特征,并完成时不变特征与时间信息特征的融合。具体结构及部分参数如图1中Part2所示。
门限循环单元(Gated Recurrent Unit, GRU)是LSTM的一个变化极大的变体。GRU除拥有 LSTM的优点外,相较于LSTM具有更少的参数,出现过拟合问题的概率更小,处理同样的问题收敛所用时间更少。
本文模型使用双向GRU构建的递归神经网络,学习时间序列中的时间信息特征。双向GRU结构相对于单向GRU,可以通过两个GRU独立处理前向和后向输入序列来扩展GRU;前向和后向GRU的输出彼此之间没有连接,因此该模型能够利用时间点前后两侧的信息。
此外本文模型中的七个捷径连接都使用了最大池化层。这样一方面可对输入的时不变特征进行维度变换;另一方面可大幅减少参数数量,进而减少训练过程中的过拟合。
1.3 分类器
第三部分(图1中Part3)是完全连接的Softmax层。本层位于模型的最后阶段,具体的来说就是:第二部分产生的复合特征形成模型的倒数第二层,经过Dropout[17]随机丢弃部分神经元,然后被馈送到完全连接的Softmax层以产生分类。图1中两个全连接的Softmax层(Softmax-1、Softmax-2)分别用于预训练和微调(3.1节的模型训练方法部分会详细介绍)。
2 实验数据及数据生成技术
2.1 实验数据及分析
采用PhysioBank的公开基准睡眠数据(Sleep-EDF数据集)作为实验数据,Sleep-EDF数据集包含20名25~34岁的健康志愿者(男女各一半)的多导睡眠图(Polysomnography, PSG)记录,实验过程没有使用任何药物,实验周期为两个昼夜(约40 h),采样频率为100 Hz。由于原数据集中的一个文件(SC4132E0.npz)已经损坏,实验数据集共包含39个文件。人工标记时,将PSG划分为30 s(即3 000个采样点)一段,然后由睡眠专家根据睡眠分期标准进行人工标记。本文使用Fpz-Cz通道的原始脑电数据对模型进行评估。使用最新的美国睡眠医学学会(American Academy of Sleep Medicine, AASM)标准。依据AASM标准整个睡眠监测过程由3个阶段组成,分别是清醒(Wake, W)期、非快速动眼(Non-Rapid Eye Movement, NREM)期和快速动眼(Rapid Eye Movement, REM)期。其中NREM期又细分为浅睡一(NREM1, N1)期、浅睡二(NREM2, N2)期和慢波睡眠(NREM3, N3)期。表1为睡眠专家人工分类结果。
表1 睡眠专家对数据的分类及各期比例
通过表1中各分类占总数据的比例可知,该睡眠数据集为类不均衡数据集,且占比最小的类为N1期(仅为6.63%)。原始数据中出现类不均衡是分类任务中的典型问题,通常以少数类占总数的10%到20%为类不平衡研究对象。事实上若实验所用数据集较大,无论是少数类还是多数类都有足够的数据用于训练,类不平衡的影响可忽略,但是本文采用数据集较小,类不均衡会造成模型对于少数类的分类精度较差。通常是通过复制来完成少数类的过采样,进而完成类平衡数据集的构建,以减少对类不均衡小数据集中的少数类的影响,但复制重构后的数据集用于训练极易出现过拟合问题。
2.2 构建类平衡数据集
本文对MSMOTE进行改进,并将其应用于高维度多分类数据集的扩增,进而完成多分类数据集中少数类的过采样,最终生成类平衡数据集。MSMOTE将少数类分为安全类、边界类、噪声类,并对安全类和边界类进行扩增,MSMOTE对于低维数据的生成效果较好。考虑到本文所使用的睡眠数据为高维数据(3 000维),强化各类边界所起到的作用不明显,还会产生部分不属于任何分类的新数据,干扰最终的训练效果。对MSMOTE进行改进,只对少数类中的安全类进行扩增;并从控制扩增后少数类样本区域范围(决策域)的角度出发,对安全类中新样本的生成算法进行修改。具体修改如下:
1)以N1期的一个新样本newS的生成为例,通过k邻近算法确定属于N1的安全类样本。
2)随机选取一个安全类样本S[i],从S[i]的3 000个维度中随机选取500个进行修改,修改后的维度与未修改的剩余2 500维重新组合,生成属于N1的新样本newS。
3)若待修改的数据S[i][d](位于S[i]的第d维),判断S[i]为安全类的k个邻近点的第d维的数据分别用N1d、N2d…、Nkd表示,从S[i][d]、N1d、N2d…、Nkd中任意选取一个数来作为新生成的newS的第d维数值。
修改后的新的少数类生成过采样技术称为维度修改生成少数类过采样技术(Dimension Modified Synthetic Minority Oversampling Technique, DMSMOTE),DMSMOTE伪代码如下:
输入:T个少数类样本;DMSMOTE生成的样本数N;邻近数k。
输出:生成的N个少数类样本。
k=邻近样本数;numdimens= 样本维度数;S[][]:原始少数类样本;newindex:生成样本的索引号,初值为0;newS[][]:生成样本数组。
*(计算每个少数类的k个邻居,对安全类进行扩充)*
fori← 1 toTdo
计算第i个少数类样本的k个邻近样本的同类邻近数,将同类邻近样本的索引值保存在nnarray中。
if(type==2)
//type=0,1,2;其中2代表安全类
Populate(N,i,nnarray)
end if
end for
RandomSelect(chooseList)
*(从该安全类和其所有邻居的第d维数据中随机选取一个数据)*
从1到k+1中随机生成一个随机数,叫作i
returnchooseList[i-1]
Populate(N,i,nnarray)
*(从该安全类S[i]和其所有邻居中产生少数类样本)*
whileN≠0 do
cdimens=需要改变的维度数
flag[numdimens]:flag== 1 表示该维度不需要改变,初值为0
forattr← 1to(numdimens-cdimens) do
//保留原安全类中numdimens-cdimens个不同维度的数据
//不变
newS[newidex][d] =S[i][d] //随机选取一个在1和
//numdimens之间的数d,且flag[d]≠1
flag[d] = 1
end for
ford← 1 tonumdimensdo
ifflag[d]≠1
//从该安全类和其所有邻居的第d维的数据组成的列表中
//随机选取一个数据作为新生成样本newS的第d维数据值
chooseList= [S[i][d],S[nnarray[0][d] ,
S[nnarray[1][d],…,S[nnarray[k][d]]
newS[newindex][d]= RandomSelect(chooseList)
end if
end for
newindex++
N=N-1
end while
returnnewS
3 模型训练及参数设定
3.1 模型训练方法
理论上,深度学习模型性能会随着网络深度的加深而增强,但是更深的网络也意味着需要更大的数据集来支撑训练。目前绝大多数领域都无法提供足量的数据,迁移学习的引入,为数据相似度较高的领域提供了数据共享[18-19]的可能性。本文仿照迁移学习方法对模型进行训练,首先将经DMSMOTE扩增后的类平衡数据集用于对模型进行预训练,然后使用未经任何处理的原始顺序数据集对预训练后的模型进行微调。本文模型进行预训练的主要目的为学习类平衡数据集的结构,使卷积层权值靠近较优的(保持在有高梯度区间内)局部最优解,以便能够有效地对权值进一步微调。训练过程中使用基于小批量梯度下降的自适应动量估计(Adaptive moment estimation, Adam) 优化器对网络权值进行更新。
图3为具体训练流程。
1)使用经DMSMOTE扩增后的类平衡数据集,对整个模型进行预训练。保留预训练最后一个历元中part1和part2的神经网络权值,并将其作为微调初值。
2)将用于预训练的Softmax-1(图1)及其全连接层(dense-1),置换为用于微调的Softmax-2及dense-2。
3)使用原始顺序数据集,对置换了全连接及Softmax层的模型进行微调。
图3 模型训练方法解析
3.2 参数设定
参数设定是影响实验效果的关键因素。为了对不同层次时不变特征进行提取,按照一定步幅,对图1中三个独立的卷积神经网络中第一层卷积运算的卷积核尺寸进行设定。图1中标示了各卷积运算的卷积核大小、卷积核个数、步长(如 “conv 50,64,6”表示卷积核尺寸为50,个数为64,卷积运算步长为6 )。对于卷积运算中的补零(pading)规则,参数将全部设置为“SAME”。除此之外,图1中还标示了池化层中的池化尺寸和步长,全连接层和递归神经网络层的单元(cell)个数。
预训练的学习率设置为0.001,Adam优化器中参数beta1、beta2分别为0.9和0.999。预训练的历元(epoch)数为90,一个迭代(iteration)选取序列个数(batchsize)为10,每个序列长度30,梯度削波的阈值设为10。 DMSMOTE中的k值设置为3,模型中Dropout参数设置为0.5。Swish技术对应开启的缩放参数gamma(mean=1.0,variance=0.002)。对于微调训练,除历元数设为160,学习率设置为0.000 1,其他所有参数与预训练完全相同。
4 模型评估及实验分析
4.1 模型评估设计
为全面评估模型性能,会从宏观(总体)和微观(每类)两方面对模型进行评估。总体评估指标包括总体分类精度(Overall Accuracy, OA)以及宏平均F1值(Macro-averaged F1-score, MF1);对于每类评估,使用每类召回率(REcall, RE)、每类精度(PRecision, PR)、每类F1值(F1-score, F1)来评估模型性能。由于本文有五个分类,每类评估通过将其他各类当作负例(Negative),待评估类作为正例(Positive)进行评估。
各指标计算表达式如下:
PRi=TPi/(TPi+FPi)
(3)
REi=TPi/(TPi+FNi)
(4)
F1i=2PRi×REi/(PRi+REi)
(5)
(6)
(7)
式(3)~(7)中:TPi为i类真阳数,F1i为i类F1值,I为睡眠阶段总数,N为所有类的总样本数。公式中参数含义如表2所示。
表2 公式中各参数含义
为了在数据样本量较少时,最大化利用现有数据样本对模型进行合理评估,本文使用K折交叉验证(K-fold Cross Validation)来评估本文模型。
4.2 实验方案设计
为确定K折交叉验证实验最佳K值,对本文提出的模型分别进行5、10、15、20、25折交叉验证实验,得出15折交叉验证实验分类性能为最优。
为验证本文所提出的DMSMOTE及各种优化结构的合理性,所进行的主要实验如表3所示。其中“捷径连接”为模型中的7个捷径连接。
表3 实验设计
A、B、C、D、E这5组实验中,A实验所用的模型为理论最优模型。A组实验得出的结果一方面代表本文模型最优实验结果,一方面用于与其他四组作对比。五组实验皆采用15折交叉验证。为控制DMSMOTE生成类平衡数据的随机性,需要用到DMSMOTE构建的类平衡数据的实验(C、D),直接调用实验A中的类平衡数据。其他四组实验目的如下:
1)B组。B组采用MSMOTE对预训练中的少数类进行过采样。与实验A对比用以验证采用DMSMOTE进行过采样,相对于MSMOTE能否取得更好的效果。
2)C组。可验证结合DMSMOTE生成的类平衡数据对模型作预激活处理,对模型的分类效果是否具有提升作用,尤其是对少数类分类效果的影响。
3)D组。得出ReLU作为激活函数时模型的分类效果,并与A组模型的收敛速度以及分类效果作对比。
4)E组。得出移除7个捷径连接模块后模型的分类效果,与A组结果对比验证这种结构的合理性。
4.3 实验结果及分析
图4为5组实验得出的总混淆矩阵图,总混淆矩阵是由15折交叉验证中的每折验证集混淆矩阵相加得出的。第6列表示每类召回率(REi),第6行代表每类精度(PRi),6行与6列交汇处(各组混淆矩阵右下角)为总体精度(OA)。图4中A组实验结果的右侧为各组实验所得的MF1值。
图4 五组实验总混淆矩阵结果
从图4中各实验分类数据指标可直观看出:A组的分类效果明显优于E组;由此可知,模型中7个捷径连接模块的嵌入可优化训练,进而提升模型分类性能。
图4中A组与C组结果对比可知,采用DMSMOTE生成的类平衡数据对模型作预训练,然后再用原始数据对模型微调,获得的总体分类效果优于采用原始类不均衡数据直接对模型进行训练。为进一步验证采用DMSMOTE生成的类平衡数据作预激活处理,对数据集中少数类的影响;使用A、C两组实验结果中的每类指标进行分析。以W期F1值提升百分比为例,aF1W代表A组W期的F1值,cF1W代表C组W期的F1值,P代表A组W期F1值相对于C组提升百分比值,正值代表有所提升,负值代表下降。计算公式为:
(8)
表4为A实验相对C实验的每类指标(每类精度、每类召回率、每类F1值)提升百分比。
由表4可直观看出,使用DMSMOTE生成的类平衡数据对模型作预激活处理,相较于直接使用原始数据进行训练,对各类的分类效果都有所提升。其中占数据集总数最少的类(N1期)各指标提升幅度最大;REM期的召回率虽然有略微下降,但分类效果是提升的。由图4中A、C两组实验所得的总混淆矩阵也能看出,与C组实验结果相比,A组实验结果中各分类的真阳数都在增加;N1期被误分到其他期的数值,除N2期与C组保持持平,其他各期数目都有所下降。实验表明:使用DMSMOTE生成的类平衡脑电数据集用于预训练,在提升总体分类效果的同时,对各类别的分类效果都有所提升,且可大幅提升极少数类(N1期)的分类效果。
表4 用DMSMOTE生成的类平衡数据作预训练对各类分类效果提升 %
由图4中A、B两组实验结果对比可知,采用DMSMOTE生成的类平衡数据对模型作预训练,获得的总体分类效果优于MSMOTE。为进一步分析使用DMSMOTE生成的类平衡数据对模型作预激活处理对各类的提升效果(相对于MSMOTE),使用A、B两组的实验结果中的每类指标进行分析。表5为A实验相对B实验的每类指标(每类精度、每类召回率、每类F1值)提升百分比,计算公式与式(8)类似,正值代表有所提升,负值代表下降。
由表5结果可知,DMSMOTE用于对本文实验数据作过采样处理,相对于MSMOTE,对各分类的分类效果都有所提升,尤其对极少数类(N1)的提升较明显。综合总体和每类两方面的指标来看,DMSMOTE用于处理高维多分类脑电数据获得的性能较优。
由图4中A、D两组实验结果的对比可知:将两种激活函数分别应用于本文模型,Swish在本模型中所取得的分类效果略优。为进一步比较两激活函数对本文模型收敛速度的影响,对两组实验模型微调时的收敛效果进行对比。对比所采用的指标:
指标1 每个模型训练集平均损失函数曲线。该曲线由AverageLi组成。
Lij表示第i个历元第j折的损失函数值,第i个历元的平均损失值AverageLi的计算公式为:
(9)
指标2 每个模型训练集平均总体精度函数曲线。该曲线是由AverageOAi组成。
OAij表示第i个历元第j折的总体精度值,第i个历元的总体精度AverageOAi的计算公式为:
(10)
表5 DMSMOTE用于过采样相对于MSMOTE对各类指标的提升 %
图5为采用这两种指标的两模型微调收敛效果对比图,其中A、D两模型微调训练历元数分别为160、260。
图5(a)为依据指标1所绘制的曲线,图5(b)为依据指标2所绘制的曲线。由图5可直观看出,采用Swish函数作为本模型的激活函数,收敛速度明显高于使用ReLU函数。图5(a)底端的水平线(以ReLU作为激活函数所得第160个历元的训练损失平均值为纵坐标所作的水平线)也可看出,采用ReLU函数作为激活函数时,第160个历元的收敛效果与Swish函数作为激活函数的第110个历元的收敛效果相当。综合图4中的模型A、D分类效果以及图5中的收敛速度对比可知:作为本文模型所要使用的激活函数,Swish函数略优于ReLU函数。
图5 Swish和ReLU函数平均收敛速度对比
4.4 模型评估
为验证本文所提出的模型的有效性,将本文模型实验(实验A)结果,与近年采用Sleep-EDF数据集(Fpz-Cz通道)作为实验数据的研究成果进行比较。为客观评价各文献模型,只选取进行交叉验证实验的文献进行对比。多评价指标对比结果如表6所示。
表6的四组模型中,文献[3]使用的是人工设计特征的方法,文献[11]、[12]以及本文采用的是卷积神经网络自动提取特征的方式。本文方法相对于其他三种方法获得了更好的分类效果;除本文外,文献[12]所提出的模型分类效果最佳。相比文献[12]所提出模型的分类效果,本文模型OA和MF1两指标提升比例分别为5.74%、6.28%,同时也明显提升了数据集中极少数类N1期的分类效果(F1值提升幅度为15.21%)。
表6 近两年先进研究与本文结果对比
5 结语
本文设计一种基于深度学习和少数类生成技术的自动睡眠分期模型。实验表明,该模型能完成少量类不均衡原始睡眠脑电数据的高精度端到端分期。鉴于其端到端特性,该模型更适用于配备远程服务器的分体式便携睡眠监测设备。
本文提出DMSMOTE算法,并将其用于类不平衡脑电数据集中少数类的过采样。 DMSMOTE结合预训练的方法只能一定程度上减少类不均衡造成的影响,并不能避免这种分布造成的缺陷。以后的研究可通过采用集成学习算法技术对微调部分的分类器进行修改,以增强其对原始类不均衡微调数据集的适应性,最终达到提升模型分类效果的目的。
[10] WANG J, YU L C, LAI K R, et al. Dimensional sentiment analysis using a regional CNN-LSTM model [EB/OL]. [2017- 12- 11]. http://www.aclweb.org/anthology/P/P16/P16-2037.pdf.
[11] TSINALIS O, MATTHEWS P M, GUO Y, et al. Automatic sleep stage scoring with single-channel EEG using convolutional neural networks [EB/OL]. [2016- 10- 05]. http://xueshu.baidu.com/s?wd=paperuri%3A%284f2f11d92bb57d7a8b02a0ad792a9478%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fpdf%2F1610.01683&ie=utf-8&sc_us=3154002015441067732.
[12] SUPRATAK A, DONG H, WU C, et al. DeepSleepNet: a model for automatic sleep stage scoring based on raw single-channel EEG [J]. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2017, 25(11): 1998-2008.
[13] HU S, LIANG Y, MA L, et al. MSMOTE: improving classification performance when training data is imbalanced [C]// IWCSE ’09: Proceedings of the 2009 2nd International Workshop on Computer Science and Engineering. Washington, DC: IEEE Computer Society, 2009, 2: 13-17.
[14] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 770-778.
[15] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [EB/OL]. [2017- 12- 20]. http://proceedings.mlr.press/v37/ioffe15.pdf.
[16] RAMACHANDRAN P, ZOPH B, LE Q V. Swish: a self-gated activation function [EB/OL]. [2017- 10- 27]. http://xueshu.baidu.com/s?wd=paperuri%3A%2829e84daf3ac69561b1408e4fa0638c79%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fpdf%2F1710.05941v1&ie=utf-8&sc_us=7597521573451541055.
[17] HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors [J]. Computer Science, 2012, 3(4): 212-223.
[18] 王文朋,毛文涛,何建樑,等.基于深度迁移学习的烟雾识别方法[J].计算机应用,2017,37(11):3176-3181.(WANG W P, MAO W T, HE J L, et al. Smoke recognition based on deep transfer learning [J]. Journal of Computer Applications, 2017, 37(11): 3176-3181.)
[19] 李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(9):2508-2515.(LI Y D, HAO Z B, LEI H. Survey of convolutional neural network [J]. Journal of Computer Applications, 2016, 36(9): 2508-2515.)