作者:焦述铭
导读
如今电子计算机尽管性能越来越强大,但处理某些复杂计算问题时,仍然难于应对,无法发挥出最高的效率。比如当一个线性方程组十分庞大时,无论从输入到输出的正向向量矩阵相乘,还是从输出到输入的反向求解,都是一个挑战。近年来,一些跳出思维定势的新型计算模式被尝试,不再依赖现有的计算机算法和芯片,而是另起炉灶,直接通过简单的电路模拟方程组来快速求解,由于光与电之间的相似性,光学系统也可以通过类似方式去完成任务,展示出异曲同工之妙。
现有电子计算机如何求解?
我们从一个很简单的小学数学题说起:笼子里有10只鸡和5只兔子,问笼子里一共有多少只动物?很简单,一共有15只。那笼子里的动物一共有多少只脚呢?鸡有2只脚,兔子有4只脚,一共有10×2+5×4=40只脚。如果反过来,已知笼子里鸡和兔共15只,共有40只脚,问鸡和兔各有几只?这就是一个经典的“鸡兔同笼”问题。
有人的解法是假设鸡和兔都训练有素,吹一声哨,每只动物就会抬起一只脚,一声哨响后,笼子里落地的脚剩下40-15=25只,再吹一声哨,剩下25-15=10只脚,此时所有鸡的两只脚都抬起来了,于是“一屁股坐下了”,双腿站着的都是兔子,所以兔子有10/2=5只,鸡有15-5=10只。
更广义来说,上面两个问题其实分别是正向和反向求解两个二元一次方程组成的方程组,x1和x2分别是鸡和兔的数量,y1和y2是动物总数及脚总数。如果用2×2 矩阵表示,正向是向量矩阵相乘,反向则需要矩阵求逆。
![]()
图1:鸡兔同笼问题背后的线性方程组数学关系
如果改一下问题,有蜘蛛、蜻蜓、蝉三种动物共9只,共有腿58条,翅膀10对(蜘蛛有8条腿,没有翅膀;蜻蜓有6条腿,2对翅膀;蝉有6条腿,1对翅膀),问蜘蛛、蜻蜓和蝉各有多少只?(答案:2只、3只和4只。)还是同样类型的问题,矩阵大小由2×2 扩大为了3×3。
![]()
图2:线性方程组中矩阵尺度由2×2 变成3×3
当然你会说,计算一共有多少只腿,猜笼子里的鸡兔数量,是比较无聊的问题,有什么意义和用处呢?这类假想的题目本身可能有些脱离实际,不过背后所代表的通用数学模型,线性方程组正向和反向求解,或者说向量矩阵相乘以及矩阵求逆,确是应用非常广泛。在人工智能与机器学习、图像处理与计算机视觉、运筹学和最优化、机器人控制、信息与通信工程、数据挖掘、经典及量子物理等领域都是不可或缺的。矩阵的尺度也可以不只2×2、3×3,可以是任意的正整数N×N ,成百上千上万甚至更大都有可能。
![]()
图3:更通用的正向向量矩阵相乘和反向矩阵求逆用于求解方程组(矩阵尺度为N×N)
相比较而言,正向向量矩阵相乘计算(由X获得Y )比较直截了当,可以转化为很多次的对应元素之间乘法和加法。而反过来求解方程组(由Y获得X),会更加繁琐和复杂,像“吹哨抬腿法”那样,可以使用高斯消元法、LU分解法、雅可比迭代法等算法,将计算分解为很多步骤,最终仍然是很多次的最基本加减乘除。
当然在现有的电子计算机中,加减乘除还不是最基本的运算形式,更底层的机制依赖于二进制和逻辑门。每次要运算的数字都使用二进制表示,计算机的底层世界中只有很多个0和1,比如,每只鸡有10(二进制中的2)只脚,每只兔有100(二进制中的4)只脚,然后利用与门、或门、异或门等各种逻辑门完成这些0和1比特之间的运算。每一次简单的乘法和加法,都需要相当数量逻辑门齐心协力才能完成。不过不用担心,逻辑门只是现代计算机或者芯片中最基本的单元,一块芯片上或者一个处理器中有数以亿计这样的“基层员工”,动用其中几十几百个都是很小的比例。
模拟电子计算:另辟蹊径
以上介绍的是现有电子计算机正向和反向求解线性方程组的工作方式,当矩阵的尺度非常大的时候,计算负担不可小视,特别是反向求解的时候,计算机也往往需要较长运算时间才能给出结果。而研究者也在另辟蹊径,尝试通过一些物理系统模拟计算过程,以自然的方式直接展现出答案[1],不必像现有计算机那样,将求解过程在算法上分解为繁琐复杂的步骤,再通过众多数量的二进制比特和逻辑门在底层实现。
两个数字相乘或相加的数学关系随处可见,比如电路里,两个支路的电流汇合到一起,总的电流强度就会是支路电流之和,是一种天然的相加关系;再比如欧姆定律表示了电流、电压和电阻(或电导)三者之间的关系,是一种天然的相乘关系。随着忆阻器等新型电子器件的发展,电阻的数值大小可以方便地调节和设定。这样一来,比如要计算两个数值相乘,只要将电压值大小和电导值大小分别设定为这两个输入数值,测量一下输出电流大小,就知道了相乘结果的答案。
![]()
图4:电流定律与欧姆定律
对于正向的向量矩阵相乘,以输入端口的电压值模拟输入向量,以各个电阻的电导值模拟要相乘的矩阵,然后测量输出端口的电流值,就可以得到向量矩阵相乘后的结果。以下分别是2×2和3×3矩阵情况下的电路。
![]()
图5:模拟电路用于向量矩阵相乘运算(左:2×2 矩阵;右:3×3 矩阵)
而反向求解方程组,同样可以通过类似的电路来模拟,需要额外使用运算放大器(OPA)器件建立输入和输出之间的反馈连接。根据输入的恒定电流,测量电路在稳定状态后的输出电压,即可以得到方程组的解。以2×2 矩阵对应的“鸡兔同笼”问题为例,两个输入电流I1=15,I2=40分别表示笼子里中共有15只动物,共有40只脚,四个电阻的电导值还是对应于矩阵中各个系数,比如G21=2和G22=4分别表示鸡有2只脚和兔有4只脚,最后测量得到的两个电压值V1=10和V2=5,就告诉了我们鸡和兔各有10只和5只。整个过程不需要设计详细的计算规则,电路直接给出了答案,这种称为模拟电子计算的方式,相比于现有计算机利用二进制和逻辑门的方式,具有高效率和低能耗的潜在优势。
![]()
图6:包含反馈连接的模拟电路用于线性方程组反向求解(左:2×2 矩阵;右:3×3 矩阵)
光与电的异曲同工
由于光和电之间的诸多相似之处,模拟电路也可以变身为“光路”。在电的世界中,电流是在金属导线中流动的,而在光的世界中,一束光也可以在光波导中传播,光纤就是一个常见的例子。光以振幅或强度大小,表示光的强弱明暗程度,对应于不同的数值。
如同两条河的支流,汇合到一条更加宽广的干流,河水融为一体,在电的世界中,主干电流满足分支电流相加的规律。在光的世界中,两列光波导中光波相汇合,适当条件下,也可以满足叠加的关系,比如对于非相干光,汇合后的光强度是各分支光强度的相加。
对于电路世界中的欧姆定律,“光路”世界中也有相对应的相乘关系。很多物体都是半透明的,既不会完全遮挡住光,也不会让光完全透过,以一定的比例让一部分光的能量透过,类似电路中的电阻器件,在光学系统中,利用相变(PCM)、铌酸锂薄膜、液晶等材料,可以加工出透光率可调节的器件,建立起一个类似于欧姆定律的出射光强、入射光强和透射率之间乘法的关系。
![]()
图7:光的世界中与电的世界中欧姆定律相类似的乘法关系
更进一步,利用以上提到的所有这些组件,可以参照用于计算向量矩阵相乘的电路,搭建一个具备类似功能的光学系统[2]。下图8右侧系统中,浅蓝色为氮化硅光波导,橘黄色为相变材料器件。
![]()
图8:向量矩阵相乘的模拟运算比较:电路方式(左)和光学方式(右)
可以看到,两者之间非常相似,简直异曲同工,不谋而合。事实上,光学中完成这种向量矩阵相乘的模拟计算,方式也不唯一,还有利用其它光学原理的方式,比如级联马赫·曾德尔干涉仪(MZI)网络,结构编码的光传播介质,波分复用微环滤波,光衍射神经网络等[3]。最近,微软研究院在Nature期刊上发表的一篇论文中[4],也以光学方式实现了向量矩阵相乘,并与电子计算相结合,可应用于金融结算和医疗成像,其中所采用的方式简单说是将不同空间位置的入射光强度进行编码,并根据反射光强度=入射光强度×反射率,也对空间光调制器上的反射率分布进行编码,并利用透镜的光会聚过程进行光强度叠加,最终完成所需的乘法和加法运算。
与电路反馈的方式类似,向量矩阵相乘的光学系统也可以通过光波导的反馈连接,用于线性方程组的反向求解[5-7]。比如图9右边的光学系统中,如果要求解的方程组是AX=Y ,将要相乘的矩阵设置为(I-A) ,I为单元矩阵,首先在右侧各端口注入向量Y 对应的光强度信号,最终系统稳定后,只有左侧各端口光强度等于要求解的
X向量时,( I - A )X+Y=X,每条反馈光波导两端才能平衡,从而获得正确的解向量
X
![]()
图9:反向求解线性方程组的模拟运算比较:电路方式(左)和光学方式(右)
模拟电子计算和光计算都属于现有主流计算机和芯片技术之外的新兴技术模式,和量子计算、生物DNA计算等方向一起,近年来都得到了越来越多的关注,未来有望取得更多突破性进展。
相关文献
[1]Z. Sun, S. Kvatinsky, X. Si, A. Mehonic, Y. Cai, and R. Huang, A full spectrum of computing-in-memory technologies. Nat Electron 6, 823–835 (2023)
[2]J. Feldmann, N. Youngblood, M. Karpov, H. Gehring, X. Li, M. Stappers, M. Le Gallo, X. Fu, A. Lukashchuk, A. S. Raja, J. Liu, C. D. Wright, A. Sebastian, T. J. Kippenberg, W. H. P. Pernice, and H. Bhaskaran, Parallel convolutional processing using an integrated photonic tensor core. Nature 589, 52–58 (2021).
[3]H. Zhou, J. Dong, J. Cheng, W. Dong, C. Huang, Y. Shen, Q. Zhang, M. Gu, C. Qian, H. Chen, Z. Ruan, and X. Zhang, Photonic matrix multiplication lights up photonic accelerator and beyond, Light Sci Appl 11, 30 (2022)
[4]K. P. Kalinin, J. Gladrow, J. Chu et al. Analog optical computer for AI inference and combinatorial optimization, Nature 645, 354–361 (2025).
[5]K. Wu, C. Soci, P. P. Shum, N. I. Zheludev, Computing matrix inversion with optical networks. Opt. Express 22, 295–304 (2014).
[6]N. M. Estakhri, B. Edwards, and N. Engheta, Inverse-designed metastructures that solve equations, Science 363, 1333-1338 (2019).
[7]X. Liu, J. Cheng, H. Zhou, J. Dong, and X. Zhang, Chip-scale all-optical complex-valued matrix inverter, APL Photonics 9 (5), 056106 (2024).
本文转载自《中国光学》微信公众号
《物理》50年精选文章
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.