一种基于线性可分度量的可解释神经网络结构增殖方法

摘要: 本发明属于人工智能、机器学习及深度学习,具体涉及一种神经网络结构自适应优化方法,尤其涉及一种基于线性可分度量的可解释神经网络结构增殖方法,能够应用于模式识别、分...
一种基于线性可分度量的可解释神经网络结构增殖方法

本发明属于人工智能、机器学习及深度学习,具体涉及一种神经网络结构自适应优化方法,尤其涉及一种基于线性可分度量的可解释神经网络结构增殖方法,能够应用于模式识别、分类预测、医疗辅助诊断、工业智能检测、金融风险识别以及自适应智能决策等领域。

背景技术:

1、随着人工智能技术的快速发展,以深度神经网络为代表的机器学习方法在图像识别、语音处理、自然语言理解、工业控制及医疗诊断等领域取得了显著成果。深度神经网络依靠多层非线性映射结构实现高维特征提取与复杂任务建模,其性能在很大程度上依赖于网络结构设计,包括隐藏层层数、每层隐藏单元数量、连接方式以及参数配置等。

2、现有技术中,大多数神经网络采用预先设计固定结构的方式构建模型,即在训练开始前由研究人员根据经验预设网络深度、隐藏节点规模及网络拓扑结构,然后通过大量试验对学习率、批大小、迭代次数等超参数进行反复调整,以获得较优模型性能。然而,该种固定结构设计方式存在如下缺陷:

3、(1)结构设计依赖经验性强。网络结构通常依赖研究人员经验进行人为设定,缺乏明确理论指导,不同任务往往需要重新进行结构试探与调参,设计成本高;

4、(2)结构适应性不足。固定结构难以根据任务复杂程度自动调节网络容量,容易出现网络规模不足导致欠拟合,或结构过大导致过拟合及参数冗余的问题;

5、(3)模型可解释性较弱。现有深度神经网络结构形成过程通常由经验设计或黑箱优化产生,无法解释某一层结构为何扩展、扩展多少以及扩展后对任务性能提升贡献程度,导致结构学习过程缺乏透明性;

6、(4)训练稳定性不足。对于大规模网络,全局参数同时更新容易造成梯度震荡、局部最优及参数耦合严重等问题,影响训练收敛稳定性。

7、为解决上述问题,近年来出现了结构生长型神经网络方法,即在训练过程中动态增加隐藏层节点数或增加网络层数,使网络复杂度能够随着任务需求逐步增长。例如cascade-correlation 方法通过增加新的隐藏神经元减小残差误差;部分构造型网络通过梯度下降策略进行动态结构扩展;还有一些神经结构搜索方法利用强化学习或进化算法搜索最优结构。尽管上述方法在一定程度上提升了结构自适应能力,但仍然存在结构增长通常由梯度、残差误差或启发式规则驱动,缺乏明确的理论判据;结构增长过程无法直接量化隐藏层表征能力提升程度;隐藏层对于任务贡献率缺少显式表达;结构扩展过程中容易产生冗余节点和无效连接;训练过程参数全局更新导致结构学习与参数优化高度耦合缺乏稳定性等不足。近年来,研究发现深度网络隐藏层输出特征的线性可分性能够有效反映该层对分类任务的判别贡献程度。当隐藏层输出映射到更容易线性分离的空间时,表明该层已经形成更优的类别判别表征。因此,若能够将隐藏层线性可分性提升程度作为结构增长依据,则可以使网络结构扩展过程具有明确几何意义和理论解释基础。

8、针对上述问题,本发明提出的基于线性可分度量的可解释神经网络结构增殖方法,提供了一种以隐藏层线性可分性为核心判据、能够显式衡量任务贡献率、并具有良好训练稳定性及结构可解释性的神经网络结构增殖方法。

技术实现思路

1、针对现有技术存在的问题,本发明提供一种基于线性可分度量的可解释神经网络结构增殖方法。本发明的神经网络通过显式衡量任务贡献率逐层动态添加神经元,在保证结构自适应性的同时,为可解释性研究提供了新视角。现有的神经网络结构增殖技术存在神经网络结构设计依赖经验、结构增长缺乏理论依据、可解释性不足及训练稳定性差等问题。

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

3、一种基于线性可分度量的可解释神经网络结构增殖方法,所述可解释神经网络结构增殖方法以线性可分度量()的值作为判据实现。包括以下步骤:

4、s1:构建小规模初始神经网络作为结构生长起点;具体的:

5、s1-1:在神经网络中构建输入层、多个隐藏层和输出层作为初始神经网络,其中隐藏层数量根据实际任务预设,每一隐藏层初始设置较少数量隐藏神经元,以形成紧凑型网络结构。

6、s1-2:初始神经网络采用层间全连接方式,即相邻两个隐藏层的全部神经元两两连接。

7、隐藏层采用非线性激活函数进行映射,非线性激活函数优选采用relu激活函数:

8、  (1)

9、其中,x为隐藏层的输入;f(x)为隐藏层的输出;max(0,x)为取0和x中的最大值;

10、输出层采用sigmoid激活函数,输出二分类概率结果;sigmoid激活函数为:

11、  (2)

12、其中,x为隐藏层的输入;σ(x)为隐藏层的输出;

13、同时,对网络权重参数和偏置参数进行随机初始化,以打破神经元之间的参数对称性。

14、s2:设定结构增殖目标参数,包括目标线性可分性阈值、最大允许神经元数量、每次结构增殖时新增的预设数量神经元,同时设定神经网络训练时的损失函数;具体的:

15、所述目标线性可分性阈值为tl,其中,l = 1,2,…,l,表示第l个隐藏层,l是隐藏层的层数;所述目标线性可分性阈值根据实际任务情况设定。

16、所述最大允许神经元数量为nlmax,用于限制结构无限扩张;

17、所述每次结构增殖时新增的预设数量神经元为δn,其中,0<δn<100为自然数;

18、所述结构增殖目标参数根据任务复杂度、训练样本规模以及计算资源条件进行设置;

19、所述神经网络训练时的损失函数loss为:

20、  (3)

21、其中,为线性可分性度量值;目的是在训练时最大化每一层的线性可分度量值。

22、s3:将s1构建的初始神经网络的隐藏层由浅至深的顺序逐层进行结构增殖,在每一层增殖过程中,增加预设数量的新神经元,并计算当前隐藏层的输出特征对于不同类别样本之间的线性可分性度量值,具体的:

23、s3-1:对于当前待增殖的隐藏层,获取其输出特征hl,对于二分类问题根据不同的两种样本类别标签,将当前隐藏层的输出特征划分为两类点集,第一类点集为a,a={a1,…,ai}rn,第二类点集为b,b={b1,…,bj}rn,构建两类点集之间的闵可夫斯基差为:

24、  (4)

25、其中,md(a,b)表示闵可夫斯基差集;mij表示md(a,b)中的元素,ai表示第一类点集a中的点,bj表示第二类点集b中的点;rn表示欧式空间中的n维向量空间。

26、s3-2:基于s3-1中的闵可夫斯基差,将a、b两个点集的线性可分性转换为闵可夫斯基差集md(a,b)与一个过原点的超平面tm=0之间的相对位置关系,进而计算线性可分度量:

27、  (5)

28、其中:=/,∈rn是超平面tm=0的法向量;表示md(a,b)中的元素和,:=,mij表示md(a,b)中的元素。

29、公式(5)中,分子是集合md(a,b)中的所有点到超平面tm=0的有向距离之和的绝对值;分母是集合md(a,b)中的所有点到超平面tm=0的有向距离的绝对值之和;

30、s3-3:由公式(5)得到的当前隐藏层输出特征的线性可分度量值。

31、s4:当s3得到的线性可分性度量值达到s2预设的目标线性可分性阈值tl(l =1,2,…,l)时,停止当前隐藏层的结构增殖并冻结当前隐藏层的参数,继续下一隐藏层结构增殖,得到最终网络结构;具体的:

32、s4-1:从第一个隐藏层开始,判断当前隐藏层(也就是第一个隐藏层)的是否满足≥tl,若满足,则说明当前隐藏层已经形成足够判别能力的特征表达,停止当前隐藏层结构增殖;

33、s4-2:若不满足,则执行隐藏节点扩增操作:在当前隐藏层增加δn个新神经元;并对新增神经元相关权重参数和偏置参数重新随机初始化,然后重新训练当前增殖部分参数,并再次计算新的,若仍未达到目标线性可分性阈值,则继续进行下一轮增殖,直到满足:≥tl(l = 1,2,…,l)或nl≥nlmax为止,其中nlmax为最大允许神经元数量。

34、s4-3:在某一隐藏层完成结构增殖后,将s4-2得到的隐藏层全部参数冻结,即后续训练中保持该隐藏层参数不再更新。仅允许新增节点参数、下游连接参数、 更深层隐藏层参数参与后续优化。

35、s4-4:进入下一隐藏层重复s3至s4。按照浅层至深层顺序逐层推进,直到全部隐藏层完成结构增殖,得到最终网络结构。

36、s5:,对完成全部隐藏层增殖的整个神经网络进行全局超参数进行优化及整体微调训练,得到最终神经网络模型;具体的:

37、s5-1:基于s4得到的最终网络结构,采用网格搜索方法进行全局超参数组合遍历,最终确定使最终网络结构的分类准确率最高的最优学习率和最优训练轮数,其中,全局超参数包括学习率和训练轮数;

38、s5-2:在s5-1确定最优学习率和最优训练轮数后,对整个最终网络结构进行全局微调训练,进一步优化参数协同关系,提高模型总体分类性能,输出最终神经网络模型。

39、本发明的有益效果是:

40、(1)最优学习率和最优训练轮数将显式数学指标线性可分性度量作为结构增长依据,在提高分类性能的同时增强模型可解释性,实现结构增殖由经验驱动向度量驱动转变;

41、(2)最优学习率和最优训练轮数采用逐层增殖并冻结参数更新机制,有效降低层间参数耦合,提高训练稳定性;

42、(3)最优学习率和最优训练轮数能够根据任务复杂度自动调整网络规模,提高结构自适应能力。