本文首发自 easyAI - 人工智能知识库算法
原文地址:《一文看懂深度学习(白话解释+8个优缺点+4个典型算法)》网络
深度学习有很好的表现,引领了第三次人工智能的浪潮。目前大部分表现优异的应用都用到了深度学习,大红大紫的 AlphaGo 就使用到了深度学习。架构
本文将详细的给你们介绍深度学习的基本概念、优缺点和主流的4个典型算法。app
深度学习、机器学习、人工智能框架
简单来讲:机器学习
目前表现最好的一些应用大部分都是深度学习,正是由于深度学习的突出表现,引起了人工智能的第三次浪潮。详情能够看《人工智能的发展史——3次 AI 浪潮》函数
深度学习、神经网络学习
深度学习的概念源于人工神经网络的研究,可是并不彻底等于传统神经网络。大数据
不过在叫法上,不少深度学习算法中都会包含"神经网络"这个词,好比:卷积神经网络、循环神经网络。优化
因此,深度学习能够说是在传统神经网络基础上的升级,约等于神经网络。
看了不少版本的解释,发现李开复在《人工智能》一书中讲的是最容易理解的,因此下面直接引用他的解释:
咱们以识别图片中的汉字为例。
假设深度学习要处理的信息是“水流”,而处理数据的深度学习网络是一个由管道和阀门组成的巨大水管网络。网络的入口是若干管道开口,网络的出口也是若干管道开口。这个水管网络有许多层,每一层由许多个能够控制水流流向与流量的调节阀。根据不一样任务的须要,水管网络的层数、每层的调节阀数量能够有不一样的变化组合。对复杂任务来讲,调节阀的总数能够成千上万甚至更多。水管网络中,每一层的每一个调节阀都经过水管与下一层的全部调节阀链接起来,组成一个从前到后,逐层彻底连通的水流系统。
那么,计算机该如何使用这个庞大的水管网络来学习识字呢?
好比,当计算机看到一张写有“田”字的图片,就简单将组成这张图片的全部数字(在计算机里,图片的每一个颜色点都是用“0”和“1”组成的数字来表示的)全都变成信息的水流,从入口灌进水管网络。
咱们预先在水管网络的每一个出口都插一块字牌,对应于每个咱们想让计算机认识的汉字。这时,由于输入的是“田”这个汉字,等水流流过整个水管网络,计算机就会跑到管道出口位置去看一看,是否是标记由“田”字的管道出口流出来的水流最多。若是是这样,就说明这个管道网络符合要求。若是不是这样,就调节水管网络里的每个流量调节阀,让“田”字出口“流出”的水最多。
这下,计算机要忙一阵了,要调节那么多阀门!好在计算机的速度快,暴力的计算加上算法的优化,老是能够很快给出一个解决方案,调好全部阀门,让出口处的流量符合要求。
下一步,学习“申”字时,咱们就用相似的方法,把每一张写有“申”字的图片变成一大堆数字组成的水流,灌进水管网络,看一看,是否是写有“申”字的那个管道出口流水最多,若是不是,咱们还得再调整全部的阀门。这一次,要既保证刚才学过的“田”字不受影响,也要保证新的“申”字能够被正确处理。
如此反复进行,知道全部汉字对应的水流均可以按照指望的方式流过整个水管网络。这时,咱们就说,这个水管网络是一个训练好的深度学习模型了。当大量汉字被这个管道网络处理,全部阀门都调节到位后,整套水管网络就能够用来识别汉字了。这时,咱们能够把调节好的全部阀门都“焊死”,静候新的水流到来。
与训练时作的事情相似,未知的图片会被计算机转变成数据的水流,灌入训练好的水管网络。这时,计算机只要观察一下,哪一个出水口流出来的水流最多,这张图片写的就是哪一个字。
深度学习大体就是这么一个用人类的数学知识与计算机算法构建起来的总体架构,再结合尽量多的训练数据以及计算机的大规模运算能力去调节内部参数,尽量逼近问题目标的半理论、半经验的建模方式。
传统机器学习和深度学习的类似点
在数据准备和预处理方面,二者是很类似的。
他们均可能对数据进行一些操做:
对于数据预处理感兴趣的能够看看《AI 数据集最多见的6大问题(附解决方案)》
传统机器学习和深度学习的核心区别
传统机器学习的特征提取主要依赖人工,针对特定简单任务的时候人工提取特征会简单有效,可是并不能通用。
深度学习的特征提取并不依靠人工,而是机器自动提取的。这也是为何你们都说深度学习的可解释性不好,由于有时候深度学习虽然能有好的表现,可是咱们并不知道他的原理是什么。
优势1:学习能力强
从结果来看,深度学习的表现很是好,他的学习能力很是强。
优势2:覆盖范围广,适应性好
深度学习的神经网络层数不少,宽度很广,理论上能够映射到任意函数,因此能解决很复杂的问题。
优势3:数据驱动,上限高
深度学习高度依赖数据,数据量越大,他的表现就越好。在图像识别、面部识别、NLP 等部分任务甚至已经超过了人类的表现。同时还能够经过调参进一步提升他的上限。
优势4:可移植性好
因为深度学习的优异表现,有不少框架可使用,例如 TensorFlow、Pytorch。这些框架能够兼容不少平台。
缺点1:计算量大,便携性差
深度学习须要大量的数据很大量的算力,因此成本很高。而且如今不少应用还不适合在移动设备上使用。目前已经有不少公司和团队在研发针对便携设备的芯片。这个问题将来会获得解决。
缺点2:硬件需求高
深度学习对算力要求很高,普通的 CPU 已经没法知足深度学习的要求。主流的算力都是使用 GPU 和 TPU,因此对于硬件的要求很高,成本也很高。
缺点3:模型设计复杂
深度学习的模型设计很是复杂,须要投入大量的人力物力和时间来开发新的算法和模型。大部分人只能使用现成的模型。
缺点4:没有"人性",容易存在偏见
因为深度学习依赖数据,而且可解释性不高。在训练数据不平衡的状况下会出现性别歧视、种族歧视等问题。
CNN 的价值:
CNN 的基本原理:
CNN 的实际应用:
了解更多《一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)》
RNN 是一种能有效的处理序列数据的算法。好比:文章内容、语音音频、股票价格走势…
之因此他能处理序列数据,是由于在序列中前面的输入也会影响到后面的输出,至关于有了“记忆功能”。可是 RNN 存在严重的短时间记忆问题,长期的数据影响很小(哪怕他是重要的信息)。
因而基于 RNN 出现了 LSTM 和 GRU 等变种算法。这些变种算法主要有几个特色:
RNN 几个典型的应用以下:
了解更多《一文看懂循环神经网络-RNN(独特价值+优化算法+实际应用)》
假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的多是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,忽然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之因此捉住的是那些没有技术含量的小偷,是由于警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还很差说,但很明显,城市里小偷们的平均水平已经大大提升了。
警察们开始继续训练本身的破案技术,开始抓住那些愈来愈狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,因而上前盘查,并最终逮捕嫌犯;小偷们的日子也很差过了,由于警察们的水平大大提升,若是还想之前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。为了不被捕,小偷们努力表现得不那么「可疑」,而魔高一尺、道高一丈,警察也在不断提升本身的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种「交流」与「切磋」,小偷们都变得很是谨慎,他们有着极高的偷窃技巧,表现得跟普通群众如出一辙,而警察们都练就了「火眼金睛」,一旦发现可疑人员,就能立刻发现并及时控制——最终,咱们同时获得了最强的小偷和最强的警察。
了解更多《什么是生成对抗网络 - GAN?(基本概念+工做原理)》
强化学习算法的思路很是简单,以游戏为例,若是在游戏中采起某种策略能够取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与平常生活中的各类「绩效奖励」很是相似。咱们平时也经常用这样的策略来提升本身的游戏水平。
在 Flappy bird 这个游戏中,咱们须要简单的点击操做来控制小鸟,躲过各类水管,飞的越远越好,由于飞的越远就能得到更高的积分奖励。
这就是一个典型的强化学习场景:
你会发现,强化学习和监督学习、无监督学习 最大的不一样就是不须要大量的“数据喂养”。而是经过本身不停的尝试来学会某些技能。
了解更多:《一文看懂什么是强化学习?(基本概念+应用场景+主流算法)》
深度学习属于机器学习的范畴,深度学习能够说是在传统神经网络基础上的升级,约等于神经网络。
深度学习和传统机器学习在数据预处理上都是相似的。核心差异在特征提取环节,深度学习由机器本身完成特征提取,不须要人工提取。
深度学习的优势:
深度学习的缺点:
深度学习的4种典型算法: