基于深度学习的中文新闻文本分类研究外文翻译资料

 2021-11-26 10:11

英语原文共 8 页

摘要

深度神经网络(DNN)在许多基准和问题领域产生了最先进的结果。但是,DNN的成功取决于其架构和超参数的正确配置。这种配置很困难,因此,DNN通常不会充分发挥其潜力。此外,商业应用中的DNN通常需要满足现实世界的设计约束,例如参数的大小或数量。为了简化配置,我们开发了用于深度学习的自动机器学习(AutoML)系统,主要侧重于超参数的优化。

本文将AutoML向前推进了一步。它引入了一个名为LEAF的进化AutoML框架,它不仅可以优化超参数,还可以优化网络架构和网络规模。LEAF使用最先进的进化算法(EA)和分布式计算框架。医学图像分类和自然语言分析的实验结果表明,该框架可用于实现最先进的性能。特别是,LEAF表明架构优化提供了超级参数优化的显着提升,并且可以同时最小化网络,同时性能几乎没有下降。因此,LEAF为民主化和改进人工智能奠定了基础,并使AI在未来的应用中具有实用性。

CCS概念:

关键词:神经网络/深度学习,人工智能,AutoML

1引言

最近,由于计算能力和数据质量的提高,机器学习和人工智能的应用显着增加。特别是,深度神经网络(DNN)学习了高维数据的丰富表示,超越了计算机视觉,自然语言处理,强化学习和语音识别等各种基准测试中的最新技术水平。这种状态的DNN非常大,由数亿个参数组成,需要大量的计算资源来训练和运行。它们也非常复杂,它们的性能取决于它们的架构和超参数的选择。最近深度学习的大部分研究确实侧重于发现在特定任务中表现优异的专业架构。DNN架构之间存在很多差异(即使对于单一域),到目前为止,还没有指导它们之间的指导原则。找到正确的架构和超参数基本上简化为黑盒优化过程。但是,手动测试和评估是一个繁琐且耗时的过程,需要经验和专业知识。架构和超参数通常基于历史和便利而不是理论或经验原则来选择,因此,网络的表现不尽如人意。因此,DNN的自动配置是一种引人注目的方法,原因有三:(1)找到性能良好的DNN的创新配置,(2)找到足够小的实用配置,以及(3)使其成为可能找到没有领域专业知识的人。

目前,满足第一个目标的最常见方法是通过部分优化。作者可能会调整一些超参数或在几个固定架构之间切换,但很少同时优化架构和超参数。这种方法是可以理解的,因为搜索空间很大并且现有方法不会随着超参数的数量和架构复杂性的增加而扩展。用于超参数优化的标准和最广泛使用的方法是网格搜索,其中超参数被离散化为固定数量的间隔,并且穷举搜索所有组合。通过使用这些超参数训练DNN并根据基准数据集上的度量评估其性能来测试每个组合。虽然这种方法很简单并且可以很容易地并行化,但是它的计算复杂性与超参数的数量成组合,并且一旦超参数的数量超过四或五就变得难以处理。网格搜索也没有解决DNN的最佳架构应该是什么的问题,这可能与超参数的选择同样重要。需要一种可以优化结构和参数的方法。

最近,深度学习的商业应用变得越来越重要,并且其中许多应用于智能手机。不幸的是,在大多数智能手机中,数以亿计的现代DNN不能适应几千兆字节的RAM。因此,DNN优化的一个重要的第二个目标是最小化网络的复杂性或大小,同时最大化其性能。因此,需要一种用于优化多个目标的方法来满足第二目标。

为了实现第三个目标,即民主化AI,已经开发出用于自动化DNN配置的系统,例如Google AutoML和Yelp的度量优化引擎(MOE,也作为名为SigOpt的产品商业化)。然而,现有系统通常在它们解决的问题的范围和它们向用户提供的反馈方面受到限制。例如,Google AutoML系统是一个黑盒子,它隐藏了用户的网络架构和培训;它只提供一个API,用户可以使用该API查询新输入。另一方面,MOE更透明,但由于它在下面使用贝叶斯优化算法,它只调整DNN的超参数。虚空系统最小化网络的大小或复杂性。

本文介绍了一个名为LEAF(学习进化AI框架)的AutoML系统,它解决了这三个目标。它利用并扩展了现有的最先进的进化算法(EA),用于架构搜索,称为CoDeepNEAT,它发展了超参数和网络结构。虽然其超参数优化能力与其他AutoML系统的优化能力相匹配,但其优化DNN架构的能力使其能够实现最先进的结果。CoDeepNEAT中的物种形成和复杂化启发也使其易于适应多目标优化以找到最小的体系结构。LEAF的有效性将在本文中展示两个领域,一个是语言:维基百科评论毒性分类(也称为Wikidetox),另一个是视觉:胸部X射线多任务图像分类。因此,LEAF为民主化,简化和改进人工智能奠定了基础。

