动态神经网络模型训练方法和装置与流程

文档序号:11251484阅读:1062来源:国知局
动态神经网络模型训练方法和装置与流程

本发明涉及大数据分析处理领域,尤其涉及一种用于一维数据分类的动态神经网络模型的训练方法和装置。



背景技术:

随着大数据时代的到来,文本、语音、图像、视频等数据每日均在大量生成,即使一个小的行业甚至一个企业,每天都在生成大量数据。如何对数据进行分析、处理,从中挖掘、发现事物内在的联系及规律,具有十分重要的现实意义。然而,由于生成的数据量过于庞大,分析与处理难度颇大,该问题具有不小的难度与挑战。在大数据处理过程中,当前主要的研究方法为通过机器学习及深度学习,对研究对象的相关特征进行提取,建立若干规则进行索引或映射,用以实现相关研究对象的辨识或分类。其中,研究效果的好坏很大程度上依赖于信息特征提取的质量,因此,特征提取是数据挖掘及数据处理中一个十分重要的环节。

目前特征提取的方法有核技巧法、分割法、降维法、以及神经网络及其变体等。其中,神经网络是当前数据特征提取的一个非常重要的方法,其研究思想为将神经元逐层建模为静态神经元,然后通过一个sigmoid函数来实现特征提取。神经网络的变体——卷积神经网络,主要思想为通过卷积层与池化层的交替作用,逐层实现图像、视频等数据的特征提取,针对最后一层提取到的特征,通过一个全连接层来实现目标对象的分类与辨识。在该模型中,卷积层与池化层的设计是其最重要的一个环节。然而,神经网络及其各种变体均为将神经元建模为静态神经元来展开相关研究,即y=wx+b,其中x为神经元输入,y为神经元输出,w为连接输入与输出之间的权重系数,b为截距项。静态神经元仅能刻画输入与输出之间的关系,无法刻画系统输入内部之间的关系。

如何更加高效地提取数据特征,从而提高神经网络模型的训练效率,是目前需要本领域技术人员迫切解决的一个技术问题。



技术实现要素:

为了解决上述问题,本发明针对语音数据等一维数据,提供了一种动态神经网络模型的训练方法,与人工神经网络相比,该方法将单个神经元建模为动态神经元,同时同一层上的神经元具有相同的类型,用于最大限度实现权值共享,降低模型的设计难度,大大减少现有模型的训练强度,提高学习效率。

为了实现上述目的,本发明采用如下技术方案:

一种动态神经网络模型的训练方法,包括以下步骤:

步骤一:将原始一维数据输入到第一层神经元,相应的输出值即该层特征;

步骤二:增加神经元层数,将上层输出的特征作为下一层神经元的输入,得到相应层的特征,重复该步骤直至层数达到预设值;

步骤三:在最终的输出特征与分类的类别之间建立全连接层,通过bp反向传播算法确定全连接层间的连接系数;

步骤四:评价模型性能,若性能达到预期,训练结束;反之,继续在生成的网络模型中增加新的神经元层直至模型性能达到预期;

其中,所述神经元被建模为动态神经元;所述动态神经元的结构为:其中a(l),b(l),c(l)分别为nl×nl阶、nl×ml阶、nl×1阶矩阵,表示神经元状态矩阵、拓扑连接矩阵、以及特征提取矩阵,c(l)t表示矩阵c(l)的转置;x(l),u(l)分别为nl×1、ml×1向量,分别表示一个神经元的状态个数以及能处理的输入数据维数,ml、nl的值与所在的层相关。

所述神经网络模型中,同一层神经元具有相同的动态结构,不同层的神经元的动态结构可以相同也可以不同;同一层神经元之间没有连接,不同层的神经元之间连接方式为稀疏连接,每个神经元仅与下层相邻的若干神经元有连接。

所述神经元对输入数据进行的处理如下:输入数据经过一层神经元处理后,经过一个状态与输出之间的变换y(1)=c(1)tx(1),即提取到该层特征y(1),其中矩阵a(1)为该层状态矩阵,满足其特征根具有负实部,矩阵b(1)为该层的拓扑连接,其连接方式为稀疏连接。

所述步骤四还包括:若层数达到某一阈值时模型性能还未达到预期,停止增加新的神经元层,对各层神经元结构矩阵进行调整,将调整结果中性能最好的作为最终的模型。

所述一维数据多为语音数据,所述神经网络模型用于语音数据主题、情感、语种的分类或者语音辨识。

本发明还提供了一种动态神经网络模型的训练装置,所述装置包括:

模型构建模块,用于神经网络模型的初始化,将原始一维数据输入到第一层神经元,相应的输出值即该层特征;增加神经元层数,将上层输出的特征作为下一层神经元的输入,得到相应层的特征,重复该步骤直至层数达到预设值;

模型评价模块,用于评价生成的神经网络模型;

模型优化模块,用于所述神经网络模型的优化,若性能达到预期,训练结束;反之,继续在生成的网络模型中增加新的神经元层直至模型性能达到预期;

所述模型构建模块将神经元建模为动态神经元:

