一种手写数字识别模型训练方法和系统技术方案

技术编号:29013685 阅读:19 留言:0更新日期:2021-06-26 05:14
本发明专利技术公开了一种手写数字识别模型训练方法和系统,输入MNIST训练数据集和STDP突触初始权值矩阵,建立各神经元模型和各突触模型,使用分布式多线程并行技术,根据计算机资源动态使用多个线程对神经元群体进行预先划分,然后建立线程内局域脉冲神经网络,将每个独立线程内的神经元群体、突触连接关系以及突触权值进行初始化,在初始化完成后,所有线程按照设定轮数迭代进行并行训练,解决了现有的脉冲神经网络采用串行训练方法,不能合理利用计算机资源,训练效率低下,不利于推广的技术问题。问题。问题。

【技术实现步骤摘要】
一种手写数字识别模型训练方法和系统


[0001]本专利技术涉及手写识别
,尤其涉及一种手写数字识别模型训练方法和系统。

技术介绍

[0002]手写数字识别,是计算机从纸质文档、照片或其他来源接收和理解并识别可读的手写数字的能力,在实际生活中具有很大的实际应用价值,例如,手写数字识别可以应用在银行汇款单号识别中,以极大的减少人工成本,在此过程中,一般使用深度人工神经网络结构进行识别。但是深度人工神经网络的本质与实际的大脑模型相差甚远,识别率并不高。为此,目前提出了使用第三代人工神经网络进行改进,以脉冲的形式实现神经元之间的信息传输的脉冲神经网络(Spiking Neural Network,SNN),被誉为第三代人工神经网络,在神经元模型、突触模型、学习机制上具有很强的生物合理性,与真实生物神经网络高度接近。但是,由于脉冲神经网络中神经元类型复杂多样,神经元数目众多,连接各神经元的突出结构具有不同的延时和可修改的连接权值,海量神经元的实时活动状态模拟,对于计算机来说是个巨大的挑战,例如利用时序依赖脉冲(突触)可塑性学习规则(Spike Timing Dependent Plasticity,STDP)的无监督训练算法,虽然能够成功训练出用于手写数字识别预测的网络模型,但是这种训练方法是典型的串行训练方法,不能合理利用计算机资源,训练效率低下,不利于推广。

技术实现思路

[0003]本专利技术提供了一种手写数字识别模型训练方法和系统,用于解决现有的脉冲神经网络采用串行训练方法,不能合理利用计算机资源,训练效率低下,不利于推广的技术问题。
[0004]有鉴于此,本专利技术第一方面提供了一种手写数字识别模型训练方法,包括:
[0005]将MNIST训练数据集和STDP突触初始权值矩阵输入全局脉冲神经网络模型,全局脉冲神经网络模型中包含各神经元模型和各突触模型;
[0006]根据计算机资源动态使用多线程对全局脉冲神经网络模型的神经元群体进行预先划分;
[0007]建立线程内局域脉冲神经网络模型,将每个独立线程内的神经元群体、突触连接关系和突触权值进行初始化;
[0008]在初始化完成后,对所有线程内局域脉冲神经网络模型按照预设轮数进行迭代训练,其中,在训练期间不断进行周期同步与脉冲传输;
[0009]在训练结束后,保存各个线程的所有STDP突触最终权值,整合生成突触权值矩阵并保存。
[0010]可选地,将MNIST训练数据集和STDP突触初始权值矩阵输入全局脉冲神经网络模型,包括:
[0011]将MNIST训练数据集中所有28*28像素的训练图像以784*1的矩阵进行转换,以均匀分布的随机数作为STDP突触初始权值矩阵的初始值,输入全局脉冲神经网络模型。
[0012]可选地,全局脉冲神经网络模型包括三层网络结构,分别为输入层N1、兴奋层N2和抑制层N3;
[0013]N1={A
i
={a
k
;k=1,2,...,K};i=1,2,...I}
[0014]N2={b
i
;i=1,2,...,I}
[0015]N3={c
i
;i=1,2,...,I}
[0016]N1到N2的突触集合为:
[0017]E
12
={H
i

I
={e
ki
=(a
k
,b
i
,w
ki
);k=1,2,...,K};i

,i=1,2,...,I}
[0018]N2到N3的突触集合为:
[0019]E
23
={g
ii
=(b
i
,c
i
,w
ii
);i=1,2,...,I}
[0020]N3到N2的突触集合为:
[0021]E
32
={L
i
={e
ii

=(c
i
,b
i

,w
ii

);i

=1,2,...,I且i

≠i};i=1,2,...,I}
[0022]其中,K为输入图像的像素个数,I为兴奋层神经元个数,且输入神经元团个数、兴奋层神经元个数和抑制层神经元个数相等,均为I;A
i
为输入神经元团,对应一幅输入的手写数字灰度图像;a
k
为输入神经元,对应于一幅输入的手写数字灰度图像的一个像素;b
i
为兴奋神经元;c
i
为抑制神经元;H
i

