Source: 吴恩达 (Andrew Wu)
1.1 Introduction to ML Strategy
1.2 Setting up your goal
1.3 Comparing to human-level performance
2.1 Error Analysis
2.1.1 Carrying out error analysis
2.1.2 Cleaning up incorrectly labeled data
2.1.3 Build your first system quickly, then iterate
2.2 Mismatched training and dev/test set
2.2.1 Training and testing on different distributions
- 生成一个 Training -Dev 测试集,用以衡量mismatch error
2.2.2 Bias and Variance with mismatched data distributions

2.2.3 Addressing data mismatch
-
人工分析不同分布之间的差异, 然后想办法通过改造数据来弥合不同数据之间的差异。比如对清楚的语音加上噪音。注意,人工的修饰(例如后加的噪音)如果不够general, 则会造成模型对于这种修饰的过拟合。
-
AI synthesis data (audio, video etc) 优点:大量增加训练数据。缺点:生成的数据不够全面,比如生成汽车的图片可能只是所有汽车图片的一部分。如果过分依赖于这部分数据,会把模型带偏。
2.3 Learning from multiple tasks
2.3.1 Transfer learning
- Pre-train & Fine-tuning
- 专项训练数据少的话可以只训练最后几层,甚至只训练输出层,选取重新训练的层的时候,从输出层依次向前选取。
- 方法: 把要重新训练的层设为 random。
- 原理:前面的Layer 捕捉了basic feature, 这部分featrue对很多类型的数据都是一样的。
- 适用场景: Pre-train的训练数据数量大大多于Fine-tuning 的训练数据。
- 不适用场景: 如果 Pre-train的训练数据比 Fine-tuning 的训练数据还多,甚至二者差不多的时候,不适用Transfer learning。 直接用 Fine-tuning 的训练数据 训练网络, 效果会更好。
2.3.2 Multi-task learning
- 在一个模型中完成多个类似的功能,效果好于多个模型。比如在一个模型中识别图片中是否所有红绿灯,行人,汽车... 。 原理是他们可以共享前面layer 的basic feature。
- 即使训练数据的 lable 中包含 ? 也不影响训练结果。
- Multi-task training 要求多个训练目标有共同的 basic features。
- 各个task 对应的数据要大致想当
- Network 要够大
2.4 End-to-end deep learning
2.4.1 What is end-to-end deep learning?
- 一站式Training,把传统的pipeline 改造成一个大的神经网络
- 与传统方式不同, end-to-end learing 需要多一个数量级的数据
- 数据不够:精打细算; 数据足够:为所欲为。
2.4.2 Whether to use end-to-end deep learning
- 优点:
- 让数据说话
- 对人工知识依赖低(领域内知识)
- 缺点:
- 数据需求量大
- 有些有益的领域知识没法利用
网友评论