| 作者 |
| 肖智清 |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787111605775 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 全书分为三个部分: 1. 第一部分感性介绍神经网络的基础知识,并给出一个利用PyTorch搭建神经网络解决实际问题的例子,使读者对神经网络和PyTorch有初步的了解; 2. 第二部分介绍基于Python和PyTorch的科学计算和神经网络搭建,涵盖了几乎所有Python基础知识和PyTorch基础功能,并通过例子使读者完全掌握相关技术; 3. 第三部分介绍生成对抗网络和递归神经网络,使读者了解更多神经网络的常用用法。 |
| 目录 |
| 前言 第1章 初识神经网络 1 1.1 例说神经网络 1 1.1.1 从围棋和AlphaGo说起 1 1.1.2 人的神经系统 3 1.1.3 人工神经元 3 1.1.4 人工神经网络 5 1.1.5 神经网络的设计和权重的学习 7 1.2 神经网络与人工智能等概念的关系 7 1.2.1 人工智能和数据挖掘 7 1.2.2 机器学习和模式识别 9 1.2.3 人工神经网络和深度学习 11 1.2.4 各概念之间的联系 11 1.3 本章小结 12 第2章 初识PyTorch 13 2.1 人工神经网络库PyTorch 13 2.1.1 PyTorch是什么 13 2.1.2 编写PyTorch程序 14 2.2 例说PyTorch 14 2.2.1 迷你AlphaGo介绍 15 2.2.2 迷你AlphaGo的完整实现 16 2.3 PyTorch学习路线 19 2.4 本章小结 20 第3章 使用PyTorch进行科学计算 21 3.1 初识张量 21 3.1.1 张量的数学定义 21 3.1.2 PyTorch里的张量 22 3.2 构造torch.Tensor类实例 24 3.2.1 构造含有特定数据的张量 24 3.2.2 构造特定大小的张量 25 3.2.3 构造等比数列和等差数列张量 26 3.2.4 构造随机张量 26 3.3 组织张量的元素 28 3.3.1 重排张量元素 28 3.3.2 选取部分张量元素 29 3.3.3 张量的扩展和拼接 31 3.4 张量的科学计算 32 3.4.1 有理运算和广播语义 32 3.4.2 逐元素运算 33 3.4.3 张量点积和Einstein求和 35 3.4.4 统计函数 38 3.4.5 比较和逻辑运算 39 3.5 例子:用蒙特卡洛算法计算圆周率 40 3.5.1 随机计算与蒙特卡洛算法 40 3.5.2 蒙特卡洛算法求解圆周率的实现 41 3.6 本章小结 42 第4章 求解优化问题 43 4.1 梯度及其计算 43 4.1.1 梯度的定义 43 4.1.2 梯度的性质和计算 45 4.1.3 使用PyTorch计算梯度数值 45 4.2 优化算法与torch.optim包 46 4.2.1 梯度下降算法 46 4.2.2 梯度下降算法的缺陷和解决方案 48 4.2.3 各种优化算法 50 4.3 例子:Himmelblau函数的优化 55 4.3.1 Himmelblau函数及可视化 55 4.3.2 求解Himmelblau的最小值 57 4.3.3 求解Himmelblau的局部极大值 59 4.4 本章小结 59 第5章 线性回归 60 5.1 一元线性回归 60 5.1.1 最小二乘法 60 5.1.2 正规方程法 62 5.2 多元线性回归 63 5.3 其他损失情况下的线性回归 63 5.3.1 MSE损失、损失和平滑损失 64 5.3.2 torch.nn子包与损失类 65 5.3.3 使用优化器求解线性回归 66 5.3.4 数据的归一化 68 5.4 例子:世界人口的线性回归 70 5.4.1 从维基百科页面获取世界人口数据 70 5.4.2 对世界人口做最小二乘法线性回归 71 5.4.3 用优化算法实现最小二乘回归 72 5.5 本章小结 74 第6章 线性判决与逻辑回归 75 6.1 线性判决与互熵损失 75 6.1.1 判定问题与准确率 75 6.1.2 线性判决 76 6.1.3 极大似然和互熵损失 77 6.2 逻辑回归 78 6.2.1 expit()函数和logit()函数 78 6.2.2 用优化器实现逻辑回归 80 6.2.3 Newton-Raphson方法 81 6.3 多项逻辑回归 82 6.4 例子:数字图像的识别 84 6.4.1 使用torchvision读取MNIST数据集 84 6.4.2 利用多项逻辑回归识别MNIST数据 86 6.5 例子:股票成交量预测 88 6.5.1 股票数据的读取和可视化 88 6.5.2 成交量变化方向预测 89 6.6 本章小结 91 第7章 全连接神经网络 92 7.1 前馈神经网络 92 7.1.1 前馈神经网络的定义 92 7.1.2 使用torch.nn.Sequential类搭建前馈神经网络 93 7.1.3 权重的确定与反向传播 94 7.2 全连接层和全连接神经网络 95 7.3 非线性激活 96 7.3.1 逐元素激活 97 7.3.2 非逐元素激活 101 7.4 网络结构的选择 102 7.4.1 欠拟合和过拟合 102 7.4.2 训练集、验证集和测试集 103 7.5 例子:基于全连接网络的非线性回归 105 7.5.1 数据的生成和数据集分割 105 7.5.2 确定网络结构并训练网络 106 7.5.3 测试性能 108 7.6 本章小结 109 第8章 卷积神经网络 110 8.1 卷积层 110 8.1.1 序列的互相关和卷积 110 8.1.2 一维张量的互相关 114 8.1.3 一维张量的转置卷积 117 8.1.4 高维张量的互相关和转置卷积 121 8.1.5 torch.nn包里的卷积层 121 8.2 池化层、视觉层和补全层 123 8.2.1 张量的池化 124 8.2.2 张量的反池化 125 8.2.3 torch.nn包里的池化层 126 8.2.4 张量的上采样 128 8.2.5 torch.nn包里的视觉层 130 8.2.6 张量的补全运算 131 8.2.7 torch.nn包里的补全层 131 8.3 例子:MNIST图片分类的改进 132 8.3.1 搭建卷积神经网络 133 8.3.2 卷积神经网络的训练和测试 135 8.4 本章小结 137 第9章 循环神经网络 138 9.1 神经网络的循环结构 138 9.1.1 单向单层循环结构 138 9.1.2 多层循环结构 139 9.1.3 双向循环结构 140 9.2 循环神经网络中的循环单元 141 9.2.1 基本循环神经元 141 9.2.2 长短期记忆单元 141 9.2.3 门控循环单元 144 9.3 循环神经网络的实现 145 9.3.1 torch.nn子包中的循环单元类 145 9.3.2 torch.nn子包中的循环神经网络类 146 9.4 例子:人均GDP的预测 147 9.4.1 使用pandas-datareader读取世界银行数据库 147 9.4.2 搭建LSTM预测模型 148 9.4.3 网络的训练和使用 149 9.5 本章小结 151 第10章 生成对抗网络 152 10.1 生成对抗网络的原理 152 10.1.1 例说生成对抗 152 10.1.2 生成对抗网络的结构 153 10.2 用生成对抗网络生成图像 154 10.2.1 深度卷积生成对抗网络 154 10.2.2 规范化层 156 10.2.3 网络权重值的初始化 159 10.3 例子:CIFAR-10图像的生成 161 10.3.1 CIFAR-10数据集 161 10.3.2 搭建生成网络和鉴别网络 162 10.3.3 网络的训练和使用 165 10.4 本章小结 167 第11章 强化学习 168 11.1 初识强化学习 168 11.1.1 例说强化学习 168 11.1.2 强化学习的分类 169 11.2 Markov决策过程及其算法 170 11.2.1 Markov决策过程 170 11.2.2 最优策略的性质和求解 171 11.2.3 时序差分更新算法 173 11.3 例子:车杆游戏的游戏AI开发 174 11.3.1 游戏环境及其使用方法 174 11.3.2 游戏AI和深度Q网络的设计 177 11.3.3 深度Q网络的训练 177 11.3.4 游戏AI的使用 180 11.4 本章小结 180 附录A 开发环境的安装和使用 181 附录B Python编程基础 195 |