基于带对称跨层连接的卷积神经网络半监督特征学习方法与流程

文档序号:15493320发布日期:2018-09-21 21:05阅读:412来源:国知局

本发明涉及图像半监督特征学习,尤其涉及基于带对称跨层连接的卷积神经网络(convolutionalneuralnetwork,cnn)半监督特征学习方法。



背景技术:

随着信息技术的不断飞速发展,各个领域每天都在以惊人的速度产生各种类型的图像数据。在大量的图像数据获取、传播过程中,如何更好地理解图像语义信息,并借此完成人类才可完成的任务,是现今人工智能与模式识别领域的重要挑战。人们迫切地希望计算机能够帮助人类更好地获取并利用海量图像数据。

互联网中的图像数据往往都是以没有类标的形式存在的,仅有少量结构化数据或用于科研的图像数据具有类标。因此如何使用大量无类标数据,辅助少量有类标数据的理解与学习,成为人工智能领域亟待解决的问题。图像的半监督特征学习作为利用无类标数据的重要方法,一直受到工业界和学术界的广泛关注,并经常作为各种图像相关国际学术会议的重要主题,是人工智能和模式识别领域一个非常重要的研究课题。其基础思想是利用无类标图像中提取出的结构信息,利用一定技术手段,将无类标信息与有类标数据特征相关联,从而辅助有类标图像的理解与学习。

近几年,基于深度神经网络,特别是深度卷积神经网络的方法广泛应用于许多计算机视觉和模式识别任务,在许多高层图像理解任务,如图像分类,图像分割等问题上取得令人瞩目的效果。但其仍有一些缺点使其在应用中收到限制,其中很重要的一点即是需要大量有类标图像数据。在有类标数据量有限的情况下,深度学习方法的表现往往不尽如人意。如何将半监督特征学习思想应用于深度学习领域,已成为当前研究热点,对积极推进社会信息化进程起到重要作用。在创造了无可替代的社会价值的同时,该领域仍有许多关键技术问题尚未解决,仍有许多功能实现需要进一步完善,因此,如何利用深度卷积神经网络,更有效地在半监督情况下对图像进行理解,以更灵活地实现计算机视觉的研究,具有深远的意义。



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于带跨层连接的卷积神经网络的半监督特征学习方法,通过在海量无类标数据中对卷积神经网络进行预训练,最终提高在有类标数据中的表现。

为了解决上述技术问题,本发明公开了一种基于带跨层连接的卷积神经网络(convolutionalneuralnetwork,cnn)的半监督特征学习方法,包含如下步骤:

步骤1,生成无类标和有类标数据集:采集有类标和无类标图像数据,对每张图像做随机裁剪和归一化处理,得到有类标图像集合x0和无类标图像集合y,根据图像分辨率大小,对集合y中图像进行不同的破坏,得到破坏后的无类标图像集x1,设z为有类标图像类标向量,z={z1,z2,…,zn},zi表示第i张图像类标,i取值为1~n,则(x1,y)组成用于非监督预训练的无类标训练数据集合,(x0,z)作为有监督训练的有类标训练数据集合;

步骤2,构建预训练图像恢复网络:根据输入图像大小构建图像恢复网络,设网络总深度为d层,d为偶数,其中前d/2层为卷积层,后d/2层为反卷积层,卷积核大小取为3x3,步长为1或2,根据网络深度和图像大小决定步长变化率。输入为步骤1中破坏后的图像集x1中的图像,输出为网络恢复后图像;

步骤3,训练图像恢复网络:使用adam(kingma,diederikp.,andjimmyba."adam:amethodforstochasticoptimization."arxivpreprintarxiv:1412.6980(2014).)优化算法,采用步骤1得到的训练集(x1,y)对步骤2所构建网络进行训练,以集合x1中受破坏图像作为输入,并以集合y中对应的无损图像作为网络监督信息,训练后记录图像恢复网络前d/2层每一层权重w和偏置b;

步骤4,构建有监督分类网络,以步骤2构建的图像恢复网络为模板,根据输入图像大小构建d/2层网络,均为卷积层,步长变化与步骤2中构建网络一致。并加入max-pooling层和softmax层,同时对卷积层参数使用步骤3中训练好网络对应权重w和偏置b进行初始化;

步骤5,训练分类网络,将步骤4中构建并初始化的分类网络使用adam优化算法,在有类标图像数据上进行训练,直到算法收敛。

