JP7310921B2 - 検査装置、検査方法及び検査プログラム - Google Patents
検査装置、検査方法及び検査プログラム Download PDFInfo
- Publication number
- JP7310921B2 JP7310921B2 JP2021563513A JP2021563513A JP7310921B2 JP 7310921 B2 JP7310921 B2 JP 7310921B2 JP 2021563513 A JP2021563513 A JP 2021563513A JP 2021563513 A JP2021563513 A JP 2021563513A JP 7310921 B2 JP7310921 B2 JP 7310921B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- inspection
- specifications
- recursive neural
- inspected
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、検査装置、検査方法及び検査プログラムに関する。
従来、機械学習モデルにより制御されるシステムの挙動を検査する手法が知られている。例えば、有限状態遷移システムや区分線形関数で表現される連続状態遷移システムが、Linear Temporal Logicで記述された仕様を満たすかどうかを検査する方法がある(例えば、非特許文献1を参照)。
Yordanov, B., et al 2011. "Temporal Logic Control of Discrete Time Piecewise Affine Systems." IEEE Transactions on Automatic Control, vol. 57, no. 6, pp.1491-1504.
しかしながら、従来の技術では、再帰ニューラルネットワークにより制御されるシステムの挙動を検査することが困難な場合があるという問題がある。まず、線形写像とシグモイド関数の合成として定義される再帰ニューラルネットワークは非線形関数であるため、従来の技術を適用できない。また、再帰ニューラルネットワークにより制御されるシステムは、特定の性質を満たし得る一定の期間と満たしてはいけない一定の期間が交互に切り替わるような仕様が求められる場合がある。一方で、このような仕様はLinear Temporal Logicで記述できないため、従来技術では検査できない。
上述した課題を解決し、目的を達成するために、検査装置は、仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する計算部と、前記集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、前記検査対象の再帰ニューラルネットワークが前記仕様を満たすか否かを判定する判定部と、を有することを特徴とする。
本発明によれば、再帰ニューラルネットワークにより制御されるシステムの挙動を検査することができる。
以下に、本願に係る検査装置、検査方法及び検査プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
ここで、本実施形態の検査装置は、再帰ニューラルネットワークが仕様を満たすか否かを検査するための装置である。ここで、再帰ニューラルネットワークにはシーケンシャルなデータが入力される。例えば、再帰ニューラルネットワークに時系列データが入力される場合、入力されるデータの時刻が進むにしたがい、再帰ニューラルネットワークの状態は変化する。そこで、本実施形態の検査装置は、例えば、様相論理の手法を用いて仕様を満たす状態全体を仮定し、検査対象の再帰ニューラルネットワークが仕様を満たすか否かを検査する。
ここで、図2を用いて、一般的な再帰ニューラルネットワークの動作を説明する。図2は、再帰ニューラルネットワークの動作を説明する説明図である。なお、本実施形態では、再帰ニューラルネットワークに時系列データが入力されるものとして説明を行う。図2に示すように、再帰ニューラルネットワークは、各時刻の状態及び入力を基に、次の時刻の状態及び出力を計算する。また、図2に示すように、一般的な再帰ニューラルネットワークの計算において、状態、入力値及び出力値は、所定の平面における点として表される。また、再帰ニューラルネットワークは、関数f及びgによって表される。
図2の各文字の添え字は時刻を表している。例えば、再帰ニューラルネットワークは、まず、初期状態h0及び入力x1から、時刻t=1の状態h1=f(h0,x1)を計算する。さらに、再帰ニューラルネットワークは、状態h1及び入力x1から、時刻t=1の出力o1=g(h1,x1)を計算する。さらに、再帰ニューラルネットワークは、状態h1及び入力x2から、時刻t=2の状態h2=f(h1,x2)を計算する。さらに、再帰ニューラルネットワークは、状態h2及び入力x2から、時刻t=2の出力o2=g(h2,x2)を計算する。このように、再帰ニューラルネットワークは再帰的に状態及び出力を計算する。
[第1の実施形態の構成]
図1を用いて、第1の実施形態に係る検査装置の構成について説明する。図1は、第1の実施形態に係る検査装置の構成例を示す図である。図1に示すように、検査装置10は、入出力部11、記憶部12及び制御部13を有する。
図1を用いて、第1の実施形態に係る検査装置の構成について説明する。図1は、第1の実施形態に係る検査装置の構成例を示す図である。図1に示すように、検査装置10は、入出力部11、記憶部12及び制御部13を有する。
入出力部11は、データの入出力を行うためのインタフェースである。例えば、入出力部11は、ネットワークを介して他の装置との間でデータ通信を行うNIC(Network Interface Card)等の通信インタフェースであってもよい。また、入出力部11は、マウスやキーボード等の入力装置、及びディスプレイ等の出力装置を含んでいてもよい。
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、検査装置10で実行されるOS(Operating System)や各種プログラムを記憶する。また、記憶部12は、モデル情報121を記憶する。
モデル情報121は、再帰ニューラルネットワークを構築するための情報である。例えば、モデル情報121は、再帰ニューラルネットワークの各ノードの重みやバイアス等のパラメータであってもよい。
制御部13は、検査装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、計算部131、判定部132及び生成部133を有する。
計算部131は、仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する。例えば、計算部131は、仕様を満たす再帰ニューラルネットワークの状態全体の否定の意味集合を計算する。
その際、計算部131は、仕様を全称様相μ計算式とおいて意味集合を計算する。全称様相μ計算式とは、様相論理において必然を意味する演算子である□のみを含む様相μ計算式である。これにより、仕様の反例が存在するならただ1つであることが保証される。
仕様を満たす再帰ニューラルネットワークの状態全体の否定の意味集合は、仕様を満たさない再帰ニューラルネットワークの状態の意味集合ということができる。つまり、計算部131は、意味集合[[¬φ]]を計算する。なお、φは、仕様としての全称様相μ計算式である。また、[[]]は、二重角かっこであるものとする。
さらに、計算部131は、制約zonotopeにより、再帰ニューラルネットワークの計算過程における入力値、出力値、及び状態を集合として計算する。計算部131は、意味集合を制約zonotopeにより表現し操作する。これにより、計算部131は、再帰ニューラルネットワークの計算過程を、抽象的に解釈した結果として計算することができる。
制約zonotopeは、凸超多面体と線形方程式の解集合の共通部分として定義される。凸超多面体は、二次元空間における多角形や三次元空間における多面体を、高次元空間に一般化したものである。
計算部131は、制約zonotopeが、加法、線形写像、共通部分、有界で単調な関数の作用、線形方程式の解集合を求める操作について閉じていることを利用する。ただし、計算部131は、複数の制約zonotopeを保持することにより和集合を表現する。
判定部132は、集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、検査対象の再帰ニューラルネットワークが仕様を満たすか否かを判定する。例えば、判定部132は、意味集合に初期状態が含まれない場合、検査対象のニューラルネットワークが仕様を満たすと判定し、意味集合に初期状態が含まれる場合、検査対象のニューラルネットワークが仕様を満たさないと判定する。前述の通り、意味集合[[¬φ]]は仕様の否定であるため、再帰ニューラルネットワークの初期状態がこの意味集合に含まれないということは、当該再帰ニューラルネットワークは仕様を満たしているということができる。
生成部133は、判定部132によって検査対象の再帰ニューラルネットワークが仕様を満たさないと判定された場合、検査対象の再帰ニューラルネットワークに対するバックプロパゲーションにより、仕様を満たさないと判定されるような入力列を生成する。例えば、生成部133は、仕様を満たさないと判定された場合は、意味集合を計算する過程を用いて、各時刻の状態がその過程の各段階に含まれるように、入力列をバックプロパゲーションにより求めることにより、反例を生成することができる。
計算部131による意味集合の計算過程には、不動点計算が含まれるものとする。ここで、生成部133は、まず、(1)式で表される不動点計算による意味集合の計算過程利用して、各時刻tの状態が、(2)式の状態に含まれるように損失関数を設計する。例えば、計算部131は、集合からの距離に関するhinge関数(絶対値関数)を損失関数として利用する。
前述の通り、意味集合[[¬φ]]は仕様の否定であるため、入力列に対応する各状態がこの意味集合に含まれていれば、当該入力列は仕様を満たさない入力列、すなわち反例となる。
図3は、第1の実施形態に係る検査方法の概要を示す図である。図3のモデル検査手法は、計算部131、判定部132及び生成部133による計算及び判定手法である。図3に示すように、モデル検査手法には、機械学習モデルが入力される。機械学習モデルは、非線形なものであってもよい。本実施形態では、再帰ニューラルネットワークが入力される。
次に、モデル検査手法は、機械学習モデルが仕様を満たすか否かを判定する。仕様は、全称様相μ計算式で表される。例えば、全称様相μ計算式は、「仕様は、φならばいつかかならずψが成り立つことを意味する」ことを表す。また、仕様を満たさない場合、モデル検査手法は、反例としての入力と状態遷移の列を生成し出力する。
図4は、各値を集合で表した場合の再帰ニューラルネットワークの動作を説明する説明図である。本実施形態では、再帰ニューラルネットワークの状態、入力値及び出力値は、所定の平面における範囲として表される。つまり、計算部131は、計算過程の近似により、状態、入力値及び出力値の取り得る値を集合として追跡することができる。また、再帰ニューラルネットワークは、関数f及びgによって表される。
例えば、再帰ニューラルネットワークは、まず、初期状態h0及び入力範囲X1から、時刻t=1の状態範囲H1=f(h0,X1)を計算する。さらに、再帰ニューラルネットワークは、状態範囲H1及び入力範囲X1から、時刻t=1の出力範囲O1=f(H1,X1)を計算する。さらに、再帰ニューラルネットワークは、状態範囲H1及び入力範囲X2から、時刻t=2の状態範囲H2=f(H1,X2)を計算する。さらに、再帰ニューラルネットワークは、状態範囲H2及び入力範囲X2から、時刻t=2の出力範囲O2=f(H2,X2)を計算する。このように、再帰ニューラルネットワークは再帰的に状態及び出力を計算する。
[第1の実施形態の処理]
図5を用いて、検査装置10の処理の流れを説明する。図5は、第1の実施形態に係る検査装置の処理の流れを示すフローチャートである。まず、検査装置10は、仕様を満たさない再帰ニューラルネットワークの状態全体の意味集合を計算する(ステップS11)。これは、例えば、検査装置10が仕様を満たすニューラルネットワークの状態全体の否定の意味集合を計算することを意味する。
図5を用いて、検査装置10の処理の流れを説明する。図5は、第1の実施形態に係る検査装置の処理の流れを示すフローチャートである。まず、検査装置10は、仕様を満たさない再帰ニューラルネットワークの状態全体の意味集合を計算する(ステップS11)。これは、例えば、検査装置10が仕様を満たすニューラルネットワークの状態全体の否定の意味集合を計算することを意味する。
ここで、検査装置10は、計算した意味集合が検査対象のニューラルネットワークの初期状態を含むか否かを判定する(ステップS12)。検査装置10は、意味集合が初期状態を含まない場合(ステップS12、No)、検査対象のニューラルネットワークは仕様を満たすと判定する(ステップS13)。
一方、検査装置10は、意味集合が初期状態を含む場合(ステップS12、Yes)、検査対象のニューラルネットワークは仕様を満たさないと判定する(ステップS14)。さらに、検査装置10は、仕様を満たさないと判定した場合、反例となる入力列を生成する(ステップS15)。
図6を用いて、検査装置10の計算部131が意味集合を計算する処理(図5のステップS11)の流れを説明する。図6は、意味集合を計算する処理の流れを示すフローチャートである。ここで、検査対象のニューラルネットワークを(f,g)とする。仕様は、様相μ計算式φによって表される。また、不動点計算回数の最大値を示すパラメータをTとする。また、例えば[[φ]]は、φの意味集合を表すものとする。ψ、ψ1及びψ2は、任意の様相μ計算式である。また、◇は様相論理において可能を意味する演算子である。
まず、φ=pである場合(ステップS101、Yes)、すなわちφが原子命題である場合、計算部131は、原子命題pを満たす状態全体の集合V(p)を返す(ステップS201)。
φ=pでなく(ステップS101、No)、φ=ψ1∨ψ2である場合(ステップS102、Yes)、計算部131は、[[ψ1]]及び[[ψ2]]を計算し(ステップS202)、[[ψ1]]∪[[ψ2]]を返す(ステップS203)。
φ=ψ1∨ψ2でなく(ステップS102、No)、φ=ψ1∧ψ2である場合(ステップS103、Yes)、計算部131は、[[ψ1]]及び[[ψ2]]を計算し(ステップS204)、[[ψ1]]∩[[ψ2]]を返す(ステップS205)。
φ=ψ1∧ψ2でなく(ステップS103、No)、φ=◇ψである場合(ステップS104、Yes)、計算部131は、[[ψ]]を計算し(ステップS206)、[[ψ]]のfによる逆像を返す(ステップS207)。
φ=◇ψでなく(ステップS104、No)、φ=x、すなわちφが変数である場合(ステップS105、Yes)、計算部131は、xが保持する意味集合B(x)を返す(ステップS208)。
φ=xでなく(ステップS105、No)、φ=μx.ψ(x)である場合(ステップS106、Yes)、計算部131は、ψ(x)の最小不動点μx.ψ(x)を返す(ステップS209)。このとき、繰り返し回数の最大はTである。
φ=μx.ψ(x)でなく(ステップS106、No)、φ=νx.ψ(x)である場合(ステップS107、Yes)、計算部131は、ψ(x)の最大不動点νx.ψ(x)を返す(ステップS210)。このとき、繰り返し回数の最大はTである。
ここで、φ=μx.p∨◇xを例に、計算部131の処理の流れを説明する。pは原子命題である。φ=μx.p∨◇xは、ある再帰ニューラルネットワークに対する入力列が存在して、将来のある時刻の状態でpが成り立つことを意味する。
計算部131は以下の処理を行う。ただし、再帰呼び出しとは、図6のフローを再帰的にS101から実行することである。
(1)まず、φ=μx.ψ(x)とかけるので、計算部131は、ステップS106からステップS209へ進み、ψ(x)=p∨◇xの最小不動点を計算するため、B(x)を空集合に初期化し、再帰呼び出し:
(1-1)φ=ψ1∨ψ2とかけるので、ψ1=p,ψ2=◇xとしてそれぞれ再帰呼び出し:
(1-1-1)pは原始命題なので、ステップS101からS201へ進み、V(p)を返す
(1-1-2)φ=◇ψとかけるので、ψ=xとして再帰呼び出し:
(1-1-2-1)xは変数なので、ステップS105からS208へ進み、B(x)を返す
(1-1-3)B(x)のfによる逆像を返す
(1-2)(1-1-1)で返された結果と(1-1-3)で返された結果の和集合を返す
(2)(1-2)で返された結果をxに代入(つまり、B(x)の値とする)して、(1)を最大最T回繰り返す。
(1)まず、φ=μx.ψ(x)とかけるので、計算部131は、ステップS106からステップS209へ進み、ψ(x)=p∨◇xの最小不動点を計算するため、B(x)を空集合に初期化し、再帰呼び出し:
(1-1)φ=ψ1∨ψ2とかけるので、ψ1=p,ψ2=◇xとしてそれぞれ再帰呼び出し:
(1-1-1)pは原始命題なので、ステップS101からS201へ進み、V(p)を返す
(1-1-2)φ=◇ψとかけるので、ψ=xとして再帰呼び出し:
(1-1-2-1)xは変数なので、ステップS105からS208へ進み、B(x)を返す
(1-1-3)B(x)のfによる逆像を返す
(1-2)(1-1-1)で返された結果と(1-1-3)で返された結果の和集合を返す
(2)(1-2)で返された結果をxに代入(つまり、B(x)の値とする)して、(1)を最大最T回繰り返す。
ただし、ステップS209において、B(x)は空集合と初期化する。また、ステップS210において、B(x)は、制約zonotopeで表現される再帰ニューラルネットワークが取り得る状態全体の集合と初期化する。
[第1の実施形態の効果]
これまで説明してきたように、計算部131は、仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する。判定部132は、集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、検査対象の再帰ニューラルネットワークが仕様を満たすか否かを判定する。このように、検査装置10は、集合の性質を利用して再帰ニューラルネットワークが仕様を満たしているか否かを検査することができる。このため、本実施形態によれば、非線形関数である再帰ニューラルネットワークにより制御されるシステムの挙動を検査することができる。さらに、本実施形態によれば、特定の性質を満たし得る一定の期間と満たしてはいけない一定の期間が交互に切り替わるような仕様についても検査を行うことができる。
これまで説明してきたように、計算部131は、仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する。判定部132は、集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、検査対象の再帰ニューラルネットワークが仕様を満たすか否かを判定する。このように、検査装置10は、集合の性質を利用して再帰ニューラルネットワークが仕様を満たしているか否かを検査することができる。このため、本実施形態によれば、非線形関数である再帰ニューラルネットワークにより制御されるシステムの挙動を検査することができる。さらに、本実施形態によれば、特定の性質を満たし得る一定の期間と満たしてはいけない一定の期間が交互に切り替わるような仕様についても検査を行うことができる。
さらに、本実施形態によれば、再帰ニューラルネットワークにより制御されるロボットアームや自動運転車が、危害を加えるような望ましくない動作を行わないことを、事前に保証することが期待できる。また、本実施形態は、訓練済みの再帰ニューラルネットワークに対しても適用できるため、既に運用されているシステムに対する安全性も検証できる。
計算部131は、仕様を満たす再帰ニューラルネットワークの状態全体の否定の意味集合を計算する。判定部132は、意味集合に初期状態が含まれない場合、検査対象のニューラルネットワークが仕様を満たすと判定し、意味集合に初期状態が含まれる場合、検査対象のニューラルネットワークが仕様を満たさないと判定する。このように、本実施形態の検査装置10は、意味集合の性質を利用して、再帰ニューラルネットワークが仕様を満たしているか否かを容易に検査することができる。
計算部131は、仕様を全称様相μ計算式とおいて意味集合を計算する。これにより、仕様の反例が存在するならただ1つであることが保証される。
計算部131は、制約zonotopeにより、再帰ニューラルネットワークの計算過程における入力値、出力値、及び状態を集合として計算する。また、前述の通り、制約zonotopeは線形方程式の解集合を求める操作について閉じている。このため、計算部131は、意味集合を計算するときに必要な再帰ニューラルネットワークの逆像を、逆行列を解くことなく効率良く行うことができる。なお、逆像は、再帰ニューラルネットワークの計算過程の逆算を意味する。
生成部133は、判定部132によって検査対象の再帰ニューラルネットワークが仕様を満たさないと判定された場合、検査対象の再帰ニューラルネットワークに対するバックプロパゲーションにより、仕様を満たすと判定されるような入力列を生成する。これにより、再帰ニューラルネットワークが仕様を満たさない場合、反例を導出できるため、例えばシステムの脆弱性に対する具体的な攻撃例を導出することができる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
1つの実施形態として、検査装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検査処理を実行する検査プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検査プログラムを情報処理装置に実行させることにより、情報処理装置を検査装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
1つの実施形態として、検査装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検査処理を実行する検査プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検査プログラムを情報処理装置に実行させることにより、情報処理装置を検査装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、検査装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検査処理に関するサービスを提供する検査サーバ装置として実装することもできる。例えば、検査サーバ装置は、再帰ニューラルネットワークを入力とし、判定結果又は反例を出力とする検査サービスを提供するサーバ装置として実装される。この場合、検査サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の検査処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図7は、検査プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(BASIC Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検査装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、検査装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 検査装置
11 入出力部
12 記憶部
13 制御部
121 モデル情報
131 計算部
132 判定部
133 生成部
11 入出力部
12 記憶部
13 制御部
121 モデル情報
131 計算部
132 判定部
133 生成部
Claims (7)
- 仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する計算部と、
前記集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、前記検査対象の再帰ニューラルネットワークが前記仕様を満たすか否かを判定する判定部と、
を有することを特徴とする検査装置。 - 前記計算部は、前記仕様を満たす再帰ニューラルネットワークの状態全体の否定の意味集合を計算し、
前記判定部は、前記意味集合に前記初期状態が含まれない場合、前記検査対象のニューラルネットワークが前記仕様を満たすと判定し、前記意味集合に初期状態が含まれる場合、前記検査対象のニューラルネットワークが前記仕様を満たさないと判定することを特徴とする請求項1に記載の検査装置。 - 前記計算部は、前記仕様を全称様相μ計算式とおいて前記意味集合を計算することを特徴とする請求項2に記載の検査装置。
- 前記計算部は、制約zonotopeにより、再帰ニューラルネットワークの計算過程における入力値、出力値、及び状態を集合として計算することを特徴とする請求項1に記載の検査装置。
- 前記判定部によって前記検査対象の再帰ニューラルネットワークが前記仕様を満たさないと判定された場合、前記検査対象の再帰ニューラルネットワークに対するバックプロパゲーションにより、前記仕様を満たすと判定されるような入力列を生成する生成部をさらに有することを特徴とする請求項1に記載の検査装置。
- 検査装置によって実行される検査方法であって、
仕様を満たす再帰ニューラルネットワークの状態全体に関する集合を計算する計算工程と、
前記集合及び検査対象の再帰ニューラルネットワークの初期状態を基に、前記検査対象の再帰ニューラルネットワークが前記仕様を満たすか否かを判定する判定工程と、
を含むことを特徴とする検査方法。 - コンピュータを、請求項1から5のいずれか1項に記載の検査装置として機能させるための検査プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/048490 WO2021117162A1 (ja) | 2019-12-11 | 2019-12-11 | 検査装置、検査方法及び検査プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021117162A1 JPWO2021117162A1 (ja) | 2021-06-17 |
JP7310921B2 true JP7310921B2 (ja) | 2023-07-19 |
Family
ID=76330010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021563513A Active JP7310921B2 (ja) | 2019-12-11 | 2019-12-11 | 検査装置、検査方法及び検査プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230016772A1 (ja) |
JP (1) | JP7310921B2 (ja) |
WO (1) | WO2021117162A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922314B1 (en) * | 2018-11-30 | 2024-03-05 | Ansys, Inc. | Systems and methods for building dynamic reduced order physical models |
US20220085570A1 (en) * | 2020-09-16 | 2022-03-17 | Julia Isaac | Neural network correction for laser current driver |
-
2019
- 2019-12-11 WO PCT/JP2019/048490 patent/WO2021117162A1/ja active Application Filing
- 2019-12-11 JP JP2021563513A patent/JP7310921B2/ja active Active
- 2019-12-11 US US17/783,608 patent/US20230016772A1/en active Pending
Non-Patent Citations (4)
Title |
---|
中根 清光,線形時相論理の為の効率的記号モデル検査方式,情報処理学会研究報告,日本,社団法人情報処理学会 Information Processing Society of Japan,1993年10月28日,第93巻,第94号,pp.155-162 |
玉井 哲雄,第12章 検証技術 12.3 仕様の検証技術,ソフトウエア工学の基礎,オンデマンド版,株式会社岩波書店 岡本 厚,2004年03月19日,pp.220-227 |
田崎 勇一 ほか,制御理論-過去・現在・そして未来,計測と制御 ,日本,公益社団法人計測自動制御学会,2013年04月10日,第52巻,第4号,pp.329-335 |
藤倉 俊幸,組み込みソフトへの数理的アプローチ 第6回 時相論理の導入:CTLとLTL,Interface,日本,CQ出版株式会社,2007年04月01日,第33巻,第4号,pp.160-165 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021117162A1 (ja) | 2021-06-17 |
WO2021117162A1 (ja) | 2021-06-17 |
US20230016772A1 (en) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kleijnen | Design and analysis of simulation experiments | |
Mannarino et al. | Nonlinear aeroelastic reduced order modeling by recurrent neural networks | |
Zhu et al. | Computational aspects of stochastic collocation with multifidelity models | |
TW201928754A (zh) | 基於圖結構模型的異常帳號防控方法、裝置以及設備 | |
US20240020582A1 (en) | Parameter data sharing for multi-learner training of machine learning applications | |
US11182361B2 (en) | Iterative widening search for designing chemical compounds | |
US20230196153A1 (en) | DAG-Based CSP Quantum Circuit Modeling | |
US9959248B1 (en) | Iterative simple linear regression coefficient calculation for big data using components | |
JP7310921B2 (ja) | 検査装置、検査方法及び検査プログラム | |
US11915121B2 (en) | Simulator-assisted training for interpretable generative models | |
US11226889B2 (en) | Regression prediction in software development | |
Chkrebtii et al. | Bayesian uncertainty quantification for differential equations | |
Barros de Moraes et al. | An integrated sensitivity‐uncertainty quantification framework for stochastic phase‐field modeling of material damage | |
Zhu et al. | Fluid approximation of closed queueing networks with discriminatory processor sharing | |
Mavromatis et al. | A Wiener path integral formalism for treating nonlinear systems with non-Markovian response processes | |
Bazille et al. | Global PAC bounds for learning discrete time Markov chains | |
Heiland et al. | Convolutional neural networks for very low-dimensional LPV approximations of incompressible Navier-Stokes equations | |
US9678853B2 (en) | Lifting of bounded liveness counterexamples to concrete liveness counterexamples | |
US11263172B1 (en) | Modifying a particular physical system according to future operational states | |
Zhang et al. | Energy-dissipative evolutionary deep operator neural networks | |
O’Connor et al. | Quantifying uncertainties in direct numerical simulations of a turbulent channel flow | |
US20160364519A1 (en) | Timing analysis of circuits using sub-circuit timing models | |
US9959382B2 (en) | Adaptive characterization and instantiation of timing abstracts | |
Liu et al. | A sequential Latin hypercube sampling method for metamodeling | |
US11644816B2 (en) | Early experiment stopping for batch Bayesian optimization in industrial processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220406 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7310921 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |