基于人工神经网络和粒子群优化的半导体激光器参数反向设计方法 下载: 1078次
1 引言
半导体激光器因其具有效率高、稳定性好、寿命长、体积小等优势而备受关注,被广泛应用于**、医疗、通信等领域。输出功率谱是激光器的一个重要参考特性,从中可获得激光器的阈值电流、峰值功率等重要信息,而功率谱是由激光器内部诸多参数共同影响决定的,即一组确定的参数经过数值计算可得出一个功率谱[1]。从激光器的功率谱中得出其对应的物理参数,这是一个多参量非线性的反向设计问题[1]。反向设计在科研和生产中有诸多应用[2-3]。传统的半导体激光器参数反向设计方法存在容易陷入局部最优和计算量庞大等缺陷[1],因此有必要研究高精度且高速的反向设计方法。近年来,随着人工智能技术的迅速发展,机器学习被用于各个领域[4-7]。有学者将人工神经网络(ANN)与遗传算法(GA)相结合来解决多参量非线性优化问题[1,8],但GA计算量会随着待优化参数的增多而增大[9],这种方法仍然达不到高速的要求。
粒子群优化(PSO)算法与GA有很多相似之处,比如二者都是从随机解出发,通过迭代寻找最优解,利用适应度函数来判断是否找到最优解等,但PSO算法没有GA的“交叉”(crossover)和“变异”(mutation)操作,速度更快,精度更高[1,10]。此外,ANN和PSO算法相结合,可实现高效的激光器参数反向设计。因此,本文以分布式反馈(DFB)激光器为例,提出一种基于ANN和PSO算法的半导体激光器参数反向设计方法。采用MATLAB软件的神经网络工具包创建一个反向传播(BP)神经网络[8,11],该网络对DFB半导体激光器的样本数据进行学习与训练,成为可替代原有DFB激光器数值仿真过程的神经网络模型,并将此模型与PSO算法结合,实现对器件参数的快速反向设计。
2 设计方法
采用传统的行波模型(TWM)数值仿真算法[12-13],可获得足够多的半导体激光器样本数据,这些数据经过ANN的训练与学习之后,组成一个固定的网络模型[14],在该网络中输入一组参数即可迅速得出相应的功率谱。在PSO算法的寻找过程中使用该网络,而非直接采用TWM数值仿真方法来得到功率谱,可避免大量的数值计算,从而提高PSO算法的迭代速度。
2.1 BP神经网络的工作原理
BP网络是一个利用误差反向传播算法对网络进行训练的前向多层网络[1,15],具有结构简单和可塑性强等优势,已广泛应用于函数逼近[1]、模式识别及信息分类等领域。
BP网络一般由输入层、输出层和隐含层组成,隐含层可以为一层或多层。本研究以只有一个隐含层的简单BP网络为例,对BP网络进行简单介绍。
BP网络根据样本数据学习输入与输出关系的过程称为正向传播过程;实际输出与期望输出的误差按照平方最小的规则从输出层向隐含层反向传播,调整权值矩阵
2.2 PSO算法的基本原理
PSO算法是一种群人工智能算法[10],其主要思想是模拟鸟类捕食过程。捕食过程即寻找全局最优解的过程,所有粒子都有记忆功能。在一次寻找过程中,每个粒子通过平衡自身寻找过的最优位置
式中:
2.3 ANN结合PSO的整体方法
将ANN与PSO结合,由任意给定的输出功率谱曲线反推器件的各参数值,实现对具有多参量非线性特性的半导体激光器的快速反向设计。首先,通过传统TWM数值仿真方法计算出足够多的样本数据;其次,用ANN训练和学习这些样本数据,从而建立一个基于TWM数值仿真方法的神经网络模型;最后,在进行PSO的反向设计时,使用该神经网络模型来实现快速迭代,逼近目标输出功率谱曲线,从而获得反向设计参数值。
初始化PSO后,在一次寻找过程中,根据设置的待反向参数范围、上一次寻找过程中的
3 建立半导体激光器神经网络模型
要建立半导体激光器数值仿真方法的神经网络模型,首先要对网络进行初始设置,包括层数及每层神经元个数等结构设置和其他基本设置;其次,使该网络对由传统数值算法建立的样本数据进行训练和学习,并对训练好的网络进行测试。
3.1 神经网络的结构与基本设置
影响激光器输出功率谱的参数有很多,本研究选择其中与温度有关的7个待研究参数,即电流注入效率
BP神经网络的建立,需要提前设置合适的网络隐含层的层数和每层所包含的神经元个数[1,8]。若隐含层的层数过少并且每层的神经元数也过少,则学习效果不佳;若隐含层的层数过多或每层的神经元数过多,则不必要的计算量增大。事实证明,可以用一个隐含层来学习任何问题[14],使用金字塔规则来确定隐含层神经元数的初始值[8]。在该规则中,当只有一个隐含层时 ,若输入层、输出层的神经元数分别为
本研究中输入层有7个神经元,
3.2 神经网络的训练与学习
要得到足够多的不同参数组合下的半导体激光器功率谱,需要对激光器的物理过程进行仿真分析。本研究使用传统TWM方法对
使用Levenberg-Marquardt训练函数对7×20×60的网络进行训练[11],并得到该网络的拟合性能后,对隐含层的神经元个数进行适当优化。通过比较不同结构网络的性能函数、计算精度和速度,选择最合适的结构作为最终的网络结构。
表 1. 不同网络结构的训练误差对比
Table 1. Comparison of training error between different network structures
|
从
为验证网络训练效果,从样本数据中随机选择10组数据,通过神经网络计算得到相应的输出功率谱,将其与通过传统TWM数值仿真得出的功率谱进行比较。
图 4. 样本数据的TWM数值仿真与神经网络得到的输出功率谱
Fig. 4. Output power spectra obtained by TWM numerical simulation and neural network for sample data
表 2. 样本数据的TWM数值仿真与神经网络得到的部分数据比较
Table 2. Comparison of partial output data between TWM simulation and neural network for sample data
|
为进一步测试网络性能,用传统TWM数值仿真方法根据10组新产生的
经上述两种对比后发现,神经网络对激光器传统数值仿真算法拟合效果好,精度高,每组功率谱的均方差约为0.5 mW,且相同环境下用传统TWM数值算法计算出一组参数对应的功率谱用时125.57 s,而所提网络的用时仅0.07 s,提高了约1800倍。由于使用激光器神经网络模型可精确拟合传统TWM数值仿真方法,且速度更快,因此,在后续PSO反向设计中利用所提网络取代传统TWM数值仿真算法,以快速、精确地得出一组参数对应的功率谱,从而加快整个反向设计过程。
图 5. 测试数据的TWM仿真与神经网络得到的输出功率谱对比图
Fig. 5. Comparison of output power spectra obtained by TWM simulation and neural network for test data
表 3. 测试数据的TWM仿真输出与神经网络输出的部分数据比较
Table 3. Comparison of partial output data between TWM simulation and neural network for test data
|
4 PSO算法的反向设计
使用MATLAB软件自带的PSO算法工具箱,针对本研究的激光器参数反向设计问题,设置PSO算法的常规参数,如显示频率为10次,粒子维数为7 (有7个待优化参数),粒子数目
在PSO一次寻找过程中,根据设置的各反向参数范围以及上次迭代的结果,按(1)~(2)式给每个粒子赋参数值,这些参数通过之前训练好的神经网络可迅速得出其对应的功率谱,与目标功率谱进行均方差比较,当均方差小于设定的目标精度或达到最大迭代次数时,即停止迭代,否则进入下一个寻找过程。PSO算法的迭代曲线如
与传统数值反向方法(即不使用网络模型,而使用TWM计算
从
图 7. 反向设计功率谱与目标功率谱的对比。(a)两组反向设计功率谱、数值反向功率谱与目标功率谱的对比;(b) 两组反向设计功率谱、数值反向功率谱与目标功率谱的偏差
Fig. 7. Comparison between inverse design power spectra and target power spectrum. (a) Comparison among two sets of inverse design power spectra, numerical inverse power spectrum, and target power spectrum; (b) deviation of two sets of inverse design power spectra and numerical inverse power spectrum compared with target power spectrum
表 4. 目标功率谱与反向设计功率谱的部分数据比较
Table 4. Comparison of partial data between target power spectrum and inverse design power spectra
|
相同环境下本文方法的均方差低于0.04 mW,用时39.45 s,而传统数值反向方法的均方差为0.89 mW,用时192 h,精度提高22.25倍,速度约提高17500倍,说明了本文方法的可行性。
表 5. 目标功率谱与反向设计功率谱的参数比较
Table 5. Comparison of parameters between target power spectrum and two sets of inverse design power spectra
|
由
5 结论
提出一种半导体激光器参数反向设计方法,将ANN和PSO算法相结合应用于激光器参数的反向设计中,对激光器的设计有一定的参考意义。在此方法中,首先用激光器的传统数值方法计算得到大量样本数据,用这些样本数据对ANN进行训练与学习,在PSO的一次寻找过程中,使用神经网络模型代替传统TWM数值仿真算法,对不同粒子携带的参数组进行快速而准确的计算,得出功率谱。在PSO算法进行了有限次迭代后,可以找到最接近目标功率谱的一组功率谱对应的参数,即为反向设计的参数。用该方法对一组目标功率谱进行多次反向,可以得到不同参数组合。激光器参数反向问题是一个多参量非线性问题,说明了训练后的神经网络具备半导体激光器内在的相关物理信息。
[1] 肖光宗, 龙兴武, 张斌, 等. 基于人工神经网络和遗传算法的激光器参数全局优化方法[J]. 中国激光, 2010, 37(5): 1203-1208.
[2] Peurifoy J, Shen Y C, Jing L, et al. 4(6): eaar4206[J]. inverse design using artificial neural networks. Science Advances, 2018.
[4] Hanakata P Z, Cubuk E D, Campbell D K, et al. Accelerated search and design of stretchable graphene kirigami using machine learning[J]. Physical Review Letters, 2018, 121(25): 255304.
[6] 钱牧云, 余有龙. 基于逆传播神经网络的光纤布拉格光栅触觉传感[J]. 中国激光, 2017, 44(8): 0806001.
[7] 王姗姗, 黄凯, 李铭, 等. 基于BP神经网络的血红蛋白定量光学检测方法[J]. 光学学报, 2018, 38(7): 0717002.
[8] 王赟松, 许洪国. 快速收敛的BP神经网络算法[J]. 吉林大学学报(工学版), 2003, 33(4): 79-84.
[10] 熊天林, 孔小健, 雷选华, 等. 基于粒子群算法的半导体激光器温度控制优化[J]. 光学与光电技术, 2013, 11(5): 10-12, 32.
[11] 施建俊, 李庆亚, 张琪, 等. 基于Matlab和BP神经网络的爆破振动预测系统[J]. 爆炸与冲击, 2017, 37(6): 1087-1092.
[14] Martin T.Hagan, Howard B.Demuth, MarkBeale. 神经网络设计[M]. 戴葵, 译. 2版. 北京: 机械工业出版社, 2002: 201-205, 210-211, 229-231, 248- 250.
Hagan MT, Demuth HB, BealeM, et al.Neural network design[M]. Dai K, Transl. 2nd ed. Beijing: China Machine Press, 2002: 201-205, 210-211, 229-231, 248- 250.
[15] 杨阳, 程寅, 徐明顺, 等. 神经网络在调Q激光器优化设计上的应用[J]. 中国激光, 2010, 37(3): 646-651.
Article Outline
冯佩, 李俣. 基于人工神经网络和粒子群优化的半导体激光器参数反向设计方法[J]. 中国激光, 2019, 46(7): 0701001. Pei Feng, Yu Li. Semiconductor Laser Parameter Inverse Design Method Based on Artificial Neural Network and Particle Swarm Optimization[J]. Chinese Journal of Lasers, 2019, 46(7): 0701001.