0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

「自行科技」一文了解生成式对抗网络GAN

自行科技 来源:自行科技 作者:自行科技 2022-09-16 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、什么是GAN网络

生成式对抗网络(Generative adversarial network, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。

主要包含两个模块:生成器(Generator)和判别器(Discriminator)。生成器要不断优化自己生成的数据让判别器判断不出来,判别器也要进行优化让自己判断得更准确。二者关系形成对抗,因此叫生成式对抗网络。

二、 GAN的意义及用途

意义:GAN网络可以帮助我们建立模型,相比于在已有模型上进行参数更新的传统网络,更具研究价值。同时,GAN网络是一种无监督的学习方式,它的泛化性非常好。用途:(1)数据生成,主要指图像生成。图像生成:基于训练的模型,生成类似于训练集的新的图片。

文本描述生成图像:给定一个文本描述句,生成符合描述句内容的图像。

(2)图像数据增强:增强图像中的有用信息,改善图像的视觉效果。

(3)图像外修复:从受限输入图像生成具有语义意义结构的新的视觉和谐内容来扩展图像边界。

(4)图像超分辨率:由一幅低分辨率图像或图像序列恢复出高分辨率图像。

(5)图像风格迁移:通过某种方法,把图像从原风格转换到另一个风格,同时保证图像内容没有变化。

三、 GAN的发展

自2014年GAN的第一次提出,GAN在图像领域、语音与自然语言处理(Natural language processing, NLP)领域以及其他领域开始快速发展,衍生出了一系列模型。其中,比较流行的有DCGAN(Deep convolutional generative adversarial networks),StyleGAN,BigGAN,StackGAN,Pix2pix,CycleGAN等。

DCGNN:这是第一次在GAN中使用卷积神经网络(Convolutional neural network, CNN)并取得了非常好的结果。它是GAN研究的一个里程碑,因为它提出了一个重要的架构变化来解决训练不稳定,模式崩溃和内部协变量转换等问题。从那时起,基于DCGAN的架构就被应用到了许多GAN架构。StyleGAN:GAN研究领域的重大突破,在面部生成任务中创造了新纪录。算法的核心是风格转移技术或风格混合。除了生成面部外,它还可以生成高质量的汽车,卧室等图像。BigGAN:用于图像生成的最新进展,生成的图像质量足以以假乱真,这是GAN首次生成具有高保真度和低品种差距的图像。StackGAN:2017年,由“StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks”论文中提出。作者使用StackGAN完成文本到图像的生成过程,并得到了非常好的结果。Pix2pix:对于图像到图像的翻译任务,Pix2pix也显示出了令人印象深刻的结果。无论是将夜间图像转换为白天的图像还是给黑白图像着色,或者将草图转换为逼真的照片等,Pix2pix都呈现出很好的效果。CycleGAN:将对偶学习与GAN进行结合,能将一类图片自动转化为另一类图片。其中对偶学习是一种类似于双语翻译任务的双重学习机制,利用原始任务和双重任务之间的反馈信号对模型进行训练。与输入必须是成对数据的Pix2pix模型相比,CycleGAN对非成对数据也能进行训练,更具普适性。

四、 GAN的网络结构

在介绍GAN网络结构之前,我们先了解两个概念:生成器和判别器。

生成器:输入为随机数据,输出为生成数据(通常是图像)。通常这个网络选用最普通的多层随机网络即可,网络太深容易引起梯度消失或者梯度爆炸。判别器:我们把生成器生成的数据称为假数据,对应的,来自真实数据集的数据称为真数据。判别器输入为数据(这里指代真实图像和生成图像),输出是一个判别概率。需注意的是,这里判别的是图像的真假,而非图像的类别。输入一个图片后,我们并不需要确认这张图片是什么,而是判别图像来源于真实数据集,还是由生成器输出得到。网络实现同样可用最基本的多层神经网络。

bb7607ac7e3f45a7b627be478f55c561~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=XSCePeGgL%2Fils61w%2FwM2YlXaCTU%3D

图1 GAN网络结构

GAN 的主要思想就是在生成数据的过程中加入一个可以判断真实数据和生成数据的判别器,使生成器和判别器相互对抗,判别器的作用是努力地分辨真实数据和生成数据,生成器的作用是努力改进自己从而生成可以迷惑判别器的数据。GAN的网络结构如图1所示。GAN网络结构主要包含判别器D和生成器G,判别器D和生成器G通常由包含卷积或全连接层的多层网络实现。判别器D:使用了混合整流器线性激活函数和sigmoid激活函数,输入为真实数据x和生成器G输出的假数据G(z)。目标是实现对数据来源的二分类判别:真(来源于真实数据的分布)或者假(来源于生成器的假数据G(z))生成器G:使用了maxout激活函数,输入为随机噪声z。目标是使自己生成的假数据G(z)在D上的表现D(G(z)),和真实数据x在D上的表现D(x)一致。GAN的训练包括两个方面:最大化判别器分类准确率的判别器的参数和找到最大程度混淆判别器的生成器的参数。当更新一个模型生成器的参数时,另一个模型判别器的参数是固定的,反之亦然。通常是两个网络单独且交替训练,先训练判别器,再训练生成器,再训练判别器,如此反复,直到达到纳什均衡。

6dc17019175b4ac8a23857844b7c398b~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=fOusrrd58047vGm0V4AzJoBvohY%3D

图2 生成器样本示例

GAN网络训练用到的数据集:MNIST,the Toronto Face Database(TFD)和CIFAR-10数据集。图2展示了经过训练后从生成器中抽取的样本示例,其中,最右边的列显示了邻近样本的最近训练示例,以证明模型没有记忆训练集。样本是公平随机抽取,而不是精心挑选。图2中,a)表示GAN网络在MNIST数据集上的生成效果,b)表示GAN网络在TFD数据集上的生成效果。c)和d)均表示GAN网络在CIFAR-10数据集上的生成效果,只是c)中GAN网络采取全连接模型,而d)中是卷积判别器和反卷积生成器。在使用GAN进行图像生成任务时,比较典型的网络结构有DCGAN网络和基于先验知识的StackGAN网络。DCGAN将CNN与GAN进行了融合,利用CNN强大的特征提取能力来提高GAN的学习效果。DCGAN主要是在网络结构上对 GAN 进行了改进。生成器相当于反卷积网络,而判别器相当于卷积网络。DCGAN的生成器网络结构如图3所示。

