深度学习——理论、方法与PyTorch实践pdf下载pdf下载

深度学习——理论、方法与PyTorch实践百度网盘pdf下载

作者:
简介:本篇主要提供深度学习——理论、方法与PyTorch实践pdf下载
出版社:清华大学出版社
出版时间:2021-08
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

适读人群 :大众

学习思路,理论先行:构建了非常系统化的理论知识体系,助力读者透彻理解深度学习的基础知识。

学习原理,思维先行:学习一种新的方法、新的算法时,先从本质上剖析其来源,分析提出这种新方法的思维是什么。

抽丝剥茧、深挖本质:透过其烦杂的表面,深挖其本质。

纵向学习、横向比较:详细讲解深度学习作为语言模型中很有用的一种技巧,如何在很多方法中被借鉴和使用。

实践有章可循,拒绝举轻若重:本书将实践分为原理实践和应用实践。原理实践注重案例与原理的呼应,增强对于原理的理解和认识;代码实践增加不同场景下的实践技能,提高Python实践水平。


内容简介

本书深入浅出地讲解深度学习,对复杂的概念深挖其本质,让其简单化;对简单的概念深挖其联系,使其丰富化。从理论知识到实战项目,内容翔实。
本书分为两篇,基础篇主要讲解深度学习的理论知识,实战篇是代码实践及应用。基础篇(第1~13章)包括由传统机器学习到深度学习的过渡、图像分类的数据驱动方法、Softmax损失函数、优化方法与梯度、卷积神经网络的各种概念、卷积过程、卷积神经网络各种训练技巧、梯度反传、各种卷积网络架构、递归神经网络和序列模型、基于深度学习的语言模型、生成模型、生成对抗网络等内容;实战篇(第14~19章)包括应用卷积神经网络进行图像分类、各种网络架构、网络各层可视化、猫狗图像识别、文本分类、GAN图像生成等。
本书适合人工智能专业的本科生、研究生,想转型人工智能的IT从业者,以及想从零开始了解并掌握深度学习的读者阅读。

作者简介

翟中华 清华大学硕士毕业,北京洪策元创智能科技有限公司CEO,AI火箭营首席讲师。在机器学习、深度学习、计算机视觉、自然语言处理等人工智能领域有扎实的理论基础和丰富的应用实践经验。主讲的课程“深度学习入门系列讲解”“PyTorch深度学习实战”等累计学员约50万人次,讲课风格抽丝剥茧、尝入浅出、以简驭繁,能够把复杂的原理简单化,把简单的原理内涵化,深受广大学员的认可。

孟翔宇 华中科技大学软件工程硕士,现就职于阿里巴巴集团(杭州),先后从事面向B类外贸电商的商家生命周期建模、计算广告相关性匹配和推荐广告召回等领域的研究和实践工作。拥有工业海量数据场景下的建模理论和实战经验,对多种机器学习、深度学习和强化学习模型有着浓厚的兴趣和较深的理解。


精彩书评

★深度学习是人工智能从概念到繁荣得以实现的主流技术,以深度学习技术为核心的人工智能技术将极大地升级改造传统农业、工业、服务业。无论你从事哪个行业,《深度学习——理论、方法与PyTorch实践》一书都值得学习。本书既适合作为高等学校深度学习课程的教材和参考书,也适合深度学习领域的研究人员阅读。

——杨德林 清华大学经管学院教授/中国技术经济学会副理事长


★2012年深度学习技术的崛起,把人工智能提升到了前所未有的高度。《深度学习——理论、方法与PyTorch实践》系统、深入地为读者讲述现代深度学习技术的全局框架,书中不仅对深度学习的理论知识进行了充分讲解,而且通过具体的案例,让读者可以按照步骤完成自己的深度学习模型。本书的案例生动而且图文并茂,书中大量直观、有趣的插图会让读者身临其境地感受深度学习的魅力,相信阅读本书的过程将是一趟非常愉悦的深度学习之旅。

——王晓光 ADVANCE.AI合伙人


★自然界充斥着各种形式的智能,从微小的细菌到复杂的人类智能,每种智能都适应了它在自然界中的位置。人工智能也将以多种形式出现,并在智能族谱中占据特殊的位置。《深度学习——理论、方法与PyTorch实践》从应用的角度,以丰富的案例和图解的方式对深度学习系列模型进行了深入浅出的解析,内容翔实,易于理解,非常值得阅读。

