Professional Documents
Culture Documents
也可以关注我们的公众号:easyAI订阅号
⽬目录:
1. 深度学习全景图
2. 深度学习概要
3. 卷积神经⽹网络 - CNN
4. 循环神经⽹网络 - RNN
5. ⻓长短期记忆⽹网络 – LSTM
6. ⽣生成对抗⽹网络 – GANs
7. 强化学习-Reinforcement learning | RL
深度学习全景图
我们先通过⼀一张⻓长图来全⾯面了了解⼀一下深度学习,如果想下载⻓长图,可以访问这个链接-「下
载链接」
深度学习 – DEEP LEARNING | DL
深度学习有很好的表现,引领了了第三次⼈人⼯工智能的浪潮。⽬目前⼤大部分表现优异的应⽤用
都⽤用到了了深度学习,⼤大红⼤大紫的 AlphaGo 就使⽤用到了了深度学习。
本⽂文将详细的给⼤大家介绍深度学习的基本概念、优缺点和主流的⼏几种算法。
深度学习、神经⽹网络、机器器学习、⼈人⼯工智能
的关系
深度学习、机器器学习、⼈人⼯工智能
简单来说:
1. 深度学习是机器器学习的⼀一个分⽀支(最重要的分⽀支)
2. 机器器学习是⼈人⼯工智能的⼀一个分⽀支
⽬目前表现最好的⼀一些应⽤用⼤大部分都是深度学习,正是因为深度学习的突出表现,引发了了⼈人
⼯工智能的第三次浪潮。详情可以看《⼈人⼯工智能的发展史——3次 AI 浪潮》
详细了了解⼈人⼯工智能:《「2019更更新」什什么是⼈人⼯工智能?(AI的本质+发展史+局限性)》
详细了了解机器器学习:《「75⻚页PDF免费下载」⾯面向所有⼈人的机器器学习科普⼤大全》
深度学习、神经⽹网络
深度学习的概念源于⼈人⼯工神经⽹网络的研究,但是并不不完全等于传统神经⽹网络。
不不过在叫法上,很多深度学习算法中都会包含”神经⽹网络”这个词,⽐比如:卷积神经⽹网络、
循环神经⽹网络。
所以,深度学习可以说是在传统神经⽹网络基础上的升级,约等于神经⽹网络。
⼤大⽩白话解释深度学习
看了了很多版本的解释,发现李李开复在《⼈人⼯工智能》⼀一书中讲的是最容易易理理解的,所以下⾯面
直接引⽤用他的解释:
我们以识别图⽚片中的汉字为例例。
假设深度学习要处理理的信息是“⽔水流”,⽽而处理理数据的深度学习⽹网络是⼀一个由管道和阀⻔门组
成的巨⼤大⽔水管⽹网络。⽹网络的⼊入⼝口是若⼲干管道开⼝口,⽹网络的出⼝口也是若⼲干管道开⼝口。这个⽔水
管⽹网络有许多层,每⼀一层由许多个可以控制⽔水流流向与流量量的调节阀。根据不不同任务的需
要,⽔水管⽹网络的层数、每层的调节阀数量量可以有不不同的变化组合。对复杂任务来说,调节
阀的总数可以成千上万甚⾄至更更多。⽔水管⽹网络中,每⼀一层的每个调节阀都通过⽔水管与下⼀一层
的所有调节阀连接起来,组成⼀一个从前到后,逐层完全连通的⽔水流系统。
那么,计算机该如何使⽤用这个庞⼤大的⽔水管⽹网络来学习识字呢?
⽐比如,当计算机看到⼀一张写有“⽥田”字的图⽚片,就简单将组成这张图⽚片的所有数字(在计算
机⾥里里,图⽚片的每个颜⾊色点都是⽤用“0”和“1”组成的数字来表示的)全都变成信息的⽔水流,从
⼊入⼝口灌进⽔水管⽹网络。
我们预先在⽔水管⽹网络的每个出⼝口都插⼀一块字牌,对应于每⼀一个我们想让计算机认识的汉
字。这时,因为输⼊入的是“⽥田”这个汉字,等⽔水流流过整个⽔水管⽹网络,计算机就会跑到管道
出⼝口位置去看⼀一看,是不不是标记由“⽥田”字的管道出⼝口流出来的⽔水流最多。如果是这样,就
说明这个管道⽹网络符合要求。如果不不是这样,就调节⽔水管⽹网络⾥里里的每⼀一个流量量调节阀,
让“⽥田”字出⼝口“流出”的⽔水最多。
这下,计算机要忙⼀一阵了了,要调节那么多阀⻔门!好在计算机的速度快,暴暴⼒力力的计算加上算
法的优化,总是可以很快给出⼀一个解决⽅方案,调好所有阀⻔门,让出⼝口处的流量量符合要求。
下⼀一步,学习“申”字时,我们就⽤用类似的⽅方法,把每⼀一张写有“申”字的图⽚片变成⼀一⼤大堆数
字组成的⽔水流,灌进⽔水管⽹网络,看⼀一看,是不不是写有“申”字的那个管道出⼝口流⽔水最多,如
果不不是,我们还得再调整所有的阀⻔门。这⼀一次,要既保证刚才学过的“⽥田”字不不受影响,也
要保证新的“申”字可以被正确处理理。
如此反复进⾏行行,知道所有汉字对应的⽔水流都可以按照期望的⽅方式流过整个⽔水管⽹网络。这
时,我们就说,这个⽔水管⽹网络是⼀一个训练好的深度学习模型了了。当⼤大量量汉字被这个管道⽹网
络处理理,所有阀⻔门都调节到位后,整套⽔水管⽹网络就可以⽤用来识别汉字了了。这时,我们可以
把调节好的所有阀⻔门都“焊死”,静候新的⽔水流到来。
与训练时做的事情类似,未知的图⽚片会被计算机转变成数据的⽔水流,灌⼊入训练好的⽔水管⽹网
络。这时,计算机只要观察⼀一下,哪个出⽔水⼝口流出来的⽔水流最多,这张图⽚片写的就是哪个
字。
深度学习⼤大致就是这么⼀一个⽤用⼈人类的数学知识与计算机算法构建起来的整体架构,再结合
尽可能多的训练数据以及计算机的⼤大规模运算能⼒力力去调节内部参数,尽可能逼近问题⽬目标
的半理理论、半经验的建模⽅方式。
传统机器器学习 VS 深度学习
传统机器器学习和深度学习的相似点
在数据准备和预处理理⽅方⾯面,两者是很相似的。
他们都可能对数据进⾏行行⼀一些操作:
数据清洗
数据标签
归⼀一化
去噪
降维
对于数据预处理理感兴趣的可以看看《AI 数据集最常⻅见的6⼤大问题(附解决⽅方案)》
传统机器器学习和深度学习的核⼼心区别
传统机器器学习的特征提取主要依赖⼈人⼯工,针对特定简单任务的时候⼈人⼯工提取特征会简单有
效,但是并不不能通⽤用。
深度学习的特征提取并不不依靠⼈人⼯工,⽽而是机器器⾃自动提取的。这也是为什什么⼤大家都说深度学
习的可解释性很差,因为有时候深度学习虽然能有好的表现,但是我们并不不知道他的原理理
是什什么。
深度学习的优缺点
优点1:学习能⼒力力强
从结果来看,深度学习的表现⾮非常好,他的学习能⼒力力⾮非常强。
优点2:覆盖范围⼴广,适应性好
深度学习的神经⽹网络层数很多,宽度很⼴广,理理论上可以映射到任意函数,所以能解决很复
杂的问题。
优点3:数据驱动,上限⾼高
深度学习⾼高度依赖数据,数据量量越⼤大,他的表现就越好。在图像识别、⾯面部识别、NLP 等
部分任务甚⾄至已经超过了了⼈人类的表现。同时还可以通过调参进⼀一步提⾼高他的上限。
优点4:可移植性好
由于深度学习的优异表现,有很多框架可以使⽤用,例例如 TensorFlow、Pytorch。这些框架
可以兼容很多平台。
缺点1:计算量量⼤大,便便携性差
深度学习需要⼤大量量的数据很⼤大量量的算⼒力力,所以成本很⾼高。并且现在很多应⽤用还不不适合在移
动设备上使⽤用。⽬目前已经有很多公司和团队在研发针对便便携设备的芯⽚片。这个问题未来会
得到解决。
缺点2:硬件需求⾼高
缺点3:模型设计复杂
深度学习的模型设计⾮非常复杂,需要投⼊入⼤大量量的⼈人⼒力力物⼒力力和时间来开发新的算法和模型。
⼤大部分⼈人只能使⽤用现成的模型。
缺点4:没有”⼈人性”,容易易存在偏⻅见
由于深度学习依赖数据,并且可解释性不不⾼高。在训练数据不不平衡的情况下会出现性别歧
视、种族歧视等问题。
4种典型的深度学习算法
卷积神经⽹网络 – CNN
CNN 的价值:
1. 能够将⼤大数据量量的图⽚片有效的降维成⼩小数据量量(并不不影响结果)
2. 能够保留留图⽚片的特征,类似⼈人类的视觉原理理
CNN 的基本原理理:
1. 卷积层 – 主要作⽤用是保留留图⽚片的特征
2. 池化层 – 主要作⽤用是把数据降维,可以有效的避免过拟合
3. 全连接层 – 根据不不同任务输出我们想要的结果
CNN 的实际应⽤用:
1. 图⽚片分类、检索
2. ⽬目标定位检测
3. ⽬目标分割
4. ⼈人脸识别
5. ⻣骨骼识别
了了解更更多《⼀一⽂文看懂卷积神经⽹网络-CNN(基本原理理+独特价值+实际应⽤用)》
循环神经⽹网络 – RNN
RNN 是⼀一种能有效的处理理序列列数据的算法。⽐比如:⽂文章内容、语⾳音⾳音频、股票价格⾛走势…
之所以他能处理理序列列数据,是因为在序列列中前⾯面的输⼊入也会影响到后⾯面的输出,相当于有
了了“记忆功能”。但是 RNN 存在严重的短期记忆问题,⻓长期的数据影响很⼩小(哪怕他是重
要的信息)。
于是基于 RNN 出现了了 LSTM 和 GRU 等变种算法。这些变种算法主要有⼏几个特点:
1. ⻓长期信息可以有效的保留留
2. 挑选重要信息保留留,不不重要的信息会选择“遗忘”
RNN ⼏几个典型的应⽤用如下:
1. ⽂文本⽣生成
2. 语⾳音识别
3. 机器器翻译
4. ⽣生成图像描述
5. 视频标记
了了解更更多《⼀一⽂文看懂循环神经⽹网络-RNN(独特价值+优化算法+实际应⽤用)》
⽣生成对抗⽹网络 – GANs
假设⼀一个城市治安混乱,很快,这个城市⾥里里就会出现⽆无数的⼩小偷。在这些⼩小偷中,有的可
能是盗窃⾼高⼿手,有的可能毫⽆无技术可⾔言。假如这个城市开始整饬其治安,突然开展⼀一场打
击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,⼀一批「学艺不不精」的⼩小偷就被
捉住了了。之所以捉住的是那些没有技术含量量的⼩小偷,是因为警察们的技术也不不⾏行行了了,在捉
住⼀一批低端⼩小偷后,城市的治安⽔水平变得怎样倒还不不好说,但很明显,城市⾥里里⼩小偷们的平
均⽔水平已经⼤大⼤大提⾼高了了。
警察们开始继续训练⾃自⼰己的破案技术,开始抓住那些越来越狡猾的⼩小偷。随着这些职业惯
犯们的落⽹网,警察们也练就了了特别的本事,他们能很快能从⼀一群⼈人中发现可疑⼈人员,于是
上前盘查,并最终逮捕嫌犯;⼩小偷们的⽇日⼦子也不不好过了了,因为警察们的⽔水平⼤大⼤大提⾼高,如
果还想以前那样表现得⻤鬼⻤鬼祟祟,那么很快就会被警察捉住。为了了避免被捕,⼩小偷们努⼒力力
表现得不不那么「可疑」,⽽而魔⾼高⼀一尺、道⾼高⼀一丈,警察也在不不断提⾼高⾃自⼰己的⽔水平,争取将
⼩小偷和⽆无辜的普通群众区分开。随着警察和⼩小偷之间的这种「交流」与「切磋」,⼩小偷们
都变得⾮非常谨慎,他们有着极⾼高的偷窃技巧,表现得跟普通群众⼀一模⼀一样,⽽而警察们都练
就了了「⽕火眼⾦金金睛」,⼀一旦发现可疑⼈人员,就能⻢马上发现并及时控制——最终,我们同时得
到了了最强的⼩小偷和最强的警察。
了了解更更多《什什么是⽣生成对抗⽹网络 – GAN?(基本概念+⼯工作原理理)》
深度强化学习 – RL
强化学习算法的思路路⾮非常简单,以游戏为例例,如果在游戏中采取某种策略略可以取得较⾼高的
得分,那么就进⼀一步「强化」这种策略略,以期继续取得较好的结果。这种策略略与⽇日常⽣生活
中的各种「绩效奖励」⾮非常类似。我们平时也常常⽤用这样的策略略来提⾼高⾃自⼰己的游戏⽔水平。
这就是⼀一个典型的强化学习场景:
机器器有⼀一个明确的⼩小⻦鸟⻆角⾊色——代理理
需要控制⼩小⻦鸟⻜飞的更更远——⽬目标
整个游戏过程中需要躲避各种⽔水管——环境
躲避⽔水管的⽅方法是让⼩小⻦鸟⽤用⼒力力⻜飞⼀一下——⾏行行动
⻜飞的越远,就会获得越多的积分——奖励
你会发现,强化学习和监督学习、⽆无监督学习 最⼤大的不不同就是不不需要⼤大量量的“数据喂养”。
⽽而是通过⾃自⼰己不不停的尝试来学会某些技能。
了了解更更多:《⼀一⽂文看懂什什么是强化学习?(基本概念+应⽤用场景+主流算法)》
卷积神经⽹网络 - CNN
卷积神经⽹网络 – CNN 最擅⻓长的就是图⽚片的处理理。它受到⼈人类视觉神经系统的启发。
CNN 有2⼤大特点:
1. 能够有效的将⼤大数据量量的图⽚片降维成⼩小数据量量
2. 能够有效的保留留图⽚片特征,符合图⽚片处理理的原则
CNN 解决了了什什么问题?
在 CNN 出现之前,图像对于⼈人⼯工智能来说是⼀一个难题,有2个原因:
1. 图像需要处理理的数据量量太⼤大,导致成本很⾼高,效率很低
2. 图像在数字化的过程中很难保留留原有的特征,导致图像处理理的准确率不不⾼高
下⾯面就详细说明⼀一下这2个问题:
需要处理理的数据量量太⼤大
图像是由像素构成的,每个像素⼜又是由颜⾊色构成的。
现在随随便便便便⼀一张图⽚片都是 1000×1000 像素以上的, 每个像素都有RGB 3个参数来表示
颜⾊色信息。
1000×1000×3=3,000,000
这么⼤大量量的数据处理理起来是⾮非常消耗资源的,⽽而且这只是⼀一张不不算太⼤大的图⽚片!
更更重要的是:我们在⼤大部分场景下,降维并不不会影响结果。⽐比如1000像素的图⽚片缩⼩小成
200像素,并不不影响⾁肉眼认出来图⽚片中是⼀一只猫还是⼀一只狗,机器器也是如此。
保留留图像特征
图⽚片数字化的传统⽅方式我们简化⼀一下,就类似下图的过程:
假如有圆形是1,没有圆形是0,那么圆形的位置不不同就会产⽣生完全不不同的数据表达。但是
从视觉的⻆角度来看,图像的内容(本质)并没有发⽣生变化,只是位置发⽣生了了变化。
所以当我们移动图像中的物体,⽤用传统的⽅方式的得出来的参数会差异很⼤大!这是不不符合图
像处理理的要求的。
⽽而 CNN 解决了了这个问题,他⽤用类似视觉的⽅方式保留留了了图像的特征,当图像做翻转,旋转
或者变换位置时,它也能有效的识别出来是类似的图像。
⼈人类的视觉原理理
深度学习的许多研究成果,离不不开对⼤大脑认知原理理的研究,尤其是视觉原理理的研究。
⼈人类的视觉原理理如下:从原始信号摄⼊入开始(瞳孔摄⼊入像素 Pixels),接着做初步处理理
(⼤大脑⽪皮层某些细胞发现边缘和⽅方向),然后抽象(⼤大脑判定,眼前的物体的形状,是圆
形的),然后进⼀一步抽象(⼤大脑进⼀一步判定该物体是只⽓气球)。下⾯面是⼈人脑进⾏行行⼈人脸识别
的⼀一个示例例:
对于不不同的物体,⼈人类视觉也是通过这样逐层分级,来进⾏行行认知的:
我们可以看到,在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类
物体的⼀一些特征(轮⼦子、眼睛、躯⼲干等),到最上层,不不同的⾼高级特征最终组合成相应的
图像,从⽽而能够让⼈人类准确的区分不不同的物体。
那么我们可以很⾃自然的想到:可以不不可以模仿⼈人类⼤大脑的这个特点,构造多层的神经⽹网
络,较低层的识别初级的图像特征,若⼲干底层特征组成更更上⼀一层特征,最终通过多个层级
的组合,最终在顶层做出分类呢?
答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。
卷积神经⽹网络-CNN 的基本原理理
1. 卷积层
2. 池化层
3. 全连接层
如果简单来描述的话:
卷积层负责提取图像中的局部特征;池化层⽤用来⼤大幅降低参数量量级(降维);全连接层类似
传统神经⽹网络的部分,⽤用来输出想要的结果。
下⾯面的原理理解释为了了通俗易易懂,忽略略了了很多技术细节,如果⼤大家对详细的原理理感兴趣,可
以看这个视频《卷积神经⽹网络基础》。
卷积——提取特征
卷积层的运算过程如下图,⽤用⼀一个卷积核扫完整张图⽚片:
这个过程我们可以理理解为我们使⽤用⼀一个过滤器器(卷积核)来过滤图像的各个⼩小区域,从⽽而
得到这些⼩小区域的特征值。
在具体应⽤用中,往往有多个卷积核,可以认为,每个卷积核代表了了⼀一种图像模式,如果某
个图像块与此卷积核卷积出的值⼤大,则认为此图像块⼗十分接近于此卷积核。如果我们设计
了了6个卷积核,可以理理解:我们认为这个图像上有6种底层纹理理模式,也就是我们⽤用6中基
础模式就能描绘出⼀一副图像。以下就是25种不不同的卷积核的示例例:
总结:卷积层的通过卷积核的过滤提取出图⽚片中局部的特征,跟上⾯面提到的⼈人类视觉的特
征提取类似。
池化层(下采样)——数据降维,避免过拟合
池化层简单说就是下采样,他可以⼤大⼤大降低数据的维度。其过程如下:
上 图 中 , 我 们 可 以 看 到 , 原 始 图 ⽚片 是 20×20 的 , 我 们 对 其 进 ⾏行行 下 采 样 , 采 样 窗 ⼝口 为
10×10,最终将其下采样成为⼀一个2×2⼤大⼩小的特征图。
之所以这么做的原因,是因为即使做完了了卷积,图像仍然很⼤大(因为卷积核⽐比较⼩小),所
以为了了降低数据维度,就进⾏行行下采样。
总结:池化层相⽐比卷积层可以更更有效的降低数据维度,这么做不不但可以⼤大⼤大减少运算量量,
还可以有效的避免过拟合。
全连接层——输出结果
这个部分就是最后⼀一步了了,经过卷积层和池化层处理理过的数据输⼊入到全连接层,得到最终
想要的结果。
经过卷积层和池化层降维过的数据,全连接层才能”跑得动”,不不然数据量量太⼤大,计算成本
⾼高,效率低下。
CNN 有哪些实际应⽤用?
图像分类、检索
图像分类是⽐比较基础的应⽤用,他可以节省⼤大量量的⼈人⼯工成本,将图像进⾏行行有效的分类。对于
⼀一些特定领域的图⽚片,分类的准确率可以达到 95%+,已经算是⼀一个可⽤用性很⾼高的应⽤用
了了。
典型场景:图像搜索…
⽬目标定位检测
可以在图像中定位⽬目标,并确定⽬目标的位置及⼤大⼩小。
典型场景:⾃自动驾驶、安防、医疗…
⽬目标分割
简单理理解就是⼀一个像素级的分类。
他可以对前景和背景进⾏行行像素级的区分、再⾼高级⼀一点还可以识别出⽬目标并且对⽬目标进⾏行行分
类。
典型场景:美图秀秀、视频后期加⼯工、图像⽣生成…
⼈人脸识别
⼈人脸识别已经是⼀一个⾮非常普及的应⽤用了了,在很多领域都有⼴广泛的应⽤用。
典型场景:安防、⾦金金融、⽣生活…
⻣骨骼识别
⻣骨骼识别是可以识别身体的关键⻣骨骼,以及追踪⻣骨骼的动作。
典型场景:安防、电影、图像视频⽣生成、游戏…
总结
CNN 的价值:
1. 能够将⼤大数据量量的图⽚片有效的降维成⼩小数据量量(并不不影响结果)
2. 能够保留留图⽚片的特征,类似⼈人类的视觉原理理
CNN 的基本原理理:
1. 卷积层 – 主要作⽤用是保留留图⽚片的特征
2. 池化层 – 主要作⽤用是把数据降维,可以有效的避免过拟合
3. 全连接层 – 根据不不同任务输出我们想要的结果
CNN 的实际应⽤用:
1. 图⽚片分类、检索
2. ⽬目标定位检测
3. ⽬目标分割
4. ⼈人脸识别
5. ⻣骨骼识别
循环神经⽹网络 – RNN
但是在某些场景中,⼀一个输⼊入就不不够了了!
为了了填好下⾯面的空,取前⾯面任何⼀一个词都不不合适,我们不不但需要知道前⾯面所有的词,还需
要知道词之间的顺序。
这种需要处理理「序列列数据 – ⼀一串串相互依赖的数据流」的场景就需要使⽤用 RNN 来解决了了。
典型的集中序列列数据:
1. ⽂文章⾥里里的⽂文字内容
2. 语⾳音⾥里里的⾳音频内容
3. 股票市场中的价格⾛走势
4. ……
RNN 之所以能够有效的处理理序列列数据,主要是基于他的⽐比较特殊的运⾏行行原理理。下⾯面给⼤大家
介绍⼀一下 RNN 的基本运⾏行行原理理。
RNN 的基本原理理
RNN 跟传统神经⽹网络最⼤大的区别在于每次都会将前⼀一次的输出结果,带到下⼀一次的隐藏层
中,⼀一起训练。如下图所示:
下⾯面⽤用⼀一个具体的案例例来看看 RNN 是如何⼯工作的:
假如需要判断⽤用户的说话意图(问天⽓气、问时间、设置闹钟…),⽤用户说了了⼀一句句“what
time is it?”我们需要先对这句句话进⾏行行分词:
当我们判断意图的时候,只需要最后⼀一层的输出「05」,如下图所示:
RNN 的缺点也⽐比较明显
通过上⾯面的例例⼦子,我们已经发现,短期的记忆影响较⼤大(如橙⾊色区域),但是⻓长期的记忆
影响就很⼩小(如⿊黑⾊色和绿⾊色区域),这就是 RNN 存在的短期记忆问题。
1. RNN 有短期记忆问题,⽆无法处理理很⻓长的输⼊入序列列
2. 训练 RNN 需要投⼊入极⼤大的成本
RNN 的优化算法
简单说就是:抓重点!
举个例例⼦子,我们先快速的阅读下⾯面这段话:
当我们快速阅读完之后,可能只会记住下⾯面⼏几个重点:
LSTM 类似上⾯面的划重点,他可以保留留较⻓长序列列数据中的「重要信息」,忽略略不不重要的信
息。这样就解决了了 RNN 短期记忆的问题。
从 LSTM 到 GRU
Gated Recurrent Unit – GRU 是 LSTM 的⼀一个变体。他保留留了了 LSTM 划重点,遗忘不不重
要信息的特点,在long-term 传播的时候也不不会被丢失。
只要涉及到序列列数据的处理理问题,都可以使⽤用到,NLP 就是⼀一个典型的应⽤用场景。
⽂文本⽣生成:类似上⾯面的填空题,给出前后⽂文,然后预测空格中的词是什什么。
机器器翻译:翻译⼯工作也是典型的序列列问题,词的顺序直接影响了了翻译的结果。
语⾳音识别:根据输⼊入⾳音频判断对应的⽂文字是什什么。
⽣生成图像描述:类似看图说话,给⼀一张图,能够描述出图⽚片中的内容。这个往往是 RNN
和 CNN 的结合。
视频标记:他将视频分解为图⽚片,然后⽤用图像描述来描述图⽚片内容。
总结
RNN的独特价值在于:它能有效的处理理序列列数据。⽐比如:⽂文章内容、语⾳音⾳音频、股票价格
⾛走势…
之所以他能处理理序列列数据,是因为在序列列中前⾯面的输⼊入也会影响到后⾯面的输出,相当于有
了了“记忆功能”。但是 RNN 存在严重的短期记忆问题,⻓长期的数据影响很⼩小(哪怕他是重
要的信息)。
1. ⻓长期信息可以有效的保留留
2. 挑选重要信息保留留,不不重要的信息会选择“遗忘”
RNN ⼏几个典型的应⽤用如下:
1. ⽂文本⽣生成
2. 语⾳音识别
3. 机器器翻译
4. ⽣生成图像描述
5. 视频标记
⻓长短期记忆⽹网络 – LSTM
什什么是 LSTM?
LSTM 也具有这种类似的链式结构,但重复模块具有不不同的结构。不不是⼀一个单独的神经⽹网
络层,⽽而是四个,并且以⾮非常特殊的⽅方式进⾏行行交互。
不不要担⼼心细节。稍后我们将逐步浏览 LSTM 的图解。现在,让我们试着去熟悉我们将使⽤用
的符号。
在上⾯面的图中,每⾏行行包含⼀一个完整的向量量,从⼀一个节点的输出到其他节点的输⼊入。粉⾊色圆
圈表示逐点运算,如向量量加法;⽽而⻩黄⾊色框表示学习的神经⽹网络层。⾏行行合并表示串串联,⽽而分
⽀支表示其内容正在被复制,并且副本将转到不不同的位置。
LSTM的核⼼心思路路
LSTM 的关键是细胞状态,即图中上⽅方的⽔水平线。
细胞状态有点像传送带。它贯穿整个链条,只有⼀一些次要的线性交互作⽤用。信息很容易易以
不不变的⽅方式流过。
LSTM 可以通过所谓“⻔门”的精细结构向细胞状态添加或移除信息。
⻔门可以选择性地以让信息通过。它们由 S 形神经⽹网络层和逐点乘法运算组成。
⽣生成对抗⽹网络 – GANS
GANS的设计初衷
我们在《⼀一⽂文看懂深度学习(概念+优缺点+典型算法)》中讲过,深度学习最特别最厉害
的地⽅方就是能够⾃自⼰己学习特征提取。
机器器的超强算⼒力力可以解决很多⼈人⼯工⽆无法解决的问题。⾃自动化后,学习能⼒力力更更强,适应性也
更更强。
⼈人⼯工判断⽣生成结果的好坏——⾃自动判断和优化
我们在《监督学习》中讲过,训练集需要⼤大量量的⼈人⼯工标注数据,这个过程是成本很⾼高且效
率很低的。⽽而⼈人⼯工判断⽣生成结果的好坏也是如此,有成本⾼高和效率低的问题。
⽽而 GANs 能⾃自动完成这个过程,且不不断的优化,这是⼀一种效率⾮非常⾼高,且成本很低的⽅方
式。GANs是如何实现⾃自动化的呢?下⾯面我们讲解⼀一下他的原理理。
⼤大⽩白话版本
知乎上有⼀一个很不不错的解释,⼤大家应该都能理理解:
假设⼀一个城市治安混乱,很快,这个城市⾥里里就会出现⽆无数的⼩小偷。在这些⼩小偷中,有的可
能是盗窃⾼高⼿手,有的可能毫⽆无技术可⾔言。假如这个城市开始整饬其治安,突然开展⼀一场打
击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,⼀一批「学艺不不精」的⼩小偷就被
捉住了了。之所以捉住的是那些没有技术含量量的⼩小偷,是因为警察们的技术也不不⾏行行了了,在捉
住⼀一批低端⼩小偷后,城市的治安⽔水平变得怎样倒还不不好说,但很明显,城市⾥里里⼩小偷们的平
均⽔水平已经⼤大⼤大提⾼高了了。
警察们开始继续训练⾃自⼰己的破案技术,开始抓住那些越来越狡猾的⼩小偷。随着这些职业惯
犯们的落⽹网,警察们也练就了了特别的本事,他们能很快能从⼀一群⼈人中发现可疑⼈人员,于是
上前盘查,并最终逮捕嫌犯;⼩小偷们的⽇日⼦子也不不好过了了,因为警察们的⽔水平⼤大⼤大提⾼高,如
果还想以前那样表现得⻤鬼⻤鬼祟祟,那么很快就会被警察捉住。
为了了避免被捕,⼩小偷们努⼒力力表现得不不那么「可疑」,⽽而魔⾼高⼀一尺、道⾼高⼀一丈,警察也在不不
断提⾼高⾃自⼰己的⽔水平,争取将⼩小偷和⽆无辜的普通群众区分开。随着警察和⼩小偷之间的这种
「交流」与「切磋」,⼩小偷们都变得⾮非常谨慎,他们有着极⾼高的偷窃技巧,表现得跟普通
群众⼀一模⼀一样,⽽而警察们都练就了了「⽕火眼⾦金金睛」,⼀一旦发现可疑⼈人员,就能⻢马上发现并及
时控制——最终,我们同时得到了了最强的⼩小偷和最强的警察。
⾮非⼤大⽩白话版本
⽣生成对抗⽹网络(GANs)由2个重要的部分构成:
1. ⽣生成器器(Generator):通过机器器⽣生成数据(⼤大部分情况下是图像),⽬目的是“骗过”判
别器器
2. 判别器器(Discriminator):判断这张图像是真实的还是机器器⽣生成的,⽬目的是找出⽣生成
器器做的“假数据”
下⾯面详细介绍⼀一下过程:
第⼀一阶段:固定「判别器器D」,训练「⽣生成器器G」
我们使⽤用⼀一个还 OK 判别器器,让⼀一个「⽣生成器器G」不不断⽣生成“假数据”,然后给这个「判别
器器D」去判断。
⼀一开始,「⽣生成器器G」还很弱,所以很容易易被揪出来。
但是随着不不断的训练,「⽣生成器器G」技能不不断提升,最终骗过了了「判别器器D」。
到了了这个时候,「判别器器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。
第⼆二阶段:固定「⽣生成器器G」,训练「判别器器D」
当通过了了第⼀一阶段,继续训练「⽣生成器器G」就没有意义了了。这个时候我们固定「⽣生成器器
G」,然后开始训练「判别器器D」。
「判别器器D」通过不不断训练,提⾼高了了⾃自⼰己的鉴别能⼒力力,最终他可以准确的判断出所有的假
图⽚片。
到了了这个时候,「⽣生成器器G」已经⽆无法骗过「判别器器D」。
循环阶段⼀一和阶段⼆二
通过不不断的循环,「⽣生成器器G」和「判别器器D」的能⼒力力都越来越强。
最终我们得到了了⼀一个效果⾮非常好的「⽣生成器器G」,我们就可以⽤用它来⽣生成我们想要的图⽚片
了了。
下⾯面的实际应⽤用部分会展示很多“惊艳”的案例例。
《⽣生成性对抗⽹网络(GAN)初学者指南 – 附代码》
《⻓长⽂文解释⽣生成对抗⽹网络GAN的详细原理理(20分钟阅读)》
GANS的优缺点
3个优势
1. 能更更好建模数据分布(图像更更锐利利、清晰)
2. 理理论上,GANs 能训练任何⼀一种⽣生成器器⽹网络。其他的框架需要⽣生成器器⽹网络有⼀一些特
定的函数形式,⽐比如输出层是⾼高斯的。
3. ⽆无需利利⽤用⻢马尔科夫链反复采样,⽆无需在学习过程中进⾏行行推断,没有复杂的变分下
界,避开近似计算棘⼿手的概率的难题。
2个缺陷
1. 难训练,不不稳定。⽣生成器器和判别器器之间需要很好的同步,但是在实际训练中很容易易
D收敛,G发散。D/G 的训练需要精⼼心的设计。
2. 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,⽣生成器器
开始退化,总是⽣生成同样的样本点,⽆无法继续学习。
扩展阅读:《为什什么训练⽣生成对抗⽹网络如此困难?》阅读这篇⽂文章对数学要求很⾼高
10⼤大典型的GANS算法
算法 论⽂文 代码
GANS 的13种实际应⽤用
GANs 看上去不不如「语⾳音识别」「⽂文本挖掘」那么直观。不不过他的应⽤用已经进⼊入到我们的
⽣生活中了了。下⾯面给⼤大家列列举⼀一些 GANs 的实际应⽤用。
⽣生成图像数据集
⼈人⼯工智能的训练是需要⼤大量量的数据集的,如果全部靠⼈人⼯工收集和标注,成本是很⾼高的。
GANs 可以⾃自动的⽣生成⼀一些数据集,提供低成本的训练数据。
⽣生成⼈人脸照⽚片
⽣生成⼈人脸照⽚片是⼤大家很熟悉的应⽤用,但是⽣生成出来的照⽚片⽤用来做什什么是需要思考的问题。
因为这种⼈人脸照⽚片还处于法律律的边缘。
⽣生成照⽚片、漫画⼈人物
GANs 不不但能⽣生成⼈人脸,还能⽣生成其他类型的照⽚片,甚⾄至是漫画⼈人物。
图像到图像的转换
简单说就是把⼀一种形式的图像转换成另外⼀一种形式的图像,就好像加滤镜⼀一样神奇。例例
如:
把草稿转换成照⽚片
把卫星照⽚片转换为Google地图的图⽚片
把照⽚片转换成油画
把⽩白天转换成⿊黑夜
⽂文字到图像的转换
⾃自动⽣生成模特
GANs 可以通过⼈人脸照⽚片⾃自动⽣生成对应的表情(Emojis)。
照⽚片编辑
使⽤用GANs可以⽣生成特定的照⽚片,例例如更更换头发颜⾊色、更更改⾯面部表情、甚⾄至是改变性别。
预测不不同年年龄的⻓长相
提⾼高照⽚片分辨率,让照⽚片更更清晰
给GANs ⼀一张照⽚片,他就能⽣生成⼀一张分辨率更更⾼高的照⽚片,使得这个照⽚片更更加清晰。
照⽚片修复
假如照⽚片中有⼀一个区域出现了了问题(例例如被涂上颜⾊色或者被抹去),GANs可以修复这个
区域,还原成原始的状态。
⾃自动⽣生成3D模型
给出多个不不同⻆角度的2D图像,就可以⽣生成⼀一个3D模型。
强化学习-REINFORCEMENT LEARNING
| RL
强化学习是机器器学习的⼀一种学习⽅方式,它跟监督学习、⽆无监督学习是对应的。本⽂文将
详细介绍强化学习的基本概念、应⽤用场景和主流的强化学习算法及分类。
什什么是强化学习?
强化学习并不不是某⼀一种特定的算法,⽽而是⼀一类算法的统称。
如果⽤用来做对⽐比的话,他跟监督学习,⽆无监督学习 是类似的,是⼀一种统称的学习⽅方式。
强化学习算法的思路路⾮非常简单,以游戏为例例,如果在游戏中采取某种策略略可以取得较⾼高的
得分,那么就进⼀一步「强化」这种策略略,以期继续取得较好的结果。这种策略略与⽇日常⽣生活
中的各种「绩效奖励」⾮非常类似。我们平时也常常⽤用这样的策略略来提⾼高⾃自⼰己的游戏⽔水平。
这就是⼀一个典型的强化学习场景:
机器器有⼀一个明确的⼩小⻦鸟⻆角⾊色——代理理
需要控制⼩小⻦鸟⻜飞的更更远——⽬目标
整个游戏过程中需要躲避各种⽔水管——环境
躲避⽔水管的⽅方法是让⼩小⻦鸟⽤用⼒力力⻜飞⼀一下——⾏行行动
⻜飞的越远,就会获得越多的积分——奖励
你会发现,强化学习和监督学习、⽆无监督学习 最⼤大的不不同就是不不需要⼤大量量的“数据喂养”。
⽽而是通过⾃自⼰己不不停的尝试来学会某些技能。
强化学习的应⽤用场景
强化学习⽬目前还不不够成熟,应⽤用场景也⽐比较局限。最⼤大的应⽤用场景就是游戏了了。
游戏
《星际争霸2⼈人类1:10输给AI!DeepMind “AlphaStar”进化神速》
2019年年4⽉月13⽇日:OpenAI 在《Dota2》的⽐比赛中战胜了了⼈人类世界冠军。
《2:0!Dota2世界冠军OG,被OpenAI按在地上摩擦》
机器器⼈人
机器器⼈人很像强化学习⾥里里的「代理理」,在机器器⼈人领域,强化学习也可以发挥巨⼤大的作⽤用。
《机器器⼈人通过强化学习,可以实现像⼈人⼀一样的平衡控制》
《深度学习与强化学习相结合,⾕谷歌训练机械臂的⻓长期推理理能⼒力力》
《伯克利利强化学习新研究:机器器⼈人只⽤用⼏几分钟随机数据就能学会轨迹跟踪》
其他
强化学习在推荐系统,对话系统,教育培训,⼴广告,⾦金金融等领域也有⼀一些应⽤用:
《强化学习与推荐系统的强强联合》
《基于深度强化学习的对话管理理中的策略略⾃自适应》
《强化学习在业界的实际应⽤用》
强化学习的主流算法
免模型学习(Model-Free) vs 有模型学习(Model-Based)
在介绍详细算法之前,我们先来了了解⼀一下强化学习算法的2⼤大分类。这2个分类的重要差异
是:智能体是否能完整了了解或学习到所在环境的模型
有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如
果模型跟真实世界不不⼀一致,那么在实际使⽤用场景下会表现的不不好。
免模型学习(Model-Free)放弃了了模型学习,在效率上不不如前者,但是这种⽅方式更更加容
易易实现,也容易易在真实场景下调整到很好的状态。所以免模型学习⽅方法更更受欢迎,得到更更
加⼴广泛的开发和测试。
基于策略略优化的⽅方法举例例:
免模型学习 – Q-Learning
DQN, ⼀一个让深度强化学习得到发展的经典⽅方法
以及 C51, 学习关于回报的分布函数,其期望是
有模型学习 – 纯规划
这种最基础的⽅方法,从来不不显示的表示策略略,⽽而是纯使⽤用规划技术来选择⾏行行动,例例如 模型
预测控制 (model-predictive control, MPC)。在模型预测控制中,智能体每次观察环境
的时候,都会计算得到⼀一个对于当前模型最优的规划,这⾥里里的规划指的是未来⼀一个固定时
间段内,智能体会采取的所有⾏行行动(通过学习值函数,规划算法可能会考虑到超出范围的
未来奖励)。智能体先执⾏行行规划的第⼀一个⾏行行动,然后⽴立即舍弃规划的剩余部分。每次准备
和环境进⾏行行互动时,它会计算出⼀一个新的规划,从⽽而避免执⾏行行⼩小于规划范围的规划给出的
⾏行行动。
MBMF 在⼀一些深度强化学习的标准基准任务上,基于学习到的环境模型进⾏行行模型预
测控制
纯规划的后来之作,使⽤用、学习策略略的显示表示形式: 。智能体在模型中应⽤用了了
⼀一种规划算法,类似蒙特卡洛洛树搜索(Monte Carlo Tree Search),通过对当前策略略进⾏行行
采样⽣生成规划的候选⾏行行为。这种算法得到的⾏行行动⽐比策略略本身⽣生成的要好,所以相对于策略略
来说,它是“专家”。随后更更新策略略,以产⽣生更更类似于规划算法输出的⾏行行动。
除了了免模型学习和有模型学习的分类外,强化学习还有其他⼏几种分类⽅方式:
基于概率 VS 基于价值
回合更更新 VS 单步更更新
在线学习 VS 离线学习
详细请查看《强化学习⽅方法汇总 》
欢迎关注我们的公众号:easyAI订阅号