1ed704fcb2cd4b13b22cf8d3dc2f2351~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=JDbHAdZuTP%2ByMjRLlII9cUZ24%2Bk%3D

图3 DCGAN生成器网络结构

DCGAN网络最先采用CNN结构实现GAN模型,介绍了如何使用卷积层,并给出一些额外的结构上的指导建议来实现。另外,它还讨论如何可视化GAN的特征、隐空间的插值、利用判别器特征训练分类器以及评估结果。关于DCGAN的应用主要集中在图像处理方面,可以说这个模型是最典型、应用最广泛的GAN变种模型。StackGAN是一种新的堆叠生成对抗网络,用于从文本描述合成照片真实感图像,其网络结构如图4。StackGAN首次从文本描述生成256×256分辨率的图像,且生成的图像具有照片般逼真的细节。StackGAN网络结构分为两个部分:Stage-ⅠGAN和Stage-ⅡGAN。 Stage-ⅠGAN:根据给定的文本描述,绘制对象的原始形状和原始颜色,并根据随机噪声向量绘制背景布局,生成低分辨率图像。生成器G0:首先是经过一个CA(调节增强技术)模块,对文本嵌入进行降维。StackGAN没有直接将降维后的文本嵌入作为condition,而是将它接了一个全连接层,并从得到的独立的高斯分布中随机采样得到高斯条件变量。接着,将高斯条件变量与噪声向量经过级联得到的一组向量输入到生成器中,然后,经过上采样之后生成一张64*64的图像。判别器D0:首先,文本嵌入经过一个全连接层被压缩到128维,然后经过空间复制将其扩成一个4×4×128的张量。同时,图像会经过一系列的下采样到4×4。然后,图像过滤映射会连接图像和文本张量的通道。随后,张量会经过一个1×1的卷积层去连接跨文本和图像学到的特征。最后,会通过只有一个节点的全连接层去产生图像真假的概率。