——李凤麟 阿里巴巴达摩院算法专家


★随着互联网技术的迅猛发展,场景下的海量数据沉淀越来越多。与此同时,计算机算力的提升使得众多行业有能力、有机会通过场景+大数据+机器学习实现弯道超车。《深度学习——理论、方法与PyTorch实践》深入浅出,案例丰富。祝愿读者能够快乐地在知识海洋之中畅游!

——刘鹏程 京东集团资深风控技术专家



★深度学习技术作为近些年人工智能领域的伟大变革,进一步探索人类对自然世界的理解和表征。随着硬件和软件设备的不断更新,深度学习技术不仅在图像处理、自然语言处理、视频处理等领域得到了广泛的应用,而且应用到工业界的众多模块中,大大拓展了工业级产品的优化效率。本书图文并茂,帮助读者构建深度学习的知识体系,并通过生动翔实的案例引导读者探索深度学习技术在实际场景中发挥的作用。

——王路路 阿里巴巴ICBU技术部算法专家



目录


基础篇


第1章什么是深度学习


1.1通过应用示例直观理解深度学习


1.23个视角解释深度学习


1.2.1分层组合性


1.2.2端到端学习


1.2.3分布式表示


1.3深度学习面临的挑战


1.3.1深度学习的工作机制


1.3.2非凸的问题


1.3.3可解释性的问题


第2章图像识别及KNN算法


2.1图像分类


2.2误差分解和KNN算法


2.2.1误差分解


2.2.2KNN算法运行过程


第3章线性分类器


3.1线性分类器用于图像分类的3个观点


3.1.1线性分类的代数观点


3.1.2线性分类的视觉观点


3.1.3线性分类的几何观点


3.2合页损失函数原理推导及图像分类举例


3.2.1合页损失函数的概念


3.2.2多分类合页损失函数的推导


3.3Softmax损失函数与多分类SVM损失函数的比较


3.3.1Softmax分类与损失函数


3.3.2Softmax损失函数与合页损失函数的比较






第4章优化与梯度


4.1梯度下降法工作原理及3种普通梯度下降法


4.1.1梯度下降的概念


4.1.2梯度下降法求解目标函数


4.1.3学习率的重要性


4.1.43种梯度下降法


4.2动量SGD和Nesterov加速梯度法


4.2.1SGD存在的问题


4.2.2动量法


4.2.3Nesterov加速梯度法


4.3自适应学习速率优化方法


4.3.1指数加权平均值处理数字序列


4.3.2自适应学习速率AdaGrad方法


4.3.3自适应学习速率RMSProp方法


4.3.4自适应学习速率Adadelta方法


4.4最强优化方法Adam


4.4.1为什么Adam性能如此卓越


4.4.2偏差矫正


4.4.3如何矫正偏差


第5章卷积神经网络


5.1卷积核


5.1.1卷积核简介


5.1.2卷积核的作用


5.2卷积神经网络中步长、填充和通道的概念


5.2.1步长


5.2.2填充


5.2.3通道


5.3快速推导卷积层特征图尺寸计算公式


5.3.1计算过程直观展示


5.3.2计算过程总结


5.4极简方法实现卷积层的误差反传


5.4.1误差反传举例说明


5.4.2完全卷积过程简介


5.4.3把卷积过程写成神经网络形式


5.4.4应用计算图的反向模式微分


5.5极池化层的本质思想及其过程


5.5.1池化层的分类


5.5.2池化后图像尺寸


第6章卷积神经网络训练技巧


6.1ReLU激活函数的优势


6.1.1为什么需要激活函数


6.1.2主流激活函数介绍


6.2内部协变量偏移


6.3批归一化


6.3.1为什么需要批归一化


6.3.2批归一化的工作原理


6.3.3批归一化的优势


6.4Dropout正则化及其集成方法思想


6.4.1特征共适应性


6.4.2Dropout正则化思想


6.4.3Dropout集成思想


6.4.4预测时需要恢复Dropout的随机性


第7章卷积神经网络架构


7.1掀起深度学习风暴的AlexNet网络架构


7.1.1卷积神经网络的开端LeNet


7.1.2AlexNet架构


7.2神经网络感受野及其计算


7.2.1生物学中的感受野


7.2.2CNN中的感受野


7.3VGGNet网络结构相比较AlexNet的优势


7.3.1VGGNet简介


7.3.2VGGNet与AlexNet网络结构对比


7.4GoogLeNet 1×1卷积核的深刻意义及其作用


