EN

单步策略(single-shot policy)

从传感器读数一步给出旋钮设置的策略网络,训练时不需要任何最优动作;在模拟和 LBNL 的激光合束实验台上试过。

加速器上有不少调机任务是同一件事反复做。进入输运线的束流稍有变化,校正铁的最优设置就跟着变,于是只好再跑一遍优化器,每一次都像第一次遇到这个问题一样从头开始。一个自然的想法是训练一个神经网络,让它从传感器的读数直接跳到最优设置;但监督学习的每一个训练样本都要带上答案,而每一个答案都要用优化器跑一次才能得到,跑出来的还未必是真正的最优。我的想法是不要这些答案:在策略网络之后接一个可微的奖励模型,让奖励的梯度一路传回策略网络,策略网络就由这个梯度来训练。我把这个方法叫做单步策略(single-shot policy)。我们在模拟中试过它,也在 LBNL 的一台激光合束实验台上试过。文章由 LBNL 主导(Dan Wang 等,我是七位作者中的第五位),还没有发表。

只有一个动作的回合

强化学习(Reinforcement Learning,RL)里的智能体(agent)先做一个动作,观察结果,再做下一个动作,把一个回合里的奖励加起来作为评价。很多调机问题并不需要第二次观察:传感器把状态报出来以后,状态本身就决定了最优动作,文章把这类问题称为确定性问题。因此一个回合可以只有一个动作,并且单独给这个动作打分,单步说的就是这一点。

上下两个方框图。上面标着 RL Loop:State 和 Action 两个框之间有来回的箭头,下方一行写着 State init,Action 1,Action 2 等等,直到 State opt。一个绿色箭头指向下面标着 Single Shot 的图:从 State 到 Action star 只有一个箭头,下方一行写着 State init,Action star,State opt。
我最初画的草图,上面是强化学习的循环,下面是单步。

奖励模型与策略网络

方法里有两个网络:奖励模型 R-Net(R)以状态和动作为输入,预测奖励;策略网络 P-Net(P)以状态为输入,给出一个动作。把 P-Net 给出的动作送进 R-Net,预测出的奖励就可以对 P-Net 的权重求导,梯度一路传回去。

r=R(𝐒,P(𝐒))

其中 𝐒 为状态,P 为策略网络,R 为奖励模型,r 即策略自己给出的动作所对应的预测奖励。

因此损失函数就是一批状态上预测奖励的平均值取负,训练过程从头到尾不需要知道正确的动作是什么。

分两个阶段训练,然后使用。第一阶段:随机的状态和动作送进 R-Net,它预测奖励,并按实测的奖励拟合;模拟可微时跳过这一阶段。第二阶段:状态送进 P-Net,P-Net 给出动作;动作送进冻结的 R-Net,R-Net 预测奖励;损失是预测奖励的均值取负,它的梯度只更新 P-Net。在机器上:传感器给出状态,P-Net 一次前向计算给出动作,控制器执行。 先拟合奖励模型 再训练策略,R-Net 冻结 在机器上 模拟可微时 跳过这一步 状态,动作R-Net奖励 状态P-Net动作R-Net奖励 状态P-Net动作 随机样本拟合中与实测值比较 一批状态训练中策略给出冻结损失 = −均值 来自传感器送给控制器 梯度只更新 P-Net 一次前向计算,不搜索
先拟合奖励模型,再固定它来训练策略,之后策略就单独运行。

增强器到储存环的输运线

第一个测试在模拟中做,对象是 SSRL 把电子从增强器送进 SPEAR3 的那条输运线;RCDS-S 在同一条线上追过一个漂移,也是在模拟里。策略的旋钮(knob)是线前段的四块校正铁,两块水平,两块垂直;它读的是全部九个束流位置探测器(Beam Position Monitor,BPM)上的 x 和 y,要的是输运线末端的注入效率。它看不见入射束流,我们把入射束流的位置和角度随机化。

输运线从左到右的示意:随机的上游束流,然后是一排水平校正铁(蓝色,h1 到 h9),垂直校正铁(红色,v1 到 v7)和 BPM(黄色,b1 到 b9),末端是注入效率。靠近起点的 h1,v1,h5 和 v2 用虚线框标出。
虚线框里的四块校正铁是策略的旋钮,b1 到 b9 是它读的 BPM。

我们用的模拟程序是 Matlab 下的 Accelerator Toolbox,它不可微,因此这个例子需要一个 R-Net,用几千个拉丁超立方(Latin hypercube)样本拟合。测试用的是 1,000 个两个网络都没有见过的入射束流。校正前,注入效率常常接近于零;走一步之后,平均值接近可能达到的最好值(约 0.904)。

1,000 个测试束流的归一化注入效率直方图。校正前的值(蓝色)散布在 0 到 1 的整个范围,靠近零处有一个高峰。策略走一步之后的值(橙色)集中成一个窄峰,刚好在 1 之下。
1,000 个测试束流的归一化注入效率,蓝色为校正前(大量集中在零附近),橙色为走一步之后(集中在 1 附近)。

