(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置
(51)【国際特許分類】
G06F 30/398 20200101AFI20240110BHJP
G06F 30/27 20200101ALI20240110BHJP
G06F 119/10 20200101ALN20240110BHJP
【FI】
G06F30/398
G06F30/27
G06F119:10
(21)【出願番号】P 2022555016
(86)(22)【出願日】2020-10-06
(86)【国際出願番号】 JP2020037924
(87)【国際公開番号】W WO2022074750
(87)【国際公開日】2022-04-14
【審査請求日】2023-01-04
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山田 広明
(72)【発明者】
【氏名】山▲崎▼ 崇史
(72)【発明者】
【氏名】山根 昇平
(72)【発明者】
【氏名】小林 隆
(72)【発明者】
【氏名】巨智部 陽一
(72)【発明者】
【氏名】大原 敏靖
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2020-060877(JP,A)
【文献】特開平09-115101(JP,A)
【文献】国際公開第2020/095362(WO,A1)
【文献】中国特許出願公開第103728535(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/398
G06F 30/27
G06F 119/10
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
回路情報を取得し、
回路情報に含まれる2つの線路間の距離と、前記2つの線路とGND層との距離との関係が条件を満たすか否かを判定し、
前記関係が前記条件を満たす場合、シミュレーションにより前記2つの線路に対応する第1の電流分布情報を生成し、前記第1の電流分布情報に基づいて機械学習用の訓練データを生成し、
前記関係が前記条件を満たさない場合、前記2つの線路のそれぞれに対応する電流分布情報を合成して前記2つの線路に対応する第2の電流分布情報を生成し、前記第2の電流分布情報に基づいて機械学習用の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
【請求項2】
前記判定する処理は、前記2つの線路間の距離と、前記2つの線路とGND層との距離との比が閾値以上であるか否かを判定する処理を含み、
前記
第1の電流分布情報を生成する処理は、前記比が閾値以上でない場合、シミュレーションにより前記2つの線路に対応する第1の電流分布情報を生成
する処理を含み、
前記第2の電流分布情報を生成する処理は、前記比が閾値以上である場合、前記2つの線路のそれぞれに対応する電流分布情報を合成して前記2つの線路に対応する第2の電流分布情報を生成する処理を含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項3】
前記
第2の電流分布情報を生成する処理は、前記関係が前記条件を満たさない場合、前記2つの線路のうち第1の線路に対応する前記訓練データの生成時に前記シミュレーションにより生成される前記第1の線路の電流分布情報と、前記2つの線路のうち前記第1の線路と異なる第2の線路に対応する前記訓練データの生成時に前記シミュレーションにより生成される前記第2の線路の電流分布情報とを合成して前記第2の電流分布情報を生成する処理を含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項4】
前記
第1の電流分布情報に基づいて機械学習用の訓練データを生成する処理
および前記第2の電流分布情報に基づいて機械学習用の訓練データを生成する処理は、前記第1の電流分布情報または前記第2の電流分布情報に対応する回路を流れる電流の空間分布と、前記回路の電磁波放射状況とが対応付けられた前記訓練データを生成する処理を含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項5】
前記訓練データの集合を用いて、前記電流の空間分布を特徴量とし、前記電磁波放射状況を目的変数とする機械学習モデルを訓練する処理を前記コンピュータにさらに実行させる、
ことを特徴とする請求項4に記載の訓練データ生成プログラム。
【請求項6】
回路情報を取得し、
回路情報に含まれる2つの線路間の距離と、前記2つの線路とGND層との距離との関係が条件を満たすか否かを判定し、
前記関係が前記条件を満たす場合、シミュレーションにより前記2つの線路に対応する第1の電流分布情報を生成し、前記第1の電流分布情報に基づいて機械学習用の訓練データを生成し、
前記関係が前記条件を満たさない場合、前記2つの線路のそれぞれに対応する電流分布情報を合成して前記2つの線路に対応する第2の電流分布情報を生成し、前記第2の電流分布情報に基づいて機械学習用の訓練データを生成する、
処理をコンピュータが実行することを特徴とする訓練データ生成方法。
【請求項7】
回路情報を取得し、
回路情報に含まれる2つの線路間の距離と、前記2つの線路とGND層との距離との関係が条件を満たすか否かを判定し、
前記関係が前記条件を満たす場合、シミュレーションにより前記2つの線路に対応する第1の電流分布情報を生成し、前記第1の電流分布情報に基づいて機械学習用の訓練データを生成し、
前記関係が前記条件を満たさない場合、前記2つの線路のそれぞれに対応する電流分布情報を合成して前記2つの線路に対応する第2の電流分布情報を生成し、前記第2の電流分布情報に基づいて機械学習用の訓練データを生成する、
処理を実行する制御部を含む訓練データ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データ生成技術に関する。
【背景技術】
【0002】
電子回路におけるEMI(Electromagnetic Interference)予測に機械学習技術が用いられる。ここでEMIとは、電子回路から放射される電磁波放射状況を指す。また、EMIは、電磁波放射状況のうち遠方の電磁界の状況を指す側面から遠方界とも呼ばれる。
【0003】
例えば、回路情報と、当該回路情報に対する電磁波解析のシミュレーション結果とが対応付けられた訓練データから生成される訓練済みの機械学習モデルを用いて、予測対象とする回路におけるEMI強度が予測される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平9-115101号公報
【文献】特開2020-32190号公報
【文献】国際公開第2020/129617号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の機械学習モデルによりEMI強度を予測する場合、回路の線路数が増加するのに伴って予測対象とする回路のバリエーションが増大するので、訓練データ生成時の計算量も膨大となる。
【0006】
1つの側面では、本発明は、訓練データ生成時の計算量の削減を実現できる訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、訓練データ生成プログラムは、回路情報を取得し、回路情報に含まれる2つの線路間の距離と、前記2つの線路とGND層との距離との関係が条件を満たすか否かを判定し、前記関係が前記条件を満たす場合、シミュレーションにより前記2つの線路に対応する第1の電流分布情報を生成し、前記第1の電流分布情報に基づいて機械学習用の訓練データを生成し、前記関係が前記条件を満たさない場合、前記2つの線路のそれぞれに対応する電流分布情報を合成して前記2つの線路に対応する第2の電流分布情報を生成し、前記第2の電流分布情報に基づいて機械学習用の訓練データを生成する、処理をコンピュータに実行させる。
【発明の効果】
【0008】
訓練データ生成時の計算量の削減を実現できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1に係るサーバ装置の機能的構成の一例を示すブロック図である。
【
図2】
図2は、単純回路および複雑回路の一例を示す図である。
【
図3】
図3は、EMI予測モデルの機械学習方法の一例を示す図である。
【
図4】
図4は、複雑回路のEMI予測の一例を示す図である。
【
図5】
図5は、素子あり回路のEMI予測の一例を示す図である。
【
図6】
図6は、基板特性のバリエーションの一例を示す図である。
【
図7】
図7は、回路の幾何形状を模式的に示す図である。
【
図8】
図8は、シミュレーション及びデータ拡張の適用例を示す図である。
【
図11】
図11は、部分線路への分割方法の一例を示す図である。
【
図12】
図12は、実施例1に係る訓練データ生成処理の手順を示すフローチャート(1)である。
【
図13】
図13は、実施例1に係る訓練データ生成処理の手順を示すフローチャート(2)である。
【
図14】
図14は、コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下に添付図面を参照して本願に係る訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0011】
図1は、実施例1に係るサーバ装置10の機能的構成の一例を示すブロック図である。
図1に示すサーバ装置10は、電子回路におけるEMI強度を予測する機械学習モデルの訓練に用いる訓練データを生成する訓練データ生成機能を提供するコンピュータの一例である。以下、電子回路におけるEMI強度を予測する機械学習モデルのことを「EMI予測モデル」と記載する場合がある。
【0012】
このような訓練データ生成機能は、上記の訓練データを用いてEMI予測モデルの機械学習を実行する機械学習サービスの一機能としてパッケージ化され得る。この他、上記の訓練データ生成機能、或いは上記の機械学習サービスは、訓練済みのEMI予測モデルを提供するモデル提供サービス、或いは訓練済みのEMI予測モデルを用いて回路のEMI強度を予測するEMI予測サービスの一機能としてパッケージ化され得る。さらに、上記のモデル提供サービス、あるいは上記のEMI予測サービスは、電磁波解析のシミュレーションを実行するシミュレーションサービスの一機能としてパッケージ化され得る。
【0013】
例えば、サーバ装置10は、上記の訓練データ生成機能を実現する訓練データ生成プログラムを任意のコンピュータにインストールさせることにより実装できる。一例として、サーバ装置10は、上記の訓練データ生成機能をオンプレミスに提供するサーバとして実装することができる。他の一例として、サーバ装置10は、SaaS(Software as a Service)型のアプリケーションとして実装することで、上記の訓練データ生成機能をクラウドサービスとして提供することもできる。
【0014】
また、サーバ装置10は、
図1に示すように、ネットワークNWを介して、クライアント端末30と通信可能に接続され得る。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。
【0015】
クライアント端末30は、上記の訓練データ生成機能の提供を受けるコンピュータの一例である。例えば、クライアント端末30には、パーソナルコンピュータなどのデスクトップ型のコンピュータなどが対応し得る。これはあくまで一例に過ぎず、クライアント端末30は、ラップトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってよい。
【0016】
なお、
図1には、上記の訓練データ生成機能がクライアントサーバシステムで提供される例を挙げるが、この例に限定されず、スタンドアロンで上記の訓練データ生成機能が提供されることとしてもよい。
【0017】
上記のEMI予測は、1つの側面として、電子回路基板の設計、いわゆる回路設計に有用な一面がある。すなわち、回路設計では、規格や法規制の面から、回路で観測される放射電磁波が周波数ごとに定められた規定値以内に収めることの関心が高い。このことから、回路設計では、電磁波解析のシミュレーションによりEMI予測が行われる。ところが、シミュレーションの実施には、回路のモデリングコストやシミュレータの計算コストなどの要因がハードルとなる。
【0018】
このような背景から、ニューラルネットワーク、例えばCNN(Convolutional Neural Network)等の機械学習技術が用いられる。例えば、上記の背景技術の欄で説明した通り、回路情報と、当該回路情報に対する電磁波解析のシミュレーション結果とが対応付けられた訓練データから生成される訓練済みのEMI予測モデルを用いて、解析対象の回路におけるEMI強度が予測される。
【0019】
このようにEMI予測モデルを用いて回路のEMI強度を予測する場合、EMI予測の精度が一定の水準に達するためには、EMIに影響を与える回路の特徴が抽出された訓練データがEMI予測モデルの訓練に用いられることが条件となる。
【0020】
しかしながら、EMIに影響を与える回路の特徴には、様々なものがある。例えば、回路上に配置される線路の形状、あるいは回路の線路上の素子、例えば抵抗やコイル、コンデンサなどの配置が挙げられる。したがって、上記のEMI予測の訓練には、膨大な量の訓練データが必要となる。
【0021】
このことから、訓練データ数の削減を実現する技術として、先進技術1および先進技術2がある。ここで挙げる先進技術1および先進技術2は、公知である特許文献や非特許文献等に記載がある従来技術とは区別される。
【0022】
先進技術1では、回路に配線された線路の分岐の有無に応じて回路が「単純回路」と「複雑回路」が分類される。例えば、回路のうち分岐がない回路が「単純回路」に分類される一方で、分岐がある回路が「複雑回路」に分類される。このような分類の下、先進技術1では、複雑回路は単純回路の組合せで表現できるという着眼点が訓練データ数の削減という課題の解決に活用される。
【0023】
図2は、単純回路および複雑回路の一例を示す図である。
図2には、一例として、複雑回路C1が示されると共に、当該複雑回路C1に対応する単純回路の組合せの一例として、単純回路c1および単純回路c2が示されている。
図2に示すように、複雑回路C1は、分岐点b1を境界にして単純回路c11および単純回路c12へ分割できる。この場合、分岐点b1から分岐する3つの部分線路のうち、励振源ES1を含む部分線路と、励振源ES1を含まない部分線路の各々との組合せを単純回路c11および単純回路c12の線路として複雑回路C1が分割される。これら単純回路c11および単純回路c12が合成されることにより複雑回路C1が得られるのは勿論のこと、単純回路c11のEMI強度200Aおよび単純回路c12のEMI強度200Bが合成されることにより複雑回路C1のEMI強度20が得られる。
【0024】
図3は、EMI予測モデルの機械学習方法の一例を示す図である。
図3に示すように、EMI予測モデルM1の機械学習には、訓練データセットDS1が用いられる。例えば、訓練データセットDS1は、単純回路c11~cNの回路情報と、単純回路c11~cNの各々で観測されるEMI強度400A~400Nとが対応付けられた訓練データの集合である。ここで言う「回路情報」には、電子回路に含まれる素子の回路網の情報、例えばネットリストなどが含まれ得る。また、ここで言う「EMI強度」は、あくまで一例として、特定の周波数ドメインにおけるEMI強度の分布、いわゆるEMIスペクトルであってよい。
【0025】
例えば、単純回路c11の回路情報がEMI予測モデルm1へ入力された場合、EMI予測モデルm1からEMI強度300Aが出力される。同様に、単純回路c12~cNの回路情報がEMI予測モデルm1へ入力されることにより、EMI予測モデルm1からEMI強度300B~300Nの出力が得られる。その上で、EMI予測モデルm1の出力であるEMI強度300B~300Nと、正解ラベルのEMI強度400A~400Nとの損失に基づいてEMI予測モデルm1のパラメータが更新される。このように、単純回路c11~cNの回路情報を特徴量、いわゆる説明変数とし、EMI強度を目的変数として、EMI予測モデルm1の機械学習が実行される。これにより、単純回路のEMI予測を実現する訓練済みのEMI予測モデルM1が得られる。
【0026】
図4は、複雑回路のEMI予測の一例を示す図である。
図4には、一例として、
図3に示された訓練済みのEMI予測モデルM1を用いて複雑回路C1のEMI強度を予測する事例が示されている。
図4に示すように、複雑回路C1が予測対象とされる場合、複雑回路C1は、分岐点b1を境界にして単純回路c11および単純回路c12へ分割される。その後、単純回路c11のEMI予測および単純回路c12のEMI予測が並行して実施される。すなわち、単純回路c11の回路情報をEMI予測モデルM1へ入力することによりEMI予測モデルM1の出力としてEMI強度の推定値200Aが得られる。また、単純回路c12の回路情報をEMI予測モデルM1へ入力することによりEMI予測モデルM1の出力としてEMI強度の推定値200Bが得られる。これらEMI強度の推定値200AおよびEMI強度の推定値200Bが合成されることにより、複雑回路C1のEMI強度の推定値20が得られる。
【0027】
このように、先進技術1では、単純回路用のEMI予測モデルM1による単純回路のEMI予測の結果を合成することにより複雑回路のEMI予測を実現できる。このため、先進技術1によれば、複雑回路の訓練データを削減できる。さらに、先進技術1では、回路の線路の分岐パターンが多いEMI予測モデルのドメインほど訓練データ数の削減効果が高まる。
【0028】
次に、先進技術2では、インダクタ(L)、キャパシタ(C)、抵抗器(R)などのLCR素子を有する素子あり回路は電流が素子で反射されるパターンと電流が素子で反射されないパターンとの2つの組合せで表現できる点が着眼点の1つとされる。以下、素子あり回路で流れる電流成分のうち素子で反射される電流成分のことを「反射成分」と記載すると共に、素子で反射されない電流成分のことを「非反射成分」と記載する場合がある。
【0029】
例えば、先進技術2では、素子あり回路が反射相当の回路と非反射相当の回路とに分割される。ここで言う「反射相当の回路」とは、反射成分および非反射成分の比が1対0である条件、言い換えれば非反射成分が観測されず、反射成分のみが観測される条件下で素子あり回路の配線のうち電流が観測される部分の線路を配線とする回路のことを指す。一方、「非反射相当の回路」とは、反射成分および非反射成分の比が0対1である条件、言い換えれば反射成分が観測されず、かつ非反射成分のみが観測される条件下で素子あり回路の配線のうち電流が観測される部分の線路を配線とする回路のことを指す。
【0030】
その上で、先進技術2では、1つの素子あり回路につき反射相当の回路および非反射相当の回路の2つに絞り込んで、EMI予測モデルm2の機械学習が実行される。この際、EMI予測モデルm2の説明変数を反射相当の回路の回路情報または非反射相当の回路の回路情報から計算される電流分布とすることができる。ここで言う「回路情報」には、電子回路に含まれる素子の回路網の情報、例えばネットリストの他、各素子の物性値、例えば抵抗値やインダクタンス、静電容量などが含まれ得る。例えば、周波数ドメインに含まれる周波数成分ごとに計算された電流分布の全てをEMI予測モデルm2の機械学習に用いることもできるが、詳細は後述するが、周波数ドメインを代表する電流分布として共振周波数の電流分布を用いることができる。このようにして得られた反射相当の回路または非反射相当の回路の電流分布がEMI予測モデルm2へ入力されることにより得られたEMI予測モデルm1の出力と、正解ラベルのEMI強度との損失に基づいてEMI予測モデルm2のパラメータが更新される。これにより、反射相当の回路および非反射相当の回路のみが訓練済みであるEMI予測モデルM2が得られる。
【0031】
ここで、反射相当の回路および非反射相当の合成で素子あり回路のEMI予測を実現する側面から、先進技術2では、素子あり回路のEMI予測時に参照される参照データとして、次のような参照データが生成される。
【0032】
例えば、参照データには、素子あり回路に配置される素子の物性値と、反射成分および非反射成分の比との対応関係が定義されたルックアップテーブルや関数などを用いることができる。あくまで一例として、インダクタ(L)の値が極度に大きい領域、キャパシタ(C)の値が極度に小さい領域、さらには、抵抗器(R)の値が極度に大きい領域では反射が起こる。一方、これら以外の領域では反射は十分に小さくなる。
【0033】
あくまで一例として、キャパシタ(C)が配置された回路から参照データが生成される例を説明する。この場合、反射成分および非反射成分の比が1対0となる素子の物性値および反射成分および非反射成分の比が0対1となる素子の物性値が探索される。例えば、キャパシタ(C)の静電容量が1nFである条件下では反射成分は観測されず、非反射成分のみが観測される。この場合、キャパシタ(C)の静電容量「1nF」と、反射成分「0」および非反射成分「1」とが対応付けられる。また、キャパシタ(C)の静電容量が1pFである条件下では反射成分と非反射成分が同等の割合で観測される。この場合、キャパシタ(C)の静電容量「1pF」と、反射成分「0.5」および非反射成分「0.5」とが対応付けられる。さらに、キャパシタ(C)の静電容量が100fFである条件下では、非反射成分は観測されず、反射成分のみが観測される。この場合、キャパシタ(C)の静電容量「1fF」と、反射成分「1」および非反射成分「0」とが対応付けられる。これらの対応関係が参照データとして生成される。なお、ここでは、100fFから1nFまでのキャパシタ(C)の静電容量の範囲のうち1pFに対応する反射成分および非反射成分の比を1つ例に挙げたが、任意の個数の対応関係が定義されてもよい。
【0034】
これら訓練済みのEMI予測モデルM2および参照データが得られた状況の下、先進技術2では、素子あり回路のEMI予測を実現できる。
図5は、素子あり回路のEMI予測の一例を示す図である。
図5には、一例として、訓練済みのEMI予測モデルM2を用いて素子あり回路C2のEMI強度を予測する事例が示されている。
図5に示すように、素子あり回路C2が予測対象とされる場合、素子あり回路C2の回路情報に含まれるキャパシタ(C)の静電容量「1.0pF」に対応する反射成分および非反射成分の比「0.5:0.5」が参照データから参照される。そして、素子あり回路C2は、反射相当の回路c21と非反射相当の回路c22とに分割される。
【0035】
その後、反射相当の回路c21のEMI予測および非反射相当の回路c22のEMI予測が並行して実施される。すなわち、反射相当の回路c21の回路情報を回路シミュレータへ入力することにより反射相当の回路c21の電流分布I1が計算される。このように計算された反射相当の回路c21の電流分布I1をEMI予測モデルM2へ入力することによりEMI予測モデルM2の出力としてEMI強度の推定値210Aが得られる。また、非反射相当の回路c22の回路情報を回路シミュレータへ入力することにより非反射相当の回路c22の電流分布I2が計算される。このように計算された非反射相当の回路c22の電流分布I2をEMI予測モデルM2へ入力することによりEMI予測モデルM2の出力としてEMI強度の推定値210Bが得られる。これらEMI強度の推定値210AおよびEMI強度の推定値210Bが参照データから参照された反射成分および非反射成分の比「0.5:0.5」にしたがって合成されることにより、素子あり回路C2のEMI強度の推定値21が得られる。
【0036】
このように、先進技術2では、反射相当の回路および非反射相当の回路のEMI予測の結果を合成することにより素子あり回路のEMI予測を実現できる。このため、先進技術2によれば、1つの素子あり回路につき反射相当の回路および非反射相当の回路の2つ以外の回路の訓練データを削減できる。さらに、先進技術2は、回路に配置される素子およびその物性値のパターンが多いEMI予測モデルのドメインほど訓練データ数の削減効果が高まる。
【0037】
しかしながら、先進技術1や先進技術2で例示された分割および合成は、単一線路の分岐回路や素子あり回路をサポートするものに過ぎないので、複数線路の回路に適用することが困難である。
【0038】
すなわち、基板上で複数線路が隣接する回路では、クロストークと呼ばれる現象が起こり得る。ここで言う「クロストーク」とは、容量性結合および誘導性結合の2つのうちいずれかが原因となって起こる電磁結合を指す。
【0039】
図6は、クロストークの発生事例を示す図である。
図6には、基板BP10の上面図が示されている。
図6に示すように、基板BP10には、2本の線路L11および線路L12が含まれる。これら線路L11および線路L12は、回路の配線として接続されていない。例えば、容量性結合が起こると、相互キャパシタンスCmと呼ばれる仮想のコンデンサが形成される。また、誘導性結合が起こると、相互インダクタンスLmと呼ばれる仮想のコイルが形成される。このようにクロストークが発生すると、これら相互キャパシタンスCmおよび相互インダクタンスLmは電磁気的に結合する。この場合、線路L11および線路L12の特性インピーダンスが変化する。さらに、特性インピーダンスの変化に伴って、線路L11および線路L12の電流も変わる結果、EMIも変化する。このため、クロストークが起こる線路L11および線路L12は、単一線路の合成と等価ではないので、先進技術1や先進技術2で例示された分割および合成を適用できない。
【0040】
そうであるからと言って、上記のEMI予測モデルのタスクが適用されるドメインを単一線路の回路に絞り込むと、予測精度が低下する場合がある。例えば、複数線路の回路のうち1本の線路しかサポートされない場合、それ以外の線路で発生する電流が無視されるので、EMI予測の精度が低下する。このことから、上記のEMI予測モデルのタスクが適用されるドメインに複数線路の回路を含めようとする場合、予測対象とする回路のバリエーションが増大する。
【0041】
すなわち、教師あり学習における回帰分類タスクでは、予測対象となり得るインスタンスを幅広く含んだ訓練データセットを作成し、その訓練データセットを用いて機械学習モデルの訓練が実行されるのが原則である。
【0042】
例えば、最大でk本の線路を持つ回路のEMI予測モデルを生成する場合、1本線の様々な形状、2本線の様々な形状、・・・、k本線の様々な形状といったバリエーションがある。このように予測対象となり得る形状を幅広く含んだ訓練データセットの生成が求められる。
【0043】
しかしながら、回路の線路数が増加するのに伴って予測対象とする回路のバリエーションが増大する。例えば、1本線の形状のバリエーションが1万程度である対象を予測する場合、あくまで一例として、1000件の訓練データがサンプリングされるのが基本とする。この場合、1本線~3本線の各線の形状のバリエーションが1万程度である対象を予測する場合、各線1000件の訓練データをサンプリングするとすれば、1本線~3本線の組合せを含めると、10憶300.3万件必要となる。このように訓練データ数が増大すると、回路シミュレータに入力する回路情報のモデリングコストや回路シミュレータの計算コストも増大する。
【0044】
そこで、本実施例に係る訓練データ生成機能は、2つの線路間の距離と、2つの線路およびGND層の距離との比に応じて2つの線路の電流分布をシミュレーションで生成するか、各線の電流分布を合成するかを切り替えて訓練データを生成する。
【0045】
本実施例における着眼点の1つは、2つの線路間でクロストークが起こるか否かは、回路の幾何形状から判定できる点にある。
図7は、回路の幾何形状を模式的に示す図である。
図7には、GND層上に2本の線路L21および線路L22が平行に配置された基板BP20の側面図が示されている。クロストークの発生時に線路L21および線路L22の間で形成される相互キャパシタンス(Cm)と相互インダクタンス(Lm)の値は、線路L21および線路L22間の距離sと、線路L21および線路L22からGND層までの距離hとで決まる。
【0046】
相互インダクタンス(Lm)の算出式は、下記の式(1)の通りとなる。下記の式(1)における「μ」は、磁気定数を指す。また、相互キャパシタンス(Cm)の算出式は、下記の式(2)の通りとなる。下記の式(2)における「ε」は、誘電率を指す。さらに、下記の式(2)における「F」は、下記の式(3)で表現される。さらに、下記の式(1)および下記の式(2)における「Fm」は、下記の式(4)で表現される。
【数1】
【数2】
【数3】
【数4】
【0047】
上記の式(1)によれば、2本の線路L21および線路L22の間の距離sがGND層までの距離hに比べて大きくなるほど、Lmは0に近くなる関係を有することが明らかである。Lm=0である場合、仮想のコイルが形成されない場合と等価になる。また、上記の式(2)によれば、2本の線路L21および線路L22の間の距離sがGND層までの距離hに比べて大きくなるほど、Cmは0に近くなる関係を有することが明らかである。Cm=0である場合、仮想のコンデンサが形成されない場合と等価になる。
【0048】
これらのことから、距離sおよび距離hの関係が条件を満たす場合、例えば距離sおよび距離hの比が閾値以上である場合、クロストークが起こらないと判定できる一方で、上記関係が上記条件を満たさない場合、クロストークが起こると判定できる。
【0049】
さらに、本実施例における着眼点の1つとして、クロストークが起こらない線路は、各々の線路の足し合わせとしてみなすことができる点が挙げられる。このような着眼点があって始めて、クロストークで接続されない2本の線路の電流分布を計算するシミュレーションの代わりに、それ以前に各々の線路から個別に計算済みである電流分布を合成するデータ拡張を行うというモチベーションが得られる。
【0050】
図8は、シミュレーション及びデータ拡張の適用例を示す図である。
図8には、あくまで一例として、1本線~3本線の各線の形状のバリエーションから訓練データが生成される例が示されている。さらに、
図8には、1本線の形状のバリエーションとして、回路C11~回路C13が抜粋して示されている。さらに、
図8には、2本線の形状のバリエーションとして、回路C21および回路C22が抜粋して示されると共に、3本線の形状のバリエーションとして、回路C31および回路C32が抜粋して示されている。なお、
図8には、複数線路の回路のうちクロストークを介して互いが接続されない線路の組合せがハッチングで示されている。
【0051】
例えば、
図8に示す例で言えば、回路C11は、単一線路の回路であるので、データ拡張の選択肢がない。このため、回路C11の回路情報を回路シミュレータへ入力することにより回路C11の電流分布を計算するシミュレーションが行われる。そして、シミュレーションにより計算された回路C11の電流分布から訓練データが生成される。また、回路C12も、回路C11と同様に単一線路の回路であるので、回路C11と同様にして、シミュレーションにより計算された回路C12の電流分布から訓練データが生成される。さらに、回路C13も、回路C11と同様に単一線路の回路であるので、回路C11と同様にして、シミュレーションにより計算された回路C13の電流分布から訓練データが生成される。
【0052】
回路C21では、2本の線路の間でクロストークが起こる。この場合、回路C21の回路情報を回路シミュレータへ入力することにより回路C21の電流分布を計算するシミュレーションが行われる。そして、シミュレーションにより計算された回路C21の電流分布から訓練データが生成される。一方、回路C22では、2本の線路L221および線路L222の間でクロストークが起こらないので、データ拡張を行う余地がある。この場合、回路C22は、回路C12の線路および回路C13の線路の足し合わせとしてみなすことができる。よって、計算済みである回路C12の電流分布および計算済みである回路C13を足し合わせるデータ拡張により得られた回路C22の電流分布から訓練データが生成される。
【0053】
回路C31では、クロストークを介して互いが接続されない線路L311および線路L312が存在するので、データ拡張を行う余地がある。この場合、回路C31は、回路C21の線路および不図示の回路C14の線路の足し合わせとしてみなすことができる。よって、計算済みである回路C21の電流分布および計算済みである回路C14の電流分布を足し合わせるデータ拡張により得られた回路C31の電流分布から訓練データが生成される。一方、回路C32では、クロストークを介して3本の線路が互いに接続されるので、データ拡張を行う余地がない。この場合、回路C32の回路情報を回路シミュレータへ入力することにより回路C32の電流分布を計算するシミュレーションが行われる。そして、シミュレーションにより計算された回路C32の電流分布から訓練データが生成される。
【0054】
ここで、
図8に例示されたデータ拡張の一例を
図9に示す。
図9は、データ拡張の一例を示す図である。
図9には、あくまで一例として、
図8に示された回路C22から訓練データを生成するデータ拡張が例示されている。
図9に示すように、回路C22は、クロストークがない部分を境界にして、回路C221および回路C222へ分割される。
【0055】
続いて、シミュレーションにより電流分布が計算済みである回路から、回路C221の幾何形状と類似する幾何形状を有する回路が検索される。このような検索で回路C12がヒットするので、計算済みである回路C12の電流分布I12およびEMI強度P12が得られる。
【0056】
これと前後または並行して、シミュレーションにより電流分布が計算済みである回路から、回路C222の幾何形状と類似する幾何形状を持つ回路が検索される。このような検索で回路C13がヒットするので、計算済みである回路C13の電流分布I13およびEMI強度P13が得られる。
【0057】
その上で、回路C12の電流分布I12および回路C13の電流分布I13を合成することにより回路C22の電流分布I22が生成される。さらに、回路C12のEMI強度P12および回路C13のEMI強度P13を合成することにより回路C22のEMI強度P22が生成される。このようなデータ拡張で得られた回路C22の電流分布I22およびEMI強度P22が対応付けられることにより、回路C22の訓練データが生成される。
【0058】
以上のように、本実施例に係る訓練データ生成機能は、2つの線路間の距離と、2つの線路およびGND層の距離との比に応じて2つの線路の電流分布をシミュレーションで生成するか、各線の電流分布を合成するかを切り替えて訓練データを生成する。例えば、
図8に示す例で言えば、7つの回路のうち回路C22および回路C31の2つの訓練データをデータ拡張を通じて生成できる。このため、回路シミュレータに入力する回路C22および回路C31のモデリングコスト、ひいては回路C22および回路C31の電流分布およびEMI強度を回路シミュレータで計算するコストを削減できる。したがって、本実施例に係る訓練データ生成機能によれば、訓練データ生成時の計算量の削減を実現できる。例えば、複数線路の回路の訓練データ生成時のシミュレーションの実行回数を削減できる。
【0059】
次に、本実施例に係るサーバ装置10の機能的構成について説明する。
図1には、サーバ装置10が有する機能に対応するブロックが模式化されている。
図1に示すように、サーバ装置10は、通信インタフェイス部11と、記憶部13と、制御部15とを有する。なお、
図1には、上記のデータ生成機能に関連する機能部が抜粋して示されているに過ぎず、図示以外の機能部、例えば既存のコンピュータがデフォルトまたはオプションで装備する機能部がサーバ装置10に備わることとしてもよい。
【0060】
通信インタフェイス部11は、他の装置、例えばクライアント端末30との間で通信制御を行う通信制御部の一例に対応する。あくまで一例として、通信インタフェイス部11は、LANカードなどのネットワークインターフェイスカードにより実現され得る。例えば、通信インタフェイス部11は、クライアント端末30から訓練データ生成のリクエストや訓練データ生成機能に関する各種のユーザ設定を受け付ける。また、通信インタフェイス部11は、訓練データ生成機能により生成された訓練データの集合や訓練済みのEMI予測モデルなどをクライアント端末30へ出力したりする。
【0061】
記憶部13は、各種のデータを記憶する機能部である。あくまで一例として、記憶部13は、ストレージ、例えば内部、外部または補助のストレージにより実現される。例えば、記憶部13は、回路情報群13Aと、訓練データセット13Bと、モデルデータ13Mとを記憶する。これら回路情報群13A、訓練データセット13B及びモデルデータ13M以外にも、記憶部13は、上記の訓練データ生成機能の提供を受けるユーザのアカウント情報などの各種のデータを記憶することができる。なお、訓練データセット13B及びモデルデータ13Mの説明は、生成部18または訓練部19の説明と合わせて後述する。
【0062】
回路情報群13Aは、n個の回路情報の集合である。例えば、最大でk本の線路を持つ回路のEMI予測モデルが生成される場合、1本線の形状のバリエーション、2本線の形状のバリエーション、・・・、k本線の形状のバリエーションといった手順でn個の訓練データ候補の回路が列挙される。このように列挙されたn個の訓練データ候補の回路の各々に対応するn個の回路情報が記憶部13に保存される。例えば、回路情報には、回路の幾何形状情報や回路の接続情報などが含まれ得る。このうち、幾何形状情報には、線路やGND層などの形状や配置などの幾何形状が含まれ得る。幾何形状には、線路を形成する始点や終点、屈曲点、中継点、分岐点などの座標の他、GND層の面を形成する頂点や重心点、中心点などの座標が含まれてよい。このような座標は、一例として、座標は、基板表面に対応する2次元座標であってよいが、層方向、例えば上下方向の軸を含む3次元座標であってもよい。また、接続情報には、SPICE(Simulation Program with Integrated Circuit Emphasis)などの回路シミュレータで用いられるネットリスト等が挙げられる。例えば、接続情報は、CAD(Computer-Aided Design)システム等の設計支援プログラムからインポートすることにより取得することができる。
【0063】
制御部15は、サーバ装置10の全体制御を行う処理部である。例えば、制御部15は、ハードウェアプロセッサにより実現される。
図1に示すように、制御部15は、取得部16と、判定部17と、生成部18と、訓練部19とを有する。
【0064】
取得部16は、回路情報を取得する処理部である。あくまで一例として、取得部16は、クライアント端末30から訓練データ生成のリクエストを受け付けた場合、処理を起動できる。このような処理の起動時に、取得部16は、一例として、訓練データ生成機能に関する各種のパラメータの初期設定を行うこともできる。例えば、2つの線路間の距離sと、線路からGND層までの距離hとの比と比較されるクロストークの判定基準、例えば閾値dを設定する。閾値dには、クライアント端末30を介して受け付けたユーザ設定を適用することとしてもよいし、上記の訓練データ生成機能の設計者等により定められたシステム設定を適用することもできる。その後、取得部16は、記憶部13に記憶された回路情報群13Aを参照することにより、n個の訓練データ候補の回路の回路情報を取得する。
【0065】
判定部17は、回路情報に含まれる2つの線路間の距離と、2つの線路とGND層との距離との関係が条件を満たすか否かを判定する処理部である。あくまで一例として、判定部17は、取得部16により取得された訓練データ候補の回路ごとに、当該訓練データ候補の回路に含まれる線路のうち互いが独立する2つの線路をペアリングする。例えば、訓練データ候補の回路にm本の線路が含まれるとしたとき、m本の線路から2つの線路を抽出して得られる組合せに対応するnC2個のペアが得られる。そして、判定部17は、nC2個のペアごとに当該ペアに対応する2つの線路の最短距離sを算出する。その上で、判定部17は、2つの線路の最短距離sがクロストークの判定基準の一例である閾値d以上であるか否かを判定する。
【0066】
ここで、クロストークの判定基準の閾値dには、あくまで一例として、5*hを設定することができる。経験則として,2つの線路間の最短距離sを2つの線路からGND層までの距離hの5倍以上離せば、クロストーク(容量性結合および誘導性結合)の影響は無視できるほど小さくなる。そこで、クロストークの判定基準の閾値dを5*hと決めることができる。この場合、最短距離sが5*h以上であれば、クロストークは起こらないと判定する一方で、5*h以上でなければクロストークは起こると判定する。なお、クロストークの判定基準の閾値dは、システム設定によらず、ユーザ設定により任意の値を受け付けることとしてもよい。
【0067】
図10は、クロストーク判定の一例を示す図である。
図10には、一例として、回路C31のクロストークを判定する例が挙げられている。
図10に示すように、回路C31には、3本の線路L311、線路L312および線路L313が含まれる。この場合、3本の線路L311、L312およびL313から2つの線路を抽出して得られる組合せに対応する
3C
2個のペアごとにクロストークの有無が判定される。ここで、
図10には、説明の便宜上、線路L311および線路L313のペアを抜粋して回路C311とし、線路L311および線路L312のペアを抜粋して回路C312とし、線路L312および線路L313のペアを抜粋して回路C313と示す。回路C311に示す通り、線路L311および線路L313のペアはクロストークありと判定される。一方、回路C312および回路C313に示す通り、線路L311および線路L312のペアはクロストークなしと判定されると共に、線路L312および線路L313のペアもクロストークなしと判定される。
【0068】
その後、判定部17は、選択中の訓練データ候補の回路にクロストークを介して互いに到達不可能な線路が存在するか否かを判定する。そして、クロストークを介して互いに到達不可能な線路が存在する場合、当該訓練データ候補の回路には、データ拡張を適用する余地があると判明する。この場合、選択中の訓練データ候補の回路は、図示しないメモリまたはストレージ等の記憶領域に保存されたデータ拡張候補のリストおよびシミュレーション候補のリストのうちデータ拡張候補のリストへ追加される。一方、クロストークを介して互いに到達不可能な線路が存在しない場合、当該訓練データ候補の回路には、データ拡張を適用する余地がないと判明する。この場合、選択中の訓練データ候補の回路は、シミュレーション候補のリストへ追加される。
【0069】
例えば、
図10に示す回路C31の例で言えば、線路L311および線路L313はクロストークを介して接続される。しかしながら、線路L311および線路L312のペアと、線路L312および線路L313のペアとにはクロストークが発生しない。このため、線路L311および線路L313のいずれを介しても線路L312に到達不可能である。よって、線路L311および線路L313と、線路L312とが到達不可能と識別される。
【0070】
このようなクロストーク判定の他、判定部17は、クロストークを介して互いに到達不可能な部分線路ごとに当該部分線路の幾何形状と一致する幾何形状を持つ回路がシミュレーション候補のリストに存在するか否かをさらに判定する。
【0071】
これを具体的に説明すると、まず、判定部17は、データ拡張候補のリストに含まれる訓練データ候補の回路ごとに、当該訓練データ候補の回路を部分線路に分割する。
図11は、部分線路への分割方法の一例を示す図である。
図11には、
図10に示された回路C31が部分線路へ分割される例が示されている。例えば、
図10に示されたクロストークの判定結果の通り、クロストークありと判定されたペアは、線路L311および線路L313であり、他のペアはクロストークなしと判定されたとする。この場合、クロストークありと判定された線路L311および線路L313のペアには、仮想線路V1が設定される。例えば、仮想線路V1は、線路L311および線路L313の最短距離sを接続する位置に設定される。このような仮想線路V1が設定された後、回路C31は、接続がない箇所、例えばクロストークなしと判定されたペアを境界に分割される。この結果、線路L311および線路L313を含む部分線路C311と、線路L312を含むC312とに分割される。その上で、分割前に設定されていた仮想線路V1が削除される。
【0072】
このように、部分線路への分割は、クロストークを介して互いに到達不可能な線路を探索することにより実現される。一例として、線路A、線路Bおよび線路Cの3本の線路が含まれる回路において、線路Aおよび線路Bの間ではクロストークが起こり、線路Aおよび線路Cの間ではクロストークは起こらず、また、線路Bおよび線路Cの間でもクロストークが起こらないとする。この場合、電磁気的な接続を含めた接続関係は(A-B,C)となる。よって、回路は、部分線路ABと、部分線路Cとに分割される。他の一例として、線路A、線路Bおよび線路Cの3本の線路が含まれる回路において、線路Aおよび線路Bの間ではクロストークが起こり、線路Bおよび線路Cの間でもクロストークは起こり、また、線路Aおよび線路Cの間ではクロストークが起こらないとする。この場合、電磁気的な接続を含めた接続関係は(A-B-C)となるので、回路は部分線路に分割できない。
【0073】
その後、判定部17は、部分線路ごとに当該部分線路の幾何形状と一致する幾何形状を持つ回路をシミュレーション候補のリストから検索する。このような幾何形状の一致は、シミュレーション候補のリストに保存された訓練データ候補の回路の線路と部分線路との間で線路を形成する特徴点、例えば始点や終点、屈曲点、中継点、分岐点などの座標をマッチングすることにより実現できる。なお、ここでは、幾何形状の一致を例に挙げたが、必ずしも完全一致を条件にせずともよく、類似度が閾値以上であるか、あるいは距離または非類似度が閾値以内であることを条件にマッチングを実行することもできる。
【0074】
ここで、部分線路の幾何形状と一致する幾何形状を持つ回路の検索がヒットしない部分線路が1つでも存在する場合、分割元となる訓練データ候補の回路がデータ拡張時に合成に用いる回路が不足することが判明する。この場合、判定部17は、分割元となる訓練データ候補の回路をデータ拡張候補のリストからシミュレーション候補のリストへ移行する。つまり、訓練データ候補の回路のエントリをデータ拡張候補のリストから削除して当該エントリをシミュレーション候補のリストに追加する。一方、部分線路の幾何形状と一致する幾何形状を持つ回路の検索がヒットしない部分線路が1つも存在しない場合、分割元となる訓練データ候補の回路がデータ拡張時に合成に用いる回路が不足していないことが判明する。この場合、データ拡張候補のリストからシミュレーション候補のリストへの移行は行われない。
【0075】
生成部18は、訓練データ候補の回路に対応する訓練データを生成する処理部である。
図1に示すように、生成部18は、シミュレーション部18Aと、データ拡張部18Bとを有する。
【0076】
シミュレーション部18Aは、シミュレーションにより訓練データを生成する処理部である。あくまで一例として、シミュレーション部18Aは、シミュレーション候補のリストに保存された訓練データ候補の回路ごとに次のような処理を実行する。すなわち、シミュレーション部18Aは、訓練データ候補の回路の回路情報を回路シミュレータへ入力することにより当該回路の電流分布およびEMI強度を計算するシミュレーションが実行される。ここでは、あくまで一例として、回路シミュレータがサーバ装置10上で実行される例を挙げたが、回路シミュレータは任意の実行主体により実行されてよい。例えば、回路シミュレータを実行する外部の装置、サービス、あるいはソフトウェアが公開するAPI(Application Programming Interface)を利用して、電流分布およびEMI強度の計算リクエストを行うこともできる。その後、シミュレーション部18Aは、シミュレーションにより得られた電流分布およびEMI強度が対応付けられた訓練データを生成する。
【0077】
より具体的には、回路シミュレータは、入力される回路情報に基づいて特定の周波数ドメインに含まれる周波数成分ごとに電流分布を算出する。これにより、回路シミュレータにより計算された回路の電流分布、例えば基板表面上に流れる電流の強度が2次元マップ上にマッピングされた電流分布画像が周波数成分ごとに得られる。続いて、シミュレーション部18Aは、周波数成分ごとに計算された電流分布の最大値が極大を取る1又は複数の共振周波数を識別する。
【0078】
その後、シミュレーション部18Aは、電子回路の近傍界を近似する側面から、上記の共振周波数に対応する電流分布画像に含まれる画素の画素値を各画素の線路からの距離に基づいて加工する加工処理を実行する。例えば、線路上に流れる電流が大きくなるに連れて濃淡値を上限値、例えば白色に対応する255に近付ける一方で電流が小さくなるに連れて濃淡値を下限値、例えば黒色に対応する0に近付けることにより生成された電流分布画像を例に挙げる。この場合、電流分布画像に含まれる画素の線路からの距離が小さくなるに連れて当該画素の濃淡値を上限値側へシフトさせるシフト量が大きく設定される。その一方で、電流分布画像に含まれる画素の線路からの距離が大きくなるに連れて当該画素の濃淡値を下限値側へシフトさせるシフト量が小さく設定される。このようなシフト量にしたがって電流分布画像の画素の濃淡値がシフトされることにより、線路からの距離に応じて電流の強度が強調された電流分布画像を得ることができる。
【0079】
その上で、シミュレーション部18Aは、共振周波数および電流分布画像と、EMI強度とが対応付けられた訓練データを生成する。ここで、スカラー値である共振周波数は、EMI予測モデルの一例として、標準的なニューラルネットワークへ入力可能な行列に変換される。例えば、共振周波数および電流分布画像の複数の入力データがEMI予測モデルへ入力される場合、各チャンネルの行列を同一の型へ統一する側面から、電流分布画像の2次元配列に対応する行列を生成した上で当該行列の各要素に共振周波数の値が埋め込まれる。このように生成された共振周波数が埋め込まれた行列および電流分布画像(行列)と、正解ラベルであるEMI強度とが対応付けられた訓練データが生成される。
【0080】
データ拡張部18Bは、データ拡張により訓練データを生成する処理部である。あくまで一例として、データ拡張部18Bは、データ拡張のリストへの登録が行われた順にデータ拡張リストに保存された訓練データ候補の回路ごとに次のような処理を実行する。すなわち、データ拡張部18Bは、訓練データ候補の回路を部分線路へ分割する。そして、データ拡張部18Bは、分割により得られた部分線路ごとに、シミュレーション部18Aにより訓練データの生成が実行された回路の中から、当該部分線路の幾何形状と類似する幾何形状を持つ回路を検索する。その後、データ拡張部18Bは、検索でヒットする回路に対応するシミュレーション結果として、電流分布およびEMI強度の計算結果を部分線路ごとに取得する。そして、データ拡張部18Bは、部分線路ごとに取得された電流分布を各部分線路の間で合成することにより、当該訓練データ候補の回路の電流分布を生成する。さらに、データ拡張部18Bは、部分線路ごとに取得されたEMI強度を各部分線路の間で合成することにより、当該訓練データ候補の回路のEMI強度を生成する。その上で、データ拡張部18Bは、合成後の電流分布および合成語のEMI強度を対応付けることにより、訓練データ候補の回路の訓練データを生成する。
【0081】
その後、生成部18は、回路情報群13Aに含まれる全ての回路情報ごとに訓練データが生成された場合、回路情報ごとに生成された訓練データの集合を訓練データセット13Bとして記憶部13に登録する。
【0082】
訓練部19は、機械学習用の訓練データを用いてEMI予測モデルを訓練する処理部である。あくまで一例として、訓練部19は、回路情報群13Aに含まれる全ての回路情報ごとに訓練データが生成された場合、あるいは記憶部13に訓練データセット13Bが保存された場合、訓練部19は、次のような処理を実行する。すなわち、訓練部19は、訓練データセット13Bに含まれる訓練データの電流分布を特徴量とし、EMI強度を目的変数として、EMI予測モデルを訓練する。例えば、訓練部19は、チャンネル1の入力データに対応する共振周波数およびチャンネル2の入力データに対応する電流分布画像をEMI予測モデルへ入力する。これにより、EMI予測モデルの出力としてEMI強度の推定値が得られる。その上で、訓練部19は、EMI予測モデルが出力するEMI強度の推定値と、正解ラベルのEMI強度との損失に基づいてEMI予測モデルのパラメータを更新する。これにより、訓練済みのEMI予測モデルが得られる。
【0083】
このようにして得られた訓練済みのEMI予測モデルに関するデータは、モデルデータ13Mとして記憶部13に保存される。例えば、機械学習モデルがニューラルネットワークである場合、モデルデータ13Mには、入力層、隠れ層及び出力層の各層のニューロンやシナプスなどの機械学習モデルの層構造を始め、各層の重みやバイアスなどの機械学習モデルのパラメータが含まれ得る。
【0084】
この他、訓練済みのEMI予測モデルのモデルデータをクライアント端末30に提供することによりモデル提供サービスを行うこととしてもよいし、訓練済みのEMI予測モデルを用いて回路のEMI強度を予測するEMI予測サービスを提供してもよい。
【0085】
次に、本実施例に係るサーバ装置10の処理の流れについて説明する。
図12及び
図13は、実施例1に係る訓練データ生成処理の手順を示すフローチャートである。この処理は、あくまで1つの側面として、クライアント端末30から訓練データ生成のリクエストを受け付けた場合に開始することができる。
【0086】
図12に示すように、取得部16は、記憶部13に記憶された回路情報群13Aを参照することにより、n個の訓練データ候補の回路の回路情報を取得する(ステップS101)。
【0087】
そして、判定部17は、ステップS101で取得されたn個の訓練データ候補の回路の個数に対応する回数の分、ステップS102からステップS109までの処理を繰り返すループ処理1を開始する。なお、ここでは、ループ処理が行われる例を挙げるが、ステップS102からステップS106までの処理は並列して実行されてもよい。
【0088】
すなわち、判定部17は、ループ処理中の訓練データ候補の回路に含まれる線路のうち互いが独立する2つの線路をペアリングする(ステップS102)。例えば、訓練データ候補の回路にm本の線路が含まれるとしたとき、m本の線路から2つの線路を抽出して得られる組合せに対応するnC2個のペアが得られる。
【0089】
そして、判定部17は、ステップS102のペアリングで得られたnC2個のペアに対応する回数の分、ステップS103からステップS106までの処理を繰り返すループ処理2を開始する。なお、ここでは、ループ処理が行われる例を挙げるが、ステップS103からステップS106までの処理は並列して実行されてもよい。
【0090】
すなわち、判定部17は、ループ処理中のペアに対応する2つの線路の最短距離sを算出する(ステップS103)。その上で、判定部17は、2つの線路の最短距離sがクロストークの判定基準d以上であるか否かを判定する(ステップS104)。
【0091】
ここで、最短距離sがクロストークの判定基準d以上である場合(ステップS104Yes)、クロストークは起こらないと識別する(ステップS105)。その一方で、最短距離sがクロストークの判定基準d以上でない場合(ステップS104No)、クロストークは起こると識別する(ステップS106)。
【0092】
ステップS103からステップS106までの繰り返しによりループ処理2が終了すると、訓練データ候補の回路に含まれる2つの線路がペアリングされたペアごとにクロストークの判定結果が得られる。
【0093】
その後、判定部17は、ループ処理中の訓練データ候補の回路にクロストークを介して互いに到達不可能な線路が存在するか否かを判定する(ステップS107)。そして、クロストークを介して互いに到達不可能な線路が存在する場合(ステップS107Yes)、当該訓練データ候補の回路には、データ拡張を適用する余地があると判明する。この場合、ループ処理中の訓練データ候補の回路は、データ拡張候補のリストへ追加される(ステップS108)。
【0094】
一方、クロストークを介して互いに到達不可能な線路が存在しない場合(ステップS107No)、当該訓練データ候補の回路には、データ拡張を適用する余地がないと判明する。この場合、ループ処理中の訓練データ候補の回路は、シミュレーション候補のリストへ追加される(ステップS109)。
【0095】
ステップS102からステップS109までの繰り返しによりループ処理1が終了すると、n個の訓練データ候補の回路は、データ拡張候補またはシミュレーション候補のいずれかに分類される。
【0096】
そして、判定部17は、データ拡張候補のリストに含まれる訓練データ候補の回路の個数に対応する回数の分、
図13に示すステップS110からステップS112までの処理を繰り返すループ処理3を開始する。なお、ここでは、ループ処理が行われる例を挙げるが、ステップS110からステップS112までの処理は並列して実行されてもよい。
【0097】
例えば、判定部17は、
図13に示すように、ループ処理中の訓練データ候補の回路を部分線路に分割する(ステップS110)。その後、ステップS110の分割で得られた部分線路の個数に対応する回数の分、ステップS111およびステップS112の処理を繰り返すループ処理4を開始する。なお、ここでは、ループ処理が行われる例を挙げるが、ステップS111およびステップS112の処理は並列して実行されてもよい。
【0098】
すなわち、判定部17は、ループ処理中の幾何形状と一致する幾何形状を持つ回路をシミュレーション候補のリストから検索する。このとき、部分線路の幾何形状と一致する幾何形状を持つ回路の検索がヒットしない部分線路が1つでも存在する場合(ステップS111No)、分割元となる訓練データ候補の回路がデータ拡張時に合成に用いる回路が不足することが判明する。この場合、判定部17は、分割元となる訓練データ候補の回路をデータ拡張候補のリストからシミュレーション候補のリストへ移行する(ステップS112)。
【0099】
一方、部分線路の幾何形状と一致する幾何形状を持つ回路の検索がヒットしない部分線路が1つも存在しない場合(ステップS111No)、分割元となる訓練データ候補の回路がデータ拡張時に合成に用いる回路が不足していないことが判明する。この場合、データ拡張候補のリストからシミュレーション候補のリストへの移行は行われない。
【0100】
ステップS111のループ処理4が終了すると、分割元となる訓練データ候補の回路のデータ拡張候補のリストからシミュレーション候補のリストへの移行の要否が識別される。そして、ステップS110からステップS112までのループ処理3が終了すると、データ拡張候補のリストに含まれる全ての訓練データ候補の回路に関する移行の確認が終了する。
【0101】
その後、シミュレーション部18Aは、シミュレーション候補のリストに保存された訓練データ候補の回路の訓練データをシミュレーションにより生成する(ステップS113)。続いて、データ拡張部18Bは、データ拡張候補のリストに保存された訓練データ候補の回路の訓練データをデータ拡張により生成する(ステップS114)。
【0102】
最後に、訓練部19は、ステップS113またはステップS114で生成された訓練データの電流分布を特徴量とし、EMI強度を目的変数として、EMI予測モデルを訓練し(ステップS115)し、処理を終了する。
【0103】
上述してきたように、本実施例に係る訓練データ生成機能は、2つの線路間の距離と、2つの線路およびGND層の距離との比に応じて2つの線路の電流分布をシミュレーションで生成するか、各線の電流分布を合成するかを切り替えて訓練データを生成する。例えば、線路A、線路Bおよび線路Cの3本の線路が含まれる回路を例に挙げれば、シミュレーションで訓練データが生成可能なパターンは、次の通りとなる。すなわち、線路Aのみ、線路Bのみ、線路Cのみ、線路AとB(結合)、線路AとC(結合)、線路BとC(結合)、線路AとBとC(結合)となる。このうち、データ拡張の適用が可能となり得るパターンは、最大で、線路AとB(非結合)、線路AとC(非結合)、線路BとC(非結合)、線路AとBとC(AとBのみ結合)、線路AとBとC(AとCのみ結合)、線路AとBとC(BとCのみ結合)となる。したがって、本実施例に係る訓練データ生成機能によれば、訓練データ生成時の計算量の削減を実現できる。例えば、複数線路の回路の訓練データ生成時のシミュレーションの実行回数を削減できる。
【実施例2】
【0104】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0105】
例えば、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部16、判定部17、生成部18または訓練部19をサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部16、判定部17、生成部18または訓練部19を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置10の機能を実現するようにしてもよい。
【0106】
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図14を用いて、実施例1及び実施例2と同様の機能を有する訓練データ生成プログラムを実行するコンピュータの一例について説明する。
【0107】
図14は、コンピュータのハードウェア構成例を示す図である。
図14に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
【0108】
ここで、
図14では、ハードウェアプロセッサの一例として、CPUを例に挙げるが、これに限定されない。すなわち、CPUやMPUなどの汎用のプロセッサに限らず、DLU(Deep Learning Unit)やGPGPU(General-Purpose computing on Graphics Processing Units)、GPUクラスタなどであってもよい。
【0109】
HDD170には、
図14に示すように、上記の実施例1で示した取得部16、判定部17、生成部18および訓練部19と同様の機能を発揮する訓練データ生成プログラム170aが記憶される。この訓練データ生成プログラム170aは、
図1に示された取得部16、判定部17、生成部18および訓練部19の各構成要素と同様、統合又は分離しても良い。すなわち、HDD170には、必ずしも
図1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
【0110】
このような環境の下、CPU150は、HDD170から訓練データ生成プログラム170aを読み出した上でRAM180へ展開する。この結果、訓練データ生成プログラム170aは、
図14に示すように、訓練データ生成プロセス180aとして機能する。この訓練データ生成プロセス180aは、RAM180が有する記憶領域のうち訓練データ生成プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、訓練データ生成プロセス180aが実行する処理の一例として、
図12や
図13に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【0111】
なお、上記の訓練データ生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【0112】
10 サーバ装置
11 通信インタフェイス部
13 記憶部
13A 回路情報群
13B 訓練データセット
13M モデルデータ
15 制御部
16 取得部
17 判定部
18 生成部
18A シミュレーション部
18B データ拡張部
19 訓練部
30 クライアント端末