CN114596567A - 一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 - Google Patents
一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 Download PDFInfo
- Publication number
- CN114596567A CN114596567A CN202210264800.9A CN202210264800A CN114596567A CN 114596567 A CN114596567 A CN 114596567A CN 202210264800 A CN202210264800 A CN 202210264800A CN 114596567 A CN114596567 A CN 114596567A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network
- training
- neurons
- growth
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
Abstract
本发明涉及一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法,包括:训练初始化小规模的神经网络,暂停训练对神经网络的性能进行阶段性测试;基于性能指标计算得出成长率,通过成长率计算在恢复训练时需要增长的网络规模;基于网络性能测试结果,筛选需要分裂和删减的神经元;对于被分裂的神经元,通过调整权重值保持网络输出不变;对于被删减的冗余神经元,对相邻神经元的输出进行补偿;判断网络增长是否成熟,当网络增长到合适的规模时停止增长,输出当前网络,从而得到在应用前馈神经网络对手写数字进行分类时较为合适的网络结构及参数:避免网络规模过小时引起的欠拟合,以及网络规模过大引起的过拟合,降低运算时间和计算成本。
Description
技术领域
本发明涉及手写数字识别这一应用领域,提出了一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法。
背景技术
手写数字识别问题在于如何让计算机自动辨识手写的阿拉伯数字,但当使用传统前馈人工神经网络进行分类时,由于其固定的网络结构,在很大程度上限制了网络的性能。人工神经网络旨在模拟人脑组织机构和运行机制,自提出以来便成为学者们研究的热门。随着深度学习技术的发展,神经网络被应用于解决各种问题,但由于神经网络的性能受其网络结构、超参数影响大,所以对于寻找出一种性能最佳的网络结构也成为学者们研究的重点。
前馈神经网络由于其较好的学习能力广泛应用于控制、辨识等领域。许多经典的神经网络计算模型,如:径向基神经网络、Hopfifield神经网络等,他们的共同特点结构固定,在训练时,结构不再发生变化。使用者需要有丰富的设计经验去寻找一个合适的网络结构。神经网络在选取规模过大时,表达能力过强容易导致过拟合;选取规模过小时则容易导致欠拟合,都会使得网络的泛华能力明显降低,因此选取一个合适的网络规模在应用中是十分必要的。在解决手写数字识别问题时,通过动态的网络结构,不断寻找更优的结构,训练出最有效的参数,提高神经网络对手写数字的识别率。
发明内容
本发明的目的就是针对上述问题,提供一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法,优化前馈神经网络寻找到解决手写数字识别问题时合适的网络结构。
一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法,包括一下步骤:
训练初始化小规模的神经网络,暂停训练对神经网络的性能进行阶段性测试;
基于性能指标计算得出成长率,通过成长率计算在恢复训练时需要增长的网络规模;
基于网络性能测试结果,筛选需要分裂和删减的神经元;
对于被分裂的神经元,通过调整权重值保持网络输出不变;
对于被删减的冗余神经元,对相邻神经元的输出进行补偿;
神经网络停止成长条件:判断网络增长是否成熟,当网络增长到合适的规模时停止增长,输出当前网络。
所述神经网络具体包括以RReLU作为激活函数的神经网络,具有单隐层的全连接前馈神经网络结构。
所述方法包括:通过测试当前神经网络的性能,将以RReLU作为激活函数的神经网络隐藏层神经元按活性进行排序。
所述的将神经元排序包括在训练集中的排序和暂停训练后在测试集中的排序,筛选需要删除的神经元。
所述方法包括:根据当前规模神经网络的性能,基于成长率函数得出继续训练时神经网络需要分裂的神经元个数。
整个算法的工作流程,包括:
训练中阶段性测试当前神经网络的各项性能指标;
计算神经网络的成长率;
筛选需要删除和分裂神经元;
判断神经网络结构的成长是否成熟。
神经网络结构的增长包括四个部分:
一、成长率函数在网络训练过程中,阶段性测试网络的性能,并作为神经网络的成长因子,通过该成长因子,确定神经网络的成长率,从而得出继续训练时需要扩大的结构。其中成长率函数公式和继续训练时神经网络隐藏层神经元数量如下:
hr+1=hr+<gr·hr>
其中,gr为成长率,a,b为常数,λlθl为神经网络的成长因子,θl为第l个包含有能反映神经网络性能的指标的计算式,λl为第l个包含有性能指标的计算式的权重。hr为第r+1次神经网络成长前,删除掉隐藏层活性值p低的神经元后剩余个数,hr+1为成长后进入下一阶段性训练时,隐藏层神经元个数,<x>代表四舍五入取整,r=1,2,...,l=1,2。
其中,a=12,b=0.7,λ1=1,λ2=10,Accr为第r+1次神经网络成长前网络在完成阶段性训练后的识别率,lossr为第r+1次神经网络成长前网络网络在完成阶段性训练后的损失误差,本发明方法中,选择分别含有以上两项的计算式作为网络成长的两个成长因子,前一项识别率项代表着当前网络识别率与1的距离,后一项损失误差变化率项代表着之前一次的成长前后变化的剧烈程度。
二、分裂、删减神经元
在神经网络结构增长阶段,先将隐藏层神经元按活性p进行排序,删除在训练集和测试集中的排序均在后的神经元,并分裂训练集中活性p排序靠前的神经元。可通过对比神经网络距上一次增长后开始,在阶段性训练时,每一时刻隐藏层神经元累计输出变化率,在完成阶段性训练后,输入测试集时每一时刻隐藏层神经元累计输出变化率来比较神经元分别在阶段性训练和测试时的活性:
其中,p代表神经元活性,uj(t)代表第j个隐藏层神经元在第t时刻的输出,n=1,2,...。
在分裂、删除神经元时通过保持被分裂的神经元输出之和不变、被删除的神经元对邻近神经元输出进行补偿的方式,保持神经网络的收敛性不被破坏:
(1)神经元分裂时:
其中,vij(t)为在t时刻隐藏层第j个神经元与输入层第i个神经元的连接权重,为隐藏层第j个神经元分裂出的神经元与输入层第i个神经元之间的连接权值;wjk(t)为在t时刻隐藏层第j个神经元与输出层第k个神经元之间的连接权重,为隐藏层第j个神经元分裂出的神经元与输出层第k个神经元之间的连接权重;μ为变异因子,为随机值,0<μ<1;f(x)为RReLU激活函数。
神经元分裂时的输出为:
其中,yi(t),y′i(t)分别为隐藏层神经元分裂前后,输出层的第i个神经元在t时刻的输出,wq(t),viq为隐藏层第q个神经元与第i个输出神经元和第i个输入神经元的t时刻的权重,xi(t)为t时刻,第i个输入神经元的输出。由上述分析可知,如神经网络在第t时刻成长,分裂神经元输出不变,不改变网络的收敛性。
(2)神经元删除时:
如神经网络在第t时刻成长,有需要删除的神经元,剔除这些神经元将其排序在最后,则采用上式对被保留的神经元中最后一个神经元的输出进行补偿。
删除神经元时的输出为:
其中,yi(t),y′i(t)分别为隐藏层神经元删除前后,输出层的第i个神经元在t时刻的输出,wq(t),viq为隐藏层第q个神经元与第i个输出神经元和第i个输入神经元的t时刻的权重,xi(t)为t时刻,第i个输入神经元的输出。由上述分析可知,如在第t时刻神经网络成长时,删除神经元网络输出不变,不改变网络的收敛性。
三、阶段性训练
神经网络在每次成长前训练的最大轮数为n,之后暂停训练,进入测试集测试性能,确定新的网络结构后,继续训练,进入下一个阶段性训练。除此以外,为了节约训练时间,设置阶段性训练的提前停止条件:
|Ak+2-Ak|<θ
其中,Ak为阶段性训练中第k轮的神经网络识别率,k=1,2,...,n。
当神经网络识别率变化不明显,小于阈值θ(θ=0.001)时,则当前训练已足够,提前暂停训练。
其中,神经网络在第一次训练前初始化时,权重随机生成[0,1]。
四、判断网络增长是否成熟
当神经网络逐渐增长到适合解决当前问题的规模时,此时<gr·hr>=0,,网络的性能接近上限,成长率函数逐渐下降至下限,此时如继续增长神经网络,网络的性能几乎无变化,则判断网络增长的条件为:当需要增长的神经元数量为零<gr·hr>=0,且没有神经元需要删减时,停止增长。
与现有技术相比,本发明的优点在于:针对以前使用固定结构的前馈神经网络解决手写数字识别问题,本方法中提出一种用于指导网络结构增长的函数,该方法逻辑简单便于实现,能有效的增长到解决手写数字识别问题时合适的网络规模;其次,在该算法中,神经网络在训练期间始终阶段性的以在测试集中性能表现为结构增长的重要影响因素之一,使得最终的泛化能力强。
附图说明
图1为本发明方法的流程图;
图2为前馈神经网络结构图;
图3为筛选需要删除的神经元原理图;
图4为神经网络训练过程曲线图;
图5为神经网络隐藏层节点数量曲线图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述。基于本发明中的操作流程和提出方法,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他工具,都属于本发明保护的范围。
如图1所示,为本发明方法的流程图。先预处理数据集。前馈神经网络包括输入层,隐藏层,输出层,本实验以单隐层前馈神经网络为研究对象,其结构图如图2所示。
输入层神经元数量为784,初始化隐藏层神经元数量为1,输出层神经元数量为10,成长率函数为学习率设置为lr=0.02,隐藏层神经元每次增长前最大学习轮数为80,首次增长后成长率函数设置为损失函数设置为基于pytorch框架的交叉熵损失函数。在神经网络每次阶段性训练前先将神经元编号,当神经网络满足提前暂停训练条件或达到最大训练轮数时,暂停训练,输入测试集,根据神经元活性将神经元分别按在阶段性训练中和暂停训练时在测试集中的活性由大到小排序。筛选出在测试集和训练集中按活性p从大到小排序,均排在后面的需要删除的神经元:如图3所示,索引在阶段性训练(测试)时活性p最小的神经元在测试集(训练集)中排序的位置,删除两个神经元以及共同排在其之后的神经元,在阶段性训练中如果在训练集和测试集中活性最小的是同一个神经元(m=n)或当隐藏层神经元个数m≤2时则本阶段不删除神经元;每次增长时增加的隐藏层神经元个数为<gr·hr>,根据需要增加的神经元个数按顺序分裂在阶段性训练过程中活性较强的神经元;神经网络停止增长条件为当阶段性训练结束后,需要增长的神经元数量为零,且无需要删减的神经元时,则代表着神经网络的成长成熟,停止增长。
算法步骤如下:
S1:生成初始小规模网络、参数初始化;
S2:训练神经网络:达到神经网络训练提前暂停条件或达到最大训练次数时,暂停学习,测试网络性能,转步骤3:判断神经网络停止成长条件;若不满足停止条件,网络继续成长:更新成长率函数,筛选需要分裂和删除的神经元,重新生成新的网络结构,循环步骤2;
S3:判断神经网络停止成长条件;
S4:训练结束,输出网络。
神经网络训练过程中识别率和损失误差曲线如图4所示。训练过程中,隐藏层神经元数量变化如图5所示。神经网络训练过程中,每当阶段性训练结束,测试性能时,如有筛选出需要删减的神经元,再次恢复训练时曲线可能会有轻微抖动,不影响网络的收敛性。
Claims (5)
1.一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法,其特征在于,包括:
(1)获取手写数字图像的数据集,并对图片进行数据预处理:灰度化处理,转换为张量并做归一化;
(2)使用数据集训练初始化小规模的神经网络,暂停训练对神经网络的性能进行阶段性测试;
(3)基于性能指标计算得出成长率,通过成长率计算在恢复训练时需要增长的网络规模;
(4)基于网络性能测试结果,筛选需要删减和分裂的神经元;
(5)对于被分裂的神经元,通过调整权重值保持网络输出不变;
(6)对于被删减的冗余神经元,对相邻神经元的输出进行补偿;
(7)神经网络停止成长条件:判断网络成长是否成熟,当网络增长到合适的规模时停止增长,输出当前网络。
2.据权利要求1所述的基于动态前馈神经网络结构和成长率函数的手写数字识别方法,其特征在于:
所使用的网络结构为三层前馈神经网络,包括:输入层、隐藏层、输出层;训练开始时,初始化的小规模神经网络的各层节点数量分别为:784个,1个和10个;所使用的隐藏层激活函数为RReLU。
4.根据权利要求3所述的基于动态前馈神经网络结构和成长率函数的手写数字识别方法,其特征在于,步骤(4)所述筛选需要删减和增加的神经元方法,包括:
将神经元分别按在阶段性训练中和暂停训练时在测试集中的活性p,分别由大到小排序,筛选出在测试集和训练集中活性排序在后的需要删除的神经元,其中uj(t)代表第j个隐藏层神经元在第t时刻的输出,n=1,2,...;
每次增长时增加的隐藏层神经元个数为:<gr·hr>,增加的神经元个数按顺序分裂在阶段性训练过程中活性较强的神经元;增加后的隐藏层神经元个数为:
hr+1=hr+<gr·hr>
其中,hr为第r+1次神经网络成长前,删除掉隐藏层活性差的神经元后剩余个数,hr+1为成长后进入下一阶段性训练时,隐藏层神经元个数,<x>代表四舍五入取整。
5.根据权利要求1所述的基于动态前馈神经网络结构和成长率函数的手写数字识别方法,其特征在于,步骤(7)所述神经网络停止成长条件:
判断网络成长是否成熟,当阶段性训练结束后,需要增长的神经元数量<gr·hr>=0,且无需要删减的神经元时,则代表着神经网络的成长成熟,停止增长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210264800.9A CN114596567A (zh) | 2022-03-17 | 2022-03-17 | 一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210264800.9A CN114596567A (zh) | 2022-03-17 | 2022-03-17 | 一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114596567A true CN114596567A (zh) | 2022-06-07 |
Family
ID=81820262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210264800.9A Pending CN114596567A (zh) | 2022-03-17 | 2022-03-17 | 一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114596567A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117335802A (zh) * | 2023-10-25 | 2024-01-02 | 合肥工业大学 | 一种基于神经网络的流水线模数转换器后台校准方法 |
-
2022
- 2022-03-17 CN CN202210264800.9A patent/CN114596567A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117335802A (zh) * | 2023-10-25 | 2024-01-02 | 合肥工业大学 | 一种基于神经网络的流水线模数转换器后台校准方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10832123B2 (en) | Compression of deep neural networks with proper use of mask | |
CN110175386B (zh) | 变电站电气设备温度预测方法 | |
CN111368885B (zh) | 一种航空发动机气路故障诊断方法 | |
CN107729999A (zh) | 考虑矩阵相关性的深度神经网络压缩方法 | |
CN112580588A (zh) | 一种基于经验模态分解的颤振信号智能识别方法 | |
CN114596567A (zh) | 一种基于动态前馈神经网络结构和成长率函数的手写数字识别方法 | |
CN109948589B (zh) | 基于量子深度信念网络的人脸表情识别方法 | |
Qian | Exploration of machine algorithms based on deep learning model and feature extraction | |
CN107273971B (zh) | 基于神经元显著性的前馈神经网络结构自组织方法 | |
CN112487933B (zh) | 一种基于自动化深度学习的雷达波形识别方法及系统 | |
Urgun et al. | Composite power system reliability evaluation using importance sampling and convolutional neural networks | |
CN108446718B (zh) | 一种动态深度置信网络分析方法 | |
CN109146007A (zh) | 一种基于动态深度置信网络的固体废弃物智能处理方法 | |
CN114898777A (zh) | 基于深度直推式迁移网络的跨库语音情感识别方法及装置 | |
Svetlov et al. | Development of the algorithm of adaptive construction of hierarchical neural network classifiers | |
Nemissi et al. | One-against-all and one-against-one based neuro-fuzzy classifiers | |
CN114387490A (zh) | 基于NAS搜索的端侧OCR识别系统的Backbone设计 | |
CN114220164A (zh) | 一种基于变分模态分解和支持向量机的手势识别方法 | |
CN112434145A (zh) | 一种基于图像识别和自然语言处理的看图作诗方法 | |
CN113530921A (zh) | 基于es-mlstm的液压机故障诊断方法 | |
Prakash et al. | Crop Disease Detection and Classification with Transfer learning and hyper-parameters optimized Convolutional neural network | |
Remeikis et al. | Text categorization using neural networks initialized with decision trees | |
CN110888996A (zh) | 一种基于范围卷积神经网络的文本分类方法 | |
CN117668701B (zh) | Ai人工智能机器学习系统及方法 | |
Ribert et al. | A survey on supervised learning by evolving multi-layer perceptrons |
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 |