IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エックス デベロップメント エルエルシーの特許一覧

特許7187705電磁装置の物理的特性を最適化するためのシステムおよび方法
<>
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図1
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図2A
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図2B
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図2C
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図3A
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図3B
  • 特許-電磁装置の物理的特性を最適化するためのシステムおよび方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-02
(45)【発行日】2022-12-12
(54)【発明の名称】電磁装置の物理的特性を最適化するためのシステムおよび方法
(51)【国際特許分類】
   G06F 30/23 20200101AFI20221205BHJP
   G06F 30/10 20200101ALI20221205BHJP
【FI】
G06F30/23
G06F30/10
【請求項の数】 20
(21)【出願番号】P 2021539081
(86)(22)【出願日】2020-01-08
(65)【公表番号】
(43)【公表日】2022-03-03
(86)【国際出願番号】 US2020012780
(87)【国際公開番号】W WO2020146526
(87)【国際公開日】2020-07-16
【審査請求日】2021-08-30
(31)【優先権主張番号】16/244,846
(32)【優先日】2019-01-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516326438
【氏名又は名称】エックス デベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】ルー,ジェシー
(72)【発明者】
【氏名】シューベルト,マーティン
(72)【発明者】
【氏名】アドルフ,ブライアン
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開平11-053422(JP,A)
【文献】特開2001-183404(JP,A)
【文献】国際公開第2018/032052(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
(57)【特許請求の範囲】
【請求項1】
電磁装置の構造パラメータを最適化するための、コンピュータによって実行される方法であって、
前記電磁装置を記述するシミュレート環境におけるフィールド応答のタイムフォワードシミュレーションを実行することと、
前記タイムフォワードシミュレーションを実行しながら、前記電磁装置の性能パラメータに関連付けられた前記フィールド応答から分解成分を抽出することと、
前記タイムフォワードシミュレーションの時間ステップでの前記性能パラメータと所望の性能値との間の差に少なくとも部分的に基づいて損失値を計算することと、
前記分解成分を使用して前記時間ステップからの前記損失値をバックプロパゲーションして、前記損失値に対する前記電磁装置の前記構造パラメータの変化の影響を決定することと、
前記損失値を低減するために前記構造パラメータを更新することによって前記電磁装置の修正された記述を生成することと、を含む、コンピュータによって実行される方法。
【請求項2】
前記分解成分が、1つ以上の関心周波数での前記性能パラメータを記述する前記フィールド応答に基づくフーリエ成分である、請求項1に記載のコンピュータによって実行される方法。
【請求項3】
前記電磁装置が、前記1つ以上の関心周波数で動作する、請求項2に記載のコンピュータによって実行される方法。
【請求項4】
前記タイムフォワードシミュレーションが、前記時間ステップを含む複数の時間ステップにわたって発生し、前記複数の時間ステップのうちの任意の1つでの前記フィールド応答が、前記複数の時間ステップに含まれる直前の時間ステップでのフィールド値およびソース値に関して線形に関連している、請求項1に記載のコンピュータによって実行される方法。
【請求項5】
前記シミュレート環境が、複数のボクセルを介して前記電磁装置を記述し、前記複数のボクセルの各々が、前記構造パラメータを記述するための構造値、前記フィールド応答を記述するためのフィールド値、および励起源を記述するためのソース値に関連付けられており、前記フィールド応答が、少なくとも部分的に前記構造パラメータおよび前記励起源に基づく、請求項1に記載のコンピュータによって実行される方法。
【請求項6】
前記タイムフォワードシミュレーションを実行するために、前記複数のボクセルの各々について、複数の時間ステップにわたって前記フィールド値を増分的に更新することであって、前記複数の時間ステップが、前記時間ステップを含む、更新することをさらに含む、請求項5に記載のコンピュータによって実行される方法。
【請求項7】
前記分解成分を使用する前記バックプロパゲーションが、前記複数の時間ステップの各々における前記複数のボクセルの各々の前記損失値に対する前記構造パラメータの前記変化の影響を決定する、請求項6に記載のコンピュータによって実行される方法。
【請求項8】
前記損失値の前記バックプロパゲーションが、タイムバックワードシミュレーションに対応しており、前記タイムバックワードシミュレーションの前記励起源が少なくとも部分的に前記損失値に基づいている、請求項6に記載のコンピュータによって実行される方法。
【請求項9】
前記損失値をバックプロパゲーションすることは、
前記タイムバックワードシミュレーションを実行するために、前記複数のボクセルの各々について、前記複数の時間ステップにわたって前記フィールド応答の変化を時間的に逆方向に増分的に更新することであって、前記フィールド応答の前記変化が、少なくとも部分的に前記損失値に基づく、更新することを含む、請求項8に記載のコンピュータによって実行される方法。
【請求項10】
サイクルを反復的に実行することであって、各サイクルが、連続して、前記タイムフォワードシミュレーションを実行することと、前記損失値の前記バックプロパゲーションを実行することと、前記損失値を低減するための前記構造パラメータを最適化することと、を含み、前記サイクルが、前記性能パラメータと前記所望の性能値の相違が閾値範囲内となるように前記損失値が実質的に収束するまで、前記損失値を反復的に低減する、実行することをさらに含む、請求項1に記載のコンピュータによって実行される方法。
【請求項11】
勾配降下アルゴリズムが、前記損失値の前記反復的低減のために利用される、請求項10に記載のコンピュータによって実行される方法。
【請求項12】
前記サイクルの各々の後で、前記最適化された構造パラメータが事前に決定された製造上の制約内にあるかどうかを決定することをさらに含む、請求項10に記載のコンピュータによって実行される方法。
【請求項13】
前記電磁装置が光導波路であり、前記構造パラメータが、前記シミュレート環境の材料特性に基づいて前記電磁装置の幾何学的境界に関連付けられ、前記材料特性が、比誘電率を含む、請求項1に記載のコンピュータによって実行される方法。
【請求項14】
物理装置の構造パラメータを最適化するためのシステムであって、
メモリに結合された1つ以上のプロセッサを含むコントローラを含み、前記メモリが、前記1つ以上のプロセッサによって実行されるときに、前記システムが動作を実行するようにする命令を記憶し、前記動作が、
前記物理装置を記述するシミュレート環境におけるフィールド応答のタイムフォワードシミュレーションを実行することと、
前記タイムフォワードシミュレーションを実行しながら、前記物理装置の性能パラメータに関連付けられた前記フィールド応答から分解成分を抽出することと、
前記タイムフォワードシミュレーションの時間ステップでの前記性能パラメータと所望の性能値との間の差に少なくとも部分的に基づいて損失値を計算することと、
前記分解成分を使用して前記時間ステップからの前記損失値をバックプロパゲーションして、前記損失値に対する前記物理装置の前記構造パラメータの変化の影響を決定することと、
前記損失値を低減するために前記構造パラメータを最適化することによって前記物理装置の修正された記述を生成することと、を含む、システム。
【請求項15】
前記タイムフォワードシミュレーションが、前記時間ステップを含む複数の時間ステップにわたって発生し、前記複数の時間ステップのうちの任意の1つでの前記フィールド応答が、前記複数の時間ステップに含まれる直前の時間ステップでのフィールド値およびソース値に関して線形に関連している、請求項14に記載のシステム。
【請求項16】
1つ以上の処理ユニットによって実行されるときに、前記1つ以上の処理ユニットに動作を実行させる命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記動作が、
電磁装置を記述するシミュレーション環境におけるフィールド応答のタイムフォワードシミュレーションを実行することと、
前記タイムフォワードシミュレーションを実行しながら、前記電磁装置の性能パラメータに関連付けられた前記フィールド応答から分解成分を抽出することと、
前記タイムフォワードシミュレーションの時間ステップでの前記性能パラメータと所望の性能値との間の差に少なくとも部分的に基づいて損失値を計算することと、
前記分解成分を使用して前記時間ステップからの前記損失値をバックプロパゲーションして、前記損失値に対する前記電磁装置の前記構造パラメータの変化の影響を決定することと、
前記損失値を低減するために前記構造パラメータを最適化することによって前記電磁装置の修正された記述を生成することと、を含む、非一時的なコンピュータ可読媒体。
【請求項17】
前記分解成分が、1つ以上の関心周波数での前記性能パラメータを記述する前記フィールド応答に基づくフーリエ成分であり、前記電磁装置が、前記1つ以上の関心周波数で動作する、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記シミュレート環境が、複数のボクセルを介して前記電磁装置を記述し、前記複数のボクセルの各々が、前記構造パラメータを記述するための構造値、前記フィールド応答を記述するためのフィールド値、および励起源を記述するためのソース値に関連付けられており、前記フィールド応答が、前記構造パラメータおよび前記励起源に少なくとも部分的に基づく、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記1つ以上の処理ユニットによって実行されるときに、前記1つ以上の処理ユニットに動作を実行させる前記命令であって、前記動作が、
前記タイムフォワードシミュレーションを実行するために、前記複数のボクセルの各々について、複数の時間ステップにわたって前記フィールド値を増分的に更新することであって、前記複数の時間ステップが、前記時間ステップを含む、更新すること、をさらに含み、
前記損失値をバックプロパゲーションすることは、
タイムバックワードシミュレーションを実行するために、前記複数のボクセルの各々について、前記複数の時間ステップにわたって前記フィールド応答の変化を時間的に逆方向に増分的に更新することであって、前記フィールド応答の前記変化が、少なくとも部分的に前記損失値に基づく、更新することと、を含み、前記損失値の前記バックプロパゲーションが、前記タイムバックワードシミュレーションに対応しており、前記タイムバックワードシミュレーションの前記励起源が少なくとも部分的に前記損失値に基づいている、請求項18に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記1つ以上の処理ユニットによって実行されるときに、前記1つ以上の処理ユニットに動作を実行させる前記命令であって、前記動作が、
サイクルを反復的に実行することであって、各サイクルが、連続して、前記タイムフォワードシミュレーションを実行することと、前記損失値の前記バックプロパゲーションを実行することと、前記損失値を低減するための前記構造パラメータを最適化することと、を含み、前記サイクルが、前記性能パラメータと前記所望の性能値の相違が閾値範囲内となるように前記損失値が実質的に収束するまで、前記損失値を反復的に低減する、実行することをさらに含む、請求項16に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月10日に出願された米国出願第16/244,846号に基づいており、その内容は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、一般に設計ツールに関連し、特に、限定的ではないが、光学および電磁装置の設計ツールに関連する。
【背景技術】
【0003】
光学および電磁装置は、電磁放射を作成、操作、伝播、および/または測定する装置である。それらの用途は大きく異なり、音響光学変調器、光変調器、光リング共振器、分布ブラッグ反射器、レーザ、レンズ、トランジスタ、導波路、アンテナなどを含むが、これらに限定されない。これらの装置の設計は、事前に決定された設計の少数の設計パラメータが特定の用途に適合するように調整される単純な推測およびチェック方法によって決定されることがある。ただし、実際には、これらの装置の設計パラメータは、装置のサイズと機能に応じて、数百から数十億に及ぶことがある。これらの光学および電磁装置の機能が向上し、装置の特徴サイズを小さくできるように製造が改善されるにつれて、最適化された装置設計を通じてこれらの改善を最大限に活用することがますます重要になっている。
【図面の簡単な説明】
【0004】
本発明の非限定的かつ非網羅的な実施形態を以下の図を参照して説明するが、ここで、特に指定されない限り、同様の参照番号は、様々な図全体を通して同様の部分を指す。必要に応じて図面が煩雑にならないように、要素の全ての事例が必ずしも標識されているわけではない。図面は必ずしも縮尺通りではなく、説明されている原理を示すことに重点が置かれている。
【0005】
図1】本開示の一実施形態による、電磁装置の構造パラメータを最適化するためのシステムを示す機能ブロック図である。
図2A】本開示の一実施形態による、電磁装置を記述するシミュレート環境の例示のレンダリングを示す。
図2B】本開示の一実施形態による、励起源に応答するシミュレーション環境におけるフィールド応答の例示のタイムフォワードシミュレーションを示す。
図2C】本開示の一実施形態による、シミュレート環境における時間的に逆方向の損失値の例示のバックプロパゲーションを示す。
図3A】本開示の一実施形態による、シミュレート環境におけるタイムフォワードシミュレーションおよびバックプロパゲーションの例示の時間ステップを示すフローチャートである。
図3B】本開示の一実施形態による、タイムフォワードシミュレーションとバックプロパゲーションとの関係を示すチャートである。
図4】本開示の一実施形態による、電磁装置の構造パラメータを最適化するための方法を示す。
【発明を実施するための形態】
【0006】
物理装置の物理的特性を最適化するためのシステムおよび方法の実施形態が本明細書に記載されている。以下の説明では、多くの具体的な詳細は、実施形態の徹底的な理解を提供するために、記載されている。しかしながら、関連技術の当業者は、本明細書に記載された技術が、具体的な詳細のうちの1つ以上を用いることなく、または他の方法、構成要素、材料などを用いて実施することができることを認識するであろう。他の事例では、周知の構造、材料、または動作は、特定の態様を不明瞭にしないように、詳細には図示または記載されていない。
【0007】
本明細書全体を通して「1つの実施形態」または「一実施形態」というのは、実施形態に関連して説明された特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたる様々な箇所における「1つの実施形態では」または「一実施形態では」という句の出現は、必ずしも全てが同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、または特性は、1つ以上の実施形態において、任意の好適な様式で組み合わされ得る。
【0008】
本明細書に記載されているのは、第一原理シミュレーションに基づいて電磁装置および他の装置の構造パラメータを最適化するために利用され得る物理シミュレータの実施形態である。特に、物理シミュレータは、励起源に対する光学的、電気的、磁気的、音響的、および/または流体的応答(例えば、フィールド応答)に基づく装置の第一原理ベースの設計および最適化を可能にする。物理シミュレータは、物理偏微分方程式(PDE)システムを利用して、これらの光学的、電気的、機械的、流体、量子力学などのシステムをタイムフォワードシミュレーションでモデル化し、その後バックプロパゲーションを行って、フィールド応答についての装置の構造パラメータの影響を決定する。しかしながら、PDEシステムを使用してこれらの装置をシミュレートするのに必要な大きな状態サイズ(例えば、装置が3次元、または他の次元で、数百から数十億の範囲のボクセルの量で表される)およびシミュレーションの時間ステップ(例えば、数百から数百万または数十億までの時間ステップ)は、最大のデータセンターでさえバックプロパゲーション(またはタイムフォワードシミュレーションであっても)のためのメモリフットプリントの点でそれらを扱いにくくすることがある。
【0009】
バックプロパゲーションのメモリフットプリントを低減するために、線形PDEを利用して、低減された次元で表されるフィールド応答をモデル化する。言い換えれば、バックプロパゲーションを実行するためにタイムフォワードシミュレーションのすべての時点でフィールド応答を記憶する代わりに、タイムフォワードシミュレーションの単一の(例えば、組み合わされた)状態のみが記憶される。例えば、すべての時点ですべてのボクセルについてのフィールド応答を記憶するのではなく、時間の経過に伴うフィールド応答が、フィールド応答を記憶するのに必要な次元を低減する異なるドメインで表される(例えば、1つ以上の関心周波数でのフーリエ成分を介して)。フィールド応答の簡約表現は、タイムフォワードシミュレーションの実行中に抽出された分解成分(例えば、フーリエ成分)に対応してもよい。続いて、分解成分を利用してバックプロパゲーションを実行してもよい。
【0010】
一実施形態では、すべてのタイムステップでタイムフォワードシミュレーションの状態を記憶するのではなく、タイムフォワードシミュレーションの単一の状態を記憶しながらバックプロパゲーションを実行する計算コストを大幅に増加させないスキームが利用される。このようなスキームは、1つ以上の関心周波数でのタイムフォワードシミュレーション中にフィールド応答の実行中のフーリエ変換(例えば、分解成分の抽出)を取り、この結果に対して損失値(例えば、関数)を決定することによって実現される。損失値は、分解成分を使用してシミュレーションのすべての状態を時間的に逆方向にバックプロパゲーションされ、損失値に対する装置の構造パラメータの変化の影響を決定する。
【0011】
代替的には、分解成分を使用して損失値をバックプロパゲーションすることは、損失勾配の分解成分(例えば、フィールド応答に関する損失値の変化)を決定するために、時間的に逆方向に実行中のフーリエ変換を取ることとして説明され得る。次に、フィールド応答の分解成分(例えば、場の勾配)と損失勾配を組み合わせて、特定の時間ステップにおける損失値に対する構造パラメータの変化の影響への少なくとも寄与に対応する構造勾配を決定することができる。これらの構造パラメータは、材料境界の位置、特定の点での材料の密度、比誘電率(すなわち、誘電率)、屈折率、装置の形状など、関心のある勾配に対応してもよい。
【0012】
上記のように、物理シミュレータは、その後簡約次元表現により記述され得る線形PDEシステムを使用して装置のフィールド応答をモデル化することにより、メモリフットプリントが低減された(例えば、扱いやすい)新しい装置の第一原理ベースの設計を可能にする。これは、機械的装置、光学的装置、電磁的装置、量子力学的装置、レーザ、レンズ、機械的構造、トランジスタなどを含む、幅広い分野での用途を有し、これらに限定されない。有利なことに、この第一原理ベースの設計は、人間の直感や専門知識に依存せず、ほぼ無制限の数の設計パラメータの同時のスケーラブルな最適化が達成される可能性があるため、一般に現在の最先端の設計を超える設計をもたらす可能性がある。
【0013】
図1は、本開示の一実施形態による、電磁装置の構造パラメータを最適化するためのシステム100を示す機能ブロック図である。以下の実施形態では、システム100は、電磁装置に対応するものとして、光導波路に照らして説明される。しかしながら、電磁装置は光導波路に限定されず、レーザ、レンズ、トランジスタ、光学装置、量子力学的装置、アンテナ、光電子スイッチ、機械的構造などの他の電磁装置が「電磁装置」という用語で表されてもよいと理解される。システム100は、励起源に対するそれらの光学的、電気的、磁気的、音響的、および/または流体的応答(例えば、フィールド応答)に基づいて装置の第一原理ベースの設計および最適化を提供する。言い換えれば、システム100は、電磁装置のモデル化に限定されず、励起源に対するフィールド応答を有する他の装置もモデル化され、その後、構造パラメータが最適化されてもよいと理解される。
【0014】
図示のように、システム100は、コントローラ105、ディスプレイ107、入力装置109、通信装置111、ネットワーク113、リモートリソース115、バス121、およびバス123を含む。コントローラ105は、プロセッサ131、メモリ133、ローカルストレージ135、および物理装置シミュレータ139を含む。物理装置シミュレータ139は、シミュレーションエンジン141、分解ロジック143、計算ロジック145、バックプロパゲーションロジック147、および最適化エンジン149を含む。いくつかの実施形態では、コントローラ105は分散システムであってもよいと理解される。
【0015】
コントローラ105は、電磁装置の構造パラメータを最適化するためにシステム100を利用するユーザに情報を表示するために、バス123を介してバス121に結合されたディスプレイ107(例えば、発光ダイオードディスプレイ、液晶ディスプレイなど)に結合されている。入力装置109は、情報およびコマンド選択をプロセッサ131に通信するために、バス123を介してバス121に結合されている。入力装置109は、ユーザとコントローラ105との間の相互作用を容易にするために、マウス、トラックボール、キーボード、スタイラス、または他のコンピュータ周辺機器を含んでもよい。それに応答して、コントローラ105は、ディスプレイ107を介して相互作用の検証を提供することができる。
【0016】
コントローラ105にオプションとして結合され得る別の装置としては、ネットワーク113を介して分散システムのリモートリソース115にアクセスするための通信装置111である。通信装置111は、イーサネット、トークンリング、インターネット、または広域ネットワークに結合するために使用されるものなど、任意の数のネットワーキング周辺装置のいずれかを含んでもよい。通信装置111はさらに、ヌルモデム接続、またはプラットフォーム105と外界との間の接続性を提供する任意の他の機構であってもよい。図1に示すシステム100の構成要素のいずれかまたはすべて、および関連付けられたハードウェアが、本開示の様々な実施形態で使用され得ると留意する。リモートリソース115は、分散システムの一部であってもよく、電磁装置の構造パラメータを最適化するための任意の数のプロセッサ、メモリ、および他のリソースを含んでもよい。
【0017】
コントローラ105は、電磁装置の構造パラメータを最適化するためのシステム100の動作を調整する。プロセッサ131(例えば、1つ以上の中央処理装置、グラフィックス処理装置、および/またはテンソル処理装置など)、メモリ133(例えば、DRAMおよびSRAMなどの揮発性メモリ、ROMなどの不揮発性メモリ、フラッシュメモリなど)、ローカルストレージ135(例えば、コンピュータディスクドライブなどの磁気メモリ)、および物理装置シミュレータ139は、バス123を介して互いに結合されている。コントローラ105は、コントローラ105によって実行されるときに、コントローラ105またはシステム100が動作を実行するようにするソフトウェア(例えば、プロセッサ131に結合されたメモリ133に含まれる命令)および/またはハードウェアロジック(例えば、特定用途向け集積回路、フィールドプログラマブルゲートアレイなど)を含む。動作は、メモリ133、ローカルストレージ135、物理装置シミュレータ139、およびネットワーク113を介してアクセスされるリモートリソース115のいずれか1つまたはそれらの組み合わせに記憶された命令に基づくことができる。
【0018】
図示の実施形態では、物理装置シミュレータ139のモジュール141~149を利用して、電磁装置の構造パラメータを最適化する。いくつかの実施形態では、システム100が電磁装置の構造パラメータを最適化し得ることは、とりわけ、フィールド応答(例えば、電気と磁気の両方)をモデル化するために有限差分時間領域(FDTD)法を利用するシミュレーション(例えば、タイムフォワードおよびバックプロパゲーション)を介して達成されてもよい。シミュレーションエンジン141は、電磁装置を記述するシミュレート環境のタイムフォワードおよびバックワードシミュレーションを実行するための命令を提供する。特に、シミュレーションは、励起源に応答してシミュレート環境のフィールド応答を決定する。分解ロジック143は、電磁装置の性能パラメータに関連付けられたフィールド応答から分解成分を抽出する。計算ロジック145は、少なくとも部分的に、電磁装置の性能パラメータと所望の性能値との間の差に基づいて損失値を計算する。シミュレーションエンジン141と組み合わせたバックプロパゲーションロジック147は、分解成分を使用して損失値を時間的に逆方向にバックプロパゲーションして、損失値に対する構造パラメータの変化の影響を決定する。最適化エンジン149は、損失値を低減するために電磁装置の構造パラメータを最適化するように利用される。
【0019】
図2A~2Cは、電磁装置の構造パラメータを最適化するためのシミュレート環境201の初期設定、タイムフォワードシミュレーション、およびバックプロパゲーションを示す。シミュレート環境201および対応する初期設定、タイムフォワードシミュレーション、バックプロパゲーション、および構造パラメータの最適化は、図1に示されるシステム100によって説明されるような物理シミュレータを介して達成され得る。図2A~2Cに示されるように、シミュレート環境は2次元で表されるが、より高い(例えば、3次元空間)およびより低い(例えば、1次元空間)次元もまた、シミュレート環境201および電磁装置を記述するために使用され得ると理解される。いくつかの実施形態では、図2A~2Cに示される電磁装置の構造パラメータを最適化は、とりわけ、フィールド応答(例えば、電気と磁気の両方)をモデル化するために有限差分時間領域(FDTD)法を利用するシミュレーション(例えば、タイムフォワードおよびバックプロパゲーション)を介して達成されてもよい。
【0020】
図2Aは、本開示の実施形態による、電磁装置を記述するシミュレート環境201-Aの例示のレンダリングを示す。シミュレート環境201-Aは、電磁装置の構造パラメータを最適化するための初期時間ステップ(例えば、初期設定)でのシミュレート環境201を表す。シミュレート環境201によって記述された電磁装置は、シミュレート環境の構造パラメータが設計、修正、または他の方法で変更され得る設計可能領域205を有する光導波路に対応し得る。シミュレート環境201は、励起源215(例えば、ガウスパルス、波、導波路モード応答など)を含む。シミュレート環境201(およびその後の電磁装置)内の電界および磁界は、励起源215に応答して変化する可能性がある(例えば、フィールド応答)。電磁装置は、導波管出力ポート220および225を含み、これらは、励起源215に応答して電磁装置の性能パラメータまたはメトリックを決定するために使用され得る。タイムフォワードシミュレーションが開始される前に、電磁装置の第一原理シミュレーションの初期構造パラメータ、励起源、性能パラメータ、およびその他のメトリックの特定の設定が入力される。これらの特定の値およびパラメータは、(例えば、図1のシステム100の)ユーザによって直接的、(例えば、メモリ133、ローカルストレージ135、またはリモートリソース115に記憶された所定の値をカリングするコントローラ105を介して)間接的、またはそれらの組み合わせによって定義され得る。
【0021】
図示のように、シミュレート環境201(およびその後の電磁装置)は、シミュレート環境の2次元(または3次元)空間の個々の要素を表す複数のボクセル210によって記述される。ボクセルの各々は2次元の正方形として示されているが、ボクセルは3次元空間において立方体または他の形状として表され得ると理解される。複数のボクセル210の特定の形状および次元は、シミュレート環境201に応じて調整され得ると理解される。さらに、シミュレート環境201の他の側面を曖昧にすることを回避するために、複数のボクセル210の一部のみが示されていることに留意する。複数のボクセル210の各々は、少なくとも、構造パラメータを記述するための構造値、フィールド応答を記述するためのフィールド値、およびシミュレート環境201内の特定の位置での励起源を記述するためのソース値に関連付けられる。フィールド応答は、例えば、複数のボクセル210の各々について、特定の時間ステップでの電界および/または磁界を記述するベクトルに対応し得る。より具体的には、ベクトルは、フィールド応答を決定するためのマクスウェル方程式を離散化するためのYee格子に対応し得る。いくつかの実施形態では、フィールド応答は、少なくとも部分的に、構造パラメータおよび励起源215に基づく。
【0022】
図2Bは、本開示の実施形態による、電磁装置を記述するシミュレート環境201-Bの例示のタイムフォワードシミュレーションを示す。レンダリングされたシミュレート環境201-Bは、励起源215がアクティブである(例えば、シミュレート環境201を通って伝播する励起源215に由来する波を生成する)特定の時間ステップでのタイムフォワードシミュレーションを表す。一実施形態では、電磁装置は、関心周波数で動作し、かつ特定の導波路モード(例えば、横電磁モード、横電気モードなど)を有する光導波路であり、励起源は、指定された空間、位相、および時間プロファイルを有する光導波路の入力にある。タイムフォワードシミュレーションは、図示の時間ステップを含む複数の時間ステップにわたって発生する。タイムフォワードシミュレーションを実行するときに、複数のボクセル210の各々についてのフィールド応答(例えば、フィールド値)への変化は、励起源215に応答して更新され、少なくとも部分的に、複数の時間ステップの各々での電磁装置の構造パラメータに基づく。同様に、いくつかの実施形態では、ソース値は、複数のボクセルの各々について更新される(例えば、シミュレート環境を通って伝播する励起源215からの電磁波に応答して)。タイムフォワードシミュレーションは増分的であり、フィールド値(およびソース値)は、複数のタイムステップの各々について時間が進むにつれて、各タイムステップで増分的に更新されることが理解される。さらに、いくつかの実施形態では、更新は反復プロセスであり、各フィールドおよびソース値の更新は、少なくとも部分的に、各フィールドおよびソース値の以前の更新に基づくと留意する。
【0023】
タイムフォワードシミュレーションを実行するときに、電磁装置の性能パラメータに関連付けられたフィールド応答から分解成分が抽出される。一実施形態では、性能パラメータは、導波路出力ポート220および225の所望の出力モードの量に対応する。分解成分の抽出は、時間の関数としての性能パラメータのフーリエ成分を抽出することに対応してもよい。性能パラメータは、出力ポート220および225の特定の位置での所望のモード形状での(1つ以上の関心周波数での)電力を表す。その後、損失値は、少なくとも部分的に、時間ステップ(例えば、タイムフォワードシミュレーションの最後の時間ステップ)での性能パラメータと所望の性能値との間の差に基づいて計算され得る。損失値は、性能パラメータと所望の性能値との間の関係を記述する損失関数によって決定することができる。言い換えれば、実行中のフーリエ変換は、1つ以上の関心周波数でのタイムフォワードシミュレーションの複数の時間ステップの各々に適用されてもよく、その後、損失関数がこの結果に対して適用され得る。
【0024】
図2Cは、本開示の実施形態による、電磁装置を記述するシミュレート環境201-Cにおける時間的に逆方向の損失値の例示的なバックプロパゲーションを示す。損失値のバックプロパゲーションは、分解成分を使用して時間ステップ(例えば、タイムフォワードシミュレーションの最後の時間ステップ)から時間的に逆方向に実行され、損失値に対する電磁装置の構造パラメータの変化の影響を決定する。図示のように、損失値は、(例えば、タイムフォワードシミュレーションの、しかし逆方向の)複数の時間ステップの各々について時間的にバックプロパゲーションされる。いくつかの実施形態では、バックプロパゲーションは、シミュレート環境201の励起源が少なくとも部分的に損失値に基づくタイムバックワードシミュレーションとして対応する。言い換えれば、導波路出力ポート220および225で決定された損失値は、バックプロパゲーション中の励起源として対応する。複数のボクセルの各々のフィールド応答の変化は、少なくとも部分的に、損失値に基づいて、時間的に逆方向に複数の時間ステップの各々について増分的に更新される。損失値に基づくフィールド応答の変化は、経時的な損失勾配(複数のボクセル210の各々のフィールド応答に関する損失値の変化)に対応する。
【0025】
タイムバックワードシミュレーションを実行している間、損失勾配の分解成分を決定するために、時間的に逆方向に実行中のフーリエ変換が取られる。次に、フィールド応答の分解成分(例えば、フィールド勾配)と損失勾配を組み合わせて、特定の時間ステップでの損失値に対する構造パラメータの変化の影響への寄与に対応する構造勾配を決定することができる。フィールド応答の分解成分は、各時間ステップで複数のボクセル210の各々についてフィールド応答の記憶された値を使用するのではなく、フィールド勾配を決定するために利用される。これにより、構造勾配を決定するためのバックプロパゲーションをメモリ効率よく実施することができる(例えば、低減されたメモリフットプリント)。
【0026】
いくつかの実施形態では、タイムフォワードシミュレーションおよびバックプロパゲーションの反復的サイクルは、電磁装置の構造パラメータを調整するために勾配降下法などの最適化スキームを使用して連続的に実行される。より具体的には、各サイクルの後に、構造パラメータの調整(例えば、最適化)が、損失値を低減するためになされる。タイムフォワードシミュレーション、バックプロパゲーション、および最適化は、性能パラメータとで所望の性能値の差が閾値範囲内にあるように、損失値が実質的に収束するまで連続して繰り返される。いくつかの実施形態では、損失信号は、勾配降下アルゴリズムまたは他のいくつかの最適化スキームを介して反復的に低減される(および構造パラメータが調整/最適化される)。同じまたは他の実施形態では、タイムフォワードシミュレーションおよびバックプロパゲーションのサイクルを実行するときの構造パラメータへの変更または調整が、所定の製造制約内にあるかどうかが決定される。これにより、構造パラメータの最適化が、製造の観点からは実行不可能な調整を提案することから軽減され得る(例えば、幾何学的境界のアスペクト比が鋭すぎて製造できない)。
【0027】
図3Aは、本開示の実施形態による、シミュレート環境内でのタイムフォワードシミュレーション310およびバックプロパゲーション350の例示の時間ステップを示すフローチャート300である。フローチャート300は、システム(例えば、図1のシステム100)が、電磁装置または他の装置を記述するシミュレート環境(例えば、図2A~2Cのシミュレート環境201)のタイムフォワードシミュレーション310およびバックプロパゲーション350を実行するために使用できる1つの可能な実装である。図示の実施形態では、タイムフォワードシミュレーションは、有限差分時間領域(FDTD)法を利用して、励起源に応答する複数の時間ステップでのフィールド応答(電気的および磁気的の両方)をモデル化する。より具体的には、時間依存マクスウェル方程式(偏微分形式)は、複数の時間ステップにわたってフィールドベクトル成分(例えば、図2A~2Cのシミュレート環境201の複数のボクセル210の各々のフィールド応答)を解くために離散化される。
【0028】
図3Aに示されるように、フローチャート300は、タイムフォワードシミュレーション310およびバックプロパゲーション350の一部を含む。タイムフォワードシミュレーション310は、複数の時間ステップにわたって(例えば、指定された時間ステップサイズを有する所定の数の時間ステップにわたる最初の時間から最後の時間ステップまで)発生し、励起源に応答したシミュレート環境および/または電磁装置の構造パラメータ304に基づいてフィールド応答308(例えば、シミュレート環境および/または電磁装置の電界および磁場の変化)をモデル化する。例えば、更新動作314は、前の更新動作312および構造パラメータ304から決定されたフィールド応答に基づいて、フィールド応答308を更新する。同様に、更新動作316は、更新動作314から決定されたフィールド応答に基づいて、フィールド応答308を更新する。言い換えれば、タイムフォワードシミュレーションの各タイムステップで、フィールド応答は、前のフィールド応答と電磁装置の構造パラメータに基づいて更新される。追加的に、合計損失(例えば、損失値)を決定するために、各タイムステップで、損失値(例えば、損失関数)への寄与が、最後の時間ステップに到達するまで追跡される。フィールド応答308に基づく損失値への寄与は、所望の性能値と比較した電磁装置の性能パラメータに対応し得る。
【0029】
複数のボクセルの各々について複数の時間ステップの各々でフィールド応答308を記憶するのではなく、(例えば、フィールド応答の簡約表現/損失寄与を提供するために)分解成分を抽出することによって、損失値への寄与を追跡することができる。次に、損失値318は、励起源(例えば、損失352)として利用され得、これは、分解成分をフィールド勾配364として使用して、更新動作354、356、358を実行するためにバックプロパゲーションして(例えば、タイムバックワードシミュレーションにおけるように)、損失値に対する構造パラメータ(例えば、構造勾配368)への変化の寄与または影響を決定してもよい。
【0030】
図示の実施形態では、FDTD解決(例えば、タイムフォワードシミュレーション310)およびバックプロパゲーション350問題は、「更新」および「損失」動作ならびにそれらの対応する勾配動作のみを使用して、高レベルから図式的に説明される。シミュレーションは最初に設定され、シミュレーションされた環境(および電磁装置)の構造パラメータ、励起源、および初期フィールド状態が提供される。前述したように、フィールド状態は、構造パラメータに基づいて励起源に応答して更新される。より具体的には、更新動作はΦによって与えられ、ここで、i=1、…nに対して、xi+1=Φ(x,b,z)である。ここで、nは、タイムフォワードシミュレーションに対する時間ステップの総数(たとえば、複数の時間ステップ)に対応し、xは、時間ステップiでのシミュレート環境のフィールド応答(複数のボクセルの各々の電界および磁界に関連付けられたフィールド値)に対応し、bは、時間ステップiでのシミュレート環境の励起源(複数のボクセルの各々の電界および磁界に関連付けられたソース値)に対応し、zは、電磁装置のトポロジーおよび/または材料特性を説明する構造パラメータに対応する。
【0031】
FDTD法を使用すると、更新動作は具体的には、次のように記載される。
【数1】

つまり、FDTD更新は、フィールドとソースの項に関して線形である。具体的には、A(z)∈RN×NおよびB(z)∈RN×Nは線形演算子であり、これらは、構造パラメータ、zに依存し、それぞれフィールド、xとソース、biに作用する。ここでは、x、b∈Rであると想定され、ここで、Nは、タイムフォワードシミュレーションにおけるFDTDフィールド成分の数である。追加的に、損失演算は、L=(x,…x)によって与えられ、これは、計算されたフィールドを入力として取り、低減および/または最小化できる単一の実数値スカラー(例えば、損失値)を生成する。
【0032】
電磁装置の構造パラメータを最適化するという観点から、生成する関連量は、dL/dzであり、これは、電磁装置の構造パラメータの変化に関する損失値の変化を記述するために使用され、図3Aに示される「構造勾配」として示される。
【0033】
図3Bは、本開示の一実施形態による、タイムフォワードシミュレーションのための更新動作とバックプロパゲーションとの間の関係を示すチャート380である。より具体的には、図3Bは、∂L/∂x、∂xi+1/∂x、dL/dx、および∂x/∂zを含む、dL/dzを計算する際に伴うタイムフォワードおよびバックプロパゲーションの関係を要約する。更新動作314は、構造パラメータ305、zに基づいて、フィールド309、xを次のフィールド317、xi+1に更新する。勾配353は、少なくとも部分的に、(dL/dz)(∂L/∂x)を計算するために勾配369と組み合わされて使用されるバックプロパゲーション(例えば、時間的に逆方向の更新動作356)についてdL/dxを決定するために利用される。(dL/dz)(∂L/∂x)は、Lへの各フィールドの寄与である。これは偏導関数であるため、x→xi+1の因果関係は考慮していないことに留意する。したがって、∂xi+1/∂xは、x→xi+1の関係を包含するように利用される。dL/dxはまた、dL/dzを計算するために使用され、Lに関するフィールドの全導関数に対応し、ここで、dL/dx=(∂L/∂x)+(dL/dxi+1)(∂xi+1/∂x)である。最後に、各時間/更新ステップからのdL/dzへの寄与である∂xi/∂zが使用される。
【0034】
特に、直接∂L/∂xおよびdL/dzを計算するためのメモリフットプリントは非常に大きいため、少数の状態テンソル以上のものを記憶するのは扱いにくい。状態テンソルは、単一のシミュレーション時間ステップについてすべてのFDTDセル(例えば、複数のボクセル)の値を記憶することに対応する。「テンソル」という用語は、数学的な意味で、またはAlphabet,Inc.によって開発されたTensorFlowフレームワークによって説明されるテンソルを指すことがあると理解される。いくつかの実施形態では、「テンソル」という用語は、特定の変換規則に従う多次元配列に対応する数学的テンソルを指す。ただし、ほとんどの実施形態では、「テンソル」という用語はTensorFlowのテンソルを指し、テンソルはベクトルと行列を潜在的に高次元(例えば、基本データ型のn次元配列)に一般化したものとして説明され、特定の変換規則に必ずしも限定されない。例えば、一般的な損失関数fの場合、すべての時間ステップiに対してフィールド、xを記憶する必要があることがある。これは、fのほとんどの選択に対して、勾配がfの引数の関数になるためである。この難しさは、より小さいiに対する値の前に、より大きいiに対する∂L/∂xの値が必要とされるという事実によって複雑になっており、これにより、即時の時間ステップで値∂L/∂xのみを記憶しようとするスキームの使用が妨げられることがある。
【0035】
簡約表現なしでバックプロパゲーションを実行する際の追加の問題は、dL/dzを計算するときにさらに示され、これは、
【数2】

完全を期すために、合計における第1の時間の初めての完全な形、dL/dzは、
【数3】

式(1)のよって説明されているようなΦ
の定義に基づいて、(∂xi+1/∂x)=A(z)を式(3)に代入して、バックプロパゲーションのための随伴更新(例えば、更新動作356などの更新動作)に到達することに留意し、これは、
【数4】

として表すことができる。
【0036】
随伴更新は、後の時間ステップから前の時間ステップへの損失勾配のバックプロパゲーションであり、dL/dxに対するバックワード解と呼ばれることがある。合計における第2項、dL/dxは、
【数5】

式(1)によって説明されるΦの特定の形式に対して示される。したがって、簡約表現なしで、合計の関連するdL/dzの各項は、i>=iに対するdL/dxと、i<iに対するxi0の両方に依存する。これらの2つの項の依存関係チェーンは反対方向にあるため、このように(例えば、簡約表現なしで)dL/dzを計算することは、iの全てに対するx値の記憶も必要とし、扱いにくいと想定されると結論付けられる。
【0037】
∂x/∂zは、xi-1およびbi-1に関して線形であり、これは、xおよびbに関するΦの線形性の直接的な結果である。この直線性を利用して、損失関数のfを特定の関数セットに制限し、次元を低減してタイムフォワードシミュレーションとバックプロパゲーションを表すことにより、メモリフットプリントが低減した∂L/∂xとdL/dzを計算する。
【0038】
iのすべてに対するx値を記憶せずに∂L/∂xを計算するために、損失動作Lの一般的な損失関数f(x,…,x)は、関数のセットに制限され、ここで、
f(x,…,x)=f(u(x),…,u(x)) (7)
であり、ここで、uは低次元であり、これは、任意の複雑なfを扱いやすさを維持し、バックプロパゲーション動作(df/dx)=(df/du)(du/dx)を効率よく実行することを可能にする。つまり、勾配にdu/dxを効率的に乗ずることができる。メモリフットプリントの問題から保護(例えば、iのすべてに対するx値を記憶することが必要ではない)しながら、FDTD法が、単純化された出力uを返すことを可能にし、次いで、それをユーザが安全に任意の複雑な損失関数fに挿入できる点で、このような公式化は、便利であり得る。
【0039】
一実施形態では、定数uは、すべてのxに対して選択され、例えば、u(x)=cであり、ここで、x∈Rは、タイムステップiでのフィールドを表し、c∈Rm×pであり、p<<mである。このようなuの選択は、(du/dx)=cであるため扱いやすく、これは、すべてのx状態を記憶する必要がなく、定数cの記憶のみを伴うため効率的であり、フィールドを関心のあるp個の出力モードにモーダル分解すると直感的に考えることができる。
【0040】
別の実施形態では、単一のuが、すべてのxにわたって選択されf(x,…,x)=f(u(x),…,(x))となるようにし、ここで、(x,…,ux)=Σ ,c ∈ Rm×p、およびp<<mである。定数cが選択される実施形態と比較して、この実施形態は、予想される時間変動がすでにuによって決定されるという意味でさらに制限的である(ただし、任意の時間遅延を可能にするなど、メモリの効率性を依然として維持しながらいくつかの柔軟性があることは可能である)。この実施形態について特に心に訴えるのは、すべてのxにわたる勾配df/dxが、シミュレーションを実行する前でも、事前に決定することができることである。これにより、タイムフォワードシミュレーションとタイムバックワードシミュレーション(例えば、バックプロパゲーションまたは随伴動作)の両方を並行して進めることができる。次いで、最終的な構造勾配dL/dzは、タイムフォワードシミュレーションとタイムバックワードシミュレーションを適切な方法で組み合わせることで到達する。
【0041】
上述のように、∂L/∂xがメモリフットプリントを低減して計算できるが、随伴フィールドdL/dxを取得するための効率的なパスがあると想定することができる。これに照らして、式(2)で説明されているように、dL/dzの定義において両方の項の線形性を使用することが可能である。具体的には、時間的にフーリエ分解を実行するなど、分解成分を抽出することによって、dL/dxの簡約表現およびxを決定することができる。一実施形態では、(dL/dx)=ΣωR(ω)ejωiであり、x=ΣωS(ω)ejωiであり、個々のR(ω)ejωiおよびS(ω)ejωi項が、それぞれ独立して、随伴および通常の更新式を満足するようにする。明確性のために虚数としてjを使用することに留意する。∂x/∂zは、xに関しても線形であるため、次のように書くことができる。
【数6】

周波数ごとに(例えば、表現を低減して)dL/dzを考慮することを可能にする。
【数7】

(dL/dz)|ωを導出することは、メモリフットプリントを低減した状態で、dL/dzを計算することを可能する。すなわち、選択された数の関心周波数(例えば、ω)のみが、任意の時間におけるdL/dzの組み立てを作成するために選択され、ωの数が、所定のメモリバジェット内に収まるように適合されるであろう。いくつかの実施形態では、最適化されている構造パラメータを有する電磁装置は、関心周波数内で動作する。
【0042】
図4は、本開示の一実施形態による、電磁装置の構造パラメータを最適化するための方法400を示す。
【0043】
ブロック410は、複数のボクセルを介して電磁装置を記述するシミュレート環境を提供することを示す。複数のボクセルの各々は、電磁装置の構造パラメータを記述するための構造値、フィールド応答(例えば、電界および磁界)を記述するためのフィールド値、および励起源を記述するためのソース値に関連付けられている。一実施形態では、シミュレート環境は、電磁装置の構造パラメータを最適化するために更新、修正、または他の方法で変更され得る構造パラメータを有する複数のボクセルの一部を含む設計領域を含む。
【0044】
他の実施形態では、シミュレート環境全体の構造パラメータを修正して、電磁装置の構造パラメータを最適化してもよい。いくつかの実施形態では、電磁装置は、1つ以上の関心周波数で動作する。同じまたは他の実施形態では、電磁装置は光導波路であり、構造パラメータは、シミュレート環境の材料特性(例えば、比誘電率、屈折率など)に基づいて電磁装置の幾何学的境界に関連付けられる。
【0045】
ブロック415は、シミュレート環境におけるフィールド応答のタイムフォワードシミュレーションの実行を示す。タイムフォワードシミュレーションは、最初の時間ステップから最後の時間ステップまでの複数の時間ステップにわたって発生する。フィールド応答は、少なくとも部分的に、励起源と電磁装置を記述する構造パラメータに基づく。タイムフォワードシミュレーションを実行するために、フィールド値は、複数のボクセルの各々について、複数の時間ステップにわたって増分的に更新される。いくつかの実施形態では、複数の時間ステップのうちの任意の1つでのフィールド応答は、複数の時間ステップに含まれる直前の時間ステップでのフィールド値およびソース値に関して線形に関連している。
【0046】
ブロック420は、タイムフォワードシミュレーションを実行しながら、電磁装置の性能パラメータに関連付けられたフィールド応答から分解成分を抽出することを示す。分解成分は、複数の時間ステップの各々でのフィールド応答の記憶が必要とされないように、フィールド応答の簡約次元表現を表す。いくつかの実施形態では、分解成分は、1つ以上の関心周波数での性能パラメータを記述するフィールド応答に基づくフーリエ成分である。
【0047】
ブロック425は、少なくとも部分的に、タイムフォワードシミュレーションの時間ステップ(例えば、複数の時間ステップに含まれる最後の時間ステップ)での性能パラメータと所望の性能値との間の差に基づいて損失値を計算することを示す。
【0048】
ブロック430は、分解成分を使用して時間的に逆方向に損失値のバックプロパゲーションを実行して、損失値に対する電磁装置の構造パラメータの変化の影響を決定することを示す。分解成分を使用するバックプロパゲーションは、複数の時間ステップの各々における複数のボクセルの各々の損失値に対する構造パラメータへの変化の寄与を決定する。いくつかの実施形態では、損失値のバックプロパゲーションは、タイムバックワードシミュレーションの励起源が少なくとも部分的に損失値に基づくタイムバックワードシミュレーションに対応する。タイムバックワードシミュレーションを実行するときに、フィールド応答の変化は、時間的に後方にある複数のボクセルの各々について、複数のタイムステップにわたって増分的に更新される。フィールド応答の変化は、少なくとも部分的に損失値に基づく。いくつかの実施形態では、損失値のバックプロパゲーションを実行している間、損失値の分解成分(例えば、損失勾配)が抽出される。一実施形態では、フィールド成分の分解成分は、損失値の分解成分と組み合わされて、構造パラメータの損失値への変化における影響を決定する。
【0049】
ブロック435は、損失値を低減するために構造パラメータを最適化することによって電磁装置の修正された記述を生成することを示す。いくつかの実施形態では、修正された記述は、勾配降下アルゴリズムを介したタイムフォワードシミュレーションおよびバックプロパゲーションのサイクルの後に最適化スキームを利用することによって生成される。いくつかの実施形態では、損失値を低減するために構造パラメータが調整された後、タイムフォワードシミュレーションおよびバックプロパゲーションの連続サイクルを実行するときの構造パラメータの変化(例えば、調整)が所定の製造制約内にあるかどうかが決定される。
【0050】
ブロック440は、性能パラメータと所望の性能値との間の差が閾値範囲内にあるように、損失値が実質的に収束するかどうかを決定することを示す。連続して、タイムフォワードシミュレーションを実行し、損失値のバックプロパゲーションを実行し、構造パラメータ(例えば、最適化)を調整して損失値を低減するという反復的サイクルが、損失値が閾値範囲内に低減するまで繰り返し実行される。
【0051】
ブロック445は、構造パラメータが更新されて、性能パラメータと所望の性能値との間の差が閾値範囲内となるように最適化された電磁装置を出力することを示す。
【0052】
上記で説明したプロセスは、コンピュータソフトウェアおよびハードウェアの観点から説明されている。説明された技法は、機械によって実行されると、説明された動作を機械に実行させる、有形のまたは非一時的な機械(例えば、コンピュータ)可読記憶媒体内で具現化される機械実行可能命令を構成し得る。さらに、プロセスは、特定用途向け集積回路(「ASIC」)など、またはその他のハードウェア内で具体化され得る。
【0053】
有形の機械可読記憶媒体は、機械(例えば、コンピュータ、ネットワーク装置、パーソナルデジタルアシスタント、製造ツール、1つ以上のプロセッサのセットを備えるいずれかの装置など)がアクセス可能な非一時的形態の情報を提供(すなわち、記憶)する任意のメカニズムを含む。例えば、機械可読記憶媒体は、記録可能/記録不可能な媒体(例えば、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置など)を含む。
【0054】
要約中に記載されているものを含む、本発明の図示された実施形態の上記の記載は、網羅的であること、または本発明を開示された正確な形態に限定することを意図していない。本発明の特定の実施形態、およびその実施例は、例示的目的のために本明細書に記載されているが、当業者が認識するように、本発明の範囲内で様々な修正が可能である。
【0055】
これらの修正は、上記の詳細な説明に照らして、本発明に対して行うことができる。以下の特許請求の範囲で使用される用語は、本発明を明細書に開示された特定の実施形態に限定するものと解釈されるべきではない。むしろ、本発明の範囲は、以下の請求項によって判断されるべきであり、請求項は、請求項の解釈についての確立された原則に従って解釈されるべきである。
図1
図2A
図2B
図2C
図3A
図3B
図4