图书目录

目    录

第Ⅰ部分  深度学习基础知识

第1章  现代机器学习的设计 3

1.1  关注适应性 4

1.1.1  计算机视觉引领潮流 4

1.1.2  超越计算机视觉:NLP、NLU和结构化数据 5

1.2  机器学习方法的演变 6

1.2.1  经典人工智能与狭义人工智能 6

1.2.2  计算机学习的未来 8

1.3  设计模式的好处 13

1.4  本章小结 14

第2章  深度神经网络 15

2.1  神经网络基础 15

2.1.1  输入层 15

2.1.2  深度神经网络简介 17

2.1.3  前馈网络 18

2.1.4  序贯式API方法 18

2.1.5  函数式API方法 19

2.1.6  输入形状与输入层 19

2.1.7  致密层 20

2.1.8  激活函数 21

2.1.9  速记语法 24

2.1.10  使用优化器提高准确度 25

2.2  DNN二元分类器 26

2.3  DNN多类分类器 28

2.4  DNN多标签多类分类器 29

2.5  简单图像分类器 31

2.5.1  展平 32

2.5.2  过拟合和丢弃 33

2.6  本章小结 35

第3章  卷积神经网络和残差神经网络 37

3.1  卷积神经网络 37

3.1.1  为什么在DNN的基础上对图像模型使用CNN 38

3.1.2  下采样(调整大小) 38

3.1.3  特征检测 39

3.1.4  池化 41

3.1.5  展平 42

3.2  CNN的ConvNet设计 43

3.3  VGG网络 46

3.4  ResNet网络 49

3.4.1  架构 49

3.4.2  批标准化 54

3.4.3  ResNet50 55

3.5  本章小结 59

第4章  训练基础知识 61

4.1  前馈和反向传播 61

4.1.1  馈送 62

4.1.2  反向传播 62

4.2  拆分数据集 64

4.2.1  训练集和测试集 64

4.2.2  独热编码 65

4.3  数据归一化 67

4.3.1  归一化 67

4.3.2  标准化 69

4.4  验证和过拟合 69

4.4.1  验证 69

4.4.2  损失监控 73

4.4.3  深入层中 73

4.5  收敛 74

4.6  设置检查点和早停法 77

4.6.1  设置检查点 77

4.6.2  早停法 78

4.7  超参数 79

4.7.1  时期数 80

4.7.2  步数 80

4.7.3  批大小 81

4.7.4  学习率 82

4.8  不变性 84

4.8.1  平移不变性 85

4.8.2  尺度不变性 91

4.8.3  TF.Keras的ImageDataGenerator类 93

4.9  初始(磁盘)数据集 94

4.9.1  目录结构 95

4.9.2  CSV文件 97

4.9.3  JSON文件 98

4.9.4  读取图像 98

4.9.5  调整大小 101

4.10  模型保存/恢复 102

4.10.1  保存 103

4.10.2  恢复 103

4.11  本章小结 104

第Ⅱ部分 基本设计模式

第5章  过程设计模式 107

5.1  基本的神经网络架构 108

5.2  stem组件 110

5.2.1  VGG 110

5.2.2  ResNet 111

5.2.3  ResNeXt 115

5.2.4  Xception 116

5.3  预stem 117

5.4  学习器组件 118

5.4.1  ResNet 119

5.4.2  DenseNet 121

5.5  任务组件 123

5.5.1  ResNet 124

5.5.2  多层输出 125

5.5.3  SqueezeNet 127

5.6  超越计算机视觉:自然语言处理 128

5.6.1  自然语言理解 128

5.6.2  Transformer架构 129

5.7  本章小结 130

第6章  宽卷积神经网络 131

6.1  Inception v1 132

6.1.1  原生inception模块 132

6.1.2  Inception v1模块 134

6.1.3  stem 136

6.1.4  学习器 137

6.1.5  辅助分类器 137

6.1.6  分类器 139

6.2  Inception v2:卷积分解 140

6.3  Inception v3:重新设计架构 142

6.3.1  Inception组和块 143

6.3.2  普通卷积 146

6.3.3  空间可分离卷积 147

6.3.4  stem重设计和实现 148

6.3.5  辅助分类器 149

6.4  ResNeXt:宽残差神经网络 150

6.4.1  ResNeXt块 150

6.4.2  ResNeXt架构 152

6.5  宽残差网络 153

6.5.1  WRN-50-2架构 154

6.5.2  宽残差块 154

6.6  超越计算机视觉:结构化数据 155

6.7  本章小结 157

第7章  可替代连接模式 159

7.1  DenseNet:致密连接的卷积神经网络 160

7.1.1  致密组 160

7.1.2  致密块 162

7.1.3  DenseNet宏观架构 164

7.1.4  致密过渡块 165

7.2  Xception 166

7.2.1  Xception架构 167

7.2.2  Xception的入口流 169

7.2.3  Xception的中间流 171

7.2.4  Xception的出口流 173

7.2.5  深度可分离卷积 175

7.2.6  逐深度卷积 175

7.2.7  逐点卷积 175

7.3  SE-Net 176

7.3.1  SE-Net架构 177

