研究人员已经证明,神经网络可以通过光学电路(图中蓝色矩形)进行训练。在整个网络中,有若干个这样的电路连接在一起。激光输入(绿色)的编码信息由光波导(黑色)通过芯片。芯片使用可调波束分离器(光波导中弯曲的部分)执行对人工神经网络至关重要的操作。分离器将两个相邻的波导连接在一起,并可通过调整光学移相器(红色和蓝色发光物体)的设置进行调整。分离器的作用就像“旋钮”,可以在特定任务的训练过程中进行调整。Credit: Tyler W. Hughes, Stanford University该论文的第一作者Tyler W. Hughes说:“使用物理设备而不是计算机模型进行训练,可以使训练过程更精确。”“而且,由于训练步骤是神经网络实现中非常耗费计算力的部分,因此,在光学电路上执行这个步骤,对于改进人工神经网络的计算效率、速度和功耗都是至关重要的。”
基于光的网络
虽然神经网络处理通常使用传统的计算机进行,但仍有大量的工作要专门设计针对神经网络计算优化的硬件。基于光学的设备非常吸引人,因为它们可以并行地执行计算,同时比电子设备消耗的能量更少。
在这项新研究中,研究人员通过设计一种光学芯片来复制传统计算机训练神经网络的方式,克服了实现全光学神经网络(all-optical neural network)的一个重大挑战。
人工神经网络可以被视为一个带有许多旋钮的黑盒。在训练期间,每个旋钮都要转动一点,然后测试系统,查看算法的性能是否得到改善。
“我们的方法不仅可以帮助预测旋钮转动的方向,还可以预测每个旋钮转动的方向,从而更接近预期的性能。”Hughes说,“我们的方法大大加快了训练速度,特别是对于大型网络,因为可以并行地获得每个旋钮的信息。”
片上训练
新的训练协议在具有可调谐光束分离器的光学电路运行,通过改变光学移相器的设置进行调整。具体来说,该方法是将编码有待处理信息的激光束发射到光学电路中,由光波导通过光束分离器进行传输,像旋钮一样进行调整,以训练神经网络算法。

在新的训练协议中,激光首先通过光学电路输入。退出设备后,计算出与预期结果的差值。然后,这些信息被用来产生一个新的光信号,这个信号通过光网络以相反的方向发送回来。

通过测量此过程中每个分束器周围的光强度,研究人员展示了如何并行地检测神经网络的性能随着每个分束器设置而变化的情况。移相器的设置可以根据这些信息进行更改,这个过程可以重复,直到神经网络产生期望的结果。
研究人员用光学模拟测试了他们的训练技术,方法是教算法执行复杂的任务,比如在一组点中找出复杂的特征。他们发现光学实现与传统计算机的执行类似。
研究团队领导者、斯坦发大学的Shanhui Fan说:“我们的研究表明,你可以利用物理定律来实现计算机科学算法。通过在光学领域对这些网络进行训练,证明光学神经网络系统可以利用光学器件来实现某些功能。”
研究人员计划进一步优化这个系统,并希望用它来实现神经网络任务的实际应用。他们设计的通用方法可用于各种神经网络架构,也可以用于其他应用。
相关研究论文《Training of photonic neural networks through in situbackpropagation and gradient measurement》发表在Optica上。