展开全部

主编推荐语

本书深入浅出的讲述了深度学习的基本概念与理论知识,不涉及复杂的数学内容,零基础小白也能轻松掌握。

内容简介

本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。

本书分为上下两册。

上册着重介绍深度学习的基础知识,旨在帮助读者建立扎实的知识储备,主要介绍随机性与基础统计学、训练与测试、过拟合与欠拟合、神经元、学习与推理、数据准备、分类器、集成算法、前馈网络、激活函数、反向传播等内容。

下册介绍机器学习的scikit-learn库和深度学习的Keras库(这两种库均基于Python语言),以及卷积神经网络、循环神经网络、自编码器、强化学习、生成对抗网络等内容,还介绍了一些创造性应用,并给出了一些典型的数据集,以帮助读者更好地了解学习。

本书适合想要了解和使用深度学习的人阅读,也可作为深度学习教学培训领域的入门级参考用书。

目录

  • 版权信息
  • 深度学习:从基础到实践(上册)
  • 内容提要
  • 译者序
  • 前言
  • 第1章 机器学习与深度学习入门
  • 1.1 为什么这一章出现在这里
  • 1.1.1 从数据中提取含义
  • 1.1.2 专家系统
  • 1.2 从标记数据中学习
  • 1.2.1 一种学习策略
  • 1.2.2 一种计算机化的学习策略
  • 1.2.3 泛化
  • 1.2.4 让我们仔细看看学习过程
  • 1.3 监督学习
  • 1.3.1 分类
  • 1.3.2 回归
  • 1.4 无监督学习
  • 1.4.1 聚类
  • 1.4.2 降噪
  • 1.4.3 降维
  • 1.5 生成器
  • 1.6 强化学习
  • 1.7 深度学习
  • 1.8 接下来会讲什么
  • 参考资料
  • 第2章 随机性与基础统计学
  • 2.1 为什么这一章出现在这里
  • 2.2 随机变量
  • 实践中的随机数
  • 2.3 一些常见的分布
  • 2.3.1 均匀分布
  • 2.3.2 正态分布
  • 2.3.3 伯努利分布
  • 2.3.4 多项式分布
  • 2.3.5 期望值
  • 2.4 独立性
  • 独立同分布(i.i.d)变量
  • 2.5 抽样与放回
  • 2.5.1 有放回抽样
  • 2.5.2 无放回抽样
  • 2.5.3 做选择
  • 2.6 Bootstrapping算法
  • 2.7 高维空间
  • 2.8 协方差和相关性
  • 2.8.1 协方差
  • 2.8.2 相关性
  • 2.9 Anscombe四重奏
  • 参考资料
  • 第3章 概率
  • 3.1 为什么这一章出现在这里
  • 3.2 飞镖游戏
  • 3.3 初级概率学
  • 3.4 条件概率
  • 3.5 联合概率
  • 3.6 边际概率
  • 3.7 测量的正确性
  • 3.7.1 样本分类
  • 3.7.2 混淆矩阵
  • 3.7.3 混淆矩阵的解释
  • 3.7.4 允许错误分类
  • 3.7.5 准确率
  • 3.7.6 精度
  • 3.7.7 召回率
  • 3.7.8 关于精度和召回率
  • 3.7.9 其他方法
  • 3.7.10 同时使用精度和召回率
  • 3.7.11 f1分数
  • 3.8 混淆矩阵的应用
  • 参考资料
  • 第4章 贝叶斯定理
  • 4.1 为什么这一章出现在这里
  • 4.2 频率论者法则以及贝叶斯法则
  • 4.2.1 频率论者法则
  • 4.2.2 贝叶斯法则
  • 4.2.3 讨论
  • 4.3 抛硬币
  • 4.4 这枚硬币公平吗
  • 4.4.1 贝叶斯定理
  • 4.4.2 贝叶斯定理的注意事项
  • 4.5 生活中的贝叶斯定理
  • 4.6 重复贝叶斯定理
  • 4.6.1 后验-先验循环
  • 4.6.2 例子:挑到的是哪种硬币
  • 4.7 多个假设
  • 参考资料
  • 第5章 曲线和曲面
  • 5.1 为什么这一章出现在这里
  • 5.2 引言
  • 5.3 导数
  • 5.4 梯度
  • 参考资料
  • 第6章 信息论
  • 6.1 为什么这一章出现在这里
  • 信息:一词双义
  • 6.2 意外程度与语境
  • 6.2.1 意外程度
  • 6.2.2 语境
  • 6.3 用比特作为单位
  • 6.4 衡量信息
  • 6.5 事件的大小
  • 6.6 自适应编码
  • 6.7 熵
  • 6.8 交叉熵
  • 6.8.1 两种自适应编码
  • 6.8.2 混合编码
  • 6.9 KL散度
  • 参考资料
  • 第7章 分类
  • 7.1 为什么这一章出现在这里
  • 7.2 二维分类
  • 二维二元分类
  • 7.3 二维多分类
  • 7.4 多维二元分类
  • 7.4.1 one-versus-rest
  • 7.4.2 one-versus-one
  • 7.5 聚类
  • 7.6 维度灾难
  • 高维奇异性
  • 参考资料
  • 第8章 训练与测试
  • 8.1 为什么这一章出现在这里
  • 8.2 训练
  • 测试性能
  • 8.3 测试数据
  • 8.4 验证数据
  • 8.5 交叉验证
  • k折叠交叉验证
  • 8.6 对测试结果的利用
  • 参考资料
  • 第9章 过拟合与欠拟合
  • 9.1 为什么这一章出现在这里
  • 9.2 过拟合与欠拟合
  • 9.2.1 过拟合
  • 9.2.2 欠拟合
  • 9.3 过拟合数据
  • 9.4 及早停止
  • 9.5 正则化
  • 9.6 偏差与方差
  • 9.6.1 匹配潜在数据
  • 9.6.2 高偏差,低方差
  • 9.6.3 低偏差,高方差
  • 9.6.4 比较这些曲线
  • 9.7 用贝叶斯法则进行线拟合
  • 参考资料
  • 第10章 神经元
  • 10.1 为什么这一章出现在这里
  • 10.2 真实神经元
  • 10.3 人工神经元
  • 10.3.1 感知机
  • 10.3.2 感知机的历史
  • 10.3.3 现代人工神经元
  • 10.4 小结
  • 参考资料
  • 第11章 学习与推理
  • 11.1 为什么这一章出现在这里
  • 11.2 学习的步骤
  • 11.2.1 表示
  • 11.2.2 评估
  • 11.2.3 优化
  • 11.3 演绎和归纳
  • 11.4 演绎
  • 直言三段论谬误
  • 11.5 归纳
  • 11.5.1 机器学习中的归纳术语
  • 11.5.2 归纳谬误
  • 11.6 组合推理
  • 夏洛克·福尔摩斯——“演绎大师”
  • 11.7 操作条件
  • 参考资料
  • 第12章 数据准备
  • 12.1 为什么这一章出现在这里
  • 12.2 数据变换
  • 12.3 数据类型
  • 独热编码
  • 12.4 数据清理基础
  • 12.4.1 数据清理
  • 12.4.2 现实中的数据清理
  • 12.5 归一化和标准化
  • 12.5.1 归一化
  • 12.5.2 标准化
  • 12.5.3 保存数据的转换方式
  • 12.5.4 转换方式
  • 12.6 特征选择
  • 12.7 降维
  • 12.7.1 主成分分析
  • 12.7.2 图像的标准化和PCA
  • 12.8 转换
  • 12.9 切片处理
  • 12.9.1 逐样本处理
  • 12.9.2 逐特征处理
  • 12.9.3 逐元素处理
  • 12.10 交叉验证转换
  • 参考资料
  • 第13章 分类器
  • 13.1 为什么这一章出现在这里
  • 13.2 分类器的种类
  • 13.3 k近邻法
  • 13.4 支持向量机
  • 13.5 决策树
  • 13.5.1 构建决策树
  • 13.5.2 分离节点
  • 13.5.3 控制过拟合
  • 13.6 朴素贝叶斯
  • 13.7 讨论
  • 参考资料
  • 第14章 集成算法
  • 14.1 为什么这一章出现在这里
  • 14.2 集成方法
  • 14.3 投票
  • 14.4 套袋算法
  • 14.5 随机森林
  • 14.6 极端随机树
  • 14.7 增强算法
  • 参考资料
  • 第15章 scikit-learn
  • 15.1 为什么这一章出现在这里
  • 15.2 介绍
  • 15.3 Python 约定
  • 15.4 估算器
  • 15.4.1 创建
  • 15.4.2 学习fit()用法
  • 15.4.3 用predict()预测
  • 15.4.4 decision_function(),predict_proba()
  • 15.5 聚类
  • 15.6 变换
  • 逆变换
  • 15.7 数据精化
  • 15.8 集成器
  • 15.9 自动化
  • 15.9.1 交叉验证
  • 15.9.2 超参数搜索
  • 15.9.3 枚举型网格搜索
  • 15.9.4 随机型网格搜索
  • 15.9.5 pipeline
  • 15.9.6 决策边界
  • 15.9.7 流水线式变换
  • 15.10 数据集
  • 15.11 实用工具
  • 15.12 结束语
  • 参考资料
  • 第16章 前馈网络
  • 16.1 为什么这一章出现在这里
  • 16.2 神经网络图
  • 16.3 同步与异步流
  • 实践中的图
  • 16.4 权重初始化
  • 初始化
  • 参考资料
  • 第17章 激活函数
  • 17.1 为什么这一章出现在这里
  • 17.2 激活函数可以做什么
  • 激活函数的形式
  • 17.3 基本的激活函数
  • 17.3.1 线性函数
  • 17.3.2 阶梯状函数
  • 17.4 阶跃函数
  • 17.5 分段线性函数
  • 17.6 光滑函数
  • 17.7 激活函数画廊
  • 17.8 归一化指数函数
  • 参考资料
  • 第18章 反向传播
  • 18.1 为什么这一章出现在这里
  • 反向传播的微妙
  • 18.2 一种非常慢的学习方式
  • 18.2.1 缓慢的学习方式
  • 18.2.2 更快的学习方式
  • 18.3 现在没有激活函数
  • 18.4 神经元输出和网络误差
  • 误差按比例变化
  • 18.5 微小的神经网络
  • 18.6 第1步:输出神经元的delta
  • 18.7 第2步:使用delta改变权重
  • 18.8 第3步:其他神经元的delta
  • 18.9 实际应用中的反向传播
  • 18.10 使用激活函数
  • 18.11 学习率
  • 探索学习率
  • 18.12 讨论
  • 18.12.1 在一个地方的反向传播
  • 18.12.2 反向传播不做什么
  • 18.12.3 反向传播做什么
  • 18.12.4 保持神经元活跃
  • 18.12.5 小批量
  • 18.12.6 并行更新
  • 18.12.7 为什么反向传播很有吸引力
  • 18.12.8 反向传播并不是有保证的
  • 18.12.9 一点历史
  • 18.12.10 深入研究数学
  • 参考资料
  • 第19章 优化器
  • 19.1 为什么这一章出现在这里
  • 19.2 几何误差
  • 19.2.1 最小值、最大值、平台和鞍部
  • 19.2.2 作为二维曲线的误差
  • 19.3 调整学习率
  • 19.3.1 固定大小的更新
  • 19.3.2 随时间改变学习率
  • 19.3.3 衰减规划
  • 19.4 更新策略
  • 19.4.1 批梯度下降
  • 19.4.2 随机梯度下降
  • 19.4.3 mini-batch梯度下降
  • 19.5 梯度下降变体
  • 19.5.1 动量
  • 19.5.2 Nesterov动量
  • 19.5.3 Adagrad
  • 19.5.4 Adadelta和RMSprop
  • 19.5.5 Adam
  • 19.6 优化器选择
  • 参考资料
  • 深度学习:从基础到实践(下册)
  • 第20章 深度学习
  • 20.1 为什么这一章出现在这里
  • 20.2 深度学习概述
  • 张量
  • 20.3 输入层和输出层
  • 20.3.1 输入层
  • 20.3.2 输出层
  • 20.4 深度学习层纵览
  • 20.4.1 全连接层
  • 20.4.2 激活函数
  • 20.4.3 dropout
  • 20.4.4 批归一化
  • 20.4.5 卷积层
  • 20.4.6 池化层
  • 20.4.7 循环层
  • 20.4.8 其他工具层
  • 20.5 层和图形符号总结
  • 20.6 一些例子
  • 20.7 构建一个深度学习器
  • 入门指南
  • 20.8 解释结果
  • 令人满意的可解释性
  • 参考资料
  • 第21章 卷积神经网络
  • 21.1 为什么这一章出现在这里
  • 21.2 介绍
  • 21.2.1 “深度”的两重含义
  • 21.2.2 放缩后的值之和
  • 21.2.3 权重共享
  • 21.2.4 局部感知域
  • 21.2.5 卷积核
  • 21.3 卷积
  • 21.3.1 过滤器
  • 21.3.2 复眼视图
  • 21.3.3 过滤器的层次结构
  • 21.3.4 填充
  • 21.3.5 步幅
  • 21.4 高维卷积
  • 21.4.1 具有多个通道的过滤器
  • 21.4.2 层次结构的步幅
  • 21.5 一维卷积
  • 21.6 1×1卷积
  • 21.7 卷积层
  • 初始化过滤器权重
  • 21.8 转置卷积
  • 21.9 卷积网络样例
  • 21.9.1 VGG16
  • 21.9.2 有关过滤器的其他内容:第1部分
  • 21.9.3 有关过滤器的其他内容:第2部分
  • 21.10 对手
  • 参考资料
  • 第22章 循环神经网络
  • 22.1 为什么这一章出现在这里
  • 22.2 引言
  • 22.3 状态
  • 使用状态
  • 22.4 RNN单元的结构
  • 22.4.1 具有更多状态的单元
  • 22.4.2 状态值的解释
  • 22.5 组织输入
  • 22.6 训练RNN
  • 22.7 LSTM和GRU
  • 22.7.1 门
  • 22.7.2 LSTM
  • 22.8 RNN的结构
  • 22.8.1 单个或多个输入和输出
  • 22.8.2 深度RNN
  • 22.8.3 双向RNN
  • 22.8.4 深度双向RNN
  • 22.9 一个例子
  • 参考资料
  • 第23章 Keras第1部分
  • 23.1 为什么这一章出现在这里
  • 23.1.1 本章结构
  • 23.1.2 笔记本
  • 23.1.3 Python警告
  • 23.2 库和调试
  • 23.2.1 版本和编程风格
  • 23.2.2 Python编程和调试
  • 23.3 概述
  • 23.3.1 什么是模型
  • 23.3.2 张量和数组
  • 23.3.3 设置Keras
  • 23.3.4 张量图像的形状
  • 23.3.5 GPU和其他加速器
  • 23.4 准备开始
  • “Hello,World”
  • 23.5 准备数据
  • 23.5.1 重塑
  • 23.5.2 加载数据
  • 23.5.3 查看数据
  • 23.5.4 训练-测试拆分
  • 23.5.5 修复数据类型
  • 23.5.6 归一化数据
  • 23.5.7 固定标签
  • 23.5.8 在同一个地方进行预处理
  • 23.6 制作模型
  • 23.6.1 将网格转换为列表
  • 23.6.2 创建模型
  • 23.6.3 编译模型
  • 23.6.4 模型创建摘要
  • 23.7 训练模型
  • 23.8 训练和使用模型
  • 23.8.1 查看输出
  • 23.8.2 预测
  • 23.8.3 训练历史分析
  • 23.9 保存和加载
  • 23.9.1 将所有内容保存在一个文件中
  • 23.9.2 仅保存权重
  • 23.9.3 仅保存架构
  • 23.9.4 使用预训练模型
  • 23.9.5 保存预处理步骤
  • 23.10 回调函数
  • 23.10.1 检查点
  • 23.10.2 学习率
  • 23.10.3 及早停止
  • 参考资料
  • 第24章 Keras第2部分
  • 24.1 为什么这一章出现在这里
  • 24.2 改进模型
  • 24.2.1 超参数计数
  • 24.2.2 改变一个超参数
  • 24.2.3 其他改进方法
  • 24.2.4 再增加一个全连接层
  • 24.2.5 少即是多
  • 24.2.6 添加dropout
  • 24.2.7 观察
  • 24.3 使用scikit-learn
  • 24.3.1 Keras包装器
  • 24.3.2 交叉验证
  • 24.3.3 归一化交叉验证
  • 24.3.4 超参数搜索
  • 24.4 卷积网络
  • 24.4.1 工具层
  • 24.4.2 为CNN准备数据
  • 24.4.3 卷积层
  • 24.4.4 对MNIST使用卷积
  • 24.4.5 模式
  • 24.4.6 图像数据增强
  • 24.4.7 合成数据
  • 24.4.8 CNN的参数搜索
  • 24.5 RNN
  • 24.5.1 生成序列数据
  • 24.5.2 RNN数据准备
  • 24.5.3 创建并训练RNN
  • 24.5.4 分析RNN性能
  • 24.5.5 一个更复杂的数据集
  • 24.5.6 深度RNN
  • 24.5.7 更多数据的价值
  • 24.5.8 返回序列
  • 24.5.9 有状态的RNN
  • 24.5.10 时间分布层
  • 24.5.11 生成文本
  • 24.6 函数式API
  • 24.6.1 输入层
  • 24.6.2 制作函数式模型
  • 参考资料
  • 第25章 自编码器
  • 25.1 为什么这一章出现在这里
  • 25.2 引言
  • 25.2.1 有损编码和无损编码
  • 25.2.2 区域编码
  • 25.2.3 混合展示
  • 25.3 最简单的自编码器
  • 25.4 更好的自编码器
  • 25.5 探索自编码器
  • 25.5.1 深入地观察隐藏变量
  • 25.5.2 参数空间
  • 25.5.3 混合隐藏变量
  • 25.5.4 对不同类型的输入进行预测
  • 25.6 讨论
  • 25.7 卷积自编码器
  • 25.7.1 混合卷积自编码器中的隐藏变量
  • 25.7.2 在CNN中对不同类型的输入进行预测
  • 25.8 降噪
  • 25.9 VAE
  • 25.9.1 隐藏变量的分布
  • 25.9.2 VAE的结构
  • 25.10 探索VAE
  • 参考资料
  • 第26章 强化学习
  • 26.1 为什么这一章出现在这里
  • 26.2 目标
  • 学习一个新游戏
  • 26.3 强化学习的结构
  • 26.3.1 步骤1:智能体选择一个动作
  • 26.3.2 步骤2:环境做出响应
  • 26.3.3 步骤3:智能体进行自我更新
  • 26.3.4 简单版本的变体
  • 26.3.5 回到主体部分
  • 26.3.6 保存经验
  • 26.3.7 奖励
  • 26.4 翻转
  • 26.5 L学习
  • 处理不可预测情况
  • 26.6 Q学习
  • 26.6.1 Q值与更新
  • 26.6.2 Q学习策略
  • 26.6.3 把所有东西放在一起
  • 26.6.4 显而易见而又被忽略的事实
  • 26.6.5 Q学习的动作
  • 26.7 SARSA
  • 26.7.1 实际中的SARSA
  • 26.7.2 对比Q学习和SARSA
  • 26.8 强化学习的全貌
  • 26.9 经验回放
  • 26.10 两个应用
  • 参考资料
  • 第27章 生成对抗网络
  • 27.1 为什么这一章出现在这里
  • 27.2 一个比喻:伪造钞票
  • 27.2.1 从经验中学习
  • 27.2.2 用神经网络伪造
  • 27.2.3 一个学习回合
  • 27.3 为什么要用“对抗”
  • 27.4 GAN的实现
  • 27.4.1 鉴别器
  • 27.4.2 生成器
  • 27.4.3 训练GAN
  • 27.4.4 博弈
  • 27.5 实际操作中的GAN
  • 27.6 DCGAN
  • 经验法则
  • 27.7 挑战
  • 27.7.1 使用大样本
  • 27.7.2 模态崩溃
  • 参考资料
  • 第28章 创造性应用
  • 28.1 为什么这一章出现在这里
  • 28.2 可视化过滤器
  • 28.2.1 选择网络
  • 28.2.2 可视化一个过滤器
  • 28.2.3 可视化层
  • 28.3 deep dreaming
  • 28.4 神经风格迁移
  • 28.4.1 在矩阵中捕获风格
  • 28.4.2 宏观蓝图
  • 28.4.3 内容损失
  • 28.4.4 风格损失
  • 28.4.5 实现风格迁移
  • 28.4.6 讨论
  • 28.5 为本书生成更多的内容
  • 参考资料
  • 第29章 数据集
  • 29.1 公共数据集
  • 29.2 MNIST和Fashion-MNIST
  • 29.3 库的内建数据集
  • 29.3.1 scikit-learn
  • 29.3.2 Keras
