《神经网络设计与实现》本书是一本神经网络实践进阶指南,适合对AI和深度学习感兴趣并且想进一步提高技能的读者阅读。
本书从机器学习基础、深度学习应用和高级机器学习这三个方面入手,结合算法理论、代码实现和应用场景,介绍了机器学习的新动向和新技术。本书分为三部分:第1部分网络神经入门,主要介绍了人工智能历史、机器学习概述和神经网络基础;第二部分,深度学习应用,主要是基于卷积神经网络图像处理、文本挖掘、循环神经网络、利用迁移学习重用神经网络;第三部分,高级应用领域,主要介绍对生成对抗网络、自动编码器、损失函数、深度信度网络、强化学习基本定义等。
目录
- 译者序
- 前言
- 第一部分神经网络入门
- 第1章有监督学习入门2
- 1.1人工智能的历史2
- 1.2机器学习概述4
- 1.2.1有监督学习4
- 1.2.2无监督学习4
- 1.2.3半监督学习5
- 1.2.4强化学习5
- 1.3配置环境6
- 1.3.1了解虚拟环境7
- 1.3.2Anaconda8
- 1.3.3Docker9
- 1.4Python有监督学习实践9
- 1.5特征工程11
- 1.6有监督学习算法14
- 1.6.1指标15
- 1.6.2模型评估17
- 1.7总结19
- 第2章神经网络基础20
- 2.1感知器20
- 2.2Keras27
- 2.3前馈神经网络29
- 2.3.1反向传播介绍31
- 2.3.2激活函数33
- 2.3.3Keras实现36
- 2.4从头开始使用Python编写FFNN40
- 2.4.1FFNN的Keras实现43
- 2.4.2TensorBoard45
- 2.4.3XOR问题中的TensorBoard45
- 2.5总结48
- 第二部分深度学习应用
- 第3章基于卷积神经网络的图像处理50
- 3.1理解卷积神经网络50
- 3.2卷积层52
- 3.2.1池化层55
- 3.2.2丢弃层57
- 3.2.3归一化层57
- 3.2.4输出层57
- 3.3Keras中的卷积神经网络58
- 3.3.1加载数据58
- 3.3.2创建模型60
- 3.3.3网络配置60
- 3.4Keras表情识别63
- 3.5优化网络68
- 3.6总结70
- 第4章利用文本嵌入71
- 4.1面向NLP的机器学习71
- 4.2理解词嵌入73
- 4.2.1词嵌入的应用73
- 4.2.2Word2vec74
- 4.3GloVe80
- 4.3.1全局矩阵分解80
- 4.3.2使用GloVe模型82
- 4.3.3基于GloVe的文本分类85
- 4.4总结87
- 第5章循环神经网络88
- 5.1理解循环神经网络88
- 5.1.1循环神经网络原理90
- 5.1.2循环神经网络类型91
- 5.1.3损失函数94
- 5.2长短期记忆95
- 5.2.1LSTM架构95
- 5.2.2Keras长短期记忆实现98
- 5.3PyTorch基础知识102
- 5.4总结106
- 第6章利用迁移学习重用神经网络107
- 6.1迁移学习理论107
- 6.1.1多任务学习介绍108
- 6.1.2重用其他网络作为特征提取器108
- 6.2实现多任务学习108
- 6.3特征提取110
- 6.4在PyTorch中实现迁移学习110
- 6.5总结116
- 第三部分高级应用领域
- 第7章使用生成算法118
- 7.1判别算法与生成算法118
- 7.2理解GAN120
- 7.2.1训练GAN121
- 7.2.2GAN面临的挑战123
- 7.3GAN的发展变化和时间线124
- 7.3.1条件GAN125
- 7.3.2DCGAN125
- 7.3.3Pix2Pix GAN131
- 7.3.4StackGAN132
- 7.3.5CycleGAN133
- 7.3.6ProGAN135
- 7.3.7StarGAN136
- 7.3.8BigGAN138
- 7.3.9StyleGAN139
- 7.3.10Deepfake142
- 7.3.11RadialGAN143
- 7.4总结144
- 7.5延伸阅读144
- 第8章实现自编码器146
- 8.1自编码器概述146
- 8.2自编码器的应用147
- 8.3瓶颈和损失函数147
- 8.4自编码器的标准类型148
- 8.4.1欠完备自编码器148
- 8.4.2多层自编码器151
- 8.4.3卷积自编码器152
- 8.4.4稀疏自编码器155
- 8.4.5去噪自编码器156
- 8.4.6收缩自编码器157
- 8.5变分自编码器157
- 8.6训练变分自编码器159
- 8.7总结164
- 8.8延伸阅读164
- 第9章DBN165
- 9.1DBN概述165
- 9.1.1贝叶斯置信网络166
- 9.1.2受限玻尔兹曼机167
- 9.2DBN架构176
- 9.3训练DBN177
- 9.4微调179
- 9.5数据集和库179
- 9.5.1示例—有监督的DBN分类180
- 9.5.2示例—有监督的DBN回归181
- 9.5.3示例—无监督的DBN分类182
- 9.6总结183
- 9.7延伸阅读183
- 第10章强化学习184
- 10.1基本定义184
- 10.2Q-learning介绍187
- 10.2.1学习目标187
- 10.2.2策略优化188
- 10.2.3Q-learning方法188
- 10.3使用OpenAI Gym188
- 10.4冰湖问题191
- 10.5总结199
- 第11章下一步是什么200
- 11.1本书总结200
- 11.2机器学习的未来201
- 11.3通用人工智能202
- 11.3.1AI伦理问题203
- 11.3.2可解释性203
- 11.3.3自动化204
- 11.3.4AI安全性204
- 11.3.5问责制205
- 11.4结语205