谈谈机器学习的趋势 - 新三大学习范式
引 言
机器学习/深度学习是一个广阔的研究领域,说来并不年轻,但又朝气蓬勃,似乎每天都在涌现大量的新方法和新技术。
一般来说,传统的机器学习可以分为三个基本学习范式,即监督学习、无监督学习以及强化学习。
但在本篇中,我们将现代机器学习根据模型的形式分为新的三个学习范式,即混合学习、复合学习以及简化学习。在每个范式中都包含一种学习方式和理念,它为拓展当前机器学习的能力和研究范围提供了巨大的潜力。
- 混合学习(Hybrid learning)— 如何跨越监督学习和无监督学习的边界,以充分使用大量的未标记数据?
- 复合学习(Composite learning)— 如何以新方式组合模型或组件以产生一个比各部分总和更强大的复合模型?
- 简化学习(Reduced learning)— 出于性能和部署目的,在保持相同或更大的预测能力的同时,如何减少模型的规模和信息流?
机器学习的未来或许在于这三种学习范式,而每一种都是紧密相关的。
2混合 学习
这种范式试图跨越监督学习和无监督学习之间的界限。由于标签数据缺乏且成本高,因此常常在业务上下文中使用这类方法。从本质上说,混合学习就是下面这个问题的答案,
+ 如何使用监督方法来解决或结合无监督问题?
首先,半监督学习在机器学习社区中获得了发展,因为它能够以较少的标记数据在监督问题上表现出色。例如,经过精心设计的半监督 GAN(Generative Adversarial Network)在仅查看 25 个训练示例[1]后,在 MNIST 数据集上实现了 90% 以上的准确率。
半监督学习是针对存在大量无监督数据而少量监督数据的数据集而设计的。传统上,将在数据的一部分上训练带监督的学习模型,而在另一部分上训练无监督的模型,而半监督的模型则可以将标记数据与未标记数据中提取的见解(insights)相结合。
〄 半监督模型示例。
半监督的 GAN(缩写为 SGAN)是对标准对抗网络模型的改进。鉴别器既输出 0/1以判断是否为生成图像,又输出类别信息(multi-output learning)。
基于这样的思想,即通过鉴别器的学习来区分真实图像和生成图像,它能够在没有具体标记的情况下学习数据背后的结构。通过来自少量标记数据的额外增强,半监督模型可以用少量的监督数据来达到最佳性能。
可以在此处阅读有关 SGAN 和半监督学习的更多信息[2]。
GAN 还参与了混合学习的另一个领域 — 自监督学习,其中无监督问题被明确地定义为监督问题。GAN 通过生成器的引入来人为创建监督数据;创建标记以标识真实的/生成的图像。在无人监督的前提下,实施了监督任务。
或者,考虑使用编码器 - 解码器模型进行压缩。形式最简单的一种,就是中间有少量节点的神经网络,表示以某种瓶颈方式的压缩。两侧分别对应编码器和解码器。
〄 自编码器示例。
网络经过训练可以产生与输入相同的输出(从无监督的数据人为创建监督任务)。由于中间有一个故意放置的瓶颈,因此网络无法直接保持原样地传递信息。相反,它必须找到最佳方法来将输入内容保存到一个较小的单元中,以便解码器可以对其进行合理地解码。
经过训练后,编码器和解码器被拆开,可用于解码数据,或者以极小的形式压缩数据。它们也可以用于数据降维。
再举一个例子,考虑大量文本(比如来自数字平台的评论)。通过一些聚类或流形学习方法,我们可以为文本集生成聚类标记,然后将它们视为标记。
在解释了每个聚类之后(例如,聚类 A 代表抱怨产品的评论,聚类 B 代表积极的反馈等),然后可以使用像 BERT 这样的深度自然语言处理(NLP)架构将新文本分类到这些聚类中,所有这些都是在没有标记的数据以及较少人员参与的情况下进行。
这又是将无监督任务转换为监督任务的一种精彩应用。在一个绝大多数数据都是无监督数据的时代,通过混合学习,在监督学习和无监督学习之间建立创造性的联接,具有巨大的潜力和应用价值。
3复合 学习
复合学习的目的不是利用一种模型的知识,而是几种模型的知识。人们认为,通过静态或动态信息的独特组合或注入,深度学习可以比单一模型在理解和性能上更加深入。
迁移学习是复合学习的一个典型示例,其前提是模型的权重可以从一个在类似任务上预先训练过的模型中借用,然后在特定任务上进行微调。像 Inception 或 VGG-16 这样的预训练模型,其结构和权重被设计用来分类图像。
如果我要训练一个神经网络来识别动物(如猫,狗等),那么我不会从头开始训练一个卷积神经网络,因为要获得良好的结果将花费大量时间。相反地,我将采用像 Inception 这样的预训练网络,该网络已经具有图像识别的基本知识,只需要在数据集上进行了一些额外的训练。
同样,NLP 神经网络中的词嵌入功能,根据词与词之间的关系将词在实际意义上更接近其他词(例如,苹果和橙子的距离要比苹果和卡车的距离小)。像 GloVe 这样的预训练嵌入可以放置到神经网络中,从已经有效的单词映射到数字的、有意义的实体。
不太明显的是,竞争也会刺激知识的增长。一方面,生成对抗网络通过从根本上使两个神经网络相互对抗而借鉴了复合学习范式。生成器的目标是欺骗鉴别器,而鉴别器的目标则是不被欺骗。
模型之间的竞争将被称为对抗性学习,不要与另一种对抗学习相混淆,后者是指设计恶意输入以及利用模型中的弱决策边界。
对抗学习可以刺激通常是不同类型的模型,其中模型的性能可以相对于其他模型的性能来表示。在对抗学习领域,仍有很多研究工作要做,生成对抗网络是对抗学习领域唯一突出的创新。
另一方面,竞争学习与对抗学习类似,不过是在逐节点的规模上执行的: 节点在对输入数据的子集做出响应的权利上竞争。竞争学习是在竞争层中实现的,除了一些随机分布的权重外,所有神经元完全相同。
将每个神经元的权值向量与输入向量进行比较,将相似度最高的神经元激活(输出 = 1),将其他神经元停用(输出 = 0),这种无监督技术是自组织映射[3]和特征探索[4]的核心组成部分。
复合学习的另一个有趣示例是神经网络架构搜索。简单来说,强化学习环境中的神经网络(通常是递归的)会学习为数据集生成最佳的神经网络 — 此算法为你找到最佳的架构!
集成方法也是复合学习中的主要内容。深度集成方法已经证明是非常有效的,并且在实际应用中,端对端模型的堆叠(例如编码器和解码器)已经越来越流行。
许多复合学习正在寻找在不同模型之间建立联系的独特方法。前提是,一个单一的模型,甚至是非常大的模型,都比几个小型模型/组件的复合模型的性能差,其中那个每个小型模型/组件都被委托专门负责部分任务。
例如,考虑为餐厅构建聊天机器人的任务。
〄 聊天机器人模型设计示例。
我们可以将其分为三个独立的模块: 闲聊、信息检索以及动作,并设计一个专门针对每种任务的模型。另外,我们可以委托一个单一模型来执行所有三个任务。
复合模型可以在占用更少空间的同时实现更好的性能。此外,可以用 Keras functional API 之类的工具轻松地构建这些具有非线性拓扑的网络架构。
为了处理越来越多的数据类型(例如视频和 3D 数据),研究人员必须建立更复杂的复合模型。
在这里阅读更多关于复合学习及其未来发展的知识[5]。
4简化 学习
模型的规模正在不断扩大,尤其是在 NLP 方面。最新的 GPT-3 模型具有 1750 亿个参数。将其与 BERT 进行比较就像将木星与蚊子进行比较。深度学习的未来会更广阔吗?
这点可能具有很大的争议?并没有。诚然,GPT-3 的功能非常强大,但是人类历史一再证明成功的科学是对人类影响最大的科学。当学术界偏离现实太远时,它通常就会淡出人们的视线。这也是神经网络在 20 世纪后期的一段短暂时间里被遗忘了的原因之一,因为可用的数据太少了,所以无论它的想法多么精巧,都毫无用处。
GPT-3 是另一种语言模型,它可以编写令人信服的文本。它的应用在哪里?它的确可以生成例如查询答案。但是,有更加有效的方法可以做到这一点(例如遍历知识图并使用较小的模型 BERT 来输出答案)。
考虑到计算能力的下降,GPT-3 的庞大规模(更不用说更大的模型)似乎根本不是可行或必要的了。
“摩尔定律有点儿没用了。” — 微软首席执行官 Satya Nadella。
取而代之的是,我们正朝着嵌入式 AI 的世界迈进。在这个世界中,智能冰箱可以自动订购杂货,而无人机则可以自行导航整个城市。强大的机器学习方法应该能够加载到 PC、移动电话和小型芯片上。
这要求轻量级 AI,即在保持性能的同时使神经网络更小。
事实证明,在深度学习研究中,几乎所有的东西都直接或间接地与减少必要数量的参数有关,而这些参数与提高泛化和性能紧密相关。
例如,卷积层的引入大大地减少了神经网络处理图像所需的参数数量。递归层在使用相同权值的同时融入了时间概念,使得神经网络能够以更少的参数更好地处理序列数据。
嵌入层显式地将实体映射到具有物理意义的数值上,从而使得负担不会放在其他参数上。在一种解释中,Dropout 层显式地阻止参数对输入的某些部分进行操作。L1/L2 正则化确保网络利用了所有的参数,确保每个参数都不会太大,并且每个参数都最大化了它们的信息价值。
随着专业层的建立,网络对更复杂、更大数据的要求越来越少,而对于寻求压缩网络的趋势则更加明显了。
神经网络修剪试图去除对网络输出没有价值的突触和神经元。通过修剪,网络可以在几乎完全去除自身的情况下保持其性能。
〄 神经网络修剪示例。
其他方法,例如患者知识提炼(Patient Knowledge Distillation)查找方法,可将大型语言模型压缩为可下载到用户手机上的表单。这是 Google 神经机器翻译(GNMT)系统的做法,该系统为 Google Translate 提供支持,且可以创建可离线访问的高性能翻译服务。
实质上,简化学习围绕以部署为中心的架构设计。这就是为什么大多数简化学习的研究来自公司的研究部门。以部署为中心的设计的一个方面不是盲目遵循数据集的性能指标,而是专注于部署模型时的潜在问题。
例如,前面提到的对抗输入是旨在欺骗网络的恶意输入。在标志上喷上油漆或贴纸会欺骗自动驾驶汽车,使其加速超过极限速度。负责任的简化学习的一部分,不仅是使模型轻巧到足以使用,同时要确保它可以适应数据集中未显示的极端情况。
在深度学习研究中,简化学习可能得到的关注最少,因为我们成功地在可行的架构规模下实现了良好的性能远不如我们通过一个拥有无数参数的架构实现了最先进的性能那么吸引人。
不可避免地,当对更高百分比的追求消失时,正如创新的历史所显示的那样,简化学习(实际上可以认为是实用学习)将得到它应该得到的更多关注。
5小 结
混合学习试图跨越监督学习和无监督学习的边界。半监督学习和自监督学习之类的方法能够从未标记的数据中提取有价值的见解。随着无监督数据的数量呈指数级增长,这种方法具有不可思议的价值。
随着任务变得越来越复杂,复合学习将一项任务分解为几个更简单的部分。当这些对应不同部分的模型一起工作或相互对抗时,结果就形成了一个更加强大的模型。
深度学习走入炒作阶段,简化学习并没有引起太多关注,但是很快就会出现足够的实用性以及以部署为中心的网络设计。
[1]半监督 GAN: https://coursys.sfu.ca/2020sp-cmpt-726-x1/pages/SSL_GAN_report/view
[2]SGAN 和半监督学习: https://towardsdatascience.com/supervised-learning-but-a-lot-better-semi-supervised-learning-a42dff534781
[3]自组织映射: https://en.wikipedia.org/wiki/Self-organizing_map
[4]特征探索: https://onlinelibrary.wiley.com/doi/pdf/10.1207/s15516709cog0901_5
[5]复合学习: https://medium.com/analytics-vidhya/compositional-learning-is-the-future-of-machine-learning-22b56ad09edc
[6]Andre Ye: https://towardsdatascience.com/the-future-of-deep-learning-can-be-broken-down-into-these-3-learning-paradigms-e7970dec5502