一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于梯度下降法的矩形波导管仿真设计方法

2022-07-16 16:27:59 来源:中国专利 TAG:


1.本发明属于仿真设计技术领域,涉及一种基于梯度下降法的矩形波导管仿真设计方法。


背景技术:

2.所谓矩形波导管,它是一种截面为矩形的长方形的金属管,在一定的条件下,他的外导体所包围的矩形空间可以实现电磁能量的传输,它加工方便,具有损耗小和双极化特性,广泛用于各种谐振腔、波长计等。目前较为多的是利用comsol软件在3d界面对波导管进行模型的设计,进而对不同传输te、tm模式进行分析,之后利用matlab进行结果的可视化。
3.矩形波导管的结构包含四个参数:内截面尺寸c、d和外截面尺寸a、b,对于这种结构,我们一般会去考虑他的功率限制和等效折射率,以往的方式都是在comsol中进行模型搭建之后仿真看输出结果。但这种方式的电磁仿真时间过长。
4.基于这样一个问题,我们设想是否可以通过简单的参数的输入,便可以准确而又迅速的得到功率限制和等效折射率的输出结果。在已知提出使用简单主义思想的python软件结合神经网络对矩形波导管进行模型的训练,使得在矩形波导管的设计过程中,只需要简单的参数输入,便可以迅速地得到结果的可视化预测。


技术实现要素:

