近期集中学习了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. BigDecimal的使用举例,包括阶乘的相加求法思路

    对于高精度要求或者运算数较大的的计算,应该使用bigdecimal类实现 import java.math.BigDecimal; public class TestSysin { public st ...

  2. (转)stty 命令说明及使用讲解

    stty 命令说明及使用讲解     UNIX系统的命令很多,但是巧妙使用命令的方法更多.随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法.这里谈谈自己使用UNIX系统中stty ...

  3. .NET控制台程序监听程序退出

    There are mainly 2 types of Win32 applications, console application and window application. They hav ...

  4. Hbase与传统数据库的区别

    在说HBase之前,我想再唠叨几句.做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了, ...

  5. elasticsearch复杂查询-----2

    1.多条件查询 1)查询索引weibo下字段date大于或等于2015-09-05和name为Mary Jone的数据 2.简单查询 1)查询包含2014字符的数据 2)查询包含字符2014-09-1 ...

  6. CSS之background-image:在一个元素中设置给定数量的背景图片

    众所周知,可以通过设置background-repeat的值来改变背景图片的重复次数.但有一个问题,background-repeat的值不是让图片只有1个,就是让图片铺满.如果只想设置给定数量的图片 ...

  7. agc027D - Modulo Matrix(构造 黑白染色)

    题意 题目链接 构造一个\(n * n\)的矩阵,要求任意相邻的两个数\(a,b\),使得\(max(a,b) \% min(a,b) \not = 0\) Sol 我的思路: 假设\(mod = 1 ...

  8. Linux 学习 三, linux 文件结构

    linux 的文件结构 linux 下的bin 目录,包含了常用的命令应用程序 /bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.dmesg.gzip.kill.l ...

  9. GDB多线程调试分析

    0x00: 在Linux系统上Gdb提供了一组多线程调试命令,如表所示: 多线程调试的主要任务是准确及时地捕捉被调试程序线程状态的变化的事件,并且GDB针对根据捕捉到的事件做出相应的操作,其实最终的结 ...

  10. 【起航计划 027】2015 起航计划 Android APIDemo的魔鬼步伐 26 App->Preferences->Preferences from XML 偏好设置界面

    我们在前面的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 介绍了可以使用Shared Preferences来存储一些状 ...