其中a(l),b(l),c(l)分别为n(l)×n(l)阶、n(l)×m(l)阶、n(l)×1阶矩阵,表示神经元状态矩阵、拓扑连接矩阵、以及特征提取矩阵;x(l),u(l)分别为n(l)×1、m(l)×1向量,分别表示一个神经元的状态个数以及能处理的输入数据维数,m(l)、n(l)的值与所在的层相关。

所述神经网络模型中,同一层神经元具有相同的动态结构,不同层的神经元的动态结构可以相同也可以不同;同一层神经元之间没有连接,不同层的神经元之间连接方式为稀疏连接,每个神经元仅与下层相邻的若干神经元有连接。

所述模型构建模块中,神经元提取特征的过程如下:输入数据经过一层神经元处理后,经过一个状态与输出之间的变换y(1)=c(1)tx(1),即提取到该层特征y(1),其中矩阵a(1)为该层状态矩阵,满足其特征根具有负实部,矩阵b(1)为该层的拓扑连接,其连接方式为稀疏连接。

若层数达到某一阈值时模型性能还未达到预期,停止增加新的神经元层,对各层神经元结构矩阵进行调整,将调整结果中性能最好的作为最终的模型。

所述一维数据为语音数据,所述神经网络模型用于语音数据主题、情感、语种的分类或者语音辨识。

本发明的有益效果:

1、本发明使用动态神经网络模型,同层之间建模为相同的神经元,降低了模型的设计难度。

2、模型训练的参数仅为最后全连接层对应的参数,因此训练的参数个数大大减少,降低了模型的训练难度,提高了算法效率,对于语音等一维数据的特征提取起到非常重要的作用,具有很强的实用性。

3、根据不同的分类需求,本发明训练的神经网络模型可用于语音数据的主题、情感、语种等分类以及不同说话人的语音辨识等多个任务。

附图说明

图1动态神经网络模型层数训练图;

图2为单个神经元的模型的结构图;

图3动态神经网络的模型结构图;

图4多层动态神经网络特征提取过程流程图;

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

图1是动态神经网络的模型结构图。

本实施例提供了一种动态神经网络模型的训练方法,

传统的神经网络模型将神经元建模为静态神经元来展开相关研究,即y=wx+b,其中x为神经元输入,y为神经元输出,w为连接输入与输出之间的权重系数,b为截距项。静态神经元仅能刻画输入与输出之间的关系,无法刻画系统输入内部之间的关系。

本发明的实施例中,将神经元建模为动态神经元:

其中a(l),b(l),c(l)分别为n(l)×n(l)阶、n(l)×m(l)阶、n(l)×1阶矩阵,表示神经元状态矩阵、拓扑连接矩阵、以及特征提取矩阵;x(l),u(l)分别为n(l)×1、m(l)×1向量,分别表示一个神经元的状态个数以及能处理的输入数据维数,m(l)、n(l)的值与所在的层相关。

其中,所述状态矩阵随机选取,满足特征根具有负实部指该神经元内部各个状态之间的关联矩阵,该矩阵要保证稳定,即满足特征根具有负实部;拓扑连接是指输入数据与神经元各个状态之间的拓扑连接。

神经元的状态反映该神经元处理信息的能力,而其状态个数关系到一次能处理的数据长度,神经元状态个数越多,一次能处理的数据长度就越长。

第一个公式表示对该层输入数据进行处理;处理后的结果按照第二个式子进行组合,降低了上一层的特征数;第三个式子表示将得到的特征,组合后作为下一层的神经网络的输入,从而实现特征个数逐层减少的目的。

该神经网络模型的训练包括以下步骤:

步骤一:将原始一维数据输入到第一层神经元,相应的输出值即该层特征;

可选地,还可以将原始一维数据划分为训练集与验证集,所述训练集用于神经网络模型的训练,所述验证集用于后续模型性能的评价。

步骤二:增加神经元层数,将上层输出的特征作为下一层神经元的输入,得到相应层的特征,重复该步骤直至层数达到预设值;

本实施例中,预设值设置为15,也可设置为其他值。

所述神经网络模型中,同一层神经元具有相同的动态结构,不同层的神经元的动态结构可以相同也可以不同;同一层神经元之间没有连接,不同层的神经元之间连接方式为稀疏连接,每个神经元仅与下层相邻的若干神经元有连接。如图2所示,同一层上的神经元之间没有连接、不同层之间的神经元采用稀疏连接,即每个神经元与下一层m(l)个神经元相连接。

步骤三:在最终的输出特征与分类的类别之间建立全连接层,通过bp反向传播算法确定全连接层间的连接系数;

步骤四:评价模型性能,若性能达到预期,训练结束;反之,继续在生成的网络模型中增加新的神经元层直至模型性能达到预期;

可选地,所述性能是否达到预期的方式为:判断最后一次增加神经元层后的模型性能较前一次是否有明显改善。

具体地,如图2、图3所示,通过k层神经网络之后,获取若干特征(k值越大,所提炼得到的特征越少)。通过bp反向传播算法在训练集上学习特征与分类之间的权重参数,在验证集上进行测试性能,然后再增加一层神经元获取新的特征,使用bp反向传播算法训练相应的权重参数,在验证集上测试性能,并与前一次测得的性能进行比较,判断是否有明显改善,若有,则继续增加神经网络层,反之,则停止模型层数增加。

