图神经网络用于EDA:Circuit-GNN

图神经网络用于EDA:Circuit-GNN

  • 发布时间:2020-11-21 11:35
  • 访问量:

【概要描述】本文分析了MIT发表的Circuit-GNN[1]。该文尝试了用图神经网络(GNN)分析高频分立电路的前向增益函数,并根据指定性能曲线反向优化网络模型构建合格的电路。该文所提出的反向优化模型的思路对于辅助电路设计等方面有很好的启发作用。

图神经网络用于EDA:Circuit-GNN

【概要描述】本文分析了MIT发表的Circuit-GNN[1]。该文尝试了用图神经网络(GNN)分析高频分立电路的前向增益函数,并根据指定性能曲线反向优化网络模型构建合格的电路。该文所提出的反向优化模型的思路对于辅助电路设计等方面有很好的启发作用。

  • 分类:研究院
  • 作者:壁仞科技研究院
  • 来源:
  • 发布时间:2020-11-21 11:35
  • 访问量:
详情

摘要

本文分析了MIT发表的Circuit-GNN[1]。该文尝试了用图神经网络(GNN)分析高频分立电路的前向增益函数,并根据指定性能曲线反向优化网络模型构建合格的电路。该文所提出的反向优化模型的思路对于辅助电路设计等方面有很好的启发作用。

 

1、介绍

近日阅读了MIT几位学者将GNN用于分立电路设计的研究论文[1]。该研究以比较直观的形式将分立电路映射到图结构,并以GNN来仿真器件间的电磁耦合。相信对于GNN在工程实践中的应用有启发作用。

值得一提的是,该文章发表于2019年,是同类应用中较早提出用图神经网络作为分析方法的研究。进入2020年以来,更多研究者探索了结合图网络用于EDA的实现,比如MIT另外一组学者用GNN结合强化学习用于集成电路中自动确定晶体管尺寸[3],以及Nvidia用GNN预测电路版图的寄生参数[4]。

高频分立器件电路是5G通讯的关键设计之一,然而这类电路的设计仍然高度依赖与人工参与,耗时低效。本文的几位研究者设计了一套基于图神经网络的方法来优化和自动化分立器件电路设计的过程。具体包括两个目标:

a.给定一个电路,用GNN预测电路的前向增益函数s21。

b. 反之,给定前向增益函数,产生满足要求的电路。

 

2 设计思路

现有分立电路都是基于模板设计,即在一些预定义模板电路基础上调整以适合具体需求。作者发现已有的基于训练的电路设计方法都是针对每种模板单独训练模型,比如文献2的研究。这种方法效率较低,且不易实现整合多个模板的新设计。因此作者提出了基于GNN的方法来实现可跨越多种模板的电路设计。更具体的,该研究以谐振器(resonator)为基本单元,用图网络来表达和分析其参数、相互位置方向对电路性能的影响。

 

3 前向模型(目标a)

如前述,该研究以谐振器为节点,元件间的电磁耦合为边构造图网络。模型整体表达为如下图:

图1前向模型(source:文[1]图3)

 

图的构建

一个电路N个谐振器对应图网络N个节点。该文以方形谐振器为设计目标,每个节点的参数简化为4维向量:[x, y, a, θ],其中(x,y)为谐振器方形中心位置,a为方形的边长,θ是谐振器缝隙的角度。

节点间的边是谐振器间的耦合参数,包括[θi, θj, xi-xj, yi-yj, g,s],分别代表节点i, j的缝隙角度,二者相对坐标(x,y)、间隔(gap)和偏移量(shift)。如下图所示:

 

图2节点参数的物理意义(source:文[1]图4)

 

本文作者认为并非所有节点对都是邻居,节点距离超过一定阈值,就可认为不相邻。因此在之后的GNN节点更新时,随着节点参数调整,节点的邻居不是固定的

GNN模型

该研究作者定义了多层GNN来处理电路网络,每层都有对网络节点和边特征的更新函数fn,fe,二者均由多层感知器构造。

节点更新的实现:

首先计算每个节点受到的来自邻居的耦合效应eij。对第t层GNN的两个节点i, j,边更新函数的输入为是前一层两节点的节点特征与边特征的并集,即新的边特征为:

其次,对所有所有更新的邻边求和,与前一层节点特征一起作为节点更新函数的输入,得到节点更新,即:

图综合

这一操作将图网络的最终一层节点特征转换为一个固定长度输出g来代表全图。其具体实现是合并代表电路输入输出的节点特征。

预测输出

全网特征g通过多层全连接层预测最终的前向增益响应函数。特殊之处在于要预测的值包含复数值,因此FC层权重也为复数。最终预测输出是m维复数向量,其中每一单元是特定频率采样点的前向增益。

代价函数

整个网络采用了L-1 loss来定义代价函数,对于复数形式的预测值y,代价函数包括实数和虚数两部分。

 

