GAN网络介绍

来自于看youtubee上李宏毅的GAN的课程的一些笔记

  1. Generator的basic idea:输入的这个向量会对应输出图片中的一个特征;Generator是一个神经网络,不是一个function
    GAN网络介绍

  2. discriminator也是一个神经网络,输入一个图像,输出一个数值,值越大代表生成的更真实
    GAN网络介绍

  3. GAN的思想有点向自然界中的猎物和捕食者,两者都在不断进化。也可以理解为学生和老师,学生先随机画,老师以前看过很多其他的真实的图片,然后每次对学生画的图片给出一些点评和意见。

  4. 这样就产生了两个基本的问题,generator为什么不自己学,discriminator为什么不自己做(在13.,14去解决这个问题)

  5. GAN的步骤:第一步先训练discriminator,让discriminator能够分辨出哪些图片是生成的,哪些是真实的;第二部是训练generator,其实用的是generator和discriminator的一个连接的打大的网络,作用是让generator生成在discriminator那里可以得高分的图片GAN网络介绍
    GAN网络介绍

  6. 原始的GAN的伪码:不过最后面一行应该是有问题的,要把减号换成加号
    GAN网络介绍

  7. GAN的好处:可以生成大家没看过的图片

  8. 机器学习的作用是找到一个从X到Y的函数f,但用regression的时候,输出是数值,当用classification的时候,输出是一个class,当用structured learning的时候,输出可能是sequence、matrix、graph、tree;常见的structured learning 有machine translation、chat-bot、speech recognition

  9. Zero-shot learning 指的是我们之前没有这个类别的训练样本。但是我们可以学习到一个映射X->Y。如果这个映射足够好的话,我们就可以处理没有看到的类了。 比如,我们在训练时没有看见过狮子的图像,但是我们可以用这个映射得到狮子的特征。一个好的狮子特征,可能就和猫,老虎等等比较接近,和汽车,飞机比较远离。感性认识的话,虽然我们不知道这东西叫狮子,但是我们可以说出他和谁谁谁像。(生物学家第一次看到鸭嘴兽的感觉。)
    One-shot learning 指的是我们在训练样本很少,甚至只有一个的情况下,依旧能做预测。如何做到呢?可以在一个大数据集上学到general knowledge(具体的说,也可以是X->Y的映射),然后再到小数据上有技巧的update。相关的名词还有 transfer learning , domain adaption。其实Zero/One-shot learning都属于transfer learning,要点在于先学到好的X->Y的关系,希望能应用到其他问题上。

  10. structured learning的挑战性:‘’
    GAN网络介绍
    GAN网络介绍

  11. GAN结合了structured learning两种常见的方法
    GAN网络介绍

  12. VAE算法,减缓auto-encoder不能生成没有见过的东西的问题(在训练的时候就给他加噪声,让Auto-encoder能够在噪声的时候也可以运行的没有问题)
    GAN网络介绍

  13. 如果都让generator去学的话,会想要最小化像素之间的距离,但是这种思路是有问题的
    GAN网络介绍
    在显示情况中,我们可能希望相邻的像素之间接近一点,但是这一点单纯用一个generator是很难学出来的,往往一个GAN网络可以解决的问题如果用一个Auto-encoder去做的话会需要一个更深的神经网络才能学到这种特性
    GAN网络介绍

  14. Discriminator为什么不可以自己产生输出:对于generator来说很难catch the relation between the components。但是discriminator可以做到(top-down evalution),所以我们可以做下面的:但是如果没有discriminator的时候,discriminator只能获取高分的数据,而且低分的数据也很重要,尽量要让discriminator可以分辨出其实很逼真的低分低分数据
    GAN网络介绍
    以下就是怎么只用discriminator做,其实就是graphical model

GAN网络介绍GAN网络介绍

  1. generator和discriminator的优缺点:
    GAN网络介绍
    有了generator之后,就解决了argmax()的问题
    GAN网络介绍