首页>参考读物>公共基础课>心理健康教育

深度卷积网络:原理与实践
作者 : 彭博 著
出版日期 : 2018-04-23
ISBN : 978-7-111-59665-3
定价 : 129.00元
扩展资源
扩展信息
语种 : 简体中文
页数 : 325
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

内容介绍
深度卷积网络(DCNN)是目前十分流行的深度神经网络架构,它的构造清晰直观,效果引人入胜,在图像、视频、语音、语言领域都有广泛应用。
本书以AI领域最新的技术研究和和实践为基础,从技术理论、工作原理、实践方法、架构技巧、训练方法、技术前瞻等6个维度对深度卷积网络进行了系统、深入、详细地讲解。
以实战为导向,深入分析AlphaGo和GAN的实现过程、技术原理、训练方法和应用细节,为读者依次揭开神经网络、卷积网络和深度卷积网络的神秘面纱,让读者了解AI的“思考过程”,以及与人类思维的相同和不同之处。
本书在逻辑上分为3个部分:
第一部分综述篇(第1、6、9章)
这3章不需要读者具备编程和数学基础,对深度学习和神经网络的基础知识、AlphaGo的架构设计和工作原理,以及深度学习和人工智能未来的技术发展趋势进行了宏观介绍。
第二部分深度卷积网络篇(第2、3、4、5章)
结合作者的实际工作经验和案例代码,对深度卷积网络的技术理论、工作原理、实践方法、架构技巧和训练方法做了系统而深入的讲解。
第三部分实战篇(第7、8章)
详细分析了AlphaGo和GAN的技术原理、训练方法和应用细节,包括详细的代码分析和大量GAN的精彩实例。
本书的案例代码在GitHub上提供下载,同时读者可在GitHub与作者交流本书相关的问题。

图书特色

全面讲解深度卷积网络的技术理论、工作原理、实践方法、架构技巧和训练策略

图书前言

为何写作本书
自2012年以来,随着深度学习(Deep Learning,DL)的快速发展,人工智能(Artificial Intelligence,AI)取得了长足的进展。\
从语音助手、人脸识别、照片美化,到自动驾驶、医疗诊断、机器翻译,基于深度神经网络(Deep Neural Network,DNN)的新一代人工智能,已在各个领域进入我们的日常生活。许多学者认为,人工智能将开启第四次工业革命,并对人类的未来产生深远影响。
例如,通过Mask R-CNN深度神经网络,电脑可快速自动识别出图像中的各个物体,用色彩和方框标记。这对于自动驾驶和机器人技术有重要意义,也是传统AI方法难以实现的。