i
为输入神经元团A
i

到兴奋神经元b
i
的突触集合,e
ki
为第i

个输入神经元团中的第k个突触,w
ki
为e
ki
的权值;g
ii
为兴奋神经元b
i
到抑制神经元c
i
有向边,w
ii
为g
ii
连接权值;L
i
为抑制层神经元c
i
到兴奋层的突触集合,e
ii

为抑制神经元c
i
到兴奋神经元b
i

的突触,w
ii

为e
ii

的权值。
[0023]可选地,根据计算机资源动态使用多线程对全局脉冲神经网络模型的神经元群体进行预先划分,包括:
[0024]根据计算机的CPU个数创建多个线程,每个线程独立占用一个CPU,其中,创建的线程个数不超过计算机的CPU个数;
[0025]在每个线程中,输入神经元连接到兴奋神经元的STDP突触数量为K
×
(I/X)个,兴奋神经元连接到抑制神经元的静态突触数量为I/X个,抑制神经元连接到兴奋神经元的静态突触数量为((400/X)

1)
×
(400/X)个,匹配神经元连接到兴奋神经元的静态突触数量为(I/X

1)
×
(1

I/X)个,其中,X为CPU个数。
[0026]可选地,每个线程内局域脉冲神经网络模型包括四层网络结构,分别为:输入层M1、兴奋层M2、抑制层M3和映射层M4;
[0027]输入层M1输入神经元a
k
范围为:k=1,2,...,K,兴奋层M2兴奋神经元b
i
范围为:x
×
I/X,...,(x+1)
×
I/X,抑制层M3抑制神经元c
i
范围为:x...

【技术保护点】

【技术特征摘要】
1.一种手写数字识别模型训练方法,其特征在于,包括:将MNIST训练数据集和STDP突触初始权值矩阵输入全局脉冲神经网络模型,全局脉冲神经网络模型中包含各神经元模型和各突触模型;根据计算机资源动态使用多线程对全局脉冲神经网络模型的神经元群体进行预先划分;建立线程内局域脉冲神经网络模型,将每个独立线程内的神经元群体、突触连接关系和突触权值进行初始化;在初始化完成后,对所有线程内局域脉冲神经网络模型按照预设轮数进行迭代训练,其中,在训练期间不断进行周期同步与脉冲传输;在训练结束后,保存各个线程的所有STDP突触最终权值,整合生成突触权值矩阵并保存。2.根据权利要求1所述的手写数字识别模型训练方法,其特征在于,将MNIST训练数据集和STDP突触初始权值矩阵输入全局脉冲神经网络模型,包括:将MNIST训练数据集中所有28*28像素的训练图像以784*1的矩阵进行转换,以均匀分布的随机数作为STDP突触初始权值矩阵的初始值,输入全局脉冲神经网络模型。3.根据权利要求1所述的手写数字识别模型训练方法,其特征在于,全局脉冲神经网络模型包括三层网络结构,分别为输入层N1、兴奋层N2和抑制层N3;N1={A
i
={a
k
;k=1,2,...,K};i=1,2,...I}N2={b
i
;i=1,2,...,I}N3={c
i
;i=1,2,...,I}N1到N2的突触集合为:E
12
={H
i

I
={e
ki
=(a
k
,b
i
,w
ki
);k=1,2,...,K};i

,i=1,2,...,I}N2到N3的突触集合为:E
23
={g
ii
=(b
i
,c
i
,w
ii
);i=1,2,...,I}N3到N2的突触集合为:E
32
={L
i
={e
ii

=(c
i
,b
i

,w
ii

);i

=1,2,...,I且i

≠i};i=1,2,...,I}其中,K为输入图像的像素个数,I为兴奋层神经元个数,且输入神经元团个数、兴奋层神经元个数和抑制层神经元个数相等,均为I;A
i
为输入神经元团,对应一幅输入的手写数字灰度图像;a
k
为输入神经元,对应于一幅输入的手写数字灰度图像的一个像素;b
i
为兴奋神经元;c
i
为抑制神经元;H
i

i
为输入神经元团A
i

到兴奋神经元b
i
的突触集合,e
ki
为第i

个输入神经元团中的第k个突触,w
ki
为e
ki
的权值;g
ii
为兴奋神经元b
i
到抑制神经元c
i
有向边,w
ii
为g
ii
连接权值;L
i
为抑制层神经元c
i
到兴奋层的突触集合,e
ii

为抑制神经元c
i
到兴奋神经元b
i

的突触,w
ii

为e
ii

的权值。4.根据权利要求3所述的手写数字识别模型训练方法,其特征在于,根据计算机资源动态使用多线程对全局脉冲神经网络模型的神经元群体进行预先划分,包括:根据计算机的CPU个数创建多个线程,每个线程独立占用一个CPU,其中,创建的线程个数不超过计算机的CPU个数;在每个线程中,输入神经元连接到兴奋神经元的STDP突触数量为K
×
(I/X)个,兴奋神经元连接到抑制神经元的静态突触数量为I/X个,抑制神经元连接到兴奋神经元的静态突
触数量为((400/X)

1)
×
(400/X)个,匹配神经元连接到兴奋神经元的静态突触数量为(I/X

1)
×
(1

I/X)个,其中,X为CPU个数。5.根据权利要求4所述的手写数字识别模型训练方法,其特征在于,每个线程内局域脉冲神经网络模型包括四层网络结构,分别为:输入层M1、兴奋层M2、抑制层M3和映射层M4;输入层M1输入神经元a
k
范围为:k=1,2,...,K,兴奋层M2兴奋神经元b
i
范围为:x
×
I/X,...,(x+1)
×
I/X,抑制层M3抑制神经元c
i
范围为:x
×
I/X,...,(x+1)
×
I/X,映射层M4映射神经元d
j
范围为:1,...,x
×
I/X或(x+1)
×
I/X,...,I;M1={A
i
={a
k
;k=1,2,...,K};i=1,2,...I/X}M2={b
i
;i=x
×
I/X,...,(x+1)
×
I/X}M3={c
i
;i=x
×
I/X,...,(x+1)
×
I/X}M4={d
j
;j=1,...,x
×
I/Xor(x+1)
×
I/X,...,I}M1到M2的突触集合为:F
12
={P
i

I
={f
ki
=(a
k
,b
i
,w

ii
);k=1,2,...,K};i

,i=x
×
I/X,...,(x+1)
×
I/X}M2到M3的突触集合为:F
23
={
rii
=(b
i
,c
i
,w

ii
);i

=x
×
I/X,...,(x+1)
×
I/X且i

≠i;i=x
×
I/X,...,(x+1)
×
I/X}M3到M2的突触集合为:F
32
={Q
i
={f
ii

=(c
i
,b
i

w

ii

);i

=x
×
I/X,...,(x+1)
×
I/X且i

≠i};i=x
×
I/X,...,(x+1)
×
I/X}M4到M2的突触集合为:F
42
={S
j
={f
ji
=(d
j
,b
i
,w

ji
);i=x
×
I/X,...,(x+1)
×
I/X};j=1,...,x
×
I/Xor(x+1)
×
I/X,...,I}在局域脉冲神经网络中,所有的神经元状态均为预设默认静息状态,STDP突触F
12
接收均匀分布随机值作为训练初始权值并在每周期保持更新状态,静态突触F
23
、F
32
和F
42
接收预设默认值作为训练初始权值并在每周期...

【专利技术属性】
技术研发人员:林彦宇刘怡俊林文杰叶武剑刘文杰
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1