除了深度学习,你还应该了解这些发展方向

人工智能 深度学习
这里我们将讲述一个触手可及的、更近的未来,讨论一些新兴的并且强大的 AI 算法。我认为,这些算法正在塑造 AI 不远的将来。

[[214266]]

毫无疑问,AI 的终极未来是达到并超越人类的智能。但是,这是一个非常遥远的目标。即使我们之中最乐观的人,也只敢打赌称人类级别的 AI(泛人工智能(AGI)或者超人工智能(ASI))将会在 10~15 年之后出现。而怀疑论者甚至打赌称,即使人类级别的人工智能出现,这个过程也需要几个世纪。不过,这不是我们这篇文章所关注的(如果你对学习超人工智能非常感兴趣,你可以阅读这篇文章)。这里我们将讲述一个触手可及的、更近的未来,讨论一些新兴的并且强大的 AI 算法。我认为,这些算法正在塑造 AI 不远的将来。

AI 已经开始在一些选定的具体任务中超过人类。例如,在诊断皮肤癌上打败医生和在世界级大赛上打败围棋选手。但是,相同的系统和模型不能在其它的任务上表现得很好,因为这些任务与它们专门训练解决的任务不同。这就是为什么,长期以来,一个不需要重新评估就能高效地解决各种问题的通用智能系统被视为 AI 的未来。但是,在 AI 不远的将来,泛人工智能还很遥远的时候,科学家们将如何让 AI 驱动的算法克服我们现在面临的问题,让它们走出实验室,成为我们的日常用品?

当你环顾四周,AI 正在一个一个地攻破各种难题(请阅读我们关于 AI 如何超越人类的文章,第一部分和第二部分)。在这样一个双赢的情况下,可能会出现什么样的问题呢?人类在制造越来越多的数据(这是 AI 的基础)。同时,我们的硬件性能也在变得越来越好。毕竟,数据和更强的计算能力是深度学习在 2012 年开始复兴的原因,不是吗?然而真相是,人们的期待增长得远比数据和计算能力增长得要快。数据科学家将必须思考比现在已有的解决方案更好的方案,用于解决真实世界的问题。例如,大多数人以为图像分类是一个科学上已经解决了的问题(如果我们忍住说 100% 精确度的冲动)。我们能够通过 AI 达到与人类相当的图像分类的能力(比如说猫的图片和狗的图片)。但是,这能够在真实世界的情况下使用吗?在某些情况下,可以,但是在很多情况下,我们还不能做到。

我们将会带你了解在使用 AI 构建真实世界解决方案时候,那些主要的“挡路石”。假设我们想要分类猫和狗的图像。我们将会在整篇文章中使用这个例子。

我们的示例算法:分类猫和狗的图片

下面这张图总结了各种挑战:

构建真实世界的 AI 所涉及的挑战

图中英文翻译如下:

你可以识别出星球大战中的绝地武士是吧?一旦它我们把它记在脑海里,我们就能每次都能认出绝地武士。然而,一个算法却需要大量标记过的图像来学习、测试和训练。

假设一个算法输入了一种非常罕见的狗。该算法很难正确地把它分类为狗。真实世界的问题则更加多样,并且需要对这些更为多样的问题进行一定的调整和重新评估。

这是”Kotpies“,世界上第一个成功生下来的的猫狗杂交。一旦新的物种加进来,模型需要输入这些图像来识别新的物种,并且最终的模型必须重新训练来适应新加入的物种。

让我们仔细地讨论这些挑战的细节:

通过更少的数据来学习:

  • 成功的深度学习算法所使用的训练数据都要求包含有其内容或者特征的标签。这个过程叫做打标签。
  • 这些算法不能直接使用我们身边的数据。几百个标记(或者几千个)很简单,但是达到人类级别的图像分类算法需要输入上百万的标记过的图像来学习。
  •  所以,问题在于:为一百万个图像进行标记是否可行?如果不可行,那么 AI 如何才能在更少量的标记数据上进行扩展。