7.3.2  SE-Net的组和块 177

7.3.3  SE链接 179

7.4  本章小结 180

第8章  移动卷积神经网络 181

8.1  MobileNet v1 182

8.1.1  架构 182

8.1.2  宽度乘数 183

8.1.3  分辨率乘数 184

8.1.4  stem 185

8.1.5  学习器 186

8.1.6  分类器 188

8.2  MobileNet v2 189

8.2.1  架构 189

8.2.2  stem 190

8.2.3  学习器 191

8.2.4  分类器 194

8.3  SqueezeNet 195

8.3.1  架构 196

8.3.2  stem 197

8.3.3  学习器 197

8.3.4  分类器 200

8.3.5  旁路连接 202

8.4  ShuffleNet v1 205

8.4.1  架构 205

8.4.2  stem 206

8.4.3  学习器 206

8.5  部署 213

8.5.1  量化 213

8.5.2  TF Lite转换和预测 214

8.6  本章小结 216

第9章  自动编码器 217

9.1  深度神经网络自动编码器 217

9.1.1  自动编码器架构 218

9.1.2  编码器 219

9.1.3  解码器 219

9.1.4  训练 220

9.2  卷积自动编码器 221

9.2.1  架构 222

9.2.2  编码器 222

9.2.3  解码器 223

9.3  稀疏自动编码器 225

9.4  去噪自动编码器 226

9.5  超分辨率 226

9.5.1  预上采样SR 227

9.5.2  后上采样SR 229

9.6  前置任务 232

9.7  超越计算机视觉:Seq2Seq模型 234

9.8  本章小结 235

第Ⅲ部分 使用管线

第10章  超参数调优 239

10.1  权重初始化 240

10.1.1  权重分布 241

10.1.2  彩票假设 241

10.1.3  预热(数值稳定性) 243

10.2  超参数搜索基础知识 246

10.2.1  超参数搜索的手动方法 246

10.2.2  网格搜索 248

10.2.3  随机搜索 248

10.2.4  KerasTuner 250

10.3  学习率调度器 252

10.3.1  Keras衰减参数 253

10.3.2  Keras学习率调度器 253

10.3.3  Ramp 254

10.3.4  恒定步长 255

10.3.5  余弦退火 256

10.4  正则化 258

10.4.1  权重正则化 258

10.4.2  标签平滑 259

10.5  超越计算机视觉 260

10.6  本章小结 261

第11章  迁移学习 263

11.1  TF.Keras预构建模型 264

11.1.1  基础模型 265

11.1.2  用于预测的预训练ImageNet模型 266

11.1.3  新分类器 267

11.2  TF Hub预构建模型 271

11.2.1  使用TF Hub预训练模型 271

11.2.2  新分类器 273

11.3  域间的迁移学习 274

11.3.1  类似的任务 274

11.3.2  不同的任务 275

11.3.3  特定域权重 278

11.3.4  域迁移权重初始化 279

11.3.5  负迁移 281

11.4  超越计算机视觉 281

11.5  本章小结 281

第12章  数据分布 283

12.1  分布类型 284

12.1.1  总体分布 284

12.1.2  抽样分布 285

12.1.3  子总体分布 286

12.2  分布外样本 286

12.2.1  MNIST精选数据集 287

12.2.2  建立环境 287

12.2.3  挑战分布外数据 288

12.2.4  作为DNN进行训练 289

12.2.5  作为CNN进行训练 294

12.2.6  图像增强 297

12.2.7  最终测试 299

12.3  本章小结 299

第13章  数据管线 301

13.1  数据格式和存储 303

13.1.1  压缩图像格式和原始图像格式 303

13.1.2  HDF5格式 306

13.1.3  DICOM格式 310

13.1.4  TFRecord格式 311

13.2  数据馈送 316

13.2.1  NumPy 316

13.2.2  TFRecord 318

13.3  数据预处理 320

13.3.1  使用预stem进行预处理 320

13.3.2  使用TF Extended进行预处理 327

13.4  数据增强 332

13.4.1  不变性 332

13.4.2  使用tf.data进行增强 334

13.4.3  预stem 335

13.5  本章小结 335

第14章  训练和部署管线 337

14.1  模型馈送 338

14.1.1  使用tf.data.Dataset进行模型馈送 342

14.1.2  使用tf.Strategy进行分布式馈送 345

14.1.3  使用TFX进行模型馈送 346

14.2  训练调度器 352

14.2.1  管线版本控制 354

14.2.2  元数据 355

14.2.3  历史记录 357

14.3  模型评估 358

14.3.1  候选模型与幸运模型 358

14.3.2  TFX评估 361

14.4  预测服务 364

14.4.1  按需(实时)服务 364

14.4.2  批预测服务 367

14.4.3  用于部署的TFX管线组件 368

14.4.4  A/B测试 369

14.4.5  负载平衡 370

14.4.6  持续评估 372

14.5  生产管线设计的演变 373

14.5.1  机器学习作为管线 373

14.5.2  机器学习作为CI/CD生产流程 374

14.5.3  生产中的模型合并 375

14.6  本章小结 376