具体描述
深度卷积网络(DCNN)是目前十分流行的深度神经网络架构,它的构造清晰直观,效果引人入胜,在图像、视频、语音、语言领域都有广泛应用。
本书以AI领域新的技术研究和和实践为基础,从技术理论、工作原理、实践方法、架构技巧、训练方法、技术前瞻等6个维度对深度卷积网络进行了系统、深入、详细地讲解。
以实战为导向,深入分析AlphaGo和GAN的实现过程、技术原理、训练方法和应用细节,为读者依次揭开神经网络、卷积网络和深度卷积网络的神秘面纱,让读者了解AI的“思考过程”,以及与人类思维的相同和不同之处。
本书在逻辑上分为3个部分:
第一部分 综述篇(第1、6、9章)
这3章不需要读者具备编程和数学基础,对深度学习和神经网络的基础知识、AlphaGo的架构设计和工作原理,以及深度学习和人工智能未来的技术发展趋势进行了宏观介绍。
第二部分 深度卷积网络篇(第2、3、4、5章)
结合作者的实际工作经验和案例代码,对深度卷积网络的技术理论、工作原理、实践方法、架构技巧和训练方法做了系统而深入的讲解。
第三部分 实战篇(第7、8章)
详细分析了AlphaGo和GAN的技术原理、训练方法和应用细节,包括详细的代码分析和大量GAN的精彩实例。
本书的案例代码在GitHub上提供下载,同时读者可在GitHub与作者交流本书相关的问题。
作者简介
彭博
人工智能、量化交易、区块链领域的技术专家,有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
· · · · · · (收起)
读后感
整体来看,作者对于卷积有比较独到的理解,讲的通俗易懂,不想机翻的大路货。但是卷积核由二维向三维的推进做的不太好。这一部分我是看吴恩达的dl教程才给弄明白。代码用了mxnet而不是tf框架也是一个不大不小的槽点。同时作者书里面有太多关于策略网络和围棋方面的内容。感觉并...
先说优点吧 跟市面上的绝大多数深度学习的书不同,本书原创程度很高,大量作者自己的理解以及经验,非常难得。内容很新,包含了近一年的最新进展。大量的引用给出了资料链接,值得好好研究。 缺点: 定价略高(照作者的说法,实全彩印刷导致) 里面不少alhpaGo的内容,读者缺乏...
整体来看,作者对于卷积有比较独到的理解,讲的通俗易懂,不想机翻的大路货。但是卷积核由二维向三维的推进做的不太好。这一部分我是看吴恩达的dl教程才给弄明白。代码用了mxnet而不是tf框架也是一个不大不小的槽点。同时作者书里面有太多关于策略网络和围棋方面的内容。感觉并...
先说优点吧 跟市面上的绝大多数深度学习的书不同,本书原创程度很高,大量作者自己的理解以及经验,非常难得。内容很新,包含了近一年的最新进展。大量的引用给出了资料链接,值得好好研究。 缺点: 定价略高(照作者的说法,实全彩印刷导致) 里面不少alhpaGo的内容,读者缺乏...
整体来看,作者对于卷积有比较独到的理解,讲的通俗易懂,不想机翻的大路货。但是卷积核由二维向三维的推进做的不太好。这一部分我是看吴恩达的dl教程才给弄明白。代码用了mxnet而不是tf框架也是一个不大不小的槽点。同时作者书里面有太多关于策略网络和围棋方面的内容。感觉并...
用户评价
这本书的封面设计简洁大气,那种深邃的蓝色调配上银色的字体,让人一看就知道这不是一本泛泛而谈的入门读物,而是直指核心的硬核技术书籍。我是在一个偶然的机会了解到这本书的,当时正在为我手头的一个图像识别项目寻找更深入的理论支撑。市面上关于深度学习的书籍汗牛充栋,但真正能将那些晦涩的数学公式和复杂的网络结构讲得既严谨又易于理解的,实在凤毛麟角。这本书的作者显然在理论功底和工程实践上都有着深厚的积累。我翻阅了其中的几个章节,印象最深的是关于卷积核如何从边缘检测逐步发展到高级特征提取的推导过程。作者没有简单地罗列公式,而是通过精妙的类比和逐步递进的逻辑,将一个原本抽象的概念具象化了。特别是对于反向传播中梯度消失和爆炸问题的处理,书中给出的几种新型优化器的对比分析,比我之前阅读的任何资料都要清晰透彻。这本书不仅仅是知识的堆砌,更像是一份经验的传承,它教会你“为什么”要这样做,而不仅仅是“如何”去做。对于那些渴望从“会用”的调包侠进阶到“能造”的算法工程师来说,这本书无疑是一份极具价值的参考手册。
阅读这本书的过程,更像是一场与时间赛跑的智力挑战。我必须承认,这本书的阅读难度是偏高的,它对读者的预备知识有一定的要求,你最好对线性代数和微积分有基本的了解,否则初期的章节可能会让你感到吃力。但我正是喜欢这种“硬碰硬”的感觉。它不会刻意去迎合那些只想快速看到成果的读者,而是坚持将理论的根基打牢。我特别欣赏作者在介绍不同网络架构变体时所展现出的批判性思维。比如,在讲解ResNet的残差连接时,作者不仅阐述了它如何解决深层网络训练问题,还深入分析了为什么这种“捷径”在信息流传递上会比直接堆叠更多的非线性层更为高效,这涉及到信息瓶颈的理论。书中的图示设计也非常精妙,它们不是那种随处可见的、千篇一律的示意图,而是经过精心构建,往往一个复杂的结构只需要一个图示就能瞬间点亮你的理解。我发现自己经常需要放慢速度,甚至需要对照着网上的原始论文去交叉验证某些证明细节,正是这种深度的挖掘,才让阅读体验变得如此充实和有成就感。
我购买这本书主要是被其宣传中强调的“从基础公理到前沿应用的完整闭环”所吸引。老实说,很多号称涵盖“原理与实践”的书籍,要么原理讲得像天书,要么实践部分停留在简单的代码示例。但这本书成功地找到了一个绝佳的平衡点。在理论推导部分,它极其注重数学推导的完整性,没有那种为了简化篇幅而跳跃的步骤,这一点对于追求知识的完整性的读者来说至关重要。例如,在阐述注意力机制(Attention Mechanism)的早期形态时,作者不仅解释了它如何解决序列信息编码的瓶颈,还追溯了其在Transformer架构中实现自注意力(Self-Attention)的数学演进路径,清晰地展示了从RNN/LSTM到纯Attention模型的范式转变是如何发生的。更难能可贵的是,书后附带的实践案例,并非是简单的线性回归或MNIST分类,而是涉及了复杂场景下的目标检测和语义分割框架的搭建,代码规范、逻辑清晰,真正做到了学完理论即可上手实践的无缝衔接。
对于我这样一个在计算视觉领域摸爬滚打多年的从业者而言,这本书更像是一本“校准器”。它让我得以重新审视那些我习以为常但从未深究过的底层假设。例如,关于初始化策略(Initialization Strategies)的章节,我原以为这只是一个无关紧要的工程细节,但书中通过对不同激活函数下权重方差的数学分析,清晰地揭示了为什么Xavier和He初始化能有效避免早期训练阶段的饱和问题。这种深入到“为什么”的探究,极大地丰富了我对模型鲁棒性的理解。这本书的价值不在于教你学会最新的模型架构,而在于赋予你一种“解构”现有架构,并“创造”新颖结构的能力。它的语言是高度凝练的,需要反复阅读才能体会其中深意,但一旦你跨过了最初的门槛,它提供的视野将是开阔且深远的。它更像是一本“内功心法”,而非“招式秘籍”,对于想在深度学习领域建立深厚内功的人来说,这是近些年来难得一见的佳作。
这本书的行文风格,透露着一种老派科学家的严谨与匠心。它没有时下流行技术书籍中那种浮躁的“快速致富”的口吻,而是带着一种对技术本身纯粹的热爱和敬畏。当你读到关于数据增强策略的章节时,你不会只看到一堆增广方法的列表,而是能感受到作者对“数据几何不变性”这一核心理念的深刻理解。书中对不同数据集特性与对应增强方法的匹配性进行了深入探讨,这种从现象到本质的分析,极大地提升了我对数据预处理环节重要性的认识。此外,作者在讨论模型部署和效率优化时,展现出的工程视角也令人印象深刻。他清晰地区分了研究阶段的“玩具模型”与工业界对延迟和内存占用的苛求之间的鸿沟,并提供了几条务实的跨越策略,比如模型剪枝和量化训练的数学基础。这种全景式的覆盖,使得这本书的适用范围远超学术研究,对于在资源受限环境中进行算法落地的工程师群体,也具备极强的参考价值。
3.5 看在彩色印刷的份上加半颗星吧
神经网络的本质是什么呢?反馈?
翻过
内容和视野广阔,文献注解详尽,作为入门了解的书籍很棒。
讲道理,这本书还是很不错的。通俗易懂的介绍了卷积网络,并给出了详细的证明。写作比较严谨,还给出了详细的参考文献供读者进一步的探究。作为一本入门书完全是合格的。只可惜MXNet目前不算主流,另外因为是彩印价格实在太感人了