李弘毅老师GAN笔记(一),对抗生成网络(GAN)简单介绍
更新:
原文已经搬运至网站:https://www.link2sea.com/archives/388,后续也将在该网站进行更新。
查看博主更多文章请前往:https://www.link2sea.com/。
下面是原文
原文:
博主最近在上李弘毅老师的GAN的课程,所以写一些博客作为笔记,方便以后回忆。bilibili链接: https://www.bilibili.com/video/av24011528/?spm_id_from=333.338.recommend_report.1,课程的相关学习资料的链接为:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html
目录
1 为什么GAN
2 什么是 GAN
3 GAN 的原理
4 GAN 的训练
5 其他
1 为什么GAN
Yann LeCun 说过,GAN是ML领域近十年最有意思的想法。GAN的强大就不强调了,本文主要介绍下GAN的核心思想。
2 什么是 GAN
所谓GAN,及Generative Adversarial Networks,由两个网络组成,一个是generative network,是生成网络,一个是adversarial network 是判别网络。
以生成一张二次元图片为例,生成网络的输入是一个向量,表示生成图像的各种特征,比如第一个参数的大小表示人物头发的大小,第二个参数的大小表示人物头发的颜色等,输出是生成的图像。
而判别网络,输入是一张图片,判断它是否是真实的,还是生成网络生成的。若是真实的图片,则输出高分,1分,若判断是网络生成的则给低分,0分。
3 GAN 的原理
如图1所示(来源于李弘毅老师第一节课的课件),首先1代生成器生成1带图片,然后训练判别器识别1代假图片与真图片。然后训练生成器得到2代图片(训练过程在后边介绍),然后训练判别器识别2代假图片和真图片,然后依次类推,最终生成器生成接近真实的图片。
图1 生成对抗网络的训练过程示意图
4 GAN 的训练
接下来是训练的过程。
(1)随机生成器和判别器的参数。
(2)随机生成器输入的向量,生成图片,然后以生成的图片和真实图片作为样本,真实图片标签为1,生成图片标签为0,使用监督学习来训练判别网络。
(3)判别网络训练完成后训练生成网络,将生成网络和判别网络连接起来,如图2所示(来源为李弘毅老师第一节课的课件),将判别网络的参数固定,合成网络输出是随机向量,输出是判别网络的输出,将期望输出设定为1进行训练。因为判别网络参数固定,要想输出为1,则生成网络的输出可以认为骗过了判别网络。再执行第(2)步。.
图2 生成网络训练示意图
GAN的算法如图3所示(来源为李弘毅老师第一节课的课件),与上文的描述基本一致。
图3 GAN训练算法
5 其他
李弘毅老师第一节课中还讲了structured learning,Can Genertor learn by itself? Can discriminator generate?还有a little bit theory(这个他课上没讲)。下面简单介绍一下,详细的可以看课件或听课。
structed learning 意思就是输出不仅仅是一个数,而是一个序列,矩阵,图,书等等。
生成网络自己也是可以通过监督学习来学习生成的,只不过由于他的结构限制,是从下到上的,所以缺少大局观像素间的关系较少。课程中以Auto-encoder和(Variational) Auto-encoder为例介绍了一下,反正就是效果不太,生成图像模糊。
判别网络自己也是可以生成的,其实就是解一个式子
其中x为判别网络输入,D(x)为输出。所以使得输出最大的输入即为生成的最佳的图片。只不过个很难解,且目前只有假设判别网络是线性的才能解,当然这大大失去了复杂程度。
当然最好的效果就是生成网络加判别网络,也就是GAN,也可以理解为生成网络就是解了上述的式子。
今天就写到这里。由于第一,二节课都是前两天上的,所以为了赶进度,写的不是很用心,过几天再把第二篇也给补了,以后就一边听课一边写博客,写的仔细一点。李弘毅老师上课很有意思,强烈安利!!
李弘毅老师GAN笔记(一),对抗生成网络(GAN)简单介绍相关推荐
- 深度学习代码实战演示_Tensorflow_卷积神经网络CNN_循环神经网络RNN_长短时记忆网络LSTM_对抗生成网络GAN
前言 经过大半年断断续续的学习和实践,终于将深度学习的基础知识看完了,虽然还有很多比较深入的内容没有涉及到,但也是感觉收获满满.因为是断断续续的学习做笔记写代码跑实验,所以笔记也零零散散的散落在每个角 ...
- 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)
图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow) 文章目录 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网 ...
- 对抗生成网络GAN(优化目标篇)
对抗生成网络GAN(优化目标篇) 快要面试,故对GAN进行稍许复习 目的 对抗式生成网络GAN提出的目的是估计样本的密度函数pr(x;θ)p_r(x;\theta)pr(x;θ),且并不显式的估计密 ...
- 深度学习对抗生成网络--GAN
导读:GAN的风暴席卷了整个深度学习圈子,任何任务似乎套上GAN的壳子,立马就变得高大上了起来.那么,GAN究竟是什么呢? 相关资料下载 加助教小姐姐的威信即可免费获取: 1. GAN的基本思想 GA ...
- pytorch学习笔记-----对抗生成网络GAN
生成器,判别器 G:生成网络生成的都为假的 D:判别网络判别真实数据与来自生成网络的假数据 判别网络其实就是进行一个图像二分类 生成网络需要fc层输出个数为h*w*c(c=1or3 即为一张图片的形式 ...
- 一文通俗了解对抗生成网络(GAN)核心思想
目前有时间的时候学习一下gan的知识,但是时间也不多,这里记录一下所学,不要太期待喔,完全是学习李宏毅老师课程的笔记,由于是新手,欢迎大家交流指错. 引言 GAN已经作为一种思想来渗透在ML的其余领域 ...
- 李宏毅对抗生成网络 (GAN)教程(1)Introduction
视频链接:https://www.bilibili.com/video/BV1tE411Z78A 在李宏毅GAN教程(1) 的基础上增添修改内容 文章目录 Basic idea of GAN 生成器G ...
- 李宏毅对抗生成网络 (GAN)教程(2) Conditional Generation by GAN
文章目录 Conditional GAN 介绍 具体算法 设计Discriminator Stack GAN 图片到图片 Patch GAN 应用在speech enhancement Video G ...
- 对抗生成网络Gan变体集合 keras版本
1.深度学习Gan学习笔记,keras版 2.深度学习DCGan学习笔记,keras版 3.深度学习ACGan学习笔记,keras版 4.深度学习AAEGan学习笔记,keras版 5.深度学习BiG ...
- Tensorflow 对抗生成网络GAN 不服就GAN
这一节的回顾也意味着深度学习基础课程学习进入了尾声了,GAN作为性能远超我们上一节提到的VAE的一个存在还是有很多出彩的地方的: 首先引用理查德费曼的一句话-'What I cannot create ...
最新文章
- 符合RESTful的接口规范
- 输入法半角和全角的快捷转换_日语输入法究极指南
- python爬虫代码1000行-简单用14行代码写一个Python代理IP的爬虫
- Python的逻辑判断和循环 || 打印九九乘法表
- [Mummy Maze] 宽度优先搜索
- 远程连接mysql数据库注意点记录
- zoj1610-Count the Colors【线段树】
- 认识java编程语言
- Elasticsearch 日期时间处理
- 最基本的25道深度学习面试问题和答案
- java 修改文件编码_java中怎么获取、设置文件编码格式?
- Office 2010安装1402错误
- 【LaTeX】LaTeX常见括号总结
- Andorid 安卓接入支付宝支付(当面付)
- 【阿里云-云栖社区】喜欢的记得关注(每日更新)
- Matlab实现snn代码,SNN系列|神经元模型篇(3)SRM
- Android 3年外包工面试笔记,有机会还是要去大厂学习提升
- Html主要内容总结
- item_get - 根据ID获取拼多多商品详情
- Cesium粒子系统、火焰粒子、喷水粒子
热门文章
- 【Python 百练成钢】快速上手并查集
- 利用python 爬取豆瓣即将上映的电影
- 腾讯新闻android2.3,腾讯新闻Android客户端更新 加入投票功能
- 图片判断左脑发达还是右脑发达
- java代驾业务信息管理系统_基于jsp的代驾平台-JavaEE实现代驾平台 - java项目源码...
- Android混淆编译、反混淆、反编译
- pq grid 及 一些基本方法
- IntelliJ IDEA中的神仙插件(写代码必备)
- Math.cos()
- jQueryanimation实现漂流瓶扔和写动画效果