d86f744ed3b24a519e53b7a617100a96~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=XPAN687P4hLS4TCRll5hm9c6988%3D

图4 StackGAN网络结构

Stage-Ⅱ GAN:

修正第一阶段低分辨率图像的缺陷,通过再次文本描述来完成对象的细节,生成了高分辨率的真实感图像。与通常的GAN不同,本阶段不使用随机噪声。

生成器G:将第二阶段生成器设计为一个具有残差块的编解码网络。Stage-Ⅰ GAN生成的64×64的图片,加上对文本嵌入进行CA操作得到的高斯条件变量,与前一阶段相似,高斯条件变量被扩成一个16×16×128的张量(绿色部分)。同时,由前一个GAN生成的64×64的图像,会经过下采样变成16×16(紫色部分)。连接图像特征和文本特征后,经过残差块,再上采样,生成图片。判别器D:对于判别器,其结构类似于第一阶段判别器,仅具有额外的下采样块。另外,为了明确地强制GAN更好地学习图像和条件文本之间的对齐,我们在两个阶段都采用了匹配感知判别器。StackGAN训练用到的数据集:CUB,Oxford-102和MS COCO数据集。图5中a),b)和c)分别展示了基于这三个数据集的测试集,StackGAN网络生成的图像示例。总体来说,StackGAN生成的高分辨率的图像,细节信息较丰富,且能较好地反映相应的文本描述。

6a813559535946bf8203d46eead0e51f~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=HoMCC7vCBtxtt10aBraagn%2BQLng%3D

图5 StackGAN网络生成的图像示例

五、 GAN的实际应用示例图

(1)生成人脸:

fb74ae67eddd4a799f52035f9798ee7a~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=L8rW2B3THzmcP0ghTZrjuzkcWEs%3D

图6 基于GAN方法生成人脸

(2)语义图像-图片转化:

4ae1be5926364717b1c28c9b3797b00d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=0D8Ush0PloJ1UnIKizN6N9uhayY%3D

图7基于GAN方法将语义图像转化成图片

(3)生成动漫人物形象:

72b4685c039c413e89e76dc3cc68c9ec~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=p%2FSgwFxDUZQlWJjN7rMs%2BMibS1M%3D

图8基于GAN方法生成动漫人物

(4)路况预测:图9中,奇数列显示解码图像,偶数列显示目标图像:

25dc239df8f342ac8c1108be14968389~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=esrwokKvYpan9LdkokilKtJQRDg%3D

图9基于GAN方法的路况预测结果

(5)人脸图像修复:图10中,依次显示真实图像,缺失图像,修复图像:

2dc8ed2df326433c96658e390cbf5b75~noop.image?_iz=58558&from=article.pc_detail&x-expires=1663895976&x-signature=9f766TwEUQANvaZsxm0ZCfFfMPc%3D

图10基于GAN方法修复人脸图像