步骤1具体包括如下步骤:

步骤1-1,采集有类标和无类标图像数据,对每幅图像进行裁剪,采用随机裁剪的方式,得到大小相同的图像块,其中图像块大小取决于原始图像大小和模型大小,对于小于50*50的低分辨率图像(如cifar-10数据集),裁剪大小为29*29,对于大于225*225高分辨率的自然图像(如pascalvoc数据集),裁剪大小为225*225,若分辨率在二者之间,则先进行缩放到相近分辨率,再进行裁剪。将裁剪后所有图像集合记为x’;

步骤1-2,将裁剪后的图像块进行归一化和中心化处理,首先计算裁剪后图像数据集合x’上每个像素的均值和标准差,设x’上的所有图像均值图像为标准差为std,对于一张特定图像x,对其进行归一化和中心化处理如下:

x′为图像x处理后的图像;处理后图像中,有类标图像集合记为x0,无类标图像集合记为y。

步骤1-3,对于有类标图像,将其处理后图像集合x0和对应类标向量z组成有类标训练数据(x0,z),z={z1,z2,…,zn},zi表示第i张图像类标。

步骤1-4,对于无类标图像集合y中的图像,进行破坏,加高斯噪声或将图像中像素值置为0,若裁剪后为低分辨率图像(分辨率小于50*50),则采取加高斯噪声方法,若裁剪后为高分辨率图像(分辨率大于等于50*50),则采取像素点置为0方法,置0的像素点为随机选取10个相邻的8*8区域,得到破坏后的无类标图像集x1,其与无类标图像集合y组成无类标训练数据集合(x1,y)。

步骤2具体包括如下步骤:

步骤2-1,设图像恢复网络总深度为d层,d为偶数,其中前d/2层使用卷积层,后d/2层使用反卷积层,卷积核大小为3x3,步长为1或2,每隔k层步长为1第k+1层步长为2,0<k<d/2-1,重复n次。k和n大小由网络深度和图像块大小决定:对于29*29低分辨率图像,k=4,n=3,对于225*225高分辨率图像,k=2,n=5,在每层卷积层和反卷积层之后添加batchnormalization层和relu(rectifiedlinearunit)非线性层,网络输入为步骤1中生成的破坏后的图像集合x1中图像,输出为网络恢复后图像。网络参数包括卷积层和反卷积层的权重w和偏置b,以及batchnormalization层权重γ和偏置β。

步骤2-2,每隔两层,在卷积层和反卷积层之间加入对称跨层连接:设coi表示第i层卷积层输出,dii代表第i层反卷积层输入,doi代表第i层反卷积层输出,则跨层连接表示为:

did-i+1=dod-i+coi,

则did+1为网络输出,co0为网络输入,第一次跨层连接从输入层开始连接到输出层,网络最终层输入与无损图像集合y中对应图像计算欧氏距离作为之后网络训练的损失函数

其中xi为图像集x1中第i张图像,yi为图像集y中第i张图像,为神经网络代表的函数,n为训练图像数量,θ为网络所有可训练参数,包括卷积层和反卷积层的权重w和偏置b,以及batchnormalization层权重γ和偏置β。

步骤3具体包括如下步骤:

步骤3-1,利用adam优化算法进行梯度反向传播训练神经网络,学习率设置为1e-4,训练持续n1轮(一般为20轮),在第n2轮(一般为第8轮)和第n3轮(一般为第16轮)结束后,学习率分别设置为1e-5和1e-6;;

步骤3-2,为说明带跨层连接的梯度反向传播步骤,设图像恢复网络深度为7层,以步骤2-2中方式添加跨层连接,设x0为网络输入,xi为第i层卷积层输出,跨层链接具体将x1连接到第5层输入,将x0连接到第7层输入。此时在前向计算时,得到图像恢复网络输出x7为:

x7=f7(x0,x6);

步骤3-3,将x7进一步展开表示为:

x7=f7(x0,x6)

=f7(x0,f6(x5))

=f7(x0,f6(f5(x1,x4)))

=f7(x0,f6(f5(x1,f4(x3))))

=f7(x0,f6(f5(x1,f4(fk(x2)))))