2背景和相关工作

本节将回顾超参数优化和神经结构搜索中的背景和相关工作。

2.1 DNN的超参数调整

如第1节所述,最简单的超参数优化形式是穷举网格搜索,其中超参数空间中的点以规则的间隔均匀采样。虽然网格搜索用于优化简单的DNN,但是当所有超参数对性能至关重要并且必须针对非常特定的值进行优化时,它是无效的。对于具有这种特征的网络,使用高斯过程的贝叶斯优化是一种可行的替代方案。贝叶斯优化需要相对较少的函数评估,并且在多模态,不可分离和噪声函数上运行良好,其中存在多个局部最优。它首先创建最适合目标函数的函数概率分布(也称为高斯过程),然后使用该分布确定下一个样本的位置。贝叶斯优化的主要缺点是计算量很大,并且随着评估点的数量而立方体地缩放。试图通过用线性缩放贝叶斯神经网络代替高斯过程来解决这个问题。贝叶斯优化的另一个缺点是,当超参数的数量适度高时,它表现不佳。

EA是另一类广泛用于复杂多模函数的黑盒优化的算法。他们依靠生物启发机制来迭代地改进目标函数的候选解决方案群体。已经成功应用于DNN超参数调整的一个特定EA是CMA-ES。在CMA-ES中,估计群体中最佳个体的高斯分布并用于生成/采样下一代群体。此外,它还具有控制步长和人口移动方向的机制。CMA-ES在许多现实世界的高维优化问题中表现良好,特别是CMA-ES在调整卷积神经网络参数方面表现优于贝叶斯优化。然而,它仅限于持续优化,并且不会自然地扩展到架构搜索。

2.2体系结构搜索DNN

最近的一种方法是使用强化学习(RL)来搜索更好的架构。递归神经网络(LSTM)控制器生成一系列层,这些层从输入开始并在DNN的输出端结束。LSTM通过称为REINFORCE 的基于梯度的策略搜索算法进行训练。

通过这种方法探索的架构搜索空间足够大,可以改进手工设计。在诸如CIFAR-10和ImageNet等流行的图像分类基准测试中,这种方法在最先进的技术的1-2个百分点内实现了性能,并且在语言建模基准测试中,它实现了最先进的技术。

但是,优化网络的体系结构仍然必须具有线性或树状核心结构;任意图形拓扑都在搜索空间之外。因此,仍然由用户预先定义适当的搜索空间以使算法用作起点。可以针对每个层优化的超参数的数量也是有限的。此外,计算非常繁重;为了生成最终的最佳网络,必须对数千个候选架构进行评估和培训,这需要数十万小时的GPU时间。

架构搜索的另一个方向是进化算法(EA)。它们非常适合这个问题,因为它们是可以优化任意结构的黑盒优化算法。这些方法中的一些使用NEAT [41]的修改版本,用于神经元级神经进化,用于搜索网络拓扑。其他人则依赖于遗传编程或等级进化。最近有一些关于多目标进化架构搜索的工作,其目标是优化网络的性能和训练时间/复杂性。

EA比RL方法的主要优点是它们可以在更大的搜索空间上进行优化。例如,基于NEAT的方法可以为网络架构演化任意图形拓扑。最重要的是,层次化进化方法可以有效地搜索非常大的空间,并从最小的起点快速发展复杂的架构。因此,进化方法的表现达到或超过强化学习方法的表现。例如,CIFAR-10

ImageNet目前最先进的结果是通过渐进方法实现的。在本文中,LEAF使用CoDeepNEAT,这是一个基于NEAT的强大EA,能够分层演化具有任意拓扑的网络。

3 LEAF概述

LEAF是一个由三个主要组件组成的AutoML系统:算法层,系统层和问题域层。算法层允许LEAF发展DNN超参数和体系结构。系统层将云计算基础设施(如Amazon AWS [2],Microsoft Azure [6]或Google Cloud [3])上的DNN培训并行化,这是评估算法层中演变的网络的适应性所必需的。算法层以Keras JSON格式发送网络体系结构到系统层并返回健身信息。这两个层协同工作以支持问题域层,其中LEAF解决了诸如超参数调整,架构搜索和复杂性最小化等问题。LEAF AutomML结构概述如图1所示。

3.1算法层

算法层的核心是CoDeepNEAT,一种基于NEAT的协同进化算法,用于演化DNN架构和超参数。协同协同进化是进化计算中常用的技术,通过将更简单的组件组合在一起来发现评估期间的复杂行为。它已成功应用于许多领域,包括功能优化,捕食者-猎物动力学和子程序优化。CoDeepNEAT中的特定协同进化机制受到分层SANE的启发,但也受到ESP和CoSyNE的组件演化方法的影响。这些方法与传统的神经进化不同,因为它们不会进化出整个网络。相反,两种方法都会发展组件,然后组装成完整的网络以进行适应性评估。

