书到用时方恨少,事非经过不知难。这篇文章主要讲述学习笔记-李宏毅GAN(生成对抗网络)全系列相关的知识,希望能为你提供帮助。
文章目录
- ??前言??
- ??相关链接??
- ??1. Introduction??
- ??1. 1 Basic Idea of GAN??
- ??1.2 GAN as structured learning??
- ??1.3 Generator可以自己学吗???
- ??VAE(Variational Auto-encoder)??
- ??2. CGAN, Conditional Generation by GAN??
- ??2.1 discriminator的架构改进??
- ??2.2 Stack GAN??
- ??2.3 Image-to-image??
- ??2.4 Speech Enhancement(提升语音的质量)??
- ??2.5 Video Generation??
- ??3. Unsupervised Conditional Generation??
- ??3.1 方法1:直接转换??
- ??3. 使用Cycle GAN??
- ??方法2:VAE GAN: Project to Common Space??
- ??GAN(生成对抗网络)全系列(二)??
- ??更多资料??
相关链接
- ??视频??:https://www.youtube.com/playlist?list=PLJV_el3uVTsMq6JEFPW35BCiOQTsoqwNw
GAN, Generative Adversarial Network,作用是训练一个Generator,用于生成东西。
Generator的使用:给Generator一个随机的Vector,然后Generator生成一个随机的“长Vector”(图片、文字等)
输入的Vector的dimension(就是每个值)对应一个特征,例如上图中的第一个0.1可能就对应头发的颜色
Discriminator(判别器):在训练Generator的时候,要同时训练一个Discriminator,作用是判别一张图片的真实程度。
Discriminator 接受一个图片,输出一个Scalar(数值),Scalar越大表示图片越真实
GAN的训练过程(简易版)
1. 准备一个真实图片的数据集
2. 随机初始化Generator和Discriminator,此时Generator生成图片是瞎生成,Discriminator也是瞎分辨
3. 训练Discriminator:
3.1 让Generator生成一组图片,然后让Discriminator来分辨真假,同时也会告诉Discriminator真实的图片长什么样子
【学习笔记-李宏毅GAN(生成对抗网络)全系列】 3.2. 根据第 3.1 步的损失来更新Discriminator
4. 训练Generator:
4.1. 继续让Generator生成一组图片,然后让Discriminator来分别真假。注意,本次只会让Discriminator看生成的图片
4.2. 根据第 4.1 步得到的损失来更新Generator
5. 重复迭代3,4步,直到满意为止
(最原始的)GAN训练过程(公式版),在每一个迭代过程做的事如下:
1. 从数据集中拿到
2. 从distribution中拿出
3. 让Generator根据噪音向量生成数据
推荐阅读
- 使用arcpy遇到的那些坑
- Python进阶-----静态方法(@staticmethod)
- html 玫瑰图 ,拿来直接用,无需下载js包以把js包改为远程访问
- nacos注册中心面试总结
- 动画骨骼模型文件格式fbx
- 配置tomcat日志
- OpenGL Transformation(openGL zh)
- 高复用服务响应对象的设计思想以及抽象封装
- 更深层次的深度测试(由混合所引出)