尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
生成式对抗网络GAN(Generative Adversarial Network)
network作为generator生成更加复杂的distribution应该怎么做这是我们这节课要讨论的问题generative model适用于哪些场景呢简单来说就是输出需要一些“创造力的时候例如绘画聊天机器人等在normal distribution中vector的数量并不多可能50-100左右但是可以生成具有相当大维度的图片discriminator可以用来判断输出的图片的好坏对GAN的输出结果进行评价generator会根据discriminator不断修改自己的输出能力但是discriminator也会不断提升自己的判断能力最终形成了对抗的样子也就是adversarial下面详细介绍这两个network的训练过程首先对两个模型进行初始化先用一些简单的vector作为generator,然后用一些正确的图片输入用于discriminatordiscriminator就是训练用来判断正确图片与生成图片的不同可以使用分类方法好的作为1不好的作为0也可以作为回归问题来做该步骤是固定G更新D第二部固定D更新G让生成器去欺骗已经学好的D之后重复以上两个步骤我们的目标是尽量减少PG和Pdata之间的差异可以用Div实现我们在进行divergence需要先获得生成器生成的sample和真实数据的sample下面就是discriminator的任务将真实值Pdata的得分改成越大越好将生成器生成的值PG得分越小越好下面的V函数就相当于cross entropy前面加了负号那么cross entropy越小V函数的值越大所以也要尽量缩小cross entropy的值计算交叉熵时真样本靠近1假样本靠近0得出的值越小而计算图中的V时真样本靠近1假样本靠近0计算得出的值反而越大详细解析为什么要采用这样的写法来计算V下图可以直观的展示divergence和discriminator生成之间的关系之前我们总是想找到divergence的表示方法现在发现maxVD,G就和divergence有关所以可以直接替换不同的divergence如何设计他们对应的objective function?但是一般来说即使把divergence训练的很好了但是GAN的总体模型效果可能还是不行训练GAN的一些小tips一JS divergence可能带来什么问题有两个局限1真实值和生成值可能都是高纬度中的很小的一部分重叠部分可能被忽略不计 2我们在sample的时候如果数量不够也可能导致重叠的部分很少两个分布如果没有重叠算出的结果永远是log2,如果没有重叠分类器的训练结果正确率总是得到100%没有任何意义由此我们换一个计算divergence的方式引入wasserstein distance这个概念类似于推土机P是我们生产的Q 是我们需要靠拢的真实值wasserstein distance就是这两个中间相差的距离有时候P和Q会变得更加复杂所以我们需要穷举所有情况来找到最好的回到之前的例子WGAN用wasserstein distance代替JS divergence计算公式如下注意其中的D不可以是很复杂的function,需要是一个比较平滑的function因此我们对Dfunction做了限制那么使得D function函数更平滑的方法有哪些呢WGAN要求判别器critic满足 1-Lipschitz连续梯度的范数不能超过1保证Wasserstein距离可以被正确估计。下面三个都是用来强制满足这个约束的方案SN方法目前看训练效果最好但是不是有WGAN就一定特别好trainGAN为什么这么难训练因为只要其中一者不再进步训练结果没有改善另外一者也跟着停下来无法改善generator 和 discriminator需要相互匹配GAN在处理Sequence问题会遇到的问题如果Decoder发生了微小的变化但是由于generator每次是选择最大值产生的微小参数变化可能并不会影响最终的输出所以最后discriminator的得分也就无变化这样无法去微分和我们之前所说的梯度消失的问题类似所以很长一段时间用GAN来生成Sequence文字是非常困难的更多的生成模型但是一般还是GAN产生的结果最好其他可能的解决办法直接输入图片向量但是向量顺序要按照特殊的方式排列进行训练最终直接输出图片相关的文章如下那么我们如何来评定一个generator的好坏呢方法一对于人脸可以用生成generator去辨识人脸例如对于有一千张人脸的数据集一个辨识出九百张一个辨识出三百张可以看到辨识出九百张的效果更好方法二对于多张图像内容的图片可以使用图像分类器对结果进行分类如果分类的结果越陡峭不平坦说明生成图像特征明显很好分类说明生成图片的效果越好但是方法二需要警惕一种Mode Collapse现象的发生这种现象是指生成图像开始围绕一个图像打转多样化越来越弱目前还没有特别好的方法一般出现mode collapse现象就会停下来使用之前训练好的model还有一个可能的问题被称作——Mode Dropping那么如何来查看生成图片的多样性呢同样可以借助imager classifier来进行统计对生成的图片进行分类然后取均值如果结果平坦则是正常如果出现陡峭的结果则是不正常某一类别出现很多次说明生成图片结果相似我们可以用IS来判断生成图片的质量但是人脸由于只有一个类别并不适合哟用这个方法来判断但是quality我们一般是针对一张图片进行CNN分类判断生成的组别越陡峭说明效果越好diversity是所有图片分类取均值结果越平坦效果越好FID可以弥补上面所说无法辨识人脸的情况它的特点在于把输入到softmax之前的向量进行判别我们在生成人脸时可以同时看辨识人脸的数量和FID值这样可以使结果更准确有时候FID很低人脸分数也不错但是GAN的效果还是不行因为和真实数据的人脸一摸一样我们需要的是新生成的人脸这时候我们就需要计算两者的相似度conditional generator GAN例如文本生成图片我们要输入文字和sample的Z一起输入当然它本身也要有相关的标签库在conditional GAN中generator和discriminator两者应该如何设计generator的输入会增加附属条件x那么discriminator就不能把图片质量作为判断生成好坏的单一指标还要看是否满足x条件如果两者都满足才能得到高分所以如果出现文字和图片成对的资料就给1分如果不匹配就给0分还有一种情况就是生成的图片很好但是文字不匹配这种情况也不能打高分我们在一开始训练discriminator时就要告知这一细节其他应用图片生成图片图像产生图像的处理流程GAN在unsupervised无监督数据上的应用——Cycle GAN我们想要将显示的人脸转化为二次元的人脸但是没有成对的训练数据那么应该怎么做呢前面的模型都是在成对的数据的条件下完成的、如果只是使用一个generator,生成一个二次元图像我们无法验证准确率有多高因为没有成对的数据给我们检验这种情况在使用一个generator将生成的二次元图像恢复成现实图片这样可以实现检验形成cycle,同样y也要进行类似的检验处理类似的模型多种不同形式的数据相互转化StarGAN其他的示例模型文字循环转换不同形式数据转换的其他应用
RELATED