图1:LEAF及其内部子系统的可视化三个主要组成部分是:(1)使用CoDeepNEAT进化超参数或神经网络的算法层,(2)有助于训练和评估算法演化的网络的系统层,以及(3)问题域层,利用前两个层来优化DNN。

图2:CoDeepNEAT如何组装网络以进行适应性评估的可视化。通过用相应的模块替换蓝图节点,将模块和蓝图组装成网络。这种方法允许在许多手工设计的DNN中看到不断演变的重复和深层结构。

CoDeepNEAT遵循与NEAT相同的基本过程:首先,创建最小复杂度的染色体群。每个染色体表示为图,并且也称为个体。在几代人的过程中,通过突变逐渐将结构(即节点和边缘)添加到图中。与NEAT一样,突变涉及在两个节点之间随机添加节点或连接。在交叉期间,历史标记用于确定两条染色体的基因如何排列以及如何随机交叉节点。基于相似性度量将群体划分为物种(即子群体)。每个物种与其适应性成比例地生长,并且在每个物种中分别发生进化。

CoDeepNEAT与NEAT的不同之处在于,染色体中的每个节点不再代表神经元,而是代表DNN中的一层。每个节点包含一个实数和二进制值超参数表,它们分别通过均匀高斯分布和随机比特翻转进行变异。这些超参数确定了层的类型(例如卷积,完全连接或重复)以及该层的属性(例如神经元的数量,内核大小和激活函数)。染色体的边缘不再标有重量;相反,它们只是表明节点(层)是如何连接的。染色体还包含一组适用于整个网络的全局超参数(例如学习速率,训练算法和数据预处理)。

如算法1中所总结的,使用NEAT的变异和交叉算子分别进化两组模块和蓝图。蓝图染色体(也称为个体)是一个图,其中每个节点包含指向特定模块物种的指针。反过来,每个模块染色体是代表小DNN的图。在健身评估期间,组合模块和蓝图以创建大型组装网络。对于每个蓝图染色体,蓝图图中的每个节点都被从该节点指向的物种中随机选择的模块替换。如果多个蓝图节点指向相同的模块种类,则在所有这些模块中使用相同的模块。更换蓝图中的节点后,将个人转换为DNN。用于组装网络的整个过程在图2中可视化。

通过首先让网络在任务的训练数据集上学习,然后使用看不见的验证集来测量它们的性能来评估组装的网络。组装网络的适合度(即验证性能)归因于蓝图和模块,作为包含该蓝图或模块的所有组装网络的平均适合度。该方案降低了评估噪声,并允许将蓝图或模块保留到下一代,即使它们偶尔包含在性能较差的网络中。在CoDeepNEAT完成运行之后,最好的进化网络将被训练直到收敛并在另一个保持测试集上进行评估。

3.2系统层

使用CoDeepNEAT演进DNN架构和超参数的主要挑战之一是评估网络所需的计算能力。然而,由于进化是一种并行搜索方法,因此每一代人群中的个体评估可以分布在数百台工作机器上,每台工作机器都配备有专用GPU。对于本文中描述的大多数实验,工作人员是在Microsoft Azure上运行的GPU配备的机器,Microsoft Azure是一个流行的云计算平台。

为此,LEAF的系统层使用称为完成服务的API,它是名为StudioML [9]的开源软件包的一部分。首先,算法层将准备好以Keras JSON形式进行适应性评估的网络发送到系统层服务器节点。接下来,服务器节点将网络提交给完成服务。它们被推送到队列(缓冲区),每个可用的工作节点从队列中拉出一个网络进行训练。训练结束后,计算网络的适应度,并立即将信息返回给服务器。结果一次返回一个,并且没有任何订单保证通过单独的返回队列。通过使用完成服务来并行化评估,数千个候选网络在几天内被训练,从而使架构搜索易于处理。

3.3问题域层

问题域层解决了前面提到的三个任务,即超参数的优化,架构和网络复杂性,使用CoDeepNEAT是一个起点。

超参数优化。默认情况下,LEAF优化架构和超参数。为了演示体系结构搜索的价值,可以在算法层中配置CoDeepNEAT以仅优化超参数。在这种情况下,禁用网络结构和节点特定超参数的突变和交叉。仅优化每个染色体中包含的全局超参数集,如在其他超参数优化方法中的情况。仅超参数CoDeepNEAT与传统遗传算法非常相似,因为存在精英选择,超参数经历均匀变异和交叉。然而,它仍然具有NEAT的物种形成机制,通过将它们分组为子群体来保护新的和创新的超参数。

架构搜索。 LEAF直接利用标准CoDeepNEAT在较简单的域中执行架构搜索,例如单一类别分类。但是,LEAF也可用于搜索多任务学习(MTL)的DNN架构。基础是软排序多任务架构,其中固定线性DNN的每个级别由固定数量的模块组成。然后,这些模块在不同程度上用于不同的任务。LE

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。