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

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

▶ シーメンス インダストリー ソフトウェア インコーポレイテッドの特許一覧

特表2024-544681レコメンダシステムを提供する方法及びデバイス
<>
  • 特表-レコメンダシステムを提供する方法及びデバイス 図1
  • 特表-レコメンダシステムを提供する方法及びデバイス 図2
  • 特表-レコメンダシステムを提供する方法及びデバイス 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-03
(54)【発明の名称】レコメンダシステムを提供する方法及びデバイス
(51)【国際特許分類】
   G06F 30/27 20200101AFI20241126BHJP
   G06N 3/04 20230101ALI20241126BHJP
【FI】
G06F30/27
G06N3/04 100
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2024533140
(86)(22)【出願日】2021-12-03
(85)【翻訳文提出日】2024-08-05
(86)【国際出願番号】 IB2021061279
(87)【国際公開番号】W WO2023099947
(87)【国際公開日】2023-06-08
(81)【指定国・地域】
(71)【出願人】
【識別番号】520161964
【氏名又は名称】シーメンス インダストリー ソフトウェア インコーポレイテッド
(74)【代理人】
【識別番号】110003317
【氏名又は名称】弁理士法人山口・竹本知的財産事務所
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】アケラ,チャンドラ セカール
(72)【発明者】
【氏名】ヒルデブラント,マルセル
(72)【発明者】
【氏名】ジョブリン,ミッチェル
(72)【発明者】
【氏名】モゴレアン,セルゲイ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA16
5B146DC03
5B146DE11
(57)【要約】
本発明は、複雑なシステムの設計プロセスのためのレコメンダシステム(SRS)を提供する、コンピュータにより実行される方法に関する。レコメンダシステムは多数のユーザ(U1C1,U2C1,U1C2)により共有される。複雑なシステムは多数の接続可能構成要素を含み、一連の設計ステップ(DS1,DS2)により設計プロセスで設計される。完成した設計(CD)を得るまでに各設計ステップで部分設計(PD)が作成される。1つのステップの部分設計と後続のステップの部分設計とは、構成要素又は/及び構成要素の接続を含む少なくとも1つの要素の差を反映する設計差(DELTA)で異なる。共有レコメンダシステムシステムは、各設計ステップで、後続の設計差の予測を提供する。
【特許請求の範囲】
【請求項1】
複雑なシステムの設計プロセスにレコメンダシステムを提供する、コンピュータにより実行される方法であって、
前記レコメンダシステム(SRS)は、複数のユーザ(U1C1,U2C1,U1C2)に共有され、
前記複雑なシステムは、複数の接続可能な構成要素を含み、一連の設計ステップ(DS1,DS2)により設計プロセスにおいて設計され、完成した設計(CD)が得られるまで前記設計ステップ(DS1,DS2)の各々において部分設計(PD)が作成され、
1つのステップの前記部分設計(PD)と後続のステップの前記部分設計(PD)とは、構成要素又は/及び構成要素間の接続を含む少なくとも1つの要素の差を反映する設計差(DELTA)で異なり、
前記共有レコメンダシステム(SRS)は、前記設計ステップ(DS1,DS2)の各々で、後続の前記設計差(DELTA)の予測を提供し、
当該方法は、
a) 前記部分設計(PD)をエンコードすると共に後続の前記設計差(DELTA)の予測を提供する前記共有レコメンダシステム(SRS)であって共有訓練データ(T/ED)で訓練される前記共有レコメンダシステム(SRS)を、セントラルサーバ(CS)で提供するステップ、
b) 前記共有レコメンダシステム(SRS)のパラメータを、前記セントラルサーバ(CS)から複数のユーザ(U1C1,U2C1,U1C2)へ、前記共有レコメンダシステム(SRS)のユーザのバージョンを初期化するために送信するステップ、
c) パーソナライズされたレコメンダシステム(PRS)を得るためのユーザ固有の訓練データ(UD)を用いた、前記共有レコメンダシステム(SRS)のユーザのバージョンのユーザ固有の訓練(PTP)により得られる勾配情報であって、前記パラメータ(w)に依存する前記予測の誤差の進展を示す勾配情報を、ユーザのサブセット(U1C1,U1C2)から前記セントラルサーバ(CS)で受信するステップ、
d) 前記セントラルサーバ(CS)で、受信された前記勾配情報を使用して、前記共有レコメンダシステム(SRS)のパラメータの少なくとも1つを更新するステップ、
を含む、方法。
【請求項2】
e) 前記セントラルサーバ(CS)から複数のユーザ(U1C1,U2C1,U1C2)へ、前記共有レコメンダシステム(SRS)の更新されたパラメータを送信するステップ、をさらに含む、請求項1に記載の方法。
【請求項3】
前記セントラルサーバ(CS)で使用される前記共有訓練データ(T/ED)は、個々のユーザ(U1C1,U2C1,U1C2)間で共有することができ、又は/及び、前記ユーザ固有の訓練データ(UD)は、すべての個々のユーザ(U1C1,U2C1,U1C2)の間で共有することができない、請求項1又は2に記載の方法。
【請求項4】
前記共有レコメンダシステム(SRS)は、エンコーダネットワーク(EN)とデコーダネットワーク(DN)とを含み、
前記エンコーダネットワーク(EN)は、前記複雑なシステムの構成要素及び接続に関する情報をエンコードし、
前記デコーダネットワーク(DN)は、前記情報から、特定の前記設計ステップ(DS1,DS2,DS・・・)で特定の前記設計差(DELTA)が選択される確率を抽出し、
前記セントラルサーバ(CS)における訓練が、前記エンコーダネットワーク(EN)及び前記デコーダネットワーク(DN)の訓練を含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記ユーザ固有の訓練(PTP)において、前記デコーダネットワーク(DN)のパラメータのみが訓練され、ここから前記勾配情報が導出される、請求項4に記載の方法。
【請求項6】
前記ステップd)の更新で、前記デコーダネットワーク(DN)のパラメータのみが更新され、特にグラフニューラルネットワークによって形成される前記エンコーダネットワーク(EN)のパラメータは変更されない、請求項4又は5に記載の方法。
【請求項7】
b1) 特定のユーザによる前記パーソナライズされたレコメンダシステム(PRS)の使用に関する情報を表すパフォーマンスメトリックを、ユーザ(U1C1,U1C2)から受信するステップ、をさらに含み、
前記ステップc)において前記勾配情報を受信するユーザのサブセット(U1C1,U1C2)が、
・ユーザのグループ(U1C1,U2C1)内の個々のユーザ間の前記複雑なシステムの設計の差異、
・ユーザ(U1C1,U2C,U1C2)の使用した訓練サンプル数、
・初期化後且つパーソナライズされた訓練手順(PTP)前の前記共有レコメンダシステム(SRS)の予測の精度、
・前記パーソナライズされた訓練手順(PTP)後の前記パーソナライズされたレコメンダシステム(PRS)の予測の精度、
のうちの少なくとも1つに依存する前記パフォーマンスメトリックに基づいて決定される、請求項1~6のいずれか1項に記載の方法。
【請求項8】
強化学習エージェントが、前記勾配情報が送信されるユーザのサブセットを選択するために訓練され、その訓練手順における報酬が前記パフォーマンスメトリックに基づく、請求項7に記載の方法。
【請求項9】
前記勾配情報は、個々の損失関数L の総和として形成される損失関数Lに基づいて計算され、
式中、nは訓練データセットの数であり、L(w,x,y)は訓練データx,yの特定のセットに関する損失関数であり、xは特定の前記部分設計(PD)であり、yはこの部分設計(PD)に関する予測の前記設計差分(DELTA)であり、wは、使用される重みである、請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記共有レコメンダシステム(SRS)のパラメータの更新、特に重みは、勾配降下を使用し、次のように定義される、
式中、Wt+1及びWは訓練ステップt+1及びtでの重みであり、γは学習率を表すパラメータであり、∇Lは損失関数の勾配である、請求項9に記載の方法。
【請求項11】
前記共有レコメンダシステム(SRS)のパラメータは、前記勾配情報を受信するユーザのサブセットを通した平均をとって更新され、
式中、Nは特定のユーザにおける訓練サンプルの数であり、Lは特定のユーザの損失関数を表し、Nは訓練サンプルの総数である、請求項9又は10に記載の方法。
【請求項12】
前記勾配情報は、∇Lにより形成され、前記損失関数Lがバイナリクロスエントロピーの使用によって決定されると共に前記損失関数Lが個々の訓練セットi又は/及び個々のユーザcに関する損失関数に応じて決定可能である、請求項1~11のいずれか1項に記載の方法。
【請求項13】
構成要素及び接続を載せた構成要素カタログ(CC)が、前記セントラルサーバに置かれており、複数のユーザへ送信される、請求項1~12のいずれか1項に記載の方法。
【請求項14】
プログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、該コンピュータプログラムがコンピュータで実行されると、当該コンピュータに、請求項1~13のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
【請求項15】
請求項14に記載のコンピュータプログラムを保存又は/及び提供し、複雑なシステムの設計のためのエンジニアリングツールの通信インターフェースを有する、レコメンデーションデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設計プロセスのためのレコメンダシステムを提供する、コンピュータにより実行される方法に関する。本発明はさらに、対応するコンピュータプログラム及びレコメンデーションデバイスに関する。
【背景技術】
【0002】
工業用途では、エンジニアが多くの場合、相互接続された多数の構成要素を備える複雑なシステム又はエンジニアリングプロジェクトを設計する必要がある。そのようなシステムの設計は通常、コンピュータで実行されるエンジニアリングツールにおいて実行され、システム全体の意図された用途から生じる機能的要件を満たすであろう相互作用のある構成要素を識別し、識別した構成要素をプロジェクトに導入し、結果として得られる相互接続された構成要素が意図された現実の用途を可能にするようにそれらを互いに接続する、反復プロセスとして記述され得る。
【0003】
非常に多くの利用可能なコンポーネントとそれらを接続する方法の故に、このプロセスは時間がかかり、技術的専門知識、領域知識、及び正確に遂行するための努力を必要とする。このプロセスにおいてエンジニアを支援する1つの方法は、エンジニアリングプロジェクトに追加されるべき適切で互換性のある構成要素を提案するレコメンダシステムをエンジニアリングツールに統合することである。
【0004】
レコメンデーション又はレコメンダシステムは、設計プロセスからのデータを用いて訓練されたニューラルネットワークアーキテクチャに基づくモデルを使用することによって実現することができる。追加されるべき次の1つ以上の構成要素又は1つ以上の接続を予測するそのような作成されたモデルでは、予測又はレコメンデーションがデータ駆動型であり、訓練に利用可能なデータに依存する。したがって、多数のそのユーザによって生成されるデータから学習することによって大いに利益が得られることになる。
【0005】
しかしながら、データプライバシーの問題が、ユーザが彼らのデータ又は使用パターンを、エンジニアリングツールプロバイダ、すなわちレコメンデーションシステムの設計及び維持の担当者や、例えば別の会社からなどの他のユーザグループと共有することに同意することの障害となる。
【0006】
現在、多くのエンジニアリングツールは、一例をあげると、現在のプロジェクト状態又は、メニューアイテムを提示するときのオペレーションの好ましい順序などのユーザの好みといった、ユーザのコンテキストを十分に捉えないメニューアイテムでユーザが圧倒される結果として、ユーザ知識が乏しい。
【0007】
エンジニアリングドメインの複雑性を考慮すると、最も適切なタイプのレコメンダシステムは協調フィルタリングの概念に依存し、この強調フィルタリングは、エンジニアリングツール使用パターンに関するデータを必要とする。協調フィルタリングは、1人のユーザの未知の嗜好が、ユーザのグループの既知の嗜好(「格付け」)から推定される技法で、ユーザのグループは、前記1人のユーザと格付けで共通するとこのあるグループである。したがって、パーソナライズすることはなく、ユーザの好みについての推測にすぎない。
【0008】
それでも、満足できる性能のためには、ユーザの好みに応じたレコメンデーションのパーソナライジングが望ましい。しかしながら、パーソナライズのためには、個々のユーザのデータが必要である。しかし、エンジニアリングレコメンダシステムは、何十万ものアイテムの中から適切な構成要素をレコメンドすること、条件間の複雑な関係を理解すること、を学習しなければならない。この要件を満たすためには多くの訓練データが必要であり、このことが、ユーザごとにモデルを個別に訓練することを実行不能にしている。
【0009】
満足のいくレコメンダシステムにつながる解決策は、多くのユーザからの集合的学習(コレクティブラーニング)を必要とする。しかしながら、それらは、複数の組織単位及び会社にわたって広がる可能性が高いことから、プライバシーの問題により、マルチユーザ訓練データを集中管理し、定常的な機械学習訓練手順を適用するという可能性が排除されてしまう。
【0010】
以上のことより、本発明の目的は、多数のユーザに使用可能なレコメンダシステムを改善する可能性を提供することである。さらに、レコメンダシステムに関係して、個別の訓練、協調フィルタリング、又は訓練データの共有という不利益点を克服することを目的とする。
【発明の概要】
【0011】
上記目的は、独立請求項に開示される態様によって達成される。有益な具体的態様が従属請求項の対象である。
【0012】
第1の態様によれば、本発明は、レコメンダシステムを提供する、コンピュータにより実行される方法に関する。
【0013】
レコメンダシステムは、設計プロセスのために使用され、多数のユーザ間で共有される。例えばエンジニアリングツールを使用することによって実行される設計プロセスでは、複雑なシステム、例えば電子部品やハイブリッド車両、が一連の設計ステップで作成される。複雑なシステムは、例えば、電気的又は誘導的に少なくとも部分的に相互接続される、メモリチップやプロセッサなどの多数の構成要素によって記述され得る。
【0014】
設計ステップにおいて、前のステップの部分設計に1つ以上の要素を追加することによって、中間設計又は部分設計が達成される。要素は、少なくとも1つの構成要素、又は少なくとも1つの接続、又はその両方からなる。レコメンダシステムは、1つの設計ステップと後続の設計ステップとの間の設計差又は要素の差を予測する。
【0015】
有益な態様によれば、コンテキストセンシティブメニューとしてレコメンダシステムのユーザにこれが提供される。レコメンダシステムの予測が良好である、すなわち、技術的に妥当であると共にユーザの要求に適合する場合、この予測は、ある段階で関連するメニュー項目だけが提案されることになるので、速さ及び品質の観点から設計プロセスを強化する。
【0016】
レコメンダシステムによる良好な予測を円滑にするために、レコメンダシステムは、次のステップを伴うコンピュータにより実行される方法によって提供される。エンジニアリングツールプロバイダの設備又はクラウドサービスなどのセントラルサーバで、グローバルな又は共有のレコメンダシステムが提供される。これは、多数のユーザを対象とする、という点で、グローバル又は共有である。
【0017】
この共有レコメンダシステムは、例えば構成要素を表すノードと構成要素間の接続を表すリンクとからなるナレッジグラフの形態で利用可能な、部分設計をエンコードする。このエンコーディングは、例えばグラフニューラルネットワークアーキテクチャを使用することによって行われ、エンコーディングの結果は、構成要素及びそれらの相互接続に関する情報である。
【0018】
グローバルレコメンダシステムはさらに、後続の設計差の予測を提供し、このために、共有された訓練データを用いて訓練されている。これらの訓練データは、グローバル又は共有レコメンダシステムのパラメータに影響を与える。これらは、複数のユーザが例えば制御目的でこれらのデータにアクセス可能にしてあり、データの作成者、例えばエンジニアリングツールプロバイダ、にはこの共有に関するプライバシーの問題がない、という点で「共有訓練データ」としての意味をもつ。
【0019】
パラメータ、例えば、共有レコメンダシステムのグラフニューラルネットワークアーキテクチャで使用される重み、又は、グラフニューラルネットワークアーキテクチャのパラメータは、ユーザ又はクライアントに送信される。ユーザは、これらの送信されたパラメータを使用して、共有レコメンダシステムのバージョンを初期化する。例えば、ユーザは、セントラルサーバからローカル設備への送信によって共有レコメンダシステムのバージョンを受け取っているか、又は、サービスとして彼らに提供される。
【0020】
ユーザは、パーソナライズされたレコメンダシステムを取得するために、彼ら独自の特別なデータでユーザ固有の訓練を実行して共有レコメンダシステムを自分のニーズに適合させることができる。ユーザの中には、このユーザ固有の訓練で得られる勾配情報をセントラルサーバへ送信する者もある。勾配情報は、ユーザ固有の訓練における、設計差の予測と実際に選ばれた設計差との間の誤差を低減するために使用された重みの変更など、パラメータの進展に関する情報を提供する。
【0021】
使用された訓練データに対して結論を導き得ない勾配情報を提供することは、多数のユーザによって実行される訓練を使用することによって共有モデルを更新することができ、プライバシーの問題を生じさせ得るそれらユーザ間の訓練データ共有を不要とする、という利点を有する。
【0022】
セントラルサーバにおいて、この勾配情報は、共有レコメンダモデルのパラメータを更新するために使用される。この更新された共有レコメンダシステムは、新しい共有レコメンダシステムとして有益に提供される。
【0023】
有益な態様によれば、これらの更新されたパラメータは、ユーザの少なくとも一部に再び提供される。
【0024】
別の有益な態様によれば、共有レコメンダシステムは、例えばグラフニューラルネットワークからなるエンコーダネットワークを備える。エンコーダネットワークは、複雑なシステムの構成要素及びそれらの間の接続に関する情報をエンコードする。共有レコメンダシステムは、この情報から、複雑なシステムの設計中のいずれかの設計ステップでいずれかの設計差が選択される確率を導出する、デコーダネットワークをさらに備える。これは、基礎となるエンコードされた情報、すなわち構成要素及びそれらの関係、が同じであることから、ユーザ側での当該分離によって、デコーダパラメータのみを調節する必要があるだけ、という利点を有する。
【0025】
別の態様によれば、本発明は、コンピュータで実行されると上述の方法が行われるコンピュータプログラムに関する。
【0026】
別の態様によれば、本発明は、コンピュータプログラムが記憶され又は/及び提供されるレコメンデーションデバイスに関する。例えば、このレコメンデーションデバイスは、インターフェース、例えばAPI、によって、複雑なシステムの設計のためのエンジニアリングツールに接続することができる。
【図面の簡単な説明】
【0027】
本発明のさらなる態様、特徴、及び利点は、添付の図面と併せて以下の説明及び従属請求項から明らかになる。
図1】エンジニアリングツールにおいて実行されるシステム設計プロセスの一例であり、一連の設計ステップの過程を通してシステムが構築される。その設計プロセスは、前のステップの設計を後続のステップの設計に変換することに対応するオペレーションを定義する設計デルタ(設計差)のセットに分解される。
図2】グローバルな共有レコメンダシステムと個々のユーザのパーソナライズされたレコメンダシステムとの間の訓練手順と情報の流れを示す。
図3】レコメンダシステムモデルのアーキテクチャを例示する。
【発明を実施するための形態】
【0028】
本発明の目的の1つは、システムの設計中にエンジニアを、彼らが必要とする次の構成要素へ誘導することができるレコメンダシステムを提供することである。例えば、レコメンダシステムはエンジニアリングツールで実行され、これに関し、設計プロセスにおいてコンテキスト依存メニューが表示され、コンテキスト依存メニューは、次にどの要素が追加されるべきかを提案する。
【0029】
この背景において、システムは、プリント回路基板から自律車両に及ぶ何らかのものとすることができる。これらの複雑なシステムは、各々が技術的特徴のセットを有するいろいろな相互接続可能の構成要素から構成される。
【0030】
例えば、メモリモジュールの場合、その技術的特徴は、クロック周波数、書き込みサイクルタイム、アクセスタイム、及び必要な電圧供給を含むことがあり、接続は、各種のバスシステムを通して実現され得る。
【0031】
ソフトウェアスイート、すなわち、複雑なシステムの設計又は/及び構成をサポートするために利用可能なソフトウェアのコレクションが、建設タスク、産業自動化設計、又は化学などの様々な用途に対し提供される。Siemensの例で言えば、SimCenter(商標)やTIA(totally integrated automation)ポータルである。これらのツールは、ハイブリッド車両及びクワッドコプターからファクトリーオートメーションシステムや電子部品/チップまでに及ぶ多種多様なシステムを作成するために使用することができる。効率的なエンジニアリングや設計プロセスのためには、これらのツールが特定のプロジェクトの特定の段階で特定のエンジニアが必要とするサポートを提供することが重要である。
【0032】
エンジニアリング又は設計プロセスは、構成要素を順次選択し、これを既存のシステム設計に追加することによって、遂行される。各構成要素は、種々のリンクタイプ、例えば、機械的、電気的、特定のバスを介するなど、を使用して、いくつかの別の構成要素に接続され得る。
【0033】
レコメンダシステムは、現在のプロジェクト状態を認識し、例えばコンテキストセンシティブメニューにおいて、次のアイテムとして選択するための適当な構成要素又は接続のランク付けされたリストを提供する。ランク付けは、最も高いランクのアイテムが選択される可能性が最も高い、すなわち、次のステップで既存のシステム設計に追加される可能性が最も高いという、選択可能性を反映する。
【0034】
各エンジニアには、独自の好みがある。これは、オペレーションの順序に反映され得る。例えば、あるユーザは最も中心的な構成要素から始めることを好み、一方、別のユーザは、周辺の構成要素から始めることを好んだりする。構成要素間の接続に関しては、あるユーザは、最初にすべての構成要素を選択してから適切な接続を行うことを好み、一方、別のユーザは、1つの構成要素を選択し、続いてこの構成要素に対するすべての必要なリンクを確立することを好んだりする。レコメンダシステムは、各エンジニアの個人的な好みにも適応しながら、多数のユーザにわたって学習することができなければならない。
【0035】
本発明の有益な実施例によれば、提案に係るレコメンダシステムの実行のために、以下のコンポーネントが使用される。
・グローバル又は共有レコメンダシステムモデル
・パーソナライズされたレコメンダシステムモデルのセット
・グローバルシステムモデルパラメータを更新するための訓練プロセス
・グローバルモデルをユーザの好みにパーソナライズするための訓練プロセス
・共有モデル更新のクライアントを選択するためのサンプリング手順
【0036】
「レコメンダシステムを使用する設計プロセス」
【0037】
図1に、エンジニアリングツールの支援を受けて実行されるシステムの設計プロセスの一例を示す。
【0038】
システムは、例えばハイブリッド車両や電子部品などの複雑な物であり、該複雑な物に設定された要件を満たすようにして使用され、組み合わされ、接続されなければならない様々な接続可能な構成要素からなる。
【0039】
システムは、最初の組み合せから始まる一連の設計ステップの過程を通して構築される。設計プロセスは、前のステップの設計を後続のステップの設計に変換することに対応すオペレーションを定義する設計差のセットに分解することができる。
【0040】
図1において、第1の設計ステップDS1には構成要素「車両」Vのみがあり、車両Vは、質量、前輪や後輪の数などの特性をもち、これらがそのポート及び異なるポート内の方形により示されており、境界の方形によって示されている別の構成要素へ機械的に、電気的に、又は他の方法で接続される。さらに、前輪軸又は後輪軸に接続することができる構成要素の車軸Aがある。
【0041】
第1の設計ステップDS1から第2の設計ステップDS2に進むと、設計差又は設計デルタとも呼ばれる1つ以上の要素又は接続DELTA(1,2)が追加され、図示の例では、新しい要素の後輪軸RAが追加され、要素車軸Aに接続される。第2の設計ステップDS2から、さらに設計差DELTA(2,・・・)が追加され、後続の設計が得られる。
【0042】
完成した設計CDが達成される前のこれらの中間設計はすべて、部分設計PDと呼ばれる。
【0043】
開発プロセスの過程で、各設計ステップにおいて要素が追加され、部分設計PDに接続され、一連の設計ステップDS・・・の後、最終設計ステップDS_finalで、完成した設計CDが得られる。
【0044】
完成した設計CDは、複雑な物に関する要件、例えば電気部品又はその一部の特定の性能、が満たされる場合、複雑な物の実現のために使用される。
【0045】
したがって、用語「完成した設計」CDにより、完成したシステムアーキテクチャ、例えば完成したハイブリッド車両や完成した電子部品、が中間設計と共に含まれ、これが別のユーザ、会社などに転送され、例えば、さらに処理される。
【0046】
レコメンダシステムの目的は、可能性のある次の設計差DELTAを十分な精度で予測することである。これは、コンテキスト、すなわち、現在の設計ステップ、及びユーザの好みから学習して、後続の設計差DELTA、すなわち、追加される構成要素及び接続を予測すべきであることを意味する。
【0047】
「レコメンダシステムのアーキテクチャ」
【0048】
図3には、レコメンダシステム又はモデルのアーキテクチャの高レベル概略図が示されている。入力データXとして、部分設計PDと完成した設計が使用される。
【0049】
訓練のために、構成要素カタログCCにある1つ以上の要素からなるすべての可能な部分設計PD及び完成した設計CDが入力データXとして使用される。出力データYとして、追加される要素又は設計差DELTAのランク付けが取得される、すなわち、設計差ごとのそれぞれの確率である。
【0050】
レコメンダシステムが訓練済みで使用されているとき、入力データXは特定の部分設計PDであり、出力データは、この特定の部分設計に追加される設計差DELTAのランク付けであり得る。
【0051】
図3における入力データの例として、ハイブリッド車両Vの完成した設計CDが、任意選択で個々のノードに対する属性ATTを含むナレッジグラフKGとして、示されている。ハイブリッド車両Vは、セントラルノードによって表現されている。要素を表すノード及び要素間の接続を表すリンクと任意選択の属性ATTとを備えるナレッジグラフKGによって、複雑なシステムの特定のシステム設計を、グラフニューラルネットワークによる使用に適した置換不変性(permutation invariant)の方法で記述することができる。
【0052】
エンコーダネットワークENにおいて、入力データXをグラフニューラルネットワークに供給することにより、ナレッジグラフKGのノードの表現及びその隣にくるノードとの関係が得られる。最初に、入力データXが第1のグラフニューラルネットワークGNN1に入力される。
【0053】
入力データXはH(0)としても示されており、データアーキテクチャのノード特徴及びリンク構造の表現であり、隣接行列Aによって記述することができる。したがって、H(0)は、特定のノードのみを指す特徴又は特性、例えばモータ特性や利用可能な接続タイプ、を含んでいる。言い換えれば、所定の複雑なシステム内の特定のノードのアイデンティティに関連するすべてのことが含まれている。
※A
を表す。
【0054】
例えば、これらのデータは、重量、電気的又は機械的接続の可能性をもってモータを表したりする。
【0055】
第1のグラフニューラルネットワークGNN1において、1ホップ距離のノードの特徴が特定のノードの表現中にエンコードされる。このプロセスを何度も繰り返すことによって、それだけ多くの距離情報が、特定のノードのエンコーディングに関して考慮される。
【0056】
第1のグラフニューラルネットワークGNN1の出力は、設計のノード数#nと第1のグラフニューラルネットワークGNN1の潜在次元数#LDとに応じた次元の行列H(1)であり、第2のグラフニューラルネットワークGNN2の入力となる。
【0057】
上述のように、行列H(1)の値は、2つのノード間の一次相関、すなわち、その間に1つのエッジをもつ、を反映する。したがって、ノード特徴に加えて、一次相関がこの行列H(1)にエンコードされる。前述のとおり、一次相関は、ソースノードからターゲットノードへ直接つながるエッジを有し、二次相関は、ソースノードから第1のエッジを介して中断コードへつながり、第2のエッジを経てターゲットノードへつながるエッジを有する、などである。
【0058】
第2のグラフニューラルネットワークGNN2の入力としてH(1)を使用することによって、2つのノード間の二次相関、すなわち、その間にノードを有する2つのノード、したがって、2つのエッジを経る、が出力H(2)において考慮され、このH(2)は、グラフ畳み込みニューラルネットワークのノード数#n*及び潜在次元数#LDの次元をもつ行列である。H(2)は、考慮されるノードから1ホップ及び2ホップ距離のノードからノード特徴及び情報をエンコードする。
【0059】
一次及び二次関係を考慮すること、すなわち、1ホップ又は2ホップ離れたノードとの関係を考慮すること、で良好な結果がもたらされること、すなわち、導出される指標が現実を非常に良好に反映することを、実験が示している。データアーキテクチャに応じて、他の実施例では、より高次の相関も有益である。有用性は、例えばノード間の相関の強度又はノードと他のノードとの間の接続数に拠るが、このことは、より高次になると、より遠くの距離関係が検査されていく一方で、ノード特徴及び近くのノードに関する情報が平滑化されていくことに起因する。
【0060】
アーキテクチャに関して、グラフニューラルネットワークは、1つの畳み込み層を備え得る。あるいは、例えば別の畳み込み層や他のタイプの層などの他の層も含むといった、より複雑なオペレーションが可能である。第1のグラフニューラルネットワークGNN1及び第2のグラフニューラルネットワークは、アーキテクチャ又は/及び訓練において互いに異なっていてもよい。
【0061】
「標準グラフ畳み込み」
【0062】
有益な実施例によれば、第1又は第2のグラフニューラルネットワークGNN1,GNN2のいずれかにおいて使用される畳み込み演算は、
である。Hはノードの表現である。lは、グラフ畳み込みニューラルネットワーク又はグラフ畳み込みネットワークの畳み込み層における潜在次元数を表すランニング変数である。l=0の場合、H(0)はノード特徴、例えば「構成要素」であり得るタイプ又はポートの数及びタイプを表す。Hは繰り返し更新され、そして、値l>0ではノード間の関係も表す。σは、GNNの活性化機能として使用されるシグモイド関数である。行列D~-1は、正規化に使用され、入力及び対角行列から導出され得る。
※D~-1
を表す。
【0063】
は、データ構造のトポロジー、例えば完成した設計CD又は部分設計PD、を反映する行列である。例えば、Aは、グラフ表現内のすべてのノードについて1つのノードと別のノードとの間の接続を記述する隣接行列であり、したがって、本質的にリンク構造を表す。W(l)は、ニューラルネットワーク内のユニット間の接続の強度を表すパラメータ又は重みである。この畳み込み演算の利点は、その基本フォームである。集約、すなわち、1つの特定のノードに関連する情報の収集、は平均値に基づく。
【0064】
あるいは、特定の問題、例えば、電子部品又は化合物の設計プロセス、に合わせた仕様とした他の畳み込み演算を使用することができる。
【0065】
「連結」
【0066】
このように、ノード表現H(1)及びH(2)は、隣接情報をエンコードすることによって、各ノード及びその周囲の構造的アイデンティティを表す。ノード表現H(1)及びH(2)はCCで連結され、したがって連結データが得られる。
【0067】
例えば、2つの行列H(1)とH(2)がスタックされると、連結データはH(1)の列数とH(2)の列数を足した行列になる。したがって、連結データの次元は、データアーキテクチャにおける元のノード数、第1のグラフニューラルネットワークGNN1の潜在次元数、及び第2のグラフニューラルネットワークGNN2の次元数、そして、何次相関まで考慮されるか、すなわち、何個の行列H(l)が加えられるか、によって決まる。結合データを使用して、その後、デコーダニューラルネットワークDNにおいてデコーディングが行われる。
【0068】
「デコーディング」
【0069】
デコーダニューラルネットワークDNにおいて、設計差DELTAごとのノードエンコーディングから、ニューラルネットワークNNを使用することによってそれぞれの確率が抽出される。
【0070】
デコーダネットワークは、いくつかのタイプのものとすることができる。一例がドット積又はスカラー積デコーダであり、カタログ内のすべての構成要素に対し、ドット積演算子又はスカラー積演算子を使用して各部分設計がスコア付けされ、確率を得るためのソフトマックス関数が後に続く。ソフトマックス関数によって、エントリとして数字を有するベクトルは、エントリとして確率を有するベクトルに変換される。例えば、正規化された指数関数を使用することによって実現することができる。
【0071】
設計差DELTAに割り当てられる確率は、特定の設計差DELTAが特定の部分設計PDに追加されることがどの程度可能性があるかを反映する。この確率は、部分設計PD及び設計差DELTAの関数として見ることができる。
【0072】
「ランク付け」
【0073】
部分設計PDごとにそれぞれの確率に従って設計差DELTAを分類又はランク付けRすることによって、出力Yとしての部分設計DELTAごとに、次の設計ステップに含まれる可能性が最も高い設計差DELTAのグループを決定することができる。
【0074】
したがって、エンジニアリングツールのコンテキスト依存メニューにおいて、最も関連性の高い設計差のみを表示することができ、設計プロセスをより効率的にし、エラーを回避することに貢献する。
【0075】
まとめると、例示したレコメンダシステムのアーキテクチャは、グラフ形式のデータが入力されエンコードされるエンコーダネットワークと、エンコードされた情報から確率を抽出するデコーダネットワークと、設計差デルタをそれらの確率に従ってランク付けするランク付けエンティティと、を備える。例示したエンコーダネットワークのアーキテクチャは、
【0076】
「グローバルレコメンダシステムとパーソナライズされたレコメンダシステムとの間の訓練手順と情報の流れ」
【0077】
上述したように、本発明の目的の1つは、特定の設計ステップに対して、後続の設計ステップにおいて追加される可能性が最も高い要素を提案する、レコメンダシステムを提供することである。したがって、レコメンダシステムは、コンテキスト、すなわち、現在の設計の部分設計PD、及び後続の設計デルタの要素を予測するためのユーザの好み、から学習すべきである。これを達成するために、図2を参照して説明される中央集中訓練と個別訓練との組み合わせが提案される。
【0078】
図2には、グローバルレコメンダシステムと、グローバルレコメンダシステムから導出されたいくつかのパーソナライズされたレコメンダシステムと、の間の情報の流れが示されている。
【0079】
中央集中サーバCSで、訓練及び評価データT/EDが活用される。訓練データは、モデルを訓練するために使用され、評価又は検証データは、モデルのハイパーパラメータをテストするのに用いるために訓練データのセットから取られるデータである。ハイパーパラメータは、モデルに提供されるデータから値を推定することができないが、学習プロセスの管理に使用されるパラメータである。これは、例えば、ニューラルネットワークを訓練する際の学習率である。
【0080】
さらに、中央集中サーバCSでは、構成要素カタログCCが活用される。構成要素カタログは、設計プロセス中に、すなわち、任意の部分設計PDで、追加することができる要素を含む。例えば、この構成要素カタログCCは、サーバ側で主管され、技術的特性(例えば、各抵抗器部品の抵抗値、ある電気部品の電力定格など)を含む、ユーザにレコメンド可能なあらゆるアイテムに関する情報を収容する。
【0081】
有益な実施例によれば、構成要素カタログCCのアイテムは、共有レコメンダモデル又はその更新と共にユーザに送信される。
【0082】
これらのデータ、訓練及び評価データT/ED、及び構成要素カタログCCは、グローバルレコメンダモデルの訓練及び評価手順に入る。モデル更新MUは、訓練プロセスから導出されたパラメータによって元のパラメータが置き換えられる訓練の後に実行される。
【0083】
グローバルレコメンダシステムモデルSRSは、図1に図示した部分設計PDをエンコードすることができ、適宜に追加されるべきアイテム又は要素又は設計差DELTAをランク付けすることができなければならない。システム設計はグラフによって適切に記述できるので、グラフニューラルネットワーク又はその他のグラフ学習ベースのアプローチが適している。
【0084】
共有レコメンダシステムSRSの訓練及び評価手順T/EPのために使用される訓練及び評価データT/EDは、例えば、データのそれぞれの生成者が共有に同意していること、又は、データがシミュレーションによって作成されているものであること、データがチュートリアルの目的のために作成されたものであること、などのことから、すなわち、サーバ側に収容されるデータはユーザセンシティブであると見なされないことから、各ユーザと会社との間で共有できるデータである。
【0085】
グローバルレコメンダシステム又はモデルSRSは、以下に説明される連合転移学習を使用して、ユーザデータに直接さらされることなく、すべてのユーザの経験から学習する。
【0086】
グローバル又は共有レコメンダモデルSRSのパラメータは、パラメータ初期化PIのための共有レコメンダモデルSRSを使用して各ユーザに送信される。ユーザは共有レコメンダモデルを初期化する、すなわち、提案された値にパラメータを設定する。パラメータは、例えば、個々のニューロンの重みとすることができる。
【0087】
このように初期化された共有レコメンダシステムSRSは、共有モデル訓練SMTにおいてユーザ固有の訓練データを使用することによる共有レコメンダシステムSRSのパーソナライゼーションの開始点として使用される。
【0088】
「パーソナライズされた訓練手順」
【0089】
共有レコメンダシステム(SRS)のパラメータをユーザごとの好ましい作業モードにパーソナライズするために、パーソナライジング訓練手順PTPが各ユーザのデータUDに基づいて実行される。パーソナライジング訓練手順PTPは、パーソナライズされたレコメンダシステムPRSを得るために、例えば以前の設計プロセスから取得されるクライアントの使い方データUDに従って、共有レコメンダシステムSRSから取得された初期化されているパラメータを適応させる。したがって、この訓練手順の一般戦略及びハイパーパラメータは、共有レコメンダシステムSRSのための訓練手順のものとは異なり、ここでの目標は、設計ステップで提案される設計差DELTAがユーザの最良のニーズ及び好みを満たすように、ユーザの個人的使い方データUDに従って共有レコメンダシステムのパラメータを最適化することである。
【0090】
対照的に、すべてのユーザにわたって最適なパフォーマンスを達成することは、パーソナライジング訓練手順PTPの目的ではない。
【0091】
パーソナライジング訓練手順PTPによって、パーソナライズされたレコメンダモデルが、デコーダネットワークDNモデルパラメータ、例えばこのニューラルネットワークNNで使用される重み、のみを更新する一方で、エンコーダパラメータ、例えば第1のニューラルネットワークGNN1及び第2のニューラルネットワークGNN2の重み、は変えずに維持することにより、生成される。したがって、設計差DELTAの確率は個々のユーザに対して変化するように適合させられ、そして、提案される設計差のランク付けはそれに応じて変更される。
【0092】
「個別使用のサーバ側共有モデル訓練による共有レコメンダシステムの改善」
【0093】
共有レコメンダモデルSRSは、各クライアントの使い方データUDによって学習された内容に従って更新される。クライアントは、第1の会社における第1のユーザU1C1、第1の会社における第2のユーザU2C1、第2の会社における第1のユーザU1C2などであり得る。第1の会社内のユーザは、自分らによって生成されるデータを共に使用することを望むかもしれないが、複数の会社間でのデータの交換は可能性が低い。
【0094】
パーソナライズされた訓練プロセスPTPで、デコーディングネットワークDNのパラメータの勾配が計算される。勾配は、誤差の変化に対する全ての重みの変化を表す。誤差として、真の結果(true result)と入力/訓練データセットxに対するパーソナライズされたレコメンダモデルによって得られる結果yとの間の差が示される。
【0095】
図2に示すように、計算されたユーザ勾配UGは、セントラルサーバCSに送信される。使い方データUD自体がグローバルレコメンダモデル訓練に渡されることはなく、勾配情報のみである。したがって、ユーザのプライバシーが維持される。さらに、ユーザによって作成された訓練データのセットの代わりに勾配のみを送信する場合、送信されるデータの量が低減される。加えて言えば、勾配を使用する共有レコメンダモデルの更新は、訓練データの新しいセットを使用する場合よりも計算労力が少なくて済む。
【0096】
セントラルサーバCSの側では、各クライアント又はユーザによって送信されたユーザ勾配情報UGを使用して、共有モデル訓練手順SMTPにおいて、共有レコメンダモデルのモデルパラメータへの更新を形成する。レコメンダ損失関数はL(w,x,y)によって記述され、この場合、wはパーソナライズされたレコメンダモデルにおいて使用される重みのセットであり、例えば行列wjk、xは入力データのセットであり、すなわち中間又は部分設計PD、yは結果のセットであり、すなわち提案された要素又は設計差DELTA。レコメンダ損失機能は、モデルパラメータwのセットと訓練例x,yとによって生成される誤差を示す。レコメンダ損失関数は、例えばバイナリクロスエントロピーの使用によって、計算することができる。すべての例にわたる総損失は、次のとおり定義される。式中、nは訓練例の数を示す。
【0097】
勾配降下を使用する共有レコメンダモデルパラメータ更新は、次のとおり定義される。
式中、∇Lは損失関数の勾配を示す。γは学習率又はステップ幅を示すパラメータである。すなわち、パラメータγと損失関数の勾配とのスカラー積の大きさに応じて、ステップtとステップt+1との間で重みが変更される。この勾配は多次元空間にあり、勾配によって記述される導関数は、モデルパラメータに対する損失関数をとる。例えば、1つのエントリは、ある重みwjk,dL/d wjkの導関数である。したがって、例えば、損失関数の極小値を見つけることができ、パラメータの適切なセットを決定することができる。
【0098】
個々のユーザ又はクライアントごとに、勾配∇Lは、1つのクライアントcによって計算された勾配を示す。
【0099】
共有レコメンダシステム又はモデルSRSパラメータを更新するために、すべての考慮されるクライアントすべてを通して平均が取られる。
式中、Nはクライアントcにおける訓練サンプルの数を示し、Nは考慮されるクライアントすべてにわたる訓練例の総数を示す。重み平均は、より多くの訓練例を有するユーザ又はクライアントがより重く更新に影響を及ぼすことを可能にする。
【0100】
別の実施例によれば、重み付けを個々に変えることもでき、例えば、経験、設計の品質、エンジニアリングツールが使用されていた時間などに応じて、特定のユーザ又はユーザグループに重みが割り当てられる。
【0101】
実施例に応じて、クライアントのすべて又はサブセットのいずれかが考慮される。すべてのクライアントを考慮することの利点は、多数の勾配を得ることである。
【0102】
「アップデートに寄与するクライアントの選択」
【0103】
別の実施例によれば、共有レコメンダモデル又はシステムSRSの各更新は、クライアントのサブセットからのみ勾配情報を取得することによって実行される。したがって、クライアント側の労力を減らすことに加えて、送信されるデータの量及び更新のための計算労力を減らすことができる。サブセット又はユーザサンプリングUSの選択は、1人のユーザの勾配情報に基づく重みの更新でも共有レコメンダシステムSRSが改善されるように行われなければならない。
【0104】
特定の開発ツールに対する多くのクライアントが同じ組織内に存在する場合、多くのクライアントが非常に類似したシステム設計を含んでいることがあり、設計を共有にするエンジニアのチームによって大規模システムが共同開発されることが多い。一部のクライアント間でデータにばらつきがない可能性があるため、すべてのクライアントから学習するのは非効率的である。
【0105】
クライアントのローカル訓練によって取得される勾配情報がすべての顧客に配信される共有レコメンダモデルSRSのパラメータに影響を与える場合に情報を収集するために、共有レコメンダモデルSRSは、パーソナライゼーションの前に、各クライアントにおいて、ローカルクライアントデータにおいてパフォーマンスメトリックを計算するために使用される。
【0106】
パフォーマンスメトリックによって、予測の精度、すなわち、設計差の予測が特定のユーザ又はクライアントについてどの程度正確であるか、言い換えれば、特定のクライアントに関する予測についての誤差の大きさ、が測定される。
【0107】
有益な実施例によれば、誤差Eは、いずれかの部分設計PDに対する予測の誤差の合計として計算される。
【0108】
これらのパフォーマンスメトリックはサーバに送信され、サンプリングアプローチにおいて使用される。共有モデルのパフォーマンスを向上させるであろう勾配情報、例えばユーザの平均誤差を減少させるであろう勾配情報、を所有する可能性がとりわけ高そうなクライアントは、サンプリングされる可能性がより高い。例えば、これらは、パフォーマンスメトリックの悪いクライアント、すなわち、パーソナライズされたレコメンダモデルの予測が満足に働いていないクライアントである。
【0109】
代替アプローチは、クライアントを選択するために強化学習エージェントを訓練することである。有益な実施例によれば、報酬がパフォーマンスメトリックに基づく。
【0110】
代替的又は追加的に、ニューラルネットワークは、クライアントデータを使用するときに共有レコメンダモデルの予想される改善された向上を推定するようにも訓練され得る。この推定手順は、クライアント側でのみ実行され及び実行することができ、したがって、データプライバシーを保持する。
【0111】
説明した実施例のいずれかに係るレコメンダシステムの適用が、設計における誤差率を低減し、設計を完了するまでに必要とされる時間を低減し得ることを、テストが示した。
【0112】
本出願の文脈において、レコメンダシステムを使用することによって生成される設計は、例えば、新しいハイブリッド車両、電子部品など、又はそれらのパーツを製造するために、例えば機能性の観点からそれぞれの製品の要件を満たす場合、適用される。したがって、エンジニアリングツールによって得られる設計を、関連する側面において事前に分析することができるので、製造における労力を低減することができる。
【0113】
用語「レコメンデーションデバイス」は、命令を実行可能なコンピュータを指し得る。用語「コンピュータ」は、クライアントが設計を行う目的のためにエンジニアリングツールを使用するローカル処理ユニットに加え、クラウドプロバイダからレンタルされる処理ユニット又はサービスの分散セットを指し得る。したがって、用語「コンピュータ」は、データ処理特性を有するいずれかの電子デバイス、例えば、パーソナルコンピュータ、サーバ、クライアント、組み込みシステム、プログラマブルロジックコントローラ(PLC)、ハンドヘルドコンピュータシステム、ポケットPCデバイス、モバイル無線デバイス、スマートフォン、デバイス、又は、コンピュータサポート、プロセッサ、及びデータ処理のための他の電子デバイスを用いてデータを処理することができるあらゆる他の通信デバイス、に及ぶ。コンピュータは、1つ以上のプロセッサ及びメモリユニットを備えることができるし、コンピュータシステムの一部とすることができる。さらに、用語のコンピュータシステムは、汎用か専用のデータ処理マシン、ルータ、ブリッジ、スイッチなどを含み、これらは、独立型、補助型、又は埋め込み型である。
【0114】
用語「ユーザ」は、特に、個人、個人のグループ、又は会社を指し得る。
【0115】
以上の説明において、本発明の様々な態様について説明してきた。しかしながら、本発明は、本発明の一部の態様のみでもすべての態様でも実施され得ることは、当分野で通常の知識をもつ者には当然理解される。説明の目的で、本発明の深い理解を提供するために、特定の構成が説明されている。しかしながら、本発明がこれらの具体的な詳細でなくとも実施可能であることも、当分野で通常の知識をもつ者にとっては自明のことである。説明の一部は、当分野で通常の知識を有する者が自分の仕事の内容を同じく通常の知識を有する他の者に伝えるために普通に使用している様式と一致する、データ、状態、リンク、フォルト、パケットなどの用語を使用して、コンピュータシステムによって実行されるオペレーションに関し提示されている。当分野で通常の知識を有する者に十分に理解されるとおり、これらの量は、コンピュータシステムの機械的及び電気的コンポーネントを通して記憶、転送、結合、及び他の方法での操作が可能な電気的、磁気的、又は光学的信号の形態をとる。
【0116】
さらに、様々なオペレーションが、本発明を理解するのに役立つ方法で、複数の個々のステップとして順次説明されている。しかしながら、説明の順番は、これらのオペレーションが必ず順番、特にその提示の順番、に依存することを意味すると解釈されるべきではない。
【0117】
本明細書中の「一実施例」や「実施例」の言及は、その実施例に関連して説明される具体的な特徴、構造、又は特性が本発明の少なくとも1つの実施例に含まれることを意味する。本明細書の様々な箇所に「一実施例では/において」という語句があるのは、必ずしもすべてが同じ実施例を指しているわけではない。
図1
図2
図3
【手続補正書】
【提出日】2024-09-18
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0075
【補正方法】変更
【補正の内容】
【0075】
まとめると、例示したレコメンダシステムのアーキテクチャは、グラフ形式のデータが入力されエンコードされるエンコーダネットワークと、エンコードされた情報から確率を抽出するデコーダネットワークと、設計差デルタをそれらの確率に従ってランク付けするランク付けエンティティと、を備える
【国際調査報告】