1. 引言
传统冯·诺依曼架构由于存储单元和计算单元的分离,需要频繁进行数据传输,导致高能耗问题[1]。而神经形态计算将计算与存储集成于同一硬件单元,为计算架构的发展提供了一条新的路径。人工神经网络(artificial neural network, ANN)是一种受人脑结构启发的神经形态计算模型[2]-[4]。ANN依赖激活函数来实现反向传播,以提供梯度用于更新权重。Softmax作为ANN中常用的激活函数,对每个输入值施加指数函数,并通过所有指数值的总和进行归一化[5] [6]。然而,由于ANN依赖电子路径进行计算,因此面临处理速度较慢、高能耗及物理限制等瓶颈问题[7]。
光学神经形态计算具有低能耗、高速信息传输以及强抗干扰能力,在神经形态计算领域展现出广阔的应用前景[8]-[10]。特别是,衍射深度神经网络(D2NN)利用光波在三维空间中传播的特性,实现无干扰且高度并行的信息传输,从而在深度学习过程中接近零能耗和零时延[11]-[13]。尽管D2NN具备诸多优势,但如何在其中集成激活函数仍然是一个巨大挑战。如果缺乏非线性机制,D2NN每一层的输出仅是前一层输入的线性函数,难以有效学习数据中复杂和抽象的模式[14]-[16]。
近年来,人工光电突触被开发用于将光信号转换为电响应。这些突触具有记忆效应,在光刺激消失后仍能保持电响应,并且可以通过调节光强、波长等光学参数来调整记忆持续时间[17]-[24]。本文提出了一种基于石墨烯纳米壁(GNWs)的人工光电突触,并将其集成至D2NN以实现激活功能。GNWs突触能够将光刺激转换为光电流信号,并表现出随光强增大呈指数增长的非线性光电流响应。值得注意的是,该指数增长的速率超过了传统softmax函数的增长速率。在D2NN进行手写数字分类任务时的仿真结果表明,相较于采用softmax进行激活的D2NN,集成GNWs光电突触的网络性能显著提高。
2. 非线性D2NN建模方法
2.1. GNWs光电突触性能测试
光电测量采用探针台和精密半导体参数分析仪(4200 SCS, Keithley)进行,在−4 V至4 V的偏置电压范围内完成检测。使用信号发生器控制的光纤激光器产生激光脉冲,设置了七种不同的激光功率,分别为0.1 W/cm2、0.209 W/cm2、0.298 W/cm2、0.354 W/cm2、0.412 W/cm2、0.451 W/cm2和0.493 W/cm2。光电流值通过计算总电流值减去暗电流值获得。基于实验数据,通过公式(1)拟合不同激光功率与对应光电流之间的关系:
(1)
其中,a为常数,b为指数系数。
2.2. 衍射神经网络模型建立
本文提出了一种新型的非线性衍射深度神经网络,该架构由输入层、一层衍射层以及基于石墨烯纳米壁光电突触的非线性输出层组成,如图1(a)所示。手写数字选自修改版国家标准与技术研究所(MNIST) 数据集。基于D2NN的识别过程在Python 3.7.0环境下进行模拟,并采用Google开发的TensorFlow框架完成深度学习任务[25] [26]。均方误差[27]被用作损失函数,学习率设定为0.001。反向传播训练采用随机梯度下降算法[28]实现。人工神经元与后续层神经元之间的连接关系基于瑞利–索末菲衍射方程[29]进行建模。
Figure 1. D2NN integrated with GNWs optoelectronic synapses. (a) Layered structure of the D2NN; (b) Schematic diagram of the GNWs optoelectronic synapse-based structure; (c) Nonlinear photocurrent response of the GNWs synapse; (d) Diffraction neural network using super-softmax and softmax activation functions
图1. 集成GNWs光电突触的D2NN。(a) D2NN的层结构;(b) 基于GNWs光电突触的结构示意图;(c) GNWs突触的非线性光电流响应;(d) 使用super-softmax和softmax激活函数的衍射神经网络图
在训练过程中,通过不断优化衍射层的相位分布,使网络性能达到最优。当输入数字“6”时,输出层对应数字“6”区域的光强达到最大值。石墨烯纳米壁光电突触由Si层、SiO2层、金电极及石墨烯纳米壁组成,其结构如图1(b)所示。输入携带数据信息的相干光经过衍射层调制后,传输至由光电突触组成的非线性输出层。光电突触根据接收到的光强生成按指数分布的光电流,如图1(c)所示,其中光强与光电流的关系由公式(1)确定。使用光电突触拟合的指数函数构造新的输出层非线性激活函数,我们称之为super-softmax,可以用于手写数字识别任务。该函数定义如下:
(2)
b的参数值使用公式(1)确定。设有一个长度为n的向量
,这是神经网络输出的未归一化得分向量。其中,
是向量x中的第i个元素,
是对所有得分取指数后的总和。super-softmax函数用于将神经网络输出的原始得分转换为一个概率分布,所有输出值的总和为1。这意味着每个输出值super-softmax(
)都在[0, 1]范围内,并且代表了该类别的概率。对于分类任务,super-softmax可以提供每个类别的相对置信度。
Super-softmax的工作机制可以通过其数学表达式来理解:super-softmax通过对每个得分
进行指数运算来放大较大值,并且由于指数函数的单调性,它会强调相对较大的值。对于某些得分,指数函数会使其变得更显著,而其他较小的得分则相对被“压制”。计算super-softmax时,我们首先计算所有得分的指数和(即分母部分),然后用每个得分的指数除以这个总和,确保输出的概率总和为1。这种归一化操作意味着,如果某个类别的得分远大于其他类别,那么它的概率值会接近1,其他类别的概率则趋近于0。如果所有类别的得分差异较小,super-softmax则会产生一个相对平衡的概率分布。
尽管super-softmax函数本身没有显式的参数需要选择,但其在神经网络中的使用和输出层的表现受一些超参数的影响。这些超参数的选择对最终的性能有重要影响。首先是学习率,super-softmax通常与梯度下降算法结合使用,因此学习率的选择对模型的训练非常重要。如果学习率过大,梯度下降可能会不稳定,导致无法收敛;学习率过小则可能导致训练速度过慢。其次可能存在梯度消失的问题。在使用super-softmax时,由于指数函数的存在,网络在反向传播过程中可能会遇到梯度爆炸或梯度消失的问题,尤其是在输入值较大的时候。为了缓解这一问题,通常需要对输入进行适当的规范化。
为进行对比分析,输出层还采用了传统的softmax函数作为激活函数来生成对比结果,如图1(d)所示。Softmax函数定义如下:
(3)
3. 结果与讨论
3.1. GNWs光电突触的非线性光电流响应
图2(a)显示了基于GNWs的人工光电突触的正视SEM图像。两个金电极的宽度为300 µm,高度为640 µm,电极间距为70 µm。金电极通过GNWs互连(图2(b)),为了模拟人脑的工作机制,金电极分别对应轴突和树突端,GNWs充当囊泡,而光生电子/空穴类比于神经递质。当施加激光脉冲时,突触光电流响应被激发。
图2(c)展示了在0.45 W/cm2激光脉冲下的光电流响应,结果表明1秒脉冲可产生0.105 µA的光电流。在脉冲关闭后,光电流逐渐衰减,表明该器件具备记忆特性。
Figure 2. Optoelectronic properties of GNWs artificial synapses. (a) Front view SEM image of the GNWs optoelectronic synapse; (b) High-resolution SEM image of the synapse; (c) Photocurrent response to a single pulse within 1 second under a laser power of 0.45 W/cm2; (d) Fitted exponential relationship between laser power and photocurrent
图2. 基于GNWs人工突触的光电特性。(a) GNWs光电突触正视SEM图;(b) 突触的高分辨率SEM图像;(c) 在0.45 W/cm2的激光功率下,1秒内对单个脉冲的光电流响应;(d) 激光功率和光电流之间的拟合指数关系
测量了不同激光功率下的光电流响应。在0.1 W/cm2至0.49 W/cm2的激光功率范围内,光电流从0.024 µA增加到0.134 µA。实验结果表明,人工光突触可通过提高光功率从短时记忆(short term memory, STM)向长时记忆(long term memory, LTM)转变[30]。此外,激光功率密度与光电流之间的关系可用指数函数
拟合,如图3(d)所示。更重要的是,该指数函数表明公式(1)中的参数b值为4.64,突触的光电转换特性表现出比softmax函数更强的非线性。
3.2. 输出层非线性D2NN仿真结果
在本研究中,我们将super-softmax函数应用于D2NN的输出层,来完成0~9十个手写数字的识别任务。其计算过程如图3(a)所示。该过程始于输入数字数据通过衍射层调制,在输出层生成对应于数字0~9的光强值
。这些值分别通过了super-softmax函数与softmax函数处理,生成最终的输出值。在模型训练过程中,采用随机梯度下降算法对这些概率进行反向传播,并优化网络权重。经过多次迭代,模型收敛至最优状态,实现对输入数据的有效识别。
在不同衍射层神经元数量下进行了基于D2NN的仿真实验,并将识别准确率结果呈现在图3(b)中。对于16 × 16神经元的D2NN,使用softmax非线性激活函数时的准确率为0.25,而使用super-softmax函数后,准确率提高至0.59,相较而言提升了34%。对于32 × 32神经元网络,使用softmax函数时的准确率为0.64,而使用super-softmax函数后,准确率提高至0.90。然而,在较大规模的神经元网络(48 × 48, 64 × 64和80 × 80)中,当输出值过大时,会出现数值溢出问题,进而影响损失函数的计算[31]。此外,图3(c)展示了在不同神经元数量下,衍射层的相位调制分布。在较大规模的神经元网络(48 × 48, 64 × 64和80 × 80)中,由于网络停止运算,未能得到相位分布。实验结果表明,在D2NN输出层使用uper-softmax作为非线性激活函数,在人工智能识别任务中具有显著优势。
Figure 3. Handwritten digit recognition results of the nonlinear D2NN. (a) Computation process of the D2NN with super-softmax activation function in the output layer; (b) Recognition accuracy of the D2NN using softmax and super-softmax activation functions; (c) Phase distribution of the diffraction layer under different numbers of neurons
图3. 非线性D2NN的手写数字识别结果。(a) 输出层采用super-softmax激活函数D2NN的计算过程;(b) 采用softmax和super-softmax函数的D2NN识别准确率;(c) 不同神经元下衍射层的相位分布
为解决数值溢出问题并进一步提高识别准确率,在非线性激活函数中引入了归一化过程。其计算过程如图4(a)所示。首先,D2NN的衍射层在输出层生成对应于数字0~9的光强值。然后,这些值按照公式
进行归一化处理,归一化后的值分别通过super-softmax非线性函数和softmax
非线性函数进行转换,以生成最终的输出值并优化识别性能。基于归一化过程的识别准确率在16 × 16、32 × 32、48 × 48、64 × 64和80 × 80神经元数量下的结果如图4(b)所示,图4(c)则展示了相应的相位调制分布。归一化过程有效限制了指数函数的输入数据范围,成功避免了溢出问题并确保了网络的稳定性。此外,归一化后的super-softmax函数在识别准确率方面明显优于归一化softmax函数。
在64 × 64神经元的网络中,softmax和super-softmax函数的准确率分别为0.912和0.951,性能提升最高。图5(a)为64 × 64神经元网络的识别准确率曲线,图5(b)、图5(c)分别为此网络使用两种激活函数下的混淆矩阵结果图。图6展示了64 × 64神经元网络对0~9十个数字的识别结果图,可以看出,在输入数字对应的输出位置上,输出光强最大,证明网络很好地识别了输入数据。
为了验证集成GNWs光电突触形成的非线性激活函数——super-softmax函数的性能,我们将其分别应用于前馈神经网络(Artificial Neural Network, ANN)和具有时间序列处理能力的递归神经网络(Recurrent Neural Network, RNN)。在具体实现中,我们在含有单层隐藏层(64 × 64神经元)的三种网络架构中,验证了归一化后的super-softmax函数的效果。仿真结果表明,super-softmax函数在这三种网络架构中的表现均优于传统softmax函数,如表1所示,进一步展示了其在神经网络中的潜力和优势。
Figure 4. Handwritten digit recognition results of the nonlinear D2NN with normalized activation function. (a) Computation process of the D2NN with normalized Super-Softmax activation function in the output layer; (b) Recognition accuracy of the D2NN using Softmax and Super-Softmax activation functions; (c) Phase distribution of the diffraction layer under different numbers of neurons
图4. 具有归一化激活函数的非线性D2NN手写数字识别结果。(a) 输出层采用归一化后super-softmax激活函数D2NN的计算过程;(b) 采用softmax和super-softmax函数的D2NN识别准确率;(c) 不同神经元下衍射层的相位分布
Figure 5. Recognition accuracy of the nonlinear D2NN with 64 × 64 neurons. (a) Accuracy variation curve of the D2NN using normalized Softmax and Super-Softmax functions; (b) Confusion matrix of the D2NN with Softmax activation function; (c) Confusion matrix of the D2NN with Super-Softmax activation function
图5. 64 × 64神经元数量下非线性D2NN的识别准确率。(a) 采用归一化softmax和super-softmax函数的D2NN的准确率变化曲线;(b) 具有softmax激活函数的D2NN混淆矩阵;(c) 具有super-softmax激活函数的D2NN的混淆矩阵
4. 总结
本论文提出了一种将D2NN与人工光电突触集成以实现非线性激活函数的方案。使用的GNWs光电突触,通过增加光功率,可以实现短时记忆(STM)到长时记忆(LTM)的转换。激光功率密度与光电流之间
Figure 6. Energy distribution of the nonlinear D2NN for the recognition of ten handwritten digits 0~9 with 64 × 64 neurons
图6. 64 × 64神经元数量下非线性D2NN对0~9十个手写数字识别的能量分布图
Table 1. Performance of super-softmax function in different networks
表1. Super-softmax函数在不同网络下的性能
|
准确率(ANN) |
准确率(RNN) |
准确率(D2NN) |
Softmax |
91.1% |
89.4% |
91.2% |
Super-softmax |
94.3% |
93.3% |
95.1% |
的关系可通过指数函数
进行建模,其中b的计算值为4.64。随后,我们构建了一个具有非线性激活函数的D2NN,并利用基于GNWs的突触阵列作为输出层。经过衍射层处理的光强值通过super-softmax
非线性函数
进行转换,以用于反向传播和权重优化。在16 × 16和32 × 32神经元网络中,由于较高的非线性特性,采用super-softmax函数的手写数字识别性能优于采用softmax函数
的情况。然而,在更大规模神经网络中,识别准确率因数值溢出问题而下降。为了解决该问题,在非线性激活函数中引入归一化处理,归一化公式为
。在64 × 64神经元网络中,归一
化softmax和归一化super-softmax的识别准确率分别达到0.912和0.951。利用光电突触阵列实现的super-softmax激活函数,为光计算技术提供了一种有前景的解决方案,在图像识别、模式识别和数据密集型计算等应用场景中具有广阔的应用潜力。
NOTES
*通讯作者。