人工智能教程 - 目录

目录

请先看前言

前言

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.4Padding1.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 人工大脑