步骤3-4,在梯度反向传播时,网络中的第i层直接从其顶层获得梯度来更新该层的参数θi,在本方法中,θi具体包括卷积/反卷积层权重wi和偏置bi,以及batchnormalization层权重γi和偏置βi以该网络第一层为例,为更新第一层参数θ1需要计算损失函数ζ关于θ1的偏导数:

步骤3-5,在得到每一层对应顶层的偏导数之后,使用adam算法对应的更新规则更新每一层参数,训练在步骤1得到的无类标训练数据集合(x1,y)上进行,以x1中受破坏图像作为输入,以y中对应清晰图像作为监督信息以步骤3-4中方法更新参数,直到使用了所有训练数据训练20轮之后停止。

步骤4具体包括如下步骤:

构建有监督分类网络,先提取步骤3中训练好图像恢复网络卷积层参数w、b、γ和β,根据输入图像大小构建d/2层网络,每层均为卷积层,步长变化与步骤2中构建网络一致,其中在最后一层卷积层后加入最大值池化层(max-pooling)层,在其后根据分类任务类标数量n,n为有监督训练的有类标训练数据集合(x0,z)中类标向量z的最大可能取值,加入n类的softmax层。使用提取的参数w、b、γ和β,采用直接赋值的方式,将有监督分类网络对应参数初始化。

步骤5具体包括如下步骤:

训练分类网络,将步骤4中构建并初始化的分类网络使用adam优化算法在有类标训练数据集合(x0,z)上进行训练,初始学习率设置为1e-4,训练持续n4轮(一般为200轮),在第n5、n6和n7轮(一般n5为80、n6为120、n7为160)结束后,将当前学习率乘以0.2得到新学习率,n4轮后直到网络收敛。

本发明针对图像半监督特征学习的深度卷积神经网络方法,本发明具有如下特征:1)本发明在使用深度神经网络进行预训练时时,加入了跨层连接,使得网络可以更快收敛,同时使得网络中层特征可以保留更多图像抽象信息;2)本发明方法不同于以往针对特定数据类型的半监督特征学习方法,可以应用于几乎所有图像数据,具有普适性。

有益效果:本发明充分考虑了卷积神经网络逐层连接在非监督特征学习,加入跨层连接保证网络可以从无类标数据中提取出足够有用的抽象信息,从而更好地辅助有类标数据的分类,提升图像分类的准确率。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1为本发明流程图。

图2为网络结构示意图。

图3a为实施例中的一副原图。

图3b为图3a加噪声后图像。

图3c为图3a的恢复图像。

图4a为实施例中的一副原图。

图4b为实施例中的一副原图。

图4c为图4a对应的特征图。

图4d为图4b对应的特征图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1所示,本发明公开了一种基于带跨层连接的卷积神经网络的图像修复方法,包含如下步骤:

步骤1,生成无类标和有类标数据集:采集有类标和无类标图像数据,对每张图像做随机裁剪和归一化处理,得到有类标图像集x0和无类标清晰图像集合y,根据图像分辨率大小,对y中图像进行不同的破坏,得到破坏后无类标的图像集x1,设z为有类标图像类标向量,z={z1,z2,…,zn},zi表示第i张图像类标,则(x1,y)组成用于非监督预训练的神经网络的训练集,(x0,z)作为有监督训练的训练集;

步骤2,构建预训练图像恢复网络:根据输入图像大小构建,设网络总深度为d层,d为偶数,其中前d/2层为卷积层,后d/2层为反卷积层,卷积核大小取为3x3,步长为1或2,根据网络深度和图像大小决定步长变化率。输入为步骤1中破坏图像集x1中图像,输出为网络恢复后图像;

步骤3,训练图像恢复网络:使用adam(adaptivemomentestimation,自适应矩估计)优化算法,采用步骤1得到的训练集(x1,y)对步骤2所构建网络进行训练,以集合x1中受破坏图像作为输入,并以集合y中对应的无损图像作为网络监督信息,训练后记录图像恢复网络前d/2层每一层权重w和偏置b;

步骤4,构建有监督分类网络,以步骤2构建的图像恢复网络为模板,根据输入图像大小构建d/2层网络,均为卷积层,步长变化与步骤2中构建网络一致。并加入max-pooling层和softmax层,同时对卷积层参数使用步骤3中训练好网络对应权重w和偏置b进行初始化;

步骤5,训练分类网络,将步骤4中构建并初始化的分类网络使用adam优化算法,在有类标图像数据上进行训练,直到算法收敛。

