2.9 计算机视觉现状(The state of computer vision)

大部分机器学习问题是介于少量数据和大量数据范围之间的。

  • 语音识别有很大数量的数据

  • 虽然现在图像识别或图像分类方面有相当大的数据集,但因为图像识别是一个复杂的问题,通过分析像素并识别出它是什么,即使在线数据集非常大,如超过一百万张图片,仍然希望能有更多的数据

  • 物体检测拥有的数据更少

  • 图像识别是如何看图片的问题,并且告诉你这张图是不是猫,而对象检测则是看一幅图,画一个框,告诉你图片里的物体,比如汽车等等。因为获取边框的成本比标记对象的成本更高,所以进行对象检测的数据往往比图像识别数据要少

当有很多数据时,倾向于使用更简单的算法和更少的手工工程,只要有一个大型的神经网络,甚至一个更简单的架构,就可以去学习它想学习的东西

当没有那么多的数据时,更多的是手工工程

对机器学习应用时,通常学习算法有两种知识来源:

  • 一个来源是被标记的数据,像(x,y)(x,y)应用在监督学习

  • 第二个来源是手工工程,有很多方法去建立一个手工工程系统,它可以是源于精心设计的特征,手工精心设计的网络体系结构或者是系统的其他组件。当没有太多标签数据时,只需要更多地考虑手工工程

在基准研究和比赛中,下面的tips可能会有较好的表现:

  • 集成,意味着想好了要的神经网络之后,可以独立训练几个神经网络,并平均它们的输出。比如说随机初始化三个、五个或者七个神经网络,然后训练所有这些网络,对输出y^\hat y进行平均计算,而不要平均权重,可能会在基准上提高1%,2%或者更好。但因为集成意味着要对每张图片进行测试,可能需要在从3到15个不同的网络中运行一个图像,会让运行时间变慢

  • Multi-crop at test timeMulti-crop是一种将数据扩充应用到测试图像中的一种形式,在测试图片的多种版本上运行分类器,输出平均结果

如把猫的图片复制四遍,包括两个镜像版本。如取中心的crop,然后取四个角落的crop,通过分类器来运行它

编号1和编号3是中心crop,编号2和编号4是四个角落的crop。把这些加起来会有10种不同的图像的crop,命名为10-crop。通过分类器来运行这十张图片,然后对结果进行平均

集成的一个大问题是需要保持所有这些不同的神经网络,占用了更多的计算机内存。multi-crop,只保留一个网络,不会占用太多的内存,但仍然会让运行时间变慢

Last updated