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

    文章

    5604

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AD9547:网络时钟生成与同步的理想之选

    AD9547:网络时钟生成与同步的理想之选 在电子设计领域,时钟的精准性和稳定性对于系统的正常运行至关重要。AD9547作为款双/四输入网络时钟
    的头像 发表于 04-13 11:05 170次阅读

    CHA8107-QCB两级氮化镓(GaN)高功率放大器

    CHA8107-QCB两级氮化镓(GaN)高功率放大器CHA8107-QCB 是 United Monolithic Semiconductors(UMS)推出的款两级氮化镓(GaN)高功率放大器
    发表于 12-12 09:40

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

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

    了解3C认证自我声明制度

    、什么是3C认证自我声明3C认证自我声明(CCCSelf-Declaration),是国家市场监督管理总局自2019年起推行的新型管理方式。它允许部分低风险产品企业不再通过第三方认证机构发证,而是
    的头像 发表于 11-11 11:58 1558次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>3C认证自我声明制度

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

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

    不只有AI协作编程(Vibe Coding):生成系统级芯片(GenSoC)将如何把生成设计推向硬件层面

    但是否能将这种生成的、目标驱动的方法从软件层向下延伸呢?这理念是否可以直接应用于硬件本身呢?通过GenSoC,开发者可用自然语言或高级模型描述系统行为,XMOS的工具链将自动生成
    的头像 发表于 11-07 14:04 652次阅读

    Leadway GaN系列模块的功率密度

    场景提供高性价比的全国产解决方案。、功率密度提升的核心逻辑材料特性突破: GaN(氮化镓)作为宽禁带半导体,电子迁移率(2000cm²/Vs)和饱和漂移速度(2.5×10⁷cm/s)远超传统硅基器件
    发表于 10-22 09:09

    探索无限可能:生成推荐的演进、前沿与挑战

    TL;DR 过去年间,生成推荐取得了长足的实质性进展,特别是在凭借大型语言模型强大的序列建模与推理能力提升整体推荐性能方面。基于LLM(Large Language Models, LLMs
    的头像 发表于 10-20 16:42 6960次阅读
    探索无限可能:<b class='flag-5'>生成</b><b class='flag-5'>式</b>推荐的演进、前沿与挑战

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

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

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

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

    智能体化AI和生成AI的区别

    生成 AI 的核心是“生成内容” —— 比如用大模型写报告,是对输入指令的被动响应。而智能体化 AI(Agentic AI)的关键是 “自主决策”:它像个有经验的助理,能感知环境、
    的头像 发表于 08-25 17:24 1884次阅读

    生成 AI 重塑自动驾驶仿真:4D 场景生成技术的突破与实践

    生成AI驱动的4D场景技术正解决传统方法效率低、覆盖不足等痛点,如何通过NeRF、3D高斯泼溅等技术实现高保真动态建模?高效生成极端天气等长尾场景?本文为您系统梳理AI驱动的4D场景生成
    的头像 发表于 08-06 11:20 5376次阅读
    <b class='flag-5'>生成</b><b class='flag-5'>式</b> AI 重塑自动驾驶仿真:4D 场景<b class='flag-5'>生成</b>技术的突破与实践

    带你了解嵌入主板

    嵌入主板是专为嵌入系统设计的计算机主板。它与我们常见的台式机或笔记本电脑主板有着显著的区别,核心在于它不是为了通用计算,而是为了执行特定任务而设计、集成到更大的设备或系统中。以下是嵌入主板
    的头像 发表于 06-30 16:12 885次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>带你<b class='flag-5'>了解</b>嵌入<b class='flag-5'>式</b>主板

    了解电压谐波

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

    谷歌新生成AI媒体模型登陆Vertex AI平台

    我们在 Vertex AI 上推出新生成 AI 媒体模型: Imagen 4、Veo 3 和 Lyria 2。
    的头像 发表于 06-18 09:56 1298次阅读