Google的AutoML:突破炒作

这是系列文章的第3部分。 第一部分在这里 第2部分在这里 .

为了宣布Google的AutoML,Google首席执行官Sundar Pichai ,“如今,设计神经网络非常耗时,并且需要将其使用限制在较小的科学家和工程师社区的专业知识。这就是为什么我们创建了一种称为AutoML的方法的原因,这表明神经网络可以设计神经网络。我们希望AutoML将具有当今一些博士所具有的能力, 在三到五年内将使成千上万的开发人员能够根据他们的特殊需求设计新的神经网络。” (强调我的)

Google首席执行官Sundar Pichai表示,我们每个人都需要设计自己的神经网络
Google首席执行官Sundar Pichai表示,我们每个人都需要设计自己的神经网络

当Google的AI负责人Jeff Dean建议 100倍的计算能力可以取代对机器学习专业知识的需求,在计算上昂贵的神经体系结构搜索是他给出的唯一例证来说明这一点。 (在他的TensorFlow DevSummit主题演讲中大约23:50)

这就提出了很多问题:成千上万的开发人员 需要 “根据他们的特殊需求设计新的神经网络”(引用 Pichai的愿景 ), 要么 有没有有效的方法让神经网络推广到类似问题?大量的计算能力真的可以取代机器学习的专业知识吗?

在评估Google的声明时,请务必牢记 Google拥有既得的财务利益,可以说服我们有效使用深度学习的关键在于更大的计算能力,因为这是他们明显击败我们其他人的地方。如果为true,我们可能都需要购买Google产品。就其本身而言,这并不意味着Google的说法是虚假的,但请务必注意哪些财务动机可能构成其声明的依据。

在之前的帖子中,我分享了对 自动语言 的历史 ,定义 什么是神经体系结构搜索 指出 对于 在许多机器学习项目中,设计/选择架构远不是问题中最困难,最耗时或最痛苦的部分。在今天的帖子中,我要特别关注一下Google的AutoML,该产品已引起了媒体的广泛关注,并针对以下问题:

什么是Google的AutoML?

虽然领域 自动语言 已经存在多年了(包括 开源AutoML库, 工作坊 , 研究 比赛 ),2017年5月Google将该词 自动语言 对于它 神经结构搜索。在发布会上发布公告的博客文章中,Google I / O,Google CEO Sundar Pichai写, “那是 为什么我们创建了一种称为AutoML的方法,表明神经网络可以设计神经网络” 和Google AI研究人员 巴雷特(Barret Zoph)和Quoc Le(写道) “在我们的方法中(我们称之为“ 自动语言 ”),控制器神经网络可以提出“子”模型架构…”

Google的Cloud 自动语言 原为 2018年1月宣布 作为一套机器学习产品。到目前为止,它由一个公开可用的产品组成, 自动语言 视觉 ,一种用于识别或分类图片中对象的API。根据 产品页面 ,Cloud 自动语言 视觉 依靠两项核心技术: 转移学习 神经结构搜索。既然我们已经解释了 神经结构搜索,现在让我们看一下迁移学习,并了解它与神经体系结构搜索的关系。

众多有关Google的AutoML和神经体系结构搜索的文章的头条新闻
众多有关Google的AutoML和神经体系结构搜索的文章的头条新闻

注意:Google Cloud 自动语言 也有一个 拖放式ML产品 仍然在Alpha中。我已在2个月前申请访问它,但尚未收到Google的回复。我打算在发布后写一篇文章。

什么是转学?

转移学习 是一项强大的技术,通过利用已在相似的较大数据集上进行过训练的预训练模型,可以使数据集较小或计算能力较低的人们获得最新的结果。由于通过迁移学习而学习的模型不必从头开始学习,因此与不使用迁移学习的模型相比,通常可以用更少的数据和计算时间来达到更高的准确性。

迁移学习是我们免费使用的一项核心技术 面向程序员的实用深度学习 课程–并且我们的学生已经在从他们的初创公司到财富500强公司的所有领域中进行了生产应用。尽管迁移学习被认为比神经体系结构搜索“不那么性感”,但是它被用于取得突破性的学术成果,例如杰里米·霍华德(Jeremy Howard)和塞巴斯蒂安·鲁德(Sebastian Ruder)的 迁移学习在自然语言处理中的应用,它在6个数据集上实现了最新的分类,并为 在这一领域的进一步研究 在OpenAI。

