CN116964589A - 一种由预训练小型网络构建的多节点神经网络 - Google Patents
一种由预训练小型网络构建的多节点神经网络 Download PDFInfo
- Publication number
- CN116964589A CN116964589A CN202180092426.2A CN202180092426A CN116964589A CN 116964589 A CN116964589 A CN 116964589A CN 202180092426 A CN202180092426 A CN 202180092426A CN 116964589 A CN116964589 A CN 116964589A
- Authority
- CN
- China
- Prior art keywords
- neural
- subnetworks
- nodes
- network
- trained
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 153
- 238000012549 training Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000001537 neural effect Effects 0.000 claims description 145
- 238000012545 processing Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 5
- 241000282472 Canis lupus familiaris Species 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 9
- 238000013138 pruning Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (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)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种使用一定数量的预训练较小型神经网络来训练大型神经网络的方法。使用多个预先存在的预训练神经网络通过多级叠加来创建所述大型神经网络。放大所述预训练神经网络中的每一个以提供较大型稀疏神经网络,每个预训练神经网络具有第一数量的多维节点。将所述较大型稀疏神经网络的值叠加到所述较大型神经网络中。可以从公开可用的预训练神经网络来创建所述预训练神经网络。通过替换和/或重新训练用于创建所述大型神经网络的子网络中的一个,可以使所述较大型神经网络适于在不同的任务中使用。
Description
技术领域
本发明大体上涉及人工智能领域,尤其涉及训练神经网络。
背景技术
人工神经网络在人工智能和机器学习应用中的使用越来越广泛。在人工神经网络中,通过一个或多个中间层或隐藏层传播一组输入,以生成输出。将输入连接到输出的层通过在训练或学习阶段通过确定将输入转换为输出的一组数学运算生成的多组权重连接,在各层之间移动计算每个输出的概率。一旦确定权重,就可以在推理阶段使用权重来从一组输入确定输出。
神经网络的发展侧重于提高能力。神经网络吸收信息的能力受到其参数数量的限制。神经网络的成功很大程度上源于构建越来越大的神经网络。虽然此类网络可以在各种任务上表现得更好,但是它们的规模使它们的使用成本更高。较大型网络占用更多存储空间,使它们更难分配,运行时间更长,因此需要更昂贵的硬件。如果要为实际应用制作模型,这一点尤其值得关注。
发明内容
一个一般方面包括一种训练神经网络的计算机实现的方法,所述神经网络可以包括一定数量的节点。所述计算机实现的方法包括:实例化第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重。所述计算机实现的方法还包括:放大所述第一多个预训练神经子网络中的多个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的多个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重。所述计算机实现的方法还包括:通过叠加所述第一多个预训练神经子网络的非零权重(在所述神经网络的多维节点中表示所述非零权重),创建所述神经网络。所述计算机实现的方法还包括:接收用于由所述神经网络进行计算的第一任务的数据。所述计算机实现的方法还包括:执行所述第一任务以从所述神经网络生成所述第一任务的解决方案。
实现方式可以包括上述方法中的任何一种或多种,所述方法还包括:创建所述神经网络,创建所述神经网络还可以包括:通过叠加所述第一多个神经子网络的非零权重,创建具有所述第二较大数量的多维节点的第二多个神经子网络;通过将所述第二多个神经子网络的非零权重叠加到所述神经网络的节点中,创建具有多维节点的所述神经网络。实现方式可以包括上述方法中的任何一种或多种,所述方法还包括:连接所述第一多个神经子网络中的每一个,使得所述第一多个预训练神经子网络中的每一个连接到所述第一多个网络中的另一个的选择性节点,所述选择性节点小于布置在可以包括所述第一多个子网络的子集的第一级神经子网络中的所述第一多个网络中的所述另一个的所述多个节点中的所有节点。实现方式可以包括上述方法中的任何一种或多种,所述方法还包括:将所述第一级中的所述第一多个神经子网络的所述子集中的每一个连接到可以包括所述第一级的子集的第二级神经子网络中的所述第二多个神经子网络的节点中的选择性节点。实现方式可以包括上述方法中的任何一种或多种,所述方法还包括:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。实现方式可以包括上述方法中的任何一种或多种,其中所述重新训练还包括通过以下方式针对所述新任务重新训练所述神经网络:计算所述训练的第一多个神经子网络之间的相关参数;根据所述第一任务,预测新任务的训练数据中标签的经验分布;使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。实现方式可以包括上述方法中的任何一种或多种,其中替换神经子网络可以包括:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。实现方式可以包括上述方法中的任何一种或多种,其中替换神经子网络可以包括:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。所描述技术的实现方式可以包括硬件、方法或过程或计算机可访问介质上的计算机软件。
另一个一般方面包括一种处理设备。所述处理设备包括非瞬时性存储器,所述存储器可以包括指令。所述处理设备还包括与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器通过执行所述指令来创建神经网络,以便:实例化第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重;放大所述第一多个预训练神经子网络中的多个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的多个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重;通过叠加所述第一多个神经子网络的非零权重(在所述神经网络的多维节点中表示所述非零权重),创建所述神经网络。本方面的其它实施例包括记录在一个或多个计算机存储设备上的对应计算机系统、装置和计算机程序,分别用于执行所述指令的上述动作。
实现方式可以包括一种处理设备,所述处理设备包括上述特征中的任何一个或多个,其中所述处理器执行指令,以便:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。实现方式可以包括一种处理设备,所述处理设备包括上述特征中的任何一个或多个,其中所述重新训练还包括:通过执行指令来针对所述新任务重新训练所述神经网络,以便:计算所述训练的第一多个神经子网络之间的相关参数;根据新任务,预测所述新任务的训练数据中标签的经验分布;使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。实现方式可以包括一种处理设备,所述处理设备包括上述特征中的任何一个或多个,其中所述替换可以包括:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。实现方式可以包括一种处理设备,所述处理设备包括上述特征中的任何一个或多个,其中针对所述新任务至少替换所述第一多个神经子网络的子集可以包括:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。实现方式可以包括一种处理设备,所述处理设备包括上述特征中的任何一个或多个,其中所述处理器执行指令,以便:通过叠加所述第一多个神经子网络的非零权重,创建具有第二较大数量的多维节点的第二多个神经子网络;连接所述第一多个神经子网络中的每一个,使得所述第一多个神经子网络和所述第二多个神经子网络中的每一个连接到所述第一多个神经子网络中的另一个的选择性节点,所述选择性节点小于所述多个神经子网络中的所述另一个的所有节点,使得所述多个神经子网络中的多个布置在某级神经子网络中,所述连接的选择性节点创建所述第一多个神经子网络的至少两级递归连接。
一个一般方面包括一种非瞬时性计算机可读介质,存储计算机指令,以便通过以下方式训练神经网络:训练多个神经子网络,每个神经子网络具有第一数量的多维节点。所述指令使所述一个或多个处理器通过以下方式执行所述训练:实例化第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重;放大所述第一多个预训练神经子网络中的多个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的每一个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重;通过在所述第二多个神经子网络中叠加所述第一多个神经子网络的非零权重,创建具有所述第二较大数量的多维节点的第二多个神经子网络;放大所述第二多个神经子网络中的多个,以具有第三数量的多维节点,使得所述第二多个神经子网络中的多个具有与所述第三数量的多维节点相关联的稀疏数量的非零权重;通过在第三多个网络中的多个神经网络的多维节点中叠加非零权重,创建所述神经网络。所述指令还使所述一个或多个处理器接收用于由所述神经网络进行计算的第一任务的数据,并使所述一个或多个处理器计算所述任务数据以从所述神经网络生成所述第一任务的解决方案。
所述非瞬时性计算机可读介质可以包括上述特征中的任何一个,并且还包括所述处理器执行指令,以便:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。所述非瞬时性计算机可读介质可以包括上述特征中的任何一个,并且还包括所述处理器执行指令,通过执行指令来针对所述新任务重新训练所述神经网络,以便:计算所述训练的第一多个神经子网络之间的相关参数;根据所述第一任务,预测新任务的训练数据中标签的经验分布;使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。所述非瞬时性计算机可读介质可以包括上述特征中的任何一个,并且还包括所述处理器执行指令,以便:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。所述非瞬时性计算机可读介质可以包括上述特征中的任何一个,并且还包括所述处理器执行指令,以便:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。所述非瞬时性计算机可读介质可以包括上述特征中的任何一个,并且还包括所述处理器执行指令,以便:连接所述第一多个神经子网络中的每一个,使得所述第一多个神经子网络和所述第二多个神经子网络中的每一个连接到所述第一多个神经子网络和所述第二多个神经子网络中的另一个的选择性节点,所述选择性节点小于所述第一多个网络和所述第二多个网络的所有节点,使得所述第一多个神经子网络和所述第二多个神经子网络中的多个布置在某级神经子网络中,所述连接创建所述第一多个神经子网络和所述第二多个神经子网络的至少两级递归连接。
本发明内容简单介绍了一些概念,在具体实施方式中会进一步描述这些概念。本发明内容既不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于帮助确定所要求保护的主题的范围。专利申请所要求保护的主题不限于解决背景技术中提到的任何或所有问题的实现方式。
附图说明
本发明的各个方面以示例的方式示出,并且不受附图的限制,附图中相同的附图标记表示相同或相似的元件。
图1示出了用于训练大型神经网络的现有技术过程的方法;
图2示出了用于执行所描述主题的方法的概述的流程图;
图3示出了多级嵌套和叠加子网络以创建大型神经网络的概要框图;
图4以图形方式示出了单个神经网络节点与超级节点之间的连接;
图5示出了在图2中的步骤225中执行的相应步骤的流程图;
图6示出了更新一个或多个子网络的流程图;
图7示出了可以用于实现各种实施例的处理设备的框图。
具体实施方式
本发明和实施例涉及一种使用一定数量的预训练较小型神经网络来训练大型神经网络的新方法。预训练较小型神经网络可以视为较大型神经网络的子网络。本发明技术提供了一种由网络设计者定义的大规模神经网络,神经网络重用多个预先存在的预训练较小型神经网络通过多级叠加来创建大型神经网络。预训练神经网络中的每一个被放大,并产生较大型稀疏神经网络,其中的值叠加到针对所定义任务的较大型神经网络中。预训练神经网络可以从现有可用神经网络创建,现有可用神经网络已使用与特定任务相关联的带标签训练数据进行训练。一旦放大,就为预训练神经网络中的每一个确定第一预训练网络中具有稀疏值的节点。这可以通过将放大的预训练神经网络的非零权重叠加到较大型网络中,来创建具有较大数量的多维节点的神经网络。通过替换和/或重新训练用于创建大型神经网络的子网络中的一个,可以使较大型神经网络适于在不同的任务中使用。
根据在网络内执行的操作类型,神经网络可以采取许多不同的形式。神经网络由输入层和输出层组成,具有多个中间隐藏层。大多数神经网络通过一系列具有多个计算节点的计算(隐藏)层对输入数据执行数学运算,每个节点使用训练数据进行训练。
神经网络中的每个节点通过对来自上一层的输入值应用特定函数来计算输出值。对输入值应用的函数由权重向量和偏差确定。在神经网络中,通过对这些偏差和权重进行迭代调整来进行学习。权重向量和偏差称为滤波器,并且表示输入的特定特征(例如,特定形状)。
人工神经网络的层可以表示为由圆圈表示的一组互连节点或人工神经元,以及从一个人工神经元的输出到另一个人工神经元的输入的一组连接。人工神经网络的节点或人工神经元/突触由处理系统实现为数学函数,该数学函数接收一个或多个输入并对它们求和以产生输出。通常,对每个输入进行单独加权,并通过节点的数学函数实现该求和,以提供节点的输出。节点及其连接通常具有随着学习过程的进行而调整的权重。通常,将节点聚合成层。不同的层可以对其输入执行不同类型的转换。信号可能在多次遍历各层之后,从第一层(输入层)传输到最后一层(输出层)。
通过提供输入,然后检查和校正输出来“训练”人工神经网络。例如,经训练来识别狗品种的神经网络处理一组图像,并计算图像中的狗是某个品种的概率。用户可以查看结果,选择神经网络应显示的概率(高于某个阈值等),并返回所建议的标签。每个此类数学运算本身被视为一个层,而复杂的神经网络具有多个层。由于大量中间层或隐藏层提供的深度,神经网络可以在训练时对复杂的非线性关系进行建模。
有许多公开可用的预训练神经网络,可以免费下载和使用。这些预训练神经网络中的每一个都可以在处理设备上操作,并且已经训练来执行特定任务。例如,GoogLeNet和Squeezenet等多个预训练网络已在ImageNet(www.image-net.org)数据集上进行训练。这些只是预训练网络的两个示例,应当理解,除了图像识别之外,还有网络可用于在ImageNet以外的数据集上训练的任务。
根据本发明技术,具有有限数量的节点的预训练网络用作创建大型训练神经网络的构建块。
图1示出了描述用于训练传统神经网络以生成一组权重的过程的一个实施例的流程图。训练过程可以由一个或多个处理设备执行,该一个或多个处理设备包括基于云的处理设备,从而允许访问附加的或更强大的处理。在步骤100中,接收训练输入,例如上述示例中的一组图像(例如,图1中的图像输入)。训练输入可以适用于第一网络任务,例如上述识别狗品种的示例。在步骤120中,通过将输入连接到后续各层、当前滤波器或一组权重的各层来传播输入。例如,然后可以在后续一层接收每个层的输出,以便从一层接收作为输出的值用作后续一层的输入。以这种方式通过所有中间层或隐藏层传播来自第一层的输入,直到输入到达网络输出。一旦经过训练,在步骤130中,神经网络就可以获取测试数据并提供输出。在前一段的狗品种示例中,输入是多只狗的图像数据,并且中间层使用当前权重值来计算图像中的狗是某个品种的概率,在步骤130中返回所建议的狗品种标签。然后,用户可以检查结果的准确性,以便训练系统可以选择神经网络应返回的概率,并确定当前一组权重是否提供足够准确的标签;如果是,则训练完成。如果结果不够准确,则可以通过重复步骤100、步骤120来重新训练网络。然而,如果在步骤140中需要不同的网络任务,则必须在步骤150中提供一组新的训练数据,并且在步骤120中针对新的训练数据重复训练过程。然后,在步骤130中,可以将新的训练数据馈送到该网络,以便再次输出到新任务。当不存在任何新任务时,在步骤160中,结束训练过程。
神经网络通常是前馈网络,其中数据从输入层流经中间层并到达输出层,而不会回环。首先,在如图1所示的监督学习的训练阶段,神经网络创建虚拟神经元的映射,并为它们之间的连接分配随机数值或“权重”。将权重和输入相乘并返回输出。如果网络不能准确识别特定模式,则算法会调整权重。这样,该算法可以使某些参数具有更大影响(通过增加对应的权重)或更小影响(通过减少权重),并相应地调整权重,直到确定一组权重,该组权重可提供足够正确的数学运算,以充分处理数据。
图2示出了描述本发明技术提供的用于训练神经网络的过程的一个实施例的流程图。在步骤210中,访问和利用预训练神经网络,而不是使用训练数据来训练单个大型神经网络。通常,此类预训练神经网络是公开可用的,并且已将训练数据输入用于特定任务。与大规模可训练网络相比,此类预训练网络更小,并且通常更专注于特定任务。本文中使用的预训练神经网络具有一定数量的节点(N),这些节点仅是本发明技术的用户可以在大型神经网络中创建的一定数量的节点(M)的一部分。
在大型神经网络中,N个节点的每个预训练神经网络可以视为大型网络中嵌套在多级的多个(例如,“第一”多个)子网络中的一个。在本发明技术的实施例中,“N”可以是数百或数千个节点的数量级。在另一个方面,在步骤220中,每个预训练网络(以及从预训练网络创建的子网络)的不同级的节点可以选择性地连接到不同级的其它节点,以减少不同级的节点之间的直接连接的数量。在一个实施例中,步骤220是可选的,不需要执行。下面结合图3和图4进一步描述这种多级嵌套。
稀疏神经网络可以视为在网络节点的加权中具有大百分比零值的矩阵;相反,密集网络具有多个非零权重。在步骤225中,对于M个节点的所需大型神经网络的给定规模,可以将预训练神经网络中的每一个放大到大型神经网络的规模,从而创建第二多个神经网络。在本发明技术的实施例中,“M”可以是数百万或数十亿个节点的数量级。通常,该第二多个神经网络包括稀疏网络(即使在已放大的预训练网络是密集网络的情况下)。也就是说,对于具有N个节点的每个预训练网络,这些节点可以在概念上识别为计算节点的二维或三维矩阵;对于具有M个节点(也用作计算节点的二维或三维矩阵)的给定所需神经网络,可以将每个预训练网络“放大”到一定数量的节点(M)和大型网络的矩阵规模。在放大较小型网络时,每个扩大的预训练神经网络现在包括稀疏神经网络。由于放大的预训练网络是稀疏网络,可以通过叠加来将放大的预训练网络组合到所需大型神经网络中。
使用图像识别示例,可以放大在步骤210中收集的多个预训练神经网络,然后将其叠加到具有M个节点的大型神经网络中,大型网络具有可以用于解决给定图像识别问题(例如,狗品种识别)的训练权重。
一旦经过训练,在步骤230中,神经网络就可以获取任务数据并提供输出。在前一段的狗品种示例中,输入是多只狗的图像数据,并且中间层使用权重值来计算图像中的狗是某个品种的概率,在步骤230中返回所建议的狗品种标签。然后,用户可以检查结果的准确性,以便训练系统可以选择神经网络应返回的概率,并确定当前一组权重是否提供足够准确的标签;如果是,则训练完成。
当在步骤240中呈现新任务时,可以通过更新较小规模(N节点)网络中的一个或多个来更新神经网络训练,如下结合图6所述。
图3以图形方式示出了多级嵌套和叠加子网络以创建训练后大型神经网络的概要框图。如前所述,神经网络通常由多层节点组成,包括输入层、输出层和一个或多个隐藏层。连接层中的节点以形成互连节点的网络。这些节点之间的连接用于使信号从一个节点传输到另一个节点。随着神经网络内层数的增加,将一层中的每个节点互连到其它层中的每个节点可能会有问题,并且可能会影响网络性能并增加复杂度。如上面在步骤220中所讨论的,选择性地连接网络的不同层可提供网络的多级嵌套,这可提高本发明技术的效率。结合图3描述步骤220的过程。
图3示出了三层节点(第1层、第2层和第3层),每层具有“嵌套”在后续级中的多个神经网络。图3示出了具有N个节点并且在概念上提供在子网络的多级嵌套的第一级(“第1层”)的多个(“X”)预训练网络300a-300x。预训练网络300a-300x可以视为具有二维(A x B)或三维(A x B x C)的矩阵。在一个实施例中,每个预训练矩阵300a-300x中的每个节点可以耦合到每个矩阵中的每个其它节点。为了简单起见,每个预训练矩阵300a-300x示出为二维3x4矩阵。第一多级嵌套产生在该示例中具有9x16个节点的“Y”子网络(320a、……、302y),以及具有27x64个节点(即,在该示例中的“M”个节点)的第三级神经网络325m。应当认识到,在325m处示出的阵列仅是说明性的。
在一些神经网络中,网络中的每个节点可以连接到网络中的每个其它节点,而不管节点在哪个级运行。根据本发明技术,多级嵌套包括选择性地将每个较小型子网(包括第1级的预训练网络)的节点连接到不同级的子网络中的节点。因此,例如,网络300a具有到第2层的网络320a中的一个代表性节点的连接350,网络300n具有到第2层的网络320y中的一个代表性节点的连接352。类似地,网络320a具有到第3层的网络325m中的代表性节点的连接354。
这在图4中以图形方式示出,图4示出了2x2预训练网络400a,其中每个节点连接到网络400a中的每个其它节点,该预训练网络中的一个节点耦合到超级节点450a。每个超级节点可以具有连接到其上的一个或多个预训练网络400。应当理解,超级节点450a-450h中每一个可以具有选择性地连接到其上的一个或多个预训练网络。
返回图3,可以通过虚拟纵横式交换机302a-302x来实现对每个预训练网络的连接的控制。因此,每个子网由分层纵横式交换机(或其它互连拓扑)连接,以在较大型网络内逐级形成连接。因此,通过交换机功能来控制权重、神经元、滤波器、通道、幅度、梯度和激活。
通常,可以将虚拟纵横式交换机的内部连接设置为选择性地打开或关闭,以表示修剪网络(对于一种类型的任务,性能与大型网络一样好的小型网络),其中对于另一个修剪网络,可以关闭或打开相同的连接。在图3中,根据尽力修剪网络的权重分布的相似性来叠加该尽力修剪网络的权重。在每个权重由4位二进制值表示的基本示例中,在1750亿个参数中的小型子网之间重叠权重分布的概率很高。考虑到1000x 1000矩阵中的1750亿除以24个值会产生约2.7K个匹配项。
应当认识到,不需要在本文所述技术的每个实施例中利用上述多级嵌套技术。在替代实施例中,将每级的所有节点彼此连接;在其它实施例中,连接所有级的节点。
在本发明技术的另一个方面,通过叠加放大的预训练网络来创建大型密集训练神经网络。图5示出了图2中步骤220的一个实施例。结合图3的下半部分来描述图5。如图5所示,步骤225可以直接发生在步骤210之后或步骤220之后。最初,在步骤420中,将第一多个预训练子网络中的每一个放大到较大规模的网络(即,M个节点)一大型神经网络中所需的节点数量。缩放每个预训练神经网络可以包括在与M个节点的所需大型网络相同的维度或任何其它合适的维度上进行缩放。一旦缩放到较大规模,多个小型预训练网络中的每一个包括稀疏填充的子网络。在步骤430中,对于放大的网络中的每一个,该方法确定放大的网络中具有值的节点和不具有值的节点。在步骤440中,该方法通过将第一多个填充节点中的多个叠加到较大型网络的节点中,创建具有M个多维节点的第二多个网络。最后,在步骤460中,通过叠加被确定为具有权重值的第二多个网络中的多个(将权重值定位在较大型网络的节点中),创建具有M个多维节点的神经网络。
图3通过连接502、504和506以图形方式示出了该过程,这些连接示出了各个缩放节点被定位到较大型缩放网络362、364、366中,从而产生M节点网络390。应当理解,图3中所示的节点数量仅是4x 4网络,但是预训练子网络中的每一个的缩放因子可能大得多,最终M节点网络甚至更大。(图3仅示出了网络362、364、366和390的一小部分;应当理解,在该示例中,网络390可以具有与网络325m相同数量的M个节点。)
如图2所示,一旦创建大型神经网络,就可以提出需要修改或重新训练大型神经网络的新任务。图6示出了用于更新神经网络的图2的步骤250的一个实施例。最初,在步骤610中,一种方法收集针对新任务的预训练子网络和预先存在的训练数据。该训练数据包括已使用一个或多个标签标记的带标签数据,该一个或多个标签标识某些属性或特征或分类或所包含对象。在步骤620中,确定预训练子网络中的每一个与预先存在的训练数据之间的相关参数。这可以确定预训练网络针对新任务是具有良好性能、不良性能还是一般性能。在一个实施例中,可以使用最大相关算法来确定现有预训练网络与新任务训练数据之间的相关参数。在步骤630中,该方法根据现有训练任务,预测新任务的训练数据类标签的经验分布。如果预训练网络的数量超过指定的最大值,则使用该相关性预测来选择预训练网络。在步骤640中,如果需要,则使用新任务训练数据来训练一个或多个新的子网络;在步骤645中,修剪新训练的一个或多个子网络。在步骤640中,如果预训练网络中的一个或多个表现出一般性能特征,则可能需要进行训练。在这种情况下,将一般性能确定为网络在任务方面表现出的性能既非良好也非不良。在步骤645中,修剪是一种压缩方法,其涉及从训练后网络中删除不必要的权重或节点。在步骤650中,确定是否可以将新训练的子网络添加到预训练网络中,该预训练网络可以用于针对新任务构建新训练的M节点网络。该确定基于网络设计者的规定,该网络设计者已根据包括网络性能、处理能力和其它约束在内的任何数量的给定因素来确定最大数量的预训练网络。如果在步骤650中未达到最大允许的预训练网络,则在步骤670中,可以使用新训练的网络来更新多个预训练网络。如果已经达到最大允许的预训练网络,则在步骤660中,该方法删除具有一般性能的一个或多个网络。在这种情况下,具有一般性能的网络是基于其预训练任务的性能(既非良好也非不良)的网络。
图7示出了可以用于实现各种实施例的网络设备700的框图。特定网络设备可以利用所有所示的组件或仅利用这些组件中的一部分,且设备之间的集成程度可以不同。此外,网络设备700可以包含组件的多个实例,例如多个处理单元、处理器、存储器、发送器、接收器等。网络设备700可以包括中央处理器(central processing unit,CPU)710、存储器720、大容量存储设备730、I/O接口760和连接到总线770的网络接口750。总线770可以是任意类型的若干总线架构中的一个或多个,包括存储总线或者存储控制器、外设总线等。
CPU 710可以包括任意类型的电子数据处理器。存储器720可以包括任意类型的系统存储器,例如,静态随机存取存储器(static random-access memory,SRAM)、动态随机存取存储器(dynamic random-access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)或其组合等。在实施例中,存储器720可以包括在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。
在实施例中,存储器720是非瞬时的。在网络设备用于创建本文所述神经网络的一个实施例中,存储器720可以包括训练引擎720A、修剪引擎720B、叠加引擎720C、训练数据720D、子网络720E中的一个或多个以及任务执行引擎720F。
训练引擎720A包括可以由CPU 710执行以执行本文所述神经网络训练的代码。修剪引擎720B包括可以由CPU执行以执行本文所述网络修剪的代码。叠加引擎720C包括可以由CPU执行以执行本文所述具有权重的网络节点叠加的代码。训练数据720D可以包括可以由CPU和训练引擎720A利用以执行本文所述神经网络训练的现有任务或新任务的训练数据。子网络720E可以包括可由CPU执行以运行和实例化本文所述预训练网络或其它子网络中的每一个的代码。任务执行引擎720F可以包括可由处理器执行以如本文所述向大型神经网络呈现任务以获得结果的代码。
大容量存储设备730可以包括任意类型的存储设备,用于存储数据、程序和其它信息,并使这些数据、程序和其它信息可以通过总线770进行访问。例如,大容量存储设备730可以包括固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一种或多种。大容量存储设备730可以包括训练数据以及可执行代码,该可执行代码可以传输到存储器720以实现本文所述的任何特定引擎或数据。
大容量存储设备还可以存储被描述为在存储器720中或被示出在存储器720中的任何组件,以便由CPU读取并在存储器720中执行。大容量存储设备可以包括用于存储器720中所示的每个组件的非易失性形式的可执行代码。大容量存储设备730可以非瞬时性计算机可读介质,该非瞬时性计算机可读介质包括所有类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,具体不包括信号。应当理解,软件可以安装在网络设备中并与其一起出售。或者,可以获取软件并将其加载到网络设备中,包括经由光盘介质或从网络或分发系统的任何方式获取软件,包括例如从软件创建者拥有的服务器或从软件创建者不拥有但使用的服务器获取软件。例如,可以将软件存储在服务器中以通过互联网分布。
网络设备700还包括一个或多个网络接口750,该一个或多个网络接口可以包括以太网电缆等有线链路,和/或用以接入节点或一个或多个网络780的无线链路。网络接口750允许网络设备700经由网络780与远程单元通信。例如,网络接口750可以经由一个或多个发送器/发送天线和一个或多个接收器/接收天线提供无线通信。在实施例中,网络设备700耦合到局域网或广域网780以用于数据处理以及与其它处理单元、互联网、远程存储设施等远程设备通信。
本发明技术提供了一种由网络设计者定义的大规模神经网络,神经网络重用多个预先存在的预训练较小型神经网络通过多级叠加来创建大型神经网络。因此,该网络可以提供与定制训练后大型神经网络相同的性能,具有较低能耗和较高灵活性。通过对预训练子网络进行修剪并添加新的子网络,使用新任务来训练新的子网络,从而通过不断学习来更新大型神经网络。给定定义数量的子网络,可以删除具有一般性能的网络。
出于本文件的目的,应当注意,附图中描述的各种特征的尺寸不一定是按比例绘制的。
出于本文件的目的,说明书中可以引用“实施例”、“一个实施例”、“一些实施例”或“另一个实施例”来描述不同的实施例或相同的实施例。
为了实现本文档的目的,连接可以是直接连接或间接连接(例如,通过一个或多个其它部件)。在一些情况下,当一个元件称为连接或耦合到另一个元件时,该元件可以直接连接到另一个元件,或通过中间元件间接连接到另一个元件。当一个元件称为直接连接到另一个元素时,则该元件和另一个元件之间没有中间元件。如果两个设备直接或间接连接,以便它们可以在它们之间传输电子信号,则它们在“通信”中。
虽然已经参考本发明的特定特征和实施例描述了本发明,但是显然可以在不脱离本发明的范围的情况下对本发明进行各种修改和组合。因此,说明书和附图仅被视为所附权利要求书限定的对本发明的说明,并且预期覆盖落入本发明的范围内的任何和所有修改、变更、组合或等同物。
为了说明和描述之目的,上文呈现了详细的描述,上述描述并非旨在穷举或将本文要求保护的主题限制为所公开的一种或多种精确形式。根据上述指导,可以进行许多种修改和变更。选择所描述的各种实施例是为了更好地解释所公开技术的原理及其实际应用,因而使得本领域技术人员能够更好地利用各种实施例的技术和适合预期特定用途的各种修改。本发明的范围意图由所附权利要求书界定。
Claims (20)
1.一种训练神经网络的计算机实现的方法,其特征在于,所述神经网络包括一定数量的节点,所述方法包括:
实例化第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重;
放大所述第一多个预训练神经子网络中的多个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的多个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重;
通过叠加所述第一多个预训练神经子网络的非零权重(在所述神经网络的多维节点中表示所述非零权重),创建所述神经网络;
接收用于由所述神经网络进行计算的第一任务的数据;
执行所述第一任务以从所述神经网络生成所述第一任务的解决方案。
2.根据权利要求1所述的方法,其特征在于,创建所述神经网络还包括:
通过叠加所述第一多个神经子网络的非零权重,创建具有所述第二较大数量的多维节点的第二多个神经子网络;
通过将所述第二多个神经子网络的非零权重叠加到所述神经网络的节点中,创建具有多维节点的所述神经网络。
3.根据权利要求1和2中任一项所述的方法,其特征在于,包括:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。
4.根据权利要求3所述的方法,其特征在于,所述重新训练还包括:通过以下方式,针对所述新任务重新训练所述神经网络:
计算所述训练的第一多个神经子网络之间的相关参数;
根据所述第一任务,预测新任务的训练数据中标签的经验分布;
使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;
使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。
5.根据权利要求3和4中任一项所述的方法,其特征在于,所述替换包括:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述替换包括:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法包括:连接所述第一多个神经子网络中的每一个,使得所述第一多个预训练神经子网络中的每一个连接到所述第一多个网络中的另一个的选择性节点,所述选择性节点小于布置在包括所述第一多个子网络的子集的第一级神经子网络中的所述第一多个网络中的所述另一个的所述多个节点中的所有节点。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:将所述第一级中的所述第一多个神经子网络的所述子集中的每一个连接到包括所述第一级的子集的第二级神经子网络中的所述第二多个神经子网络的节点中的选择性节点。
9.一种处理设备,其特征在于,包括:
包括指令的非瞬时性存储器;
与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器通过执行所述指令来创建神经网络,以便:
实例化至少第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重;
放大所述第一多个预训练神经子网络中的每一个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的多个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重;
通过叠加所述第一多个神经子网络的非零权重(在所述神经网络的多维节点中表示所述非零权重),创建所述神经网络。
10.根据权利要求9所述的处理设备,其特征在于,所述处理器执行指令,以便:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。
11.根据权利要求9和10中任一项所述的处理设备,其特征在于,所述重新训练还包括:通过执行指令来针对所述新任务重新训练所述神经网络,以便:
计算所述训练的第一多个神经子网络之间的相关参数;
根据新任务,预测所述新任务的训练数据中标签的经验分布;
使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;
使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。
12.根据权利要求10所述的处理设备,其特征在于,所述替换包括:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。
13.根据权利要求10和11中任一项所述的处理设备,其特征在于,针对所述新任务至少替换所述第一多个神经子网络的子集包括:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。
14.根据权利要求9至13中任一项所述的处理设备,其特征在于,所述处理器执行指令,以便:通过叠加所述第一多个神经子网络的非零权重,创建具有第二较大数量的多维节点的第二多个神经子网络;
连接所述第一多个神经子网络中的每一个,使得所述第一多个神经子网络和所述第二多个神经子网络中的每一个连接到所述第一多个神经子网络中的另一个的选择性节点,所述选择性节点小于所述多个神经子网络中的所述另一个的所有节点,使得所述多个神经子网络中的多个布置在某级神经子网络中,所述连接的选择性节点创建所述第一多个神经子网络的至少两级递归连接。
15.一种非瞬时性计算机可读介质,其特征在于,存储用于训练神经网络的计算机指令,所述计算机指令在由一个或多个处理器执行时,使所述一个或多个处理器执行以下步骤:
通过以下方式训练多个神经子网络,每个神经子网络具有第一数量的多维节点:
实例化第一多个预训练神经子网络,每个预训练神经子网络具有第一数量的多维节点,所述多维节点中的至少一些具有非零权重;
放大所述第一多个预训练神经子网络中的多个,以具有第二较大数量的多维节点,使得所述第一多个预训练神经子网络中的每一个具有与所述第二较大数量的多维节点相关联的稀疏数量的非零权重;
通过在所述第二多个神经子网络中叠加所述第一多个神经子网络的非零权重,创建具有所述第二较大数量的多维节点的第二多个神经子网络;
放大所述第二多个神经子网络中的多个,以具有第三数量的多维节点,使得所述第二多个神经子网络中的多个具有与所述第三数量的多维节点相关联的稀疏数量的非零权重;
通过在第三多个网络中的多个神经网络的多维节点中叠加非零权重,创建所述神经网络;
接收用于由所述神经网络进行计算的第一任务的数据;
计算所述任务数据以从所述神经网络生成所述第一任务的解决方案。
16.根据权利要求15所述的非瞬时性计算机可读介质,其特征在于,所述处理器执行指令,以便:通过针对新任务至少替换所述第一多个神经子网络的子集,针对所述新任务重新训练所述神经网络。
17.根据权利要求15和16中任一项所述的非瞬时性计算机可读介质,其特征在于,所述重新训练还包括:通过执行指令来针对所述新任务重新训练所述神经网络,以便:
计算所述训练的第一多个神经子网络之间的相关参数;
根据所述第一任务,预测新任务的训练数据中标签的经验分布;
使用所述新任务的所述训练数据训练所述第一多个网络中的每一个;
使用重新训练的神经子网络替换所述第一多个神经子网络中的多个。
18.根据权利要求16和17中任一项所述的非瞬时性计算机可读介质,其特征在于,所述替换包括:当存在超过最大数量的预训练神经子网络时,替换所述第一多个神经子网络中的多个。
19.根据权利要求16至18中任一项所述的非瞬时性计算机可读介质,其特征在于,所述替换包括:替换相对于所述新任务的所述训练数据确定的具有一般性能的神经子网络。
20.根据权利要求15至19中任一项所述的非瞬时性计算机可读介质,其特征在于,所述一个或多个处理器执行以下步骤:连接所述第一多个神经子网络中的每一个,使得所述第一多个神经子网络和所述第二多个神经子网络中的每一个连接到所述第一多个神经子网络和所述第二多个神经子网络中的另一个的选择性节点,所述选择性节点小于所述第一多个网络和所述第二多个网络的所有节点,使得所述第一多个神经子网络和所述第二多个神经子网络中的多个布置在某级神经子网络中,所述连接创建所述第一多个神经子网络和所述第二多个神经子网络的至少两级递归连接。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/019097 WO2021102479A2 (en) | 2021-02-22 | 2021-02-22 | Multi-node neural network constructed from pre-trained small networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964589A true CN116964589A (zh) | 2023-10-27 |
Family
ID=74875338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180092426.2A Pending CN116964589A (zh) | 2021-02-22 | 2021-02-22 | 一种由预训练小型网络构建的多节点神经网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230289563A1 (zh) |
EP (1) | EP4285282A2 (zh) |
CN (1) | CN116964589A (zh) |
WO (1) | WO2021102479A2 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190258931A1 (en) * | 2018-02-22 | 2019-08-22 | Sony Corporation | Artificial neural network |
-
2021
- 2021-02-22 EP EP21712341.3A patent/EP4285282A2/en active Pending
- 2021-02-22 CN CN202180092426.2A patent/CN116964589A/zh active Pending
- 2021-02-22 WO PCT/US2021/019097 patent/WO2021102479A2/en active Application Filing
-
2023
- 2023-05-18 US US18/320,007 patent/US20230289563A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021102479A2 (en) | 2021-05-27 |
WO2021102479A3 (en) | 2022-03-03 |
US20230289563A1 (en) | 2023-09-14 |
EP4285282A2 (en) | 2023-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593586B2 (en) | Object recognition with reduced neural network weight precision | |
Jaafra et al. | Reinforcement learning for neural architecture search: A review | |
US10740671B2 (en) | Convolutional neural networks using resistive processing unit array | |
US9524461B1 (en) | Conceptual computation system using a hierarchical network of modules | |
KR102695519B1 (ko) | 영상 모델 구축 장치 및 방법 | |
Kumar et al. | Deep Learning as a Frontier of Machine Learning: A | |
AU2021281628B2 (en) | Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference | |
Choudhary et al. | Inference-aware convolutional neural network pruning | |
Demertzis et al. | Geo-AI to aid disaster response by memory-augmented deep reservoir computing | |
Jiang et al. | An intelligent recommendation approach for online advertising based on hybrid deep neural network and parallel computing | |
KR102191346B1 (ko) | 버스트 스파이크에 기반한 스파이킹 신경망 생성 방법 및 스파이킹 신경망 기반 추론 장치 | |
Xia et al. | Efficient synthesis of compact deep neural networks | |
CN116964589A (zh) | 一种由预训练小型网络构建的多节点神经网络 | |
JP2022025392A (ja) | 機械学習装置及び機械学習方法 | |
Mungai et al. | A study on merging mechanisms of simple hopfield network models for building associative memory | |
Li et al. | Neural plasticity networks | |
Mayannavar et al. | A Novel ANN Structure for Image Recognition | |
Amer et al. | Modularity in artificial neural networks | |
US20240152726A1 (en) | Single search for architectures on embedded devices | |
Nguyen | Affine invariance in multilayer perceptron training | |
Gaur | Exploring Per-Input Filter Selection and Approximation Techniques for Deep Neural Networks | |
Bulatovic et al. | On applying evolutionary algorithms for hybrid neural networks' architecture synthesis | |
Nezhad et al. | Optimized deep networks structure to improve the accuracy of estimator algorithm in deep networks learning. | |
DALIPI et al. | METHOD OF ARTIFICIAL INTELLIGENCE IN IDENTIFICATION OF PLANT DISEASES. | |
Sheikhbahaee et al. | Dream to Explore: Adaptive Simulations for Autonomous Systems |
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 |