竞争预测神经网络的训练方法、装置及电子设备与流程
未命名
10-19
阅读:83
评论:0
1.本公开涉及计算机技术领域,尤其涉及一种竞争预测神经网络的训练方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.人工智能技术已经在前向网络和反向梯度网络(back propagation,bp)方向上取得了重大突破,特别是以生成预训练变压器(generative pre-training transformer,gpt)系列为代表的大模型表现尤为突出,在有些领域的智能水平甚至超过了人类自身。然而,这种基于反向传播机制的网络存在若干内在缺陷,并未充分借鉴人脑的优点。
3.首先,这种网络在学习过程中需要调整所有参数,而这与人类只需进行少量学习的现实情况相去甚远;其次,基于反向梯度的网络被认为在生物学上不可信,因为人类的大脑并未形成对称的反向连接或执行同步计算,这在工程角度上限制了潜在的硬件设计;再次,这类网络只适用于平稳且非变化的环境,在真实世界中各种客体、客体间的关系以及相应的观察向量的统计特性会随时间的变化而变化;最后,尽管以transformer框架为基础的gpt模型在词语预测上有所表现,但在一些对安全性和准确性要求较高的应用场景中仍存在一定的困难,容易出现“幻觉”。
4.在人工智能的技术分支中,最接近人脑特点的是竞争神经网络,它能够通过神经元间的侧抑制机制实现类人的无导师学习;但现有的竞争神经网络的主要问题在于对输入的选择不足。人类大脑网络的输入信息繁多,例如,视神经由视网膜神经节细胞发出120万根无髓神经纤维轴突,如果用一个神经网络系统进行特征提取以保证特征的辨识度,则需要增加输出神经元个数,这将导致需要的输出神经元数量无比庞大,甚至可能引发灾难。另外,现有的竞争神经网络大多只关注单一网络,未能将多个竞争网络联合使用,因此,无法达到更高的智能水平。可见,现有的竞争神经网络存在无法有效地选择网络输入,网络的安全性和准确性较低,网络的整体智能水平较差的问题。
技术实现要素:
5.有鉴于此,本公开实施例提供了一种竞争预测神经网络的训练方法、装置、电子设备及计算机可读存储介质,以解决相关技术中竞争神经网络存在无法有效地选择网络输入,网络的安全性和准确性较低,网络的整体智能水平较差的问题。
6.本公开实施例的第一方面,提供了一种竞争预测神经网络的训练方法,包括:从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组;从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并基于相似度和预测误差确定获胜神经元;基于获胜神经元确定优胜邻域,并对优胜邻域内的输出神经元对应的权重进行调整;对每个输出神经元对应的获胜概率进行统计,并基于获胜概率确定每个输入神经元
与被预测神经元之间的相关度;基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,并将待裁剪神经元与输出神经元之间的连接参数进行删除;利用输入信号向量对竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对竞争预测神经网络的训练。
7.本公开实施例的第二方面,提供了一种竞争预测神经网络的训练装置,包括:确定模块,被配置为从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组;计算模块,被配置为从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并基于相似度和预测误差确定获胜神经元;调整模块,被配置为基于获胜神经元确定优胜邻域,并对优胜邻域内的输出神经元对应的权重进行调整;统计模块,被配置为对每个输出神经元对应的获胜概率进行统计,并基于获胜概率确定每个输入神经元与被预测神经元之间的相关度;删除模块,被配置为基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,并将待裁剪神经元与输出神经元之间的连接参数进行删除;训练模块,被配置为利用输入信号向量对竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对竞争预测神经网络的训练。
8.本公开实施例的第三方面,提供了一种电子设备,包括至少一个处理器;用于存储至少一个处理器可执行指令的存储器;其中,至少一个处理器用于执行指令,以实现上述方法的步骤。
9.本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:通过从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组;从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并基于相似度和预测误差确定获胜神经元;基于获胜神经元确定优胜邻域,并对优胜邻域内的输出神经元对应的权重进行调整;对每个输出神经元对应的获胜概率进行统计,并基于获胜概率确定每个输入神经元与被预测神经元之间的相关度;基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,并将待裁剪神经元与输出神经元之间的连接参数进行删除;利用输入信号向量对竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对竞争预测神经网络的训练。本公开除了保持竞争神经网络的特征提取功能外,还赋予了竞争神经网络预测的能力,本公开的竞争预测神经网络不仅可以有效地筛选和处理输入信号,还可以进行预测,因此,具有更高的智能水平;另外,本公开的竞争预测神经网络还具有更高的安全性和准确性。
附图说明
10.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
11.图1是相关技术中的竞争神经网络的模型训练的结构示意图。
12.图2是本公开一示例性实施例提供的一种竞争预测神经网络的训练方法的流程示意图。
13.图3是本公开一示例性实施例提供的一种竞争预测神经网络的训练装置的结构示意图。
14.图4是本公开一示例性实施例提供的电子设备的结构示意图。
15.图5为本公开一示例性实施例提供的计算机系统的结构示意图。
具体实施方式
16.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
17.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
18.本文使用的术语“包括”及其变形是开放性包括,即,“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
19.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
20.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
21.近年来,人工智能技术已经在前向网络和反向梯度网络方向上取得了重大突破,特别是以生成预训练变压器系列为代表的大模型表现尤为突出,在有些领域的智能水平甚至超过了人类自身。然而,这种基于反向传播机制的网络存在若干内在缺陷,并未充分借鉴人脑的优点。以下是基于反向传播机制的网络存在的一些问题,具体包括:
22.1)在学习过程中,这类网络需要调整所有参数。尽管可以利用“drop out”等方法进行部分调整,但总的来说,这些手段仅属于技术妙招(trick)。相比之下,人类的学习过程只涉及少量的学习。
23.2)反向梯度网络在生物学层面上被认为是“不可靠”的,因为人类大脑并未形成对称的反向连接或执行同步计算。从工程角度看,反向梯度传播与并行性不兼容,从而限制了硬件设计的可能性。
24.3)此类网络主要适用于平稳且不变化的环境。在此类环境模型中,各种对象、对象间关系以及相应的观察向量具有统计稳定性,各项统计特性不会随时间变化而改变。但实际世界情况并非如此。
25.4)gpt模型以transformer框架为基础,基于上文信息对下文进行预测,其本质类似于词语接龙,较难控制其“准确性”,在一些对安全性和准确性要求较高的应用场景中表现不佳,容易产生“幻觉”。
26.在人工智能技术领域,竞争神经网络最接近人脑的特性。竞争神经网络的著名代表包括芬兰的kohonen教授提出的自组织映射(self-organizing map,som)和自组织特征映射(self-organizing feature map,sofm),以及美国boston大学的s.grossberg教授提出的自适应共振理论。竞争神经网络在某种程度上模拟了生物神经网络的工作原理,即,一个神经细胞在激发后会对周围的神经细胞产生抑制效应。这种侧抑制使得神经细胞之间产生竞争,而兴奋程度最强的神经细胞对周围神经细胞的抑制作用也最强,从而使该神经细胞成为此次竞争的胜出者。
27.竞争神经网络具有多重优势,例如,自组织能力,能够自适应地调整网络参数和结构,实现无导师学习;能够以多个神经元同时反映分类结果,因此,具有极强的抗干扰特性,即使在单个或少量神经元受损时,剩余的神经元也能保证记忆信息不丧失。此外,竞争神经网络可以同时进行任务执行和学习,由于任务执行和学习是同步进行的,能够避免反向梯度网络需要在全部训练(学习)完成后再进行工作,因此,对环境变化的适应性更强。
28.进一步地,竞争神经网络,又称为自组织映射或者kohonen神经网络,是芬兰学者teuvo kohonen在1980年代提出的一种无监督学习算法,其学习过程是基于竞争和合作原理的。这种网络的结构通常包括两层,即,输入层和竞争层。
29.输入层(input layer):每个输入神经元代表输入数据的一个特征,其将输入数据传递到竞争层的神经元。
30.竞争层(competition layer):竞争层包含多个神经元,每个神经元都与所有的输入神经元相连。每个竞争层神经元(即,输出神经元)都具有一个与输入数据维度相同的权重向量。
31.在竞争神经网络的学习过程中,每个神经元的作用如下:
32.输入神经元的作用是将输入数据传递到竞争层。
33.竞争层神经元的作用有两个:一是计算其权重向量与输入数据的相似度;二是参与竞争,即,所有的竞争层神经元都会进行相似度计算,然后,选择相似度最高(或距离最小)的神经元作为“获胜神经元”。
[0034]“获胜神经元”及其周围的神经元(称为“邻域”)会更新其权重,使其更接近当前的输入数据。这个过程是基于合作机制的,即,邻域内的神经元权重的更新程度会随着距离获胜神经元的远近而变化。
[0035]
通过多次迭代学习,竞争神经网络会自动学习到输入数据的拓扑结构和分布特性,相似的输入数据会映射到竞争层空间的相近位置,从而实现了数据的无监督分类和可视化。
[0036]
综上所述,相关技术公开了一种竞争神经网络,以实现更加接近人脑的学习和认知模式的方法。该竞争神经网络优化了反向梯度网络中存在的问题,例如,需要调整全部参数的问题,生物学上不可信的问题,只适用于平稳非变化环境的问题,以及难以控制准确性的问题。同时,竞争神经网络具有很多优点,例如,自组织功能和强抗干扰性,以及能够同时执行任务和学习的特点。竞争神经网络在人工智能领域,特别是在需要无监督学习和自适
应的环境中,具有广泛的应用前景。
[0037]
自从竞争神经网络提出以来,在模式识别、样本分类、排序等方面得到比较广的应用。但是这些应用比较局限在特定场景并且输入信息量很少的场景,在自然语言处理,视觉这种需要大量信息输入的应用场景下却鲜有建树,因此,竞争神经网络逐步淡出主流的视野。下面结合附图,对竞争神经网络的典型框架以及基本的训练过程进行详细介绍,如图1所示,图1是相关技术中的竞争神经网络的模型训练结构示意图。基于图1所示的竞争神经网络的框架,该竞争神经网络的训练过程如下:
[0038]
步骤1,初始化:建立一个竞争神经元组,输入向量为xi(i=1,2,3,...,n)表示其有n个输入神经元,输出向量为yj(j=1,2,3,...,m),共m个输出神经元。对输出层各权向量赋予较小的随机数并进行归一化处理,得到建立初始优胜邻域n
*
和学习率σ(0)。
[0039]
步骤2,接受输入:从训练集中随机取一种输入模式并进行归一化处理,得到
[0040]
步骤3,相似性测量:比较两个不同模式的相似性可转化为比较两个向量的距离,因而可以用模式间的距离作为聚类判断的标准,与输入模式最相似的神经元即为获胜神经元。如果输入模式已归一化,直接计算和的点积,从中找到点积最大的获胜神经元j
*
。如果输入模式未经归一化,计算欧几里得距离,从中找出欧式距离最小的获胜神经元。
[0041]
步骤4,定义优胜邻域n
*
(t),表示获胜神经元的影响范围,一般初始邻域n
*
(0)较较大,随着训练过程,n
*
(t)逐步减小。
[0042]
步骤5,调整权值:对优胜邻域n
*
(t)内的所有节点调整权值:
[0043]wij
(t+1)=w
ij
(t)+σ(t,n)[x
i-w
ij
(t)] i=1,2,3,...,n j∈n
*
(t),
[0044]
在上述式子中,σ(t,n)是训练时间t和邻域内第j个神经元与获胜神经元之间的拓扑距离n的函数,该函数随t和n的增大而减小。
[0045]
步骤6,结束判定:当学习率σ(t,n)≤σ
min
时,结束训练;不满足结束条件时,转到步骤2继续。
[0046]
这种类型的竞争神经网络有很多类人的特点,但是主要的问题在于没有对输入进行有效的选择,在人类的大脑网络中,其输入信息有很多,例如,视神经由视网膜神经节细胞发出120万根无髓神经纤维轴突,如果用一个神经神经网络系统来进行特征的提取,为了保证所提取特征的辩识度,则必须增加输出神经单元的个数。那样的话,需要的输出神经单元数量无疑是巨大的,灾难性的。另外,已有的竞争神经网络都着重于单个网络,而没有将多个竞争网络联合在一起使用,因此,无法达到更强的智能。
[0047]
鉴于现有的竞争神经网络存在的问题,本公开提出了一种新的神经网络类型,将其称为竞争预测神经网络(competitive prediction,cp)。这种网络结构在保持了传统的竞争神经网络特性的同时,也增加了预测的功能。这是通过对原有竞争神经网络结构做出微小改动实现的。本公开提供的竞争预测神经网络的主要特点是预测输入神经元的值。当需要尝试预测一个神经元的值时,可以找出与这个被预测神经元关联度较低的其他输入神经元,并选择将其忽略或者剪掉。这样,经过迭代训练和剪枝之后,就得到了一个新的网络,其输入都是相互关联性强的输入变量。
[0048]
更为重要的是,本公开的竞争预测神经网络具有集群的能力,因此,可以将大量的竞争预测神经网络结合在一起,形成一个大的、多模态的网络。这种网络结构不仅可以有效地筛选和处理输入数据,还可以进行预测,因此,具有更高的智能水平。在一定程度上,本公开的竞争预测神经网络克服了传统的竞争神经网络在处理大规模、复杂输入数据时的困难,因此,具有更广阔的应用前景。
[0049]
下面将结合附图以及具体实施例对本公开实施例的一种竞争预测神经网络的训练方法和装置进行详细说明。
[0050]
图2是本公开一示例性实施例提供的一种竞争预测神经网络的训练方法的流程示意图。图2的竞争预测神经网络的训练方法可以由服务器执行。如图2所示,该竞争预测神经网络的训练方法具体可以包括:
[0051]
s201,从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组;
[0052]
s202,从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并基于相似度和预测误差确定获胜神经元;
[0053]
s203,基于获胜神经元确定优胜邻域,并对优胜邻域内的输出神经元对应的权重进行调整;
[0054]
s204,对每个输出神经元对应的获胜概率进行统计,并基于获胜概率确定每个输入神经元与被预测神经元之间的相关度;
[0055]
s205,基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,并将待裁剪神经元与输出神经元之间的连接参数进行删除;
[0056]
s206,利用输入信号向量对竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对竞争预测神经网络的训练。
[0057]
在一些实施例中,从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组,包括:基于预设的选取规则,从竞争预测神经网络的所有输入神经元中选取至少一个输入神经元作为被预测神经元;在每个被预测神经元的周围建立一个竞争预测神经元组,以组成多个竞争预测神经元组。
[0058]
具体地,在本公开实施例的竞争预测神经网络的训练过程中,首先在初始化阶段会选定一个或多个输入神经元作为被预测神经元,并围绕被预测神经元建立竞争预测神经元组(也可以称为“竞争预测神经网络元组”)。在实际应用中,本公开实施例中的竞争预测神经网络由大量的输入神经元组成,在网络的训练过程中,基于预设的选取规则,从这些输入神经元中选取至少一个神经元作为被预测神经元。这些被预测神经元可以是事先设定好的,而且对于大模型来说,任何一个输入神经元都有可能被选定为被预测神经元。被预测神经元的选择过程也可以通过随机的方式进行,具体的选取和建立方式可能会随着未来的研究而有所变化。
[0059]
进一步地,在选定被预测神经元后,会在每个被预测神经元的周围建立一个竞争预测神经元组。在开始训练过程之前,首先要进行神经网络的初始化。初始化阶段包括建立
一个初始的竞争预测神经元组,并在其中指定一个或多个输入神经元为被预测神经元。以图像识别为例,一个大型的神经网络可能包含大量的输入神经元,因此,可以选择一个输入神经元,然后在其周围建立一个竞争预测神经元组,这种情况下,选定的输入神经元即为被预测神经元。
[0060]
同时,也可以对输出神经元进行初始化,例如,初始化m个输出神经元,并对输出层的权向量赋予较小的随机数,然后进行归一化处理,从而得到权向量当然,初始化输出神经元并不是必须的,也可以选择不事先设置输出神经元,因为在后续的训练过程中,能够自动生成新的输出神经元。
[0061]
根据本公开实施例提供的技术方案,以上实施例的步骤和操作描述了如何在竞争预测神经网络中选择被预测神经元并建立竞争预测神经元组,以及如何进行神经网络的初始化。通过这种方式,竞争预测神经网络在训练过程中能够不断的调整和优化,从而更好的完成预测任务。
[0062]
进一步地,在初始化阶段完成之后,竞争预测神经网将接收输入信号(也即,输入数据),并对输入信号进行归一化处理,得到xi(i=1,2,3,...,n)。在实际应用中,输入信号来源于预先设置的训练集,训练集由用于对竞争预测神经网进行训练的原始训练数据所组成。
[0063]
在一些实施例中,计算输入信号向量与各个输出神经元参数向量之间的相似度,并基于相似度确定获胜神经元,包括:计算输入信号向量与各个输出神经元参数向量之间的欧几里得距离或者余弦距离,并将欧几里得距离或者余弦距离作为相似度的值;计算每个输出神经元在被预测神经元处的输入值与参数值之间的差值,并筛选出差值小于预设阈值的输出神经元;将差值小于预设阈值的输出神经元中相似度达到预设条件的输出神经元作为获胜神经元。
[0064]
具体地,竞争预测神经网络在训练阶段获取输入信号之后,将计算输入信号向量与各个输出神经元参数向量之间的相似度,并基于这些相似度来确定获胜神经元。下面结合具体实施例对如何在竞争预测神经网络中找出获胜神经元,即,如何找出对输入信号预测最准确的神经元的方法进行详细说明,具体可以包括以下内容:
[0065]
首先,预先设定一个预设阈值t,将预设阈值t作为一个阈值,利用该阈值可以确定哪些神经元的预测结果与实际输入信号足够接近。之后,计算输入信号向量与各个输出神经元参数向量之间的欧几里得距离或余弦距离,然后将这些距离值作为相似度的值。需要说明的是,欧几里得距离和余弦距离都是用来衡量两个向量之间的相似度的常用方法,在实际应用中也可采用其他方法来计算相似度,相似度计算方法不构成对本公开技术方案的限定。
[0066]
接着,计算每个输出神经元(也即,竞争层神经元)在被预测神经元处的输入值和参数值之间的差值,然后筛选出差值小于预定预设阈值的输出神经元。也就是说,通过计算每一个输出神经元在被预测信号xp处的输入值和参数值的差值,判断该差值是否小于上述设定的预设阈值t。
[0067]
最后,在那些差值小于预设阈值t的输出神经元中,选择出相似度最高的神经元作为获胜神经元。换言之,如果输出神经元对应的差值小于预设阈值t的话,那么就可以认为
该输出神经元预测得相对准确。通过找出所有预测准确的输出神经元,然后从所有预测准确的输出神经元中选出相似度最高的输出神经元,将该输出神经元视为获胜神经元。这些获胜神经元在竞争预测神经网络的训练过程中起着关键的作用,其参数会被进一步调整,以提升竞争预测神经网络的预测性能。
[0068]
需要说明的是,本公开实施例中只有那些预测准确且输入神经元和输出神经元参数相似性高的输出神经元才有可能被选为获胜神经元。也就是说,这个过程中的获胜神经元,不仅需要有较好的预测能力,还需要与输入神经元有较高的相似度。这种在竞争预测神经网络中确定获胜神经元的方法,不仅能够在神经网络训练过程中不断优化参数,提高预测性能,而且能够保证获胜神经元与输入信号有高度的相似性,从而使得神经网络能够更好地模拟和预测实际问题。
[0069]
在一些实施例中,本公开实施例的方法还包括:当差值均大于或等于预设阈值时,直接将相似度达到预设条件的输出神经元作为获胜神经元,或者生成新的输出神经元;将新的输出神经元的参数值设为归一化处理后的输入信号向量;其中,当判断差值小于预设阈值的输出神经元的数量超过预设的数量阈值时,停止生成新的输出神经元。
[0070]
具体地,如果在计算每个输出神经元在被预测神经元处的输入值与参数值之间的差值后,所有的差值均大于或等于预定的预设阈值t,那么将会采取额外的步骤。例如,本公开实施例将直接选取那些相似度达到预设条件(例如,相似度最高)的输出神经元作为获胜神经元。也就是说,如果没有找到任何预测准确的神经元,那么就将直接选择相似度最高的输出神经元作为获胜神经元。
[0071]
进一步地,如果在这种情况下,仍然无法找到预测准确的神经元,或者所有的输出神经元的相似度都低于某个设定的阈值,那么本公开实施例将会生成新的输出神经元。新生成的输出神经元将会被放置在前面已经确定的获胜神经元旁边,同时,新的输出神经元的参数值将会被设置为输入信号向量,并对其进行归一化处理。
[0072]
在实际应用中,为了防止在输入向量维度过高的情况下产生过多的输出神经元,本公开实施例还设置了一个数量阈值,用于控制输出神经元的总数。如果在寻找预测准确的神经元过程中,已经存在的神经元数量超过了这个数量阈值,那么本公开实施例的方法将不再生成新的神经元。
[0073]
由此可见,如果所有的输出神经元的预测都不准确,或者最高相似度都低于设定的阈值,那么本公开实施例就需要生成一个新的输出神经元。将新的输出神经元设置在当前获胜神经元的旁边,其参数值设置为当前的输入信号向量然后重新开始寻找新的获胜神经元。此时,为了避免输出神经元过多,本公开实施例可以设定一个数量阈值,如果预测准确的输出神经元的数量超过该数量阈值时,那么将不会再生成新的输出神经元。
[0074]
根据本公开实施例提供的技术方案,上述实施例的过程是找到那些对输入信号预测最准确的输出神经元,并且如果已有的输出神经元都无法满足预测需求,还会生成新的输出神经元来尝试提高预测的准确性。这种动态生成新的输出神经元的方法,可以在竞争预测神经网络的训练过程中根据实际需要动态地调整输出神经元的数量和参数,从而使得竞争预测神经网络能够更好地适应各种复杂的训练情况,并提高竞争预测神经网络的预测性能。
[0075]
进一步地,在确定获胜神经元之后,本公开实施例将基于获胜神经元确定优胜邻
域,并对优胜邻域内的输出神经元的权重进行调整。下面结合具体实施例对优胜邻域的确定以及权重调整的过程进行说明,具体可以包括以下内容:
[0076]
首先,定义优胜邻域n
*
(t),优胜邻域表示获胜神经元的影响范围,一般初始邻域n
*
(0)较大,随着训练过程,优胜邻域n
*
(t)逐步减小。
[0077]
接着,利用以下式子对优胜邻域n
*
(t)内的所有节点(即,优胜邻域内的所有输出神经元)调整权值:
[0078]wij
(t+1)=w
ij
(t)+σ(t,n)[x
i-w
ij
(t)] i=1,2,3,...,n j∈n
*
(t)。
[0079]
在上述式子中,函数σ(t,n)表示训练时间t和邻域内第j个输出神经元与获胜神经元之间的拓扑距离n的函数,该函数随t和n的增大而减小。
[0080]
进一步地,在确定优胜邻域并对优胜邻域内的所有输出神经元的权重进行调整之后,本公开实施例将对预设的迭代轮数中每个输出神经元对应的获胜概率进行统计。这种统计主要是通过收集历史数据,计算每个输出神经元作为获胜神经元的次数,从而确定每个输出神经元对应的获胜概率。这些概率数据提供了每个输出神经元在竞争预测神经网络的训练过程中的表现信息,从而可以对每个输入神经元与被预测神经元之间的相关度进行量化。
[0081]
在一个示例中,对于每一轮迭代都将记录下获胜神经元的信息。在经过若干轮次的迭代之后,便可以计算出每个输出神经元作为获胜神经元的频率,这个频率即为该输出神经元的获胜概率。通过这种方式,本公开可以量化地了解每个输出神经元在整个竞争预测神经网络中的表现情况,以及它们对预测结果的影响程度。
[0082]
这种基于统计的方法有助于理解竞争预测神经网络的内部工作机制,找出对预测结果影响较大的输出神经元,进一步优化和调整竞争预测神经网络的结构和参数,提高竞争预测神经网络的预测性能。此外,这种方法还可以用于竞争预测神经网络的监控和维护,通过实时监控各个输出神经元的获胜概率,可以实时检测和修复可能存在的问题,确保神经网络的稳定运行。
[0083]
在一些实施例中,确定每个输入神经元对应的平均误差,包括:确定输出神经元被选择为获胜神经元时,输出神经元对应的输入值与参数值的误差;对各个输入神经元在预设的迭代窗口范围内的平均误差进行统计,得到每个输入神经元对应的平均误差。
[0084]
具体地,平均误差的计算涉及到确定输出神经元被选择为获胜神经元时,输出神经元对应的输入值与参数值的误差。这种误差反映了神经元的预设阈值,误差越小,预测的精度越高。在每次获胜神经元激活时都将记录这个误差,以便于后续的分析。
[0085]
在一个示例中,当输出神经元被选为获胜神经元时,计算对应的输入值与参数值的误差。此外,还将对各个输入神经元在预设的迭代次数范围内的平均误差占比进行统计。在实际应用中,在每一轮迭代中,都会计算每个输入神经元对应的误差,然后取平均值,以得到在一定迭代次数范围内的平均误差。
[0086]
在另一个示例中,本公开实施例还可以通过将这个平均误差与所有输入神经元的误差总和进行比较,从而得到每个输入神经元对应的平均误差,以便后续基于平均误差来确定待裁剪神经元。
[0087]
根据本公开实施例提供的技术方案,这种方法不仅可以量化每个输入神经元的平均误差,还可以找出误差较大的神经元,以便进行优化和调整。同时,这种方法还可以辅助
理解竞争预测神经网络的运作机制,进一步优化和改进竞争预测神经网络的结构和参数,提高竞争预测神经网络的预设阈值。
[0088]
在一些实施例中,基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,包括:将平均误差大于预设的平均误差阈值的输入神经元作为待裁剪神经元;和/或将相关度小于预设的相关度阈值的输入神经元作为待裁剪神经元。
[0089]
具体地,本公开实施例的竞争预测神经网络,通过对突触的裁剪来减少单个竞争预测神经网络元组的输入神经元的数量,并保留那些互相关性很好的输入神经元聚合在一起。即,通过预测某个输入神经元的值,可以找到那些和被预测输入神经元互相关性差的输入神经元,并将其裁剪掉。在生物学意义上,输入神经元和输出神经元是通过突触进行连接,突触的核心是指两个神经元之间的连接参数w
ij
,突触的裁剪意味着连接的删除,因此,本公开实施例的“突触裁剪”是指将待裁剪神经元与相应的输出神经元之间的连接参数w
ij
删除,“突触”表示神经元之间的连接参数w
ij
。
[0090]
进一步地,在进行突触裁剪之前,首先判断需要进行突触裁剪的待裁剪神经元,之后利用突触裁剪的方法将待裁剪神经元与相应的输出神经元之间的突触进行裁剪。本公开实施例提供了以下两种突触裁剪的方法,下面结合具体实施例分别对这两种方法进行详细说明,具体可以包括以下内容:
[0091]
第一种突触裁剪方法是基于平均误差的突触裁剪:本公开的竞争预测神经网络,记录各个输出神经元被选择为获胜神经元时,其输入值和参数值的误差,并统计各个输入神经元在一定迭代次数范围内的平均的误差占比,即,总误差的平均贡献度,选取平均贡献度大于平均误差阈值的输入神经元(即,待裁剪神经元)对应的突触进行裁剪。
[0092]
第二种突触裁剪方法是基于相关性的突触裁剪:本公开的竞争预测神经网络,统计各个输出神经元的获胜概率,计算出每一个输入神经元与被预测输入神经元xp之间的相关度,将相关度小于相关度阈值的输入神经元(即,待裁剪神经元)对应的突触进行裁剪。
[0093]
在一个示例中,下面采用另外的表述方式对这上述突触裁剪方法的实现过程及原理进行详细说明,具体可以包括以下内容:
[0094]
在第一种突触裁剪方法中,竞争预测神经网络具备突触裁剪的条件,是因为每次选取的获胜神经元的参数w在被预测p处和xp的误差都很小,从统计意义上,与被预测输入神经元xp互相关性大的其他输入神经元,其误差也会很小。第一种突触裁剪方法是通过选取输入神经元里对总误差的平均贡献度大的那些输入神经元的突触进行裁剪。
[0095]
在第二种突触裁剪方法中,随着迭代次数的增加,裁剪的逐步进行,输出神经元被激活时其输入值和参数值的差值也会越来越小,竞争预测神经网络对特征的提取准确度以及预测的准确度变得也越来越高。在迭代的末期,输出神经元被激活时其所有的输入值和对应的参数值的差值都很小,因此,无法持续通过上述第一种方法进行裁剪。此时需要采取另外一种方法来进行突触的裁剪,即,根据每个输出神经元的获胜概率,计算出每一个输入神经元和被预测输入神经元xp之间的相关性(即,相关度)。将相关性小于一定阈值的输入神经元对应的突触进行裁剪。相关性的计算可采用以下统计学公式:
[0096]
[0097]
根据本公开实施例提供的技术方案,竞争预测神经网络通过裁剪突触,即,删除神经元之间的连接,来减少输入神经元的数量,只保留那些与被预测的输入神经元有强烈相关性的输入神经元。因此,本公开实施例提供的两种突触裁剪方法旨在保留那些与被预测输入神经元高度相关的输入神经元,同时去除那些对预测结果贡献较小的输入神经元。这样做可以有效地提高竞争预测神经网络的性能和准确性,同时降低其复杂性和计算需求。
[0098]
在一些实施例中,本公开实施例的方法还包括:基于输出神经元对应的获胜概率,将获胜概率小于预设的获胜概率阈值的输出神经元进行去除。
[0099]
具体地,本公开实施例的方法还提供了一种优化神经网络的手段,即,基于输出神经元的获胜概率进行神经元淘汰。通过神经元淘汰的优化过程可以进一步提升竞争预测神经网络的效率和性能。
[0100]
进一步地,通过统计每个输出神经元在预设的迭代次数范围内的获胜概率。如果某个输出神经元的获胜概率低于一个预设的阈值,那么这个输出神经元就会被淘汰。这是由于如果一个输出神经元长时间没有获胜,或者其获胜概率非常小,那么这个输出神经元对神经网络的贡献就非常小,保留这个输出神经元只会增加神经网络的复杂性和计算需求,而并不会显著提升神经网络的性能。
[0101]
在神经元淘汰的过程中,随着裁剪的进行,有大量的初期能够获胜的神经元在后期无法获胜。由于输入神经元个数的减少,神经网络不再需要那么多的输出神经元就能保持较高的特征提取精度。因此,为了避免神经网络在空间上的浪费,可以进行输出神经元的淘汰。这是一个优胜劣汰的过程,只保留那些在预测任务中表现优秀的神经元,从而保证竞争预测神经网络中的神经元都是有用的。
[0102]
根据本公开实施例提供的技术方案,本公开的竞争预测神经网络通过自组织的方式,结合突触裁剪、神经元优化和神经元淘汰的策略,实现了一种高效、智能的神经网络结构。也就是说,这种竞争预测神经网络的特点是自组织、具有突触裁剪和神经元优化功能,因此,被视为一种较高级别的神经网络,其可以动态地生成新的神经元,调整神经元的权重,并且对那些不再有用的神经元进行淘汰,以节省神经网络的空间。这种自我优化的过程使得该网络在解决一些复杂问题时表现得更为有效。
[0103]
在一些实施例中,本公开实施例的方法还包括:在输入神经元的周围,以输入神经元为预测目标形成单个的竞争预测神经网络;在整个输入神经元的范围内,以每一个或者多个的输入神经元为预测目标,形成多个竞争预测神经网络,以便在宽度上对竞争预测神经网络进行拓展;将下层竞争预测神经网络的输出神经元作为新的输入神经元,建立上层竞争预测神经网络,以便在深度上对竞争预测神经网络进行拓展。
[0104]
具体地,本公开实施例还提供了对竞争预测神经网络进行宽度和深度拓展的方法,以增强神经网络的处理能力。在实际应用中,本公开的竞争预测神经网络可以将多个小的网络聚合在一起,形成一个更大、更复杂的网络体系,以处理更高级的任务。这个过程可以在宽度和深度上对竞争预测神经网络进行扩展。例如,在宽度上,可以在整个输入神经元范围内形成大量的小网络;在深度上,可以在下层网络的基础上建立上层网络。而且,拓展后的大网络体系可以处理多种类型的信息,例如,视觉、听觉,触觉,情感感知等信息,实现多模态信息的处理。这个过程就像人脑处理信息一样,可以同时处理和理解看到的、听到的、摸到的等多种类型的信息。
[0105]
进一步地,对于宽度拓展,每个输入神经元的周围都会形成一个单个的竞争预测神经网络,其预测目标是该输入神经元本身。在整个输入神经元的范围内,这样的操作将被广泛执行,从而实现在宽度上对竞争预测神经网络进行拓展。以视觉信息的处理为例,假设输入是一帧图像,那么可以在每一个像素点的周围形成一个竞争神经网络,使得竞争神经网络在宽度上得到极大的扩展。这种方式的优点是,神经网络可以自发地组织输入和输出神经元的数量,从而实现最优状态,而不需要像传统的卷积神经网络那样,通过超参数设置输入和输出的维度。
[0106]
进一步地,对于深度拓展,根据下层竞争预测神经网络的输出神经元,可以建立上层的竞争预测神经网络。每个上层的竞争预测神经网络都是基于下层神经网络已经抽象出来的特征进行进一步的特征抽象。随着处理层级的上升,所抽象出来的特征越来越能够代表真实世界中的各种物体,其感受野也会变得越来越广。此外,为了支持多模态信息的处理,本公开实施例还包括对来自不同类型的信息(例如,视觉、听觉、触觉、情感感知等)的处理。这些不同类型的信息首先会经过各自的竞争预测神经网络进行抽象,然后在更高的层级上建立相互间的链接和预测,从而形成更高层次的竞争预测神经网络。
[0107]
因此,本公开的竞争预测神经网络能够灵活地进行宽度和深度的拓展,同时支持多模态信息的处理。这使得竞争预测神经网络能够自组织地处理更复杂的任务,并且在处理过程中,能够自动调整其结构以达到最优状态。此外,本公开的竞争预测神经网络体系还有一个重要特点,那就是在训练以及执行运算过程中,以单个竞争预测神经元组或以多个竞争预测神经元组组成的功能模块为单位进行并行运算,以便支持多模态信息的并行处理。而现阶段常用的其他神经网络在支持多模态时,通常采用回归网络的结构,将所有模态的输入信号杂糅在一起统一进行处理,计算出输出结果后再回归给输入信号进行下一步的迭代运算,因此缺少模块化的设计并限制了并行计算的潜力。
[0108]
在一个示例中,下面采用另外的表述方式对这上述竞争预测神经网络进行扩展的实现过程及原理进行详细说明,具体可以包括以下内容:
[0109]
竞争预测神经网络可以分别在宽度和深度上进行拓展。其中,在宽度上对竞争预测神经网络进行拓展时,视觉信息用帧图像像素来表示,在初级处理层,相距较远的像素互相关性比较弱,因此,可以在单个像素的周围,以其自身为预测目标形成单个的竞争神经网络。然后在整个图像信息范围内进行广泛的这种操作,甚至对每一个像素点都可以形成一个竞争神经网络。通过该方法可以使竞争神经网络元组的个数在宽度上得到极大的扩展,这类似卷积神经网络在底层处理中有很多卷积块的效果,但相比卷积神经网络,竞争预测神经网络的优势在于其输入神经单元的个数和输出神经单元的个数是自发组织的,能够很灵活的自发达到一个最优的状态,而卷积神经网络对输入和输出的维度则是通过超参数设置的,灵活性不够。
[0110]
进一步地,在深度上对竞争预测神经网络进行拓展时,基于下层的竞争预测神经网络的输出神经元,建立上层的竞争预测神经元组。上层的竞争预测神经元组基于下层已经抽象出来的特征进一步的进行特征的抽象,随着处理层级的上升,所抽象出来的特征越能够代表真实物理世界中的各个物体,其感受野也越来越广。在实际应用中,多个不同的信息通道,例如,视觉,听觉,触觉,情感感知等信息经过各自区域的抽象后进一步的相互链接和预测,形成一个更高层级的思维中枢,
[0111]
在一个示例中,类比人类的妈妈给孩子指着一只猫的图片问“这只动物怎么叫呀?”,孩子能够自动联想到“喵喵”的声音。这是竞争预测神经网络能够具备的多模态处理能力,这种能力相较与gpt的多模态处理有个比较大的优势在于各个模态的信息处理是并行的,而gpt系列的多模态处理则将各个模态的信息杂糅到一起进行统一的处理。gpt的这种方式比较消耗训练的资源,同时比较难以做到并行处理。
[0112]
根据本公开实施例提供的技术方案,通过利用竞争预测神经网络进行神经元淘汰和神经元优化,有效地裁剪了神经元间不必要的连接,优化了神经网络的结构,从而降低了神经网络的复杂度,提升神经网络的运算效率。本公开还通过基于神经元的获胜概率进行神经元淘汰,可以实现神经网络的自动优化,进一步提升了网络的运行效率,并且能够自动适应各种数据和任务需求,增强了神经网络的鲁棒性和灵活性。本公开实施例还提供了一种在宽度和深度上拓展神经网络的方法,使得竞争预测神经网络可以自发地组织和调整其结构,提升了竞争预测神经网络的处理能力。同时,还支持对来自不同类型的信息(如视觉、听觉、触觉、情感感知等)的处理,进一步提升了神经网络的处理能力和信息处理的全面性。本公开还通过在更高层级上对来自不同类型的信息建立相互间的链接和预测,实现了多模态信息的并行处理,从而提升了神经网络的信息处理能力和智能水平。
[0113]
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0114]
图3是本公开实施例提供的竞争预测神经网络的训练装置300的结构示意图。如图3所示,该竞争预测神经网络的训练装置300包括:
[0115]
确定模块301,被配置为从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于被预测神经元创建竞争预测神经元组;
[0116]
计算模块302,被配置为从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并基于相似度和预测误差确定获胜神经元;
[0117]
调整模块303,被配置为基于获胜神经元确定优胜邻域,并对优胜邻域内的输出神经元对应的权重进行调整;
[0118]
统计模块304,被配置为对每个输出神经元对应的获胜概率进行统计,并基于获胜概率确定每个输入神经元与被预测神经元之间的相关度;
[0119]
删除模块305,被配置为基于每个输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,并将待裁剪神经元与输出神经元之间的连接参数进行删除;
[0120]
训练模块306,被配置为利用输入信号向量对竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对竞争预测神经网络的训练。
[0121]
在一些实施例中,图3的确定模块301基于预设的选取规则,从竞争预测神经网络的所有输入神经元中选取至少一个输入神经元作为被预测神经元;在每个被预测神经元的周围建立一个竞争预测神经元组,以组成多个竞争预测神经元组。
[0122]
在一些实施例中,图3的计算模块302计算输入信号向量与各个输出神经元参数向量之间的欧几里得距离或者余弦距离,并将欧几里得距离或者余弦距离作为相似度的值;
计算每个输出神经元在被预测神经元处的输入值与参数值之间的差值,并筛选出差值小于预设阈值的输出神经元;将差值小于预设阈值的输出神经元中相似度达到预设条件的输出神经元作为获胜神经元。
[0123]
在一些实施例中,图3的计算模块302在当差值均大于或等于预设阈值时,直接将相似度达到预设条件的输出神经元作为获胜神经元,或者生成新的输出神经元;将新的输出神经元的参数值设为归一化处理后的输入信号向量;其中,当判断所述差值小于预设阈值的输出神经元的数量超过预设的数量阈值时,停止生成所述新的输出神经元。
[0124]
在一些实施例中,图3的删除模块305确定输出神经元被选择为获胜神经元时,输出神经元对应的输入值与参数值的误差;对各个输入神经元在预设的迭代窗口范围内的平均误差进行统计,得到每个输入神经元对应的平均误差。
[0125]
在一些实施例中,图3的删除模块305将平均误差大于预设的平均误差阈值的输入神经元作为待裁剪神经元;和/或将相关度小于预设的相关度阈值的输入神经元作为待裁剪神经元。
[0126]
在一些实施例中,图3的删除模块305基于输出神经元对应的获胜概率,将获胜概率小于预设的获胜概率阈值的输出神经元进行去除。
[0127]
在一些实施例中,图3的拓展模块307在输入神经元的周围,以输入神经元为预测目标形成单个的竞争预测神经网络;在整个输入神经元的范围内,以每一个或者多个的输入神经元为预测目标,形成多个竞争预测神经网络,以便在宽度上对竞争预测神经网络进行拓展;将下层竞争预测神经网络的输出神经元作为新的输入神经元,建立上层竞争预测神经网络,以便在深度上对竞争预测神经网络进行拓展。
[0128]
在一些实施例中,图3的计算模块302在所述竞争预测神经网络训练和执行运算过程中,以单个竞争预测神经元组或以多个竞争预测神经元组组成的功能模块为单位进行并行运算,以便支持多模态信息的并行处理。
[0129]
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0130]
本公开实施例还提供一种电子设备,包括:至少一个处理器;用于存储至少一个处理器可执行指令的存储器;其中,至少一个处理器用于执行指令,以实现本公开实施例公开的上述方法中的相应步骤。
[0131]
图4是本公开一示例性实施例提供的电子设备的结构示意图。如图4所示,该电子设备400包括至少一个处理器401以及耦接至处理器401的存储器402,该处理器401可以执行本公开实施例公开的上述方法中的相应步骤。
[0132]
上述处理器401还可以称为中央处理单元(central processing unit,cpu),其可以是一种集成电路芯片,具有信号的处理能力。本公开实施例公开的上述方法中的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(digital signal processing,dsp)、asic、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储
器402中,例如随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质。处理器401读取存储器402中的信息,结合其硬件完成上述方法的步骤。
[0133]
另外,根据本公开的各种操作/处理在通过软件和/或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的计算机系统,例如,图5所示的计算机系统500安装构成该软件的程序,该计算机系统在安装有各种程序时,能够执行各种功能,包括诸如前文所述的功能等等。图5为本公开一示例性实施例提供的计算机系统的结构示意图。
[0134]
计算机系统500旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0135]
如图5所示,计算机系统500包括计算单元501,该计算单元501可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机存取存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储计算机系统500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0136]
计算机系统500中的多个部件连接至i/o接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向计算机系统500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许计算机系统500通过网络诸如因特网的与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如,蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
[0137]
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开实施例公开的上述方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如,存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到电子设备500上。在一些实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开实施例公开的上述方法。
[0138]
本公开实施例还提供一种计算机可读存储介质,其中,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得该电子设备能够执行本公开实施例公开的上述方法。
[0139]
本公开实施例中的计算机可读存储介质可以是有形的介质,其可以包含或存储以
供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。上述计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。更具体的,上述计算机可读存储介质可以包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0140]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0141]
本公开实施例还提供一种计算机程序产品,包括计算机程序,其中,该计算机程序被处理器执行时实现本公开实施例公开的上述方法。
[0142]
在本公开的实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如python、java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机。
[0143]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0144]
描述于本公开实施例中所涉及到的模块、部件或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块、部件或单元的名称在某种情况下并不构成对该模块、部件或单元本身的限定。
[0145]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示例性的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0146]
以上描述仅为本公开的一些实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0147]
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技
术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
技术特征:
1.一种竞争预测神经网络的训练方法,其特征在于,包括:从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于所述被预测神经元创建竞争预测神经元组;从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算所述输入信号向量与各个输出神经元参数向量之间的相似度,以及所述输入信号向量在所述被预测神经元处与所述输出神经元参数向量之间的预测误差,并基于所述相似度和所述预测误差确定获胜神经元;基于所述获胜神经元确定优胜邻域,并对所述优胜邻域内的输出神经元对应的权重进行调整;对每个所述输出神经元对应的获胜概率进行统计,并基于所述获胜概率确定每个所述输入神经元与所述被预测神经元之间的相关度;基于每个所述输入神经元与所述被预测神经元之间的相关度和/或每个所述输入神经元对应的平均误差,确定待裁剪神经元,并将所述待裁剪神经元与所述输出神经元之间的连接参数进行删除;利用所述输入信号向量对所述竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对所述竞争预测神经网络的训练。2.根据权利要求1所述的方法,其特征在于,所述从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于所述被预测神经元创建竞争预测神经元组,包括:基于预设的选取规则,从所述竞争预测神经网络的所有输入神经元中选取至少一个输入神经元作为所述被预测神经元;在每个所述被预测神经元的周围建立一个竞争预测神经元组,以组成多个竞争预测神经元组。3.根据权利要求1所述的方法,其特征在于,计算所述输入信号向量与各个输出神经元参数向量之间的相似度,并基于所述相似度确定获胜神经元,包括:计算所述输入信号向量与各个所述输出神经元参数向量之间的欧几里得距离或者余弦距离,并将所述欧几里得距离或者所述余弦距离作为所述相似度的值;计算每个所述输出神经元在所述被预测神经元处的输入值与参数值之间的差值,并筛选出所述差值小于预设阈值的输出神经元;将所述差值小于预设阈值的输出神经元中相似度达到预设条件的输出神经元作为所述获胜神经元。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述差值均大于或等于所述预设阈值时,直接将所述相似度达到预设条件的输出神经元作为所述获胜神经元,或者生成新的输出神经元;将所述新的输出神经元的参数值设为归一化处理后的输入信号向量;其中,当判断所述差值小于预设阈值的输出神经元的数量超过预设的数量阈值时,停止生成所述新的输出神经元。5.根据权利要求1所述的方法,其特征在于,确定每个所述输入神经元对应的平均误差,包括:确定所述输出神经元被选择为获胜神经元时,所述输出神经元对应的输入值与参数值
的误差;对各个所述输入神经元在预设的迭代窗口范围内的平均误差进行统计,得到每个所述输入神经元对应的平均误差。6.根据权利要求1所述的方法,其特征在于,所述基于每个所述输入神经元与所述被预测神经元之间的相关度和/或每个所述输入神经元对应的平均误差,确定待裁剪神经元,包括:将所述平均误差大于预设的平均误差阈值的输入神经元作为所述待裁剪神经元;和/或将所述相关度小于预设的相关度阈值的输入神经元作为所述待裁剪神经元。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述输出神经元对应的获胜概率,将获胜概率小于预设的获胜概率阈值的输出神经元进行去除。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述输入神经元的周围,以所述输入神经元为预测目标形成单个的竞争预测神经网络;在整个输入神经元的范围内,以每一个或者多个的输入神经元为预测目标,形成多个竞争预测神经网络,以便在宽度上对所述竞争预测神经网络进行拓展;将下层竞争预测神经网络的输出神经元作为新的输入神经元,建立上层竞争预测神经网络,以便在深度上对所述竞争预测神经网络进行拓展。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述竞争预测神经网络训练和执行运算过程中,以单个竞争预测神经元组或以多个竞争预测神经元组组成的功能模块为单位进行并行运算,以便支持多模态信息的并行处理。10.一种竞争预测神经网络的训练装置,其特征在于,包括:确定模块,被配置为从预设的输入神经元中确定至少一个输入神经元作为被预测神经元,并基于所述被预测神经元创建竞争预测神经元组;计算模块,被配置为从训练集中获取输入信号,将输入信号向量作为竞争预测神经网络的输入,计算所述输入信号向量与各个输出神经元参数向量之间的相似度,以及所述输入信号向量在所述被预测神经元处与所述输出神经元参数向量之间的预测误差,并基于所述相似度和所述预测误差确定获胜神经元;调整模块,被配置为基于所述获胜神经元确定优胜邻域,并对所述优胜邻域内的输出神经元对应的权重进行调整;统计模块,被配置为对每个所述输出神经元对应的获胜概率进行统计,并基于所述获胜概率确定每个所述输入神经元与所述被预测神经元之间的相关度;删除模块,被配置为基于每个所述输入神经元与所述被预测神经元之间的相关度和/或每个所述输入神经元对应的平均误差,确定待裁剪神经元,并将所述待裁剪神经元与所述输出神经元之间的连接参数进行删除;训练模块,被配置为利用所述输入信号向量对所述竞争预测神经网络进行迭代训练,直至学习率达到预设条件时,结束对所述竞争预测神经网络的训练。
11.一种电子设备,其特征在于,包括:至少一个处理器;用于存储所述至少一个处理器可执行指令的存储器;其中,所述至少一个处理器用于执行所述指令,以实现如权利要求1至9中任一项所述的方法。
技术总结
本公开涉及竞争预测神经网络的训练方法、装置及电子设备。该方法包括:选择至少一个输入神经元作为被预测神经元,计算输入信号向量与各个输出神经元参数向量之间的相似度,以及输入信号向量在被预测神经元处与输出神经元参数向量之间的预测误差,并确定获胜神经元;确定每个输入神经元与被预测神经元之间的相关度;基于输入神经元与被预测神经元之间的相关度和/或每个输入神经元对应的平均误差,确定待裁剪神经元,将待裁剪神经元与输出神经元之间的连接参数进行删除;利用输入信号向量对竞争预测神经网络进行迭代训练。本公开能够有效地筛选和处理输入信号且具有预测功能,使得竞争预测神经网络具有更高的智能水平、安全性和准确性。和准确性。和准确性。
技术研发人员:黄加勇
受保护的技术使用者:黄加勇
技术研发日:2023.07.03
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/