计算机工程与应用 ›› 2020, Vol. 56 ›› Issue (17): 251-257.DOI: 10.3778/j.issn.1002-8331.1906-0118
李增刚,王正彦,孙敬成
LI Zenggang, WANG Zhengyan, SUN Jingcheng
摘要:
手写数字逆向传播(Back Propagation,BP)神经网络由输入层、隐藏层、输出层构成。训练数据是MNIST开源手写数字集里60?000个样本,BP算法由随机梯度下降算法和反向传播算法构成,采用network小批量数据迭代30次的网络学习过程,训练出合适的权重和偏置。利用现场可编程门阵列(Field Programmable Gate Array,FPGA)硬件平台,Verilog代码实现BP算法、时序控制各层网络训练状态、Sigmoid(S型)函数及导数线性拟合是设计重点。初始化均值为0,方差为1的高斯分布网络权重和偏置,采用小批量数据个数[m]为10,学习系数[η]为3,在系统中输入样本及标签利用Quartus13.0和modelsim仿真与分析,工程运行迭代30次时间是4.5 s,样本识别正确率是91.6%,与软件python2.7相比满足了硬件设计的实时性和手写数字识别的高准确率。