描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302553335丛书名: 人工智能科学与技术丛书
本书适合初学者快速入门深度学习算法和TensorFlow框架。我们已讲故事的方式向读者一步步地介绍每个核心算法,非常详细地剖析算法原理,手把手实现每个算法实战,不但让读者能够了解算法的工作原理,更重要的是教会读者如何一步步地思考问题并解决问题。具体地,我们会介绍目前深度学习的数学原理,反向传播算法,卷积神经网络,循环神经网络,对抗生产网络,自编码器,神经网络结构搜索,图卷积网络等等一系列前沿核心算法。使读者不仅可以明白原理,还能学以致用。内容讲解细致,没有数学基础的读者也能轻松入门。内容全面:系统介绍了深度学习算法的理论知识和主流算法模型,如AlexNet、ResNet、DenseNet、LSTM、GRU、GAN、DQN、PPO等,详细剖析了每个算法的理论推导过程和应用场合。
实用性强:采用TensorFlow 2.x*框架进行实战,通过大量案例实现了计算机视觉、自然语言处理、强化学习等方向的主流算法,读者能够通过实际项目来掌握算法思想。
资源丰富:开源了全部课程源代码、课件、本书Github仓库已收获超9300个Star数,并被“机器之心”、“量子位”等媒体报导。
人工智能是近年来全球*为火热的研究领域之一,尤其是随着深度学习算法研究的突破,人工智能技术被应用到图片识别、机器翻译、语音助手、自动驾驶等一系列领域中,取得了前所未有的智能水平。深度学习算法涵盖的内容非常前沿和广袤,国内外出版的相关书籍并不算多,有些侧重于理论层面的推导,有些侧重于框架API的介绍,鲜有能结合深度学习算法理论和实战讲解的教材。为了使读者能够深刻理解深度学习算法精髓,本书以探索问题式叙述风格展开,从*简单的人工智能问题入手,一步步地引导读者分析和解决并发现新的问题,重温当年算法设计人员的探索之路。本书介绍了深度学习算法所需要的基础数学理论、TensorFlow 2.x框架的基本使用方法、回归问题、分类问题、反向传播算法、梯度下降算法、过拟合、全连接网络、卷积神经网络、循环神经网络、自编码器、生成对抗网络、强化学习、迁移学习等主流和前沿知识。针对每个算法或模型,本书均详细分析了采用TensorFlow框架的实现方法,并基于多个常见的经典数据集进行了算法模型的实战,如基于MNIST和CIFAR10数据集的图片识别实战、基于IMDB数据集的文本分析实战、基于动漫头像数据集的图片生成实战和基于OpenAI Gym环境的平衡杆游戏实战等。通过原理与实战结合的方式,读者可*限度地理解算法理论,同时提升工程实现能力。本书可作为高等院校人工智能课程的教材,也可供从事人工智能、深度学习算法研究与开发人员自学或参考。
第1章人工智能绪论
1.1人工智能简介
1.1.1人工智能
1.1.2机器学习
1.1.3神经网络与深度学习
1.2神经网络发展简史
1.2.1浅层神经网络
1.2.2深度学习
1.3深度学习特点
1.3.1数据量
1.3.2计算力
1.3.3网络规模
1.3.4通用智能
1.4深度学习应用
1.4.1计算机视觉
1.4.2自然语言处理
1.4.3强化学习
1.5深度学习框架
1.5.1主流框架
1.5.2TensorFlow 2与TensorFlow 1.x
1.5.3功能演示
1.6开发环境安装
1.6.1Anaconda安装
1.6.2CUDA安装
1.6.3TensorFlow安装
1.6.4常用编辑器安装
参考文献
第2章回归问题
2.1神经元模型
2.2优化方法
2.3线性模型实战
2.4线性回归
参考文献
第3章分类问题
3.1手写数字图片数据集
3.2模型构建
3.3误差计算
3.4真的解决了吗
3.5非线性模型
3.6表达能力
3.7优化方法
3.8手写数字图片识别体验
3.8.1网络搭建
3.8.2模型训练
第4章TensorFlow基础
4.1数据类型
4.1.1数值类型
4.1.2字符串类型
4.1.3布尔类型
4.2数值精度
4.2.1读取精度
4.2.2类型转换
4.3待优化张量
4.4创建张量
4.4.1从数组、列表对象创建
4.4.2创建全0或全1张量
4.4.3创建自定义数值张量
4.4.4创建已知分布的张量
4.4.5创建序列
4.5张量的典型应用
4.5.1标量
4.5.2向量
4.5.3矩阵
4.5.4三维张量
4.5.5四维张量
4.6索引与切片
4.6.1索引
4.6.2切片
4.6.3小结
4.7维度变换
4.7.1改变视图
4.7.2增加、删除维度
4.7.3交换维度
4.7.4复制数据
4.8Broadcasting
4.9数学运算
4.9.1加、减、乘、除运算
4.9.2乘方运算
4.9.3指数和对数运算
4.9.4矩阵相乘运算
4.10前向传播实战
第5章TensorFlow进阶
5.1合并与分割
5.1.1合并
5.1.2分割
5.2数据统计
5.2.1向量范数
5.2.2值、均值、和
5.3张量比较
5.4填充与复制
5.4.1填充
5.4.2复制
5.5数据限幅
5.6高级操作
5.6.1tf.gather
5.6.2tf.gather_nd
5.6.3tf.boolean_mask
5.6.4tf.where
5.6.5scatter_nd
5.6.6meshgrid
5.7经典数据集加载
5.7.1随机打散
5.7.2批训练
5.7.3预处理
5.7.4循环训练
5.8MNIST测试实战
第6章神经网络
6.1感知机
6.2全连接层
6.2.1张量方式实现
6.2.2层方式实现
6.3神经网络
6.3.1张量方式实现
6.3.2层方式实现
6.3.3优化目标
6.4激活函数
6.4.1Sigmoid
6.4.2ReLU
6.4.3LeakyReLU
6.4.4tanh
6.5输出层设计
6.5.1普通实数空间
6.5.2[0,1]区间
6.5.3[0,1]区间,和为1
6.5.4[-1,1]
6.6误差计算
6.6.1均方差误差函数
6.6.2交叉熵损失函数
6.7神经网络类型
6.7.1卷积神经网络
6.7.2循环神经网络
6.7.3注意力(机制)网络
6.7.4图卷积神经网络
6.8汽车油耗预测实战
6.8.1数据集
6.8.2创建网络
6.8.3训练与测试
参考文献
第7章反向传播算法
7.1导数与梯度
7.2导数常见性质
7.2.1基本函数的导数
7.2.2常用导数性质
7.2.3导数求解实战
7.3激活函数导数
7.3.1Sigmoid函数导数
7.3.2ReLU函数导数
7.3.3LeakyReLU函数导数
7.3.4tanh函数梯度
7.4损失函数梯度
7.4.1均方误差函数梯度
7.4.2交叉熵函数梯度
7.5全连接层梯度
7.5.1单神经元梯度
7.5.2全连接层梯度
7.6链式法则
7.7反向传播算法
7.8Himmelblau函数优化实战
7.9反向传播算法实战
7.9.1数据集
7.9.2网络层
7.9.3网络模型
7.9.4网络训练
7.9.5网络性能
参考文献
第8章Keras高层接口
8.1常见功能模块
8.1.1常见网络层类
8.1.2网络容器
8.2模型装配、训练与测试
8.2.1模型装配
8.2.2模型训练
8.2.3模型测试
8.3模型保存与加载
8.3.1张量方式
8.3.2网络方式
8.3.3SavedModel方式
8.4自定义网络简介
8.4.1自定义网络层
8.4.2自定义网络
8.5模型乐园
8.6测量工具
8.6.1新建测量器
8.6.2写入数据
8.6.3读取统计信息
8.6.4清除状态
8.6.5准确率统计实战
8.7可视化
8.7.1模型端
8.7.2浏览器端
第9章过拟合
9.1模型的容量
9.2欠拟合与过拟合
9.2.1欠拟合
9.2.2过拟合
9.3数据集划分
9.3.1验证集与超参数
9.3.2提前停止
9.4模型设计
9.5正则化
9.5.1L0正则化
9.5.2L1正则化
9.5.3L2正则化
9.5.4正则化效果
9.6Dropout
9.7数据增强
9.7.1旋转
9.7.2翻转
9.7.3裁剪
9.7.4生成数据
9.7.5其他方式
9.8过拟合问题实战
9.8.1构建数据集
9.8.2网络层数的影响
9.8.3Dropout的影响
9.8.4正则化的影响
参考文献
第10章卷积神经网络
10.1全连接网络的问题
10.1.1局部相关性
10.1.2权值共享
10.1.3卷积运算
10.2卷积神经网络
10.2.1单通道输入和单卷积核
10.2.2多通道输入和单卷积核
10.2.3多通道输入、多卷积核
10.2.4步长
10.2.5填充
10.3卷积层实现
10.3.1自定义权值
10.3.2卷积层类
10.4LeNet-5实战
10.5表示学习
10.6梯度传播
10.7池化层
10.8BatchNorm层
10.8.1前向传播
10.8.2反向更新
10.8.3BN层实现
10.9经典卷积网络
10.9.1AlexNet
10.9.2VGG系列
10.9.3GoogLeNet
10.10CIFAR10与VGG13实战
10.11卷积层变种
10.11.1空洞卷积
10.11.2转置卷积
10.11.3分离卷积
10.12深度残差网络
10.12.1ResNet原理
10.12.2ResBlock实现
10.13DenseNet
10.14CIFAR10与ResNet18实战
参考文献
第11章循环神经网络
11.1序列表示方法
11.1.1Embedding层
11.1.2预训练的词向量
11.2循环神经网络
11.2.1全连接层可行吗
11.2.2权值共享
11.2.3全局语义
11.2.4循环神经网络原理
11.3梯度传播
11.4RNN层使用方法
11.4.1SimpleRNNCell
11.4.2多层SimpleRNNCell网络
11.4.3SimpleRNN层
11.5RNN情感分类问题实战
11.5.1数据集
11.5.2网络模型
11.5.3训练与测试
11.6梯度弥散和梯度爆炸
11.6.1梯度裁剪
11.6.2梯度弥散
11.7RNN短时记忆
11.8LSTM原理
11.8.1遗忘门
11.8.2输入门
11.8.3刷新Memory
11.8.4输出门
11.8.5小结
11.9LSTM层使用方法
11.9.1LSTMCell
11.9.2LSTM层
11.10GRU简介
11.10.1复位门
11.10.2更新门
11.10.3GRU使用方法
11.11LSTM/GRU情感分类问题再战
11.11.1LSTM模型
11.11.2GRU模型
11.12预训练的词向量
参考文献
第12章自编码器
12.1自编码器原理
12.2FashionMNIST图片重建实战
12.2.1Fashion MNIST数据集
12.2.2编码器
12.2.3解码器
12.2.4自编码器
12.2.5网络训练
12.2.6图片重建
12.3自编码器变种
12.3.1Denoising Auto-Encoder
12.3.2Dropout Auto-Encoder
12.3.3Adversarial Auto-Encoder
12.4变分自编码器
12.4.1VAE原理
12.4.2Reparameterization Trick
12.5VAE图片生成实战
12.5.1VAE模型
12.5.2Reparameterization技巧
12.5.3网络训练
12.5.4图片生成
参考文献
第13章生成对抗网络
13.1博弈学习实例
13.2GAN原理
13.2.1网络结构
13.2.2网络训练
13.2.3统一目标函数
13.3DCGAN实战
13.3.1动漫图片数据集
13.3.2生成器
13.3.3判别器
13.3.4训练与可视化
13.4GAN变种
13.4.1DCGAN
13.4.2InfoGAN
13.4.3CycleGAN
13.4.4WGAN
13.4.5Equal GAN
13.4.6Self-Attention GAN
13.4.7BigGAN
13.5纳什均衡
13.5.1判别器状态
13.5.2生成器状态
13.5.3纳什均衡点
13.6GAN训练难题
13.6.1超参数敏感
13.6.2模式崩塌
13.7WGAN原理
13.7.1JS散度的缺陷
13.7.2EM距离
13.7.3WGAN-GP
13.8WGAN-GP实战
参考文献
第14章强化学习
14.1先睹为快
14.1.1平衡杆游戏
14.1.2Gym平台
14.1.3策略网络
14.1.4梯度更新
14.1.5平衡杆游戏实战
14.2强化学习问题
14.2.1马尔科夫决策过程
14.2.2目标函数
14.3策略梯度方法
14.3.1REINFORCE算法
14.3.2原始策略梯度的改进
14.3.3带基准的REINFORCE算法
14.3.4重要性采样
14.3.5PPO算法
14.3.6PPO实战
14.4值函数方法
14.4.1值函数
14.4.2值函数估计
14.4.3策略改进
14.4.4SARSA算法
14.4.5DQN算法
14.4.6DQN变种
14.4.7DQN实战
14.5Actor-Critic方法
14.5.1Advantage AC算法
14.5.2A3C算法
14.5.3A3C实战
参考文献
第15章自定义数据集
15.1精灵宝可梦数据集
15.2自定义数据集加载
15.2.1创建编码表
15.2.2创建样本和标签表格
15.2.3数据集划分
15.3宝可梦数据集实战
15.3.1创建Dataset对象
15.3.2数据预处理
15.3.3创建模型
15.3.4网络训练与测试
15.4迁移学习
15.4.1迁移学习原理
15.4.2迁移学习实战
这是一本面向人工智能,特别是深度学习初学者的图书,本书旨在帮助更多的读者了解、喜欢并进入人工智能行业中,因此作者试图从人工智能中的简单问题入手,一步步地提出设想、分析以及实现方案,重温当年科研工作者的探索之路,让读者身临其境地感受算法设计思想,从而掌握分析和解决问题的方法。这种方式对读者的基础知识要求较少,读者在学习本书的过程中会自然而然地了解算法的相关背景知识,体会到知识是为了解决问题而生的,避免出现为了学习而学习的窘境。
尽管作者试图将读者的基础要求降到,但是人工智能不可避免地需要使用正式化的数学符号推导,其中涉及少量的概率与统计、线性代数、微积分等数学知识,一般要求读者对这些数学知识有初步印象或了解即可。比起理论基础,需要有少量的编程经验,特别是Python语言编程经验,因为本书更侧重于实用性,而不是堆砌公式。
本书共15章,第1~3章主要介绍人工智能的初步认知,并引出相关问题; 第4、5章主要介绍TensorFlow相关基础,为后续算法实现铺垫; 第6~9章主要介绍神经网络的核心理论和共性知识,让读者理解深度学习的本质; 第10~15章主要介绍常见的算法与模型,让读者能够学有所用。
在本书的编写过程中,很多英文词汇尚无法在业界找到一个共识翻译名,因此作者备注翻译的英文原文,供读者参考,同时也方便日后阅读相关英文文献时,不至于感到陌生。
尽管每天都有深度学习相关算法论文的发表,但是作者相信,深度学习的核心思想和基础理论是共通的。本书已尽可能地涵盖其中基础、主流并且前沿的算法知识,但是仍然有很多算法无法涵盖,读者学习完本书后,可以自行搜索相关方向的研究论文或资料,进一步学习。
深度学习是一个非常前沿和广袤的研究领域,鲜有人士能够对每个研究方向都有深刻的理解。作者自认才疏学浅,略懂皮毛,同时也限于时间和篇幅关系,难免出现理解偏差之处,恳请读者指出,作者将及时修正,不胜感激。
龙良曲
2020年6月
李建民 清华大学计算机科学与技术系副研究员
人工智能,特别是其中的深度学习,是当前炙手可热的领域,无数年轻学子投身到对其理论、方法和工具的学习中。但是,目前市面上系统阐述深度学习算法原理和*计算框架使用方法的优秀教材仍然不多。《TensorFlow深度学习——深入理解人工智能算法设计》的出版恰逢其时。该书立足实战,深入浅出地介绍了一些深度学习经典算法的原理及其基于TensorFlow 2的实现,有利于读者真正理解深度学习并掌握算法应用。
刘扬 哈尔滨工业大学计算机科学与技术学院副教授
TensorFlow计算框架是目前使用*为广泛的深度学习软件库之一,借助于该框架进行算法验证与应用,可以提高效率,事半功倍。《TensorFlow深度学习——深入理解人工智能算法设计》由浅入深地介绍了深度学习的算法原理及基于TensorFlow 2的应用实践,并公开了全部项目代码,非常值得参考。
但汉兵 中南大学自动化学院特聘副教授
真正掌握深度学习的算法需要深刻地理解算法原理并切实地进行工程实践,故借助流行的深度学习计算框架就显得尤为重要。《TensorFlow深度学习——深入理解人工智能算法设计》全面介绍了TensorFlow 2计算框架下实现深度学习算法的方法与案例,推荐阅读。
周沫凡 莫烦Python创始人,腾讯云高级算法研究员
本书作者和我一样,热衷于 AI 技术分享。他在新技术与新框架的教学上不断推陈出新,令人十分敬佩。《TensorFlow深度学习——深入理解人工智能算法设计》首先以开源的方式在 GitHub 社区公开,并受到无数开发者欢迎。如今图书出版,非常值得推荐。
文俊 浙江大学计算机学院在读博士
人工智能技术正在推动计算机视觉、自然语言处理和智能游戏等应用领域的快速发展。目前市场上急需论述深度学习算法和TensorFlow 2计算框架的教材,《TensorFlow深度学习——深入理解人工智能算法设计》很好地满足了这两个需求,是一部优秀著作。
肖智清 《神经网络与PyTorch实战》作者
Google公司发布的TensorFlow 2相比于上一代版本,在降低入门难度的同时,大大提升了开发效率,非常适合初学者。《TensorFlow深度学习——深入理解人工智能算法设计》既有严谨的算法理论分析,又有丰富的实战案例,适合研究深度学习算法的读者参考。
评论
还没有评论。