解决真实世界中多种多样的问题:

  • 虽然数据集是固定的,但真实世界的使用情况是多种多样的(例如,与人类不同,在彩色图像上训练的算法可能会在灰度图像上表现的非常差)。
  • 尽管我们能够提高计算机视觉算法检测物体的能力并达到人类的水平。但是,正如刚刚提到的,这些算法只能解决非常特定的问题。与人类的智能相比,这些算法不能广泛应用于多种场景。
  • 我们的举例说明的猫狗图像分类算法,它如果之前没有输入过某种罕见品种的狗,那也就不能识别出该种类的狗。

调整增量数据:

  • 另一个大的挑战是增量数据。在我们的例子中,如果我们想要识别出是猫还是狗,在第一次部署的时候,我们可能需要为各种品种的猫和狗来训练我们的 AI 算法。但是,当我们发现新的品种时,我们需要训练这个算法,让它能够在之前的品质中识别出“Kotpies"这个品种。
  • 尽管新的品种与其他品种之间可能比我们想象的更相似,并且能够通过简单的训练使算法得到适应,但这就是其中最困难的一点并且需要完整的重新训练和重新评估的方法。
  • 问题在于,我们是否能够让 AI 能至少在这种小的变化上有足够的适应能力。

迁移学习

是什么?

正如它的名字所示,在迁移学习中,习得的知识是在相同的算法上,从一个任务迁移到另一个任务上的。算法先在一个拥有更大的数据集的任务(源任务)上训练,然后再被迁移为学习另一个只有较少数据集的任务(目标任务)的算法。

 

 

传统学习 vs 迁移学习。图片来源:IEEE Computer Society

 举几个例子

在图像分类算法中使用参数在不同的任务中提取特征(例如:物体识别)是迁移学习里的一个简单的例子。与之相反,这种方法也能用在完成复杂的任务。最近,Google 开发的用来分类糖尿病性视网膜病变的算法表现超过了人类。这个算法就是用的迁移学习。出乎意料的是,该糖尿病性视网膜病变识别器实际上就是一个真实世界里的图像分类器(猫狗图像分类器),使用迁移学习来分类眼部扫描的图像。

告诉我更多!

你会发现,数据科学家把神经网络中从源任务迁移到目标任务的部分,在深度学习的术语中称为预训练网络。Fine Tuning 就是当目标任务中的误差被轻微地反向传播到预训练的网络中,而不是完全不作修改地使用预训练网络。对于计算机视觉里迁移学习的技术介绍可以在这里看到。迁移学习的这种思想在这些“有效学习”方法论中特别的重要。

多任务学习

是什么?

在多任务学习中,通过利用任务之间的相同和不同,多个学习任务可以同时解决。出人意料的是,有的时候,同时学习两个或多个任务(有时也叫主任务和辅助任务)可以让结果变得更好。请注意:并不是每一对(或者三个一组,四个一组)的任务都是相互辅助的。但是当它们是相互辅助的关系时,我们就能“免费地”得到精度上的提升。举几个例子

 

 



用多任务学习同时解决三个任务。图片来源:Sebastian Ruder

告诉我更多!

在多任务学习里,真实世界应用最为看重的是如何把任何任务都能训练的无懈可击。要做到这一点,我们需要考虑很多领域数据(也称为领域适应)。在猫狗图像分类的场景中,我们可以举这样一个例子:一个可以识别多种不同来源图像的算法(例如,VGA 相机、高清相机或者红外相机)。在这些场景中,关于领域分类问题(该图像是从哪里来的)的辅助损失可以被加到任何任务中,然后机器就会去学习从而使主任务(分类图像是猫还是狗)的算法变得更好,但是会导致在辅助任务上表现得更差(这是由反向传播领域分类任务的相反误差梯度所导致的)。这个想法就是,算法在主任务上学习有区分度的特征,却不记住那些领域区别相关的特征,该方法就能让算法表现的更好。多任务学习及其领域适应是我们所知的“有效学习”技术中最成功的一个,并且在塑造 AI 的未来上扮演着举足轻重的角色。