相干合束

相干合束(coherent beam combining)是激光上的同一类问题。几束激光在一片衍射光学元件上叠加,落在中心光斑上的功率取决于它们之间的相对相位,而相位会随时间漂移,仅发热一项就足以造成漂移。相机只能看到这些光束叠出来的图样。我们的模拟里有八束光,排成 3×3 的阵列,中间空着;策略看到的是相机上 5×5 的一小块图像,给出的是八个相位,奖励是中心像素的光强,最大为 64。模拟程序是我们用 PyTorch 写的,本身可微,因此不需要 R-Net。

只用 100 个随机起点训练,策略给出的中心光强就已经接近 64。起点更多,结果更好:用 3,000 个起点训练,均值更接近 64,分布也窄了很多。

并排的两幅 5×5 相机图样,中间有一个箭头:左边是一个随机起点,光散在好几个像素上;右边是目标,只有中心一个亮像素。
一个随机起点与我们想要的图样,5×5 的一小块。
中心光强的直方图:随机起点(蓝色)散布在 54 到 63 左右;用 100 个起点(橙色)和 3,000 个起点(绿色)训练的策略都在 64 之下一点,绿色的更窄。
蓝色为校正前,橙色与绿色分别为用 100 个和 3,000 个起点训练的策略。

接着是 9×9 共 81 束光,这是 LBNL 的组正在努力达到的规模。当时还没有 9×9 的装置,所以这一步只检验方法能否放大。策略读 17×17 的一块图像,给出 81 个相位;训练用了 30,000 个起点,每个起点的相位偏差都在 30 度以内。它把中心光强的均值从约 5,990 提高到约 6,510,文章里直接写明这比小规模的例子差。至于为什么更差,目前还只是我在草稿里留的一条批注。

并排的两幅 17×17 相机图样,中间有一个箭头:左边是一个随机起点,许多亮像素散在各处;右边是目标,中心只有一个亮点。
81 束光的同一幅图,17×17 的一块。
9×9 情形下中心光强的直方图:随机起点(蓝色)是一个以 6,000 附近为中心的宽峰;策略的结果(橙色)是 6,510 附近的一个窄峰。
81 束光,蓝色为校正前,橙色为校正后。

LBNL 的实验台

硬件测试在 LBNL 的八路合束实验台上做,下面这条曲线记录于 2023 年 9 月 7 日。这套装置属于 LBNL 的激光控制组,DDRM 也是他们的,那是他们原有的一套保持合束的方法。装置是为光纤放大器建的,放大器当时还没有装上,因此这次测试把一台连续(CW)激光分成八路,同样是 3×3 的阵列,中间空着,相位由压电反射镜设定。

真实的实验台没有可微模型,所以这一次 R-Net 只能从数据里学。我们在台上运行随机并行梯度下降(Stochastic Parallel Gradient Descent,SPGD),它把所有相位一起抖动,跟着能提高中心光强的方向走。运行期间记录了 20,000 幅相机图样,每一幅都带着紧接着的那一步相位调整。R-Net 在这些数据上不到一分钟就训练好了;P-Net 不需要现场数据(它的图样是我们生成的),也在一分钟内完成。需要斟酌的是 P-Net 输出的尺度:尺度太大,策略会跑到 R-Net 没有见过的区域;太小,好的答案又够不到。试了几次以后我们定为 1.5。

2023 年 9 月 7 日大约十分钟里的中心光斑功率,靠近顶部有一条红色虚线作为参考。图上依次标着:single-shot policy(平在参考线上),free drifting(在线下起伏抖动),红色带里的 detuning(功率接近零),再次 single-shot policy(直接跳回参考线),free drifting,末尾是 LBNL 的 DDRM(平稳,略低于参考线)。
台上大约十分钟的记录,依次为策略保持,自由漂移,人为打乱相位(红色),策略重新接管,再次漂移,末尾是 LBNL 的 DDRM。

策略运行时,中心功率保持平稳;暂停以后,功率下降并且抖动。之后我们故意把相位打乱,再把策略打开,功率立刻回到原来的水平。曲线末尾与 DDRM 的对比,按文稿的读法是策略的合束功率更高,稳定性相近而略差。这次运行草稿里还没有数字,只有这条曲线。

还没有写完的文章

SLAC 这一边的工作全部是模拟,没有任何部署。草稿里没有与搜索式优化的速度对比,因此没有可以报告的加速比。文章希望策略能够不经重新训练就应付漂移,但目前没有结果能说明这一点。草稿没有完成,也没有投稿,到现在为止只有 IPAC'24 的一篇摘要。

数字与图出自文稿 "Simplified reinforcement learning enabled deterministic feedback controls in lasers and accelerators: experimental demonstration on laser combining"(Wang,Du,Zhou,Wilcox,Zhang,Huang 与 Ratner,未发表),经 Dan Wang 同意在此展示。单步那张草图是我画的。