5.本发明的目的是提供一种基于梯度下降法的矩形波导管仿真设计方法,该方法只需要简单的参数输入,便可以迅速地得到结果的可视化预测,加快了矩形波导管的设计过程,并简化了设计步骤。
6.本发明所采用的技术方案是,基于梯度下降法的矩形波导管仿真设计方法,具体按照以下步骤实施:
7.步骤1:利用comsol软件对矩形波导管建模,建立数据库;
8.步骤2:将数据库进行预处理,其中80%为测试集数据,20%训练集数据;
9.步骤3:使用python软件搭建bp神经网络模型;
10.步骤4:将测试集数据和训练集数据进归一化处理,调用sklearn库,并将训练集数据转换为tensor类型;
11.步骤5:构造一个类用来定义神经网络模型,内部初始化中使用torch库中的线性层方法linear对隐层网络和输出层网络进行定义;之后在类中编写前向传播函数,对隐层的激活函数和输出层激活函数均使用sigmoid函数,进行非线性变换,即y=f(w*x b),公式中的y为网络输出数据,x为输入数据,f为激活函数sigmoid,w为权重,b为偏置;
12.步骤6:使用实例化之前编写的类定义的神经网络,直接使用torch库中的adam优化器,在训练中,进行梯度下降,去不断更新权重w和偏置b;定义损失函数,在反向误差传播中进行计算;
13.步骤7:进行数据的训练,设置训练次数epoch为具体值,在每一次训练中,首先进
行前向传播,将前向传播得到的输出结果进行非线性处理,也就是利用sigmoid函数进行计算,将此作为预测值,把他与真实值进行对比,带入到mse函数中得到损失函数的计算结果,即误差,然后开始反向传播,用所得到的误差值对之前各层中的w和b进行更新,更新之后再次前向传播,计算误差,周而复始的进行,直到误差小于所期望的值,否则,继续迭代;
14.步骤8:在每一次的训练完成之后,使用之前分配好的测试集,进行测试,具体的方法与步骤7中的前向传播的方法一样,得到预测值,看是否和真实值相同;
15.步骤9:当神经网络模型训练好之后,在python软件中输入矩形波导管的结构参数,进而对输出的等效折射率和功率限制进行一个可视化的输出预测。
16.本发明的特征还在于,
17.步骤1具体按照以下步骤实施:
18.首先,给定矩形波导管输入的结构参数,包括外截面长度a、宽度b和内截面长度c、宽度d;之后,添加边界条件,设置端口激励,设置扫描频率,设置求解频率,进行模传输的分析;此处由于矩形波导管主模是te
10
,所以设置z方向电场ez=0,磁场hz≠0;分析求解之后,在comsol软件中直接计算出定矩形波导管的等效折射率和功率限制的具体结果,即完成了一组数据的准备,之后反复对不同的矩形波导管结构进行建模分析得到输入为参数a、b、c、d,输出为等效折射率和功率限制的数据库。
19.步骤3中:首先进行超参数的设置:学习率设置为0.02,输入的参数个数为4,所对应的矩形波导管的四个结构参数a、b、c、d,搭建的bp神经网络模型框架,包括输入层、隐藏层以及输出层,隐含层个数设置为7层,这七层所包含的神经元个数分别为[10 15 20 15 10 5 1];输出的参数个数为2,所对应的就是等效折射率和功率限制。
[0020]
步骤6中,adam优化器内部设置的学习率为0.02;adam优化器内部的更新参数的方法如公式(3)、(4)所示:
[0021][0022][0023]
公式(3)、(4)中,α是学习率,w
ij
是第i个神经元和第j个神经元之间的权重,bi是第i个神经元的偏置;mse是平均误差函数。
[0024]
步骤6中,平均误差函数其中m代表数据个数,yn代表神经网络的输出,当n不同的时候,分别代表等效折射率和功率限制的预测输出结果,代表真实的数据,当n不同的时候,分别代表等效折射率和功率限制的真实输出结果。
[0025]
本发明的有益效果是:
[0026]
本发明方法通过简单的python软件进行神经网络梯度下降法模型的搭建,对所积累的矩形波导参数数据进行训练,便可以得到预测模型,通过预测模型,使得在波导管的设计过程中,只需要简单的参数输入,便可以迅速地得到结果的可视化预测,加快了矩形波导管的设计过程,并简化了设计步骤。
附图说明
[0027]
图1是本发明中矩形波导管的参数示意图;
[0028]
图2是本发明神经网络模型的分层结构图。
具体实施方式
[0029]
下面结合附图和具体实施方式对本发明进行详细说明。
[0030]
本发明提供基于梯度下降法的矩形波导管仿真设计方法,如图1-2所示,具体按照以下步骤实施:
[0031]
步骤1:利用comsol软件对矩形波导管建模,建立数据库;首先,给定矩形波导管输入的结构参数,如图一,包括外截面长度a、宽度b和内截面长度c、宽度d,设计好矩形波导管的结构;之后,添加边界条件,设置端口激励,设置扫描频率,设置求解频率,进行模传输的分析;此处由于矩形波导管主模是te
10
,所以设置z方向电场ez=0,磁场hz≠0;分析求解之后,在comsol软件中直接计算出定矩形波导管的等效折射率和功率限制的具体结果,即完成了一组数据的准备,之后反复对不同的矩形波导管结构进行建模分析得到输入为参数a、b、c、d,输出为等效折射率和功率限制的数据库。
[0032]
步骤2:将数据库进行预处理,其中80%为训练集数据用于训练,20%为测试集数据用于检验;
[0033]
步骤3:使用python软件搭建神经网络模型,首先进行超参数的设置:学习率设置为0.02,输入的参数个数为4,所对应的矩形波导管的四个结构参数a、b、c、d,搭建的bp神经网络模型框架,包括输入层、隐藏层以及输出层,隐含层个数设置为7层,这七层所包含的神经元个数分别为[10 15 20 15 10 5 1],每两个神经元之间都具有权重w,每个神经元都有自己的偏置b;输出的参数个数为2,所对应的就是等效折射率和功率限制。
[0034]
步骤3中:神经网络模型使用的激活函数为sigmoid函数,即公式(1)来完成非线性变化,公式(1)中的x代表输入,误差函数为平均误差函数mse,即公式(2)来完成误差计算,公式(2)中的m代表数据个数,yn代表神经网络的输出,当n不同的时候,分别代表等效折射率和功率限制的预测输出结果,代表真实的数据,当n不同的时候,分别代表等效折射率和功率限制的真实输出结果;
[0035][0036][0037]
步骤4:将测试集数据和训练集数据进归一化处理,调用sklearn库,并将训练集数据转换为tensor类型,方便之后进行训练;
[0038]
步骤5:构造一个类用来定义神经网络模型,内部初始化中使用torch库中的线性层方法linear对隐层网络和输出层网络进行定义;之后在类中编写前向传播函数,对隐层的激活函数和输出层激活函数均使用sigmoid函数,进行非线性变换,方便之后对误差进行计算和分析。也就是说前向传播是对输入数据进行了加权求和之后,最后进行了非线性变化,具体到公式上的话,即y=f(w*x b),公式中的y为网络输出数据,x为输入数据,f为激活
函数sigmoid,w为权重,b为偏置;
[0039]
步骤6:使用实例化之前编写的类定义的神经网络,直接使用torch库中的adam优化器,在训练中,进行梯度下降,去不断更新权重w和偏置b;定义损失函数,此处使用的是平均误差函数mse,用来在反向误差传播中进行计算;
[0040]
步骤6中,adam优化器内部设置的学习率为0.02;adam优化器内部的更新参数的方法如公式(3)、(4)所示:
[0041][0042][0043]
公式(3)、(4)中,α是学习率,w
ij
是第i个神经元和第j个神经元之间的权重,bi是第i个神经元的偏置;mse是平均误差函数。
[0044]
步骤7:进行数据的训练,设置训练次数epoch为具体值,在每一次训练中,首先进行前向传播,将前向传播得到的输出结果进行非线性处理,也就是利用sigmoid函数进行计算,将此作为预测值,把他与真实值进行对比,带入到mse函数中得到损失函数的计算结果,即误差,然后开始反向传播,用所得到的误差值对之前各层中的w和b进行更新,更新之后再次前向传播,计算误差,周而复始的进行,直到误差小于所期望的值,否则,继续迭代;
[0045]
步骤8:在每一次的训练完成之后,使用之前分配好的测试集,进行测试,具体的方法与步骤7中的前向传播的方法一样,得到预测值,看是否和真实值相同;在这里就不需要考虑梯度的变化了;
[0046]
步骤9:当神经网络模型训练好之后,在python软件中输入矩形波导管的结构参数,进而对输出的等效折射率和功率限制进行一个可视化的输出预测。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献