值此变革之际,我们理应跟上时代的步伐,增进对DL与AI的了解。本书的目标是:
如果读者没有编程和数学基础,也能在阅读后体会到深度神经网络的奥妙。
如果读者有一定基础,就可学会用DL的方法解决实际问题,为从事相关的工作和研究做好准备。
具体而言,本书选取深度卷积网络(Deep Convolutional Neural Network,DCNN)作为切入点,这是目前最流行的深度神经网络架构,其构造直观易懂,效果引人入胜,在图像、视频、语音、语言领域都有广泛应用。
我们还将结合多个实例进行讲述,让读者更深入理解深度神经网络的运作。说起深度神经网络的实例,广为人知的莫过于由Google DeepMind研发的AlphaGo(https://deepmind.com/research/alphago/):
在2016年3月,AlphaGo以4:1战胜韩国顶尖棋手李世乭,让AI成为了目前最热门的话题之一。
在2017年5月,新版AlphaGo以3:0战胜当今世界围棋第一人—中国的柯洁。所有棋手都认同它已全面胜过人类,但它仍需要人类棋谱作为训练的前期输入。
在2017年10月,名为AlphaGo Zero的最新版AlphaGo已能完全脱离人类棋谱,从零开始,纯粹依靠自我探索,自我对弈,就能实现超越此前所有版本的棋力。
如下图所示,蓝色的20-blocks版AlphaGo Zero,最初的棋力还不如人类的初学者,但它在24小时内就能赶上红色的学习人类棋谱的AlphaGo,并在40小时内超越与李世乭对战的AlphaGo。

在2017年12月,DeepMind还将AlphaGo Zero的方法用于国际象棋、日本将棋,称为AlphaZero。它仅需几个小时的训练,就打败了此前世界最强的程序,这证明AlphaGo方法的通用性极强。
AlphaGo的核心是深度卷积网络。深度神经网络的强大,关键在于能模拟人类的直觉。AlphaGo的强大,关键在于通过深度卷积网络,成功模拟了人类的棋感。
那么,深度卷积网络是如何学会下围棋的?AlphaGo真的理解围棋吗?AlphaGo与人类下棋的思维有怎样的相同和不同之处?我们将在第6章阐述AlphaGo的运作,并在第7章亲手训练AlphaGo的策略网络(policy network)。如下图所示,棋盘中的标记1到9,代表此时策略网络对于下一手的前9位推荐。

深度神经网络的威力,还不仅止于此。近年来,深度学习中热门的话题是一种新的深度神经网络范式:生成式对抗网络(Generative Adversarial Networks,GAN)。它同样基于深度卷积网络,我们会在第8章讲述。
GAN试图模拟人类的更神秘之处:创造力和想象力,如自动作画、自动作曲,甚至自动发现治疗癌症的药物结构。例如,通过StackGAN网络,电脑可根据人提供的文字描述,自动绘制出无穷无尽的符合描述的图像。

目前GAN的结果还不完美,但已有许多业界人士开始思考:离AI在所有领域超越人类还有多远?AI会造福于人类,抑或会取代甚至毁灭人类?本书的第9章将讨论这一话题,并介绍当前AI方法的强项与缺陷,展望未来的发展。
总而言之,本书以AlphaGo与GAN为主例,再配合大量其他实例,为读者揭开深度卷积网络的面纱,让我们深入逐层认识AI的“思考过程”,包括与人类思维的相同和不同之处,体验AI眼中的世界。这会是一段奇妙的旅途,希望本书能成为读者探索深度学习世界的助手。
憾于篇幅所限,本书的重点会是深度卷积网络,尤其是它在图像的应用。对于深度学习涉及的其他领域,如循环神经网络(Recurrent Neural Network,RNN)、深度强化学习(Deep Reinforcement Learning,DRL)等等,希望能在未来再为读者讲述。
深度学习的发展日新月异,笔者只是略知皮毛,书中难免有错漏之处,恳请读者不吝指正。
本书的特点
市面已有不少介绍深度学习与深度神经网络的书籍,但多为编著或译文。本书的特点是:
叙述与代码范例皆会结合笔者的实际经验,如调参经验和网络架构经验,让读者掌握真正具有实用性的技巧。
包括深度卷积网络和AI的重要最新发展,如DenseNet、XCeption、各种GAN变种、预测学习(predictive learning)、Capsule等。书中的许多例子都来自于2017年的最新研究。
对于重要的理论知识,如反向传播(Back Propagation,BP)的推导,本书不会回避,会仔细说明。这里的细节是常见的面试题,如果读者还没有理解清楚,阅读本书就对了。
本书的行文力求通俗易懂,不会过于抽象。如果读者不熟悉数学,可跳过书中数学推导的部分,因为目前的深度学习框架已很完善,即使不了解数学,同样可以成功训练和使用。
本书读者对象
对AI、深度学习感兴趣的开发者。
希望通过深度学习方法,解决实际问题的工程师。
希望从事AI、深度学习相关工作的求职者。
对AI、深度学习感兴趣的院校师生。
对AI感兴趣,希望了解深度学习技术的爱好者。
如何阅读本书
本书正文逻辑上可分为3部分,共9章:
综述篇(第1、6、9章)。这三章不需要编程和数学基础,如果读者尚不熟悉相关技术,推荐优先阅读。它们分别介绍了深度学习的基本概念、AlphaGo的架构、深度学习的问题和未来展望。
深度卷积网络篇(第2~5章)。这四章结合理论与实际代码,由浅入深,从神经网络,到卷积网络,再到深度卷积网络,让读者掌握深度卷积网络的基础知识、实践技巧和最新发展,是本书的关键所在,值得仔细阅读。
对于会编程的读者,在阅读后可写出完整的采用现代架构的深度卷积网络程序,以及学会在自己的数据集上进行训练,解决实际问题。
对于不会编程的读者,我们也会讲述如何用Excel实现简单的神经网络模型。
实战篇(第7和8章)。这两章分别讲述AlphaGo和GAN的训练和应用细节,包括详细的代码分析。其中第8章还包括大量GAN的精彩实例,无须技术基础也能体会。
本书附录部分包括深度学习的网络资源列表。
本书内容的一些选择:
市面上有许多深度学习编程框架,如TensorFlow、Caffe等。本书选择MXNet,因其训练速度快、占用资源少,且使用方便、架构清晰、易于二次开发。
在编程语言方面,目前深度学习最流行的语言是Python,本书也会选用Python。
有时我们需要讨论理论,这就离不开数学。本书数学符号的细节如下:
log都代表自然对数,即以e=2.71828…为底的对数。有的书籍会将此写成ln。
MSE损失采用(X-Y)2定义。有的书籍会采用(X-Y)2定义。如果读者还不知道MSE损失,可阅读第2章。
资源和勘误
本书的所有代码均存放于 https://github.com/BlinkDL,其中也会有本书的勘误与问题解答(例如,如果Python对中文UTF-8报错,解决方法在其中),以及读者的交流方式。如您发现书中的错漏之处,或遇到不清楚的地方,或有其他宝贵意见,请在此处告知笔者,笔者不胜感激。
目前知乎(https://www.zhihu.com)是中文网络上较为专业的交流平台,读者可在其中找到深度学习和AI的介绍和综述、对于最新论文的分析及相关问题的解答。读者可关笔者的知乎主页(https://www.zhihu.com/people/bopengbopeng),笔者会在知乎主页定期更新与AI相关的内容。
致谢
感谢出版社杨福川编辑和小艺编辑对本书写作和审校的大力支持。感谢设计师PiPi对本书插画的绘制。感谢家人和朋友对书稿的校对和建议。感谢知乎网友五柳希安、王佑、Simon对本书内容的建议。

上架指导

计算机\人工智能

封底文字

2016年AlphaGo人机大战开启了人工智能的黄金时代,CSDN数据统计表明,2016年深度学习技术文章全年增长3倍以上,阅读过机器学习和深度学习内容的开发者近百万,但全面掌握深度学习还是有门槛的,坊间也有深度学习的经典著作,但缺乏对系统工程实践方面的讲解,彭博的这本书弥补了这一缺失。本书由浅入深,从实践出发,剖析AlphaGo的实现,全面、系统地介绍了深度卷积网络的应用和发展,开发者跟着书中案例一步步实现,就可以快速掌握深度学习的精要。
—— 蒋涛 CSDN创始人/极客帮创投创始人
人工智能是未来重要的发展方向,也是我们极客邦最重要的内容版块之一。这本书选择深度学习中最受欢迎的技术——深度卷积网络(DCNN)和生成式对抗网络(GAN)为切入点,从技术、原理、训练方法、应用等角度对它们进行了全方位讲解。为了让艰深的技术不那么难懂,书中以我们熟知的AlphaGo为案例(AlphaGo是使用深度卷积网络的经典成功案例),通过分析AlphaGo的实现过程,让具体的技术细节通俗易懂。
—— 霍泰稳 极客邦科技创始人兼 CEO
神经网络是深度学习最有效的方法之一,深度卷积网络是目前十分流行的深度神经网络架构,在图像、视频、语音等领域被广泛应用,我们熟知的AlphaGo就大量使用了深度卷积网络技术。彭博的这本书,从理论和实践两个层面对卷积神经网络做了非常翔实的讲解。理论层面,重点讲解了卷积神经网络的技术基础和工作原理;实践层面,则通过对AlphaGo的层层剖析,展现了卷积神经网络的实践方法。此外,本书在大环境上,基于Python和MXNet等流行的深度学习工具撰写,能让读者在理解深度卷积网络的同时,掌握这些工具的使用。
—— 刘付强 MSUP(麦思博)创始人兼CEO
对于初次接触人工智能的工程师和数据科学家来说,虽然系统性的建立对人工智能知识体系很重要,但同时也需要找一个易于学习的切入点或突破点。本书作者考虑到不同层次读者需要,选择了很有代表性的AlphaGo和GAN进行讲解,并给出了很好的案例引导。本书循序渐进地从概念到原理,从原理到实践,步步深入AI,案例生动而细致。持续学习是人工智能发展的关键,同样,在这样一个技术日新月异的时代,我们也需要保持持续的学习力。推荐本书,保有一份对技术的敬畏与热忱,让我们一起打开AI的世界吧。
—— 梁勇 天善智能创始人

作者简介

彭博 著:彭博
人工智能、量化交易、区块链领域的资深技术专家,有20年以上的研发经验。
在人工智能与信息科技方面,对深度学习、机器学习、计算机图形学、智能硬件等有较为深入的研究;在量化交易方面,曾在全球最大的外汇对冲基金负责程序化交易,对市场的微观和宏观行为有较为深入的理解;在区块链方面,对智能合约、DApp开发和自动交易有较为深入的实践。
知乎上科技领域的大V,在专栏撰有大量技术文章。知乎主页二维码:

图书目录

前言
引子·神之一手1
第1章 走进深度学习的世界5
1.1 从人工智能到深度学习5
1.2 深度神经网络的威力:以AlphaGo为例8
1.2.1 策略网络简述9
1.2.2 泛化:看棋谱就能学会下围棋11
1.2.3 拟合与过拟合11
1.2.4 深度神经网络的速度优势12
1.3 深度神经网络的应用大观13
1.3.1 图像分类问题的难度所在13
1.3.2 用深度神经网络理解图像15
1.3.3 AlphaGo中的深度神经网络17
1.3.4 自动发现规律:从数据A到答案B17
1.3.5 深度神经网络的更多应用18
1.3.6 从分而治之,到端对端学习24
1.4 亲自体验深度神经网络25
1.4.1 TensorFlow游乐场25
1.4.2 MNIST数字识别实例:LeNet-527
1.4.3 策略网络实例28
1.4.4 简笔画:Sketch-RNN29
1.4.5 用GAN生成动漫头像30
1.5 深度神经网络的基本特点31
1.5.1 两大助力:算力、数据31
1.5.2 从特征工程,到逐层抽象32
1.5.3 深度神经网络学会的是什么35
1.6 人工智能与神经网络的历史36
1.6.1 人工智能的两大学派:逻辑与统计37
1.6.2 人工智能与神经网络的现代编年史37
第2章 深度卷积网络:第一课42
2.1 神经元:运作和训练43
2.1.1 运作:从实例说明43
2.1.2 训练:梯度下降的思想44
2.1.3 训练:梯度下降的公式46
2.1.4 训练:找大小问题的初次尝试48
2.1.5 训练:Excel的实现 50
2.1.6 重要知识:批大小、mini-batch、epoch51
2.2 深度学习框架MXNet:安装和使用51
2.2.1 计算图:动态与静态52
2.2.2 安装MXNet:准备工作53
2.2.3 在Windows下安装MXNet54
2.2.4 在macOS下安装MXNet:CPU版57
2.2.5 在macOS下安装MXNet:GPU版58
2.2.6 在Linux下安装MXNet59
2.2.7 安装Jupyter演算本59
2.2.8 实例:在MXNet训练神经元并体验调参60
2.3 神经网络:运作和训练63
2.3.1 运作:前向传播,与非线性激活的必要性63
2.3.2 运作:非线性激活64
2.3.3 训练:梯度的计算公式66
2.3.4 训练:实例69
2.3.5 训练:Excel的实现70
2.3.6 训练:反向传播71
2.3.7 重要知识:梯度消失,梯度爆炸72
2.3.8 从几何观点理解神经网络72
2.3.9 训练:MXNet的实现73
第3章 深度卷积网络:第二课 77
3.1 重要理论知识77
3.1.1 数据:训练集、验证集、测试集77
3.1.2 训练:典型过程79
3.1.3 有监督学习:回归、分类、标签、排序、Seq2Seq79
3.1.4 无监督学习:聚类、降维、自编码、生成模型、推荐81
3.1.5 训练的障碍:欠拟合、过拟合82
3.1.6 训练的细节:局部极值点、鞍点、梯度下降算法83
3.2 神经网络的正则化85
3.2.1 修改损失函数:L2和L1正则化85
3.2.2 修改网络架构:Dropout正则化86
3.2.3 更多技巧:集合、多任务学习、参数共享等86
3.2.4 数据增强与预处理88
3.3 神经网络的调参89
3.3.1 学习速率89
3.3.2 批大小90
3.3.3 初始化方法92
3.3.4 调参实战:重返TensorFlow游乐场93
3.4 实例:MNIST问题95
3.4.1 重要知识:SoftMax层、交叉熵损失96
3.4.2 训练代码与网络架构98
3.4.3 超越MNIST:最新的Fashion-MNIST数据集101
3.5 网络训练的常见bug和检查方法103
3.6 网络训练性能的提高104
第4章 深度卷积网络:第三课106
4.1 卷积网络:从实例说明106
4.1.1 实例:找橘猫,最原始的方法107
4.1.2 实例:找橘猫,更好的方法108
4.1.3 实例:卷积和池化108
4.1.4 卷积网络的运作111
4.2 运作:AlphaGo眼中的棋盘112
4.2.1 棋盘的编码113
4.2.2 最简化的策略网络115
4.2.3 最简化的策略网络:特征层和卷积后的结果116
4.3 卷积神经网络:进一步了解122
4.3.1 卷积核、滤波器与参数量的计算122
4.3.2 运作和训练的计算123
4.3.3 外衬与步长124
4.3.4 缩小图像:池化与全局池化126
4.3.5 放大图像:转置卷积127
4.4 实例:用卷积网络解决MNIST问题128
4.4.1 网络架构的定义与参数量的计算129
4.4.2 训练MNIST网络130
4.4.3 在MXNet运行训练后的网络131
4.4.4 调参实例133
4.4.5 在Fashion-MNIST数据集的结果133
4.5 MXNet的使用技巧134
4.5.1 快速定义多个层134
4.5.2 网络的保存与读取135
4.5.3 图像数据的打包和载入135
4.5.4 深入MXNet训练细节136
4.5.5 在浏览器和移动设备运行神经网络139
第5章 深度卷积网络:第四课141
5.1 经典的深度卷积网络架构142
5.1.1 深度学习革命的揭幕者:AlexNet142
5.1.2 常用架构:VGG系列145
5.1.3 去掉全连接层:DarkNet系列147
5.2 网络的可视化:以AlexNet为例150
5.3 迁移学习:精调、预训练等155
5.4 架构技巧:基本技巧157
5.4.1 感受野与缩小卷积核157
5.4.2 使用1×1卷积核158
5.4.3 批规范化160
5.4.4 实例:回顾Fashion-MNIST问题161
5.4.5 实例:训练CIFAR-10模型164
5.5 架构技巧:残差网络与通道组合169
5.5.1 残差网络:ResNet的思想169
5.5.2 残差网络:架构细节171
5.5.3 残差网络:来自于集合的理解与随机深度172
5.5.4 残差网络:MXNet实现,以策略网络为例173
5.5.5 通道组合:Inception模组174
5.5.6 通道组合:XCeption架构,深度可分卷积177
5.5.7 实例:再次训练CIFAR-10模型178
5.6 架构技巧:更多进展181
5.6.1 残差网络进展:ResNext、Pyramid Net、DenseNet181
5.6.2 压缩网络:SqueezeNet、MobileNet、ShuffleNet183
5.6.3 卷积核的变形188
5.7 物体检测与图像分割189
5.7.1 YOLO v1:实时的物体检测网络190
5.7.2 YOLO v2:更快、更强192
5.7.3 Faster R-CNN:准确的物体检测网络194
5.7.4 Mask-RCNN:准确的图像分割网络195
5.8 风格转移197
第6章 AlphaGo架构综述200
6.1 从AlphaGo到AlphaZero201
6.1.1 AlphaGo v13与AlphaGo v18201
6.1.2 AlphaGo Master与AlphaGoZero202
6.1.3 解决一切棋类:AlphaZero204
6.2 AlphaGo的对弈过程205
6.2.1 策略网络205
6.2.2 来自人类的思路208
6.2.3 蒙特卡洛树搜索与估值问题209
6.2.4 从快速走子估值到价值网络211
6.2.5 从搜索树看策略与价值网络的作用213
6.2.6 策略与价值网络的运作实例215
6.3 AlphaGo中的深度卷积网络架构217
6.4 AlphaGo的训练过程219
6.4.1 原版AlphaGo:策略梯度方法219
6.4.2 新版AlphaGo:从蒙特卡洛树搜索学习220
6.5 AlphaGo方法的推广221
第7章 训练策略网络与实战224
7.1 训练前的准备工作224
7.1.1 棋谱数据225
7.1.2 落子模拟226
7.1.3 终局判断226
7.2 训练代码227
7.2.1 主程序:train.py227
7.2.2 训练参数:config.py233
7.2.3 辅助函数:util.py234
7.2.4 棋盘随机变换:symmetry.py235
7.2.5 训练实例236
7.3 对弈实战237
第8章 生成式对抗网络:GAN240
8.1 GAN的起源故事240
8.2 GAN的基本原理242
8.2.1 生成模型:从图像到编码,从编码到图像242
8.2.2 GAN的基本效果243
8.2.3 GAN的训练方法246
8.3 实例:DCGAN及训练过程248
8.3.1 网络架构248
8.3.2 训练代码249
8.4 GAN的更多架构和应用255
8.4.1 图像转移:CycleGAN系列255
8.4.2 生成高分辨率图像:nVidia的改进260
8.4.3 自动提取信息:InfoGAN261
8.4.4 更多应用264
8.5 更多的生成模型方法266
8.5.1 自编码器:从AE到VAE266
8.5.2 逐点生成:PixelRNN和PixelCNN系列267
8.5.3 将VAE和GAN结合:CVAE-GAN268
第9章 通向智能之秘272
9.1 计算机视觉的难度272
9.2 对抗样本,与深度网络的特点276
9.3 人工智能的挑战与机遇278
9.3.1 棋类游戏中的电脑陷阱278
9.3.2 偏见、过滤气泡与道德困境280
9.3.3 语言的迷局283
9.3.4 强化学习、机器人与目标函数286
9.3.5 创造力、审美与意识之谜290
9.3.6 预测学习:机器学习的前沿293
9.4 深度学习的理论发展295
9.4.1 超越反向传播:预测梯度与生物模型295
9.4.2 超越神经网络:Capsule与gcForest297
9.4.3 泛化问题300
9.5 深度学习与人工智能的展望304
9.5.1 工程层面304
9.5.2 理论层面304
9.5.3 应用层面305
跋 人工智能与我们的未来306
附录 深度学习与AI的网络资源310

教学资源推荐
作者: (美)罗伯特 J.格雷戈里(Robert J.Gregory)伊利诺伊州威顿学院 著
作者: (美) 巴里 H. 坎特维茨(Barry H. Kantowitz) 密歇根大学 亨利 L. 罗迪格(Henry L. Roediger, III)圣路易斯华盛顿大学 戴维 G. 埃尔姆斯(David G. Elmes)华盛顿与李大学 著 郭秀艳 导读
作者: (美)保罗 E. 斯佩克特(Paul E. Spector)
作者: (美)彼得罗•韦罗内西( Pietro Veronesi ) 著(芝加哥大学)
参考读物推荐
作者: (美)戴维?斯隆?威尔逊(David Sloan Wilson) 著
作者: 曹源 张翀 丁兆云 马行空 等著
作者: [美] 史蒂芬·平克(Steven Pinker)著
作者: 吴维库 著