博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不得不了解的深度学习知识(二)
阅读量:1888 次
发布时间:2019-04-26

本文共 3135 字,大约阅读时间需要 10 分钟。

你不得不了解的深度学习知识

书接上回,你不得不了解的深度学习知识(一),了解了卷积神经网络,以及循环神经网络。这节把剩下的两种常见网络给讲述完毕!

3 生成对抗网络 – Generative Adversarial Networks | GAN

生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。我们手机里的照片处理软件中就会使用到它。

(1)GAN的设计初衷

一句话来概括 GAN 的设计动机就是——自动化。

深度学习最特别最厉害的地方就是能够自己学习特征提取。机器的超强算力可以解决很多人工无法解决的问题。自动化后,学习能力更强,适应性也更强。

人工判断生成结果的好坏——自动判断和优化

训练集需要大量的人工标注数据,这个过程是成本很高且效率很低的。而人工判断生成结果的好坏也是如此,有成本高和效率低的问题。

而 GAN 能自动完成这个过程,且不断的优化,这是一种效率非常高,且成本很低的方式。GAN是如何实现自动化的呢?下面我们讲解一下他的原理。

(2)生成对抗网络 GAN 的基本原理

大白话版本:

假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。

警察们开始继续训练自己的破案技术,开始抓住那些越来越狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,于是上前盘查,并最终逮捕嫌犯;小偷们的日子也不好过了,因为警察们的水平大大提高,如果还想以前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。

为了避免被捕,小偷们努力表现得不那么「可疑」,而魔高一尺、道高一丈,警察也在不断提高自己的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种「交流」与「切磋」,小偷们都变得非常谨慎,他们有着极高的偷窃技巧,表现得跟普通群众一模一样,而警察们都练就了「火眼金睛」,一旦发现可疑人员,就能马上发现并及时控制——最终,我们同时得到了最强的小偷和最强的警察。

非大白话版本

生成对抗网络(GAN)由2个重要的部分构成:

  • 生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
  • 判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”

详细过程:

  • 第一阶段:固定「判别器D」,训练「生成器G」

我们使用一个还 OK 判别器,让一个「生成器G」不断生成“假数据”,然后给这个「判别器D」去判断。

一开始,「生成器G」还很弱,所以很容易被揪出来。

但是随着不断的训练,「生成器G」技能不断提升,最终骗过了「判别器D」。

到了这个时候,「判别器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。

  • 第二阶段:固定「生成器G」,训练「判别器D」

当通过了第一阶段,继续训练「生成器G」就没有意义了。这个时候我们固定「生成器G」,然后开始训练「判别器D」。

「判别器D」通过不断训练,提高了自己的鉴别能力,最终他可以准确的判断出所有的假图片。

到了这个时候,「生成器G」已经无法骗过「判别器D」。

  • 循环阶段一和阶段二

通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。

最终我们得到了一个效果非常好的「生成器G」,我们就可以用它来生成我们想要的图片了。

(3)GAN的优缺点

3个优势:

  • 能更好建模数据分布(图像更锐利、清晰)

  • 理论上,GANs 能训练任何一种生成器网络。其他的框架需要生成器网络有一些特定的函数形式,比如输出层是高斯的。

  • 无需利用马尔科夫链反复采样,无需在学习过程中进行推断,没有复杂的变分下界,避开近似计算棘手的概率的难题。

2个缺陷:

  • 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易D收敛,G发散。D/G 的训练需要精心的设计。

  • 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。

(4)GAN算法

如果你对 GANs 算法感兴趣,可以在 里查看几乎所有的算法。

(5)GAN的实际应用

生成图像数据集

人工智能的训练是需要大量的数据集的,如果全部靠人工收集和标注,成本是很高的。GAN 可以自动的生成一些数据集,提供低成本的训练数据。

图像到图像的转换

简单说就是把一种形式的图像转换成另外一种形式的图像,就好像加滤镜一样神奇。

文字到图像的转换

在2016年标题为“ StackGAN:使用 StackGAN 的文本到逼真照片的图像合成 ”的论文中,演示了使用 GAN,特别是他们的 StackGAN,从鸟类和花卉等简单对象的文本描述中生成逼真的照片。

自动生成模特

在2017年标题为“ 姿势引导人形象生成 ”的论文中,可以自动生成人体模特,并且使用新的姿势。

照片到Emojis

GANs 可以通过人脸照片自动生成对应的表情(Emojis)。

预测不同年龄的长相

给一张人脸照片, GAN 就可以帮你预测不同年龄阶段你会长成什么样。

提高照片分辨率,让照片更清晰

给GAN一张照片,他就能生成一张分辨率更高的照片,使得这个照片更加清晰。

照片修复

假如照片中有一个区域出现了问题(例如被涂上颜色或者被抹去),GAN可以修复这个区域,还原成原始的状态。

自动生成3D模型

给出多个不同角度的2D图像,就可以生成一个3D模型。

4 强化学习-Reinforcement learning | RL

(1) 什么是强化学习

强化学习并不是某一种特定的算法,而是一类算法的统称。

强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。

在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。

这就是一个典型的强化学习场景:

  • 机器有一个明确的小鸟角色——代理
  • 需要控制小鸟飞的更远——目标
  • 整个游戏过程中需要躲避各种水管——环境
  • 躲避水管的方法是让小鸟用力飞一下——行动
  • 躲避水管的方法是让小鸟用力飞一下——行动

(2) 强化学习的主流算法

免模型学习(Model-Free) vs 有模型学习(Model-Based)

强化学习算法的2大分类。这2个分类的重要差异是:智能体是否能完整了解或学习到所在环境的模型

有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如果模型跟真实世界不一致,那么在实际使用场景下会表现的不好。

免模型学习(Model-Free)放弃了模型学习,在效率上不如前者,但是这种方式更加容易实现,也容易在真实场景下调整到很好的状态。所以免模型学习方法更受欢迎,得到更加广泛的开发和测试。

免模型学习 – 策略优化(Policy Optimization)

免模型学习 – Q-Learning

有模型学习 – 纯规划

有模型学习 – Expert Iteration

转载地址:http://kegbf.baihongyu.com/

你可能感兴趣的文章
Activity栈管理 面试 笔记
查看>>
window、windowManager 和 WMS 的关系面试 笔记
查看>>
Window 的属性面试 笔记
查看>>
Window 的标志
查看>>
运行时数据区域 面试 笔记
查看>>
垃圾标记算法 面试 笔记
查看>>
垃圾收集算法 面试 笔记
查看>>
Android 应该是很全面的单例模式介绍,共七种
查看>>
【解惑】剖析float型的内存存储和精度丢失问题
查看>>
android SHA1获取(代码获取)
查看>>
android 7.0调用相机 崩溃
查看>>
studio导入 eclipse项目 encoding编码错误
查看>>
mac 安装配置ndk环境
查看>>
mac studio 配置gradle的环境变量
查看>>
studio 显示 can't use Subversion connand line client
查看>>
增量/差量更新 编译生成so库
查看>>
Mac、win VLC播放器 快进的三个快捷键
查看>>
AlertDialog 横竖屏切换报WindowLeaked / dialog消失
查看>>
android 设置 webService 超时时间
查看>>
可怜的博主跟小豆人杠起来啦!Python制作的吃豆人小游戏,快来围观!!
查看>>