Keras之父、谷歌研究员解析深度学习4大技术方向

深度学习3

(谷歌开发者大会 I/O 2017 ,Keras 之父 Francois Chollet 被请出来向全世界的机器学习开发者进行一场对 Keras 的综合介绍以及实战示例)

近期,Francois Chollet 在博客上发文探讨深度学习的未来,从技术演化的角度,提出未来深度学习的4大走向:模型即程序、超越反向传播和可微分层、自动化的机器学习、终身学习和重复利用模块化子程序。未来深度学习走向无疑是越来越自主化的,但是从技术角度需要什么累积与突破,文章进行了很好的解读。作者认为,机器学习工程师的工作不会消失,相反,工程师将在价值创造链上走高。

Keras作者、《Python深度学习》一书的作者 Francois Chollet 在自己的博客上公开了自己书中的内容,讨论深度学习的未来:

鉴于我们对深度神经网络的了解,包括它们的局限性,以及对当下研究图景的掌握,我们是否能预测在短期内,深度学习将会走向何方?下面是一些纯个人的思考。需要注明的是,我没有水晶球,所以可能很多我的预测不会成为现实。这是一篇纯推测的博客。我之所以在此分享这些预测,并不是因为我期望它在未来被证明是完全正确的,而是,在目前看来,它们非常有趣,而且是可行的。

在最上层,我认为有潜力的主要方向是:

1.更贴近通用计算机程序的模型,建立在比当下不同神经网络层远丰富得多的基元之上,这就是我们将如何得到推理和抽象,即当前模型的根本弱点。

2.能让上述情况实现的新形式的学习——允许模型获得更多的发展,而不仅仅局限在不同的转移。

3.需要人类工程师更少干涉的模型,无休止地调整控制旋钮(knobs)不应该是你的工作。

4.对前期学习特征和架构系统性的再利用;基于可再利用和模块化程序和子程序的元学习系统。

此外,需要说明的是,以上所举并不特指监督式学习——这种学习方式目前是深度学习的基本业务,它们可以应用到任何形式的机器学习上,其中包括非监督学习、自监督学习、强化学习等等。你的标签来自哪或者你的训练环看起来是怎么样的在根本上也不重要。这些机器学习不同的分支只是同一结构的不同方面。

让我们深入下去。

模型即程序

正如我们在此前的博客里提到的,在机器学习领域,我们可以期待的一个必要的转变是:从只能做模式识别和获得局部的泛化,到能够执行抽象和推理的模型,这能获得极端的泛化。当下,具有基本推理形式能力的AI程序都是由人类程序员硬编码的:例如,依赖于搜索算法,图形操作和形式逻辑的软件。

例如,在DeepMind的AlphaGo程序中,其展示的绝大部分“智能”都是由专业的程序员设计和硬编码完成的(比如,蒙特卡洛树搜索)。从数据中进行学习仅仅发生在特定的从属模块中(价值网络和策略网络)。但是,未来,这样的AI 系统或许可以进行完全的学习,不需要任何的人类参与。

要实现这一想法,都有哪些渠道?考虑一下一个广为人知的神经网络——RNN。重点是,RNN比前馈神经网络(Feedforward Networks)的局限性要少得多。这是因为,RNN不仅仅是一个几何变换。在一个循环内,RNN被重复应用的几何变换。

时间循环本身由人类开发人员硬编码:它是网络的内置假设。当然,RNN在它们可以代表的方面仍然非常有限,主要是因为它们执行的每个步骤仍然只是一个可微的几何变换,并且它们从一个步骤到另一步骤中传递信息的方式是通过连续几何空间(状态向量)中的点。现在,想象一下神经网络将以类似于编程基元(例如for循环)的方式“增强”,但不仅仅是一个有硬编码几何存储器的硬编码for循环,而是一组大型的编程原语,让模型可以自由地操纵以扩展其处理功能,例如分支,语句,变量创建,长期内存的磁盘存储,排序运算符,高级数据结构(如列表,图形和哈希表)等等。这样一个网络可以代表的程序的空间将远大于当前深入学习模式所能表达的范围,其中一些程序可以实现更高的泛化能力。

总而言之,我们将远离一手掌握“硬编码算法智能”(手工软件),一只手“学习几何智能”(深度学习)的方式。取而代之的是,我们将提供混合的正式算法模块,它们能提供推理和抽象能力,同时,其中的几何模型能提供非正式的直觉和模式识别能力。整个系统将能在不需要,或者少量人类参与的情况下进行学习。