展开全部

评分及书评

4.8
4个评分
  • 用户头像
    给这本书评了
    5.0
    推荐语:以不同的视角理解和探索深度学习

    深度学习(或称深度神经网络)是一种使用了特殊分层计算结构的机器学习方法。近年来,深度学习在计算机视觉、语音识别、自然语言处理和机器人等应用领域取得了惊人的突破。2019 年 3 月 27 日,美国计算机协会(ACM)将 “计算机界的诺贝尔奖” 图灵奖授予了 3 位深度学习之父(Yoshua BengioGeoffrey Hinton Yann LeCun),以表彰他们给人工智能带来的重大突破 —— 这些突破使深度神经网络成为计算的关键组成部分。这也意味着深度学习的神秘面纱至此已被揭开。本书由计算机图形学专家 Andrew Glassner 撰写,介绍了深度学习的基础知识和实践深度学习的方法。全书分为上下两册:上册介绍深度学习的预备知识,涵盖基本的数学知识和机器学习的基本概念以及通用机器学习库 scikit-learn 的相关内容;下册深入介绍了各种成熟的深度学习方法和技术以及深度学习库 Keras。正如 Andrew Glassner 所描述的那样,在本书英文版出版之前,市面上其实已出现了较多的深度学习相关的图书。例如,由 Ian Goodfellow 等撰写的 Deep Learning 一书,对算法进行了非常详细的分析,并给出了大量的数学运算;还有一类风格截然不同的书,例如由 François Chollet 撰写的 Deep Learning with Python,主要是针对只想知道如何利用各种机器学习库快速完成某些特定任务的读者。本书介于这二者之间,主要介绍深度学习的基础知识,以帮助读者建立扎实的知识储备,进而了解深度学习实践的进展。特别需要强调的一点是,Andrew Glassner 擅长以类比和图示的方法讲解复杂的理论知识,因此本书对不具备相关理论知识的读者也会非常有帮助。总体而言,本书作者以不同的视角,帮助提升理解和探索深度学习,带给读者不一样的洞察!

      转发
      评论
      用户头像
      给这本书评了
      5.0

      机器学习(machine learning)这一术语涉及越来越多的技术,这些技术都有一个共同目标,那就是从数据中发现有意义的信息。其中,“数据” 是指任何可以被记录和测量的东西。它可以是原始数据(如连续几天的股票价格、不同行星的质量、小城集市里人们的身高),也可以是声音(如某人的手机录音)、图(如鲜花或猫的照片)、单词(如报纸文章或小说的文本),抑或是我们想要研究的其他任何东西。“有意义的信息” 是指我们可以从数据中提取到的任何信息,在某种程度上,这些信息对我们而言是有用的。我们可以判断哪些信息是有意义的,然后设计一个算法,从数据中找到尽可能多的这样的信息。一种发现隐藏在数据中的含义的早期流行方法涉及专家系统(expert system)的构建。这个想法的本质是:在研究了解人类专家知道什么、做什么以及怎样做后,将这些行为自动化,从本质上说,我们要制造一个能够模仿人类专家的计算机系统。

        转发
        评论

      出版方

      人民邮电出版社

      人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。