7.4.1深度神经网络的缺陷


7.4.2多通道卷积中特征图映射太多的问题


7.4.31×1卷积核卷积过程


7.5GoogLeNet初始模块设计指导思想


7.5.1赫布学习规则


7.5.2人工神经网络中的赫布学习规则


7.6透彻理解GoogLeNet全景架构


7.7ResNet关键结构恒等映射背后的思想及原理


7.8全面理解ResNet全景架构


第8章循环神经网络


8.1为什么要用递归神经网络


8.1.1为什么需要递归神经网络


8.1.2RNN结构以及应用


8.2RNN计算图


8.3RNN前向与反向传播


8.3.1前馈深度


8.3.2循环深度


8.3.3通过时间反向传播


8.3.4两个和的反向传播


8.3.5梯度消失和梯度爆炸


8.4长短期记忆(LSTM)及其变种的原理


8.4.1LSTM网络架构


8.4.2LSTM变体一


8.4.3LSTM变体二


8.4.4LSTM变体三


第9章基于深度学习的语言模型


9.1词的各种向量表示


9.2通过词向量度量词的相似性


9.3潜在语义分析LSA


9.3.1潜在语义分析的过程


9.3.2潜在语义分析的SVD分解


9.4Word2Vec词嵌入原理


9.4.1Word2Vec的指导思想


9.4.2skipgram算法的框架


9.4.3skipgram算法的输入训练集


9.4.4skipgram算法的目标函数


9.4.5skipgram网络中的两个权重矩阵


9.5GloVe词向量模型


9.5.1由单词共同出现的次数到共同出现的概率


9.5.2GloVe模型目标函数的推导


9.6从onehot向量到seq2seq序列模型


9.7编码器解码器模型


9.8为什么要用注意力机制


9.8.1大脑中的注意力


9.8.2为什么要使用注意力机制


9.9注意力机制的数学原理


第10章深度学习NLP应用进阶


10.1注意力机制的应用指针网络


10.2递归神经网络是否是必要的


10.2.1递归神经网络存在的问题


10.2.2前馈网络的优势


10.2.3如何替代递归神经网络


10.3Transformer的数学原理


10.3.1什么是Transformer


10.3.2Transformer结构的形象展示


10.3.3什么是自我注意力


10.3.4多头自我注意力


10.4Transformer的3个矩阵K、V、Q


10.5Transformer的位置编码原理


10.5.1位置编码的向量计算


10.5.2位置编码的表示


10.6Transformer的全景架构


10.7深度语境化词语表示ELMo


10.7.1为什么需要语境情景化的表示


10.7.2ELMo的算法构成


10.7.3ELMo整体框架


10.7.4ELMo的应用


10.7.5ELMo算法的效果


10.8NLP里程碑模型BERT三大集成创新


10.8.1双向上下文遮蔽语言模型


10.8.2使用Transformer


10.8.3迁移学习


10.8.4应用于特定任务


第11章深度生成模型


11.1监督学习与无监督学习的比较


11.1.1监督学习


11.1.2无监督学习


11.2为什么要用生成模型


11.2.1超越分类


11.2.2生成模型应用实例


11.3自编码


11.4从概率视角理解VAE建模过程


11.5KL散度


11.6VAE损失函数推导


11.7用深度神经网络求解VAE目标函数


第12章生成对抗网络


12.1GAN目标函数


12.2通过博弈论理解GAN原理


12.3由JS散度推导GAN判别器和生成器最优值


12.4深度卷积生成对抗网络(DCGAN)


12.4.1DCGAN使用的方法


12.4.2DCGAN中的生成器


12.4.3DCGAN对抗训练的细节


12.5条件生成对抗网络


12.5.1CGAN的网络结构


12.5.2CGAN的数学原理


12.5.3生成器和判别器的目标损失函数


第13章生成对抗网络的创新及应用


13.1图像到图像的翻译


13.1.1CNN可否预测图像


13.1.2CGAN的具体应用: 以不同形态的图像为条件


13.1.3CGAN结构上的两大创新


13.1.4图像到图像翻译的应用场景


13.2循环生成对抗网络


13.3CycleGAN对抗性损失和循环一致性原理


13.4从条件熵的视角剖析CycleGAN


13.5CycleGAN实验结果


13.6超分辨率生成对抗网络(SRGAN)


13.7SRGAN的网络架构


13.8叠加生成对抗网络


