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

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

3天内不再提示

Jurgen:我比GAN之父提前三年想到生成式对抗网络

电子工程师 来源:YXQ 2019-05-14 10:19 次阅读

2014年的一晚,Ian Goodfellow和一个刚刚毕业的博士生一起喝酒庆祝。在蒙特利尔一个酒吧,一些朋友希望他能帮忙看看手头上一个棘手的项目:计算机如何自己生成图片。

研究人员已经使用了神经网络模拟人脑的神经元网络的一种算法),作为生成模型来创造合理的新数据。但结果往往不尽人意。计算机生成的人脸图像通常不是模糊不清,就是缺耳少鼻。

Ian Goodfellow朋友们提出的方案是对那些组成图片的元素进行复杂的统计分析以帮助机器自己生成图片。这需要进行大量的数据运算,Ian Goodfellow告诉他们这根本行不通。

边喝啤酒边思考问题时,他突然有了一个想法。如果让两个神经网络相互对抗会出现什么结果呢?他的朋友对此持怀疑态度。

当他回到家,女朋友已经熟睡,他决定马上实验自己的想法。那天他一直写代码写到凌晨,然后进行测试。第一次运行就成功了!

那天晚上他提出的方法现在叫做GAN,即生成对抗网络(generative adversarial network)。

通过使用两个神经网络的相互对抗,Ian Goodfellow创造了一个强大的AI工具——生成对抗网络GAN(generative adversarial network)。现在,该方法已经在机器学习领域产生了巨大的影响,也让他的创造者Goodfellow成为了人工智能界的重要人物。

GAN的诞生故事早已为技术圈所熟知,但是,产生这样奇妙对抗想法的似乎不止Ian Goodfellow一人。

比如另一位机器学习领袖Jurgen Schmidhuber就声称早些时候已经做过类似的工作。

NIPS 2016上有的相关争论:

https://media.nips.cc/nipsbooks/nipspapers/paper_files/nips27/reviews/1384.html

今天,一篇2010年的博文亦在reddit上引发热议。这是一篇非常简短的文章,但是很精确的提出了GAN的基本想法,其中附带的一张图片更是直接表示出了GAN的部署方式。

https://web.archive.org/web/20120312111546/http://yehar.com:80 /blog /?p = 167

这篇帖子引发了大量讨论,不少人觉得遗憾,称,如果小哥能更重视一下自己的这个想法,“他可能才会成为那个改变世界的人。”

当然,也有人表示,有这样的想法很重要,但真的付诸实践才行,并且,2010年的硬件条件或许也还无法支撑让GAN大火的一些应用。甚至拿出来哥伦布发现新大陆的例子表示,“哥伦布可能是第一个发现者,但一定有很多人早就预言过'也许在大西洋有一些岛屿'?”

事实上,这篇博客的作者Olli Niemitalo的心态其实比吃瓜群众要好很多,Olli是位来自芬兰的电器工程师,在2017年的一篇帖子了,他叙述了自己在刚刚发现GAN的心路历程:“2017年5月,我在YouTube看到了Ian Goodfellow的相关教程,made my day! 我之前写下的只是一个基本的想法,并且已经做了很多工作来使它取得良好的效果。这个演讲回答了我曾经遇到过的问题以及更多问题。”

从这篇博客作者的个人主页可以看出,Olli本身也是位思维活跃并且乐于提出新想法的“宝藏男孩”,从2007年开始,他在博客中记下了从“能唱歌的自行车刹车“到”永不迟到的手表“等超多自己的想法,当然其中也包括了这个“GAN”的雏形。

正如Goodfellow所说,“如果你有一个觉得可行的想法,也具有领域知识能够认识到它切实有效,那么你的想法才会真的价值。我提出GAN只花了大约1个小时,写论文花了2个星期。这绝对是一个“99%灵感,1%汗水”的故事,但是在那之前我花了4年时间在相关主题上攻读博士学位。”

最后,欢迎看看这个比Goodfellow早三年提出的GAN的简短想法。

