动手学深度学习

动手学深度学习
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Aston Zhang) 李沐(Mu Li)
2019-06
ISBN: 9787115490841
定价: 85.00
装帧: 平装
开本: 16开
纸张: 胶版纸
933人买过
  • 本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。  

     
    全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。  

     
    本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。 阿斯顿.张(Aston Zhang) 
      
    美亚应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习的研究,并在数个顶ji学术会议发表过论文。他担任过NeurIPS、ICML、KDD、WWW、WSDM、SIGIR、AAAI 等学术会议的程序委员或审稿人以及Frontiers in Big Data 期刊的编委。 
      
    李沐(Mu Li) 
      
    美亚首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。他专注于分布式系统和机器学习算法的研究。他是深度学习框架MXNet 的作者之一。他曾任机器学习创业公司Marianas Labs 的CTO 和百度深度学习研究院的主任研发架构师。他在理论、机器学习、应用和操作系统等多个领域的顶ji学术会议(包括FOCS、ICML、NeurIPS、AISTATS、CVPR、KDD 、WSDM、OSDI)上发表过论文。  
      
    扎卡里.C. 立顿(Zachary C. Lipton) 
      
    美亚应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士。他专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。这类工作有着广泛的应用场景,包括医疗诊断、对话系统和产品推荐。他创立了博客“Approximately Correct”(approximatelycorrect.com)。  
      
    亚历山大.J. 斯莫拉(Alexander J. Smola) 
      
    美亚副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教。他发表了超过200 篇学术论文,并著有5 本书,其论文及书被引用超过10 万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。 

    对本书的赞誉 
    前言 
    如何使用本书 
    资源与支持 
    主要符号表 
    第1章深度学习简介1 
    1.1起源2 
    1.2发展4 
    1.3成功案例6 
    1.4特点7 
    小结8 
    练习8 
    第2章预备知识9 
    2.1获取和运行本书的代码9 
    2.1.1获取代码并安装运行环境9 
    2.1.2更新代码和运行环境11 
    2.1.3使用GPU版的MXNet11 
    小结12 
    练习12 
    2.2数据操作12 
    2.2.1创建NDArray12 
    2.2.2运算14 
    2.2.3广播机制16 
    2.2.4索引17 
    2.2.5运算的内存开销17 
    2.2.6NDArray和NumPy相互变换18 
    小结19 
    练习19 
    2.3自动求梯度19 
    2.3.1简单例子19 
    2.3.2训练模式和预测模式20 
    2.3.3对Python控制流求梯度20 
    小结21 
    练习21 
    2.4查阅文档21 
    2.4.1查找模块里的所有函数和类21 
    2.4.2查找特定函数和类的使用22 
    2.4.3在MXNet网站上查阅23 
    小结24 
    练习24 
    第3章深度学习基础25 
    3.1线性回归25 
    3.1.1线性回归的基本要素25 
    3.1.2线性回归的表示方法28 
    小结30 
    练习30 
    3.2线性回归的从零开始实现30 
    3.2.1生成数据集30 
    3.2.2读取数据集32 
    3.2.3初始化模型参数32 
    3.2.4定义模型33 
    3.2.5定义损失函数33 
    3.2.6定义优化算法33 
    3.2.7训练模型33 
    小结34 
    练习34 
    3.3线性回归的简洁实现35 
    3.3.1生成数据集35 
    3.3.2读取数据集35 
    3.3.3定义模型36 
    3.3.4初始化模型参数36 
    3.3.5定义损失函数37 
    3.3.6定义优化算法37 
    3.3.7训练模型37 
    小结38 
    练习38 
    3.4softmax回归38 
    3.4.1分类问题38 
    3.4.2softmax回归模型39 
    3.4.3单样本分类的矢量计算表达式40 
    3.4.4小批量样本分类的矢量计算表达式40 
    3.4.5交叉熵损失函数41 
    3.4.6模型预测及评价42 
    小结42 
    练习42 
    3.5图像分类数据集(Fashion-MNIST)42 
    3.5.1获取数据集42 
    3.5.2读取小批量44 
    小结45 
    练习45 
    3.6softmax回归的从零开始实现45 
    3.6.1读取数据集45 
    3.6.2初始化模型参数45 
    3.6.3实现softmax运算46 
    3.6.4定义模型46 
    3.6.5定义损失函数47 
    3.6.6计算分类准确率47 
    3.6.7训练模型48 
    3.6.8预测48 
    小结49 
    练习49 
    3.7softmax回归的简洁实现49 
    3.7.1读取数据集49 
    3.7.2定义和初始化模型50 
    3.7.3softmax和交叉熵损失函数50 
    3.7.4定义优化算法50 
    3.7.5训练模型50 
    小结50 
    练习50 
    3.8多层感知机51 
    3.8.1隐藏层51 
    3.8.2激活函数52 
    3.8.3多层感知机55 
    小结55 
    练习55 
    3.9多层感知机的从零开始实现56 
    3.9.1读取数据集56 
    3.9.2定义模型参数56 
    3.9.3定义激活函数56 
    3.9.4定义模型56 
    3.9.5定义损失函数57 
    3.9.6训练模型57 
    小结57 
    练习57 
    3.10多层感知机的简洁实现57 
    3.10.1定义模型58 
    3.10.2训练模型58 
    小结58 
    练习58 
    3.11模型选择、欠拟合和过拟合58 
    3.11.1训练误差和泛化误差59 
    3.11.2模型选择59 
    3.11.3欠拟合和过拟合60 
    3.11.4多项式函数拟合实验61 
    小结65 
    练习65 
    3.12权重衰减65 
    3.12.1方法65 
    3.12.2高维线性回归实验66 
    3.12.3从零开始实现66 
    3.12.4简洁实现68 
    小结70 
    练习70 
    3.13丢弃法70 
    3.13.1方法70 
    3.13.2从零开始实现71 
    3.13.3简洁实现73 
    小结74 
    练习74 
    3.14正向传播、反向传播和计算图74 
    3.14.1正向传播74 
    3.14.2正向传播的计算图75 
    3.14.3反向传播75 
    3.14.4训练深度学习模型76 
    小结77 
    练习77 
    3.15数值稳定性和模型初始化77 
    3.15.1衰减和爆炸77 
    3.15.2随机初始化模型参数78 
    小结78 
    练习79 
    3.16实战Kaggle比赛:房价预测79 
    3.16.1Kaggle比赛79 
    3.16.2读取数据集80 
    3.16.3预处理数据集81 
    3.16.4训练模型82 
    3.16.5k折交叉验证82 
    3.16.6模型选择83 
    3.16.7预测并在Kaggle提交结果84 
    小结85 
    练习85 
    第4章深度学习计算86 
    4.1模型构造86 
    4.1.1继承Block类来构造模型86 
    4.1.2Sequential类继承自Block类87 
    4.1.3构造复杂的模型88 
    小结89 
    练习90 
    4.2模型参数的访问、初始化和共享90 
    4.2.1访问模型参数90 
    4.2.2初始化模型参数92 
    4.2.3自定义初始化方法93 
    4.2.4共享模型参数94 
    小结94 
    练习94 
    4.3模型参数的延后初始化95 
    4.3.1延后初始化95 
    4.3.2避免延后初始化96 
    小结96 
    练习97 
    4.4自定义层97 
    4.4.1不含模型参数的自定义层97 
    4.4.2含模型参数的自定义层98 
    小结99 
    练习99 
    4.5读取和存储99 
    4.5.1读写NDArray99 
    4.5.2读写Gluon模型的参数100 
    小结101 
    练习101 
    4.6GPU计算101 
    4.6.1计算设备102 
    4.6.2NDArray的GPU计算102 
    4.6.3Gluon的GPU计算104 
    小结105 
    练习105 
    第5章卷积神经网络106 
    5.1二维卷积层106 
    5.1.1二维互相关运算106 
    5.1.2二维卷积层107 
    5.1.3图像中物体边缘检测108 
    5.1.4通过数据学习核数组109 
    5.1.5互相关运算和卷积运算109 
    5.1.6特征图和感受野110 
    小结110 
    练习110 
    5.2填充和步幅111 
    5.2.1填充111 
    5.2.2步幅112 
    小结113 
    练习113 
    5.3多输入通道和多输出通道114 
    5.3.1多输入通道114 
    5.3.2多输出通道115 
    5.3.31x1卷积层116 
    小结117 
    练习117 
    5.4池化层117 
    5.4.1二维最大池化层和平均池化层117 
    5.4.2填充和步幅119 
    5.4.3多通道120 
    小结120 
    练习121 
    5.5卷积神经网络(LeNet)121 
    5.5.1LeNet模型121 
    5.5.2训练模型122 
    小结124 
    练习124 
    5.6深度卷积神经网络(AlexNet)124 
    5.6.1学习特征表示125 
    5.6.2AlexNet126 
    5.6.3读取数据集127 
    5.6.4训练模型128 
    小结128 
    练习129 
    5.7使用重复元素的网络(VGG)129 
    5.7.1VGG块129 
    5.7.2VGG网络129 
    5.7.3训练模型130 
    小结131 
    练习131 
    5.8网络中的网络(NiN)131 
    5.8.1NiN块131 
    5.8.2NiN模型132 
    5.8.3训练模型133 
    小结134 
    练习134 
    5.9含并行连结的网络(GoogLeNet)134 
    5.9.1Inception块134 
    5.9.2GoogLeNet模型135 
    5.9.3训练模型137 
    小结137 
    练习137 
    5.10批量归一化138 
    5.10.1批量归一化层138 
    5.10.2从零开始实现139 
    5.10.3使用批量归一化层的LeNet140 
    5.10.4简洁实现141 
    小结142 
    练习142 
    5.11残差网络(ResNet)143 
    5.11.1残差块143 
    5.11.2ResNet模型145 
    5.11.3训练模型146 
    小结146 
    练习146 
    5.12稠密连接网络(DenseNet)147 
    5.12.1稠密块147 
    5.12.2过渡层148 
    5.12.3DenseNet模型148 
    5.12.4训练模型149 
    小结149 
    练习149 
    第6章循环神经网络150 
    6.1语言模型150 
    6.1.1语言模型的计算151 
    6.1.2n元语法151 
    小结152 
    练习152 
    6.2循环神经网络152 
    6.2.1不含隐藏状态的神经网络152 
    6.2.2含隐藏状态的循环神经网络152 
    6.2.3应用:基于字符级循环神经网络的语言模型154 
    小结155 
    练习155 
    6.3语言模型数据集(歌词)155 
    6.3.1读取数据集155 
    6.3.2建立字符索引156 
    6.3.3时序数据的采样156 
    小结158 
    练习159 
    6.4循环神经网络的从零开始实现159 
    6.4.1one-hot向量159 
    6.4.2初始化模型参数160 
    6.4.3定义模型160 
    6.4.4定义预测函数161 
    6.4.5裁剪梯度161 
    6.4.6困惑度162 
    6.4.7定义模型训练函数162 
    6.4.8训练模型并创作歌词163 
    小结164 
    练习164 
    6.5循环神经网络的简洁实现165 
    6.5.1定义模型165 
    6.5.2训练模型166 
    小结168 
    练习168 
    6.6通过时间反向传播168 
    6.6.1定义模型168 
    6.6.2模型计算图169 
    6.6.3方法169 
    小结170 
    练习170 
    6.7门控循环单元(GRU)170 
    6.7.1门控循环单元171 
    6.7.2读取数据集173 
    6.7.3从零开始实现173 
    6.7.4简洁实现175 
    小结176 
    练习176 
    6.8长短期记忆(LSTM)176 
    6.8.1长短期记忆176 
    6.8.2读取数据集179 
    6.8.3从零开始实现179 
    6.8.4简洁实现181 
    小结181 
    练习182 
    6.9深度循环神经网络182 
    小结183 
    练习183 
    6.10双向循环神经网络183 
    小结184 
    练习184 
    第7章优化算法185 
    7.1优化与深度学习185 
    7.1.1优化与深度学习的关系185 
    7.1.2优化在深度学习中的挑战186 
    小结188 
    练习189 
    7.2梯度下降和随机梯度下降189 
    7.2.1一维梯度下降189 
    7.2.2学习率190 
    7.2.3多维梯度下降191 
    7.2.4随机梯度下降193 
    小结194 
    练习194 
    7.3小批量随机梯度下降194 
    7.3.1读取数据集195 
    7.3.2从零开始实现196 
    7.3.3简洁实现198 
    小结199 
    练习199 
    7.4动量法200 
    7.4.1梯度下降的问题200 
    7.4.2动量法201 
    7.4.3从零开始实现203 
    7.4.4简洁实现205 
    小结205 
    练习205 
    7.5AdaGrad算法206 
    7.5.1算法206 
    7.5.2特点206 
    7.5.3从零开始实现208 
    7.5.4简洁实现209 
    小结209 
    练习209 
    7.6RMSProp算法209 
    7.6.1算法210 
    7.6.2从零开始实现211 
    7.6.3简洁实现212 
    小结212 
    练习212 
    7.7AdaDelta算法212 
    7.7.1算法212 
    7.7.2从零开始实现213 
    7.7.3简洁实现214 
    小结214 
    练习214 
    7.8Adam算法215 
    7.8.1算法215 
    7.8.2从零开始实现216 
    7.8.3简洁实现216 
    小结217 
    练习217 
    第8章计算性能218 
    8.1命令式和符号式混合编程218 
    8.1.1混合式编程取两者之长220 
    8.1.2使用HybridSequential类构造模型220 
    8.1.3使用HybridBlock类构造模型222 
    小结224 
    练习224 
    8.2异步计算224 
    8.2.1MXNet中的异步计算224 
    8.2.2用同步函数让前端等待计算结果226 
    8.2.3使用异步计算提升计算性能226 
    8.2.4异步计算对内存的影响227 
    小结229
     
    练习229 
    8.3自动并行计算229 
    8.3.1CPU和GPU的并行计算230 
    8.3.2计算和通信的并行计算231 
    小结231 
    练习231 
    8.4多GPU计算232 
    8.4.1数据并行232 
    8.4.2定义模型233 
    8.4.3多GPU之间同步数据234 
    8.4.4单个小批量上的多GPU训练236 
    8.4.5定义训练函数236 
    8.4.6多GPU训练实验237 
    小结237 
    练习237 
    8.5多GPU计算的简洁实现237 
    8.5.1多GPU上初始化模型参数238 
    8.5.2多GPU训练模型239 
    小结241 
    练习241 
    第9章计算机视觉242 
    9.1图像增广242 
    9.1.1常用的图像增广方法243 
    9.1.2使用图像增广训练模型246 
    小结250 
    练习250 
    9.2微调250 
    热狗识别251 
    小结255 
    练习255 
    9.3目标检测和边界框255 
    边界框256 
    小结257 
    练习257 
    9.4锚框257 
    9.4.1生成多个锚框257 
    9.4.2交并比259 
    9.4.3标注训练集的锚框260 
    9.4.4输出预测边界框263 
    小结265 
    练习265 
    9.5多尺度目标检测265 
    小结268 
    练习268 
    9.6目标检测数据集(皮卡丘)268 
    9.6.1获取数据集269 
    9.6.2读取数据集269 
    9.6.3图示数据270 
    小结270 
    练习271 
    9.7单发多框检测(SSD)271 
    9.7.1定义模型271 
    9.7.2训练模型275 
    9.7.3预测目标277 
    小结278 
    练习278 
    9.8区域卷积神经网络(R-CNN)系列280 
    9.8.1R-CNN280 
    9.8.2Fast R-CNN281 
    9.8.3Faster R-CNN283 
    9.8.4Mask R-CNN284 
    小结285 
    练习285 
    9.9语义分割和数据集285 
    9.9.1图像分割和实例分割285 
    9.9.2Pascal VOC2012语义分割数据集286 
    小结290
     
    练习290 
    9.10全卷积网络(FCN)290 
    9.10.1转置卷积层291 
    9.10.2构造模型 292 
    9.10.3初始化转置卷积层294 
    9.10.4读取数据集295 
    9.10.5训练模型296 
    9.10.6预测像素类别296 
    小结297 
    练习297 
    9.11样式迁移298 
    9.11.1方法 298 
    9.11.2读取内容图像和样式图像 299 
    9.11.3预处理和后处理图像 300 
    9.11.4抽取特征 301 
    9.11.5定义损失函数 302 
    9.11.6创建和初始化合成图像 303 
    9.11.7训练模型 304 
    小结306 
    练习306 
    9.12实战Kaggle比赛:图像分类(CIFAR-10)306 
    9.12.1获取和整理数据集 307 
    9.12.2图像增广 310 
    9.12.3读取数据集 310 
    9.12.4定义模型 311 
    9.12.5定义训练函数 312 
    9.12.6训练模型 312 
    9.12.7对测试集分类并在Kaggle 
    提交结果313 
    小结313 
    练习313 
    9.13实战Kaggle比赛:狗的品种识别(ImageNetDogs)314 
    小结320 
    练习320 
    第10章自然语言处理321 
    10.1词嵌入(word2vec)321 
    小结325 
    练习325 
    10.2近似训练325 
    小结327 
    练习328 
    10.3word2vec的实现328 
    小结336 
    练习336 
    10.4子词嵌入(fastText)336 
    小结337 
    练习337 
    10.5全局向量的词嵌入(GloVe)337 
    小结340 
    练习340 
    10.6求近义词和类比词340 
    小结343 
    练习343 
    10.7文本情感分类:使用循环神经网络343 
    小结347 
    练习347 
    10.8文本情感分类:使用卷积神经网络(textCNN)347 
    小结353 
    练习353 
    10.9编码器-解码器(seq2seq)353 
    小结355 
    练习355 
    10.10束搜索355 
    小结358 
    练习358 
    10.11注意力机制358 
    小结361 
    练习361 
    10.12机器翻译361 
    小结369 
    练习369 
    附录A数学基础370 
    附录B使用Jupyter记事本376 
    附录C使用AWS运行代码381 
    附录DGPU购买指南388 
    附录E如何为本书做贡献391 
    附录Fd2lzh包索引395 
    附录G中英文术语对照表397 
    参考文献402 
    索引407 

  • 内容简介:
    本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。  

     
    全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。  

     
    本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。
  • 作者简介:
    阿斯顿.张(Aston Zhang) 
      
    美亚应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习的研究,并在数个顶ji学术会议发表过论文。他担任过NeurIPS、ICML、KDD、WWW、WSDM、SIGIR、AAAI 等学术会议的程序委员或审稿人以及Frontiers in Big Data 期刊的编委。 
      
    李沐(Mu Li) 
      
    美亚首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。他专注于分布式系统和机器学习算法的研究。他是深度学习框架MXNet 的作者之一。他曾任机器学习创业公司Marianas Labs 的CTO 和百度深度学习研究院的主任研发架构师。他在理论、机器学习、应用和操作系统等多个领域的顶ji学术会议(包括FOCS、ICML、NeurIPS、AISTATS、CVPR、KDD 、WSDM、OSDI)上发表过论文。  
      
    扎卡里.C. 立顿(Zachary C. Lipton) 
      
    美亚应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士。他专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。这类工作有着广泛的应用场景,包括医疗诊断、对话系统和产品推荐。他创立了博客“Approximately Correct”(approximatelycorrect.com)。  
      
    亚历山大.J. 斯莫拉(Alexander J. Smola) 
      
    美亚副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教。他发表了超过200 篇学术论文,并著有5 本书,其论文及书被引用超过10 万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。 

  • 目录:
    对本书的赞誉 
    前言 
    如何使用本书 
    资源与支持 
    主要符号表 
    第1章深度学习简介1 
    1.1起源2 
    1.2发展4 
    1.3成功案例6 
    1.4特点7 
    小结8 
    练习8 
    第2章预备知识9 
    2.1获取和运行本书的代码9 
    2.1.1获取代码并安装运行环境9 
    2.1.2更新代码和运行环境11 
    2.1.3使用GPU版的MXNet11 
    小结12 
    练习12 
    2.2数据操作12 
    2.2.1创建NDArray12 
    2.2.2运算14 
    2.2.3广播机制16 
    2.2.4索引17 
    2.2.5运算的内存开销17 
    2.2.6NDArray和NumPy相互变换18 
    小结19 
    练习19 
    2.3自动求梯度19 
    2.3.1简单例子19 
    2.3.2训练模式和预测模式20 
    2.3.3对Python控制流求梯度20 
    小结21 
    练习21 
    2.4查阅文档21 
    2.4.1查找模块里的所有函数和类21 
    2.4.2查找特定函数和类的使用22 
    2.4.3在MXNet网站上查阅23 
    小结24 
    练习24 
    第3章深度学习基础25 
    3.1线性回归25 
    3.1.1线性回归的基本要素25 
    3.1.2线性回归的表示方法28 
    小结30 
    练习30 
    3.2线性回归的从零开始实现30 
    3.2.1生成数据集30 
    3.2.2读取数据集32 
    3.2.3初始化模型参数32 
    3.2.4定义模型33 
    3.2.5定义损失函数33 
    3.2.6定义优化算法33 
    3.2.7训练模型33 
    小结34 
    练习34 
    3.3线性回归的简洁实现35 
    3.3.1生成数据集35 
    3.3.2读取数据集35 
    3.3.3定义模型36 
    3.3.4初始化模型参数36 
    3.3.5定义损失函数37 
    3.3.6定义优化算法37 
    3.3.7训练模型37 
    小结38 
    练习38 
    3.4softmax回归38 
    3.4.1分类问题38 
    3.4.2softmax回归模型39 
    3.4.3单样本分类的矢量计算表达式40 
    3.4.4小批量样本分类的矢量计算表达式40 
    3.4.5交叉熵损失函数41 
    3.4.6模型预测及评价42 
    小结42 
    练习42 
    3.5图像分类数据集(Fashion-MNIST)42 
    3.5.1获取数据集42 
    3.5.2读取小批量44 
    小结45 
    练习45 
    3.6softmax回归的从零开始实现45 
    3.6.1读取数据集45 
    3.6.2初始化模型参数45 
    3.6.3实现softmax运算46 
    3.6.4定义模型46 
    3.6.5定义损失函数47 
    3.6.6计算分类准确率47 
    3.6.7训练模型48 
    3.6.8预测48 
    小结49 
    练习49 
    3.7softmax回归的简洁实现49 
    3.7.1读取数据集49 
    3.7.2定义和初始化模型50 
    3.7.3softmax和交叉熵损失函数50 
    3.7.4定义优化算法50 
    3.7.5训练模型50 
    小结50 
    练习50 
    3.8多层感知机51 
    3.8.1隐藏层51 
    3.8.2激活函数52 
    3.8.3多层感知机55 
    小结55 
    练习55 
    3.9多层感知机的从零开始实现56 
    3.9.1读取数据集56 
    3.9.2定义模型参数56 
    3.9.3定义激活函数56 
    3.9.4定义模型56 
    3.9.5定义损失函数57 
    3.9.6训练模型57 
    小结57 
    练习57 
    3.10多层感知机的简洁实现57 
    3.10.1定义模型58 
    3.10.2训练模型58 
    小结58 
    练习58 
    3.11模型选择、欠拟合和过拟合58 
    3.11.1训练误差和泛化误差59 
    3.11.2模型选择59 
    3.11.3欠拟合和过拟合60 
    3.11.4多项式函数拟合实验61 
    小结65 
    练习65 
    3.12权重衰减65 
    3.12.1方法65 
    3.12.2高维线性回归实验66 
    3.12.3从零开始实现66 
    3.12.4简洁实现68 
    小结70 
    练习70 
    3.13丢弃法70 
    3.13.1方法70 
    3.13.2从零开始实现71 
    3.13.3简洁实现73 
    小结74 
    练习74 
    3.14正向传播、反向传播和计算图74 
    3.14.1正向传播74 
    3.14.2正向传播的计算图75 
    3.14.3反向传播75 
    3.14.4训练深度学习模型76 
    小结77 
    练习77 
    3.15数值稳定性和模型初始化77 
    3.15.1衰减和爆炸77 
    3.15.2随机初始化模型参数78 
    小结78 
    练习79 
    3.16实战Kaggle比赛:房价预测79 
    3.16.1Kaggle比赛79 
    3.16.2读取数据集80 
    3.16.3预处理数据集81 
    3.16.4训练模型82 
    3.16.5k折交叉验证82 
    3.16.6模型选择83 
    3.16.7预测并在Kaggle提交结果84 
    小结85 
    练习85 
    第4章深度学习计算86 
    4.1模型构造86 
    4.1.1继承Block类来构造模型86 
    4.1.2Sequential类继承自Block类87 
    4.1.3构造复杂的模型88 
    小结89 
    练习90 
    4.2模型参数的访问、初始化和共享90 
    4.2.1访问模型参数90 
    4.2.2初始化模型参数92 
    4.2.3自定义初始化方法93 
    4.2.4共享模型参数94 
    小结94 
    练习94 
    4.3模型参数的延后初始化95 
    4.3.1延后初始化95 
    4.3.2避免延后初始化96 
    小结96 
    练习97 
    4.4自定义层97 
    4.4.1不含模型参数的自定义层97 
    4.4.2含模型参数的自定义层98 
    小结99 
    练习99 
    4.5读取和存储99 
    4.5.1读写NDArray99 
    4.5.2读写Gluon模型的参数100 
    小结101 
    练习101 
    4.6GPU计算101 
    4.6.1计算设备102 
    4.6.2NDArray的GPU计算102 
    4.6.3Gluon的GPU计算104 
    小结105 
    练习105 
    第5章卷积神经网络106 
    5.1二维卷积层106 
    5.1.1二维互相关运算106 
    5.1.2二维卷积层107 
    5.1.3图像中物体边缘检测108 
    5.1.4通过数据学习核数组109 
    5.1.5互相关运算和卷积运算109 
    5.1.6特征图和感受野110 
    小结110 
    练习110 
    5.2填充和步幅111 
    5.2.1填充111 
    5.2.2步幅112 
    小结113 
    练习113 
    5.3多输入通道和多输出通道114 
    5.3.1多输入通道114 
    5.3.2多输出通道115 
    5.3.31x1卷积层116 
    小结117 
    练习117 
    5.4池化层117 
    5.4.1二维最大池化层和平均池化层117 
    5.4.2填充和步幅119 
    5.4.3多通道120 
    小结120 
    练习121 
    5.5卷积神经网络(LeNet)121 
    5.5.1LeNet模型121 
    5.5.2训练模型122 
    小结124 
    练习124 
    5.6深度卷积神经网络(AlexNet)124 
    5.6.1学习特征表示125 
    5.6.2AlexNet126 
    5.6.3读取数据集127 
    5.6.4训练模型128 
    小结128 
    练习129 
    5.7使用重复元素的网络(VGG)129 
    5.7.1VGG块129 
    5.7.2VGG网络129 
    5.7.3训练模型130 
    小结131 
    练习131 
    5.8网络中的网络(NiN)131 
    5.8.1NiN块131 
    5.8.2NiN模型132 
    5.8.3训练模型133 
    小结134 
    练习134 
    5.9含并行连结的网络(GoogLeNet)134 
    5.9.1Inception块134 
    5.9.2GoogLeNet模型135 
    5.9.3训练模型137 
    小结137 
    练习137 
    5.10批量归一化138 
    5.10.1批量归一化层138 
    5.10.2从零开始实现139 
    5.10.3使用批量归一化层的LeNet140 
    5.10.4简洁实现141 
    小结142 
    练习142 
    5.11残差网络(ResNet)143 
    5.11.1残差块143 
    5.11.2ResNet模型145 
    5.11.3训练模型146 
    小结146 
    练习146 
    5.12稠密连接网络(DenseNet)147 
    5.12.1稠密块147 
    5.12.2过渡层148 
    5.12.3DenseNet模型148 
    5.12.4训练模型149 
    小结149 
    练习149 
    第6章循环神经网络150 
    6.1语言模型150 
    6.1.1语言模型的计算151 
    6.1.2n元语法151 
    小结152 
    练习152 
    6.2循环神经网络152 
    6.2.1不含隐藏状态的神经网络152 
    6.2.2含隐藏状态的循环神经网络152 
    6.2.3应用:基于字符级循环神经网络的语言模型154 
    小结155 
    练习155 
    6.3语言模型数据集(歌词)155 
    6.3.1读取数据集155 
    6.3.2建立字符索引156 
    6.3.3时序数据的采样156 
    小结158 
    练习159 
    6.4循环神经网络的从零开始实现159 
    6.4.1one-hot向量159 
    6.4.2初始化模型参数160 
    6.4.3定义模型160 
    6.4.4定义预测函数161 
    6.4.5裁剪梯度161 
    6.4.6困惑度162 
    6.4.7定义模型训练函数162 
    6.4.8训练模型并创作歌词163 
    小结164 
    练习164 
    6.5循环神经网络的简洁实现165 
    6.5.1定义模型165 
    6.5.2训练模型166 
    小结168 
    练习168 
    6.6通过时间反向传播168 
    6.6.1定义模型168 
    6.6.2模型计算图169 
    6.6.3方法169 
    小结170 
    练习170 
    6.7门控循环单元(GRU)170 
    6.7.1门控循环单元171 
    6.7.2读取数据集173 
    6.7.3从零开始实现173 
    6.7.4简洁实现175 
    小结176 
    练习176 
    6.8长短期记忆(LSTM)176 
    6.8.1长短期记忆176 
    6.8.2读取数据集179 
    6.8.3从零开始实现179 
    6.8.4简洁实现181 
    小结181 
    练习182 
    6.9深度循环神经网络182 
    小结183 
    练习183 
    6.10双向循环神经网络183 
    小结184 
    练习184 
    第7章优化算法185 
    7.1优化与深度学习185 
    7.1.1优化与深度学习的关系185 
    7.1.2优化在深度学习中的挑战186 
    小结188 
    练习189 
    7.2梯度下降和随机梯度下降189 
    7.2.1一维梯度下降189 
    7.2.2学习率190 
    7.2.3多维梯度下降191 
    7.2.4随机梯度下降193 
    小结194 
    练习194 
    7.3小批量随机梯度下降194 
    7.3.1读取数据集195 
    7.3.2从零开始实现196 
    7.3.3简洁实现198 
    小结199 
    练习199 
    7.4动量法200 
    7.4.1梯度下降的问题200 
    7.4.2动量法201 
    7.4.3从零开始实现203 
    7.4.4简洁实现205 
    小结205 
    练习205 
    7.5AdaGrad算法206 
    7.5.1算法206 
    7.5.2特点206 
    7.5.3从零开始实现208 
    7.5.4简洁实现209 
    小结209 
    练习209 
    7.6RMSProp算法209 
    7.6.1算法210 
    7.6.2从零开始实现211 
    7.6.3简洁实现212 
    小结212 
    练习212 
    7.7AdaDelta算法212 
    7.7.1算法212 
    7.7.2从零开始实现213 
    7.7.3简洁实现214 
    小结214 
    练习214 
    7.8Adam算法215 
    7.8.1算法215 
    7.8.2从零开始实现216 
    7.8.3简洁实现216 
    小结217 
    练习217 
    第8章计算性能218 
    8.1命令式和符号式混合编程218 
    8.1.1混合式编程取两者之长220 
    8.1.2使用HybridSequential类构造模型220 
    8.1.3使用HybridBlock类构造模型222 
    小结224 
    练习224 
    8.2异步计算224 
    8.2.1MXNet中的异步计算224 
    8.2.2用同步函数让前端等待计算结果226 
    8.2.3使用异步计算提升计算性能226 
    8.2.4异步计算对内存的影响227 
    小结229
     
    练习229 
    8.3自动并行计算229 
    8.3.1CPU和GPU的并行计算230 
    8.3.2计算和通信的并行计算231 
    小结231 
    练习231 
    8.4多GPU计算232 
    8.4.1数据并行232 
    8.4.2定义模型233 
    8.4.3多GPU之间同步数据234 
    8.4.4单个小批量上的多GPU训练236 
    8.4.5定义训练函数236 
    8.4.6多GPU训练实验237 
    小结237 
    练习237 
    8.5多GPU计算的简洁实现237 
    8.5.1多GPU上初始化模型参数238 
    8.5.2多GPU训练模型239 
    小结241 
    练习241 
    第9章计算机视觉242 
    9.1图像增广242 
    9.1.1常用的图像增广方法243 
    9.1.2使用图像增广训练模型246 
    小结250 
    练习250 
    9.2微调250 
    热狗识别251 
    小结255 
    练习255 
    9.3目标检测和边界框255 
    边界框256 
    小结257 
    练习257 
    9.4锚框257 
    9.4.1生成多个锚框257 
    9.4.2交并比259 
    9.4.3标注训练集的锚框260 
    9.4.4输出预测边界框263 
    小结265 
    练习265 
    9.5多尺度目标检测265 
    小结268 
    练习268 
    9.6目标检测数据集(皮卡丘)268 
    9.6.1获取数据集269 
    9.6.2读取数据集269 
    9.6.3图示数据270 
    小结270 
    练习271 
    9.7单发多框检测(SSD)271 
    9.7.1定义模型271 
    9.7.2训练模型275 
    9.7.3预测目标277 
    小结278 
    练习278 
    9.8区域卷积神经网络(R-CNN)系列280 
    9.8.1R-CNN280 
    9.8.2Fast R-CNN281 
    9.8.3Faster R-CNN283 
    9.8.4Mask R-CNN284 
    小结285 
    练习285 
    9.9语义分割和数据集285 
    9.9.1图像分割和实例分割285 
    9.9.2Pascal VOC2012语义分割数据集286 
    小结290
     
    练习290 
    9.10全卷积网络(FCN)290 
    9.10.1转置卷积层291 
    9.10.2构造模型 292 
    9.10.3初始化转置卷积层294 
    9.10.4读取数据集295 
    9.10.5训练模型296 
    9.10.6预测像素类别296 
    小结297 
    练习297 
    9.11样式迁移298 
    9.11.1方法 298 
    9.11.2读取内容图像和样式图像 299 
    9.11.3预处理和后处理图像 300 
    9.11.4抽取特征 301 
    9.11.5定义损失函数 302 
    9.11.6创建和初始化合成图像 303 
    9.11.7训练模型 304 
    小结306 
    练习306 
    9.12实战Kaggle比赛:图像分类(CIFAR-10)306 
    9.12.1获取和整理数据集 307 
    9.12.2图像增广 310 
    9.12.3读取数据集 310 
    9.12.4定义模型 311 
    9.12.5定义训练函数 312 
    9.12.6训练模型 312 
    9.12.7对测试集分类并在Kaggle 
    提交结果313 
    小结313 
    练习313 
    9.13实战Kaggle比赛:狗的品种识别(ImageNetDogs)314 
    小结320 
    练习320 
    第10章自然语言处理321 
    10.1词嵌入(word2vec)321 
    小结325 
    练习325 
    10.2近似训练325 
    小结327 
    练习328 
    10.3word2vec的实现328 
    小结336 
    练习336 
    10.4子词嵌入(fastText)336 
    小结337 
    练习337 
    10.5全局向量的词嵌入(GloVe)337 
    小结340 
    练习340 
    10.6求近义词和类比词340 
    小结343 
    练习343 
    10.7文本情感分类:使用循环神经网络343 
    小结347 
    练习347 
    10.8文本情感分类:使用卷积神经网络(textCNN)347 
    小结353 
    练习353 
    10.9编码器-解码器(seq2seq)353 
    小结355 
    练习355 
    10.10束搜索355 
    小结358 
    练习358 
    10.11注意力机制358 
    小结361 
    练习361 
    10.12机器翻译361 
    小结369 
    练习369 
    附录A数学基础370 
    附录B使用Jupyter记事本376 
    附录C使用AWS运行代码381 
    附录DGPU购买指南388 
    附录E如何为本书做贡献391 
    附录Fd2lzh包索引395 
    附录G中英文术语对照表397 
    参考文献402 
    索引407 