步骤1具体包括如下步骤:

本步骤描述数据预处理过程,采集有类标和无类标图像数据,对每幅图像进行裁剪,采用随机裁剪的方式,得到大小相同的图像块,其中图像块大小取决于原始图像大小和模型大小,对于小于50*50的低分辨率图像(如cifar-10数据集),裁剪大小为29*29,对于大于225*225高分辨率的自然图像(如pascalvoc数据集),裁剪大小为225*225,若分辨率在二者之间,则先进行缩放到相近分辨率,再进行裁剪。将裁剪后所有图像集合记为x’;将裁剪后的图像块进行归一化和中心化处理,首先计算裁剪后图像数据集合x’上每个像素的均值和标准差,设x’上的所有图像均值图像为标准差为std,对于一张特定图像x,对其进行归一化和中心化处理如下:

x′为图像x处理后的图像;处理后图像中,有类标图像集合记为x0,无类标图像集合记为y。

对于有类标图像,将其处理后图像集合x0和对应类标向量z组成有类标训练数据(x0,z),z={z1,z2,…,zn},zi表示第i张图像类标。

对于无类标清晰图像集合y中的图像,进行破坏,加高斯噪声或将图像中像素值置为0,若裁剪后为低分辨率图像(分辨率小于50*50),则采取加高斯噪声方法,若裁剪后为高分辨率图像(分辨率大于等于50*50),则采取像素点置为0方法,置0的像素点为随机选取10个相邻的8*8区域。得到破坏后的无类标图像集x1,其与清晰图像集y组成无类标训练数据(x1,y)。

步骤2具体包括如下步骤:

本步骤描述对预训练神经网络模型的构建过程,设网络总深度为d层,d为偶数,其中前d/2层使用卷积层,后d/2层使用反卷积层,卷积核大小为3x3,步长为1或2,每隔k层步长为1第k+1层步长为2,0<k<d/2-1,重复n次。根据网络深度和图像块大小调整k和n大小。在每层卷积层和反卷积层之后添加batchnormalization层和relu(rectifiedlinearunit)非线性层。网络输入为步骤1中生成的破坏后的图像,输出为网络恢复后图像;每隔两层,在卷积层和反卷积层之间加入对称跨层连接。具体地,设coi表示第i层卷积层输出,dii代表第i层反卷积层输入,doi代表第i层反卷积层输出,则跨层连接可表示为:

did-i+1=dod-i+coi

特别的,did+1为网络输出,co0为网络输入,即第一次跨层连接从输入层开始连接到输出层。网络最终层输入与原图像数据集y中对应图像计算欧氏距离作为损失函数:

其中xi为无类标受损图像集x1中第i张图像,yi为无类标清晰图像集y中第i张图像,为神经网络代表的函数,n为训练图像数量,θ为网络所有可训练参数,包括卷积层和反卷积层的权重w和偏置b,以及batchnormalizatiion层权重γ和偏置β。

图2是网络结构简单示意图,左边图中,corrupteddata是网络输入数据,restoreddata是网络输出数据,conv1,conv2以及c3…c6为卷积层,d3…d6,,deconv1,deconv2为反卷积层。右边图描述一个跨层连接的细节,图中conv为卷积层,deconv为反卷积层,relu和batchnorm分别代表relu层和batchnormalization层。

步骤3具体包括如下步骤:

本步骤描述对预训练神经网络模型的训练过程,利用adam优化算法进行梯度反向传播训练神经网络,学习率设置为1e-4。训练持续20轮,在第8轮和第16轮结束后,学习率分别设置为1e-5和1e-6。

为说明带跨层连接的梯度反向传播步骤,设该网络深度为7层,以步骤2-2中方式添加跨层连接,设x0为网络输入,xi为第i层卷积层输出,跨层连接具体将x1连接到第5层输入,将x0连接到第7层输入。此时在前向计算时,得到图像恢复网络输出x7为:

x7=f7(x0,x6)

x7可以进一步表示为:

x7=f7(x0,x6)

=f7(x0,f6(x5))

=f7(x0,f6(f5(x1,x4)))

=f7(x0,f6(f5(x1,f4(x3))))

=f7(x0,f6(f5(x1,f4(fk(x2)))))

其中x1和x2表示第1、2个卷积层得到的特征图。

