魔改StyleGAN模型为图片中的马添加头盔

介绍

GAN体系结构一直是通过AI生成内容的标准,但是它可以实际在训练数据集中提供新内容吗? 还是只是模仿训练数据并以新方式混合功能?

在本文中,我将讨论“重写深度生成模型”(https://arxiv.org/abs/2007.15646)一文,该文件可直接编辑GAN模型,以提供所需的输出,即使它与现有数据集不匹配也是如此。 上图是编辑示例,您可以在其中复制头盔功能并将其粘贴到上下文中。 我相信这种可能性将打开数字行业中许多新的有趣应用程序,例如为可能不存在现有数据集的动画或游戏生成虚拟内容。

GAN

生成对抗网络(GAN)是一种生成模型,这意味着它可以生成与训练数据类似的现实输出。 例如,经过人脸训练的GAN将能够生成相似外观的逼真的面孔。 GAN可以通过学习训练数据的分布并生成遵循相同分布的新内容来做到这一点。

GAN通过拥有一个试图区分真实图像和伪造图像的鉴别器以及一个生成伪造数据来欺骗鉴别器的生成器来“间接”学习分布。 这两个网络将不断竞争和相互学习,直到它们两个都可以分别生成和区分现实图像为止。

GAN的局限性

尽管GAN能够学习一般数据分布并生成数据集的各种图像。 它仍然限于训练数据中存在的内容。 例如,让我们以训练有素的GAN模型为例。 尽管它可以生成数据集中不存在的新面孔,但它不能发明具有新颖特征的全新面孔。 您只能期望它以新的方式结合模型已经知道的内容。

因此,如果我们只想生成法线脸,就没有问题。 但是,如果我们想要眉毛浓密或第三只眼的脸怎么办? GAN模型无法生成此模型,因为在训练数据中没有带有浓密眉毛或第三只眼睛的样本。 快速的解决方案是简单地使用照片编辑工具编辑生成的人脸,但是如果我们要生成大量像这样的图像,这是不可行的。 因此,GAN模型将更适合该问题,但是当没有现有数据集时,我们如何使GAN生成所需的图像?

重写GAN规则

2020年1月,麻省理工学院和Adobe Research发表了一篇有趣的论文,名为“重写深度生成模型”,使我们能够直接编辑GAN模型并产生新颖的内容。 模型重写是什么意思? 与其让模型根据训练数据或标签进行优化,不如直接设置我们要保留的规则(参数)以提供期望的结果。 想要戴上头盔吗? 没问题。 我们可以复制头盔的特征并将其放在马头特征上。 但是,这需要了解内部参数及其对输出的影响,这在过去是一个很大的挑战。 虽然,本文已证明这是可行的。

通过重写模型在上下文中复制和粘贴特征

训练和重写之间的区别类似于自然选择和基因工程之间的区别。 虽然训练可以有效地优化全局目标,但不能直接指定内部机制。 相比之下,重写使一个人可以直接选择他们希望包括的内部规则,即使这些选择并非恰好匹配现有数据集或优化全局目标。 -David Bau(论文的主要作者)

正如David Bau所说,重写模型就像基因工程。

工作原理

您实际上如何重写生成模型? 本文提出了将生成器的权重视为最佳线性联想记忆(OLAM)的想法。 OLAM的作用是存储键值对关联。 我们将选择一个特定的图层L,该图层代表值V,该值V表示图像的输出特征,例如微笑表情。 然后,在层L之前的前一层将表示密钥K,密钥K表示有意义的上下文,例如嘴巴位置。 此处,L层和L-1层之间的权重W用作存储K和V之间的关联的线性关联存储器。

我们可以将K

在GAN中通过上下文的复制和粘贴,在没有数据集的情况下生成新内容相关推荐

  1. mysql复制一个字段值到另一个字段,MySQL怎么把表中一个字段数据复制到另外一个表的某个字段下...

    点击查看MySQL怎么把表中一个字段数据复制到另外一个表的某个字段下具体信息 答:update b set tel =(select mobile from a where a.id=b.aid) 注 ...

  2. MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?...

    最近无意间看到一个 MySQL 分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的方案.因为现实中很多情况都不是固定不变的,能总结出来通用性的做法或者说是规律,是要考虑非常多的 ...

  3. MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?

    最近无意间看到一个 MySQL 分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的方案.因为现实中很多情况都不是固定不变的,能总结出来通用性的做法或者说是规律,是要考虑非常多的 ...

  4. android源码中的ndk,如何在不需要Android操作系统源代码的情况下在Android NDK中创建新的NativeWindow?...

    我想编译一个Android OpenGL控制台应用程序,您可以直接从控制台启动Android x86或从Android x86 GUI中的Android终端应用程序运行.如何在不需要Android操作 ...

  5. java中数组的内存模型_Java如何在内存有限的情况下实现一个超大数组?jvm性能调优+内存模型+虚拟机原理能解决什么样问题...

    在上一篇文章中,小编为您详细介绍了关于<变频器调速问题?三星R458更换CPU>相关知识.本篇中小编将再为您讲解标题Java如何在内存有限的情况下实现一个超大数组?jvm性能调优+内存模型 ...

  6. arcgis新建图层信息复制_ArcGIS中的数据库之间复制和粘贴数据

    请注意,ArcGIS 无法粘贴其不支持的数据类型或定义.这意味着在目标数据库中创建的表或要素类将包含: *ArcGIS 支持的数据类型 任何无法映射到 ArcGIS 数据类型的列都不会在目标数据库的要 ...

  7. Vue 中银行卡号码禁止复制与粘贴

    input 中禁止粘贴:@paste.native.capture.prevent="" input 中禁止复制:@copy.native.capture.prevent=&quo ...

  8. java dto是什么_java项目中VO和DTO以及Entity,各自是在什么情况下应用的

    j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维. POJO(plain old java object):普通的java对象,有别于特殊的java对 ...

  9. 1分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.entity 里的每一个字段,与数据库相对应, 2.vo 里的每一个字段,是和你前台 html ...

最新文章

  1. 用字体在网页中画Icon图标
  2. C++中使用Json的方法
  3. oracle 存储过程和函数例子
  4. OpenCV超分辨率基准测试
  5. 从网络IO看高性能框架
  6. lol转服务器维护,LOL转区系统活动_LOL转区系统活动地址_玩游戏网
  7. Mac上使用Jenv管理多个JDK版本
  8. python量化数据处理小细节(以后还会不断补充)
  9. 这一项经典功能即将回归!手机厂商们都后悔了...
  10. java10---点餐系统
  11. torch.nn.Conv2d
  12. 如何搭建企业数据平台
  13. java super.参数,Java super和this的对比及使用
  14. 2015年 教师全员远程培训挂机 教师远程全员培训挂机 教师继续教育挂机 挂机软件 全国通用版...
  15. Spring中Junit测试启动报错class path resource [xxx.xml] cannot be opened because it does not exist
  16. php随机发牌游戏,JavaScript_javascript实例--教你实现扑克牌洗牌功能,我们一般都会按照顺序把随机 - phpStudy...
  17. excel公式编辑器_让同事看傻,用Excel制作 “抽奖”小软件
  18. 三菱 plc远程调试及上下载方法
  19. TensorFlow输出矩阵的乘法
  20. oracle下载,windows版本的oracle数据库下载

热门文章

  1. Java中重载的作用?
  2. javaee之http协议、request请求
  3. android腾讯云im刷新会话列表,融云 IM SDK 集成 --- 刷新会话界面和会话列表界面...
  4. Go 框架 iris 文档
  5. jpg转pdf软件免费下载
  6. java移动公司计算话费_话费充值示例代码
  7. 如何将jdk卸载干净?jdk环境变量设置不成功怎么办?jdk为什么设置环境变量?
  8. WPS表格中怎么实现ABCD这种字母自增序列
  9. 博彦科技:区块链建立优质农产品“信任链”|FISCO BCOS 2021 Meetup上海站
  10. 珠海维修安川服务器,珠海市安川焊接机器人维保中心