雷锋网 AI 科技评论按:从神经网络被学术界排挤,到计算机科学界三句话不离人工智能、各种建模和预测任务被深度学习大包大揽,只不过短短十年时间。这十年里我们目睹了 dropout、SGD+动量、残差连接、预训练等等深度学习技术的大爆发,见证了学术研究全面拥抱深度学习,也听到了对深度学习不足之处的质疑之声、感受到了很多人对非深度学习方法「复兴」的期盼。
reddit 上近期就出现了一个帖子,把网友们聚起来聊聊除了神经网络之外的机器学习方法的新发展,以及可以和各种模型配合、不仅限于改善神经网络的概念和模型。也许这些现在并不热门的研究里就埋下了下一次机器学习革命的种子,就像十年前研究神经网络的学者们在冷落中迎来了革命的黎明一样。
下面雷锋网(公众号:雷锋网) AI 科技评论整理了一些言之有物的网友回答。
高斯过程 Gaussian Processes
高斯过程并不是近期新发明的技术,但它近几年有重大发展,尤其是在技术的实现和拓展性方面。相比于神经网络,高斯过程的特点在于:
-
更直观,可解释性更好(有句调侃是「高斯过程就是一组平滑器」),有更多的数学工具描述它的行为;
-
很高效,只需要很少的样本和计算资源就可以学习;
-
可以方便地融合先验知识,凭直觉设定一组参数之后,很可能不需要训练就可以得到不错的预测结果;
-
天然地符合贝叶斯法则。
高斯过程的研究里也融入了许多有价值的数学发现,涉及线性代数、概率、谐波分析等等。GPytorch 是一个了解高斯过程领域最优秀模型的好去处。
高斯过程的主要不足在计算方面,训练和推理过程中一般都需要计算行列式和轨迹,或者从很大的矩阵中解算系统,存储空间的需求按列长度的平方增长,而计算的时间复杂度为 O(n^3)。近几年的进展也主要来自于更高效的算法或者近似计算方法(比如 KISS-GP、SKI、LOVE 等等)
基因算法&演化策略 Genetic Algorithms & Evolution Strategies
离散演化训练是用基因算法配置网络结构,然后让得到的模型学习。它的一个动机来自于,在复杂环境中为稀疏的回报归因是非常困难的,所以不如完全抛弃梯度,转而采用计算更高效的演化策略,反倒可以在模型设计和参数搜索方面获得更大的灵活度、取得更好的结果。其中采用的和大自然中的生物演化类似的「随机突变+方向性选择」的做法也规避了当前的强化学习中的一些问题。
谷歌大脑的研究员 David Ha 在这个领域做了许多研究,他也撰写了易懂的介绍博客、配上了生动有趣的动图,可以点击 这里 详细阅读。
因果推理 Causal Inference
Judea Pearl 是这条路线的代表人物,Yoshua Bengio 等学者也加入了探索当中,并且在想办法把它和现代机器学习结合到一起。提到这个方向的这位网友表示,他的一位做数据科学的好朋友的工作内容里就已经越来越多地涉及到因果推理,而且他认为因果推理带来的革命在日后看来可能会比深度学习革命的影响更为深远。接着他做了详细的解释:
首先要知道的是贝叶斯网络。1980年代的时候,Judea Pearl 正在探索各种能对人工智能领域的发展起到帮助的路线,贝叶斯网络的发明就有一部分功劳是他的。但是贝叶斯网络也有一些限制,它能在低维空间高效地捕捉联合概率分布,但是说到底它也只能回答一些可观测的问题。比如,给定了一些消费者的属性,基于其它消费者的行为,预测这些消费者在未来六个月内不再继续使用某个服务的概率。
但值得研究的问题还有很多。理想情况下,如果你要采取一些行动干预某个系统,你会希望能够了解系统会发生哪些变化(由于行动干预)。沿着刚才消费者的例子说,如果把他们加入一个为了提高顾客忠实度和互动程度而设计的自动发送促销邮件的清单里,他们不再继续使用服务的概率会如何变化?这时候你需要思考的就是,给定了已知的消费者信息,也指定了要不要用某种方式干预之后,得到的结果会如何变化。这是因果关系运动的一个方面,目前看来 Rubin 和 Imbens 是这一方面的权威人物。详细了解可以参考这篇文献综述 http://proceedings.mlr.press/v67/gutierrez17a.html 。
另一方面,你相当于在估计这个量 E[Y|X, do(T)],这里的 Y 是得到的结果、X 是观察到的条件、T 是你要采取的措施。有没有更通用的理解因果关系的方式呢?我很欣赏 Pearl 的分解方式,他展示了超越贝叶斯网络之外的处理方式,而且可以把过程表示为一个因果图模型。他的思路是,图模型里的箭头方向可以编码因果关系的方向,而干扰某个系统就可以看作是破坏图里的几个边。 继续消费者的例子,也许你手里有一些曾经收到促销邮件的消费者的数据,但他们的情况不一样,你想知道其它情况的消费者看到促销邮件以后的反应如何;而且,你手里现有的数据肯定不是双盲的(因为是发现消费者有不再使用的意向之后才给他们发送促销邮件)。所以,本来会根据客户表现出的某些信号来决定是否给他们发送促销邮件,但真的发了以后又会干扰这些信号;而且,对于不同来源的用户,引发“要发送邮件”决定的具体信号又会各自不同…… 所以要怎么办呢?在图上做这些分析计算就可以帮助回答这些问题,或者,最起码也可以知道哪些问题是可以回答的、哪些是回答不了的,以及想要回答现在回答不了的问题的话还需要哪些信息。
Judea Pearl 在2017年写的《Book of Why》是一本非常棒的入门书籍,这个领域的每个研究者都应该读一读这本书,它很容易读懂,只不过对于喜欢听音频书的人来说,里面谈图元素的部分还是最好用看的。如果你想做更深入的研究,Pearl 2009年的学术专著《Causality》数学性更强,也更严谨,不过书里的习题和例子都很少,所以想要理解里面的所有内容还很需要花一些功夫。
《A Meta-Transfer Objective for Learning to Disentangle Causal Mechanisms》(https://arxiv.org/abs/1901.10912)论文讲解了因果推理和深度学习之间的联系,最起码也要读读开头的几小节。更大更全的综述可以读读 Pearl 的《Theoretical Impediments to Machine Learning With Seven Sparks from the Causal Revolution》(https://arxiv.org/abs/1801.04016),不过它实际涵盖的内容和《Book of Why》有很多重合,先读读这篇论文再决定要不要买书来读也挺好的。
反向强化学习 Inverse Reinforcement Learning
反向强化学习采用了和传统强化学习相同的基础设定,然后做相反的事。在强化学习里,给定一个回报函数,让模型找到会得到最大回报的策略;在反向强化学习里,给定一个策略,然后模型找到可以被这个策略最大化的回报函数。
它的关键在于从对行为的观察中学习,即便你可能无法访问回报函数,或者无法模仿特定的执行器的行为。反向强化学习已经成功训练出了和人的行为很类似的玩第一人称射击游戏的 AI。
反向强化学习中有一个重大的开放问题是如何从并非最优的演示中学习。目前的系统能很好地模仿人类,以至于它们体现出的失效模式也和人类相似。想要从人类身上学习,但是得到比人类更高的表现,理论上看起来是可行的,但做起来非常困难。近期的文献综述可以参考 https://arxiv.org/abs/1806.06877。
自动机器学习 AutoML
这个自领域很重要,也很酷。可以把它看做一个决策树,在给定数据集以后帮你决定什么样的数据处理流水线是最好的。它很有用,也会在整个机器学习领域中占据更多位置。谷歌目前就已经面向商业用户提供 AutoML 服务,不过显然这是面向自己没有编程能力的客户的。
目前最热门的自动机器学习算法是 Auto-sklearn(https://automl.github.io/auto-sklearn/master/ ),还有基于它进一步改进的 Mosaic。AutoML 也有一些比赛,排名前几的算法都有很高的参考价值。
最新评论