(57)【要約】【課題】人工ニューラル・ネットワークにおける不確実性をシミュレートすることを提供する。【解決手段】人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性がシミュレートされる。センサ・データの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードのニューラル・ネットワークの出力データへの影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性がシミュレートされる。偶然的不確実性および認識論的不確実性をシミュレートすることによって得られる影響に基づいて、オブジェクトに対応するアクションが実行される。【選択図】図１
2021515930.tif 000002
【特許請求の範囲】
【請求項１】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性を前記コンピュータによってシミュレートすることと、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行すること
を含む、コンピュータ実施方法。
【請求項２】
前記実世界環境に対応する前記センサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、前記人工ニューラル・ネットワークの各層からランダムに除外すべきノードを前記コンピュータによって選択することと、
前記人工ニューラル・ネットワークのそれぞれの層ごとに、
特定の層に対応する確率密度関数を前記コンピュータによって識別することと、
その特定の層に対応する前記確率密度関数に前記センサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべき前記ノードを前記コンピュータによって選択することと
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることに基づいて、前記人工ニューラル・ネットワークの出力を前記コンピュータによって生成すること
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む前記人工ニューラル・ネットワークを前記コンピュータによって実行することと、
前記人工ニューラル・ネットワークの取得した出力を前記コンピュータによって利用して、目標出力と前記取得した出力との間の差分に基づいてモデル誤差を求めることと
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記人工ニューラル・ネットワークの前記取得した出力を、前記複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に前記コンピュータによって入力して、前記取得した出力の前記実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成すること
をさらに含む、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記人工ニューラル・ネットワークを介して前記モデル誤差を前記コンピュータによって逆伝播して、それぞれのノードによる前記モデル誤差への寄与度に基づいて前記複数の隠れ層内のノード間のエッジ重みを更新することと、
前記複数の隠れ層内のそれぞれの隠れ層内のノード間の前記更新したエッジ重みに前記エッジ重み調整を前記コンピュータによって加算して、前記偶然的不確実性をシミュレートすること
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記実世界環境で動作する前記オブジェクトから前記センサ・データを前記コンピュータによって受信することと、
前記センサ・データの強度レベルを前記コンピュータによって決定することと、
前記センサ・データの前記強度レベルが未知の事象の発生を示す強度レベル閾値以上であるかどうかを前記コンピュータによって判定することと
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記センサ・データの前記強度レベルが未知の事象の発生を示す前記強度レベル閾値以上であると前記コンピュータが判定したことに対応して、複数の隠れ層を含む前記人工ニューラル・ネットワークに前記センサ・データを前記コンピュータによって入力することであって、各隠れ層が複数のノードを含む、前記入力することと、
前記センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングを前記コンピュータによって実行して、前記未知の事象をシミュレートするために前記複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定することと
をさらに含む、請求項７に記載のコンピュータ実施方法。
【請求項９】
前記複数の隠れ層から１つの隠れ層を前記コンピュータによって選択することと、
前記人工ニューラル・ネットワークの出力をモデル化する、前記複数の隠れ層のうちの前記選択した隠れ層に対応する確率密度関数を前記コンピュータによって識別すること
をさらに含む、請求項８に記載のコンピュータ実施方法。
【請求項１０】
前記識別した確率密度関数に前記センサ・データの前記強度レベルを適用することに基づいて、前記選択した隠れ層の中でランダムにドロップアウトすべきノードを前記コンピュータによって選択することと、
前記選択した隠れ層の中の前記選択したノードを前記コンピュータによってドロップアウトして、前記未知の事象に関連する認識論的不確実性をシミュレートすることと
をさらに含む、請求項９に記載のコンピュータ実施方法。
【請求項１１】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・システムであって、
バス・システムと、
プログラム命令を格納する、前記バス・システムに接続された記憶デバイスと、
前記バス・システムに接続されたプロセッサとを備え、前記プロセッサが、前記プログラム命令を実行して、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をシミュレートし、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をシミュレートし、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを実行する
コンピュータ・システム。
【請求項１２】
前記プロセッサが、前記プログラム命令をさらに実行して、
前記実世界環境に対応する前記センサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、前記人工ニューラル・ネットワークの各層からランダムに除外すべきノードを選択し、
前記人工ニューラル・ネットワークのそれぞれの層ごとに、
特定の層に対応する確率密度関数を識別し、
その特定の層に対応する前記確率密度関数に前記センサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべきノードを選択する
請求項１１に記載のコンピュータ・システム。
【請求項１３】
前記プロセッサが、前記プログラム命令をさらに実行して、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることに基づいて、前記人工ニューラル・ネットワークの出力を生成する
請求項１１に記載のコンピュータ・システム。
【請求項１４】
前記プロセッサが、前記プログラム命令をさらに実行して、
前記実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む前記人工ニューラル・ネットワークを実行し、
前記人工ニューラル・ネットワークの取得した出力を利用して、目標出力と前記取得した出力との間の差分に基づいてモデル誤差を求める
請求項１１に記載のコンピュータ・システム。
【請求項１５】
前記プロセッサが、前記プログラム命令をさらに実行して、
前記人工ニューラル・ネットワークの前記取得した出力を、前記複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に入力して、前記取得した出力の前記実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成する、請求項１４に記載のコンピュータ・システム。
【請求項１６】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を備え、前記プログラム命令が、コンピュータによって実行可能であり、前記コンピュータに、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性を前記コンピュータによってシミュレートすることと、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性を前記コンピュータによってシミュレートすることと、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む方法を実行させる、コンピュータ・プログラム製品。
【請求項１７】
前記実世界環境に対応する前記センサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、前記人工ニューラル・ネットワークの各層からランダムに除外すべきノードを前記コンピュータによって選択することと、
前記人工ニューラル・ネットワークのそれぞれの層ごとに、
特定の層に対応する確率密度関数を前記コンピュータによって識別することと、
その特定の層に対応する前記確率密度関数に前記センサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべき前記ノードを前記コンピュータによって選択することと
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１８】
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることに基づいて、前記人工ニューラル・ネットワークの出力を前記コンピュータによって生成すること
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１９】
前記実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む前記人工ニューラル・ネットワークを前記コンピュータによって実行することと、
前記人工ニューラル・ネットワークの取得した出力を前記コンピュータによって利用して、目標出力と前記取得した出力との間の差分に基づいてモデル誤差を求めることと
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２０】
前記人工ニューラル・ネットワークの前記取得した出力を、前記複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に前記コンピュータによって入力して、前記取得した出力の前記実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成すること
をさらに含む、請求項１９に記載のコンピュータ・プログラム製品。
【請求項２１】
前記人工ニューラル・ネットワークを介して前記モデル誤差を前記コンピュータによって逆伝播して、それぞれのノードによる前記モデル誤差への寄与度に基づいて前記複数の隠れ層内のノード間のエッジ重みを更新することと、
前記複数の隠れ層内のそれぞれの隠れ層内のノード間の前記更新したエッジ重みに前記エッジ重み調整を前記コンピュータによって加算して、前記偶然的不確実性をシミュレートすること
をさらに含む、請求項２０に記載のコンピュータ・プログラム製品。
【請求項２２】
前記実世界環境で動作する前記オブジェクトから前記センサ・データを前記コンピュータによって受信することと、
前記センサ・データの強度レベルを前記コンピュータによって決定することと、
前記センサ・データの前記強度レベルが未知の事象の発生を示す強度レベル閾値以上であるかどうかを前記コンピュータによって判定することと
をさらに含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２３】
前記センサ・データの前記強度レベルが未知の事象の発生を示す前記強度レベル閾値以上であると前記コンピュータが判定したことに対応して、複数の隠れ層を含む前記人工ニューラル・ネットワークに前記センサ・データを前記コンピュータによって入力することであって、各隠れ層が複数のノードを含む、前記入力することと、
前記センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングを前記コンピュータによって実行して、前記未知の事象をシミュレートするために前記複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定することと
をさらに含む、請求項２２に記載のコンピュータ・プログラム製品。
【請求項２４】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、
前記偶然的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む、コンピュータ実施方法。
【請求項２５】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
実世界環境で動作するオブジェクトに対応するデータの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの出力への影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をコンピュータによってシミュレートすることと、
前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む、コンピュータ実施方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ディープ・ラーニングに関し、より詳細には、後の実世界での適用中にニューラル・ネットワークが不確実性の中で正確な結果を生成する能力を予測するように、人工ニューラル・ネットワークを訓練しながら不確実性をシミュレートすることに関する。
【背景技術】
【０００２】
深層学習は、複数の非線形変換で構成される人工ニューラル・ネットワーク・アーキテクチャを使用してデータの高レベルの抽象化をモデル化しようとする一連のアルゴリズムに基づく機械学習の一種である。この機械学習は、教師ありの場合または教師なしの場合がある。深層学習アーキテクチャは、例えばオーディオ認識、コンピュータ・ビジョン、音声認識、自然言語処理などの分野に適用されており、これらのアーキテクチャは人間の専門家に匹敵する、場合によってはそれより優れた結果を生み出している。
【０００３】
深層学習は、特徴抽出および特徴変換に、処理ノードの多数の層のカスケードを使用する。ノードの連続する各層は、ノードの前の層からの出力を入力として使用する。深層アーキテクチャはグラフとして構成される。グラフ内のノードは、起点で計算された活性化を終点ノードに伝播するために、エッジまたはリンクによって接続される。各エッジは、接続の相対的な強度および符号を決定する重みを有し、各ノードは、入ってくる活性化の重み付けられた総和のすべてに活性化関数を適用する。活性化関数は、例えば、ハード閾値、シグモイド関数、または双曲線正接として与えられる。
【０００４】
このような深層アーキテクチャは、一般にタスク固有のプログラミングなしで、例を考慮することによって、漸進的に学習し、タスクの性能を向上させる。例えば、オーディオ認識において、これらの深層アーキテクチャは、「パニック」または「パニックなし」と手動でラベル付けされた音サンプルを分析し、その結果を使用して他の音入力においてパニック状態の群衆を識別することによって、群衆のパニックを示す音を識別するように学習することがある。これらの深層アーキテクチャは、群衆に関する事前の知識なしでこれを行うことができる。代わりに、これらの深層アーキテクチャは、処理する訓練データから、関連する特性の独自のセットを進化させる。しかしながら、現在の深層アーキテクチャ・モデルは、測定の誤差、または現在のモデルが認識しないものを考慮しないことに起因して、実世界環境では良好に機能しない。言い換えれば、これらの現在の深層アーキテクチャ・モデルは、実世界環境における不確実性のレベルが高く不確実性の大きさが絶えず変化する状況では良好に機能しない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、人工ニューラル・ネットワークにおける不確実性をシミュレートすることを提供する。
【課題を解決するための手段】
【０００６】
例示的な一実施形態によれば、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法が提供される。コンピュータは、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性（aleatoric uncertainty）をシミュレートする。コンピュータは、センサ・データの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウト（drop out）すること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力データへの影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性（epistemic uncertainty）をシミュレートする。コンピュータは、偶然的不確実性および認識論的不確実性をシミュレートすることによって得られる影響に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションを実行する。例示的な他の実施形態によれば、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・システムおよびコンピュータ・プログラム製品が提供される。したがって、例示的な実施形態は、実世界環境で動作する自律型車両、ロボット支援、ドローンなどの多くの様々なタイプのプラットフォームにわたってデータおよびセンサの不確実性の中で実行することができる。結果として、例示的な実施形態は、それぞれの環境におけるデータおよびセンサの不確実性の中で実行しながら、これらの様々なタイプのプラットフォームの性能を向上させることができる。
【０００７】
好ましくは、本発明は、実世界環境に対応するセンサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、人工ニューラル・ネットワークの各層からランダムに除外（drop）すべきノードをコンピュータによって選択することと、人工ニューラル・ネットワークのそれぞれの層ごとに、特定の層に対応する確率密度関数をコンピュータによって識別することと、その特定の層に対応する確率密度関数にセンサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべきノードをコンピュータによって選択することとをさらに含むコンピュータ実施方法を提供する。
【０００８】
好ましくは、本発明は、偶然的不確実性および認識論的不確実性をシミュレートすることに基づいて、人工ニューラル・ネットワークの出力をコンピュータによって生成することをさらに含む方法を提供する。
【０００９】
好ましくは、本発明は、実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む人工ニューラル・ネットワークをコンピュータによって実行することと、人工ニューラル・ネットワークの取得した出力をコンピュータによって利用して、目標出力と取得した出力との間の差分に基づいてモデル誤差を求めることとをさらに含むコンピュータ実施方法を提供する。
【００１０】
好ましくは、本発明は、人工ニューラル・ネットワークの取得した出力を、複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数にコンピュータによって入力して、取得した出力の実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成することをさらに含むコンピュータ実施方法を提供する。
【００１１】
好ましくは、本発明は、人工ニューラル・ネットワークを介してモデル誤差をコンピュータによって逆伝播して、それぞれのノードによるモデル誤差への寄与度に基づいて複数の隠れ層内のノード間のエッジ重みを更新することと、複数の隠れ層内のそれぞれの隠れ層内のノード間の更新したエッジ重みにエッジ重み調整をコンピュータによって加算して、偶然的不確実性をシミュレートすることとをさらに含むコンピュータ実施方法を提供する。
【００１２】
好ましくは、本発明は、実世界環境で動作するオブジェクトからセンサ・データをコンピュータによって受信することと、センサ・データの強度レベルをコンピュータによって決定することと、センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値以上であるかどうかをコンピュータによって判定することとをさらに含むコンピュータ実施方法を提供する。
【００１３】
好ましくは、本発明は、センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値以上であるとコンピュータが判定したことに対応して、複数の隠れ層を含む人工ニューラル・ネットワークにセンサ・データをコンピュータによって入力することであって、各隠れ層が複数のノードを含む、入力することと、センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングをコンピュータによって実行して、未知の事象をシミュレートするために複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定することとをさらに含むコンピュータ実施方法を提供する。
【００１４】
好ましくは、本発明は、複数の隠れ層から１つの隠れ層をコンピュータによって選択することと、人工ニューラル・ネットワークの出力をモデル化する、複数の隠れ層のうちの選択した隠れ層に対応する確率密度関数をコンピュータによって識別することとをさらに含むコンピュータ実施方法を提供する。
【００１５】
好ましくは、本発明は、識別した確率密度関数にセンサ・データの強度レベルを適用することに基づいて、選択した隠れ層の中でランダムにドロップアウトすべきノードをコンピュータによって選択することと、選択した隠れ層の中の選択したノードをコンピュータによってドロップアウトして、未知の事象に関連する認識論的不確実性をシミュレートすることとをさらに含むコンピュータ実施方法を提供する。
【００１６】
第２の態様から見ると、本発明は、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・システムを提供し、コンピュータ・システムは、バス・システムと、プログラム命令を格納する、バス・システムに接続された記憶デバイスと、バス・システムに接続されたプロセッサとを備え、プロセッサは、プログラム命令を実行して、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をシミュレートし、センサ・データの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力データへの影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をシミュレートし、偶然的不確実性および認識論的不確実性をシミュレートすることによって得られる影響に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションを実行する。
【００１７】
好ましくは、本発明は、プロセッサが、プログラム命令をさらに実行して、実世界環境に対応するセンサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、人工ニューラル・ネットワークの各層からランダムに除外すべきノードを選択し、人工ニューラル・ネットワークのそれぞれの層ごとに、特定の層に対応する確率密度関数を識別し、その特定の層に対応する確率密度関数にセンサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべきノードを選択する、コンピュータ・システムを提供する。
【００１８】
好ましくは、本発明は、プロセッサがプログラム命令をさらに実行して、偶然的不確実性および認識論的不確実性をシミュレートすることに基づいて、人工ニューラル・ネットワークの出力を生成する、コンピュータ・システムを提供する。
【００１９】
好ましくは、本発明は、プロセッサがプログラム命令をさらに実行して、実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む人工ニューラル・ネットワークを実行し、人工ニューラル・ネットワークの取得した出力を利用して、目標出力と取得した出力との間の差分に基づいてモデル誤差を求める、コンピュータ・システムを提供する。
【００２０】
好ましくは、本発明は、プロセッサがプログラム命令をさらに実行して、人工ニューラル・ネットワークの取得した出力を、複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に入力して、取得した出力の実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成する、コンピュータ・システムを提供する。
【００２１】
第３の態様から見ると、本発明は、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・プログラム製品を提供し、コンピュータ・プログラム製品は、コンピュータ・プログラム製品によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を備え、プログラム命令は、コンピュータによって実行可能であり、コンピュータに、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、センサ・データの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力データへの影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をコンピュータによってシミュレートすることと、偶然的不確実性および認識論的不確実性をシミュレートすることによって得られる影響に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションをコンピュータによって実行することとを含む方法を実行させる。
【００２２】
好ましくは、本発明は、実世界環境に対応するセンサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、人工ニューラル・ネットワークの各層からランダムに除外すべきノードをコンピュータによって選択することと、人工ニューラル・ネットワークのそれぞれの層ごとに、特定の層に対応する確率密度関数をコンピュータによって識別することと、その特定の層に対応する確率密度関数にセンサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべきノードをコンピュータによって選択することとをさらに含む、コンピュータ・プログラム製品を提供する。
【００２３】
好ましくは、本発明は、偶然的不確実性および認識論的不確実性をシミュレートすることに基づいて、人工ニューラル・ネットワークの出力をコンピュータによって生成することをさらに含む、コンピュータ・プログラム製品を提供する。
【００２４】
好ましくは、本発明は、実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む人工ニューラル・ネットワークをコンピュータによって実行することと、人工ニューラル・ネットワークの取得した出力をコンピュータによって利用して、目標出力と取得した出力との間の差分に基づいてモデル誤差を求めることとをさらに含む、コンピュータ・プログラム製品を提供する。
【００２５】
好ましくは、本発明は、人工ニューラル・ネットワークの取得した出力を、複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数にコンピュータによって入力して、取得した出力の実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成することをさらに含む、コンピュータ・プログラム製品を提供する。
【００２６】
好ましくは、本発明は、人工ニューラル・ネットワークを介してモデル誤差をコンピュータによって逆伝播して、それぞれのノードによるモデル誤差への寄与度に基づいて複数の隠れ層内のノード間のエッジ重みを更新することと、複数の隠れ層内のそれぞれの隠れ層内のノード間の更新したエッジ重みにエッジ重み調整をコンピュータによって加算して、偶然的不確実性をシミュレートすることとをさらに含む、コンピュータ・プログラム製品を提供する。
【００２７】
好ましくは、本発明は、実世界環境で動作するオブジェクトからセンサ・データをコンピュータによって受信することと、センサ・データの強度レベルをコンピュータによって決定することと、センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値以上であるかどうかをコンピュータによって判定することとをさらに含む、コンピュータ・プログラム製品を提供する。
【００２８】
好ましくは、本発明は、センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値以上であるとコンピュータが判定したことに対応して、複数の隠れ層を含む人工ニューラル・ネットワークにセンサ・データをコンピュータによって入力することであって、各隠れ層が複数のノードを含む、入力することと、センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングをコンピュータによって実行して、未知の事象をシミュレートするために複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定することとをさらに含む、コンピュータ・プログラム製品を提供する。
【００２９】
別の観点から見ると、本発明は、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法を提供し、コンピュータ実施方法は、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、偶然的不確実性をシミュレートすることによって得られる影響に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションをコンピュータによって実行することとを含む。
【００３０】
別の観点から見ると、本発明は、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法を提供し、コンピュータ実施方法は、実世界環境で動作するオブジェクトに対応するデータの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力への影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をコンピュータによってシミュレートすることと、認識論的不確実性をシミュレートすることによって得られる影響に基づいて、実世界環境で動作するオブジェクトに対応するアクションをコンピュータによって実行することとを含む。
【００３１】
さらに別の例示的な実施形態によれば、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法が提供される。コンピュータは、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をシミュレートする。コンピュータは、偶然的不確実性をシミュレートすることによって得られる影響に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションを実行する。
【００３２】
さらに別の例示的な実施形態によれば、人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法が提供される。コンピュータは、実世界環境で動作するオブジェクトに対応するデータの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力への影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をシミュレートする。コンピュータは、認識論的不確実性をシミュレートすることによって得られる影響に基づいて、実世界環境で動作するオブジェクトに対応するアクションを実行する。
【００３３】
これらの代替の例示的な実施形態は、偶然的不確実性または認識論的不確実性のいずれかをシミュレートするだけで、コンピュータ・リソースの使用量を減少させる。加えて、センサの不確実性とデータの不確実性の両方が実世界での適用に存在するわけではない場合がある。結果として、これらの代替の例示的な実施形態は、センサの不確実性のみまたはデータの不確実性のみが存在する状況で実行するのにより適している。
【図面の簡単な説明】
【００３４】
【図１】例示的な実施形態が実装され得るデータ処理システムのネットワークの図形表現の図である。
【図２】例示的な実施形態が実装され得るデータ処理システムの図である。
【図３】例示的な実施形態による、不確実性をシミュレートする訓練された人工ニューラル・ネットワークの出力に基づいてアクションを実行するためのプロセスを示すフローチャートである。
【図４】例示的な実施形態による、偶然的不確実性をシミュレートするためのプロセスを示すフローチャートである。
【図５】例示的な実施形態による、認識論的不確実性をシミュレートするためのプロセスを示すフローチャートである。
【図６】例示的な実施形態による、人工ニューラル・ネットワークを訓練するためのプロセスを示すフローチャートである。
【発明を実施するための形態】
【００３５】
本発明は、任意の可能な技術的詳細の統合レベルでのシステム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【００３６】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（登録商標）・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を介して伝播する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、または電線を介して送信される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【００３７】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードされてよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでよい。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【００３８】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Ｓｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語もしくは同様のプログラム言語などの手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体がコンピュータもしくはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は外部コンピュータ（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）に対して行ってもよい。いくつかの実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行することができる。
【００３９】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【００４０】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで指定される機能／動作を実施する手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで指定される機能／動作の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに対して特定の方式で機能するように指示できるものであってもよい。
【００４１】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施するように、コンピュータ実施プロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の演算ステップを実行させるものであってもよい。
【００４２】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、指定される論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。いくつかの代替の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能性に応じて、実際には実質的に同時に実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能または動作を実行するか、あるいは専用ハードウェアとコンピュータ命令との組合せを遂行する専用ハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【００４３】
次に図を参照すると、特に図１および図２を参照すると、例示的な実施形態が実装され得るデータ処理環境の図が提供されている。図１および図２は、例示のみを目的としており、様々な実施形態が実装され得る環境に関するいかなる制限も主張または示唆することを意図したものではないことを理解されたい。図示されている環境に多くの変更を加えることができる。
【００４４】
図１は、例示的な実施形態が実装され得るデータ処理システムのネットワークの図形表現の図を示す。ネットワーク・データ処理システム１００は、例示的な実施形態が実装され得るコンピュータ、データ処理システム、および他のデバイスのネットワークである。ネットワーク・データ処理システム１００は、ネットワーク・データ処理システム１００の中で共に接続されたコンピュータとデータ処理システムと他のデバイスと間の通信リンクを提供するために使用される媒体であるネットワーク１０２を含む。ネットワーク１０２は、例えば、有線通信リンク、無線通信リンク、および光ファイバ・ケーブルなどの接続を含んでよい。
【００４５】
図示の例では、サーバ１０４およびサーバ１０６は、ストレージ１０８と共にネットワーク１０２に接続する。サーバ１０４およびサーバ１０６は、例えば、ネットワーク１０２への高速接続を備えたサーバ・コンピュータとすることができる。加えて、サーバ１０４およびサーバ１０６は、クライアント１１０、１１２、および１１４に一連のサービスを提供することができる。例えば、サーバ１０４およびサーバ１０６は、人工ニューラル・ネットワークにおける偶然的不確実性および認識論的不確実性をシミュレートして、クライアント１１０、１１２、および１１４が動作する実世界環境における不確実性の中で正確な出力を生成することができる。さらに、サーバ１０４およびサーバ１０６はそれぞれ、データセンター内のサーバのクラスタを表す場合があることに留意されたい。代替として、サーバ１０４およびサーバ１０６は、クラウド環境内のサーバとすることができる。さらに、サーバ１０４およびサーバ１０６は、アプリケーションおよびプログラムなどの他の情報をクライアント１１０、１１２、および１１４に提供してよい。
【００４６】
クライアント１１０、クライアント１１２、およびクライアント１１４もネットワーク１０２に接続する。クライアント１１０、１１２、および１１４は、サーバ１０４またはサーバ１０６あるいはその両方のクライアントである。この例では、クライアント１１０、１１２、および１１４は、ネットワーク１０２への無線通信リンクおよび有線通信リンクを備えた、それぞれ、車両、航空機、およびロボットとして示されている。ただし、クライアント１１０、１１２、および１１４は例示のみを目的としていることに留意されたい。言い換えれば、クライアント１１０、１１２、および１１４には、ネットワーク１０２への有線通信リンクまたは無線通信リンクを備えた、例えば、船舶、コンピュータ、スマート・フォン、スマート・ウォッチ、スマート・テレビ、スマート家電、ゲーム・デバイス、キオスクなどの他のタイプのデバイスまたはマシンが含まれ得る。
【００４７】
さらに、クライアント１１０、クライアント１１２、およびクライアント１１４は、それぞれセンサ１１６、センサ１１８、およびセンサ１２０を含む。センサ１１６、センサ１１８、およびセンサ１２０はそれぞれ、１つまたは複数のセンサのセットを表す。センサのセットには、例えばスチール・カメラおよびビデオ・カメラなどの撮像センサ、マイクロホンなどの音捕捉センサ、全地球測位システム（ＧＰＳ）トランシーバなどのジオロケーション・センサ、光検出および測距（ＬｉＤＡＲ）センサ、レーダ・センサなどが含まれ得る。
【００４８】
クライアント１１０、１１２、および１１４は、それぞれの環境内で発生する未知の事象または状況の評価のために、それぞれの実世界の動作環境に関してセンサ１１６、１１８、および１２０から取得したセンサ・データを、サーバ１０４またはサーバ１０６あるいはその両方に送信する。サーバ１０４またはサーバ１０６あるいはその両方は、センサ・データを訓練された人工ニューラル・ネットワークに入力し、人工ニューラル・ネットワークが、偶然性不確実性および認識論的不確実性をシミュレートして、正確な出力を生成する。訓練された人工ニューラル・ネットワークによって生成された出力に基づいて、サーバ１０４またはサーバ１０６あるいはその両方は、特定の環境の通常の範囲外にある出力に基づいてアクションを実行することができる。アクションは、サーバ１０４がクライアント１１０のオペレータに警告を送信することであってよい。別のアクションは、サーバ１０６がクライアント１１２を自動的に制御することであってよい。
【００４９】
ストレージ１０８は、任意のタイプのデータを構造化フォーマットまたは非構造化フォーマットで格納することができるネットワーク記憶デバイスである。加えて、ストレージ１０８は、複数のネットワーク記憶デバイスを表すことがある。さらに、ストレージ１０８は、複数のクライアントの識別子、人工ニューラル・ネットワーク、確率密度関数などを格納してもよい。さらに、ストレージ・ユニット１０８は、例えばユーザ名、パスワード、ならびにシステムのユーザおよび管理者に関連付けられた生体データが含まれ得る認証データまたは資格情報データなどの他のタイプのデータを格納してもよい。
【００５０】
加えて、ネットワーク・データ処理システム１００は、任意の数の追加のサーバ、クライアント、記憶デバイス、および図示していない他のデバイスを含み得ることに留意されたい。ネットワーク・データ処理システム１００に配置されたプログラム・コードは、コンピュータ可読記憶媒体に記憶され、使用のためにコンピュータまたは他のデータ処理デバイスにダウンロードされてよい。例えば、プログラム・コードは、通信サーバ１０４上のコンピュータ可読記憶媒体に記憶され、クライアント１１０で使用するためにネットワーク１０２を介してクライアント１１０にダウンロードされてよい。
【００５１】
図示の例では、ネットワーク・データ処理システム１００は、例えば、インターネット、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、およびワイド・エリア・ネットワーク（ＷＡＮ）などのいくつかの異なるタイプの通信ネットワークとして実装され得る。図１は、例示としてのみ意図されており、異なる例示的な実施形態に対するアーキテクチャ上の制限としては意図されていない。
【００５２】
次に図２を参照すると、例示的な実施形態によるデータ処理システムの図が示されている。データ処理システム２００は、図１のサーバ１０４などのコンピュータの例であり、そこには、例示的な実施形態のプロセスを実施するコンピュータ可読プログラム・コードまたは命令が配置され得る。代替として、データ処理システム２００は、例えば、図１のクライアント１１０などのデバイスまたはマシンに実装されてもよい。この例示的な例では、データ処理システム２００は、プロセッサ・ユニット２０４と、メモリ２０６と、永続ストレージ２０８と、通信ユニット２１０と、入力／出力（Ｉ／Ｏ）ユニット２１２と、ディスプレイ２１４との間の通信を提供する、通信ファブリック２０２を含む。
【００５３】
プロセッサ・ユニット２０４は、メモリ２０６にロードされ得るソフトウェア・アプリケーションおよびソフトウェア・プログラムのための命令を実行するように機能する。プロセッサ・ユニット２０４は、特定の実装に応じて、１つまたは複数のハードウェア・プロセッサ・デバイスのセットとすることができ、またはマルチプロセッサ・コアとすることができる。さらに、プロセッサ・ユニット２０４は、グラフィックス処理ユニットを含んでよい。
【００５４】
メモリ２０６および永続ストレージ２０８は、記憶デバイス２１６の例である。コンピュータ可読記憶デバイスは、例えば、限定はしないが、データ、関数形態でのコンピュータ可読プログラム・コード、または他の適切な情報あるいはその組合せなどの情報を、一時的に、または永続的にあるいはその両方で記憶することができる任意のハードウェアの一部である。さらに、コンピュータ可読記憶デバイスは、伝播媒体を除く。これらの例において、メモリ２０６は、例えばランダム・アクセス・メモリ、または他の任意の適切な揮発性または不揮発性の記憶デバイスとすることができる。永続ストレージ２０８は、特定の実装に応じて、様々な形態をとることができる。
【００５５】
この例では、永続ストレージ２０８は、不確実性マネージャ２１８を格納する。しかしながら、不確実性マネージャ２１８が永続ストレージ２０８内に常駐するものとして示されているが、代替の例示的な実施形態では、不確実性マネージャ２１８はデータ処理システム２００の別個のコンポーネントとすることができる。例えば、不確実性マネージャ２１８は、通信ファブリック２０２に結合されたハードウェア・コンポーネント、またはハードウェア・コンポーネントとソフトウェア・コンポーネントの組合せとしてもよい。別の代替の例示的な実施形態において、不確実性マネージャ２１８の第１の部分は、データ処理システム２００に配置されてよく、不確実性マネージャ２１８の第２の部分は、図１のサーバ１０６またはクライアント１１２などの第２のデータ処理システムに配置されてよい。さらに別の代替の例示的な実施形態では、不確実性マネージャ２１８は、データ処理システム２００の代わりに、またはそれに加えて、クライアント・デバイスに配置されてよい。
【００５６】
不確実性マネージャ２１８は、人工ニューラル・ネットワーク２２０における偶然的不確実性および認識論的不確実性をシミュレートするプロセスを制御して、実世界環境における不確実性の中でより高い精度で出力を生成する。不確実性は、あいまいな情報または未知の情報あるいはその両方を含む状況を表す。言い換えれば、不確実性とは、現在の状態、将来の結果、または可能性のある複数の結果を正確に説明することが不可能である確実性の欠如または限られた知識の状態である。不確実性の定量化とは、システムの一部の態様が正確に知られていない場合に、特定の結果がどのように発生する可能性が高いかを判断するための、計算上の適用と実世界での適用の両方における不確実性の定量的な特性評価および低減である。不確実性の測定は、可能性のある各状態または結果に確率が割り当てられている、可能性のある状態または結果のセットを含んでよい。これには、連続変数に確率密度関数を適用することも含まれる。
【００５７】
不確実性は２つのカテゴリに分類され得る。一方のカテゴリは偶然的不確実性であり、他方のカテゴリは認識論的不確実性である。偶然的不確実性は統計的不確実性に関連し、同じプロセスまたは実験が実行されるたびに異なる未知数を表す。偶然的不確実性は、データからは理解できないものを測定するが、制約のない検知によって説明され得る。例えば、センサ画像において遮蔽が発生する可能性があり、それにより人工ニューラル・ネットワーク２２０などのモデルは、センサからの必要な情報をすべては有していない。例えば、自律型車両は料金所までの距離を知る必要がある場合があるが、セミトラクタ・トレーラが車両の前にあり、撮像センサから料金所を塞いでいるため、自律型車両の撮像センサは料金所を検出することができない。結果として、データからモデルが理解できないものを測定し、制約のない検知を模倣する必要がある。
【００５８】
認識論的不確実性は、系統的な誤差または測定の不正確性に関連する。認識論的不確実性は、モデルが認識しないものを測定するが、制約のないデータによって説明され得る。例えば、モデルは、３２フィート（９．７５ｍ）毎秒毎秒で地面に落下する物体の抗力（例えば、空気抵抗）などの特定のデータを認識していない場合がある。別の例として、誤動作または干渉が原因でセンサが適切に機能していないため、モデルがセンサから不正確なデータを受信する場合がある。結果として、データからモデルが認識しないものを測定し、制約のないデータを模倣する必要がある。
【００５９】
実生活における適用では、通常、両方の種類の不確実性が存在する。言い換えれば、通常、実生活における適用では、データの不確実性とセンサの不確実性の両方が存在する。不確実性の定量化は、認識論的不確実性を偶然的不確実性に低減するために機能する。偶然的不確実性の定量化は、適用に応じて比較的簡単に実行することができる。モンテ・カルロ法などの技法が頻繁に使用される。モンテ・カルロ法は、データのセットからデータのサブセットをランダムに選択する計算アルゴリズムである。モンテ・カルロ法は、入力に大きな不確実性を伴う現象をモデル化するのに有用である。言い換えれば、モンテ・カルロ・サンプリングの目的は、データのランダム・サンプリングを通じてシステムをよりよく理解することである。例示的な実施形態は、モンテ・カルロ法を利用して、確率分布からランダムなドローを生成することができる。この場合、モンテ・カルロ・サンプリングは認識論的不確実性をシミュレートするためのデータを提供する。
【００６０】
確率分布は、プロセスまたは実験で起こり得る様々な結果の発生確率を提供する。言い換えれば、確率分布は、事象の確率に関するランダム現象の記述である。確率分布は、観察されているランダム現象の可能性のあるすべての結果のセットであるサンプル空間に関して定義される。連続確率分布は、典型的には、確率密度関数によって記述される。
【００６１】
連続ランダム変数の確率密度関数は、任意の所与のサンプルまたはサンプル空間内の点における関数の値（すなわち、連続ランダム変数がとる可能性のある値のセット）が、ランダム変数の値がそのサンプルと等しいであろう相対尤度を提供するものとして解釈され得る関数である。言い換えれば、最初に可能性のある値のセットは無限にあるので、連続ランダム変数が特定の値をとる絶対尤度はゼロ（０）であるが、２つの異なるサンプルでの確率密度関数の値を使用して、ランダム変数の特定のドローにおいて、ランダム変数が他のサンプルと比較して１つのサンプルと等しいであろう可能性がどのくらい高いかを推測する。したがって、確率密度関数を使用して、ランダム変数が１つの値をとるのではなく値の特定の範囲内に収まる確率を指定する。
【００６２】
不確実性マネージャ２１８は、制約のない検知を模倣することによって人工ニューラル・ネットワーク２２０がセンサ・データから理解できないものを測定するために偶然的不確実性をシミュレートする。不確実性マネージャ２１８は、人工ニューラル・ネットワーク２２０の出力データの逆伝播中に人工ニューラル・ネットワーク２２０内のノード間のエッジ重みにランダム値を加算すること、およびノード間の加算したランダムなエッジ重み値による出力データへの影響を測定することによって、制約のない検知を模倣する。言い換えれば、不確実性マネージャ２１８は、ノード間のエッジに対して重み調整を行って、センサ・データの欠如を補償する。
【００６３】
不確実性マネージャ２１８は、制約のないデータを模倣することによって人工ニューラル・ネットワーク２２０が認識しないものを測定するために認識論的不確実性をシミュレートする。不確実性マネージャ２１８は、センサ・データの順伝播中に人工ニューラル・ネットワーク２２０の各層からランダムなノードをドロップアウトすること、およびドロップアウトしたランダムなノードの人工ニューラル・ネットワーク２２０の出力への影響を測定することによって、制約のないデータを模倣する。言い換えれば、不確実性マネージャ２１８は、人工ニューラル・ネットワーク２２０内に「内部障害」を作り出すノードを取り除いて、データの欠如を補償する。不確実性マネージャ２１８は、実世界環境に対応する１つまたは複数のセンサのセットからの１つまたは複数の音もしくはノイズのセットまたは１つまたは複数の画像のセットあるいはその両方などの入力センサ・データを、モンテ・カルロ・ドロップアウト・サンプリングに使用することによって、人工ニューラル・ネットワーク２２０の各層からランダムにドロップアウトすべきノードを選択する。人工ニューラル・ネットワーク２２０のそれぞれの層ごとに、不確実性マネージャ２１８は、確率密度関数２３６から特定の層に対応する確率密度関数を識別し、入力されたセンサ・データ（例えば、音）の強度レベルを識別した確率密度関数に適用することに基づいて、その特定の層でドロップアウトすべきノードを選択する。
【００６４】
確率密度関数２３６は、複数の様々なタイプの確率密度関数を含む。加えて、人工ニューラル・ネットワーク２２０内のそれぞれの隠れ層は、確率密度関数２３６における様々なタイプの確率密度関数に対応する。確率密度関数２３６における様々なタイプの確率密度関数には、例えば、巻き込みコーシー確率密度関数（ＰＤＦ：probability density function）、Ｗｅｉｂｕｌｌ＿ｍａｘ  ＰＤＦ、Ｗｅｉｂｕｌｌ＿ｍｉｎ  ＰＤＦ、ワルドＰＤＦ、フォンミーゼスＰＤＦ、テューキーラムダＰＤＦ、Ｔ  ＰＤＦ、半円ＰＤＦ、レイリーＰＤＦ、Ｒｄｉｓｔ  ＰＤＦ、ピアソン３型ＰＤＦ、ミールケＰＤＦ、マクスウェルＰＤＦ、ロジスティックＰＤＦ、ラプラスＰＤＦ、Ｈｙｅｓｅｃａｎｔ  ＰＤＦ、ガンマＰＤＦ、Ｇｅｎｎｏｒｍ  ＰＤＦ、Ｆｏｌｄｎｏｒｍ  ＰＤＦ、フィスクＰＤＦ、コサインＰＤＦ、カイＰＤＦ、アークサインＰＤＦ、Ａｎｇｌｉｔ  ＰＤＦ、アルファＰＤＦなどが含まれ得る。
【００６５】
不確実性マネージャ２１８は、シミュレート後の偶然的不確実性および認識論的不確実性に基づいて人工ニューラル・ネットワーク２２０の出力を生成する。不確実性マネージャ２１８は、人工ニューラル・ネットワーク２２０の出力を利用して、実世界環境における不確実性を考慮に入れて、出力に基づいてアクションを実行するかどうかを判定する。不確実性マネージャ２１８によって実行されるアクションは、例えば、人工ニューラル・ネットワーク２２０への入力としてセンサ・データを送信しており、実世界環境で動作しているデバイスまたはマシンなどのオブジェクトのオペレータまたはユーザに警告を発することでもよい。代替として、不確実性マネージャ２１８によって実行されるアクションは、実世界環境で動作するデバイスまたはマシンを制御して、不確実性の影響を管理、制御、緩和、または排除し、それにより実世界環境のデバイスまたはマシンの性能を向上させることであり得る。デバイスまたはマシンは、例えば、車、トラック、バン、バス、列車などの自律型または半自律型車両、飛行機、ジェット機、ヘリコプター、ドローンなどの自律型または半自律型航空機、ボート、船、潜水艦などの自律型または半自律型船舶、産業用ロボット支援、外科用ロボット支援、軍用ロボット支援、家庭用ロボット支援などの自律型または半自律型ロボット支援とすることができる。
【００６６】
人工ニューラル・ネットワーク２２０は、データ処理アルゴリズムである。代替の例示的な実施形態では、人工ニューラル・ネットワーク２２０は、ハードウェア処理デバイスである。人工ニューラル・ネットワーク２２０は、例えば、残差ニューラル・ネットワーク、畳み込みニューラル・ネットワーク、回帰型ニューラル・ネットワーク、確率的ニューラル・ネットワークなどの任意のタイプの人工ニューラル・ネットワークを表す場合がある。
【００６７】
人工ニューラル・ネットワーク２２０は、層２２２などの複数の層に編成される。層２２２は、入力層２２４、隠れ層２２６、および出力層２２８を含む。層２２２内の各層は、活性化関数を含む、ノード２３０などのいくつかの相互接続されたノードからなる。ノードの活性化関数は、入力が与えられたノードの出力を定義する。データ・パターンは、入力層２２４を介して人工ニューラル・ネットワーク２２０に提示され、入力層２２４は、ノード２３０間の重み２３４を含むエッジ２３２などの重み付けられたエッジまたは接続を介して、実際のデータ処理が実行される隠れ層２２６の１つまたは複数の隠れ層と通信する。隠れ層２２６は、入力データの内部表現である。次いで、隠れ層２２６は出力層２２８にリンクし、出力層２２８で回答が出力される。
【００６８】
人工ニューラル・ネットワーク２２０は、人工ニューラル・ネットワーク２２０に提示される入力データ・パターンに従って、エッジ２３２の重み２３４を修正する。人工ニューラル・ネットワーク２２０は、出力の順方向の活性化フローおよび重み調整の逆伝播を通じて、各エポックまたはサイクルで（すなわち、不確実性マネージャ２１８が新しい入力データ・パターンで人工ニューラル・ネットワーク２２０を実行するたびに）発生する教師ありプロセスによって学習する。言い換えれば、これは、不確実性マネージャ２１８が順伝播を介してデータ入力を人工ニューラル・ネットワーク２２０に送り、データ入力が活性化関数を介して変換される前に、最初にデータ入力にランダムな重みを乗算する２段階のプロセスである。順伝播が完了すると、逆伝播ステップは、誤差を生成する重み２３４の導関数を計算することによって、最終出力から予想出力までの誤差を測定し、それらを調整する。言い換えれば、逆伝播は、損失関数の勾配を計算することによって重みを調整する。重みが調整されると、人工ニューラル・ネットワーク２２０は、順伝播段階および逆伝播段階のプロセスを繰り返して、収束するまで誤差率を最小化する。
【００６９】
より簡単に言えば、最初に人工ニューラル・ネットワーク２２０にデータ・パターンが提示されるとき、人工ニューラル・ネットワーク２２０はそれが何であるかについて当て推量をする。次いで、人工ニューラル・ネットワーク２２０は、その回答が実際の回答からどれだけ離れていたかを判断し、エッジ２３２の重み２３４に対して適切な調整を行う。各隠れ層のノード内には、ネットワーク・アクティビティを分極化して安定化するのに有用な、シグモイド関数、線形関数、または正規化線形ユニットなどの活性化関数がある。人工ニューラル・ネットワーク２２０が訓練されると、不確実性マネージャ２１８は人工ニューラル・ネットワーク２２０を分析ツールとして利用して、シミュレート後の偶然的不確実性２３８およびシミュレート後の認識論的不確実性２４０を生成する。不確実性マネージャ２１８は、モンテ・カルロ法２４２を利用して、シミュレート後の認識論的不確実性２４０を生成する。順伝播の実行の出力は、データの予測モデルとなり、以前の値に取って代わる。
【００７０】
オブジェクト２４４は、実世界環境２４６で動作するデバイスまたはマシンを表す。オブジェクト２４４は、図１のネットワーク１０２などのネットワークを介してデータ処理システム２００に接続される。オブジェクト２４４は、例えば、ロボット装置として示されている図１のクライアント１１４とすることができる。この場合、実世界環境２４６は、例えば、工業生産ラインとすることができる。オブジェクト２４４は、センサ・データ２４８を生成する図１のセンサ１２０などの少なくとも１つのセンサを含む。センサ・データ２４８は、実世界環境２４６に対応する情報である。
【００７１】
加えて、オブジェクト２４４は、センサ・データ２４８を入力として人工ニューラル・ネットワーク２２０に送信する。センサ・データ２４８は、例えば、実世界環境２４６で動作しているオブジェクト２４４に接続されたマイクロホンなどのセンサによって収音された、音データまたはオーディオ・データとすることができる。センサ・データ２４８は、強度レベル２５０も含む。強度レベル２５０は、センサ・データ２４８に対応する強度レベルを表す。例えば、音強度レベルまたは音響強度レベルは、基準値に対する音の強度のレベルである。
【００７２】
人工ニューラル・ネットワーク２２０の出力に基づいて、不確実性マネージャ２１８は、出力が実世界環境２４６の正常値外または期待値外にあることに応答してアクション２５２を実行する。例えば、不確実性マネージャ２１８は、オブジェクト２４４のオペレータまたはユーザに警告を送信してよい。代替として、不確実性マネージャ２１８は、オブジェクト２４４の動作制御を引き継いで、例えば、実世界環境２４６におけるオブジェクト２４４または他のオブジェクトもしくは人間に対する損傷を防止または低減する、オブジェクト２４４の性能を向上させる、実世界環境２４６におけるオブジェクト２４４または人間に対するリスクのレベルを低下させる、実世界環境２４６における未知の事象を人間に警告するなどしてよい。
【００７３】
この例では、通信ユニット２１０は、図１のネットワーク１０２などのネットワークを介して、他のコンピュータ、データ処理システム、デバイス、およびマシンとの通信を提供する。通信ユニット２１０は、物理通信リンクと無線通信リンクの両方を使用して通信を提供することができる。物理通信リンクは、例えば、ワイヤ、ケーブル、ユニバーサル・シリアル・バス、または他の任意の物理技術を利用して、データ処理システム２００に対する物理通信リンクを確立してよい。無線通信リンクは、例えば、短波、高周波、超高周波、マイクロ波、ワイヤレス・フィデリティ（Ｗｉ−Ｆｉ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）技術、移動通信用グローバル・システム（ＧＳＭ：global system for mobile communications）、符号分割多元接続（ＣＤＭＡ：code division multiple access）、第２世代（２Ｇ）、第３世代（３Ｇ）、第４世代（４Ｇ）、４Ｇロング・ターム・エボリューション（ＬＴＥ）、ＬＴＥアドバンスト、または他の任意の無線通信技術もしくは無線通信規格を利用して、データ処理システム２００に対する無線通信リンクを確立してよい。
【００７４】
入力／出力ユニット２１２は、データ処理システム２００に接続され得る他のデバイスとのデータの入力および出力を可能にする。例えば、入力／出力ユニット２１２は、キーパッド、キーボード、マウス、または他の何らかの適切な入力デバイスあるいはその組合せを介したユーザ入力のための接続を提供することができる。ディスプレイ２１４は、ユーザに情報を表示するメカニズムを提供し、例えば、ユーザがユーザ・インターフェースまたは入力データを介して画面上の選択を行うことを可能にするタッチ・スクリーン機能を含んでよい。
【００７５】
オペレーティング・システム、アプリケーション、またはプログラムあるいはその組合せに対する命令は、通信ファブリック２０２を介してプロセッサ・ユニット２０４と通信している記憶デバイス２１６に配置されてよい。この例示的な例では、命令は、関数形態で永続ストレージ２０８上にある。これらの命令は、プロセッサ・ユニット２０４によって実行するためにメモリ２０６にロードされてよい。様々な実施形態のプロセスは、メモリ２０６などのメモリに配置され得るコンピュータ実施命令を使用して、プロセッサ・ユニット２０４によって実行されてよい。これらのプログラム命令は、プロセッサ・ユニット２０４内のプロセッサによって読み取られ実行され得る、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。様々な実施形態において、プログラム命令は、メモリ２０６または永続ストレージ２０８などの異なる物理コンピュータ可読記憶デバイス上で実施されてよい。
【００７６】
プログラム・コード２５４は、選択的に取り外し可能なコンピュータ可読媒体２５６上に関数形態で配置されており、プロセッサ・ユニット２０４によって実行するためにデータ処理システム２００にロードまたは転送されてよい。プログラム・コード２５４およびコンピュータ可読媒体２５６は、コンピュータ・プログラム製品２５８を形成する。一例では、コンピュータ可読媒体２５６は、コンピュータ可読記憶媒体２６０またはコンピュータ可読信号媒体２６２とすることができる。コンピュータ可読記憶媒体２６０は、例えば、永続ストレージ２０８の一部であるハード・ドライブなどの記憶デバイスに転送するために、永続ストレージ２０８の一部であるドライブまたは他のデバイスに挿入または配置される光学ディスクまたは磁気ディスクを含んでよい。コンピュータ可読記憶媒体２６０は、データ処理システム２００に接続されたハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリなどの永続ストレージの形態をとることもできる。場合によっては、コンピュータ可読記憶媒体２６０は、データ処理システム２００から取り外し可能ではない場合がある。
【００７７】
代替として、プログラム・コード２５４は、コンピュータ可読信号媒体２６２を使用してデータ処理システム２００に転送されてよい。コンピュータ可読信号媒体２６２は、例えば、プログラム・コード２５４を含む伝播されたデータ信号とすることができる。例えば、コンピュータ可読信号媒体２６２は、電磁信号、光信号、または他の任意の適切なタイプの信号あるいはその組合せとすることができる。これらの信号は、無線通信リンク、光ファイバ・ケーブル、同軸ケーブル、ワイヤ、または他の任意の適切なタイプの通信リンクあるいはその組合せなどの通信リンクを介して送信されてよい。言い換えれば、通信リンクまたは接続あるいはその両方は、例示的な例では物理的または無線とすることができる。コンピュータ可読媒体は、プログラム・コードを含む通信リンクまたは無線送信などの無形の媒体の形態をとることもできる。
【００７８】
いくつかの例示的な実施形態において、プログラム・コード２５４は、データ処理システム２００内で使用するために、ネットワークを介して別のデバイスから永続ストレージ２０８に、またはコンピュータ可読信号媒体２６２を介してデータ処理システムにダウンロードされてよい。例えば、データ処理システムのコンピュータ可読記憶媒体に記憶されたプログラム・コードは、ネットワークを介してデータ処理システムからデータ処理システム２００にダウンロードされてよい。プログラム・コード２５４を提供するデータ処理システムは、サーバ・コンピュータ、クライアント・コンピュータ、またはプログラム・コード２５４を記憶および送信することができる他の何らかのデバイスとすることができる。
【００７９】
データ処理システム２００について図示されている様々なコンポーネントは、様々な実施形態が実装され得る方式にアーキテクチャ上の制限を与えることを意図していない。様々な例示的な実施形態は、データ処理システム２００について図示されているものに加えて、またはその代わりに、コンポーネントを含むデータ処理システムにおいて実装されてよい。図２に示す他のコンポーネントは、示されている例示的な例とは異なる場合がある。様々な実施形態は、プログラム・コードを実行することができる任意のハードウェア・デバイスまたはシステムを使用して実装されてよい。一例として、データ処理システム２００は、無機コンポーネントと統合された有機コンポーネントを含むか、または人間を除き全体が有機コンポーネントで構成されるか、あるいはその両方でもよい。例えば、記憶デバイスは、有機半導体から構成されてよい。
【００８０】
別の例として、データ処理システム２００内のコンピュータ可読記憶デバイスは、データを記憶することができる任意のハードウェア装置である。メモリ２０６、永続ストレージ２０８、およびコンピュータ可読記憶媒体２６０は、有形の形態の物理記憶デバイスの例である。
【００８１】
別の例において、バス・システムは、通信ファブリック２０２を実装するために使用されてよく、システム・バスまたは入力／出力バスなどの１つまたは複数のバスから構成されてよい。当然ながら、バス・システムは、バス・システムに取り付けられた様々なコンポーネントまたはデバイス間のデータの転送を提供する任意の適切なタイプのアーキテクチャを使用して実装されてよい。加えて、通信ユニットは、モデムまたはネットワーク・アダプタなどの、データを送信および受信するために使用される１つまたは複数のデバイスを含んでよい。さらに、メモリは、例えば、メモリ２０６、または通信ファブリック２０２に存在し得るインターフェースおよびメモリ・コントローラ・ハブに見られるようなキャッシュであり得る。
【００８２】
データ・サイエンスおよび人工知能の分野は、深層学習が先駆けとなる黄金時代に突入している。深層学習ニューラル・ネットワークは、その環境から学習するために強化の技法を利用し始めたばかりである。しかしながら、現在のモデルは、測定の誤差、または現在のモデルが認識しないものを考慮しないことに起因して、実世界環境では良好に機能することができない。例示的な実施形態は、実世界での適用に類似した実物によく似た訓練環境を提供する。例示的な実施形態を使用すると、人工ニューラル・ネットワークは、不確実性のレベルが高く不確実性の大きさが絶えず変化する状況下で推論することができ、人間は、不確実性の中でこれらの人工ニューラル・ネットワークがどのように実行するかについてより理解することになる。
【００８３】
例示的な実施形態は、深層学習の可塑性を通じて偶然的不確実性および認識論的不確実性をシミュレートする方法を提供する。さらに、例示的な実施形態は、実世界環境から取得した音データなどのセンサ・フィードバックを使用して、実世界環境における未知の事象または混乱のタイプを決定する。したがって、例示的な実施形態は、自律型車両、ロボット支援、ドローンなどの多くの様々なタイプのプラットフォームにわたってデータおよびセンサの不確実性の中で実行することができる。実際、例示的な実施形態を使用する人工ニューラル・ネットワークの各訓練のエポックは、不確実性に起因する新しい結果または成果を引き出すことになる。
【００８４】
次に図３を参照すると、例示的な実施形態による、不確実性をシミュレートする訓練された人工ニューラル・ネットワークの出力に基づいてアクションを実行するためのプロセスを示すフローチャートが示されている。図３に示すプロセスは、例えば、図１のサーバ１０４または図２のデータ処理システム２００などのコンピュータで実施されてよい。代替として、図３に示すプロセスは、何らかのタイプのデータ処理システムまたはコンピュータを含む、図１のクライアント１１０などのデバイスまたはマシンで実施されてよい。
【００８５】
コンピュータが、人工ニューラル・ネットワークの出力データの逆伝播中に人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、およびノード間のエッジ重みに加算したランダム値による出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をシミュレートするとき、プロセスが開始する（ステップ３０２）。コンピュータは、実世界環境に対応するセンサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、人工ニューラル・ネットワークの各層からランダムに除外すべきノードを選択し、人工ニューラル・ネットワークのそれぞれの層ごとに、特定の層に対応する確率密度関数を識別し、その特定の層に対応する確率密度関数にセンサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべきノードを選択する（ステップ３０４）。
【００８６】
コンピュータは、センサ・データの順伝播中に人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの人工ニューラル・ネットワークの出力データへの影響を測定することによって、人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をシミュレートする（ステップ３０６）。コンピュータは、偶然的不確実性および認識論的不確実性をシミュレートすることに基づいて、人工ニューラル・ネットワークの出力を生成する（ステップ３０８）。コンピュータは、偶然的不確実性および認識論的不確実性をシミュレートする人工ニューラル・ネットワークの出力に基づいて、センサ・データを送信し、かつ実世界環境で動作するオブジェクトに対応するアクションを実行する（ステップ３１０）。その後、プロセスは終了する。
【００８７】
しかしながら、実生活における適用のすべてに、データの不確実性とセンサの不確実性の両方が存在するとは限らないことに留意されたい。結果として、代替の例示的な一実施形態は、センサの不確実性のみが存在するとき、偶然不確実性のみをシミュレートして、実世界環境で動作するオブジェクトから受信したセンサ・データから人工ニューラル・ネットワークが理解しないものを測定することができる。別の代替の例示的な実施形態は、データの不確実性のみが存在するとき、認識論的不確実性のみをシミュレートして、実世界環境で動作するオブジェクトに対応するデータから人工ニューラル・ネットワークが認識しないものを測定することができる。さらに、偶然的不確実性または認識論的不確実性のいずれかのみをシミュレートする代替の例示的な実施形態により、これらの代替の例示的な実施形態は、偶然的不確実性と認識論的不確実性の両方をシミュレートすることと比較して、プロセッサ、メモリ、およびネットワーク・リソースを節約する。
【００８８】
次に図４を参照すると、例示的な実施形態による、偶然的不確実性をシミュレートするためのプロセスを示すフローチャートが示されている。図４に示すプロセスは、例えば、図１のサーバ１０６または図２のデータ処理システム２００などのコンピュータで実施されてよい。代替として、図４に示すプロセスは、何らかのタイプのデータ処理システムまたはコンピュータを含む、図１のクライアント１１２などのデバイスまたはマシンで実施されてよい。
【００８９】
人工ニューラル・ネットワークは、目標出力と取得した出力との間の差異である、損失関数または誤差を、人工ニューラル・ネットワークを通じて逆伝播することによって学習する。例示的な実施形態は、各ノードが誤差に対して有していた寄与量に基づいて、人工ニューラル・ネットワーク内のノード間の各エッジの重みを更新する。偶然的不確実性をシミュレートすることにより、例示的な実施形態は、以下の式を使用して、更新した重みに重み調整（例えば、イプシロン）を加算する。
【００９０】
【数１】
2021515930.tif 000003
【００９１】
言い換えれば、例示的な実施形態は、誤差の乗数としてイプシロンを利用する。例示的な実施形態は、人工ニューラル・ネットワークのそれぞれの隠れ層に対応する各異なる確率密度関数からイプシロンの値を取得する。例示的な実施形態は、例えば、人工ニューラル・ネットワークの３０の異なる隠れ層に対応する３０の異なるタイプなど、複数の異なるタイプの確率密度関数を利用してよい。
【００９２】
コンピュータが、実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む人工ニューラル・ネットワークを実行するとき、プロセスが開始する（ステップ４０２）。コンピュータは、人工ニューラル・ネットワークの取得した出力を利用して、目標出力と取得した出力との間の差分に基づいてモデル誤差を求める（ステップ４０４）。コンピュータは、人工ニューラル・ネットワークの取得した出力を、複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に入力して、取得した出力の実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成する（ステップ４０６）。
【００９３】
コンピュータは、人工ニューラル・ネットワークを介してモデル誤差を逆伝播して、それぞれのノードによるモデル誤差への寄与度に基づいて複数の隠れ層内のノード間のエッジ重みを更新する（ステップ４０８）。コンピュータは、複数の隠れ層内のそれぞれの隠れ層内のノード間の更新したエッジ重みにエッジ重み調整を加算して、偶然的不確実性をシミュレートする（ステップ４１０）。その後、プロセスは終了する。
【００９４】
次に図５を参照すると、例示的な実施形態による、認識論的不確実性をシミュレートするためのプロセスを示すフローチャートが示されている。図５に示すプロセスは、例えば、図１のサーバ１０４または図２のデータ処理システム２００などのコンピュータで実施されてよい。代替として、図５に示すプロセスは、何らかのタイプのデータ処理システムまたはコンピュータを含む、図１のクライアント１１４などのデバイスまたはマシンで実施されてよい。
【００９５】
例示的な実施形態は、例えば、音ベースのドロップアウト・サンプリングを利用して、認識論的不確実性をモデル化することができる。例示的な実施形態は、実世界環境から取得した音プリントを利用して、人工ニューラル・ネットワーク内の各隠れ層のドロップアウト学習率を設定することができる。例えば、例示的な実施形態は、音分析器を利用し、実世界環境にいる群衆からのノイズを測定してノイズに対応する複数のタグを生成することができる。例示的な実施形態は、ワードツーベクトル（word2vector）のニューラル・ネットワークにタグを入力して単語ベクトルを生成し、次いで、群集ノイズの蓄音機と共に、単語ベクトルを音強度分類器に入力することができる。音強度分類器によって生成された結果のノイズ強度スコアは、モンテ・カルロ・ドロップアウト・サンプリング中のサンプリングの大きさを示す。サンプリングの大きさは、最初に人工ニューラル・ネットワークから除外するノードの数に関係し、次いで取得するサンプルの数に関係する。結果として、訓練中、人工ニューラル・ネットワークはノードの損失を模倣し、人工ニューラル・ネットワークが認識しないものをシミュレートする。訓練された人工ニューラル・ネットワークの出力は、認識論的誤差の評価を含むことになる。
【００９６】
コンピュータが実世界環境で動作するオブジェクトからセンサ・データを受信するとき、プロセスが開始する（ステップ５０２）。コンピュータは、センサ・データの強度レベルを決定する（ステップ５０４）。コンピュータは、センサ・データの強度レベルが、未知の事象の発生を示す強度レベル閾値より高いかどうかを判定する（ステップ５０６）。
【００９７】
コンピュータが、センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値未満であると判定し、ステップ５０６の出力が「いいえ」の場合、プロセスはステップ５０２に戻り、コンピュータは引き続きセンサ・データを受信する。センサ・データの強度レベルが未知の事象の発生を示す強度レベル閾値以上であるとコンピュータが判定し、ステップ５０６の出力が「はい」の場合、コンピュータは、各隠れ層が複数のノードを含む、複数の隠れ層を含む人工ニューラル・ネットワークに、センサ・データを入力する（ステップ５０８）。
【００９８】
その後、コンピュータは、センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングを実行して、未知の事象をシミュレートするために複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定する（ステップ５１０）。コンピュータは、複数の隠れ層から１つの隠れ層を選択する（ステップ５１２）。コンピュータは、人工ニューラル・ネットワークの出力をモデル化する、複数の隠れ層のうちの選択した隠れ層に対応する確率密度関数を識別する（ステップ５１４）。
【００９９】
コンピュータは、識別した確率密度関数にセンサ・データの強度レベルを適用することに基づいて、選択した隠れ層の中でランダムにドロップアウトすべきノードを選択する（ステップ５１６）。コンピュータは、選択した隠れ層の中の選択したノードをドロップアウトして、未知の事象に関連する認識論的不確実性をシミュレートする（ステップ５１８）。続いて、コンピュータは、複数の隠れ層に別の隠れ層が存在するかどうかを判定する（ステップ５２０）。
【０１００】
複数の隠れ層に別の隠れ層が存在するとコンピュータが判定し、ステップ５２０の出力が「はい」の場合、プロセスはステップ５１２に戻り、コンピュータは別の隠れ層を選択する。複数の隠れ層に別の隠れ層が存在しないとコンピュータが判定し、ステップ５２０の出力が「いいえ」の場合、その後プロセスは終了する。
【０１０１】
次に図６を参照すると、例示的な実施形態による、人工ニューラル・ネットワークを訓練するためのプロセスを示すフローチャートが示されている。図６に示すプロセスは、例えば、図１のサーバ１０４または図２のデータ処理システム２００などのコンピュータで実施されてよい。代替として、図６に示すプロセスは、何らかのタイプのデータ処理システムまたはコンピュータを含む、図１のクライアント１１４などのデバイスまたはマシンで実施されてよい。
【０１０２】
コンピュータが人工ニューラル・ネットワークのための訓練手本を受信するとき、プロセスが開始する（ステップ６０２）。コンピュータは、人工ニューラル・ネットワークを介して訓練手本を順伝播する（ステップ６０４）。コンピュータは、人工ニューラル・ネットワークの出力を逆伝播する（ステップ６０６）。
【０１０３】
加えて、コンピュータは、実世界環境から音データを受信する（ステップ６０８）。コンピュータは、音データに基づいてサンプリング率を決定する（ステップ６１０）。その後、コンピュータは、逆伝播および決定したサンプリング率に基づいて、モンテ・カルロ・サンプリング・パラメータおよび拡散パラメータを設定する（ステップ６１２）。
【０１０４】
コンピュータは、人工ニューラル・ネットワークの層ごとに、対応する確率密度関数（ＰＤＦ）を識別する（ステップ６１４）。コンピュータは、拡散パラメータを使用して、人工ニューラル・ネットワークの各層内のノードをランダムに選択する（ステップ６１６）。コンピュータは、モンテ・カルロ・サンプリング・パラメータを使用して、サンプリングされなかった各確率密度関数における領域を除去する（ステップ６１８）。コンピュータは、領域除去後の各確率密度関数における古い領域に対する新しい領域の比率を計算する（ステップ６２０）。コンピュータは、ランダムに選択された各ノードのすべての入力エッジ重みに比率を加算する（ステップ６２２）。
【０１０５】
さらに、コンピュータは、損失関数を使用して訓練誤差を決定する（ステップ６２４）。コンピュータは、データの遮蔽に対する各確率密度関数に訓練誤差を入力する（ステップ６２６）。コンピュータは、各確率密度関数の各出力に基づいて、エッジ重みに対する追加の誤差調整を計算する（ステップ６２８）。コンピュータは、追加の誤差調整を使用してノード間のエッジ重みを調整する（ステップ６３０）。
【０１０６】
コンピュータは、人工ニューラル・ネットワークの訓練を継続する（ステップ６３２）。その後、プロセスは終了する。
【０１０７】
したがって、本発明の例示的な実施形態は、後の実世界での適用中にニューラル・ネットワークが不確実性の中で正確な結果を生成する能力を予測するように、人工ニューラル・ネットワークを訓練しながら不確実性をシミュレートするためのコンピュータ実施方法、コンピュータ・システム、およびコンピュータ・プログラム製品を提供する。本発明の様々な実施形態を例示の目的で提示してきたが、網羅的であること、または開示された実施形態に限定されることは意図されていない。説明した実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の応用例、または市場で見られる技術を超える技術的改良を、最もよく説明するために、あるいは、本明細書で開示される実施形態を当業者が理解できるようにするために選択されたものである。
【図１】
2021515930.tif 000004
【図２】
2021515930.tif 000005
【図３】
2021515930.tif 000006
【図４】
2021515930.tif 000007
【図５】
2021515930.tif 000008
【図６】
2021515930.tif 000009
【手続補正書】
【提出日】令和2年10月7日(2020.10.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性を前記コンピュータによってシミュレートすることと、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行すること
を含む、コンピュータ実施方法。
【請求項２】
前記実世界環境に対応する前記センサ・データをモンテ・カルロ・ドロップアウト・サンプリングに使用することによって、前記人工ニューラル・ネットワークの各層からランダムに除外すべきノードを前記コンピュータによって選択することと、
前記人工ニューラル・ネットワークのそれぞれの層ごとに、
特定の層に対応する確率密度関数を前記コンピュータによって識別することと、
その特定の層に対応する前記確率密度関数に前記センサ・データの強度レベルを適用することに基づいて、その特定の層からランダムに除外すべき前記ノードを前記コンピュータによって選択することと
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることに基づいて、前記人工ニューラル・ネットワークの出力を前記コンピュータによって生成すること
をさらに含む、請求項１または２に記載のコンピュータ実施方法。
【請求項４】
前記実世界環境に対応するラベル付きセンサ・データ・サンプルを使用して、複数の隠れ層を含む前記人工ニューラル・ネットワークを前記コンピュータによって実行することと、
前記人工ニューラル・ネットワークの取得した出力を前記コンピュータによって利用して、目標出力と前記取得した出力との間の差分に基づいてモデル誤差を求めることと
をさらに含む、請求項１〜３のいずれか１項に記載のコンピュータ実施方法。
【請求項５】
前記人工ニューラル・ネットワークの前記取得した出力を、前記複数の隠れ層内のそれぞれの隠れ層に対応する各異なるタイプの確率密度関数に前記コンピュータによって入力して、前記取得した出力の前記実世界環境における発生確率に基づいてノード間のエッジ重み調整を生成すること
をさらに含む、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記人工ニューラル・ネットワークを介して前記モデル誤差を前記コンピュータによって逆伝播して、それぞれのノードによる前記モデル誤差への寄与度に基づいて前記複数の隠れ層内のノード間のエッジ重みを更新することと、
前記複数の隠れ層内のそれぞれの隠れ層内のノード間の前記更新したエッジ重みに前記エッジ重み調整を前記コンピュータによって加算して、前記偶然的不確実性をシミュレートすること
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記実世界環境で動作する前記オブジェクトから前記センサ・データを前記コンピュータによって受信することと、
前記センサ・データの強度レベルを前記コンピュータによって決定することと、
前記センサ・データの前記強度レベルが未知の事象の発生を示す強度レベル閾値以上であるかどうかを前記コンピュータによって判定することと
をさらに含む、請求項１〜６のいずれか１項に記載のコンピュータ実施方法。
【請求項８】
前記センサ・データの前記強度レベルが未知の事象の発生を示す前記強度レベル閾値以上であると前記コンピュータが判定したことに対応して、複数の隠れ層を含む前記人工ニューラル・ネットワークに前記センサ・データを前記コンピュータによって入力することであって、各隠れ層が複数のノードを含む、前記入力することと、
前記センサ・データに対してモンテ・カルロ・ドロップアウト・サンプリングを前記コンピュータによって実行して、前記未知の事象をシミュレートするために前記複数の隠れ層内のそれぞれの隠れ層内のどのノードをランダムにドロップアウトすべきかを決定することと
をさらに含む、請求項７に記載のコンピュータ実施方法。
【請求項９】
前記複数の隠れ層から１つの隠れ層を前記コンピュータによって選択することと、
前記人工ニューラル・ネットワークの出力をモデル化する、前記複数の隠れ層のうちの前記選択した隠れ層に対応する確率密度関数を前記コンピュータによって識別すること
をさらに含む、請求項８に記載のコンピュータ実施方法。
【請求項１０】
前記識別した確率密度関数に前記センサ・データの前記強度レベルを適用することに基づいて、前記選択した隠れ層の中でランダムにドロップアウトすべきノードを前記コンピュータによって選択することと、
前記選択した隠れ層の中の前記選択したノードを前記コンピュータによってドロップアウトして、前記未知の事象に関連する認識論的不確実性をシミュレートすることと
をさらに含む、請求項９に記載のコンピュータ実施方法。
【請求項１１】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・システムであって、
バス・システムと、
プログラム命令を格納する、前記バス・システムに接続された記憶デバイスと、
前記バス・システムに接続されたプロセッサとを備え、前記プロセッサが、前記プログラム命令を実行して、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をシミュレートし、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をシミュレートし、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを実行する
コンピュータ・システム。
【請求項１２】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ・プログラムであって、コンピュータによって実行可能であり、前記コンピュータに、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性を前記コンピュータによってシミュレートすることと、
前記センサ・データの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの前記出力データへの影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性を前記コンピュータによってシミュレートすることと、
前記偶然的不確実性および前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む方法を実行させる、コンピュータ・プログラム。
【請求項１３】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
前記人工ニューラル・ネットワークの出力データの逆伝播中に前記人工ニューラル・ネットワーク内のノード間のエッジ重みにランダム値を加算すること、および前記ノード間の前記エッジ重みに加算した前記ランダム値による前記出力データへの影響を測定することによって、実世界環境で動作するオブジェクトから受信したセンサ・データから前記人工ニューラル・ネットワークが理解しないものを測定するために、偶然的不確実性をコンピュータによってシミュレートすることと、
前記偶然的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記センサ・データを送信し、かつ前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む、コンピュータ実施方法。
【請求項１４】
人工ニューラル・ネットワークにおける不確実性をシミュレートするためのコンピュータ実施方法であって、
実世界環境で動作するオブジェクトに対応するデータの順伝播中に前記人工ニューラル・ネットワークのそれぞれの層から選択したノードをドロップアウトすること、およびドロップアウトしたノードの前記人工ニューラル・ネットワークの出力への影響を測定することによって、前記人工ニューラル・ネットワークが認識しないものを測定するために、認識論的不確実性をコンピュータによってシミュレートすることと、
前記認識論的不確実性をシミュレートすることによって得られる前記影響に基づいて、前記実世界環境で動作する前記オブジェクトに対応するアクションを前記コンピュータによって実行することと
を含む、コンピュータ実施方法。
【国際調査報告】
2021515930.tif 000010
2021515930.tif 000011