详解深度学习 基于TensorFlow和Keras学习RNN
第 1章 数学准备 001
1.1 偏微分 001
1.1.1 导函数和偏导函数 001
1.1.2 微分系数与偏微分系数 003
1.1.3 偏微分的基本公式 006
1.1.4 复合函数的偏微分 007
1.1.5 拓展全微分 009
1.2 线性代数 011
1.2.1 向量 011
1.2.1.1 向量的基础知识 011
查看完整
1.1 偏微分 001
1.1.1 导函数和偏导函数 001
1.1.2 微分系数与偏微分系数 003
1.1.3 偏微分的基本公式 006
1.1.4 复合函数的偏微分 007
1.1.5 拓展全微分 009
1.2 线性代数 011
1.2.1 向量 011
1.2.1.1 向量的基础知识 011
查看完整
巢笼悠辅(作者)
日本新闻应用Gunosy和众筹网站READYFOR的创始人之一。曾就职于电通和谷歌纽约分部。辞职后参与了株式会社MICIN的创立工作,致力于人工智能技术在医疗领域的应用。东京大学客座讲师。著作有《深度学习:Java语言实现》。
郑明智(译者)
智慧医疗工程师。主要研究方向为医疗领域的自然语言处理及其应用,密切关注大数据、机器学习、深度学习等领域。译作有《松本行弘:编程语言的设计与实现》《深度学习基础与实践》。
日本新闻应用Gunosy和众筹网站READYFOR的创始人之一。曾就职于电通和谷歌纽约分部。辞职后参与了株式会社MICIN的创立工作,致力于人工智能技术在医疗领域的应用。东京大学客座讲师。著作有《深度学习:Java语言实现》。
郑明智(译者)
智慧医疗工程师。主要研究方向为医疗领域的自然语言处理及其应用,密切关注大数据、机器学习、深度学习等领域。译作有《松本行弘:编程语言的设计与实现》《深度学习基础与实践》。
本书着眼于处理时间序列数据的深度学习算法,通过基于Python 语言的库TensorFlow 和Keras来学习神经网络、深度学习的理论和实现。全书共六章,前两章讲解了学习神经网络所需的数学知识和Python 基础知识;中间两章讲解了神经网络的基本算法以及深度学习的基础知识和应用;最后两章详细介绍了专门用于处理时间序列数据的循环神经网络(RNN)。
第 1章 数学准备 001
1.1 偏微分 001
1.1.1 导函数和偏导函数 001
1.1.2 微分系数与偏微分系数 003
1.1.3 偏微分的基本公式 006
1.1.4 复合函数的偏微分 007
1.1.5 拓展全微分 009
1.2 线性代数 011
1.2.1 向量 011
1.2.1.1 向量的基础知识 011
1.2.1.2 向量的和与标量倍数 011
1.2.1.3 向量的内积 012
1.2.2 矩阵 013
1.2.2.1 矩阵的基础知识 013
1.2.2.2 矩阵的和与标量倍数 014
1.2.2.3 矩阵的乘积 014
1.2.2.4 正则矩阵与逆矩阵 016
1.2.2.5 转置矩阵 017
1.3 小结 018
第 2章 Python准备 019
2.1 Python 2和Python 3 020
2.2 Anaconda发行版 021
2.3 Python的基础知识 025
2.3.1 Python程序的执行 025
2.3.2 数据类型 026
2.3.2.1 类型是什么 026
2.3.2.2 字符串类型 027
2.3.2.3 数值类型 028
2.3.2.4 布尔类型 030
2.3.3 变量 031
2.3.3.1 变量是什么 031
2.3.3.2 变量与类型 032
2.3.4 数据结构 033
2.3.4.1 列表 033
2.3.4.2 字典 034
2.3.5 运算 035
2.3.5.1 运算符与操作数 035
2.3.5.2 算术运算的运算符 036
2.3.5.3 赋值运算符 036
2.3.6 基本结构 038
2.3.6.1 if语句 038
2.3.6.2 while语句 039
2.3.6.3 for语句 041
2.3.7 函数 043
2.3.8 类 045
2.3.9 库 048
2.4 NumPy 049
2.4.1 NumPy数组 049
2.4.2 使用NumPy进行向量和矩阵的计算 051
2.4.3 数组和多维数组的生成 053
2.4.4 切片 054
2.4.5 广播 056
2.5 面向深度学习的库 058
2.5.1 TensorFlow 058
2.5.2 Keras 059
2.5.3 参考Theano 060
2.6 小结 063
第3章 神经网络 065
3.1 什么是神经网络 065
3.1.1 脑和神经元 065
3.1.2 深度学习和神经网络 066
3.2 作为电路的神经网络 067
3.2.1 简单的模型化 067
3.2.2 逻辑电路 069
3.2.2.1 逻辑门 069
3.2.2.2 与门 069
3.2.2.3 或门 072
3.2.2.4 非门 074
3.3 简单感知机 075
3.3.1 模型化 075
3.3.2 实现 077
3.4 逻辑回归 081
3.4.1 阶跃函数与sigmoid函数 081
3.4.2 模型化 082
3.4.2.1 似然函数与交叉熵误差函数 082
3.4.2.2 梯度下降法 084
3.4.2.3 随机梯度下降法与小批量梯度下降法 085
3.4.3 实现 086
3.4.3.1 使用TensorFlow的实现 086
3.4.3.2 使用Keras的实现 092
3.4.4 拓展sigmoid函数与概率密度函数、累积分布函数 096
3.4.5 拓展梯度下降法和局部最优解 099
3.5 多分类逻辑回归 101
3.5.1 softmax函数 101
3.5.2 模型化 102
3.5.3 实现 106
3.5.3.1 使用TensorFlow的实现 106
3.5.3.2 使用Keras的实现 110
3.6 多层感知机 111
3.6.1 非线性分类 111
3.6.1.1 异或门 111
3.6.1.2 逻辑门的组合 113
3.6.2 模型化 115
3.6.3 实现 119
3.6.3.1 使用TensorFlow的实现 119
3.6.3.2 使用Keras的实现 122
3.7 模型的评估 123
3.7.1 从分类到预测 123
3.7.2 预测的评估 124
3.7.3 简单的实验 126
3.8 小结 131
第4章 深度神经网络 133
4.1 进入深度学习之前的准备 133
4.2 训练过程中的问题 138
4.2.1 梯度消失问题 138
4.2.2 过拟合问题 141
4.3 训练的高效化 142
4.3.1 激活函数 143
4.3.1.1 双曲正切函数 143
4.3.1.2 ReLU 145
4.3.1.3 Leaky ReLU 147
4.3.1.4 Parametric ReLU 149
4.3.2 Dropout 152
4.4 代码的设计 157
4.4.1 基本设计 157
4.4.1.1 使用TensorFlow的实现 157
4.4.1.2 使用Keras的实现 160
4.4.1.3 拓展对TensorFlow模型进行类封装 161
4.4.2 训练的可视化 166
4.4.2.1 使用TensorFlow的实现 167
4.4.2.2 使用Keras的实现 172
4.5 高级技术 176
4.5.1 数据的正则化与权重的初始化 176
4.5.2 学习率的设置 179
4.5.2.1 动量 179
4.5.2.2 Nesterov动量 180
4.5.2.3 Adagrad 181
4.5.2.4 Adadelta 182
4.5.2.5 RMSprop 184
4.5.2.6 Adam 185
4.5.3 早停法 187
4.5.4 Batch Normalization 190
4.6 小结 195
第5章 循环神经网络 197
5.1 基本概念 197
5.1.1 时间序列数据 197
5.1.2 过去的隐藏层 199
5.1.3 基于时间的反向传播算法 202
5.1.4 实现 204
5.1.4.1 准备时间序列数据 205
5.1.4.2 使用TensorFlow的实现 207
5.1.4.3 使用Keras的实现 214
5.2 LSTM 215
5.2.1 LSTM 块 215
5.2.2 CEC、输入门和输出门 217
5.2.2.1 稳态误差 217
5.2.2.2 输入权重冲突和输出权重冲突 219
5.2.3 遗忘门 220
5.2.4 窥视孔连接 222
5.2.5 模型化 223
5.2.6 实现 227
5.2.7 长期依赖信息的训练评估——Adding Problem 229
5.3 GRU 232
5.3.1 模型化 232
5.3.2 实现 233
5.4 小结 235
第6章 循环神经网络的应用 237
6.1 双向循环神经网络 237
6.1.1 未来的隐藏层 237
6.1.2 前向、后向传播 239
6.1.3 MNIST的预测 241
6.1.3.1 转换为时间序列数据 241
6.1.3.2 使用TensorFlow的实现 242
6.1.3.3 使用Keras的实现 245
6.2 循环神经网络编码器- 解码器 246
6.2.1 序列到序列模型 246
6.2.2 简单的问答系统 247
6.2.2.1 设置问题——加法的训练 247
6.2.2.2 数据的准备 248
6.2.2.3 使用TensorFlow的实现 251
6.2.2.4 使用Keras的实现 260
6.3 注意力模型 261
6.3.1 时间的权重 261
6.3.2 LSTM中的注意力机制 263
6.4 记忆网络 265
6.4.1 记忆外部化 265
6.4.2 应用于问答系统 266
6.4.2.1 bAbi任务 266
6.4.2.2 模型化 267
6.4.3 实现 269
6.4.3.1 数据的准备 269
6.4.3.2 使用TensorFlow的实现 272
6.5 小结 276
附录 279
A.1 模型的保存和读取 279
A.1.1 使用TensorFlow时的处理 279
A.1.2 使用Keras时的处理 284
A.2 TensorBoard 285
A.3 tf.contrib.learn 292
^ 收 起
1.1 偏微分 001
1.1.1 导函数和偏导函数 001
1.1.2 微分系数与偏微分系数 003
1.1.3 偏微分的基本公式 006
1.1.4 复合函数的偏微分 007
1.1.5 拓展全微分 009
1.2 线性代数 011
1.2.1 向量 011
1.2.1.1 向量的基础知识 011
1.2.1.2 向量的和与标量倍数 011
1.2.1.3 向量的内积 012
1.2.2 矩阵 013
1.2.2.1 矩阵的基础知识 013
1.2.2.2 矩阵的和与标量倍数 014
1.2.2.3 矩阵的乘积 014
1.2.2.4 正则矩阵与逆矩阵 016
1.2.2.5 转置矩阵 017
1.3 小结 018
第 2章 Python准备 019
2.1 Python 2和Python 3 020
2.2 Anaconda发行版 021
2.3 Python的基础知识 025
2.3.1 Python程序的执行 025
2.3.2 数据类型 026
2.3.2.1 类型是什么 026
2.3.2.2 字符串类型 027
2.3.2.3 数值类型 028
2.3.2.4 布尔类型 030
2.3.3 变量 031
2.3.3.1 变量是什么 031
2.3.3.2 变量与类型 032
2.3.4 数据结构 033
2.3.4.1 列表 033
2.3.4.2 字典 034
2.3.5 运算 035
2.3.5.1 运算符与操作数 035
2.3.5.2 算术运算的运算符 036
2.3.5.3 赋值运算符 036
2.3.6 基本结构 038
2.3.6.1 if语句 038
2.3.6.2 while语句 039
2.3.6.3 for语句 041
2.3.7 函数 043
2.3.8 类 045
2.3.9 库 048
2.4 NumPy 049
2.4.1 NumPy数组 049
2.4.2 使用NumPy进行向量和矩阵的计算 051
2.4.3 数组和多维数组的生成 053
2.4.4 切片 054
2.4.5 广播 056
2.5 面向深度学习的库 058
2.5.1 TensorFlow 058
2.5.2 Keras 059
2.5.3 参考Theano 060
2.6 小结 063
第3章 神经网络 065
3.1 什么是神经网络 065
3.1.1 脑和神经元 065
3.1.2 深度学习和神经网络 066
3.2 作为电路的神经网络 067
3.2.1 简单的模型化 067
3.2.2 逻辑电路 069
3.2.2.1 逻辑门 069
3.2.2.2 与门 069
3.2.2.3 或门 072
3.2.2.4 非门 074
3.3 简单感知机 075
3.3.1 模型化 075
3.3.2 实现 077
3.4 逻辑回归 081
3.4.1 阶跃函数与sigmoid函数 081
3.4.2 模型化 082
3.4.2.1 似然函数与交叉熵误差函数 082
3.4.2.2 梯度下降法 084
3.4.2.3 随机梯度下降法与小批量梯度下降法 085
3.4.3 实现 086
3.4.3.1 使用TensorFlow的实现 086
3.4.3.2 使用Keras的实现 092
3.4.4 拓展sigmoid函数与概率密度函数、累积分布函数 096
3.4.5 拓展梯度下降法和局部最优解 099
3.5 多分类逻辑回归 101
3.5.1 softmax函数 101
3.5.2 模型化 102
3.5.3 实现 106
3.5.3.1 使用TensorFlow的实现 106
3.5.3.2 使用Keras的实现 110
3.6 多层感知机 111
3.6.1 非线性分类 111
3.6.1.1 异或门 111
3.6.1.2 逻辑门的组合 113
3.6.2 模型化 115
3.6.3 实现 119
3.6.3.1 使用TensorFlow的实现 119
3.6.3.2 使用Keras的实现 122
3.7 模型的评估 123
3.7.1 从分类到预测 123
3.7.2 预测的评估 124
3.7.3 简单的实验 126
3.8 小结 131
第4章 深度神经网络 133
4.1 进入深度学习之前的准备 133
4.2 训练过程中的问题 138
4.2.1 梯度消失问题 138
4.2.2 过拟合问题 141
4.3 训练的高效化 142
4.3.1 激活函数 143
4.3.1.1 双曲正切函数 143
4.3.1.2 ReLU 145
4.3.1.3 Leaky ReLU 147
4.3.1.4 Parametric ReLU 149
4.3.2 Dropout 152
4.4 代码的设计 157
4.4.1 基本设计 157
4.4.1.1 使用TensorFlow的实现 157
4.4.1.2 使用Keras的实现 160
4.4.1.3 拓展对TensorFlow模型进行类封装 161
4.4.2 训练的可视化 166
4.4.2.1 使用TensorFlow的实现 167
4.4.2.2 使用Keras的实现 172
4.5 高级技术 176
4.5.1 数据的正则化与权重的初始化 176
4.5.2 学习率的设置 179
4.5.2.1 动量 179
4.5.2.2 Nesterov动量 180
4.5.2.3 Adagrad 181
4.5.2.4 Adadelta 182
4.5.2.5 RMSprop 184
4.5.2.6 Adam 185
4.5.3 早停法 187
4.5.4 Batch Normalization 190
4.6 小结 195
第5章 循环神经网络 197
5.1 基本概念 197
5.1.1 时间序列数据 197
5.1.2 过去的隐藏层 199
5.1.3 基于时间的反向传播算法 202
5.1.4 实现 204
5.1.4.1 准备时间序列数据 205
5.1.4.2 使用TensorFlow的实现 207
5.1.4.3 使用Keras的实现 214
5.2 LSTM 215
5.2.1 LSTM 块 215
5.2.2 CEC、输入门和输出门 217
5.2.2.1 稳态误差 217
5.2.2.2 输入权重冲突和输出权重冲突 219
5.2.3 遗忘门 220
5.2.4 窥视孔连接 222
5.2.5 模型化 223
5.2.6 实现 227
5.2.7 长期依赖信息的训练评估——Adding Problem 229
5.3 GRU 232
5.3.1 模型化 232
5.3.2 实现 233
5.4 小结 235
第6章 循环神经网络的应用 237
6.1 双向循环神经网络 237
6.1.1 未来的隐藏层 237
6.1.2 前向、后向传播 239
6.1.3 MNIST的预测 241
6.1.3.1 转换为时间序列数据 241
6.1.3.2 使用TensorFlow的实现 242
6.1.3.3 使用Keras的实现 245
6.2 循环神经网络编码器- 解码器 246
6.2.1 序列到序列模型 246
6.2.2 简单的问答系统 247
6.2.2.1 设置问题——加法的训练 247
6.2.2.2 数据的准备 248
6.2.2.3 使用TensorFlow的实现 251
6.2.2.4 使用Keras的实现 260
6.3 注意力模型 261
6.3.1 时间的权重 261
6.3.2 LSTM中的注意力机制 263
6.4 记忆网络 265
6.4.1 记忆外部化 265
6.4.2 应用于问答系统 266
6.4.2.1 bAbi任务 266
6.4.2.2 模型化 267
6.4.3 实现 269
6.4.3.1 数据的准备 269
6.4.3.2 使用TensorFlow的实现 272
6.5 小结 276
附录 279
A.1 模型的保存和读取 279
A.1.1 使用TensorFlow时的处理 279
A.1.2 使用Keras时的处理 284
A.2 TensorBoard 285
A.3 tf.contrib.learn 292
^ 收 起
巢笼悠辅(作者)
日本新闻应用Gunosy和众筹网站READYFOR的创始人之一。曾就职于电通和谷歌纽约分部。辞职后参与了株式会社MICIN的创立工作,致力于人工智能技术在医疗领域的应用。东京大学客座讲师。著作有《深度学习:Java语言实现》。
郑明智(译者)
智慧医疗工程师。主要研究方向为医疗领域的自然语言处理及其应用,密切关注大数据、机器学习、深度学习等领域。译作有《松本行弘:编程语言的设计与实现》《深度学习基础与实践》。
日本新闻应用Gunosy和众筹网站READYFOR的创始人之一。曾就职于电通和谷歌纽约分部。辞职后参与了株式会社MICIN的创立工作,致力于人工智能技术在医疗领域的应用。东京大学客座讲师。著作有《深度学习:Java语言实现》。
郑明智(译者)
智慧医疗工程师。主要研究方向为医疗领域的自然语言处理及其应用,密切关注大数据、机器学习、深度学习等领域。译作有《松本行弘:编程语言的设计与实现》《深度学习基础与实践》。
本书着眼于处理时间序列数据的深度学习算法,通过基于Python 语言的库TensorFlow 和Keras来学习神经网络、深度学习的理论和实现。全书共六章,前两章讲解了学习神经网络所需的数学知识和Python 基础知识;中间两章讲解了神经网络的基本算法以及深度学习的基础知识和应用;最后两章详细介绍了专门用于处理时间序列数据的循环神经网络(RNN)。
比价列表
1人想要
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