CN113222103A - 神经网络的更新方法、分类方法和电子设备 - Google Patents
神经网络的更新方法、分类方法和电子设备 Download PDFInfo
- Publication number
- CN113222103A CN113222103A CN202011350485.9A CN202011350485A CN113222103A CN 113222103 A CN113222103 A CN 113222103A CN 202011350485 A CN202011350485 A CN 202011350485A CN 113222103 A CN113222103 A CN 113222103A
- Authority
- CN
- China
- Prior art keywords
- layer
- neural network
- neuron
- neurons
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 119
- 210000002569 neuron Anatomy 0.000 claims abstract description 136
- 230000004913 activation Effects 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims description 168
- 230000008569 process Effects 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 108091006146 Channels Proteins 0.000 description 188
- 238000004422 calculation algorithm Methods 0.000 description 37
- 230000014509 gene expression Effects 0.000 description 30
- 230000006835 compression Effects 0.000 description 24
- 238000007906 compression Methods 0.000 description 24
- 238000003062 neural network model Methods 0.000 description 22
- 238000003860 storage Methods 0.000 description 18
- 238000009826 distribution Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 9
- 238000007596 consolidation process Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 241000271566 Aves Species 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 3
- 238000010521 absorption reaction Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000269350 Anura Species 0.000 description 1
- 241000287196 Asthenes Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 206010027175 memory impairment Diseases 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及人工智能领域。本公开提供一种神经网络的更新方法、一种分类方法以及一种电子设备。在所述神经网络的更新方法中,所述神经网络包括多层网络层,所述多层网络层中的至少一层包含多个神经元,所述方法包括:获取所述神经网络的输入数据;基于所述输入数据,确定所述神经网络中至少一个神经元的激活状态。
Description
技术领域
本公开涉及人工智能领域中的连续学习场景。更具体地,本公开涉及一种神经网络的更新方法、一种分类方法以及一种电子设备。
背景技术
传统的机器学习是针对固定的任务进行的,也就是说,用于训练神经网络(也可以称为神经网络模型,或者学习模型)的数据集包含具有固定分布的训练数据。当输入新的数据集(即,包含具有与所述固定分布不同的新分布的训练数据的数据集)时,一般需要对神经网络进行重新训练。经过重新训练之后,所述神经网络只能对新的数据集给出响应,而无法对原数据集(即,包含所述固定类别的数据的数据集)给出响应。这个问题被称为机器学习中的“灾难性遗忘(Catastrophic Forgetting)”。事实上,所述“灾难性遗忘”是机器学习所面临的“稳定性-可塑性困境(Stability-Plasticity Dilemma)”的结果,其中,稳定性指的是在学习新知识的同时保持原有知识的能力,而可塑性指的是学习新知识的能力。
连续学习(Continual Learning)是在一个神经网络上针对由多个不同的任务组成的连续序列进行训练。连续学习旨在解决上述“灾难性遗忘”的问题,更具体地,其在基于新的输入数据训练神经网络来适应新任务的同时,也维持所述神经网络在完成历史任务上的表现。连续学习是使一个神经网络适应学习任务的快速变化的关键,因此对于实现人工智能在现实场景中的应用十分关键。如何使神经网络在适应新任务的同时能够更好的维持历史任务上的表现是一个有待优化的问题。
发明内容
鉴于上述问题而提出本公开。本公开提供了一种神经网络的更新方法、分类方法以及电子设备。
根据本公开的一个方面,提供了一种神经网络的更新方法,其中,所述神经网络包括多层网络层,所述多层网络层中的至少一层包含多个神经元,所述方法包括:获取所述神经网络的输入数据;基于所述输入数据,确定所述神经网络中至少一个神经元的激活状态。
根据本公开的一个方面,提供了一种分类方法,该方法包括:获取待分类的数据;使用如上所述的神经网络的更新方法来更新的神经网络,对待分类的数据进行分类,输出分类后数据,其中,更新后的神经网络由激活的各神经元组成。
根据本公开的一个方面,提供了一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;其中,当所述计算机程序指令由所述处理器加载并运行时,所述处理器执行如上所述的神经网络的更新方法和/或如上所述的分类方法。
根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,所述神经网络包括多层网络层,所述多层网络层包含一个输入层、多个隐藏层、以及一个输出层,所述多层网络层中的至少一层包含多条通道,所述方法包括:确定损失函数包括:确定期望项以使得所述神经网络输出真实分类标签的概率最大化;以及确定正则项以使得在当前任务的训练/或更新阶段中被激活的通道的数量最小化,所述正则项是针对所述神经网络中的每一条通道的通道正则项的累加,其中,当所述通道正则项大于或等于阈值时,确定在当前任务的训练/或更新阶段中激活所述通道;当所述通道正则项小于所述阈值时,确定在当前任务的训练/或更新阶段中不激活所述通道。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,第一层隐藏层中的激活通道被配置为:从输入层的所有通道接收用于指示输入层的所有通道的通道变量的信息;基于所述信息、以及针对第一层隐藏层中所述激活通道与输入层的所有通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中保持不变。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,第一层隐藏层中的未激活通道被配置为:从输入层的所有通道接收用于指示输入层的所有通道的通道变量的信息;基于所述信息、以及针对第一层隐藏层中所述未激活通道与输入层的所有通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中被更新。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,第i+1层隐藏层中的激活通道被配置为:从第i层隐藏层的激活通道接收用于指示第i层隐藏层的激活通道的通道变量的信息,基于所述信息、以及针对第i+1层隐藏层的激活通道与第i层隐藏层的激活通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中保持不变,其中,i是大于等于2的整数。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,第i+1层隐藏层中的未激活通道被配置为:从第i层隐藏层的所有通道接收用于指示第i层隐藏层的所有通道的通道变量的信息;基于所述信息、以及针对第i+1层隐藏层的未激活通道与第i层隐藏层的所有通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中被更新,其中,i是大于等于2的整数。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,输出层中用于当前任务的训练/或更新阶段的通道被配置为:从最后一层隐藏层的激活通道接收用于指示最后一层隐藏层的激活通道的通道变量的信息,基于所述信息、以及针对输出层中用于当前任务的训练/或更新阶段的通道与最后一层隐藏层的激活通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中保持不变。
此外,根据本公开的一个方面,提供了一种神经网络的训练/或更新方法,其中,在针对当前任务的训练/或更新阶段中,输出层中的所有通道被配置为:从最后一层隐藏层的所有通道接收用于指示最后一层隐藏层的所有通道的通道变量的信息,基于所述信息、以及针对输出层中的所有通道与最后一层隐藏层的所有通道之间的连接的当前的连接参数,生成更新的连接参数,其中,所述更新的连接参数在后续任务的训练/或更新阶段中被更新。
根据本公开的另一个方面,提供了一种神经网络的训练/或更新装置,其中,所述装置执行如上所述的训练/或更新方法。
根据本公开的另一个方面,提供了一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;其中,当所述计算机程序指令由所述处理器加载并运行时,所述处理器执行如上所述的训练/或更新方法。如以下将详细描述的,根据本公开的神经网络的更新方法和装置、分类方法以及电子设备,能够更好地避免针对新任务的更新对神经网络在完成先前任务上的表现的影响。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或阶段。
图1示出了用于确定通道激活/不激活的操作的流程图;
图2示出了多头学习和单头学习中的输入层到第一层隐藏层的设计;
图3示出了多头学习和单头学习中的两个隐藏层之间的设计;
图4A示出了多头学习场景中的最后一层隐藏层和输出层之间的设计;
图4B示出了单头学习场景中的最后一层隐藏层和输出层之间的设计;
图5是图示根据本公开实施例的电子设备的硬件框图;
图6是图示根据本公开的实施例的计算机可读存储介质的示意图;
图7是示出了最佳分割点的搜索的示意图;
图8A和8B是示出了根据本公开的实施例的扩展网络容量的示意图;
图9是示出了根据本公开的实施例的训练过程的示意图;
图10是示出了根据本公开的实施例的训练过程中的网络状态的示意图;
图11是示出根据本公开的实施例的一种神经网络更新方法的流程图;以及
图12是示出根据本公开的实施例的一种信息瓶颈的流程图。
具体实施例
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
深度学习的缺点是它不能像人脑那样不断地学习新的信息。当针对新任务更新(也可以称为训练)神经网络时,已经学到的信息有可能会被神经网络遗忘,例如,假设神经网络可以对10个不同的数据类别进行分类处理,如果要使得该神经网络能够对11个不同的数据类别进行分类,也就是说添加一个新的类别,则该神经网络需要在包含第11类的数据集上进行更新,来自前10个类别的数据很少(甚至没有)。更新阶段结束后,神经网络有可能会遗忘前10个类别的表现,并且随着越来越多的类别,神经网络可能会完全遗忘较早更新的类别。
连续学习(Continual Learning)是在一个神经网络上针对由多个不同的任务组成的连续序列进行训练。连续学习旨在解决上述“灾难性遗忘”的问题,这种技术在实际应用中需求量很大。例如,在一个图像相关应用中,可以为用户提供图像分类的功能,除了预定义的类别,还可以允许用户自定义类别。因此需要使用用户选择的一些图像以及存储的较少量的图像对神经网络进行更新。
连续学习包括单头学习(Single-Headed Learning)和多头学习(Multi-HeadedLearning)。其中,(i)对于单头学习而言,所有任务均使用一个输出层结构,例如,类别增量学习(Class-Incremental Learning,Class-IL)属于单头学习;以及(ii)对于多头学习而言,每一个任务都有独立的输出层,例如,任务增量学习(Task-Incremental Learning,Task-IL)属于多头学习。
针对连续学习中的“灾难性遗忘”问题,有如下两种主要的解决方法:
第一种方法是权重正则方法(Regularization-based Method)。对于已针对先前任务进行训练并达到较好训练效果的神经网络,权重正则方法将估计所述神经网络中的每个参数对于先前任务的重要性,并基于所述重要性来针对每个参数生成权重正则项,并将所述权重正则项添加到损失函数中。在针对新任务进行训练时,使用权重正则方法的神经网络将允许相对不重要的参数有较大的变化来学习新任务,并将保持相对重要的参数的变化程度尽量较小。
第二种方法是表达正则方法(Replay-based Method)。这一类方法使用一个较小的存储空间用于存储属于先前任务的输入数据样本,并在针对新任务进行学习的同时,在所述输入数据样本上进行训练。在针对新任务进行训练时,使用表达正则方法的神经网络将保持针对所述输入数据样本所提取的特征与没有针对新任务进行训练时有尽量相似的特征表达,从而促进针对新任务进行训练之后的模型在完成先前任务的表现上尽量靠近针对新任务进行训练先前的表现。
通过使用上述两种方法,连续学习中“灾难性遗忘”的问题可以被缓解,但“表达漂移”的问题仍未被解决。具体而言,对于针对新任务训练神经网络而言,根据先前任务的输入数据分布得到的模型参数会随着新任务的加入而不断地发生漂移且最终将会被完全遗忘,因此所述神经网络在完成先前任务上的表现会受到影响。
对于使用权重正则方法的学习模型而言,1)虽然会保持相对重要的参数的变化程度尽量较小,但是仍然存在微小的变化;2)此外对于每个权重,需要在存储重要的系数和参数,因此需要较大的存储空间;3)如果有太多的新任务,就需要扩展网络容量,神经网络不能自适应地扩展网络容量,如果每当有新任务的时候就自动扩展网络容量,那么也会存在神经网络无法得到充分利用的问题。
对于使用表达正则方法的神经网络而言,1)虽然会保持针对新任务进行训练之后的模型在完成先前任务的表现上尽量靠近针对新任务进行训练先前的表现,但是也无法做到表现完全相同;2)如果有太多的新任务,就需要扩展网络容量,神经网络不能自适应地扩展网络容量,如果每当有新任务的时候就自动扩展网络容量,那么也会存在神经网络无法得到充分利用的问题。
因此,无法较好地解决“表达漂移”的问题是连续学习的局限性之一。此外,如何减小神经网络的存储空间以及如何自适应的扩展神经网络的容量也是持续学习需要优化的方面。网络的大小将随着新任务的数量线性增长。
本申请实施例提供的方案涉及人工智能领域中的神经网络更新,其中该更新后的神经网络可以用于分类、分割、检测等,具体通过如下实施例进行说明。需要说明的是,如下实施例虽然是在图像识别场景中的分类任务的场景下进行描述,但是本发明的应用场景并不限于此,也可以应用于例如语音识别、分割(例如,语义分割)、检测(例如,物体检测)等任何适当的场景。并且,本发明的神经网络的输入数据包括下述至少一项:图像(例如手写图像或人物图像等),音频/语音,文本。
本申请实施例中,神经网络可以称为神经网络模型,也可以学习模型;更新也可以称为训练(如更新神经网络也可以称为训练神经网络);神经网络中的神经元也可以称为通道。
本申请的实施例与现有技术关键区别包括以下至少一方面:
·初始的神经网络以稀疏鼓励方式进行训练,这意味着该网络不仅需要对任务实现良好的性能,而且还被鼓励使用尽可能少的神经元。因此,将网络容量的最小部分用于当前任务,而将其余的网络容量保留用于将来的任务;
·固定网络的激活部分,这对于旧任务是必不可少的,可以避免表达漂移问题,这意味着无论并入了多少个新任务,激活的神经元上的表达都不会漂移;
·(可能地)重新激活网络的非激活部分,网络可以学习对新任务有用的新信息;
·如果某个层达到其容量上限(也可以称为能力上限),可以扩展该层,以增加网络容量。
并且,本申请的实施例至少可以实现以下至少一个优点:
·不存在表达漂移的问题;
·几乎不需要额外的存储空间即可保存整个模型(神经网络);
·如有必要,网络可以自适应增长(优化模型大小);
·即使需要扩展网络,网络大小也不会相对于新任务数量呈线性增长;
·能够更好地充分利用网络容量。
作为示例,如图11所示,为本申请实施例提出的一种神经网络更新方法流程示意图,根据输入数据以稀疏鼓励方式训练初始的神经网络,确定出神经网络的激活部分和未激活部分(即每个神经元的激活状态,激活状态包括激活和未激活);当有新的分类或新的任务时,需要持续的更新神经网络,此时可以根据输入数据训练神经网络,更新神经网络的激活部分和未激活部分(即更新每个神经元的激活状态),在训练神经网络时,可以固定网络的激活部分,以避免表达漂移问题,也可以重新激活网络的非激活部分(如前次训练结果中确定为非激活的神经元被重新激活,可以对其进行训练)。网络可以学习对新任务有用的新信息;当某个层达到其容量上限(也可以称为能力上限)时,还可以自适应的扩展该层,以增加网络容量。
本申请实施例能够更好地避免针对新任务的更新对神经网络在完成先前任务上的表现的影响。当新任务的输入数据分布与先前任务的输入数据分布有较大不同时,“表达漂移”的问题会更加凸显,因此,本申请实施例提出的技术方案会特别地有利。
I.传统的神经网络模型
第一实施例是关于鼓励稀疏性的神经网络模型。
假设以x表示神经网络模型的输入图像样本(本示例以图像样本作为输入数据进行举例说明,但是本申请实施例的方案并不限于此),以y表示所述输入图像样本x输出的真实图像分类。
其中,hl表示所述神经网络模型第l层隐藏层的隐变量(Hidden Variable),其中,l=1,2,…,L,L是所述神经网络模型的隐藏层的总层数,hL表示最后一层隐藏层的隐变量;y表示所述输入图像样本x输出的真实图像分类;I(hL,y)表示hL与y两个变量之间的互信息,所述互信息值越大则表示hL与y两个变量互相包含的信息越多,所述互信息越小则表示hL与y两个变量互相包含的信息越少。
(1)使I(hL,y)项尽量大,也就是说,网络的最后一层隐藏层的隐变量hL与输入图像数据的真实分类标签y之间的互信息I(hL,y)尽量大,从而使所述神经网络输出真实分类标签y的概率尽可能高,所述神经网络的分类精度尽量高。
II.(a)改进的鼓励稀疏性的网络模型
第二实施例是关于改进的鼓励稀疏性的网络模型。
其中,I(hL,y)是期望项,hl表示所述神经网络模型第l层隐藏层的隐变量,其中,l=1,2,…,L,L是所述神经网络模型的隐藏层的总层数,hL表示最后一层隐藏层的隐变量;y表示所述输入图像样本x输出的真实图像分类,所述期望项表示hL与y两个变量之间的互信息,所述互信息值越大则表示hL与y两个变量互相包含的信息越多,所述互信息越小则表示hL与y两个变量互相包含的信息越少;
其中,I(hl,hl-1)是用于鼓励稀疏性的正则项,所述用于鼓励稀疏性的正则项表示第l层隐藏层的隐变量hl与第l-1层隐藏层的隐变量hl-1之间的互信息,所述互信息值越大则表示第l层隐藏层的隐变量hl与第l-1层隐藏层的隐变量hl-1互相包含的信息越多,所述互信息越小则表示第l层隐藏层的隐变量hl与第l-1层隐藏层的隐变量hl-1互相包含的信息越少;γ是一个可以调节的超参,可以对鼓励稀疏性的正则项和损失函数之间的平衡进行控制。
(1)使I(hL,y)项尽量大,也就是说,网络的最后一层隐藏层的隐变量hL与输入图像数据的真实分类标签y之间的互信息I(hL,y)尽量大,从而使所述神经网络输出真实分类标签y的概率尽可能高,所述神经网络的分类精度尽量高;
(2)使用于鼓励稀疏性的正则项项尽量小,也就是说,使网络的第l层隐藏层的隐变量hl与第l-1层隐藏层的隐变量hl-1互相包含的信息尽量少,从而所述神经网络模型的每一层隐藏层都尽量少地从前一层提取信息,可以理解为只提取最有用的信息。
其中,第一项是期望项,q(y|hL)表示对于给定的最后一个隐藏层的隐变量hL,所述神经网络模型输出真实分类标签y的概率,所述期望项旨在使神经网络输出真实分类标签y的概率尽可能高,从而提高网络的分类精度。具体地,期望项的下标pgt表示训练集,{x,y}~pgt表示{x,y}从训练集pgt中随机取样;期望项的下标p(h|x)表示在给定输入图像样本x之后所有隐藏层的隐变量分布,所述隐变量分布可以进一步被分解为p(h1|x)p(h2|h1)…p(hl|hl-1),期望项的下标h~p(h|x)表示h从所述隐变量分布中随机取样,其中,所述隐变量分布中的每一项都表示一个隐藏层的前一层被给定之后,所述隐藏层的隐变量应服从的分布,所述隐变量分布中的每一项由对应的隐藏层分别进行配置,例如,p(h1|x)表示给定输入图像样本x之后第一层隐藏层的隐变量h1应服从的分布,p(h2|h1)表示给定第一层隐藏层h1之后第二隐藏层的隐变量h2应服从的分布,其他项以此类推。在实际操作过程中,如果有N个样本,K个分类,记第n个样本的独热编码为y(n),而其第k个元素则为其中是0或者1。而经过网络输出的结果记为那么该第一项可以进一步被写成
其中,第二项是用于鼓励稀疏性的正则项,所述鼓励稀疏性的正则项中的每一个求和项,即,对应的是第l层隐藏层的第c个通道中编码的关于前一层的信息,L是所述神经网络模型的隐藏层的总层数,Cl表示第l层隐藏层的通道数,第l层隐藏层的第c个通道的信息瓶颈(Information bottleneck)为也就是说,和为第l层隐藏层的第c个通道的Information bottleneck的参数,是可训的参数,和使用反向传播进行优化,通过反向传播,所有可训练的参数(包括权重连接,μ,σ)可以接收损失函数的梯度,这些参数都将被优化到最佳值。如本领域技术人员所理解的,和同样可以表示第l层隐藏层的第c个通道的Informationbottleneck的参数,与和具有相同的含义。
是第l层隐藏层的第c个通道的Information bottleneck对应的信息量,由可知,对神经网络进行训练时的损失函数包括:隐藏层中各神经元的信息瓶颈对应的信息量的累加。在本申请实施例中,一个通道也可以称作一个神经元,即,互换地使用术语“通道”和“神经元”。如果等于0,则说明该通道没有编码关于前一层的任何信息,该通道对于当前任务的训练阶段无用,则无需在当前任务中激活该通道,可以留待后续任务使用;如果较大,那么该通道编码了较多关于前一层的信息,该通道有助于针对当前任务的训练阶段,因此需要在当前任务的训练阶段中被激活。例如,对神经网络进行训练时的损失函数包括:隐藏层中各神经元的信息瓶颈对应的信息量的累加。
其中,第l层隐藏层的隐变量hl是维度为Hl×Wl×Cl的张量,其中,Hl表示第l层隐藏层的高度,Wl表示第l层隐藏层的宽度,Cl表示第l层隐藏层的通道数,因此,的上标i,j,c分别来表示第l层隐藏层的隐变量hl的所述三个维度。
其中,表示一个高斯分布,fl i,j,c(·)是一个可学的函数,所述函数fl i,j,c(·)接收第l-1层隐藏层的隐变量hl-1并给出一个固定的标量(Scalar)。通常来说,所述函数fl i,j,c(·)由每一层神经网络层分别地进行配置。
在优化和的过程中,fl i,j,c(·)中的参数与会一起被优化。因此经过优化操作之后,不仅可以得到优化的fl i,j,c(·),而且也可以通过将与阈值进行比较,自动地学习到第l层隐藏层的第c条通道是否参与了、以及在多大程度上参与了针对前一层信息的编码。
(1)使期望项项尽量大,也就是说,网络的最后一层隐藏层的隐变量hL与输入图像数据的真实分类标签y之间的互信息I(hL,y)尽量大,从而使所述神经网络输出真实分类标签y的概率尽可能高,所述神经网络的分类精度尽量高;
(2)使用于鼓励稀疏性的正则项项尽量小,使得第l层隐藏层的第c条通道的通道正则项尽可能接近0,也就是说,将有尽可能多的通道在当前任务的训练阶段中完全不参与前一层信息的编码,从而使得在当前任务的训练阶段中被激活的通道尽可能少,有尽可能多的通道可以留待后续任务的训练阶段使用。
所述鼓励稀疏性的正则项是针对所述神经网络模型中的每一条通道的通道正则项的累加,通过判断每一条通道的通道正则项,可以确定在当前任务的训练阶段中是否激活所述通道。在本实施例中,通过正则项可以确定信息瓶颈对应的信息量。例如,信息瓶颈对应的信息量为:神经元编码的关于前一网络层的信息量。
如图12所示,为第1层隐藏层的第1个神经元的信息瓶颈示意图,和为的信息瓶颈的参数,ε为随机扰动,信息瓶颈的输出可以为从理论上讲,如果那么相应的神经元编码了较多信息,该神经元可以被激活,μ和σ表示对应的神经元编码了多少信息。μ和σ定义了一个均值等于h*μ,方差等于h*σ的高斯分布,μ可以看作是一种信号,而σ可以看作是一种噪声,如果信号占主导地位,神经元就编码有用的信息,此时可以激活该神经元,如果噪声占主导地位,神经元就会编码无用的信息,此时可以不激活该神经元。
图1示出了用于确定通道激活/不激活的操作的流程图,其中,以第l层隐藏层通道的第c通道为例进行说明。在本发明中,一个通道也可以称作一个神经元,即,互换地使用术语“通道”和“神经元”。
在实际操作中,如果通道正则项等于0,则说明该通道没有编码关于前一层的任何信息,在针对当前任务的训练阶段无需被激活。所述通道正则项可能无法在数学上等于0,而且非常少量地参与前一层信息编码的通道对于当前任务的训练阶段也是无关紧要的。因此,在实际操作中,我们可以在当前任务的训练阶段中选择激活的通道,而认为的通道编码的信息过少因此在当前任务的训练阶段中对其不予激活,并留待后续任务的训练阶段使用。需要注意的是,选择是否激活通道的条件可以是任意阈值,此处,只是将的阈值定义为1仅是示例性的。
使用上述改进的鼓励稀疏性的网络模型,可以使得网络使用最少的激活神经元来达到同样的分类精度。而在学习后续的任务中,一方面可以通过固定已经激活的神经元,使得这些神经元的表达不再发生变化,从而解决“表达漂移”问题;另一方面也可以通过重新激活在此前任务中尚未激活的神经元来学习新任务额外的特征,从而在新任务上也达到较好的精度。如果在某个训练阶段结束时发现某些层的神经元已经全部被激活,使得没有额外的神经元可以参与学习潜在的新特征,那么我们可以对该层网络进行扩展,增加一些额外的未激活的神经元。
所述改进的鼓励稀疏性的网络模型将分为单头学习和多头学习两种场景进行讨论。在这两种情形下,一个完整的训练过程如图9所示。首先我们得到了第一批次的数据,然后使用该批次的数据训练稀疏网络,训练过程中的网络状态如图10中的(a)所示,每个通道对应一个信息瓶颈,信息瓶颈参与训练并在训练结束后根据其参数决定是否激活,一个典型的训练完成状态如图10中的(b)所示。在实施例中,针对至少一个隐藏层中未激活的神经元,将对应的信息瓶颈设置为预设值,例如,对于信息瓶颈的(μ,σ),将对应的信息瓶颈设置为预设值可以为将μ设置为1,将σ设置为0。基于输入的第一批次的数据,对神经网络进行训练;根据未激活的神经元的训练后的信息瓶颈,确定所述未激活的神经元的激活状态,激活的通道,不激活的通道。在获取新的数据之后,需要在该部分数据上重新进行训练,此时的训练阶段如图10中的(c)所示:已经激活的通道仍然保持激活,不再改变,而此前未激活的通道则会重新参与训练,并在训练完成后再次决定是否被激活。例如,若未激活的神经元的训练后的信息瓶颈对应的信息量大于预设阈值,则确定未激活的神经元的激活状态为激活;若未激活的神经元的训练后的信息瓶颈对应的信息量不大于预设阈值,则确定未激活的神经元的激活状态为不激活。一个典型的训练完成状态如图10中的(d)所示。此阶段训练完成后,如有必要,可以选择对网络的部分层进行扩展以开辟新的空间。如此循环,可以不断学习新的特征而不遗忘旧的特征。本发明的实施例中,网络使用信息瓶颈来训练网络,以便训练后网络变得稀疏。
在本发明的算法中,在训练过程中存在信息瓶颈。信息瓶颈具有随机变量∈,它会引入随机噪声。在训练期间添加随机噪声,随机扰动可以视为一种数据增强,以缓解过度拟合的问题。
相反,例如,在现有技术的自适应网络中,没有涉及信息瓶颈。因此,它遭受过度拟合问题的困扰更大,从而会导致性能相对较差。
II.(b)鼓励稀疏性的网络模型的扩展
在本发明中,一个通道也可以称作一个神经元,即,互换地使用术语“通道”和“神经元”。在本实施例中,可以基于所述神经网络中隐藏层的神经元的激活状态,确定是否在隐藏层中增加神经元。在有些情形下,某一层的所有神经元都被激活,此时就没有额外的未激活神经元能够编码后续任务潜在的新信息,如图8A所示的第二层网络层。当遇到这种情况时,可以在该层加入额外的新的神经元来扩展其容量上限。例如,当神经网络中隐藏层的神经元全部为激活状态时,针对该隐藏层增加设定数量的未激活的神经元。如图8B所示,对第二层网络层增加2个神经元,其中上述预设数量可以为固定值,也可以为可变的数量。
II.(c)改进的鼓励稀疏性的网络模型的应用
II.(c.1)改进的鼓励稀疏性的网络模型在多头学习中的应用
在多头学习的场景中,我们分三种情况讨上述改进的鼓励稀疏性的网络模型如何解决所述“表达漂移”问题。
首先,输入层到第一层隐藏层的设计如图2所示。
假设在针对当前任务的训练阶段中,第一层隐藏层中的前两个通道为激活通道,而后两个通道为未激活的通道。
-对于第一层隐藏层中所述激活通道而言,其被配置为从输入层的所有通道接收用于指示输入层的所有通道的通道变量的信息。基于所述信息、以及针对第一层隐藏层中所述激活通道与输入层的所有通道之间的连接的当前连接参数,生成更新的连接参数,以完成当前任务的训练阶段。并且,在后续任务的训练阶段中,所述更新的连接参数保持不变;在本发明的实施例中,第一层隐藏层中激活的神经元与上一网络层的各神经元之间的连接在训练过程保持不变;
-对于第一层隐藏层中所述未激活通道而言,其被配置为从输入层的所有通道接收用于指示输入层的所有通道的通道变量的信息。基于所述信息、以及针对第一层隐藏层中所述未激活通道与输入层的所有通道之间的连接的当前连接参数,生成更新的连接参数。并且,在后续任务的训练阶段中,所述更新的连接参数被初始化,以便在后续任务的训练阶段中继续被更新;在本发明的实施例中,第一层隐藏层中未激活的神经元与上一网络层的各神经元之间的连接在训练过程中是可训的。
为了便于理解,在图2中,在后续训练阶段中保持不变的通道参数以实线示出;在后续训练阶段中将被初始化的通道参数以虚线示出。
进一步地,两个隐藏层之间的设计如图3所示。
假设在针对当前任务的训练阶段中,第i隐藏层中的前两个通道为激活通道,而后两个通道为未激活的通道;第i+1隐藏层中的前两个通道为激活通道,而后两个通道为未激活的通道。
-对于第i+1层隐藏层的所述激活通道而言,其被配置为从第i层隐藏层的激活通道接收用于指示第i层隐藏层的激活通道的通道变量的信息。基于所述信息、以及针对第i+1层隐藏层的激活通道与第i层隐藏层的激活通道之间的连接的当前连接参数,生成更新的连接参数,以完成当前任务的训练阶段。在后续任务的训练阶段中,所述更新的连接参数保持不变。并且,针对第i+1层隐藏层的激活通道与第i层隐藏层的未激活通道之间的连接的连接参数被设置为0,并在后续任务的训练阶段中固定为0;在本发明的实施例中,除第一层外的其他隐藏层中激活的神经元与上一网络层中激活的神经元之间的连接在训练过程保持不变;除第一层外的其他隐藏层中激活的神经元与上一网络层中未激活的神经元之间的连接为0并且在训练过程保持不变;
-对于第i+1层隐藏层的所述未激活通道而言,其被配置为从第i层隐藏层的所有通道接收用于指示第i层隐藏层的所有通道的通道变量的信息。基于所述信息、以及针对第i+1层隐藏层的未激活通道与第i层隐藏层的所有通道之间的连接的当前连接参数,生成更新的连接参数。并且,在后续任务的训练阶段中,所述连接参数将被初始化,以便在所述后续任务的训练阶段中继续被更新。在本发明的实施例中,除第一层外的其他隐藏层中未激活的神经元与上一网络层的各神经元之间的连接在训练过程中是可训的。
为了便于理解,在图3中,所述在后续训练阶段中保持不变的通道参数以实线示出;所述在后续训练阶段中将被初始化的通道参数以虚线示出。
进一步地,第L层隐藏层与输出层之间的设计如图4A所示,其中,假设L是所述神经网络模型的隐藏层的总层数,也就是说,第L层隐藏层是最后一层隐藏层。在多头学习中,每一个任务都对应于特定的输出层通道,在图4A中以方框的方式圈出了用于当前任务的训练阶段的输出层通道。
-对于输出层中用于当前任务的训练阶段的通道而言,其被配置为从第L层隐藏层的激活通道接收用于指示第L层隐藏层的激活通道的通道变量的信息。基于所述信息、以及针对输出层中用于当前任务的通道与第L层隐藏层的激活通道之间的连接的当前连接参数,生成更新的连接参数,以完成当前任务的训练阶段。在后续任务的训练阶段中,所述更新的连接参数保持不变。并且,针对输出层中用于当前任务的通道与第L层隐藏层的未激活通道之间的连接的连接参数被设置为0,并在后续任务的训练阶段中固定为0。在本发明的实施例中,若所述输出层为多头输出层,则输出层中激活的神经元和上一网络层中激活的神经元之间的连接在训练过程中保持不变;输出层中激活的神经元和上一网络层中未激活的神经元之间的连接为0并且在训练过程保持不变;输出层中未激活的神经元和上一网络层的各神经元之间的连接在训练过程中是可训的。
为了便于理解,在图4A中,所述在后续训练阶段中保持不变的参数以实线示出;所述在后续训练阶段中将被初始化的通道参数以虚线示出。
需要说明的是,在以上说明中网络层中哪些为激活通道仅为示例性的,而并非限制性的。
II.(c.2)改进的鼓励稀疏性的网络模型在单头学习中的应用
在单头学习的场景中,我们分三种情况讨上述改进的鼓励稀疏性的网络模型如何解决所述“表达漂移”问题。
首先,输入层到第一层隐藏层的设计与如图2所示的在单头学习的场景中的设计相同,在此不再赘述。
进一步地,两个隐藏层之间的设计与如图3所示的在单头学习的场景中的设计相同,在此不再赘述。
进一步地,第L层隐藏层与输出层之间的设计如图4B所示。假设L是所述神经网络模型的隐藏层的总层数,也就是说,第L层隐藏层是最后一层隐藏层。在单头学习中,所有任务都使用相同的输出层结构,即,使用输出层的所有通道。
-对于输出层中所有通道而言,其被配置为从第L层隐藏层的所有通道接收用于指示第L层隐藏层的所有通道的通道变量的信息。基于所述信息、以及针对输出层中所有通道与第L层隐藏层的所有通道之间的连接,生成更新的连接参数。在后续任务的训练阶段中,所述更新的连接参数将被初始化,以便在所述后续任务的训练阶段中继续被更新。在本发明的实施例中,若输出层为单头输出层,则输出层的各神经元和上一层的各神经元之间的连接在训练过程中是可训的。
如本领域的技术人员将理解的,在本发明中使用的术语“可训的”是指连接参数在训练过程中可以被更新。
在单头学习中,虽然输出层的通道的通道变量可能随任务改变而变化,但是对于某一个任务而言,第L层隐藏层的激活通道的通道变量是不变的。正因为如此,在单头学习中,测试阶段并不直接使用输出层,而是使用第L层隐藏层。具体来说,在任务的训练完成之后,我们计算并存储每个分类在第L层隐藏层的特征中心。在任务的测试阶段,我们计算测试输入测试样本在第L层隐藏层的特征值,并计算该特征值与每类对应特征中心的距离,选取与所述特征中心距离最近的类作为预测分类输出。在单头任务中,在输出层后可能会有一个计算概率的softmax层,因此输出层的神经元之间相互作用,即使连接被固定,那么输出的表示也会有所不同。
需要说明的是,在以上说明中网络层中哪些为激活通道仅为示例性的,而并非限制性的。
II.(d)改进的鼓励稀疏性的网络模型对分类精度的提升效果
在单头学习和多头学习中,所述改进的鼓励稀疏性的网络模型相较现有算法取得了更高的分类精度。
以下,通过与现有算法的比较,说明所述改进的鼓励稀疏性的网络模型对分类精度的提升效果。
首先,对下述几种现有算法进行简单介绍。
(1)无遗忘学习(LwF)模型:该算法主要是针对多头学习;
(2)弹性权重巩固(EWC)模型:该算法可以针对多头输出和单头输出;
(3)吸收与压缩(P&C)模型:该算法主要针对多头输出;
(4)可增长网络(Adaptive Network)模型:该算法主要针对多头输出;
(5)增量分类器表达学习(iCaRL)模型:该算法主要针对单头输出;
(6)支持网络(SupportNet)模型:该算法主要针对单头输出。
II.(d.1)多头学习场景
为了示出所述改进的鼓励稀疏性的网络模型在多头学习场景中的分类精度优势,以下将使用公开数据集,将其在与无遗忘学习模型、弹性权重巩固模型、以及吸收与压缩模型进行对比。
表1-1示出了在公开数据集OMNIGLOT上,本发明提出的算法、无遗忘学习模型、弹性权重巩固模型、以及吸收与压缩模型对于OMNIGLOT中所有50个字符的平均分类精度的比较:
表1-1
可见,在多头学习场景中,所述改进的鼓励稀疏性的网络模型相较于现有算法能够提供更高的分类精度。
具体而言,OMNIGLOT数据集包含了50个不同的字符表,每个字符表都含有数量为20到50个不等的字符,每个字符都含有由多个人完成的多张手写图片。
首先,所述改进的鼓励稀疏性的网络模型获取第一个字符表的所有数据,将所述第一个字符表作为输入图像样本进行训练。在第一训练阶段完成之后,我们不仅得到一个能够在所述第一字符表上进行分类的模型,而且所述模型的每一层隐藏层均只有部分通道被激活,其他未激活的通道留待后续字符表的训练使用。在第一字符表的训练中的激活通道的通道参数在后续训练中保持不变。
然后,所述改进的鼓励稀疏性的网络模型获取第二个字符表的所有数据,将所述第二个字符表作为输入图像样本进行训练。在第二训练阶段完成之后,我们的模型能够很好地在第二个字符表上进行分类,同时在第一个字符表上的分类精度也并没有被改变。考虑到第二个字符表的分类任务需要模型学习一些新特征,因此,相较于仅完成针对第一字符表的训练时,模型每一层隐藏层中的激活通道的数量将有所增加。
重复这样的过程,最终能够得到一个训练完成的模型,该模型在所有50个字符表上都有相对较高的分类精度。
所述改进的鼓励稀疏性的网络模型使得在后续字符表的模型训练过程中,该模型维持其在先前训练过的字符表上的分类精度,从而相较于现有算法能够提供更高的分类精度。
另外,除本发明与可增长网络之外的其它算法都没有可以自动增加网络节点的机制。对比本发明和可增长网络,本发明只需要在25%的情形下增加网络节点,而可增长网络则在所有情形下都需要增加网络节点,因此本发明可以用更少的神经元获得更高的分类精度。
表1-2示出了在公开数据集split-MNIST上,本发明提出的算法、弹性权重巩固模型、激活正则模型、可增长网络对于split-MNIST中所有5个任务的平均分类精度的比较:
表1-2
需要指出的是,本发明提出的算法相比于可增长网络有更好的效果,这主要是因为本发明引入的信息瓶颈事实上起到了一种类似于随机失活的正则化作用,从而提高了模型的泛化能力。
II.(d.2)单头学习场景
为了示出所述改进的鼓励稀疏性的网络模型在单头学习场景中的分类精度优势,以下将使用公开数据集,将其在与弹性权重巩固模型、增量分类器表达学习模型、以及支持网络模型进行比较。
表2示出了在公开数据集MNIST上,本发明提出的算法、弹性权重巩固模型、增量分类器表达学习模型、以及支持网络模型对于完成所有任务训练之后得到的最终分类精度的比较(在该测试中,各算法都使用同样大的存储空间大小,即,可以存储共计200张图片的存储空间):
表2
对于手写数字的识别应用而言,95%的分类精度是一个好的手写数字识别算法应该达到的精度要求。比较本发明提出的算法和现有算法,只有本发明提出的算法达到了所述95%的分类精度,而其它算法的分类精度都距离该要求尚有一定的距离。
具体而言,MNIST数据集包含由多人完成的手写数字图片,每一张图片都是黑白的,对应从0到9中的一个数字。我们把这些数字分为5个不同批次,即,0和1为第一批次,2和3为第二批次,以此类推。
首先,所述改进的鼓励稀疏性的网络模型获取获取第一批次的所有数据,即,所有对应0和1的图片,将所述第一批次作为输入图像样本进行训练。在训练完成之后,对于任何一张测试图片,所述模型都可以判断其为0、还是1。而且,所述模型的每一层隐藏层均只有部分通道被激活,其他未激活的通道留待后续批次的训练使用。在第一批次的训练完成后,随机选择第一批次中的一部分0和1的图片样本存储在所述存储空间中。
然后,所述改进的鼓励稀疏性的网络模型获取获取第二批次的所有数据,即,所有对应2和3的图片,将所述第二批次、以及所述存储空间中的之前存储的第一批次中的一部分0和1的图片样本一起作为输入图像样本进行训练,目标是使所述模型能够对0、1、2和3这四类图片进行分类。在本轮训练完成后,相较于仅完成针对第一批次的训练时,模型每一层隐藏层中的激活通道数量将有所增加。
然后,随机清空所述存储空间中所存储的一些0和1的图片样本,旨在腾出存储空间来存储第二批次中的一部分2和3的图片样本。重复这样的过程,最终能够得到一个训练完成的模型,该模型能够对对应于从0到9的图片进行分类。
所述改进的鼓励稀疏性的网络模型使得在后续批次的模型训练过程中,该模型维持其在先前训练过的批次上的分类精度,从而相较于现有算法能够提供更高的分类精度。
进一步地,表3-1示出了在公开数据集Cifar10上,本发明提出的算法、弹性权重巩固模型、增量分类器表达学习模型、以及支持网络模型对于完成所有任务训练之后得到的最终分类精度的比较:
表3-1
具体而言,Cifar10的训练集包含50000张彩色图片,测试集包括10000张彩色图片,其包括卡车、青蛙等10种不同的类别,每种类别的图片数量是相同的。同样地,我们将这10类分为5个批次(Batch),即前两类为第一批次,第三第四类为第二批次,以此类推。将所比较的几个模型依次在5个批次上进行分类任务的训练(在该测试中,各算法也都使用同样大的存储空间大小,即,可以存储共计200张图片的存储空间)。
首先,所述改进的鼓励稀疏性的网络模型获取第一批次的所有数据,即,所有对应前两类(飞机和汽车)的图片,将所述第一批次作为输入图像样本进行训练。在训练完成之后,对于任何一张测试图片,所述模型都可以判断其为飞机、还是汽车。而且,所述模型的每一层隐藏层均只有部分通道被激活,其他未激活的通道留待后续批次的训练使用。在第一批次的训练完成后,随机选择第一批次中的一部分飞机和汽车的图片样本存储在所述存储空间中。
然后,所述改进的鼓励稀疏性的网络模型获取第二批次的所有数据,即,所有对应第三和第四类的图片(鸟和猫),将所述第二批次、以及所述存储空间中的之前存储的第一批次中的一部分飞机和汽车的图片样本一起作为输入图像样本进行训练,目标是使所述模型能够对飞机、汽车、鸟和猫这四类图片进行分类。在本轮训练完成后,相较于仅完成针对第一批次的训练时,模型每一层隐藏层中的激活通道数量将有所增加。
然后,随机清空所述存储空间中所存储的一些飞机和汽车的图片样本,旨在腾出存储空间来存储第二批次中的一部分鸟和猫的图片样本。重复这样的过程,最终能够得到一个训练完成的模型,该模型能够对对应于所有十类图片进行分类。
所述改进的鼓励稀疏性的网络模型使得在后续批次的模型训练过程中,该模型维持其在先前训练过的批次上的分类精度,从而相较于现有算法能够提供更高的分类精度。
对于该任务而言,本发明提出的算法能够达到超过70%的精度,较现有算法而言,分类精度得到了较大幅度的提升。
另外,表3-2给出了在公开数据集Cifar100上,本发明提出的算法、弹性权重巩固模型、增量分类器表达学习模型、以及支持网络模型对于完成所有任务训练之后得到的最终分类精度的比较:
表3-2
具体而言,Cifar100的训练集包含50000张彩色图片,测试集包括10000张彩色图片,其包括100种不同的类别,每种类别的图片数量是相同的。在该实验中,我们将这100类分为10个批次(Batch),即前十类为第一批次,第十一到第二十类为第二批次,以此类推。将所比较的几个模型依次在十个批次上进行分类任务的训练(在该测试中,各算法也都使用同样大的存储空间大小,即,可以存储共计200张图片的存储空间)。
III.(a)改进的鼓励稀疏性的网络模型
为了更精准地控制稀疏比例,在第三实施例中,提出另一种关于改进的鼓励稀疏性的网络模型。
如图7所示,将所有的进行从小到大排序,然后从左向右搜索最佳分割点。所述最佳分割点是根据目标压缩比例确定的,即,为了使压缩比例等于理想压缩比例,最佳分割点左侧的神经元/特征图网络应该被删除。假设使用理想掩值表示某个神经元/特征图通道是否应该被删除以满足理想压缩比例。具体而言,当当前小于所述与最佳分割点相对应的阈值时,则将理想掩值设为0,以表示该神经元/特征图通道在该最佳分割点的左侧,因此应该被删除以满足理想压缩比例;当当前大于所述与最佳分割点相对应的阈值时,则将理想掩值设为1,以表示该神经元/特征图通道在该最佳分割点的右侧,因此不应该被删除。
此外,假设使用实际掩值表示某个神经元/特征图通道是否实际上已经被删除。具体而言,当当前小于预设的剪枝(Pruning)阈值(例如,剪枝阈值取值为1),则将实际掩值设为0,以表示该神经元/特征图通道实际上已经被删除;当当前大于预设的剪枝阈值,则将实际掩值设为1,以表示该神经元/特征图通道实际上未被删除。
当且时:将对应超参调小以弱化损失函数中对应的通道正则项。实际操作中,例如,我们可以通过将对应超参重置为初始化值(例如,1×10-10)。进一步地,为了加速该神经元/特征图通道重新参与到训练中的进程,将重置为初始值,例如,0.01。
进一步地,为了保证调整速度,我们给每一个设定取值范围,例如,上下限分别为1×10-3和1×10-10。也就是说,当乘以1.1之后大于1×10-3时,我们将重置为1×10-3;当乘以0.9之后小于1×10-10时,应该被重置为1×10-10。所述改进的鼓励稀疏性的网络模型使得训练得到的结果可以更好的满足预设的稀疏比例。
III.(b)改进的鼓励稀疏性的网络模型在达到预设稀疏比例方面的表现
以下,以Cifar10数据集为例阐述压缩比例可控的稀疏网络的效果。Cifar10数据集是一个包含50000张训练图片和10000张测试图片,每张图片都是边长为32像素的彩色图片,这些图片来自10个类。基本的网络模型选择为VGG16,该网络模型有16层,其中包含13个卷积层和3个全连接层。对于Cifar10的分类,该模型有很多冗余可以被压缩。
首先,在VGG16上训练Cifar10的分类任务。然后分别用传统的信息瓶颈网络和本发明提出的压缩比例可控的信息瓶颈网络来压缩模型。对于传统的信息瓶颈网络,应用不同的全局超参γ。对于本发明提出的压缩比例可控的信息瓶颈网络,应用基于不同的预设压缩比的自适应调节的通道特定的局部超参然后,从分类精度和压缩比例两个维度上对两个模型进行比较。
表4示出了传统的信息瓶颈网络在不同γ下的分类精度和压缩比例,表5示出了本发明的压缩比例可控的信息瓶颈网络在不同预设压缩比例下的分类精度和压缩比例。
γ | 测试精度 | 压缩比例 |
2×10<sup>-5</sup> | 91.69% | 4.60% |
5×10<sup>-5</sup> | 91.40% | 3.54% |
1×10<sup>-4</sup> | 89.92% | 2.78% |
表4
预设压缩比例 | 测试精度 | 压缩比例 |
4% | 91.15% | 4% |
3% | 91.04% | 3% |
2% | 90.43% | 2% |
表5
可以看到传统的信息瓶颈网络无法精准地控制压缩比例,而使用了本发明提出的压缩比例可控的信息瓶颈网络之后,实际压缩比例与预设的压缩比例完全一致,同时保证了分类精度也与传统的信息瓶颈网络相当。
根据上述公开的方法中,一种用于图像识别的神经网络模型的训练方法可以通过使用图像数据作为人工智能模型的输入数据,获得识别图像或图像中的特征的输出数据。该人工智能模型可以通过训练获得。这里,“通过训练获得”指的是,通过训练算法用多块训练数据训练一个基本的人工智能模型,通过训练算法训练一个基本的人工智能模型,获得一个被配置为执行期望的特征(或目的)的预定操作规则或人工智能模型。该人工智能模型可以包括多个神经网络层。多个神经网络层中的每个神经网络层包括多个权重值,并通过在前一个层的计算结果与多个权重值之间进行计算来执行神经网络计算。
视觉理解是一种像人类视觉一样识别和处理事物的技术,包括,例如,物体识别、物体跟踪、图像检索、人类识别、场景识别、三维重建/定位或图像增强。
图5是图示根据本公开实施例的电子设备500的硬件框图。根据本公开实施例的电子设备至少包括处理器;以及存储器,用于存储计算机程序指令。当计算机程序指令由处理器加载并运行时,所述处理器执行如上所述的神经网络模型的训练方法和图像处理方法。
图5所示的电子设备500具体地包括:中央处理单元(CPU)501、图形处理单元(GPU)502和主存储器503。这些单元通过总线504互相连接。中央处理单元(CPU)501和/或图形处理单元(GPU)502可以用作上述处理器,主存储器503可以用作上述存储计算机程序指令的存储器。此外,电子设备500还可以包括通信单元505、存储单元506、输出单元507、输入单元508和外部设备506,这些单元也连接到总线504。
多个单元中的至少一个可以通过AI模型来实现。与AI相关的功能可以通过非易失性存储器、易失性存储器和处理器来执行。
处理器可以包括一个或多个处理器。此时,一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)、或类似的,纯图形处理单元,如图形处理单元(GPU)、视觉处理单元(VPU),和/或人工智能专用处理器,如神经处理单元(NPU)。
一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义操作规则或人工智能(AI)模型来控制对输入数据的处理。该预定义的操作规则或人工智能模型是通过训练或学习提供的。
这里,通过学习提供是指,通过将学习算法应用到多个学习数据中,做出预定义的操作规则或期望特征的人工智能模型。该学习可以在根据实施例的AI模型在其中执行的设备自身上执行,并且可以通过单独的服务器/系统实现。
AI模型可以包括多个神经网络层。每个层具有多个权重值,并通过计算前一个层和多个权重的操作来执行层操作。神经网络的例子包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、递归神经网络(RNNN)、限制性波尔兹曼机器(RBM)、深度相信网络(DBN)、双向递归深度神经网络(BRDNN)、生成对抗性网络(GAN)和深度Q网络。
学习算法是一种使用多个学习数据训练预定的目标设备(例如,机器人)的方法,以引起、允许或控制目标设备做出判断或预测。学习算法的例子包括但不限于监督学习、无监督学习、半监督学习、半监督学习或强化学习。
图6是图示根据本公开的实施例的计算机可读存储介质的示意图。如图6所示,根据本公开实施例的计算机可读存储介质600其上存储有计算机程序指令601。当所述计算机程序指令601由处理器运行时,执行参照以上附图描述的根据本公开实施例的神经网络模型的训练方法和图像识别方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存、光盘、磁盘等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (16)
1.一种神经网络的更新方法,其中,所述神经网络包括多层网络层,所述多层网络层中的至少一层包含多个神经元,所述方法包括:
获取所述神经网络的输入数据;
基于所述输入数据,确定所述神经网络中至少一个神经元的激活状态。
2.如权利要求1所述的神经网络的更新方法,其中,神经元的激活状态包括:激活和未激活。
3.如权利要求1所述的神经网络的更新方法,其中,所述神经网络中激活的神经元与相邻网络层中激活的神经元之间存在连接关系。
4.如权利要求1-3中任一项所述的神经网络的更新方法,所述多层网络层包含一个输入层、至少一个隐藏层、以及一个输出层。
5.如权利要求4所述的神经网络的更新方法,基于所述输入数据,确定所述神经网络中至少一个神经元的激活状态,包括:
针对所述至少一个隐藏层中未激活的神经元,将对应的信息瓶颈设置为预设值;
基于所述输入数据,对所述神经网络进行训练;
根据所述未激活的神经元的训练后的信息瓶颈,确定所述未激活的神经元的激活状态。
6.如权利要求5所述的神经网络的更新方法,其中,所述神经网络中已激活的神经元的信息瓶颈在训练过程中保持不变。
7.如权利要求5所述的神经网络的更新方法,根据所述未激活的神经元的训练后的信息瓶颈,确定所述未激活的神经元的激活状态,包括:
若未激活的神经元的训练后的信息瓶颈对应的信息量大于预设阈值,则确定未激活的神经元的激活状态为激活;
若未激活的神经元的训练后的信息瓶颈对应的信息量不大于预设阈值,则确定未激活的神经元的激活状态为不激活。
8.如权利要求7所述的神经网络的更新方法,通过正则项确定信息瓶颈对应的信息量。
9.如权利要求8所述的神经网络的更新方法,对所述神经网络进行训练时的损失函数包括:
隐藏层中各神经元的信息瓶颈对应的信息量的累加。
10.如权利要求4所述的神经网络的更新方法,所述方法还包括:
基于所述神经网络中隐藏层的神经元的激活状态,确定是否在隐藏层中增加神经元。
11.如权利要求10所述的神经网络的更新方法,基于所述神经网络中隐藏层的神经元的激活状态,确定是否在隐藏层中增加神经元,包括:
当所述神经网络中隐藏层的神经元全部为激活状态时,针对该隐藏层增加设定数量的未激活的神经元。
12.如权利要求4所述的神经网络的更新方法,还包括下述至少一项:
第一层隐藏层中激活的神经元与上一网络层的各神经元之间的连接在训练过程保持不变;
第一层隐藏层中未激活的神经元与上一网络层的各神经元之间的连接在训练过程中是可训的;
除第一层外的其他隐藏层中激活的神经元与上一网络层中激活的神经元之间的连接在训练过程保持不变;
除第一层外的其他隐藏层中激活的神经元与上一网络层中未激活的神经元之间的连接为0并且在训练过程保持不变;
除第一层外的其他隐藏层中未激活的神经元与上一网络层的各神经元之间的连接在训练过程中是可训的;
若所述输出层为多头输出层,则输出层中激活的神经元和上一网络层中激活的神经元之间的连接在训练过程中保持不变;
若所述输出层为多头输出层,则输出层中激活的神经元和上一网络层中未激活的神经元之间的连接为0并且在训练过程保持不变;
若所述输出层为多头输出层,则输出层中未激活的神经元和上一网络层的各神经元之间的连接在训练过程中是可训的;
若所述输出层为单头输出层,则输出层的各神经元和上一层的各神经元之间的连接在训练过程中是可训的。
13.如权利要求8所述的神经网络的更新方法,其中,神经元的正则项的值是基于神经元特定的超参数确定的。
14.如权利要求13所述的神经网络的更新方法,通过下述至少一项确定所述神经元特定的超参数:
当所述神经元应该被剪枝且实际上已经被剪枝时,不调整所述超参数;
当所述神经元应该被剪枝而实际上没有被剪枝时,将所述超参数乘以大于1的系数;
当所述神经元不应该被剪枝而实际上已经被剪枝时,将所述超参数重置为初始化值;以及
当所述神经元不应该被剪枝且实际上没有被剪枝时,将所述超参数乘以小于1的系数;
当所确定所述神经元特定的超参数小于预定取值区间的最小值时,则设定所述神经元特定的超参数为所述最小值;以及
当所确定所述神经元特定的超参数大于预定取值区间的最大值时,则设定所述神经元特定的超参数为所述最大值。
15.一种分类方法,该方法包括:
获取待分类的数据;
使用通过权利要求1-14中任一项所述的神经网络的更新方法更新的神经网络,对待分类的数据进行分类,输出分类后数据,
其中,更新后的神经网络由激活的各神经元组成。
16.一种电子设备,包括:
处理器;
存储器,用于存储计算机程序指令;
其中,当所述计算机程序指令由所述处理器加载并运行时,所述处理器执行如权利要求1-15的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/168,564 US20210241112A1 (en) | 2020-02-05 | 2021-02-05 | Neural network update method, classification method and electronic device |
PCT/KR2021/001596 WO2021158085A1 (en) | 2020-02-05 | 2021-02-05 | Neural network update method, classification method and electronic device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020100804287 | 2020-02-05 | ||
CN202010080428 | 2020-02-05 | ||
CN2020104134369 | 2020-05-15 | ||
CN202010413436 | 2020-05-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113222103A true CN113222103A (zh) | 2021-08-06 |
Family
ID=77085803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350485.9A Pending CN113222103A (zh) | 2020-02-05 | 2020-11-26 | 神经网络的更新方法、分类方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113222103A (zh) |
WO (1) | WO2021158085A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115913991A (zh) * | 2022-11-15 | 2023-04-04 | 中国联合网络通信集团有限公司 | 业务数据预测方法、装置、电子设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311516B (zh) * | 2023-11-28 | 2024-02-20 | 北京师范大学 | 一种运动想象脑电通道选择方法和系统 |
CN117312865B (zh) * | 2023-11-30 | 2024-02-27 | 山东理工职业学院 | 基于非线性动态优化的数据分类模型的构建方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563497B (zh) * | 2016-01-20 | 2021-03-19 | 中科寒武纪科技股份有限公司 | 用于稀疏人工神经网络的计算装置和运算方法 |
KR102565273B1 (ko) * | 2016-01-26 | 2023-08-09 | 삼성전자주식회사 | 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법 |
CN109923560A (zh) * | 2016-11-04 | 2019-06-21 | 谷歌有限责任公司 | 使用变分信息瓶颈来训练神经网络 |
WO2018226492A1 (en) * | 2017-06-05 | 2018-12-13 | D5Ai Llc | Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation |
JP6951295B2 (ja) * | 2018-07-04 | 2021-10-20 | 株式会社東芝 | 学習方法、学習装置および画像認識システム |
-
2020
- 2020-11-26 CN CN202011350485.9A patent/CN113222103A/zh active Pending
-
2021
- 2021-02-05 WO PCT/KR2021/001596 patent/WO2021158085A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115913991A (zh) * | 2022-11-15 | 2023-04-04 | 中国联合网络通信集团有限公司 | 业务数据预测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021158085A1 (en) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12131258B2 (en) | Joint pruning and quantization scheme for deep neural networks | |
CN109754078B (zh) | 用于优化神经网络的方法 | |
Hitawala | Comparative study on generative adversarial networks | |
Murugan et al. | Regularization and optimization strategies in deep convolutional neural network | |
CN113222103A (zh) | 神经网络的更新方法、分类方法和电子设备 | |
WO2020019236A1 (en) | Loss-error-aware quantization of a low-bit neural network | |
Feng et al. | A fuzzy deep model based on fuzzy restricted Boltzmann machines for high-dimensional data classification | |
US20210241112A1 (en) | Neural network update method, classification method and electronic device | |
CN106503654A (zh) | 一种基于深度稀疏自编码网络的人脸情感识别方法 | |
CN110852439A (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
Mnatzaganian et al. | A mathematical formalization of hierarchical temporal memory’s spatial pooler | |
CN107223260B (zh) | 用于动态地更新分类器复杂度的方法 | |
WO2020095321A2 (en) | Dynamic structure neural machine for solving prediction problems with uses in machine learning | |
Murugan | Implementation of deep convolutional neural network in multi-class categorical image classification | |
CN110674774A (zh) | 一种改进的深度学习人脸面部表情识别方法及系统 | |
Gil et al. | Quantization-aware pruning criterion for industrial applications | |
CN112950505A (zh) | 一种基于生成对抗网络的图像处理方法、系统和介质 | |
Wani et al. | A new framework for fine tuning of deep networks | |
WO2021158830A1 (en) | Rounding mechanisms for post-training quantization | |
Urgun et al. | Composite power system reliability evaluation using importance sampling and convolutional neural networks | |
CN116630816B (zh) | 基于原型对比学习的sar目标识别方法、装置、设备及介质 | |
El Kessab et al. | Recognition of handwritten Tifinagh characters using a multilayer neural networks and hidden Markov model | |
CN110543888B (zh) | 一种基于群集递归神经网络的图像分类方法 | |
Burhani et al. | Denoising autoencoder in neural networks with modified Elliott activation function and sparsity-favoring cost function | |
CN114092763B (zh) | 一种脉冲神经网络模型构建方法 |
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 |