神经架构搜索与迁移学习:两种相反的方法

转移学习的基本思想是神经网络体系结构将泛化为类似类型的问题:例如,许多图像具有以各种不同类型显示的基本特征(例如角,圆,狗脸或车轮)图片。相反, 促进神经体系结构搜索每个问题的基本思想是相反的:每个数据集都有一个独特的,高度专业化的体系结构,它将发挥最佳性能。

Matthew Zeiler和Rob Fergus的示例提供了图像分类器学习的4个特征:角,圆,狗脸和车轮
Matthew Zeiler和Rob Fergus的示例提供了图像分类器学习的4个特征:角,圆,狗脸和车轮

当神经体系结构搜索发现新的体系结构时,您必须从头开始学习该体系结构的权重,而在进行转移学习时,您将从预先训练的模型中现有的权重开始。从这个意义上说,你 你不能使用 神经架构搜索和转移学习是针对同一问题的:如果您要学习新的架构,则需要为其训练新的权重;相反,如果您在预先训练的模型上使用转移学习,则无法对架构进行实质性更改。

当然,您可以将迁移学习应用于通过神经体系结构搜索学习的体系结构(我认为这是一个好主意!)。这仅要求少数研究人员使用神经体系结构搜索并将发现的模型开源。 并非所有机器学习从业者都必须使用神经体系结构来搜索所有问题 他们可以转而使用转移学习。 However, Jeff Dean的主题演讲, Sundar Pichai的博客文章,Google Cloud的促销材料和媒体报道都表明了相反的事实:每个人都必须能够直接使用神经体系结构搜索。

神经建筑搜索有什么用

神经体系结构搜索非常适合查找新体系结构! Google的 变形虫网 是通过神经结构搜索来学习的,并且(包括 快速进步 例如积极的学习计划和随着训练的进行而更改图像大小)现在 在单台机器上训练ImageNet的最便宜方法!

变形虫网 的设计没有包含可伸缩能力的奖励功能,因此它无法像ResNet一样适用于多台机器,但是将来可能会学习到可伸缩性很好的神经网络,并针对不同的质量进行了优化。

需要更多证据

我们还没有证据表明,每个数据集都最好使用自己的自定义模型来建模,而不是对现有模型进行微调。由于神经体系结构搜索需要较大的训练集,因此对于较小的数据集,这尤其是个问题。甚至Google自己的一些研究都使用可转移的技术,而不是为每个数据集寻找新的架构,例如 网络 ( 博客文章在这里 ),他在Cifar10上学习了一个架构构件,然后使用该构件为ImageNet创建了架构。我还不知道使用神经体系结构搜索赢得过任何广泛参与的机器学习竞赛。

此外,我们不知道Google吹捧的在神经网络结构搜索中花费大量计算资源的方法是上乘的方法。例如,最近的论文如 高效的神经架构搜索(ENAS)
可微体系结构搜索(DARTS) 提出效率更高的算法。 DARTS仅需4天的GPU , 相比 网络 1800 GPU天3150天的AmoebaNet GPU (所有人在Cifar-10上都获得了相同的准确性)。 Jeff Dean是ENAS论文的作者,该论文提出了一种1000倍的技术 计算量很大,这似乎与他一个月后在TF DevSummit上强调使用100倍的方法不一致 更多 计算上昂贵。

那为什么还要大肆宣传Google的AutoML?