查看详情
相关图书 / 更多
动手学深度学习
动手做科学玩转吸管
张军
动手学深度学习
动手动脑玩贴纸(交通工具)
爱德少儿
动手学深度学习
动手百分百:旧物手作
[法]莫尼克·恰尔内茨基
动手学深度学习
动手百分百:科学小实验
[法]马克·贝尼
动手学深度学习
动手学机器学习
张伟楠 赵寒烨 俞勇
动手学深度学习
动手百分百:学会全世界的手工
[法]布鲁诺•米斯卡
动手学深度学习
动手"做"数学 网络画板与初中数学深度融合
丁银杰,殷容仪
动手学深度学习
动手百分百:家庭实验室
[法]马克·贝尼;[法]马蒂厄·鲁塞尔
动手学深度学习
动手百分百:巧克力烘焙
[法]罗沙米·德·安德洛 著;[法]凯瑟琳·默里斯 绘
动手学深度学习
动手做科学玩转纸杯
张军
动手学深度学习
动手做计算机网络仿真实验:基于Packet Tracer(微课视频版)
高军;吴亮红;卢明;席在芳;唐秀明
动手学深度学习
动手学画植物篇/动手学画
刘雨眠 编者
您可能感兴趣 / 更多
动手学深度学习
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
动手学深度学习
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
动手学深度学习
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
动手学深度学习
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
动手学深度学习
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
动手学深度学习
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
动手学深度学习
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
动手学深度学习
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
动手学深度学习
最后一章
[美]厄尼·派尔
动手学深度学习
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
动手学深度学习
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
动手学深度学习
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译