很多人都问过我这个问题,为什么现在大家都用深度学习,而传统机器学习无论在科研中还是实践中都用的很少了?
我之前也简单的给人解释过,原因无非就是大数据、计算机性能得到提升这样的,并没有详细解释其背后的原因(比如为什么现在能获得更多的数据?)。
但看了Andrew NG的“深度学习”视频,才知道应该怎么样才能更好的回答这个问题,下面就是“标准答案”(一定要画出这个图)。
(1)传统机器学习算法,在一开始,性能(识别率)会随着数据的增加而增加,但一段时间后,它的性能会进入平台期。这些模型无法处理海量数据。
(2)最近20年来,人类建立了数字王国,使得我们在电脑、网站、手机上的活动,都制造大量数据。便宜的相机、传感器,也产生大量数据。
(3)不同规模的网络,取得的性能也会有不同(具体如下)。
要想在神经网络上取得更好的表现,在今天最可靠的手段,要么训练一个更大的神经网络,要么投入更多的数据。但这也只能在一定程度上起作用,因为你最终耗尽了数据,或者你的网络规模太大,训练时间太久。
但提升规模,已经让我们在深度学习的世界中,取得了大量进展。
还有一点要记住,这里所说的“大数据”,是指带标签的数据。
还要注意的是,数据量不大时,各种算法的性能优劣是无法知道的。只有在大数据的前提下,在非常庞大的训练集下,我们才能看到神经网络稳定领先于其他算法。
有趣的是,目前神经网络的一些进步,也是为了让它运算的更快。比如激活函数从sigmoid改进到relu,就能使梯度下降算法运行更快。