学自吴恩达的深度学习课程
机器学习性能
- 开始会上升很快,但当超过人类的表现的时候,速度开始变的平缓
- 性能会有一个理论上界,就是 Bayes optimal error ,不可能被超越
当机器的性能比人类差的时候,可以:
- 从人类获取更多的标记数据
- 人工误差分析,了解为什么人类能够做对,机器就不能
- 更好的分析偏差和方差
端到端的深度学习
- 用单个神经网络代替多个学习阶段
- 语音识别 --- 提取特征 --- 单词元音 --- 单词 --- 文本
深度学习end to end 直接从 input 到 output , 即从audio 到 text - 有一个前提,数据要足够多,不然旧的系统获取表现的更好
- 有时分成多步可能更好,比如 人脸识别, 先识别出人脸的位置,再识别出人脸的身份。(分出的两个任务都有足够的训练数据)
- 对于无人驾驶来说,单纯的end to end 是不足以去学习到比较好的效果的,多阶段的方式或许是更好的选择。
Pros:
- 让数据直接说话,没有人类的干预
- 更少的人工设计
Cons:
- 需要大量的数据
- 排除了可能有用的手工设计组件(手工的就是直接将知识注入学习系统当中 )
Choice:
- 关键的问题:是否有足够的数据去学习从x 到 y 的end to end 的映射。
多任务学习
- 一个网络进行多个任务
- 相比较之下,迁移学习的使用更多,都是因为数据量不够,需要的其他的任务学到的知识作为补充。
- 训练时,不管数据的标签是否完整,都可以进行训练
什么时候有意义:
- 一系列的任务能够共享一些低层次的特征
- 每一个任务的数据量很接近,如果要专注于多个人任务中的一个任务时,其他的任务加起来的数据量要必须大的多,才能对单个任务提供有用的知识。(类似于迁移学习)
- 可以训练一个足够大的神经网络来同时在所有任务上取得好的表现
- 多任务学习会降低性能的唯一情况是:神经网络还不够大???,如果足够大的神经网络,性能很少会比单任务神经网络低