吴恩达老师学习笔记

神经网络和深度学习

深度学习

  1. 什么是神经网络?
  2. 神经网络的监督学习
  3. 为什么深度学习会兴起?
  4. 关于这门课?
  5. 课程资源

神经网络的编程基础

  1. 二分类
  2. 逻辑回归的代价函数
  3. 梯度下降法
  4. 导数
  5. 跟多的代数例子
  6. 计算图
  7. 使用计算图求导数
  8. 逻辑回归中的梯度下降
  9. m个样本的梯度下降
  10. 向量化
  11. 向量化的更多例子
  12. 向量化逻辑回归
  13. 向量化logistic回归的梯度输出
  14. Python中的广播
  15. 关于python numpy向量的说明
  16. jupyter/iPython Notebooks快速入门
  17. 选修logistic损失函数的释放

浅层神经网络

  1. 神经网络概述
  2. 神经网络的表示
  3. 计算一个神经网络的输出
  4. 多样本向量化
  5. 向量化实现的解释
  6. 激活函数
  7. 为什么需要非线性激活函数?
  8. 激活函数的导数
  9. 神经网络的梯度下降
  10. 直观理解反向传播
  11. 随机初始化(Random+Initialization)

深层神经网络

  1. 深层神经网络
  2. 前向传播和反向传播
  3. 深层网络中的前向传播
  4. 核对矩阵的维数
  5. 为什么使用深层表示?
  6. 搭建神经网络块
  7. 参数vs超参数
  8. 深度学习和大脑的关联性

改善深层神经网络:超参数调试、正则化、以及优化

深度学习实践层面

  1. 训练、验证、测试集(Train/Dev/Test sets)
  2. 偏差、方差(Bias/Vavriance)
  3. 机器学习基础
  4. 正则化(Regularization)
  5. 为什么正则化有利于预防过拟合
  6. dropout正则化
  7. 理解dropout
  8. 其他正则化
  9. 归一化输入(Normalizing inputs)
  10. 梯度消失/梯度爆炸(Vanishing / Exploding gradients)
  11. 神经网络的权重初始化
  12. 梯度的数值逼近(Numerical approximation of gradients)
  13. 梯度检验(Gradient checking)
  14. 梯度检验应用的注意事项(Gradient Checking Implementation Notes)

优化算法(Optimization algorithms)

  1. Mini-batch梯度下降(Mini-batch gradient descent)

  2. 理解mini-batch梯度下降法(Understanding mini-batch gradient descent)

  3. 指数加权平均数

  4. 理解指数加权平均数

  5. 指数加权平均数的偏差修正

  6. 动量梯度下降法(Gradient descent with Momentum)
    v d w = β v d w + ( 1 − β ) d w v d b = β v d b + ( 1 − β ) d b W = W − α v d w , b = b − α v d b H y p e r p a r a m e t e r s : α , β ( β = 0.9 ) v_{dw} =\beta v_{dw} + (1-\beta){dw}\\ v_{db} = \beta v_{db} + (1-\beta){db}\\ W = W - \alpha v_{dw}, b = b - \alpha v{db}\\ Hyperparameters:\alpha, \beta(\beta = 0.9) vdw=βvdw+(1β)dwvdb=βvdb+(1β)dbW=Wαvdw,b=bαvdbHyperparameters:α,β(β=0.9)

  7. RMSprop(均方根)

S d w = β S d w + ( 1 − β ) d W 2 S d b = β S d b + ( 1 − β ) d b 2 W = W − α d w S d w , b = b − α d b S d b S_{dw} = \beta{S_{dw}} + (1-\beta)dW^2 \\ S_{db} = \beta{S_{db}} + (1-\beta)db^2 \\ W = W - \alpha\frac{dw}{\sqrt{S_{dw}}},b = b - \alpha\frac{db}{\sqrt{S_{db}}} Sdw=βSdw+(1β)dW2Sdb=βSdb+(1β)db2W=WαSdw dwb=bαSdb db

  1. Adam优化算法(Adam optimization algorithm)

    Adam算法结合了Momentum和RMSProp梯度下降法,能有效适用于不同神经网络。

    Momentum
    v d w = β 1 v d w + ( 1 − β 1 ) d w v d b = β 1 v d b + ( 1 − β 1 ) d b v_{dw} =\beta_1 v_{dw} + (1-\beta_1){dw}\\ v_{db} = \beta_1 v_{db} + (1-\beta_1){db}\\ vdw=β1vdw+(1β1)dwvdb=β1vdb+(1β1)db
    RMSprop
    S d w = β 2 S d w + ( 1 − β 2 ) d W 2 S d b = β 2 S d b + ( 1 − β 2 ) d b 2 S_{dw} = \beta_2{S_{dw}} + (1-\beta_2)dW^2 \\ S_{db} = \beta_2{S_{db}} + (1-\beta_2)db^2 \\ Sdw=β2Sdw+(1β2)dW2Sdb=β2Sdb+(1β2)db2
    计算偏差修正
    v d W c o r r e c t e d = v d w 1 − β 1 t v d b c o r r e c t e d = v d b 1 − β 1 t S d W c o r r e c t e d = S d w 1 − β 2 t S d b c o r r e c t e d = S d b 1 − β 2 t v^{corrected}_{dW} = \frac{v_{dw}}{1-\beta^t_1}\\ v^{corrected}_{db} = \frac{v_{db}}{1-\beta^t_1} \\ S^{corrected}_{dW} = \frac{S_{dw}}{1-\beta^t_2}\\ S^{corrected}_{db} = \frac{S_{db}}{1-\beta^t_2} vdWcorrected=1β1tvdwvdbcorrected=1β1tvdbSdWcorrected=1β2tSdwSdbcorrected=1β2tSdb
    更新权重
    < E m p t y   M a t h   B l o c k > <Empty \space Math \space Block> <Empty Math Block>
    b = b - \frac{v{corrected}_{db}}{\sqrt{S{corrected}_{db}} + \epsilon}\

  2. 学习率衰减(Learning rate decay)

