CN115066690A - 搜索归一化-激活层架构 - Google Patents
搜索归一化-激活层架构 Download PDFInfo
- Publication number
- CN115066690A CN115066690A CN202180012815.XA CN202180012815A CN115066690A CN 115066690 A CN115066690 A CN 115066690A CN 202180012815 A CN202180012815 A CN 202180012815A CN 115066690 A CN115066690 A CN 115066690A
- Authority
- CN
- China
- Prior art keywords
- neural network
- architecture
- candidate
- architectures
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physiology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于为要被包括在神经网络中的激活‑归一化层搜索架构以替换接收包括多个值的层输入的层的集合,对该层输入中的值应用一个或多个归一化操作以生成归一化层输入,并且对该归一化层输入应用逐元素激活函数以生成层输出。
Description
相关申请的交叉引用
本申请要求2020年2月7日提交的美国临时专利申请No.62/971,887的优先权,其全部内容特此通过引用并入。
技术领域
本说明书涉及为神经网络确定架构。
背景技术
神经网络是采用一层或多层非线性单元来针对接收到的输入预测输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一个层,即,下一个隐藏层或输出层,的输入。网络的每个层依照相应参数集的当前值从接收到的输入生成输出。
一些神经网络是循环神经网络。循环神经网络是接收输入序列并且从该输入序列生成输出序列的神经网络。特别地,循环神经网络能够在计算当前时间步的输出时使用来自前一时间步的网络的内部状态中的一些或全部。循环神经网络的示例是包括一个或多个长短期记忆(LSTM)记忆块的LSTM神经网络。每个LSTM记忆块能够包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,这些门允许单元存储该单元的先前状态,例如,用于在生成当前激活时使用或者被提供给LSTM神经网络的其他组件。
发明内容
本说明书描述一种实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,该系统为归一化-激活神经网络层(也称为“NA层”)确定架构。然后能够在神经网络中使用所确定的架构代替现有层集,其首先执行归一化并且然后应用逐元素激活函数。
能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
通过如本说明书中描述的那样确定归一化-激活层的架构,系统能够标识特别是在图像理解或生成任务上胜过常规人类设计的架构(例如,batch norm+ReLu)的架构。换句话说,在神经网络中包括所标识的架构能够导致神经网络能够被训练成通过改进训练过程的稳定性而快速地收敛并且导致训练后的神经网络相对于常规人类设计或搜索的架构在目标询问上具有改进的性能。至少部分地由于在搜索期间对多个不同架构进行评价,所得的归一化-激活层架构一般化到许多不同架构。在搜索期间,系统能够使用一个或多个拒绝准则来利用搜索空间的“稀疏性”以便减少搜索所消耗的计算资源量。
在以下附图和描述中阐述本说明书中描述的主题的一个或多个实施例的细节。主题的其他特征、方面和优点将从说明书、附图和权利要求书中变得明显。
附图说明
图1示出示例神经架构搜索系统。
图2示出示例计算图。
图3是用于为NA层搜索架构的示例过程的流程图。
图4是用于执行进化搜索过程的迭代的示例过程的流程图。
在各个附图中相同的附图标记和名称指示相同的元素。
具体实施方式
本说明书描述一种实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,该系统为归一化-激活神经网络层确定架构。然后能够在神经网络中使用所确定的架构代替现有层集,该现有层集首先执行归一化并且然后应用逐元素激活函数。
神经网络能够被训练成执行任何种类的机器学习任务,即,能够被配置成接收任何种类的数值数据输入并且基于该输入来生成任何种类的分数、分类或回归输出。
在一些情况下,神经网络是被配置成执行图像处理任务即接收输入图像并且处理该输入图像以针对该输入图像生成网络输出的卷积神经网络。例如,任务可以是图像分类并且由神经网络针对给定图像生成的输出可以是对象类别集中的每一个类别的分数,其中每个分数表示图像包含属于该类别的对象的图像的估计可能性。作为另一示例,任务能够是图像嵌入生成并且由神经网络生成的输出能够是输入图像的数值嵌入。作为又一示例,任务能够是对象检测并且由神经网络生成的输出能够标识输入图像中描绘特定类型的对象所在的位置。作为又一示例,任务能够是图像分段并且由神经网络生成的输出能够将输入图像的每个像素指配给来自类别集的类别。
在一些情况下,神经网络是被配置成生成图像的卷积神经网络,即,无条件地或以某个场境(context)输入为条件。例如,神经网络能够是与生成对抗网络(GAN)框架中的一个或多个鉴别器神经网络配对的生成器神经网络。
作为另一示例,如果神经网络的输入是互联网资源(例如,web页面)、文档或文档的部分或从互联网资源、文档或文档的部分中提取的特征,则任务能够是对资源或文档进行分类,即,由神经网络针对给定互联网资源、文档或文档的部分生成的输出可以是主题集中的每一个的分数,其中每个分数表示互联网资源、文档、或文档部分是关于该主题的估计可能性。
作为另一示例,如果神经网络的输入是特定广告的印象场境的特征,则由神经网络生成的输出可以是表示特定广告将被点击的估计可能性的分数。
作为另一示例,如果神经网络的输入是针对用户的个性化推荐的特征,例如,表征推荐的场境的特征,例如,表征用户所采取的先前动作的特征,则由神经网络生成的输出可以是内容项集中的每一个的分数,其中每个分数表示用户将择优对被推荐内容项做出响应的估计可能性。
作为另一示例,如果神经网络的输入是一种语言的文本的序列,则由神经网络生成的输出可以是另一语言的文本片段集中的每一个的分数,其中每个分数表示另一语言的文本片段是输入文本变成另一语言的适当翻译的估计可能性。
作为另一示例,任务可以是音频处理任务。例如,如果神经网络的输入是表示口语话语的序列,则由神经网络生成的输出可以是文本片段集中的每一个的分数,每个分数表示文本片段是针对话语的正确转录的估计可能性。作为另一示例,任务可以是关键词识别任务,其中如果神经网络的输入是表示口语话语的序列,则由神经网络生成的输出能够指示是否在话语中讲出特定词或短语(“热词”)。作为另一示例,如果神经网络的输入是表示口语话语的序列,则由神经网络生成的输出能够标识说出该话语的自然语言。
作为另一示例,任务能够是对某种自然语言的文本的序列进行操作的自然语言处理或理解任务,例如,蕴涵任务、释义任务、文本相似性任务、情感任务、句子完成任务、语法任务等。
作为另一示例,任务能够是文本至语音任务,其中输入是自然语言中的文本或自然语言中的文本的特征并且网络输出是定义以自然语言正在讲出的文本的音频的频谱图或其他数据。
作为另一示例,任务能够是健康预测任务,其中输入是患者的电子健康记录数据并且输出是与患者的将来健康相关的预测,例如,应该被开处方给患者的预测疗法、患者将发生不利健康事件的可能性、或针对患者的预测诊断。
作为另一示例,任务能够是代理控制任务,其中输入是表征环境的状态的观察并且输出定义要由代理响应于该观察而执行的动作。例如,代理能够是真实世界或模拟机器人、工业设施的控制系统、或控制不同种类的代理的控制系统。
图1示出示例神经架构搜索系统100。神经架构搜索系统100是实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中能够实现下述系统、组件和技术。
神经架构搜索系统100是搜索要被包括在一个或多个神经网络中的归一化-激活(NA)层的架构的系统。即,不是为整个神经网络搜索架构,而是系统100仅为NA层搜索架构,该NA层将被包括在具有现有架构,即,手动地设计的架构或已通过不同神经架构搜索技术来生成的架构,的现有神经网络内的一个或多个固定位置处。
在高层级,通过为归一化-激活层生成多个候选架构、评价所生成的候选架构中的每一个当被包括在多个不同神经网络架构中时表现如何、并且然后基于评价的结果来选择架构,系统100为NA层确定架构。
换句话说,与用于架构搜索的常规技术不同,不是为能够执行任务的神经网络搜索架构,而是系统100替代地为当被包括作为各自执行相同任务或者各自执行不同任务的许多不同架构的一部分时表现很好的NA层搜索架构。
更详细地,系统100获得指定多个不同神经网络架构的架构数据110。
每个神经网络架构包括至少一个NA层。NA层是神经网络的组件并且在神经网络架构中,能够被包括,例如,在卷积层、循环层或全连接层之后。作为特定示例,NA层能够被包括在执行线性变换的层之后,例如,卷积或矩阵乘法,并且能够接收执行线性变换的层的输出作为输入。
通常,NA层是这样的组件,其被配置成接收包括多个值的层输入、对层输入中的值应用一个或多个归一化操作以生成归一化层输入、并且对归一化层输入应用逐元素激活函数以生成层输出。归一化操作的示例包括由批归一化、组归一化和层归一化层执行以便归一化接收到的输入的操作。逐元素激活函数的示例包括整流线性单元(ReLU)、反正切和sigmoid函数。
对于每个神经网络架构,系统100还获得用于训练具有该神经网络架构的神经网络以执行对应的神经网络任务的相应的训练数据120和用于评价神经网络对对应的神经网络任务执行得有多好的验证数据130。
系统100能够以各种方式中的任一种接收训练数据120、验证数据130和架构数据110。例如,系统100能够例如使用由系统100提供的应用编程接口(API)来通过数据通信网络从系统的远程用户接收作为上传的数据。作为另一示例,系统100能够接收来自用户的指定由系统100已经维护的哪些数据应该被用作训练数据120和验证数据130及架构数据110的输入。
系统100然后使用接收到的数据来执行迭代搜索过程以为NA层搜索架构。
特别地,在搜索过程的每个迭代时,选择引擎135为NA层生成一个或多个候选架构140。
通常,选择引擎135从架构的指定搜索空间中为NA层选择候选架构140。架构的搜索空间定义能够由任何NA层执行以从给定层输入生成层输出的操作的可能组合。
作为特定示例,搜索空间中的每个可能的候选架构能够被表示为将一个输入张量转换成相同形状的输出张量的计算图。该计算图包括表示张量的初始节点的集合和表示来自原语操作的集合的原语操作的输出的中间节点的集合。
这样的计算图的示例被示出在图2中。
在图2的示例中,计算图是有向非循环图(DAG),该DAG具有4个初始节点,包括NA层的输入张量和三个辅助节点:常数零张量以及分别初始化为0和1的沿着通道维度的两个可训练向量v0和v1。
一般而言,DAG能够具有任何数量的节点,但是在图2的示例中,DAG将节点的总数限制为十四:4个初始节点加上10个中间节点。DAG中的每个中间节点表示原语操作的集合,例如,包括一元操作和二元操作的集合,中的一个的结果。
能够被用于定义搜索空间的示例原语操作的集合被示出在下表1中:
表1
在表1中,符号xI表示沿着由I指示的维度的x元素的子集。特别地,索引集I能够取{(b,w,h);(w,h,c);(w,h);(w,h,c/g)}当中的任何值,其中b是批维度,w是宽度维度,h是高度维度,c是通道维度,并且c/g指示聚合是跨通道维度以分组方式执行的。在任何聚合操作中,必要时可以插入少量噪声以获得数值稳定性。表1中的所有操作都保存输入张量的形状。因此,μI(x)是用xI中的集合元素的一阶矩替换x中的每个元素的映射。同样地,s2 I(x)是将x的每个元素转换成xI中的元素当中的二阶矩的映射。
通过确定在计算图中哪些节点由边连接以及来自原语操作的集合的哪些操作,例如,表1中的操作,对应于计算图中的每一个节点,引擎135能够生成架构140。
在每个迭代时,引擎135能够以各种方式中的任一种生成候选架构140。作为特定示例,系统100能够执行基于进化的搜索。
在基于进化的搜索中,在第一次迭代时,引擎135能够从搜索空间随机地生成多个候选架构140。例如,引擎135能够通过以顺序方式生成随机计算图来随机地生成候选架构140。从图中的初始节点开始,引擎135通过随机地对原语操作进行采样并且然后根据操作的元数随机地对其输入节点进行采样来生成每个新节点。该过程被重复多次并且最后节点被用作输出。
在每个后续迭代时,引擎135能够从已经在较早迭代时生成的候选架构选择候选架构的子集,基于候选架构的整体拟合度来从候选架构的子集选择候选架构,并且从所选择的候选架构生成新候选架构140。将在下面更详细地描述候选架构的总体拟合度和在后续迭代时选择候选架构140。
在每个迭代时,对于由引擎135生成的一个或多个候选架构140中的每一个,训练引擎150标识由架构数据110指定的多个不同神经网络架构中的两个或更多个。在一些实施方式中,训练引擎150针对所有架构140标识所有多重神经网络架构。在一些其他实施方式中,训练引擎150针对每个候选140标识多重神经网络架构的随机子集。
针对每个候选140并且针对每个所标识的神经网络架构,训练引擎150在用于所标识的神经网络架构的相应的训练数据120上训练神经网络,其具有所标识的神经网络架构,但是其中所标识的神经网络架构中的归一化-激活层用具有候选架构140的新归一化-激活层替换。
通常,因为系统100正在仅为NA层搜索架构,所以搜索空间将是“稀疏的”,即,仅所生成的候选140的非常小的子集当被包括在任何给定网络架构中将产生显著地好于随机猜测的性能。为了利用这种稀疏性以便使搜索过程所消耗的计算资源最小化,训练引擎150能够应用一个或多个拒绝准则用于拒绝候选140。对候选140的拒绝导致早期停止被拒绝候选140的训练(从而节省计算资源),然后从考虑中去除候选140。
作为特定示例,训练引擎150能够拒绝在阈值数量的训练步骤之后当被包括在两个或更多个神经网络架构中的任一个中时尚未达到至少阈值拟合度的任何候选架构。例如,如果对于给定候选140,两个或更多个神经网络架构没有一个在阈值数量的训练步骤,例如,五十个训练步骤、一百个训练步骤或一百五十个训练步骤之后,接收到超过阈值百分比,例如,百分之二十或百分之三十,验证准确度,则系统能够拒绝候选140并且终止训练。
作为另一特定示例,训练引擎150能够拒绝在训练期间经受数值不稳定性的任何候选140并且终止对所拒绝的候选140的训练。为了确定候选140是否经受数值不稳定性,训练引擎150能够在训练期间在一个或多个检查点处执行多个梯度上升步骤以朝向使网络的梯度范数最大化,即,使网络架构在一批训练输入上相对于模型参数的梯度的范数最大化的方向,对抗性地调整包括候选的网络架构的模型权重。如果在执行梯度上升步骤之后,梯度范数超过阈值,则训练引擎150能够拒绝候选。
对于每个所标识的架构,训练引擎150针对所标识的神经网络架构从训练后的神经网络在验证数据130上的执行的量度确定拟合度。例如,拟合度能够是训练后的神经网络在验证数据130上的验证准确度或训练后的神经网络的执行的任何其他适当的量度,例如,验证损失、交并比量度等。
训练引擎150然后从两个或更多个不同所标识的神经网络架构的拟合度确定候选架构的整体拟合度152。
在搜索的终止之后,即,在迭代搜索过程的最后迭代之后,系统100基于在搜索期间生成的候选架构140的整体拟合度152来为NA层选择最终架构。
例如,系统100能够为具有最佳整体拟合度的NA层选择候选架构140。
作为另一示例,系统100能够针对架构110中的架构选择具有最高整体拟合度的候选架构的子集并且通过评价在比对应的神经网络任务计算上更昂贵的目标神经网络任务上的候选架构的子集来选择最终架构。
在一些方式中,在搜索过程已终止之后,系统100然后能够输出指定NA层的最终架构的最终架构数据160。例如,系统100能够将指定最终NA层架构的数据输出给提交了训练数据102的用户。例如,最终架构数据160能够指定由NA层执行的原语操作、那些原语操作中的每一个的输入、以及哪个输出被用作NA层的层输出。
在一些实施方式中,在已选择最终架构之后,系统100训练包括具有所确定的架构的A-N层的神经网络,例如,从头开始或者微调作为在搜索期间训练的结果而生成的参数值而确定的,并且然后使用训练后的神经网络,例如,通过由系统提供的API来处理由用户接收的请求。
图3是用于为NA层搜索架构的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当地编程的神经架构搜索系统,例如,图1的神经架构搜索系统100,能够执行过程300。
系统接收指定多个不同神经网络架构的架构数据(步骤302),其中每个神经网络架构包括至少一个NA层,并且每个NA层被配置成:接收包括多个值的层输入;对层输入中的值应用一个或多个归一化操作以生成归一化层输入;并且对归一化层输入应用逐元素激活函数以生成层输出。
对于每个神经网络架构,系统接收用于训练具有该神经网络架构的神经网络的相应的训练数据以执行对应的神经网络任务和用于评价神经网络在对应的神经网络任务上表现有多好的验证数据(步骤304)。
系统为归一化-激活层生成多个候选架构(步骤306)。例如,系统能够通过执行进化搜索过程的迭代来重复地生成候选架构。在下面参考图4更详细地描述执行进化搜索过程的迭代。
对于多个候选架构中的每一个并且对于多个不同神经网络架构中的两个或更多个中的每一个,系统在用于神经网络架构的相应的训练数据上训练这样的神经网络,其具有神经网络架构但是其中NA层用具有候选架构的新NA层替换(步骤308)并且针对该神经网络架构从训练后的神经网络在验证数据上的执行的量度来确定拟合度(步骤310)。
系统从两个或更多个不同神经网络架构的拟合度确定候选架构的整体拟合度(步骤312)。在一些实施方式中,整体拟合度能够是两个或更多个不同架构的拟合度的平均值。在一些其他实施方式中,整体拟合度包括两个或更多不同架构的所有拟合度,即,是整体拟合度的列表。
系统基于候选架构的整体拟合度来为归一化-激活层选择最终架构(步骤314)。
图4是用于执行进化搜索过程的迭代的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当地编程的神经架构搜索系统,例如图1的神经架构搜索系统100,能够执行过程400。
一般而言,系统能够重复地执行过程400以为NA层确定最终架构。
更具体地,对于进化搜索过程的第一个迭代,系统能够随机地生成多个候选架构,并且在每个后续迭代时,能够执行过程400以生成用于迭代的一个或多个候选架构。
系统从已经被生成的候选架构选择候选架构的子集(步骤402)。例如,系统能够随机地选择已经被生成的候选架构的固定大小子集。在一些情况下,系统仅从全体的最近部分的滑动窗口选择固定大小子集,即,最近生成的候选架构。
系统基于候选架构的整体拟合度从候选架构的子集选择候选架构(步骤404)。
特别地,当整体拟合度是两个或更多个架构的拟合度的平均值时,系统能够选择子集中的候选架构中的具有最佳整体拟合度的候选架构。
当整体拟合度包括所有拟合度时,系统能够从子集标识具有不受来自该子集的任何其他候选架构的任何整体拟合度支配的整体拟合度的每个候选架构。系统然后能够随机地选择所标识的候选架构中的一个。当对于两个或更多个架构中的每一个,第二架构的拟合度至少和第一架构的拟合度一样高时,第一架构的整体拟合度受第二架构的整体拟合度支配。
系统从所选择的候选架构生成新候选架构(步骤406)。特别地,系统能够通过使所选择的候选架构变异来生成新候选架构。例如,系统能够随机地选择计算图中的中间节点,然后随机地从原语操作的集合中为所选择的节点选择新操作并且随机地为所选择的操作选择新前驱节点。系统然后能够修改所选择的候选架构以用随机地选择的原语操作和前驱节点替换对应的操作和前驱节点。
作为使用上述技术在由表1中描述的原语操作的集合定义的搜索空间上执行所描述的搜索过程的结果,系统能够标识能够被包括在各种网络架构中的任一个中的高性能NA层。
作为特定示例,神经网络能够在第一神经网络层与第二神经网络层之间包括归一化-激活层。第一神经网络层例如应用线性变换的层生成具有多个元素的第一层输出,归一化-激活层被配置成:接收由第一神经网络层生成的第一层输出;并且为第一层输出的每个元素生成具有相应激活值的激活输出,其中,用于层输入x的每个元素的激活值满足下列中的任何一个:
其中β是学习参数。
如能够从以上表达式看到的,这些NA层都具有批依赖性,即,各自执行跨批维度聚合值的至少一个操作。在一些情况下,系统能够将搜索约束成在原语操作的集合中不包括任何这种操作。在这些情况下,能够在没有批依赖性的情况下使用的高性能NA层架构能够包括执行以下操作集中的任一个的那些。在这种情况下,NA层为第一层输出的每个元素生成具有相应的激活值的激活输出,其中,用于层输入x的每个元素的激活值满足以下中的任何一个:
本说明书结合系统和计算机程序组件使用术语“配置”。为了一个或多个计算机的系统被配置成执行特定操作或动作意味着系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使系统执行操作或动作。为了一个或多个计算机程序被配置成执行特定操作或动作意味着该一个或多个程序包括指令,当由数据处理装置运行时,这些指令使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例能够以数字电子电路、以有形地体现的计算机软件或固件、以计算机硬件,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即,编码在有形非暂时性存储介质上以供数据处理装置运行或者控制数据处理装置的操作的计算机程序的一个或多个指令模块。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或者它们中的一个或多个的组合。替代地或另外,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,该信号被生成以对信息进行编码以用于传输到合适的接收器装置以供数据处理装置运行。
术语“数据处理装置”是指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还能够是或者进一步包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还能够可选地包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
还可以被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序能够以任何形式的编程语言编写,包括编译或解释语言、或声明或过程语言;并且它能够以任何形式部署,包括作为独立程序或者作为模块、组件、子例程或适合于在计算环境中使用的其他单元。程序可以但不需要对应于文件系统中的文件。程序能够被存储在保存其他程序或数据,例如,存储在标记语言文档中的一个或多个脚本,的文件的一部分中、在专用于所涉及程序的单个文件中或者在多个协调文件中,例如,存储一个或多个模块、子程序或代码的部分的文件。计算机程序能够被部署成在一个计算机上或者在位于一个站点处或者跨越多个站点分布并且通过数据通信网络互连的多个计算机上被运行。
在本说明书中,术语“数据库”广泛地被用于指数据的任何集合:数据不需要以任何特定方式被结构化,或者根本不被结构化,并且它能够被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库能够包括数据的多个集合,其中的每一个可以被不同地组织和访问。
类似地,在本说明书中术语“引擎”广泛地被用于指基于软件的系统、子系统或被编程来执行一个或多个特定功能的过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将被专用于特定引擎;在其他情况下,多个引擎能够在一个或多个相同计算机上被安装并运行。
本说明书中描述的过程和逻辑流程能够是通过一个或多个可编程计算机运行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能而被执行的。过程和逻辑流程还能够由专用逻辑电路系统,例如,FPGA或ASIC,执行,或者由专用逻辑电路系统和一个或多个编程计算机的组合执行。
适合于运行计算机程序的计算机能够基于通用微处理器或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路系统补充,或者被并入在专用逻辑电路系统中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者可操作地耦合以从该一个或多个大容量存储设备接收数据或者向该一个或多个大容量存储设备转移数据,或者两者。然而,计算机不需要具有这种设备。此外,计算机能够被嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,能够在计算机上实现本说明书中描述的主题的实施例,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户能够通过其向计算机提供输入的键盘和定点设备,例如,鼠标或轨迹球。也能够使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的设备上的web浏览器发送web页面。另外,计算机能够通过向个人设备,例如,正在运行消息传送应用的智能电话,发送文本消息或其他形式的消息并且反过来从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括,例如,专用硬件加速器单元,其用于处理机器学习训练或生产,即,推理、工作负载,的常见和计算密集型部分。
机器学习模型能够使用机器学习框架,例如,TensorFlow框架、MicrosoftCognitive Toolkit框架、Apache Singa框架或Apache MXNet框架而被实现和部署。
能够在计算系统中实现本说明书中描述的主题的实施例,该计算系统包括后端组件,例如,作为数据服务器,或者包括中间件组件,例如,应用服务器,或者包括前端组件,例如,具有用户能够通过其与本说明书中描述的主题的实施方式交互的图形用户界面、web浏览器或app的客户端计算机,或者包括一个或多个这种后端、中间件或前端组件的任何组合。系统的组件能够通过例如通信网络的数字数据通信的任何形式或介质互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备传送数据,例如,HTML页面,例如,出于向与作为客户端的设备交互的用户显示数据并且从作为客户端的设备接收用户输入的目的。能够在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定实施方式细节,但是这些不应该被解释为对任何发明的范围或者对可能要求保护的范围构成限制,而是相反被解释为可以特定于特定发明的特定实施例的特征的描述。还能够在单个实施例中相结合地实现在分离的实施例的上下文中的在本说明书中被描述的某些特征。相反地,还能够在多个实施例中或者在任何合适的子组合中分离地实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为在某些组合中起作用并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征能够在一些情况下从组合中被去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然操作以特定次序在附图中描绘并且在权利要求中叙述,但是这不应该被理解为要求这种操作以所示特定次序或者以顺序次序被执行,或者要求所有图示的操作都被执行以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中需要这种分离,并且应该理解,所描述的程序组件和系统通常能够被一起集成在一个软件产品中或者封装到多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中叙述的动作能够以不同次序被执行并且仍能实现期望的结果。作为一个示例,附图中描绘的过程不必然要求所示特定次序或顺序次序实现期望的结果。在一些情况下,多任务处理和并行处理可以是有利的。
Claims (15)
1.一种方法,包括:
接收指定多个不同神经网络架构的数据,每个神经网络架构包括至少一个归一化-激活层,每个归一化-激活层被配置成:
接收包括多个值的层输入;
对所述层输入中的所述值应用一个或多个归一化操作以生成归一化层输入;并且
对所述归一化层输入应用逐元素激活函数以生成层输出;
对于每个神经网络架构,接收用于训练具有所述神经网络架构的神经网络以执行对应的神经网络任务的相应的训练数据和用于评估所述神经网络对所述对应的神经网络任务执行得有多好的验证数据;
为所述归一化-激活层生成多个候选架构;
对于所述多个候选架构中的每一个:
对于所述多个不同神经网络架构中的两个或更多个中的每一个:
在用于所述神经网络架构的相应的训练数据上训练具有所述神经网络架构但是所述归一化-激活层用具有所述候选架构的新归一化-激活层替换的神经网络;并且
从训练后的神经网络在用于所述神经网络架构的所述验证数据上的执行的量度确定拟合度;以及
从所述两个或更多个不同神经网络架构的所述拟合度确定所述候选架构的整体拟合度;以及
基于所述候选架构的所述整体拟合度来为所述归一化-激活层选择最终架构。
2.根据权利要求1所述的方法,其中,所述多个架构中的两个或更多个中的所述激活-归一化层应用批归一化后面是ReLu激活函数。
3.根据任一前述权利要求所述的方法,其中,所述神经网络任务、所述训练数据和所述验证数据对所述多个神经网络架构中的所有神经网络架构是相同的。
4.根据任一前述权利要求所述的方法,其中,为所述归一化-激活层生成多个候选架构包括重复地执行以下操作:
从已经被生成的所述候选架构选择候选架构的子集;
基于所述候选架构的所述整体拟合度从所述候选架构的子集选择候选架构;以及
从所选择的候选架构生成新候选架构。
5.根据权利要求4所述的方法,其中,所述生成包括:随机地生成多个初始候选架构。
6.根据权利要求4或5中的任一项所述的方法,其中,所述整体拟合度是所述两个或更多个架构的所述拟合度的平均值,并且其中,选择候选架构包括选择具有最佳整体拟合度的所述候选架构。
7.根据权利要求4或5中的任一项所述的方法,其中,所述整体拟合度包括所述两个或更多个架构的所有所述拟合度,并且其中,选择候选架构包括:
从所述子集标识具有不受来自所述子集的任何其他候选架构的任何整体拟合度支配的整体拟合度的一个或多个候选架构;以及
随机地选择一个或多个所标识的候选架构中的一个。
8.根据任一前述权利要求所述的方法,其中,所述候选架构被表示为将一个输入张量转换成相同形状的输出张量的计算图。
9.根据权利要求8所述的方法,其中,所述计算图包括表示张量的初始节点的集合和表示来自原语操作的集合的原语操作的输出的中间节点的集合。
10.根据权利要求4至7中的任一项和权利要求9所述的方法,其中,生成所述新架构包括:
随机地选择中间节点;
从所述原语操作的集合为所选择的节点随机地选择新操作;以及
为所选择的节点随机地选择新前驱节点。
11.根据任一前述权利要求所述的方法,其中,所述训练包括:
拒绝在阈值数量的训练步骤之后当被包括在所述两个或更多个神经网络架构中的任一个中时尚未达到阈值拟合度的任何候选架构。
12.根据任一前述权利要求所述的方法,进一步包括:
拒绝经受数值不稳定性的任何候选架构。
13.根据任一前述权利要求所述的方法,其中,基于所述候选架构的所述整体拟合度来为所述归一化-激活层选择最终架构包括:
选择具有最高整体拟合度的候选架构的子集;以及
通过在比所述对应的神经网络任务计算上更昂贵的目标神经网络任务上评估所述候选架构的子集来选择最终架构。
14.一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机运行时使所述一个或多个计算机执行根据权利要求1-13中的任一项所述的相应的方法的操作。
15.存储指令的一个或多个计算机存储介质,所述指令当由一个或多个计算机运行时使所述一个或多个计算机执行根据权利要求1-13中的任一项所述的相应的方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062971887P | 2020-02-07 | 2020-02-07 | |
US62/971,887 | 2020-02-07 | ||
PCT/US2021/017122 WO2021159099A1 (en) | 2020-02-07 | 2021-02-08 | Searching for normalization-activation layer architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115066690A true CN115066690A (zh) | 2022-09-16 |
Family
ID=74858779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180012815.XA Pending CN115066690A (zh) | 2020-02-07 | 2021-02-08 | 搜索归一化-激活层架构 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230121404A1 (zh) |
EP (1) | EP4078458A1 (zh) |
CN (1) | CN115066690A (zh) |
WO (1) | WO2021159099A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7464108B2 (ja) * | 2020-03-17 | 2024-04-09 | 日本電気株式会社 | 情報処理システム、情報処理方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11907853B2 (en) * | 2017-10-27 | 2024-02-20 | Deepmind Technologies Limited | Using hierarchical representations for neural network architecture searching |
-
2021
- 2021-02-08 CN CN202180012815.XA patent/CN115066690A/zh active Pending
- 2021-02-08 WO PCT/US2021/017122 patent/WO2021159099A1/en unknown
- 2021-02-08 EP EP21710118.7A patent/EP4078458A1/en active Pending
- 2021-02-08 US US17/798,046 patent/US20230121404A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021159099A1 (en) | 2021-08-12 |
WO2021159099A9 (en) | 2021-11-11 |
US20230121404A1 (en) | 2023-04-20 |
EP4078458A1 (en) | 2022-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568207B2 (en) | Learning observation representations by predicting the future in latent space | |
EP3711000B1 (en) | Regularized neural network architecture search | |
US11544536B2 (en) | Hybrid neural architecture search | |
CN107066464B (zh) | 语义自然语言向量空间 | |
US20220092416A1 (en) | Neural architecture search through a graph search space | |
US10970493B1 (en) | Systems and methods for slot relation extraction for machine learning task-oriented dialogue systems | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
CN112100377B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN110825849A (zh) | 文本信息情感分析方法、装置、介质及电子设备 | |
CN114860930A (zh) | 一种文本分类方法、装置以及存储介质 | |
CN113785314A (zh) | 使用标签猜测对机器学习模型进行半监督训练 | |
CN112560440B (zh) | 一种基于深度学习的面向方面级情感分析的句法依赖方法 | |
CN115066690A (zh) | 搜索归一化-激活层架构 | |
WO2023158881A1 (en) | Computationally efficient distillation using generative neural networks | |
US20230063686A1 (en) | Fine-grained stochastic neural architecture search | |
US20220108174A1 (en) | Training neural networks using auxiliary task update decomposition | |
CN115485694A (zh) | 机器学习算法搜索 | |
CN115398446A (zh) | 使用符号编程的机器学习算法搜索 | |
CN116453702B (zh) | 孤独症行为特征集的数据处理方法、设备、系统及介质 | |
US20220129760A1 (en) | Training neural networks with label differential privacy | |
US20240143696A1 (en) | Generating differentiable order statistics using sorting networks | |
US20240152809A1 (en) | Efficient machine learning model architecture selection | |
WO2023052653A1 (en) | Neural networks with transformed activation function layers | |
CN114416970A (zh) | 带角色的文本分类模型以及对话文本分类方法及装置 | |
WO2024015591A1 (en) | Efficient decoding of output sequences using adaptive early exiting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |