0%

吴恩达《深度学习专项》第三阶段总结与第四阶段预览

第三阶段回顾

在过去两周里,我们学习了改进深度学习模型的一些策略。让我们来回顾一下。

首先,我们应该设置好任务的目标。选取开发/测试集时,应参考实际应用中使用的数据分布。设置优化指标时,应使用单一目标。可以设置一个最优化目标和多个满足目标。

在搭建模型时,我们可以根据现有的数据量、问题的难易度,选择端到端学习或者是多阶段学习。

训练模型前,如果有和该任务相似的预训练模型,我们可以采取迁移学习,把其他任务的模型权重搬过来;如果我们的模型要完成多个相似的任务,可以同时训练多个任务的模型。

有了目标,搭好了模型之后,就可以开始训练模型了。有了训练好的模型后,我们可以根据模型的训练误差、训练开发误差、开发误差来诊断模型当前存在的问题。当然,在诊断之前,我们可以先估计一下人类在该问题上的最低误差,以此为贝叶斯误差的一个估计。通过比较贝叶斯误差和训练误差,我们能知道模型是否存在偏差问题;通过比较训练误差和训练开发误差,我们能知道模型是否存在方差问题;通过比较训练开发误差和开发误差,我们能知道模型是否存在数据不匹配问题。

另一方面,如果在改进模型时碰到了问题,不妨采取错误分析技术,看看模型究竟错在哪。我们可以拿出开发集的一个子集,统计一下模型的具体错误样例,看看究竟是模型在某些条件下表现得不好,还是标错的数据太多了。

这些内容可能比较偏向于工程经验,没有过多的数学理论。但是,相信大家在搭建自己的深度学习项目时,这些知识一定能派上用场。

第四阶段预览

在这之后,我们要分别学习两大类神经网络:处理图像的网络和处理序列数据的网络。在第四门课《卷积神经网络》中,我们就会学习能够处理图像问题的卷积神经网络。一起来看看接下来要学的内容吧。

《卷积神经网络》的课需花四周学完。第一周,我们会学习卷积神经网络的基本构件,建立对卷积神经网络的基本认识,为后续的学习做准备。具体的内容有:

  • 卷积操作
    • 从卷积核到卷积
    • 卷积的属性——填充、步幅
    • 卷积层
  • 池化操作
  • 卷积神经网络示例

最简单的计算机视觉任务是图像分类。第二周,我们将学习一系列图像分类网络。这些网络不仅能在图像分类上取得优秀的成绩,还是很多其他计算机视觉任务的基石。通过学习它们,我们不仅能见识一些经典网络的架构,更能从中学习到搭建卷积神经网络的一般规律。其内容有:

  • 早期神经网络
    • LeNet-5
    • AlexNet
    • VGG
  • 残差神经网络
  • Inception 网络
  • MobileNet
  • 搭建卷积网络项目
    • 使用开源代码
    • 迁移学习
    • 数据增强

第三周,我们将学习计算机视觉中一个比较热门的任务——目标检测。目标检测要求算法不仅能辨别出图片中的物体,还要能把物体精确地框出来。我们会一步一步学习如何搭建完成目标检测的卷积神经网络:

  • 目标定位与关键点检测
  • 使用卷积神经网络的目标检测
    • 滑动窗口算法
    • 基于卷积的滑动窗口
  • YOLO 算法
    • 结合目标定位与滑动窗口
    • 交并比(IoU)
    • NMS(非极大值抑制)
    • 锚框(Anchor boxes)
  • R-CNN 系列算法简介

此外,这周还会稍微提及另一个计算机视觉任务——语义分割的基本知识:

  • 基于U-Net的语义分割
    • 反卷积
    • U-Net架构

最后一周,第四周,我们又会认识两个新任务:人脸检测与神经网络风格迁移。具体的内容有:

  • 人脸检测
    • 人脸检测问题与一次性学习
    • 孪生神经网络
    • 三元组误差
    • 转化成二分类问题
  • 神经网络风格迁移
    • 风格迁移简介
    • 利用神经网络学到的东西
    • 风格迁移中的误差
    • 推广到1维和3维

相比之前的课,学习第四门课时需要花更多的精力,主要因为以下几点:

  1. 课程难度变高。
  2. 课程的编程练习很多。
  3. 课堂上介绍了很多论文作为拓展学习的方向。

如果你未来要以计算机视觉为研究方向的话,这四周的内容一定要认真掌握。同时,编程练习和论文阅读也不能落下。据我估计,如果要打好计算机视觉方向上的坚实的基础,至少还要多花费两周时间去认真阅读经典论文,做好相关的技术调研。

在未来的几周里,我仅会上传课堂笔记,并尽最大可能复现一下课后的习题。在所有的五门课上完后(大约2个月后),我会回过头来补充计算机视觉相关的论文阅读笔记、项目实现笔记,对视频课中没来得及讲完的内容查缺补漏,以呈现一套翔实的深度学习学习笔记,辅助大家更好地入门深度学习。