相关推荐

14B动画模型本地跑值不值?先看完这46GB和8张A800的账单再决定

14B动画模型本地跑值不值?先看完这46GB和8张A800的账单再决定

14B动画模型本地跑值不值?先看完这46GB和8张A800的账单再决定 【免费下载链接】Wan2.2-Animate-2-14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-2-14B 最近后台被问得最多的一句话是:这玩意儿能不能装自己电脑上&…

📅 2026/11/4 16:22:12
一行配置让长输出吞吐翻倍:实测书生S2 的 MTP 加速,8 张 H200 上发生了什么

一行配置让长输出吞吐翻倍:实测书生S2 的 MTP 加速,8 张 H200 上发生了什么

一行配置让长输出吞吐翻倍:实测书生S2 的 MTP 加速,8 张 H200 上发生了什么 【免费下载链接】Intern-S2-397B 项目地址: https://ai.gitcode.com/InternLM/Intern-S2-397B 你有没有过这种体验:让 AI 写一份三千字的行业分析&#xff…

📅 2026/11/4 16:22:12
一群人免费帮它写教程:这只“3970亿参数的书生”,怎么在中文社区悄悄火了

一群人免费帮它写教程:这只“3970亿参数的书生”,怎么在中文社区悄悄火了

一群人免费帮它写教程:这只“3970亿参数的书生”,怎么在中文社区悄悄火了 【免费下载链接】Intern-S2-397B 项目地址: https://ai.gitcode.com/InternLM/Intern-S2-397B 最近刷掘金和CSDN,会发现一个挺有意思的现象。 不是哪家厂商投…

📅 2026/11/4 16:22:12
MORE NEWS

更多资讯

📰

中国模型反向收费美国巨头:技术授权与按量分成实战

1. 从“免费换量”到“按量收费”的转折点 “这一次,中国模型开始收美国巨头的钱”——这句话第一次看到的时候,我正蹲在工位上啃三明治,差点没噎着。做了七八年AI应用层开发,我太清楚过去几年国内大模型厂商在海外的处境了&#…

📰

Claude Code 报错排查:ECONNRESET 与 API ERROR

某天下午,我在终端里敲下claude,回车,光标闪了两下,正准备把一段两百行的重构需求贴进去,屏幕上先甩出来一行红字:Unable to connect to API (ECONNRESET)。再试一次,变成API ERROR,…

📰

Oracle 11gR2 Linux单机安装全流程与翻车点排查

简介:面向Linux平台Oracle数据库部署学习者的11gR2单机安装图解文档,针对单机环境安装流程复杂、依赖配置易出错的问题,提供从前期准备到建库收尾的系统参考,适合具备一定Linux与数据库基础的运维和开发人员。资源包共1个doc文档&…

📰

移动端WebView虚拟按键适配方案:原生与H5混合实践

1. 问题背景与现状分析 在移动端混合开发中,WebView与原生组件的交互一直是个棘手问题。特别是当设备底部存在虚拟导航栏时,H5页面底部的Tabbar经常会被遮挡,导致用户无法正常操作。这个问题在全面屏设备上尤为突出,因为不同厂商的…

📰

codex接入中转站API无法生成图片:本地适配层排查与归一化方案

最近碰到一个挺典型的事:有朋友把 codex 的接口地址换成了第三方中转服务,聊天、补全、改代码都正常,唯独让他画张图,不是回一句"当前模型不支持图像生成",就是终端里吐半行链接然后卡死。他那套 key 拿去别…

📰

DeepSeek V4.1 Flash实测:低成本高响应的轻量级模型部署与集成指南

刚把 DeepSeek V4.1 Flash 接到工作流里的那一周,我最大的感受是:这个型号把很多我以为“得靠满血版硬顶”的活,悄悄接过去了。标题说它“有点不一般”,不是在吹,而是它在成本、速度、产出质量三条线上同时给出了一些惊…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