深度学习的原理是什么?

2020-07-29 10:03发布

2条回答
卡卡
2楼 · 2020-07-29 22:18






深度学习原理与实践(开源图书)-总目录


CSDN专栏:深度学习原理与实践(开源图书)

CSDN专栏:机器学习原理与实践(开源图书)


深度学习理论的突破和深度学习硬件加速能力的突破,使AI在模式识别、无人驾驶、智力游戏领域取得空前的成功。学术界和工业界全力以赴掀起人工智能的新一轮热潮。各大互联网巨头纷纷成立人工智能研究中心,唯恐在新一轮人工智能的竞赛被无情淘汰。深度学习应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。但也许我们不曾想到的事机器学习乃至人工智能的起源,是对人本身的意识、自我、心灵等哲学问题的探索。而在发展的过程中,更是融合了统计学、神经科学、信息论、控制论、计算复杂性理论等学科的知识。


一起阅读和完善:机器学习&深度学习原理与实践(开源图书)。告别碎片阅读,构成知识谱系。


第1章人工智能简史


深度学习-10:人工智能简史及三剑客

深度学习-11:神经元、神经网络、人脑和卷积神网络

深度学习-12:深度学习模型的特征与演进

深度学习-13:开源深度学习数据集汇总

深度学习-14:知名的深度学习开源架构和项目


第2章人工智能的理论基础


深度学习-20:神经科学、脑科学和稀疏特性

深度学习-21:概率论基础

深度学习-22:信息论和信息熵

深度学习-23:矩阵理论和范数

深度学习-24:数值计算、梯度下降和最小二乘法


第3章从感知机到深度卷积神经网络


深度学习-30:基础CNN模型和深度学习模型

深度学习-31:单层感知机

深度学习-32:多层感知机原理

深度学习-33:卷积神经网络(CNN)

深度学习-34:深度卷积神经网络(DCNN)

深度学习-35:LeNet

深度学习-36:AlexNet

深度学习-37:Inception

深度学习-38:VGG

深度学习-39:ResNet

深度学习-310:DenseNet

深度学习-311:MobileNet

深度学习-312:网络参数和调优


第4章深度循环和深度递归神经网络


深度学习-41:深度循环神经网络

深度学习-42:深度循环神经网络

深度学习-43:长短时记忆神经网络(LSTM)


第5章自编码网络和生成式对抗网络


深度学习-51:自编码网络

深度学习-52:深度置信网络

深度学习-53:深度玻尔兹曼机

深度学习-54:生成式对抗网络GAN(原理、模型和演进)


第6章高级深度学习网络模型


深度学习-61:深度融合网络

深度学习-62:深度稀疏网络

深度学习-63:强化学习和AlphaGo

深度学习-64:胶囊网络(Capsules)


第7章深度学习开源引擎


深度学习-71:Tensorflow的架构、模型、可视化和案例库

深度学习-72:PyTorch的架构、模型、可视化和案例库

深度学习-73:MxNet的架构、模型、可视化和案例库

深度学习-74:Keras的架构、模型、可视化和案例库


第8章人工智能未来已来


深度学习-80:展望深度学习的未来

深度学习-81:游戏中的人工智能

深度学习-82:OpenCV与深度学习

深度学习-83:金融科技公司

深度学习-84:自动驾驶技术(L0-L5级别)

深度学习-85:智慧地球/智慧城市/智慧家庭

深度学习-86:深度学习的降维攻击及流派

深度学习-87:通用人工智能,Singularity


相关文章


CSDN专栏:机器学习理论与实践(开源图书)

CSDN专栏:深度学习理论与实践(开源图书)

Github:机器学习&深度学习理论与实践(开源图书)


参考资料


[1]周志华.机器学习.清华大学出版社.2016.

[2][日]杉山将.图解机器学习.人民邮电出版社.2015.

[3]佩德罗·多明戈斯.终极算法-机器学习和人工智能如何重塑世界.中信出版社.2018.




曾为
3楼 · 2020-10-16 09:16








文章目录

1什么是深度学习?2深度学习应用2.1机器学习的一般方法2.2深度学习的一般方法

3GPU的迅速发展3.1GPU与显卡的区别3.2GPU与CPU区别3.3GPU种类

参考资料



注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/98944012

1什么是深度学习?

