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

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

▶ ノースロップ グラマン システムズ コーポレイションの特許一覧

特許7453466機械学習アルゴリズムの挙動を評価するためのシステムおよび方法
<>
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図1
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図2
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図3
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図4
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図5
  • 特許-機械学習アルゴリズムの挙動を評価するためのシステムおよび方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】機械学習アルゴリズムの挙動を評価するためのシステムおよび方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240312BHJP
【FI】
G06N20/00
【請求項の数】 15
(21)【出願番号】P 2023501502
(86)(22)【出願日】2021-05-28
(65)【公表番号】
(43)【公表日】2023-08-04
(86)【国際出願番号】 US2021034740
(87)【国際公開番号】W WO2022010591
(87)【国際公開日】2022-01-13
【審査請求日】2023-02-10
(31)【優先権主張番号】16/922,775
(32)【優先日】2020-07-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520128820
【氏名又は名称】ノースロップ グラマン システムズ コーポレーション
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ラドゥリーニ、アーロン アール.
(72)【発明者】
【氏名】コム、アンドリュー ダブリュ.
(72)【発明者】
【氏名】ハワード、レベッカ エイ.
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2019-219959(JP,A)
【文献】国際公開第2020/121665(WO,A1)
【文献】米国特許出願公開第2019/0213056(US,A1)
【文献】米国特許出願公開第2019/0095819(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
機械学習(以下、MLとする)アルゴリズムの実行後評価のためのコンピュータが実施する方法であって、
複数の挙動状態を有する実行後バージョンの前記MLアルゴリズムを含むML挙動データを受信するステップであって、前記複数の挙動状態は、前記MLアルゴリズムの複数の異なる意思決定状態に対応している、前記ML挙動データを受信するステップと、
前記複数の挙動状態の各々を前記MLアルゴリズムに関する承認された挙動状態のライブラリと比較することによって、前記複数の挙動状態を評価して、前記MLアルゴリズムの前記複数の挙動状態から所与の挙動状態を識別するステップであって、前記所与の挙動状態は、前記MLアルゴリズムに関する前記承認された挙動状態のライブラリの一部ではない前記MLアルゴリズムの意思決定状態に対応している、前記所与の挙動状態を識別するステップと、
評価に基づいて挙動評価データを生成するステップであって、前記挙動評価データは、前記所与の挙動状態が前記MLアルゴリズムの承認された挙動状態ではないことを指示する、前記挙動評価データを生成するステップと、
前記挙動評価データに基づいて、前記MLアルゴリズムの学習された挙動状態を修正することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供するステップと、を含む方法。
【請求項2】
前記MLアルゴリズムは、システムの処理デバイス上に実装されるとともに、前記システムの挙動を制御するようにプログラムされ、前記処理デバイス上での前記MLアルゴリズムの実行中に、前記MLアルゴリズムは、前記実行後バージョンの前記MLアルゴリズムを提供するために前記学習プロセスを更新し、前記学習プロセスに対する各更新は、前記MLアルゴリズムの前記複数の挙動状態の個々の挙動状態に対応し、前記学習プロセスに対する各更新は、前記学習プロセスの少なくとも1つのパラメータを更新することを含む、請求項1に記載のコンピュータが実施する方法。
【請求項3】
評価することは、前記MLアルゴリズムの前記複数の挙動状態の各々に関する前記学習プロセスの前記少なくとも1つのパラメータを、前記承認された挙動状態のライブラリの承認された挙動状態の対応するパラメータと比較して、前記所与の挙動状態を識別することを含む、請求項2に記載のコンピュータが実施する方法。
【請求項4】
評価に基づいて、前記MLアルゴリズムの前記複数の挙動状態から他の挙動状態を識別する挙動識別データを生成するステップをさらに含み、前記他の挙動状態は、前記MLアルゴリズムに関する前記承認された挙動状態のライブラリの一部ではない前記MLアルゴリズムの別の意思決定状態に対応している、請求項3に記載のコンピュータが実施する方法。
【請求項5】
出力デバイス上に表示するための複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(GUI)を生成するステップをさらに含み、前記複数のグラフィカルオブジェクトのうちの所与のグラフィカルオブジェクトは、挙動オブジェクトに対応するとともに、前記挙動識別データに基づいて生成され、前記挙動オブジェクトは、前記MLアルゴリズムの前記他の挙動状態を特徴付ける、請求項4に記載のコンピュータが実施する方法。
【請求項6】
入力デバイスを介したユーザによる前記挙動オブジェクトとの対話に基づいて追加の挙動評価データを生成するステップをさらに含み、前記追加の挙動評価データは、前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であること、前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態でないこと、前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの更新のうちの1つを指示する、請求項5に記載のコンピュータが実施する方法。
【請求項7】
前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であることを指示する前記追加の挙動評価データに基づいて、前記他の挙動状態を含むように前記承認された挙動状態のライブラリを更新するステップをさらに含む、請求項6に記載のコンピュータが実施する方法。
【請求項8】
前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する前記承認された挙動状態ではないこと、および前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記更新のうちの1つを指示する前記追加の挙動評価データに基づいて、前記MLアルゴリズムの前記他の挙動状態を更新することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスをさらに変更するステップをさらに含む、請求項6に記載のコンピュータが実施する方法。
【請求項9】
前記学習プロセスに対する変更は、前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記少なくとも1つのパラメータに関する更新されたパラメータ値に対応する、請求項8に記載のコンピュータが実施する方法。
【請求項10】
前記追加の挙動評価データに基づいて前記MLアルゴリズムの前記他の挙動状態を更新することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスをさらに変更するステップをさらに含む、請求項9に記載のコンピュータが実施する方法。
【請求項11】
前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記少なくとも1つのパラメータに関する前記更新されたパラメータ値に基づいて、更新されたバージョンの前記他の挙動状態を生成するステップと、
前記更新されたバージョンの前記他の挙動状態を含むように前記承認された挙動状態のライブラリを更新するステップと、を含む、請求項10に記載のコンピュータが実施する方法。
【請求項12】
機械学習(以下、MLとする)アルゴリズムの実行後評価のためのシステムであって、
機械可読命令およびデータを保存するためのメモリであって、前記データが、複数の挙動状態を有する実行後バージョンの前記MLアルゴリズムを含み、前記複数の挙動状態が、前記MLアルゴリズムの複数の異なる意思決定状態に対応している、前記メモリと、
前記メモリにアクセスして、前記機械可読命令を実行するための1つまたは複数のプロセッサと、を備え、前記機械可読命令は、
ML評価器モジュールであって、
前記ML評価器モジュールは、前記MLアルゴリズムの前記複数の挙動状態から所与の挙動状態を識別する挙動識別データを生成するようにプログラムされており、前記所与の挙動状態は、前記MLアルゴリズムの実行中に前記MLアルゴリズムが学習した前記MLアルゴリズムの意思決定状態に対応している、前記ML評価器モジュールと、
決定木モジュールであって、
前記決定木モジュールは、前記MLアルゴリズムの前記所与の挙動状態を特徴付ける挙動オブジェクトを含む複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(GUI)を生成し、前記挙動オブジェクトは、前記挙動識別データに基づいて生成され、
前記決定木モジュールは、入力デバイスを介したユーザによる前記挙動オブジェクトとの対話に基づいて挙動評価データを生成し、前記挙動評価データは、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であること、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態でないこと、前記MLアルゴリズムの前記所与の挙動状態に対する学習プロセスの更新のうちの1つを指示する、前記決定木モジュールと、
ML挙動調整モジュールであって、
前記挙動評価データに基づいて前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更するように構成された前記ML挙動調整モジュールと、を備えるシステム。
【請求項13】
前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更することは、
前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態ではないことを指示する前記挙動評価データに基づいて、前記MLアルゴリズムから前記所与の挙動状態を削除して前記学習プロセスを変更すること、
前記MLアルゴリズムの前記所与の挙動状態に関する学習プロセスに対する更新を指示する前記挙動評価データに基づいて、更新されたパラメータ値を用いて前記MLアルゴリズムの前記所与の挙動状態に関する前記学習プロセスの少なくとも1つのパラメータを更新して前記MLアルゴリズムの前記学習プロセスを変更すること、のうちの1つを含む、請求項12に記載のシステム。
【請求項14】
前記挙動識別データを生成することは、前記MLアルゴリズムに関する承認された挙動状態のライブラリに対して前記MLアルゴリズムの前記複数の挙動状態を評価して、前記所与の挙動状態を識別することを含む、請求項13に記載のシステム。
【請求項15】
前記MLアルゴリズムは、無人車両(UV)の処理デバイス上で一定期間にわたって実行して、前記実行後バージョンのMLアルゴリズムを提供するようにプログラムされる、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習アルゴリズムの挙動(behavior)を評価するためのシステムおよび方法に関する。
【背景技術】
【0002】
機械学習は、データ内の新たなパターンを識別しながら「学習する」人工知能の一種である。機械学習アルゴリズムの種類は、それらのアプローチ、それらが入力および出力するデータの種類、ならびにそれらが解決しようとするタスクまたは問題の種類によって異なる。MLアルゴリズムは、教師あり、半教師あり、教師なし、強化機械学習アルゴリズムの4種類に大きく分類され得る。
【発明の概要】
【0003】
一例では、機械学習(ML)アルゴリズムの実行後評価のためのコンピュータが実施する方法は、複数の挙動状態を有する実行後バージョンのMLアルゴリズムを含むML挙動データを受信することを含み得る。複数の挙動状態は、MLアルゴリズムの実行中のMLアルゴリズムの複数の異なる意思決定状態に対応し得る。コンピュータが実施する方法は、複数の挙動状態の各々をMLアルゴリズムに関する承認された挙動状態のライブラリと比較することによって、複数の挙動状態を評価して、MLアルゴリズムの複数の挙動状態から所与の挙動状態を識別することをさらに含み得る。所与の挙動状態は、MLアルゴリズムに関する承認された挙動状態のライブラリの一部ではないMLアルゴリズムの意思決定状態に対応し得る。コンピュータが実施する方法は、評価に基づいて挙動評価データを生成することをさらに含み得る。挙動評価データは、所与の挙動状態がMLアルゴリズムに関する承認された挙動状態ではないことを指示し得る。コンピュータが実施する方法は、挙動評価データに基づいて、MLアルゴリズムの学習された挙動状態を修正することによって、MLアルゴリズムを更新してMLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供することをさらに含み得る。
【0004】
別の例では、MLアルゴリズムの実行後評価のためのシステムは、機械可読命令およびデータを保存するメモリを含む。データは、複数の挙動状態を有する実行後バージョンのMLアルゴリズムを含み得る。複数の挙動状態は、MLアルゴリズムの実行中のMLアルゴリズムの複数の異なる意思決定状態に対応し得る。システムは、メモリにアクセスし、機械可読命令を実行するための1つまたは複数のプロセッサをさらに含む。機械可読命令は、ML評価器モジュール、決定木モジュール、およびML挙動調整モジュールを含み得る。ML評価器モジュールは、MLアルゴリズムの複数の挙動状態から所与の挙動状態を識別する挙動識別データを生成するようにプログラムされ得る。所与の挙動状態は、MLアルゴリズムの実行中にMLアルゴリズムが学習したMLアルゴリズムの意思決定状態に対応し得る。決定木モジュールは、MLアルゴリズムの所与の挙動状態を特徴付ける挙動オブジェクトを含む複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(GUI)を生成するようにプログラムされ得る。挙動オブジェクトは、挙動識別データに基づいて生成され得る。決定木モジュールは、入力デバイスを介したユーザによる挙動オブジェクトとの対話に基づいて、挙動評価データを生成するようにさらにプログラムされ得る。挙動評価データは、MLアルゴリズムの所与の挙動状態がMLアルゴリズムに関する承認された挙動状態であること、MLアルゴリズムの所与の挙動状態がMLアルゴリズムに関する承認された挙動状態ではないこと、およびMLアルゴリズムの所与の挙動状態に対する学習プロセスの更新のうちの1つを指示し得る。ML挙動調整モジュールは、挙動評価データに基づいてMLアルゴリズムを更新して、MLアルゴリズムの学習プロセスを変更するようにプログラムされる。
【0005】
さらなる例では、プロセッサによって実行され得る命令を含む1つまたは複数の非一時的コンピュータ可読媒体が使用され得る。命令は、ミッションを実行するように構成された無人機(UV)のナビゲーションおよび制御システム(NCS)上で実行するようにプログラムされたMLアルゴリズムの評価のための方法を実行するようにプログラムされ得る。方法は、複数の挙動状態を有する実行後バージョンのMLアルゴリズムを含むML挙動データを受信することを含み得る。複数の挙動状態は、MLアルゴリズムの実行中のMLアルゴリズムの複数の異なる意思決定状態に対応し得る。MLアルゴリズムの各意思決定状態は、UVによって実行されるミッション中にMLアルゴリズムの学習プロセスに対する個々の変化を引き起こし得る。方法は、MLアルゴリズムの複数の挙動状態から所与の挙動状態を識別する挙動識別データを生成することをさらに含み得る。所与の挙動状態は、UVによって実行されるミッション中にMLアルゴリズムが展開したMLアルゴリズムの個々の意思決定状態に対応し得る。方法は、挙動オブジェクトを含む複数のグラフィカルオブジェクトを含むGUIを生成することをさらに含み得る。挙動オブジェクトは、MLアルゴリズムの所与の挙動状態を特徴付け得る。挙動オブジェクトは、挙動識別データに基づいて生成され得る。方法は、入力デバイスを介したユーザによる挙動オブジェクトとの対話に基づいて、挙動評価データを生成することをさらに含み得る。挙動評価データは、MLアルゴリズムの所与の挙動状態がMLアルゴリズムに関する承認された挙動状態であること、MLアルゴリズムの所与の挙動状態がMLアルゴリズムに関する承認された挙動状態でないこと、MLアルゴリズムの所与の挙動状態に対する学習プロセスに対する更新のうちの1つを指示し得る。方法は、挙動評価データに基づいてMLアルゴリズムを更新してMLアルゴリズムの学習プロセスを変更して、UVによって実行される後続のミッションに対して更新されたMLアルゴリズムを提供することをさらに含み得る。
【図面の簡単な説明】
【0006】
図1】機械学習(ML)アルゴリズムの挙動評価を実施するための例示的な環境を示す図である。
図2】ML分析システムの一例を示す図である。
図3】決定木ユーザインタフェース(GUI)の一例を示す図である。
図4】別の決定木GUIの例を示す図である。
図5】MLアルゴリズムの挙動を検証するための方法の一例を示すフロー図である。
図6】MLアルゴリズムの挙動を検証するための方法の別の例を示すフロー図である。
【発明を実施するための形態】
【0007】
本発明は、機械学習(ML)アルゴリズムの挙動を評価するためのシステムおよび方法に関する。いくつかの例では、MLアルゴリズムの性能を事後的に(例えば、MLアルゴリズムの前回の使用から一定期間経過後に)に評価するためにML分析システムが使用され得る。評価は、MLアルゴリズムの挙動が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズムの挙動特性を決定することを含み得る。MLアルゴリズムに関して本明細書で使用される「挙動」という用語は、MLアルゴリズムの学習プロセス(例えば、意思決定プロセス)を意味する。MLアルゴリズムの使用中に、学習プロセスの少なくとも1つのパラメータが更新されるように、学習プロセスの状態が変化し(例えば、更新され)得る。学習プロセスの各異なる状態は、本明細書では挙動状態と呼ばれ得る。従って、MLアルゴリズムは、複数の挙動状態を有し得、各状態は、MLアルゴリズムの学習プロセスの更新バージョンに対応し得る。従って、MLアルゴリズムの学習プロセスが使用中に進化するにつれて、各進化(例えば、変化)により、MLアルゴリズムが少なくとも1つのパラメータを新たな値に更新することが生じ得る。
【0008】
いくつかの例では、ML分析システムは、ML評価器モジュールを含む。ML評価器モジュールは、MLアルゴリズムの各挙動状態を評価して、例えば、複数の挙動状態から学習された挙動状態(例えば、新たな機械コード)を識別することなどを行うように構成され得る。本明細書で使用される「学習された挙動状態」という用語は、MLアルゴリズムが使用されてから展開されたMLアルゴリズムの学習プロセスの状態を意味する。ML評価器モジュールは、MLアルゴリズムの挙動状態を評価して、学習された挙動状態が承認された挙動状態であるかどうかを判定するようにプログラムされ得る。本明細書で使用される「承認された挙動状態」という用語は、承認されたMLアルゴリズムの学習プロセスの状態を意味する。いくつかの例では、ML評価器モジュールは、各挙動状態をMLアルゴリズムに関する承認された挙動状態のライブラリと比較して、各挙動状態がMLアルゴリズムに関する承認された挙動状態であるかどうかを判定するようにプログラムされ得る。ML評価器モジュールは、比較に基づいて挙動評価データを出力するようにプログラムされ得る。挙動評価データは、学習された挙動が承認されたか、または承認されなかったかを指示し得る。いくつかの例では、挙動評価データは、本明細書で説明するように、MLアルゴリズムの学習された挙動状態を更新するための情報を含み得る。例えば、挙動評価データは、学習された挙動状態の修正されたバージョンを提供するために学習された挙動状態を修正するなどのために、学習された挙動状態に関連付けられた少なくとも1つのパラメータの新たな値を指定し得る。
【0009】
いくつかの例では、ML分析システムは、ML挙動調整モジュールを含む。ML挙動調整モジュールは、挙動評価データを使用してMLアルゴリズムを更新してMLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供するようにプログラムされ得る。更新されたMLアルゴリズムは、MLアルゴリズムの少なくとも1つの挙動状態が変更されたバージョンのMLアルゴリズムに対応し得る。いくつかの例では、ML分析システムは、決定木モジュールを含む。決定木モジュールは、MLアルゴリズムの学習された挙動状態の承認、修正、および削除のための対話型タイムラインを有する決定木グラフィカルユーザインタフェース(GUI)を生成するようにプログラムされ得る。ML挙動調整モジュールは、本明細書に説明されるように、ユーザの決定木GUIとの対話に基づいて、MLアルゴリズムを更新し、更新されたMLアルゴリズムを提供するようにプログラムされ得る。
【0010】
従って、本明細書で説明されるシステムおよび方法は、MLアルゴリズムの学習された挙動状態が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズムの事後分析を可能にする。検証は、MLアルゴリズムに関する承認された挙動状態のライブラリ、またはユーザの決定木GUIとの対話に基づくものであり得る。決定木GUIは、ユーザが、アルゴリズム意思決定プロセスを分析し、MLアルゴリズムが特定の結果を提供する原因となった状態(例えば、環境状態等の外部状態)を識別することを可能にする。ユーザは、決定木GUIを介してMLアルゴリズムを削除または修正することによって、学習プロセスを変更して、学習された挙動状態を除去し得る。MLアルゴリズムを更新することは、ユーザが数千行のコードを検討してMLアルゴリズムの挙動学的変化を決定しなければならないという複雑な性質のために、時間がかかり、かつ高度な技術を必要とするプロセスである。本明細書で説明するように、ML分析システムを使用することによって、ユーザは、MLアルゴリズムがどのように挙動しているかをより効率的に判定することができ、MLアルゴリズムが作成されたネイティブコーディング言語をユーザが理解することを必要としない。
【0011】
図1は、機械学習(ML)アルゴリズムの挙動評価を実施するための例示的な環境100を示す。いくつかの例では、MLアルゴリズム102は、MLアルゴリズム102の用途に応じて、教師なし学習アルゴリズム、教師あり学習アルゴリズム、半教師あり学習アルゴリズムとして、または強化学習アルゴリズムとして実施され得る。本明細書では、MLアルゴリズム102が自律車両環境において実施される例が提示されるが、本明細書の例は、自律車両環境のみに解釈または限定されるべきではない。MLアルゴリズム102は、ML入力データ104を受信し、ML入力データ104を処理して結果データを提供するようにプログラムされ得る。MLアルゴリズム102は、コンピュータ(例えば、コンピュータの1つまたは複数のプロセッサ)、組み込みシステム、車両制御システム(例えば、コントローラ)等の処理デバイス106上の対応する用途環境において実行され得る命令のセットに対応するコード(例えば、機械コード)として実施され得る。処理デバイス106は、システム108上に実装され得る。処理デバイス106は、システム108の動作を制御するようにプログラムされた制御機能110(例えば、1つまたは複数のルーチンのセット)を含み得る。
【0012】
MLアルゴリズム102は、制御機能110によって実施されるタスクの性能を制御するために使用し得る。例として、タスクは、飛行制御、照明制御、コンピュータリソースのスケジューリング、ロボット制御、化学反応の最適化、ニュース推奨などを含み得る。いくつかの例では、タスクの実行中に、MLアルゴリズム102は、ML入力データ104を受信し、ML入力データ104に基づいて結果データを制御機能110に提供するようにプログラムされ得る。結果データは、予測値、分類値、推奨値、システムパラメータ値などを含み得る。従って、結果データの値は、MLアルゴリズム102が使用される対応する用途環境に基づくものであり得る。ML入力データ104は、システム108の制御のために制御機能110に結果を提供するためにMLアルゴリズム102が処理し得る任意のタイプのデータに対応し得る。
【0013】
MLアルゴリズム102は、システム108上で使用され、かつ処理デバイス106上で実行し得る。MLアルゴリズム102は、ML入力データ104に基づいて結果データを提供するための内部学習プロセス(例えば、1つまたは複数のモデル)を更新し得る。内部意思決定プロセスの各更新は、意思決定プロセスの少なくとも1つのパラメータを更新することに対応し得る。学習プロセスの状態は、学習プロセスの少なくとも1つのパラメータが更新されるように、実行中に変化し(例えば、更新され)得る。学習プロセスの各異なる状態は、本明細書では挙動状態と呼ばれ得る。従って、MLアルゴリズム102は、複数の挙動状態を有し得、各状態は、MLアルゴリズム102の学習プロセスの更新バージョンに対応し得る。MLアルゴリズム102の学習プロセスが使用中に進化するにつれて、各進化(例えば、変化)により、MLアルゴリズム102が少なくとも1つのパラメータを新たな値に更新することが生じ得る。いくつかの例では、少なくとも1つのパラメータは、重み、ベクトル(例えば、サポートベクトル)、係数などを含む。本明細書で説明されるように、MLアルゴリズム102の各挙動状態は、MLアルゴリズム102の挙動状態が、システム108におけるMLアルゴリズム102の将来の使用のために検証(例えば、承認、削除、または修正)され得るように、(例えば、事後分析を介して)評価され得る。
【0014】
いくつかの例では、ML分析システム112は、MLアルゴリズム102の挙動性能を評価して、例えば、MLアルゴリズム102の挙動状態の中から学習された挙動状態を識別するなどのために使用され得る。ML分析システム112は、本明細書で説明されるように、学習された挙動状態を検証し得る。ML分析システム108は、プロセッサ114を含む。プロセッサ114は、ML分析システム112のメモリ116にアクセスし得る。メモリ116は、本明細書で説明するように、1つまたは複数の機能を実施するなどのために、プログラムを表すことができるとともに、プロセッサ114によって実行され得る機械可読命令を含み得る。
【0015】
プロセッサ114は、機械可読命令を実行して、ML評価器モジュール118を実装し得る。いくつかの例では、ML評価器モジュール118は、システム108に関するシステムデータ120を受信するようにプログラムされ得る。システムデータ120は、システム108によって実施される動作を特徴付け得る。システムデータ120は、制御機能110によって実施されるタスクを特徴付けるタスク情報を含み得る。いくつかの例では、システムデータ120は、イベントタイミングデータ122を含む。イベントタイミングデータ122は、システム108に関するイベントのタイミング情報を特徴付け得る。イベントは、MLアルゴリズム102においてML入力データ104を受信し、結果データを制御機能110に提供する等のMLイベントを含むことができ、さらに、制御機能110において結果データを受信する等の制御機能イベントを含み得る。従って、イベントタイミングデータ122は、MLアルゴリズム102および制御機能110に関して各イベントが発生した時間を識別し得る。いくつかの例では、イベントタイミングデータ122は、システム108によって実施された各動作の個々の時間などのシステムイベントを含む。いくつかの例では、システムはイベントロガーを含み、イベントロガーは、MLアルゴリズム102および制御機能110によって実施される各イベントおよび各イベントの時間を監視および記録するように構成され得る。システムデータ120は、MLアルゴリズム102の挙動状態を特徴付けるMLデータ124をさらに含み得る。従って、MLデータ124は、MLアルゴリズム102の挙動状態ごとに学習プロセスの少なくとも1つのパラメータを特徴付け得る。いくつかの例では、MLデータ124はMLアルゴリズム102を含む。
【0016】
いくつかの例では、ML評価器モジュール118は、MLアルゴリズム102の各挙動状態を評価して、各挙動状態がMLデータ124に基づいてMLアルゴリズム102に関する承認された挙動状態であるかどうかを判定するようにプログラムされる。いくつかの例では、ML評価器モジュール118は、学習された挙動状態を評価して、学習された挙動状態がMLアルゴリズム102の承認された挙動であるかどうかを判定する。いくつかの例では、ML評価器モジュール118は、学習された挙動状態を更新して、学習プロセスが、将来の使用において学習された挙動状態を削除することに対応して学習された挙動状態を使用することを許可しないようにプログラムされ得る。
【0017】
いくつかの例では、ML評価器モジュール118は、承認された挙動状態のライブラリを含み得る。承認された挙動状態のライブラリは、MLアルゴリズム102に関する承認された挙動状態を含み得る。ML評価器モジュール118は、MLデータ124によって特徴付けられたMLアルゴリズム102の各挙動状態を挙動状態のライブラリと比較して、各挙動がMLアルゴリズム102の承認された挙動であるかどうかを判定するようにプログラムされ得る。例えば、ML評価器モジュール118は、MLアルゴリズム102に関する承認された挙動状態のパラメータに対して学習された挙動状態に関する少なくとも1つのパラメータを比較するようにプログラムされ得る。ML評価器モジュール118は、比較に基づいて挙動評価データ126を出力するようにプログラムされ得る。挙動評価データ126は、学習された挙動状態が承認されていないことを示し得る。
【0018】
いくつかの例では、メモリ116は、ML挙動調整モジュール128を使用する。ML挙動調整モジュール128は、挙動評価データ126を使用して、MLアルゴリズム102の学習された挙動状態を更新し、更新されたMLアルゴリズム130を提供するようにプログラムされ得る。更新されたMLアルゴリズム130は、MLアルゴリズムの挙動状態が変更された(例えば、修正された)バージョンのMLアルゴリズム102に対応し得る。ML挙動調整モジュール128は、MLアルゴリズム102と通信するようにプログラムされ得る。ML挙動調整モジュール128は、MLアルゴリズム102とインタフェースして、MLアルゴリズム102の挙動状態を更新するようにプログラムされ得る。例えば、ML挙動調整モジュール128は、挙動評価データ126に基づいて(例えば、学習された挙動状態に関連付けられた少なくとも1つのパラメータを更新することによって)学習された挙動状態を削除して、更新されたMLアルゴリズム130を提供するようにプログラムされ得る。
【0019】
いくつかの例では、ML評価器モジュール118は、挙動識別データ132を出力するようにプログラムされる。挙動識別データ132は、MLアルゴリズム102の挙動状態の中から学習された挙動状態を識別し得る。いくつかの例では、ML評価器モジュール118は、制御機能110の個々のタスクをシステム108によって実施される対応する動作に関連付け、さらに、システムデータ120に基づいて、個々のタスクをMLアルゴリズム102の対応する挙動状態に関連付けるようにプログラムされる。例えば、ML評価器モジュール118は、制御機能110およびMLアルゴリズム102の各イベントに関するイベントタイミングデータ122を使用して、一部のML入力データ104を識別するようにプログラムされる。ML評価器モジュール118は、イベントタイミングデータ122に基づいて、一部のML入力データ104を、MLアルゴリズム102によって提供される結果データの個々の結果に関連付けるようにプログラムされ得る。
【0020】
MLアルゴリズム102によって提供される個々の結果の時間は既知であり、制御機能110によって受信される個々の結果の時間は、イベントタイミングデータ122に基づいて既知であるので、ML評価器モジュール118は、一部のML入力データを、制御機能110によって実施される対応するタスクに関連付け得る。従って、ML評価器モジュール118は、制御機能110によって実施される個々のタスクを、イベントタイミングデータ122に基づいてMLアルゴリズムの個々の挙動状態および一部のML入力データ104に関連付けるようにプログラムされ得る。ML評価器モジュール118は、タスクと、MLアルゴリズム102の挙動状態および対応する一部のML入力データ104との関連付けを特徴付けるタスク挙動データ134を提供するようにプログラムされ得る。
【0021】
いくつかの例では、メモリ116は、決定木モジュール136を含む。決定木モジュール136は、MLアルゴリズム102の学習された挙動状態の検証のための対話型タイムラインを有する決定木GUIを提供するようにプログラムされ得る。決定木モジュール136は、決定木GUIを表示するために出力デバイス138に提供するようにプログラムされ得る。決定木モジュール136は、システムデータ120、挙動識別データ132、およびタスク挙動データ134に基づいて決定木GUIを生成するようにプログラムされ得る。ユーザは、対話型タイムラインと対話して、MLアルゴリズム102の学習された挙動状態を検証し得る。対話型タイムラインは、ユーザが、システム106に関する制御情報、制御機能に関するタスク情報、およびMLアルゴリズム102の学習された挙動状態を視覚化することを可能にする。いくつかの例では、ユーザは、決定木GUIと対話して、MLアルゴリズム102の学習された挙動状態を承認、修正、または削除し得る。ユーザは、入力デバイス140を使用して決定木GUIと対話し得る。
【0022】
いくつかの例では、グラフィカルタイムラインは、制御機能110の実行時間ウィンドウを設定するためにユーザが対話し得る対話型時間オブジェクトを含み得る。実行時間ウィンドウは、制御機能110の実行(例えば、ランタイム)中の期間に対応し得る。実行時間ウィンドウを設定することによって、決定木モジュール136は、決定木GUIを更新して、実行時間ウィンドウ内の時間にシステム108に1つまたは複数の動作を実施させる制御機能110によって実行される1つまたは複数のタスクに対応する1つまたは複数のタスクオブジェクトを表示するようにプログラムされ得る。いくつかの例では、決定木GUIは、システム108の状態を特徴付ける状態オブジェクトと、制御機能110によって実施されるタスクを特徴付けるタスクオブジェクトとを含む。決定木モジュール136は、システムデータ120を解析して、タスクオブジェクトおよび状態オブジェクトを追加する(populating)ための関連情報を識別するようにプログラムされ得る。
【0023】
いくつかの例では、決定木モジュール136は、決定木GUIに挙動オブジェクトを提供するようにプログラムされ得る。挙動オブジェクトは、MLアルゴリズム102の学習された挙動状態を特徴付け得る。挙動オブジェクトは、MLアルゴリズム102の学習された挙動状態に関連付けられた個々のタスクに対応するタスクオブジェクトに関連付けられ得る。
【0024】
いくつかの例では、挙動オブジェクトは、承認オブジェクト、削除オブジェクト、および修正オブジェクトを含む。ユーザは、承認オブジェクトと対話して、将来の使用のためにMLアルゴリズム102の学習された挙動状態を承認し得る。決定木モジュール136は、学習された挙動状態を、MLアルゴリズム102に関する承認された挙動状態のライブラリの一部として保存するようにプログラムされ得る。従って、MLアルゴリズム102の将来の評価において、ML評価器モジュール118は、学習された挙動状態を承認された挙動状態として処理するようにプログラムされ得、従って、ユーザが決定木GUIを介してMLアルゴリズム102に関する挙動状態を承認することを必要としない。いくつかの例では、ユーザは、削除オブジェクトと対話して、学習された挙動状態をMLアルゴリズム102から削除し得る。決定木モジュール136は、学習された挙動が削除されるべきであることを示すために挙動評価データ126を生成するようにプログラムされ得る。ML挙動調整モジュール128は、本明細書で説明するように、MLアルゴリズムに関する学習された挙動状態を更新して、MLアルゴリズム102の学習された挙動状態を削除するようにプログラムされ得る。
【0025】
いくつかの例では、ユーザは、修正オブジェクトと対話し得る。決定木モジュール136は、ユーザに警告し、制御機能110によって実施される個々のタスクに関するMLアルゴリズムの学習された挙動状態に関する少なくとも1つのパラメータに関する更新情報を要求するようにプログラムされ得る。従って、ユーザは、将来の使用のためにMLアルゴリズム102に関する学習された挙動状態のパラメータを修正(例えば、更新)し得る。決定木モジュール136は、個々のタスクについてなど、MLアルゴリズム102の学習された挙動に関する少なくとも1つのパラメータの修正を指示するために、挙動評価データ126を生成するようにプログラムされ得る。ML挙動調整モジュール128は、MLアルゴリズム102の学習された挙動状態に関する少なくとも1つのパラメータを更新して、更新されたMLアルゴリズム130を提供するようにプログラムされ得る。
【0026】
従って、ML分析システム112は、MLアルゴリズム102の学習された挙動状態が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズム102の事後分析を可能にする。検証は、承認された挙動状態のライブラリ、または決定木GUIとのユーザの対話に基づくものであり得る。決定木GUIは、ユーザが、MLアルゴリズム102を新たな方法で挙動する原因となったMLアルゴリズム102の意思決定プロセスのパラメータを選択し、調べることを可能にする。決定木GUIは、ユーザが、MLアルゴリズム102の意思決定プロセスを分析し、MLアルゴリズム102に特定の結果を提供する原因となった状態を識別することを可能にする。ユーザは、決定木GUIを介してMLアルゴリズム102の学習プロセスを変更して、MLアルゴリズム102が将来所望されるものとなるように動作することを保証し得る。MLアルゴリズムの更新は、ユーザが数千行のコードを検討してMLアルゴリズムの挙動学的変化を決定しなければならないというの複雑な性質のために、時間がかかり、かつ高度な技術を必要とするプロセスである。ML分析システム112を使用することによって、ユーザは、MLアルゴリズムがどのように挙動しているかをより効率的に判定することができ、MLアルゴリズムが作成されたネイティブコーディング言語をユーザが理解することを必要としない。
【0027】
図2は、ML分析システム200の一例を示す。MLアルゴリズム202の挙動を評価するためにML分析システム200が使用され得る。MLアルゴリズム202は、図1に示されるようなMLアルゴリズム102に対応し得る。従って、ML分析システム200は、図1に示されるようなML分析システム112に対応し得る。従って、図2の例の以下の説明では、図1の例を参照する。ML分析システム200は、MLアルゴリズム202が実行中に展開したMLアルゴリズム202の学習された挙動状態を識別するために、MLアルゴリズム202の実行後の評価のために使用され得る。
【0028】
MLアルゴリズム202のランタイム中に、MLアルゴリズム202の学習プロセスは、ベースライン学習プロセスから変化し得る。ベースライン学習プロセスは、MLアルゴリズム202が実行前に有する意思決定プロセス状態(例えば、1セットのパラメータ)に対応し得る。いくつかの例では、MLアルゴリズム202は、UVのナビゲーションおよび制御システム(NCS:navigation and control system)上で実行するようにプログラムされる。UVは、無人航空機(UAV:unmanned aerial vehicle)または無人表面車両(USV:unmanned surface vehicle)(例えば、無人地上車両または無人水上車両)に対応し得る。いくつかの例では、UVは、人間の介入なしに、または制限された人間の介入で動作するように構成され得る。動作中、UVは、ミッション(例えば、割り当て、例えば、偵察割り当て)を実行するためにNCSによって発行されたコマンドに基づいて車両移動を実施するように構成され得る。NCSは、MLアルゴリズム102によって提供される結果データ204に基づいてUVの動作(例えば、車両移動)を制御するためのタスクを実施し、コマンドを発行するように構成され得る。
【0029】
MLアルゴリズム202は、NCSに搭載して実行するようにプログラムされ得る。従って、MLアルゴリズム202は、UVの車両性能を制御するようにプログラムされ得る。例として、MLアルゴリズム202は、UVの軌道、車両の位置、車両の速度などを制御するようにプログラムされ得る。MLアルゴリズム202は、UVに用いられるセンサによって提供されるセンサデータ206に基づいて結果データ204を提供するようにプログラムされ得る。結果データ204は、予測値、分類値、推奨値、システムパラメータ値等を含み得る。一例として、結果データ204は、UVのピッチ角値を含み得る。従って、UVの動作は、ミッション中にセンサデータ206に基づいてMLアルゴリズム202によって制御され得る。
【0030】
さらなる例として、ミッション中に、UV上に実装された車両性能ロガー(例えば、レコーダ)は、イベントに関するタイムスタンプ付き情報を提供するようにプログラムされ得る。イベントは、MLイベント、NCSイベント、およびUVイベントを含み得る。イベントは、対話型タイムラインの生成のためのタイムスタンプ付き情報に基づいて相関されて、ユーザがMLアルゴリズムがミッション中にどのように挙動したかを実行後(例えば、ミッション後)に評価(例えば、問い合わせ)することを可能にし得る。例えば、ミッションの後(例えば、ミッションが部分的に又は完全に完了すると)、MLデータ208及び車両データ210がUVから取得され(例えば、ダウンロードされ)得る。MLデータ208は、複数の挙動状態および結果データ204を含み得る実行後バージョンのMLアルゴリズム202を含み得る。複数の挙動状態は、MLアルゴリズム202の複数の異なる意思決定状態に対応し得る。
【0031】
いくつかの例では、ミッション中に、ML状態ロガーは、実行中にMLアルゴリズム202の意思決定プロセスにおける変化を捕捉するようにプログラムされ得る。意思決定プロセスにおける各変化は、ある時間のインスタンスにおけるMLアルゴリズム202のパラメータの状態に対応し得る。ML状態ロガーは、パラメータの状態(例えば、重み値など、パラメータが有していた値)を捕捉(例えば、記録)し、従って、MLアルゴリズム202の各バージョンの意思決定プロセスを捕捉するようにプログラムされ得る。捕捉されたパラメータ状態は、MLアルゴリズム202の一部など、MLデータ208の一部として記憶され得る。従って、実行後バージョンのMLアルゴリズム202は、MLアルゴリズム202の捕捉されたパラメータ状態に対応し得る複数の挙動状態を含む。いくつかの例では、複数の挙動状態は、ミッション中(例えば、実行中)にMLアルゴリズム102が使用した新たな意思決定プロセスに対応する学習された挙動状態を含む。
【0032】
車両データ210は、センサデータ206およびタスクデータ212を含み得る。タスクデータ212は、UVの動作(例えば、移動)を制御するためにNCSによって実施されるタスク(例えば、飛行タスク)を特徴付け得る。一例として、タスクデータ212は、高度タスク(例えば、設定高度への上昇)、エンジン推力タスク(例えば、UVのエンジン推力を第1の推力から第2の推力に増加させる)、ピッチ角タスク(例えば、ピッチ角を第1のピッチ角から第2のピッチ角に減少させる)、機首方位タスク(例えば、機首方位を第1の機首方位から第2の機首方位に変更する)などを特徴付け得る。上記のタスク情報は例示的なものであり、UVの動作を制御するためにNCSによって実施され得る全ての可能性のあるタスクを包含することを意図したものではない。いくつかの例では、車両データ210はミッションデータ214を含む。ミッションデータ214は、UVによって実行されるミッションを特徴付け得る。従って、ミッションデータ214は、ミッション目標(例えば、ゴール)と、ミッションを実施するために実行されるサブミッションタスク(例えば、センサシステムのセンサの電源投入、目標検出のための検出ルーチンの開始、画像マッチングの実施、ターゲットロックの実行など)とを含み得る。いくつかの例では、MLデータ208および車両データ210は、図1に示すように、システムデータ120に集合的に対応し得る。
【0033】
さらなる例では、車両データ210はイベントタイミングデータ216を含む。イベントタイミングデータ216は、図1に示されるようなイベントタイミングデータ122に対応し得る。イベントタイミングデータ216は、ML、NCS、およびUVイベントの各々がミッション中に発生した時間を識別し得る。従って、イベントタイミングデータ216は、ミッション中にソフトウェアイベントが発生した時間を識別し得る。イベントタイミングデータ216は、本明細書で説明するように、対話型タイムラインの生成のために、センサデータ206、タスクデータ212、およびミッションデータ214を関連付ける(例えば、相関させる)ために使用され得る。いくつかの例では、イベントタイミングデータ216は、対話型タイムラインの生成のために、タスクデータ212に関してMLアルゴリズム102の学習された挙動状態を相関させるために使用され得る。
【0034】
一例として、センサデータ206は、車両が使用される環境、車両性能、およびミッション中の車両状態を特徴付けるセンサ情報を含み得る。従って、センサデータ206は、環境データ、車両性能データ、および車両状態データを含み得る。各セットのセンサデータは、ミッション中にUV上で使用される対応するセンサによって提供され得る。例として、環境データは、風速、圧力、乱気流予測、天気予報、温度、降水確率、湿度など、UVがミッション中に経験した環境状態を特徴付け得る。車両性能データは、ミッション中のUVの機首方位、ロール、ピッチ、及びヨーを含むミッション中のUVの姿勢、対地速度などのミッション中のUVの速度(例えば、水平速度及び垂直速度)、ミッション中のUVの位置情報(例えば、全地球測位座標(GPS)位置)、ミッション中の高度上昇及び降下率などを特徴付け得る。車両状態データは、ミッション中のUVの燃料タンク内の燃料の量、ミッション中の燃料使用率などを特徴付け得る。センサデータ206の上記のセンサ情報は、例示的なものであり、車両データ210の一部としてML分析システム200に提供され得る全ての可能性のあるセンサ情報を包含することを意図するものではない。
【0035】
いくつかの例では、ML分析システム200は、MLデータ208および車両データ210を保存するためのメモリ218を含む。ML分析システム200のプロセッサ220は、メモリ218にアクセスして、プログラムを表し得る機械可読命令を実行し得る。プロセッサ220は、機械可読命令を実行して、ML評価器モジュール222を実施し得る。ML評価器モジュール222は、図1に示されるようなML評価器モジュール118に対応し得る。いくつかの例では、ML評価器モジュール222は、MLアルゴリズム202の各挙動状態を評価して、各挙動状態がMLアルゴリズム202に関する承認された挙動状態であるかどうかを判定するようにプログラムされる。ML評価器モジュール222は、学習された挙動機能224を使用する。学習された挙動機能224は、MLアルゴリズム202に関する承認された挙動状態226のライブラリに対してMLアルゴリズム202の各挙動状態を評価するようにプログラムされ得る。例えば、学習された挙動機能224は、学習された挙動状態を識別するために、ライブラリ226の承認された挙動状態のパラメータに対してMLアルゴリズム202の各学習された挙動状態の少なくとも1つのパラメータを比較するようにプログラムされ得る。学習された挙動機能224は、比較に基づいて挙動評価データ228を出力するようにプログラムされ得る。挙動評価データ228は、学習された挙動状態がMLアルゴリズム202に関する承認された挙動状態ではないことを示し得る。
【0036】
いくつかの例では、メモリ218は、ML挙動調整モジュール230を採用している。ML挙動調整モジュール230は、挙動評価データ228を使用して、MLアルゴリズム202の学習された挙動状態に関する意思決定プロセスを更新して、更新されたMLアルゴリズム232を提供するようにプログラムされ得る。ML挙動調整モジュール230は、挙動評価データ228に基づいてMLアルゴリズム202の学習プロセスを変更するようにプログラムされ得る。更新されたMLアルゴリズム232は、MLアルゴリズムの挙動状態が変更されている更新された実行後バージョンのMLアルゴリズム202に対応し得る。ML挙動調整モジュール230は、MLアルゴリズムパラメータ機能234およびMLアルゴリズムインタフェース236を含む。MLアルゴリズムパラメータ機能234は、MLアルゴリズムインタフェース236を使用してMLアルゴリズム202とインタフェースして、挙動評価データ228に基づいてMLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータを更新し得る。
【0037】
例えば、挙動評価データ228がMLアルゴリズム202の学習された挙動状態が承認されないことを示す場合、MLアルゴリズムパラメータ機能234は、MLアルゴリズム202の学習された挙動状態を削除することに対応してMLアルゴリズム202の将来の実行において少なくとも1つのパラメータが考慮されない(例えば、0など、より低い値で重み付けされる)ように、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータにアクセスし、それを更新するようにプログラムされ得る。従って、MLアルゴリズムパラメータ機能234は、更新されたMLアルゴリズム202を提供するために、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータを変更することによって、MLアルゴリズム232を修正するようにプログラムされ得る。
【0038】
いくつかの例では、ML評価器モジュール222は、挙動識別データ238を出力するようにプログラムされ得る。挙動識別データ238は、本明細書で説明するように、MLアルゴリズム202の複数の挙動状態の中から学習された挙動状態を識別し得る。いくつかの例では、ML評価器モジュール222は、MLアルゴリズム202をベースラインMLアルゴリズムと比較して、学習された挙動状態を識別するようにプログラムされ得る。これらの例では、ベースラインMLアルゴリズムは、MLアルゴリズム202に関する承認された挙動状態226のライブラリに対応し得る。従って、ML評価器モジュール222は、MLアルゴリズム202のコードをベースラインMLアルゴリズムのコードと比較し、学習された挙動状態に対応する挙動差を識別して、挙動識別データ238を提供するようにプログラムされ得る。
【0039】
いくつかの例では、ML評価器モジュール222は、MLアルゴリズム202がミッション(例えば、MLアルゴリズム102の実行)中に有していた個々の挙動状態がタスクデータ212の少なくとも1つのタスクに関連付けられるように、イベントタイミングデータ216を使用して、タスクデータ212の個々のタスクを、UVのミッション中に生成されたセンサデータ206の対応するセンサ情報に関連付けるようにプログラムされる。ML評価器モジュール222は、各タスクイベントに関する時間と、個々のセンサデータがUVのセンサによって生成され、かつUVの処理コンポーネント(例えば、NCS、MLアルゴリズム202など)によって受信された時間とに基づいて、ミッション中に発生した各タスク(例えば、タスクイベント)を、ミッション中に生成されたセンサデータ206の個々のセンサ情報に関連付けるようにプログラムされ得る。いくつかの例では、ML評価器モジュール222は、イベントタイミングデータ216を用いて、対応する結果の結果データ204をタスクデータ212の個々のタスクに関連付けるようにプログラムされ得る。例えば、ML評価器モジュール222は、イベントタイミングデータ216に基づいて、一部のセンサデータ206が受信された時間と、対応する結果の結果データ204が提供された時間とを決定するようにプログラムされ得る。MLアルゴリズム202が一部のセンサデータ206を受信し、かつ一部のセンサデータ206に基づいて対応する結果を提供した時間を決定することによって、ML評価器モジュール222は、MLアルゴリズム202の対応する挙動状態を識別するようにプログラムされ得る。
【0040】
一部のセンサデータ206がMLアルゴリズム202において受信された時間が既知であり、対応する結果がMLアルゴリズム202によって提供され、かつNCSによって受信された時間が既知であるため、ML評価器モジュール222は、ミッション中にNCSによって実施されたタスクデータ212の各個々のタスクを、MLアルゴリズム202の対応する挙動状態および一部のセンサデータ206に関連付けるようにプログラムされ得る。ML評価器モジュール222は、タスクデータ212の各タスクと、学習された挙動状態などのMLアルゴリズム102の対応する挙動状態、およびセンサデータ206のセンサ情報との関連付けを特徴付けるタスク挙動データ240を提供するようにプログラムされ得る。いくつかの例では、ML評価器モジュール222は、ミッションデータ214の個々のミッション情報をタスクデータ212の対応するタスクに関連付け、この関連付けをタスク挙動データ240の一部として含むようにプログラムされ得る。
【0041】
いくつかの実施形態において、メモリ218は、決定木モジュール242を含む。いくつかの例では、決定木モジュール242は、図1に示されるような決定木モジュール136に対応し得る。決定木モジュール242は、MLアルゴリズム202の学習された挙動状態の検証のための対話型タイムラインを有する決定木GUIを含むGUIデータ244を提供するようにプログラムされ得る。決定木モジュール242は、MLデータ208、車両データ210、挙動識別データ238、およびタスク挙動データ240に基づいてGUIデータ244を生成するようにプログラムされ得る。決定木モジュール242は、決定木GUIを表示するためにGUIデータ244を出力デバイス246に提供するようにプログラムされ得る。
【0042】
いくつかの例では、ユーザは、決定木GUIと対話して、MLアルゴリズム202の学習された挙動状態を承認、修正、または削除し得る。ユーザは、入力デバイス248を使用して決定木GUIと対話し得る。入力デバイス248は、ML分析システム200への通信インタフェースをサポートすることが可能な任意のタイプのデバイスであり得る。例示的な入力デバイス248は、サーバ、モバイルデバイス、モバイルコンピュータ、タブレットなどを含み得る。入力デバイス248は、有線ネットワークまたは無線ネットワーク等の提供されたネットワークを使用して(例えば、共通インターネットプロトコルを介して)、ML分析システム200に接続され得る。いくつかの例では、出力デバイス246は入力デバイス248の一部とすることができ、他の例では、出力デバイス246は入力デバイス248とは別個である。さらなる例として、図1に示されるように、出力デバイス246は出力デバイス138に対応し得、入力デバイス248は入力デバイス140に対応し得る。
【0043】
いくつかの例では、決定木モジュール242は、GUI生成器250を含む。GUI生成器250は、対話型タイムラインに関する開始時間および終了時間を定義するようにプログラムされ得る。開始時間および終了時間は、イベントタイミングデータ216に基づいて定義され得る。従って、イベントタイミングデータ216は、ミッションのミッション開始時間およびミッション終了時間を特徴付け得る。NCSはミッション中に実行されるため、ミッションならびに開始および時間は、ミッション中のNCSのランタイムに対応し、従ってMLアルゴリズム202のランタイムに対応し得る。いくつかの例では、決定木GUIの対話型タイムラインは、NCSの実行時間ウィンドウを設定するために、ユーザが対話し得る開始時間オブジェクトおよび終了時間オブジェクトを含む。実行時間ウィンドウは、NCSのランタイム中の一定期間に対応し得る。実行時間ウィンドウを設定することによって、決定木モジュール242は、車両データ210から対応する(例えば、関連する)タスクおよび車両性能情報を取得し、取得したタスクおよび車両性能情報をユーザに対して表示するために決定木GUIを更新するようにプログラムされ得る。いくつかの例では、決定木モジュール242は、ミッションデータ214から対応するミッション情報を取得し、取得されたタスクおよび車両性能情報と同時に取得されたミッション情報を表示するために決定木GUIを更新するようにプログラムされ得る。
【0044】
いくつかの例では、決定木モジュール242は、タスクオブジェクト生成器252、状態オブジェクト生成器254、ミッションオブジェクト生成器256、および挙動オブジェクト生成器258を含む。タスクオブジェクト生成器252は、タスクデータ212を解析(例えば、検索)して、設定された実行時間ウィンドウに基づいて対応するタスク情報を識別するようにプログラムされ得る。タスクオブジェクト生成器252は、対応するタスクを特徴付けるソースコードを人間可読フォーマット(例えば、フォーム)に変換するようにプログラムされ得る。タスクオブジェクト生成器252は、対応するタスク情報を人間可読フォーマットでGUI生成器250に提供するようにプログラムされ得る。GUI生成器250は、決定木GUIの状態オブジェクトに、人間可読フォーマットの対応するタスク情報を追加するようにプログラムされ得る。
【0045】
いくつかの例では、状態オブジェクト生成器254は、センサデータ206を解析して、設定された実行時間ウィンドウに基づいて対応するセンサ情報を識別するようにプログラムされ得る。状態オブジェクト生成器254は、対応するセンサ情報(例えば、センサ値および対応するセンサラベル)をGUI生成器250に提供するようにプログラムされ得る。決定木GUIは、状態オブジェクトを含み得る。GUI生成器250は、決定木GUIの状態オブジェクトに、対応するセンサを追加するようにプログラムされ得る。いくつかの例では、ミッションオブジェクト生成器256は、ミッションデータ214を解析して、設定された実行時間ウィンドウに基づいて対応するミッション情報を識別するようにプログラムされ得る。ミッションオブジェクト生成器256は、対応するミッション情報を特徴付けるソースコードを人間可読フォーマットに変換するようにプログラムされ得る。ミッションオブジェクト生成器256は、対応するミッション情報を人間可読フォーマットでGUI生成器250に提供するようにプログラムされ得る。GUI生成器250は、決定木GUIのミッションオブジェクトに、人間可読フォーマットの対応するミッション情報を追加するようにプログラムされ得る。
【0046】
いくつかの例では、挙動オブジェクト生成器258は、タスクデータ212から取得された対応するタスク情報に対してMLアルゴリズム202を評価し、MLアルゴリズム202の学習された挙動状態を特徴付けるソースコードを人間可読フォーマットに変換するようにプログラムされ得る。挙動オブジェクト生成器258は、学習された挙動状態を人間可読フォーマットでGUI生成器250に提供するようにプログラムされ得る。GUI生成器250は、決定木GUIの挙動オブジェクトに、学習された挙動状態を人間可読フォーマットで追加するようにプログラムされ得る。
【0047】
例えば、UAVの飛行中に、UAVが方向転換点に接近すると、UAVは、UAVをコースから押し出す大きな突風を受ける可能性がある。(例えば、ミッションのために)設定された所要到着時間(RTA:required time of arrival)を満たすためにUAVをコース上に戻すことは、実質的なバンキングを必要とし得る。UAVは、大きな突風の影響を軽減するために、方向転換開始点、推力、およびバンク角を修正するように構成される。修正は、本明細書で説明するように、MLアルゴリズム202に少なくとも部分的に基づくことができ、従って、MLアルゴリズム202の学習された挙動状態を含み得る。車両データ210は、新たな挙動がUAVによって実施された時間(例えば、新たな挙動が13:45に発生した)、新たな挙動に関するUAVの位置(例えば、位置は、27°59’20.2”N 80°32’39.9”WなどのGPS座標に対応し得る)、UAVを新たな挙動を起こさせる検知された状態(例えば、東からの35ノット(64.82km/h)の風が検知された)に対応するUAVにおける新たな挙動の原因、およびUAVによる新たな挙動の影響(例えば、西に1000フィート(304.8メートル)のコース逸脱)を含み得る。UAVにおいて展開される(例えば、新たな)挙動に関するif/thenステートメントは、因果関係情報と、UAVによって実施されているタスクとに基づいて生成され得る。例として、「方向転換点」における「予想風速」が「25ノット(46.3km/h)」を「超える」場合、UAVは方向転換開始点を修正する。挙動オブジェクト生成器258は、因果関係情報に基づいて、MLアルゴリズム202の新たな挙動状態に関する人間可読コードに対応するif/thenステートメントを提供するようにプログラムされ得る。
【0048】
いくつかの例では、UAVにおける新たな挙動の原因は、UAV上の少なくとも1つのセンサデバイスまたはシステムによって生成されたデータに関連付けられ、従ってセンサデータ206の一部のデータに関連付けられ得る。従って、新たな挙動の原因は、UAVにおける挙動変化に対応するUAV動作におけるある種の補正を引き起こす感知された現象に対応し得る。感知される現象は、近隣の航空機、気象状態、気象セル、感知された風、鳥の群れなどの検出を含み得る。いくつかの例では、UAVによる新たな挙動の影響は、UAVの挙動の変化をもたらすUAV動作に影響を及ぼした原因因子、またはUAV動作を引き起こした原因因子に関連付けられ得る。新たな挙動の影響は、センサデータ206の一部のデータに関連付けられ得る。次いで、新たな挙動の原因および影響に関連付けられたセンサデータ206の一部のデータを使用して、if/thenステートメントが提供され得る。従って、UAVによって展開される挙動は、本明細書で説明されるように、挙動オブジェクト生成のための挙動オブジェクト生成器258によるif/thenステートメントによって特徴付けられ得る。
【0049】
いくつかの例では、挙動オブジェクトは、承認オブジェクト、削除オブジェクト、および修正オブジェクトを含む。ユーザは、承認オブジェクトと対話して、ユーザ入力データ260を生成し得る。ユーザ入力データ260は、ユーザが将来の使用のためにMLアルゴリズム202の学習された挙動状態を承認することを示し得る。決定木モジュール242は、ユーザ入力データ260に基づいて、MLアルゴリズム202に関する承認された挙動状態のライブラリ226の一部として、学習された挙動状態を保存するようにプログラムされ得る。従って、MLアルゴリズム202の将来の評価において、ML評価器モジュール222は、学習された挙動状態を承認された挙動状態として処理するようにプログラムされ得、従って、ユーザが決定木GUIを介して学習された挙動状態を承認することを必要としない。
【0050】
いくつかの例では、ユーザは、削除オブジェクトと対話して、MLアルゴリズム202から学習された挙動状態を更新し得る。ユーザは、削除オブジェクトと対話して、MLアルゴリズム202から学習された挙動状態を削除することを指示するユーザ入力データ260を生成し得る。決定木モジュール242は、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータを更新することに対応して、MLアルゴリズム202の学習された挙動状態が削除されるべきであることを指示するために、挙動評価データ228を生成するようにプログラムされ得る。ML挙動調整モジュール230は、本明細書で説明するように、学習された挙動状態を除去(例えば、削除)して、更新されたMLアルゴリズム232を提供するようにプログラムされ得る。
【0051】
いくつかの例では、学習された挙動状態は、個々のタスク、例えば、UVに関する機首方位変更タスクを実行する前に、センサデータ206の個々のセンサ情報(例えば、乱気流予測情報)を考慮することを含む。ユーザは、個々のタスクの将来の実行に関して、MLアルゴリズム202が、学習された挙動状態をMLアルゴリズム202から削除することに対応して個々の情報(例えば、乱気流予測情報)を重視しないように、削除オブジェクトと対話し得る。従って、ML挙動調整モジュール230は、MLアルゴリズム202が乱気流予測情報の重要性を減少して(例えば、より低い重み値を割り当てて)、その結果、乱気流情報が将来の機首方位の変更タスクにおいて考慮されないように、MLアルゴリズム202の学習された挙動状態の少なくとも1つのパラメータを更新するようにプログラムされ得る。
【0052】
いくつかの例では、ユーザは、修正オブジェクトと対話し得る。ML決定木モジュール242は、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータに対するML更新情報を要求するようにプログラムされ得る。ユーザは、修正オブジェクトと対話して、ML更新情報に対応するユーザ入力データ260を生成し得る。従って、ユーザは、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータを修正(例えば、更新)し得る。決定木モジュール242は、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータの修正を指示するために、挙動評価データ228を生成するようにプログラムされ得る。ML挙動調整モジュール230は、MLアルゴリズム202の学習された挙動状態に関する少なくとも1つのパラメータを更新して、更新されたMLアルゴリズム232を提供するようにプログラムされ得る。いくつかの例では、GUI生成器250は、挙動推奨エンジン262を採用する。挙動推奨エンジン262は、ML学習技法を使用して、MLアルゴリズム202の学習された挙動状態を評価して挙動推奨を提供し得る。挙動推奨は、MLアルゴリズム202の学習された挙動状態を修正または削除する推奨を含み得る。挙動推奨エンジン262は、挙動推奨オブジェクトを用いて決定木GUIを更新し、挙動推奨オブジェクトに挙動推奨を追加するようにプログラムされ得る。
【0053】
従って、ML分析システム200は、MLアルゴリズム202の学習された挙動状態が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズム202の事後分析を可能にする。検証は、承認された挙動状態226のライブラリに基づくか、または決定木GUIとのユーザの対話に基づいて提供されるユーザ入力データ260に基づくものであり得る。決定木GUIは、ユーザが、MLアルゴリズム202が学習された挙動状態を有する原因となったMLアルゴリズム202の意思決定プロセスのパラメータを選択し、かつ調べることを可能にする。ユーザが対話型時間オブジェクトを介して開始時間および終了時間を選択することによって、ユーザは、NCS(ひいてはML挙動評価のためのMLアルゴリズム202)の動作タイムラインの特定の期間に絞り込み得る(例えば、MLアルゴリズム202がどのように挙動したかを理解し得る)。ユーザは、決定木GUIを介してMLアルゴリズム202学習プロセスを変更して、MLアルゴリズム202が将来所望されるように動作することを保証し得る。MLアルゴリズムの更新は、ユーザが数千行のコードを検討してMLアルゴリズム202の挙動学的変化を決定しなければならないという複雑な性質のために、時間がかかり、かつ高度な技術を必要とするプロセスである。ML分析システム200を使用することによって、ユーザは、MLアルゴリズムがどのように挙動しているかをより効率的に判定することができ、MLアルゴリズム202を作成したネイティブコーディング言語をユーザが理解することを必要としない。
【0054】
図3は、MLアルゴリズムの挙動検証のための決定木GUI300の一例を示す。MLアルゴリズムは、図1に示されるようなMLアルゴリズム102または図2に示されるようなMLアルゴリズム202に対応し得る。従って、図3の例の以下の説明では、図1および図2の例を参照する。決定木GUI300は、図1に示す決定木モジュール136、または図2に示す決定木モジュール242などの決定木モジュールによって提供され得る。決定木モジュールは、本明細書で説明されるように、決定木GUI300を含むGUIデータ(例えば、図2に示されるようなGUIデータ244)を提供するようにプログラムされ得る。決定木GUI300は、MLアルゴリズムの学習された挙動状態が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズムの事後分析中に使用され得る。決定木GUI300は、図1に示すように、処理デバイス106などの処理デバイスの動作に関連付けられ得る。いくつかの例では、処理デバイスは、本明細書で説明されるように、UVのNCSに対応する。決定木GUI300は、システム(例えば、図1に示されるようなシステム108)に動作を実施させる処理デバイスによって実施されるタスクを特徴付け、かつ対応するシステム状態(例えば、システムの性能)をさらに特徴付け得る。いくつかの例では、決定木GUI300は、システムの性能の変化を引き起こしたMLアルゴリズムの学習された挙動状態を特徴付け得る。
【0055】
決定木GUI300は、対話型タイムライン302、システム性能情報オブジェクト304、およびタスク情報オブジェクト306を含む。システム性能情報オブジェクト304は、システムの対応するシステム状態を特徴付け得る。タスク情報オブジェクト306は、処理デバイスによって実施されるタスクを特徴付け得る。対話型タイムライン302は、開始時間および終了時間を含む。開始時間及び終了時間は、処理デバイスに関するランタイムを定義(例えば、指定)し得る。従って、開始時間および終了時間は、処理デバイスによって実施されるタスクの実行の開始時間および終了時間に対応し得る。
【0056】
対話型タイムライン302は、挙動アラートオブジェクト308を含む。挙動アラートオブジェクト308は、MLアルゴリズムの学習された挙動状態を示し得る。対話型時間オブジェクト310,312は、処理デバイスに関する実行時間ウィンドウを設定するために(例えば、図1に示されるような入力デバイス140などのユーザ入力に応答して)設定され得る。対話型時間オブジェクト310,312は、挙動アラートオブジェクト308を含むように設定され得る。決定木モジュールは、実行時間ウィンドウに基づいてシステム性能情報オブジェクト304およびタスク情報オブジェクト306を更新して、処理デバイスおよびシステムに関する関連するシステム性能およびタスク情報を出力デバイス(例えば、図1に示す出力デバイス138)上に表示するようにプログラムされ得る。
【0057】
システム性能オブジェクト304は、状態オブジェクト314、316、および318を含み得る。各状態オブジェクト314、316、および318は、開始時間と終了時間との間の時間インスタンスにおけるシステムの性能状態に関連付けられ得る。決定木モジュールは、各状態オブジェクト314、316、および318に、状態オブジェクト生成器(例えば、図2に示されるような状態オブジェクト生成器254)によって提供される対応するシステム状態情報を追加するようにプログラムされ得る。図3は、3つの状態オブジェクト314、316、および318を示しているが、他の例では、3つより多い状態オブジェクトまたは3つより少ない状態オブジェクトが存在し得る。各状態オブジェクト314、316、および318は、タスク情報オブジェクト306の少なくとも1つのタスクオブジェクト320、322、および324に関連付けられ得る。決定木モジュールは、各タスクオブジェクト320、322、および324に、タスクオブジェクト生成器(例えば、図2に示されるようなタスクオブジェクト生成器252)によって提供される対応するタスク情報を追加するようにプログラムされ得る。各状態オブジェクト314、316、および318と、対応するタスクオブジェクト320、322、および324との関連付けは、図3に破線で示されている。各タスクオブジェクト320、322、および324は、処理デバイスによって実施されるタスクを特徴付け(例えば、識別し)得る。いくつかの例では、システム性能情報オブジェクト304は挙動オブジェクト326を含む。決定木モジュールは、挙動オブジェクト326に、MLアルゴリズムの学習された挙動状態を特徴付ける対応する学習された挙動状態情報を(例えば、人間可読フォーマットで)追加するようにプログラムされ得る。対応する学習された挙動状態は、挙動オブジェクト生成器(例えば、図2に示されるような挙動オブジェクト生成器258)によって提供され得る。
【0058】
いくつかの例では、決定木モジュールは、個々のタスクを特徴付ける対応するタスクオブジェクト324に近接して挙動オブジェクト326を配置するようにプログラムされ得る。いくつかの例では、挙動オブジェクト326は、図3に破線で示されているタスクオブジェクトに関連付けられ得る。挙動オブジェクト326を、対応する状態オブジェクト318に関連付けられたタスクオブジェクト324に関連付けることによって、ユーザは、MLアルゴリズムの学習された挙動状態に関連付けられた対応するシステム状態を容易に決定(例えば、識別)し得る。
【0059】
いくつかの実施例では、挙動オブジェクト326は、承認オブジェクト328、削除オブジェクト330、および修正オブジェクト332を含む。ユーザは、本明細書で説明するように、将来の使用のためにMLアルゴリズム102の学習された挙動状態を承認するために、承認オブジェクト328と対話し得る。決定木モジュールは、学習された挙動状態を、承認された挙動状態のライブラリ(例えば、図2に示されるような承認された挙動状態のライブラリ226)の一部として保存するようにプログラムされ得る。MLアルゴリズムの学習プロセスの少なくとも1つのパラメータを更新するなど、学習された挙動状態を修正するために、ユーザは、修正オブジェクト332と対話し得る。決定木モジュールは、修正オブジェクト334のアクティブ化に応答して、修正オブジェクト332を含むように決定木GUIを更新するようにプログラムされ得る。
【0060】
修正オブジェクト334は、処理デバイス106によって実施された個々のタスクに関する学習された挙動状態に対するMLアルゴリズムパラメータ更新情報(例えば、学習プロセスの少なくとも1つのパラメータに関する新たな値)を受信するための入力オブジェクト336を含み得る。修正GUIは、修正承認オブジェクト338および修正キャンセルオブジェクト340をさらに含み得る。ユーザは、修正承認オブジェクト338と対話して、MLアルゴリズムのパラメータ更新情報を挙動評価データ(例えば、図1に示す挙動評価データ126または図2に示す挙動評価データ228)としてML挙動調整モジュールに伝達して、本明細書で説明するように、MLアルゴリズムの学習された挙動状態を修正し得る。いくつかの例では、ユーザは、修正キャンセルオブジェクト338と対話し、決定木モジュールに、修正オブジェクト334を除去するように決定木GUIを更新させ得る。従って、ユーザは、決定木GUI300を使用して、MLアルゴリズムの学習された挙動状態に関する少なくとも1つのパラメータを修正し得る。いくつかの例では、ユーザは、本明細書で説明されるように、削除オブジェクト330と対話して、学習された挙動状態をMLアルゴリズムから削除し得る。従って、決定木GUI300は、ユーザがMLアルゴリズムが処理デバイスのランタイム中にどのように挙動したかを理解し、従ってMLアルゴリズムを理解するように、MLアルゴリズムの遡及的な問い合わせ(interrogation)を可能にする。決定木GUI300は、決定木GUI300とのユーザの対話に基づいて、MLアルゴリズムの学習された挙動状態を承認、削除、または修正するために使用され得る。
【0061】
図4は、MLアルゴリズム挙動検証のための決定木GUI400の一例を示す。MLアルゴリズムは、図1に示されるようなMLアルゴリズム102または図2に示されるようなMLアルゴリズム202に対応し得る。従って、図4の例の以下の説明では、図1および図2の例を参照する。決定木GUI400は、図1に示す決定木モジュール136、または図2に示す決定木モジュール242などの決定木モジュールによって提供され得る。決定木モジュールは、本明細書で説明されるように、決定木GUI400を含むGUIデータ(例えば、図2に示されるようなGUIデータ244)を提供するようにプログラムされ得る。決定木GUI400は、UVミッション中のMLアルゴリズムの学習された挙動状態が検証(例えば、承認、修正、または削除)され得るように、MLアルゴリズムの事後分析を実施するために使用され得る。決定木GUI400は、UVのNCSの動作に関連付けられ得る。決定木GUI300は、UVによって実施されるミッション中にNCSによって実施されるタスクを特徴付け、さらに、UVの対応する車両性能状態を特徴付け得る。いくつかの例では、決定木GUI400は、UVの性能の変化を引き起こしたMLアルゴリズムの学習された挙動状態を特徴付け得る。
【0062】
対話型タイムライン402は、ミッションに関するミッション開始時間およびミッション終了時間を含む。NCSはミッション中に実行されているので、ミッション開始時間およびミッション終了時間は、NCSに対する実行、従ってMLアルゴリズムの実行に関する開始時間および終了時間に対応し得る。例えば、ミッション開始時間10:00は、NCSの実行の開始に対応することができ、ミッション停止時間11:30は、NCSの実行の終了に対応し得る。決定木モジュールは、挙動アラートオブジェクト408、410、412、および414を有する対話型タイムライン402を生成するようにプログラムされ得る。挙動アラートオブジェクト408、410、412、および414は、NCSがUVに個々の動作(例えば、移動)を実施させるために対応するタスクを実行したことに従って、MLアルゴリズムの学習された挙動状態を示し得る。図4は4つのグラフィカル挙動アラートオブジェクトを示しているが、他の例では、より多くのまたはより少ないグラフィカルアラート挙動オブジェクトが決定木モジュールによって生成され得る。
【0063】
いくつかの例では、ユーザは、入力デバイス(例えば、図1に示される入力デバイス140)を介して対話型タイムライン402の対話型時間オブジェクト416,418と対話して、NCSに関する実行時間ウィンドウを指定し得る。対話型時間オブジェクト416,418は、図4に示すように、挙動アラートオブジェクト408を含むように設定され得る。決定木モジュールは、実行時間ウィンドウに基づいてミッション中に生成されたUVに関する対応する車両性能およびタスク情報ならびにミッション性能情報を用いて、車両性能およびタスク情報オブジェクト404ならびにミッション性能オブジェクト406を更新するようにプログラムされ得る。
【0064】
ミッション性能オブジェクト406は、対応するミッションタスク情報を特徴付け得るミッションオブジェクト420を含み得る。各ミッションオブジェクト420は、実行時間ウィンドウ中にUAVに対する対応するミッション情報を特徴付け(例えば、識別し)得る。決定木モジュールは、各ミッションオブジェクト420に、ミッションオブジェクト生成器(例えば、図2に示すようなミッションオブジェクト生成器256)によって提供される対応するミッション情報を追加するようにプログラムされ得る。ミッションオブジェクト生成器は、ML分析システムのメモリに保存されたミッションデータ(例えば、図2に示すミッションデータ214)から対応するミッション情報を取得するようにプログラムされ得る。車両性能およびタスク情報オブジェクト404は、状態オブジェクト422およびタスクオブジェクト424を含む。決定木モジュールは、各状態オブジェクト422に、メモリに保存されたセンサデータ(例えば、図1に示されるようなセンサデータ206)からの対応するセンサ情報を追加するようにプログラムされ得る。対応するセンサ情報は、状態オブジェクト生成器(例えば、図2に示されるような状態オブジェクト生成器254)によって提供され得る。決定木モジュールは、各タスクオブジェクト424に、メモリに保存されたタスクデータ(例えば、図1に示されるようなタスクデータ212)からの対応するタスク情報を追加するようにプログラムされ得る。対応するタスク情報は、タスクオブジェクト生成器(例えば、図2に示されるようなタスクオブジェクト生成器252)によって提供され得る。
【0065】
いくつかの例では、ミッション中に個々のタスク(例えば、機首方位変更タスク)を実施している間に、UAVは、乱気流に対応するなどして、ロールおよび高度の低下を経験する。乱気流によって、MLアルゴリズムは、学習された挙動状態に対応する意思決定プロセスを変更し得る。従って、車両性能およびタスク情報オブジェクト404は、挙動オブジェクト426を含み得る。挙動オブジェクト426は、個々のタスクを特徴付ける対応するタスクオブジェクト424に近接して決定木GUI400上に配置され得る。決定木モジュールは、挙動オブジェクト426に、MLアルゴリズムの学習された挙動状態を特徴付ける対応する学習された挙動状態情報を(例えば、人間可読フォーマットで)追加するようにプログラムされ得る。対応する学習された挙動状態は、挙動オブジェクト生成器(例えば、図2に示されるような挙動オブジェクト生成器258)によって提供され得る。過度の乱気流の例では、挙動オブジェクト426は、MLアルゴリズムの決定プロセスが、機首方位変更タスクを実行する前に乱気流予測を考慮する(例えば、重み付けする)ように修正されたことを指示し得る。
【0066】
いくつかの例では、ミッション性能オブジェクト406は、推奨オブジェクト428を含む。決定木モジュールは、MLアルゴリズムの学習された挙動状態を評価し、MLアルゴリズムの学習された挙動状態に対する挙動推奨(例えば、ソリューション)を提供するようにプログラムされ得る。例として、推奨オブジェクト428は、新たな挙動(例えば、MLアルゴリズムの学習された挙動状態)を削除するための推奨を含む。ユーザは、学習された挙動状態の検証のために推奨オブジェクト428の推奨を使用し得る。
【0067】
例として、挙動オブジェクト426は、承認オブジェクト430、修正オブジェクト432、および削除オブジェクト434を含む。ユーザは、本明細書で説明するように、将来の使用のためにMLアルゴリズム102の学習された挙動状態を承認するために、承認オブジェクト432と対話し得る。決定木モジュールは、学習された挙動状態を、承認された挙動状態のライブラリ(例えば、図2に示されるような承認された挙動状態のライブラリ226)の一部として保存するようにプログラムされ得る。MLアルゴリズムの学習プロセスの少なくとも1つのパラメータを更新するなど、学習された挙動状態を修正するために、ユーザは、修正オブジェクト332と対話して、(例えば、図3に関して本明細書で説明したように)学習された挙動状態を修正させ得る。いくつかの例では、ユーザは、削除オブジェクト434と対話して、学習された挙動状態をMLアルゴリズムから削除し得、その結果、本明細書で説明するように、学習された挙動状態が削除される。従って、決定木GUI400を使用して、決定木GUI400とのユーザの対話に基づいて、MLアルゴリズムの学習された挙動状態を検証し得る。決定木GUI400は、UV環境において実施されているMLアルゴリズムの遡及的問い合わせを可能にする。ユーザは、決定木GUI400を使用して、環境状態の変化に対応してUVによって実施されているミッション中にMLアルゴリズムがどのように挙動したかを理解し得る。ユーザは、決定木GUI400を介してMLアルゴリズム学習プロセスを変更して、MLアルゴリズムが将来のミッションにおいて所望通りに動作することを確実にし得る。
【0068】
上述の構造的及び機能的特徴を考慮して、例示的な方法は、図5図6を参照することによって、より良く理解されるであろう。説明を簡単にするために、図5図6の例示的な方法は、連続して実行されるものとして示され、説明されているが、他の例では、いくつかの動作が、本明細書で示されかつ説明されたものとは異なる順序で、複数回、および/または同時に行われ得るため、例示的な方法は、図示された順序によって限定されないことを理解および認識されたい。
【0069】
図5は、MLアルゴリズムの挙動を検証するための方法500の一例を示すフロー図である。MLアルゴリズムは、図1に示されるようなMLアルゴリズム102または図2に示されるようなMLアルゴリズム202に対応し得る。従って、図5の例の以下の説明では、図1図4の例を参照する。方法500は、図1に示されるようなML分析システム112または図2に示されるようなML分析システム200などのML分析システムによって実施され得る。502において、方法500は、複数の挙動状態を有するMLアルゴリズムを受け取る。504において、方法500は、複数の挙動状態の各々をMLアルゴリズムに関する承認された挙動状態(例えば、図2に示されるような承認された挙動状態のライブラリ226など)と比較することによって、複数の挙動状態の各々を評価して、学習された挙動状態を識別する。506において、方法500は、評価に基づいて挙動評価データ(例えば、図1に示される挙動評価データ126または図1に示される挙動評価データ228)を生成する。挙動評価データは、学習された挙動状態がMLアルゴリズムから削除されるべきであることを指示し得る。508において、方法500は、MLアルゴリズムの学習された挙動状態を修正することによって、MLアルゴリズムを更新してMLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供する。
【0070】
図6は、MLアルゴリズムの挙動を検証するための方法600の別の例を示すフロー図である。MLアルゴリズムは、図1に示されるようなMLアルゴリズム102または図2に示されるようなMLアルゴリズム202に対応し得る。従って、図6の例の以下の説明では、図1図4の例を参照する。方法600は、図1に示されるようなML分析システム112または図2に示されるようなML分析システム200などのML分析システムによって実施され得る。602において、方法600は、複数の挙動状態を有するMLアルゴリズムを受け取る。604において、方法600は、複数の挙動状態の各々をMLアルゴリズムに関する承認された挙動状態(例えば、図2に示されるような承認された挙動状態のライブラリ226など)と比較することによって、複数の挙動状態を評価して、複数の挙動状態の中から学習された挙動状態を識別する。606において、方法600は、MLアルゴリズムの学習された挙動状態を特徴付ける挙動オブジェクトを含む決定木GUIを(例えば、図1に示されるような決定木モジュール136または図2に示されるような決定木モジュール242により)生成する。608において、方法600は、ユーザによる挙動オブジェクトとの対話に基づいて、MLアルゴリズムの学習された挙動状態の修正または削除のうちの1つを特徴付ける挙動評価データを生成する。挙動評価データは、学習された挙動状態がMLアルゴリズムに対して承認されていないことを指示する非承認情報、およびMLアルゴリズムの学習された挙動状態に対する学習プロセスの変更を特徴付けるアルゴリズム更新情報のうちの1つを含み得る。いくつかの例では、変更は、学習された挙動状態に対する学習プロセスの少なくとも1つのパラメータ値を更新することに対応し得る。610において、方法600は、MLアルゴリズムを更新してMLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供する。
【0071】
上記した説明は一例である。もちろん、構成要素または方法の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、限定することなく含むことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示または請求項が「1つの」、「第1の」、または「別の」要素、またはそれらの同等物を記載する場合、1つまたは複数のそのような要素を含むと解釈されるべきであり、2つ以上のそのような要素の要求も除外もされない。
以下に、上記実施形態から把握できる技術思想を付記として記載する。
[付記1]
機械学習(以下、MLとする)アルゴリズムの実行後評価のためのコンピュータが実施する方法であって、
複数の挙動状態を有する実行後バージョンの前記MLアルゴリズムを含むML挙動データを受信するステップであって、前記複数の挙動状態は、前記MLアルゴリズムの複数の異なる意思決定状態に対応している、前記ML挙動データを受信するステップと、
前記複数の挙動状態の各々を前記MLアルゴリズムに関する承認された挙動状態のライブラリと比較することによって、前記複数の挙動状態を評価して、前記MLアルゴリズムの前記複数の挙動状態から所与の挙動状態を識別するステップであって、前記所与の挙動状態は、前記MLアルゴリズムに関する前記承認された挙動状態のライブラリの一部ではない前記MLアルゴリズムの意思決定状態に対応している、前記所与の挙動状態を識別するステップと、
評価に基づいて挙動評価データを生成するステップであって、前記挙動評価データは、前記所与の挙動状態が前記MLアルゴリズムの承認された挙動状態ではないことを指示する、前記挙動評価データを生成するステップと、
前記挙動評価データに基づいて、前記MLアルゴリズムの学習された挙動状態を修正することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの学習プロセスを変更して、更新されたMLアルゴリズムを提供するステップと、を含む方法。
[付記2]
前記MLアルゴリズムは、システムの処理デバイス上に実装されるとともに、前記システムの挙動を制御するようにプログラムされ、前記処理デバイス上での前記MLアルゴリズムの実行中に、前記MLアルゴリズムは、前記実行後バージョンの前記MLアルゴリズムを提供するために前記学習プロセスを更新し、前記学習プロセスに対する各更新は、前記MLアルゴリズムの前記複数の挙動状態の個々の挙動状態に対応し、前記学習プロセスに対する各更新は、前記学習プロセスの少なくとも1つのパラメータを更新することを含む、付記1に記載のコンピュータが実施する方法。
[付記3]
評価することは、前記MLアルゴリズムの前記複数の挙動状態の各々に関する前記学習プロセスの前記少なくとも1つのパラメータを、前記承認された挙動状態のライブラリの承認された挙動状態の対応するパラメータと比較して、前記所与の挙動状態を識別することを含む、付記2に記載のコンピュータが実施する方法。
[付記4]
評価に基づいて、前記MLアルゴリズムの前記複数の挙動状態から他の挙動状態を識別する挙動識別データを生成するステップをさらに含み、前記他の挙動状態は、前記MLアルゴリズムに関する前記承認された挙動状態のライブラリの一部ではない前記MLアルゴリズムの別の意思決定状態に対応している、付記3に記載のコンピュータが実施する方法。
[付記5]
出力デバイス上に表示するための複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(GUI)を生成するステップをさらに含み、前記複数のグラフィカルオブジェクトのうちの所与のグラフィカルオブジェクトは、挙動オブジェクトに対応するとともに、前記挙動識別データに基づいて生成され、前記挙動オブジェクトは、前記MLアルゴリズムの前記他の挙動状態を特徴付ける、付記4に記載のコンピュータが実施する方法。
[付記6]
入力デバイスを介したユーザによる前記挙動オブジェクトとの対話に基づいて追加の挙動評価データを生成するステップをさらに含み、前記追加の挙動評価データは、前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であること、前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態でないこと、前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの更新のうちの1つを指示する、付記5に記載のコンピュータが実施する方法。
[付記7]
前記他の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であることを指示する前記追加の挙動評価データに基づいて、前記他の挙動状態を含むように前記承認された挙動状態のライブラリを更新するステップをさらに含む、付記6に記載のコンピュータが実施する方法。
[付記8]
前記MLアルゴリズムの前記他の挙動状態が前記MLアルゴリズムに関する前記承認された挙動状態ではないこと、および前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記更新のうちの1つを指示する前記追加の挙動評価データに基づいて、前記MLアルゴリズムの前記他の挙動状態を更新することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスをさらに変更するステップをさらに含む、付記6に記載のコンピュータが実施する方法。
[付記9]
前記学習プロセスに対する変更は、前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記少なくとも1つのパラメータに関する更新されたパラメータ値に対応する、付記8に記載のコンピュータが実施する方法。
[付記10]
前記追加の挙動評価データに基づいて前記MLアルゴリズムの前記他の挙動状態を更新することによって、前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスをさらに変更するステップをさらに含む、付記9に記載のコンピュータが実施する方法。
[付記11]
前記MLアルゴリズムの前記他の挙動状態に対する前記学習プロセスの前記少なくとも1つのパラメータに関する前記更新されたパラメータ値に基づいて、更新されたバージョンの前記他の挙動状態を生成するステップと、
前記更新されたバージョンの前記他の挙動状態を含むように前記承認された挙動状態のライブラリを更新するステップと、を含む、付記10に記載のコンピュータが実施する方法。
[付記12]
前記システムは、無人航空機(以下、UAVとする)、無人地上車両(UGV)、及び無人表面車両(USV)のうちの1つを含む無人車両(以下、UVとする)に対応し、前記処理デバイスは、前記UVのナビゲーション及び制御システム(以下、NCSとする)に対応し、前記MLアルゴリズムは、前記UAVの挙動を制御するために前記NCSの性能を制御するようにプログラムされる、付記11に記載のコンピュータが実施する方法。
[付記13]
機械学習(以下、MLとする)アルゴリズムの実行後評価のためのシステムであって、
機械可読命令およびデータを保存するためのメモリであって、前記データが、複数の挙動状態を有する実行後バージョンの前記MLアルゴリズムを含み、前記複数の挙動状態が、前記MLアルゴリズムの複数の異なる意思決定状態に対応している、前記メモリと、
前記メモリにアクセスして、前記機械可読命令を実行するための1つまたは複数のプロセッサと、を備え、前記機械可読命令は、
ML評価器モジュールであって、
前記ML評価器モジュールは、前記MLアルゴリズムの前記複数の挙動状態から所与の挙動状態を識別する挙動識別データを生成するようにプログラムされており、前記所与の挙動状態は、前記MLアルゴリズムの実行中に前記MLアルゴリズムが学習した前記MLアルゴリズムの意思決定状態に対応している、前記ML評価器モジュールと、
決定木モジュールであって、
前記決定木モジュールは、前記MLアルゴリズムの前記所与の挙動状態を特徴付ける挙動オブジェクトを含む複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(GUI)を生成し、前記挙動オブジェクトは、前記挙動識別データに基づいて生成され、
前記決定木モジュールは、入力デバイスを介したユーザによる前記挙動オブジェクトとの対話に基づいて挙動評価データを生成し、前記挙動評価データは、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であること、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態でないこと、前記MLアルゴリズムの前記所与の挙動状態に対する学習プロセスの更新のうちの1つを指示する、前記決定木モジュールと、
ML挙動調整モジュールであって、
前記挙動評価データに基づいて前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更するように構成された前記ML挙動調整モジュールと、を備えるシステム。
[付記14]
前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更することは、
前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態ではないことを指示する前記挙動評価データに基づいて、前記MLアルゴリズムから前記所与の挙動状態を削除して前記学習プロセスを変更すること、
前記MLアルゴリズムの前記所与の挙動状態に関する学習プロセスに対する更新を指示する前記挙動評価データに基づいて、更新されたパラメータ値を用いて前記MLアルゴリズムの前記所与の挙動状態に関する前記学習プロセスの少なくとも1つのパラメータを更新して前記MLアルゴリズムの前記学習プロセスを変更すること、のうちの1つを含む、付記13に記載のシステム。
[付記15]
前記挙動識別データを生成することは、前記MLアルゴリズムに関する承認された挙動状態のライブラリに対して前記MLアルゴリズムの前記複数の挙動状態を評価して、前記所与の挙動状態を識別することを含む、付記14に記載のシステム。
[付記16]
前記MLアルゴリズムは、無人車両(UV)の処理デバイス上で一定期間にわたって実行して、前記実行後バージョンのMLアルゴリズムを提供するようにプログラムされる、付記15に記載のシステム。
[付記17]
プロセッサによって実行可能な命令を有する1つまたは複数の非一時的コンピュータ可読媒体であって、前記命令は、機械学習(以下、MLとする)アルゴリズムの評価のための方法を実行するようにプログラムされており、前記MLアルゴリズムは、ミッションを実行するように構成された無人機(以下、UVとする)のナビゲーションおよび制御システム(NCS)上で実行するようにプログラムされており、前記方法は、
複数の挙動状態を有する実行後バージョンの前記MLアルゴリズムを含むML挙動データを受信するステップであって、前記複数の挙動状態は、前記MLアルゴリズムの複数の異なる意思決定状態に対応しており、前記MLアルゴリズムの各意思決定状態は、前記UVによって実行される前記ミッション中に前記MLアルゴリズムの学習プロセスに対する個々の変化を引き起こす、前記ML挙動データを受信するステップと、
前記MLアルゴリズムの前記複数の挙動状態から所与の挙動状態を識別する挙動識別データを生成するステップであって、前記所与の挙動状態は、前記UVによって実行される前記ミッション中に前記MLアルゴリズムが学習した前記MLアルゴリズムの個々の意思決定状態に対応している、前記挙動識別データを生成するステップと、
挙動オブジェクトを含む複数のグラフィカルオブジェクトを含むグラフィカルユーザインタフェース(以下、GUIとする)を生成するステップであって、前記挙動オブジェクトは、前記MLアルゴリズムの前記所与の挙動状態を特徴付けるものであり、前記挙動オブジェクトは、前記挙動識別データに基づいて生成される、前記GUIを生成するステップと、
入力デバイスを介したユーザによる前記挙動オブジェクトとの対話に基づいて挙動評価データを生成するステップであって、前記挙動評価データは、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態であること、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態でないこと、前記MLアルゴリズムの前記所与の挙動状態に関する前記学習プロセスに対する更新のうちの1つを指示する、前記挙動評価データを生成するステップと、
前記挙動評価データに基づいて前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更して、前記UVによって実行される後続のミッションに対して更新されたMLアルゴリズムを提供するステップと、を含む、媒体。
[付記18]
前記挙動識別データを生成するステップは、前記MLアルゴリズムに関する承認された挙動状態のライブラリに対して前記複数の挙動状態を評価して、前記所与の挙動状態を識別することを含む、付記17に記載の媒体。
[付記19]
前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更することは、前記MLアルゴリズムの前記所与の挙動状態に関する前記学習プロセスに対する更新を指示する前記挙動評価データに基づいて、前記MLアルゴリズムの前記所与の挙動状態に関する前記学習プロセスの少なくとも1つのパラメータを更新されたパラメータ値で更新して、前記MLアルゴリズムの前記学習プロセスを変更することを含み、前記学習プロセスに対する更新は、前記MLアルゴリズムの学習された挙動状態に関する少なくとも1つのパラメータに対する新たな値に対応している、付記18に記載の媒体。
[付記20]
前記MLアルゴリズムを更新して前記MLアルゴリズムの前記学習プロセスを変更することは、前記MLアルゴリズムの前記所与の挙動状態が前記MLアルゴリズムに関する承認された挙動状態ではないことを指示する前記挙動評価データに基づいて、前記MLアルゴリズムから前記所与の挙動状態を更新して前記学習プロセスを変更することを含む、付記18に記載の媒体。
図1
図2
図3
図4
図5
図6