(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024035192
(43)【公開日】2024-03-13
(54)【発明の名称】ノイズ除去された拡散モデルを用いた入力摂動を汎用精製するためのシステム及び方法
(51)【国際特許分類】
G06N 3/08 20230101AFI20240306BHJP
G06N 3/0475 20230101ALI20240306BHJP
【FI】
G06N3/08
G06N3/0475
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023139962
(22)【出願日】2023-08-30
(31)【優先権主張番号】17/900,343
(32)【優先日】2022-08-31
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
3.JAVA
4.JAVASCRIPT
5.PYTHON
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】チャイタンヤ クマール ムンマディ
(72)【発明者】
【氏名】アイヴァン バタロヴ
(72)【発明者】
【氏名】ジェレミー ジーグ コルター
(72)【発明者】
【氏名】ジンヤン チャン
(72)【発明者】
【氏名】ワン-イー リン
(57)【要約】 (修正有)
【課題】機械学習ネットワークをトレーニングするためのコンピュータ実装方法、システム及びプログラムを提供する。
【解決手段】方法は、コンピュータが、センサから入力データを受信し、入力データを使用して、トレーニングデータセットを、入力データの1つ又は複数のコピーを作成し、1つ又は複数のコピーにノイズを付加することによって作成し、トレーニングデータセットを拡散モデルへ送信し、拡散モデルで、入力データに関連付けられたノイズを除去し、トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、トレーニングデータセットを再構成及び精製し、修正された入力データセットを固定分類器へ送信させ、固定分類器によって取得された、修正された入力データセットの分類の多数決に応答して、入力データに関連付けられた分類を出力させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
機械学習ネットワークをトレーニングするためのコンピュータ実装された方法であって、
センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信することと、
前記入力データを使用してトレーニングデータセットを生成することであって、前記生成することは、前記入力データの1つ又は複数のコピーを作成することと、前記1つ又は複数のコピーのそれぞれに同等の平均及び分散を有するノイズを付加することとを含む、ことと、
拡散モデルを使用して、前記入力データに関連付けられたノイズを除去し、前記トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製することと、
固定分類器を使用して、前記固定分類器によって取得された、前記修正された入力データセットの分類の多数決に応答して、前記入力データに関連付けられた分類を出力することと、
を含む、コンピュータ実装された方法。
【請求項2】
前記拡散モデルと前記固定分類器との双方が事前トレーニングされている、請求項1に記載のコンピュータ実装された方法。
【請求項3】
前記拡散モデル及び前記固定分類器を使用して、各トレーニングデータセットに対して、クリーン画像を計算することを含む、請求項1に記載のコンピュータ実装された方法。
【請求項4】
前記ノイズは、ガウスノイズ、ショットノイズ、モーションブラー、ズームブラー、圧縮又は輝度変化を含む、請求項1に記載のコンピュータ実装された方法。
【請求項5】
前記固定分類器及び前記拡散モデルは、同様のデータ分布につきトレーニングされている、請求項1に記載のコンピュータ実装された方法。
【請求項6】
前記拡散モデルは、時間経過におけるノイズを除去することによって、前記トレーニングデータセットに関連付けられたノイズを反転させるように構成されている、請求項1に記載のコンピュータ実装された方法。
【請求項7】
前記拡散モデルからノイズが除去される、請求項1に記載のコンピュータ実装された方法。
【請求項8】
前記センサは、カメラであり、前記入力データは、前記カメラから取得されたビデオ情報を含む、請求項1に記載のコンピュータ実装された方法。
【請求項9】
機械学習ネットワークを含むシステムであって、
カメラ、レーダ、ソナー又はマイクロフォンを含むセンサからの入力データを受信するように構成された入力インタフェースと、
前記入力インタフェースと通信するプロセッサと、
を備えるシステムにおいて、
前記プロセッサは、
前記入力インタフェースから、画像情報、レーダ情報、ソナー情報又は音響情報を示す前記入力データを受信し、
前記入力データを使用して、ノイズを伴う入力データの複数のコピーを含むトレーニングデータセットを生成し、
前記入力データに関連付けられたノイズを除去し、複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製し、
前記修正された入力データセットから取得された分類の多数決に応答して、前記入力データに関連付けられた最終分類を出力する
ようにプログラミングされている、システム。
【請求項10】
前記ノイズは、ガウスノイズ、ショットノイズ、モーションブラー、ズームブラー、圧縮又は輝度変化を含む、請求項9に記載のシステム。
【請求項11】
前記入力データは、画像を示しており、前記トレーニングデータセットは、ガウス分布からランダムに引き出された画像に関連付けられた各ピクセルを選択することによって生成される、請求項9に記載のシステム。
【請求項12】
前記システムは、拡散プロセスによって画像を生成するように構成されたノイズ除去拡散モデルである拡散モデルを含む、請求項9に記載のシステム。
【請求項13】
前記拡散モデルを使用して、前記トレーニングデータセットを再構成及び精製する、請求項12に記載のシステム。
【請求項14】
前記最終分類は、分類器を使用して出力される、請求項9に記載のシステム。
【請求項15】
命令を記憶したコンピュータプログラム製品であって、前記命令は、コンピュータによって実行されるときに、前記コンピュータに、
センサから入力データを受信させ、
前記入力データを使用してトレーニングデータセットを生成させ、ここで、前記トレーニングデータセットは、前記入力データの1つ又は複数のコピーを作成し、前記1つ又は複数のコピーにノイズを付加することによって作成され、
前記トレーニングデータセットを拡散モデルへ送信させ、ここで、前記拡散モデルは、前記入力データに関連付けられたノイズを除去し、前記トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製するように構成されており、
固定分類器を使用して、前記固定分類器によって取得された分類の多数決及び前記修正された入力データセットに応答して、前記入力データに関連付けられた分類を出力させる
ためのものである、コンピュータプログラム製品。
【請求項16】
前記入力データは、画像情報、レーダ情報、ソナー情報又は音響情報を含む、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記ノイズを付加することは、前記1つ又は複数のコピーのそれぞれに同等の平均及び同等の分散を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記ノイズを付加することは、同等の平均を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記ノイズを付加することは、同等の分散を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記入力データは、マイクロフォンから取得された音響情報を含む、請求項15に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習を使用した画像(又は他の入力)の増強及び処理に関する。
【0002】
連邦政府による資金提供を受けた研究の記載
本発明は、国立科学財団(National Science Foundation)から授与された認可番号第1190060-430433号のもとに政府による支援を受けてなされたものである。政府は、本発明に一定の権利を有し得る。
【背景技術】
【0003】
背景
機械学習分類器は、テスト時に破損及び摂動を起こし易いことが判明している。このような摂動/破損は自然発生することもある(通常の破損)が、最悪の場合には、入力ドメインのわずかな変化が誤った予測を引き起こし得る敵対的摂動を受けることもある。自然破損は通常、画像の全てのピクセルを変化させるので、こうした破損は人間の知覚にとって可視となる。一方、敵対的摂動には、ノルム有界摂動とパッチに基づく摂動との2つの主要なタイプが存在する。ノルム有界摂動は、自然破損の場合と同様に、制限された(lpノルムによる有界の)強度で画像の全てのピクセルを変化させるのに対して、パッチに基づく摂動は、画像の部分領域内のピクセルのみを変化させるが、当該ピクセルの値を画像のピクセル範囲内の任意の値へと変化させ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
3つのタイプの摂動のきわめて異なるこうした性質のために、当該技術分野で知られている1つ又は2つのタイプの摂動に対してロバストなモデル、例えば、敵対的精製、敵対的ロバストネス及びロバストビジョン変換器に対する拡散モデルをトレーニングする方法が提案されてきた。3つのタイプの摂動の全てに対してモデルをロバストにすることができる単一の方法は、存在していない。本発明は、事前トレーニングされかつ微調整された分類器を、共通の破損及び敵対的摂動に対してロバストにする1つのフレームワークを提案する。
【課題を解決するための手段】
【0005】
概要
第1の実施形態は、機械学習ネットワークをトレーニングするためのコンピュータ実装された方法を開示する。機械学習ネットワークをトレーニングするためのコンピュータ実装された方法は、センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信することと、入力データを使用してトレーニングデータセットを生成することであって、ここで、当該トレーニングデータセットは、入力データの1つ又は複数のコピーを作成し、当該1つ又は複数のコピーのそれぞれに同等の平均及び分散を有するノイズを付加することによって作成される、ことと、トレーニングデータセットを拡散モデルへ送信することであって、ここで、当該拡散モデルは、入力データに関連付けられたノイズを除去し、トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、拡散モデルにより設定されたトレーニングデータセットを再構成及び精製するように構成されている、ことと、修正された入力データセットを固定分類器へ送信することと、固定分類器によって取得された、修正された入力データセットの分類の多数決に応答して、入力データに関連付けられた分類を出力することと、を含む。
【0006】
第2の実施形態は、機械学習ネットワークを含むシステムを開示する。システムは、カメラ、レーダ、ソナー又はマイクロフォンを含むセンサからの入力データを受信するように構成された入力インタフェースを備えている。システムはまた、入力インタフェースと通信するプロセッサを備えており、当該プロセッサは、センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信し、入力データを使用して、ノイズを含む入力データの複数のコピーを含むトレーニングデータセットを生成し、入力データに関連付けられたノイズを除去し、複数のコピーを再構成して、修正された入力データセットを作成することによって、トレーニングデータセットを再構成及び精製し、さらに、修正された入力データセットから取得された分類の多数決に応答して、入力データに関連付けられた最終分類を出力するようにプログラミングされている。
【0007】
第3の実施形態は、命令を記憶したコンピュータプログラム製品であって、当該命令は、コンピュータによって実行されるときに、当該コンピュータに、センサから入力データを受信させ、入力データを使用してトレーニングデータセットを生成させ、ここで、トレーニングデータセットは、入力データの1つ又は複数のコピーを作成し、当該1つ又は複数のコピーにノイズを付加することによって作成され、トレーニングデータセットを拡散モデルへ送信させ、ここで、拡散モデルは、入力データに関連付けられたノイズを除去し、トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、トレーニングデータセットを再構成及び精製するように構成されており、修正された入力データセットを固定分類器へ送信させ、固定分類器によって取得された、修正された入力データセットの分類の多数決に応答して、入力データに関連付けられた分類を出力させるためのものである、コンピュータプログラム製品を開示する。
【図面の簡単な説明】
【0008】
【
図1】ニューラルネットワークをトレーニングするためのシステム100を示す図である。
【
図2】データへのアノテーションを行うシステムを実現するデータアノテーションシステム200を示す図である。
【
図4】拡散モデルを使用してノイズ又は摂動のデータセットを学習するニューラルネットワークのシステムを示す例示的なフローチャート400である。
【
図5】コンピュータ制御される機械10と制御システム12との間の相互作用を示す概略図である。
【
図6】部分的に自律的な車両又は部分的に自律的なロボットであり得る車両を制御するように構成された、
図1の制御システムを示す概略図である。
【
図7】製造システム、例えば生産ラインの一部の製造機械、例えばパンチカッタ、カッタ又はガンドリルを制御するように構成された、
図1の制御システムを示す概略図である。
【
図8】少なくとも部分的な自律モードを有する電動工具、例えば電動ドリル又は電動ドライバを制御するように構成された、
図1の制御システムを示す概略図である。
【
図9】自動パーソナルアシスタントを制御するように構成された、
図1の制御システムを示す概略図である。
【
図10】モニタリングシステム、例えば制御アクセスシステム又はサーベイランスシステムを制御するように構成された、
図1の制御システムを示す概略図である。
【
図11】撮像システム、例えばMRI装置、X線撮像装置又は超音波装置を制御するように構成された、
図1の制御システムを示す概略図である。
【発明を実施するための形態】
【0009】
詳細な説明
本開示の実施形態を本明細書において説明する。ただし、開示する実施形態は、単なる例であり、他の実施形態においては、様々な代替形態を取ることができることを理解されたい。図面は、必ずしも縮尺通りに描かれておらず、特定の構成要素の詳細を示すために、いくつかの特徴を誇張して又は縮小して示したところがある。したがって、本明細書に開示する特定の構造的詳細及び機能的詳細は、限定として解釈されるべきではなく、実施形態の様々な使用を当業者に教示するための代表的な基礎として解釈されるべきである。当業者に理解されるとおり、図面のいずれか1つを参照して例示及び説明する様々な特徴は、1つ又は複数の他の図面に示される特徴と組み合わせて、明示的に例示しない又は説明しない実施形態を提供することができる。図示の特徴の組合せにより、典型的な用途のための代表的な実施形態が提供される。なお、本開示の教示に一致する特徴の様々な組合せ及び修正は、特定の用途又は特定の実現形態にとって望ましいものであり得る。
【0010】
従来の作業は、3つのタイプの摂動のサブセット(最悪のケースのパッチに基づく摂動、又は、最悪のケースのノルム有界摂動を伴う通常の破損)の全てに焦点を合わせることができるものではなかった。本発明において提案するロバストな方法は、全てのタイプの摂動と種々のアーキテクチャ又はパラメータを有する分類器とに汎用可能である。
【0011】
テスト時の破損/摂動に対するモデルのロバスト性を改善することは、いくつかの理由から困難な課題であることがわかっている。すなわち、第1に、トレーニング中には破損及び摂動が見えないことに対して、機械学習モデルは、ほぼ全ての機能に近似する高い能力にもかかわらず、与えられたデータ分布についての最良の表現の学習に依拠しており、通常、未知のデータ分布については十分に実行可能でないこと、第2に、テスト時に破損/摂動のタイプ及び重大度を推定することができ、シミュレートされたサンプルをトレーニングデータに付加できたとしても、いくつかの破損/摂動は、きわめて困難な性質を有し、破損/摂動の全てに対するロバストな表現の学習は、依然として困難であることが挙げられる。
【0012】
この問題に対処するために、以下に開示する実施形態においては、ノイズ除去された拡散モデル(例えば、https://arxiv.org/abs/2006.11239)を、通常の破損及び最悪のケースの摂動のための汎用精製器として使用することができる。ノイズ除去された拡散モデルは、既知の分散及びゼロ平均を有するガウスノイズのもとでの画像の再構成を学習することができる。このことは、各ピクセル値がガウス分布からランダムに引き出される場合における、ランダムノイズ画像からの画像生成にも使用可能である。ランダムノイズ画像は任意の画像に対する最も強いガウスノイズ破損であるので、このことは、ノイズ除去された拡散モデルが重度のガウスノイズ破損のもとで画像を再構成可能であることを示す。次いで、システムは、ガウスノイズが付加された状態でテスト画像をさらに「破損」させた後、ノイズ除去された拡散モデルを使用してクリーン画像を再構成することを提案することができる。ここでの着想は、付加されたガウスノイズが破損又は摂動を破損させるということであり、ノイズ除去された拡散モデルが破損又は摂動を有さないトレーニングデータ分布から学習を行うので、再構成画像もそうした分布となり、したがって、クリーン画像に近づくということである。したがって、ノイズ除去拡散モデルと画像分類器とが同様のデータ分布からトレーニングされる限り、分類器は、再構成画像について正確な分類を実行できるはずである。
【0013】
システムはさらに、精製のパフォーマンスを改善するために、ノイズ除去された拡散モデルの確率的性質を利用することができる。同一の入力画像を有するモデルを任意に2回異なって実行するとそれぞれ異なる再構成が得られるので、システム及び方法は、複数の再構成画像を取得するために上記のノイズ付加手順及びノイズ除去手順を複数回実行することができる。その後、最終的な予測クラスとしてこれらの画像の分類器予測の多数決を取ることができる。
【0014】
システム及び方法は、対応するクラスラベルを有する画像のセットから成るトレーニングデータ分布D
trが、画像分類器
【数1】
とノイズ除去された拡散モデル
【数2】
との双方をトレーニングするために、逆ノイズ分散スケジュールα
tと共に使用されたものであると仮定することができる。
【0015】
ノイズ除去された拡散モデルについて言えば、ノイズ除去された拡散モデルhは、拡散プロセスによって画像を生成する。当該拡散モデルは、ノイズプロセス
【数3】
の反転を学習し、ここで、x
tは、トレーニングデータ分布からサンプリングされたオリジナル画像であり、β
tは、スケジューリングされた(固定の又は学習された)ノイズ分散である。ノイズ付加処理は、時間(t=1,…,T)を通して、トレーニングデータ分布からのデータを純粋なランダムノイズ画像へ変換する。次いで、逆方向(ノイズ除去)プロセスは、時間(t=T,…,1)を通してノイズを除去することによって、ランダムガウスノイズ画像のトレーニングデータ分布から画像を生成する。拡散モデルhをトレーニングするためには、トレーニングデータ、ランダムサンプリングステップ
【数4】
及びノイズ分散スケジュールα
tからサンプリングされたクリーン画像
【数5】
が与えられているとき、ノイズ画像
【数6】
がサンプリングされ、xとh(x
t,t)との間の差が最小化される。
【0016】
通常の破損及び最悪のケースの破損の場合、x~D
trがトレーニングデータ分布からサンプリングされたクリーン画像であると仮定すると、重大度レベルsが与えられ、通常の破損の関数
【数7】
により、xが、破損画像
corruptedx=ε(x,s) (式2)
へと変換され、ここで、εは、ガウスノイズ、ショットノイズ、モーションブラー、ズーム暈け、圧縮、輝度変化などであるものとしてよい。これらのタイプの破損は、分類器に依存しないものであって、破損画像ε(x,s)が、この破損画像を消費することになる分類器又は機械学習モデルから独立していることを意味する。
【0017】
他方で、最悪のケースの摂動は、分類器f及びそのトレーニング損失関数Lに依存する。クリーン画像xが与えられると、最悪のケースの摂動画像は、
A(x,δ,s)=\argmin
δL(f(A(x,δ,s)))、制約C(δ,s)のもとで (式3)
となり、ノルム有界摂動に対しては、適用関数Aはピクセル値範囲への加算及びクリッピングであり、制約C(.)は、ノルム制約、すなわち、
【数8】
であり、パッチに基づく摂動に対しては、適用関数Aは、オーバーレイ(ピクセル値の置換)であり、制約C(.)は、サイズ及び形状の制約であり、すなわち、δ≦sのピクセル数であり、δは、矩形である。
【0018】
潜在的な通常の破損、最悪のケースのノルム有界摂動及び最悪のケースのパッチに基づく摂動のもとにあって、しかも未知の重大度及び未知のタイプの破損を有する画像
【数9】
が与えられると、システム及び方法は、摂動を精製し、又は、
【数10】
によってトレーニングデータ分布内でxをx’へ再構成することができ、ここで、tは、破損/摂動の重大度に依存して予め決定された整数である。
【0019】
次いで、システムは、式2を使用してx’K回を推定し、x’={x’1,x’2,…,x’K}を取得し、入力xに対する最終予測クラスを、
y’=majority(f(x)) ∀x∈{x’1,…,x’k} (式5)
として取得することができる。
【0020】
与えられたクリーン画像xに対して式4と式5とを結合することにより、システムは、K個コピーの精製予測としてのy’を得ることができる。最終的に、システムは、拡散モデルh及び分類器fを使用して、ラベルyを有する画像xのステップtを用いて、K個コピーの精製精度を、
l(y=y’)
として定義することができ、ここで、
【数11】
である。
【0021】
実施形態は、音響などの1D信号に対しても動作可能であることに注意されたい。また、システム及び方法は、画像分類器fに対する仮定を行う必要がなく、これは、本発明が分類器に依存せず、分類器及び拡散モデルが同様のデータ分布についてトレーニングされる限り、画像分類器の任意のアーキテクチャ及び任意のパラメータに適用可能であることを意味する。また、x’につきfを微調整することにより、分類器の精度をさらに増幅することもできる。
【0022】
図1には、ニューラルネットワークをトレーニングするシステム100が示されている。システム100は、ニューラルネットワーク用のトレーニングデータ192にアクセスするための入力インタフェースを含み得る。例えば、
図1に示されているように、入力インタフェースは、データストレージ190からトレーニングデータ192にアクセスすることができるデータストレージインタフェース180によって構成可能である。例えば、データストレージインタフェース180は、メモリインタフェース又は持続的なストレージインタフェース、例えばハードディスク又はSSDインタフェースであり得るが、パーソナルエリアネットワーク、ローカルエリアネットワーク又はワイドエリアネットワークのインタフェース、例えば、Bluetooth、Zigbee又はWi-Fiインタフェース又はイーサネット又は光ファイバインタフェースであるものとしてもよい。データストレージ190は、システム100の内部データストレージ、例えば、ハードドライブ又はSSDのみならず、外部データストレージ、例えば、ネットワークアクセス可能なデータストレージであるものとしてもよい。
【0023】
いくつかの実施形態においては、データストレージ190はさらに、システム100によってデータストレージ190からアクセス可能な、ニューラルネットワークのトレーニングされていないバージョンのデータ表現194を含み得る。ただし、トレーニングされていないニューラルネットワークのトレーニングデータ192及びデータ表現194には、それぞれ異なるデータストレージから、例えば、データストレージインタフェース180の異なるサブシステムを介してアクセス可能であることが理解される。各サブシステムは、データストレージインタフェース180につき上述したタイプのものであってよい。他の実施形態においては、トレーニングされていないニューラルネットワークのデータ表現194は、ニューラルネットワーク用の設計パラメータに基づいてシステム100によって内部において生成されたものであり、したがって、データストレージ190に明示的に記憶されたものでなくてもよい。システム100はさらに、システム100の動作中、トレーニングされるべきニューラルネットワークの層スタックの置換物としての反復関数を提供するように構成可能なプロセッササブシステム160を含むものとしてよい。一実施形態においては、置換される層スタックのそれぞれの層は、相互に共有される重みを有し得るものであり、入力として前の層の出力を受け取ることができ、又は、層スタックの第1の層である場合には初期起動及び層スタックの入力の一部を受け取ることができる。また、システムは、複数の層も含み得る。プロセッササブシステム160はさらに、トレーニングデータ192を使用してニューラルネットワークを反復的にトレーニングするように構成可能である。ここで、プロセッササブシステム160によるトレーニングの反復は、順方向伝搬部分及び逆方向伝搬部分を含み得る。プロセッササブシステム160は、実行可能な順方向伝搬部分を定義する他の演算のなかでも特に、反復関数が固定点に収束する平衡点を決定することであって、ここで、当該平衡点を決定することは、数値求根アルゴリズムを使用して反復関数からその入力を差し引いた根解を求めることを含むことと、ニューラルネットワークにおける層スタックの出力の置換物として平衡点を提供することとによって、順方向伝搬部分を実行するように構成可能である。システム100はさらに、トレーニングされたニューラルネットワークのデータ表現196を出力するための出力インタフェースを含み得るものであり、このデータは、トレーニングされたモデルデータ196とも称されることがある。例えば、
図1にも示されているように、出力インタフェースは、データストレージインタフェース180によって構成可能であり、前記インタフェースは、ここでの実施形態においては、入出力(“I/O”)インタフェースであり、こうした入出力(“I/O”)インタフェースを介して、トレーニングされたモデルデータ196をデータストレージ190内に記憶することができる。例えば、「トレーニングされていない」ニューラルネットワークを定義するデータ表現194は、トレーニング中又はトレーニング後に、トレーニングされたニューラルネットワークのデータ表現196によって少なくとも部分的に置換可能であり、その際に、ニューラルネットワークのパラメータ、例えば重み、ハイパーパラメータ及びニューラルネットワークの他のタイプのパラメータが、トレーニングデータ192についてのトレーニングを反映するように適応化可能となる。このことは、
図1においても、データストレージ190上の同一のデータレコードを参照する参照符号194,196によって示されている。他の実施形態においては、データ表現196は、「トレーニングされていない」ニューラルネットワークを定義するデータ表現194とは別個に記憶可能である。いくつかの実施形態においては、出力インタフェースは、データストレージインタフェース180とは別個のものであってもよいが、一般的にはデータストレージインタフェース180につき上述したタイプのものであってよい。
【0024】
図2には、データへのアノテーションを行うシステムを実現するデータアノテーションシステム200が示されている。データアノテーションシステム200は、少なくとも1つのコンピューティングシステム202を含み得る。コンピューティングシステム202は、メモリユニット208と動作可能に接続された少なくとも1つのプロセッサ204を含み得る。プロセッサ204は、中央処理ユニット(CPU)206の機能を実装した1つ又は複数の集積回路を含み得る。CPU206は、命令セット、例えばx86、ARM、Power又はMIPSの命令セットファミリのうちの1つを実行する市販入手可能な処理ユニットであるものとしてよい。動作中、CPU206は、メモリユニット208から取り出される、記憶されていたプログラム命令を実行することができる。記憶されていたプログラム命令は、本明細書において説明する動作を実行するためにCPU206の動作を制御するソフトウェアを含み得る。いくつかの例においては、プロセッサ204は、CPU206、メモリユニット208、ネットワークインタフェース及び入出力インタフェースの各機能を単一の集積装置へと集積するシステムオンチップ(SoC)であるものとしてよい。コンピューティングシステム202は、動作の種々の態様を管理するオペレーティングシステムを実装することができる。
【0025】
メモリユニット208は、命令及びデータを記憶する揮発性メモリ及び不揮発性メモリを含み得る。不揮発性メモリは、ソリッドステートメモリ、例えば、NANDフラッシュメモリ、磁気記憶媒体及び光学記憶媒体、又は、コンピューティングシステム202が非アクティブ状態のとき若しくは電力を失ったときにもデータを保持する他の任意の適当なデータストレージ装置を含み得る。揮発性メモリは、プログラム命令及びデータを記憶するスタティックランダムアクセスメモリ及びダイナミックランダムアクセスメモリ(RAM)を含み得る。例えば、メモリユニット208は、機械学習モデル210又はアルゴリズム、機械学習モデル210用のトレーニングデータセット212、ローソースデータセット215を記憶することができる。
【0026】
コンピューティングシステム202は、外部のシステム及びデバイスとの通信を提供するように構成されたネットワークインタフェース装置222を含み得る。例えば、ネットワークインタフェース装置222は、IEEE(Institute of Electrical and Electronics Engineers)802.11規格ファミリによって定義される有線及び/又は無線のイーサネットインタフェースを含み得る。ネットワークインタフェース装置222は、セルラネットワーク(例えば、3G、4G、5G)と通信するためのセルラ通信インタフェースを含み得る。ネットワークインタフェース装置222は、さらに、外部のネットワーク224又はクラウドに通信インタフェースを提供するように構成されるものとしてよい。
【0027】
外部のネットワーク224は、ワールドワイドウェブ又はインターネットと称され得る。外部のネットワーク224は、コンピューティング装置間の標準的な通信プロトコルを確立することができる。外部のネットワーク224は、コンピューティング装置とネットワークとの間での情報及びデータの容易な交換を可能にすることができる。1つ又は複数のサーバ230は、外部のネットワーク224と通信することができる。
【0028】
コンピューティングシステム202は、デジタル及び/又はアナログの入力及び出力を提供するように構成可能な入出力(I/O)インタフェース220を含み得る。I/Oインタフェース220は、外部装置と通信するための付加的なシリアルインタフェース(例えばユニバーサルシリアルバス(USB)インタフェース)を含むものとしてよい。
【0029】
コンピューティングシステム202は、システム200が制御入力を受け取ることを可能にする任意のデバイスを含み得るヒューマンマシンインタフェース(HMI)装置218を含み得る。入力装置の例は、ヒューマンインタフェース入力部、例えば、キーボード、マウス、タッチスクリーン、音声入力デバイス及び他の同様のデバイスを含み得る。コンピューティングシステム202は、ディスプレイ装置232を含み得る。コンピューティングシステム202は、グラフィックス及びテキスト情報をディスプレイ装置232に出力するためのハードウェア及びソフトウェアを含み得る。ディスプレイ装置232は、電子ディスプレイスクリーン、プロジェクタ、プリンタ、又は、ユーザ若しくはオペレータに情報を表示するための他の適当な装置を含み得る。コンピューティングシステム202はさらに、ネットワークインタフェース装置222を介したリモートHMI及びリモートディスプレイ装置との対話を可能にするように構成可能である。
【0030】
システム200は、1つ又は複数のコンピューティングシステムを使用して実装可能である。ここでの例においては、説明する特徴の全てを実現する単一のコンピューティングシステム202が示されているが、様々な特徴及び機能が相互に通信を行う複数のコンピューティングユニットによって別個に実現可能であることが意図されている。選択される特定のシステムアーキテクチャは、種々の要因に依存し得る。
【0031】
システム200は、ローソースデータセット215を分析するように構成された機械学習アルゴリズム210を実装することができる。ローソースデータセット215は、機械学習システムのための入力データセットを表現することができるローセンサデータ又は未処理のセンサデータを含むものとしてよい。ローソースデータセット215は、ビデオ、ビデオセグメント、画像、テキストに基づく情報、及び、ローセンサデータ又は部分的に処理されたセンサデータ(例えば、物体のレーダマップ)を含み得る。いくつかの例においては、機械学習アルゴリズム210は、所定の機能を実行するように設計されたニューラルネットワークアルゴリズムであるものとしてよい。例えば、ニューラルネットワークアルゴリズムは、自動車用途においては、ビデオ画像内の歩行者を識別するように構成可能である。
【0032】
コンピュータシステム200は、機械学習アルゴリズム210のためのトレーニングデータセット212を記憶することができる。トレーニングデータセット212は、機械学習アルゴリズム210をトレーニングするための、先行して構築されたデータのセットを表現するものであってよい。トレーニングデータセット212は、機械学習アルゴリズム210により、ニューラルネットワークアルゴリズムに関連付けられた重み付け係数の学習のために使用可能である。トレーニングデータセット212は、機械学習アルゴリズム210が学習プロセスを介して複製を試みる、対応する成果又は結果を有するソースデータセットを含み得る。ここでの例においては、トレーニングデータセット212は、歩行者の存在するソースビデオ、及び、歩行者の存在しないソースビデオ、並びに、対応する存在及び位置の情報を含み得る。ソースビデオは、歩行者が識別される様々なシナリオを含み得る。
【0033】
機械学習アルゴリズム210は、トレーニングデータセット212を入力として使用する学習モードで動作可能である。機械学習アルゴリズム210は、トレーニングデータセット212からのデータを使用して、所定の反復回数にわたって実行可能である。反復のたびに、機械学習アルゴリズム210は、達成された結果に基づいて内部重み付け係数を更新することができる。例えば、機械学習アルゴリズム210は、出力結果(例えば、アノテーション)を、トレーニングデータセット212に含まれるものと比較することができる。トレーニングデータセット212は予測結果を含むので、機械学習アルゴリズム210は、パフォーマンスが許容可能となる時点を決定することができる。機械学習アルゴリズム210が所定のパフォーマンスレベル(例えば、トレーニングデータセット212に関連付けられた成果との100%の一致)を達成した後、機械学習アルゴリズム210は、トレーニングデータセット212内に存在しないデータを使用して実行可能となる。トレーニングされた機械学習アルゴリズム210は、アノテーションを有するデータを生成するために新たなデータセットに適用可能である。
【0034】
機械学習アルゴリズム210は、ローソースデータ215における特定の特徴を識別するように構成可能である。ローソースデータ215は、アノテーション結果が所望される、複数のインスタンス又は入力データセットを含み得る。例えば、機械学習アルゴリズム210は、ビデオ画像内の歩行者の存在を識別し、その発生へのアノテーションを行うように構成可能である。機械学習アルゴリズム210は、ローソースデータ215を処理して特定の特徴の存在を識別するようにプログラミング可能である。機械学習アルゴリズム210は、ローソースデータ215内のある1つの特徴を所定の特徴(例えば、歩行者)として識別するように構成可能である。ローソースデータ215は、種々のソースから導出可能である。例えば、ローソースデータ215は、機械学習システムによって収集された実際の入力データであるものとしてよい。ローソースデータ215は、システムのテストのために機械によって生成されたものであってよい。一例として、ローソースデータ215は、カメラからのロービデオ画像を含み得る。
【0035】
ここでの例においては、機械学習アルゴリズム210は、ローソースデータ215を処理し、画像の表現の表示を出力することができる。出力には画像の拡張表現も含めることができる。機械学習アルゴリズム210は、生成された各出力に対する信頼度レベル又は信頼度係数を生成することができる。例えば、所定の高い信頼度閾値を超える信頼度値は、識別された特徴が特定の特徴に対応するとの機械学習アルゴリズム210の確信を示すものであり得る。低い信頼度閾値よりも小さい信頼度値は、特定の特徴が存在することについてのいくらかの不確実性を機械学習アルゴリズム210が有することを示すものであり得る。
【0036】
図3には、分類器30の様々な実施形態が示されている。分類器は、埋め込み部31及び分類部32を含み得る。埋め込み部31は、入力信号(x)を受信し、埋め込みを決定するように構成可能である。分類部32は、埋め込みを受け取り、分類を出力信号として決定することができる。
【0037】
いくつかの実施形態においては、分類部32は線形分類器であり得る。例えば、いくつかの実施形態においては、分類器30は、ニューラルネットワークを含み得るものであり、分類部32は、例えば、全結合層とこれに続くargmax層とによって与えられ得る。いくつかの実施形態においては、分類器30は、畳み込みニューラルネットワークを含み得るものであり、埋め込み部31は複数の畳み込み層を含み得る。分類器30は、固定分類器であるものとしてもよいし、又は、他の実施形態においては、事前トレーニングされた分類器であるものとしてもよい。
【0038】
図4は、拡散モデルを使用して、ノイズ又は摂動のデータセットを学習するニューラルネットワークシステムの例示的なフローチャート400である。入力は、同様のデータ分布につきトレーニングされた、事前トレーニングされた分類器fとノイズ除去された拡散モデルhとを含み得る。さらに、入力は、最大拡散ステップTを含み得るものであり、hのノイズ分散スケジュールα_tも与えられる。また、入力は、f及びhに対して使用されたトレーニングデータD
tr、潜在的な通常の破損及び最悪のケースの摂動のセットS並びに対応する重大度レベルs、式5における多数決に対する精製/再構成された入力のコピー数K、精製ステップの基準Cr(t)も含み得る。用途に応じて、例としての基準は、平均クリーン精度とロバスト精度との間の絶対差、又は、ロバスト精度であり得る。
【0039】
システムは、tについての検索スケジュールを、Rとして定義することができる。例えば、インターバルdで線形探索を使用する場合、R=[1,1+d,1+2d,…,T-mod(T,d)]となる。Rはまた、第1の反復でより大きいdを使用するときには再帰的となり、最良のパフォーマンスを有するインターバルが位置特定され、この場合、当該インターバルに対してdが低減される。Rにおける各t’に対して、システムは、平均精度差ADを計算することができる。平均精度差ADがD
trにおける各(x,y)に対して計算可能になると、システムが、クリーン精度とロバスト精度とを計算する。クリーン精度を計算するために、システムは、式6を使用することができ、すなわち、ここで、
【数12】
である。
【0040】
ロバスト精度を計算するために、Sにおける各摂動及び重大度に対して、システムは、式2及び式3を使用して破損画像/摂動画像を生成し、次いで、式6を使用して精度を計算することができ、ここで、式6におけるxは、生成された破損画像である。次いで、システムは、Sにおける全ての破損/摂動及び重大度にわたって精度を平均することができる。
【0041】
Dtrにおける全てのサンプルにわたって平均クリーン精度及びロバスト精度が計算され、次いで、当該平均クリーン精度及びロバスト精度に基づいて精製基準Cr(t’)が計算されて、
t*=argmint(Cr(t’))∀t’∈R
となる。
【0042】
テスト時に入力xを受け取ったことに応じて、システムは、t=t*で式4を使用して{x’1,…,x’k}を生成することができ、次いで、式5を使用して予測クラスを出力する。
【0043】
ステップ401において、システムは、1つ又は複数のセンサから入力データを受信することができる。センサは、カメラ、レーダ、X線、ソナー、スキャナ、マイクロフォン又は類似のセンサであるものとしてよい。入力データは、画像、音響又は他の情報を含み得る。既述のように、入力を、ノイズを含む様々なコピーの作成のために使用することができる。
【0044】
ステップ403においては、システムは、トレーニングデータセットを生成することができる。データセットは、元のデータセットと、ノイズを含むデータセットの摂動のバージョンとを含み得る。システムは、拡散分散スケジュールと複数のコピーを作成するための拡散ステップとを使用して、トレーニングデータセットを作成することができる。当該セットは、各回のコピーにつきK個の入力コピーを作成することによって作成することができる。このことについては、上記において詳細に説明している。
【0045】
ステップ405においては、トレーニングデータセットを拡散モデルhに供給することができる。上述したように、拡散モデルを使用して画像をクリーニングすることができる。拡散モデルは、上述したように、あらゆるノイズ及び/又は摂動を除去することによって再構成画像を再現することができる。
【0046】
ステップ407においては、システムは予測クラスを取得することができる。分類器は、拡散モデルから供給される再構成された精製コピーに基づいて、予測クラスを識別することができる。ステップ409において、システムは、分類を出力することができる。分類は多数決に基づいて出力可能である。システムはさらに、精製パフォーマンスを改善するために、ノイズ除去された拡散モデルの確率的性質を利用することができる。同一の入力画像を有するモデルを任意に2回異なって実行するとそれぞれ異なる再構成が得られるため、システム及び方法は、複数の再構成画像を取得するために、上記のノイズ付加及びノイズ除去の手順を複数回実行することができる。動作の回数は、ランダムであるものとしてもよいし、又は、設定されるものとしてもよい。その後、最終予測クラスとして、これらの画像の分類器予測の多数決を取ることができる。
【0047】
図5には、コンピュータ制御される機械10と制御システム12との間の相互作用の概略図が示されている。コンピュータ制御される機械10は、
図1乃至
図4に示されているニューラルネットワークを含み得る。コンピュータ制御される機械10は、アクチュエータ14及びセンサ16を含む。アクチュエータ14は1つ又は複数のアクチュエータを含むものとしてよく、センサ16は1つ又は複数のセンサを含むものとしてよい。センサ16は、コンピュータ制御される機械10の状態をセンシングするように構成されている。センサ16は、センシングされた状況をセンサ信号18へと符号化し、当該センサ信号18を制御システム12へ送信するように構成可能である。センサ16の非限定的な例として、ビデオセンサ、レーダセンサ、LiDARセンサ、超音波センサ及びモーションセンサが含まれる。一実施形態においては、センサ16は、コンピュータ制御される機械10の近傍の環境の光学画像をセンシングするように構成された光学センサである。
【0048】
制御システム12は、コンピュータ制御される機械10からセンサ信号18を受信するように構成されている。以下に述べるように、制御システム12はさらに、センサ信号に依存してアクチュエータ制御コマンド20を計算し、このアクチュエータ制御コマンド20をコンピュータ制御される機械10のアクチュエータ14へ送信するように構成可能である。
【0049】
図5に示されているように、制御システム12は受信ユニット22を含む。受信ユニット22は、センサ16からセンサ信号18を受信し、このセンサ信号18を入力信号xへと変換するように構成可能である。代替的な実施形態においては、センサ信号18は、受信ユニット22なしに、入力信号xとして直接に受信される。各入力信号xは、各センサ信号18の一部であるものとしてよい。受信ユニット22は、各センサ信号18を処理して各入力信号xを形成するように構成可能である。入力信号xは、センサ16によって記録された画像に対応するデータを含み得る。
【0050】
制御システム12は分類器24を含む。分類器24は、機械学習(ML)アルゴリズム、例えば上述したニューラルネットワークを使用して、入力信号xを1つ又は複数のラベルへ分類するように構成可能である。分類器24は、上述したパラメータ(例えばパラメータθ)によってパラメータ化されるように構成されている。パラメータθは不揮発性ストレージ26に記憶されており、そこから提供可能である。分類器24は、入力信号xから出力信号yを決定するように構成されている。各出力信号yは、各入力信号xに1つ又は複数のラベルを割り当てるための情報を含む。分類器24は、出力信号yを変換ユニット28へ送信することができる。変換ユニット28は、出力信号yをアクチュエータ制御コマンド20に変換するように構成されている。制御システム12は、アクチュエータ制御コマンド20をアクチュエータ14へ送信するように構成されており、アクチュエータ14は、アクチュエータ制御コマンド20に応答してコンピュータ制御される機械10を動作させるように構成されている。他の実施形態においては、アクチュエータ14は、直接に出力信号yに基づいて、コンピュータ制御される機械10を動作させるように構成される。
【0051】
アクチュエータ14は、アクチュエータ制御コマンド20を受信したことに応じて、関連するアクチュエータ制御コマンド20に対応するアクションを実行するように構成されている。アクチュエータ14は、アクチュエータ制御コマンド20を、アクチュエータ14の制御に使用される第2のアクチュエータ制御コマンドに変換するように構成された制御ロジックを含み得る。1つ又は複数の実施形態においては、アクチュエータ制御コマンド20を使用して、アクチュエータに代えて又はこれに加えて、ディスプレイを制御することができる。
【0052】
他の実施形態においては、制御システム12は、センサ16を含むコンピュータ制御される機械10に代えて又はこれに加えて、センサ16を含む。制御システム12はまた、アクチュエータ14を含むコンピュータ制御される機械10に代えて又はこれに加えて、アクチュエータ14を含み得る。
【0053】
図5に示されているように、制御システム12はまた、プロセッサ30及びメモリ32を含む。プロセッサ30は、1つ又は複数のプロセッサを含み得る。メモリ32は、1つ又は複数のメモリデバイスを含み得る。1つ又は複数の実施形態の分類器24(例えばMLアルゴリズム)は、不揮発性ストレージ26、プロセッサ30及びメモリ32を含む制御システム12によって実装可能である。
【0054】
不揮発性ストレージ26は、1つ又は複数の持続的データストレージデバイス、例えば、ハードドライブ、光学ドライブ、テープドライブ、不揮発性ソリッドステートデバイス、クラウドストレージ、又は、情報を持続的に記憶することができる任意の他のデバイスを含み得る。プロセッサ30は、高性能コア、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、マイクロコンピュータ、中央処理ユニット、フィールドプログラマブルゲートアレイ、プログラマブルロジックデバイス、ステートマシン、論理回路、アナログ回路、デジタル回路又はメモリ32内に常駐するコンピュータ実行可能命令に基づいて(アナログ又はデジタル)信号を操作する任意の他のデバイスを含む高性能コンピューティング(HPC)システムから選択された1つ又は複数のデバイスを含み得る。メモリ32は、以下に限定されるものではないが、ランダムアクセスメモリ(RAM)、揮発性メモリ、不揮発性メモリ、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、キャッシュメモリ、又は、情報を記憶することができる任意の他のデバイスを含む、単一のメモリデバイス又は複数のメモリデバイスを含み得る。
【0055】
プロセッサ30は、メモリ32内へ読み込まれ、不揮発性ストレージ26に常駐して1つ又は複数のMLアルゴリズム及び/又は1つ又は複数の実施形態の方法論を具現化するコンピュータ実行可能命令を実行するように構成可能である。不揮発性ストレージ26は、1つ又は複数のオペレーティングシステム及びアプリケーションを含み得る。不揮発性ストレージ26は、以下に限定されるものではないが、Java、C、C++、C#、Objective C、Fortran、Pascal、JavaScript、Python、Perl及びPL/SQLのうちの1つ又はこれらの組合せを含む様々なプログラミング言語及び/又はプログラミング技術を使用して作成されたコンピュータプログラムからコンパイル及び/又は解釈されたものを記憶することができる。
【0056】
プロセッサ30による実行の際に、不揮発性ストレージ26のコンピュータ実行可能命令は、制御システム12に、本明細書において開示するMLアルゴリズム及び/又は方法論のうちの1つ又は複数を実行させることができる。不揮発性ストレージ26はまた、本明細書に記載の1つ又は複数の実施形態の機能、特徴及びプロセスを支援する(データパラメータを含む)MLデータも含み得る。
【0057】
本明細書に記載のアルゴリズム及び/又は方法論を具現化するプログラムコードは、種々異なる形態のプログラム製品として個別に又は集合的に配布することができる。プログラムコードは、1つ又は複数の実施形態の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を使用して配布することができる。本質的に非一時的であるコンピュータ可読記憶媒体は、情報、例えばコンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを記憶する任意の方法又は技術によって実装された、揮発性及び不揮発性の、並びに、リムーバブル及び非リムーバブルの有形媒体を含み得る。コンピュータ可読記憶媒体はさらに、RAM、ROM、消去可能なプログラマブル読み出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、又は、他のソリッドステートメモリ技術、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は、所望の情報を記憶してコンピュータから読み出し可能とすることに使用可能な任意の他の媒体を含み得る。コンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、コンピュータ、他のタイプのプログラマブルデータ処理装置若しくは他のデバイスへ、又は、ネットワークを介して外部のコンピュータ若しくは外部記憶装置へダウンロード可能である。
【0058】
コンピュータ可読媒体に記憶されたコンピュータ可読プログラム命令は、コンピュータ、他のタイプのプログラマブルデータ処理装置又は他のデバイスに、特定の手法により、コンピュータ可読媒体に記憶された命令により、フローチャート若しくはグラフに指定された機能、アクション及び/又は動作を実現する命令を含む製造品が製造されるように機能させるべく指示するために使用可能である。特定の代替的な実施形態においては、フローチャート及びグラフに指定された機能、アクション及び/又は動作は、1つ又は複数の実施形態に一致する並べ替え、連続処理及び/又は同時処理が可能である。さらに、フローチャート及び/又はグラフのいずれも、1つ又は複数の実施形態と一致する例示的な実施形態よりも多い又は少ないノード又はブロックを含み得る。プロセス、方法又はアルゴリズムは、適当なハードウェアコンポーネント、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ステートマシン、コントローラ、又は、他のハードウェアコンポーネント若しくはデバイス、又は、ハードウェア、ソフトウェア及びファームウェアコンポーネントの組合せを使用して、全体又は一部を具現化可能である。
【0059】
図6には、車両50を制御するように構成された制御システム12の概略図が示されており、車両50は、少なくとも部分的に自律的な車両又は少なくとも部分的に自律的なロボットであるものとしてよい。
図5に示したように、車両50は、アクチュエータ14及びセンサ16を有する。センサ16は、1つ又は複数のビデオセンサ、レーダセンサ、超音波センサ、LiDARセンサ及び/又は位置センサ(例えばGPS)を含み得る。1つ又は複数の特定のセンサのうちの1つ又は複数は、車両50に組み込み可能である。上記に記載した1つ又は複数の特定のセンサに代えて又は加えて、センサ16は、実行時にアクチュエータ14の状態を決定するように構成されたソフトウェアモジュールを含み得る。ソフトウェアモジュールの非限定的な例の1つとして、車両50又は他の位置の近傍での現在又は将来の天候の状態を特定するように構成された気象情報ソフトウェアモジュールが含まれる。
【0060】
車両50の制御システム12の分類器24は、入力信号xに依存して、車両50の近傍の物体を検出するように構成可能である。こうした実施形態においては、出力信号yは、物体から車両50までの近接性を特徴付ける情報を含み得る。アクチュエータ制御コマンド20は当該情報に従って決定可能となる。アクチュエータ制御コマンド20は、検出された物体との衝突を回避するために使用可能である。
【0061】
車両50が少なくとも部分的に自律的な車両である実施形態においては、アクチュエータ14は、車両50のブレーキ、推進システム、エンジン、ドライブトレイン又はステアリング部に組み込まれたものであってよい。車両50と検出された物体との衝突が回避されるようにアクチュエータ14を制御すべく、アクチュエータ制御コマンド20を決定することができる。また、検出された物体は、歩行者又は樹木など、分類器24が最も可能性が高いとみなした物体に従って分類することができる。アクチュエータ制御コマンド20は、当該分類に従って決定可能となる。制御システム12は、攻撃だけでなく、例えば車両環境の不十分な照明条件又は不十分な天候条件の間など、敵対的条件に対するネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0062】
車両50が少なくとも部分的に自律的なロボットである他の実施形態においては、車両50は、飛行、泳行、潜行及び歩行などの1つ又は複数の機能を実行するように構成された移動ロボットであるものとしてよい。移動ロボットは、少なくとも部分的に自律的な芝刈り機又は少なくとも部分的に自律的な掃除ロボットであるものとしてよい。こうした実施形態においては、アクチュエータ制御コマンド20は、移動ロボットと識別された物体との衝突が回避可能となるように移動ロボットの推進ユニット、ステアリングユニット及び/又はブレーキユニットを制御すべく決定可能となる。
【0063】
他の実施形態においては、車両50は、園芸ロボットの形態の少なくとも部分的に自律的なロボットである。こうした実施形態においては、車両50は、センサ16として光学センサを使用して、車両50の近傍の環境内の植物の状態を特定することができる。アクチュエータ14は、化学物質を噴霧するように構成されたノズルであるものとしてよい。識別された植物の種属及び/又は識別された植物の状態に応じて、アクチュエータ制御コマンド20は、アクチュエータ14に適当な化学薬品を適量だけ植物へと散布させるために決定可能となる。
【0064】
車両50は、家庭用電化製品の形態の少なくとも部分的に自律的なロボットであるものとしてよい。家庭用電化製品の非限定的な例には、洗濯機、ストーブ、オーブン、電子レンジ又は食器洗い機が含まれる。こうした車両50においては、センサ16は、家電製品によって処理される対象物の状態を検出するように構成された光学センサであるものとしてよい。例えば、家電製品が洗濯機である場合、センサ16は、洗濯機内の洗濯物の状態を検出することができる。アクチュエータ制御コマンド20は、検出された洗濯物の状態に基づいて決定可能となる。
【0065】
図7には、例えば生産ラインの一部である製造システム102のパンチカッタ、カッタ又はガンドリルなどのシステム100(例えば、製造機械)を制御するように構成された制御システム12の概略図が示されている。制御システム12は、システム100(例えば、製造機械)を制御するように構成されたアクチュエータ14を制御するように構成可能である。
【0066】
システム100(例えば、製造機械)のセンサ16は、製造された製品104の1つ又は複数の特性を捕捉するように構成された光学センサであるものとしてよい。分類器24は、1つ又は複数の捕捉された特性から、製造された製品104の状態を特定するように構成可能である。アクチュエータ14は、製造された製品104の後続の製造ステップのために、製造された製品104の特定された状態に依存して、システム100(例えば、製造機械)を制御するように構成可能である。アクチュエータ14は、製造された製品104の特定された状態に依存して、システム100の後続の製造された製品106(例えば、製造機械)についてのシステム100(例えば、製造機械)の機能を制御するように構成可能である。制御システム12は、例えば、不十分な照明条件の間又はセンサが大量の埃などによって状況を識別することが困難な不十分な作業条件の間など、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0067】
図8には、少なくとも部分的に自律的なモードを有する電動ドリル又はドライバなどの電動工具150を制御するように構成された制御システム12の概略図が示されている。制御システム12は、電動工具150を制御するように構成されたアクチュエータ14を制御するように構成可能である。
【0068】
電動工具150のセンサ16は、作業面152の1つ又は複数の特性及び/又は作業面152に打ち込まれる締結具154の1つ又は複数の特性を捕捉するように構成された光学センサであるものとしてよい。分類器24は、1つ又は複数の捕捉された特性から、作業面152の状態及び/又は作業面152に対する締結具154の状態を特定するように構成可能である。状態は、締結具154が作業面152と同一平面にあることであってよい。代替的に、状態は、作業面152の硬度であるものとしてもよい。アクチュエータ14は、電動工具150の駆動機能が作業面152に対する締結具154の決定された状態又は作業面152の1つ又は複数の捕捉された特性に応じて調整されるように電動工具150を制御すべく構成可能である。例えば、アクチュエータ14は、締結具154の状態が作業面152に対して同一平面にある場合、駆動機能を中止することができる。他の非限定的な例として、アクチュエータ14は、作業面152の硬度に応じて、付加的なトルク又はより少ないトルクを印加することができる。制御システム12は、例えば、不十分な照明条件の間又は不十分な天候条件の間など、敵対的条件に対して機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。したがって、制御システム12は、電動工具150の環境条件を識別することが可能であるものとしてよい。
【0069】
図9には、自動パーソナルアシスタント900を制御するように構成された制御システム12の概略図が示されている。制御システム12は、自動パーソナルアシスタント900を制御するように構成されたアクチュエータ14を制御するように構成可能である。自動パーソナルアシスタント900は、洗濯機、ストーブ、オーブン、電子レンジ又は食器洗い機などの家庭用電化製品を制御するように構成可能である。
【0070】
センサ16は、光学センサ及び/又は音響センサであるものとしてよい。光学センサは、ユーザ902のジェスチャ904のビデオ画像を受信するように構成可能である。音響センサは、ユーザ902の音声コマンドを受信するように構成可能である。
【0071】
自動パーソナルアシスタント900の制御システム12は、システム12を制御するように構成されたアクチュエータ制御コマンド20を決定するように構成可能である。制御システム12は、センサ16のセンサ信号18に従ってアクチュエータ制御コマンド20を決定するように構成可能である。自動パーソナルアシスタント900は、センサ信号18を制御システム12へ送信するように構成されている。制御システム12の分類器24は、ジェスチャ認識アルゴリズムを実行して、ユーザ902によって行われたジェスチャ904を識別し、アクチュエータ制御コマンド20を決定して、このアクチュエータ制御コマンド20をアクチュエータ14へ送信するように構成可能である。分類器24は、ジェスチャ904に応答して不揮発性ストレージから情報を取り出し、取り出した情報を、ユーザ902による受信に適した形態で出力するように構成可能である。制御システム12は、不十分な照明条件の間又は不十分な天候条件の間など、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。したがって、制御システム12は、こうした条件の間、ジェスチャを識別することができる。
【0072】
図10には、監視システム250を制御するように構成された制御システム12の概略図が示されている。監視システム250は、ドア252を介したアクセスを物理的に制御するように構成可能である。センサ16は、アクセスが許可されるかどうかの決定に関連するシーンを検出するように構成可能である。センサ16は、画像及び/又はビデオデータを形成及び送信するように構成された光学センサであるものとしてよい。このようなデータは、人の顔を検出するために制御システム12によって使用可能である。制御システム12は、不十分な照明条件の間、又は、制御監視システム250の環境への侵入者があった場合、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0073】
監視システム250の制御システム12の分類器24は、不揮発性ストレージ26に記憶された既知の個人のIDを照合することによって画像データ及び/又はビデオデータを解釈し、これにより個人のIDを決定するように構成可能である。分類器24は、画像データ及び/又はビデオデータの解釈に応答してアクチュエータ制御コマンド20を生成するように構成可能である。制御システム12は、アクチュエータ制御コマンド20をアクチュエータ14へ送信するように構成されている。当該実施形態においては、アクチュエータ14は、アクチュエータ制御コマンド20に応答してドア252をロック又はロック解除するように構成可能である。他の実施形態においては、非物理的なアクセス、論理的なアクセスの制御も可能である。
【0074】
監視システム250は、サーベイランスシステムであるものとしてもよい。こうした実施形態においては、センサ16は、サーベイランス下にあるシーンを検出するように構成された光学センサであるものとしてよく、制御システム12は、ディスプレイ254を制御するように構成されている。分類器24は、シーンの分類、例えば、センサ16によって検出されたシーンが疑わしいかどうかを特定するように構成されている。制御システム12は、分類に応じてアクチュエータ制御コマンド20をディスプレイ254へ送信するように構成されている。ディスプレイ254は、アクチュエータ制御コマンド20に応答して、表示された内容を調整するように構成可能である。例えば、ディスプレイ254は、分類器24によって疑わしいとみなされた対象物を強調表示することができる。
【0075】
図11には、撮像システム1100、例えば、MRI装置、X線撮像装置又は超音波装置を制御するように構成された制御システム12の概略図が示されている。センサ16は、例えば、撮像センサであるものとしてよい。分類器24は、センシングされた画像の全部又は一部の分類を決定するように構成可能である。分類器24は、トレーニングされたニューラルネットワークによって取得された分類に応答して、アクチュエータ制御コマンド20を決定し又は選択するように構成可能である。例えば、分類器24が、センシングされた画像のある領域を潜在的に異常であると解釈したとする。この場合、アクチュエータ制御コマンド20は、ディスプレイ302に対し、潜在的に異常とされた領域を撮像させ、さらに強調表示させるように決定可能又は選択可能である。制御システム12は、X線照射中、例えば照明が不十分である間、敵対的条件に対する機械学習ネットワークのトレーニングを支援するために拡散モデルを使用することができる。
【0076】
本明細書に開示したプロセス、方法又はアルゴリズムは、任意の既存のプログラミング可能な電子制御ユニット又は専用の電子制御ユニットを含み得る処理装置、コントローラ又はコンピュータに配布可能/実装可能である。同様に、プロセス、方法又はアルゴリズムは、以下に限定されるものではないが、書き込み不可能な記憶媒体、例えばROM装置に持続的に記憶された情報と、書き込み可能な記憶媒体、例えばフロッピーディスク、磁気テープ、CD、RAM装置及び他の磁気媒体及び光学媒体に変更可能に記憶された情報とを含む多くの形態において、コントローラ又はコンピュータによって実行可能なデータ及び命令として記憶可能である。プロセス、方法又はアルゴリズムは、ソフトウェアで実行可能なオブジェクトとして実装することもできる。代替的に、プロセス、方法又はアルゴリズムは、適当なハードウェアコンポーネント、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ステートマシン、コントローラ、又は、他のハードウェアコンポーネント若しくはデバイス、又は、ハードウェア及びソフトウェア及びファームウェアコンポーネントの組合せを使用して、全体的又は部分的に具現化することもできる。
【0077】
上記において例示的な実施形態を説明したが、これらの実施形態は、特許請求の範囲に包含される全ての可能な形態を説明することを意図するものではない。本明細書において使用されている用語は、限定ではなく説明のための用語であり、本開示の精神及び範囲から逸脱することなく様々な変更が可能であることが理解される。前述したように、様々な実施形態の特徴を組み合わせて、明示的に説明しない又は図示しない本発明のさらなる実施形態を形成することができる。様々な実施形態を、1つ又は複数の所望の特性に関して、他の実施形態又は従来技術の実現形態を上回る利点を提供するもの又はより好ましいものとして説明したところがあるが、当業者には、特定の用途及び実現形態に応じて、全体として望ましいシステム属性を得るために、1つ又は複数の特徴又は特性を妥協するものとしてもよいことが認識される。これらの属性は、以下に限定されるものではないが、コスト、強度、耐久性、ライフサイクルコスト、市場性、外観、包装、サイズ、保守性、重量、製造性、組立ての容易さなどを含み得る。したがって、任意の実施形態が他の実施形態又は従来技術の実現形態よりも1つ又は複数の特徴に関しては望ましくないと説明される事柄についても、これらの実施形態が本開示の範囲外にあるというわけではなく、特定の用途にとっては望ましいこともある。
【手続補正書】
【提出日】2023-10-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
機械学習ネットワークをトレーニングするためのコンピュータ実装された方法であって、
センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信することと、
前記入力データを使用してトレーニングデータセットを生成することであって、前記生成することは、前記入力データの1つ又は複数のコピーを作成することと、前記1つ又は複数のコピーのそれぞれに同等の平均及び分散を有するノイズを付加することとを含む、ことと、
拡散モデルを使用して、前記入力データに関連付けられたノイズを除去し、前記トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製することと、
固定分類器を使用して、前記固定分類器によって取得された、前記修正された入力データセットの分類の多数決に応答して、前記入力データに関連付けられた分類を出力することと、
を含む、コンピュータ実装された方法。
【請求項2】
前記拡散モデルと前記固定分類器との双方が事前トレーニングされている、請求項1に記載のコンピュータ実装された方法。
【請求項3】
前記拡散モデル及び前記固定分類器を使用して、各トレーニングデータセットに対して、クリーン画像を計算することを含む、請求項1に記載のコンピュータ実装された方法。
【請求項4】
前記ノイズは、ガウスノイズ、ショットノイズ、モーションブラー、ズームブラー、圧縮又は輝度変化を含む、請求項1に記載のコンピュータ実装された方法。
【請求項5】
前記固定分類器及び前記拡散モデルは、同様のデータ分布につきトレーニングされている、請求項1に記載のコンピュータ実装された方法。
【請求項6】
前記拡散モデルは、時間経過におけるノイズを除去することによって、前記トレーニングデータセットに関連付けられたノイズを反転させるように構成されている、請求項1に記載のコンピュータ実装された方法。
【請求項7】
前記拡散モデルからノイズが除去される、請求項1に記載のコンピュータ実装された方法。
【請求項8】
前記センサは、カメラであり、前記入力データは、前記カメラから取得されたビデオ情報を含む、請求項1に記載のコンピュータ実装された方法。
【請求項9】
機械学習ネットワークを含むシステムであって、
カメラ、レーダ、ソナー又はマイクロフォンを含むセンサからの入力データを受信するように構成された入力インタフェースと、
前記入力インタフェースと通信するプロセッサと、
を備えるシステムにおいて、
前記プロセッサは、
前記入力インタフェースから、画像情報、レーダ情報、ソナー情報又は音響情報を示す前記入力データを受信し、
前記入力データを使用して、ノイズを伴う入力データの複数のコピーを含むトレーニングデータセットを生成し、
前記入力データに関連付けられたノイズを除去し、複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製し、
前記修正された入力データセットから取得された分類の多数決に応答して、前記入力データに関連付けられた最終分類を出力する
ようにプログラミングされている、システム。
【請求項10】
前記ノイズは、ガウスノイズ、ショットノイズ、モーションブラー、ズームブラー、圧縮又は輝度変化を含む、請求項9に記載のシステム。
【請求項11】
前記入力データは、画像を示しており、前記トレーニングデータセットは、ガウス分布からランダムに引き出された画像に関連付けられた各ピクセルを選択することによって生成される、請求項9に記載のシステム。
【請求項12】
前記システムは、拡散プロセスによって画像を生成するように構成されたノイズ除去拡散モデルである拡散モデルを含む、請求項9に記載のシステム。
【請求項13】
前記拡散モデルを使用して、前記トレーニングデータセットを再構成及び精製する、請求項12に記載のシステム。
【請求項14】
前記最終分類は、分類器を使用して出力される、請求項9に記載のシステム。
【請求項15】
命令を含むコンピュータプログラムであって、前記命令は、コンピュータによって実行されるときに、前記コンピュータに、
センサから入力データを受信させ、
前記入力データを使用してトレーニングデータセットを生成させ、ここで、前記トレーニングデータセットは、前記入力データの1つ又は複数のコピーを作成し、前記1つ又は複数のコピーにノイズを付加することによって作成され、
前記トレーニングデータセットを拡散モデルへ送信させ、ここで、前記拡散モデルは、前記入力データに関連付けられたノイズを除去し、前記トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、前記トレーニングデータセットを再構成及び精製するように構成されており、
固定分類器を使用して、前記固定分類器によって取得された、前記修正された入力データセットの分類の多数決に応答して、前記入力データに関連付けられた分類を出力させる
ためのものである、コンピュータプログラム。
【請求項16】
前記入力データは、画像情報、レーダ情報、ソナー情報又は音響情報を含む、請求項15に記載のコンピュータプログラム。
【請求項17】
前記ノイズを付加することは、前記1つ又は複数のコピーのそれぞれに同等の平均及び同等の分散を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム。
【請求項18】
前記ノイズを付加することは、同等の平均を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム。
【請求項19】
前記ノイズを付加することは、同等の分散を有するノイズを付加することを含む、請求項15に記載のコンピュータプログラム。
【請求項20】
前記入力データは、マイクロフォンから取得された音響情報を含む、請求項15に記載のコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習を使用した画像(又は他の入力)の増強及び処理に関する。
【0002】
連邦政府による資金提供を受けた研究の記載
本発明は、国立科学財団(National Science Foundation)から授与された認可番号第1190060-430433号のもとに政府による支援を受けてなされたものである。政府は、本発明に一定の権利を有し得る。
【背景技術】
【0003】
背景
機械学習分類器は、テスト時に破損及び摂動を起こし易いことが判明している。このような摂動/破損は自然発生することもある(通常の破損)が、最悪の場合には、入力ドメインのわずかな変化が誤った予測を引き起こし得る敵対的摂動を受けることもある。自然破損は通常、画像の全てのピクセルを変化させるので、こうした破損は人間の知覚にとって可視となる。一方、敵対的摂動には、ノルム有界摂動とパッチに基づく摂動との2つの主要なタイプが存在する。ノルム有界摂動は、自然破損の場合と同様に、制限された(lpノルムによる有界の)強度で画像の全てのピクセルを変化させるのに対して、パッチに基づく摂動は、画像の部分領域内のピクセルのみを変化させるが、当該ピクセルの値を画像のピクセル範囲内の任意の値へと変化させ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
3つのタイプの摂動のきわめて異なるこうした性質のために、当該技術分野で知られている1つ又は2つのタイプの摂動に対してロバストなモデル、例えば、敵対的精製、敵対的ロバストネス及びロバストビジョン変換器に対する拡散モデルをトレーニングする方法が提案されてきた。3つのタイプの摂動の全てに対してモデルをロバストにすることができる単一の方法は、存在していない。本発明は、事前トレーニングされかつ微調整された分類器を、共通の破損及び敵対的摂動に対してロバストにする1つのフレームワークを提案する。
【課題を解決するための手段】
【0005】
概要
第1の実施形態は、機械学習ネットワークをトレーニングするためのコンピュータ実装された方法を開示する。機械学習ネットワークをトレーニングするためのコンピュータ実装された方法は、センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信することと、入力データを使用してトレーニングデータセットを生成することであって、ここで、当該トレーニングデータセットは、入力データの1つ又は複数のコピーを作成し、当該1つ又は複数のコピーのそれぞれに同等の平均及び分散を有するノイズを付加することによって作成される、ことと、トレーニングデータセットを拡散モデルへ送信することであって、ここで、当該拡散モデルは、入力データに関連付けられたノイズを除去し、トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、拡散モデルにより設定されたトレーニングデータセットを再構成及び精製するように構成されている、ことと、修正された入力データセットを固定分類器へ送信することと、固定分類器によって取得された、修正された入力データセットの分類の多数決に応答して、入力データに関連付けられた分類を出力することと、を含む。
【0006】
第2の実施形態は、機械学習ネットワークを含むシステムを開示する。システムは、カメラ、レーダ、ソナー又はマイクロフォンを含むセンサからの入力データを受信するように構成された入力インタフェースを備えている。システムはまた、入力インタフェースと通信するプロセッサを備えており、当該プロセッサは、センサからの、画像情報、レーダ情報、ソナー情報又は音響情報を示す入力データを受信し、入力データを使用して、ノイズを含む入力データの複数のコピーを含むトレーニングデータセットを生成し、入力データに関連付けられたノイズを除去し、複数のコピーを再構成して、修正された入力データセットを作成することによって、トレーニングデータセットを再構成及び精製し、さらに、修正された入力データセットから取得された分類の多数決に応答して、入力データに関連付けられた最終分類を出力するようにプログラミングされている。
【0007】
第3の実施形態は、命令を記憶したコンピュータプログラム製品であって、当該命令は、コンピュータによって実行されるときに、当該コンピュータに、センサから入力データを受信させ、入力データを使用してトレーニングデータセットを生成させ、ここで、トレーニングデータセットは、入力データの1つ又は複数のコピーを作成し、当該1つ又は複数のコピーにノイズを付加することによって作成され、トレーニングデータセットを拡散モデルへ送信させ、ここで、拡散モデルは、入力データに関連付けられたノイズを除去し、トレーニングデータセットの1つ又は複数のコピーを再構成して、修正された入力データセットを作成することによって、トレーニングデータセットを再構成及び精製するように構成されており、修正された入力データセットを固定分類器へ送信させ、固定分類器によって取得された、修正された入力データセットの分類の多数決に応答して、入力データに関連付けられた分類を出力させるためのものである、コンピュータプログラム製品を開示する。
【図面の簡単な説明】
【0008】
【
図1】ニューラルネットワークをトレーニングするためのシステム100を示す図である。
【
図2】データへのアノテーションを行うシステムを実現するデータアノテーションシステム200を示す図である。
【
図4】拡散モデルを使用してノイズ又は摂動のデータセットを学習するニューラルネットワークのシステムを示す例示的なフローチャート400である。
【
図5】コンピュータ制御される機械
500と制御システム
502との間の相互作用を示す概略図である。
【
図6】部分的に自律的な車両又は部分的に自律的なロボットであり得る車両を制御するように構成された、
図1の制御システムを示す概略図である。
【
図7】製造システム、例えば生産ラインの一部の製造機械、例えばパンチカッタ、カッタ又はガンドリルを制御するように構成された、
図1の制御システムを示す概略図である。
【
図8】少なくとも部分的な自律モードを有する電動工具、例えば電動ドリル又は電動ドライバを制御するように構成された、
図1の制御システムを示す概略図である。
【
図9】自動パーソナルアシスタントを制御するように構成された、
図1の制御システムを示す概略図である。
【
図10】モニタリングシステム、例えば制御アクセスシステム又はサーベイランスシステムを制御するように構成された、
図1の制御システムを示す概略図である。
【
図11】撮像システム、例えばMRI装置、X線撮像装置又は超音波装置を制御するように構成された、
図1の制御システムを示す概略図である。
【発明を実施するための形態】
【0009】
詳細な説明
本開示の実施形態を本明細書において説明する。ただし、開示する実施形態は、単なる例であり、他の実施形態においては、様々な代替形態を取ることができることを理解されたい。図面は、必ずしも縮尺通りに描かれておらず、特定の構成要素の詳細を示すために、いくつかの特徴を誇張して又は縮小して示したところがある。したがって、本明細書に開示する特定の構造的詳細及び機能的詳細は、限定として解釈されるべきではなく、実施形態の様々な使用を当業者に教示するための代表的な基礎として解釈されるべきである。当業者に理解されるとおり、図面のいずれか1つを参照して例示及び説明する様々な特徴は、1つ又は複数の他の図面に示される特徴と組み合わせて、明示的に例示しない又は説明しない実施形態を提供することができる。図示の特徴の組合せにより、典型的な用途のための代表的な実施形態が提供される。なお、本開示の教示に一致する特徴の様々な組合せ及び修正は、特定の用途又は特定の実現形態にとって望ましいものであり得る。
【0010】
従来の作業は、3つのタイプの摂動のサブセット(最悪のケースのパッチに基づく摂動、又は、最悪のケースのノルム有界摂動を伴う通常の破損)の全てに焦点を合わせることができるものではなかった。本発明において提案するロバストな方法は、全てのタイプの摂動と種々のアーキテクチャ又はパラメータを有する分類器とに汎用可能である。
【0011】
テスト時の破損/摂動に対するモデルのロバスト性を改善することは、いくつかの理由から困難な課題であることがわかっている。すなわち、第1に、トレーニング中には破損及び摂動が見えないことに対して、機械学習モデルは、ほぼ全ての機能に近似する高い能力にもかかわらず、与えられたデータ分布についての最良の表現の学習に依拠しており、通常、未知のデータ分布については十分に実行可能でないこと、第2に、テスト時に破損/摂動のタイプ及び重大度を推定することができ、シミュレートされたサンプルをトレーニングデータに付加できたとしても、いくつかの破損/摂動は、きわめて困難な性質を有し、破損/摂動の全てに対するロバストな表現の学習は、依然として困難であることが挙げられる。
【0012】
この問題に対処するために、以下に開示する実施形態においては、ノイズ除去された拡散モデル(例えば、https://arxiv.org/abs/2006.11239)を、通常の破損及び最悪のケースの摂動のための汎用精製器として使用することができる。ノイズ除去された拡散モデルは、既知の分散及びゼロ平均を有するガウスノイズのもとでの画像の再構成を学習することができる。このことは、各ピクセル値がガウス分布からランダムに引き出される場合における、ランダムノイズ画像からの画像生成にも使用可能である。ランダムノイズ画像は任意の画像に対する最も強いガウスノイズ破損であるので、このことは、ノイズ除去された拡散モデルが重度のガウスノイズ破損のもとで画像を再構成可能であることを示す。次いで、システムは、ガウスノイズが付加された状態でテスト画像をさらに「破損」させた後、ノイズ除去された拡散モデルを使用してクリーン画像を再構成することを提案することができる。ここでの着想は、付加されたガウスノイズが破損又は摂動を破損させるということであり、ノイズ除去された拡散モデルが破損又は摂動を有さないトレーニングデータ分布から学習を行うので、再構成画像もそうした分布となり、したがって、クリーン画像に近づくということである。したがって、ノイズ除去拡散モデルと画像分類器とが同様のデータ分布からトレーニングされる限り、分類器は、再構成画像について正確な分類を実行できるはずである。
【0013】
システムはさらに、精製のパフォーマンスを改善するために、ノイズ除去された拡散モデルの確率的性質を利用することができる。同一の入力画像を有するモデルを任意に2回異なって実行するとそれぞれ異なる再構成が得られるので、システム及び方法は、複数の再構成画像を取得するために上記のノイズ付加手順及びノイズ除去手順を複数回実行することができる。その後、最終的な予測クラスとしてこれらの画像の分類器予測の多数決を取ることができる。
【0014】
システム及び方法は、対応するクラスラベルを有する画像のセットから成るトレーニングデータ分布D
trが、画像分類器
【数1】
とノイズ除去された拡散モデル
【数2】
との双方をトレーニングするために、逆ノイズ分散スケジュールα
tと共に使用されたものであると仮定することができる。
【0015】
ノイズ除去された拡散モデルについて言えば、ノイズ除去された拡散モデルhは、拡散プロセスによって画像を生成する。当該拡散モデルは、ノイズプロセス
【数3】
の反転を学習し、ここで、
x
t
は、トレーニングデータ分布からサンプリングされたオリジナル画像であり、β
tは、スケジューリングされた(固定の又は学習された)ノイズ分散である。ノイズ付加処理は、時間(t=1,…,T)を通して、トレーニングデータ分布からのデータを純粋なランダムノイズ画像へ変換する。次いで、逆方向(ノイズ除去)プロセスは、時間(t=T,…,1)を通してノイズを除去することによって、ランダムガウスノイズ画像のトレーニングデータ分布から画像を生成する。拡散モデルhをトレーニングするためには、トレーニングデータ、ランダムサンプリングステップ
【数4】
及びノイズ分散スケジュールα
tからサンプリングされたクリーン画像
【数5】
が与えられているとき、ノイズ画像
【数6】
がサンプリングされ、xとh(x
t,t)との間の差が最小化される。
【0016】
通常の破損及び最悪のケースの破損の場合、x~D
trがトレーニングデータ分布からサンプリングされたクリーン画像であると仮定すると、重大度レベルsが与えられ、通常の破損の関数
【数7】
により、xが、破損画像
corruptedx=ε(x,s) (式2)
へと変換され、ここで、εは、ガウスノイズ、ショットノイズ、モーションブラー、ズーム暈け、圧縮、輝度変化などであるものとしてよい。これらのタイプの破損は、分類器に依存しないものであって、破損画像ε(x,s)が、この破損画像を消費することになる分類器又は機械学習モデルから独立していることを意味する。
【0017】
他方で、最悪のケースの摂動は、分類器f及びそのトレーニング損失関数Lに依存する。クリーン画像xが与えられると、最悪のケースの摂動画像は、
A(x,δ,s)=\argmin
δL(f(A(x,δ,s)))、制約C(δ,s)のもとで (式3)
となり、ノルム有界摂動に対しては、適用関数Aはピクセル値範囲への加算及びクリッピングであり、制約C(.)は、ノルム制約、すなわち、
【数8】
であり、パッチに基づく摂動に対しては、適用関数Aは、オーバーレイ(ピクセル値の置換)であり、制約C(.)は、サイズ及び形状の制約であり、すなわち、δ≦sのピクセル数であり、δは、矩形である。
【0018】
潜在的な通常の破損、最悪のケースのノルム有界摂動及び最悪のケースのパッチに基づく摂動のもとにあって、しかも未知の重大度及び未知のタイプの破損を有する画像
【数9】
が与えられると、システム及び方法は、摂動を精製し、又は、
【数10】
によってトレーニングデータ分布内でxをx’へ再構成することができ、ここで、tは、破損/摂動の重大度に依存して予め決定された整数である。
【0019】
次いで、システムは、式2を使用してx’K回を推定し、x’={x’1,x’2,…,x’K}を取得し、入力xに対する最終予測クラスを、
y’=majority(f(x)) ∀x∈{x’1,…,x’k} (式5)
として取得することができる。
【0020】
与えられたクリーン画像xに対して式4と式5とを結合することにより、システムは、K個コピーの精製予測としてのy’を得ることができる。最終的に、システムは、拡散モデルh及び分類器fを使用して、ラベルyを有する画像xのステップtを用いて、K個コピーの精製精度を、
l(y=y’)
として定義することができ、ここで、
【数11】
である。
【0021】
実施形態は、音響などの1D信号に対しても動作可能であることに注意されたい。また、システム及び方法は、画像分類器fに対する仮定を行う必要がなく、これは、本発明が分類器に依存せず、分類器及び拡散モデルが同様のデータ分布についてトレーニングされる限り、画像分類器の任意のアーキテクチャ及び任意のパラメータに適用可能であることを意味する。また、x’につきfを微調整することにより、分類器の精度をさらに増幅することもできる。
【0022】
図1には、ニューラルネットワークをトレーニングするシステム100が示されている。システム100は、ニューラルネットワーク用のトレーニングデータ192にアクセスするための入力インタフェースを含み得る。例えば、
図1に示されているように、入力インタフェースは、データストレージ190からトレーニングデータ192にアクセスすることができるデータストレージインタフェース180によって構成可能である。例えば、データストレージインタフェース180は、メモリインタフェース又は持続的なストレージインタフェース、例えばハードディスク又はSSDインタフェースであり得るが、パーソナルエリアネットワーク、ローカルエリアネットワーク又はワイドエリアネットワークのインタフェース、例えば、Bluetooth、Zigbee又はWi-Fiインタフェース又はイーサネット又は光ファイバインタフェースであるものとしてもよい。データストレージ190は、システム100の内部データストレージ、例えば、ハードドライブ又はSSDのみならず、外部データストレージ、例えば、ネットワークアクセス可能なデータストレージであるものとしてもよい。
【0023】
いくつかの実施形態においては、データストレージ190はさらに、システム100によってデータストレージ190からアクセス可能な、ニューラルネットワークのトレーニングされていないバージョンのデータ表現194を含み得る。ただし、トレーニングされていないニューラルネットワークのトレーニングデータ192及びデータ表現194には、それぞれ異なるデータストレージから、例えば、データストレージインタフェース180の異なるサブシステムを介してアクセス可能であることが理解される。各サブシステムは、データストレージインタフェース180につき上述したタイプのものであってよい。他の実施形態においては、トレーニングされていないニューラルネットワークのデータ表現194は、ニューラルネットワーク用の設計パラメータに基づいてシステム100によって内部において生成されたものであり、したがって、データストレージ190に明示的に記憶されたものでなくてもよい。システム100はさらに、システム100の動作中、トレーニングされるべきニューラルネットワークの層スタックの置換物としての反復関数を提供するように構成可能なプロセッササブシステム160を含むものとしてよい。一実施形態においては、置換される層スタックのそれぞれの層は、相互に共有される重みを有し得るものであり、入力として前の層の出力を受け取ることができ、又は、層スタックの第1の層である場合には初期起動及び層スタックの入力の一部を受け取ることができる。また、システムは、複数の層も含み得る。プロセッササブシステム160はさらに、トレーニングデータ192を使用してニューラルネットワークを反復的にトレーニングするように構成可能である。ここで、プロセッササブシステム160によるトレーニングの反復は、順方向伝搬部分及び逆方向伝搬部分を含み得る。プロセッササブシステム160は、実行可能な順方向伝搬部分を定義する他の演算のなかでも特に、反復関数が固定点に収束する平衡点を決定することであって、ここで、当該平衡点を決定することは、数値求根アルゴリズムを使用して反復関数からその入力を差し引いた根解を求めることを含むことと、ニューラルネットワークにおける層スタックの出力の置換物として平衡点を提供することとによって、順方向伝搬部分を実行するように構成可能である。システム100はさらに、トレーニングされたニューラルネットワークのデータ表現196を出力するための出力インタフェースを含み得るものであり、このデータは、トレーニングされたモデルデータ196とも称されることがある。例えば、
図1にも示されているように、出力インタフェースは、データストレージインタフェース180によって構成可能であり、前記インタフェースは、ここでの実施形態においては、入出力(“I/O”)インタフェースであり、こうした入出力(“I/O”)インタフェースを介して、トレーニングされたモデルデータ196をデータストレージ190内に記憶することができる。例えば、「トレーニングされていない」ニューラルネットワークを定義するデータ表現194は、トレーニング中又はトレーニング後に、トレーニングされたニューラルネットワークのデータ表現196によって少なくとも部分的に置換可能であり、その際に、ニューラルネットワークのパラメータ、例えば重み、ハイパーパラメータ及びニューラルネットワークの他のタイプのパラメータが、トレーニングデータ192についてのトレーニングを反映するように適応化可能となる。このことは、
図1においても、データストレージ190上の同一のデータレコードを参照する参照符号194,196によって示されている。他の実施形態においては、データ表現196は、「トレーニングされていない」ニューラルネットワークを定義するデータ表現194とは別個に記憶可能である。いくつかの実施形態においては、出力インタフェースは、データストレージインタフェース180とは別個のものであってもよいが、一般的にはデータストレージインタフェース180につき上述したタイプのものであってよい。
【0024】
図2には、データへのアノテーションを行うシステムを実現するデータアノテーションシステム200が示されている。データアノテーションシステム200は、少なくとも1つのコンピューティングシステム202を含み得る。コンピューティングシステム202は、メモリユニット208と動作可能に接続された少なくとも1つのプロセッサ204を含み得る。プロセッサ204は、中央処理ユニット(CPU)206の機能を実装した1つ又は複数の集積回路を含み得る。CPU206は、命令セット、例えばx86、ARM、Power又はMIPSの命令セットファミリのうちの1つを実行する市販入手可能な処理ユニットであるものとしてよい。動作中、CPU206は、メモリユニット208から取り出される、記憶されていたプログラム命令を実行することができる。記憶されていたプログラム命令は、本明細書において説明する動作を実行するためにCPU206の動作を制御するソフトウェアを含み得る。いくつかの例においては、プロセッサ204は、CPU206、メモリユニット208、ネットワークインタフェース及び入出力インタフェースの各機能を単一の集積装置へと集積するシステムオンチップ(SoC)であるものとしてよい。コンピューティングシステム202は、動作の種々の態様を管理するオペレーティングシステムを実装することができる。
【0025】
メモリユニット208は、命令及びデータを記憶する揮発性メモリ及び不揮発性メモリを含み得る。不揮発性メモリは、ソリッドステートメモリ、例えば、NANDフラッシュメモリ、磁気記憶媒体及び光学記憶媒体、又は、コンピューティングシステム202が非アクティブ状態のとき若しくは電力を失ったときにもデータを保持する他の任意の適当なデータストレージ装置を含み得る。揮発性メモリは、プログラム命令及びデータを記憶するスタティックランダムアクセスメモリ及びダイナミックランダムアクセスメモリ(RAM)を含み得る。例えば、メモリユニット208は、機械学習モデル210又はアルゴリズム、機械学習モデル210用のトレーニングデータセット212、ローソースデータセット216を記憶することができる。
【0026】
コンピューティングシステム202は、外部のシステム及びデバイスとの通信を提供するように構成されたネットワークインタフェース装置222を含み得る。例えば、ネットワークインタフェース装置222は、IEEE(Institute of Electrical and Electronics Engineers)802.11規格ファミリによって定義される有線及び/又は無線のイーサネットインタフェースを含み得る。ネットワークインタフェース装置222は、セルラネットワーク(例えば、3G、4G、5G)と通信するためのセルラ通信インタフェースを含み得る。ネットワークインタフェース装置222は、さらに、外部のネットワーク224又はクラウドに通信インタフェースを提供するように構成されるものとしてよい。
【0027】
外部のネットワーク224は、ワールドワイドウェブ又はインターネットと称され得る。外部のネットワーク224は、コンピューティング装置間の標準的な通信プロトコルを確立することができる。外部のネットワーク224は、コンピューティング装置とネットワークとの間での情報及びデータの容易な交換を可能にすることができる。1つ又は複数のサーバ230は、外部のネットワーク224と通信することができる。
【0028】
コンピューティングシステム202は、デジタル及び/又はアナログの入力及び出力を提供するように構成可能な入出力(I/O)インタフェース220を含み得る。I/Oインタフェース220は、外部装置と通信するための付加的なシリアルインタフェース(例えばユニバーサルシリアルバス(USB)インタフェース)を含むものとしてよい。
【0029】
コンピューティングシステム202は、システム200が制御入力を受け取ることを可能にする任意のデバイスを含み得るヒューマンマシンインタフェース(HMI)装置218を含み得る。入力装置の例は、ヒューマンインタフェース入力部、例えば、キーボード、マウス、タッチスクリーン、音声入力デバイス及び他の同様のデバイスを含み得る。コンピューティングシステム202は、ディスプレイ装置232を含み得る。コンピューティングシステム202は、グラフィックス及びテキスト情報をディスプレイ装置232に出力するためのハードウェア及びソフトウェアを含み得る。ディスプレイ装置232は、電子ディスプレイスクリーン、プロジェクタ、プリンタ、又は、ユーザ若しくはオペレータに情報を表示するための他の適当な装置を含み得る。コンピューティングシステム202はさらに、ネットワークインタフェース装置222を介したリモートHMI及びリモートディスプレイ装置との対話を可能にするように構成可能である。
【0030】
システム200は、1つ又は複数のコンピューティングシステムを使用して実装可能である。ここでの例においては、説明する特徴の全てを実現する単一のコンピューティングシステム202が示されているが、様々な特徴及び機能が相互に通信を行う複数のコンピューティングユニットによって別個に実現可能であることが意図されている。選択される特定のシステムアーキテクチャは、種々の要因に依存し得る。
【0031】
システム200は、ローソースデータセット216を分析するように構成された機械学習アルゴリズム210を実装することができる。ローソースデータセット216は、機械学習システムのための入力データセットを表現することができるローセンサデータ又は未処理のセンサデータを含むものとしてよい。ローソースデータセット216は、ビデオ、ビデオセグメント、画像、テキストに基づく情報、及び、ローセンサデータ又は部分的に処理されたセンサデータ(例えば、物体のレーダマップ)を含み得る。いくつかの例においては、機械学習アルゴリズム210は、所定の機能を実行するように設計されたニューラルネットワークアルゴリズムであるものとしてよい。例えば、ニューラルネットワークアルゴリズムは、自動車用途においては、ビデオ画像内の歩行者を識別するように構成可能である。
【0032】
コンピュータシステム200は、機械学習アルゴリズム210のためのトレーニングデータセット212を記憶することができる。トレーニングデータセット212は、機械学習アルゴリズム210をトレーニングするための、先行して構築されたデータのセットを表現するものであってよい。トレーニングデータセット212は、機械学習アルゴリズム210により、ニューラルネットワークアルゴリズムに関連付けられた重み付け係数の学習のために使用可能である。トレーニングデータセット212は、機械学習アルゴリズム210が学習プロセスを介して複製を試みる、対応する成果又は結果を有するソースデータセットを含み得る。ここでの例においては、トレーニングデータセット212は、歩行者の存在するソースビデオ、及び、歩行者の存在しないソースビデオ、並びに、対応する存在及び位置の情報を含み得る。ソースビデオは、歩行者が識別される様々なシナリオを含み得る。
【0033】
機械学習アルゴリズム210は、トレーニングデータセット212を入力として使用する学習モードで動作可能である。機械学習アルゴリズム210は、トレーニングデータセット212からのデータを使用して、所定の反復回数にわたって実行可能である。反復のたびに、機械学習アルゴリズム210は、達成された結果に基づいて内部重み付け係数を更新することができる。例えば、機械学習アルゴリズム210は、出力結果(例えば、アノテーション)を、トレーニングデータセット212に含まれるものと比較することができる。トレーニングデータセット212は予測結果を含むので、機械学習アルゴリズム210は、パフォーマンスが許容可能となる時点を決定することができる。機械学習アルゴリズム210が所定のパフォーマンスレベル(例えば、トレーニングデータセット212に関連付けられた成果との100%の一致)を達成した後、機械学習アルゴリズム210は、トレーニングデータセット212内に存在しないデータを使用して実行可能となる。トレーニングされた機械学習アルゴリズム210は、アノテーションを有するデータを生成するために新たなデータセットに適用可能である。
【0034】
機械学習アルゴリズム210は、ローソースデータ215における特定の特徴を識別するように構成可能である。ローソースデータ215は、アノテーション結果が所望される、複数のインスタンス又は入力データセットを含み得る。例えば、機械学習アルゴリズム210は、ビデオ画像内の歩行者の存在を識別し、その発生へのアノテーションを行うように構成可能である。機械学習アルゴリズム210は、ローソースデータ215を処理して特定の特徴の存在を識別するようにプログラミング可能である。機械学習アルゴリズム210は、ローソースデータ215内のある1つの特徴を所定の特徴(例えば、歩行者)として識別するように構成可能である。ローソースデータ215は、種々のソースから導出可能である。例えば、ローソースデータ215は、機械学習システムによって収集された実際の入力データであるものとしてよい。ローソースデータ215は、システムのテストのために機械によって生成されたものであってよい。一例として、ローソースデータ215は、カメラからのロービデオ画像を含み得る。
【0035】
ここでの例においては、機械学習アルゴリズム210は、ローソースデータ215を処理し、画像の表現の表示を出力することができる。出力には画像の拡張表現も含めることができる。機械学習アルゴリズム210は、生成された各出力に対する信頼度レベル又は信頼度係数を生成することができる。例えば、所定の高い信頼度閾値を超える信頼度値は、識別された特徴が特定の特徴に対応するとの機械学習アルゴリズム210の確信を示すものであり得る。低い信頼度閾値よりも小さい信頼度値は、特定の特徴が存在することについてのいくらかの不確実性を機械学習アルゴリズム210が有することを示すものであり得る。
【0036】
図3には、分類器30の様々な実施形態が示されている。分類器は、埋め込み部31及び分類部32を含み得る。埋め込み部31は、入力信号(x)を受信し、埋め込みを決定するように構成可能である。分類部32は、埋め込みを受け取り、分類を出力信号として決定することができる。
【0037】
いくつかの実施形態においては、分類部32は線形分類器であり得る。例えば、いくつかの実施形態においては、分類器30は、ニューラルネットワークを含み得るものであり、分類部32は、例えば、全結合層とこれに続くargmax層とによって与えられ得る。いくつかの実施形態においては、分類器30は、畳み込みニューラルネットワークを含み得るものであり、埋め込み部31は複数の畳み込み層を含み得る。分類器30は、固定分類器であるものとしてもよいし、又は、他の実施形態においては、事前トレーニングされた分類器であるものとしてもよい。
【0038】
図4は、拡散モデルを使用して、ノイズ又は摂動のデータセットを学習するニューラルネットワークシステムの例示的なフローチャート400である。入力は、同様のデータ分布につきトレーニングされた、事前トレーニングされた分類器fとノイズ除去された拡散モデルhとを含み得る。さらに、入力は、最大拡散ステップTを含み得るものであり、hのノイズ分散スケジュール
α
t
も与えられる。また、入力は、f及びhに対して使用されたトレーニングデータD
tr、潜在的な通常の破損及び最悪のケースの摂動のセットS並びに対応する重大度レベルs、式5における多数決に対する精製/再構成された入力のコピー数K、精製ステップの基準Cr(t)も含み得る。用途に応じて、例としての基準は、平均クリーン精度とロバスト精度との間の絶対差、又は、ロバスト精度であり得る。
【0039】
システムは、tについての検索スケジュールを、Rとして定義することができる。例えば、インターバルdで線形探索を使用する場合、R=[1,1+d,1+2d,…,T-mod(T,d)]となる。Rはまた、第1の反復でより大きいdを使用するときには再帰的となり、最良のパフォーマンスを有するインターバルが位置特定され、この場合、当該インターバルに対してdが低減される。Rにおける各t’に対して、システムは、平均精度差ADを計算することができる。平均精度差ADがD
trにおける各(x,y)に対して計算可能になると、システムが、クリーン精度とロバスト精度とを計算する。クリーン精度を計算するために、システムは、式6を使用することができ、すなわち、ここで、
【数12】
である。
【0040】
ロバスト精度を計算するために、Sにおける各摂動及び重大度に対して、システムは、式2及び式3を使用して破損画像/摂動画像を生成し、次いで、式6を使用して精度を計算することができ、ここで、式6におけるxは、生成された破損画像である。次いで、システムは、Sにおける全ての破損/摂動及び重大度にわたって精度を平均することができる。
【0041】
Dtrにおける全てのサンプルにわたって平均クリーン精度及びロバスト精度が計算され、次いで、当該平均クリーン精度及びロバスト精度に基づいて精製基準Cr(t’)が計算されて、
t*=argmint(Cr(t’))∀t’∈R
となる。
【0042】
テスト時に入力xを受け取ったことに応じて、システムは、t=t*で式4を使用して{x’1,…,x’k}を生成することができ、次いで、式5を使用して予測クラスを出力する。
【0043】
ステップ401において、システムは、1つ又は複数のセンサから入力データを受信することができる。センサは、カメラ、レーダ、X線、ソナー、スキャナ、マイクロフォン又は類似のセンサであるものとしてよい。入力データは、画像、音響又は他の情報を含み得る。既述のように、入力を、ノイズを含む様々なコピーの作成のために使用することができる。
【0044】
ステップ403においては、システムは、トレーニングデータセットを生成することができる。データセットは、元のデータセットと、ノイズを含むデータセットの摂動のバージョンとを含み得る。システムは、拡散分散スケジュールと複数のコピーを作成するための拡散ステップとを使用して、トレーニングデータセットを作成することができる。当該セットは、各回のコピーにつきK個の入力コピーを作成することによって作成することができる。このことについては、上記において詳細に説明している。
【0045】
ステップ405においては、トレーニングデータセットを拡散モデルhに供給することができる。上述したように、拡散モデルを使用して画像をクリーニングすることができる。拡散モデルは、上述したように、あらゆるノイズ及び/又は摂動を除去することによって再構成画像を再現することができる。
【0046】
ステップ407においては、システムは予測クラスを取得することができる。分類器は、拡散モデルから供給される再構成された精製コピーに基づいて、予測クラスを識別することができる。ステップ409において、システムは、分類を出力することができる。分類は多数決に基づいて出力可能である。システムはさらに、精製パフォーマンスを改善するために、ノイズ除去された拡散モデルの確率的性質を利用することができる。同一の入力画像を有するモデルを任意に2回異なって実行するとそれぞれ異なる再構成が得られるため、システム及び方法は、複数の再構成画像を取得するために、上記のノイズ付加及びノイズ除去の手順を複数回実行することができる。動作の回数は、ランダムであるものとしてもよいし、又は、設定されるものとしてもよい。その後、最終予測クラスとして、これらの画像の分類器予測の多数決を取ることができる。
【0047】
図5には、コンピュータ制御される機械
500と制御システム
502との間の相互作用の概略図が示されている。コンピュータ制御される機械
500は、
図1乃至
図4に示されているニューラルネットワークを含み得る。コンピュータ制御される機械
500は、アクチュエータ
504及びセンサ
506を含む。アクチュエータ
504は1つ又は複数のアクチュエータを含むものとしてよく、センサ
506は1つ又は複数のセンサを含むものとしてよい。センサ
506は、コンピュータ制御される機械
500の状態をセンシングするように構成されている。センサ
506は、センシングされた状況をセンサ信号
508へと符号化し、当該センサ信号
508を制御システム
502へ送信するように構成可能である。センサ
506の非限定的な例として、ビデオセンサ、レーダセンサ、LiDARセンサ、超音波センサ及びモーションセンサが含まれる。一実施形態においては、センサ
506は、コンピュータ制御される機械
500の近傍の環境の光学画像をセンシングするように構成された光学センサである。
【0048】
制御システム502は、コンピュータ制御される機械500からセンサ信号508を受信するように構成されている。以下に述べるように、制御システム502はさらに、センサ信号に依存してアクチュエータ制御コマンド510を計算し、このアクチュエータ制御コマンド510をコンピュータ制御される機械500のアクチュエータ504へ送信するように構成可能である。
【0049】
図5に示されているように、制御システム
502は受信ユニット
512を含む。受信ユニット
512は、センサ
506からセンサ信号
508を受信し、このセンサ信号
508を入力信号xへと変換するように構成可能である。代替的な実施形態においては、センサ信号
508は、受信ユニット
512なしに、入力信号xとして直接に受信される。各入力信号xは、各センサ信号
508の一部であるものとしてよい。受信ユニット
512は、各センサ信号
508を処理して各入力信号xを形成するように構成可能である。入力信号xは、センサ
506によって記録された画像に対応するデータを含み得る。
【0050】
制御システム502は分類器514を含む。分類器514は、機械学習(ML)アルゴリズム、例えば上述したニューラルネットワークを使用して、入力信号xを1つ又は複数のラベルへ分類するように構成可能である。分類器514は、上述したパラメータ(例えばパラメータθ)によってパラメータ化されるように構成されている。パラメータθは不揮発性ストレージ516に記憶されており、そこから提供可能である。分類器514は、入力信号xから出力信号yを決定するように構成されている。各出力信号yは、各入力信号xに1つ又は複数のラベルを割り当てるための情報を含む。分類器514は、出力信号yを変換ユニット518へ送信することができる。変換ユニット518は、出力信号yをアクチュエータ制御コマンド510に変換するように構成されている。制御システム502は、アクチュエータ制御コマンド510をアクチュエータ504へ送信するように構成されており、アクチュエータ504は、アクチュエータ制御コマンド510に応答してコンピュータ制御される機械500を動作させるように構成されている。他の実施形態においては、アクチュエータ504は、直接に出力信号yに基づいて、コンピュータ制御される機械500を動作させるように構成される。
【0051】
アクチュエータ504は、アクチュエータ制御コマンド510を受信したことに応じて、関連するアクチュエータ制御コマンド510に対応するアクションを実行するように構成されている。アクチュエータ504は、アクチュエータ制御コマンド510を、アクチュエータ504の制御に使用される第2のアクチュエータ制御コマンドに変換するように構成された制御ロジックを含み得る。1つ又は複数の実施形態においては、アクチュエータ制御コマンド510を使用して、アクチュエータに代えて又はこれに加えて、ディスプレイを制御することができる。
【0052】
他の実施形態においては、制御システム502は、センサ506を含むコンピュータ制御される機械500に代えて又はこれに加えて、センサ506を含む。制御システム502はまた、アクチュエータ504を含むコンピュータ制御される機械500に代えて又はこれに加えて、アクチュエータ504を含み得る。
【0053】
図5に示されているように、制御システム
502はまた、プロセッサ
520及びメモリ
522を含む。プロセッサ
520は、1つ又は複数のプロセッサを含み得る。メモリ
522は、1つ又は複数のメモリデバイスを含み得る。1つ又は複数の実施形態の分類器
514(例えばMLアルゴリズム)は、不揮発性ストレージ
516、プロセッサ
520及びメモリ
522を含む制御システム
502によって実装可能である。
【0054】
不揮発性ストレージ516は、1つ又は複数の持続的データストレージデバイス、例えば、ハードドライブ、光学ドライブ、テープドライブ、不揮発性ソリッドステートデバイス、クラウドストレージ、又は、情報を持続的に記憶することができる任意の他のデバイスを含み得る。プロセッサ520は、高性能コア、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、マイクロコンピュータ、中央処理ユニット、フィールドプログラマブルゲートアレイ、プログラマブルロジックデバイス、ステートマシン、論理回路、アナログ回路、デジタル回路又はメモリ522内に常駐するコンピュータ実行可能命令に基づいて(アナログ又はデジタル)信号を操作する任意の他のデバイスを含む高性能コンピューティング(HPC)システムから選択された1つ又は複数のデバイスを含み得る。メモリ522は、以下に限定されるものではないが、ランダムアクセスメモリ(RAM)、揮発性メモリ、不揮発性メモリ、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、キャッシュメモリ、又は、情報を記憶することができる任意の他のデバイスを含む、単一のメモリデバイス又は複数のメモリデバイスを含み得る。
【0055】
プロセッサ520は、メモリ522内へ読み込まれ、不揮発性ストレージ516に常駐して1つ又は複数のMLアルゴリズム及び/又は1つ又は複数の実施形態の方法論を具現化するコンピュータ実行可能命令を実行するように構成可能である。不揮発性ストレージ516は、1つ又は複数のオペレーティングシステム及びアプリケーションを含み得る。不揮発性ストレージ516は、以下に限定されるものではないが、Java、C、C++、C#、Objective C、Fortran、Pascal、JavaScript、Python、Perl及びPL/SQLのうちの1つ又はこれらの組合せを含む様々なプログラミング言語及び/又はプログラミング技術を使用して作成されたコンピュータプログラムからコンパイル及び/又は解釈されたものを記憶することができる。
【0056】
プロセッサ520による実行の際に、不揮発性ストレージ516のコンピュータ実行可能命令は、制御システム502に、本明細書において開示するMLアルゴリズム及び/又は方法論のうちの1つ又は複数を実行させることができる。不揮発性ストレージ516はまた、本明細書に記載の1つ又は複数の実施形態の機能、特徴及びプロセスを支援する(データパラメータを含む)MLデータも含み得る。
【0057】
本明細書に記載のアルゴリズム及び/又は方法論を具現化するプログラムコードは、種々異なる形態のプログラム製品として個別に又は集合的に配布することができる。プログラムコードは、1つ又は複数の実施形態の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を使用して配布することができる。本質的に非一時的であるコンピュータ可読記憶媒体は、情報、例えばコンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを記憶する任意の方法又は技術によって実装された、揮発性及び不揮発性の、並びに、リムーバブル及び非リムーバブルの有形媒体を含み得る。コンピュータ可読記憶媒体はさらに、RAM、ROM、消去可能なプログラマブル読み出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、又は、他のソリッドステートメモリ技術、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は、所望の情報を記憶してコンピュータから読み出し可能とすることに使用可能な任意の他の媒体を含み得る。コンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、コンピュータ、他のタイプのプログラマブルデータ処理装置若しくは他のデバイスへ、又は、ネットワークを介して外部のコンピュータ若しくは外部記憶装置へダウンロード可能である。
【0058】
コンピュータ可読媒体に記憶されたコンピュータ可読プログラム命令は、コンピュータ、他のタイプのプログラマブルデータ処理装置又は他のデバイスに、特定の手法により、コンピュータ可読媒体に記憶された命令により、フローチャート若しくはグラフに指定された機能、アクション及び/又は動作を実現する命令を含む製造品が製造されるように機能させるべく指示するために使用可能である。特定の代替的な実施形態においては、フローチャート及びグラフに指定された機能、アクション及び/又は動作は、1つ又は複数の実施形態に一致する並べ替え、連続処理及び/又は同時処理が可能である。さらに、フローチャート及び/又はグラフのいずれも、1つ又は複数の実施形態と一致する例示的な実施形態よりも多い又は少ないノード又はブロックを含み得る。プロセス、方法又はアルゴリズムは、適当なハードウェアコンポーネント、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ステートマシン、コントローラ、又は、他のハードウェアコンポーネント若しくはデバイス、又は、ハードウェア、ソフトウェア及びファームウェアコンポーネントの組合せを使用して、全体又は一部を具現化可能である。
【0059】
図6には、車両
600を制御するように構成された制御システム
502の概略図が示されており、車両
600は、少なくとも部分的に自律的な車両又は少なくとも部分的に自律的なロボットであるものとしてよい。
図5に示したように、車両
600は、アクチュエータ
504及びセンサ
506を有する。センサ
506は、1つ又は複数のビデオセンサ、レーダセンサ、超音波センサ、LiDARセンサ及び/又は位置センサ(例えばGPS)を含み得る。1つ又は複数の特定のセンサのうちの1つ又は複数は、車両
600に組み込み可能である。上記に記載した1つ又は複数の特定のセンサに代えて又は加えて、センサ
506は、実行時にアクチュエータ
504の状態を決定するように構成されたソフトウェアモジュールを含み得る。ソフトウェアモジュールの非限定的な例の1つとして、車両
600又は他の位置の近傍での現在又は将来の天候の状態を特定するように構成された気象情報ソフトウェアモジュールが含まれる。
【0060】
車両600の制御システム502の分類器514は、入力信号xに依存して、車両600の近傍の物体を検出するように構成可能である。こうした実施形態においては、出力信号yは、物体から車両600までの近接性を特徴付ける情報を含み得る。アクチュエータ制御コマンド510は当該情報に従って決定可能となる。アクチュエータ制御コマンド510は、検出された物体との衝突を回避するために使用可能である。
【0061】
車両600が少なくとも部分的に自律的な車両である実施形態においては、アクチュエータ504は、車両600のブレーキ、推進システム、エンジン、ドライブトレイン又はステアリング部に組み込まれたものであってよい。車両600と検出された物体との衝突が回避されるようにアクチュエータ504を制御すべく、アクチュエータ制御コマンド510を決定することができる。また、検出された物体は、歩行者又は樹木など、分類器514が最も可能性が高いとみなした物体に従って分類することができる。アクチュエータ制御コマンド510は、当該分類に従って決定可能となる。制御システム502は、攻撃だけでなく、例えば車両環境の不十分な照明条件又は不十分な天候条件の間など、敵対的条件に対するネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0062】
車両600が少なくとも部分的に自律的なロボットである他の実施形態においては、車両600は、飛行、泳行、潜行及び歩行などの1つ又は複数の機能を実行するように構成された移動ロボットであるものとしてよい。移動ロボットは、少なくとも部分的に自律的な芝刈り機又は少なくとも部分的に自律的な掃除ロボットであるものとしてよい。こうした実施形態においては、アクチュエータ制御コマンド510は、移動ロボットと識別された物体との衝突が回避可能となるように移動ロボットの推進ユニット、ステアリングユニット及び/又はブレーキユニットを制御すべく決定可能となる。
【0063】
他の実施形態においては、車両600は、園芸ロボットの形態の少なくとも部分的に自律的なロボットである。こうした実施形態においては、車両600は、センサ506として光学センサを使用して、車両600の近傍の環境内の植物の状態を特定することができる。アクチュエータ504は、化学物質を噴霧するように構成されたノズルであるものとしてよい。識別された植物の種属及び/又は識別された植物の状態に応じて、アクチュエータ制御コマンド510は、アクチュエータ504に適当な化学薬品を適量だけ植物へと散布させるために決定可能となる。
【0064】
車両600は、家庭用電化製品の形態の少なくとも部分的に自律的なロボットであるものとしてよい。家庭用電化製品の非限定的な例には、洗濯機、ストーブ、オーブン、電子レンジ又は食器洗い機が含まれる。こうした車両600においては、センサ506は、家電製品によって処理される対象物の状態を検出するように構成された光学センサであるものとしてよい。例えば、家電製品が洗濯機である場合、センサ506は、洗濯機内の洗濯物の状態を検出することができる。アクチュエータ制御コマンド510は、検出された洗濯物の状態に基づいて決定可能となる。
【0065】
図7には、例えば生産ラインの一部である製造システム
702のパンチカッタ、カッタ又はガンドリルなどのシステム
700(例えば、製造機械)を制御するように構成された制御システム
502の概略図が示されている。制御システム
502は、システム
700(例えば、製造機械)を制御するように構成されたアクチュエータ
504を制御するように構成可能である。
【0066】
システム700(例えば、製造機械)のセンサ506は、製造された製品704の1つ又は複数の特性を捕捉するように構成された光学センサであるものとしてよい。分類器514は、1つ又は複数の捕捉された特性から、製造された製品704の状態を特定するように構成可能である。アクチュエータ504は、製造された製品704の後続の製造ステップのために、製造された製品704の特定された状態に依存して、システム700(例えば、製造機械)を制御するように構成可能である。アクチュエータ504は、製造された製品704の特定された状態に依存して、システム700の後続の製造された製品706(例えば、製造機械)についてのシステム700(例えば、製造機械)の機能を制御するように構成可能である。制御システム502は、例えば、不十分な照明条件の間又はセンサが大量の埃などによって状況を識別することが困難な不十分な作業条件の間など、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0067】
図8には、少なくとも部分的に自律的なモードを有する電動ドリル又はドライバなどの電動工具
800を制御するように構成された制御システム
502の概略図が示されている。制御システム
502は、電動工具
800を制御するように構成されたアクチュエータ
504を制御するように構成可能である。
【0068】
電動工具800のセンサ506は、作業面802の1つ又は複数の特性及び/又は作業面802に打ち込まれる締結具804の1つ又は複数の特性を捕捉するように構成された光学センサであるものとしてよい。分類器514は、1つ又は複数の捕捉された特性から、作業面802の状態及び/又は作業面802に対する締結具804の状態を特定するように構成可能である。状態は、締結具804が作業面802と同一平面にあることであってよい。代替的に、状態は、作業面802の硬度であるものとしてもよい。アクチュエータ504は、電動工具800の駆動機能が作業面802に対する締結具804の決定された状態又は作業面802の1つ又は複数の捕捉された特性に応じて調整されるように電動工具800を制御すべく構成可能である。例えば、アクチュエータ504は、締結具804の状態が作業面802に対して同一平面にある場合、駆動機能を中止することができる。他の非限定的な例として、アクチュエータ504は、作業面802の硬度に応じて、付加的なトルク又はより少ないトルクを印加することができる。制御システム502は、例えば、不十分な照明条件の間又は不十分な天候条件の間など、敵対的条件に対して機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。したがって、制御システム502は、電動工具800の環境条件を識別することが可能であるものとしてよい。
【0069】
図9には、自動パーソナルアシスタント900を制御するように構成された制御システム
502の概略図が示されている。制御システム
502は、自動パーソナルアシスタント900を制御するように構成されたアクチュエータ
504を制御するように構成可能である。自動パーソナルアシスタント900は、洗濯機、ストーブ、オーブン、電子レンジ又は食器洗い機などの家庭用電化製品を制御するように構成可能である。
【0070】
センサ506は、光学センサ及び/又は音響センサであるものとしてよい。光学センサは、ユーザ902のジェスチャ904のビデオ画像を受信するように構成可能である。音響センサは、ユーザ902の音声コマンドを受信するように構成可能である。
【0071】
自動パーソナルアシスタント900の制御システム502は、制御システム502を制御するように構成されたアクチュエータ制御コマンド510を決定するように構成可能である。制御システム502は、センサ506のセンサ信号508に従ってアクチュエータ制御コマンド510を決定するように構成可能である。自動パーソナルアシスタント900は、センサ信号508を制御システム502へ送信するように構成されている。制御システム502の分類器514は、ジェスチャ認識アルゴリズムを実行して、ユーザ902によって行われたジェスチャ904を識別し、アクチュエータ制御コマンド510を決定して、このアクチュエータ制御コマンド510をアクチュエータ504へ送信するように構成可能である。分類器514は、ジェスチャ904に応答して不揮発性ストレージから情報を取り出し、取り出した情報を、ユーザ902による受信に適した形態で出力するように構成可能である。制御システム502は、不十分な照明条件の間又は不十分な天候条件の間など、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。したがって、制御システム502は、こうした条件の間、ジェスチャを識別することができる。
【0072】
図10には、監視システム
1000を制御するように構成された制御システム
502の概略図が示されている。監視システム
1000は、ドア
1002を介したアクセスを物理的に制御するように構成可能である。センサ
506は、アクセスが許可されるかどうかの決定に関連するシーンを検出するように構成可能である。センサ
506は、画像及び/又はビデオデータを形成及び送信するように構成された光学センサであるものとしてよい。このようなデータは、人の顔を検出するために制御システム
502によって使用可能である。制御システム
502は、不十分な照明条件の間、又は、制御監視システム
1000の環境への侵入者があった場合、敵対的条件に対する機械学習ネットワークのトレーニングを支援するためにロバスト化器を使用することができる。
【0073】
監視システム1000の制御システム502の分類器514は、不揮発性ストレージ516に記憶された既知の個人のIDを照合することによって画像データ及び/又はビデオデータを解釈し、これにより個人のIDを決定するように構成可能である。分類器514は、画像データ及び/又はビデオデータの解釈に応答してアクチュエータ制御コマンド510を生成するように構成可能である。制御システム502は、アクチュエータ制御コマンド510をアクチュエータ504へ送信するように構成されている。当該実施形態においては、アクチュエータ504は、アクチュエータ制御コマンド510に応答してドア1002をロック又はロック解除するように構成可能である。他の実施形態においては、非物理的なアクセス、論理的なアクセスの制御も可能である。
【0074】
監視システム1000は、サーベイランスシステムであるものとしてもよい。こうした実施形態においては、センサ506は、サーベイランス下にあるシーンを検出するように構成された光学センサであるものとしてよく、制御システム502は、ディスプレイ1004を制御するように構成されている。分類器514は、シーンの分類、例えば、センサ506によって検出されたシーンが疑わしいかどうかを特定するように構成されている。制御システム502は、分類に応じてアクチュエータ制御コマンド510をディスプレイ1004へ送信するように構成されている。ディスプレイ1004は、アクチュエータ制御コマンド510に応答して、表示された内容を調整するように構成可能である。例えば、ディスプレイ1004は、分類器514によって疑わしいとみなされた対象物を強調表示することができる。
【0075】
図11には、撮像システム1100、例えば、MRI装置、X線撮像装置又は超音波装置を制御するように構成された制御システム
502の概略図が示されている。センサ
506は、例えば、撮像センサであるものとしてよい。分類器
514は、センシングされた画像の全部又は一部の分類を決定するように構成可能である。分類器
514は、トレーニングされたニューラルネットワークによって取得された分類に応答して、アクチュエータ制御コマンド
510を決定し又は選択するように構成可能である。例えば、分類器
514が、センシングされた画像のある領域を潜在的に異常であると解釈したとする。この場合、アクチュエータ制御コマンド
510は、ディスプレイ
1102に対し、潜在的に異常とされた領域を撮像させ、さらに強調表示させるように決定可能又は選択可能である。制御システム
502は、X線照射中、例えば照明が不十分である間、敵対的条件に対する機械学習ネットワークのトレーニングを支援するために拡散モデルを使用することができる。
【0076】
本明細書に開示したプロセス、方法又はアルゴリズムは、任意の既存のプログラミング可能な電子制御ユニット又は専用の電子制御ユニットを含み得る処理装置、コントローラ又はコンピュータに配布可能/実装可能である。同様に、プロセス、方法又はアルゴリズムは、以下に限定されるものではないが、書き込み不可能な記憶媒体、例えばROM装置に持続的に記憶された情報と、書き込み可能な記憶媒体、例えばフロッピーディスク、磁気テープ、CD、RAM装置及び他の磁気媒体及び光学媒体に変更可能に記憶された情報とを含む多くの形態において、コントローラ又はコンピュータによって実行可能なデータ及び命令として記憶可能である。プロセス、方法又はアルゴリズムは、ソフトウェアで実行可能なオブジェクトとして実装することもできる。代替的に、プロセス、方法又はアルゴリズムは、適当なハードウェアコンポーネント、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ステートマシン、コントローラ、又は、他のハードウェアコンポーネント若しくはデバイス、又は、ハードウェア及びソフトウェア及びファームウェアコンポーネントの組合せを使用して、全体的又は部分的に具現化することもできる。
【0077】
上記において例示的な実施形態を説明したが、これらの実施形態は、特許請求の範囲に包含される全ての可能な形態を説明することを意図するものではない。本明細書において使用されている用語は、限定ではなく説明のための用語であり、本開示の精神及び範囲から逸脱することなく様々な変更が可能であることが理解される。前述したように、様々な実施形態の特徴を組み合わせて、明示的に説明しない又は図示しない本発明のさらなる実施形態を形成することができる。様々な実施形態を、1つ又は複数の所望の特性に関して、他の実施形態又は従来技術の実現形態を上回る利点を提供するもの又はより好ましいものとして説明したところがあるが、当業者には、特定の用途及び実現形態に応じて、全体として望ましいシステム属性を得るために、1つ又は複数の特徴又は特性を妥協するものとしてもよいことが認識される。これらの属性は、以下に限定されるものではないが、コスト、強度、耐久性、ライフサイクルコスト、市場性、外観、包装、サイズ、保守性、重量、製造性、組立ての容易さなどを含み得る。したがって、任意の実施形態が他の実施形態又は従来技術の実現形態よりも1つ又は複数の特徴に関しては望ましくないと説明される事柄についても、これらの実施形態が本開示の範囲外にあるというわけではなく、特定の用途にとっては望ましいこともある。
【手続補正3】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【外国語明細書】