机器学习策略篇:详解为什么是人的表现?(Why human-level performance?)

为什么是人的表现?

在过去的几年里,更多的机器学习团队一直在讨论如何比较机器学习系统和人类的表现,为什么呢?

认为有两个主要原因,首先是因为深度学习系统的进步,机器学习算法突然变得更好了。在许多机器学习的应用领域已经开始见到算法已经可以威胁到人类的表现了。其次,事实证明,当试图让机器做人类能做的事情时,可以精心设计机器学习系统的工作流程,让工作流程效率更高,所以在这些场合,比较人类和机器是很自然的,或者要让机器模仿人类的行为。

来看几个这样的例子,看到很多机器学习任务中,当在一个问题上付出了很多时间之后,所以\(x\)轴是时间,这可能是很多个月甚至是很多年。在这些时间里,一些团队或一些研究小组正在研究一个问题,当开始往人类水平努力时,进展是很快的。但是过了一段时间,当这个算法表现比人类更好时,那么进展和精确度的提升就变得更慢了。也许它还会越来越好,但是在超越人类水平之后,它还可以变得更好,但性能增速,准确度上升的速度这个斜率,会变得越来越平缓,都希望能达到理论最佳性能水平。随着时间的推移,当您继续训练算法时,可能模型越来越大,数据越来越多,但是性能无法超过某个理论上限,这就是所谓的贝叶斯最优错误率(Bayes optimal error )。所以贝叶斯最优错误率一般认为是理论上可能达到的最优错误率,就是说没有任何办法设计出一个\(x\)到\(y\)的函数,让它能够超过一定的准确度。

例如,对于语音识别来说,如果\(x\)是音频片段,有些音频就是这么嘈杂,基本不可能知道说的是什么,所以完美的准确率可能不是100%。或者对于猫图识别来说,也许一些图像非常模糊,不管是人类还是机器,都无法判断该图片中是否有猫。所以,完美的准确度可能不是100%。

而贝叶斯最优错误率有时写作Bayesian ,即省略optimal ,就是从\(x\)到\(y\)映射的理论最优函数,永远不会被超越。所以应该不会感到意外,这紫色线,无论在一个问题上工作多少年,永远不会超越贝叶斯错误率,贝叶斯最佳错误率。

事实证明,机器学习的进展往往相当快,直到超越人类的表现之前一直很快,当超越人类的表现时,有时进展会变慢。认为有两个原因,为什么当超越人类的表现时,进展会慢下来。一个原因是人类水平在很多任务中离贝叶斯最优错误率已经不远了,人们非常擅长看图像,分辨里面有没有猫或者听写音频。所以,当超越人类的表现之后也许没有太多的空间继续改善了。但第二个原因是,只要的表现比人类的表现更差,那么实际上可以使用某些工具来提高性能。一旦超越了人类的表现,这些工具就没那么好用了。

的意思是这样,对于人类相当擅长的任务,包括看图识别事物,听写音频,或阅读语言,人类一般很擅长处理这些自然数据。对于人类擅长的任务,只要的机器学习算法比人类差,就可以从让人帮标记数据,可以让人帮忙或者花钱请人帮标记例子,这样就有更多的数据可以喂给学习算法。下周会讨论,人工错误率分析,但只要人类的表现比任何其他算法都要好,就可以让人类看看算法处理的例子,知道错误出在哪里,并尝试了解为什么人能做对,算法做错。这样做有助于提高算法的性能。也可以更好地分析偏差和方差,稍后会谈一谈。但是只要的算法仍然比人类糟糕,就有这些重要策略可以改善算法。而一旦的算法做得比人类好,这三种策略就很难利用了。所以这可能是另一个和人类表现比较的好处,特别是在人类做得很好的任务上。