JP2023173296A - 検証プログラム、装置、及び方法 - Google Patents

検証プログラム、装置、及び方法 Download PDF

Info

Publication number
JP2023173296A
JP2023173296A JP2022085455A JP2022085455A JP2023173296A JP 2023173296 A JP2023173296 A JP 2023173296A JP 2022085455 A JP2022085455 A JP 2022085455A JP 2022085455 A JP2022085455 A JP 2022085455A JP 2023173296 A JP2023173296 A JP 2023173296A
Authority
JP
Japan
Prior art keywords
range
data
abstract
output
dividing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022085455A
Other languages
English (en)
Inventor
晴樹 横山
Haruki Yokoyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022085455A priority Critical patent/JP2023173296A/ja
Publication of JP2023173296A publication Critical patent/JP2023173296A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】抽象解釈による機械学習モデルのロバスト性の検証の精度を向上させる。【解決手段】特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、複数のデータを機械学習モデルに入力して得られる出力に基づいて、特定の摂動範囲を複数の範囲に分割し、複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、機械学習モデルの抽象変換器に入力することによって、機械学習モデルの検証を実行する。【選択図】図11

Description

開示の技術は、検証プログラム、検証装置、及び検証方法に関する。
自動運転、社会インフラの監視等のITシステムにおける判断処理に、DNN(Deep Neural Network)等の機械学習モデルを採用する例が増加している。DNNのような機械学習モデルは、高度な判断を実現する一方で、入力の僅かな変化(摂動)によって異なる判断を引き起こす場合がある。そのため、入力への微小な摂動に対するロバスト性を検証することが必要である。しかし、微小な摂動を網羅的に検証しようとすると処理時間が増大する。特に規模の大きいDNNの場合、膨大な処理時間を要することになり、現実的な時間で検証が終了しない。
現実的な時間で検証を行う手法として、抽象解釈を用いた検証方法がある。しかし、抽象解釈を用いた検証方法では、偽反例が発生し、検証の完全性が低いという問題点がある。そこで、偽反例率を低下させるための技術として、摂動範囲を等間隔に分割し、抽象変換器に入力する抽象領域を分割して、入力する抽象領域の体積を削減する技術が提案されている。この技術は、抽象変換器に入力する抽象領域の体積を削減することで、出力される抽象領域の体積を削減し、偽反例率の低下を図っている。
Gagandeep Singh, Timon Gehr, Markus Puschel, and Martin Vechev, "An abstract domain for certifying neural networks", Proc. ACM Program. Lang., Vol. 3, No. POPL, Article 41, January 2019.
しかしながら、摂動範囲を単純に等間隔に分割するだけでは、特定の抽象領域について抽象変換器から最終的に得られる抽象領域が、理論的に最小となる領域に比べて大きくなり過ぎる場合がある。抽象変換器から出力される抽象領域を、理論的に最小となる領域に近づけるように、入力する抽象領域を分割することも考えられるが、理論的に最小となる領域を直接計算することは困難である。また、入力する抽象領域の分割数を増やした場合、抽象変換器の計算処理回数がその分多くなるため、検証に時間がかかる。
一つの側面として、開示の技術は、抽象解釈による機械学習モデルのロバスト性の検証の精度を向上させることを目的とする。
一つの態様として、開示の技術は、特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成する。また、開示の技術は、前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割する。そして、開示の技術は、前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する。
一つの側面として、抽象解釈による機械学習モデルのロバスト性の検証の精度を向上させることができる、という効果を有する。
検証対象のDNNを説明するための図である。 摂動に対するDNNのロバスト性の検証を説明するための図である。 抽象解釈による検証を説明するための図である。 摂動範囲を等間隔に分割する場合を説明するための図である。 摂動範囲を等間隔に分割する場合の問題点を説明するための図である。 出力抽象領域に基づいて、摂動範囲の分割位置を変更する場合を説明するための図である。 検証装置の機能ブロック図である。 摂動範囲及び分割数の一例を示す図である。 DNNのデータ構成の一例を示す図である。 DNNからの出力の一例を示す図である。 摂動範囲の分割を説明するための図である。 摂動範囲の下限、上限、及び各分割点の情報、並びに出力ベクトルの一例を示す図である。 検証装置として機能するコンピュータの概略構成を示すブロック図である。 検証処理の一例を示すフローチャートである。 第1実施形態における摂動範囲分割処理の一例を示すフローチャートである。 比較例における摂動範囲の分割及び出力抽象領域の計算を説明するための図である。 本手法における摂動範囲の分割を説明するための図である。 本手法と比較手法との出力抽象領域の比較の一例を示す図である。 アクティベーションパターンを説明するための図である。 摂動範囲の下限、上限、及び各分割点の情報、並びに出力ベクトル及び後回しフラグの一例を示す図である。 第2実施形態における摂動範囲分割処理の一例を示すフローチャートである。
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
まず、実施形態の詳細を説明する前に、抽象解釈による機械学習のロバスト性の検証について説明する。以下では、機械学習モデルがDNN(Deep Neural Network)である場合について説明する。
図1に示すように、機械学習済みのDNNは、入力されたデータに対する判断結果を出力する。図1では、DNNは、手書き文字を示す画像データに対して文字認識を行った結果を出力する例を示している。上述したように、DNNは、高度な判断を実現する一方で、入力の僅かな変化(摂動)によって異なる判断を引き起こす場合がある。そこで、DNNへの入力の微小な摂動に対するロバスト性を検証するために、微小な摂動を網羅的に検証することが考えられる。例えば、回転摂動に対するロバスト性を検証する場合、DNNの検証を行うための情報処理装置は、図2に示すように、入力となる画像データに摂動を加えたデータ、すなわち入力となる画像データを回転させたデータを複数生成し、DNNに入力する。そして、情報処理装置は、複数のデータに対するDNNの出力が、入力に対する正しい出力であるか否かを検証する。
しかし、微小な摂動を網羅的に検証しようとすると、特に規模の大きいDNNでは現実的な時間で検査が終了しない。そこで、現実的な時間で正確な検証を行う手法として、抽象解釈を用いた検証方法がある。具体的には、抽象解釈を用いた検証方法では、情報処理装置は、図3に示すように、入力データに複数の微小な摂動をそれぞれ加えたデータ(以下、「摂動データ」という)を入力データ空間上の点(図3中の黒丸)で表す。そして、情報処理装置は、入力データ空間における点群を囲む多面体等の領域を抽象領域として設定する。また、情報処理装置は、検証対象のDNNを、抽象領域を取り扱い可能に変換した抽象変換器を生成する。そして、情報処理装置は、抽象変換器に抽象領域を入力し、出力される抽象領域が、求められる性質を満たすか否かを検証する。
抽象領域を用いた検証方法では、性質を満たさないと判定される抽象領域に含まれる点には、性質を満たす点と、性質を満たさない点とが存在し、検証の完全性がないという問題点がある。このように、性質を満たさないと判定される抽象領域に含まれる、性質を満たす点を偽反例という。正確な検証を行うためには、偽反例率を下げることが必要である。
上述した非特許文献1に記載の技術は、図4に示すように、摂動の下限から上限までの範囲である摂動範囲を等間隔に分割し、分割済みの摂動範囲に応じて、抽象変換器に入力する抽象領域を分割し、分割済みの抽象領域をそれぞれ抽象変換器に入力する。そして、抽象変換器は、入力された抽象領域のそれぞれに応じた抽象領域を出力する。このように、この技術は、抽象変換器に入力する抽象領域を分割して体積を削減することで、出力される抽象領域の体積を削減し、偽反例率の低下を図っている。以下、抽象変換器へ入力する抽象領域を「入力抽象領域」といい、抽象変換器から出力される抽象領域を「出力抽象領域」という。なお、図4においては、入力抽象領域及び出力抽象領域の各々に対応するデータ点(図4中の網点の丸)も表しているが、抽象変換器では、実際には抽象領域に対する計算を行い、データ毎の計算は行わない。以下の各図においても同様である。
しかし、非特許文献1に記載の技術のように、摂動範囲を単純に等間隔に分割するだけでは、図5に示すように、特定の抽象領域について抽象変換器から最終的に得られる出力抽象領域が、理論的に最小となる領域に比べて大きくなり過ぎる場合がある。図5の例では、特にAで示す出力抽象領域は、理論的に最小となる領域に対して無駄な領域を多く含んでいる。このように、理論的に最小となる領域に比べて出力抽象領域が大きい場合には、偽反例率の発生が高くなる。出力抽象領域を、理論的に最小となる領域に近づけるように、入力抽象領域を分割することも考えられるが、理論的に最小となる領域を直接計算することは困難である。また、入力抽象領域の分割数を増やした場合、抽象変換器の計算処理回数がその分多くなるため、検証に時間がかかる。
そこで、図6に示すように、体積の大きい出力抽象領域の元となっている摂動範囲を狭めるように分割位置を変更し、再度、入力抽象領域を生成して抽象変換器に入力する方式が考えられる。この方式では、出力抽象領域の体積が十分小さくなるまで、抽象変換器からの出力のフィードバックにより、摂動範囲の分割位置を変更することを繰り返す。しかし、この方式では、フィードバックを実行するために、抽象領域の生成及び抽象変換器での計算処理の実行を繰り返すため、計算量が増大する。特に抽象変換器の計算処理のウェイトが大きいため、摂動範囲の分割数に対してほぼ線形的に計算量が増大する。例えば、摂動範囲を220個に分割する場合において、220回程度のフィードバックが必要だとすると、摂動範囲を単純に440分割する場合と同じ程度の計算時間を要してしまう。
そこで、本実施形態では、検証全体の計算量の増大を抑制し、検証の正確さを向上させる方式を提供する。具体的には、本実施形態は、摂動範囲の分割点の決め方を工夫することにより、出力抽象領域が理論的に最小となる領域に近づくように、出力抽象領域の体積を小さくし、偽反例率を低下させる。以下、本実施形態に係る検証装置について詳述する。以下の各実施形態では、例えば図3に示すような、画像データを入力とし、画像データの文字認識結果を出力するDNNについて、入力の回転摂動に対するロバスト性を検証する場合について説明する。
<第1実施形態>
図7に示すように、第1実施形態に係る検証装置10には、入力データ、摂動範囲、及び分割数が入力される。入力データは、例えば、手書き文字(例えば、数字)を示す画像データである。摂動範囲は、例えば図8に示すように、入力データである画像データを回転させる角度の下限及び上限を特定したデータである。分割数は、摂動範囲を何個に分割するかを示す数である。図8の例では、分割数(k)が220の例を示している。また、検証装置10には、検証対象のDNN32が記憶される。DNN32は、例えば、図9に示すように、入力層、隠れ層、及び出力層を含むネットワーク構成である。DNN32のデータ構成は、図9に示すように、各層に含まれるノードの情報と、パラメータ(各層間の重み及びバイアス)の情報とを含む。図9では、隠れ層が2層の計4層のネットワーク構成のDNN32の例を示しており、入力層から順に1層、2層、3層、4層とした場合に、L層のi番目のノードをn で表している。また、パラメータの情報は、層間毎に、行及び列に各層のノードを対応させた対応表の形式で記憶される。対応表は、行及び列対応するノード間の重みを各セルに格納すると共に、各行に対応するノードのバイアスを最終列のセルに格納している。検証装置10は、入力された情報に基づいて、検証対象のDNN32の回転摂動に対するロバスト性を検証し、検証結果を出力する。
検証装置10は、機能的には、図7に示すように、制御部12を含む。より詳細には、制御部12は、データ生成部14と、分割部16と、抽象変換器生成部18と、検証部20とを含む。
データ生成部14は、特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成する。具体的には、データ生成部14は、検証装置10に入力された摂動範囲を取得する。データ生成部14は、摂動範囲の上限及び下限のそれぞれの値を入力データに加えた摂動データを生成する。より具体的には、データ生成部14は、入力データである画像データを、摂動範囲の上限及び下限のそれぞれが示す角度回転させた画像データを摂動データとして生成する。また、データ生成部14は、分割部16から通知される分割点(詳細は後述)に対応する摂動(ここでは、回転角度)を入力データに加えた摂動データを生成する。データ生成部14は、生成した摂動データを分割部16へ受け渡す。
分割部16は、データ生成部14で生成された複数の摂動データをそれぞれDNN32に入力して得られる出力に基づいて、摂動範囲を複数の範囲に分割する。以下、分割後の各範囲を「分割摂動範囲」という。
具体的には、分割部16は、検証装置10に入力された分割数を取得する。また、分割部16は、データ生成部14から、上限及び下限の各々に対応する摂動データを受け取り、各摂動データをDNN32に入力し、それぞれに対応する出力を取得する。図10に、DNN32からの出力の一例を示す。図10に示すように、分割部16は、DNN32の出力層の各ノードからの出力を各要素とする出力ベクトルを取得する。なお、図10では、説明を簡単にするため、DNNの出力層の各ノードの出力を単一の値で示しているが、各ノードからの出力はベクトルであってよく、その場合、最終的に取得される出力ベクトルは三次元ベクトルとなる。
また、分割部16は、図11に示すように、摂動範囲内において、上限及び下限以外の箇所、例えば、上限と下限との中間に分割点1を設定する。分割部16は、設定した分割点1に対応する摂動(ここでは、回転角度)をデータ生成部14へ通知する。そして、分割部16は、通知した分割点1に対応する摂動データをデータ生成部14から受け取る。分割部16は、分割点1に対応する摂動データをDNN32に入力し、分割点1に対応する出力ベクトルを取得する。
また、分割部16は、下限と分割点1とを端点とする範囲、及び上限と分割点1とを端点とする範囲をそれぞれ分割摂動範囲とする。分割部16は、各分割摂動範囲の端点に対応する出力ベクトル同士の類似度を計算する。類似度は、例えばコサイン類似度であってよい。分割部16は、分割摂動範囲のうち、類似度が最も低い分割摂動範囲を次の分割対象として特定する。図11の例では、上限と分割点1とを端点とする分割摂動範囲より、下限と分割点1とを端点とする分割摂動範囲の方が、出力ベクトルの類似度が低いため、次の分割対象として特定される。
分割部16は、次の分割対象として特定した分割摂動範囲の端点以外の箇所、例えば、2つの端点(ここでは、下限及び分割点1)の中間に分割点2を設定する。分割部16は、設定した分割点2に対応する摂動をデータ生成部14へ通知し、通知した分割点2に対応する摂動データをデータ生成部14から受け取る。分割部16は、分割点2に対応する摂動データをDNN32に入力し、分割点2に対応する出力ベクトルを取得する。
また、分割部16は、下限、上限、及びここまでに設定されている分割点の各々により特定される範囲を分割摂動範囲とする。図11の例では、分割点2が設定された段階で、下限~分割点2、分割点2~分割点1、及び分割点1~上限の3つの分割摂動範囲に分割されている。分割部16は、各分割摂動範囲の端点に対応する出力ベクトル同士の類似度を計算し、分割摂動範囲のうち、類似度が最も低い分割摂動範囲を次の分割対象として特定する。図11の例では、3つの分割摂動範囲のうち、分割点2~分割点1の分割摂動範囲の出力ベクトルの類似度が最も低いため、次の分割対象として特定される。
なお、分割部16は、例えば、図12に示すように、下限、上限、及び各分割点の情報として、各点の値、DNN32から取得した出力ベクトルを所定の記憶領域に記憶しておく。また、分割部16は、計算した分割摂動範囲毎の出力ベクトルの類似度を所定の記憶領域に記憶しておく。そして、分割部16は、新たな分割点の設定によっても端点に変更のない分割摂動範囲については、記憶しておいた類似度を流用してよい。分割部16は、分割摂動範囲の数が、取得した分割数に到達するまで、分割点の設定、出力ベクトルの取得、及び出力ベクトルの類似度に基づく次の分割対象の特定を繰り返す。分割部16は、各分割摂動範囲の端点の情報、すなわち摂動範囲の上限、下限、及び設定した分割点の値を検証部20へ受け渡す。
抽象変換器生成部18は、検証対象のDNN32から、抽象領域を取り扱い可能な抽象変換器34を生成する。例えば、抽象変換器生成部18は、区間演算により、DNN32の各層について1つの関数を定義し、入力として点ではなく領域が取れるように拡張することにより、抽象変換器34を生成する。
検証部20は、複数の分割摂動範囲のそれぞれに基づいて生成された複数の入力抽象領域を、抽象変換器生成部18により生成された抽象変換器34に入力することによって、DNN32のロバスト性の検証を実行する。具体的には、検証部20は、検証装置10に入力された入力データを取得すると共に、分割部16から、各分割摂動範囲の端点の情報を受け取る。検証部20は、入力データと各分割摂動範囲とに基づいて、入力抽象領域を生成する。検証部20は、生成した入力抽象領域をそれぞれ抽象変換器34へ入力して、出力抽象領域を取得する。検証部20は、出力抽象領域が、入力データに応じた所定の性質を満たすか否かを検証し、検証結果を出力する。
検証装置10は、例えば図13に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶装置43とを備える。また、コンピュータ40は、入力装置、表示装置等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶装置43、入出力装置44、R/W装置45、及び通信I/F46は、バス47を介して互いに接続される。
記憶装置43は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置43には、コンピュータ40を、検証装置10として機能させるための検証プログラム50が記憶される。検証プログラム50は、データ生成プロセス制御命令54と、分割プロセス制御命令56と、抽象変換器生成プロセス制御命令58と、検証プロセス制御命令60とを有する。また、記憶装置43は、検証対象のDNN32を構成する情報が記憶される情報記憶領域62を有する。
CPU41は、検証プログラム50を記憶装置43から読み出してメモリ42に展開し、検証プログラム50が有する制御命令を順次実行する。CPU41は、データ生成プロセス制御命令54を実行することで、図7に示すデータ生成部14として動作する。また、CPU41は、分割プロセス制御命令56を実行することで、図7に示す分割部16として動作する。また、CPU41は、抽象変換器生成プロセス制御命令58を実行することで、図7に示す抽象変換器生成部18として動作する。また、CPU41は、検証プロセス制御命令60を実行することで、図7に示す検証部20として動作する。また、CPU41は、情報記憶領域62から情報を読み出して、DNN32をメモリ42に展開する。また、抽象変換器生成プロセス制御命令58が実行されることにより生成される抽象変換器34がメモリ42に展開される。これにより、検証プログラム50を実行したコンピュータ40が、検証装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
なお、検証プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現されてもよい。
次に、第1実施形態に係る検証装置10の動作について説明する。検証対象のDNN32が記憶された検証装置10に、入力データ、摂動範囲、及び分割数が入力され、検証の実行が指示されると、検証装置10において、図14に示す検証処理が実行される。なお、検証処理は、開示の技術の検証方法の一例である。
ステップS10で、抽象変換器生成部18が、検証対象のDNN32から、抽象領域を取り扱い可能な抽象変換器34を生成する。次に、ステップS20で、データ生成部14及び分割部16が、摂動範囲分割処理を実行する。ここで、図15を参照して、摂動範囲分割処理について説明する。
ステップS22で、データ生成部14が、検証装置10に入力された摂動範囲を取得し、分割部16が、検証装置10に入力された分割数を取得し、検証部20が、検証装置10に入力された入力データを取得する。次に、ステップS24で、データ生成部14が、摂動範囲の上限及び下限のそれぞれの値を入力データに加えた摂動データを生成する。そして、分割部16が、データ生成部14により生成された上限及び下限の各々に対応する摂動データをDNN32に入力し、上限及び下限の各々に対応する出力ベクトルを取得する。
次に、ステップS26で、分割部16が、分割摂動範囲の端点に対応する出力ベクトル間の類似度が最も低い分割摂動範囲を選択する。なお、ステップS22から本ステップへ移行した場合には、摂動範囲はまだ分割されていないため、下限~上限の範囲、すなわち元の摂動範囲が分割摂動範囲として選択される。
次に、ステップS28で、分割部16が、選択した分割摂動範囲の端点以外の箇所、例えば、2つの端点の中間に分割点を設定する。次に、ステップS30で、分割部16が、分割摂動範囲の数が、上記ステップS22で取得した分割数に到達したか否かを判定する。分割数に到達した場合には、ステップS34へ移行し、到達していない場合には、ステップS32へ移行する。ステップS32では、データ生成部14が、上記ステップS28で設定された分割点に対応する摂動データを生成する。そして、分割部16が、生成された摂動データをDNN32に入力し、その分割点に対応する出力ベクトルを取得し、ステップS26に戻る。一方、ステップS34では、分割部16が、各分割摂動範囲の端点の情報を検証部20へ出力し、検証処理(図14)へリターンする。
次に、図14のステップS40で、検証部20が、分割摂動範囲を1つ選択する。次に、ステップS50で、検証部20が、上記ステップS22で取得した入力データと、選択した分割摂動範囲の端点の情報とに基づいて、入力抽象領域を生成する。次に、ステップS60で、検証部20が、生成した入力抽象領域を、上記ステップS10で生成された抽象変換器34に入力し、出力抽象領域を取得する。次に、ステップS70で、検証部20が、出力抽象領域が、入力データに応じた所定の性質を満たすか否かを検証し、検証結果を所定の記憶領域にいったん記憶する。
次に、ステップS80で、検証部20が、未選択の分割摂動範囲が存在するか否かを判定する。未選択の分割摂動範囲が存在する場合には、ステップS40に戻り、全ての分割摂動範囲が選択済みの場合には、ステップS90へ移行する。ステップS90では、検証部20が、上記ステップS70で所定の記憶領域に記憶した、各分割摂動範囲に対応する出力抽象領域についての検証結果を集約して最終的な検証結果として出力し、検証処理は終了する。
以上説明したように、第1実施形態に係る検証装置は、特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数の摂動データを生成する。また、検証装置は、複数の摂動データを検証対象のDNNに入力して得られる出力に基づいて、特定の摂動範囲を複数の分割摂動範囲に分割する。そして、検証装置は、複数の分割摂動範囲のそれぞれに基づいて生成された複数の入力抽象領域を、DNNから変換した抽象変換器に入力することによって、DNNのロバスト性の検証を実行する。これにより、抽象解釈によるDNNのロバスト性の検証の精度を向上させることができる。
摂動範囲を単純に等分し、抽象変換器により出力される出力抽象領域をフィードバックして摂動範囲の分割点を変更する手法を比較例として、本実施形態の効果についてより具体的に説明する。図16の左図に示すように、摂動範囲を0~1.0とし、均等に3分割する場合、分割点は、0.33及び0.66となる。この下限(0)、上限(1.0)、分割点(0.33及び0.66)に対応する摂動データを図16の中央の図に示す。図16では、説明を簡単にするため、入力及び出力が共に2次元のDNNを想定している。比較例では、入力抽象領域を抽象変換器に入力して、図16の右図に示すような出力抽象領域が得られる。図16に示す比較例では、抽象解釈による入力抽象領域から出力抽象領域への範囲の変化が考慮されていないため、無駄な領域を多く含む、体積の大きな出力抽象領域が発生する場合がある。これを解消するために、比較例は、大きい出力抽象領域に対応する分割摂動範囲を狭めて入力抽象領域を計算し直して、再度抽象変換器により出力抽象領域を取得する。
なお、図16では、説明を簡単にするため、各分割摂動範囲に対応する入力抽象領域及び出力抽象領域を矩形で表している。また、図16の中央の図における点線は、摂動範囲の任意の点に対して得られる入力集合、図16の右図における点線は、摂動範囲の任意の点に対して得られる出力集合を便宜上表したものである。これらの点線上の点相当する値は、実際に抽象変換器に入力される値、又は実際に抽象変換器から出力される値ではない。以下の図17及び図18においても同様である。
一方、本実施形態の手法(以下、「本手法」ともいう)は、図17に示すように、摂動範囲分割処理の反復1回目において、摂動範囲の上限、下限、及び分割点の各々に対応する摂動データを生成する。そして、本手法は、生成した摂動データを検証対象のDNN32に入力して、出力ベクトルを取得し、分割摂動範囲の端点の出力ベクトル間の類似度が低い方の分割摂動範囲を、反復2回目の分割対象として選択する。本手法は、反復2回目においても同様に、新たに設定した分割点に対応する摂動データを生成し、新たに生成された摂動データをDNN32に入力して出力ベクトルを取得する。本手法は、以下同様に、分割摂動範囲の数が所定の分割数に到達するまで、上記の処理を繰り返して得られた分割摂動範囲に基づいて、入力抽象領域を計算する。
図18に、本手法と比較手法との出力抽象領域の比較の一例を示す。本手法は、端点に対応する出力ベクトルの類似度が最も低い分割摂動範囲、すなわち、出力抽象領域の体積が大きくなりそうな分割摂動範囲を優先的に次の分割対象とするため、図18に示すように、比較例に比べて、出力抽象領域の体積を削減することができる。また、抽象変換器により、入力抽象領域から出力抽象領域を計算する処理に比べ、DNNの推論は、一般に1データ高々100ms未満(大半は10ms程度)と高速である。本手法では、摂動範囲の分割処理の段階では、入力抽象領域及び出力抽象領域を計算することなく、DNN32の出力をフィードバックして分割点を設定するため、摂動範囲の分割を高速に行うことができる。
本手法と比較例との計算量の比較について、より具体的に説明する。なお、以下に示す計算量O(x)のような表記(ランダウの記号)は、計算複雑性を表す多項式の中で最も増大し易い項、すなわち全体の計算結果に影響する項がxであることを表す。
検証対象のDNNの層数をL、DNNの層の幅(各層のノード数)の最大値をnmax、摂動範囲の分割数をkとする。DNNの計算処理は全ノードの伝搬計算であるため、この場合の計算量はO(nmax・L)である。また、抽象変換器の計算量は、非特許文献1により、O(nmax ・L)である。比較例において、k回フィードバックを行うとすると、抽象変換器による計算がk回発生するため、抽象変換器の計算量はO(k・nmax ・L)である。一方、本手法において、摂動範囲をk個に分割する場合、DNNの計算量O(nmax・L)、及び出力ベクトルの類似度の計算量O(nmax)のk回分で、計算量はO(k・nmax・L)となる。なお、他の計算量は定数O(1)とする。すなわち、比較例に対して本手法では、nmaxの項が2乗から線形になる分、計算量が削減される。
このように、本実施形態に係る検証装置は、摂動範囲の分割数が比較例と同程度の場合において、比較例よりも少ない計算量で、より正確な出力抽象領域を取得可能な分割点を設定することができる。これにより、本実施形態に係る検証装置は、CPU使用量を大きく変化させることなく、DNNのロバスト性の検証の正確さを向上させることができる。
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、摂動範囲を分割する際に、分割摂動範囲の2つの端点に対応するDNNの出力層からの出力を利用するが、第2実施形態では、DNNの隠れ層の出力も利用する。なお、第2実施形態に係る検証装置において、第1実施形態に係る検証装置10と同様の構成については、同一符号を付して詳細な説明を省略する。
図7に示すように、第2実施形態に係る検証装置210は、機能的には、制御部212を含む。より詳細には、制御部212は、データ生成部14と、分割部216と、抽象変換器生成部18と、検証部20とを含む。
分割部216は、第1実施形態に係る分割部16と同様に、摂動範囲を複数の分割摂動範囲に分割する。加えて、分割部216は、次の分割対象を選択する際に、分割摂動範囲のうち、2つの端点のそれぞれに対応する摂動データをDNN32に入力した場合の、DNN32の隠れ層の出力のパターン(以下、「アクティベーションパターン」という)を取得する。図19に、それぞれ4つのノードを含む2つの隠れ層を含むDNN32からのアクティベーションパターンの取得の例を示す。この例では、活性化関数としてReLUを用いるものとする。また、図19の各ノード内の数値は、各ノードにおけるReLU通過前の値である。分割部216は、例えば、各ノードの出力値xが0より大きい場合には「1」、0以下の場合には「0」とし、図19下図に示すようなアクティベーションパターンを取得する。
アクティベーションパターンを取得する理由は、DNN32で使用される活性化関数がReLUのような区分線形関数の場合、同一のアクティベーションパターンを持つ2つの入力は同一の超平面上に出力されるためである。すなわち、同一のアクティベーションパターンを持つ2つの入力の線形補間は、出力の線形補間に直接対応するため、2つの入力が別々のアクティベーションパターンを持つ場合に比べ、出力抽象領域の体積は増大し難い。したがって、分割部216は、分割摂動範囲の2つの端点に対応するアクティベーションパターンが同一の場合、その分割摂動範囲は次の分割対象として選択する優先度が低いと判断する。具体的には、分割部216は、分割摂動範囲の2つの端点に対応するアクティベーションパターンが同一の場合には、次の分割対象を選択する際に、その分割摂動範囲が後回しとなるように、後回しフラグを立てる。
分割部216は、例えば図20に示すように、下限、上限、及び各分割点の情報として、各点の値及び出力ベクトルと共に、取得したアクティベーションパターンを所定の記憶領域に記憶しておく。また、分割部216は、後回しフラグの情報も所定の記憶領域に記憶しておく。図20の例では、「後回しフラグ」欄が「1」の分割摂動範囲が、次の分割対象を選択する際に後回しとなる分割摂動範囲であることを表している。
検証装置210は、例えば図13に示すコンピュータ40で実現されてよい。コンピュータ40の記憶装置43には、コンピュータ40を、検証装置210として機能させるための検証プログラム250が記憶される。検証プログラム250は、データ生成プロセス制御命令54と、分割プロセス制御命令256と、抽象変換器生成プロセス制御命令58と、検証プロセス制御命令60とを有する。また、記憶装置43は、検証対象のDNN32を構成する情報が記憶される情報記憶領域62を有する。
CPU41は、検証プログラム250を記憶装置43から読み出してメモリ42に展開し、検証プログラム250が有する制御命令を順次実行する。CPU41は、分割プロセス制御命令256を実行することで、図7に示す分割部216として動作する。他の制御命令については、第1実施形態における検証プログラム50と同様である。これにより、検証プログラム250を実行したコンピュータ40が、検証装置210として機能することになる。
なお、検証プログラム250により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現されてもよい。
次に、第2実施形態に係る検証装置10の動作について説明する。第2実施形態においても、検証装置210が、図14に示す検証処理を実行する。第2実施形態では、ステップS20で実行される摂動範囲分割処理が第1実施形態とは異なるため、以下では、第2実施形態における摂動範囲分割処理について説明する。
図21は、第2実施形態における摂動範囲分割処理の一例を示すフローチャートである。なお、第2実施形態における摂動範囲分割処理において、第1実施形態における摂動範囲分割処理と同様の処理については、同一のステップ番号を付して詳細な説明を省略する。
ステップS22を経て、次のステップS224で、データ生成部14が、摂動範囲の上限及び下限のそれぞれの値を入力データに加えた摂動データを生成する。そして、分割部216が、データ生成部14により生成された上限及び下限の各々に対応する摂動データをDNN32に入力し、上限及び下限の各々に対応する出力ベクトル及びアクティベーションパターンを取得する。
次に、ステップS226で、分割部216が、後回しフラグの有無、及び端点に対応する出力ベクトル間の類似度に基づいて、分割摂動範囲を選択する。具体的には、分割部216は、後回しフラグが立っていない分割摂動範囲が存在する場合には、後回しフラグが立っていない分割摂動範囲の中で、出力ベクトル間の類似度が最も低い分割摂動範囲を選択する。また、分割部216は、後回しフラグが立っていない分割摂動範囲が存在しない場合には、出力ベクトル間の類似度が最も低い分割摂動範囲を選択する。
次に、ステップS236で、分割部216が、選択した分割摂動範囲の2つの端点に対応するアクティベーションパターンが同一か否かを判定する。アクティベーションパターンが同一の場合には、ステップS238へ移行し、分割部216が、選択した分割摂動範囲に後回しフラグを立てて、ステップS226に戻る。なお、既に後回しフラグが立っている分割摂動範囲が選択されている場合には、本ステップの処理は省略する。一方、アクティベーションパターンが同一ではない場合には、ステップS28へ移行する。
ステップS28を経て、S30へ移行し、ステップS30で、分割摂動範囲の数が分割数に到達していないと判定されると、ステップS232へ移行する。ステップS232では、分割部216が、上記ステップS28で設定した分割点に対応する摂動データをDNN32に入力し、その分割点に対応する出力ベクトル及びアクティベーションパターンを取得し、ステップS226に戻る。
以上説明したように、第2実施形態に係る検証装置は、摂動範囲の分割点を設定する際に、DNNの隠れ層の出力が表すアクティベーションパターンも利用する。分割摂動範囲の2つの端点に対応するアクティベーションパターンが同一の場合、その分割摂動範囲に対応する出力抽象領域の体積は増大し難いため、検証装置は、次の分割対象を選択する際に、その分割摂動範囲が選択される優先度を低下させる。これにより、第2実施形態に係る検証装置は、より正確な出力抽象領域を取得可能な分割点を設定することができる。
なお、上記各実施形態は、DNNの回転摂動のロバスト性を検証する場合であるが、開示の技術は、入力データの拡大、縮小、入力データへのノイズの付加等、他の摂動に対するロバスト性の検証にも適用できる。
また、上記各実施形態では、検証プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
処理をコンピュータに実行させることを特徴とする検証プログラム。
(付記2)
前記出力は、前記機械学習モデルであるディープニューラルネットワークの隠れ層及び出力層の少なくとも一方の出力である、
ことを特徴とする付記1に記載の検証プログラム。
(付記3)
前記複数のデータを生成する処理において、前記特定の摂動範囲の第1の端点と、第2の端点と、前記第1の端点及び前記第2の端点以外の前記特定の摂動範囲内の第1の分割点とを前記複数の点とし、
前記特定の摂動範囲を複数の範囲に分割する処理は、前記第1の端点と前記第1の分割点とで特定される第1の範囲、及び前記第2の端点と前記第1の分割点とで特定される第2の範囲のうち、前記第1の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第1の出力と、前記第1の分割点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第2の出力との類似度と、前記第2の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第3の出力と、前記第2の出力との類似度とのうち、小さい方の類似度に対応する範囲を第2の分割点で分割する、
ことを含むことを特徴とする付記1又は付記2に記載の検証プログラム。
(付記4)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記機械学習モデルにそれぞれ入力して得られる2つの出力間の類似度が最も低い範囲をさらに分割することを、分割した範囲の数が予め定めた数となるまで繰り返す、
ことを含むことを特徴とする付記3に記載の検証プログラム。
(付記5)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記ディープニューラルネットワークに入力した場合の前記隠れ層の出力のパターンが同一の範囲について、次に分割する対象の範囲として選択する優先度を低下させる、
ことを含むことを特徴とする付記2に記載の検証プログラム。
(付記6)
前記機械学習モデルから前記抽象変換器を生成する、
処理を前記コンピュータに実行させることを特徴とする付記1~付記5のいずれか1項に記載の検証プログラム。
(付記7)
特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
処理を実行する制御部を含むことを特徴とする検証装置。
(付記8)
前記出力は、前記機械学習モデルであるディープニューラルネットワークの隠れ層及び出力層の少なくとも一方の出力である、
ことを特徴とする付記7に記載の検証装置。
(付記9)
前記複数のデータを生成する処理において、前記特定の摂動範囲の第1の端点と、第2の端点と、前記第1の端点及び前記第2の端点以外の前記特定の摂動範囲内の第1の分割点とを前記複数の点とし、
前記特定の摂動範囲を複数の範囲に分割する処理は、前記第1の端点と前記第1の分割点とで特定される第1の範囲、及び前記第2の端点と前記第1の分割点とで特定される第2の範囲のうち、前記第1の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第1の出力と、前記第1の分割点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第2の出力との類似度と、前記第2の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第3の出力と、前記第2の出力との類似度とのうち、小さい方の類似度に対応する範囲を第2の分割点で分割する、
ことを含むことを特徴とする付記7又は付記8に記載の検証装置。
(付記10)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記機械学習モデルにそれぞれ入力して得られる2つの出力間の類似度が最も低い範囲をさらに分割することを、分割した範囲の数が予め定めた数となるまで繰り返す、
ことを含むことを特徴とする付記9に記載の検証装置。
(付記11)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記ディープニューラルネットワークに入力した場合の前記隠れ層の出力のパターンが同一の範囲について、次に分割する対象の範囲として選択する優先度を低下させる、
ことを含むことを特徴とする付記8に記載の検証装置。
(付記12)
前記機械学習モデルから前記抽象変換器を生成する、
処理を前記制御部が実行することを特徴とする付記7~付記11のいずれか1項に記載の検証装置。
(付記13)
特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
処理をコンピュータが実行することを特徴とする検証方法。
(付記14)
前記出力は、前記機械学習モデルであるディープニューラルネットワークの隠れ層及び出力層の少なくとも一方の出力である、
ことを特徴とする付記13に記載の検証方法。
(付記15)
前記複数のデータを生成する処理において、前記特定の摂動範囲の第1の端点と、第2の端点と、前記第1の端点及び前記第2の端点以外の前記特定の摂動範囲内の第1の分割点とを前記複数の点とし、
前記特定の摂動範囲を複数の範囲に分割する処理は、前記第1の端点と前記第1の分割点とで特定される第1の範囲、及び前記第2の端点と前記第1の分割点とで特定される第2の範囲のうち、前記第1の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第1の出力と、前記第1の分割点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第2の出力との類似度と、前記第2の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第3の出力と、前記第2の出力との類似度とのうち、小さい方の類似度に対応する範囲を第2の分割点で分割する、
ことを含むことを特徴とする付記13又は付記14に記載の検証方法。
(付記16)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記機械学習モデルにそれぞれ入力して得られる2つの出力間の類似度が最も低い範囲をさらに分割することを、分割した範囲の数が予め定めた数となるまで繰り返す、
ことを含むことを特徴とする付記15に記載の検証方法。
(付記17)
前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記ディープニューラルネットワークに入力した場合の前記隠れ層の出力のパターンが同一の範囲について、次に分割する対象の範囲として選択する優先度を低下させる、
ことを含むことを特徴とする付記14に記載の検証方法。
(付記18)
前記機械学習モデルから前記抽象変換器を生成する、
処理を前記コンピュータが実行することを特徴とする付記13~付記17のいずれか1項に記載の検証方法。
(付記19)
特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
処理をコンピュータに実行させることを特徴とする検証プログラムを記憶した非一時的記憶媒体。
10、210 検証装置
12、212 制御部
14 データ生成部
16、216 分割部
18 抽象変換器生成部
20 検証部
34 抽象変換器
40 コンピュータ
41 CPU
42 メモリ
43 記憶装置
44 入出力装置
45 装置
46 通信I/F
47 バス
49 記憶媒体
50、250 検証プログラム
54 データ生成プロセス制御命令
56、256 分割プロセス制御命令
58 抽象変換器生成プロセス制御命令
60 検証プロセス制御命令
62 情報記憶領域

