光学计算是替代当前电子计算机的另一种可能形式。在这篇博客中,我们探讨了光学计算的概念,并解释了光学矩阵乘法网络是如何工作的。我们还讨论了如何使用 COMSOL Multiphysics® 软件及其附加产品——波动光学模块对光学计算设备进行建模。结合这些产品的使用,展示了在模拟大型光学系统时应用波束包络法的优势。
光学计算简介
摩尔定律
在过去的几十年里,计算机的能力一直呈指数级增长。这种增长遵循摩尔定律,即集成电路中的晶体管数量每两年翻一番,而计算机的成本将降低。这使得我们今天享有的大部分现代技术成为可能。例如,主流计算机芯片完全基于晶体管等电子元件,每块芯片的晶体管数量几乎每两年就会翻一番。为了跟上这种增长,并在可控的功率效率下提高计算机芯片的性能,芯片上的电子元件(包括晶体管)的小型化既关键又不可避免。尽管工程师们在这方面做了出色的工作,将晶体管从厘米尺度缩小到纳米尺度,但重要的是要认识到,最终基本的限制将阻碍这类设备的发展。例如,当一个电子元件的尺寸接近原子水平时,量子效应将导致其功能不稳定。科学和工程界长期以来一直在考虑电子计算机的替代形式。最近引起广泛关注的一种替代是光学计算——指用光(光子)而不是电流(电子)进行计算。
虽然光学计算是一项新兴技术,但光学在信息技术中的应用已经有相当长的一段时间了,特别是利用光进行信息传输。损耗极低的光纤可以以光速长距离传输信息。光纤网络设备常用于数据中心甚至普通家庭。然而,在商业化方面,利用光进行计算仍处于起步阶段。
光学中的数学计算
众所周知,某些光学过程对应于数学计算。例如,考虑光的衍射。当光通过衍射介质时,本质上是在进行傅里叶变换积分(这个概念我们会在下一篇博客文章中详细地探讨)。然而,光学系统是否可以像我们今天拥有的计算机一样进行通用数学计算,可能还不是很清楚。目前,光学计算有许多不同的形式。已经证明,我们可以使用不同的机制进行简单的算术运算、矩阵乘法、积分和微分,等等。一般来说,模拟计算可以在专门设计的系统中以光的衍射、散射或传播形式发生。
左图:自由空间马赫–曾德尔调制器(MZI)中场分布的模拟。右图:一个集成的马赫–曾德尔调制器网络。
这里,我们并不笼统地讨论光学计算,而是深入探讨一个特殊的模拟光学计算系统:基于马赫-曾德尔调制器网络的矩阵乘法设备。这个系统非常有趣和有用,因为以不需要大量能耗的方式快速进行矩阵乘法,对于解决实际问题而言是可行的,这包括与机器学习有关的问题。大多数现代机器学习算法,如深度神经网络,都依赖于大量的矩阵乘法。如果我们可以建立一个能快速进行矩阵乘法的光学系统,就能充分利用机器学习的力量。
光学矩阵乘法
马赫-曾德尔调制器
首先,我们需要了解具有两个输入和两个输出的单个马赫-曾德尔调制器如何进行 2×2 酉矩阵乘法。从由两个 50:50 分束器 (BS)和三个移相器组成的经典 马赫-曾德尔调制器配置开始,如下图所示。当光通过移相器时,相移以 \theta, \alpha 和 \beta 的方式移动。我们将输入光束的复振幅标记为 E_1 和 E_2,输出光束的振幅度标记为 E’_1 和 E’_2。
接下来,我们将得到,其中 E’=U^2(\theta,\alpha,\beta)E
{bmatrix}E_1 \\E_2\end{bmatrix},
{bmatrix}E’_1 \\E’_2\end{bmatrix}
和 U^2(\theta, \alpha, \beta) 是任意酉矩阵,由 \theta, \alpha 和 \beta. 控制。 这里,上标 2 表示矩阵的维数。我们将在整篇文章中遵循这个符号约定。通过控制 \theta, \alpha 和 \beta 我们可以让这个光学系统以光速进行任何单一的 2×2 矩阵乘法。
具有两个 50:50 分束器和三个移相器的经典马赫-曾德尔调制器,可将光的相位移动 \theta, \alpha 和 \beta。M 表示反射镜。
当光束 E_1 通过一个对称的 50:50 分束器,传输的光束是 \frac{\sqrt{2}}{2}E_1,反射光束是 -j\frac{\sqrt{2}}{2}
E_1。反射光束中虚数 -j 的出现是由于反射相移 \pi/2,因为 e^{-j\pi/2}=-j。 对于通过分束器的光,比如说第一个分束器,它会拾取一个相位因子 e^{-j\theta}。 根据以上讨论的信息,我们可以对经过不同路径的光求 E’_1 和 E’_2,得出和:
{2}(-j\frac{\sqrt{2}}{2}
E_1+\frac{\sqrt{2}}
{2}E_2)e^{j\theta}e^{-j\alpha}\frac{\sqrt{2}}{2}
(\frac{\sqrt{2}}
{2}E_1-j\frac{\sqrt{2}}{2}
E_2)e^{-j\alpha},
{2}(-j\frac{\sqrt{2}}{2}
E_1+\frac{\sqrt{2}}
{2}E_2)e^{-j\theta}e^{-j\beta}+j\frac{\sqrt{2}}{2}
(\frac{\sqrt{2}}
{2}E_1-j\frac{\sqrt{2}}{2}
E_2)e^{-j\beta}
经过一些代数计算,可以得到
{2}[(e^{-j\theta}-1)E_1+j(1+e^{-j\theta})E_2],
[j(1+e^{-j\theta})E_1+(1-e^{-j\theta})E_2]
以矩阵形式表示为
{bmatrix}E’_1\\E’_2\end{bmatrix}
=\frac
{1} {2} \begin{bmatrix}e^{-j\alpha}(e^{-j\theta}-1) & je^{-j\alpha}(1+e^{-j\theta})\\je^{-j\beta}(1+e^{-j\theta}) & e^{-j\beta}(1-e^{-j\theta})\end{bmatrix} \begin{bmatrix}E_1\\E_2\end{bmatrix}
可以看到,矩阵
是一般复酉 2×2 矩阵的形式。可以很容易地检查到 U^2U^{2*}=I, 式中 I 是单位矩阵。从几何上讲,这个矩阵可以解释为输入向量的旋转。那么,我们如何在 COMSOL Multiphysics 中为这样的光学系统建模呢?
我们使用 COMSOL 软件的波动光学模块进行建模的原因有很多。乍一看,射线光学模块似乎也很合适,因为系统的大小比波长大几个数量级。然而,对于马赫-曾德尔调制器,我们主要关注的是干涉效应。射线光学模拟通常不会自动考虑干涉,因此不是理想的方法。
通过使用波动光学模块,干涉将被自动考虑。使用这个模块,我们就可以采用电磁波,波束包络 接口,它非常适合处理这种大小的模型。波束包络法特别适用于模拟长距离光束传播问题,如我们之前的博客文章所述。 通过将场分离为缓慢变化的包络函数和快速变化的相位因子的乘积,我们只需要根据包络函数变化的速度对模型进行网格剖分。这在很多模拟中为我们节省了大量的计算资源,例如上图所示的马赫-曾德尔调制器,因为光束大部分时间都在自由空间中传播,包络函数没有变化。在这个系统中,有两个光束传播方向——水平和垂直。波束包络法的双向公式是完美的选择。我们使用以下设置来设定波矢量:
- 第一个波:
- x =
ewbe.k
- y = 0
- x =
- 第二个波:
- x = 0
- y =
-ewbe.k
如果固定 \alpha 和 \beta ,同时 \theta 在 0 到 2\pi 内逐渐变化,就可以研究输出场振幅和。这是通过在输出边界计算 ewbe.Ez
来完成的。然后我们可以在复平面上绘制 E’_1 和 E’_2,如下图所示。该路径描绘了一个闭环为 \theta 的变化。这是我们之前展示的推导所预期的。图中的星号是使用前面提到的矩阵方程计算的,与输出边界的 ewbe.Ez
一致,正如前面预期的那样。
左图:经典马赫–曾德尔调制器的二维模型,具有两个 50:50 分束器 (BS) 和三个移相器,可将光的相位移动 \theta, \alpha 和 \beta。M 表示反射镜。右图:模拟 \theta 从 0 到 2\pi变化的场分布。 输入振幅度 E_1=1V/m 和 E_2=2V/m。
电磁波、波束包络的设置。
当 \theta 从 0 到变化 2\pi 时,复数 E’_1(左图)和 E’_2(右图)。实线表示模拟结果,星号表示使用上述解析推导计算的期望值。横轴和纵轴分别是实部和虚部,颜色代表 \theta 的变化。
n×n 酉矩阵乘法
我们现在知道如何实现 2×2 酉矩阵乘法是很有成效的,但是要注意,在大多数情况下,我们将使用维数大得多的矩阵。现在,我们来了解如何使用马赫-曾德尔调制器网络执行任意 n×n 酉矩阵乘法。在这里,我们将调用一个定理,即任何 n×n 酉矩阵都可以写成 \frac{n(n-1)}{2} 2×2 酉子矩阵。例如,一个 4×4 酉矩阵 U^4 可以写成 U^4=R_{31}R_{32}R_{33}R_{21}R_{22}R_{11},其中
这里,U^2_i 是一个 2×2 酉矩阵,由一个具有三个相移的马赫-曾德尔调制器控制,如前所述。通过将 n 维矢量空间中的一般旋转看作低维中的旋转序列,可以直观地理解这种矩阵分解。从物理上讲,这意味着我们可以按照每个马赫-曾德尔调制器 R_{ij} 代表的特定顺序构建马赫-曾德尔调制器网络。 因此,整个系统在光通过时对输入进行任意 n×n 酉矩阵乘法。在 4×4 酉矩阵的情况下,我们总共需要 6 个马赫-曾德尔调制器。
马赫–曾德尔调制器相当于一个光学 2×2 酉矩阵乘法核心。它对输入矢量进行 2×2 酉矩阵乘法。矩阵 U^2 可以通过使用电光效应或热光效应通过施加电压在马赫–曾德尔调制器中引起相移来进行编程。在右图中,马赫–曾德尔调制器中的第一个移相器是连续调谐的,这会在输出中引起矢量旋转。
原则上,这个系统可以使用自由空间光学技术来实现,如上图所示的经典马赫-曾德尔调制器。然而,自由空间光学技术的可扩展性相当差。分束器和反射镜都很笨重,而且不方便携带。如果我们想构建一个包含大量组件的光网络,就需要一种更具可扩展性的方法。基于目前互补金属氧化物半导体(CMOS)制造平台的集成硅光子学是一个很有前途的候选方案,适合大规模生产高度小型化的光学元件。与自由空间的马赫-曾德尔调制器类似,基于波导耦合器的集成马赫-曾德尔调制器具有相同的光学功能,但体积要小4个数量级。这使得设计光学芯片成为可能。设计一个具有光束 50:50 分割和足够相移的马赫-曾德尔调制器需要进行几何调整和优化。我们在这里不做详述,但您可以阅读这篇博客:如何设计一个使用电光效应作为相移机制的波导马赫-曾德尔调制器。
类似地,热光效应也常用于引起折射率调制,从而引起相移。
一个光学 4×4 酉矩阵乘法核心。该设备由 6 个马赫–曾德尔调制器网络组成。它对输入矢量进行 4×4 酉矩阵乘法。可以通过使用电光效应或热光效应在每个马赫–曾德尔调制器中引起相移来对矩阵进行编程。
第一个马赫–曾德尔调制器中的第一个移相器是连续调谐的。这会在第一和第二输出中引起矢量旋转。
广义 n×m 矩阵乘法
到目前为止,我们已经建立了使用马赫-曾德尔调制器 \frac{n(n-1)} {2} 的光网络来进行任意 n×n 酉矩阵乘法。显然,n×n 酉矩阵是一类非常特殊的矩阵。为了使系统普遍适用,我们需要求解广义的 n×m 矩阵乘法,这不仅限于酉矩阵和方阵的情况。这是可能的,因为有奇异值分解 (SVD)。SVD 表明任何 n×m 矩阵 M 可以分解为 U\Sigma V^*, 式中 U 是一个 n×n 酉矩阵,\Sigma 是一个 n×m 对角矩阵,V^* 是一个 m×m 酉矩阵。* 表示复共轭。因此,当计算 M 时,我们只需要一个用于 U 的光网络,一个用于 V* 的光网络, 并用代表对角线矩阵 \Sigma 的衰减器阵列连接它们,因为对角矩阵仅表示每个元素按常数缩放。衰减器也可以由具有单输入和单输出的马赫-曾德尔调制器制成。
一个光学 n×m 矩阵乘法装置由两个酉矩阵乘法核心和一个衰减器阵列组成。
总之,我们拥有构建用于一般 n×m 矩阵乘法的光学系统所需的所有要素。文末将提供一个 n×n 矩阵乘法系统的建模示例链接。该模型可用作构建更复杂的 n×m 矩阵的灵感。
结束语
在这篇博客中,我们为您展示了任何 n×m 矩阵都可以分解为多个 2×2 酉子矩阵和一个对角矩阵的乘积。这样就能够使用一系列马赫-曾德尔调制器构建用于一般矩阵乘法的光网络。另外,我们还介绍了使用集成低损耗硅光子进行光学计算的优势。
未来的手机和电脑会由光学或光子处理器驱动吗?这有待观察,沿途还有许多技术难关需要攻克。可以肯定的是,多物理场仿真是复杂光学计算系统设计和优化的重要组成部分。如本文案例所示,COMSOL Multiphysics 中的波束包络法功能特别适用于模拟时间快速和存储效率良好的大型光学模型。它还能够模拟整个光学系统,这在考虑其它物理效应时至关重要,例如不均匀的温度梯度或机械变形。
下一步
单击下面的按钮,进入 COMSOL 案例库,尝试自己模拟自由空间马赫-曾德尔调制器和光学酉矩阵乘法设备教程模型:
拓展资源
- 想了解更多关于摩尔定律、光计算和马赫-曾德尔调制器网络的信息吗?请查看以下这些相关资源。
参考文献
- J. Cheng, H. Zhou, and J. Dong, “Photonic Matrix Computing: From Fundamentals to Applications”, Nanomaterials, 11(7), 1683, 2021.
评论 (0)