CN112912902A - 人工神经网络和利用表观遗传神经发生训练人工神经网络的方法 - Google Patents
人工神经网络和利用表观遗传神经发生训练人工神经网络的方法 Download PDFInfo
- Publication number
- CN112912902A CN112912902A CN201980070194.3A CN201980070194A CN112912902A CN 112912902 A CN112912902 A CN 112912902A CN 201980070194 A CN201980070194 A CN 201980070194A CN 112912902 A CN112912902 A CN 112912902A
- Authority
- CN
- China
- Prior art keywords
- nodes
- hidden layer
- new
- layer
- neural network
- 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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Feedback Control In General (AREA)
Abstract
一种对根据来自旧任务的数据训练的人工神经网络进行再训练的方法,包括:利用来自不同于旧任务的新任务的数据对人工神经网络进行训练,在利用新任务对人工神经网络进行训练期间,利用S l i ced Wasserste i nD i stance计算一系列隐藏层节点的激活分布中的漂移,基于激活分布中的漂移计算要添加到至少一个隐藏层的附加节点的数量,将输入层节点、隐藏层节点和输出层节点之间的连接权重重置为在利用来自新任务的数据对人工神经网络进行训练之前的值,将附加节点添加到至少一个隐藏层,以及利用来自新任务的数据对人工神经网络进行训练。
Description
相关申请的交叉引用
本申请要求于2018年10月24日提交的美国临时专利申请第62/750,155号和于2018年10月23日提交的美国临时专利申请第62/749,617号的优先权和权益,其全部内容均通过引用并入本文。
关于联邦政府赞助研究或开发的声明
本发明是根据合同BC2X.104.000在美国政府的支持下完成的。美国政府享有本发明的某些权利。
技术领域
本公开总体上涉及人工神经网络和利用表观遗传神经发生训练人工神经网络的方法。
背景技术
人工神经网络在各种领域和应用中被用来执行各种任务,例如字符识别、图像分类、自然语言处理以及各种模式匹配和分类任务。人工神经网络包括输入层、至少一个隐藏层和输出层,每一者都具有一系列神经元或节点。一层中的神经元的输出连接至下一层中的神经元的输入,并且“权重”与神经元之间的每个连接相关联。为了计算每个神经元的激活状态,对神经元的输入进行加权求和(即,一组输入信号乘以一组权重,然后进行求和),然后加权输入的线性组合通过传递函数传递到阈值激活函数(f(S))中。
为了对经过训练的人工神经网络进行适配以执行新任务,许多相关技术方法不将神经元添加到人工网络,而是对现有神经元之间的连接的权重进行适配。但是,此方法受到人工神经网络的信息存储容量的限制,所述信息存储能力不足以应对更多样化的任务和输入分布。
其它相关技术方法将神经元添加到经过训练的人工神经网络中,在本领域中称为神经发生,以对人工神经网络进行适配以执行新任务。然而,相关技术的神经发生通常以无原则或临时的方式添加神经元,例如,当新任务到达时,将固定的、预定数量的神经元添加到人工神经网络的每一层中,或者通过时间消耗试错方法来添加神经元。例如,由于在学习新任务时不对旧神经元之间的连接进行适配,或者强制执行网络内非常稀疏的连接模式从而导致可用于调谐的参数较少,这些相关技术方法不能完全利用不同任务之间的信息冗余。
发明内容
本公开涉及对利用来自旧任务的数据训练的人工神经网络进行再训练的方法的各种实施例。人工神经网络包括具有一系列输入层节点的输入层、具有一系列隐藏层节点的至少一个隐藏层以及具有一系列输出层节点的输出层。在实施例中,该方法包括:利用来自不同于旧任务的新任务的数据对人工神经网络进行训练,在利用新任务对人工神经网络进行训练期间,利用Sliced Wasserstein Distance(切片瓦瑟斯坦距离),计算一系列隐藏层节点的激活分布中的漂移,基于激活分布中的漂移计算要添加到至少一个隐藏层的附加节点的数量,将输入层节点、隐藏层节点和输出层节点之间的连接权重重置为在利用来自新任务的数据对人工神经网络进行训练之前其具有的多个值,将附加节点添加到至少一个隐藏层,以及利用来自新任务的数据对人工神经网络进行训练。
来自所述旧任务的数据可以包括从所述旧任务的输入和目标输出分布中保留的训练数据。
来自所述旧任务的数据可以包括根据所述旧任务的输入和目标输出分布的模型生成的合成数据。
可以根据等式1计算附加节点的数量:Nnodes=c*log(D)+b,其中Nnodes是附加节点的数量,c和b是用户规定的常数,D是激活分布中的漂移。
附加节点可以包括第一组附加节点和第二组附加节点,并且添加附加节点的任务可以包括将第一组附加节点添加到至少一个隐藏的第一隐藏层,以及将第二组附加节点添加到至少一个隐藏层的第二个隐藏层。一般而言,人工神经网络可以具有任何合适数量的隐藏层,并且本公开的方法可以向任何隐藏层添加任何合适数量的节点。
添加附加节点还可以包括将第一组附加节点中的每个附加节点连接至第二组附加节点中的每个附加节点。
添加附加节点可以包括将第一隐藏层中的一系列隐藏层节点连接至添加到第二隐藏层的第二组附加节点。
添加附加节点可以包括不将添加到第一隐藏层的第一组附加节点连接至第二隐藏层中的一系列隐藏层节点。
该方法还可以包括将一系列新的输出层节点添加到输出层。
添加附加节点可以包括将附加节点添加到与输出层相邻的至少一个隐藏层的最后隐藏层,以及将附加节点仅连接至一系列新的输出层节点。
该方法还可包括将与输出层相邻的至少一个隐藏层的一系列节点中的每一个都连接至一系列新的输出层节点中的每一个。
将附加节点添加到至少一个隐藏层可以包括将附加节点添加到至少一个隐藏层的第一隐藏层,并且该方法还可以包括将一系列输入层节点中的每一个连接至第一隐藏层中的附加节点中的每一个。
利用来自新任务的数据对人工神经网络进行训练包括:使用随机梯度下降来使得损失函数最小化。
本公开还涉及通过表观遗传神经发生进行训练以执行旧任务和新任务的人工神经网络的各种实施例。在一个实施例中,人工神经网络包括具有一系列输入层节点的输入层、具有一系列第一隐藏层节点和至少一个新的第一隐藏层节点的第一隐藏层、具有一系列第二隐藏层节点和至少一个新的第二隐藏层节点的第二隐藏层,以及具有一系列输出层节点的输出层。所述至少一个新的第一隐藏层节点连接至所述至少一个新的第二隐藏层节点,所述至少一个新的第一隐藏层节点不连接至所述一系列第二隐藏层节点,所述一系列第一隐藏层节点中的每一个都连接至所述至少一个新的第二隐藏层节点,并且所述一系列输入层节点中的每一个都连接至所述至少一个新的第一隐藏层节点。
输出层还可以包括一系列新的输出层节点。
第二隐藏层可以是与输出层相邻的最后隐藏层,并且至少一个新的第二层隐藏节点可以仅连接至一系列新的输出层节点。
一系列第二隐藏层节点中的每一个都可以连接至一系列输出层节点中的每一个和一系列新的输出层节点中的每一个。
第二隐藏层可以是与输出层相邻的最后隐藏层,并且至少一个新的第二层隐藏节点可以连接至一系列输出层节点中的每一个。
一系列输入层节点中的每一个都可以连接至一系列第一隐藏层节点中的每一个。
一系列的第一隐藏层节点中的每一个都可以连接至一系列第二隐藏层节点中的每一个。
提供本发明内容部分是为了介绍本公开的实施例的特征和概念的选择,其将在下面的详细描述中进一步描述。本发明内容部分并不旨在标识所要求保护的主题的关键或必要特征,也不旨在限制所要求保护的主题的范围。所描述的特征中的一个或多个可以与一个或多个其它所描述的特征组合以提供可行的设备。
附图说明
当结合以下附图考虑时,通过参考以下详细描述,本公开的实施例的特征和优点将变得更加明显。在附图中,在所有附图中使用相同的附图标记用于参考相同的特征和部件。所述附图不一定按比例绘制。
图1是示出根据本公开的一个实施例的训练人工神经网络的方法的任务流程图;
图2是根据图1的方法训练的人工神经网络的示意图;
图3是描绘根据图1所示方法的一个任务,利用Sliced-WassersteinDistance(切片瓦瑟斯坦距离)计算的人工神经网络的隐藏层的激活分布中的漂移的图;
图4是根据图1的方法训练的人工神经网络的示意图,该人工神经网络在MNIST手写数字数据集上进行测试;
图5是示出在新节点已经到达人工神经网络之后,人工神经网络的训练进度的图;以及
图6-8是将本公开的人工神经网络(PPN)的性能与遗传算法(GA)的性能进行比较的图。
具体实施方式
本公开涉及利用来自一个或多个新任务的数据训练人工神经网络的方法的各种实施例,已经利用来自一个或多个旧任务的数据对该人工神经网络进行了训练。在一个或多个实施例中,本公开的方法利用表观遗传神经发生,其包括向人工神经网络添加新的节点和连接以使得能够学习一个或多个新任务而不会降低性能或基本上不会降低先前学习的任务的性能(即,不会灾难性地忘记训练人工神经网络执行的一个或多个旧任务)。另外,本公开的方法被配置为将在一个或多个旧任务上获取的知识与新信息相集成,以通过训练旧连接和新连接两者利用较少的训练示例改善新任务的性能。此外,本公开的方法被配置为使添加到人工神经网络的新节点和连接的数量最小化,同时在一个或多个新任务上实现性能目标(即,该方法被配置为使实现一个或多个新任务的性能目标所必需的人工神经网络的规模和复杂程度的增加最小化)。
例如,根据本公开的利用表观遗传神经发生训练人工神经网络的方法可以利用在可能遇到新任务要学习并且还可能需要重新访问旧任务的任何自治或半自治***中,而无需在旧任务上再训练人工神经网络。例如,本公开的方法可以能够在智能飞行器或智能车辆部件中进行持续学习,该智能飞行器或智能车辆部件在部件本身上存储诸如传感器和维护数据之类的信息,并且被配置为学习可以根据需要生成现实合成数据的模型。根据本公开的利用表观遗传神经发生训练人工神经网络的方法可以使得这些智能部件能够在其整个使用寿命中针对变化的环境条件、变化的飞行器/车辆配置和/或放置在不同飞行器或不同车辆上而持续学习。例如,根据本公开的利用表观遗传神经发生训练人工神经网络的方法还可以使得在许多不同的飞行器或车辆上利用单个飞行器或车辆视觉感知***(例如,对象分类、车道标记检测和/或可驾驶表面识别)成为可能,因为这需要持续学习而又不会忘记,因此感知***可以处理许多不同的环境、模型和模型年份。当本公开的方法用于实现飞行器或车辆视觉感知***的持续学习时,可以将数据从飞行器或车辆上载到发生学习和测试的远程服务器,然后对感知***的软件更新可以直接推到飞行器或车辆。
图1是示出根据来自一个或多个新任务的数据训练人工神经网络(ANN)200的方法100的任务流程图,该人工神经网络已经根据来自一个或多个旧任务的数据进行了训练,而图2是根据图1所示的方法100训练的人工神经网络200的示意图。在一个或多个实施例中,人工神经网络200包括具有一系列输入层节点202的输入层201、具有一系列第一隐藏层节点204的第一隐藏层203、具有一系列第二隐藏层节点206的第二隐藏层205和具有一系列输出层节点208的输出层207。在所示的实施例中,一系列连接209将输入层201中的每个输入层节点202都连接至第一隐藏层203中的每个第一隐藏层节点204,一系列连接210将第一隐藏层203中的每个第一隐藏层节点204连接至第二隐藏层205中的每个第二隐藏层节点206,一系列连接211将第二隐藏层205中的每个第二隐藏层节点206连接至输出层207中的每个输出层节点208。此外,相邻层中的节点之间的每个连接209、210、211都具有相关联的连接权重。此外,人工神经网络200中的每个节点202、204、206、208都与激活函数相关联,该激活函数被配置为接收到节点202、204、206、208的输入作为激活函数的参数并基于该输入计算节点202、204、206、208的输出值,以确定节点202、204、206、208的激活状态。尽管在所示的实施例中,人工神经网络200包括两个隐藏层203、205,但是在一个或多个实施例中,例如,取决于人工神经网络能够学习和执行的任务的期望复杂度,人工神经网络200可以包括任何其它适当数量的隐藏层,并且每一层都可以具有任何适当数量的节点。此外,尽管在所示的实施例中,人工神经网络200是完全连接的人工神经网络(即,每个节点都连接至相邻层中的每个节点),但是在一个或多个实施例中,人工神经网络200可以不是完全连接的。
在所示的实施例中,方法100包括将数据输入人工神经网络200的输入层201中的任务110,所述数据包括来自人工神经网络200已经被训练为执行的一个或多个旧任务的数据,以及来自人工神经网络200将要被训练为执行的一个或多个新任务的数据。来自一个或多个旧任务的数据可以是真实数据或合成数据。例如,来自一个或多个旧任务的数据可包括已从一个或多个旧任务的输入和目标输出分布中保留的一定量的训练数据(例如,5%)。在一个或多个实施例中,来自一个或多个旧任务的数据可以是根据一个或多个旧任务的输入和目标输出分布的模型生成的合成数据。
在所示的实施例中,方法100还包括计算漂移的任务120,当根据任务110利用来自一个或多个新任务的数据训练人工神经网络200时,相对于来自人工神经网络200的曾被训练用以执行的一个或多个旧任务的数据计算一个或多个隐藏层203、205中的节点204、206的激活分布中的漂移。在其中人工神经网络200包括两个隐藏层203、205的实施例中,计算漂移的任务120包括在旧任务上训练人工神经网络200已经完成之后但在新任务的训练开始之前计算概率分布PZ1(Z1|X1)和PZ2(Z2|X1),其中X1是旧任务的输入数据,Z1是第一隐藏层203中的节点204的激活,Z2是第二隐藏层205中的节点206的激活。Z1和Z2指的是在将一个或多个节点添加到一个或多个隐藏层203、205中的后续任务之前仅在对旧任务进行训练期间存在的节点的激活。在一个或多个实施例中,任务120仅利用来自概率分布PZ1(Z1|X1)和PZ2(Z2|X1)的样本,因此任务120不需要概率分布的封闭形式的表达式,其可能是或大概是高斯函数(例如,任务120不需要为这些分布估计封闭形式的表达式,例如高斯表达式)。计算漂移的任务120还包括一旦在新任务上开始了人工神经网络200的训练,就计算和在新任务上的训练已经开始之后,和分别是第一隐藏层203和第二隐藏层205中的数据分布。在一个或多个实施例中,和通过网络中权重的变化自动确定,而权重的变化是由于新任务上的训练而发生的。在一个或多个实施例中,任务120包括仅从该分布采样以计算SWD,而不是封闭形式的表达式。此外,是网络试图学习将第一任务输入映射到PX1的第一任务的目标分布,而是网络试图学习将第一任务输入映射到PX2的第一任务的目标分布。目标分布是由用户事先定义的。
然后,任务120包括利用Sliced Wasserstein Distance(SWD)确定概率分布PZ1(Z1|X1)和PZ2(Z2|X1)的漂移,Sliced Wasserstein Distance是概率分布之间Wasserstein距离的估计(即,任务120利用SWD直接测量人工神经网络的不同层内活动分布的变化,其提供信息丢失和增益的清晰信号,从而提供确定在何时、何处以及添加多少节点至人工神经网络的度量)。在一个或多个实施例中,任务120仅利用来自概率分布PZ1(Z1|X1)和PZ2(Z2|X1)的样本来计算SWD。SWD在S.Kolouri、P.E.Pope、C.E.Martin和G.K.Rohde的“Sliced-Wasserstein Auto-Encoders”,International Conference on LearningRepresentations(ICLR 2019),New Orleans,Louisiana,US,May 6-May 9,2019中有更详细的描述,其全部内容通过引用合并于此。图3是示出随着在新任务上进行训练而在隐藏层203、205中的节点204、206的激活分布中的漂移的图。尽管有些漂移是可以接受的,但太多的漂移可能是个问题,因为它表明父网络正在忘记如何解决旧任务(任务1)。如下所述,损失函数(等式2)中SWD项的目的是限制学习新任务时的漂移量,而等式2中用户规定的参数λ控制允许的漂移量。在一个实施例中,该方法包括根据从PX2(X2)提取的新任务数据对人工神经网络200进行训练N步(N是任何自然数),其中X2是用于新任务的输入数据,然后计算漂移和其中D1测量PZ1中的漂移,而D2测量新任务训练的N步之后的PZ2中的漂移。尽管参考具有两个隐藏层的人工神经网络描述了上述任务,但是对于本领域普通技术人员来说,如何使上述任务适配于具有任何其它数量的隐藏层的人工神经网络是显而易见的,例如单个隐藏层或者三个或更多隐藏层。
另外,在所示的实施例中,在计算漂移D1和D2的任务120之后,方法100包括将节点202、204、206、208之间的连接209、210、211的权重重置为在开始根据新任务训练人工神经网络200之前所具有的值。最初允许改变权重的目的是为了在任务120中计算节点的激活分布中的漂移(D1、D2、DN)。
方法100还包括任务140,该任务140基于任务120中计算的漂移D1和D2计算要添加到人工神经网络200的一个或多个隐藏层203、205的节点的数量(如果有的话)。使用函数F(D)执行此任务140,该函数F(D)将任务120中由SWD确定的漂移D映射到要添加到隐藏层203、205的节点的数量Nnodes。在一个或多个实施例中,函数F(D)被限制在范围[0,M]中,其中M是用户规定的可以被添加到隐藏层的新节点的数量Nnodes的上限,并且函数F(D)是单调递增函数。在一个或多个实施例中,用于计算要添加到隐藏层的新节点的数量的函数如下:
Nnodes=c*log(D)+b (等式1)
其中D是在任务120中由SWD计算的漂移,b和c是用户规定的参数。用户规定的参数b和c是特定于应用的,因此用户规定的参数b和c可以是适合于方法100和人工神经网络200的预期应用的任何值。此外,在一个或多个实施例中,计算要添加到隐藏层203、205的节点的数量的任务140包括将函数F(D)的输出取整到最接近的自然数。在一个或多个实施例中,例如根据人工神经网络200正在训练学习的新任务的性质,用于将漂移映射到要添加到隐藏层的新节点的数量的函数F(D)可以具有用户规定的任何其它适当形式。
在所示的实施例中,方法100还包括将在任务140中计算出的新节点添加到人工神经网络200的一个或多个隐藏层203、205的任务150。图2示出了示例,其中任务150包括将两个新节点202’添加到输入层201,将一个节点204’添加到第一隐藏层203以及将一个节点206’添加到第二隐藏层205。在一个或多个实施例中,任务150可以包括例如根据人工神经网络正在训练学习的新任务的性质,将任何其它合适数量的节点添加到人工神经网络200的层。此外,在一个或多个实施例中,方法100可以包括将具有一系列新的输出层节点的新的输出层添加到人工神经网络200的任务。在一个或多个实施例中,方法100可以包括以下任务:仅当新任务需要识别新类型的类或者新目标输出分布与旧任务上的目标输出分布明显不同时,才将新输出层添加到人工神经网络200。
另外,在示出的实施例中,添加新节点202’、204’、206’的任务150包括根据以下方案连接新节点202’、204’、206’:(i)添加到隐藏层L的每个新节点都被连接至添加到隐藏层L+1的每个新节点,如果添加了这样的新节点(例如,添加到第一隐藏层203的新节点204’被连接至添加到第二隐藏层205的新节点206’);(ii)如果添加了新的输出层并且新节点被添加到最后的隐藏层(即,与输出层相邻的隐藏层),则被添加到最后隐藏层的每个新节点仅连接至新的输出层中的节点;(iii)如果未添加新的输出层并且新节点被添加到最后的隐藏层(即,与输出层相邻的隐藏层),则添加到最后隐藏层的每个新节点都仅连接至旧的输出层中的节点;(iv)被添加到一个或多个隐藏层的新节点不连接至一个或多个隐藏层中的旧节点(例如,被添加到第一隐藏层203的新节点204’不连接至第二隐藏层205中的旧节点206);(v)隐藏层L中的旧节点被连接至隐藏层L+1中的新节点,如果添加了这样的节点(例如,第一隐藏层203中的旧节点204连接至被添加到第二隐藏层205的新节点206’);(vi)输入层节点连接至被添加到第一隐藏层的新节点,如果添加了这样的节点(例如,输入层节点202连接至被添加到第一隐藏层203的新节点204’);以及(vii)为新连接的权重分配来自预定义分布(例如,均匀分布或高斯分布)的随机值。
在所示的实施例中,在新节点202’、204’、206’已经添加到人工神经网络200的一个或多个隐藏层并且已经根据上文描述的方案进行了与新节点202、202’、204、204’、206、206’的连接之后,方法100还包括利用来自新任务的数据训练人工神经网络200的任务160。在一个或多个实施例中,训练人工神经网络200的任务160包括利用随机梯度下降使以下损失函数最小化:
其中Y1是用于旧任务的人工神经网络的目标输出,Y2是用于新任务的人工神经网络的目标输出,θ是在学***减小了人工神经网络200所需的规模(即,最小化或至少减少节点和连接的数量)。用户规定的系数λ控制在旧任务上保持性能与在新任务上表现良好的较小网络之间的权衡。较大的λ值限制了隐藏分布中的漂移,因此保留了旧任务的性能,但是要在新任务上实现给定的性能水平,则需要添加更多数量的新节点。另一方面,较小的λ值允许较大的漂移,从而允许较小的网络,但是会牺牲旧任务的某些性能。在一个或多个实施例中,λ的值可以设置在1.0到10.0的范围内,但是λ的值也可以是适合于人工神经网络正在学习的新任务的任何其它值。
在利用新任务训练人工神经网络200的任务160期间,监视性能增益/损失。如果在用户规定的训练时期数量之后性能尚未达到用户规定的目标,则方法100可以包括将附加节点添加到人工神经网络200的任务。例如,可以基于计算资源和/或时间约束来设置对训练时期数量的限制,并且可以基于正在使用人工神经网络200的特定应用来设置性能目标。
图4是在根据图1的方法训练之前和之后,在MNIST手写数字数据集上测试的人工神经网络300的示意图,MNIST手写数字数据集是光学字符分类的基准问题。偶数数字(0、2、4、6、8)用作“旧任务”,奇数数字(1、3、5、7、9)用作“新任务”。图4左侧的人工神经网络300描绘了已被训练用以执行旧任务(即,对奇数手写数字1、3、5、7和9进行分类)之后、但在根据图1的方法被训练用以执行新任务(即,对偶数手写数字2、4、6、8进行分类)之前的人工神经网络300。输入数据包括了784维二进制向量,其中每个向量代表手写数字的黑白像素值。在所示的实施例中,在根据图1的方法进行训练之前,人工神经网络300包括两个完全连接的隐藏层301、302以及它们各自的激活函数,每个隐藏层都分别具有一百(100)个节点303、304。在所示的实施例中,利用了在输出处具有交叉熵损失的softmax层。另外,在所示的实施例中,在利用旧任务进行训练之后但在利用新任务进行训练之前,人工神经网络300在手写数字的保持测试集上实现了98.6%的分类准确度。在利用旧任务对人工神经网络进行训练和测试后,保留了5%的旧任务训练数据,用于利用新任务对人工神经网络进行再训练。
图4右侧的人工神经网络300描绘了已经根据图1所示的方法进行训练之后的人工神经网络300。在所示的实施例中,新的输出层已经添加至人工神经网络300,因为新任务需要标识与旧任务不同的类别(即,旧任务中标识的偶数数字和新任务中标识的奇数数字在不同的类别中)。在进行新任务的训练时,利用SWD分别计算了在隐藏层301、302中的激活中的漂移D1和D2。基于漂移D1和D2的计算,根据上文描述的方案,十(10)个新节点被添加到每个隐藏层301、302并且连接这些新节点,如图4右侧的人工神经网络300所示。
然后,将节点之间的连接的权重被重置为在开始利用新任务进行训练之前的值。一旦权重被重置,通过最小化由上述等式2定义的损失来进行利用新任务的训练(即,对奇数手写数字进行分类)。在所示的实施例中,等式2中用户规定的系数λ被设置为1,该系数λ设置隐藏层中激活分布中允许的漂移量,从而控制在旧任务上保持性能与在新任务上表现良好的较小网络之间的权衡。在对旧连接和新连接上的权重进行训练之后,人工神经网络300在旧任务(即,对偶数手写数字进行分类)上实现了98.1%的准确度,在新任务(即,对奇数手写数字进行分类)上实现了98.5%的准确度。
图5是示出在新节点已经到达人工神经网络300之后,人工神经网络300的训练进度的图。如图5所示,在旧任务上几乎没有性能损失,并且在新任务上实现了同样高的效能水平。此外,人工神经网络300的整体规模仅需要增加10%(即,将10个新节点添加到最初包括100个节点的隐藏层的每一者中)。相比之下,当同时在新旧任务上训练人工神经网络300时,人工神经网络300实现了98.0%的准确度。因此,本公开的***和方法能够以类似于同时进行的良好任务学习的准确度持续地对任务进行学习,这通常是更加容易的。
还使用MNIST光学字符识别问题的变体测试了本公开的人工神经网络以及根据本公开的各个实施例的再训练人工神经网络的方法。首先,训练了神经网络以对从0到9的手写数字的灰度图像进行分类(旧任务)。将图像展平为748维向量。该网络由具有双曲正切激活函数的3个隐藏层组成。第一、第二和第三隐藏层分别有50、30和20个神经元。通过随机生成置换掩码并将其应用于数据集中的每个数字来创建新任务。通过随机选择两个不相交的像素索引集,然后交换每个图像中的相应像素来创建置换掩码。在一组实验中,修改了每个图像中50%的像素。产生的新任务与旧任务足够相似以至于旧网络中的某些信息仍然有效,但又足够不同以至于添加新的神经元可以显著提高新任务的性能。可以添加到任何层的新的神经元的最大数量设置为50,这导致总共503=125,000个独特的个体,其中“个体”是添加了新的神经元的父网络(在旧任务上训练)。上述等式2中的参数λ设置为10.0。已确定,较小的λ值会导致复杂度项主导适应度,从而导致相当简单的适应度景观,并通过在任意层仅添加1-3个神经元来实现全局最优。设置λ=10.0可以在准确度和复杂度之间实现更好的平衡,因此产生具有很多良好但次优的局部最小值的更具挑战性的优化问题。在这样的设置下,通过向第一隐藏层添加17个新的神经元而不向第二和第三隐藏层添加新的神经元来实现全局最优。但是,可以通过仅向第二或第三隐藏层添加新的神经元来实现良好但次优的局部最小值。
遗传算法(GA)用作与本公开的实施例进行比较的基础。由于搜索空间的离散本质,遗传算法非常适合此问题。对于GA,将个体编码为长度为三的向量,其中分量的值表示要添加到三个隐藏层的每一者中的新神经元的数量。可以添加到任何层的新神经元的最大数量为50。利用30的种群规模以及锦标赛大小为3的锦标赛选择。在所选择的种群中,个体被选择为与另一随机选择的个体以0.5的概率进行交叉,并被选择为以0.2的概率进行突变。一旦选择突变,就将个体中的每个条目随机以概率0.3均匀地突变为区间[0,50]中的值。已经发现,较高的突变率防止过早收敛到较差的解。利用了两点交叉,其中交叉点是随机均匀选择的。
将根据本公开实施例的性能(以下称为概率程序神经发生(PPN))与GA的性能进行比较。在此实施例中,PPN决定在不使用上述等式1的情况下在何处以及多少个新神经元添加到人工神经网络。两种方法合计进行了159次试验。每次试验都从新初始化的种群以及概率程序学***均最佳适应度,作为分钟为单位的经过运行时间的函数。图6是2到5分钟,图7是5到21分钟。用于绘图的适应度值已移动-8.0,并已缩放10.0。这样做仅是为了提高结果的视觉可解释性。基于图6中的曲线,可以看出,平均PPN在模拟时间的前2分钟内达到了接近最优解(适应度约为60.0),而GA则需要大约5分钟才能达到适应度的相当水平。图7示出,从长远来看,PPN会继续提高并超越GA。
接下来的分析检查了PPN和GA能够找到达到特定适应度水平的方案的一致性。图8显示了在试运行中发现的最佳适应度超出了各种下限的分数。PPN的结果为蓝色,GA的结果为红色。在图8中,误差线为90%置信区间。如图8所示,对于x轴上的每个适应度下限,PPN都超过了GA的成功频率,而对于更高、更难于实现的适应度水平(>61),PPN的成功率至少是GA的两倍。这些结果表明,与GA比较,PPN找到了更好的方案。
根据本文描述的本发明实施例的人工神经网络和/或任何其它相关的智能设备或部件(例如,智能飞行器或智能车辆设备或部件)可以利用任何合适的智能硬件、固件(例如,专用集成电路)、软件或软件、固件和硬件的组合来实现。例如,人工神经网络的各种部件可以在一个集成电路(IC)芯片上或在分离的多个IC芯片上形成。此外,人工神经网络的各种部件可以在柔性印刷电路膜、带载封装(TCP)、印刷电路板(PCB)上实现,或在一个衬底上形成。此外,人工神经网络的各种部件可以是在一个或多个计算设备中的一个或多个处理器上运行的进程或线程,其执行计算机程序指令并与其它***部件进行交互以执行本文所述的各种智能功能。计算机程序指令存储在存储器中,所述存储器可以使用诸如随机存取存储器(RAM)之类的标准存储器设备在计算设备中实现。计算机程序指令也可以存储在其它非暂时性计算机可读介质中,例如CD-ROM、闪存驱动器等。此外,本领域技术人员应认识到,各种计算设备的功能可以组合或集成到单个计算设备中,或者特定计算设备的功能可以分布在一个或多个其它计算设备上,而不背离本发明的示例性实施例的范围。
尽管已经特别参考本发明的示例性实施方式对本发明进行了详细描述,但是本文所述的示例性实施方式并非旨在穷举本发明或者将本发明的范围限制为所公开的确切形式。本发明所属领域的技术人员将理解,可以在不实质性地背离如权利要求及其等同形式所述的本发明的原理、精神和范围的情况下,对所描述的结构以及组装和操作方法进行改变和变化。
Claims (20)
1.一种对利用来自旧任务的数据进行训练的人工神经网络进行再训练的方法,所述人工神经网络包括具有多个输入层节点的输入层、具有多个隐藏层节点的至少一个隐藏层以及具有多个输出层节点的输出层,所述方法包括:
利用来自所述旧任务的数据和来自不同于所述旧任务的新任务的数据对所述人工神经网络进行训练;
在利用来自所述旧任务的数据和来自所述新任务的数据对所述人工神经网络进行训练的期间,利用切片瓦瑟斯坦距离计算所述多个隐藏层节点的激活分布中的漂移;
基于所述激活分布中的漂移计算要添加到所述至少一个隐藏层的附加节点的数量;
将所述多个输入层节点、所述多个隐藏层节点和所述多个输出层节点之间的连接权重重置为利用来自所述新任务的数据对所述人工神经网络进行训练之前的值;
将所述附加节点添加到所述至少一个隐藏层;以及
利用来自所述新任务的数据对所述人工神经网络进行训练。
2.根据权利要求1所述的方法,其中,来自所述旧任务的数据包括从所述旧任务的输入和目标输出分布中保留的训练数据。
3.根据权利要求1所述的方法,其中,来自所述旧任务的数据包括根据所述旧任务的输入和目标输出分布的模型生成的合成数据。
4.根据权利要求1所述的方法,其中,根据等式1Nnodes=c*log(D)+b来计算附加节点的数量:
其中Nnodes是附加节点的数量,c和b是用户规定的常数,D是激活分布中的漂移。
5.根据权利要求1所述的方法,其中:
所述附加节点包括第一组附加节点和第二组附加节点,并且
添加所述附加节点包括:将所述第一组附加节点添加到所述至少一个隐藏层的第一隐藏层,以及将所述第二组附加节点添加到所述至少一个隐藏层的第二隐藏层。
6.根据权利要求5所述的方法,其中,添加所述附加节点还包括:将所述第一组附加节点中的每个附加节点都连接至所述第二组附加节点中的每个附加节点。
7.根据权利要求6所述的方法,其中,添加所述附加节点还包括:将所述第一隐藏层中的多个隐藏层节点连接至添加到所述第二隐藏层的所述第二组附加节点。
8.根据权利要求7所述的方法,其中,添加所述附加节点包括:不将添加到所述第一隐藏层的第一组附加节点连接至所述第二隐藏层中的多个隐藏层节点。
9.根据权利要求1所述的方法,还包括将多个新的输出层节点添加到所述输出层。
10.根据权利要求9所述的方法,其中,添加所述附加节点包括:将所述附加节点添加到与所述输出层相邻的所述至少一个隐藏层的最后隐藏层,以及将所述附加节点仅连接至所述多个新的输出层节点。
11.根据权利要求10所述的方法,还包括将与所述输出层相邻的所述至少一个隐藏层的多个节点中的每一个都连接至所述多个新的输出层节点中的每一个。
12.根据权利要求1所述的方法,其中将所述附加节点添加到所述至少一个隐藏层包括:将所述附加节点添加到所述至少一个隐藏层的第一隐藏层,并且其中所述方法还包括将所述多个输入层节点中的每一个都连接至第一隐藏层中的附加节点中的每一个。
13.根据权利要求1所述的方法,其中,利用来自所述新任务的数据对所述人工神经网络进行训练包括:使用随机梯度下降来使损失函数最小化。
14.一种人工神经网络,所述人工神经网络通过表观遗传神经发生进行训练以执行旧任务和新任务,所述人工神经网络包括:
输入层,所述输入层包括多个输入层节点;
第一隐藏层,所述第一隐藏层包括多个第一隐藏层节点和至少一个新的第一隐藏层节点;
第二隐藏层,所述第二隐藏层包括多个第二隐藏层节点和至少一个新的第二隐藏层节点;和
输出层,所述输出层包括多个输出层节点,
其中,所述至少一个新的第一隐藏层节点连接至所述至少一个新的第二隐藏层节点,
其中,所述至少一个新的第一隐藏层节点不连接至所述多个第二隐藏层节点,
其中,所述多个第一隐藏层节点中的每一个都连接至所述至少一个新的第二隐藏层节点,以及
其中,所述多个输入层节点中的每一个都连接至所述至少一个新的第一隐藏层节点。
15.根据权利要求14所述的人工神经网络,其中,所述输出层还包括多个新的输出层节点。
16.根据权利要求15所述的人工神经网络,其中,所述第二隐藏层是与所述输出层相邻的最后隐藏层,并且其中,所述至少一个新的第二层隐藏节点仅连接至所述多个新的输出层节点。
17.根据权利要求16所述的人工神经网络,其中,所述多个第二隐藏层节点中的每一个都连接至所述多个输出层节点中的每一个以及所述多个新的输出层节点中的每一个。
18.根据权利要求14所述的人工神经网络,其中,所述第二隐藏层是与所述输出层相邻的最后隐藏层,并且其中,所述至少一个新的第二层隐藏节点连接至所述多个输出层节点中的每一个。
19.根据权利要求14所述的人工神经网络,其中,所述多个输入层节点中的每一个都连接至所述多个第一隐藏层节点中的每一个。
20.根据权利要求14所述的人工神经网络,其中,所述多个第一隐藏层节点中的每一个都连接至所述多个第二隐藏层节点中的每一个。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862749617P | 2018-10-23 | 2018-10-23 | |
US62/749,617 | 2018-10-23 | ||
US201862750155P | 2018-10-24 | 2018-10-24 | |
US62/750,155 | 2018-10-24 | ||
PCT/US2019/049726 WO2020086176A1 (en) | 2018-10-23 | 2019-09-05 | Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112912902A true CN112912902A (zh) | 2021-06-04 |
Family
ID=70279600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980070194.3A Pending CN112912902A (zh) | 2018-10-23 | 2019-09-05 | 人工神经网络和利用表观遗传神经发生训练人工神经网络的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11113597B2 (zh) |
EP (1) | EP3871155A4 (zh) |
CN (1) | CN112912902A (zh) |
WO (1) | WO2020086176A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210559B1 (en) * | 2018-10-23 | 2021-12-28 | Hrl Laboratories, Llc | Artificial neural networks having attention-based selective plasticity and methods of training the same |
KR20210074833A (ko) * | 2019-12-12 | 2021-06-22 | 현대자동차주식회사 | 구문 분석 장치 및 방법 |
US20220012588A1 (en) * | 2020-07-09 | 2022-01-13 | Samsung Electronics Co., Ltd. | Method and device with reservoir management and neural network online learning |
JP6935837B1 (ja) * | 2020-08-20 | 2021-09-15 | トヨタ自動車株式会社 | 機械学習装置及び機械学習システム |
JP7010343B1 (ja) * | 2020-08-20 | 2022-01-26 | トヨタ自動車株式会社 | 機械学習装置 |
CN117581234A (zh) | 2021-05-07 | 2024-02-20 | Hrl实验室有限责任公司 | 神经形态存储器电路和人工神经网络的神经发生的方法 |
US11989871B2 (en) | 2021-06-02 | 2024-05-21 | Canon Medical Systems Corporation | Model training apparatus and method |
CN116976231B (zh) * | 2023-09-25 | 2024-02-06 | 闽都创新实验室 | 一种基于遗传算法的平面地堆库agv理库作业优化方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483868B2 (en) * | 2002-04-19 | 2009-01-27 | Computer Associates Think, Inc. | Automatic neural-net model generation and maintenance |
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US9798751B2 (en) * | 2013-10-16 | 2017-10-24 | University Of Tennessee Research Foundation | Method and apparatus for constructing a neuroscience-inspired artificial neural network |
US10001760B1 (en) * | 2014-09-30 | 2018-06-19 | Hrl Laboratories, Llc | Adaptive control system capable of recovering from unexpected situations |
US10832138B2 (en) | 2014-11-27 | 2020-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for extending neural network |
US10891540B2 (en) * | 2015-12-18 | 2021-01-12 | National Technology & Engineering Solutions Of Sandia, Llc | Adaptive neural network management system |
US10803377B2 (en) * | 2016-02-25 | 2020-10-13 | Adobe Inc. | Content presentation based on a multi-task neural network |
WO2018022715A1 (en) * | 2016-07-26 | 2018-02-01 | University Of Connecticut | Early prediction of an intention of a user's actions |
SG10202108020VA (en) * | 2017-10-16 | 2021-09-29 | Illumina Inc | Deep learning-based techniques for training deep convolutional neural networks |
CN107590534B (zh) * | 2017-10-17 | 2021-02-09 | 北京小米移动软件有限公司 | 训练深度卷积神经网络模型的方法、装置及存储介质 |
-
2019
- 2019-09-05 WO PCT/US2019/049726 patent/WO2020086176A1/en unknown
- 2019-09-05 EP EP19877431.7A patent/EP3871155A4/en active Pending
- 2019-09-05 CN CN201980070194.3A patent/CN112912902A/zh active Pending
- 2019-09-05 US US16/561,735 patent/US11113597B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2020086176A1 (en) | 2020-04-30 |
WO2020086176A8 (en) | 2020-07-09 |
US20200125930A1 (en) | 2020-04-23 |
US11113597B2 (en) | 2021-09-07 |
EP3871155A1 (en) | 2021-09-01 |
EP3871155A4 (en) | 2022-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112912902A (zh) | 人工神经网络和利用表观遗传神经发生训练人工神经网络的方法 | |
CN109214452B (zh) | 基于注意深度双向循环神经网络的hrrp目标识别方法 | |
CN107194336B (zh) | 基于半监督深度距离度量网络的极化sar图像分类方法 | |
US11741356B2 (en) | Data processing apparatus by learning of neural network, data processing method by learning of neural network, and recording medium recording the data processing method | |
CN105488528B (zh) | 基于改进自适应遗传算法的神经网络图像分类方法 | |
US10769261B2 (en) | User image verification | |
CN114332578A (zh) | 图像异常检测模型训练方法、图像异常检测方法和装置 | |
EP3671555A1 (en) | Object shape regression using wasserstein distance | |
KR101887267B1 (ko) | 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 | |
CN110427835B (zh) | 图卷积网络与迁移学习的电磁信号识别方法和装置 | |
CN107832789B (zh) | 基于平均影响值数据变换的特征加权k近邻故障诊断方法 | |
US20180137409A1 (en) | Method of constructing an artifical intelligence super deep layer learning model, device, mobile terminal, and software program of the same | |
CN111104831B (zh) | 一种视觉追踪方法、装置、计算机设备以及介质 | |
Lee et al. | Maximum causal tsallis entropy imitation learning | |
CN113406623A (zh) | 基于雷达高分辨距离像的目标识别方法、装置及介质 | |
CN114358197A (zh) | 分类模型的训练方法及装置、电子设备、存储介质 | |
CN114463540A (zh) | 使用神经网络对图像进行分割 | |
CN114547365A (zh) | 一种图像检索方法和设备 | |
CN116644798A (zh) | 基于多教师的知识蒸馏方法、装置、设备及存储介质 | |
Malmir et al. | Belief tree search for active object recognition | |
CN115858388A (zh) | 基于变异模型映射图的测试用例优先级排序方法和装置 | |
Dai et al. | Clustering of DOA data in radar pulse based on SOFM and CDbw | |
Mousavi | A New Clustering Method Using Evolutionary Algorithms for Determining Initial States, and Diverse Pairwise Distances for Clustering | |
CN117556261B (zh) | 一种基于mcnn的隔膜泵单向阀寿命预测方法与*** | |
Vinh Phuc | Application of Machine Learning in Economic Optimization |
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 |