如果跳出技术细节来看,深度学习给机器学习带来了什么新变化呢?可能最重要的是“表示学习”(representation learning)。
传统利用机器学习技术解决问题的时候,拿到个数据对象,首先要用一些特征把它描述出来。以往这些特征主要是人工设计的,称为“特征工程”,主要在计算机视觉、模式识别等应用领域研究。机器学习则主要关注如何基于已有特征建立学习模型。现在基于深度学习,只要提供足够多的数据样至本,就能自动地把特征学习出来,这就是所谓的表示学习,虽然这些特征的物理含义未必清楚,但是基于它们足以构建强大的学习模型。从某种程度上看,这是机器学习把自己的疆域向外推了大步,原来一些应用领域研究的内容,现在可以通过机器学习技术解决了。
有不少人说,深度学习里面还有一个重要的因素叫做“端到端学习”(endto-end learning),即把特征和学习模型的部分合起来看作一个黑箱整体,在前面给它一些东西,最后结果就出来了。这样做看起来有一个好处,就是这两部分在做一个联合优化。其实在机器学习里以往已经有类似的研究,把不同的部分合起来之后做“端到端优化”,有时候会好,有时候不好,这不是绝对的。所以深度学习里最关键的地方不是这个,而是在表示学习上。所以今天我们可以看到,很多人在用深度学习的时候,已经把深度神经网络的最后层砍掉,把上一层的结果作为特征取出来,然后再把这个特征放到随机森林或者支持向量机之类的模型里面去用,其实就是在用它的表示学习能力。
因此,当我们知道这个东西是关键之后,我们也可以知道一件事:那就是深度学习在什么时候更有用呢?它特别适用于这样的情况,就是这个数据的“初始表示”和解决问题需要的“合适表示”的距离非常远时。例如,对图像这一类的任务,它的初始表示是“像素”,而解决问题的时候往往需要的是“对象”、“动作”,这里面的距离很远,这时候深度学习就特别帮得上忙。语音、视频之类的,都是类似的情况。
领取专属 10元无门槛券
私享最新 技术干货