Claims (8)

  1. 特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
    前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
    前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
    処理をコンピュータに実行させることを特徴とする検証プログラム。
  2. 前記出力は、前記機械学習モデルであるディープニューラルネットワークの隠れ層及び出力層の少なくとも一方の出力である、
    ことを特徴とする請求項1に記載の検証プログラム。
  3. 前記複数のデータを生成する処理において、前記特定の摂動範囲の第1の端点と、第2の端点と、前記第1の端点及び前記第2の端点以外の前記特定の摂動範囲内の第1の分割点とを前記複数の点とし、
    前記特定の摂動範囲を複数の範囲に分割する処理は、前記第1の端点と前記第1の分割点とで特定される第1の範囲、及び前記第2の端点と前記第1の分割点とで特定される第2の範囲のうち、前記第1の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第1の出力と、前記第1の分割点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第2の出力との類似度と、前記第2の端点に対応する摂動を加えたデータを前記機械学習モデルに入力して得られる第3の出力と、前記第2の出力との類似度とのうち、小さい方の類似度に対応する範囲を第2の分割点で分割する、
    ことを含むことを特徴とする請求項1又は請求項2に記載の検証プログラム。
  4. 前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記機械学習モデルにそれぞれ入力して得られる2つの出力間の類似度が最も低い範囲をさらに分割することを、分割した範囲の数が予め定めた数となるまで繰り返す、
    ことを含むことを特徴とする請求項3に記載の検証プログラム。
  5. 前記特定の摂動範囲を複数の範囲に分割する処理は、前記特定の摂動範囲を分割した範囲のうち、前記分割した範囲の2つの端点のそれぞれに対応する摂動を加えた2つのデータを前記ディープニューラルネットワークに入力した場合の前記隠れ層の出力のパターンが同一の範囲について、次に分割する対象の範囲として選択する優先度を低下させる、
    ことを含むことを特徴とする請求項2に記載の検証プログラム。
  6. 前記機械学習モデルから前記抽象変換器を生成する、
    処理を前記コンピュータに実行させることを特徴とする請求項1又は請求項2に記載の検証プログラム。
  7. 特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
    前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
    前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
    処理を実行する制御部を含むことを特徴とする検証装置。
  8. 特定の摂動範囲に含まれる複数の点のそれぞれに対応する摂動をデータに加えることによって複数のデータを生成し、
    前記複数のデータを機械学習モデルに入力して得られる出力に基づいて、前記特定の摂動範囲を複数の範囲に分割し、
    前記複数の範囲のそれぞれに基づいて生成された複数の抽象領域を、前記機械学習モデルの抽象変換器に入力することによって、前記機械学習モデルの検証を実行する、
    処理をコンピュータが実行することを特徴とする検証方法。
