目录 请先看前言 前言 1 深度学习 1.1 介绍神经网络 1.1.1 什么是神经网络 1.2 神经网络基础 1.2.1 如何将数据输入到神经网络中 1.2.2 神经网络是如何进行预测的 1.2.3 神经网络如何判断自己预测得是否准确 1.2.4 神经网络是如何进行学习的 1.2.5 计算图 1.2.6 如何计算逻辑回归的偏导数 1.2.7 向量化 1.2.8 如何开始使用python 1.2.9 如何向量化人工智能算法 1.2.10 [实战编程]教你编写第一个人工智能程序 1.3 浅神经网络 1.3.1 浅层神经网络 1.3.2 如何计算浅层神经网络的前向传播 1.3.3 如何计算浅层神经网络的反向传播 1.3.4 为什么需要激活函数 1.3.5 常见的激活函数 1.3.6 激活函数的偏导数 1.3.7 随机初始化参数 1.3.8 [实战编程]教你编写浅层神经网络 1.4 深度神经网络 1.4.1 为什么需要深度神经网络 1.4.2 如何计算深度神经网络 1.4.3 核对矩阵的维度 1.4.4 参数和超参数 1.4.5 [实战编程] 构建深度神经网络 2 实战优化 2.1 实战基础 2.1.1 如何配置数据集 2.1.2 欠拟合和过拟合 2.1.3 如何解决欠拟合与过拟合 2.1.4 L2正则化 2.1.5 dropout 2.1.6 数据增强 2.1.7 将输入特征进行归一化处理 2.1.8 梯度消失和梯度爆炸 2.1.9 梯度检验 2.1.10 [实战编程] 构建实战神经网络 2.2 优化算法 2.2.1 Mini-batch 梯度下降 2.2.2 理解Mini-batch 梯度下降 2.2.3 指数加权平均 2.2.4 理解指数加权平均 2.2.5 指数加权平均的偏差修正 2.2.6 momentum梯度下降 2.2.7 RMSprop 2.2.8 Adam优化算法 2.2.9 学习率衰减 2.2.10 局部最优问题 2.2.11 [实战编程] 优化神经网络 2.3 调试神经网络 2.3.1 调试处理 2.3.2 为超参数选择和适合范围 2.3.3 超参数训练的实践 2.3.4 网络中的正则化激活函数 2.3.5 将 Batch Norm拟合进神经网络 2.3.6 为什么Batch Norm奏效? 2.3.7 测试时的Batch Norm 2.3.8 Softmax 回归 2.3.9 训练一个Softmax 分类器 2.3.10 深度学习框架 2.3.11 TensorFlow(TensorFlow) 2.3.12 [实战编程] 使用框架构建神经网络 3 深度学习项目实战 3.1 项目实战一 3.1.1 为什么是ML策略? 3.1.2 正交化 3.1.3 单一数字评估指标 3.1.4 满足和优化指标 3.1.5 训练集、开发集、测试集的划分 3.1.6 开发集和测试集的大小 3.1.7 什么时候改变开发集/测试集和评估指标 3.1.8 为什么是人的表现 3.1.9 可避免偏差 3.1.10 理解人类的表现 3.1.11 超过人类的表现 3.1.12 改善你的模型表现 3.1.13 [实战编程] 大项目神经网络 3.2 实战项目二 3.2.1 误差分析 3.2.2 清除标注错误的数据 3.2.3 快速搭建你的第一个系统,并进行迭代 3.2.4 在不同的分布上的训练集和测试集 3.2.5 数据分布不匹配的偏差与方差分析 3.2.6 处理数据不匹配问题 3.2.7 迁移学习 3.2.8 多任务学习 3.2.9 什么是端到端的深度学习? 3.2.10 是否使用端到端的深度学习方法 3.2.11 [实战编程] 优化大项目 4 人脸识别 4.1 卷积神经网络 4.1.1 计算机视觉 4.1.2 边缘检测示例 4.1.3 更多边缘检测内容 4.1.4 Padding1.5 卷积步长 4.1.6 三维卷积 4.1.7 单层卷积网络 4.1.8 简单卷积网络示例 4.1.9 池化层 4.1.10 卷积神经网络示例 4.1.11 为什么使用卷积? 4.1.12 [实战编程] 构建简单的人脸识别程序 4.2 深度卷积网络 4.2.1 为什么要进行实例探究? 4.2.2 经典网络 4.2.3 残差网络 4.2.4 残差网络为什么有用? 4.2.5 网络中的网络以及 1×1 卷积 4.2.6 谷歌 Inception 网络简介 4.2.7 Inception 网络 4.2.8 使用开源的实现方案 4.2.9 迁移学习 4.2.10 数据扩充 4.2.11 计算机视觉现状 4.2.12 [实战编程] 优化人脸识别程序 4.3 目标检测 4.3.1 目标定位 4.3.2 特征点检测 4.3.3 目标检测 4.3.4 卷积的滑动窗口实现 4.3.5 Bounding Box预测 4.3.6 交并比 4.3.7 非极大值抑制 4.3.8 Anchor Boxes 4.3.9 YOLO 算法 4.3.10 候选区域 4.3.11 [实战编程] 构建商用人脸识别程序 4.4 油画风格转换 4.4.1 什么是转换? 4.4.2 One-Shot学习 4.4.3 Siamese 网络 4.4.4 Triplet 损失 4.4.5 风格验证与二分类 4.4.6 什么是神经风格转换? 4.4.7 什么是深度卷积网络? 4.4.8 代价函数 4.4.9 内容代价函数 4.4.10 风格代价函数 4.4.11 一维到三维推广 4.4.12 [实战编程] 构建风格转换程序 5 语音识别 5.1 循环序列模型 5.1.1 为什么选择序列模型? 5.1.2 数学符号 5.1.3 循环神经网络模型 5.1.4 通过时间的反向传播 5.1.5 不同类型的循环神经网络 5.1.6 语言模型和序列生成 5.1.7 对新序列采样 5.1.8 循环神经网络的梯度消失 5.1.9 GRU单元 5.1.10 长短期记忆 5.1.11 双向循环神经网络 5.1.12 深层循环神经网络 5.1.13 [实战编程]构建简单的语音识别程序 5.2 自然语言处理与词嵌入 5.2.1 词汇表征 5.2.2 使用词嵌入 5.2.3 词嵌入的特性 5.2.4 嵌入矩阵 5.2.5 学习词嵌入 5.2.6 Word2Vec2.7 负采样 5.2.8 GloVe 词向量 5.2.9 情绪分类 5.2.10 词嵌入除偏 5.2.11 [实战编程] 优化语音识别程序 5.3 序列模型和注意力机制 5.3.1 基础模型 5.3.2 选择最可能的句子 5.3.3 集束搜索 5.3.4 改进集束搜索 5.3.5 集束搜索的误差分析 5.3.6 Bleu 得分 5.3.7 注意力模型直观理解 5.3.8注意力模型 5.3.9语音识别 5.3.10触发字检测 5.3.11 [实战编程] 构建商用语音识别 6 生成对抗网络GANs 7 自动驾驶 8 强化学习 9 无监督学习 10 人工大脑