基于神经网络与蒙特卡洛的一维光子晶体反向设计方法

文档序号:26007234发布日期:2021-07-23 21:26阅读:222来源:国知局
基于神经网络与蒙特卡洛的一维光子晶体反向设计方法

本发明涉及光子晶体设计技术领域,尤其涉及基于神经网络与蒙特卡洛的一维光子晶体反向设计方法。



背景技术:

光子晶体是具有周期性的光学结构,由于其独特的性质,除了传统上作为光通信组件外,光子晶体还应用到了能源、光伏电池、传感器、全彩显示等多个领域。

根据光子晶体的结构,可以将其分为一维光子晶体、二维光子晶体和三维光子晶体,分类的依据是光子晶体介电常数在几个方向上进行周期性变化。一维光子晶体是介电常数只在一个方向上周期性变化,在其他两个方向上均匀。一维光子晶体构造简单且制作方便,适用于实际生产和应用。

现有的一维光子晶体的设计主要依赖于物理启发和人类的经验规律,设计方式也只是基于正向计算,即从构造参数到反射谱图,常见的正向计算方法包括传输矩阵法、平面波展开法和时域有限差分法。而这些方法需要人工不断地尝试不同的构造参数组合以寻找符合需要的构造参数,效率相对较低。现有的方法还可能因为设计者自身的认知局限,导致存在设计上的思维盲点。因此,需要一种更高效通用的设计方法来满足快速且准确设计的需要。



技术实现要素:

为解决现有技术所存在的技术问题,本发明提供基于神经网络与蒙特卡洛的一维光子晶体反向设计方法,通过神经网络与蒙特卡洛方法,实现从反射谱图到构造参数的反向设计。

本发明采用以下技术方案来实现:基于神经网络与蒙特卡洛的一维光子晶体反向设计方法,包括以下步骤:

s1、构造数据集,并划分为训练集、验证集和测试集;数据集中每个数据样本包括构造参数和对应的一维数组表示的反射谱图;根据需要,预设构造参数的范围,再从预设的构造参数空间中随机均匀选取参数组合,根据构造参数组合使用传输矩阵法计算指定波长范围内的反射谱图,并用一维数组表示反射谱图曲线上离散的反射率值;

s2、构造和训练神经网络,根据步骤s1中的训练集中的反射谱图和对应的构造参数数据对神经网络的参数利用反向传播算法进行训练;

s3、将迭代反射谱图输入神经网络,获取构造参数,根据构造参数再利用传输矩阵法获取对应的预测反射谱图;

s4、结合神经网络、蒙特卡洛移动和传输矩阵法进行迭代优化,获取优化后的构造参数,获得反向设计结果。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明通过结合神经网络和蒙特卡洛方法的迭代优化过程获取目标反射谱图对应的构造参数,实现从反射谱图到构造参数的反向设计,且该方法具有很好的精确性和通用性。

2、本发明属于数据驱动方法,可以避免因为设计者认知局限导致的设计盲点。

3、本发明是在反射谱图上进行迭代优化,而不是在构造参数空间中进行迭代,因而不会因为一维光子晶体体系变复杂而增加计算成本。

附图说明

图1是本发明方法的流程图;

图2是神经网络结构示意图;

图3是迭代优化流程图;

图4是发射谱图反向设计实例图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例基于神经网络与蒙特卡洛的一维光子晶体反向设计方法,主要包括以下步骤:

s1、构造数据集,并划分为训练集、验证集和测试集;数据集中每个数据样本包括构造参数和对应的一维数组表示的反射谱图。根据需要,预设构造参数的范围,再从预设的构造参数空间中随机均匀选取参数组合,根据构造参数组合使用传输矩阵法计算指定波长范围内的反射谱图,并用一维数组表示反射谱图曲线上离散的反射率值。

本实施例中,通过指定一维光子晶体材料的折射率和层数,把每个周期内的层厚度作为需要设计的构造参数。数据集中包含的具体信息就是每个周期内的各层厚度以及用传输矩阵法计算得到的反射谱图一维数组。

本实施例中,数据集的大小与构造参数空间内取值密度有关,取值越密集,数据集越大。

本实施例中,在取得数据集后再随机选取80%作为训练集,10%作为验证集,最后的10%作为测试集。

s2、构造和训练神经网络,根据步骤s1中的训练集中的反射谱图和对应的构造参数数据对神经网络的参数利用反向传播算法进行训练。

如图2所示,本实施例中,神经网络包括一个输入层、一个输出层和多个隐藏层;其中,输入层的神经元个数与表示一维光子晶体反射谱图的一维数组元素个数一致;输出层的神经元个数与所需要设计的构造参数个数一致;隐藏层中的神经元个数根据情况可以自由调整。

本实施例中,通过训练集数据来学习神经网络的网络权重参数,训练过程采用反向传播算法,其损失函数为预测厚度与真实厚度之间的均方误差。利用验证集数据判断神经网络是否训练完成,当训练集数据的厚度均方误差与验证集数据的厚度均方误差都趋于平稳并且相差较小时,训练完成;用测试集数据来判断训练完成的神经网络反向预测的效果,将测试集的反射谱图数据输入已训练的神经网络,把输出的预测厚度值与真实厚度之间的均方误差作为神经网络的泛化误差,以此衡量神经网络反向预测效果。

s3、将迭代反射谱图输入神经网络,获取构造参数,根据构造参数再利用传输矩阵法获取对应的预测反射谱图,实现迭代反射谱图到预测反射谱图的对应,具体实现过程如下式子表示:

其中,和s分别代表预测反射谱图和迭代反射谱图,d表示神经网络,m表示传输矩阵法。

s4、结合神经网络、蒙特卡洛移动和传输矩阵法进行迭代优化,获取优化后的构造参数,获得反向设计结果。

如图3所示,本实施例中,最初的迭代反射谱图就是目标反射谱图。通过神经网络预测第i个迭代反射谱图对应的迭代构造参数,再用传输矩阵法计算迭代构造参数得到对应的第i个预测反射谱图,计算预测反射谱图与目标反射谱图之间的反射率均方误差mse,然后对迭代反射谱图进行蒙特卡洛移动,得到第i+1个迭代反射谱图,重复上述操作得到新的反射率均方误差mse,若新的反射率均方误差mse没有上升,则继续迭代直到反射率均方误差不再下降;否则重新对第i个迭代反射谱图进行蒙特卡洛移动。

本实施例中,评价预测反射谱图与目标反射谱图之间差距的反射率均方误差mse如下所示:

其中,是预测反射谱图在点i处的反射率值,yi是目标反射谱图在点i处的反射率值,n是用来表示反射谱图一维数组的元素个数,i表示反射谱图的一维数组中的第i个位置。

如图4所示,展示了一个从给定目标反射谱图到构造参数反向设计的例子,研究的是一维光子晶体三层体系,即周期内有三种介电材料。材料的折射率指定为2.4、1.49和1.97,层数指定为4周期共12层,构造参数是周期内每种材料的厚度。玻璃作为基底,光的入射方向为法线方向。图4(a)为目标反射谱图和迭代优化后的预测反射谱图,两条曲线基本重合,说明构造参数预测的准确性很高;图4(b)展示了目标反射谱图对应的每种材料的真实厚度和本实施例得到的预测厚度。

本发明可以通过多种编程语言来实现,例如python、c++、java、matlab等。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1