深度学习(DL,DeepLearning)是机器学习(ML,MachineLearning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。(以上均来自百度百科)

下面了解一下人工智能、机器学习和深度学习之间的关系。下图是三者之间的关系,可以看出三者之间是包含和被包含的关系。



2深度学习应用

2.1机器学习的一般方法

机器学习按照方法主要可以分为两大类:监督学习和无监督学习。其中监督学习主要由分类和回归等问题组成,无监督学习主要由聚类和关联分析等问题组成。深度学习则属于监督学习当中的一种。下图为监督学习的一般方法。

2.2深度学习的一般方法

随着深度学习的爆发,最新的深度学习算法已经远远超越了传统的机器学习算法对于数据的预测和分类精度。深度学习不需要我们自己去提取特征,而是自动地对数据进行筛选,自动地提取数据高维特征。下图为深度学习的一般方法,与传统机器学习中的监督学习一般方法(如上图)相比,少了特征工程,节约了工程师们大量工作时间。

神经网络应用的突破领域之一是控制论,神经网络有着一套完美的反馈机制,给控制论增添了不少色彩。而深度学习的出现就如寒武纪生命大爆发一样,前几年我们或许听到更多的是大数据处理、数据挖掘,而如今在科技创新的生态中,几乎每个人都在谈论深度学习、人工智能。下面简单来介绍关于深度学习的应用。

(1)图像处理


(2)自动驾驶


(3)机器人波士顿动力机器人



(4)医疗健康诊断

深度学习技术己经开始渗透到每一个领域当中,使得机器学习能够实现更多的应用场景,并且极大地拓展了人工智能的领域范畴。从无人驾驶汽车、无人驾驶飞机,到生物医学的预防性诊断、病理预测,甚至是更加贴近年轻一代的电影推荐、购物指南,几乎所有领域都可以使用深度学习。


3GPU的迅速发展

GPU(GraphicsProcessingUnit,图形处理器)作为硬件加速器之一,通过大量图形处理单元与CPU协同工作,对深度学习、数据分析,以及大量计算的工程应用进行加速。从2007年NVIDIA公司发布了第一个支持CUDA的GPU后,GPU的应用范围不断拓展,从政府实验室、大学、企业的大型数据中心,到现今非常火热的人工智能汽车、无人驾驶飞机和机器人等嵌入式平台,GPU都发挥着巨大的作用。CUDA(ComputeUnifiedDeviceArchitecture,统一计算设备架构)。随着显卡的发展,GPU越来越强大,GPU开始主要为显示图像做优化,在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA这一通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

3.1GPU与显卡的区别

GPU只是显卡上的一个核心处理芯片,是显卡的心脏,不能单独作为外接扩展卡使用,GPU因并行计算任务较重,所以功耗较大,只能焊接在显卡的电路板上使用。显卡上都有GPU,它是区分显性能的最主要元件,显卡也叫显示适配器,分为独立显卡和主板上集成显卡,独立显卡主要由GPU、显存和接口电路构成,集成显卡没有独立显存而是使用主板上的内存。GPU是图形处理器,一般GPU就是焊接在显卡上的,大部分情况下,我们所说GPU就等于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。它们是“寄生与被寄生”关系。GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡参考链接:https://baijiahao.baidu.com/s?id=1607965696317204020????=spider&for=pc

3.2GPU与CPU区别

比较GPU和CPU,就是比较它们两者如何处理任务。如下图图1-9所示,CPU使用几个核心处理单元去优化串行顺序任务,而GPU的大规模并行架构拥有数以千计的更小、更高效的处理单元,用于处理多个并行小任务。CPU拥有复杂的系统指令,能够进行复杂的任务操作和调度,两者是互补关系,而不能相互代替。

GPU是大规模并行架构,处理并行任务毫无疑问是非常快的,深度学习需要高效的矩阵操作和大量的卷积操作,GPU的并行架构再适合不过。简单来说,确实如此,但是为什么GPU进行矩阵操作和卷积操作会比CPU要快呢?真正原因是GPU具有如下特性:(1)高带宽(2)高速的缓存性能(3)并行单元多

在执行多任务时,CPU需要等待带宽,而GPU能够优化带宽。举个简单的例子,我们可以把CPU看作跑车,GPU是大卡车,如下图图1-10所示任务就是要把一堆货物从北京搬运到广州。CPU(跑车〉可以快速地把数据(货物〉从内存读入RAM中,然而GPU(大卡车〉装货的速度就好慢了。不过后面才是重点,CPU(跑车)把这堆数据(货物)从北京搬运到广州|需要来回操作很多次,也就是往返京广线很多次,而GPU(大卡车)只需要一次就可以完成搬运(一次可以装载大量数据进入内存)。换言之,CPU擅长操作小的内存块,而GPU则擅长操作大的内存块。CPU集群大概可以达到50GB/s的带宽总量,而等量的GPU集群可以达到750GB/s的带宽量。


如果让一辆大卡车去装载很多堆货物,就要等待很长的时间了,因为要等待大卡车从北京运到广州,然后再回来装货物。设想一下,我们现在拥有了跑车车队和卡车车队(线程并行〉,运载一堆货物(非常大块的内存数据需要读入缓存,如大型矩阵)。我们会等待第一辆卡车,但是后面就不需要等待的时间了,因为在广州会有一队伍的大卡车正在排队输送货物(数据),这时处理器就可以直接从缓存中读取数据了。在线性并行的情况下,GPU可以提供高带宽,从而隐藏延迟时间。这也就是GPU比CPU更适合处理深度学习的原因。


3.3GPU种类

特别是最近几年,随着GPU处理能力的飞速进步,在2012年需要l个月才能完成的深度学习训练,在2015年只需几天即可完成。在这样的背景下,深度学习的发展恰逢其时,将会引发进一步的革新和发展。

对于深度学习的加速器GPU,现在市面上主要的品牌有AMD、NVIDIA、Intel的XeonPhi,如下图所示。NVIDIA公司的GUP使用最为广泛,NVIDIA的计算加速标准库cuDNN使得工程师在CUDA平台中构建深度学习变得非常容易,而且在同一张显卡的前提下比没有使用cnDNN的速度提升5倍之多。有良好的生态。下图是NVIDIA公司的三种类型的GPU。其中,(1)GeForce系列面向大众,常见的有:GeForceGTX1080,GeForceGTX1080Ti,GeForceGTX2080Ti(2)Tesla系列面向科学计算;(3)Tegra系列面向嵌入式的GPU主板。



参考资料

[1]图解深度学习[2]深度学习原理与实践[3]TensorFlow实战Google深度学习框架(第2版)


相关问题推荐

  • 回答 5

    python中单行注释采用 #开头示例:#this is a comment二、批量、多行注释符号多行注释是用三引号,例如:输入''' '''或者 ,将要注释的代码插在中间三、Windows下的IDLE的注释快捷键是Alt+3,取消注释是Alt+4四、python中文注释方法...

  • 回答 3

    apply

  • 回答 3

    标准库Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的主要功能有:1.文本处理,包...

  • 回答 6

    Python Lambda函数是没有任何名称的函数。它们也称为匿名或无名功能。 lambda一词不是名称,而是关键字。此关键字指定后面的函数是匿名的。现在您已经知道这些匿名函数指的是什么,让我们进一步了解一下如何编写这些Python Lambda函数。...

  • 回答 18

    Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,...

  • 回答 4

    深度学习工程师就业路径目前,成为深度学习工程师有两条路径:一是通过春秋两季的校园招聘,另一种是借助社会招聘跨行业转型。前述文章曾经将深度学习工程师分为算法工程师、后端工程师和前端工程师。综合目前市面上各大公司招聘和咨询报告结果,目前工作3-5...

  • 回答 19

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有很多的学校使用python作为入门编程语言。此外,python在机器学习,人工智能领域也非常流行,算得上是算法工程师的标配编程语言。...

  • 回答 10

    包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。python库是参考其它编程语言的说法,就是指python中的完成...

  • 回答 5

    1、len(mapping)        返回映射的长度(键-值对的个数)2、hash(obj)              返回obj的哈希值>>> myDict = {'name':'earth', 'port':'80'} >>> len(myDict) 2 >>> hash('name') 1...

  • 回答 7

    常用内建属性说明触发方式__init__构造初始化函数创建实例后,赋值时使用,在__new__后__new__生成实例所需属性创建实例时__class__实例所在的类实例.__class____str__实例字符串表示(可读性)print(类实例),如没实现则使用repr结果__repr__实例字符串表示...

  • 回答 4

    ‘‘‘关键字:False:bool数据类型True:bool数据类型None:表示数据的内容为空and:逻辑运算符:与or:逻辑运算符:或not:逻辑运算符:非in:身份运算符,判断变量是否在序列中is :成员运算符,判断变量是否为某个类的实例del:删除变量或序列的值assert:列...

  • 回答 8

    函数注释语法函数注释包括:参数注释:以冒号(:)标记返回值注释:以 -> 标记语法结构大体如下:1、def foo(a: expression, b: expression = 5) -> expression:2、 ...在伪语法中,参数看起来像:identifier [: expression] [= expression]。也就是说,参数...

  • 回答 6

    OpenDoor变量的命名: year_month_day = 2020-7-24 这样写以后都会写很多单词,比较麻烦,可以用ymd代替,然后在第一行或者句尾添加注释说明 a, b, c =1,2, 3 这样的赋值在python中也是可以用的

  • 回答 5

    Python 使用井号#作为单行注释的符号,语法格式为:# 注释内容从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容。说明多行代码的功能时一般将注释放在代码的上一行多行注释指的是一次性注释程序中多行的内容...

  • 回答 6

    在IDLE中,常用 Alt + 3 给当前行进行注释                           Alt + 4 取消当前行的注释在Pycharm中,常用 Ctrl + / 将所选部分快速注释,再按一次 Ctrl + / 可以将所选部分注释取消...

没有解决我的问题,去提问