# 2.9 计算机视觉现状（The state of computer vision）

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/7e51335f705120b35fa4ed5444ec5cda.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/7e51335f705120b35fa4ed5444ec5cda.png)

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

* 语音识别有很大数量的数据
* 虽然现在图像识别或图像分类方面有相当大的数据集，但因为图像识别是一个复杂的问题，通过分析像素并识别出它是什么，即使在线数据集非常大，如超过一百万张图片，仍然希望能有更多的数据
* 物体检测拥有的数据更少
* 图像识别是如何看图片的问题，并且告诉你这张图是不是猫，而对象检测则是看一幅图，画一个框，告诉你图片里的物体，比如汽车等等。因为获取边框的成本比标记对象的成本更高，所以进行对象检测的数据往往比图像识别数据要少

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

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

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/e6701cf4129576648941bfd593a13c77.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/e6701cf4129576648941bfd593a13c77.png)

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

* 一个来源是被标记的数据，像$$(x,y)$$应用在监督学习
* 第二个来源是手工工程，有很多方法去建立一个手工工程系统，它可以是源于精心设计的特征，手工精心设计的网络体系结构或者是系统的其他组件。当没有太多标签数据时，只需要更多地考虑手工工程

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/c87f6cc9ec9c45ad57a049b6baf0b86d.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/c87f6cc9ec9c45ad57a049b6baf0b86d.png)

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

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/0d0a3e182ddb9e995af3c6a68c7a72eb.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/0d0a3e182ddb9e995af3c6a68c7a72eb.png)

* 集成，意味着想好了要的神经网络之后，可以独立训练几个神经网络，并平均它们的输出。比如说随机初始化三个、五个或者七个神经网络，然后训练所有这些网络，对输出$$\hat y$$进行平均计算，而不要平均权重，可能会在基准上提高1%，2%或者更好。但因为集成意味着要对每张图片进行测试，可能需要在从3到15个不同的网络中运行一个图像，会让运行时间变慢
* **Multi-crop at test time**，**Multi-crop**是一种将数据扩充应用到测试图像中的一种形式，在测试图片的多种版本上运行分类器，输出平均结果

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/6027faa79b81f9940281ea36ca901504.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/6027faa79b81f9940281ea36ca901504.png)

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

[![](https://github.com/fengdu78/deeplearning_ai_books/raw/master/images/fbb8d5acae8a02c366cea92000577d62.png)](https://github.com/fengdu78/deeplearning_ai_books/blob/master/images/fbb8d5acae8a02c366cea92000577d62.png)

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

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