深度学习神经网络用的大多还是20年前的梯度下降学习算法,那么为什么这么复杂的深度学习模型在今天特别有用呢?
第一个原因,是我们有了大量的训练数据。没有大数据的话,这个东西是不会有那么多用处的。
第二个原因,这么大的模型,我们一定要有很强的计算设备才能算出来。今天我们恰恰也有了,无论是GPU还是CPU集群,还包括今天有这么多人去研究机器学习的平台,做机器学习技术的底层支撑。如果我们只做简单模型的话,可能这些计算设备和技巧上的努力就不是那么重要了。
第三个原因,就是人们尝试出了大量的“窍门”。大家如果用过深度神经网络就会知道,某个人说,我在某模型上加了一层网络,性能更好;可能另个人会告诉你,在他的任务上把这层网络减掉才更好。很多都是这样。而更关键的,什么时候有效什么地方无效,却不知道。所以正统机器学习领域来看这些东西不能称为“方法”,因为道理不清楚,只能称为“窍门”。
深度学习里有大量的“窍门”,所以目前的状况就有点像老中医一样,虽然能治病,但是什么东西是有用的、什么是无用的、什么是起负作用的都不太清楚,笼统地混到一起。在这里,理论研究远远没有跟上。因为应用尝试比较容易,现在有很多深度学习架构让大家很方便,新手学个十天半月就能上手调试不同的模型做应用了,性能提高了就能很快发表文章。但是理论研究的门槛很高,先要训练好几年才能开始做事情。这就造成很多应用方面的尝试报道说这样好、那样好,但是能做理论的人很少,来不及去研究,而且因为很少有共性的东西,不同的人哪怕用的都是卷积神经网络,其实模型完全不同,做理论的也不知道从哪里去下手才不会浪费时间。这些问题要解决,需要有更多的人沉下心来研究基础问题,基础问题弄明白了,可以更显著地促进应用。
所以深度学习的成功有三个重要条件:大数据、强力计算设备、大量工程研究人员进行尝试。这些条件在20多年前不具备,而现在就具备了。
领取专属 10元无门槛券
私享最新 技术干货