若层数达到某一阈值时模型性能还未达到预期,停止增加新的神经元层,对各层神经元结构矩阵进行调整,将调整结果中性能最好的作为最终的模型。

可选地,调整的方式为:先逐层固定其他层,调整一层后测试性能的变化,记录下最好的一次,固定下来,依次调整其他层结构矩阵。

所述神经元提取特征的过程如下:输入数据经过一层神经元处理后,经过一个状态与输出之间的变换y(1)=c(1)tx(1),即提取到该层特征y(1),其中矩阵a(1)为该层状态矩阵,满足其特征根具有负实部,矩阵b(1)为该层的拓扑连接,其连接方式为稀疏连接。

实施例2:

基于实施例1的方法,本发明还提供了一种动态神经网络模型的训练装置,所述装置包括模型构建模块、模型评价模块和模型优化模块。其中:

模型构建模块,用于神经网络模型的初始化,将原始一维数据输入到第一层神经元,相应的输出值即该层特征;增加神经元层数,将上层输出的特征作为下一层神经元的输入,得到相应层的特征,重复该步骤直至层数达到预设值;

所述神经网络模型中,同一层神经元具有相同的动态结构,不同层的神经元的动态结构可以相同也可以不同;同一层神经元之间没有连接,不同层的神经元之间连接方式为稀疏连接,每个神经元仅与下层相邻的若干神经元有连接。

还可以将原始一维数据划分为训练集与验证集,所述训练集用于神经网络模型的训练,所述验证集用于后续模型性能的评价。

模型评价模块,用于评价生成的神经网络模型;

模型优化模块,用于所述神经网络模型的优化,若性能达到预期,训练结束;反之,继续在生成的网络模型中增加新的神经元层直至模型性能达到预期;

可选地,所述性能是否达到预期的方式为:判断最后一次增加神经元层后的模型性能较前一次是否有明显改善。

具体地,如图2、图3所示,通过k层神经网络之后,获取若干特征(k值越大,所提炼得到的特征越少)。通过bp反向传播算法在训练集上学习特征与分类之间的权重参数,在验证集上进行测试性能,然后再增加一层神经元获取新的特征,使用bp反向传播算法训练相应的权重参数,在验证集上测试性能,并与前一次测得的性能进行比较,判断是否有明显改善,若有,表明当前模型的训练处于欠拟合阶段,则继续增加神经网络层,反之,则停止模型层数增加。

若层数达到某一阈值时模型性能还未达到预期,停止增加新的神经元层,对各层神经元结构矩阵进行调整,将调整结果中性能最好的作为最终的模型。

可选地,调整的方式为:先逐层固定其他层,调整一层后测试性能的变化,记录下最好的一次,固定下来,依次调整其他层结构矩阵。

所述模型构建模块将神经元建模为动态神经元:

其中a(l),b(l),c(l)分别为n(l)×n(l)阶、n(l)×m(l)阶、n(l)×1阶矩阵,表示神经元状态矩阵、拓扑连接矩阵、以及特征提取矩阵;x(l),u(l)分别为n(l)×1、m(l)×1向量,分别表示一个神经元的状态个数以及能处理的输入数据维数,m(l)、n(l)的值与所在的层相关。

所述模型构建模块中,神经元提取特征的过程如下:输入数据经过一层神经元处理后,经过一个状态与输出之间的变换y(1)=c(1)tx(1),即提取到该层特征y(1),其中矩阵a(1)为该层状态矩阵,满足其特征根具有负实部,矩阵b(1)为该层的拓扑连接,其连接方式为稀疏连接。

该方法基于实施例1提供的方法,具体细节可参照实施例1。

实施例3:

以语音数据为例,语音数据为一个时序数据,初始数据为一个很长的与时间有关的向量,将语音数据作为训练数据训练神经网络模型。

将语音数据输入初始化后的神经网络模型,逐层将该向量的长度进行缩短至某个值(比如长度k到50),然后使用bp反向传播来确定该层与讨论主题种类个数的全连接权重系数;测试在验证集上的性能,然后增加一层神经元获取新的特征,使用bp反向传播算法训练相应的权重参数,在验证集上测试性能是否有明显改善,若有,则继续增加神经网络层,反之,则停止模型层数增加。若层数增加至某一阈值性能仍没有明显改善,调整各层之间的结构矩阵,先逐层固定其他层,调整一层后测试性能的变化,记录下最好的一次,固定下来,依次调整其他层结构矩阵。

与现有的特征提取方法相比,本发明将神经网络中每个神经元由静态神经元建模为动态神经元,通过同层之间建模为相同的神经元,大大实现了参数共享,降低了模型设计的难度。通过多层传递逐渐将低层特征融合为高层特征,实现最终的特征提取,通过bp反向传播算法训练特征层与分类之间的参数权值。本发明可用于语音数据的主题、情感、语种等分类以及不同说话人的语音辨识等多个任务,实现什么样的目的重要的是看语音素材以及需求。

本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1