在梯度反向传播时,网络中的第i层直接从其顶层获得梯度来更新该层的参数θi,在本方法中,θi具体包括卷积/反卷积层权重wi和偏置bi,以及batchnormalization层权重γi和偏置βi以该网络第一层为例,为更新第一层参数θ1需要计算损失函数ζ关于θ1的偏导数:

在得到每一层对应顶层的偏导数之后,使用adam算法对应的更新规则更新每一层参数,训练在步骤1得到的无类标数据集合(x1,y)上进行,以x1中受破坏图像作为输入,以y中对应清晰图像作为监督信息以步骤3-4中方法更新参数,直到使用了所有训练数据训练20轮之后停止。

步骤4具体包括如下步骤:

本步骤描述有监督分类网络的构建过程,先提取步骤3中训练好图像恢复网络卷积层参数w、b、γ和β,根据输入图像大小构建d/2层网络,每层均为卷积层,步长变化与步骤2中构建网络一致,其中在最后一层卷积层后加入最大值池化层(max-pooling)层,在其后根据分类任务类标数量n,n为有监督训练数据(x0,z)中类标向量z的最大可能取值,加入n类的softmax层。使用提取的参数w、b、γ和β,采用直接赋值的方式,将有监督分类网络对应参数初始化。

步骤5具体包括如下步骤:

本步骤描述有监督分类网络的训练过程,将步骤4中构建并初始化的分类网络使用adam优化算法在有类标图像数据集(x0,z)上进行训练,初始学习率设置为1e-4,训练持续n4轮(一般为200轮),在第n5、n6和n7轮(一般n5为80、n6为120、n7为160)结束后,将当前学习率乘以0.2得到新学习率,n4轮后直到网络收敛。

实施例1

本实施例描述cifar-10上的半监督特征学习,包括以下部分:

1、首先将cifar-10数据集中50000张自然图像均匀地分为两部分,一部分包含4000张有类标图像,另一部分包含46000张无类标图像。

2、对于每张32*32大小的无类标图像,在训练时,随机截取29*29的图像块,在图像上附加均值为0,标准差为30的高斯噪声。对于加噪声后的图像和不加噪声的图像分别进行归一化,形成无类标训练集。

3、构建18层带跨层连接的卷积神经网络,使用adam算法在生成的无类标图像上进行训练。网络收敛后保留前9层,利用其网络权重构建对应的分类网络。

4、在另外4000张有类标图像上训练分类网络,使用adam算法训练直到收敛,在原始图像的50000张测试集上进行测试,并报告准确率如下表1:

表1

其中最后一行是该方法准确率,可以看到该方法达到目前很多利用gan进行的半监督学习准确率且相比不使用预训练(nopre-training行)和不加跨层连接(pre-trainingwithoutshortcut行)相同网络,准确率均有较大提升。

实施例2

本实施例描述利用imagenet数据集和pascalvoc2007数据的大规模半监督特征学习,包括以下部分:

1、首先在imagenet自然图像数据集上,随机截取225*225的图像块,对于每个图像块将其随机35个8*8图像区域像素置为0,对于置0处理的图像和原始图像分别进行归一化,形成无类标训练集。

2、构建32层带跨层连接的卷积神经网络,使用adam算法在生成的无类标图像上进行训练。网络收敛后保留前16层,利用其网络权重构建对应的分类网络。

3、对pascalvoc2007自然图像数据,随机截取225*225的图像块,并将图像块以50%概率进行水平翻转并归一化后,得到有类标数据。

4、在生成的有类标数据上训练分类网络,使用adam算法训练直到收敛,使用测试集进行测试,并报告准最终确率如下表:

表2

其中最后一行是本方法准确率,可以看到该方法比目前同类方法准确率高1%左右,且相比不加跨层连接(ourswithoutshortcut行)相同网络,准确率均有较大提升。图3a~图3c是该实施例预训练网络对图像的恢复效果,图3a为原图,图3b为加噪声后图像,图3c为恢复图像,可以看到预训练网络可以很好地学习到图像细节信息。图4a~图4d是该实施例学习到的特征可视化效果,图4a和图4b为原图,图4c和图4d分别为图4a和图4b对应的特征图,每一张图像中的狗脸部分在特征图中都十分明显,可以说明该方法学习到的特征很好地捕捉到了图像深层语义信息。

本发明提供了基于带对称跨层连接的卷积神经网络半监督特征学习方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1