13.9StackGAN中的条件增强


13.10渐进式增长生成对抗网络


13.11StyleGAN中的自适应实例规范化


13.12StyleGAN中删除传统输入与随机变化


13.13为什么GAN很难训练


13.14GAN中梯度消失与梯度不稳定


13.15Wasserstein距离


13.16为什么Wasserstein距离比KL、JS散度更有利于训练GAN


实战篇


第14章PyTorch入门


14.1PyTorch介绍及张量


14.1.1PyTorch及其特定优势


14.1.2PyTorch安装


14.1.3张量


14.2PyTorch动态图、自动梯度、梯度反传


14.3使用PyTorch的nn包构建卷积神经网络


第15章手写数字识别


15.1手写数字识别的解决方案


15.1.1手写数字识别的研究意义与背景


15.1.2手写数字识别的项目挑战


15.1.3手写数字识别的项目原理与解决方案


15.2搭建多层全连接神经网络实现MNIST手写数字识别


15.2.1由浅入深搭建3层全连接网络


15.2.2MNIST训练集和测试集载入


15.2.3模型训练与评估


15.3基于卷积神经网络的MNIST手写数字识别


15.3.1卷积神经网络基本解读


15.3.2搭建一个卷积神经网络


第16章基于PyTorch的卷积神经网络可视化理解


16.1问题背景


16.2卷积神经网络


16.2.1比较多层感知机和卷积神经网络


16.2.2神经元的感知野


16.3计算机如何查看输入的图像


16.4构建过滤器


16.5完整的卷积神经网络结构


16.6可视化一个简单的卷积神经网络


16.7使用预训练的AlexNet进行各层卷积可视化


16.7.1输入图片可视化


16.7.2可视化过滤器——多通道


16.7.3可视化过滤器——单通道


16.8图像遮挡实验


16.9总结


第17章基于Keras实现Kaggle猫狗大战


17.1猫狗大战背景介绍


17.2Keras介绍及安装配置


17.2.1什么是Keras


17.2.2安装TensorFlow


17.2.3安装Keras


17.3基于卷积神经网络的猫狗大战


17.3.1构建第1个网络


17.3.2增加丢弃


17.3.3增加数据增强


17.4基于迁移学习的猫狗大战


17.4.1VGG16简介


17.4.2使用VGG16预测图像包含什么内容


17.4.3训练猫狗大战分类器


17.4.4转移学习/微调模型


第18章基于PyTorch实现一个DCGAN案例


18.1介绍


18.2生成对抗网络


18.2.1什么是GAN


18.2.2什么是DCGAN


18.2.3输入


18.2.4数据


18.2.5实现


18.2.6结果


18.2.7未来


第19章从零出发实现基于RNN的3个应用


19.1RNN网络结构及原理


19.2使用字符级RNN对姓名进行分类


19.2.1准备数据注意


19.2.2将姓名转换为张量


19.2.3创建网络


19.2.4训练


19.3使用字符级RNN生成名称


19.3.1准备数据


19.3.2构建网络


19.3.3训练


19.3.4绘制损失


19.3.5网络采样


19.4使用序列到序列的网络和注意机制完成翻译


19.4.1加载数据文件


19.4.2seq2seq模型


19.4.3训练


19.4.4绘图结果


19.4.5评估


19.4.6训练与评估


19.4.7可视化注意机制


参考文献


前言/序言



前言



自从2012年AlexNet在ImageNet大赛中成功击败传统方法,深度学习兴起,掀起了人工智能的第三次高潮!仅仅在几年之内,深度学习便令全世界大吃一惊。它非常有力地挑战了很多领域的传统方法,例如计算机视觉、自然语言处理、语音识别、强化学习和统计建模等,这些领域都因深度学习实现了跨越式发展。人脸识别、自动驾驶、工业机器人、智能推荐、智能客服,都是深度学习成功落地的现实应用。这些由深度学习带来的人工智能新方法、新工具也正产生着广泛的影响: 它们改变了电影制作和疾病诊断的方式,从天体物理学到生物学等各个基础科学中扮演着越来越重要的角色。事实上,我们已经进入了人工智能时代,尽管人工智能才刚刚起步。

于是,各行各业学习并研究深度学习的热情空前高涨,然而,深度学习涉及了很多数学知识,以及从其他学科(如生物学)借鉴的各种原理,并且随着神经网络深度的不断加大,网络架构越来越复杂,其学习曲线异常陡峭。

