【HUAWEI】HCIP-AI-MindSpore Developer V1.0 | 第一章 神经网络基础(4 生成对抗网络 ) | 学习笔记

目录

[第一章 神经网络基础](#第一章 神经网络基础)

[4 生成对抗网络](#4 生成对抗网络)

[▲ 生成对抗网络简介](#▲ 生成对抗网络简介)

GAN

生成对抗网络

GAN的基本结构

生成对抗网络目标函数

训练生成对抗网络

训练判别器

训练生成器

生成对抗网络训练中的问题

欠拟合以及过拟合的问题

生成对抗网络中的模式崩塌

生成对抗网络训练不稳定的问题

[第一章 测一测](#第一章 测一测)



第一章 神经网络基础

4 生成对抗网络

▲ 生成对抗网络简介

GAN

生成对抗网络( Generative Adversarial Network , GAN )最初由Goodfellow 等人于 2014 年提出,是近年来最流行的生成模型之一。生成对抗网络可以看作由两种模型组成,分别是++++生成模型++++ 和++++判别模型++++,通过生成模型和判别模型的博弈来进行训练。原始的生成对抗网络的目标是学习真实数据分布,生成和数据集中的图像相似但不完全相同的图像。

生成对抗网络

生成对抗网络( Generative Adversarial Network , GAN ) 是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。生成对抗网络由一个生成网络 G( Generator )与一个判别网络 D( Discriminator )组成

****◎****生成网络从潜在空间( latent space )中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。

****◎****判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。

生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

GAN的基本结构
生成对抗网络目标函数
训练生成对抗网络

训练生成对抗网络可以用基于成熟的梯度下降算法的优化器,例如Adam优化器。在训练时可以使用反向传播算法来更新参数。值得注意的是,和其他深度学习不同的是,由于生成模型和判别模型的目标不同,因此需要分开训练生成模型和判别模型。此外,由于一开始生成模型只能生成一些质量很差的图像例如噪声,而判别模型也只能判别噪声和真实图像,因此生成模型和判别模型需要交替训练,你追我赶,共同进化

训练判别器

训练判别器的目标是能**++++分辨真实图像和生成图像++++**。即当输入图像为真实图像时,希望输出结果越接近"1"越好,当输入生成图像时,希望输出越接近"0"越好。在训练判别器时,我们需要固定住生成器中的参数。

可以很直觉地理解:如果不固定生成器的参数,可以通过降低生成图像的质量来"帮助"判别器进行分辨。

训练生成器

训练生成器的目标是**++++能"骗过"判别器,让判别器判断不出真实图像和生成图像++++**。即当生成的图像进入判别器时,希望输出结果越接近"1"越好。在训练生成器时,我们需要固定判别器中的参数。

可以很直觉地理解:如果不固定判别器的参数,可以通过降低判别器的判别性能,把任何图像都当成真实图像。

生成对抗网络训练中的问题
欠拟合以及过拟合的问题

生成对抗网络中的欠拟合 :生成对抗网络无法生成高质量的图像。这是生成对抗网络中一直在研究的一个问题,即如何提高生成图像的质量。而导致欠拟合的很重要的原因之一就是模型的生成能力不足。因此,可以通过适当增加原始网络中隐藏层的层数以及神经元的数量来尝试缓解欠拟合的问题。此外还可以通过改变网络结构等方法来缓解欠拟合的问题,例如使用深度卷积生成对抗网络( DCGAN )。

生成对抗网络中的过拟合 :生成对抗网络生成的图像和数据集中的图像一致或仅进行了平移等。同样可以通过增加训练集的数量以及使用 Dropout 等方法来缓解过拟合的问题。

生成对抗网络中的模式崩塌

模式崩塌是生成对抗网络中非常特殊的一个问题,即模型无法生成多样性的图像。例如,如果将 MNIST 作为数据集,希望生成一个数字"0"到数字"9"的图像。生成模型很可能会"偷懒",只生成容易生成的数字,例如"1";而不去生成难度较大的数字,例如"8"。

可以很直觉地理解:只要生成模型生成质量足够好的" 1 ",同样能够达到"骗过"判别模型的目的。

模式崩塌是目前仍然尚待解决的问题,幸运的是,已经有很多论文提出了各种方法来缓解模型崩塌的问题。例如 VEEGAN , AdaGAN , MAD-GAN 等。

生成对抗网络训练不稳定的问题

梯度消失的问题:在刚开始训练生成对抗网络时,很容易出现梯度消失的问题。这是由于判别模型训练得"太好"或者"太差"导致生成模型无法继续训练。

难以收敛的问题:在训练生成对抗网络的后期,很可能出现生成模型难以收敛的问题。

目前,已经有很多论文提出改变生成对抗网络的目标函数来缓解生成对抗网络训练不稳定的问题。例如 LSGAN , WGAN , WGAN-GP 等。

第一章 测一测

说明:本文内容来源于网络,仅作为学习用途,如有侵权,请联系作者删除。

相关推荐
Dann Hiroaki2 小时前
笔记分享: 哈尔滨工业大学CS31002编译原理——02. 语法分析
笔记·算法
KhalilRuan2 小时前
Unity-MMORPG内容笔记-其三
笔记
九年义务漏网鲨鱼2 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
元宇宙时间3 小时前
Playfun即将开启大型Web3线上活动,打造沉浸式GameFi体验生态
人工智能·去中心化·区块链
开发者工具分享3 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
产品经理独孤虾3 小时前
人工智能大模型如何助力电商产品经理打造高效的商品工业属性画像
人工智能·机器学习·ai·大模型·产品经理·商品画像·商品工业属性
老任与码3 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
kfepiza3 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
蹦蹦跳跳真可爱5893 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij3 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm