5.1.2卷积神经网络图像分类实验 ........................................... 42
5 算法仿真实验和分析
5.1 卷积神经网络算法设计及实验
评测中需要使用一个卷积神经网络结构来对第 4 章中所设计的基于光电混合神经网络算法进行验证和分析。现今的深度卷积神经网络算法一般分为网络的训练和推理两个阶段,训练阶段主要利用 CPU 和 GPU 来实现,推理阶段是将训练完成的网络模型部署到 ARM、FPGA 等芯片或服务器系统中。
5.1.1算法模型训练平台及测试数据
本节设计的卷积神经网络算法首先在 PC 平台实现训练阶段,操作系统采用 64位的 Windows 10,CPU 采用六核心六线程的 Intel Core i5-9400F,基于 CUDA 10.1的 Nvidia GTX1060Ti 显卡上进行训练,深度学习框架使用了 TensorFlow1.15.0 版本结合 Python 语言进行编程。表 5-1 列出了本节训练卷积神经网络所使用的软硬件环境。
本实验所采用的训练集及测试集为 MNIST(Mixed National Institute of Standards and Technology)手写体数字数据集,0-9 的 10 种数字对应 MNIST 数据集的 10 个类别,其中训练集包含 50000 张数字图像,测试包含 10000 张数字图像,每一张图像都是分辨率为 2828 的灰度图像,是神经网络分类算法中常用的公开数据集。
6 总结与展望
6.1 本文工作总结
随着深度学习和光学技术的发展,利用光子技术来实现神经网络算法逐渐引起研究人员的重视。本文的研究基于一种硅基光子计算芯片,分析了光子计算芯片的工作原理、物理构造和运算特点,介绍了基于光子计算芯片的光电混合计算系统及其运作方式。依托光电混合计算系统,充分结合光学元件计算原理和特性,本文设计了面向光子计算芯片的神经网络算法模型,主要工作包括以下几个方面:
(1)针对光子计算芯片矩阵-向量乘法的线性运算特点,本文提出将卷积神经网络算法中的线性计算使用光子计算芯片来实现,设计了与光子计算芯片结构匹配的卷积层算法,并对芯片的光电接口速率不匹配的问题提出了卷积优化算法,同时在此基础上利用将全连接层通过矩阵维度变换的算法转变为卷积运算,在运算规模有限的光子计算芯片上可以进行卷积运算和任意维度的全连接层运算。
(2)目前的光子计算芯片计算模式单一,无法承担卷积神经网络中的非线性计算,本文提出将卷积神经网络算法中的池化运算、激活函数等非线性计算由光电混合计算系统中的 FPGA 芯片中实现,设计了支持平均池化和最大池化的电域池化层算法。
(3)为了对算法的性能进行评估,本文设计了基于 FPGA 的算法仿真系统,来模拟光电混合计算系统进行算法测试。通过 HLS 工具将所设计的算法生成基于Verilog 的 IP 核,并添加优化指令来模拟光子计算芯片的并行计算方式。仿真实验使用了 ZYNQ 开发板移植卷积神经网络结构的推理过程,实现对 MNIST 数据集的识别,结果表明面向光子计算芯片的神经网络算法在速率上优于常规的卷积神经网络算法,证明光子计算芯片实现卷积神经网络算法的可靠性和灵活性。
参考文献(略)