自动特征学习模型(如 CNN)是否会扼杀它们之前手动的工程模型呢?这就是本文要回答的问题,这很重要。

在我们生活中,每时每刻都有新技术可以用不同的方式重新做以前的任务,或者添加新的东西。对每一项新技术而言,它的上一代的技术是不是都被销毁、以后不再使用了对吗?自动特征学习模型(如 CNN)是否会扼杀它们以前手动的工程模型?这是本文要回答的一个重要问题。

每个数据科学家都会使用计算器进行数学计算。计算器有一个简单的界面,只需按几下按钮即可完成数学计算。在手机的发明及演化之后,出现了智能手机,这些智能手机有不同的应用,可以完成之前只能在计算器上才能完成的操作。需要面对的问题是,由于新技术(智能手机)的出现,以前的技术(计算器)被销毁了,以后不再使用了。真是这样的吗?答案肯定是否定的。有人说,最新的东西总是最好的。但这种说法,并不总是成立。为什么这么说呢?因为新技术不仅增加了好处,而且可能还会增加了一些缺点。下文就有一场讨论,我们用计算器或智能手机来演示进行数学运算。

不要把深度学习看作所有问题的解决方案_java

计算器只是用来进行数学运算,而智能手机则不然。智能手机具有计算器不具备的许多功能。许多功能(而非有限功能)的可用性是一个缺点吗?在某些情况下,功能越少,性能就越好;反之,功能越多,开销就越大。使用计算器进行操作很简单,只需打开它,按几下所需的按钮就可以完成计算了。但是由于智能手机有很多功能,在上面做同样的操作就会有不必要的开销。以下就来谈谈将智能手机作为计算器时,可能会发生的一些情况。

打开用来进行数学计算的 App 后,手机可能会有一个来电,这会打断你正在做的任何事情。如果来短信的话,手机可能会哔哔响。手机也有可能连接到互联网,因此,来了电子邮件可能也会哔哔响。这些情景,都可能会让你转移注意力,停止数学计算。长时间使用手机后,电池可能就没电了,手机就会自动关机,除非你正在给它充电,但这样一来就失去了移动的灵活性。因此,使用智能手机的人们应该关心所有这些影响,以便更好地完成数学运算。与计算器相比,因为它没有 SIM 卡,所以不会有来电或者短信。基本的计算器不会连接到互联网,因此不会收到什么电子邮件。计算器的电池寿命可比智能手机的电池长多了,因此,使用计算器时操作被中断的可能性微乎其微。与智能手机相比,使用功能有限的计算器的优势在于:就算它是一项古老的技术,但它也具备简单、专注于任务的优势。总之,最新的并非总是最好的。根据你的需求,旧技术可能会比新技术更好,或者更差。从数据科学的角度来看,也是一样的。

有不同类型的学习算法和特征,可以用于不同的任务,如分类和回归。其中一些算法和特征可追溯到 1950 年,而另一些则是最近才有的。但我们总不能说,旧模型总是比最近的模型更槽糕吧?我们也不能武断地下结论,认为像 CNN 这样的深度学习模型比以前的模型更好。这要取决于你的需求。

我发现有很多研究人员盲目地迷信深度学习,只因为它是最先进的方法罢了。有些问题非常简单,非要使用深度学习来解决的话,可能会带来更多的复杂性。比如说,在只有 100 个图像中,用深度学习来划分 10 个类就不是好选择。之所以这么说,是因为样本数量很小,并不需要深度学习。在这种情况下,浅层学习就足矣。如果要创建一个分类区,来区分下面所显示的四种类型的水果(取自 fruits-360 的数据集),那么使用深度学习并非强制性的,以前的那种手动 / 工程特征就够用了。通过研究这个问题发现,一种可能有用的特征是颜色。每种水果都有不同的颜色,因此,HSV 色彩空间中色度通道的直方图可能就足够了。

让我们看一下,在这种问题中使用 CNN 深度学习模型所增加的复杂性。首先,训练这种模型,应该要有大量的数据。有不同的参数需要指定,每个参数都需要很长时间的实验才能确定。这些就包括要使用哪些类型的层、每个层的数量、激活函数、学习率等等。相比之下,使用色度通道直方图就足以获得非常高的精度了。

解决数据科学问题的方法有很多,你应该选择最合适的方法。在选择时要明智,才能获得最合适的结果。如果一瓶 350 毫升的水瓶能够满足需求的话,那为什么还非要买一瓶 1 升的水瓶呢?

不要把深度学习看作所有问题的解决方案_java_02

这就好比用梯子爬到墙头,如果你爬了 5 级梯子就到了墙顶,就不用再爬梯子了。类似地,如果你能够用手动设计特征获得最佳效果,就不必使用自动特征学习。

不要把深度学习看作所有问题的解决方案_java_03

因此,不要把新技术看成解决之前所有问题的解决方案。即使它解决了以前的问题,但它也有可能会引入其他问题或者带来更多的复杂性。最好,不要把深度学习看作所有问题的解决方案。