审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123911
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    网络接口:数字世界的“门铃”,你了解多少?

    插上网线,连接Wi-Fi,可曾想过数据是如何在网络世界穿梭的?今天,让我们起揭开网络接口的神秘面纱! 你是否曾好奇,当我们插上网线或连接Wi-Fi时,数据是如何在网络世界中穿梭的?这
    发表于 11-26 18:53

    乐高化组装,测试 | 云镓GaN自动化双脉冲测试平台

    云镓半导体乐高化组装,测试|云镓GaN自动化双脉冲测试平台作为种新型开关器件,GaN功率器件拥有开关速度快、开关损耗低等优点。当前不
    的头像 发表于 11-11 11:47 431次阅读
    乐高化组装,<b class='flag-5'>一</b>键<b class='flag-5'>式</b>测试 | 云镓<b class='flag-5'>GaN</b>自动化双脉冲测试平台

    ALM(应用生命周期管理)解析:了解其概念、关键阶段及Perforce ALM工具推荐

    什么是ALM(应用生命周期管理)?它远不止是SDLC!了解其概念、关键阶段以及如何借助Perforce ALM这类工具,实现端到端的可追溯性、加速发布并保障合规性。
    的头像 发表于 09-19 11:03 1264次阅读
    ALM(应用生命周期管理)解析:<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>其概念、关键阶段及Perforce ALM工具推荐

    思必驰鸣智能客服大模型通过生成人工智能服务备案

    近日,江苏网信发布新生成人工智能服务备案信息,其中,由思必驰控股子公司驰必准自主研发的鸣智能客服大模型通过《生成
    的头像 发表于 09-16 18:08 964次阅读

    了解电压谐波

    我们经常会听到谐波,到底什么是谐波,怎么定义的?为什么要关注谐波?什么时候关注谐波?谐波如何计算或标准规定的谐波的算法是怎样的?GB关于电压谐波又是如何评估的?带着诸多的问题,我们一起来了解
    的头像 发表于 06-28 17:23 3843次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>电压谐波

    ​Diffusion生成动作引擎技术解析

    Diffusion生成动作引擎 Diffusion生成动作引擎是种基于扩散模型(Diffusion Models)的
    的头像 发表于 03-17 15:14 2710次阅读

    带你了解壁挂工控机

    壁挂工控机(Wall-MountIndustrialComputer)是种专为工业环境设计的计算机设备,通常采用壁挂安装方式,适用于空间有限或需要固定部署的场景。它结合了工业计算机的稳定性
    的头像 发表于 02-18 15:36 710次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>带你<b class='flag-5'>了解</b>壁挂<b class='flag-5'>式</b>工控机

    DLP660TE在生成4k画面时,抖动频率是否可以自行设定?

    我想咨询下DLP660TE在生成4k画面时,抖动频率是否可以自行设定,抖动的两幅图是否可以客户指定?
    发表于 02-17 07:20

    聚云科技荣获亚马逊云科技生成AI能力认证

    助力企业加速生成AI应用落地 北京2025年2月14日 /美通社/ -- 云管理服务提供商聚云科技获得亚马逊云科技生成AI能力认证,利用亚马逊云科技全托管的
    的头像 发表于 02-14 16:07 701次阅读

    聚云科技荣获亚马逊云科技生成AI能力认证 助力企业加速生成AI应用落地

    北京 ——2025 年 2 月 14 日 云管理服务提供商聚云科技获得亚马逊云科技生成AI能力认证,利用亚马逊云科技全托管的生成AI服务Amazon Bedrock等技术,从应用范
    发表于 02-14 13:41 329次阅读

    OpenAI计划开发可替代手机的生成AI专用终端

    近日,据日经报道,人工智能研究公司 OpenAI 的 CEO Sam Altman 在接受采访时透露,OpenAI 计划开发款可替代手机的生成 AI 专用终端。 据了解,OpenA
    的头像 发表于 02-05 14:50 943次阅读

    生成AI工具好用吗

    当下,生成AI工具正以其强大的内容生成能力,为用户带来了前所未有的便捷与创新。那么,生成AI工具到底好用吗?答案无疑是肯定的。接下来,A
    的头像 发表于 01-17 09:54 830次阅读

    #新年新气象,大家新年快乐!#AIGC入门及鸿蒙入门

    Generated Content,即人工智能生成内容。它利用人工智能技术自动生成或辅助生成文本、图像、音频、视频等内容。 AIGC的核心技术包括自然语言处理(NLP)、计算机视觉、生成对抗
    发表于 01-13 10:46

    AIGC入门及鸿蒙入门

    Generated Content,即人工智能生成内容。它利用人工智能技术自动生成或辅助生成文本、图像、音频、视频等内容。 AIGC的核心技术包括自然语言处理(NLP)、计算机视觉、生成对抗
    发表于 01-13 10:32

    国内生成AI备案数量突破300款

    截至2024年底,我国生成人工智能服务领域取得了显著进展,国家互联网信息办公室备案的生成AI服务总数已达到302款,标志着该领域正以前所未有的速度蓬勃发展。 在过去的
    的头像 发表于 01-09 11:14 1141次阅读