近期集中学习了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. 加解密---Base64

    1.算法实现: 1.1 JDK提供: package com.exiuge.mytest; import sun.misc.BASE64Decoder; import sun.misc.BASE64E ...

  2. Django-4 模板层

    你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datet ...

  3. 如何解释kworker线程的名称

    http://www.kbase101.com/question/24502.html 在Linux 3.11.0-13上 - 在双插槽Xeon X5650六核板上运行的通用,htop显示不同的kwo ...

  4. Windows窗体应用开发3--配置标准控件1

    1.掌握主要的Windows窗体控件的功能 2.掌握使用SplitContainer控件的方法 3.掌握使用TreeView控件的方法 注:新建一个WindowsForm 命名为Form2.cs 主要 ...

  5. 相同datatable合并

  6. sublime介绍常用插件和快捷键

    简介 Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来的,它最初被设计为一个具有丰富扩展功能的Vim. 是一个跨平台的编辑器,同时支持Windows.Linux.M ...

  7. Lync二次开发关于Lync启动退出问题

    以前使用C++开发的version.dll文件,由于各个用户环境的不同,造成某些用户加载不了我们开发的插件,并且写version.dll的同事还没找到好的解决办法,所以得换一种思路去解决这个问题,就是 ...

  8. 域名指向新的服务器IP后不能访问的解决办法

    不能访问是因为本地DNS缓存,缓存清除方法:dos命令窗口输入ipconfig/flushdns ,回车即可.

  9. java核心-流基础

    1.流的概念: 1.1输入流:向内存中写入数据 1.2输出流:有内存向指定的地方输出数据 2.

  10. 51NOD 1092 回文字符串 LCS

    Q:给定一个串,问需要插入多少字符才能使其成为回文串,也就是左右对称的串. 经典求LCS题,即最长公共子序列,不用连续的序列.考虑O(n^2^)解法,求LCS起码得有两个串,题中才给了一个串,另一个需 ...