资料下载网
首页 计算机 考试教辅
深度学习之Pytorch_廖星宇_带章书签 廖星宇 pdf电子书免费下载 百度云
首页 > 计算机 > AI人工智能 > 深度学习之Pytorch_廖星宇_带章书签 廖星宇 pdf电子书免费下载 百度云

《深度学习之Pytorch_廖星宇_带章书签》pdf电子书免费下载


下载方式一:

百度网盘下载地址:https://pan.baidu.com/s/1-NVqVpzsuierIbAFl0-DiA
百度网盘密码:1111

下载方式二:

http://ziliaoshare.cn/Download/ab_123544_pd_SDXXZPytorch_LXY_DZSQ.zip

 


深度学习之Pytorch_廖星宇_带章书签

作者:廖星宇

页数:231

出版社:电子工业出版社

《深度学习之Pytorch_廖星宇_带章书签》介绍

深度学习如今已经成为科技领域炙手可热的技术,在本书中,我们将帮助你入门深度学习。本书将从机器学习和深度学习的基础理论入手, 从零开始学习Py Torch,了解Py Torch基础,以及如何用Py Torch框架搭建模型。通过阅读本书, 你将学到机器学习中的线性回归和Logistic回归、深度学习的优化方法、多层全连接神经网络、卷积神经网络、循环神经网络,以及生成对抗网络, 最后通过实战了解深度学习前沿的研究成果, 以及Py Torch在实际项目中的应用。人阅读。

前言

