本文译自:Machine Learning Trends fromNIPS 2014

 编者按:John Platt是微软的杰出科学家,也是微软在机器学习领域的领军人物。加入微软17年,一直在机器学习领域埋首耕耘。Platt也是SVM最快的加速算法SMO的提出者。NIPS大会是机器学习领域两大重要学习会议之一,另外一个是ICML。接下来的文章中Platt将和大家分享他所观察到的领域内令人激动的三大趋势。

深度学习和神经网络研究继续保持快速增长的势头

深度学习是通过数据自动构建深度模型的过程。之所以称之为“深度”是因为这些模型的计算需要经过多个步骤,而不是仅仅通过一两个简单步骤就可以解决的。深度学习一般都是利用神经网络,通常都使用矩阵乘法和非线性构建建立它们的功能模型来完成的。

自2011年以来,深度学习的发展速度变得十分迅速。比如在图像识别方向,深度学习取得了里程碑式的进展,对于图像中物体的识别的错误率以每年40%的比例下降。深度学习在图片方面的运用已不再仅限于图片分类。

但是,目前机器学习面临的一大挑战是对强耦合输出的整体估计。比如说,当你在翻译一句话的时候,你并不会一个词一个词地翻译,而是会从整体的句子结构出发。

之前,当机器学习算法估算出耦合输出时,一般会再次进行显式的推理计算,这样就会导致运行速度十分缓慢。最近出现了一些能让神经网络进行隐式推理计算的研究成果,实在令人激动。在这次的NIPS大会中,IlyaSutskever演示了如何用深度LSTM模型进行机器翻译,结果十分令人满意,可以与目前最先进的机器翻译系统媲美。Ilya的系统相对来说更综合一些,它可以将输入和输出的顺序进行对应。此外,大会上研究者们还展示了一些其它对跨时间、空间进行耦合输出的研究。

JasonWeston就在大会上展示了一篇论文,介绍了如何利用“内容寻址(content-addressable)”记忆来进行智能问答。神经图灵机(Neural Turing Machine)也有类似的工作原理。

如今深度学习备受关注,研究员们也在努力探索它背后的奥秘。Ba和Caruana的一篇NIPS论文中解释道,一旦深度网络系统开发完备后,浅网络便可以根据深度网络的输出来学习相应功能。浅网络无法直接根据数据进行功能学习,这也意味着深度学习是关键所在。

很多人(包括我们)在相关任务中都采用深神经网络的中间层作为特征探测器。此次NIPS大会有一个很精彩的演讲,演讲者做了一系列各种各样的实验来研究这种模式。他们培养了一组有500个视觉类别的深度网络,保持前N层不变,然后再培训的一组不同的500个类别 。他们发现,如果使用中间层再培训上层,你会由于次优的训练而失去准确度。而如果你使用顶层,你则会由于功能过于具体而失去准确度。微调一下都会所有东西都会失去一些准确度。知道这一点是很有用的。

 

大规模的学习将变得更加可行

大规模的训练(涉及各种模型)会持续成为一个很有趣的研究分支。虽然很多人都没有1TB以上的训练集,但是使用大规模的数据模型往往是非常有商业价值的。

机器学习的训练是参数优化的一种形式:一个机器学习模型可以被看作一组具有被调节到最佳状态旋钮的训练集。 大规模的训练就会变成大规模的最优化。尤里涅斯捷罗夫(Yurii Nesterov) ,著名优化专家,在一个有意思的演讲中谈及了关于如何解决某些机器学习中参数的数量出现对数的优化问题。

当机器训练在多台计算机分别进行时,要尽量减少在计算机之间的通信量是十分具有挑战性的一件事。训练时间通常是由通信时间决定的。

这次大会上还有一个很不错的演讲,介绍了通过分布特征进行筛选的方法,所有节点之间只需要两个阶段的通信模式。 在我看来其前景十分可观。

 

对机器学习实践中限制因素的研究

我在这次NIPS大会上发现的另一个令人惊喜的趋势是,如今越来越多的算法和理论研究者开始研究解决机器学习实践者在实践过程中遇到的问题。

在过去的几年里,对抗性训练(adversarial training)一直是让人饶有兴趣的研究主题。在对抗训练中,研究人员不会试图通过一个概率分布来为这个世界建模,而是扮演一个试图让算法表现不佳的反方。这样研究人员便可以通过最佳状态的反方的数据训练来衡量自己的模型。

很多对抗性的训练工作都相当有趣。在此次NIPS 大会上,我看到了一些体现了对抗性训练实用性的展示。对抗性的训练的本质便是提供有可能出现的最坏情况。如果你创建了一个适用于“简单数据(easydata)” 的算法,通常情况下你不会得到最坏的情况。但是,在大会主会场上展示的一篇论文却提到,你可以有你的蛋糕(在简单数据上表现良好)并且吃掉它(却也能得到最坏的情况)。此外,德鲁·巴格内尔(Drew Bagnell)在强化学习研讨会(Reinforcement Learning workshops)的演讲中提到要学会在现实世界中的控制策略,对抗性学习是必须的(因为你应该把你自己的错误决定如同反方因素来对待)。

在一个关于软件工程的机器学习研讨会上,有来自LinkedIn ,Microsoft, Netflix,和Facebook的演讲者,分享他们是如何将机器学习运用于产品开发的经历。一些来自谷歌的工程师合写了一篇关于机器学习带来的科技债务的犀利论文,我强烈推荐相关领域的人能读一读这篇文章。​

 ------------------------------------------------------------------------------------------