JP2022085455A 2022-05-25 2022-05-25 検証プログラム、装置、及び方法 Pending JP2023173296A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022085455A JP2023173296A (ja) 2022-05-25 2022-05-25 検証プログラム、装置、及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022085455A JP2023173296A (ja) 2022-05-25 2022-05-25 検証プログラム、装置、及び方法

Publications (1)

Publication Number Publication Date
JP2023173296A true JP2023173296A (ja) 2023-12-07

Family

ID=89030563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022085455A Pending JP2023173296A (ja) 2022-05-25 2022-05-25 検証プログラム、装置、及び方法

Country Status (1)

Country Link
JP (1) JP2023173296A (ja)

Similar Documents

Publication Publication Date Title
JP7413580B2 (ja) ニューラルネットワークを使用した集積回路フロアプランの生成
Jin et al. A framework for evolutionary optimization with approximate fitness functions
US20120310618A1 (en) Techniques for application tuning
JP2006208364A (ja) 制約問題に対して提案された解を評価するための方法及び装置
JP6381962B2 (ja) シミュレーションシステム及び方法と該システムを含むコンピュータシステム
JP2020067980A (ja) 予測プログラム、予測方法及び予測装置
JP2011028504A (ja) 多目的最適化設計支援装置、方法、及びプログラム
Yang et al. Computational optimization: An overview
JP6325762B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2010122832A (ja) Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム
Acar Effects of the correlation model, the trend model, and the number of training points on the accuracy of K riging metamodels
JP2006202274A (ja) 制約問題に対して提案された解を評価するための方法及び装置
CN116663491B (zh) 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质
JP2023173296A (ja) 検証プログラム、装置、及び方法
KR20230132369A (ko) 양자 회로에서의 리소스 감소
KR102559605B1 (ko) 함수 최적화 방법 및 장치
JP7384999B2 (ja) 機械学習モデル決定システム及び機械学習モデル決定方法
US11550873B2 (en) Arithmetic processing apparatus, arithmetic processing method, and non-transitory computer-readable storage medium for storing arithmetic processing program
Stinstra et al. Metamodeling by symbolic regression and Pareto simulated annealing
Liu et al. Multi-objective optimization for a surface combatant using Neumann-Michell theory and approximation model
Liu et al. Hull form multi-objective optimization for a container ship with Neumann-Michell theory and approximation model
JP5509952B2 (ja) シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体
JP7224263B2 (ja) モデル生成方法、モデル生成装置及びプログラム
WO2024047758A1 (ja) 訓練データ分布推定プログラム、装置、及び方法
JPWO2019198408A1 (ja) 学習装置、学習方法、及び学習プログラム