DOI: https://doi.org/10.1038/s41586-020-03063-0
人工神经网络(ANN)是具有加权连接的节点的集合,通过适当的反馈来调整网络参数,可以“学习”并执行面部识别、语音翻译、玩策略游戏和医疗诊断的复杂操作 。经典的全连接前馈网络在处理极高维数据方面面临挑战,而卷积神经网络(CNN)受视觉皮层系统(生物)行为的启发,可以抽象出原始形式的输入数据的表示,然后以前所未有的准确性预测其属性,并大大降低参数复杂性。
CNN( convolutional neural networks)已广泛应用于计算机视觉、自然语言处理等领域。神经网络性能依赖于其底层硬件的计算能力。
光学神经网络(ONN)作为新一代计算候选技术,有潜力解决电子硬件的带宽限制,利用超过10 THz的光通信带宽实现超高速计算。ONN模拟运行,规避了冯·诺依曼架构中数据存取的能量和时间消耗问题。尽管已在开发高度并行、高速、可训练的ONN方面取得进展,并有可能实现单光子芯片集成,提供高计算密度,但ONN在处理大规模数据、网络规模与硬件空间权衡、及充分利用宽光带宽方面仍有改进空间。
2020年,澳大利亚莫纳什大学的Xu等人引入ONN的时间-波长复用概念并应用于以每秒110亿次操作(每秒千兆操作)运行的单个感知器[2]。
2021年,该团队成功演示了一种光学卷积加速器(CA),用于处理和提取大规模数据中的特征,从而生成具有多个同时并行核的卷积。所提出的光学CNN的架构包括一个卷积层、一个池化层和一个全连接层[1],通过使用集成的克尔微梳源交错复用波长、时间和空间维度,我们实现了高达 11.322 TOPS 的矢量计算速度。该工作使用VCA以 3.8 TOPS 的矩阵处理速度处理 250,000 像素的图像,相关工作发表在《Nature》。该团队20年和21年的两篇工作其实原理较为相似,但其核心区别在于卷积加速器这一概念的引申和相关工作的补。
图1 TOPS光子CA的工作原理
因此,卷积窗口在与X波特率相匹配的调制速度下有效地滑动。每个输出符号都是 R 乘法累加 (MAC) 运算的结果,计算速度由 2R/τ TOPS 给出。由于该过程的速度与波特率和波长数量成比例,因此来自微梳的大量平行波长数量会产生许多 TOPS 的速度。此外,输入数据 X 的长度在理论上是无限的,因此 CA 可以处理任意大规模的数据——唯一的实际限制是外部电子设备。
计算速度中的系数2是因为每次MAC操作包含了一次乘法和一次加法。
VCA通过光探测将所有波长的时域波形X复制品求和可以等效为W与X的卷积的原理如图2所示,求和结果为:
该工作也提出通过为每个核添加R个波长的子带,可以同时实现多个核的卷积。在组播和色散延迟之后,子带(内核)被解复用并分别检测,为每个内核生成卷积结果,即电子波形。VCA是完全可重构和可扩展的:内核的数量和长度是任意的,仅受波长总数的限制。
多核矢量CA与矩阵CA
图5显示了图像处理结果。将 500 × 500 输入图像以电子方式展平为向量 X,并编码为 250,000 个时间符号的强度,每个符号的分辨率为 8 位,通过高速电数模转换器形成电输入波形,数据速率为 62.9 千兆波特(时隙 τ = 15.9 ps,如图5b)。所有 10 个内核的每张图像的持续时间 (25*15.9 ps=3.975 μs) 相当于 1/3.975 μs 的处理速率,即每秒 25 万张超大规模图像。
CA系统中通过引入2.2公里单模光纤传输,从而产生15.9ps的时间延迟(间距为48.9 GHz的波长通道之间),与数据符号周期τ同步,实现10个内核的时间波长交错。90条卷积核对应的波长解复用为10组,每组9条,对应不同内核,由10个光电探测器检测。检测后,通过模数转换器和重采样,将信号转换为数字形式,完成卷积操作,生成10个特征图,提取输入图像的分层特征,如图5d所示。
VCA 充分利用了时间、波长和空间复用,其中卷积窗口以等于每秒 629 亿个符号的调制波特率的速度有效地滑过输入向量 X。每个输出符号是 9(每个内核的长度)MAC 操作的结果,因此每个内核的核心向量计算速度(即吞吐量)为 2 × 9 × 62.9 = 1.13 TOPS。因此,对于 10 个内核,VCA 的总计算速度为 1.13 × 10 = 11.3 TOPS。
所提出的CA 是完全动态可重构的,也是可扩展的。
图6 光学CNN的实验示意图。左侧是输入前端CA,右侧是全连接层;微梳源为 TOPS 光子 CA 以及全连接层系统提供波长。用于采样和池化等的电子数字信号处理 (DSP) 模块位于此结构的外部
图7 光学CNN的卷积层
光学CNN的架构包括一个卷积层、一个池化层和一个全连接层。外设系统,包括信号采样、非线性函数和池化,都是通过数字信号处理硬件以电子方式实现的。
卷积层执行网络中最繁重的计算任务,占总计算能力的 55% 到 90%。将数字图像(30 × 30 个灰度矩阵,分辨率为 8 位)平展为向量,并在时域中以 11.9 吉波特(时隙 τ = 84 ps)进行多路复用。使用了三个 5 × 5 个内核,需要 75 条微梳线(图 5),垂直卷积步幅为 5。使用约13公里的标准单模光纤实现色散延迟,以匹配数据波特率。波长被解复用成三个核,由高速光电探测器检测,然后进行采样得到feature maps,将得到的特征图进一步池化(用数字电子器件进行非线性缩放)以形成全连接层的输入数据X FC (72 × 1)。
图8 光学CNN的全连接层
全连接层包含10个神经元,与0-9每个手写数字一一对应。每个神经元l的突触权重由72×1矩阵WFC(l)表示,匹配72条梳状线的光功率分布,作为神经元的光输入。光信号在72波长上多播并延迟后,通过波整形器分配至10个空间端口,对应各神经元。最终,通过采样卷积结果的第73个符号得到各神经元输出。光学CNN的最终输出由输出神经元的强度表示(如图8),其中每个测试图像的最高强度对应于预测的类别。
注1:由于CNN的这一部分涉及线性处理,因此核波长加权可以在电光调制之前或之后都行,只要在光电探测之前实现即可。后者的优点是,解复用和加权都可以通过单个波形整形器实现。
注2:为了达到设计的核权重,使用基于硅基液晶的光谱整形器(Finisar WaveShaper 4000S)对生成的微梳进行功率整形。该工作在实验中使用了两个波形整形器,第一个用于使微梳光谱变平,第二个波形整形器用于整形所需的精确梳状功率。
注3:对于两个实验(500 × 500 图像处理实验和 CNN 的卷积层)中的 CA,第二个波形整形器根据卷积核的配置同时将波长通道整形和解复用到单独的空间端口中。而对于CNN的全连接层,第二个波形整形器同时对 10 个输出神经元执行整形和功率分割(而不是解复用)。
跋
[1]Xu, X., Tan, M., Corcoran, B. et al. 11 TOPS photonic convolutional accelerator for optical neural networks. Nature 589, 44–51 (2021). https://doi.org/10.1038/s41586-020-03063-0
[2]X. Xu, M. Tan, B. Corcoran, J. Wu, T. G. Nguyen, A. Boes, S. T. Chu, B. E. Little, R. Morandotti, A. Mitchell, D. G. Hicks, D. J. Moss, Photonic Perceptron Based on a Kerr Microcomb for High-Speed, Scalable, Optical Neural Networks. Laser & Photonics Reviews 2020, 14, 2000070. https://doi.org/10.1002/lpor.202000070