4 反向模型(目标b)

前述的前向模型实现了对给定电路特性的仿真。几位作者进一步提出可以用GNN来产生满足要求的电路,即由响应函数自动产生电路。这一工作部分替代人工设计,在实践中有更高的价值。

作者认为由响应函数到电路的目标通过对前向模型的反向优化来实现。假定期望的响应函数为y*,GNN的输出为,则用于优化的目标函数可以定义为:

物理约束

为避免器件重叠等无效的设计,作者设计了一种带约束的梯度更新策略用于反向优化的参数更新。

作者观察到在所有参数中,只有谐振器中心位置的改变会导致无效的电路。因此他们对位置参数的更新加了约束。

首先每次更新中,谐振器位置只能沿上下左右四方向之一运动。这通过从方向集合{(-1,0),(1,0),(0,-1),(0,1)}随机选取一个方向变量d来实现。

其次,为避免谐振器间接触,确定选定方向上该谐振器可移动的最大距离m。

若谐振器初始位置为p*,则新的位置由公式p=p*+dsigmod(q)m来更新。其中q为可学习的控制参数。

作者提出的这一优化更新参数策略结合了具体的物理约束,易于实现。对于其它研究者将GNN应用到自己的实际领域有很好的参考价值。

实现分析

从作者提供的代码来分析,反向过程从预训练的模型开始,逐步迭代更新模型参数与电路参数。其中模型参数每次反向后都会更新,而图参数(电路)会在每隔一定反向次数后进行更新。

此处尚有一点存疑。反向优化本质是一个最优化问题。尽管作者提出了更新图参数的优化策略。但是对于这样一个非凸的问题,优化方法的鲁棒性和适用性尚需验证。与一般的深度模型训练类似,在面向具体设计应用时,训练参数的调整可能会是一个挑战。

 

5 实验与数据集

作者选取了两个应用来验证其GNN模型:方形谐振器模板的响应函数预测,太赫兹信道化器(channelizer)的电路设计。

作者用专业仿真软件产生了100K包含3-6个谐振器的电路及响应函数作为训练和测试集用于前向任务(响应函数预测)。作者认为整体结果是不错的,同时也指出一些失败的例子。在这些失败例子里,响应函数的变化趋势是一致的,但峰值点偏差较大。

第二个任务是对每个设计任务,选取200个随机初始化的电路做优化,选取最终结果最优的电路。整个过程两分钟完成,远小于人工时间,也比商业软件要快。而产生电路的性能略优于商业软件的结果。

 

6 总结与思考

总得来说,这篇文章得研究是一个比较直观的将电路图映射为图网络,并应用GNN解决电路设计实际问题的研究。作为探索,作者将问题局限在方形谐振器电路建模分析。但其思想应可拓展到更宽阔的应用中。从GNN角度来看,其创新点是:1.构造电路图网络;2.构建GNN聚合函数仿真耦合效应。

从实现来看,其提出了反向优化以实现电路设计的思路,并提出了带约束的参数更新策略来实现这一思路。这个思路与当前图形学领域兴起的可微渲染(differentiable rendering)有类似之处,对于其它类似的电路优化、布图等EDA设计也有很好的参考价值。

 

参考文献

1 、G.Zhang,D. Katabi,Circuit-GNN: Graph Neural Networks for Distributed Circuit Design,  ICML2019

2、F.Feng,et al. , Parametric Modeling of Microwave Components using Adjoint Neural Networks and Pole-residue Transfer Functions with EM Sensitivity Analysis,IEEE Trans. Microwave Theory and Techniques, 65(6):1955–1975, 2017.

3、H. Wang, et.al., GCN-RL Circuit Designer: Transferable Transistor Sizing with GraphNeural Networks and Reinforcement Learning, DAC2020.

4、H. Ren, et.al, ParaGraph: Layout Parasitics and Device Parameter Prediction using Graph Neural Networks, DAC2020

 

 

近期文章

流体力学与物理导引神经网络

流体力学与物理导引神经网络

现代科学中众多复杂的关键应用依赖着对流体运动的精确预测。然而,由于流体力学方程数值求解的复杂性,基于传统数值方法的高分辨率长周期数值模拟运算量大且难以保证数值稳定性。本文将深入介绍PINN方法在流体计算中的应用并分析其与传统数值方法的差别。
2021-10-25
物理导引神经网络方法分析

物理导引神经网络方法分析

随着GPU能力的提升,支撑深度学习的软硬件生态得到了快速发展。通过深度学习来解决科学计算问题成了一种趋势,其中用深度学习来求解偏微分方程的方法也逐渐兴起。尤其引人注意的是一种称为物理导引神经网络的方法,其为科学计算领域注入了新的活力。
2021-10-18

联系我们

这是描述信息

招贤纳士

公众号二维码
这是描述信息

 版权所有   ©   上海壁仞科技有限公司   |    沪ICP备19047354号