对抗学习

这是什么?

对抗学习是从 Ian Goodfellow 的研究工作里演化出来的一个领域。尽管对抗学习最流行的应用是生成对抗网络(Generative Adversarial Networks,GANs),用它可以生成令人惊叹的图像,我们还是有很多其他应用该技术的方法。这个由博弈论启发而产生的技术包含两个算法,一个是生成器算法,一个是鉴别器算法,它们的目标是在训练的过程中欺骗对方。生成器可以生成我们所提到的非常新奇的图像,但是也可以生成任何其他用来向鉴别器隐藏细节的数据。后者就是这个概念的有趣之处。

 

 

生成对抗网络。图片来源:O’Reilly

 举几个例子

这是一个新的领域,并且它的图像生成能力吸引了像宇航员这样的人的关注。但是,我们相信它会演化出更新颖的使用场景。

告诉我更多!

通过使用 GAN 的损失函数,领域适应问题可以做的更好。这里所说的辅助损失是一个 GAN 系统而不是一个单纯的领域分类。这个 GAN 系统中的鉴别器尝试分类某个数据是从那个领域来的,生成器则尝试通过一些随机噪音产生的数据来欺骗它。在我们的经验中,这种方法比普通的领域适应(这种方法也更容易在编写时出错)要更好一些。

少样本学习(Few Shot Learning)

这是什么?

少样本学习是一种能够让深度学习(或者任何机器学习算法)通过更少的样本学习,而不像传统的那样使用大量样本的技术。单样本学习(One Shot Learning)就是通过每个分类中取一个样本来学习。推而广之,K 样本学习(K-shot Learning)就是每个分类中取 K 个样本学习。

使用每个类别中的少量样本进行单样本学习。图片来源:Google DeepMind

 举几个例子

少样本学习是在所有深度学习的会议上都能看到大量论文的一个领域。现在有一些特定的数据集可以用来衡量它们的性能,例如 MNIST 和 CIFAR,这些一般用于机器学习的数据集。单样本学习有不少在特定图像分类问题上的应用,例如特征识别和表示。

告诉我更多!

我们有很多方法来实现少样本学习,包括迁移学习、多任务学习和元学习。有时作为整个算法,有时作为算法的一部分。也有一些其他的方法,比如使用更聪明的损失函数,使用动态的架构或者使用一些优化技巧。零样本学习,该算法声称它可以预测那些从来没有见过的分类里的数据,本质就是一种可以随着新类型的数据而扩展的算法。

元学习

这是什么?

元学习就像它听起来的那样,是一种可以通过一个数据集,生成一个专为这个数据集准备的新机器学习算法。这个定义第一眼看感觉非常前卫。你会感觉到,“哇,这不就是数据科学家们做的事情吗!”,它把“21 世纪最性感的工作”给自动化了!在某种程度上,元学习算法已经开始做这样的事情了(引用自 Google 的博文和这篇论文)。

在一些少样本图像分类问题上构建元学习的例子。图片来源:Ravi et.al.

 举几个例子

元学习已经成为了最近深度学习领域的热门话题。有非常多的研究论文发表,大多数都使用了超参数和神经网络调优的方法,寻找好的网络架构,少样本的图像识别和高速的强化学习。你可以在这里找到更多易于理解的关于应用场景的文章。

告诉我更多!

一些人把这样完完全全的自动化决定参数、超参数和网络架构的方法称为 AutoML,同时你也可能发现人们把元学习和 AutoML 看作两个不同的领域。尽管元学习和 AutoML 伴随着非常多的炒作,但真相是元学习算法仍然是在数据复杂度和多样性变得越来越大的时候,可以用于扩展机器学习算法的一种好方法。