Amethod for training artificial neural networksto generate missing data within a variable context. As the idea is hard to put in a single sentence, I will use an example:

An image may have missing pixels (let's say, under a smudge). How can one restore the missing pixels, knowing only the surrounding pixels? One approach would be a "generator" neural network that, given the surrounding pixels as input, generates the missing pixels.

But how to train such a network? One can't expect the network to exactly produce the missing pixels. Imagine, for example, that the missing data is a patch of grass. One could teach the network with a bunch of images of lawns, with portions removed. The teacher knows the data that is missing, and could score the network according to the root mean square difference (RMSD) between the generated patch of grass and the original data. The problem is that if the generator encounters an image that is not part of the training set, it would be impossible for the neural network to put all the leaves, especially in the middle of the patch, in exactly the right places. The lowest RMSD error would probably be achieved by the network filling the middle area of the patch with a solid color that is the average of the color of pixels in typical images of grass. If the network tried to generate grass that looks convincing to a human and as such fulfills its purpose, there would be an unfortunate penalty by the RMSD metric.

My idea is this (see figure below): Train simultaneously with the generator a classifier network that is given, in random or alternating sequence, generated and original data. The classifier then has to guess, in the context of the surrounding image context, whether the input is original (1) or generated (0). The generator network is simultaneously trying to get a high score (1) from the classifier. The outcome, hopefully, is that both networks start out really simple, and progress towards generating and recognizing more and more advanced features, approaching and possibly defeating human's ability to discern between the generated data and the original. If multiple training samples are considered for each score, then RMSD is the correct error metric to use, as this will encourage the classifier network to output probabilities.

如果你对GAN的诞生故事感兴趣,也可以看大数据文摘的相关报道:

GAN之父Ian Goodfellow :那个赋予机器想象力的人类

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

    关注

    19

    文章

    1759

    浏览量

    67691
  • 机器学习
    +关注

    关注

    66

    文章

    8095

    浏览量

    130515

原文标题:“我比Goodfellow提前三年想到了GAN”

文章出处:【微信号:BigDataDigest,微信公众号:大数据文摘】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度学习生成对抗网络GAN)全解析

    GANs真正的能力来源于它们遵循的对抗训练模式。生成器的权重是基于判别器的损失所学习到的。因此,生成器被它生成的图像所推动着进行训练,很难知道生成
    发表于 03-29 14:42 85次阅读
    深度学习<b class='flag-5'>生成对抗</b><b class='flag-5'>网络</b>(<b class='flag-5'>GAN</b>)全解析

    有需要办里危废许可的吗? 有环保、环境中工 有三年固废经验

    环保,环境多本 求单位,单证网查证一表原件及扫描件 (可提供整套资质职称证)先推荐,用上才付款,安全有保障,效率又快又稳 另: 注册环评师,单位有现成环评师找可靠单位 单位代评职称,专科满七
    发表于 11-30 17:57

    使用Pytorch实现频谱归一化生成对抗网络(SN-GAN)

    自从扩散模型发布以来,GAN的关注度和论文是越来越少了,但是它们里面的一些思路还是值得我们了解和学习。所以本文我们来使用Pytorch 来实现SN-GAN
    的头像 发表于 10-18 10:59 257次阅读
    使用Pytorch实现频谱归一化<b class='flag-5'>生成对抗</b><b class='flag-5'>网络</b>(SN-<b class='flag-5'>GAN</b>)

    图像分类的主流深度神经网络模型有哪些 深度神经网络搜索方法总结

    生成对抗网络(Generative adversarial net,GAN)是另一种常见的基于深度学习技术的生成模型,包括生成器和判别器2个
    发表于 10-12 10:24 1064次阅读
    图像分类的主流深度神经<b class='flag-5'>网络</b>模型有哪些 深度神经<b class='flag-5'>网络</b>搜索方法总结

    极管和MOS管抗静电?|深圳创达EMCa

    创达电子科技有限公司小编给您们介绍的极管和MOS管抗静电的内容,希望大家看后有所帮助!深圳市创达电子科技有限公司成立于2012,总部位于深圳市龙岗区,成立至今一直专注于EMC电磁兼容领域,致力于
    发表于 09-25 10:56

    基于GaN HEMT的半桥LLC优化设计和损耗分析

    诸多应用难点,极高的开关速度容易引发振荡,过电流和过电压导致器件在高电压场合下容易失效[2]。 GaN HEMT 的开通门限电压和极限栅源电压均明显低于 MOS鄄FET,在桥拓扑的应用中容易发生误
    发表于 09-18 07:27

    STDRIVEG600 GaN半桥驱动器

    单芯片半桥STDRIVEG600栅极驱动器专为特定的GaN FET驱动要求而设计,具有较短的45ns传播延迟和低至5V的工作电压。STDRIVEG600通过较高的共模瞬态抗扰度、一套集成保护功能
    发表于 09-05 06:58

    检测并消除瑕疵,DeSRA让真实场景超分中的GAN更加完美

    使用生成对抗网络GAN)进行图像超分辨率(SR)已经在恢复逼真细节方面取得了巨大成功。然而,众所周知,基于 GAN 的 SR 模型会产生令人难以接受的伪影,特别是在实际场景中。以往的
    的头像 发表于 08-06 22:00 242次阅读
    检测并消除瑕疵,DeSRA让真实场景超分中的<b class='flag-5'>GAN</b>更加完美

    GaN器件在Class D上的应用优势

    领域的热点。 如图1所示,GaN材料作为第代半导体材料的核心技术之一,具有禁带宽度高、击穿场强大、电子饱和速度高等优势。由GaN材料制成的GaN器件具有击穿电压高、开关速度快、寄生参
    发表于 06-25 15:59

    基于NeRF的隐式GAN架构

    一小部分2D图像合成复杂3D场景的新视图方面提供了最先进的质量。 作者提出了一个生成模型HyperNeRFGAN,它使用超网络范式来生成由NeRF表示的三维物体。超网络被定义为为解决特
    的头像 发表于 06-14 10:16 721次阅读
    基于NeRF的隐式<b class='flag-5'>GAN</b>架构

    PyTorch教程-20.2. 深度卷积生成对抗网络

    20.2. 深度卷积生成对抗网络¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab Colab
    的头像 发表于 06-05 15:44 442次阅读
    PyTorch教程-20.2. 深度卷积<b class='flag-5'>生成对抗</b><b class='flag-5'>网络</b>

    PyTorch教程20.2之深度卷积生成对抗网络

    电子发烧友网站提供《PyTorch教程20.2之深度卷积生成对抗网络.pdf》资料免费下载
    发表于 06-05 10:21 2次下载
    PyTorch教程20.2之深度卷积<b class='flag-5'>生成对抗</b><b class='flag-5'>网络</b>

    利用GaN的带宽和功率密度优势对抗RCIED

    氮化镓(GaN)是用于在干扰器中构建RF功率放大器(PA)的主要技术。GaN 具有独特的电气特性 – 3.4 eV 的带隙使 GaN 的击穿场比其他射频半导体技术高 20 倍。这不仅是GaN
    的头像 发表于 05-24 10:48 1099次阅读
    利用<b class='flag-5'>GaN</b>的带宽和功率密度优势<b class='flag-5'>对抗</b>RCIED

    如何通过PyTorch实现卷积GAN构建?

    人们曾经认为生成的任务是不可能的,并且被 GAN 的力量所震惊,因为传统上,根本没有任何事实可以比较我们生成的图像。
    发表于 05-09 14:47 421次阅读
    如何通过PyTorch实现卷积<b class='flag-5'>GAN</b>构建?

    介绍一种负电压生成电路

    提起负压生成电路,大部分人第一个想到的是7905,因为它可以生成负压,输出参数如下图。
    的头像 发表于 04-20 11:11 2048次阅读
    介绍一种负电压<b class='flag-5'>生成</b>电路