CN116368493A - 用于具有随机架构的权重共享神经网络的方法和装置 - Google Patents
用于具有随机架构的权重共享神经网络的方法和装置 Download PDFInfo
- Publication number
- CN116368493A CN116368493A CN202080106196.6A CN202080106196A CN116368493A CN 116368493 A CN116368493 A CN 116368493A CN 202080106196 A CN202080106196 A CN 202080106196A CN 116368493 A CN116368493 A CN 116368493A
- Authority
- CN
- China
- Prior art keywords
- network
- architecture
- neural network
- weights
- nodes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 claims abstract description 59
- 238000010606 normalization Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 25
- 238000012360 testing method Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 13
- 230000036541 health Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009827 uniform distribution Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/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/047—Probabilistic or stochastic 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种用于训练具有随机架构的权重共享神经网络的方法。该方法包括:从多个小批量中选择一个小批量,用于任务的训练数据集被分组到多个小批量中,并且该多个小批量中的每个小批量包括多个实例;为所选择的小批量随机选择神经网络的多个网络架构二通过将所选择的小批量的每个实例应用于多个网络架构中的一个网络架构来获得实例的损失二以及基于所选择的小批量的每个实例的损失来更新神经网络的共享权重。
Description
技术领域
本公开的各方面整体涉及人工智能,并且更具体地涉及用于具有随机架构的权重共享神经网络的训练方法和推理方法。
背景技术
深度神经网络(DNN)广泛用于在广泛范围的实际场景中处理复杂数据。传统上设计用于执行特定机器学习任务的DNN是需要专家进行大量反复试验的劳动密集型过程,其中专家需要在训练和测试过程的迭代期间手动优化DNN的架构。
已经提出神经架构搜索(NAS)技术来自动搜索神经网络架构以便减轻人工劳动。然而,早期的NAS技术通常需要从头开始训练数千个模型,并且计算资源非常密集,这使得它难以在实践中实现。
已经提出了几种用于在降低计算要求的同时自动搜索网络架构的方法。一种有前途的方法是在网络架构之间共享权重,而不是从头开始训练数千个单独的网络架构模型。具体地说,可以训练一个能够模拟其任何网络架构的权重共享神经网络。神经网络的不同网络架构是神经网络的不同子集,并且共享包含在神经网络中的权重。
需要增强以提高权重共享技术的性能。
发明内容
根据一个实施方案,提供了一种用于训练具有随机架构的权重共享神经网络的方法。该方法包括:从多个小批量中选择一个小批量,用于任务的训练数据集被分组到多个小批量中,并且多个小批量中的每个小批量包括多个实例;为所选择的小批量随机选择神经网络的多个网络架构;通过将所选择的小批量的每个实例应用于多个网络架构中的一个网络架构来获得实例的损失;以及基于所选择的小批量的每个实例的损失来更新神经网络的共享权重。
根据一个实施方案,提供了一种用于通过使用权重共享神经网络进行推理的方法。该方法包括:接收输入数据;随机选择神经网络的一个或多个网络架构;分别由所选择的一个或多个网络架构基于输入数据推理一个或多个输出数据;以及基于一个或多个输出数据获得最终推理数据。
通过使用本公开的训练方法,可以探索具有随机架构的权重共享神经网络的多样性,以增强权重共享网络模型的性能。另一方面,通过使用本公开的推理方法,可以在推理过程中探索具有随机架构的权重共享神经网络的多样性,以增强对网络架构免受攻击的保护。本公开的其他优点将在下面的描述中解释。
附图说明
下文将结合附图来描述所公开的方面,提供该附图是为了说明而非限制所公开的方面。
图1示出了根据一个实施方案的具有随机架构(NSA)的示例性权重共享神经网络。
图2示出了根据一个实施方案的用于训练权重共享NSA的示例性方法。
图3示出了根据一个实施方案的利用权重共享NSA进行推理的示例性方法。
图4示出了根据一个实施方案的比较训练与测试之间的准确率和损失的图表。
图5示出了根据一个实施方案的用于训练权重共享NSA的示例性方法。
图6示出了根据一个实施方案的比较训练与测试之间的准确率和损失的图表。
图7示出了根据一个实施方案的用于训练权重共享NSA的示例性方法。
图8示出了根据一个实施方案的示例性计算系统。
具体实施方式
现在将参照若干示例性实施方式来讨论本公开。应当理解,讨论这些实施方式仅仅是为了使得本领域技术人员能够更好地理解并因此实现本公开的实施方案,而不是对本公开的范围提出任何限制。
本公开描述了被实现为在一个或多个计算机上执行的计算机程序的方法和系统,该一个或多个计算机提供被配置为执行特定机器学习任务的任务神经网络。任务神经网络被实现为具有随机架构的权重共享神经网络。作为示例,特定机器学习任务可以是机器学习图像处理任务。作为另一示例,特定机器学习任务可以是对资源或文档进行分类。作为另一示例,特定机器学习任务可以是对特定广告将被点击的可能性进行评分。作为另一示例,特定机器学习任务可以是对用户将有利地响应推荐的可能性进行评分。作为另一示例,特定机器学习任务可以是语言翻译。作为另一示例,特定机器学习任务可以是音频处理任务。作为另一示例,特定任务可以是健康预测任务。作为另一示例,特定任务可以是在用于自动驾驶的控制系统、用于工业设施的控制系统等中执行的代理控制任务。
图1示出了根据一个实施方案的示例性权重共享NSA(具有随机架构的网络)。
不同于常规DNN,权重共享NSA可以被定义为在训练过程和/或推理过程中具有一组固定权重和随机采样架构的神经网络。
如图1所示,标记10表示输入节点,其中输入数据由神经网络接收。输入数据可以在必要时被处理,例如,可以被投影到延迟语义空间中的特征图。标记20-50中的每一者表示包括至少一个运算的运算节点。例如,在CNN网络的情况下,节点20-50中的每一者可以包括卷积运算。标记60表示输出节点,其中例如输出数据由神经网络提供。要输出的数据可以在必要时被处理,例如,可以将延迟语义空间中的特征图投影到用户可识别的输出数据。节点10-60也被称为层或模块。
图1中示出了三个示例性网络架构A到C以及包括该三个网络架构A到C的权重共享NSA D。网络架构A到C中的每一者包括一组运算节点10-60和边模式,其中每个边连接两个节点。具体地说,网络架构A包括节点10-60、串联连接节点10-60的边,以及连接两个节点20和50的边EA。网络架构B包括节点10-60、串联连接节点10-60的边,以及分别连接一对节点10、30和一对节点40、60的两个边EB。网络架构C包括节点10-60、串联连接节点10-60的边,以及分别连接一对节点10、40、一对节点30、60和一对节点10、60的三个边EC。连接非相邻节点的边EA、EB、EC可以被称为旁路边。串联连接的所有节点可以被称为主链。网络架构A到C中的每一者是NSA D的子集,该NSA D包括如图1所示的不同架构A到C。因此,架构A到C可以共享NSA D的权重,例如,与包括在节点中的运算有关的权重以及边的权重。
在连接视图中,诸如架构A到C的不同网络架构在固定数量的计算运算中激活不同的跳过连接模式,不同的跳过连接模式由边表示。诸如A到C的每个网络架构被表示为由边连接的节点的有向图。应当理解,表示网络架构的运算节点的有向图可以被参数化为离散邻接矩阵。
应当理解,图1中的NSA D的结构是说明性的,NSA D可以包括多得多的架构,诸如数百、数千、数万或更多个架构。并且NSA的结构以及相应地NSA的网络架构的结构可以更加复杂,例如,NSA可以包括比图1所示更多的节点,并且由节点20-50表示的运算可以包括用于执行任务的任何适当运算,并且本公开不限于NSA的特定运算。
图2示出了根据一个实施方案的用于训练权重共享NSA的示例性方法。
在执行图2的训练方法之前,可以建立网络架构空间。作为示例,可以建立类似于图1中的NSA D的架构空间。在此示例中,架构空间包括串联连接的六个节点,以及各自连接任何两个非相邻节点的旁路边。假定架构空间中的可能的网络架构被表示为运算节点的有向图,则在此架构空间中可能存在1023个可能的网络架构,换句话说,架构空间的大小是1023。应当理解,如果不需要在架构空间中具有包括串联连接的所有节点的主链,则架构空间的大小将更大。
在一个实施方案中,神经网络可以被设计为表示架构空间。神经网络可以分成3个级,每个级可以包括8个卷积模块。在此实施方案中,每个级可以具有与如上所讨论的NSA D类似的结构。可以从每个级采样子架构,并且因此可以通过连接三个子架构来采样架构。作为示例,可以在节点中使用用于特征提取的具有加宽因子(例如,加宽因子是10等)的宽卷积。均匀求和可以在每个卷积模块之前以聚合传入的特征图,并且批归一化(BN)可以在卷积模块之后,即,ReLU-卷积-BN三元组可以被包括在至少部分节点中的每个节点中。
应当理解,如上所讨论的整个架构空间的大小将是巨大的。在一个实施方案中,可以执行架构空间的细化,其中可以从整个架构空间采样架构的子集。例如,为了避免无意义的架构样本,可以使用知识引导采样器,诸如Erdos-Renyi(ER)模型(参考Saining Xie、Alexander Kirillov、Ross Girshick和Kaiming He.Exploring randomly wired neuralnetworks for image recognition.在Proceedings of the IEEE InternationalConference on Computer Vision中,460页1284-1293,2019)来对来自整个架构空间的架构子集进行采样,例如,可以使用激活可能的跳过连接模式中的任何一个跳过连接模式的概率为0.3的采样器来对架构进行采样。作为示例,可以用采样器对多个500架构进行采样以形成细化架构空间。应当理解,细化架构空间的大小不限于特定数目,例如,大小可以是500、5000、50000或其他数目。权重共享NSA可以是包括采样网络架构的细化架构空间。在一些实施方案中,权重共享NSA也可以是整个架构空间。应当理解,权重共享NSA可以由包含在其中的一组权重来表示。
训练数据集可以被分成多个小批量,每个小批量包含多个实例。例如,训练数据集被分成M个小批量,每个小批量包含N个训练数据实例。NSA的大小是S,即,表示细化架构空间的NSA包括S个网络架构。在一个实施方案中,S不小于500。在一个实施方案中,S不小于500并且不大于5000。NSA的权重可以以任何合适的方式被初始化,例如,所有权重可以被初始化为1,或者权重中的任何权重可以被初始化为随机数。
在步骤210,从多个小批量中选择一个小批量,例如,从M个小批量中随机选择一个小批量,并且所选择的小批量包括训练数据的N个实例。
在步骤220,从NSA中为所选择的小批量选择一个网络架构。例如,以分布P(A)从NSA的S个架构随机采样一个网络架构A。在如上所讨论的示例性NSA中,随机选择的网络架构A包括串联连接的24个运算节点和一组旁路边,每个节点包括ReLU-卷积-BN运算三元组。
在步骤230-1,将所选择的小批量的N个实例中的第一个实例应用于所选择的网络架构A以获得损失值。类似地,在步骤230-2到230-N,将所选择的小批量的第二实例到第N实例中的每一者应用于所选择的网络架构A以获得损失值。一个实例的损失值可用公式表示为:
L=-log p(yi|xi;W,A),A~p(A) (1)
其中W表示包含在网络架构中的权重,(xi,yi)表示训练数据的实例,例如,xi表示输入到网络架构的数据,yi表示预期由网络架构输出的数据。p(yi|xi;W,A)是预测分布,从其获得损失值L=-log p(yi|xi;W,A)。应当理解,尽管步骤230-1到230-N被说明为并行过程,但这些步骤也可在一个或多个循环中执行,在该一个或多个循环中该步骤是逐个执行的。
在步骤240,对所选择的小批量的N个实例的N个损失值求平均,以获得小批量的平均损失值。然后,一个小批量的平均损失值可用公式表示为:
其中B表示训练数据的所选择的小批量,|B|表示包括在小批量中的实例数,在此示例中|B|等于N。
在步骤250,基于平均损失来更新所选择的网络架构的权重。因此,NSA的共享权重被更新。例如,可以通过沿着所选择的网络架构反向传播小批量的平均损失来计算权重的梯度,并且相应地使用该梯度来更新所选择的网络架构的权重。所选择的网络架构的共享权重包括包含在网络架构中的运算的权重和包含在网络架构中的边的权重。在节点中使用ReLU-卷积-BN运算三元组的示例中,共享权重包括卷积运算的权重和BN运算的权重。边的权重可以被称为求和权重。
然后可以针对选自M个小批量的另一小批量重复步骤210-250的过程。可以针对训练数据集的M个小批量重复步骤210-250的过程M次。通过重复步骤210-250的过程M次来遍历训练数据集的过程可以被称为轮次(epoch)。可以针对训练数据集执行多个轮次,直到获得收敛条件为止。例如,收敛条件可以是损失值稳定在阈值以下。
图3示出了根据一个实施方案的利用权重共享NSA进行推理的示例性方法。
可使用经过训练的权重共享NSA来执行推理。例如,权重共享NSA可以是被训练用于通过以上参照图2所示的过程或通过以下参照图5所示的过程来执行特定任务的任务神经网络。
在步骤310,接收输入数据。在一些示例中,任务神经网络可被配置为接收输入图像并处理输入图像以生成用于输入图像的网络输出,即执行用于图像处理的某种机器学习任务。例如,特定机器学习任务可以是图像分类,并且由神经网络针对给定图像生成的输出可以是一组对象类别中的每个对象类别的分数,其中每个分数表示该图像包含属于该类别的对象的图像的估计可能性。作为又一示例,特定机器学习任务可以是对象检测,并且由神经网络生成的输出可以是输入图像中描绘特定类型的对象的标识位置。
作为另一示例,任务神经网络的输入是互联网资源(例如,网页)、文档或文档的一部分或从互联网资源、文档或文档的一部分提取的特征,特定机器学习任务可以是对资源或文档进行分类(″资源分类″),即,任务神经网络针对给定互联网资源、文档或文档的一部分生成的输出可以是一组主题中的每个主题的分数,其中每个分数表示互联网资源、文档或文档部分与该主题有关的估计可能性。
作为另一示例,特定任务可以是健康预测任务,输入是患者的电子健康记录数据,并且输出是与患者的未来健康相关的预测,例如,应当与分数一起向患者开出的预测治疗、患者将发生不良健康事件的可能性,或者与分数一起对患者的预测诊断。
作为另一示例,特定任务可以是代理控制任务,其中输入是表征环境状态的观察,并且输出定义要由代理响应于该观察而执行的动作。代理可以是例如真实世界或模拟机器人、用于自动驾驶的控制系统、用于工业设施的控制系统或控制不同种类代理的控制系统。
作为另一示例,任务神经网络的输入是特定广告的印象上下文的特征,由任务神经网络生成的输出可以是表示特定广告将被点击的估计可能性的分数。
作为另一示例,任务神经网络的输入是针对用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户所采取的先前动作的特征,由任务神经网络所生成的输出可以是一组内容项中的每个内容项的分数,其中每个分数表示用户将对推荐的内容项做出有利响应的估计可能性。
在步骤320,随机选择NSA的一个或多个网络架构。例如,以均匀分布或概率从NSA中随机选择一个或多个网络架构中的每个网络架构。
在步骤330,分别由所选择的一个或多个网络架构基于输入数据推理一个或多个输出数据。例如,所选择的一个或多个网络架构分别处理输入数据以获得一个或多个推理输出。以上在步骤310的讨论中示出了由用于执行特定任务的网络架构输出的推理的示例,并且在此不再重复解释。
在步骤340,基于一个或多个输出数据获得最终推理数据。例如,在由多个网络架构获得多个推理输出的情况下,集合多个推理输出以获得最终推理数据。例如,对多个推理输出进行平均以获得最终推理数据。例如,可以基于多个推理输出来执行投票以获得最终推理数据。
应当理解,在现有的NSA方法中,仅在训练过程期间执行权重共享NSA的网络架构的随机选择。在本公开的实施方案中,通过在推理过程中随机选择经过训练的权重共享NSA的一个或多个网络架构,可以通过利用NSA架构的多样性来增强对网络架构免受攻击的保护。此外,通过集合来自经过训练的NSA的多个随机选择的网络架构的推理结果,可以增强经过训练的神经网络模型的准确率和鲁棒性。
图4示出了根据一个实施方案的比较训练与测试之间的准确率和损失的图表。
在该实施方案中,根据图2的方法执行训练,并且根据图3的方法执行测试的推理。
基于以上讨论的等式(2)所示的损失函数来计算损失值。准确率值的计算可以用公式表示为:
图4的图表是基于典型的CIFAR-10图像分类任务获得的。NSA的大小S分别被设置为500和5000。根据等式(2)和(3)计算每批数据的准确率和损失,并且将准确率和损失的平均值作为整个数据集的准确率和损失,如图表所示。
如图表所示,在训练准确率与测试准确率之间以及在训练损失与测试损失之间存在差异,这可以被称为训练/测试差异问题。
为了减轻训练/测试差异问题,解决方案可以是在NSA的训练过程期间探索随机选择的网络架构的多样性。
图5示出了根据一个实施方案的用于训练权重共享NSA的示例性方法。
网络架构空间的建立类似于以上参照图2所解释的。权重共享NSA可以是包括采样网络架构的细化架构空间,或者在一些实施方案中可以是整个架构空间。
训练数据集的以小批量为单位的分组类似于以上参照图2所解释的分组。例如,训练数据被分成M个小批量,每个小批量包含N个训练数据实例。NSA的大小是S,即,表示细化架构空间的NSA包括S个网络架构。在一个实施方案中,S不小于500。在一个实施方案中,S不小于500并且不大于5000。可以以任何合适的方式使NSA的权重初始化。
在步骤510,从多个小批量中选择一个小批量,例如,从M个小批量中随机选择一个小批量,并且所选择的小批量包括训练数据的N个实例。
在步骤520,从NSA中为所选择的小批量选择多个网络架构。例如,可以以均匀分布或概率P(A)从NSA的S个网络架构随机采样N个网络架构A1到AN,N个网络架构中的每个网络架构对应于所选择的小批量中的实例中的一个实例。在如上所讨论的示例性NSA中,随机选择的网络架构A1到AN中的每一者包括串联连接的24个运算节点和一组旁路边,每个节点包括ReLU-卷积-BN运算三元组。
在步骤530-1,将所选择的小批量的N个实例中的第一个实例应用于所选择的网络架构中的第一个网络架构以获得损失值。类似地,在步骤530-2到530-N,将所选择的小批量的第二实例到第N实例中的每一者分别应用于第二到第N网络架构中的一者以获得损失值。基于一个网络架构的一个实例的损失值可用公式表示为:
L=-log p(yi|xi;W,Ai),Ai~p(A) (4)
其中W表示包含在网络架构中的权重,(xi,yi)表示训练数据的实例,例如,xi表示输入到网络架构的数据,yi表示预期由网络架构输出的数据,Ai表示所选择的架构中的一个架构。p(yi|xi;W,Ai)是预测分布,从其获得损失值L=-log p(yi|xi;W,Ai)。应当理解,尽管步骤530-1到530-N被说明为并行过程,但这些步骤也可在一个或多个循环中执行,在该一个或多个循环中该步骤是逐个执行的。
在步骤540,对所选择的小批量的N个实例的N个损失值求平均,以获得小批量的平均损失值。然后,一个小批量的平均损失值可用公式表示为:
其中B表示训练数据的所选择的小批量,|B|表示包括在小批量中的实例数,在此示例中|B|等于N。
在步骤550,基于平均损失来更新所选择的网络架构的权重。因此,NSA的共享权重被更新。例如,包含在架构A1中的权重的第一组梯度可通过沿着所选择的网络架构A1反向传播小批量的平均损失来计算,包含在架构A2中的权重的第二组梯度可通过沿着所选择的网络架构A2反向传播平均损失来计算,依此类推,包含在架构AN中的权重的第N组梯度可通过沿着所选择的网络架构AN反向传播平均损失来计算。然后可使用N组梯度来更新包含在所选择的N个网络架构中的权重。例如,可以使用权重的累加梯度来更新包含在所选择的N个网络架构中的权重中的每一个权重。作为另一示例,可以使用权重的梯度的平均值来更新包含在所选择的N个网络架构中的权重中的每一个权重。所选择的网络架构的共享权重包括包含在网络架构中的运算的权重和包含在网络架构中的边的权重。在节点中使用ReLU-卷积-BN运算三元组的示例中,共享权重包括卷积运算的权重和BN运算的权重。边的权重可以被称为求和权重。
然后可以针对选自M个小批量的另一小批量重复步骤510-550的过程。可以针对训练数据集的M个小批量重复步骤510-550的过程M次。通过重复步骤510-550的过程M次来遍历训练数据集的过程可以被称为轮次(epoch)。可以针对训练数据集执行多个轮次,直到获得收敛条件为止。例如,收敛条件可以是损失值稳定在阈值以下。
尽管如步骤520所示,为包括N个实例的所选择的小批量选择N个网络架构,但是为一个小批量选择更少的网络架构也是适用的,例如,在请求所选择的网络架构的数量大于一个的同时为一个小批量选择N/2、N/3个网络架构。
尽管平均损失值是分别沿着多个所选择的网络架构基于梯度反向传播以更新NSA的权重,但是多个损失值分别是沿着多个所选择的网络架构基于梯度反向传播以更新NSA的权重也是适用的。
图6示出了根据一个实施方案的比较训练与测试之间的准确率和损失的图表。
在该实施方案中,根据图5的方法执行训练,并且根据图3的方法执行测试的推理。基于以上讨论的等式(5)所示的损失函数来计算损失值,并且基于以上讨论的等式(3)所示的准确率函数来计算准确率值。
图6的图表是基于与图4的图表类似的条件获得的,不同之处在于训练过程不同。具体地说,执行典型的CIFAR-10图像分类任务。NSA的大小S分别被设置为500和5000。根据等式(5)和(3)计算每批数据的准确率和损失,并且将准确率和损失的平均值作为整个数据集的准确率和损失,如图表所示。
如图表所示,与图4所示相比,图6中的训练准确率与测试准确率之间以及训练损失与测试损失之间的差异显著减轻。
根据一个实施方案,为了进一步探索在训练过程和推理过程期间随机选择NSA的网络架构的多样性,除了NSA的共享权重之外,还可以配置NSA的每个网络架构的额外权重。考虑到计算和存储资源要求,架构特定权重可以是低维的。在一个实施方案中,用于求和聚合的权重(即,边的权重)和用于BN运算中的仿射变换的权重(即,用于BN运算的权重)可被配置为架构特定权重。因此,除了架构特定权重之外的权重可以被配置为NSA的共享权重,例如,在节点中使用的ReLU-卷积-BN运算三元组的示例中,卷积运算的权重可以被配置为NSA的共享权重。因此,除了NSA的所有网络架构的共享权重集合之外,还针对NSA的S个网络架构分别配置S个架构特定权重集合(例如,BN的仿射权重和偏置,以及聚合的求和系数)。仅当在如图2和图5中示例性示出的训练步骤处选择网络架构时,才更新一个网络架构的一组架构特定权重。
回到图5,在配置了架构特定权重的实施方案中,在步骤510之前使共享权重集合和NSA的S个架构特定权重集合初始化。
在步骤510,从多个小批量中选择一个小批量,例如,从M个小批量中随机选择一个小批量,并且所选择的小批量包括训练数据的N个实例。
在步骤520,从NSA中为所选择的小批量选择多个网络架构。例如,可以以均匀分布或概率P(A)从NSA的S个网络架构随机采样N个网络架构A1到AN,N个网络架构中的每个网络架构对应于所选择的小批量中的实例中的一个实例。对于N个所选择的网络架构中的每个网络架构,包含在网络架构中的共享权重来自NSA的共享权重集合,并且网络架构的架构特定权重是对应于网络架构的S个架构特定权重集合中的一个架构特定权重集合,因此,包含在网络架构中的共享权重和网络架构的架构特定权重构成网络架构的权重,或者换句话说,构成网络架构。
在步骤530-1,将所选择的小批量的N个实例中的第一个实例应用于所选择的网络架构中的第一个网络架构以获得损失值,其中第一网络架构具有共享权重和架构特定权重。类似地,在步骤530-2到530-N,将所选择的小批量的第二实例到第N实例中的每一者分别应用于第二到第N网络架构中的一者以获得损失值,其中第二到第N网络架构中的每一者具有共享权重和架构特定权重。可根据以上等式(4)来计算基于一个网络架构的一个实例的损失值。
在步骤540,对所选择的小批量的N个实例的N个损失值求平均,以获得小批量的平均损失值。
在步骤550,基于平均损失来更新所选择的网络架构的权重。例如,包含在架构A1中的权重(包括共享权重和架构特定权重)的第一组梯度可通过沿着所选择的网络架构A1反向传播小批量的平均损耗来计算,包含在架构A2中的权重的第二组梯度可通过沿着所选择的网络架构A2反向传播平均损耗来计算,依此类推,包含在架构AN中的权重的第N组梯度可通过沿着所选择的网络架构AN反向传播平均损耗来计算。然后,可以使用N组梯度来更新包含在所选择的N个网络架构中的权重。例如,可以使用共享权重的累加梯度来更新包含在所选择的N个网络架构中的共享权重中的每个共享权重。类似地,可以使用架构特定权重的累加梯度来更新包含在所选择的N个网络架构中的架构特定权重中的每个架构特定权重,并且因此可以在如图5中示例性示出的此训练步骤处更新N个网络架构的N个架构特定权重集合。作为另一示例,可以使用权重的梯度的平均值来更新包含在所选择的N个网络架构中的权重中的每一个权重。在一个实施方案中,所选择的网络架构的共享权重包括包含在网络架构中的至少部分运算的权重,并且所选择的网络架构的架构特定权重包括包含在网络架构中的部分运算的权重和边的权重。在节点中使用ReLU-卷积-BN运算三元组的示例中,共享权重包括卷积运算的权重,并且架构特定权重包括BN运算的权重和边的权重。
应当理解,架构特定权重的解决方案也可以以类似的方式应用于图2所示的方法中。
图7示出了根据一个实施方案的用于训练具有随机架构的权重共享网络的示例性方法。
在步骤710,从多个小批量中选择小批量,其中用于任务的训练数据集被分组到多个小批量中,并且多个小批量中的每个小批量包括多个实例。
在步骤720,为所选择的小批量随机选择神经网络的多个网络架构。
在步骤730,通过将所选择的小批量的每个实例应用于所选择的多个网络架构中的一个网络架构来获得该实例的损失。
在步骤740,基于所选择的小批量的每个实例的损失来更新神经网络的共享权重。
在一个实施方案中,神经网络包括一组节点和一组边,节点中的每个节点表示至少一个运算,边中的每个边连接节点中的两个节点,神经网络的每个网络架构被表示为由边连接的节点的有向图。
在一个实施方案中,神经网络的共享权重包括节点的至少部分运算。在一个实施方案中,至少部分运算包括卷积运算。
在一个实施方案中,通过分别沿着所选择的多个网络架构反向传播所选择的小批量的每个实例的损失的平均损失,或者通过分别沿着所选择的多个网络架构中的对应一个网络架构反向传播所选择的小批量的每个实例的损失来计算神经网络的共享权重的梯度,并且通过使用共享权重中的每个共享权重的梯度的累加来更新神经网络的共享权重。
在一个实施方案中,神经网络还包括神经网络的每个网络架构的架构特定权重。基于所选择的小批量的每个实例的损失来更新所选择的多个网络架构中的每个网络架构的架构特定权重。
在一个实施方案中,神经网络的每个网络架构的架构特定权重包括以下中的至少一者:网络架构的边的权重、网络架构的一部分运算的权重。在一个实施方案中,该部分运算包括批归一化(BN)运算。
在一个实施方案中,通过分别沿着所选择的多个网络架构反向传播所选择的小批量的每个实例的损失的平均损失,或者通过分别沿着所选择的多个网络架构中的对应一个网络架构反向传播所选择的小批量的每个实例的损失来计算包含在所选择的多个网络架构中的架构特定权重的梯度,并且通过使用包含在网络架构中的架构特定权重中的每个架构特定权重的梯度的累加来更新所选择的多个网络架构中的每个网络架构的架构特定权重。
在一个实施方案中,神经网络包括主链,该主链包括由边串联连接的一组节点,神经网络的每个网络架构包括主链。
图8示出了根据一个实施方案的示例性计算系统800。计算系统800可以包括至少一个处理器810。计算系统800还可以包括至少一个存储设备820。存储设备820可以存储计算机可执行指令,该计算机可执行指令在被执行时使得处理器810:从多个小批量中选择小批量,用于任务的训练数据集被分组到多个小批量中,并且多个小批量中的每个小批量包括多个实例;为所选择的小批量随机选择神经网络的多个网络架构;通过将所选择的小批量的每个实例应用于多个网络架构中的一个网络架构来获得该实例的损失;并且基于所选择的小批量的每个实例的损失来更新神经网络的共享权重。
存储设备820可以存储计算机可执行指令,该计算机可执行指令在被执行时使得处理器810:接收输入数据。随机选择神经网络的一个或多个网络架构;分别由所选择的一个或多个网络架构基于输入数据推理一个或多个输出数据;并且基于一个或多个输出数据获得最终推理数据。
应当了解,存储设备820可存储计算机可执行指令,该计算机可执行指令在被执行时使得处理器810执行根据如结合图1至图7所述的本公开的实施方案的任何操作。
本公开的实施方案可以体现在诸如非暂时性计算机可读介质的计算机可读介质中。非暂时性计算机可读介质可包括指令,该指令在被执行时使得一个或多个处理器执行根据如结合图1至图8所述的本公开的实施方案的任何操作。
应当理解,上述方法中的所有操作仅仅是示例性的,并且本公开不限于该方法中的任何操作或这些操作的顺序,并且应当涵盖相同或类似概念下的所有其他等效物。
还应当理解,上述装置中的所有模块可以以各种方式来实现。这些模块可以实现为硬件、软件或它们的组合。此外,这些模块中的任何一个模块可以在功能上被进一步分成子模块或组合在一起。
提供先前描述以使本领域的任何技术人员能够实践本文所述的各个方面。这些方面的各种修改对本领域的技术人员来说将是显而易见的,并且本文所定义的一般原理可应用于其他方面。因此,权利要求并不旨在限于本文所示的方面。本领域普通技术人员已知的或以后将知道的、贯穿本公开所述的各个方面的要素的所有结构和功能等效物通过引用明确地并入本文并且旨在被权利要求所涵盖。
Claims (20)
1.一种用于训练具有随机架构的权重共享神经网络的方法,所述方法包括:
从多个小批量中选择小批量,用于任务的训练数据集被分组到所述多个小批量中,并且所述多个小批量中的每个小批量包括多个实例;为所选择的小批量随机选择所述神经网络的多个网络架构;
通过将所选择的小批量的每个实例应用于所述多个网络架构中的一个网络架构来获得所述实例的损失;以及
基于所选择的小批量的每个实例的所述损失来更新所述神经网络的共享权重。
2.根据权利要求1所述的方法,其中所述神经网络包括一组节点和一组边,所述节点中的每个节点表示至少一个运算,所述边中的每个边连接所述节点中的两个节点,所述神经网络的每个网络架构被表示为由边连接的节点的有向图。
3.根据权利要求2所述的方法,其中所述神经网络的所述共享权重包括所述节点的至少部分运算。
4.根据权利要求3所述的方法,其中所述至少部分运算包括卷积运算。
5.根据权利要求3所述的方法,其中基于所选择的小批量的每个实例的所述损失来更新所述神经网络的所述共享权重还包括:
通过分别沿着所选择的多个网络架构反向传播所选择的小批量的每个实例的所述损失的平均损失或者通过分别沿着所选择的多个网络架构中的对应一个网络架构反向传播所选择的小批量的每个实例的所述损失来计算所述神经网络的所述共享权重的梯度;以及
通过使用所述共享权重中的每个共享权重的所述梯度的累加值或平均值来更新所述神经网络的所述共享权重。
6.根据权利要求1所述的方法,其中所述神经网络还包括所述神经网络的每个网络架构的架构特定权重,并且所述方法还包括:
基于所选择的小批量的每个实例的所述损失来更新所选择的多个网络架构中的每个网络架构的架构特定权重。
7.根据权利要求6所述的方法,其中所述神经网络包括一组节点和一组边,所述节点中的每个节点表示至少一个运算,所述边中的每个边连接所述节点中的两个节点,所述神经网络的每个网络架构被表示为由边连接的节点的有向图。
8.根据权利要求7所述的方法,其中所述神经网络的每个网络架构的所述架构特定权重包括以下中的至少一者:所述网络架构的边的权重、所述网络架构的一部分运算的权重。
9.根据权利要求8所述的方法,其中所述一部分运算包括批归一化(BN)运算。
10.根据权利要求8所述的方法,其中基于所选择的小批量的每个实例的所述损失来更新所选择的多个网络架构中的每个网络架构的所述架构特定权重还包括:
通过分别沿着所选择的多个网络架构反向传播所选择的小批量的每个实例的所述损失的平均损失或者通过分别沿着所选择的多个网络架构中的对应一个网络架构反向传播所选择的小批量的每个实例的所述损失来计算包含在所选择的多个网络架构中的所述架构特定权重的梯度;以及
通过使用包含在所述网络架构中的所述架构特定权重中的每个架构特定权重的所述梯度的累加值或平均值来更新所选择的多个网络架构中的每个网络架构的所述架构特定权重。
11.根据权利要求2或7所述的方法,其中所述神经网络包括主链,所述主链包括由边串联连接的所述一组节点,所述神经网络的每个网络架构包括所述主链。
12.根据权利要求1所述的方法,所述方法还包括:
重复权利要求1的步骤,直到所述多个小批量中的所有小批量都已经被选择了一次为止。
13.根据权利要求12所述的方法,所述方法还包括:
重复根据权利要求12所述的重复步骤,直到满足收敛条件为止。
14.一种用于通过使用权重共享神经网络进行推理的方法,所述方法包括:
接收输入数据二
随机选择所述神经网络的一个或多个网络架构二
分别由所选择的一个或多个网络架构基于所述输入数据推理一个或多个输出数据二以及
基于所述一个或多个输出数据获得最终推理数据。
15.根据权利要求14所述的方法,其中所述神经网络包括以下中的至少一者:所述神经网络的共享权重,以及所述神经网络的每个网络架构的架构特定权重。
16.根据权利要求15所述的方法,其中所述神经网络包括一组节点和一组边,所述节点中的每个节点表示至少一个运算,所述边中的每个边连接所述节点中的两个节点,所述神经网络的每个网络架构被表示为由边连接的节点的有向图。
17.根据权利要求16所述的方法,其中所述神经网络的所述共享权重包括所述节点的至少部分运算,并且所述神经网络的每个网络架构的所述架构特定权重包括以下中的至少一者:所述网络架构的边的权重、所述网络架构的一部分运算的权重。
18.根据权利要求14所述的方法,其中通过使用根据权利要求1至13中的一项所述的方法来训练所述神经网络。
19.一种计算机系统,所述计算机系统包括:
一个或多个处理器;和
一个或多个存储设备,所述一个或多个存储设备存储计算机可执行指令,所述计算机可执行指令在被执行时使得所述一个或多个处理器执行根据权利要求1至18中的一项所述的方法的运算。
20.一种或多种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使得一个或多个处理器执行根据权利要求1至18中的一项所述的方法的运算。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/121170 WO2022077343A1 (en) | 2020-10-15 | 2020-10-15 | Method and apparatus for weight-sharing neural network with stochastic architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368493A true CN116368493A (zh) | 2023-06-30 |
Family
ID=81207444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106196.6A Pending CN116368493A (zh) | 2020-10-15 | 2020-10-15 | 用于具有随机架构的权重共享神经网络的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240037390A1 (zh) |
CN (1) | CN116368493A (zh) |
DE (1) | DE112020007372T5 (zh) |
WO (1) | WO2022077343A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355191A (zh) * | 2016-08-12 | 2017-01-25 | 清华大学 | 一种深度生成网络随机训练算法及装置 |
CN110663049B (zh) * | 2017-04-28 | 2023-12-26 | 谷歌有限责任公司 | 神经网络优化器搜索 |
EP3718057B1 (en) * | 2017-11-30 | 2024-07-24 | Google LLC | Neural architecture search using a performance prediction neural network |
US10510002B1 (en) * | 2019-02-14 | 2019-12-17 | Capital One Services, Llc | Stochastic gradient boosting for deep neural networks |
-
2020
- 2020-10-15 WO PCT/CN2020/121170 patent/WO2022077343A1/en active Application Filing
- 2020-10-15 CN CN202080106196.6A patent/CN116368493A/zh active Pending
- 2020-10-15 DE DE112020007372.6T patent/DE112020007372T5/de active Pending
- 2020-10-15 US US18/249,162 patent/US20240037390A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022077343A1 (en) | 2022-04-21 |
DE112020007372T5 (de) | 2023-05-25 |
US20240037390A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754078B (zh) | 用于优化神经网络的方法 | |
Ghosh et al. | Structured variational learning of Bayesian neural networks with horseshoe priors | |
Smithson et al. | Neural networks designing neural networks: multi-objective hyper-parameter optimization | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN113705769A (zh) | 一种神经网络训练方法以及装置 | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN112183718A (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
WO2021218470A1 (zh) | 一种神经网络优化方法以及装置 | |
WO2021042857A1 (zh) | 图像分割模型的处理方法和处理装置 | |
US20180129930A1 (en) | Learning method based on deep learning model having non-consecutive stochastic neuron and knowledge transfer, and system thereof | |
JP6891626B2 (ja) | 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 | |
CN106339753A (zh) | 一种有效提升卷积神经网络稳健性的方法 | |
CN110930996B (zh) | 模型训练方法、语音识别方法、装置、存储介质及设备 | |
WO2022012668A1 (zh) | 一种训练集处理方法和装置 | |
CN106570522A (zh) | 物体识别模型的建立方法及物体识别方法 | |
US20200272812A1 (en) | Human body part segmentation with real and synthetic images | |
CN113537462A (zh) | 数据处理方法、神经网络的量化方法及相关装置 | |
CN113627163A (zh) | 一种注意力模型、特征提取方法及相关装置 | |
CN110119805A (zh) | 基于回声状态网络分类的卷积神经网络算法 | |
CN114444727A (zh) | 核函数近似模型的训练方法、装置、电子模型及存储介质 | |
Guernine et al. | Optimized training for convolutional neural network using enhanced grey wolf optimization algorithm | |
CN116888605A (zh) | 神经网络模型的运算方法、训练方法及装置 | |
Zerrouk et al. | Evolutionary algorithm for optimized CNN architecture search applied to real-time boat detection in aerial images | |
Kominami et al. | Convolutional neural networks with multi-valued neurons |
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 |