大多数元学习论文都运用了非常聪明的技巧。根据 Wikipedia 上的资料,他们普遍拥有一些属性:

  • 系统必须包含一个学习系统,它会根据经验来做适应。
  • 经验通过利用元知识,要么从之前学习的单个数据集里获得,要么从不同的领域知识获得。
  • 学习偏差必须动态选择。

子系统的建立是为了适应当领域元数据被加入到系统中的情况。这个元数据可以告诉我们分类数量的增长,复杂度,颜色、材质和物体的变化(在图像问题中),风格,语言模式(在自然语言问题中)和其他相似的特征。你可以看看一些非常酷的论文:Meta-Learning Shared Hierarchies 和 Meta-Learning Using Temporal Convolutions。你也可以用元学习的架构来构建少样本学习或零样本学习的算法。元学习是最有前景能够塑造 AI 未来的算法之一。

神经推理

这是什么?

神经推理是在图像分类领域里的下一个重磅新事物。神经推理在模式识别上更深入了一步,其算法不再只是简单地认出和分类文本和图像。神经推理正在解决文本分析和视觉分析中更通用的问题。例如,下面的图片中展示了一系列问题,而这些问题神经推理能够通过图像给出解答。

 

告诉我更多!

在 Facebook 放出它最新的 CLEVR 数据集之后,这一系列新技术就出现了。这些用于发掘图像中物体的关系,而不只是其中的模式的技术,展示了非常巨大的潜力。它可能不只是解决神经推理的问题,还有可能解决很多其他困难的问题,包括少样本学习问题等。

小结

现在我们了解了这些技术是什么,让我们回到最开始,来看看它们如何解决我们最开始提出的问题。下面的表格给出了这些“有效学习”技术的在解决这些挑战时的能力:

“有效学习”技术的能力

  • 所有我们上面提到的技术都能通过某些方法,帮助我们解决在少量数据上训练的问题。元学习会给出一个与训练数据匹配的架构;迁移学习则利用一些其他领域的知识来弥补少量的训练数据;少样本学习致力于解决科学学科专业的问题;而对抗学习则可以帮助增强数据集。
  • 领域适应(多任务学习的一种),对抗学习和元学习的架构帮助解决了数据多样性增长所引起的问题。
  • 元学习和少样本学习帮助解决了数据量变大的问题。
  • 通过与元学习算法和少样本学习算法结合起来,神经推理算法展现出了解决真实世界问题的潜力。

 

请注意:这些“有效学习”技术并不是新的深度学习或机器学习技术,而是用于增强现有技术的技巧,让他们能够在现有的情况下表现的更好。因此,你还是会在实战中使用例如卷积神经和 LSTM 网络这样的工具,不过会被加上一些“特技”。这些只需要更少的数据还能够同时解决多个问题的“有效学习”技术,能够帮助我们更简单地部署算法,更简单地商业化 AI 驱动的产品和服务。 

责任编辑:庞桂玉 来源: AI前线
相关推荐

2021-12-07 13:45:38

WOT技术峰会技术

2020-09-14 16:17:38

代码开发GitHub

2022-01-14 07:28:19

效益成本云部署

2017-03-06 10:08:23

中级程序员

2017-02-24 07:23:00

深度学习方向预测

2009-10-14 15:06:22

IT职业发展

2022-03-10 08:03:22

项目经理技能服务

2019-10-14 15:14:17

存储云存储人工智能

2018-02-03 19:07:59

2009-10-21 15:43:38

综合布线市场

2020-04-07 20:12:36

深度学习AI人工智能

2011-06-21 18:05:15

SEO

2013-01-07 10:37:10

移动游戏本地游戏桌游

2009-10-26 16:13:48

远程接入网

2017-04-11 09:27:17

2018-10-23 15:50:24

人工智能AI深度学习

2018-05-20 10:07:06

程序员能力学习

2012-06-05 08:48:02

服务器虚拟化IT硬件创新

2010-07-20 11:03:10

程序员

2013-10-08 11:16:55

谷歌云计算
点赞
收藏

51CTO技术栈公众号