作者 |
[日]牧野 浩二(Koji Makino),[日]西崎 博光(Hiromitsu Nishizaki) |
丛书名 |
轻松上手IT技术日文译丛 |
出版社 |
机械工业出版社 |
ISBN |
9787111692584 |
简要 |
简介 |
内容简介书籍计算机书籍 本书基于强化学的库Chainer(Chainere)和AI模拟环境的OpenAI gym,不仅仅是软件模拟,也详述了使用RaspbbilryPi和ARduino的实际环境的应用。 |
目录 |
译者序 前言 第1章 引言 1 1.1 深度强化学习可以做什么 1 1.2 本书的结构 4 1.3 框架:Chainer和ChainerRL 6 1.4 Python的运行检查 6 1.5 Chainer的安装 9 1.6 ChainerRL的安装 12 1.7 模拟器:OpenAI Gym 14 第2章 深度学习 17 2.1 什么是深度学习 17 2.2 神经网络 18 2.3 基于Chainer的神经网络 21 2.3.1 Chainer与神经网络的对应 24 2.3.2 Chainer程序 25 2.3.3 参数设置 26 2.3.4 创建数据 27 2.3.5 定义神经网络 27 2.3.6 各种声明 28 2.3.7 显示训练状态 28 2.3.8 保存训练状态 31 2.3.9 执行训练 32 2.4 与其他神经网络的对应 32 2.4.1 感知器 32 2.4.2 5层神经网络(深度学习) 33 2.4.3 计算输入中的1的数量 34 2.5 基于深度神经网络的手写数字识别 35 2.5.1 手写数字的输入格式 36 2.5.2 深度神经网络的结构 39 2.5.3 8×8的手写数字数据 41 2.6 基于卷积神经网络的手写数字识别 43 2.6.1 卷积 45 2.6.2 激活函数 49 2.6.3 池化 49 2.6.4 执行 50 2.7 一些技巧 53 2.7.1 读取文件数据 54 2.7.2 使用训练模型 55 2.7.3 重启训练 56 2.7.4 检查权重 56 2.7.5 从文件中读取手写数字 57 第3章 强化学习 59 3.1 什么是强化学习 59 3.1.1 有监督学习 60 3.1.2 无监督学习 60 3.1.3 半监督学习 60 3.2 强化学习原理 61 3.3 通过简单的示例来学习 61 3.4 应用到Q学习问题中 63 3.4.1 状态 63 3.4.2 行动 63 3.4.3 奖励 63 3.4.4 Q值 64 3.5 使用Python进行训练 67 3.5.1 运行程序 67 3.5.2 说明程序 69 3.6 基于OpenAI Gym的倒立摆 73 3.6.1 运行程序 73 3.6.2 说明程序 74 3.7 如何保存和加载Q值 79 第4章 深度强化学习 81 4.1 什么是深度强化学习 81 4.2 对于老鼠学习问题的应用 83 4.2.1 运行程序 83 4.2.2 说明程序 85 4.2.3 如何保存和读取智能体模型 91 4.3 基于OpenAI Gym的倒立摆 91 4.3.1 运行程序 91 4.3.2 说明程序 92 4.4 基于OpenAI Gym的太空侵略者 97 4.5 基于OpenAI Gym的颠球 99 4.5.1 运行程序 101 4.5.2 说明程序 102 4.6 对战游戏 109 4.6.1 黑白棋 109 4.6.2 训练方法 111 4.6.3 变更盘面 121 4.6.4 黑白棋实体 121 4.6.5 如何与人类对战 123 4.6.6 卷积神经网络的应用 127 4.7 使用物理引擎进行模拟 128 4.7.1 物理引擎 129 4.7.2 运行程序 130 4.7.3 说明程序 131 4.8 物理引擎在颠球问题中的应用 132 4.9 物理引擎在倒立摆问题中的应用 140 4.10 物理引擎在机械臂问题中的应用 144 4.11 使用其他深度强化学习方法 151 4.11.1 深度强化学习的类型 151 4.11.2 将训练方法更改为DDQN 153 4.11.3 将训练方法更改为PER-DQN 153 4.11.4 将训练方法更改为DDPG 153 4.11.5 将训练方法更改为A3C 155 第5章 实际环境中的应用 157 5.1 使用摄像机观察环境(MNIST) 157 5.1.1 摄像机设置 158 5.1.2 通过卷积神经网络对摄像机图像进行分类 160 5.1.3 使用图像大小为28×28的手写数字进行训练 163 5.2 实际环境中的老鼠学习问题 164 5.3 使用Raspberry Pi处理老鼠学习问题 168 5.3.1 环境构建 169 5.3.2 以输入输出为重点的简化 169 5.3.3 使用摄像机测量环境 176 5.4 使用Arduino + PC处理老鼠学习问题 181 5.4.1 环境构建 182 5.4.2 以输入输出为重点的简化 185 5.4.3 使用摄像机测量环境 193 5.5 使用Raspberry Pi + Arduino处理老鼠学习问题 197 5.6 结语 201 附录 202 |