本书的写成源于AI火箭营的初心,我们希望在人工智能时代来临之际,能够帮助更多的人进入人工智能技术的殿堂,使更多的人利用人工智能解决现实中的实际问题,让更多的人在各行各业中用人工智能升级改造传统产业或技术体系。配套本书,笔者精心设计了“深度学习入门系列讲解”这一深度学习课程,学习人数累计超过20万人次,内容通俗易懂、代入有方、深入浅出、抽丝剥茧。

以简驭繁

网络上讲解深度学习的资料很多,我们曾经作过横向对比,这些资料与我们的理念相距甚远。

首先是原理讲解方面。好多书或技术博客,或者就原理讲原理,没有深挖原理背后的思想; 或者泛泛而谈,没有深入浅出,只是知识的堆叠; 或者逻辑不紧密,没有形成环环相扣的整体。

其次是实践代码方面。博客和GitHub上有大量的演示特定深度学习框架或实现特定模型(例如Resnet等)的代码。这些代码的目的是复现论文或者原理,让我们真正理解算法,并且提供应用算法的工程方式。所以原理是根,代码是叶。然而很多学习者拿来代码,调试出结果后就以为完成了学习过程,将这些代码束之高阁。这其实什么也没学到,实际上只充当了一个“调包侠”而已。本书的实战案例重在与原理的呼应,重在算法设计的探究及实现细节的解释。

尽管现在随着互联网的便捷,网上资料繁多,然而对于初学者,往往不得不参考来源不同的多种资料,所获甚微,而且没有感觉到学习深度学习真正的乐趣。如果你正亲身经历这一过程,那么本书正是你所需要的。

本书理念

本书有以下几大理念:

(1) 学习思路,理论先行。深度学习理论点比较多,知识体系庞大,学习深度学习一定要先把理论吃透,深度学习理论蕴含着丰富的思维、方法和技巧,如果没把理论吃透就开始用代码实践,则不能系统化地学习,知识体系会比较乱,不利于创新思维体系的构建。本书构建了非常系统化的理论知识体系,助力读者透彻理解深度学习的基础知识。

(2) 学习原理,思维先行。学习一种新的方法、新的算法,一定要先从本质上剖析其来源,分析提出这种新方法的思维是什么。不能仅仅从原理上、技术上搞懂,更重要的应该是明白这种方法的来龙去脉,即其思维根源。

(3) 抽丝剥茧、深挖本质。深度学习涉及非常多的网络架构和技巧,如批归一化、串接、丢弃、残余连接等。学习一种新的网络架构时,需要透过其繁杂的表面,深挖其本质。

(4) 纵向学习、横向比较。深度学习技术发展非常迅速,同一种技术也会不断改进、创新。例如注意力机制作为语言模型中很有用的一种技巧,在很多方法中被借鉴和使用,如Transformer、Bert等。Transformer中用到的自注意力,是对注意力的一个纵向借鉴和创新改进,Bert当然不能抛弃这种有效的方法。

(5) 实践有章可循,拒绝举轻若重。本书将实践分为原理实践和应用实践。原理实践注重案例与原理的呼应,增强对于原理的理解和认识; 代码实践增强不同场景下的实践技能,提高Python实践水平。除此之外,本书注重重点、次重点的合理分配,例如在DCGAN的代码实践中,首先要学会的是生成器的实现,其次是损失函数,再次是判别器的实现。

本书坚持培养读者阐述剖析问题所需的批判性思维、解决问题所需的数学知识,以及实现解决方案所需的工程技能。本书对所有涉及的技术点进行了背景介绍,写作风格严谨。书中所有的代码执行结果都是自动生成的,任何改动都会触发对书中每一段代码的测试,以保证读者在动手实践时能复现结果。

感谢对本书的编写提出宝贵修改意见的贡献者,他们查阅资料、字斟句酌; 感谢孙玉龙、袁海滨、陆澍旸等学员对书中的一些内容提供了很有价值的反馈。

我们的初衷是让更多人更轻松地使用深度学习!由于笔者水平有限,书中难免存在疏漏,敬请原谅,并恳请读者批评指正。

附上苏轼的一段词,希望各位读者像欣赏美景一样开启深度学习之旅:

“一叶舟轻,双桨鸿惊。水天清、影湛波平。鱼翻藻鉴,鹭点烟汀。过沙溪急,霜溪冷,月溪明。”


翟中华孟翔宇


2021年7月