原文如下
自动驾驶-案例研究
为了帮助你实践ML策略,本周我们将介绍另一种场景并询问你将如何做。我们认为这个在ML项目中工作的“模拟器”将给出一个引导ML项目的任务。
你被一家自动驾驶的初创公司雇佣。你负责检测图片中的道路标志(停车标志,行人过路标志,前方施工标志)和交通信号标志(红灯和绿灯)。目标是识别这些对象中哪一个出现在每张图片中。例如,下面的图片包含一个行人过路标志和红色交通信号灯标志。
你的十万张带标签的图片是使用你汽车的前置摄像头拍摄的。这也是你最关心的数据分布。你认为你可以从互联网上获得更大的数据集,即使互联网数据的分布与汽车前置摄像头拍摄的不相同,这也可能对训练有所帮助。
==================================================================
问题1
你刚刚开始这个项目。什么是你做的第一件事?假设下面的每个步骤将花费大约相等的时间(大约几天)。
- 花几天的时间检查这些任务的人类表现,以便能够得到贝叶斯误差的准确估计。
- 花几天时间训练一个基本模型,看看它会犯什么错误。正确
- 花几天的时间使用汽车前置摄像头采集更多数据,以更好地了解每单位时间可收集多少数据。
- 花几天时间去获取互联网的数据,这样你就能更好地了解哪些数据是可用的。
机器学习需要不断迭代,不断优化,所以刚开始最需要做的事情是解决有无的问题,先搞出一个简单的模型跑跑看,然后根据结果进行误差分析,再根据分析结果逐步完善模型。
==================================================================
问题2
你的目标是检测图片中的道路标志(停车标志,行人过路标志,前方施工标志)和交通信号标志(红灯和绿灯)。目标是识别这些对象中哪一个出现在每张图片中。你计划使用深度NN,隐藏层使用ReLU激活单元。
对于输出层,使用Softmax激活将是输出层的一个比较好的选择,因为这是一个多任务学习问题,对吗?
- Yes
- No。正确
softmax函数只适用于单一因素的概率计算。如果每个图片中只有一个可能性:停止标志、减速带、人行横道、红绿灯, 那么SoftMax将是一个很好的选择。由于本案例不是这种情况,所以不能使用Softmax 激活函数。
==================================================================
问题3
你正在做误差分析并计算算法所产生的错误。你认为你应该手动查看并仔细检查哪些数据集,一次只查看一个图像?
- 随机选择500张图片
- 一万张算法分类错误的图片。
- 随机选择一万张图片
- 500张算法分类错误的图片。正确
人工检查的重点是分析算法判断错误的例子,查看算法分类出错的那些图片是非常重要的。由于查看算法分类错误造成的每个图片都不太实际,所以我们需要随机选择500个这样的图片并分析出现这种错误的原因。
==================================================================
问题4
在处理了几周数据后,你的团队得到以下数据:
- 十万张使用汽车前摄像头拍摄的标记了的图片。
- 九十万张从互联网下载的标记了道路的图片。
- 每张图片的标签都精确地表示特定的道路标志,交通信号或者它们的组合。例如: y ( i ) = [ 1 0 0 1 0 ] y^{(i)}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 1 \\ 0 \\ \end{bmatrix} y(i