(57)【要約】  コンピュータシステムのコントローラの動作を改善する信用されるモデルを生成するために機械学習を使用する方法およびシステムが、本明細書において提供される。一部の実施形態において、機械学習の方法は、入力データを使用してモデルを訓練するステップと、モデルを抽出するステップと、モデルが信用に関連する制約を満たすかどうかを判定するステップとを含む。モデルが信用に関連する制約を満たさない場合、1つもしくは複数のモデル修復アルゴリズムを使用するモデル、1つもしくは複数のデータ修復アルゴリズムを使用する入力データ、または1つもしくは複数の報酬修復アルゴリズムを使用するモデルの報酬関数のうちの少なくとも1つを修正し、修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用してモデルを再訓練するステップ。モデルが信用に関連する制約を満たす場合、コンピュータシステムのコントローラが所定の確証の中でシステムの行動を実行することを可能にする信用されるモデルとしてモデルを提供するステップ。
2019526107.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムのコントローラの動作を改善する信用されるモデルを生成するために機械学習を使用する方法であって、
(a)前記コンピュータシステムのコントローラによって実行される可能性がある少なくとも1つのシステムの行動に関連する少なくとも1つの信用に関連する制約を決定するステップと、
(b)入力データの初期集合を使用して前記コンピュータシステムのコントローラのモデルを訓練するステップと、
(c)前記モデルを抽出するステップと、
(d)前記モデルが前記少なくとも1つの信用に関連する制約を満たすかどうかを判定するステップと、
(e)前記モデルが前記少なくとも1つの信用に関連する制約を満たさないと判定されるときに、
(1)1つもしくは複数のモデル修復アルゴリズムを使用する前記モデル、
1つもしくは複数のデータ修復アルゴリズムを使用する前記入力データ、または
1つもしくは複数の報酬修復アルゴリズムを使用する前記モデルの報酬関数のうちの少なくとも1つを修正し、
(2)修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用して前記モデルを再訓練するステップと、
(f)前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定されるときに、前記コンピュータシステムのコントローラが所定の確証の中で前記少なくとも1つのシステムの行動を実行することを可能にすることによって前記コンピュータシステムのコントローラの前記動作を改善する信用されるモデルとして前記モデルを提供するステップとを含む、方法。
【請求項２】
前記少なくとも1つの信用に関連する制約が、時相論理の制約である、請求項1に記載の機械学習の方法。
【請求項３】
前記モデルが、最初に、最尤逆強化学習法、教師あり学習、または教師なし学習のうちの1つを使用して訓練される、請求項1に記載の機械学習の方法。
【請求項４】
前記モデルが、複数の状態および状態の間の遷移を含み、前記1つまたは複数のモデル修復アルゴリズムが、状態を分割すること、有限状態制御のサイズを増やすこと、遷移を追加することもしくは削除すること、またはある状態から別の状態への遷移の確率を変えることのうちの少なくとも1つを含む、請求項1に記載の機械学習の方法。
【請求項５】
前記1つまたは複数のモデル修復アルゴリズムが、前記少なくとも1つの信用に関連する制約を満たしながら目的関数を最小化する修正されたモデルを生成する、請求項1に記載の機械学習の方法。
【請求項６】
前記モデル修復アルゴリズムが、少なくともパラメトリックモデルチェッカーおよび非線形オプティマイザーからなる、請求項1に記載の機械学習の方法。
【請求項７】
前記モデルが前記少なくとも1つの信用に関連する制約を満たすかどうかを判定するステップが、
前記モデルが前記少なくとも1つの信用に関連する制約をどれだけしっかり満たすかを示す前記モデルの信用スコアを決定することを含み、
前記信用スコアが予め定義された信用の閾値を超えているときに、前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定され、
前記信用スコアが予め定義された信用の閾値未満であるときに、前記モデルが前記少なくとも1つの信用に関連する制約を満たさないと判定される、請求項1に記載の機械学習の方法。
【請求項８】
再訓練されたモデルの前記信用スコアを決定するステップと、
前記再訓練されたモデルの前記信用スコアが予め定義された信用の閾値未満である場合に、
(A)さらなる修正が不可能であり、前記モデルが信用されないという通知を前記コンピュータシステムのコントローラに送信するステップ、または
(B)前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定されるまでステップ(c)〜(e)を繰り返すステップのうちの少なくとも一方のステップと、
前記再訓練されたモデルの前記信用スコアが予め定義された信用の閾値を超えている場合、前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定するステップとをさらに含む、請求項7に記載の機械学習の方法。
【請求項９】
前記1つまたは複数のデータ修復アルゴリズムが、データを追加すること、データを削除すること、データをフィルタリングすること、データを調整すること、データの特徴を追加すること、またはデータの特徴を削除することのうちの少なくとも1つを含む、請求項1に記載の機械学習の方法。
【請求項１０】
前記1つまたは複数のデータ修復アルゴリズムが、前記少なくとも1つの信用に関連する制約を満たしながら目的関数を最小化する、請求項1に記載の機械学習の方法。
【請求項１１】
前記1つまたは複数のデータ修復アルゴリズムを使用する前記入力データを修正するステップが、ノイズがあるか、エラーを含むと判定されるデータ点を削除することと、信頼できるデータ点を残すこととを含む、請求項10に記載の機械学習の方法。
【請求項１２】
前記1つまたは複数の報酬修復アルゴリズムが、前記少なくとも1つの信用に関連する制約が満たされる部分空間に報酬関数を射影することによって前記報酬関数を修正することを含む、請求項1に記載の機械学習の方法。
【請求項１３】
前記モデルが、確率モデルであり、前記確率モデルが、離散時間マルコフ連鎖(DTMC)またはマルコフ決定過程(MDP)のうちの1つである、請求項1に記載の機械学習の方法。
【請求項１４】
前記信用に関連する制約が、ユーザインターフェースを介して受信される、請求項1に記載の機械学習の方法。
【請求項１５】
前記ユーザインターフェースが、自然言語の仕様を論理式に変換するように構成される、請求項14に記載の機械学習の方法。
【請求項１６】
コンピュータシステムのコントローラの動作を改善する信用されるモデルを生成するための機械学習システムであって、
少なくとも1つの信用に関連する制約を受信するように構成されたユーザインターフェースと、
入力データおよび機械学習アルゴリズムを使用してモデルを訓練するように構成されたモデル訓練モジュールと、
前記モデルが前記少なくとも1つの信用に関連する制約を満たすかどうかを判定するように構成されたモデル検査モジュールと、
修復モジュールであって、
(a)1つもしくは複数のモデル修復アルゴリズムを使用して前記モデルを修正するモデル修復モジュール、
(b)1つもしくは複数のデータ修復アルゴリズムを使用して前記入力データを修正するデータ修復モジュール、または
(c)1つもしくは複数の報酬修復アルゴリズムを使用して前記モデルの報酬関数を修正する報酬修復モジュールのうちの少なくとも1つを含む、修復モジュールとを含み、
前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定されるときに、前記コンピュータシステムのコントローラが所定の確証の中で少なくとも1つのシステムの行動を実行することを可能にすることによって前記コンピュータシステムのコントローラの前記動作を改善する信用されるモデルとして前記訓練されたモデルを前記コンピュータシステムのコントローラに提供するように構成される、機械学習システム。
【請求項１７】
前記モデル修復アルゴリズムが、少なくともパラメトリックモデルチェッカーおよび非線形オプティマイザーからなる、請求項16に記載の機械学習システム。
【請求項１８】
前記モデルが、確率モデルであり、前記確率モデルが、離散時間マルコフ連鎖(DTMC)またはマルコフ決定過程(MDP)のうちの1つである、請求項16に記載の機械学習システム。
【請求項１９】
前記ユーザインターフェースが、自然言語の仕様を論理式に変換するように構成される、請求項16に記載の機械学習システム。
【請求項２０】
少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、コンピュータシステムのコントローラの動作を改善する信用されるモデルを生成するために機械学習を使用する方法を実行させるコンピュータ命令を記憶する非一時的コンピュータ可読媒体であって、前記方法が、
(a)前記コンピュータシステムのコントローラによって実行される可能性がある少なくとも1つのシステムの行動に関連する少なくとも1つの信用に関連する制約を決定するステップと、
(b)入力データの初期集合を使用して前記コンピュータシステムのコントローラのモデルを訓練するステップと、
(c)前記モデルを抽出するステップと、
(d)前記モデルが前記少なくとも1つの信用に関連する制約を満たすかどうかを判定するステップと、
(e)前記モデルが前記少なくとも1つの信用に関連する制約を満たさないと判定されるときに、
(1)1つもしくは複数のモデル修復アルゴリズムを使用する前記モデル、
1つもしくは複数のデータ修復アルゴリズムを使用する前記入力データ、または
1つもしくは複数の報酬修復アルゴリズムを使用する前記モデルの報酬関数のうちの少なくとも1つを修正し、
(2)修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用して前記モデルを再訓練するステップと、
(f)前記モデルが前記少なくとも1つの信用に関連する制約を満たすと判定されるときに、前記コンピュータシステムのコントローラが所定の確証の中で前記少なくとも1つのシステムの行動を実行することを可能にすることによって前記コンピュータシステムのコントローラの前記動作を改善する信用されるモデルとして前記モデルを提供するステップとを含む、非一時的コンピュータ可読媒体。
【請求項２１】
自律的な車両コントローラの動作を改善する信用されるモデルを生成するために機械学習を使用するための方法であって、
前記自律的な車両コントローラが行動を実行することができる前に満たされなければならない時間的な運転の制約を受信するステップ、
入力データの初期集合を使用して前記自律的な車両コントローラの確率モデルを訓練するステップ、
前記確率モデルが前記時間的な運転の制約を満たすかどうかを判定するステップ、
前記確率モデルが前記時間的な運転の制約を満たすと判定されるときに、前記自律的な車両コントローラによる使用のために前記モデルを提供するステップ、
前記確率モデルが前記時間的な運転の制約を満たさないと判定されるときに、
(1)1つもしくは複数のモデル修復アルゴリズムを使用する前記モデル、
1つもしくは複数のデータ修復アルゴリズムを使用する前記入力データ、または
1つもしくは複数の報酬修復アルゴリズムを使用する前記モデルの報酬関数のうちの少なくとも1つを修正し、
(2)修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用して前記モデルを再訓練し、
(3)再訓練されたモデルが前記時間的な運転の制約を満たすと判定されると、前記自律的な車両コントローラが所定の確証の中で前記少なくとも1つのシステムの行動を実行することを可能にすることによって前記自律的な車両コントローラの前記動作を改善する信用されるモデルとして前記モデルを前記自律的な車両コントローラに提供するステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信用されるモデルを使用する機械学習のためのシステムおよび方法に関する。
【背景技術】
【０００２】
機械学習(ML)においては、コンピュータが、意味のあるパターンなどのデータの潜在的に興味深い特徴を特定することができる数学的アルゴリズムを実行するようにプログラミングされる。機械学習システムは、極めて有用である、多くの現実の状況において展開されている。しかし、典型的な機械学習システムは複雑であり、特定の状況においてはときに不合理な出力を有する可能性がある。たとえば、データに基づく画像認識アルゴリズムは、まったく関係のない画像を誤って認識することがある。そのような不合理なまたは誤った出力は、機械学習アルゴリズムが命に関わるまたはミッションクリティカルなアプリケーション(たとえば、自動運転車、サイバーセキュリティ、外科手術ロボティクス(surgical robotics)など)に使用されるときにはより一層問題になる。
【０００３】
複雑な学習システムに確実性を与える1つの手法は、潜在的な違反を動的に調べ、その挙動を正すバウンディングエンベロープ(bounding envelope)またはラッパーを提供することである。そのような手法は、概して、実行時のコストが高く、以前は存在しなかった遅延またはヒステリシス(hysteresis)をもたらす可能性があり、良くても必要以上の安全マージンをもたらす可能性がある。悪くすると、複雑なコントローラに対する何ら有用な限界も存在しない可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、機械学習アルゴリズムが命に関わるおよびミッションクリティカルなアプリケーションを含むがこれらに限定されない様々なアプリケーションに何らかの高レベルの正しさの確証を与えることを保証するための改善されたモデル訓練システムおよび方法のニーズが存在する。発明者らは、本明細書において、信用されるまたは信頼できると証明されたモデルによって動作の特定の確証を提供する機械学習を使用してコンピュータシステムの動作の信頼性を改善するための機械学習の方法およびシステムを提供した。
【課題を解決するための手段】
【０００５】
信用されるモデルによって動作の特定の確証を提供する機械学習を使用してコンピュータシステムの動作の信頼性を改善するための機械学習の方法およびシステムが、本明細書において提供される。一部の実施形態において、機械学習を使用してコンピュータシステムのコントローラの動作を改善するための方法およびシステムが、本明細書において提供される。一部の実施形態において、機械学習の方法は、コンピュータシステムのコントローラによって実行される可能性がある少なくとも1つのシステムの行動に関連する少なくとも1つの信用に関連する制約を決定するステップと、入力データの初期集合を使用してコンピュータシステムのコントローラのモデルを訓練するステップと、モデルを抽出するステップと、モデルが少なくとも1つの信用に関連する制約を満たすかどうかを判定するステップと、モデルが少なくとも1つの信用に関連する制約を満たさないと判定されるときに、1つもしくは複数のモデル修復アルゴリズムを使用するモデル、1つもしくは複数のデータ修復アルゴリズムを使用する入力データ、または1つもしくは複数の報酬修復アルゴリズムを使用するモデルの報酬関数のうちの少なくとも1つを修正し、修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用してモデルを再訓練するステップと、モデルが少なくとも1つの信用に関連する制約を満たすと判定されるときに、コンピュータシステムのコントローラが所定の確証の中で少なくとも1つのシステムの行動を実行することを可能にすることによってコンピュータシステムのコントローラの動作を改善する信用されるモデルとしてモデルを提供するステップとを含む。
【０００６】
一部の実施形態において、モデルから抽出された出力データが少なくとも1つの信用に関連する制約を満たすかどうかを判定するステップは、モデルが少なくとも1つの信用に関連する制約をどれだけしっかり満たすかを示すモデルの信用スコアを決定することを含み、信用スコアが予め定義された信用の閾値を超えているときに、モデルは、少なくとも1つの信用に関連する制約を満たすと判定され、信用スコアが予め定義された信用の閾値未満であるときに、モデルは、少なくとも1つの信用に関連する制約を満たさないと判定される。加えて、一部の実施形態においては、再訓練されたモデルの信用スコアが決定される。再訓練されたモデルの信用スコアが予め定義された信用の閾値未満である場合に、(A)さらなる修正が不可能であり、モデルが信用されないという通知をコンピュータシステムのコントローラに送信するステップ、または(B)モデルが少なくとも1つの信用に関連する制約を満たすと判定されるまでステップ(c)〜(e)を繰り返すステップのうちの少なくとも一方のステップ。再訓練されたモデルの信用スコアが予め定義された信用の閾値を超えている場合、モデルが少なくとも1つの信用に関連する制約を満たすと判定するステップ。
【０００７】
その他の実施形態においては、コンピュータシステムのコントローラの動作を改善する信用されるモデルを生成するための機械学習システムが、少なくとも1つの信用に関連する制約を受信するように構成されたユーザインターフェースと、入力データおよび機械学習アルゴリズムを使用してモデルを訓練するように構成されたモデル訓練モジュールと、モデルが少なくとも1つの信用に関連する制約を満たすかどうかを判定するように構成されたモデル検査モジュールと、少なくとも1つの修復モジュールであって、(a)1つもしくは複数のモデル修復アルゴリズムを使用してモデルを修正するモデル修復モジュール、(b)1つもしくは複数のデータ修復アルゴリズムを使用して入力データを修正するデータ修復モジュール、および(c)1つもしくは複数の報酬修復アルゴリズムを使用してモデルの報酬関数を修正する報酬修復モジュールを含む、修復モジュールとを含み、機械学習システムは、モデルが少なくとも1つの信用に関連する制約を満たすと判定されるときに、コンピュータシステムのコントローラが所定の確証の中で少なくとも1つのシステムの行動を実行することを可能にすることによってコンピュータシステムのコントローラの動作を改善する信用されるモデルとして訓練されたモデルをコンピュータシステムのコントローラに提供するように構成される。
【０００８】
一部の実施形態においては、自律的な車両コントローラの動作を改善する信用されるモデルを生成するために機械学習を使用するための機械学習の方法が、自律的な車両コントローラが行動を実行することができる前に満たされなければならない時間的な運転の制約を受信するステップ、入力データの初期集合を使用して自律的な車両コントローラの確率モデルを訓練するステップ、確率モデルが時間的な運転の制約を満たすかどうかを判定するステップ、モデルが時間的な運転の制約を満たすと判定されるときに、自律的な車両コントローラによる使用のためにモデルを提供するステップ、モデルが時間的な運転の制約を満たさないと判定されるときに、(1)1つもしくは複数のモデル修復アルゴリズムを使用するモデル、1つもしくは複数のデータ修復アルゴリズムを使用する入力データ、または1つもしくは複数の報酬修復アルゴリズムを使用するモデルの報酬関数のうちの少なくとも1つを修正し、(2)修正されたモデル、修正された入力データ、または修正された報酬関数のうちの少なくとも1つを使用してモデルを再訓練し、(3)再訓練されたモデルが時間的な運転の制約を満たすと判定されると、自律的な車両コントローラが所定の確証の中で少なくとも1つのシステムの行動を実行することを可能にすることによって自律的な車両コントローラの動作を改善する信用されるモデルとしてモデルを自律的な車両コントローラに提供するステップを含む。
【０００９】
これらの原理によるその他のおよび別の実施形態が、下で説明される。
【００１０】
これらの原理の上述の特徴が詳細に理解され得るように、上で簡潔にまとめられた原理のより具体的な説明が、添付の図面に一部が図示される実施形態を参照することによってなされる可能性がある。しかし、添付の図面はこれらの原理による典型的な実施形態のみを示し、したがってこれらの原理の範囲を限定するとみなされるべきではなく、その理由は原理がその他の同様に有効な実施形態に通じる可能性があるからであることに留意されたい。
【図面の簡単な説明】
【００１１】
【図１Ａ】本開示の一部の実施形態による信用されるモデルを使用する機械学習システムのための構成要素を含むコンピューティングシステムの環境の簡略化されたモジュールの図である。
【図１Ｂ】本開示の一部の実施形態による信用されるモデルを使用する機械学習システムのための構成要素を含むコンピューティングシステムの環境の簡略化されたモジュールの図である。
【図１Ｃ】本開示の一部の実施形態による信用されるモデルを使用する機械学習システムのための構成要素を含むコンピューティングシステムの環境の簡略化されたモジュールの図である。
【図２Ａ】本開示の一部の実施形態による前を低速で走るトラックに直面させられたときに自律的な自動車コントローラの行動を決定する離散時間マルコフ連鎖(DTMC)を示す図である。
【図２Ｂ】本開示の一部の実施形態による図2AのDTMCの異なる状態およびラベルのセマンティクス(semantics)を示す図である。
【図２Ｃ】本開示の一部の実施形態による最大尤度を使用して訓練データから推定されたDTMCの遷移の重みを示す図である。
【図３Ａ】本開示の一部の実施形態によるモデルMへの修正を示す図である。
【図３Ｂ】本開示の一部の実施形態によるデータDへの修正を示す図である。
【図４】本開示の一部の実施形態によるワイヤレスセンサーネットワーク内の1つのノードに対応する状態および行動に関連する遷移を中心とするモデルの下位構成要素を示す図である。
【図５Ａ】本開示の一部の実施形態による機械学習の方法の簡略化された流れ図である。
【図５Ｂ】本開示のさらなる実施形態による機械学習の方法の簡略化された流れ図である。
【図６】1つまたは複数の実施形態によるコンピュータシステムの簡略化されたブロック図である。
【発明を実施するための形態】
【００１２】
理解を容易にするために、可能な場合、図に共通する同一の要素を指定するために同一の参照番号が使用された。図は、縮尺に従って描かれておらず、明瞭にするために簡略化される可能性がある。ある実施形態の要素および特徴が、さらなる言及がなくても、その他の実施形態に組み込まれることが有益である可能性があると考えられる。
【００１３】
本開示の実施形態は、信用されるモデルによって動作の特定の確証を提供する機械学習の使用によりコンピュータシステムの動作の信頼性を改善する。有利なことに、これは、機械学習アルゴリズムが命に関わるおよびミッションクリティカルなアプリケーションを含むがこれらに限定されない様々なアプリケーションに何らかの高レベルの正しさの確証を与えることを保証する。有利なことに、本明細書において開示される機械学習システムおよび方法は、自律的な車両またはロボットのコントローラなどのコンピュータシステムのコントローラに、たとえば、そのコントローラの動作を改善するために提供され得る信用されるモデルを生成する。システム(たとえば、自動車)全体の行動を決定するコントローラからの出力/パラメータは、システムの挙動の動作上の制約の特定の確証に入るように修正される。有利なことに、機械学習システムによってコントローラに提供される信用されるモデルは、コントローラをより信用できるようにし、それによって、システムをより信頼できるようにする。
【００１４】
本発明に合致する実施形態は、記号分析(symbolic analysis)(詳細には、パラメトリックモデル検査)を使用してシステムの動的モデルを学習する機械学習のシステムおよび方法を提供し、学習されたモデルは、時相論理(temporal logic)の性質(property)(たとえば、安全性、セキュリティ、活性(liveness)、またはモデルが満たさなければならない任意のその他の性質)の形態で指定された正しさの要件を満たす。学習されたモデルが所望の確証を満たさないとき、1つまたは複数の機械学習の手法、すなわち、(1)学習されたモデルが直接修正されるモデル修復、(2)修正されたデータからの再学習が信用されるモデルをもたらすようにデータが修正されるデータ修復、または(3)モデルが入力として与えられず、それどころかデータから学習される報酬関数を使用し、学習された/補正された報酬からの再学習が信用されるモデルをもたらす報酬修復がコンピュータシステムの動作の信頼性を改善するために使用される。
【００１５】
たとえば、予め定義された性質などの信用に関連する制約が、最初にモデルに与えられる(つまり、自動車は、道を外れて走行しないか、もしくはそれらの自動車が持続的な進行方向および速度で移動している場合にその他の自動車に衝突せず、またはロボットアームは、自律動作の実行のいかなるフェーズの間もいずれの人間のオペレータの5メートル以内に入るべきでない)。本明細書において使用されるとき、信用に関連する制約は、特定の確証のレベル、信頼性、または正しさを満たさなければならない任意の性質/特徴/パラメータである可能性がある。初期モデルが使用され、モデルのパラメータが、利用可能なデータを使用して学習される。一部の実施形態において、初期モデルは、不完全であるおよび/または誤りを有する可能性があり、初期の利用可能なデータは、雑音、誤り、または悪意のあるインジェクション(injection)を有する可能性がある。信用に関連する制約は、学習されたモデルのパラメータと比較される/照合される。信用に関連する制約が予め定義された閾値以内で(たとえば、特定の充足確率で)満たされ得ない場合、モデル、データ、および/または報酬の制約は、反復的に修復される/調整される。一部の実施形態においては、モデルが信用に関連する制約をどれだけしっかりと満たすかを示すモデルの信用スコアが決定される。一部の実施形態において、予め定義された閾値は、アプリケーションの種類および必要とされる安全性/信用度のレベルによって定義される可能性がある閾値の範囲に基づく可能性がある。たとえば、自動車に関する閾値の範囲、安全性の要因、および許容範囲は、航空機と異なる可能性がある。閾値の範囲および安全性の要因は、特定のアプリケーションに関する仕様/規制によって定義される可能性がある。たとえば、航空機産業に関しては、安全に直結するシステムに関して1時間当たりの障害の最大数を定義することに関連する規制がある。その他の実施形態においては、許容可能な閾値および閾値の範囲を決定するための費用便益分析が実行される。
【００１６】
モデルの調整は、状態を分割すること、有限状態制御のサイズを大きくすること、制御システム内の遷移を追加または削除することなどを含む可能性がある。データの調整は、外れ値を削除すること、物理的世界のモデルに基づいて(つまり、データの機械学習が有効であることを保証するために)フィルタリングすること、および悪意のあるインジェクションの診断を含む可能性がある。報酬の調整/修復は、報酬関数の修正、またはデータから学習された補正された報酬関数を使用することを含む可能性がある。機械学習のステップによるモデル修復、データ修復、および報酬修復を反復することによって、結果として得られるシステム/モデルが、そのシステム/モデルが終了するときに特定の仮定の下で表明された性質を満たすかまたは特定の信用スコアを達成することを確証されるように生成される。本明細書において説明される機械学習の方法は、指定された性質が満たされ、信用されるモデルが生成されることを保証する。
【００１７】
下の1つまたは複数の実施形態においては、モデル修復、データ修復、および報酬修復の問題が、確率モデル、特に、所望の性質が確率計算木論理(PCTL: Probabilistic Computation Tree Logic)に表されるときの離散時間マルコフ連鎖(DTMC)またはマルコフ決定過程(MDP)の場合に関して解決され得る。特に、時相論理の制約の下の確率的マルコフモデルにおけるパラメータ学習の問題が、パラメトリックモデルチェッカーおよび/または非線形オプティマイザーを使用して記号変換(symbolic transformation)を実行することによってどのようにして非線形有理制約付きの非線形最適化として等価的に表され得るかが下で説明される。
【００１８】
これらの原理の概念は様々な修正および代替的な形態を許容し得るが、それらの概念の特定の実施形態が、例として図面に示され、下で詳細に説明される。これらの原理の概念を開示される特定の形態に限定する意図がないことを理解されたい。反対に、これらの概念および添付の請求項に合致するすべての修正、均等物、および代替形態を包含することが意図される。
【００１９】
図1A〜図1Cは、学習されたモデルが高レベルの正しさの要件を満たすことを保証するように構成される機械学習システム100の実施形態を示す。機械学習システムは、コントローラ150が許容可能なパラメータまたは確証の中で行われるシステムの行動152を開始し得るようにコンピュータシステム148の1つまたは複数のコントローラ150の動作を改善するために存在する。機械学習システム100は、コンピュータシステム148内に存在するかまたはコンピュータシステム148と独立してインターフェースを取る可能性がある。
【００２０】
1つまたは複数のデータソース102からのデータ(D)104の初期集合が、モデル(M)108を訓練するために提供される。モデル108は、1つまたは複数のMLアルゴリズムを使用するモデル訓練モジュール106によって訓練される。たとえば、一部の実施形態において、データ104は、シミュレーションされた環境におけるこの状況での運転の例示的なトレース(trace)の形態で与えられ、Dからコントローラのマルコフ連鎖モデルMを学習する。一実施形態において、自律的な自動車コントローラの態様は、車線変更コントローラ(すなわち、コントローラ150)である可能性があり、その車線変更コントローラは、ユーザインターフェース112を介してオペレータまたはユーザによって与えられる/設定される可能性がある特定の信用に関連する制約(φ)を尊重しなければならない/満たさなければならない。たとえば、コントローラ150は、前を低速で走るトラックを検出することが高い確率で自動車に車線の変更かまたは減速かのどちらかを行わせることを保証しなければならない。一部の実施形態において、信用に関連する制約114は、信用されるモデルを保証するためにモデル108によって満たされなければならないデフォルトパラメータを含む。
【００２１】
ユーザインターフェース112は、信用に関連する制約114を受け付け、ARSENALと呼ばれるツールなどを使用して自然言語の仕様を論理式に変換する能力を含み得る。ARSENALは、ユーザがシステムとインタラクションし、環境に由来する関心のある性質を指定する/改善するための自然言語(NL)インターフェースを構築するように適合される。これは、複雑な論理形式を使用する負担によって圧倒されることなく、アナリスト/オペレータが豊富で複雑な制約(たとえば、PCTL)を自然言語で指定するのを助ける。
【００２２】
図1に示されるように、訓練されたモデル108のパラメータ113および信用に関連する制約114が、モデル検査モジュール116に入力される。一部の実施形態において、モデル検査モジュール116は、PRISMまたはSTORMなどの確率的な記号モデルチェッカー(symbolic model checker)を使用してパラメトリックモデル検査を実行する可能性がある。モデル検査モジュール116は、モデルパラメータ113および信用に関連する制約114を分析して、モデルが信用に関連する制約114を満たすかどうかを判定する。一部の実施形態において、モデル検査モジュール116は、モデルパラメータ113および信用に関連する制約114のうちの1つまたは複数を使用してモデルに関連する信用スコアを計算する。信用スコアは、モデル108が信用に関連する制約114をどれだけしっかり満たすかを示す計算である。一部の実施形態において、信用スコアは、訓練されたモデルのパラメータ113が予め定義されたリスク許容範囲内で少なくとも1つの信用に関連する制約を満たす確率に基づく。その他の実施形態において、信用スコアは、いくつの制約がモデルによって満たされたかを示す値である可能性がある。制約の100%が満たされる場合、スコアは100である可能性がある。制約の50%が満たされる場合、スコアは50である可能性がある。
【００２３】
一部の実施形態において、それぞれの信用に関連する制約114は、その信用に関連する制約に関連する1つまたは複数の信用パラメータを有する可能性もある。信用パラメータは、特定の制約が正常な動作中に違反される可能性があるかどうか、および特定の条件が満たされるまで違反されたままである可能性があるかどうかをシステムに知らせる。たとえば、自立運転システムにおいては、車両が常に制限速度以下で走るように求める速度の制約が存在する可能性がある。しかし、低速で走る車両を法律を守って追い越す間、速度の制約が違反される必要がある可能性がある状況があり得る。したがって、そのような状況においては、信用パラメータに従って、システムコントローラは、特定の期間、車両が速度の制約に違反する/を越える(たとえば、制限速度以上で走る)ことを許す可能性がある。モデル検査モジュール116は、モデルが信用に関連する制約114を満たすかどうかを判定するときにそのような信用パラメータおよび許容可能な違反を考慮に入れる。一部の実施形態において、信用スコアは、そのような信用パラメータおよび許容可能な違反を織り込むように調整される。
【００２４】
モデルが信用に関連する制約114を満たす場合、または信用スコアが信用の閾値を超えている場合、モデルは、信用されるモデルとしてコンピュータシステム148および/またはコントローラ150に提供される。信用の閾値は、オペレータによって設定された、またはユーザからユーザインターフェース(たとえば、112)を通じて入力として受信された予め定義されたデフォルト値である可能性がある。一部の実施形態において、信用の閾値は、動的に調整される可能性がある。
【００２５】
モデルが信用に関連する制約114を満たさないか、または信用スコアが予め定義された信用の閾値未満である場合、モデルM 108、データD 104、およびデータD 104から導出された学習された報酬関数110のうちの1つまたは複数が、修復モジュール118に提供される。より詳細には、1つまたは複数の修復モジュール116は、コンピュータシステムの動作の信頼性を改善するために使用される可能性があり、つまり、(1)学習されたモデルが直接修正される場合、モデル修復モジュール120が使用され、(2)修正されたデータからの再学習が信用されるモデルをもたらすようにデータが修正される場合、データ修復モジュール122が使用され、および/または(3)我々が報酬に基づくモデルに関する補正された報酬を学習することができるとき、報酬修復モジュール124が使用され、それが、信用されるモデルをもたらす。
【００２６】
モデル、データ、または報酬のうちの少なくとも1つが修復モジュール118によって修復されると、モデルは、改定された訓練されたモデルを生成するためにモデル訓練モジュール106を使用することによって再訓練される。このプロセスは、モデルが信用に関連する制約114を満たすと判定されるまで反復的に継続する。モデル108が信用に関連する制約114を満たすと判定されると、信用されるモデルは、コンピュータシステム148のコントローラ150に提供される。コントローラ150は、信用されるモデル108に基づいてシステム全体(たとえば、自動車)のどのシステムの行動152が実行されるべきであるかを決定する。一部の実施形態において、信用されるモデル108は、アプリケーションプログラミングインターフェース(API)/ユーザインターフェース109への呼び出しを介してコンピュータシステム148および/またはコントローラ150によってアクセスされる可能性がある。
【００２７】
一部の実施形態においては、モデルが信用に関連する制約114を満たさないか、または信用されるモデルを生成するモデル、データ、もしくは報酬関数に対する修正を行いきれないほど信用スコアが予め定義された信用の閾値を著しく下回っている場合、システムは、さらなる修正が不可能であり、モデルが信用されないことを示す通知をコンピュータシステム148/コントローラ150および/または出力ディスプレイ117に送信する可能性がある。言い換えると、信用されるモデルを生成するために本明細書において説明される修復アルゴリズムのうちの1つを使用してモデルが再訓練され得ないと判定される場合、さらなる修正が不可能であり、モデルが信用されないことを示す通知が送信される。その場合、ユーザは、信用に関連する制約114のうちの1つまたは複数を可能な限り調整または修正し、新しい制約付きの訓練されたモデルの訓練を再び試みるための選択肢を有する。
【００２８】
一部の実施形態において、モデル検査モジュール116は、そのモデル検査モジュール116の分析の出力結果を出力ディスプレイ117上に表示する。一部の実施形態において、出力ディスプレイ117は、モデルが訓練されているときに信用スコアを表示する可能性がある。オペレータは、スコアの特定のレベルが達せられるまで実行することを選択する可能性がある。各結果において、ディスプレイは、どの制約が満たされたかをユーザに示す可能性がある。モデル108に関連するその他の情報(たとえば、モデルパラメータ113など)が、出力ディスプレイ117上に表示される可能性もある。これは、エンドユーザ/オペレータがモデル検査モジュール116の結果および/またはモデル108を見直すことを可能にする。
【００２９】
コンピューティングシステム100の構成要素106、116、118、120、122、124、148、および150の各々ならびにそれらの構成要素のそれぞれの下位構成要素は、ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアの組合せ、または別の種類の物理的構成要素として具現化される可能性がある。図1に示された構成要素によって使用される方法およびアルゴリズムの詳細が、下で検討される。
【００３０】
一部の実施形態において、モデル108は、最初に、最尤逆強化学習法、教師あり学習、または教師なし(もしくは半教師あり)学習などの機械学習アルゴリズムを使用して訓練される。
【００３１】
強化学習は、システム/コントローラが報酬を最大化するために環境内で行動をどのようにして実行すべきかに関する。強化学習においては、報酬関数が、実行された現在の行動および状態がどれだけうまくいっているかをモデル/システムに知らせる。強化学習アルゴリズムは、世界(world)の状態をシステムがそれらの状態で行うべき行動にマッピングするポリシーを見つけようと試みる。訓練されたモデル108は、集合から選択されたラベルによってラベル付けされる可能性がある状態と状態の間の遷移とからなる可能性があり、同じラベルが、2つ以上の遷移に現れる可能性がある。一部の実施形態において、最尤逆強化学習法は、初期入力データのトレースから未知の報酬関数を特定するために逆強化学習の問題に最尤推定を使用することを含む。
【００３２】
一実施形態において、教師あり学習は、サポートベクターマシン(SVM)アルゴリズムを利用することによるカテゴリ分けタスクに近づく。SVMの手法は、あるデータ表現から別のデータ表現へのマッピングを定義するカーネルを使用し、低次元の学習器(learner)がデータ要素をカテゴリ分けすることを学習することを可能にする。一部の実施形態において、マッピングは、パラメータ表示されたマッピングである可能性がある。
【００３３】
クラスタリングの教師なしまたは半教師ありの手法に関しては、ラベル付けされていないまたは部分的にラベル付けされたデータの重心法に基づくクラスタリングが使用される可能性がある。k平均クラスタリング法は、データ点の集合の重心(質量の中心を考えられたい)の近似を形成し、それらの中心を記録する。新しいラベル付けされていないデータが与えられると、新しいデータ点が既存のクラスタに入るのか(そうである場合、どのクラスタに入るのか)もしくは新しいクラスタの一部であるのかを判断するために、または場合によっては既存のクラスタを分割させる(つまり、既存のデータ点を再クラスタリングする)ためにk平均法が使用される。
【００３４】
M 108が、モデルのクラス(概念クラス(concept class))であり、D 104が、すべてのデータセットの全体集合であるものとする。MLが、D∈Dを受け取り、M∈Mを返す機械学習手順であるものとする。信用に関連する制約φ114が、学習されたモデル108が持つべき所望の時相論理の性質であるものとする。モデルM 108が性質φ114を有するという事実は、M|=φによって表される。(何らかのデータセットDに対して訓練された)モデルM=ML(D)が性質φ114を満たさない場合、モデルM 108かまたはデータセットD 104かのどちらかが修復される。一部の実施形態においては、下でより詳細に検討される報酬関数が、さらにまたは代替的に修復される可能性がある。一部の実施形態においては、特定の「修復」のみが、一部の予め定義された制約によって特定される(つまり、勝手な「修復」は考慮されない)。M 108が与えられると、FeasM⊆MがM 108のすべての「実行可能な修復」を表すものとする。D 104が与えられると、FeasD⊆DがD 104のすべての「実行可能な修復」を表すものとする。c(M,M')が、MをM'に変えるコスト(正の実関数)を表し、c(D,D')が、DをD'に変えるコストを表すものとする。これらの表記に基づいて、一部の実施形態において、モデル修復およびデータ修復の定義は以下のとおりである。
-  モデル修復: M、φ、FeasM、および関数cが与えられると、モデル修復の問題は、M*∈FeasMおよび
【００３５】
【数１】
2019526107.tif 000003
【００３６】
であり、M*がコストc(M,M*)を最小化するようなM*∈Mを探そうとする。図3Aを参照されたい。
-  データ修復: D、φ、FeasD、および関数cが与えられると、データ修復の問題は、D*∈FeasDであり、
【００３７】
【数２】
2019526107.tif 000004
【００３８】
であり、D*がコストc(D,D*)を最小化するようなD*∈Dを探そうとする。図3Bを参照されたい。
【００３９】
データセットDが与えられると、モデルM=ML(D)は、最初に、機械学習手順ML(たとえば、最尤訓練)を使用して学習される。M|=φである場合、モデルMが出力される。そうでない場合、M'を得るためにMに対してモデル修復が実行され、モデル修復はMに小さな摂動(perturbation)を起こす。M'|=φである場合、M'が出力される。そうではなく、モデル修復の式が実行可能解を持たない場合、「小さな摂動」の制約がモデル修復に関して緩められて(それによって、より大きな実現可能な集合M(大きな摂動)を考慮し)、それが修正されたモデルが性質を満たすことを可能にするかどうかを確かめる。データを修正することが好ましい場合、D'を得て、M''=ML(D')|=φであるかどうかを調べるために、データに対する小さな摂動を使用してデータDのデータ修復が実行される。M''=ML(D')|=φである場合、M''が出力される。そうでない場合、データに対する「小さな摂動」の制約が緩められ、モデルが、再訓練され、再訓練されたモデルが、制約を満たすかどうかを確かめるために調べられる。再訓練されたモデルが制約を満たさない場合、モデル修復またはデータ修復の上の式を使用して学習されたモデルによってφが満たされ得ないことが報告される。
【００４０】
一部の実施形態において、モデル修復は、状態を分割すること、状態の数を増やすかまたは減らすこと、制御システムにおける遷移を追加するかまたは削除することなどのモデルの調整を含む可能性がある。有限状態機械モデルに関しては、各状態の中で、現在の状態が判定され、次の状態にどのようにおよびいつ移るべきかが決定される。たとえば、自律的な車両コントローラの文脈で、現在の/第1の状態は「左に曲がる」である可能性があり、一方、次の/第2の状態は「車両を止める」である可能性がある。現在のモデルが、ある状態(たとえば、「左に曲がる」)から別の状態(たとえば、「車両を止める」)に遷移する閾値を引き下げるように調整されるべきであると判定される可能性がある。あるいは、安全性の理由により第1の状態と第2の状態との間に新しい状態が追加されるべきであると判定される可能性がある。たとえば、視界に一時停止の標識がなく高速で走行している場合、一時停止の標識で自動車を止める第3の状態に達する前に、一時停止の標識があると予測して速度を落とす新しい第2の状態が追加される可能性があり、したがって、有限の状態および遷移の数を増やす。加えて、一部の実施形態において、モデル修復は、性質に関する特定の確証を満たすためにある状態から別の状態への遷移の可能性の変更を含む可能性がある。一部の実施形態において、状態は、モデル修復中に追加も削除もされない。
【００４１】
下の検討は、概念クラス(concept class)(M)の特定の選択、可能な修正(FeasM,FeasD)、および(φを指定するために使用される)適切な言語に関して上で概説された問題のうちの2つに対処し、それらを解決する。特に、モデルM 108は、離散時間マルコフ連鎖(DTMC)またはマルコフ決定過程(MDP)のような確率モデルであると考えられ、φは、PCTLであると考えられる。PCTLは、常に真であるべき性質、最終的に真になるべき性質(たとえば、活性の性質)、およびそれらの組合せを含む時間的性質(すなわち、信用に関連する制約114)を形式的に指定するために広く使用される確率的な時相論理である--そのような時相論理の性質は、サイバーフィジカルシステム(CPS)の領域、たとえば、自動運転車、サイバーセキュリティにおいて使用されるモデルの重要な要件を指定するのに有用であることに留意されたい。
【００４２】
特に、自律的な自動車コントローラに関する確率モデルを訓練する文脈で、学習される基礎をなすモデルは、DTMCであり、DTMCは、タプルM=(S,s0,P,L)として定義され、Sは、状態の有限集合であり、s0∈Sは、初期状態であり、P:SxS→[0,1]は、∀s∈S,Σs'∈SPr(s,s')=1であり、L:S→2APが状態にラベルを割り当てるラベル付け関数であるような遷移行列であり、APは、原子命題(atomic proposition)の集合である。図2Aは、前を低速で走るトラックに直面させられたときに自律的な自動車コントローラの行動を決定するDTMCを示し、一方、図2Bは、異なる状態およびラベルのセマンティクスの概要を示す。モデルのパラメータpおよびqに関する具体化(instantiation)を発見することによってどのようにしてモデル修復が実行されるかが、後で示される。
【００４３】
モデルMが満たす必要があるPCTLの性質φが存在するものとする。PCTLにおいて、性質はPr〜b(ψ)として指定され、〜∈{<,≦,>,≧}であり、0≦b≦1であり、ψは経路式(path formula)である。経路式は、時相演算子(temporal operator)X(next)および∪≦h(bounded/unbounded until)を用いて定義され、hは、整数である。PCTLは、(Fφ=true∪φとして定義される)eventually演算子Fも使用し、Fφは、φが最終的に真であることを意味する。Pr(PathM(s,ψ))〜bである、つまり、ψを満たすsから始まるM内の経路をとる確率が〜bである場合に、Mの状態sがφ=Pr〜b(ψ)を満たし、
【００４４】
【数３】
2019526107.tif 000005
【００４５】
と表記され、経路は、モデルM内の状態のシーケンスとして定義される。たとえば、開始状態S0を有する図1のDTMC Mを考えるものとする。述語「reducedSpeed」は、状態S4において真であり、一方、述語「changeLane」は、状態S5およびS6において真である。ここで、確率的性質/制約は、=Pr>0.99[F(changedLane or reducedSpeed)]として指定され得る。S0から始まる任意の経路が確率>0.99で最終的にS4、S5、またはS6に到達する場合にのみ、Mは性質φを満たす。
【００４６】
本明細書において考えられるDTMCの車線変更コントローラは、自律的な閉ループ自動車コントローラ全体の一部であることに留意されたい。車線変更DTMCモジュールは、自動車が前の車両に近づきすぎる可能性があるときにトリガされ、したがって、フィードバックコントローラである。これらのコントローラは、車両シミュレータにおける車両のトレースから学習され得る。本明細書における「最終的に車線を変更するまたは減速する」性質は、「活性」の性質を示す。一部の実施形態において、コンピュータシステム/コントローラ150は、そのような活性の性質の時間を限定された変化形を使用する。
【００４７】
特許請求される発明に合致する一部の実施形態において、モデルMは、確率モデル--特に、DTMCまたはMDPであると考えられる。特に、モデルM 108は、決まった(グラフ)構造を有するが、遷移確率が異なるすべてのDTMC(またはMDP)からなる。性質φ114は、PCTLの時相論理の性質である。上で定義された2つの問題の効率的な解決の可能性は、下位クラスFeasMまたはFeasDによって与えられる「許される修復」の選択にも依存する。
【００４８】
モデル修復に関して、下位クラスFeasMは、M'とMとの両方がエッジの同じ集合に関して非ゼロの遷移確率を有するようなすべてのモデルM'∈Mからなる。ユーザは、対応するエッジに関する遷移確率の違いを(たとえば、下限および上限を使用して)さらに制約し、したがって、「小さな」摂動のみを考慮することができる。遷移行列全体を再パラメータ表示することは、モデル修復において実行可能な手段であると考えられ得ることに留意されたい。遷移行列のうちのどれだけが修復可能と考えられるかは、問題にしているアプリケーションに依存する--領域は、どの遷移確率が摂動され得るかおよびどの遷移確率が摂動され得ないか(たとえば、自動車コントローラのどの部分が修正され得るか)を決するのに役立つ。
【００４９】
データ修復に関して、下位クラスFeasDは、ユーザによって指定された動作によってDから得られ得るすべてのデータセットD'∈Dからなる。たとえば、一部の実施形態において、元のデータセットから削除されるデータ点が考慮され、つまり、データセット全体から削除されるデータ点の数が補正の区域を定義する。モデル修復、データ修復、または報酬修復が実行されるとき、(それぞれモデルおよびデータに対する)小さな補正が最初に考えられる--それがうまくいかない場合、制限が緩められ、より大きな補正が考えられる/試みられる。
【００５０】
確率モデルに関するモデル修復を解決するための手法が、最初に検討される。上で説明されたDTMCが、例においてここで参照される。n個の状態およびn×n遷移行列Pを有するDTMC Mが与えられると、P+Zが確率行列であり、MZの遷移行列であるような(未知数の)n×n行列Zを導入することによってパラメトリックDTMC MZが生成される。Z内の未知のパラメータは、制約される可能性があり、つまり、∃jZij>0の場合、状態iは、制御可能状態(controllable state)と呼ばれ、Mの状態iと状態jとの間の遷移は、その確率が修正され得るので制御可能である。行列Zは、修復のためにMの挙動を変更するかまたは制御するためのメカニズムを与える。パラメトリックDTMC MZは、Zに対する制約と一緒に、集合FeasMを以下のように定義する。
-  Mが遷移行列Pを有するDTMCであり、MZが遷移行列P+Zを有するDTMCであり、∀sΣt∈SZ(s,t)=0である場合、MおよびM'は、ε双模倣的(ε-bisimilar)であり、εは、Z内の最大値によって限界を決められる。
【００５１】
M'とMとの間にε模倣性(ε-bisimulation)があるとき、つまり、M'内の任意の経路の確率が、M内の対応する経路の確率のε以内であるとき、M'∈FeasMであり、Mはε双模倣的であることに留意されたい。図2は、パラメトリックDTMCの例を示す。
【００５２】
さらに、Z内の非ゼロの値を変数のベクトルv=v1 ... vkであると考える。モデル修復の問題は、次の最適化問題を解くことによって解決される。
【００５３】
【数４】
2019526107.tif 000006
【００５４】
P(i,j)+Z(i,j)=0 iff P(i,j)=0, 1≦i,j≦n           (3)
【００５５】
式1において、g(v)は、モデルパラメータに摂動を起こすコストを符号化する目的関数である--典型的な関数は、摂動変数の2乗の総和であり、つまり、
【００５６】
【数５】
2019526107.tif 000007
【００５７】
である。式1〜3のモデル修復の式の主なボトルネックは、式2の制約である--それは、非線形最適化問題において直接扱うことが難しい時相論理の制約である。次に、「非標準的な」時相論理の制約付きの上の最適化問題を非線形制約付きの標準的な非線形最適化問題にどのようにして変換し得るかが示される。
-  確率モデルMおよび確率的時相論理式φを考える。Mがパラメトリック離散時間マルコフ連鎖(DTMC)またはパラメトリックマルコフ決定過程(MDP)であり、φが確率計算木論理(PCTL)に表される場合、定義1および式1〜3に指定されたModelRepair問題は、非線形有理制約付きの非線形最適化の等価な集合に整理され得る。
【００５８】
パラメトリックDTMCが与えられると、X(next)およびU(until)のような固有の関係かまたはF(eventually)もしくはG(always)のような演算子かのどちらかを使用してPCTLで指定される性質が、パラメトリックDTMCのパラメータで表現された到達可能性の問題にマッピングされ得る。したがって、PCTL論理で指定された任意の性質が、目標の状態の集合への到達可能性の問題として等価的に表され得る。パラメトリックDTMCにおいて目標の状態の集合に到達する確率は、パラメトリックモデルチェッカーを使用してパラメータの有理関数の形態で計算され得る。パラメトリックモデルチェッカーによって使用される主な技術は、以下のとおりである。閉形式の有理関数に関して目標の状態が経路に沿って到達可能であるかどうかの確率を簡潔に表すために、その技術は、s1→s→s2の形態の経路内の状態のシーケンスを連続して考え、s1からs2への直接的な経路においてsの自己遷移の確率を適切に考慮した後でsを経路から削除する。経路s1→s→s2において、s1→s、s→s、s→s2の確率がそれぞれPr(s1,s)、Pr(s,s)、Pr(s,s2)であるものとする。そして、sが削除され、経路がs1とs2との間の直接接続によって置き換えられる。Pr'(s1,s2)が、任意のその他の経路に沿ってs1からs2に遷移する確率であるものとする。sが削除され、s1からs2への直接的なエッジと考えられる場合、この新しいエッジの遷移確率は、等価的に、モデルのパラメータの有理関数であるPr'(s1,s2)+Pr(s1,s).Pr(s,s2)/(1-Pr(s,s))と表され得る。連続的な状態の削除を使用して、パラメトリックモデルチェッカーは、式2の到達可能性の性質に対応する非線形有理関数の制約全体を得ることができる--結果として、式1〜3のModelRepairは、式4〜6の非線形最適化問題として表され得る。
【００５９】
S、s0がDTMCと同じであり、Vが第4節において概説される補正パラメータのベクトルであり、Actがマルコフ決定過程の行動の有限集合であるパラメトリックマルコフ決定過程(MDP)、M=(S,s0,Act,Pp,V)の場合--パラメトリックMDPにおいては、遷移関数Pが、パラメータVを用いて修復される。パラメトリックMDPモデルが与えられると、MDPモデルは、MDPにおいて対応する(状態,行動)ペアを考慮することによって各状態が生成される等価的なパラメトリックDTMCへと縮約され得る。各超矩形(hyper-rectangle)に関する等価的なパラメトリックDTMCにおける確率的な到達可能性の問題が関連するパラメータの有理関数に対応するような、パラメトリックMDPのパラメータ空間の超矩形への分解が存在する。したがって、MDPに関して、PCTLで指定された確率的な到達可能性の性質と等価的な有理関数の論理和(disjunction)が最終的に得られる。(各パラメータの超矩形に対応する)各有理関数の制約の論理和に関して、対応するModelRepair非線形最適化問題を別々に解き得る--異なる非線形最適化問題の解の好適な組合せ(たとえば、arg min問題のmin)が最終的な結果を与える。したがって、MDPに関して、ModelRepair問題は、等価的に、互いに素な非線形最適化問題の集合として表され得る。
【００６０】
概説されたように、MがDTMCまたはMDPである場合、パラメトリックモデル検査は、式1〜3を以下の制約された最適化問題に変換し得る。
min g(v),                        (4)
s.t.f(v) 〜 b,                     (5)
∀vk∈v:0<vk+P(i,j)<1             (6)
【００６１】
式6のP(i,j)は、非ゼロの値vkを有するZ(i,j)行列成分に対応する。一部の実施形態において、式5の非線形方程式f(v)への、Mにおけるφの充足可能性を符号化する、式2の再パラメータ表示は、パラメトリックモデルチェッカー、たとえば、確率モデルチェッカーであるPRISM、確率的挙動を呈するシステムのモデリングおよび分析のための形式的検証ソフトウェアツールを使用して取得され得る。式5〜6の非線形制約の下で式4の非線形目的関数を解くことは、MをM*に変換するZの「局所最適」を与える。一部の実施形態において、それは、非線形最適化ツール、たとえば、大規模な数学的計算の高い複雑性の問題(すなわち、大規模な最適化およびスケジューリングタイプの問題)を記述し、解くための代数的モデリング言語であるAMPLを使用して行われ得る。非線形最適化問題が実行可能解を有する場合、その解は、結果として得られるモデルM*がφを満たすようにするZの最適値を我々に与える。
【００６２】
一部の実施形態においては、データセットDが、D'に対して訓練されたモデルがφを満たすようにD'に修正される。このためには、上述のデータ修復の問題が、解かれる必要があり、マシンティーチング(machine teaching)の変化形である。
【００６３】
マシンティーチングの式に基づいて、データ修復の問題は、以下のように定式化され得る。
【００６４】
【数６】
2019526107.tif 000008
【００６５】
s.t., g(Θ)≦0, h(Θ)=0             (10)
【００６６】
ここで、内側の最適化は、経験損失関数(empirical risk function)RLおよび正則化項(regularizer)Ωからなる、正則化経験損失最小化(regularized empirical risk minimization)の標準的な機械学習の目的をモデル化する。ETは、データセットDをD'に修正する教授「努力」関数(teaching "effort" function)であり、
【００６７】
【数７】
2019526107.tif 000009
【００６８】
は、Θ*によってパラメータ表示されるモデルを示し、一方、gおよびhは、その他の領域の制約である。
【００６９】
データセットDがデータ摂動ベクトルpを使用してD'に変換されると考える。そして、データ点の部分集合がφを満たすために結果として得られる訓練されたモデルに関してDから削除される必要がある(たとえば、それらの点は、ノイズのある特徴またはラベル(noisy features or labels)を有する可能性がある)ことを考える。したがって、Dの各データ点diは、piを乗算され、pi=0は、点が削除されることを示す--この場合、p={p1 ... pn}であり、n=|D|である。また、努力関数がデータの摂動の大きさによって特徴付けられる、つまり、ET(D,D')=|D|-||p||2であることを考える。これらの変換を使用して、式7〜10は、下のように再定式化され得る。
【００７０】
【数８】
2019526107.tif 000010
【００７１】
s.t., g(Θ)≦0, h(Θ)=0                (14)
【００７２】
RL'(D,p,Θ)は、RL(D',Θ)の再パラメータ表示であり、これは、D'がpを使用してDを摂動させることによって得られるという事実の使用に留意されたい。データ修復のこの式は、特定のpiの値が1であることが望ましい場合、つまり、特定のデータ点が信頼できるので残される場合を扱うことができる。
【００７３】
さらに、確率モデルMおよび確率的時相論理パラメータφを考える。Mがパラメトリックマルコフ連鎖(MC)またはパラメトリックマルコフ決定過程(MDP)であり、φが確率計算木論理(PCTL)で表される場合、式11〜14によって特徴付けられる、上で定義されたDataRepair問題は、非線形有理制約付きの非線形最適化問題の集合に整理され得る。
【００７４】
マルコフ連鎖に関して、パラメトリックDTMC Mを考える。また、各データ点diが対応するパラメータpiを乗算されるDataRepairのデータ削除モデルを考える。M内のs1からs2への状態の任意のペアの間の遷移確率の最尤推定は、s1から遷移するデータ点の総数によって正規化されたそのモデルの遷移を有するデータ点の数の比である。したがって、DTMCモデルにおける各遷移確率は、pの多項式の比、つまり、pの有理関数として表され得る。結果として、式11〜14は、等価的に、式15〜16として表される可能性があり、そのとき、式15〜16は、非線形制約付きの非線形最適化問題に変換され得る。
【００７５】
パラメトリックマルコフ決定過程(MDP)モデルに関して、状態、行動、および遷移の構造が与えられる場合、遷移確率が決定される。すべての状態-行動のペアに関して報酬関数が与えられるか、または報酬関数が遷移確率に依存しないので逆強化学習を使用して学習され得るかのどちらかであると仮定し得ることに留意されたい。MDPモデルに関しては、最尤遷移確率がデータ修復のパラメータの有理関数であり、したがって、式11〜14が式15〜16の形態の非線形最適化問題の集合に縮約されることが示され得る。
【００７６】
上で概説されたように、式11〜14の非線形最適化の式を解くために、式13〜14の内側の最適化が、初めに最大尤度を使用して解かれる--これは、遷移確率がデータ摂動ベクトルpの有理関数であるDTMCモデルM(p)を我々に与える。そして、式11〜12の外側の最適化は、下のように再定式化され得る。
arg minp||p||2             (15)
【００７７】
【数９】
2019526107.tif 000011
【００７８】
これは、記号分析、特に、パラメトリックモデル検査を非線形最適化と組み合わせて使用することによって解かれ得る。この場合、削除されているデータ点が考慮される。追加されているもしくは置き換えられているデータ点が考慮されるか、または修正されているデータの特徴もしくはラベルが考慮されるとき、データ修復に関する同様の式が導出され得る。
【００７９】
報酬修復に関して、MDPの報酬関数を学習する問題は、逆最適制御(IOC: Inverse Optimal Control)または逆強化学習(IRL)の問題であると考えられる。MDPに関して、報酬関数は、少なくとも1つの信用に関連する制約が満たされる部分空間に射影される。部分空間は、信用に関連する制約から形成された境界によって定義される。成功した結果は、報酬関数が最適点に近い部分空間内にある結果である。
【００８０】
下で検討される確率モデルは、以下の式によって定義される。
【００８１】
【数１０】
2019526107.tif 000012
【００８２】
式中、xは、状態であり、aは、行動であり、U={(x1,a1) ... (xn,an)}は、状態行動ペアのシーケンスの軌跡であり、iは、経路/軌跡に沿ったインデックスであり、Tは、MDPの遷移の分布であり、PT(U)は、MDPにおける軌跡U内の遷移を観測する確率である。加えて、fは、各状態上で定義された特徴ベクトルであり、θは、重みベクトルであり、状態における報酬は、その状態の特徴の線形関数、つまり、
reward(fU)=θTfU,  ここで||θ||2≦1
であると仮定される。
【００８３】
同様のモデルが連続的な状態および行動に関して考えられるが、ここでは、離散的な状態および行動が上の式において考慮されることに留意された。一部の実施形態においては、θの有界のL1ノルムも考慮される。この式において、軌跡の確率は、MDP内のその軌跡の遷移の確率を乗算されたMDP内の軌跡に沿った総報酬の指数関数に比例する。報酬関数を学習するためには、(fが知られていると仮定して)θを学習しなければならない。トレースUが与えられると、対数尤度L=上で与えられた式が最大化される、つまり、
θ*=arg maxθlog P(U|θ)             (19)
である。
【００８４】
式19は、勾配降下を行うことによっても、データのトレースの所与の集合に関して解かれ得ることに留意されたい。θ*は、最適な報酬R*を与える。報酬修復の式においては、規則の所与の集合が尤度の最大化と一緒に満たされることがさらに強制される。つまり、
【００８５】
【数１１】
2019526107.tif 000013
【００８６】
が強制され、gは、第lの規則Cl(U)のグラウンディング(grounding)である。規則/制約Cは軌跡上で定義され、命題(propositional)または一階(first-order)である可能性がある。Qは、規則Clを満たす更新された報酬関数R'を使用するPの射影である(R'は、同じ状態の特徴fを有するが、異なる重みベクトルθ'を有する)。射影の手法は、Qを得るために所与の規則の充足を強制する部分空間にMDPの確率Pを射影するために使用される。これは、下の式を解くことをともなう。
【００８７】
【数１２】
2019526107.tif 000014
【００８８】
式中、制約は、規則の充足を強制し、KLダイバージェンスは、最適な報酬関数R*をR'に補正することによって引き起こされる、(補正された報酬R'上で定義された)Qと(最適な報酬R*上で定義された)Pとの間の差の量を最小化し、λlは、規則を満たすことに関連する重要性の重みである(特定のアプリケーションにおいては大きい可能性がある)。事後正則化項(Posterior Regularizer)の式を使用して(5)を解くことは、
【００８９】
【数１３】
2019526107.tif 000015
【００９０】
となる、補正された報酬関数R'を使用する経路の確率Qを我々に与える。
【００９１】
Qは、修復された報酬の下での経路の確率を我々に与える。この修復は直感的であることに留意されたい。グラウンディングの集合に関して、規則が満たされる場合、指数の引数が0である=>経路Uに関する対応するQがPと同じである。グラウンディングが式を満たさない場合、λlの大きな値に関して、指数の引数が-∞である=>その経路の確率が0である。Q関数は、決定されると、(6)に(1)を代入し、x 1からx 2へのあらゆる状態遷移に関してQの値を探すことによってR'を推定するために使用され得る--これは、あらゆる3つ組<x 1, x 2, a>に対応するR'の値を与える。
【００９２】
命題規則Cに関して、グラウンディングは、トレース内の状態および行動の値によって与えられる。一階論理(FOL)規則Cに関して、MDPから引き出されたすべての可能な軌跡Uに基づくw個のグラウンディングが考慮される--これは、MDPから引き出された軌跡のサンプルによって近似され得る。FOL規則が評価される軌跡のサンプルを生成するために、ギブスサンプリングが最初に使用され得る。
【００９３】
本発明の実施形態を利用するコンピュータシステムの使用事例が、下でさらに詳細に説明される。たとえば、上述の自動車コントローラの実行例においては、図1のDTMCモデルの初期値がシミュレーションされた自動車のトレースから最尤推定を使用して学習されると仮定される。4つの異なるモデル修復の使用事例が、下で説明される。
【００９４】
第1の事例は、モデル108が信用に関連する制約114を満たすときである。たとえば、上述のように、性質Prop1=
【００９５】
【数１４】
2019526107.tif 000016
【００９６】
を考える。また、2つの制御可能な補正変数pおよびqが考慮される図1に対応するPRISMのモデルMを考える。初め、p=q=0であり、したがって、いかなる修復の必要もなしにMがProp1を満たすので、修復は実行されない(つまり、モデル、データ、または報酬)。
【００９７】
第2の使用事例は、モデル修復が実行可能解を与えるときである。たとえば、性質Prop2=Pr>0.8[F(reduceSpeed)]を考える。たとえば、PRISMまたはSTORMなどのパラメトリックモデルチェッカーがProp2に関してp=q=0としてMに対して実行されるとき、PRISMは、性質が初期状態S0から満たされないと報告する。Prop2を非線形パラメトリック方程式、すなわち、0.8<0.0001(-20000qp+16700p+9800q+1817)に変換するパラメトリックモデル検査が、Mに対して実行される。これをAMPLの制約として使用すると、目的q2+q2が最小化され、モデル修復の解p=0.3609、q=0.0601が得られる。
【００９８】
第3の使用事例において、モデル修復は、最初、実行不可能解を与える。たとえば、性質Prop3=Pr<0.1[F(reduceSpeed)]を考える。パラメトリックモデル検査および非線形最適化は、これを、モデル修復がProp3を満たすためにMを摂動させ得ないことを示す「実行不可能問題(infeasible problem)」であると言う。したがって、モデル修復は、補正パラメータpおよびqを考慮してProp3を満たすために元のモデルMのε近傍内の解を見つけることができない。その後、補正パラメータが、pおよびqを超えて緩められる。
【００９９】
第4の使用事例においては、モデル修復が、より多くのパラメータによって実行可能解を与える。この場合、DTMCの各エッジが関連する摂動変数を有するように、モデルの補正パラメータの数が図1において増やされる。予想されるように、追加の自由度によって、モデル修復は、MがProp3を満たすようにさせることができる。
【０１００】
次に、自動車コントローラのデータ修復が説明される。第1に、マルコフ連鎖の構造が上述のように与えられ、訓練データが遷移確率を学習するために使用されることが留意される。モデルを訓練するために使用されるデータは、状態のトレースの形態で利用され得る。各データ点が(pi,di,wi)の形態のタプルである--データトレースdiは、訓練集合からトレースを削除する関連するデータ削除確率piおよびモデルの訓練中にそのデータトレースに与えられる重みを表す重みwiを有する--事例研究用の8点を有するサンプルデータ集合{(p0, (0,1,5), 87.22), (p1, (0,1,4), 98), (p2, (0,1,3), 0.98), (p3, (0,2,6), 76.44), (p4, (0,2,4), 19.6), (p5, (0,2,3), 1.96), (p6, (0,3,4), 1.8), (p7, (0,3,3), 0.2)}。図2Cは、最大尤度を使用して訓練データから推定されたDTMCの遷移の重みを示す--モデルにおいて、遷移の重みは、各状態からの出力確率が合計で1.0になるように正規化される。
【０１０１】
データ修復を使用する自動車コントローラの以下の使用事例においては、性質Prop3=Pr<0.1[F(reduceSpeed)]であると仮定する。パラメトリックモデル検査がこのモデルMに対してPRISMによって実行され、性質に対応する次の非線形方程式、すなわち、(4900p1+49p2+980p4+98p5+90p6+10p7)/(4361p0+4900p1+49p2+3822p3+980p4+98p5+90p6+10p7)を得る。AMPLの非線形ソルバー(solver)を実行すると、データ修復に関する次の解の集合、すなわち、p0=1、p1=0.18、p2=0.00001、p3=1、p4=0.00001、p5=0.00001、p6=0.00001、p7=1が計算される。p0、p3、およびp7は、データ修復によって変更されずに保たれ、右車線変更、左車線変更、および速度を落とさず同じ車線にとどまることに対応するデータトレースの確率が同じに保たれ、一方、その他のデータトレースの確率が下げられることを示唆する。速度を落とす確率が下げられ、それによって、性質を満たす。
【０１０２】
自動車コントローラの最後の使用事例において、データ修復は、より少ないパラメータによって実行不可能になる。特に、許容可能なデータの摂動の数が、データ点の<20%が削除され得るように制限される場合、データ修復は実行可能解を与えることができないことが留意される。したがって、データ修復を使用して性質を満たすためには、データの≧20%が変わることを必要とされる。
【０１０３】
本発明の実施形態を利用するコンピュータシステムの追加的な例が、下でさらに詳細に説明される。たとえば、ワイヤレスセンサーネットワーク(WSN)におけるクエリルーティングのためのマルコフ決定過程(MDP)モデルに関するモデル修復およびデータ修復のケーススタディが、下で説明される。
【０１０４】
WSNを含む第1の使用事例は、WSNにおけるクエリルーティングを含む。n×nグリッドトポロジーで配列されたWSNを考える(我々のケーススタディにおいては、n=3)。n=3の行は、展開の現場により近い「フィールド」ノードに対応し、一方、n=1は、基地局により近い「局」ノードに対応する。この使用事例の例示的な目的は、n11がメッセージを基地局のハブに直接転送することができるように、最も少ない数の試みでピアツーピアルーティングによってノードから生じる任意のメッセージをn11にルーティングことである。ネットワークは、マルコフ決定過程(MDP)としてモデル化される。図4は、ネットワーク内の1つのノード(図のノードn22)に対応する状態および行動に関連する遷移を中心とするMDP全体の下位構成要素を示す。異なるノードのMDPは、共有された行動を通じて接続され、たとえば、ノードn21およびn22のMDPは、メッセージをノードn22からノードn11に転送する共有された行動f11_22を通じて接続される。ノードは、メッセージをネットワーク内の隣接するノードに転送する決まった確率fと、メッセージを無視するノードに依存する確率とを有する。ノードは、3つの状態のうちの1つである可能性がある--(a)S=0:メッセージを転送され、ノードがメッセージを無視すると判断した、(b)S=1:ノードがメッセージを無視せず、そのメッセージを転送すべきか否かを考えている、(c)S=2:ノードがメッセージを転送した。隣接ノードからのメッセージ転送の行動に対して、ノードは、そのメッセージを処理し、そのノードの隣接ノードに確率的に転送する。
【０１０５】
別の実施形態において、WSNは、ワイヤレスセンサーネットワークにおけるモデル修復を含む。WSN MDPの報酬関数は、ネットワークの一端から他端にメッセージをルーティングする転送の試みの回数を推定するために使用される。あらゆる転送の試みに対応する報酬は、1.0であると仮定される--総報酬は、ネットワークを介してメッセージをルーティングするために必要な転送の試みの回数を数える。MDPの構造は、ネットワークのグリッド構造によって決定され、各ノードは、図4と同様の状態/行動遷移図を有する。MDPモデルにおける遷移確率は、メッセージルーティングのトレースから最尤推定を使用して学習される。WSNにおいてモデル修復を使用する3つの異なる事例が、下で説明される。それぞれの事例においては、メッセージ(すなわち、クエリ)がフィールドノードn33において開始され、目的がメッセージを局ノードn11に運ぶことであると仮定される。それぞれの事例において、学習されたMDPモデルは、その学習されたMDPモデルが性質
【０１０６】
【数１５】
2019526107.tif 000017
【０１０７】
を満たすかどうかを確かめるために調べられ、式中、R{attempts}は、メッセージ転送の試みに関する累積的な報酬関数の値であり、Xは、メッセージ転送の試みの特定の回数を示す。
【０１０８】
WSNに関するこの使用事例において、モデルは、性質を満たす。X=100、つまり、MDPモデルが100回未満の試みでフィールノードn33から局ノードn11にメッセージをルーティングすることができることを保証することを考える。PRISMは、初期MDPモデルがいかなる修正もなしにこの性質を満たすことを示す。
【０１０９】
WSNに関する次の使用事例において、モデル修復は、実行可能解を与える。X=40、つまり、元のMDPモデルがこの性質を満たさないと考える。その後、モデルのパラメトリックモデル検査が、(この式において制御可能と考えられる)それぞれフィールド/局ノードおよびその他のノードの無視の確率に加えられる補正変数である2つのパラメータpおよびqを用いて実行され、結果として得られる非線形方程式をAMPLに代入して解p=-0.045、q=-0.04を得る。したがって、性質は、この場合、ノードがメッセージを転送するより高い見込みがあり、したがって、ルーティングの試みの回数がより少ないので、ノードの無視の確率が引き下げられる場合、モデルによって満たされる。
【０１１０】
WSNに関する別の実施形態において、モデル修復は、実行不可能解を与える。X=19、つまり、この場合、パラメトリックモデル検査および非線形最適化は、これを、モデル修復が性質を満たすためにモデルを摂動させ得ないことを示す「実行不可能問題」であると言うと考える。
【０１１１】
一実施形態において、ワイヤレスセンサーネットワークにおけるデータ修復が説明される。第1に、n11およびメッセージソース、すなわち、n32の近くのノードにおけるメッセージ転送のデータトレースおよびクエリ削除(無視)のトレースが考慮される。メッセージ転送を含むトレースの40%が成功する転送を有する一方、60%は成功する転送を持たないと考える。それら2つのトレースタイプを削除する確率p1およびp2がそれぞれ割り当てられる場合、最尤転送確率=0.4/(0.4+0.6p)ここで、p=p2/p1である。同様の手法を用いて、n11に関する無視の確率=0.5/(0.5+0.5q)であり、ノードn32に関する無視の確率=0.5/(0.5+0.5r)である。
【０１１２】
PRISMのパラメトリックモデル検査がこれらのデータ修復の遷移の値を用いてモデルに関して実行されるとき、性質
【０１１３】
【数１６】
2019526107.tif 000018
【０１１４】
に関する非線形方程式が得られ、その非線形方程式は、AMPLで解かれて、値p=0.00001、q=18.8129、r=18.813を得る--これらのデータ補正によって、補正されたデータに対して学習されたモデルは、性質を満たす。そのデータ修復は、これらの値をモデルに代入し、性質がデータ修復によって満たされることを調べることによって働くと確認され得る。
【０１１５】
ここで図5Aを参照すると、本開示の一部の実施形態による機械学習の方法の簡略化された流れ図が説明される。
【０１１６】
方法500は、502において始まり、少なくとも1つの信用に関連する制約が決定される(たとえば、信用に関連する制約114) 504に進む。信用に関連する制約114は、ユーザインターフェース112を介してユーザまたはオペレータによって与えられる可能性がある制約または性質を含み得る。ユーザインターフェース112は、ARSENALと呼ばれるツールなどを使用して自然言語の仕様を論理式に変換する能力を含み得る。ARSENALは、ユーザがシステムとインタラクションし、環境に由来する関心のある信用に関連する制約114を指定する/改善するための自然言語(NL)インターフェースを構築するように適合される。これは、複雑な論理形式を使用する負担によって圧倒されることなく、アナリストが豊富で複雑な制約(たとえば、PCTL)を自然言語で指定するのを助ける。一部の実施形態において、信用に関連する制約114は、モデル108が確証されたレベルの信頼性または正しさを満たすことを保証するためのデフォルト値として設定される可能性がある。やはり、その他の実施形態において、信用に関連する制約は、ユーザプリファレンスとして設定され、制約を設定する各ユーザに関連して記憶され得る。
【０１１７】
方法は、モデルが訓練される506に進む。モデル108は、まず、初期入力データ104を使用して訓練される可能性がある。訓練された初期モデルおよび/または初期入力データは、エラーを含むかまたは不完全な特定のインスタンスである可能性がある。508において、モデルが抽出される。一部の実施形態において、モデルを抽出することは、モデルまたはその一部へのアクセスを提供すること、訓練されたモデルのモデルパラメータ113を抽出することまたは訓練されたモデルのモデルパラメータ113へのアクセスを提供することなどを含み得る。
【０１１８】
それから、510において、信用に関連する制約およびモデル(たとえば、モデルの性質/特徴/パラメータ)が、モデルまたはモデルの出力がそれらの信用に関連する制約を満たすかどうかを確かめるためにモデル検査モジュールを使用して調べられる。510において、訓練されたモデルまたはその出力が信用に関連する制約を満たす場合、方法は、訓練されたモデルが信用されるモデルとして提供される516に進む。一部の実施形態において、信用されるモデルは、コンピュータシステムのコントローラ(すなわち、自律的な車両コントローラまたはロボットコントローラなど)に提供される可能性がある。コントローラは、信用されるモデルに基づいてシステム全体(たとえば、自動車)のどの行動が実行されるべきであるかを決定する。
【０１１９】
一方、510において、訓練されたモデルが510において信用に関連する制約を満たさない場合、方法は、モデル、データ、またはモデルの報酬関数のうちの少なくとも1つが修正される512に進む。そして、514において、モデルは、修正されたデータまたは修正された報酬関数を使用して再訓練される。それから、方法は、再訓練されたモデルが抽出され、そして、再訓練されたモデルのパラメータが信用に関連する制約を満たすかどうかを確かめるために510において再び調べられる。方法は、モデルが信用に関連する制約を満たし、信用されるモデルが516において生成/提供されるまで反復して実行される。モデルが信用に関連する制約を満たすと判定されると、方法は518において終了する。
【０１２０】
ここで図5Bを参照すると、本開示のさらなる実施形態による機械学習の方法の簡略化された流れ図が説明される。
【０１２１】
方法550は、552において始まり、少なくとも1つの信用に関連する制約が決定される(たとえば、信用に関連する制約114) 554に進む。信用に関連する制約114は、ユーザインターフェース112を介してユーザまたはオペレータによって与えられる可能性がある制約または性質を含み得る。ユーザインターフェース112は、ARSENALと呼ばれるツールなどを使用して自然言語の仕様を論理式に変換する能力を含み得る。ARSENALは、ユーザがシステムとインタラクションし、環境に由来する関心のある信用に関連する制約114を指定する/改善するための自然言語(NL)インターフェースを構築するように適合される。これは、複雑な論理形式を使用する負担によって圧倒されることなく、アナリストが豊富で複雑な制約(たとえば、PCTL)を自然言語で指定するのを助ける。一部の実施形態において、信用に関連する制約114は、モデル108が確証されたレベルの信頼性または正しさを満たすことを保証するためのデフォルト値として設定される可能性がある。やはり、その他の実施形態において、信用に関連する制約は、ユーザプリファレンスとして設定され、制約を設定する各ユーザに関連して記憶され得る。
【０１２２】
方法は、モデルが訓練される556に進む。モデル108は、まず、初期入力データ104を使用して訓練される可能性がある。訓練された初期モデルおよび/または初期入力データは、エラーを含むかまたは不完全な特定のインスタンスである可能性がある。558において、モデルが抽出される。一部の実施形態において、モデルを抽出することは、モデルまたはその一部へのアクセスを提供すること、訓練されたモデルのモデルパラメータ113を抽出することまたは訓練されたモデルのモデルパラメータ113へのアクセスを提供することなどを含み得る。
【０１２３】
560において、信用スコアが、上で検討されたようにモデル検査モジュール116によって計算される。信用スコアは、モデル108が信用に関連する制約114をどれだけしっかり満たすかを示す計算である。一部の実施形態において、信用スコアは、訓練されたモデルが予め定義されたリスク許容範囲内で少なくとも1つの信用に関連する制約を満たす確率に基づく。その他の実施形態において、信用スコアは、いくつの制約がモデルによって満たされたかを示す値である可能性がある。制約の100%が満たされる場合、スコアは100である可能性がある。制約の50%が満たされる場合、スコアは50である可能性がある。
【０１２４】
562において、訓練されたモデルからの信用スコアが(上述の)予め定義された信用の閾値を超えている場合、方法は、訓練されたモデルが信用されるモデルとして提供される570に進む。一部の実施形態において、信用されるモデルは、コンピュータシステムのコントローラ(すなわち、自律的な車両コントローラまたはロボットコントローラなど)に提供される可能性がある。コントローラは、信用されるモデルに基づいてシステム全体(たとえば、自動車)のどの行動が実行されるべきであるかを決定する。
【０１２５】
一方、562において、訓練されたモデルからの信用スコアが予め定義された信用の閾値未満である場合、方法550は、564に進む。564において、モデルが信用されるモデルを生成するために再訓練され得るかどうかが判定される。特に、上述のように、モデルが信用に関連する制約114を満たさないか、または信用されるモデルを生成するモデル、データ、もしくは報酬関数に対する修正を行いきれないほど信用スコアが予め定義された信用の閾値を著しく下回っている場合、システムは、さらなる修正が不可能であり、モデルが信用されないことを示す通知をコンピュータシステム148/コントローラ150および/または出力ディスプレイ117に送信する可能性がある。言い換えると、信用されるモデルを生成するために本明細書において説明される修復アルゴリズムのうちの1つを使用して564においてモデルが再訓練され得ないと判定される場合、さらなる修正が不可能であり、モデルが信用されないことを示す通知が572において送信され、方法は574において終了する。
【０１２６】
一方、564において、モデルが信用されるモデルを生成するために再訓練され得ると判定される場合、方法550は、モデル、データ、またはモデルの報酬関数のうちの少なくとも1つが修正される566に進む。そして、568において、モデルは、修正されたモデル、修正されたデータ、または修正された報酬関数を使用して再訓練される。そのとき、方法は、558に戻り、再訓練されたモデルが抽出され、再訓練されたモデルの信用スコアが560において計算され、そして、信用スコアが信用の閾値を満たすかどうかを確かめるために562において再び調べられる。方法は、モデルが信用に関連する制約を満たし、信用されるモデルが570において生成/提供されるまで反復して実行される。モデルが信用に関連する制約を満たすと判定されると、方法は574において終了する。
【０１２７】
ここで図6を参照して、機械学習システム100のための例示的なコンピューティング環境600の簡略化されたブロック図。例示的な実装600は、1つまたは複数のネットワーク640を介して1つまたは複数のその他のコンピューティングシステムまたはデバイス642と通信し得るコンピューティングデバイス610を含む。一部の実施形態において、機械学習システム100の一部は、その他のシステムもしくはインタラクティブソフトウェアアプリケーションに組み込まれるか、そのようなシステムもしくはアプリケーションと一緒に働く可能性がある。そのようなアプリケーションまたはシステムは、たとえば、オペレーティングシステム、ミドルウェアまたはフレームワーク(たとえば、アプリケーションプログラミングインターフェースもしくはAPI)、および/あるいはユーザレベルアプリケーションソフトウェア(たとえば、検索エンジン、仮想パーソナルアシスタント、メッセージングアプリケーション、ウェブブラウザ、コンピューティングデバイスのための別のインタラクティブソフトウェアアプリケーションまたはユーザインターフェース)を含み得る。
【０１２８】
例示的なコンピューティングデバイス610は、少なくとも1つのプロセッサ612(たとえば、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサなど)、メモリ614、および入力/出力(I/O)サブシステム616を含む。コンピューティングデバイス610は、パーソナルコンピュータ(たとえば、デスクトップ、ラップトップ、タブレット、スマートフォン、ウェアラブルもしくは体に装着するデバイスなど)、サーバ、エンタープライズコンピュータシステム、コンピュータのネットワーク、コンピュータおよびその他の電子デバイスの組合せ、またはその他の電子デバイスなどの任意の種類のコンピューティングデバイスとして具現化される可能性がある。はっきりと示されていないが、概して、I/Oサブシステム616は、とりわけ、I/Oコントローラ、メモリコントローラ、および1つまたは複数のI/Oポートを含むことを理解されたい。プロセッサ612およびI/Oサブシステム616は、メモリ614と通信可能なように結合される。メモリ614は、任意の種類の好適なコンピュータメモリデバイス(たとえば、様々な形態のランダムアクセスメモリなどの揮発性メモリ)として具現化される可能性がある。
【０１２９】
I/Oサブシステム616は、1つまたは複数のユーザ入力デバイス112a(たとえば、タッチスクリーン、キーボード、仮想キーパッド、マイクロフォンなど)、1つまたは複数のストレージ媒体620、1つまたは複数の出力デバイス622(たとえば、スピーカ、LEDなど)、1つまたは複数のモデル訓練モジュール106、1つまたは複数のモデル検査モジュール116、1つまたは複数のモデル修復モジュール120、1つまたは複数のデータ修復モジュール122、1つまたは複数の報酬修復モジュール、および1つまたは複数のネットワークインターフェース632を含むいくつかの構成要素に通信可能なように結合される。
【０１３０】
提供されるユーザインターフェース112aおよび112bは、上述のように、信用に関連する制約114を受け付ける可能性がある。
【０１３１】
ストレージ媒体620は、1つまたは複数のハードドライブまたはその他の好適なデータストレージデバイス(たとえば、フラッシュメモリ、メモリ、カード、メモリスティックなど)を含み得る。一部の実施形態において、システムソフトウェア(たとえば、オペレーティングシステムなど)、フレームワーク/ミドルウェア(たとえば、API、オブジェクトライブラリなど)、マルチタスクマルチモーダルデータキャプチャ/アクセスモジュール110、および/またはマルチタスクマルチモーダルデータアナライザ118の一部は、少なくとも一時的にストレージ媒体620内に存在する。システムソフトウェア、フレームワーク/ミドルウェア、マルチタスクマルチモーダルデータキャプチャ/アクセスモジュール110、および/またはマルチタスクマルチモーダルデータアナライザ118の一部は、より高速な処理またはその他の理由で、コンピューティングデバイス610の動作中にメモリ614にコピーされる可能性がある。
【０１３２】
1つまたは複数のネットワークインターフェース632は、コンピューティングデバイス610を、たとえば、ローカルエリアネットワーク、広域ネットワーク、パーソナルクラウド、エンタープライズクラウド、パブリッククラウド、および/またはインターネットなどのネットワークに通信可能なように結合する可能性がある。したがって、ネットワークインターフェース632は、特定のコンピューティングシステム600の仕様および/または設計に従って必要に応じて、たとえば、1つまたは複数の有線またはワイヤレスネットワークインターフェースカードまたはアダプタを含み得る。ネットワークインターフェース632は、たとえば、近距離無線通信(NFC)、ワイヤレスフィデリティ(Wi-Fi)、無線周波数識別(RFID)、赤外線(IR)、またはその他の好適なテクノロジーを使用して近距離ワイヤレスまたは光通信能力を提供する可能性がある。
【０１３３】
その他のコンピューティングシステム642は、上述の種類のデバイスまたはその他の電子デバイスまたはシステムのいずれかなどの任意の好適な種類のコンピューティングシステムまたはデバイスである可能性がある。たとえば、一部の実施形態において、その他のコンピューティングシステム642は、モード108の一部を記憶するために使用される1つまたは複数のサーバコンピュータを含み得る。一部の実施形態において、その他のコンピューティングシステム642は、コンピュータシステム148である可能性があり、コントローラ150を含む。コンピューティングシステム600は、説明を明瞭にするために図6に示されていないその他の構成要素、下位構成要素、およびデバイスを含み得る。概して、コンピューティングシステム600の構成要素は、それぞれのデバイスおよび構成要素の間の通信を容易にすることができる任意の種類の有線またはワイヤレス信号経路として具現化され得る電子信号経路によって図6に示されるように通信可能なように結合される。
【０１３４】
上述の説明においては、本開示をより完全に理解してもらうために多くの具体的な詳細、例、および筋書きが説明されている。しかし、本開示の実施形態がそのような具体的な詳細なしに実施され得ることが理解される。さらに、そのような例および筋書きは、例示のために与えられており、本開示を限定するようにまったく意図されていない。当業者は、含まれる説明によって、過度の実験なしに適切な機能を実装することができるはずである。
【０１３５】
「実施形態」などの本明細書における言及は、説明された実施形態が特定の特徴、構造、または特性を含む可能性があるが、あらゆる実施形態が特定の特徴、構造、または特性を含むとは限らない可能性があることを示す。そのような語句は、必ずしも同じ実施形態への言及であるとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関連して説明されるとき、明示的に示されているか否かにかかわらず、その他の実施形態に関連してそのような特徴、構造、または特性を実現することは、当業者の知識の範疇であると考えられる。
【０１３６】
本開示による実施形態は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せで実装され得る。実施形態は、1つまたは複数のプロセッサによって読み取られ、実行され得る、1つまたは複数の機械可読媒体を使用して記憶された命令として実装される可能性もある。機械可読媒体は、マシン(たとえば、コンピューティングデバイス、または1つもしくは複数のコンピューティングデバイス上で実行される「仮想マシン」)によって読み取り可能な形態で情報を記憶または送信するための任意のメカニズムを含み得る。たとえば、機械可読媒体は、任意の好適な形態の揮発性または不揮発性メモリを含み得る。
【０１３７】
本明細書において定義されたモジュール、データ構造などは、検討を容易にするためにそのように定義されており、いかなる特定の実装の詳細が必要とされることを示唆するようにも意図されていない。たとえば、説明されたモジュールおよび/またはデータ構造のいずれかが、特定の設計または実装によって必要に応じて組み合わされるかまたはコンピュータコードもしくはデータの下位モジュール、下位プロセス、もしくはその他の単位に分割される可能性がある。
【０１３８】
図面において、図の要素の特定の配列または順序は、説明を容易にするために示されている可能性がある。しかし、そのような要素の特定の順序または配列は、処理の特定の順序もしくはシーケンスまたはプロセスの分割がすべての実施形態において必要とされることを示唆するように意図されていない。概して、命令ブロックまたはモジュールを表すために使用された図の要素は、任意の好適な形態の機械可読命令を使用して実装される可能性があり、それぞれのそのような命令は、任意の好適なプログラミング言語、ライブラリ、アプリケーションプログラミングインターフェース(API)、および/またはその他のソフトウェア開発ツールもしくはフレームワークを使用して実装される可能性がある。同様に、データまたは情報を表すために使用された図の要素は、任意の好適な電子的配列またはデータ構造を使用して実装される可能性がある。さらに、要素の間の一部の接続、関係、または関連付けは、本開示を曖昧にしないために図面においては簡略化されているかまたは示されていない可能性がある。
【０１３９】
本開示は、例示的であると考えられるべきであり、特徴を制限すると考えられるべきでなく、本開示の指針の範疇に入るすべての変更および修正は、保護されることが望まれる。
【符号の説明】
【０１４０】
100  機械学習システム
102  データソース
104  データ(D)
106  モデル訓練モジュール
108  モデル(M)
109  アプリケーションプログラミングインターフェース(API)/ユーザインターフェース
110  報酬関数、マルチタスクマルチモーダルデータキャプチャ/アクセスモジュール
112  ユーザインターフェース
112a  ユーザ入力デバイス、ユーザインターフェース
112b  ユーザインターフェース
113  パラメータ
114  信用に関連する制約
116  モデル検査モジュール
117  出力ディスプレイ
118  修復モジュール、マルチタスクマルチモーダルデータアナライザ
120  モデル修復モジュール
122  データ修復モジュール
124  報酬修復モジュール
148  コンピュータシステム
150  コントローラ
152  システムの行動
500  方法
550  方法
600  コンピューティング環境、例示的な実装
610  コンピューティングデバイス
612  プロセッサ
614  メモリ
616  入力/出力(I/O)サブシステム
620  ストレージ媒体
622  出力デバイス
632  ネットワークインターフェース
640  ネットワーク
642  その他のコンピューティングシステムまたはデバイス
【図１Ａ】
2019526107.tif 000019
【図１Ｂ】
2019526107.tif 000020
【図１Ｃ】
2019526107.tif 000021
【図２Ａ】
2019526107.tif 000022
【図２Ｂ】
2019526107.tif 000023
【図２Ｃ】
2019526107.tif 000024
【図３Ａ】
2019526107.tif 000025
【図３Ｂ】
2019526107.tif 000026
【図４】
2019526107.tif 000027
【図５Ａ】
2019526107.tif 000028
【図５Ｂ】
2019526107.tif 000029
【図６】
2019526107.tif 000030
【国際調査報告】
2019526107.tif 000031