没有合适的资源?快使用搜索试试~ 我知道了~
基于子样本集构建的DCGANs训练方法.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 124 浏览量
2023-02-23
20:17:57
上传
评论
收藏 342KB DOCX 举报
温馨提示
试读
21页
基于子样本集构建的DCGANs训练方法.docx
资源推荐
资源详情
资源评论
生成式对抗网络(Generative adversarial networks, GANs)
[1]
是 2014 年 Goodfellow 等依据
零和博弈思想和纳什均衡原理提出的一种数据生成模型, 该模型
[1-4]
由生成器网络
(Generative net)和判别器网络(Discriminative net)组成. 生成器 GG 网络通过输入随机向量
zz 使得输出值 G(z)G(z)尽可能符合训练图像分布, 判别器 DD 网络对输入的测试样本尽可
能判别出测试样本的来源(即训练图像样本集或生成图像样本集). GANs 的最终目的是通过
充分训练, 使得 GG 网络和 DD 网络达到纳什均衡状态, 从而使得 DD 网络难以判别出输入
的采样样本的来源, GG 网络生成的样本分布逼近或相同于训练样本集分布.
GANs 是一种经典有效的新型数据生成模型, 但为使得生成样本集分布与训练样本集
分布相近或相同, 在模型的优化与训练上依然比较困难
[1]
. 主要原因在于 GG、DD 网络通常
使用深度神经网络, 因此会体现出深度神经网络训练中的问题, 如难以训练、学习时间长、
收敛较慢、训练最终效果难以控制等; 在优化器优化损失函数的时候可能出现梯度消失的
问题
[1-2]
, 从而导致 GG 和 DD 网络未达到训练要求前过早进入平稳状态, 使得训练失效;
GANs 在优化器优化损失函数时只会找低损失点, 不会找真正意义上的纳什均衡点
[5]
, 可能
导致对抗学习偏离纳什均衡点, 增大生成图像分布与训练图像分布的差距.
为使得 GANs 图像生成效果更好, 学者做出了一些改进工作, 通常改进的是网络结
构、目标优化函数或网络的训练方式. Mirza 等
[6]
提出一种 CGANs 模型, 它的损失函数带有
条件约束, 在 GG 网络和 DD 网络之中引入条件变量, 从而将无监督 GANs 变成有监督
GANs. Radford 等
[7]
使用卷积神经网络(CNN)作为 GG 网络和 DD 网络, 提出了 DCGANs
(Deep convolutional generative adversarial networks)模型, 并且 GG 网络和 DD 网络中的 CNN
去掉了池化处理和全连接层使得 GANs 图像生成质量得以提高. Denton 等
[8]
提出了一种金字
塔 LAPGANs 模型, 其结合了 CGANs 和 GANs 的一些优点, 使用一系列的 GANs 来生成质
量更高的自然图像. Odena
[9]
设计出 SGANs, 使用半监督的方式使得 GG 网络和 DD 网络可
以同时训练, 相互促进相互学习, 能够明显改变生成的图像质量和学习的时间代价.
Donahue 等
[10]
提出了一种双向结构的 BiGANs, 增加了 EE 网络(编码机)作为特征提取器, 用
于将 GANs 要生成的数据空间中的数据逆映射回隐藏编码空间, 能够在实际场景中的自然
图像达到好的效果. Zhang 等
[11]
提出的 StackGAN 由两层 CGANs 组成, 可以生成非常真实
的自然图像. Chen 等
[12]
提出的 InfoGAN 中, GG 网络的输入信息 zz 加入了隐含约束信息 cc,
能更好地解释 zz 的语义信息, 也能得到内容更丰富的生成图像. Qi
[13]
和 Arjovsky 等
[14]
分别
提出的 LSGANs 和 WGANs 主要是通过优化函数进行性能提升, 前者主要针对了 GG 网络
的过拟合问题, 后者主要针对了整个网络的梯度消失问题. Yu 等
[15]
提出的 SeqGANs 通过改
变网络结构和优化函数, 缓解了 GG 网络输出值离散化后, DD 网络难以回传梯度对 GG 网
络进行参数更新的问题. 王功明等
[16]
在借鉴 EBGANs 的思想, 重新设计了一种能量重构误
差损失函数, 在学习效率和图像生成质量上有所提高.
Salimans 等
[5]
除将 DD 网络损失函数改为半监督形式外, 也更改了它的训练方式, 对其
使用 MiniBatch 的训练方法, 每次判别网络输入一批图像进行判别, 更改 DD 网络损失函数
正负样本概率权重, 在每次馈入的 Batchsize 个样本训练之前做 Normalize 处理. Do-Omri
[17]
将深度神经网络中的自训练(Self-training)过程融入到针对半监督任务 GANs. Gulrajani 等
[18]
使用梯度惩罚方法替代了 DD 网络中权重剪枝的过程, 提高了 WGANs 的稳定性. Daskalakis
等
[19]
针对 WGANs 中的极限循环问题, 使用 OMD (Optimistic mirror decent)来改进训练
WGANs. Mescheder 等
[20]
使用 DD 网络参数正则化策略稳定 GANs 的训练, 并且指出实例噪
声(Instance noise)或零中心梯度惩罚的 GANs 训练上是收敛的.
上述 GANs 相关文献从网络结构、优化函数、训练方式的改进使得 GANs 性能有所提
升. 训练方式的改进主要对网络内部中间数据进行处理, 或网络中间层数据处理策略的改
进. 本文通过对 GANs 外部数据(训练样本集)进行干预, 提出一种基于训练样本集特征分布
的子样本集构建的训练方法. 先计算出整个训练样本集在选取的特征空间中的概率分布, 再
对每次馈入(feed)生成器 GG 的 Batchsize 个数据构建成与训练集分布差异更小的子样本集.
使得在每次 epoch 内, 每个 Batchsize 大小的子样本集分布均与训练样本集分布相似. 最后
在卡通人脸数据集和 Cifar10 数据集上的实验结果表明, 相对于原有的训练方法, 本文能够
取得更好的生成图像.
1. DCGANs 训练过程及子样本集分布
DCGANs 模型的生成器 GG 和判别器 DD 使用了去除池化层和全连接层的深度卷积神
经网络
[7]
代替多层感知机网络, 使得整个网络连续可微. GG 网络和 DD 网络的损失函数分别
为:
lossD=1b∑j=1b[lnD(xj)+ln(1−D(G(zj)))]lossD=1b∑j=1b[lnD(xj)+ln(1−D(G(zj)))]
(1)
lossG=1b∑j=1bln(1−D(G(zj)))lossG=1b∑j=1bln(1−D(G(zj)))
(2)
其中, bb 是每次馈入的数据量, 整个对抗网络的博弈损失函数为:
minGmaxD=EX∼FX(x)[lnD(x)]+EZ∼FZ(z)[ln(1−D(G(z)))]minGmaxD=EX∼FX(x)[lnD(x)]+EZ∼FZ(z)[ln(1−D(G(z)))]
(3)
V(D,G)V(D,G)是一个二元极小极大零和博弈函数, E(⋅)(⋅)为期望函数. 损失函数最终目
的为使得 G(Z)G(Z)的分布函数 FG(x)FG(x)趋近于训练样本集 XX 的分布 FX(x)FX(x), 或
G(Z)G(Z)的概率密度函数 fG(x)fG(x)趋近于训练样本集 XX 的概率密度函数 fX(x)fX(x).
1.1 DCGANs 的训练过程
DCGANs 的训练过程就是利用训练样本集 XX 对损失函数的优化过程. 主流的神经网
络优化方法是梯度下降法
[20-24]
, 它主要有全样本梯度下降(Gradient descent, GD)、随机梯度
下降(Stochastic gradient descent, SGD)、批梯度下降(Batchsize gradient descent, BGD). 其中
SGD
[22]
每次馈入极少量样本进行训练, 这种方法对内存要求少, 收敛速度很快, 但更容易陷
入局部最优. BGD
[21, 23-25]
每次馈入较大数据量进行训练, 它综合考虑了梯度估计准确性、收
敛速度、训练效果等因素. 在原 DCGANs 训练过程中使用的是动量最小批 SGD 方法
[7]
.
在选取优化方法后, 确定 Batchsize、epoch、学习率等超参数, 下面分析数据的馈入过
程. DCGANs 的训练示意图如图 1 所示. 每个 epoch 训练顺序馈入子样本
集, Xi(i=1,2,⋯,m)Xi(i=1,2,⋯,m).
图 1 DCGANs 训练示意图
Fig. 1 Schematic diagram of DCGANs training
下载: 全尺寸图片 幻灯片
m=⌊nBatchsize⌋m=⌊nBatchsize⌋
(4)
其中, nn 为训练样本总数, mm 为子样本集个数, Batchsize 为每次馈入的样本数量. 每
次 epoch 训练, 遗漏的样本数为 nmodBatchsizenmodBatchsize. 所以每个 epoch 样本覆盖
率为:
ω=(n−n mod Batchsize)n×100%ω=(n−n mod Batchsize)n×100%
(5)
每次 epoch 训练结束后, DCGANs 的生成器网络 GG 对应一个生成样本分布
fG(x)fG(x). 由于在每个 epoch 训练中, 每次馈入子样本集 XiXi 后 GG 网络将模拟 XiXi 的分
布 fXi(x)fXi(x). 因此每次 epoch 训练后 GG 网络模拟的分布是这 mm 个子分布 fXi(x)fXi(x)
效果总和. 通过若干次 epoch 训练使得 fG(x)fG(x)与训练样本集 fX(x)fX(x)尽可能相似. 即:
fG(x)=⊕mi=1fXi(x)fG(x)=⊕i=1mfXi(x)
(6)
minG(|fG(x)−fX(x)|)minG(|fG(x)−fX(x)|)
(7)
其中, 式(6)(6)中"⊕⊕"指每个 epoch 内 DCGANs 模拟子分布
fXi(x)(i=1,2,⋯,m)fXi(x)(i=1,2,⋯,m)效果的总和. 式(7)(7)中|⋅||⋅|函数是分布距离度量函数.
1.2 子样本集分布与训练效果
由式(6)可知, 生成样本集分布 fG(x)fG(x)与子样本集 XiXi 的分布 fXi(x)fXi(x)有直接关
系. 本节将讨论子样本集分布对网络训练效果的影响. 命题 2 讨论每个 epoch 内馈入的子样
本集 XiXi 对训练效果的影响. 由于上述问题均是在概率统计基础上的讨论, 因此需要先证
明 G(Z)G(Z)是随机变量(命题 1), 证明命题 1 需要引用以下 3 个引理.
引理 1
[26]
. 可测集上的连续函数是可测函数.
引理 2
[27]
. 若 XX 为可测空间(Ω,F)Ω,F)上的随机变量, g(x)g(x)是可测函数, 则
Y=g(X)Y=g(X)是(Ω,F)Ω,F)上的随机变量.
引理 3
[27]
. 设 X1,X2,⋯,XkX1,X2,⋯,Xk 是可测空间(ΩΩ, F) 上的随机变
量, g(x1,x2,⋯,xk)g(x1,x2,⋯,xk)是 kk 元可测函数, 那么 Y=g(X1,X2,⋯,Xk)Y=g(X1,X2,⋯,Xk)是
(Ω,F)(Ω,F)上的随机变量.
命题 1.DCGANs 中 GG 网络生成的图像 G(Z)=(Q1,G(Z)=(Q1, Q2,⋯,Ql)Q2,⋯,Ql)是 ll 维
随机变量, 其中 ll 是 GG 网络输出神经元个数, QiQi 是第 ii 个像素值.
证明. GG 网络的直接输出值 G∗(z)G∗(z)由多个神经元输出值 Ni(z)Ni(z)组成, 即,
G∗(z)={Ni(z)|i=1,2,3,⋯,l}G∗(z)={Ni(z)|i=1,2,3,⋯,l}
(8)
因为 GG 网络去掉了池化层
[3]
, GG 网络连续可微可导.
所以 Ni(z)Ni(z)连续可微可导.
将其展开即 Ni(z1,z2,⋯,zk)Ni(z1,z2,⋯,zk)连续可微可导, 其中 kk 为随机向量 zz 的维度.
又因为 z1,z2,⋯,zkz1,z2,⋯,zk 各自的取值范围是可测集.
从而由引理 1 可知 Ni(z1,z2,⋯,zk)Ni(z1,z2,⋯,zk)是可测集上的 kk 元可测函数.
因为 Z1,Z2,⋯,ZkZ1,Z2,⋯,Zk 是随机变量.
由引理 3 可知 Ni(Z1,Z2,⋯,Zk)Ni(Z1,Z2,⋯,Zk)是随机变量.
所以 G∗(Z)G∗(Z)是 ll 维随机变量.
将 GG 网络直接输出值 G∗(z)G∗(z)转化成图像样本 G(z)G(z)时, 需要对 Ni(z)Ni(z)函数
值进行线性变换为[0, 255]区间的像素值, 记神经元 Ni(z)Ni(z)的值域为[n1,n2][n1,n2], 它的
输出值为 nini, 则线性变换函数为:
q(ni)=255×ni−n1n2−n1q(ni)=255×ni−n1n2−n1
(9)
显然 q(⋅)q(⋅)函数是可测集上的连续函数, 结合引理 1 知, 它是可测函数.
因为 NiNi 是随机变量.
那么由引理 2 知, Qi=q(Ni)Qi=q(Ni)为随机变量.
所以 GG 网络的生成图像 G(Z)=(Q1,G(Z)=(Q1, Q2,⋯,Ql)Q2,⋯,Ql)是 ll 维随机变量.
由第 1.2 节分析可知, 神经网络每次 epoch 训练过程中需要馈入若干组 Batchsize 大小
的子样本图像集 XiXi. 因此将讨论 XiXi 和总体训练图像集 XX 的相似度与 fG(x)fG(x)和
fX(x)fX(x)相似度关系. 由于涉及概率分布之间相似度度量, 需先引入 KLKL 距离概念.
定义 1. KLKL 距离(Kullback-Leibler divergence), 也叫相对熵(Relative entropy), 其定
量计算了同一事件空间中两个不同的概率分布的差异程度. 记两个概率密度函数分别为
fX(x)fX(x)和 gX(x)gX(x), KL(fX(x)||gX(x))KL(fX(x)||gX(x))表示它们的 KLKL 距离, 那么:
KL(fX(x)||gX(x))=∑x∈XfX(x)lnfX(x)gX(x)KL(fX(x)||gX(x))=∑x∈XfX(x)lnfX(x)gX(x)
(10)
KLKL 距离具有非负性, 但不满足距离定义中的对称性和三角不等式. 在实际操作中,
生成图 G(z)G(z)和训练图像集 xx 是随机样本值, 计算它们两组同维度图片概率分布时, 为
了降低难度可以使用其在特征空间中的概率分布表征.
命题 2. DCGANs 训练过程中依次馈入大小为 Batchsize 的训练图像子样本集 XiXi 时,
子样本集 XiXi、训练集 XX、生成集 G(ZG(Z)它们之间的关系
为, KL(fXi(x)||fX(x))∝KL(fG(x)||fX(x))KL(fXi(x)||fX(x))∝KL(fG(x)||fX(x)).
证明. DCGANs 训练过程中每次 epoch 依次馈入子样本集 XiXi 时(i∈[1,m])(i∈[1,m]),
网络损失函数梯度估计值为 g(Xi,Zi)g(Xi,Zi).
所以每训练一个 epoch, 共训练 mm 个 Batchsize 大小的子样本集 XiXi 后, GG 网络梯
度估计值的总和为∑mi=1g(Xi,Zi)∑i=1mg(Xi,Zi), 与之对应的梯度估计方差为
var(∑mi=1g(Xi,Zi))(∑i=1mg(Xi,Zi)).
继而讨论以下两种子样本集对训练结果的影响.
记两种子样本集{X1i}m{X1i}m 和{X2i}m{X2i}m, 满足如下两个条件:
KL(fX1i(x)||fX(x))≥KL(fX2i(x)||fX(x))KL(fX1i(x)||fX(x))≥KL(fX2i(x)||fX(x))
(11)
var(∑i=1mX1i)≥var(∑i=1mX2i)var(∑i=1mX1i)≥var(∑i=1mX2i)
(12)
两种子样本集对应的概率密度函数分别为{fX1i(x)}m{fX1i(x)}m 和
{fX2i(x)}m{fX2i(x)}m. 即相较于子样本集{X1i}m{X1i}m, {X2i}m{X2i}m 有更好的同分布性
以及更趋近于 fX(x)fX(x).
因为 var(g(Xi,Zi))var(g(Xi,Zi))正相关于 var((Xi,Zi))var((Xi,Zi)), 且式(12)为已知条件.
所以,
var(∑i=1mg(X1i,Zi))≥var(∑i=1mg(X2i,Zi))var(∑i=1mg(X1i,Zi))≥var(∑i=1mg(X2i,Zi))
(13)
所以在梯度估计精度及平稳性上, 子样本集{X1i}m{X1i}m 差于子样本集
{X2i}m{X2i}m.
由式(6)可知, DCGANs 是通过模拟 fXi(x)fXi(x)总的影响和得到 fG(x)fG(x).
那么 KL(fG1(x)||fX(x))≥KL(fG2(x)||KL(fG1(x)||fX(x))≥KL(fG2(x)|| fX(x))fX(x)).
又因为式(11)为已知条件.
所以 KL(fXi(x)||fX(x))KL(fXi(x)||fX(x))与 KL(fG(x)||fX(x))KL(fG(x)||fX(x))是正相关,
即 KL(fXi(x)||fX(x))∝KL(fG(x)||KL(fXi(x)||fX(x))∝KL(fG(x)|| fX(x))fX(x)).
由上述 2 个命题的证明可知, DCGANs 中的 GG 网络输出的生成样本 G(Z)G(Z)是多维
随机变量. 当 KL(fXi(x)||fX(x))∝KL(fG(x)||fX(x))KL(fXi(x)||fX(x))∝KL(fG(x)||fX(x))时, 有利
于达到 DCGANs 训练目的, 即 fG(x)≈fX(x)fG(x)≈fX(x). 也就是说, 子样本图像集 XiXi 与训
练集 XX 的分布相似, 即 fXi(x)fXi(x)与 fX(x)fX(x)越相似, 越有利于 fG(x)fG(x)逼近
fX(x)fX(x). 因此, 如果人为构建子样本集 XiXi 使其独立同分布且 fXi(x)fXi(x)尽量与
fX(x)fX(x)相似, 更有利于 DCGANs 的训练.
剩余20页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3905
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功