三平面相位逆向设计复现报告

按 CanvasForThinking《用 PyTorch 实现一个可微光学逆向设计系统》实现。对应 TorchOptics 论文 Figure 4 的问题设定:三块只调相位的调制器,把一束高斯光变成四束高斯光。传播是角谱法,损失是模重叠。

没有调用 TorchOptics 库,也没有使用论文里的 target.pt。四高斯目标按文章自己构造。相位初值为 0,Adam 学习率 0.1,共 400 步。

结果

模重叠从 0.0424 升到 0.9964。计算设备是 cpu。

量取值
网格250 × 250
像素10 μm
波长700 nm
每段传播0.2 m
高斯腰斑150 μm
四束偏移0.5 mm
优化器Adam,学习率 0.1,400 步
设备cpu
初始 η0.042449
最终 η0.996408
最终损失 1-η0.003592

图

左是归一化输入,右是四个中心在 ±0.5 mm 的目标。
左是归一化输入,右是四个中心在 ±0.5 mm 的目标。
零相位时输出仍是扩散后的一束。400 步后能量应聚到四个目标位置。
零相位时输出仍是扩散后的一束。400 步后能量应聚到四个目标位置。
三张相位包裹到 [-π, π] 后显示。优化器里的参数本身没有被包裹。
三张相位包裹到 [-π, π] 后显示。优化器里的参数本身没有被包裹。
η 从 0.0424 到 0.9964。
η 从 0.0424 到 0.9964。
目标在 x=±0.5 mm 没有峰,因为四个中心都在对角线上。这条切线主要看中心有没有被掏空。
目标在 x=±0.5 mm 没有峰,因为四个中心都在对角线上。这条切线主要看中心有没有被掏空。
对角线上目标有两座峰。优化后的输出应落在同样的位置。
对角线上目标有两座峰。优化后的输出应落在同样的位置。