| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> GAN 学习的到底是什么?(Make Your First GAN With PyTorch 附录 B) -> 正文阅读 |
|
[人工智能]GAN 学习的到底是什么?(Make Your First GAN With PyTorch 附录 B) |
GAN 到底学习的是什么呢? 这问题很好,但是答案并不是很明显。 下面我们在不涉及太多数学术语的情况下,给出 GAN 学习内容的直觉认识。 为了认识 GAN 学习什么,让我们从 GAN 不学习什么开始探讨。 1. GAN 不记忆训练数据GAN 并不记忆训练数据的任何例子。
生成器并不能直接看到训练数据,它利用鉴别器的后向传播误差进行学习,而鉴别器只能对某个图像是否真实进行分类。 所以,GAN 学习的是训练数据中不同元素出现的 可能性(likelihood)。 2. 一个简单的例子下面是 8 张图片构成的小数据集,图片本身仅有 3×3 个像素,而且每个像素仅能有两个取值(这里是蓝色和白色)。
直觉的背后,是关于哪个像素是蓝色的 可能性(likely)。
下面图片中左侧的网格给出了这些数量。
可以很容易地将上图左侧的计数转换为 可能性(likelihood) 或 概率(prob- ability),正如上图右侧的网格。 这个网格类似于 概率分布(probability distribution),显示的是一个 3×3 图像中蓝色像素分布的 可能性(likelihood)。 3. 从概率分布中生成图像如果我们是一个生成器,在确定某个像素是否是蓝色的之前,我们需要先看一下这些概率。 比如,
下图给出了使用这个方法创建的 24 个不同的图像:
从概率分布中创建图像的要点,并不是从训练数据中拷贝图像或其某个部分;而是要创造 可能性(likelihoods) 与训练数据一致的图像。 下面是将计数转换为概率并生成图像的代码: 4. 学习图像特征的像素集合上面简化的例子,仅考虑了独立像素的可能性。但这实际上对诸如 MNIST 数字 或 CelebA 脸部 等更真实的图像,效果并不好。
下面的图片使用了一个简化的生成器网络来展示这个过程:
5. 更多模式和模式坍塌
我们前面完成了这个挑战,是因为 GAN 可以学习正确的网络权重,这样不同范围的随机种子可以激活网络不同的路径,使得匹配不同的概率分布。 直觉地看,这个事情很复杂,这也是为什么 GAN 很难成功训练的要点。 我们之前接触到的 模式坍塌(mode collapse) ,就是说明生成器仅仅学习到了一个类型图像的概率分布。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:03:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |