注重体验与质量的电子书资源下载网站
分类于: 人工智能 设计
简介
智能计算系统 豆 8.9分
资源最后更新于 2020-08-23 16:18:32
作者:陈云霁
出版社:机械工业出版社
出版日期:2020-01
ISBN:9787111646235
文件格式: pdf
标签: 人工智能 计算机 智能计算 寒武纪 深度学习 CS 学习系列 挺好的
简介· · · · · ·
本书通过一个贯穿始终的应用案例——图像风格迁移,全面系统地介绍智能计算系统的软硬件技术栈,涵盖神经网络基础算法、深度学习编程框架、智能芯片体系结构、智能编程语言等。领衔作者陈云霁带领的团队曾研制了国际上首个深度学习处理器芯片“寒武纪1号”,本书凝聚了作者团队多年的科研和教学成果,是前沿研究与技术实践结合,快速提升智能领域系统能力的教材和技术参考书。
《智能计算系统》首先概述人工智能和智能计算系统(第1章);接下来介绍完成应用所必要的神经网络和深度学习算法知识(第2、3章);然后介绍支撑算法在智能芯片上运行的编程框架(第4、5章);再往下是智能芯片,即引导学生设计一款满足图像风格迁移应用需求的深度学习处理器(第6、7章);接下来介绍如何利用智能编程语言BCL提升开发智能应用的效率(第8章);*后以具体实验把所学知识点串联起来,打通知识结构的“任督二脉”...
目录
序言一
序言二
前言
第1章 概述1
1.1 人工智能1
1.1.1 什么是人工智能1
1.1.2 人工智能的发展历史1
1.1.3 人工智能的主要方法4
1.2 智能计算系统8
1.2.1 什么是智能计算系统8
1.2.2 为什么需要智能计算系统8
1.2.3 智能计算系统的发展8
1.3 驱动范例11
1.4 本章小结13
习题13
第2章 神经网络基础14
2.1 从机器学习到神经网络14
2.1.1 基本概念14
2.1.2 线性回归15
2.1.3 感知机17
2.1.4 两层神经网络——多层感知机19
2.1.5 深度学习(深层神经网络)20
2.1.6 神经网络发展历程21
2.2 神经网络训练23
2.2.1 正向传播24
2.2.2 反向传播25
2.3 神经网络设计原则27
2.3.1 网络的拓扑结构27
2.3.2 激活函数27
2.3.3 损失函数30
2.4 过拟合与正则化32
2.4.1 过拟合33
2.4.2 正则化34
2.5 交叉验证37
2.6 本章小结39
习题39
第3章 深度学习41
3.1 适合图像处理的卷积神经
网络41
3.1.1 卷积神经网络的组成42
3.1.2 卷积层43
3.1.3 池化层48
3.1.4 全连接层49
3.1.5 softmax层50
3.1.6 卷积神经网络总体结构50
3.2 基于卷积神经网络的图像分类算法52
3.2.1 AlexNet53
3.2.2 VGG56
3.2.3 Inception59
3.2.4 ResNet66
3.3 基于卷积神经网络的图像目标检测算法69
3.3.1 评价指标69
3.3.2 RCNN系列72
3.3.3 YOLO78
3.3.4 SSD81
3.3.5 小结83
3.4 序列模型:循环神经网络83
3.4.1 RNN84
3.4.2 LSTM88
3.4.3 GRU89
3.4.4 小结90
3.5 生成对抗网络91
3.5.1 模型组成91
3.5.2 GAN训练92
3.5.3 GAN结构94
3.6 驱动范例96
3.6.1 基于卷积神经网络的图像风格迁移算法96
3.6.2 实时图像风格迁移算法98
3.7 本章小结100
习题100
第4章 编程框架使用101
4.1 为什么需要编程框架101
4.2 编程框架概述102
4.2.1 通用编程框架概述102
4.2.2 TensorFlow概述102
4.3 TensorFlow编程模型及基本用法103
4.3.1 计算图104
4.3.2 操作105
4.3.3 张量106
4.3.4 会话110
4.3.5 变量114
4.3.6 占位符116
4.3.7 队列117
4.4 基于TensorFlow实现深度学习预测117
4.4.1 读取输入样本118
4.4.2 定义基本运算单元118
4.4.3 创建神经网络模型122
4.4.4 计算神经网络模型输出123
4.5 基于TensorFlow实现深度学习训练123
4.5.1 加载数据123
4.5.2 模型训练129
4.5.3 模型保存135
4.5.4 图像风格迁移训练的实现137
4.6 本章小结139
习题139
第5章 编程框架机理141
5.1 TensorFlow设计原则141
5.1.1 高性能141
5.1.2 易开发142
5.1.3 可移植142
5.2 TensorFlow计算图机制142
5.2.1 一切都是计算图143
5.2.2 计算图本地执行150
5.2.3 计算图分布式执行154
5.3 TensorFlow系统实现155
5.3.1 整体架构155
5.3.2 计算图执行模块156
5.3.3 设备抽象和管理161
5.3.4 网络和通信162
5.3.5 算子实现167
5.4 编程框架对比169
5.4.1 TensorFlow170
5.4.2 PyTorch171
5.4.3 MXNet171
5.4.4 Caffe172
5.5 本章小结172
习题172
第6章 深度学习处理器原理174
6.1 深度学习处理器概述174
6.1.1 深度学习处理器的意义174
6.1.2 深度学习处理器的发展历史175
6.1.3 设计思路177
6.2 目标算法分析178
6.2.1 计算特征178
6.2.2 访存特征181
6.3 深度学习处理器DLP结构186
6.3.1 指令集186
6.3.2 流水线190
6.3.3 运算部件190
6.3.4 访存部件193
6.3.5 算法到芯片的映射194
6.3.6 小结195
6.4 优化设计195
6.4.1 基于标量MAC的运算部件195
6.4.2 稀疏化198
6.4.3 低位宽199
6.5 性能评价201
6.5.1 性能指标201
6.5.2 测试基准程序202
6.5.3 影响性能的因素203
6.6 其他加速器203
6.6.1 GPU架构简述204
6.6.2 FPGA架构简述204
6.6.3 DLP与GPU、FPGA的对比205
6.7 本章小结206
习题206
第7章 深度学习处理器架构207
7.1 单核深度学习处理器207
7.1.1 总体架构208
7.1.2 控制模块209
7.1.3 运算模块212
7.1.4 存储单元215
7.1.5 小结215
7.2 多核深度学习处理器216
7.2.1 总体架构216
7.2.2 Cluster架构217
7.2.3 互联架构223
7.2.4 小结224
7.3 本章小结225
习题225
第8章 智能编程语言227
8.1 为什么需要智能编程语言227
8.1.1 语义鸿沟228
8.1.2 硬件鸿沟230
8.1.3 平台鸿沟232
8.1.4 小结233
8.2 智能计算系统抽象架构234
8.2.1 抽象硬件架构234
8.2.2 典型智能计算系统235
8.2.3 控制模型236
8.2.4 计算模型236
8.2.5 存储模型237
8.3 智能编程模型238
8.3.1 异构编程模型239
8.3.2 通用智能编程模型242
8.4 智能编程语言基础247
8.4.1 语法概述247
8.4.2 数据类型248
8.4.3 宏、常量与内置变量250
8.4.4 I/O操作语句250
8.4.5 标量计算语句252
8.4.6 张量计算语句252
8.4.7 控制流语句252
8.4.8 串行程序示例253
8.4.9 并行程序示例254
8.5 智能应用编程接口255
8.5.1 Kernel函数接口255
8.5.2 运行时接口257
8.5.3 使用示例259
8.6 智能应用功能调试262
8.6.1 功能调试方法262
8.6.2 功能调试接口266
8.6.3 功能调试工具269
8.6.4 精度调试方法272
8.6.5 功能调试实践272
8.7 智能应用性能调优280
8.7.1 性能调优方法280
8.7.2 性能调优接口282
8.7.3 性能调优工具286
8.7.4 性能调优实践287
8.8 基于智能编程语言的系统开发294
8.8.1 高性能库算子开发294
8.8.2 编程框架算子开发300
8.8.3 系统开发与优化实践304
习题321
第9章 实验323
9.1 基础实验:图像风格迁移323
9.1.1 基于智能编程语言的算子实现323
9.1.2 图像风格迁移的实现326
9.1.3 风格迁移实验的操作步骤330
9.2 拓展实验:物体检测333
9.2.1 基于智能编程语言的算子实现333
9.2.2 物体检测的实现337
9.3 拓展练习337
附录A 计算机体系结构基础340
附录B 实验环境说明345
参考文献348
后记356
序言二
前言
第1章 概述1
1.1 人工智能1
1.1.1 什么是人工智能1
1.1.2 人工智能的发展历史1
1.1.3 人工智能的主要方法4
1.2 智能计算系统8
1.2.1 什么是智能计算系统8
1.2.2 为什么需要智能计算系统8
1.2.3 智能计算系统的发展8
1.3 驱动范例11
1.4 本章小结13
习题13
第2章 神经网络基础14
2.1 从机器学习到神经网络14
2.1.1 基本概念14
2.1.2 线性回归15
2.1.3 感知机17
2.1.4 两层神经网络——多层感知机19
2.1.5 深度学习(深层神经网络)20
2.1.6 神经网络发展历程21
2.2 神经网络训练23
2.2.1 正向传播24
2.2.2 反向传播25
2.3 神经网络设计原则27
2.3.1 网络的拓扑结构27
2.3.2 激活函数27
2.3.3 损失函数30
2.4 过拟合与正则化32
2.4.1 过拟合33
2.4.2 正则化34
2.5 交叉验证37
2.6 本章小结39
习题39
第3章 深度学习41
3.1 适合图像处理的卷积神经
网络41
3.1.1 卷积神经网络的组成42
3.1.2 卷积层43
3.1.3 池化层48
3.1.4 全连接层49
3.1.5 softmax层50
3.1.6 卷积神经网络总体结构50
3.2 基于卷积神经网络的图像分类算法52
3.2.1 AlexNet53
3.2.2 VGG56
3.2.3 Inception59
3.2.4 ResNet66
3.3 基于卷积神经网络的图像目标检测算法69
3.3.1 评价指标69
3.3.2 RCNN系列72
3.3.3 YOLO78
3.3.4 SSD81
3.3.5 小结83
3.4 序列模型:循环神经网络83
3.4.1 RNN84
3.4.2 LSTM88
3.4.3 GRU89
3.4.4 小结90
3.5 生成对抗网络91
3.5.1 模型组成91
3.5.2 GAN训练92
3.5.3 GAN结构94
3.6 驱动范例96
3.6.1 基于卷积神经网络的图像风格迁移算法96
3.6.2 实时图像风格迁移算法98
3.7 本章小结100
习题100
第4章 编程框架使用101
4.1 为什么需要编程框架101
4.2 编程框架概述102
4.2.1 通用编程框架概述102
4.2.2 TensorFlow概述102
4.3 TensorFlow编程模型及基本用法103
4.3.1 计算图104
4.3.2 操作105
4.3.3 张量106
4.3.4 会话110
4.3.5 变量114
4.3.6 占位符116
4.3.7 队列117
4.4 基于TensorFlow实现深度学习预测117
4.4.1 读取输入样本118
4.4.2 定义基本运算单元118
4.4.3 创建神经网络模型122
4.4.4 计算神经网络模型输出123
4.5 基于TensorFlow实现深度学习训练123
4.5.1 加载数据123
4.5.2 模型训练129
4.5.3 模型保存135
4.5.4 图像风格迁移训练的实现137
4.6 本章小结139
习题139
第5章 编程框架机理141
5.1 TensorFlow设计原则141
5.1.1 高性能141
5.1.2 易开发142
5.1.3 可移植142
5.2 TensorFlow计算图机制142
5.2.1 一切都是计算图143
5.2.2 计算图本地执行150
5.2.3 计算图分布式执行154
5.3 TensorFlow系统实现155
5.3.1 整体架构155
5.3.2 计算图执行模块156
5.3.3 设备抽象和管理161
5.3.4 网络和通信162
5.3.5 算子实现167
5.4 编程框架对比169
5.4.1 TensorFlow170
5.4.2 PyTorch171
5.4.3 MXNet171
5.4.4 Caffe172
5.5 本章小结172
习题172
第6章 深度学习处理器原理174
6.1 深度学习处理器概述174
6.1.1 深度学习处理器的意义174
6.1.2 深度学习处理器的发展历史175
6.1.3 设计思路177
6.2 目标算法分析178
6.2.1 计算特征178
6.2.2 访存特征181
6.3 深度学习处理器DLP结构186
6.3.1 指令集186
6.3.2 流水线190
6.3.3 运算部件190
6.3.4 访存部件193
6.3.5 算法到芯片的映射194
6.3.6 小结195
6.4 优化设计195
6.4.1 基于标量MAC的运算部件195
6.4.2 稀疏化198
6.4.3 低位宽199
6.5 性能评价201
6.5.1 性能指标201
6.5.2 测试基准程序202
6.5.3 影响性能的因素203
6.6 其他加速器203
6.6.1 GPU架构简述204
6.6.2 FPGA架构简述204
6.6.3 DLP与GPU、FPGA的对比205
6.7 本章小结206
习题206
第7章 深度学习处理器架构207
7.1 单核深度学习处理器207
7.1.1 总体架构208
7.1.2 控制模块209
7.1.3 运算模块212
7.1.4 存储单元215
7.1.5 小结215
7.2 多核深度学习处理器216
7.2.1 总体架构216
7.2.2 Cluster架构217
7.2.3 互联架构223
7.2.4 小结224
7.3 本章小结225
习题225
第8章 智能编程语言227
8.1 为什么需要智能编程语言227
8.1.1 语义鸿沟228
8.1.2 硬件鸿沟230
8.1.3 平台鸿沟232
8.1.4 小结233
8.2 智能计算系统抽象架构234
8.2.1 抽象硬件架构234
8.2.2 典型智能计算系统235
8.2.3 控制模型236
8.2.4 计算模型236
8.2.5 存储模型237
8.3 智能编程模型238
8.3.1 异构编程模型239
8.3.2 通用智能编程模型242
8.4 智能编程语言基础247
8.4.1 语法概述247
8.4.2 数据类型248
8.4.3 宏、常量与内置变量250
8.4.4 I/O操作语句250
8.4.5 标量计算语句252
8.4.6 张量计算语句252
8.4.7 控制流语句252
8.4.8 串行程序示例253
8.4.9 并行程序示例254
8.5 智能应用编程接口255
8.5.1 Kernel函数接口255
8.5.2 运行时接口257
8.5.3 使用示例259
8.6 智能应用功能调试262
8.6.1 功能调试方法262
8.6.2 功能调试接口266
8.6.3 功能调试工具269
8.6.4 精度调试方法272
8.6.5 功能调试实践272
8.7 智能应用性能调优280
8.7.1 性能调优方法280
8.7.2 性能调优接口282
8.7.3 性能调优工具286
8.7.4 性能调优实践287
8.8 基于智能编程语言的系统开发294
8.8.1 高性能库算子开发294
8.8.2 编程框架算子开发300
8.8.3 系统开发与优化实践304
习题321
第9章 实验323
9.1 基础实验:图像风格迁移323
9.1.1 基于智能编程语言的算子实现323
9.1.2 图像风格迁移的实现326
9.1.3 风格迁移实验的操作步骤330
9.2 拓展实验:物体检测333
9.2.1 基于智能编程语言的算子实现333
9.2.2 物体检测的实现337
9.3 拓展练习337
附录A 计算机体系结构基础340
附录B 实验环境说明345
参考文献348
后记356