(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024045070
(43)【公開日】2024-04-02
(54)【発明の名称】ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法
(51)【国際特許分類】
G06N 3/096 20230101AFI20240326BHJP
G06N 3/045 20230101ALI20240326BHJP
【FI】
G06N3/096
G06N3/045
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023152157
(22)【出願日】2023-09-20
(31)【優先権主張番号】17/949,504
(32)【優先日】2022-09-21
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.BLUETOOTH
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)【発明者】
【氏名】チュン-ハオ リュウ
(57)【要約】 (修正有)
【課題】データのロングテール分布を分類するための方法及びシステムを提供する。
【解決手段】方法は、1つ又は複数のセンサから導出されるデータを受信し、データから特徴を抽出する特徴抽出器基幹モデルと、抽出した特徴に基づいてデータを分類する分類器モデルと、を使用することによってデータを複数のクラスに分類し、データの複数のクラスを複数のグループにグループ分けし、各グループをそれぞれの教師モデルに割り当て、特徴抽出器基幹モデルと同様に、それぞれのグループにおけるデータを用いてそれぞれの各教師モデルをトレーニングし、教師モデルの出力を、データを分類する最終クラス予測モデルに併合する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
データのロングテール分布を分類するコンピュータ実装された方法であって、
1つ又は複数のセンサから導出されるデータを受信するステップと、
前記データを複数のクラスに分類するステップであって、前記分類するステップは、(i)前記データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)前記抽出された特徴に基づいて前記データを分類するように構成された分類器モデルとを使用する、ステップと、
前記データの複数のクラスを複数のグループにグループ分けするステップであって、各グループは前記クラスの数を含み、前記各グループにおけるクラスの数は制御可能である、ステップと、
クラスを予測するために複数の教師モデルをトレーニングするステップであって、各教師モデルは、(i)前記グループのそれぞれ1つにおける前記データと、(ii)前記特徴抽出器基幹モデルとを用いてトレーニングされている、ステップと、
前記トレーニングするステップの後に、前記複数の教師モデルの出力を、前記データを分類するように構成された最終クラス予測モデルに併合するステップと、
を含む方法。
【請求項2】
前記方法は、
各教師モデルの出力に不確実性スコアを割り当てるステップであって、前記最終クラス予測モデルは、前記不確実性スコアに基づき前記データを分類する、ステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記最終クラス予測モデルによって分類された前記データは、ロングテール不均衡データセットを含む、請求項2に記載の方法。
【請求項4】
前記方法は、
前記トレーニングするステップの後に、各クラスにおけるデータのインスタンスが均衡化されたクラス均衡データを受信するステップと、
前記教師モデルの前記出力を導出するために、前記教師モデルを前記クラス均衡データに従属させるステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
前記方法は、
前記教師モデルがトレーニングされたデータの前記グループに基づいて、前記教師モデルを前記クラス均衡データの各グループに割り当てるステップ
をさらに含み、
前記教師モデルを従属させるステップは、各教師モデルを前記クラス均衡データの前記グループのそれぞれ1つに従属させることを含む、請求項4に記載の方法。
【請求項6】
前記方法は、
前記クラス均衡データを使用して、生徒モデルの出力と前記教師モデルの出力との間で収束するまで、クラスを予測するために前記生徒モデルをトレーニングするステップ
をさらに含む、請求項4に記載の方法。
【請求項7】
前記複数の教師モデルをトレーニングするステップは、各グループ内の前記クラスのデータのインスタンスが均衡化されるように、前記各グループのクラスの少なくとも一部におけるデータが増強されることを含む、請求項1に記載の方法。
【請求項8】
前記特徴抽出器基幹モデルは、前記トレーニングするステップの間にフリーズする、請求項1に記載の方法。
【請求項9】
前記1つ又は複数のセンサは、カメラを含み、前記データは、画像データを含む、請求項1に記載の方法。
【請求項10】
前記各グループにおけるクラスの数は、(i)前記クラスの中で最大数のインスタンスを有する前記クラスの第1のクラスと、(ii)前記クラスの中で最小数のインスタンスを有する前記クラスの第2のクラスとの間の比率に基づいて制御される、請求項1に記載の方法。
【請求項11】
データのロングテール分布を分類するためのシステムであって、
1つ又は複数のセンサから入力データを受信するように構成された入力インタフェースと、
前記入力インタフェースと通信する1つ又は複数のプロセッサと、
を含むシステムにおいて、
前記1つ又は複数のプロセッサは、
前記入力データを受信し、
(i)前記入力データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)前記抽出された特徴に基づいて前記入力データを分類するように構成された分類器モデルとを使用して、前記入力データを複数のクラスに分類し、
前記データの複数のクラスを複数のグループにグループ分けし、ここで、各グループは前記クラスの数を含み、
クラスを予測するために複数の教師モデルをトレーニングし、ここで、各教師モデルは、(i)前記グループのそれぞれ1つにおける前記入力データと、(ii)前記特徴抽出器基幹モデルとを用いてトレーニングされており、
前記トレーニングするステップの後に、前記教師モデルの出力を、前記入力データを分類するように構成された最終クラス予測モデルに併合する
ようにプログラミングされている、システム。
【請求項12】
前記1つ又は複数のプロセッサは、
各教師モデルの前記出力に不確実性スコアを割り当てるようにさらにプログラミングされており、
前記最終クラス予測モデルは、前記不確実性スコアに基づき前記入力データを分類する、請求項11に記載のシステム。
【請求項13】
前記1つ又は複数のプロセッサは、
前記複数の教師モデルをトレーニングした後に、前記教師モデルの前記出力を導出するために、前記教師モデルをクラス均衡データに従属させる
ようにさらにプログラミングされており、
前記クラス均衡データは、均衡化される各クラスにおけるデータのインスタンスを含む、請求項11に記載のシステム。
【請求項14】
前記1つ又は複数のプロセッサは、
前記教師モデルがトレーニングされたデータの前記グループに基づいて、前記教師モデルを前記クラス均衡データの各グループに割り当てる
ようにさらにプログラミングされており、
前記教師モデルを従属させることは、各教師モデルを前記クラス均衡データの前記グループのそれぞれ1つに従属させることを含む、請求項13に記載のシステム。
【請求項15】
前記特徴抽出器基幹モデルは、前記教師モデルをトレーニングする間にフリーズする、請求項11に記載のシステム。
【請求項16】
前記1つ又は複数のセンサは、カメラ、レーダセンサ、超音波センサ、又は、LiDARセンサを含む、請求項11に記載のシステム。
【請求項17】
画像分類器をトレーニングするための方法であって、
画像データを受信するステップと、
i)前記データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)前記抽出された特徴に基づいて前記データを分類するように構成された分類器モデルとを使用することによって、前記画像データを複数のクラスに分類するステップと、
前記分類器モデルをトレーニングするステップであって、以下のステップ、すなわち、
前記画像データの複数のクラスを複数のグループにグループ分けするステップであって、前記各グループは前記クラスの数を含む、ステップと、
前記クラスを予測するために複数の教師モデルをトレーニングするステップであって、各教師モデルは、(i)前記グループのそれぞれ1つにおける前記画像データと、(ii)前記特徴抽出器基幹モデルとを用いてトレーニングされている、ステップと、
前記教師モデルの出力を、新たな画像データを分類するように構成された最終クラス予測モデルに併合するステップと、
によって、前記分類器モデルをトレーニングするステップと、
を含む方法。
【請求項18】
前記教師モデルの前記出力は、前記教師モデルによって割り当てられた不確実性スコアを含み、前記分類器は、各教師モデルの前記不確実性スコアに基づいてトレーニングされる、請求項17に記載の方法。
【請求項19】
前記方法は、
生徒モデルの出力と前記教師モデルの前記出力との間で収束するまで、前記画像データに基づいてクラスを予測するために前記生徒モデルをトレーニングするステップ
をさらに含む、請求項17に記載の方法。
【請求項20】
前記特徴抽出器基幹モデルは、前記教師モデルをトレーニングするステップの間にフリーズする、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習システムにおける分類器モデルの改善に関する。本明細書において開示される特定の実施形態は、ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法に関する。
【背景技術】
【0002】
背景技術
分類は、データクラスを記述するモデルを抽出するデータ分析の一形態である。機械学習においては、分類器は、データを1つ又は複数の「クラス」のセットに自動的に順序付け又はカテゴリー分けするアルゴリズム又はアルゴリズムのセットである。分類モデルは、大規模なデータセットによりトレーニングすることができる。トレーニングに入力されたデータに依存して、決定されたクラスの結果的な分布が不均衡になる可能性もある。例えば、車両カメラによって検出された道路標識を分類するようにトレーニングされた分類モデルは、出現率の低い標識(例えば、ヘラジカ横断標識)の少数の画像と比較して運転時の出現率が高い標識(例えば、一時停止標識)の多数の画像を用いてトレーニングされる場合がある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
一実施形態においては、データのロングテール分布を分類するコンピュータ実装された方法は、1つ又は複数のセンサから導出されるデータを受信するステップと、データを複数のクラスに分類するステップであって、当該分類するステップは、(i)データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)抽出された特徴に基づいてデータを分類するように構成された分類器モデルとを使用する、ステップと、データの複数のクラスを複数のグループにグループ分けするステップであって、各グループはクラスの数を含み、各グループにおけるクラスの数は制御可能である、ステップと、クラスを予測するために複数の教師モデルをトレーニングするステップであって、各教師モデルは、(i)グループのそれぞれ1つにおけるデータと、(ii)特徴抽出器基幹モデルとを用いてトレーニングされている、ステップと、トレーニングするステップの後に、複数の教師モデルの出力を、データを分類するように構成された最終クラス予測モデルに併合するステップと、を含む。
【0004】
他の実施形態においては、データのロングテール分布を分類するためのシステムは、1つ又は複数のセンサから入力データを受信するように構成された入力インタフェースと、入力インタフェースと通信する1つ又は複数のプロセッサと、を含む。この1つ又は複数のプロセッサは、入力データを受信し、(i)入力データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)抽出された特徴に基づいて入力データを分類するように構成された分類器モデルとを使用して、入力データを複数のクラスに分類し、データの複数のクラスを複数のグループにグループ分けし、ここで、各グループはクラスの数を含み、クラスを予測するために複数の教師モデルをトレーニングし、ここで、各教師モデルは、(i)グループのそれぞれ1つにおける入力データと、(ii)特徴抽出器基幹モデルとを用いてトレーニングされており、トレーニングするステップの後に、教師モデルの出力を、入力データを分類するように構成された最終クラス予測モデルに併合するようにプログラミングされている。
【0005】
他の実施形態においては、画像分類器をトレーニングするための方法は、画像データを受信するステップと、i)データから特徴を抽出するように構成された特徴抽出器基幹モデルと、(ii)抽出された特徴に基づいてデータを分類するように構成された分類器モデルとを使用することによって画像データを複数のクラスに分類するステップと、分類器モデルをトレーニングするステップであって、以下のステップ、すなわち、(A)画像データの複数のクラスを複数のグループにグループ分けするステップであって、各グループはクラスの数を含む、ステップと、(B)クラスを予測するために複数の教師モデルをトレーニングするステップであって、各教師モデルは、(i)グループのそれぞれ1つにおける画像データと、(ii)特徴抽出器基幹モデルとを用いてトレーニングされている、ステップと、(C)教師モデルの出力を、新たな画像データを分類するように構成された最終クラス予測モデルに併合するステップと、によって、分類器モデルをトレーニングするステップと、を含む。
【図面の簡単な説明】
【0006】
【
図1】一実施形態による、ニューラルネットワークをトレーニングするためのシステムを示した図である。
【
図2】一実施形態による、ニューラルネットワークをトレーニングして利用するためのコンピュータ実装された方法を示した図である。
【
図3A】ロングテール分類用のマルチ教師グループ蒸留のためのフレームワークを示した図であり、ここではインスタンス均衡データ上で事前トレーニングされる分類器が示されている。
【
図3B】ロングテール分類用のマルチ教師グループ蒸留のためのフレームワークを示した図であり、ここでは分類されたデータのグループ分けが示されている。
【
図3C】ロングテール分類用のマルチ教師グループ蒸留のためのフレームワークを示した図であり、ここでは各教師からクラス予測を取得するために各グループへの教師の割り当てが示されている。
【
図3D】ロングテール分類用のマルチ教師グループ蒸留のためのフレームワークを示した図であり、ここでは教師モデルの出力を併合する第1のアプローチが示されている。
【
図3E】ロングテール分類用のマルチ教師グループ蒸留のためのフレームワークを示した図であり、ここでは教師モデルの出力を併合する第2のアプローチが示されている。
【
図4】一実施形態による、マルチ教師システムを実行する方法及び本明細書に記載されるロングテール分類のための方法を示した図である。
【
図5】一実施形態による、コンピュータ制御された機械と制御システムとの間の対話を示した概略図である。
【
図6】一実施形態による、部分的に自律的な車両、完全に自律的な車両、部分的に自律的なロボット又は完全に自律的なロボットであり得る車両を制御するように構成された
図5の制御システムを示した概略図である。
【
図7】生産ラインの一部などの製造システムの、パンチカッタ、カッタ又はガンドリルなどの製造機械を制御するように構成された
図5の制御システムを示した概略図である。
【
図8】少なくとも部分的に自律的なモードを有する電動ドリル又はドライバなどの電動工具を制御するように構成された
図5の制御システムを示した概略図である。
【
図9】自動化されたパーソナルアシスタントを制御するように構成された
図5の制御システムを示した概略図である。
【
図10】アクセス制御システム又は見張りシステムなどの監視システムを制御するように構成された
図5の制御システムを示した概略図である。
【
図11】例えばMRI装置、X線撮像装置又は超音波装置などの撮像システムを制御するように構成された
図5の制御システムを示した概略図である。
【発明を実施するための形態】
【0007】
詳細な説明
本明細書には本開示の実施形態が記載されている。しかしながら、開示されている実施形態は単なる例であり、他の実施形態は様々な代替的形態をとることが可能なことを理解すべきである。図面は必ずしも縮尺通りではなく、いくつかの特徴は、特定のコンポーネントの詳細を示すために、誇張又は最小化されている場合がある。それゆえ、本明細書に開示された特定の構造的及び機能的詳細は、限定として解釈されるべきではなく、単に、実施形態を様々に採用する態様を当業者に教示するための代表的な基礎として解釈されるべきである。当業者であれば理解するように、図面の任意の1つに示されそれを参照して説明される様々な特徴は、1つ又は複数の他の図面に示されている特徴と組み合わせて、明示的に図示又は説明されていない実施形態を生み出すことができる。図示された特徴の組合せは、典型的な用途のための代表的な実施形態を提供する。しかしながら、本開示の教示と一致する特徴の様々な組合せ及び修正を特定の用途又は実装のために望むこともできよう。
【0008】
多くの機械学習モデルは、大規模なデータセットによってトレーニングされている。分類器は、機械学習モデルの一種であり、データを1つ又は複数の「クラス」のセットに自動的に順序付け又はカテゴリー分けする。分類器は、大規模なデータ分布にわたってトレーニングすることができる。いくつかの数値分布のロングテールとは、分布の「頭部」又は中心部分から遠く離れた多くの出現を有する分布の部分である。ロングテールを有するトレーニングデータの分布においては、メジャークラスのデータは非常に多いが、マイナークラスのデータは非常に少ない。クラス分布において不均衡データを伴うロングテール分布は、多くの実世界用途についての、特に画像認識、物体検出、セマンティックセグメンテーションなどのコンピュータビジョン領域においての主要な問題である。何かしらの対策なしでは、モデルはメジャークラスに偏り、マイナークラスでの良好な性能を達成することは益々困難になる。すべての利用可能なデータを適当に利用するだけでなく、メジャークラスへの過学習も低減させるためには、特定の最適化戦略を取り入れるべきであろう。
【0009】
この課題を解決するためのこれまでの試みは、クラス均衡化サンプリングを用いたデータ増補、及び、修正された損失関数を含む。クラス均衡化サンプリングを用いたデータ分割においては、マイナークラスのデータは、データ増補によってアップサンプリングされ、一方、メジャークラスのデータはダウンサンプリングされる。しかしながら、そのようなアプローチでは、メジャークラスの利用可能なデータ表現を適当に活用することができず、性能は大幅に増補されたマイナークラスに偏ることとなる。ロングテールインスタンス均衡化サンプリング及びクラス均衡化サンプリングの後続利用は、利用可能なデータを活用できるだけでなく、マイナークラスでのより良好な性能を達成できる十分に確立された解決手段である。しかし、それにもかかわらず、メジャークラスとマイナークラスとの間に著しい不均衡が存在する場合、そのようなアプローチでは、メジャークラスが過小表現され、トレーニングに偏りが生じる、はるかに大きいアップサンプリングとダウンサンプリングとの比率が必要になる可能性がある。
【0010】
修正された損失関数のアプローチを用いることにより、損失関数は、大きいクラス不均衡の影響を処理するために修正される。損失関数におけるクラスの適合的重み付けは、クラス不均衡を処理するためにマイナークラス予測へのより多くの重みの付加を試みる、使用頻度の高い解決手段の1つである。しかしながら、そのようなアプローチは、クラス間の不均衡の大きさに伴って同様の複雑さにも直面する。各クラスの利用可能なサンプルに従って予測値と損失関数とをグループ分けすることは、別の有望な解決手段である。性能が大幅に向上するにもかかわらず、データセットの不均衡が大きいと、最適化は、単一段階のトレーニングでロングテールデータに対して実行されるため、同様の課題を抱えるマイナークラスが著しく過小表現される可能性がある。
【0011】
様々な実施形態によれば、本開示は、ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法を提示する。ここで開示されるフレームワークは、実世界データセットにおいて提示される大きい不均衡に適合化させるための後続トレーニング段階を含む。最初に、基幹モジュールは、すべての既存データを活用するために、自己教師あり対比学習を用いて、インスタンス均衡ロングテールデータ上で事前トレーニングされる。その後、全データセットが、予め定められた不均衡比率に基づいて複数のグループに分割される。複数の教師モデルは、新規に導入されたグループ特有の分類器を用いてすべてのクラス特徴を継承した事前トレーニングされた凍結基幹を使用して各グループ上でトレーニングされる。教師からの特徴を統一されたネットワークに集約するために、2つのアプローチが導入される。第1のアプローチでは、異なる教師からのすべての分類器が事前トレーニングされた基幹を用いて集約され、不確実性に基づくサンプリングが教師からの最も確実な予測を分離するために使用される。第2のアプローチでは、生徒モデルがクラス均衡化サンプリングを用いて全データセット上でトレーニングされ、ソフト予測がそれぞれのサンプルデータを担う特定の教師から抽出される。知識のソフト蒸留は、生徒からの予測とそれぞれの教師との間で実行される。
【0012】
これらの方法及びシステムを詳細に説明する前に、一実施形態による、機械学習モデル(例えば、分類器、ニューラルネットワークなど)をトレーニングし、モデルを利用するためのシステムを示す
図1乃至
図2が参照される。
図1を参照すれば、ディープニューラルネットワーク、分類器、クラス予測モデル、教師モデル、生徒モデルなどのニューラルネットワークをトレーニングするためのシステム100が示されている。
【0013】
システム100は、ニューラルネットワーク用のトレーニングデータ102にアクセスするための入力インタフェースを含み得る。例えば、
図1に示すように、入力インタフェースは、データストレージ106からトレーニングデータ102にアクセスすることができるデータストレージインタフェース104によって構成されるものとしてよい。例えば、データストレージインタフェース104は、メモリインタフェース、又は、例えばハードディスク若しくはSSDインタフェースなどの永続的ストレージインタフェースであるものとしてもよいが、Bluetooth、Zigbee、Wi-Fiインタフェース、イーサネット又は光ファイバインタフェースなどのパーソナル、ローカル又はワイドエリアネットワークインタフェースであるものとしてもよい。データストレージ106は、ハードドライブ又はSSDなどのシステム100の内部データストレージであるものとしてもよいが、例えばネットワークアクセス可能なデータストレージなどの外部データストレージであるものとしてもよい。
【0014】
いくつかの実施形態においては、データストレージ106は、トレーニングされていないバージョンのニューラルネットワークのデータ表現108をさらに含み得るものであり、このデータ表現108は、システム100によりデータストレージ106からアクセスされるものとしてよい。しかしながら、トレーニングデータ102及びトレーニングされていないニューラルネットワークのデータ表現108は、それぞれ例えばデータストレージインタフェース104の異なるサブシステムを介して異なるデータストレージからアクセスされるものとしてもよいことが理解されよう。各サブシステムは、データストレージインタフェース104について上述したようなタイプであるものとしてよい。他の実施形態においては、トレーニングされていないニューラルネットワークのデータ表現108は、ニューラルネットワークについての設計パラメータに基づいてシステム100により内部的に生成されるものとしてよく、それゆえデータストレージ106に明示的に格納されなくてよい。システム100は、システム100の動作中に、トレーニングされるニューラルネットワークの層のスタックの代わりに反復関数を提供するように構成され得るプロセッササブシステム110をさらに含み得る。ここでは、置換される層のスタックのそれぞれの層は、相互に共有される重みを有し得るものであり、先行する層の出力、又は、層のスタックの最初の層については初期アクティブ化及び層のスタックの入力の一部を、入力として受け取ることができる。プロセッササブシステム110は、トレーニングデータ102を使用してニューラルネットワークを反復的にトレーニングするようにさらに構成されるものとしてよい。ここでは、プロセッササブシステム110によるトレーニングの反復は、順方向伝播部分と逆方向伝播部分とを含み得る。プロセッササブシステム110は、実行され得る順方向伝播部分を定義する他の動作の中でも、反復関数が固定点に収束する反復関数の平衡点を決定することと、ここで、この平衡点を決定することは、反復関数からその入力を引いた根の解を見つける数値的な根探索アルゴリズムを使用することを含み、当該平衡点をニューラルネットワーク内の層のスタックの出力の代わりに提供することと、によって、順方向伝播部分を実行するように構成されるものとしてよい。システム100は、トレーニングされたニューラルネットワークのデータ表現112を出力するための出力インタフェースをさらに含み得るものであり、このデータは、トレーニングされたモデルデータ112と称され得る。例えば、
図1にも示されているように、出力インタフェースは、データストレージインタフェース104によって構成されるものとしてよく、これらの実施形態においては、前述のインタフェースは入力/出力(「IO」)インタフェースであり、このインタフェースを介して、トレーニングされたモデルデータ112がデータストレージ106に格納されるものとしてよい。例えば、「トレーニングされていない」ニューラルネットワークを定義するデータ表現108は、トレーニング中又はトレーニング後に少なくとも部分的にトレーニングされたニューラルネットワークのデータ表現112によって置き換えられるものとしてもよく、ここでは、重みなどのニューラルネットワークのパラメータ、ハイパーパラメータ、及び、ニューラルネットワークの他のタイプのパラメータは、トレーニングデータ102についてのトレーニングを反映するように適合化されるものとしてよい。これは、
図1でもデータストレージ106上の同一のデータレコードを参照する参照番号108,112によって示されている。他の実施形態においては、データ表現112は、「トレーニングされていない」ニューラルネットワークを定義するデータ表現108とは別個に格納されるものとしてもよい。いくつかの実施形態においては、出力インタフェースは、データストレージインタフェース104とは別個であるものとしてもよいが、一般に、データストレージインタフェース104について上述したようなタイプであるものとしてもよい。
【0015】
システム100の構造は、本明細書に記載される画像間機械学習モデル及びミキサ機械学習モデルをトレーニングするために利用され得るシステムの一例である。機械学習モデルを動作させ、トレーニングするための付加的構造は
図2に示されている。
【0016】
図2は、本明細書に記載される機械学習モデル、例えば分類器、教師モデル、生徒モデル、基幹特徴抽出器モデルなどを実装するためのシステム200を示している。このシステム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は、動作の様々な態様を管理するためのオペレーティングシステムを実装することができる。
図2には、1つのプロセッサ204、1つのCPU206及び1つのメモリ208が示されているが、もちろん、システム全体でそれぞれを2つ以上利用することもできる。
【0017】
メモリユニット208は、命令及びデータを格納するための揮発性メモリ及び不揮発性メモリを含み得る。不揮発性メモリには、NANDフラッシュメモリなどのソリッドステートメモリ、磁気的及び光学的ストレージ媒体、又は、コンピューティングシステム202が非活動化されたとき若しくは電力を落とされたときにデータを保持する任意の他の適当なデータストレージデバイスが含まれ得る。揮発性メモリには、プログラム命令とデータとを格納する静的及び動的ランダムアクセスメモリ(RAM)が含まれ得る。例えば、メモリユニット208は、機械学習モデル210又はアルゴリズム、機械学習モデル210用のトレーニングデータセット212、生のソースデータセット216を格納することができる。
【0018】
コンピューティングシステム202は、外部のシステム及びデバイスとの通信を提供するように構成されたネットワークインタフェースデバイス222を含み得る。例えば、ネットワークインタフェースデバイス222は、電気電子学会(IEEE)802.11規格ファミリによって定義される有線及び/又は無線イーサネットインタフェースを含み得る。ネットワークインタフェースデバイス222は、セルラネットワーク(例えば、3G、4G、5G)と通信するためのセルラ通信インタフェースを含み得る。ネットワークインタフェースデバイス222は、外部ネットワーク224又はクラウドに通信インタフェースを提供するようにさらに構成されるものとしてもよい。
【0019】
外部ネットワーク224は、ワールドワイドウェブ又はインターネットと称される場合がある。外部ネットワーク224は、コンピューティングデバイス間の標準通信プロトコルを確立することができる。外部ネットワーク224は、コンピューティングデバイスとネットワークとの間の情報及びデータ交換を容易にさせることができる。1つ又は複数のサーバ230が外部ネットワーク224と通信するものとしてもよい。
【0020】
コンピューティングシステム202は、デジタル及び/又はアナログの入力及び出力を提供するように構成され得る入力/出力(I/O)インタフェース220を含み得る。I/Oインタフェース220は、内部ストレージと外部入力及び/又は出力デバイス(例えば、HMIデバイス)との間で情報を転送するために使用される。I/Oインタフェース220は、プロセッサ及びストレージに対して、又は、それらの間で情報を転送するための関連付けされた回路又はBUSネットワークを含み得る。例えば、I/Oインタフェース220は、プロセッサによって読み取り又は設定され得るデジタルI/O論理線路、I/O線路を介したデータ転送を監視するためのハンドシェーク線路、タイミング及びカウント設備、並びに、そのような機能を提供することが既知である他の構造部を含み得る。入力デバイスの例には、キーボード、マウス、センサなどが含まれる。出力デバイスの例には、モニタ、プリンタ、スピーカなどが含まれる。I/Oインタフェース220は、外部デバイスと通信するための付加的なシリアルインタフェース(例えば、ユニバーサルシリアルバス(USB)インタフェース)を含み得る。I/Oインタフェース220は、(センサなどの外部入力からのデータを転送するという意味において)入力インタフェース又は(ディスプレイなどの外部出力にデータを転送するという意味において)出力インタフェースと称することができる。入力インタフェースに入力を提供するセンサは、カメラ、レーダセンサ、LiDARセンサ、超音波センサ、モーションセンサなどであるものとしてよい。
【0021】
コンピューティングシステム202は、システム200が制御入力を受信できるようにする任意のデバイスを含み得るヒューマンマシンインタフェース(HMI)デバイス218を含み得る。入力デバイスの例には、キーボード、マウス、タッチスクリーン、音声入力デバイス、及び、他の同様のデバイスなどのヒューマンインタフェース入力が含まれ得る。コンピューティングシステム202は、表示装置232を含み得る。コンピューティングシステム202は、グラフィックス及びテキスト情報を表示装置232に出力するためのハードウェア及びソフトウェアを含み得る。表示装置232は、電子表示スクリーン、プロジェクタ、プリンタ、又は、ユーザ若しくはオペレータに情報を表示するための他の適当なデバイスを含み得る。コンピューティングシステム202は、ネットワークインタフェースデバイス222を介してリモートHMI及びリモート表示装置との対話を可能にするようにさらに構成されるものとしてよい。
【0022】
システム200は、1つ又は複数のコンピューティングシステムを使用して実装されるものとしてよい。この例は、記載された特徴のすべてを実装する単一のコンピューティングシステム202を示しているが、様々な特徴及び機能が、相互に通信する複数のコンピューティングユニットによって分離され実装されるものとしてよいことが意図されている。選択される特定のシステムアーキテクチャは、様々な要因に依存し得る。
【0023】
システム200は、生のソースデータセット216を分析するように構成された機械学習アルゴリズム210を実装することができる。この生のソースデータセット216は、機械学習システムのための入力データセットを表し得る生の又は処理されていないセンサデータを含み得る。この生のソースデータセット216は、ビデオ、ビデオセグメント、画像、テキストに基づく情報、音響又は音声、時系列データ(経時的な圧力センサ信号など)、及び、生の又は部分的に処理されたセンサデータ(例えば、対象のレーダマップ)を含み得る。入力のいくつかの異なる例は、
図5乃至
図11を参照して示され、説明される。いくつかの例においては、機械学習アルゴリズム210は、予め定められた機能を実行するように設計されたニューラルネットワークアルゴリズム(例えば、ディープニューラルネットワーク、分類器)であるものとしてよい。例えば、ニューラルネットワークアルゴリズムは、画像内の歩行者、車両、道路標識、建物などの対象を識別するための自動車用途向けに構成されるものとしてよい。機械学習アルゴリズム210は、本明細書に記載されるモデルを動作させるように構成されたアルゴリズムを含み得る。
【0024】
コンピュータシステム200は、機械学習アルゴリズム210用のトレーニングデータセット212を格納することができる。このトレーニングデータセット212は、機械学習アルゴリズム210をトレーニングするために先に構築されたデータのセットを表すことができる。トレーニングデータセット212は、ニューラルネットワークアルゴリズムに関連付けられた重み係数を学習するための機械学習アルゴリズム210によって使用されるものとしてよい。トレーニングデータセット212は、機械学習アルゴリズム210が学習プロセスを介して複製することを試みる対応する成果又は結果を有するソースデータのセットを含み得る。
【0025】
機械学習アルゴリズム210は、入力としてトレーニングデータセット212を使用する学習モードで動作されるものとしてよい。この機械学習アルゴリズム210は、トレーニングデータセット212からのデータを使用して複数の反復にわたって実行されるものとしてよい。各反復を用いることにより、機械学習アルゴリズム210は、達成された結果に基づいて内部重み付け係数を更新することができる。例えば、機械学習アルゴリズム210は、出力結果(例えば、画像データが入力である場合、再構成又は補足された画像)をトレーニングデータセット212に含まれる結果と比較することができる。トレーニングデータセット212は、予想される結果を含むため、機械学習アルゴリズム210は、許容可能な性能であるときを決定することができる。機械学習アルゴリズム210が予め定められた性能レベル(例えば、トレーニングデータセット212に関連付けられた結果と100%一致するレベル)又は収束に達した後、機械学習アルゴリズム210は、トレーニングデータセット212にないデータを使用して実行されるものとしてよい。本開示において、「収束」とは、設定された(例えば、予め定められた)反復の数が発生したこと、又は、残差が十分に小さいこと(例えば、反復にわたって近似確率における変化が閾値未満の変化であること)、又は、他の収束条件であることを意味し得ることを理解されたい。トレーニングされた機械学習アルゴリズム210は、注釈付きデータを生成する新しいデータセットに適用されるものとしてよい。
【0026】
機械学習モデルの上記の説明と、そのモデルを実行するように構成された
図1乃至
図2の構造例とを考慮すると、
図3は、ロングテール分類用のマルチ教師グループ蒸留のためのシステムを含む、分類器モデルをトレーニングするためのフレームワークを示している。特に、
図3Aは、分類器及び基幹特徴抽出器モデルのトレーニングを示している。最初に、トレーニングデータが特徴抽出器基幹モデルと分類器モデルとを使用して複数のクラスに分類される。次いで、
図3Bに示されているように、データの複数のクラスが、クラスの数を含む各グループを用いてグループ分けされる。次いで、
図3Cに示されているように、教師モデルがグループのそれぞれ1つに割り当てられる。各教師モデルは、基幹特徴抽出器モデルとそれぞれのグループにおけるデータとを用いてトレーニングされる。次いで、各教師モデルの出力は、トレーニングされたクラス予測モデルの作成のために集約又は結合される。
図3D及び
図3Eは、そのように実行する2つの異なる実施形態を示している。
図3Dにおいては、システムは、各教師モデルの出力に不確実性スコアを割り当て、最終クラス予測モデルは、この不確実性スコアに基づいて入力データを分類する。
図3Eにおいては、システムは、教師モデルの出力から学習できる生徒モデルをトレーニングする。
図3Aに示されている分類器は、
図3D又は
図3Eのいずれかの出力に基づいてトレーニングされ、その結果、トレーニングされたクラス予測モデルとなる。これらの図面の各々についての付加的な詳細は以下に提供される。
【0027】
図3A乃至
図3Eに示されている様々なプロセスは、本明細書に記載されるプロセッサ及びメモリによって実行することが可能である。
【0028】
図3Aを参照すれば、最初に、全ネットワークが、データセットからの共通知識を活用するために、インスタンス均衡データセット上で事前トレーニングされる。データセットからの付加的なコンテキストの学習のために、事前トレーニング目標には、クロスエントロピー分類損失とともに自己教師あり対比学習タスクも統合される。そのようなインスタンス均衡データについての対比事前トレーニングのアプローチは、ロングテールデータセットからグローバルコンテキストを抽出することができる。このフレームワークは、不均衡の問題を十分に低減するために行われる。この段階の後、事前トレーニングされた基幹とそれに続く分類器モデルとが後続の段階で利用可能になる。
【0029】
入力データは、例えば、カメラ若しくは他の画像センサ、又は、本明細書に記載される他のセンサから受信した生の画像データであり得る。図示された基幹は、データを分類できるようにデータから特徴を抽出するように構成されたトレーニング可能な特徴抽出器である。例えば、基幹は、画像内の道路標識の所定の形状、輪郭、及び/又は、色を認識するようにトレーニングすることができ、それによって、その輪郭内の画素が分類器によって道路標識として分類することができるようになる。より深い層においては、基幹は、道路標識内の特徴を抽出することができ、それによって、分類器は、道路標識のタイプが何であるのか(例えば、一時停止標識、速度制限標識など)を正確に分類することができるようになる。
【0030】
生のデータは、結果としてクラスの数Nが提供されるように分類器によって分類される。ただし、n
iは、i番目のクラス内のサンプルの数を表す。各クラス内のサンプルの数n
iは、クラスのロングテール分布の場合など大幅に異なる可能性がある。これは、
図3Aの概略図によって表されおり、ここでは、データの各バーは、そのクラス内のサンプルの数n
iを伴う特定のクラスを表している。
【0031】
メジャークラスとマイナークラスとの間の著しい不均衡は、マイナークラスの大幅なアップサンプリング又はメジャークラスの大幅なダウンサンプリングを必要とする。このジレンマを解決するために、データグループ分割プロセスが
図3Bに示されており、ここでは、データのクラスがグループ分けされている。一実施形態においては、このグループ分けは、クラスを複数のグループに分割するのに非常に効果的であり得る予め定められた不均衡比率に基づかせることができる。不均衡係数がrの場合、グループiの最大クラスn
L
iと最小クラスn
S
iとの間のサンプルの比率は、次式、
n
L
i/n
S
i≦r
のようにr以下にすべきであろう。したがって、各グループについてのデータ不均衡は、(i)最大のインスタンスの数を有するクラスにおけるインスタンスの数と、(ii)最小のインスタンスの数を有するクラスにおけるインスタンスの数との間の比率に基づいて制御することができる。次いで、この比率は、
図3Cで利用される教師の数を定めることができる。
【0032】
図3Cを参照すれば、この段階では、教師モデルは、サンプルのそれぞれのグループ上で各々トレーニングされる。各グループには1つの教師モデルが割り当てられている。全データセットから抽出された知識を組み込むために、基幹ネットワークは、インスタンス均衡データについて事前トレーニングされたモデル(
図3A)から直接組み込まれる。データセットの特定のセグメントに合わせた調整のために、別個の分類器モジュールが教師の各々に組み込まれている。この段階では、分類器モジュールのみがトレーニングされているが、基幹モジュールは、全データセットについての事前トレーニング知識の保全のため各教師ネットワーク内でフリーズされたまま保持される。
【0033】
その上さらに、各グループについて不均衡に対処するために、クラス均衡化サンプリングをマイナークラスのオーバーサンプリングによって組み込むことができる。例えば、各グループ内において、インスタンスのより少ないクラスをアップサンプリングし、それによって、(データインスタンスの網掛け部分によって示されているように)このグループ内の各クラスが類似するようにすることもできる。これは、グループ内のインスタンスにおいてクラスが均衡するか実質的に類似するように、いくつかのクラスでデータを複製することによって実行されるものとしてもよい。各グループにおける不均衡は、全データセットよりも深刻ではないため、そのようなデータ増補は、その続の複雑さを大幅に低減する。
【0034】
次いで、
図3Cの各教師モデルのクラス予測出力はともに併合され、その結果、最終クラス予測モデルとなる。これを達成するために、本明細書においては、
図3D及び
図3Eに示されているように2つのアプローチが開示されている。
【0035】
図3Dは、教師モデルを併合する第1のアプローチを示している。この実施形態によれば、これらの教師モデルは、分類器重み付けの集約により統一されたネットワークに併合される。分類器重み付けは、信頼スコアを含むものとしてよく、又は、信頼スコアに基づくものとしてよい。
【0036】
最初に、データは特徴抽出器基幹モデルを通過する。すべての教師は共通の基幹を共有しているため、この特徴抽出器基幹モデルは、教師から直接継承してフリーズさせることができる。その後、各教師からの分類器重みが集約され、それによって、システムが基幹ネットワークから抽出された特徴について異なる予測セットを抽出することができるようになる。
【0037】
各教師モデルは入力データを処理し、信頼スコアとともにクラスを予測する。したがって、現下で
図3Dに入力されているデータを用いて先にトレーニングされた教師モデルは、結果として最も低い不確実性スコアとなるべきであり、したがって、より重く重み付けされるべきであろう。換言すれば、不確実性に基づく選択は、最も信頼性の高いクラス予測を推定する異なる教師の分類器の予測について行われる。すべての分類器は、異なるクラスに対処する特定のグループのためにトレーニングされるので、各分類器は、特にそれがトレーニングされたクラスのために、他の分類器よりも信頼性の高いことが予想される。一実施形態によれば、エントロピーに基づく不確実性推定が、各分類器の予測に基づいて提供され、最も確実なクラス予測が分離される。したがって、分類器kの不確実性Uは次式、
【数1】
によって与えられる。ただし、X(i)は、クラスiの予測確率を表す。これらの不確実性推定を用いることにより、最終クラス予測モデルが提供され、これは新規(未確認)データについて最終クラス予測を出力するように構成されている。
【0038】
図3Dの最初のアプローチは、大量の処理能力とメモリ要件とを要求する場合がある。それゆえ、
図3Eは、マルチ教師知識を統一されたネットワークに統合する第2のアプローチを表す。ここでは、選択的特徴蒸留が使用される。全データセットについてのトレーニングの別の段階は、入力データセット全体にわたるクラス均衡化サンプリングを用いて提供される。換言すれば、データ全体がクラス均衡化されており、そこでは、各クラスがデータの最大サンプルと同様又は同等の大きさまでアップサンプリングされる。これも、例えば、そのクラス内のデータインスタンスの複製によって提供することができる。均衡化された場合には、特定のグループに対応するデータ(例えば、
図3Bにおいてグループ分けされたデータ)は、分割され、又は、それぞれの教師モデルに導かれ、そこでソフトクラス予測(例えば、
図3Cのクラス予測)が抽出される。一方、生徒モデルは、教師モデルの出力を模倣するようにトレーニングされる。この生徒モデルは、その予測とそれぞれの教師予測との間のカルバックライブラー発散損失を最小限に抑制するようにトレーニングされている。各教師は利用可能なすべてのグループサンプルを利用して特定のグループについて最適化されるため、そのようなアプローチは、全データセットについてのすべての教師の知識の併合に生徒モデルを導く。この実施形態においては、生徒モデルのみがこの段階においてトレーニングされ(すなわち、教師モデルがフリーズされ)、教師モデルからのすべての知識を統合するための推論に使用されることに留意されたい。もちろん、図示されていない他の実施形態においては、教師モデルは、生徒モデルと同時にトレーニング又は他の手法により改善することができる。
【0039】
図4は、一実施形態による、
図3のマルチ教師分類システムを実装するための方法のフローチャートである。ステップ402においては、入力データ(例えば、画像データなど)が1つ又は複数のプロセッサによって受信される。この入力データは、本明細書に記載される1つ又は複数のセンサ(例えば、カメラ)から生じ得る。ステップ404においては、1つ又は複数のプロセッサは、特徴抽出器基幹モデルと分類器モデルとを使用して、入力データを複数のクラスに分類する。
図3Aを参照。ステップ406においては、データの複数のクラスが、複数のグループにグループ分けされ、各グループは制御可能なクラスの数を含む。
図3Bを参照。グループごとのクラスの数は、(i)最大のインスタンスの数を有するクラスにおけるインスタンスの数と、(ii)最小のインスタンスの数を有するクラスにおけるインスタンスの数との比率に基づいて制御されるものとしてよい。ステップ408においては、1つ又は複数のプロセッサが、グループのそれぞれ1つに割り当てられる教師モデルの1つを用いて複数の教師モデルをグループに割り当てる。ステップ410においては、1つ又は複数のプロセッサが、それぞれのグループ内のデータ及びステップ404からの特徴抽出器基幹モデルを用いて各教師モデルをトレーニングする。
図3Cを参照。ステップ412においては、教師モデルの出力が、改善された分類モデルを表す最終クラス予測モデルに併合される。これらの教師モデルの併合は、それぞれ
図3D及び
図3Eを参照して上記で説明した2つの例示的なアプローチに従って行うことができる。
【0040】
本明細書に記載される機械学習モデルは、対象の認識及び分類の文脈内で多くの異なる用途向けに使用することができる。上述したように、本システムは、入力データが車両の1つ又は複数のカメラからの画像データである半自律型車両又は完全自律型車両に実装されるものとしてよく、ただし、これらのモデルは、歩行者、道路標識などの対象を分類するように構成されている。これらのモデルが使用されるものとしてよい付加的な用途は、
図6乃至
図11に示されており、それらは以下において説明する。さらに、これらの用途(及び他の用途)のための機械学習モデル(例えば、分類器)をトレーニングして使用するために使用される構造が、
図5に例示されている。
【0041】
図5は、コンピュータ制御された機械500と制御システム502との間の対話の概略図を示し、このシステムは、
図6乃至
図11に示されている状況において対象を分類するときに利用されるものとしてよい。
【0042】
コンピュータ制御された機械500は、アクチュエータ504及びセンサ506を含む。アクチュエータ504は、1つ又は複数のアクチュエータを含み得るものであり、センサ506は、1つ又は複数のセンサを含み得る。センサ506は、コンピュータ制御された機械500の状態を感知するように構成されている。センサ506は、感知された状態をセンサ信号508に符号化し、このセンサ信号508を制御システム502に伝送するように構成されるものとしてよい。センサ506の非限定的な例には、ビデオ、レーダ、LiDAR、超音波及びモーションセンサが含まれる。一実施形態においては、センサ506は、コンピュータ制御された機械500に近接する環境の光学的画像を感知するように構成された光学的センサである。
【0043】
制御システム502は、コンピュータ制御された機械500からセンサ信号508を受信するように構成されている。以下に説明するように、制御システム502は、センサ信号に依存してアクチュエータ制御コマンド510を計算し、このアクチュエータ制御コマンド510をコンピュータ制御された機械500のアクチュエータ504に伝送するようにさらに構成されるものとしてよい。
【0044】
図5に示されているように、制御システム502は受信ユニット512を含む。受信ユニット512は、センサ506からセンサ信号508を受信し、このセンサ信号508を入力信号xに変換するように構成されるものとしてよい。代替的な実施形態においては、センサ信号508は、受信ユニット512なしで入力信号xとして直接的に受信される。各入力信号xは、各センサ信号508の一部であるものとしてもよい。受信ユニット512は、各センサ信号508を処理して各入力信号xを生成するように構成されるものとしてよい。入力信号xは、センサ506によって記録された画像に対応するデータを含み得る。
【0045】
制御システム502は、分類器514を含む。この分類器514は、上述したニューラルネットワークなどの機械学習アルゴリズムを使用して、入力信号xを1つ又は複数のラベルに分類するように構成されるものとしてよい。分類器514は、上述したもの(例えば、パラメータθ)などのパラメータによってパラメータ化されるように構成されている。パラメータθは、不揮発性ストレージ516に格納され、不揮発性ストレージ516によって提供されるものとしてよい。分類器514は、入力信号xから出力信号yを決定するように構成されている。各出力信号yは、各入力信号xに1つ又は複数のラベルを割り当てる情報を含む。分類器514は、出力信号yを変換ユニット518に伝送することができる。変換ユニット518は、出力信号yをアクチュエータ制御コマンド510に変換するように構成されている。制御システム502は、アクチュエータ制御コマンド510をアクチュエータ504に伝送するように構成されており、アクチュエータ504は、アクチュエータ制御コマンド510に応じてコンピュータ制御された機械500を動作させるように構成されている。他の実施形態においては、アクチュエータ504は、直接的に出力信号yに基づいてコンピュータ制御された機械500を動作させるように構成されている。
【0046】
アクチュエータ504によってアクチュエータ制御コマンド510が受信されると、アクチュエータ504は、関連するアクチュエータ制御コマンド510に対応する動作を実行するように構成されている。アクチュエータ504は、アクチュエータ制御コマンド510を、アクチュエータ504の制御のために利用される第2のアクチュエータ制御コマンドに変換するように構成された制御ロジックを含み得る。1つ又は複数の実施形態においては、アクチュエータ制御コマンド510は、アクチュエータの代わりに又はアクチュエータに加えて、ディスプレイを制御するために利用されるものとしてよい。
【0047】
他の実施形態においては、制御システム502は、センサ506を含むコンピュータ制御された機械500の代わりに、又は、センサ506を含むコンピュータ制御された機械500に加えて、センサ506を含む。制御システム502は、アクチュエータ504を含むコンピュータ制御された機械500の代わりに、又は、アクチュエータ504を含むコンピュータ制御された機械500に加えて、アクチュエータ504も含み得る。
【0048】
図5に示されているように、制御システム502は、プロセッサ520及びメモリ522も含む。プロセッサ520は、1つ又は複数のプロセッサを含み得る。メモリ522は、1つ又は複数のメモリデバイスを含み得る。1つ又は複数の実施形態の分類器514(例えば、
図3に示されている分類器又はクラス予測)は、不揮発性ストレージ516、プロセッサ520及びメモリ522を含む制御システム502によって実装されるものとしてよい。
【0049】
不揮発性ストレージ516は、ハードドライブ、光学的ドライブ、テープドライブ、不揮発性ソリッドステートデバイス、クラウドストレージ、又は、情報を永続的に格納し得る任意の他のデバイスなどの1つ又は複数の永続的データストレージデバイスを含み得る。プロセッサ520は、高性能コア、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、マイクロコンピュータ、中央処理ユニット、フィールドプログラマブルゲートアレイ、プログラマブルロジックデバイス、ステートマシン、論理回路、アナログ回路、デジタル回路、又は、メモリ522内に常駐するコンピュータ実行可能命令に基づいて信号(アナログ若しくはデジタル)を操作する任意の他のデバイスを含む高性能コンピューティング(HPC)システムから選択される1つ又は複数のデバイスを含み得る。メモリ522は、ランダムアクセスメモリ(RAM)、揮発性メモリ、不揮発性メモリ、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、キャッシュメモリ、又は、情報を格納し得る任意の他のデバイスを含むがこれらに限定されるものではない単一のメモリデバイス若しくは複数のメモリデバイスを含み得る。
【0050】
プロセッサ520は、不揮発性ストレージ516に常駐し、1つ又は複数の実施形態の1つ又は複数の機械学習アルゴリズム及び/又は方法論を具体化するコンピュータ実行可能命令をメモリ522に読み込んで実行するように構成されるものとしてよい。不揮発性ストレージ516は、1つ又は複数のオペレーティングシステムとアプリケーションとを含み得る。不揮発性ストレージ516は、Java、C、C++、C#、Objective C、Fortran、Pascal、JavaScript、Python、Perl及びPL/SQLを含むがこれらに限定されるものではない、単独又は組合せにおける様々なプログラミング言語及び/又は技術を使用して作成されたコンピュータプログラムからコンパイル及び/又は解釈されたものを格納することができる。
【0051】
プロセッサ520によって実行されると、不揮発性ストレージ516のコンピュータ実行可能命令は、制御システム502に、本明細書に開示される機械学習アルゴリズム及び/又は方法論の1つ又は複数を実装させることができる。不揮発性ストレージ516は、本明細書に記載される1つ又は複数の実施形態の機能、特徴及びプロセスを支援する機械学習データ(データパラメータを含む)も含み得る。
【0052】
本明細書に記載されるアルゴリズム及び/又は方法論を具体化するプログラムコードは、様々な異なる形態のプログラム製品として個別に又は一括して配布することができる。プログラムコードは、プロセッサに1つ又は複数の実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を使用して配布されるものとしてよい。本質的に非一時的なコンピュータ可読ストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は、他のデータなどの情報を格納するための任意の方法若しくは技術により実装された揮発性及び不揮発性で、着脱可能及び着脱不可能な有形媒体を含み得る。コンピュータ可読ストレージ媒体は、RAM、ROM、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ若しくは他のソリッドステートメモリ技術、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、又は、他の光学的ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は、所望の情報を格納するために使用可能であり、コンピュータによって読み取り可能な任意の他の媒体をさらに含み得る。コンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からコンピュータ、別のタイプのプログラマブルデータ処理装置若しくは別のデバイスにダウンロードされるものとしてもよいし、又は、ネットワークを介して外部コンピュータ若しくは外部ストレージデバイスにダウンロードされるものとしてもよい。
【0053】
コンピュータ可読媒体に格納されたコンピュータ可読プログラム命令は、コンピュータ、他のタイプのプログラマブルデータ処理装置又は他のデバイスが特定の態様により機能するように命令するために使用されるものとしてよく、それによって、コンピュータ可読媒体に格納された命令は、フローチャート又は図において特定された機能、行為及び/又は動作を実装する命令を含む製造品を生成する。所定の代替的実施形態においては、フローチャート及び図において特定された機能、行為及び/又は動作は、1つ又は複数の実施形態と一致して、並べ替えられ、逐次的に処理され、及び/又は、同時に処理されるものとしてよい。その上さらに、フローチャート及び/又は図のいずれも、1つ又は複数の実施形態と一致して図示されたものよりも多い又は少ないノード又はブロックを含み得る。
【0054】
プロセス、方法又はアルゴリズムは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ステートマシン、コントローラ、又は、他のハードウェアコンポーネント若しくはデバイス、又は、ハードウェア、ソフトウェア及びファームウェアコンポーネントの組合せなどの適当なハードウェアコンポーネントを使用して全体的に又は部分的に実現することができる。
【0055】
図6は、車両600を制御するように構成された制御システム502の概略図を示している。この車両600は、少なくとも部分的に自律的な車両又は少なくとも部分的に自律的なロボットであるものとしてよい。車両600は、アクチュエータ504及びセンサ506を含む。センサ506は、1つ又は複数のビデオセンサ、カメラ、レーダセンサ、超音波センサ、LiDARセンサ、及び/又は、位置センサ(例えば、GPS)を含み得る。1つ又は複数の特定のセンサのうちの1つ又は複数は、車両600に統合されるものとしてよい。本明細書に記載される対象認識及び処理の文脈においては、センサ506は、車両600に取り付けられた又は車両600に統合されたカメラである。上記で識別された1つ又は複数の特定のセンサに対して代替的又は付加的にセンサ506は、実行時にアクチュエータ504の状態を決定するように構成されたソフトウェアモジュールを含み得る。
【0056】
車両600の制御システム502の分類器514は、入力信号xに依存して車両600の近くの対象を検出するように構成されるものとしてよい。そのような実施形態においては、出力信号yは、車両600に対する対象の近傍を特徴付ける情報を含み得る。アクチュエータ制御コマンド510は、この情報に従って決定されるものとしてよい。
【0057】
車両600が少なくとも部分的に自律的な車両である実施形態においては、アクチュエータ504は、車両600のブレーキ、推進システム、エンジン、ドライブトレイン又は操舵部において具現化されるものとしてよい。アクチュエータ制御コマンド510は、車両600が検出された対象との衝突を回避するようにアクチュエータ504が制御されるように決定されるものとしてもよい。検出された対象は、分類器514が、歩行者や樹木などの可能性が最も高いとみなすことに従って分類されるものとしてもよい。アクチュエータ制御コマンド510は、分類に依存して決定されるものとしてよい。敵対的な攻撃が発生する可能性があるシナリオにおいては、上述したシステムは、対象をより良好に検出したり、又は、車両600上のセンサ若しくはカメラのための照明条件若しくは角度の変化を識別したりするようにさらにトレーニングされるものとしてもよい。
【0058】
車両600が少なくとも部分的に自律的なロボットである他の実施形態においては、車両600は、飛行、水泳、ダイビング及びステッピングなどの1つ又は複数の機能を実行するように構成された移動型ロボットであるものとしてよい。この移動型ロボットは、少なくとも部分的に自律的な芝刈り機又は少なくとも部分的に自律的な掃除ロボットであるものとしてもよい。そのような実施形態においては、アクチュエータ制御コマンド510は、移動型ロボットが識別した対象との衝突を回避できるように、移動型ロボットの推進ユニット、操舵ユニット、及び/又は、ブレーキユニットが制御され得るように決定されるものとしてよい。
【0059】
他の実施形態においては、車両600は、園芸ロボットの形態の少なくとも部分的に自律的なロボットである。そのような実施形態においては、車両600は、車両600のすぐ近くの環境における植物の状態を決定するために、センサ506として光学的センサを使用することができる。アクチュエータ504は、化学薬品を噴霧するように構成されたノズルであるものとしてもよい。植物の識別された種及び/又は識別された状態に依存して、アクチュエータ制御コマンド510は、アクチュエータ504に、適当な量の適当な化学薬品を植物に噴霧させるように決定されるものとしてよい。
【0060】
車両600は、家庭用電化製品の形態の少なくとも部分的に自律的なロボットであるものとしてよい。家庭用電化製品の非限定的な例には、洗濯機、コンロ、オーブン、電子レンジ、又は、食器洗浄機が含まれる。そのような車両600においては、センサ506は、家庭用電化製品による処理を受ける対象の状態を検出するように構成された光学的センサであるものとしてよい。例えば、家庭用電化製品が洗濯機である場合、センサ506は洗濯機内の洗濯物の状態を検出することができる。アクチュエータ制御コマンド510は、洗濯物の検出された状態に基づいて決定されるものとしてよい。
【0061】
図7は、生産ラインの一部などの製造システム702の、パンチカッタ、カッタ又はガンドリルなどのシステム700(例えば、製造機械)を制御するように構成された制御システム502の概略図を示している。この制御システム502は、システム700(例えば、製造機械)を制御するように構成されたアクチュエータ504を制御するように構成されるものとしてよい。
【0062】
システム700(例えば、製造機械)のセンサ506は、製造された製品704の1つ又は複数の特性を捕捉するように構成された光学的センサであるものとしてよい。分類器514は、1つ又は複数の捕捉された特性から、製造された製品704の状態を決定するように構成されるものとしてよい。アクチュエータ504は、製造された製品704の後続の製造ステップのために、製造された製品704の決定された状態に依存してシステム700(例えば、製造機械)を制御するように構成されるものとしてよい。アクチュエータ504は、製造された製品704の決定された状態に依存してシステム700(例えば、製造機械)の後続の製造された製品706へのシステム700(例えば、製造機械)の機能を制御するように構成されるものとしてよい。
【0063】
図8は、少なくとも部分的に自律的なモードを有する電動ドリル又はドライバなどの電動工具800を制御するように構成された制御システム502の概略図を示している。この制御システム502は、電動工具800を制御するように構成されたアクチュエータ504を制御するように構成されるものとしてよい。
【0064】
電動工具800のセンサ506は、作業面802、及び/又は、作業面802に締め込まれる締結具804の、1つ又は複数の特性を捕捉するように構成された光学的センサであるものとしてもよい。分類器514は、1つ又は複数の捕捉された特性から作業面802に対する作業面802及び/又は締結具804の状態を決定するように構成されるものとしてよい。この状態は、締結具804が作業面802と面一であることであるものとしてよい。代替的にこの状態は、作業面802の硬さであるものとしてもよい。アクチュエータ504は、電動工具800の駆動機能が、作業面802に対して決定された締結具804の状態に依存して、あるいは1つ又は複数の捕捉された作業面802の特性に依存して調整されるように電動工具800を制御するように構成されるものとしてよい。例えば、アクチュエータ504は、締結具804の状態が作業面802に対して面一である場合に、駆動機能を中止することができる。他の非限定的な例として、アクチュエータ504は、作業面802の硬さに依存して付加的なトルクを印加することも、あるいはより少ないトルクを印加することも可能である。
【0065】
図9は、自動化されたパーソナルアシスタント900を制御するように構成された制御システム502の概略図を示している。この制御システム502は、自動化されたパーソナルアシスタント900を制御するように構成されたアクチュエータ504を制御するように構成されるものとしてよい。自動化されたパーソナルアシスタント900は、洗濯機、コンロ、オーブン、電子レンジ又は食器洗浄機などの家庭用電化製品を制御するように構成されるものとしてよい。
【0066】
センサ506は、光学的センサ及び/又は音響的センサであるものとしてもよい。光学的センサは、ユーザ902のジェスチャ904のビデオ画像を受信するように構成されるものとしてよい。音響的センサは、ユーザ902の音声コマンドを受信するように構成されるものとしてよい。
【0067】
自動化されたパーソナルアシスタント900の制御システム502は、このシステム502を制御するように構成されたアクチュエータ制御コマンド510を決定するように構成されるものとしてよい。制御システム502は、センサ506のセンサ信号508に従ってアクチュエータ制御コマンド510を決定するように構成されるものとしてよい。自動化されたパーソナルアシスタント900は、センサ信号508を制御システム502に伝送するように構成されている。制御システム502の分類器514は、ジェスチャ認識アルゴリズムを実行して、ユーザ902によって行われたジェスチャ904を識別し、アクチュエータ制御コマンド510を決定し、さらにこのアクチュエータ制御コマンド510をアクチュエータ504に伝送するように構成されるものとしてよい。分類器514は、ジェスチャ904に応じて不揮発性ストレージから情報を取得し、取得した情報をユーザ902が受信するのに適した形態で出力するように構成されるものとしてよい。
【0068】
図10は、監視システム1000を制御するように構成された制御システム502の概略図を示している。この監視システム1000は、ドア1002を通るアクセスを物理的に制御するように構成されるものとしてよい。センサ506は、アクセスが許可されるか否かの決定において関連するシーンを検出するように構成されるものとしてよい。センサ506は、画像及び/又はビデオデータを生成し伝送するように構成された光学的センサであるものとしてよい。そのようなデータは、人の顔を検出するために制御システム502によって使用されるものとしてよい。
【0069】
監視システム1000の制御システム502の分類器514は、不揮発性ストレージ516に格納された既知の人物の身元を照合することによって画像及び/又はビデオデータを解釈し、それによって人物の身元を決定するように構成されるものとしてよい。分類器514は、画像及び/又はビデオデータの解釈に応じてアクチュエータ制御コマンド510を生成するように構成されるものとしてよい。制御システム502は、アクチュエータ制御コマンド510をアクチュエータ504に伝送するように構成されている。この実施形態においては、アクチュエータ504は、アクチュエータ制御コマンド510に応じてドア1002をロック又はロック解除するように構成されるものとしてよい。他の実施形態においては、非物理的、論理的アクセス制御も可能である。
【0070】
監視システム1000は、見張りシステムであるものとしてもよい。そのような実施形態においては、センサ506は、監視下にあるシーンを検出するように構成された光学的センサであるものとしてよく、さらに制御システム502は、ディスプレイ1004を制御するように構成されている。分類器514は、シーンの分類、例えば、センサ506によって検出されたシーンが不審であるか否かを決定するように構成されている。制御システム502は、分類に応じてアクチュエータ制御コマンド510をディスプレイ1004に伝送するように構成されている。ディスプレイ1004は、アクチュエータ制御コマンド510に応じて表示された内容を調整するように構成されるものとしてよい。例えば、ディスプレイ1004は、分類器514によって不審とみなされた対象を強調することができる。開示されたシステムの実施形態を利用することにより、見張りシステムは、将来の所定の時点に対象が現れることを予測することができる。
【0071】
図11は、例えばMRI装置、X線撮像装置又は超音波装置などの撮像システム1100を制御するように構成された制御システム502の概略図を示している。センサ506は、例えば、画像センサであるものとしてもよい。分類器514は、感知された画像の全部又は一部の分類を決定するように構成されるものとしてよい。分類器514は、トレーニングされたニューラルネットワークによって取得された分類に応じて、アクチュエータ制御コマンド510を決定又は選択するように構成されるものとしてよい。例えば、分類器514は、感知された画像の領域が潜在的に異常であると解釈することができる。この場合、アクチュエータ制御コマンド510は、ディスプレイ1102に撮像を表示させ、潜在的な異常領域を強調させるように決定又は選択されるものとしてよい。
【0072】
例示的な実施形態が上記で説明されているが、これらの実施形態は、特許請求の範囲に含まれるすべての可能な形態の説明を意図したものではない。本明細書において使用される用語は、限定ではなく説明のための用語であり、本開示の精神及び範囲から逸脱することなく様々な変更を行うことが可能であることは理解されよう。先に説明したように、様々な実施形態の特徴は、明示的に説明又は図示されていないことがある本発明のさらなる実施形態を形成するために組み合わせることができる。様々な実施形態は、1つ又は複数の所望の特性に関して利点を提供するものとして、又は、他の実施形態若しくは従来技術の実装よりも好ましいものとして説明できようが、当業者であれば、特定の用途及び実装に依存する所望の全体的なシステム属性を達成するために、1つ又は複数の特徴又は特性が妥協され得ることを認識する。これらの属性には、コスト、強度、耐久性、ライフサイクルコスト、市場性、外観、パッケージング、サイズ、保守性、重量、製造可能性、組立の容易さなどが含まれ得るが、これらに限定されるものではない。このように、任意の実施形態が、1つ又は複数の特性に関して、他の実施形態又は先行技術の実装形態よりも望ましくないものとして記載されている場合において、これらの実施形態は、本開示の範囲外ではなく、特定の用途にとっては望ましい可能性がある。
【外国語明細書】