α = 1 a + d e c a y − r a t e ∗ e p o c h − n u m ∗ α 0 \alpha = \frac1{a + decay-rate * epoch-num}*\alpha_0 α=a+decayrateepochnum1α0

  1. other learning rate decay methods
    $$
    f(x) = \left{
    \begin{array}{lr}
    0.95^{epoch-num}\alpha_0& 指数衰减\
    \frac{k}{\sqrt{epoch}}
    \alpha_0& \
    (\frac{1}{2})^{epoch_num}*\alpha_0 & 离散下降(discrete stair cease)

    \end{array}
    \right.
    $$

  2. 局部最优的问题(The problem of local optima)

超参数调试、Batch正则化和程序框架(Hyperparameter tuning)

  1. 调试处理
  2. 为超参数选择合适的范围
  3. 超参数调试实践:Pandas VS Caviar
  4. 归一化网络的激活函数
  5. 将Batch Norm拟合进神经网络
  6. Batch Norm 为什么奏效?
  7. 测试时的Batch Norm
  8. Softmax回归(Softmax regression)
  9. 训练一个Softmax分类器

结构化机器学习项目

机器学习策略一

  1. 为什么是ML策略?
  2. 正交化
  3. 单一数字评估指标
  4. 满足和优化指标
  5. 训练/开发/测试集划分
  6. 开发和测试集的大小
  7. 什么时候该改变开发/测试集合指标?
  8. 为什么是人的表现?
  9. 避免偏差
  10. 理解人的表现
  11. 超过人的表现
  12. 改善你的模型的表现

机器学习策略二

  1. 进行误差分析
  2. 清除标注错误的数据
  3. 快速搭建你的第一个系统,并进行迭代
  4. 使用来自不同分布的数据进行训练和测试
  5. 数据分布不匹配是的偏差与方差分析
  6. 处理数据不不匹配问题
  7. 迁移学习
  8. 多任务学习
  9. 什么是端到端的深度学习?
  10. 是否要使用端到端的深度学习?

卷积神经网络

卷积神经网络

  1. 计算机视觉
  2. 边缘检测示例
  3. 更多边缘检测内容
  4. Padding
  5. 卷积步长
  6. 三维卷积
  7. 单层卷积网络
  8. 简单卷积网络示例
  9. 池化层
  10. 卷积神经网络示例
  11. 为什么使用卷积?

深度卷积网络:实例探究

  1. 为什么要进行实例探究

  2. 经典网络

    LeNet-5

    AlexNet

    VGGNet

  3. 残差网络(ResNets)(Residual Networks )

  4. 残差网络为什么有用?

  5. 网络中的网络以及1*1卷积

  6. 谷歌Inception网络简介

  7. Inception网络

  8. 使用开源的实现方案(Using open-source implementations)

  9. 迁移学习(Transfer Learning)

  10. 数据增强(Data augmentation)

  11. 计算机视觉现状

目标检测

  1. 目标定位
  2. 特征点检测
  3. 目标检测
  4. 滑动窗口的卷积实现
  5. Bouding Box预测
  6. 交并比
  7. 非极大值抑制
  8. Anchor Boxes
  9. YOLO算法
  10. 候选区(Region proposals)

特殊应用:人脸识别和神经风格转换

  1. 什么是人脸识别?
  2. One-Shot学习
  3. Siamese网络
  4. Triplet损失
  5. 人脸验证与二分类
  6. 什么是神经网络迁移
  7. 深度卷积网学习什么?
  8. 代价函数
  9. 内容代价函数(Content Cost Function)
  10. 风格代价函数(Style cost function)
  11. 一维到三维推广

序列模型(Sequence Models)

循环序列模型(ReCurrent Neural Networks)

  1. 为什么选择序列模型?

  2. 数学符号

  3. 循环神经网络模型

  4. 通过时间的反向传播

  5. 不同类型的循环神经网络

  6. 语言模型和序列生成

  7. 对新序列采样

  8. 循环神经网络的梯度消失

  9. GRU单元

  10. 长短期记忆(LSTM)

  11. 对双向循环神经网络

  12. 深层循环神经网络

自然语言处理与词嵌入(Natural Language Processing and Word Embeddings)

  1. 词汇表征(Word Representation)
  2. 使用词汇嵌入
  3. 词嵌入的特性
  4. 嵌入矩阵
  5. 学习词嵌入
  6. Word2Vec
  7. 负采样
  8. Glove词向量
  9. 情感分类
  10. 词嵌入出偏

序列模型和注意力机制(Sequence models & Attention mechanism)

  1. 序列结构的各种序列
  2. 选择最可能的句子
  3. 集束搜索
  4. 改进进集搜索
  5. 集束缚的误差分析
  6. Bleu得分
  7. 注意力模型直观理解
  8. 注意力模型
  9. 语音识别
  10. 触发字检测
  11. 结论和致谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值