新書推薦:
《
中国王朝内争实录:宠位厮杀
》
售價:NT$
281.0
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:NT$
203.0
《
未来特工局
》
售價:NT$
254.0
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:NT$
250.0
《
英国简史(刘金源教授作品)
》
售價:NT$
449.0
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
|
內容簡介: |
本书介绍卷积神经网络的核心——错综复杂的细节和算法的微妙之处。主要包括卷积神经网络的高级主题和使用Keras和TensorFlow的对象检测。
|
目錄:
|
前言
致谢
第1章 简介和设置开发环境1
1.1 GitHub存储库和配套网站2
1.2 必备的数学知识3
1.3 Python开发环境3
1.3.1 Google Colab4
1.3.2 Anaconda6
1.3.3 Docker映像14
1.3.4 你选择哪个选项18
第2章 TensorFlow:高级主题20
2.1 Eager Execution简介21
2.1.1 启用Eager Execution21
2.1.2 Eager Execution多项式拟合22
2.1.3 应用Eager Execution 的MNIST数据分类26
2.2 TensorFlow和Numpy兼容性30
2.3 硬件加速30
2.3.1 检测GPU的可用性30
2.3.2 设备名称31
2.3.3 显式设备使用32
2.3.4 GPU加速器演示:矩阵乘法33
2.3.5 MNIST示例上的GPU加速效果34
2.4 仅特定层训练36
2.4.1 仅特定层训练示例37
2.4.2 层移除40
2.5 Keras回调函数42
2.5.1 自定义回调类42
2.5.2 自定义回调类示例44
2.6 模型存储与加载47
2.6.1 手动保存权重52
2.6.2 保存整个模型53
2.7 数据集抽象类53
2.7.1 遍历数据集55
2.7.2 简单批处理56
2.7.3 使用MNIST数据集进行简单批处理57
2.7.4 在Eager Execution模式下使用tf.data.Dataset60
2.8 本章小结60
第3章 卷积神经网络的基础61
3.1 核和过滤器61
3.2 卷积62
3.3 卷积示例71
3.4 池化77
3.5 CNN的构建基块81
3.5.1 卷积层82
3.5.2 池化层83
3.5.3 叠加层84
3.6 CNN的权重数量84
3.6.1 卷积层84
3.6.2 池化层85
3.6.3 稠密层85
3.7 CNN的示例:MNIST数据集85
3.8 CNN学习的可视化89
3.8.1 keras.backend.function简介89
3.8.2 核的作用效果91
3.8.3 最大池化的作用效果93
第4章 高级CNN与迁移学习95
4.1 多通道卷积95
4.2 初始网络的历史和基础98
4.2.1 初始模块:初始版本99
4.2.2 初始模块中的参数数量100
4.2.3 具有降维功能的初始模块100
4.3 多种成本函数:GoogLeNet102
4.4 Keras中的初始模块示例103
4.5 偏离:Keras中的自定义损失106
4.6 如何使用预先训练过的网络108
4.7 迁移学习简介111
4.8 猫狗问题114
4.8.1 迁移学习的经典方法114
4.8.2 迁移学习实验120
第5章 成本函数与风格转换123
5.1 神经网络模型的构成123
5.1.1 训练被视为优化问题124
5.1.2 具体示例:线性回归125
5.2 成本函数126
5.2.1 数学符号126
5.2.2 典型成本函数127
5.3 神经风格转换134
5.3.1 神经风格转换背后的数学原理135
5.3.2 Keras中的图像风格转换示例139
5.3.3 使用神经风格转换生成剪影145
5.3.4 masking146
第6章 对象分类简介148
6.1 什么是对象定位148
6.1.1 重要的可用数据集150
6.1.2 交并比152
6.2 一种简单的对象定位方法:滑动窗口法153
6.3 分类和定位159
6.4 基于区域的卷积神经网络161
6.5 快速R-CNN164
6.6 更快的R-CNN165
第7章 对象定位:基于Python的实现167
7.1 YOLO方法167
7.1.1 YOLO工作机制168
7.1.2 YOLOv2170
7.1.3 YOLOv3171
7.1.4 非极大值抑制171
7.1.5 损失函数172
7.2 YOLO在Python和OpenCV中的实现173
7.2.1 YOLO的Darknet实现173
7.2.2 应用Darknet测试对象检测175
7.3 为特定图像训练YOLO模型180
7.4 本章小结181
第8章 组织学组织分类183
8.1 数据分析和准备184
8.2 建立模型192
8.3 数据增强201
8.3.1 水平和垂直移动202
8.3.2 垂直翻转图像203
8.3.3 随机旋转图像204
8.3.4 图像缩放205
8.3.5 综合操作206
8.4 带有数据增强的VGG16206
8.4.1 fit函数207
8.4.2 fit_generator函数207
8.4.3 train_on_batch函数208
8.4.4 训练网络208
8.5 现在好好享受209
|
內容試閱:
|
这是我写的第二本书,它涵盖了深度学习的高级主题。本书不是面向初学者,因此需要具备一些基础知识才能理解。如果你是一位初学者,我建议你看看我出版的第一本书《深度学习:基于案例理解深度神经网络》。要理解本书,你应该有一些中级到高级的Python深度学习经验(以及一般的神经网络经验)。本书假设你知道正则化、超参数调整、小批量梯度下降,以及哪些优化器更有效(你如何理解Adam?),等等。书中还会大量使用Keras(来自TensorFlow),所以我建议你学习一些Keras的知识,这将有助于你学习书中的例子。
我试着用一种实用的方法来处理一些高级的主题,比如迁移学习或者多损失函数网络。这意味着我将解释这些概念,然后展示如何在Keras中实现这些功能。我花了很多时间准备代码,你可以在GitHub存储库中找到它,所以你在阅读本书的时候可以获取并使用这些代码。我们所要处理的高级主题的代码太长,无法对其进行完整的讨论,所以我只剖析最重要的部分。在GitHub中,你可以获得所有的代码。
虽然本书涉及多个研究领域,但并不是为经验丰富的研究人员而写。它是为那些想开始做研究的实践者而写,旨在弥合初学者和研究者之间的鸿沟。关于很高级的主题,比如对象检测,我并没有解释太多的技术细节,否则本书将变成一本研究论文集。
请记住,我在书中描述的很多东西,比如YOLO对象检测算法,都只有几年的历史。对于高级主题,理解算法的唯一方法是阅读原始论文。你应该习惯在没有书的情况下那样做。在这里,我尽力给你工具,阐述你阅读研究论文所需要的语言。然后就靠你自己了。
如果你想进一步研究深度学习,你应该习惯阅读研究论文。它们阅读起来不容易,需要花费时间。但本书可以给你提供很多工具和提示信息,帮你开启阅读。阅读并理解本书的所有内容,将会是你的研究生涯的开始。自此,你将学会阅读研究论文。如果可能的话,试着重复论文作者所做的事情(大多数情况下,考虑到深度学习所需的基础环境,你并不能重复别人的工作,但是你总可以尝试)。如果你正在寻找在项目中使用特定算法的方法,那么了解算法和阅读研究论文将为你提供足够的知识来进行项目评估,你还可以了解别人的研究现状。
我希望你喜欢本书,希望你从中学到一些东西,希望它能帮助你,但我更希望你阅读愉快,这比什么都重要!
2019年7月3日于苏黎世
|
|