随着Alpha Go以3:1的成绩战胜李世石, 人们对人工智能的热情如井喷式增长, 你也许对人工智能充满兴趣,向往着了解机器学习,特别是深度学习,那么本书恰好能够由浅及深地带你进人深度学习这个世界。础的线性回归开始, 讲到时下最前沿的生成对抗网络, 并在其中穿插Py Torch的教学,所以本书不仅仅是深度学习的人门指南, 同时也是Py Torch的入门教程。Flow跑过简单的模型) , 但是希望能够用Py Torch进行深度学习研究和学习的入门者。讲深度学习的书有很多, 深度学习的框架也有很多, 本书将以Py Torch为工具从基本书针对的对象是对深度学习有所了解、用过一些深度学习框架(如使用Tensor-阅读本书并不需要太多的数学基础, 但是需要一定的Python基础。本书中的数学推导不多,感觉困难的读者可以跳过,这对理解全书的主要内容不会造成影响。本书的全部代码放在了https://github.com/SherlockLiao/code-of-learn-deep-learning-with-py torch中, 读者可以前往下载。识, 基本掌握Py Torch的使用方法, 知道如何根据实际问题搭建对应的深层网络结构,

本书的主要内容包括:

第1章,深度学习介绍;

第2章,深度学习框架;

第3章,多层全连接神经网络;

第4章,卷积神经网络;

第5章,循环神经网络;

第6章,生成对抗网络;

第7章,深度学习实战。

建议读者按照本书的内容顺序学习,因为后面的内容会以前面的内容为基础,另外本书面向的对象是初学者,学习完本书之后,读者能够大致了解深度学习的基本知并能够进行调参得到较好的结果。当然本书只是一本人门读物,如果希望以后从事该领域的研究,仅靠此书是不够的,需要阅读更多专业的书籍和学术论文。

第1章深度学习介绍

自古以来,发明家们都梦想着能够创造有思想的机器人,当电脑问世之后,人们一人工智能(Artificial Intelligence) , 也称为机器智能, 是指由人工制造出来的系统长久以来人们一直相信人工智能是存在的,但是却不知道如何实现。以前的科幻直想知道它们是否可以变得更加智能。如今人工智能成为一个有着无限商业价值和研究价值的领域,人们也看到了人工智能在图像、语音、自然语言上取得的巨大成功。这一章,我们将简要地介绍一下人工智能及其重要性,以及什么是数据挖掘、机器学习和深度学习,并介绍它们彼此之间的联系与区别,其中会重点介绍深度学习,最后给出一些合理可行的学习建议,帮助大家从零开始进入深度学习这个充满魔力的领域。

1.1人工智能

所表现的智能,所谓的智能,即指可以观察周围环境并据此做出行动以达到目的。在人工智能的早期,那些对人类智力来说非常困难、但对计算机来说相对简单的问题迅速得到解决,比如,那些可以通过一系列形式化的数学规则来描述的问题。AI的真正挑战在于解决那些对人来说很容易执行、但很难形式化描述的任务,比如,识别人们所说的话或图像中的脸。对于这些问题,我们人类往往可以凭借直觉轻易地解决,因为我们已经在上万年的进化中形成了这些直觉性的能力,但是机器却很难找到实现的方法。

电影总会融入人工智能,比如《星球大战》《终结者》《骇客帝国》,等等。电影的渲染使我们总觉得人工智能缺乏真实感,或者总将人工智能和机器人联系在一起。其实我首先,不要一提到人工智能就想到机器人。机器人只是人工智能的一种容器,如人工智能的概念很宽泛,现在根据人工智能的实力将它分成三大类。

(1) 弱人工智能(Artificial Narrow Intelligence, AN I)

弱人工智能是擅长于单个方面的人工智能。比如战胜世界围棋冠军的人工智能Al

(2) 强人工智能(Artificial General Intelligence, AGI)

这是类似人类级别的人工智能。强人工智能是指在各方面都能和人类比肩的人工

(3) 超人工智能(Artificial Super inteligence, AS I)

牛津哲学家、知名人工智能思想家Nick Bostrom把超级智能定义为“在几乎所有我们现在处于一个充满弱人工智能的世界,比如垃圾邮件分类系统,是一个可以大数据的兴起使得数据科学家作为一种新生职业被提出,数据研究高级科学家们身边早已实现了一些弱人工智能,只是因为人工智能听起来很神秘,所以我们往往没有意识到。

果将人工智能比作大脑,那么机器人就好似身体——然而这个身体却不是必需的,比如现在很火的Alpha Go, 其背后充满着软件、算法和数据, 它下围棋是一种人格化的体现,然而其本身并没有“机器人”这个硬件形式。ph aGo, 它只会下围棋, 如果你让他辨识一下猫和狗, 它就不知道怎么做了。我们现在实现的几乎全是弱人工智能。智能,人类能干的脑力活,它都能干。创造强人工智能比创造弱人工智能难得多,我们现在还做不到。Linda Gottfredson教授把智能定义为“一种宽泛的心理能力, 能够进行思考、计划、解决问题、抽象思维、理解复杂理念、快速学习和从经验中学习等操作。”强人工智能在进行这些操作时应该和人类一样得心应手。领域都比最聪明的人类大脑都聪明很多,包括科学创新、通识和社交技能。”超人工智能可以是各方面都比人类强一点,也可以是各方面都比人类强万亿倍的。帮助我们筛选垃圾邮件的弱人工智能; Google翻译是一个可以帮助我们翻译英文的弱人工智能; Alpha Go是一个可以战胜世界围棋冠军的弱人工智能, 等等。这些弱人工智能算法不断地加强创新,每一个弱人工智能的创新,都是在给通往强人工智能和超人工智能的旅途添砖加瓦。正如人工智能科学家Aaron Saenz所说, 现在的弱人工智能就像地球早期软泥中的氨基酸,可能突然之间就形成了生命。

1.2数据挖掘、机器学习与深度学习Rachel Schutt将其定义为“计算机科学家、软件工程师和统计学家的混合体”。数据挖掘作为一个学术领域,横跨多个学科,涵盖但不限于统计学、数学、机器学习和数据库,此外还运用在各类专业领域,比如油田、电力、海洋生物、历史文本、图像、电子通信等。

1.2.1数据挖掘

也就是人们所说的KDD(knowledge discovery in database) 。一个数据的处理过程, 就是从输人数据开始,对数据进行预处理,包括特征选择、规范化、降低维数、数据提升等,然后进行数据的分析和挖掘,再经过处理,例如模式识别、可视化等,最后形成可用信息的全过程。中寻找数据之间的特性。

1.2.2

首先通过一张图来概括一下深度学习的历史浪潮,如图1.1所示。通过这张图,我们可以很明显地看出深度学习从发展到崛起经历了两个低谷,这简单来说,数据挖掘就是在大型的数据库中发现有用的信息,并加以分析的过程,所以说数据挖掘只是一种概念,即从数据中挖掘到有意义的信息,从大量的数据机器学习算是实现人工智能的一种途径,它和数据挖掘有一定的相似性,也是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。对比于数据挖掘从大数据之间找相互特性而言,机器学习更加注重算法的设计,让计算机能够自动地从数据中“学习”规律,并利用规律对未知数据进行预测。因为学习算法涉及了大量的统计学理论,与统计推断联系尤为紧密,所以也被称为统计学习方法。

(1)监督学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归与分类。

(2)无监督学习:无监督学习与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类等。

(3)半监督学习:这是一种介于监督学习与无监督学习之间的方法。

(4)迁移学习:将已经训练好的模型参数迁移到新的模型来帮助新模型训练数据集。

(5)增强学习:通过观察周围环境来学习。每个动作都会对环境有所影响,学习对传统的机器学习算法有以下几种:线性回归模型、logistic回归模型、k-临近算法、深度学习的最初级版本是人工神经网络,这是机器学习的一个分支,其试图模拟在深度学习发展起来之前,机器学习虽然发展了几十年,但还是存在很多人工智能没法良好解决的问题,例如图像识别、语音识别、自然语言处理等,而深度学习的出现则很好地解决了这些领域的一部分问题。正因为大数据的兴起和高性能GPU的出最早的神经网络的思想起源于1943年的MCP人工神经元模型, 当时人们希望能象根据观察到的周围环境的反馈来做出判断。机器学习可以分为以下五个大类:

1.深度学习的历史

第一代神经网络(1958年一1969年)决策树、随机森林、支持向量机、人工神经网络、EM算法、概率图模型等。人脑,通过更加复杂的结构自动提取数据特征。现,使得更加复杂的网络模型成为可能,这也促使深度学习有了进一步的发展。两个低谷也将深度学习的发展分为了三个不同的阶段,下面分别讲述这三段历史。够用计算机来模拟人的神经元反应的过程,该模型将神经元简化为三个过程:输入信号线性加权,求和,非线性激活(阈值法),如图1.2所示。在Minsky和Seymour Papert的专著Perceptrons中, 他们阐述了单层感知机不能解决X OR问题单层感知机(19691957Le Net(1998LST M万能逼近定理DropoutAlex Net199719891986图1.1Xavier反向传播算法深度学习的发展史

1969年, 美国数学家及人工智能先驱Minsky在其著作中证明了感知器本质上是一第一次打破非线性诅咒的当属现代深度学习大牛Hinton, 他在1986年发明了适用1989年, Robert Hecht-Nielsen证明了MLP的万能逼近定理, 即对于任何闭区间内也是在1989年, LeC un发明了卷积神经网络——Le Net, 并将其用于数字识别, 且值得强调的是,1989年以后由于没有提出特别突出的方法,且神经网络一直缺少cept ron) 算法。该算法使用MCP模型对输人的多维数据进行二分类, 且能够使用梯度下降法从训练样本中自动学习更新权值。1962年,该方法被证明为能够收敛,它的理论与实践效果引发了第一次神经网络的浪潮。种线性模型, 只能处理线性分类问题, 就连最简单的X OR(亦或) 问题都无法正确分类。这等于直接宣判了感知器的死刑,神经网络的研究也陷入了近20年的停滞。

第二代神经网络(1986年一1998年)

于多层感知器(MLP) 的BP算法, 并采用Sigmoid进行非线性映射, 有效解决了非线性分类和学习的问题。该方法引发了神经网络的第二次热潮。的一个连续函数f,都可以用含有一个隐含层的BP网络来逼近。该定理的发现,极大地鼓舞了神经网络的研究人员取得了较好的成绩,不过当时并没有引起足够的注意。相应的严格的数学理论支持,神经网络的热潮渐渐冷淡下去。冰点发生于1991年,BP算法被指出存在梯度消失问题,即在误差梯度后向传递的过程中,后层梯度以乘性方式叠加到前层, 由于Sigmoid函数的饱和特性, 后层梯度本来就小, 误差梯度传到前层时几乎为0,因此无法对前层进行有效的学习,该发现对此时的神经网络发展无异于雪上加霜。1997年, LST M模型被发明, 尽管该模型在序列建模上表现出的特性非常突出, 但1986年, 决策树方法被提出, 很快ID 3, ID 4, CART等改进的决策树方法相继出现1995年, 统计学家Vapnik提出线性SVM。由于它有非常完美的数学理论推导做支1997年, AdaBoost被提出, 该方法是PAC(Probably Approximately Correct) 理论2001年,随机森林被提出,这是集成方法的另一代表,该方法的理论扎实,比2001年,一种新的统一框架—图模型被提出,该方法试图统一机器学习混乱的·快速发展期(2006年一2012年)2006年, 深度学习元年。这一年, Hinton提出了深层网络训练中梯度消失问题的解决方案:“无监督预训练对权值进行初始化+有监督训练微调”。其主要思想是先通过自学习的方法学习到训练数据的结构(自动编码器),然后在该结由于正处于神经网络的下坡期,也没有引起足够的重视。

统计学习方法的春天(1986年一2006年)

第三代神经网络深度学习(2006年至今)

(到目前仍然是非常常用的机器学习方法),这些方法也是符号学习方法的代表。正是由于这些方法的出现,使得统计学习开始进人人们的视野,迎来统计学习方法的春天。撑(统计学与凸优化等),并且非常符合人的直观感受(最大间隔),逐渐成为当时的主流算法,更重要的是它在线性分类的问题上取得了当时最好的成绩,这使得神经网络更陷入无人问津的境地。在机器学习实践上的代表, 也催生了集成学习(Ensemble Learning) 这一类方法的诞生,在回归和分类任务上取得了非常好的效果。该方法通过一系列的弱分类器集成,达到强分类器的效果。现在集成学习仍然活跃在传统机器学习方法中,在很多比赛中依旧大放异彩。2000年, Kernel SVM被提出, 核化的SVM通过一种巧妙的方式将原空间线性不可分的问题, 通过Kernel映射成高维空间的线性可分问题, 成功解决了非线性分类的问题,且分类效果非常好。至此也更加终结了神经网络时代,在有着如此多完美理论支持的方法中,神经网络似乎被宣告了死刑。AdaBoost能更好地抑制过拟合问题, 实际效果也非常不错, 使得机器学习更向前迈进一步。方法, 如朴素贝叶斯、SVM、隐马尔可夫模型等, 为各种学习方法提供一个统一的描述框架,希望实现大一统的理论框架。该阶段又分为两个时期:快速发展期(2006年-2012年)与爆发期(2012年至今)。

深度学习介绍

构上进行有监督训练微调。但是由于没有特别有效的实验验证,该论文并没有引起重视。

2011年, Re LU激活函数被提出, 该激活函数能够有效地抑制梯度消失的问题。2011年,微软首次将深度学习应用在语音识别上,取得了重大突破。·爆发期(2012年至今)2012年, Hinton课题组为了证明深度学习的潜力, 首次参加Image Net图像识别比赛, 通过构建CNN网络Alex Net一举夺得冠军, 并且碾压了第二名(SVM方法) 的分类性能。也正是由于该比赛, CNN吸引了众多研究者的注意。Alex Net的创新点主要有以下几点:(1) 首次采用Re LU激活函数, 极大加快了收敛速度, 并且从根本上解决了梯度消(2) 由于Re LU方法可以很好地抑制梯度消失问题, Alex Net抛弃了“预训练+微调”的方法,完全采用有监督训练。也正因为如此,现在深度学习的主流学习方法也变成了纯粹的有监督学习;失的问题;过拟合;(3) 扩展了Le Net 5结构, 添加Dropout层减小过拟合, LRN层增强泛化能力/减小(4) 首次采用GPU对计算进行加速。2013年、2014年、2015年, 通过Image Net图像识别比赛, 深度学习因其网络结构、训练方法、GPU硬件不断进步, 在其他领域也不断地征服战场。2015年, Hinton, LeC un, Bengio论证了局部极值问题对于深度学习的影响, 得到的结果是Loss的局部极值问题对于深层网络的影响可以忽略, 该论断也消除了笼罩在神经网络上的局部极值问题的阴霾。具体原因是深层网络虽然局部极值非常多,但是通过深度学习的Batch Gradient Descent优化方法很难陷进去, 而且就算陷进去, 其局部极小值点与全局极小值点也是非常接近的。而浅层网络却虽然拥有较少的局部极小值点,但是却很容易陷进去,且这些局部极小值点与全局极小值点相差较大。对于这一点,论述原文其实没有严格地证明,只是简单叙述。

2.深度学习结构

随着神经网络的发展, 目前比较流行的网络结构分别有:深度神经网络(DNN) 、网上有各种各样的学习经验分享,有的人注重理论知识的积累,看了很多书,但是在学习本书之前, 需要一定的Python语言基础和微积分、线性代数的基础, 下面在开始本书之前,对于微积分和线性代数需要掌握的知识并不多,对于微积分只对于Python语言, 给出三个学习资源, 学完第一个学习资源之后就可以没有障碍

(1) 《笨方法学Python》(Learn Python the HardWay)

本书面向零基础的学者, 通过一系列简单的例子快速入门Python的基本操作。2015年, 何恺明提出Deep Residual Net。分层预训练时, Re LU和Batch Normalization都是为了解决深度神经网络优化时的梯度消失或者爆炸问题,但是在对更深层的神经网络进行优化时, 又出现了新的Degradation问题, “即通常来说, 如果在VG G 16后面加上若干个单位映射, 网络的输出特性将和VG G 16一样, 这说明更深层的网络的潜在分类性能只可能大于等于VG G 16的性能, 不可能变坏, 然而实际效果却是:如果简单地加深VG G 16的话, 分类性能就会下降(不考虑模型过拟合问题) ”。深度学习入门之Py Torch个对于单位映射(或接近单位映射)有较强学习能力的深度学习网络,极大地增强了深度学习网络的表达能力。使用此方法能够轻松地训练高达150层的网络,使得深度学习成为了名副其实的“深度”学习。卷积神经网络(CNN) 、循环递归神经网络(RNN) 、生成对抗网络(GAN) , 等等, 本书会逐一详细介绍,在此不再赘述。

1.3学习资源与建议

随着近年深度学习的兴起,很多研究者都投入这个领域当中,由于各个大学都将自己的课程放到了网上, 出现了很多学习资源和网络课程, 而且很多大公司如Google,Facebook都将自己的开源框架放到了Git hub上, 使得深度学习的人门越来越简单, 很多麻烦的重复操作已经通过框架简化了,这也让我们每个人都能有机会接触深度学习。动手实践的经验为0;也有一些人热衷于代码的实现,每天学习别人已经写好的代码。对于这两种情况,我认为都是不好的,深度学习是理论和工程相结合的领域,不仅仅需要写代码的能力强,也需要有理论知识能够看懂论文,实现论文提出来的新想法,所以我们的学习路线应该是理论与代码相结合,平衡两边的学习任务,不能出现只管一边而不学另外一边的情况,因为只有理论与代码兼顾才不至于一旦学习深入,就会发现自己会有很多知识的漏洞。将给出开始阅读本书之前的学习建议,以及读完本书后继续深入了解深度学习领域的学习建议。需要知道导数和偏导数,对于线性导数只需要知道矩阵乘法就可以了。地阅读完本书, 后续的两个学习资源帮助你更深入地了解Python语言及其数值计算。

(2) 廖雪峰的Python入门

这个系列教程可用来更全面地学习Python, 掌握前几章的Python基础即可, 后面讲授的部分是更为专业的Web开发的内容, 对于机器学习而言不需要掌握这些部分。这是MIT的公开课, 以Python作为人门语言, 简洁、全面地讲述了计算机科学的内容,适合更进一步的学习。

(3) Edx:Introduction to Computer Science and Programming Using Python以上的Python人门课程只需要看完第一个学习资源便可开始本书的阅读。

下面给出读完本书,以及在本书的阅读过程中的一些参考学习资源。

(1)线性代数线性代数相当于深度学习的基石,深度学习里面有着大量的矩阵运算,而且线性代数的一些矩阵分解的思想也被借鉴到了机器学习中,所以必须熟练掌握线性代数。可参考以下资源学习:资源,如:深度学习入门之Py Torch·《线性代数应该这样学》(Linear Algebra done right)·MIT的线性代数公开课·Coding The Matrix

(2)机器学习基础

虽然深度学习现在很火,但是也需要掌握其根本,即机器学习,这才是本质与核心。这里的学习资源从易到难排列:·Course ra上Andrew Ng的机器学习人门课程·林轩田的机器学习基石和机器学习技法·Uda city的机器学习纳米学位·周志华著的《机器学习》·李航著的《统计学习方法》·Pattern Recognition and Machine Learning

(3)深度学习

这是最近几年最为活跃的研究领域,爆发了很多革命性的突破,很多前沿的学习·Uda city的两个深度学习课程·Course ra的Neural Networks for Machine Learning·Stanford的cs231n·Stanford的cs224n以上的学习资源很多,可以学习及参考,很多课程都是理论与实践相结合的,通过

.................


《深度学习之Pytorch_廖星宇_带章书签》目录

首页-10

目录+10-6

第1章深度学习介绍1

第1章深度学习介绍1

第2章深度学习框架-6

第2章深度学习框架11

第3 章多层全连接神经网络-6

第3 章多层全连接神经网络24

第4 章卷积神经网络-5

第4 章卷积神经网络76

第5 章循环神经网络-5

第5 章循环神经网络111

第6 章生成对抗网络-4

第6 章生成对抗网络-4

第7 章深度学习实战-3

第7 章深度学习实战173

计算机


python
AI人工智能
javascript
计算机网络/服务器
数据库技术
计算机F

考试教辅


考研考博
英语四六级

沪ICP备18046276号-5