鉴于上述限制,为什么Google 自动语言 的炒作与其已证明的实用性如此之大(至少到目前为止)?我认为有一些解释:

  1. Google的AutoML突出显示了一些 在营利性公司中设立学术研究实验室的危险。尝试围绕有趣的学术研究来构建产品,而不评估它们是否满足实际需求是一种诱惑。这也是许多AI初创公司(例如MetaMind或Geometric Intelligence)的故事,这些初创公司最终都是默认的,而从未生产过产品。我的 给创业者的建议 是为了避免产生博士学位论文,并避免只雇用学术研究人员。

  2. Google擅长行销。许多外部人士认为,人工智能是一个难以接近且令人生畏的领域,他们不认为自己有办法评估索赔,尤其是像Google这样的大型公司。许多记者也对此感到pre惜,并毫不客气地将Google的炒作引为热门文章。我会定期与不从事机器学习的人交谈,但是他们对从未使用过且无法解释任何内容的各种Google ML产品感到兴奋。

    Google误导性报道自己成就的一个例子是 Google AI研究人员发布 “一种深度学习技术,可重建真正的人类基因组”,将自己的工作与诺贝尔奖获得者的发现(傲慢自大!)进行了比较,故事得到了报道。 通过有线 。但是,约翰·霍普金斯大学生物医学工程,计算机科学和生物统计学专业的杰出教授史蒂芬·萨尔茨伯格 揭穿Google的帖子 。 萨尔茨堡 指出 那个研究 并没有真正重建人类基因组 并且“仅是对现有软件的增量改进,甚至可能还不到。”其他一些 基因组学研究人员一致同意 与萨尔茨堡。

    Google正在进行着许多伟大的工作,但是如果我们不必仔细筛选这么多误导性的宣传来弄清楚什么是合法的,那将更容易理解。

  3. Google拥有既得利益,可以说服我们有效利用深度学习的关键在于更大的计算能力,因为这是他们明显击败我们其他人的地方。 自动语言 通常在计算上非常昂贵,例如在Google的示例中,使用450个K40 GPU 7天(相当于3150 GPU天)来学习AmoebaNet。

    工程师和媒体经常流光于裸机电源和更大的东西历史表明,创新通常是由约束和创造力催生的。 Google使用最昂贵的计算机处理可能的最大数据;这真的好吗 概括我们其他人面临的问题 生活在资源有限的世界里?

    创新来自做不同的事情,而不是做更大的事情。最近的 快 的成功 在斯坦福大学DAWNBench竞赛中就是一个例子。

我们如何解决机器学习专业知识的不足?

回到杰夫·迪恩(Jeff Dean)在他的著作中提出的问题 TensorFlow DevSummit主题演讲 关于机器学习从业者的全球短缺,可以采用另一种方法。我们可以通过以下几种方式消除使用深度学习的最大障碍:

  1. 使深度学习更易于使用
  2. 揭穿这件事的神话 做深度学习
  3. 减少缺少钱或使用云GPU所需的信用卡的人的访问权限

使深度学习更易于使用

使深度学习更易于使用的研究产生了巨大影响,这使得训练更好的网络变得更快,更简单。现已成为标准做法的令人兴奋的发现的例子有:

旨在提高易用性的最新研究包括:

以上发现均未涉及裸机发电。取而代之的是,它们都是创造性的想法,以不同的方式做事。

解决有关进行深度学习的神话

另一个障碍是许多神话使人们相信深度学习不适合他们:错误地认为他们的数据太小,他们没有适当的教育或背景,或者他们的计算机不够大。一个这样的神话说,只有机器学习博士才能够使用深度学习,而许多无力聘请昂贵专家的公司甚至都不会去尝试。但是,不仅公司可以 培训员工 他们已经必须成为机器学习专家,这是更可取的,因为您当前的员工已经在您所在的领域拥有领域专业知识!


在麻省理工学院技术审查会议上的演讲中,我谈到了6个神话,这些神话使人们错误地认为使用深度学习比实际困难。


对于我与之交谈的绝大多数人来说, 进入壁垒 深度学习距离很远 低于他们的预期:一年的编码经验并可以使用GPU。

访问增加:Google Colab笔记本

尽管云GPU的成本(每小时约50美分)在我们许多人的预算范围之内,但来自世界各地的学生却会定期与我联系, 任何GPU使用 完全没有在某些国家/地区,有关银行和信用卡的规定可能使学生即使有钱也很难使用AWS等服务。 Google Colab笔记本 是一个解决方案! Colab笔记本电脑提供了Jupyter笔记本电脑环境,无需使用任何设置即可使用,它完全在云中运行,并为用户提供了免费GPU的访问权限(尽管不允许长时间使用GPU)。它们还可用于创建包含在交互式环境中运行的工作代码示例的文档。与谷歌的AutoML相比,谷歌colab笔记本在使深度学习民主化方面将发挥更大的作用。也许这将是将来Google营销机器的更好目标。

如果还没有,请查看第1部分: 机器学习从业者做什么? 和第2部分: 自动语言 神经体系结构搜索的引论 这个系列的