近期集中学习了GAN,下面记录一下调研的结果,和学习的心得,疏漏的地方,敬请指正。

本文将分为几个部分进行介绍,首先是GAN的由来,其次是GAN的发展,最后是GAN的应用。

先把最近收集的资料列举一下吧。

其中首推知乎的一位博士生,讲解的深入浅出,将来也是出好产品的科研人啊。令人拍案叫绝的Wasserstein GAN

自己顺着思路推导了一下GAN和WGAN的公式,能搞这些东西的人都是牛人啊。GAN的发展过程,就是loss不断改进的过程!

跑了一下Wgan的代码,是基于pytorch的,我跑的是和文章里的结果一样的数据lsun,的bedroom类。从代码来看吧,确实挺简单的,应该说是比起文章里复杂的公式推导,代码是相当的简单和易懂。wgan也是先优化discriminator,再优化generator,其中优化过程中是先优化D一百步迭代,然后再优化generator G。通篇读了一下代码,相当直观的。就是首先将真实数据作为输入,forward,然后给标签为1,计算backward,计算真实数据带来的误差。然后再随机生成噪声,用噪声作为G的输入,产生样本,再输入D,forward,输入标签-1,计算backward,计算噪声的误差。两个误差一起,进行模型优化,一次迭代更新D完成。在100次迭代更新D后,更新G。更新G的过程也是很直观的,随机噪声输入G,产生样本输入D,完成forward。用-1作为标签,进行backward,计算误差,根据误差进行模型优化。因为是基于pytorch的,基本上函数都封装好了,看着很简单,不过据我同事说,torch里的坑挺多的,不像caffe透明性高点,但是我看caffe里没有人实现wgan,同时caffe现在更新越来越慢了,有点没落的迹象,可能以后我会多用些pytorch。说说wgan的结果吧,训练过程中确实挺稳定的,而且不需要什么特别的技巧,代码里我是没看到,当然有人说还是有差别的,我会继续调一下对比一下看看。

GAN的调研和学习的更多相关文章

  1. GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)

    我对GAN"生成对抗网络"(Generative Adversarial Networks)的看法: 前几天在公开课听了新加坡国立大学[机器学习与视觉实验室]负责人冯佳时博士在[硬 ...

  2. 深度学习新星:GAN的基本原理、应用和走向

    深度学习新星:GAN的基本原理.应用和走向 (本文转自雷锋网,转载已获取授权,未经允许禁止转载)原文链接:http://www.leiphone.com/news/201701/Kq6FvnjgbKK ...

  3. (转)能根据文字生成图片的 GAN,深度学习领域的又一新星

    本文转自:https://mp.weixin.qq.com/s?__biz=MzIwMTgwNjgyOQ==&mid=2247484846&idx=1&sn=c2333a998 ...

  4. 深度学习----现今主流GAN原理总结及对比

    原文地址:https://blog.csdn.net/Sakura55/article/details/81514828 1.GAN 先来看看公式:             GAN网络主要由两个网络构 ...

  5. 人工智能中小样本问题相关的系列模型演变及学习笔记(二):生成对抗网络 GAN

    [说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] [再啰嗦一下]本文衔接上一个随笔:人工智能中小样本问题相关的系列模型演变及学习 ...

  6. 深度学习--GAN学习笔记

    生成模型 WGAN Blog GAN 推荐学习网站 生成模型 什么是生成模型? GMM: 用来做聚类,(非监督学习) NB(朴素贝叶斯):(监督学习,可以用来做垃圾邮件分类) Logistics 回归 ...

  7. GAN one-shot

    基于one-shot的GAN生成图片 GAN的学习资料用于数据增广GAN的调研: https://zhuanlan.zhihu.com/p/32103958 GAN的各种paper汇集(包括Gener ...

  8. 生成式模型之 GAN

    生成对抗网络(Generative Adversarial Networks,GANs),由2014年还在蒙特利尔读博士的Ian Goodfellow引入深度学习领域.2016年,GANs热潮席卷AI ...

  9. [Deep-Learning-with-Python]GAN图片生成

    GAN 由Goodfellow等人于2014年引入的生成对抗网络(GAN)是用于学习图像潜在空间的VAE的替代方案.它们通过强制生成的图像在统计上几乎与真实图像几乎无法区分,从而能够生成相当逼真的合成 ...

随机推荐

  1. 持久层框架---jdbc

    1.JDBC编程步骤: 1.1 加载数据库驱动: 1.2 获取数据库连接: 1.3 通过Connection对象创建Statement对象: 1.4 使用Statement对象执行SQL语句: 1.5 ...

  2. MemoryFile匿名共享内存

    Android提供了一个高效的共享内存机制.如果应用中涉及到在多个进程间交换数据时使用Android提高的共享内存机制将会大大的提高效率.但是也许是出于安全考虑,在应用层使用共享内存机制将会遇到很多障 ...

  3. KEIL中头文件使用配置向导

    在xxx.h头文件的代码中夹杂的“<h>      </h>”.“<o>”“<i>”.“<c1>   </c>”和“<e& ...

  4. LoadScene场景异步加载

    LoadScene场景异步加载 using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; usin ...

  5. (转)Shell脚本之break,continue,和exit区别

    Linux脚本中的break continue exit return break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一 ...

  6. C语言答案解析

    1.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(  B ) A) b=1.0/a            B) b=(float)(1/a) C) b=1/(float)a   ...

  7. git 推送代码到远程端

    git init git add . git commit -m "first commit" git remote add origin "地址" git p ...

  8. sharepoint2007就地升级2010系列(五)升级到sharepoint2010

    ---恢复内容结束--- 大家下午好 今天我们来完成最后一步,sharepoint2007升级2010.其实我反倒没有那么紧张了,因为我最担心的数据库升级,已经过了. OK,话不多说,让我们直接开始吧 ...

  9. 菜鸟 学注册机编写之 Android app

    0x00前言 环境及工具: 手机    Nexus 4(己root) 系统版本    Android 5.01 工具    AndroidKiller_V1.2 关于Android平台app注册机的编 ...

  10. springboot利用mail配置包,实现邮件发送

    了解邮件发送与接收的过程: A->S1->S2->B 1.计算机A通过SMTP协议将邮件发送到服务器S1上: 2.服务器S1再发送到服务器S2: 3.计算机B通过POP3协议接收服务 ...