(57)【要約】  トレーニングデータを取得するためのシステム及び方法が説明される。例示的な方法は、センサを受信し、ニューラルネットワークをセンサデータに適用することを含む。センサデータについての分類器スコアを決定するために、トリガ分類器がニューラルネットワークの中間結果に適用される。分類器スコアに少なくとも部分的に基づいて、コンピュータネットワークを介してセンサデータの少なくとも一部を送信するかどうかの判断がなされる。正の判断が下されると、センサデータが送信され、トレーニングデータを生成するために使用される。【選択図】図１Ｂ
2021536072.tif 000002
【特許請求の範囲】
【請求項１】
センサデータを受信することと、
ニューラルネットワークを前記センサデータに適用することと、
前記センサデータについての分類器スコアを決定するために、トリガ分類器を前記ニューラルネットワークの中間結果に適用することと、
前記分類器スコアに少なくとも部分的に基づいて、前記センサデータの少なくとも一部をコンピュータネットワークを介して送信するかどうかを決定することと、
を含む方法。
【請求項２】
前記中間結果は前記ニューラルネットワークの中間層の出力である、請求項１に記載の方法。
【請求項３】
前記中間結果は、前記ニューラルネットワークの最後から２番目の層の出力である、請求項２に記載の方法。
【請求項４】
前記ニューラルネットワークは畳み込みニューラルネットワークである、請求項１に記載の方法。
【請求項５】
前記トリガ分類器は、前記分類器スコアを決定するために使用される前記ニューラルネットワークに基づく機械学習モデルを使用して、第２のニューラルネットワークによって少なくとも部分的に分析されるトレーニングデータセットを使用してトレーニングされる、請求項１に記載の方法。
【請求項６】
前記トリガ分類器は、入力ベクトルを使用してトレーニングされ、該入力ベクトルは、前記第２のニューラルネットワークの層の出力である、請求項５に記載の方法。
【請求項７】
前記第２のニューラルネットワークの前記層は動的に選択される、請求項６に記載の方法。
【請求項８】
前記トリガ分類器は、前記ニューラルネットワークを適用する車両に無線で送信される、請求項６に記載の方法。
【請求項９】
前記トリガ分類器は、前記ニューラルネットワークについての識別された改善の必要性に基づいて生成されている、請求項１に記載の方法。
【請求項１０】
前記トリガ分類器は、以下、すなわち、トンネルの入口、トンネルの出口、道路の分岐点、道路の障害物、道路の車線のライン、又は運転可能なスペースのうちの、１又は複数を識別するために使用される、請求項１に記載の方法。
【請求項１１】
前記分類器スコアに少なくとも部分的に基づいて、前記センサデータの少なくとも前記一部を前記コンピュータネットワークを介して送信するかどうかを前記決定することは、前記分類器スコアを閾値と比較することを含む、請求項１に記載の方法。
【請求項１２】
１又は複数の必要な条件に基づいて前記トリガ分類器を適用するかどうかを決定することをさらに含む、請求項１に記載の方法。
【請求項１３】
前記１又は複数の必要な条件は、以下、すなわち、走行時間、前記トリガ分類器の最後に保持されたセンサデータからの最小時間、自動運転機能に関連付けられた解除イベント、車種、ステアリング角度の閾値、又は道路タイプの要件のうちの、１又は複数に基づく、請求項１２に記載の方法。
【請求項１４】
前記トリガ分類器は、そこから前記中間結果を受信する、前記ニューラルネットワークの特定の層を指定する、請求項１に記載の方法。
【請求項１５】
前記センサデータの少なくとも前記一部、及び以下、すなわち、分類器スコア、位置、タイムスタンプ、道路タイプ、以前に送信されたセンサデータからの時間の長さ、又は車種のうちの、１又は複数を識別するメタデータ、を送信することをさらに含む、請求項１に記載の方法。
【請求項１６】
前記センサデータの少なくとも前記一部、及び以下、すなわち、車両の速度、車両の加速度、車両のブレーキング、又は車両のステアリング角度のうちの、１又は複数を識別する、車両の動作条件、を送信することをさらに含む、請求項１に記載の方法。
【請求項１７】
前記コンピュータネットワークを介して、重みベクトルによって表される前記トリガ分類器を受信することをさらに含む、請求項１に記載の方法。
【請求項１８】
前記トリガ分類器は、前記重みベクトル及びバイアスによって表される、請求項１７に記載の方法。
【請求項１９】
コンピュータプログラム製品であって、該コンピュータプログラム製品は、非一時的なコンピュータ可読記憶媒体において具現化され、
センサデータを受信し、
ニューラルネットワークを前記センサデータに適用し、
前記センサデータについての分類器スコアを決定するために、トリガ分類器を前記ニューラルネットワークの中間結果に適用し、及び、
前記分類器スコアに少なくとも部分的に基づいて、前記センサデータの少なくとも一部をコンピュータネットワークを介して送信するかどうかを決定する、
ためのコンピュータ命令を含む、コンピュータプログラム製品。
【請求項２０】
車両上のセンサと、
人工知能プロセッサと、
車両制御モジュールと、
画像信号プロセッサであって、
前記センサを使用してキャプチャされた画像を受信し、
該キャプチャされた画像を処理し、
該処理された画像をニューラルネットワークに提供する、ように構成された画像信号プロセッサと、
前記人工知能プロセッサと連結されたメモリであって、該メモリは、実行されたときに前記人工知能プロセッサに対して、
前記処理された画像を受信させ、
前記処理された画像に対して前記ニューラルネットワークを使用して推論を実行させ、
前記ニューラルネットワークの中間結果をトリガ分類器に提供させ、該トリガ分類器は前記キャプチャされた画像に対応する分類器スコアを決定するために使用され、及び、
前記車両を少なくとも部分的に自律的に操作するために、前記ニューラルネットワークの干渉結果を前記車両制御モジュールに提供させる、命令を前記人工知能プロセッサに提供するように構成される、メモリと、
前記分類器スコアに少なくとも部分的に基づいて、前記キャプチャされた画像の少なくとも一部を送信するように構成されたネットワークインタフェースと、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、参照によってその全体が本明細書に組み込まれる、２０１８年９月１４日に出願され、「ＮＥＵＲＡＬ  ＮＥＴＷＯＲＫ  ＴＲＡＩＮＩＮＧ」と題された、米国仮特許出願第６２／７３１，６５１号の全体を参照によって本明細書に組み込む。
【０００２】
外国又は国内の優先権主張が本出願と共に提出されたものとして出願データシートで特定されているありとあらゆる出願は、米国特許法施行規則第１．５７に基づいてその全体が参照により本明細書に組み込まれる。
【０００３】
本開示は、機械学習のためのシステム及び手法に関する。より詳細には、本開示は、トレーニングデータの生成のための手法に関する。
【背景技術】
【０００４】
自動運転などのアプリケーションに使用されるディープラーニングシステムは、機械学習モデルをトレーニングすることによって開発される。通常、ディープラーニングシステムのパフォーマンスは、モデルをトレーニングするために使用されるトレーニングセットの品質によって少なくとも部分的に制限される。多くの場合、トレーニングデータの収集、キュレーション、及びアノテーションに多大なリソースが投資される。トレーニングセットを作成するために必要とされる労力は多大なものになり得、多くの場合面倒である。さらには、機械学習モデルが改善を必要とする特定のユースケースについてのデータを収集するのは困難な場合が多い。
【図面の簡単な説明】
【０００５】
以下の図面及び関連する説明は、本開示の実施形態を示すために提供されており、特許請求の範囲を限定するものではない。本開示の態様及び付随する利点の多くは、添付の図面と併せて解釈されると、以下の詳細な説明を参照することによって同じことがよりよく理解されるようになるので、より容易に理解されるようになる。
【０００６】
【図１Ａ】道路を走行し、道路上に配置されたタイヤを検出する自動車を示す概略図である。
【０００７】
【図１Ｂ】トレーニングデータを生成するためのシステムの一実施形態を示すブロック図である。
【０００８】
【図２】機械学習モデルの中間結果にトリガ分類器を適用するためのプロセスの実施形態を示すフロー図である。
【０００９】
【図３】機械学習モデルの中間結果を使用してトリガ分類器を作成するためのプロセスの実施形態を示すフロー図である。
【００１０】
【図４】トリガ分類器を使用して潜在的なトレーニングデータを識別し、センサデータを送信するためのプロセスの実施形態を示すフロー図である。
【００１１】
【図５】トリガ分類器によって識別されたユースケースに対応するデータからトレーニングデータをデプロイするためのプロセスの実施形態を示すフロー図である。
【００１２】
【図６】車両上で分類器の選択を実行し、センサデータを送信するためのプロセスの実施形態を示すフロー図である。
【００１３】
【図７】潜在的なトレーニングデータを識別するためのディープラーニングシステムの実施形態を示すブロック図である。
【発明を実施するための形態】
【００１４】
本明細書では、１又は複数のイノベーションが説明されており、これらは、プロセスとして、装置として、システムとして、合成物として、コンピュータ可読記憶媒体上に具現化されたコンピュータプログラム製品として、及び／又は、プロセッサに連結されたメモリ上に格納され及び／又はそれによって提供される、命令を実行するように構成されたプロセッサなどのプロセッサとして、を含む多くの方法で実施されることができる。本明細書では、これらの実施態様、又は、イノベーションがとり得る任意の他の形式は、手法と称され得る。一般に、開示されたプロセスのステップの順序は、イノベーションの範囲内で変更され得る。別途明記されない限り、タスクを実行するように構成されていると説明されるプロセッサ又はメモリなどのコンポーネントは、所与の時間においてそのタスクを実行するように一時的に構成される汎用コンポーネント、又はそのタスクを実行するように製造された特定のコンポーネント、として実施され得る。本明細書において使用される場合、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１又は複数のデバイス、回路、及び／又は処理コアを指す。
【００１５】
１又は複数のイノベーションの１又は複数の実施形態の詳細な説明が、イノベーションの原理を示す添付の図と共に以下に提供される。イノベーションは、こうした実施形態に関連して説明されるが、イノベーションは、いかなる実施形態にも限定されない。イノベーションの範囲は特許請求の範囲によってのみ制限され、イノベーションには多数の代替形態、修正形態、及び等価形態を含む。イノベーションの完全な理解を提供するために、以下の説明において多くの具体的な詳細が述べられる。これらの詳細は例示の目的で提供されており、イノベーションは、これらの特定の詳細の一部又はすべてがなしに、特許請求の範囲に従って実践され得る。分かりやすくするために、イノベーションが不必要に不明瞭になることがないように、イノベーションに関連する技術分野において知られている技術資料は詳細に説明されていない。
【００１６】
導入
本明細書は、少なくとも、以下の技術的問題に対処するイノベーションについて説明する。効果的な機械学習手法は、基礎となる機械学習モデルに情報を提供するために使用されるトレーニングデータセットに依存する。たとえば、ニューラルネットワークは、数千、数十万、数百万などの例を使用してトレーニングされ得る。トレーニング中、これらの例は、ニューラルネットワークのパラメータ（たとえば、重み、バイアスなど）を調整するために使用され得る。さらに、これらの例は、ニューラルネットワークのハイパーパラメータ（たとえば、いくつかの層）を調整するために使用され得る。このように、トレーニングデータへのアクセスは、こうした機械学習手法の使用に対する制約である。
【００１７】
より深いニューラルネットワークなど、機械学習モデルがより複雑になるにつれて、それに応じて大規模なトレーニングデータセットの必要性が高まる。これらのより深いニューラルネットワークは、それらの一般化可能性が高いことを確実にするために、より浅いニューラルネットワークと比較してより多くのトレーニング例を必要とし得る。たとえば、ニューラルネットワークはトレーニングデータに関して高精度になるようにトレーニングされ得るが、一方、ニューラルネットワークは目に見えない将来の例に対してうまく一般化されない場合がある。この例では、ニューラルネットワークはトレーニングデータに含まれる追加の例から恩恵を受け得る。
【００１８】
トレーニングデータを取得することは非常に大きな技術的ハードルを提示し得ることが理解され得る。たとえば、画像に含まれる特徴又は物体を分類するために、ある特定の機械学習モデルが使用され得る。この例では、機械学習モデルは、第２の物体（たとえば、一時停止標識）から第１の物体（たとえば、自動車）を認識することを学習し得る。これらの機械学習モデルの有効性は、特徴又は物体の例の数に応じて制約され得る。たとえば、エンティティは、路上で乗られているバイクを認識するための機械学習モデルを要望し得る。別の例として、エンティティは、車の後ろで運ばれているバイクを認識するための機械学習モデルを要望し得る。これらの例の十分なトレーニング例がない場合、機械学習モデルは、その認識において、使用可能であるほど十分正確でない場合がある。一般に、エンティティは、ある特定の特徴又は物体を含めるために、人に画像をラベル付けさせるのに多大な労力を費やすことを必要とされ得る。たとえば、人は手動で画像を再検討し、次いで、ある特定の特徴又は物体に対応するように画像の一部にラベルを割り当てなければならない場合がある。
【００１９】
一実施形態は、トレーニングデータを迅速に生成することによってこの問題に対処するシステム及び方法である。一実施形態では、トレーニングデータは、任意の所望のラーニング可能な特徴の例を含み得る。コンピュータビジョンに関しては、画像内の任意の所望の物体又は特徴の例を含むトレーニングデータが迅速に生成され得る。これらの物体又は特徴は、通常、識別するのが難しい「エッジケース」を表し得る。たとえば、エンティティによって要望される複雑なシーンの画像を含むトレーニングデータが生成され得る。この例では、エンティティは、車両の後ろ又は前にあるバイク（たとえば、公共バスのフロントラックで運ばれているバイク）を描写している画像を取得することを好み得る。
【００２０】
上記のエンティティは、世界のさまざまな道路又はその他の方法でナビゲート可能な領域を移動している多数（たとえば、数千、数百万）の車両を活用し得る。これらの車両は、センサ（たとえば、カメラ）を含み得るか、又はその他の方法でそれにアクセスでき得る。これらの車両が移動するとき、それらはセンサ情報をキャプチャし得る。たとえば、センサ情報は、車両の通常の動作過程でキャプチャされ得る。センサ情報は、車線ナビゲーションなどの、ある特定の自動運転機能のために車両によって使用され得る。しかしながら、一実施形態では、システムは、車両が、機械学習システムのためのトレーニングデータとして使用されるために、エンティティによって要望される画像特徴又は物体の例を収集することを可能にする、回路及びソフトウェアを含む。
【００２１】
たとえば、分類器（たとえば、小さい又は浅いニューラルネットワーク、サポートベクタマシンなど）が、車両の少なくとも一部にアップロードされ得る。車両は、通常の動作中にセンサ情報（たとえば、画像、映像）を取得し得、分類器は、センサ情報内に表された特定の特徴又は物体を識別するように構成され得る。車両に提供される前に、これらの分類器は、特定の画像特徴又は物体を含むように画像を分類するようにトレーニングされ得る。たとえば、これらの分類器をトレーニングするために、限られた数の、特定の画像特徴又は物体の例（たとえば、百、千など）が使用され得る。説明されるように、分類器は、次いで、車両上で実行される機械学習モデルの一中間層からの情報を使用してセンサデータを分類し得る。例示的な機械学習モデルは、畳み込みネットワークを含み得る。この例示的な機械学習モデルは、少なくとも部分的に、上記の自動運転機能のために使用され得る。このように、分類器は、既存の例示的な機械学習モデルを活用し得る。
【００２２】
多数のこれらの分類器は、分類器が、分類器に関連付けられた特定の画像特徴又は物体を認識するために使用され得るように、車両内のコンピュータシステムにアップロードされ得る。特定の特徴又は物体を含むものとして分類器によって指定されたキャプチャされた画像は、次いで、中央サーバシステムに送信され、ニューラルネットワークシステムのためのトレーニングデータとして使用されることができる。分類器は、通常の動作において車両によってすでに実行されている既存の機械学習モデルを活用し得るため、分類器は処理要件の点で効率的であり得る。さらに、異種環境において運転されている多数の車両が存在し得、そのことがある特定の特徴の「エッジケース」を見つけるのが難しい例を取得する可能性を増加させる。このようにして、エンティティは、エンティティにとって関心のある特定の画像特徴又は物体を表すセンサ情報（たとえば、画像）を迅速に取得し得る。
【００２３】
本明細書では、学習されるべき物体又は特徴は、センサデータ内にキャプチャされることができる任意の現実世界の物体、シナリオ、特徴などを表し得る。例示的な物体又は特徴は、道路内のタイヤ、トンネルの出口、バイク、道路に伸びる枝のある木、車両が特定の方向に向けられているか又は特定のアクション又は操作を実行しているシーン、などを含み得る。さらに、ここでは、ユースケース又は目的のためにトレーニングデータを識別することに触れる。例示的なユースケース又は目的は、１又は複数の物体、特徴などを識別することを含み得る。さらに、本明細書は、画像などのセンサ情報を取得する車両を説明しているが、本明細書に記載されている特徴は、広く適用可能であり得ることが理解され得る。たとえば、分類器は、ユーザデバイス（たとえば、スマートフォン）に提供され得、特定の画像特徴又は物体を認識するために使用され得る。別の例として、分類器は、飛行機、無人航空機、無人車両などで使用され得る。
【００２４】
トレーニングデータの生成
特定のユースケースに関連する追加のトレーニングデータを識別するためのニューラルネットワークトレーニング手法が開示される。追加のトレーニングデータ、特に、正しく分析するのが難しいユースケースについてのデータ、を識別及び収集することにより、ディープラーニングシステムが、そのパフォーマンスを改善するように再トレーニングされることができる。たとえば、難しいユースケースが識別されることができ、そのユースケースに基づいてデータが収集されることができる。次いで、古いモデルよりもパフォーマンスがすぐれている新しい機械学習モデルが、新しく収集されたデータを使用してトレーニングされることができる。さまざまな実施形態において、既存の機械学習モデルが、関連するトレーニングデータを識別するためにトリガ分類器と共に利用される。次いで、新しいトレーニングデータを作成するための処理のために、関連するトレーニングデータが返送される。いくつかの実施形態では、ターゲットユースケースを代表する初期データセットが作成され、トリガ分類器を作成するために使用される。
【００２５】
たとえば、自動運転のためのディープラーニングシステムは、トンネルの出口を分析及び識別しにくい場合がある。トレーニングデータセットは、トンネルの出口の正及び負の例を使用して作成される。いくつかの実施形態では、トリガ分類器は、既存の機械学習モデルの層の中間出力を使用して、初期トレーニングデータセットでトレーニングされる。いくつかの実施形態では、その層は中間層である。たとえば、トレーニングセットからのデータが既存の機械学習モデルに供給され、モデルの、最後から２番目の層の出力が、トリガ分類器をトレーニングするための入力として使用される。いくつかの実施形態では、トリガ分類器は、デプロイされるディープラーニングアプリケーションからオフラインでトレーニングされたサポートベクタマシンである。トレーニングされた時点で、トリガ分類器は、車両の自動運転システム内ですでに使用されているディープラーニングシステムと一緒に実行されるために、インストール又はデプロイされ得る。たとえば、トリガ分類器は、トリガ分類器を車両にダウンロード及びインストールする無線ネットワークを介してデプロイされ得る。トリガ分類器は、分類器スコアを決定するために、デプロイされたディープラーニングシステムの同じ層の中間出力に適用される。いくつかの実施形態では、トリガ分類器への入力は、自律車両によってキャプチャされたセンサデータ、たとえば、車両上のカメラによってキャプチャされた画像データに適用される畳み込みニューラルネットワーク（ＣＮＮ）の層の中間出力である。
【００２６】
いくつかの実施形態では、単一のサポートベクタマシン、小さなニューラルネットワーク、又は別の適切な分類器を使用して実施されるトリガ分類器が、キャプチャされた画像全体及び／又は画像の特定の位置に適用され得る。たとえば、トリガ分類器は、画像のありとあらゆる位置又は位置のサブセットに適用されることができる。トリガ分類器は、ショッピングカート、動物などの小さな部分を識別するためにニューラルネットワークの特徴を空間的に効果的にスキャンするために適用されることができる。適用された時点で、トリガ分類器は分類器スコアを決定し、スコアに応じて、センサデータが識別され、潜在的に有用なトレーニングデータとして保持される。一例として、トリガ分類器は、データがトンネルの出口を表す可能性がどの程度かに基づいて、カメラからのセンサデータをスコアリングする。スコアが高く、トンネルの出口を表す可能性が高いセンサデータは保持され、トレーニングデータとして使用されるためにフラグが付けられる。いくつかの実施形態では、分類器スコアの決定を進めるために満たされなければならない条件、分類器スコアが閾値を超える状況、及び／又はセンサデータを保持するために必要な条件を決定するために、フィルタなどのトリガ特性がトリガ分類器に適用される。たとえば、いくつかの実施形態では、センサデータは、３０分ごとに１回だけなど、間隔ごとに最大１回スコアリング及び収集される。いくつかの実施形態では、分類器スコアは、センサデータが収集及び保持されるために閾値を超えなければならない。センサデータが設定された閾値を満たしている場合、センサデータは保持され、潜在的な新しいトレーニングデータとして使用される。一実施形態では、センサデータは、トレーニングデータシステムを管理しているサーバに無線でアップロードされる。
【００２７】
いくつかの実施形態では、位置、道路タイプ、車種、車両が左ハンドルか右ハンドルかどうか、時刻、分類器スコア、最後に送信されたセンサデータからの時間の長さ、及び／又は速度、加速、ステアリング、ブレーキング、ステアリング角度などの車両制御パラメータ／動作条件、などの追加のメタデータが収集され、センサデータと共に保持される。さまざまな実施形態において、データ及びメタデータが、コンピュータデータサーバに送信され、特定のユースケースのためのディープラーニングシステムのアプリケーションを改善するために新しいトレーニングデータセットを作成するために使用される。たとえば、識別されたトンネルの出口に関連付けられた保持されたセンサデータは、トリガ分類器によって識別され、トンネルの出口を識別するための追加のトレーニングデータを作成するために使用される。
【００２８】
いくつかの実施形態では、アップロードした後、センサデータは、車両の自動運転機能を改善するために使用される新しいトレーニングデータセットを作成するために再検討され、アノテーションされる。たとえば、データはトンネルの出口の正のサンプルとしてアノテーションされ得、さらに多くのユースケースを含む元のトレーニングデータセットを補足するために使用され得る。新しい機械学習モデルは、自律車両のニューラルネットワークを改善するために、新しくキュレーションされたデータセットを使用してトレーニングされ、次いで、自律車両システムへの更新として車両にデプロイされる。新しくデプロイされた機械学習モデルは、トリガ分類器によってターゲットとされる特定のユースケース（たとえば、トンネルの出口）を検出するための改善された能力を有している。一例として、改善されたモデルは、トンネルの出口を識別することにおいて、改善された精度及びパフォーマンスを有することになる。ユースケースのさらなる例は、特定の物体（たとえば、ショッピングカート、動物など）、道路状況、天候、運転パターン、ハザードなどを識別するためにトレーニングされたトリガ分類器を含む。
【００２９】
さまざまな実施形態において、トリガ分類器は、自動運転のために使用されるディープラーニングシステムのコンポーネントなど、車両のコアソフトウェアを更新することなく、開発され、車両のフリートにデプロイされることができる。車両の既存のニューラルネットワークソフトウェアにリンクし、及び関連付けられている、新規及び更新されたトリガ分類器は、はるかに頻繁に、そして、とりわけ、走行、安全システム、ナビゲーションなどのコアの車両機能性にほとんど又はまったく影響を与えることなく、車両に対して強要されることができる。たとえば、トリガ分類器は、石畳の道路を識別するようにトレーニングされ、車両のフリートにデプロイされ、数分以内に石畳の道路の画像及び関連データの収集を開始することができる。開示された手法を使用して、進行中の車両動作又は車両の運転者又は同乗者にほとんど又はまったく影響を与えることなく、特定のユースケースについて関連するトレーニングデータを収集する速度が大幅に改善される。新しいトリガ分類器が、長くて面倒なインストールプロセスなしでデプロイされることができる。このプロセスは、車両がサービス位置に運ばれることを必要とすることなく、たとえば無線更新を使用して、リモートで動的に実行されることができる。こうした更新の後、トリガ分類器は、キャプチャされた画像のスキャンを開始して、トリガ条件を満たす画像を探し得、次いで、それらの条件を満たす画像を将来のトレーニングデータ対象としてアップロードし得る。
【００３０】
いくつかの実施形態では、センサデータは、異なるデバイスによって送信及び受信される。たとえば、その周囲に関連する情報を収集するセンサを含む、自動運転技術を備えた車両は、そのセンサからセンサデータを受信する。いくつかの実施形態では、車両は、自動運転に関連するデータをキャプチャするために、カメラ、超音波センサ、レーダセンサ、ＬｉＤＡＲ、及び／又は他の適切なセンサなどのセンサを備えている。いくつかの実施形態では、ニューラルネットワークがセンサデータに適用される。たとえば、畳み込みニューラルネットワーク（ＣＮＮ）が、車両の前の道路の画像など、受信されたセンサデータに適用される。ＣＮＮは、キャプチャされたセンサデータ内の物体を識別するために使用され得、ニューラルネットワークを適用した結果が車両の制御に使用される。一例として、道路車線のラインが識別され、識別された車線のラインの間に車両を維持するために使用される。
【００３１】
いくつかの実施形態では、トリガ分類器が、センサデータについての分類器スコアを決定するために、ニューラルネットワークの中間出力に適用される。たとえば、層の中間出力が、センサデータについての分類器スコアを決定するトリガ分類器に供給される。いくつかの実施形態では、ニューラルネットワークは、複数の中間層を含み、トリガ分類器への入力をそこから受信すべき特定の中間出力（及び対応する層）が設定可能である。たとえば、最後から２番目、最後から３番目、最後から４番目などの層の出力を受信するようにトリガ分類器が構成されることができる。いくつかの実施形態では、中間出力は、ニューラルネットワークの中間層のいずれかからの出力である。いくつかの実施形態では、中間出力は、ニューラルネットワークの１番目の層の出力であり得る。いくつかの実施形態では、分類器スコアに少なくとも部分的に基づいて、センサデータの少なくとも一部をコンピュータネットワークを介して送信するかどうかの決定が行われる。たとえば、センサデータを保持してさらなる使用のためにデータを送信するために必要とされる閾値を分類器スコアが超えているかどうかに基づいて決定が行われる。いくつかの実施形態では、分類器スコア、及び追加のトリガ分類器条件が満たされているかどうか、に基づいて決定が行われる。必要な条件の例は、車両の位置、車両が走行している時間、車種、自動運転機能が最近解除されたかどうか、などに基づいて、キャプチャされたセンサデータをフィルタリングするために使用され得る。さまざまな実施形態において、必要な条件及びスコア閾値を満たすセンサデータは、さらなる処理のために、ＷｉＦｉ又はセルラネットワークなどのコンピュータネットワークを介してコンピュータサーバに送信される。いくつかの実施形態では、データは、新しい又は追加のトレーニングデータセットを作成するために処理される。さまざまな実施形態において、トレーニングデータは、トレーニングデータ及び検証データの両方を含む。
【００３２】
ブロック図の例
図１Ａは、道路に沿って移動し、周囲状況からトレーニングデータを収集する、車両を示す概略図である。例示的なブロック図では、車両１０２が道路を走行している。車両１０２は、センサが車両１０２に関するセンサボリューム１０４に関する情報をキャプチャするように、カメラ、レーダなどのセンサを含み得る。例示的なセンサ１０７が図１Ａに示されている。たとえば、車両１０２は、車両１０２の周囲状況の画像を取得し得る。次いで、これらの取得された画像は、周囲状況を理解しようと分析され得る。たとえば、画像に表されている物体を分類するために画像が分析され得る。この例では、他の車両、道路標示、樹木又は他の植物、道路の障害物、歩行者、標識などを識別するために画像が分析され得る。以下でより詳細に説明されるように、車両１０２は、センサ情報を分析するために機械学習手法を活用し得る。たとえば、例示的なセンサボリューム１０４に含まれる物体を分類するために、１又は複数の畳み込みニューラルネットワークが使用され得る。図１Ｂ及び図７に関して、車両１０２によって使用され得るディープラーニングシステム７００の例示的な説明が以下に含まれている。
【００３３】
センサ情報を分析するために上記の機械学習手法が使用され得るが、ある特定の現実世界の物体又はシナリオは、車両１０２が正確に理解又は分類するのが難しい場合があることが理解されるべきである。たとえば、タイヤ１０６が、車両１０２が走行している道路上に配置されて示されている。このタイヤ１０６を認識できることは、車両１０２の安全性及びパフォーマンスを向上させ得る。一例として、車両１０２は、タイヤ１０６が車両１０２の経路内にある場合、タイヤ１０６を避けてナビゲートするために自動運転手法を実行し得る。さらに、タイヤが車両１０２の経路内にない場合でも、タイヤ１０２を認識することは、車両１０２の自動運転になお影響を与え得る。たとえば、他の車両が、タイヤ１０６を回避するために、車両１０２の車線に突然入り込んでくるかもしれない。このように、この例では、タイヤ１０６を識別できることは、車両１０２の将来の予測される動きを知らせ得る（たとえば、別の車両がタイヤ１０６に近づくにつれて先制して減速する）。
【００３４】
このように、センサボリューム１０４に含まれているものとしてタイヤ１０６を正確に識別することは車両１０２にとって有益であり得る。しかしながら、そして上記のように、タイヤ１０６を識別できることは、かなりのトレーニングデータを必要とし得る。トレーニングデータは、さまざまな道路上のすべての構成の多数のタイヤの画像を含み得る。トレーニングデータは、異なる道路上の異なるタイヤの画像を含めることで強化され得る。さらに、トレーニングデータは、異なる走行環境における異なる道路上の異なるタイヤの画像によって強化され得る。たとえば、異なる道路上で雪に部分的に含まれているタイヤの画像を有することは有利であり得る。別の例として、ほこりっぽい道路に含まれている空気の抜けたタイヤの画像を有することは有利であり得る。こうした画像へのアクセスを獲得することは、大きな技術的課題を示し得る。
【００３５】
説明されるように、タイヤを認識するように１又は複数の分類器がトレーニングされ得る。たとえば、限られた、トレーニング例のセットを使用して、分類器がトレーニングされ得る。次いで、これらの分類器は、無線（ＯＴＡ：ｏｖｅｒ  ｔｈｅ  ａｉｒ）更新を介して車両１０２に提供され得る。たとえば、ＯＴＡ更新は、車両１０２を介して無線で（たとえば、Ｗｉ−Ｆｉを介して、ＬＴＥネットワークなどのセルラ信号を介して、など）受信され得る。次いで、分類器は、車両１０２によって取得されたセンサ情報を分析し得る。分類器が、タイヤがセンサ情報（たとえば、画像）内に描写されていることを検出した場合、車両１０２は、処理のためにセンサ情報を外部システムに送信し得る。この外部システムは、タイヤのトレーニングデータセットを作成するために、こうした受信されたセンサ情報を集約し得る。説明されるように、これらのトレーニングデータセットは、次いで、車両１０２上で実行される複雑な機械学習モデル（たとえば、畳み込みニューラルネットワーク）をトレーニングするために使用され得る。このようにして、自動運転タスクを実行するために、機械学習モデル、したがって車両１０２の能力が強化され得る。
【００３６】
図１Ｂは、トレーニングデータの生成を示すブロック図である。この図示例では、センサデータ１０８が車両１０２によって受信されている。センサデータ１０８は、図１に示されるタイヤ１０６を描写する１又は複数の画像又は映像を含み得る。このセンサデータ１０８は、車両１０２に含まれる、１又は複数のプロセッサのディープラーニングシステム７００に提供され得る。ディープラーニングシステム７００の態様の一例が図１Ｂに示されている。
【００３７】
示されるように、ディープラーニングシステム７００は、受信されたセンサデータ１０８を分析するために、畳み込みニューラルネットワークなどの例示的な機械学習手法を使用し得る。図２に説明されるように、センサデータ１０８は、前処理され得る（たとえば、正規化され、フィルタを通されるなど）。畳み込みニューラルネットワークは、多数の畳み込み層を含み得ることが理解され得る。これらの畳み込み層は、出力ボリュームが作成されるように畳み込みフィルタを適用し得る。いくつかの実施形態では、センサデータ１０８に含まれる特徴又は物体を分類するために、最終層として、１又は複数の全結合層又は密層が使用され得る。一例として、１又は複数のソフトマックス層又は独立したロジスティック分類器が、特徴又は物体を分類するために使用され得る。このようにして、ディープラーニングシステム７００は、車両１０２周囲のセンサボリューム１０４に含まれる、現実世界の物体、シナリオなどを識別し得る。これらの現実世界の物体、シナリオなどを識別することに基づいて、車両１０２は、自動運転タスクを実行し得る。このように、車両１０２は、その典型的な動作において畳み込みニューラルネットワークを実施し得る。
【００３８】
ディープラーニングシステム７００は、１又は複数の分類器を含む。たとえば、分類器Ａ〜Ｎ  １１０Ａ〜１１０Ｎが図１Ｂに示されている。これらの分類器１１０Ａ〜１１０Ｎは、車両１０２に対するＯＴＡ更新（たとえば、車両に提供される定期的な更新）を介して受信された可能性がある。分類器１１０Ａ〜１１０Ｎを受信する前に、エンティティは、センサデータ内に表されるそれぞれの特徴又は物体を識別するようにそれらをトレーニングした可能性がある。たとえば、分類器Ａ  １１０Ａは、雪景色を識別するようにトレーニングされた可能性がある。別の例として、分類器Ｎ  １１０Ｎは、タイヤ、道路上のバイクなどを識別するようにトレーニングされた可能性がある。エンティティは、限られたトレーニングデータを使用して分類器１１０Ａ〜１１０Ｎをトレーニングした可能性がある。たとえば、分類器Ｎ  １１０Ｎは、１００、５００、１０００の、道路上のタイヤの例、又は特定のタイプの道路上の特定のタイプのタイヤを使用してトレーニングされた可能性がある。
【００３９】
示されるように、分類器１１０Ａ〜１１０Ｎは、例示的な機械学習モデル（たとえば、畳み込みニューラルネットワーク）の一中間層から取得された情報を使用し得る。たとえば、畳み込みニューラルネットワークの一中間層から特徴１１２が取得され得る。畳み込みニューラルネットワークが、センサデータ内の特徴又は物体を分類又はその他の方法で識別するようにトレーニングされ得るので、分類器はこの既存の能力を活用し得る。一例として、畳み込みニューラルネットワークは、現実世界の物体を示す特徴を学習するために畳み込みフィルタを適用することを学習し得る。次いで、畳み込みニューラルネットワークは、現実世界の物体の特定のカテゴリ又はクラスに対応するように特徴を分類し得る。
【００４０】
したがって、分類器１１０Ａ〜１１０Ｎをトレーニングするとき、それらは、畳み込みニューラルネットワークの一中間層から取得された情報を使用してトレーニングされ得る。たとえば、分類器１１０Ｎは、タイヤを描写している画像の限定されたトレーニングデータセットを使用してトレーニングされ得る。この例では、画像が例示的な畳み込みニューラルネットワークに提供され得る。畳み込みニューラルネットワークの特定の中間層で、特徴１１２が分類器１１０Ｎに提供され得る。次いで、分類器１１０Ｎは、タイヤを描写している画像について高い分類器スコアを割り当てるようにトレーニングされ得る。分類器１１０Ｎは、随意選択的に、タイヤを描写していない画像について低い分類器スコアを割り当てるようにトレーニングされ得る。このようにして、分類器１１０Ｎは、畳み込みニューラルネットワークを活用し得、これは、上記のように、車両１０２の典型的な動作で使用され得る。
【００４１】
図１Ｂに示されるように、分類器１１０Ａ〜１１０Ｎは、畳み込みニューラルネットワークの一中間層から特徴１１２を受信している。随意選択的に、分類器１１０Ａ〜１１０Ｎは、異なる中間層からの特徴を使用し得る。たとえば、分類器Ｎ  １１０Ｎは、第１の層（たとえば、層４、５など）からの特徴を使用し得、一方、分類器Ａ  １１０Ｎは、第２の層（たとえば、６、７など）からの特徴を使用し得る。トレーニングの間、そこから特徴を受信すべき特定の層が分類器ごとに識別され得る。たとえば、特定の層は、バリデーションデータセットに関する対応するトレーニング分類器の精度に基づいて識別され得る。
【００４２】
図１Ａに示されるタイヤ１０６に関して、分類器１１０Ａ〜１１０Ｎのうちの１つは、タイヤを識別するようにトレーニングされ得る。たとえば、分類器Ｎ  １１０Ｎが、タイヤを識別するようにトレーニングされ得る。この例では、分類器Ｎ  １１０Ｎは、分類器スコアをセンサデータ１０８に割り当て得る。示された例では、分類器Ｎ  １１０Ｎは、閾値よりも大きい分類器スコア（たとえば、０．５、０．７など）を割り当てている。したがって、車両１０２は、センサデータ１０８を外部システム（たとえば、トレーニングデータ生成システム１２０）に送信し得る。たとえば、車両は、Ｗｉ−Ｆｉ、セルラサービスなどを介して、ネットワーク（たとえば、インターネット）を介してセンサデータ１０８を送信し得る。
【００４３】
このように、外部システム１２０は、多数の車両からセンサデータ１０８を受信し得る。たとえば、外部システム１２０は、通常の動作の途中に、たまたまタイヤの近くを通過し得る車両から、タイヤを描写している画像を受信し得る。有利には、これらのタイヤは、異なるタイプのものであり得、空気を抜かれているか又は朽ちた状態にあり得、異なる道路状況で表され得、部分的に閉塞され得る、などである。分類器１１０Ａ〜１１０Ｎは、一例として、多数のセンサデータ１０８の外部システム１２０への送信を引き起こす分類器スコアを使用し得る。たとえば、システム１２０に送信される画像の一部は、タイヤを含まない場合がある。このように、いくつかの実施形態では、エンティティは、画像のいくつかを迅速に再検討され得及び破棄し得る。残りの画像は、大きなトレーニングデータセットに集約され得、車両上で実行されている機械学習モデルを更新するために使用され得る。たとえば、畳み込みニューラルネットワークが、タイヤを識別するようにトレーニングされ得る。随意選択的に、バウンディングボックス又は他のラベル情報が、集約されたトレーニングデータセットに含まれる画像に割り当てられ得る。
【００４４】
いくつかの実施形態では、車両１０２は、車両１０２によって現在実行されているよりも多くの分類器を有し得る。たとえば、車両１０２は、５０、７５、１００の分類器を有し得る。しかしながら、車両１０２の動作の間、車両１０２は、２０、３０、４０、又はそれ以上の分類器が実行され得る。たとえば、車両１０２は、車両１０２によって格納された全分類器のサブセットについてそれぞれの分類器スコアを決定し得る。随意選択的に、各分類器は、別の分類器と交換される前に、特定の期間実行され得る。
【００４５】
さらに、車両１０２は、１又は複数のトリガに応じてある特定の分類器が実行され得る。一例として、車両１０２は、ある特定の現実世界の物体、特徴を有するか、又はある特定のシナリオを示す、ということが知られている位置、又はおおよその位置を識別する情報を受信し得る。たとえば、車両１０２は、ある特定のエリアにトンネルの出口があることを識別する地図情報にアクセスし得る。この例では、車両１０２は、車両１０２がトンネルの出口に近接しているときに、トンネルの出口の識別に関連付けられた分類器が実行されていることを確実にし得る。
【００４６】
別の例として、外部システム１２０は、随意選択的に、受信されたセンサデータと共に位置情報を受信し得る。このように、外部システム１２０は、閾値数の車両が、特定の現実世界のエリアについて同じ分類器に基づいてセンサデータを送信したことを識別し得る。一例として、外部システム１２０は、特定のオンランプが道路に障害物を有することを識別し得る。別の例として、外部システム１２０は、特定のオンランプが道路にある特定のタイプの障害物を有することを識別し得る。次いで、システム１２０は、その特定の現実世界のエリアに近接しているときに同じ分類器を実行するために、車両の一部に情報を送信し得る。このようにして、システム１２０は、この同じセンサに基づいて、より大量のトレーニングデータを取得できることを確実にし得る。
【００４７】
さらに、システム１２０は、上記の分類器が閾値を超える分類器スコアを割り当てない場合でも、センサデータを送信するように車両に指示し得る。一例として、システム１２０は、現実世界の位置に近接する閾値数の車両からセンサデータを受信し得る。この例では、システム１２０は、当該の現実世界の位置の閾値距離内の任意の車両に、それらの分類器が閾値を超える分類器スコアを生成しない場合でも、センサデータ（たとえば、画像）を送信するように指示し得る。分類器は、限られた数の例（たとえば、上記のように１００、１０００）のトレーニングセット上でトレーニングされ得るので、物体に対する特定の車両の角度に応じて、その特定の車両の分類器は、物体を識別しない場合がある。しかしながら、センサデータは、物体についてのロバストなトレーニングセットの生成に有用であり得る。たとえば、物体は、特定の車両によって取得された画像内で部分的に可視であり得、したがって、物体を識別するために大規模なトレーニングセットで有用であり得る。このようにして、外部システム１２０は、分類器をオーバライドし、特定の車両にセンサデータを送信させ得る。
【００４８】
外部システム１２０が位置情報又は任意の識別情報を受信するすべての状況において、情報は匿名にされ得ることが理解されるべきである。さらに、こうした手法は、肯定的なユーザの許諾（たとえば、オプトイン）を必要とし得る。
【００４９】
例示的なフロー図
図２は、機械学習モデルの中間結果にトリガ分類器を適用するためのプロセスの実施形態を示すフロー図である。いくつかの実施形態では、図２のプロセスは、自動運転のための機械学習モデルのためにセンサによってキャプチャされ、特定のユースケースを満たす、センサデータを収集及び保持するために利用される。たとえば、特定のユースケースは、特定の特徴、物体、シナリオなど、の識別に関連付けられ得る。いくつかの実施形態では、図２のプロセスは、自動運転制御がイネーブルにされているか否かにかかわらず、自動運転が可能である車両上で実施される。たとえば、センサデータは、自動運転が解除された直後、又は車両が人間の運転者によって運転されているときに収集されることができる。いくつかの実施形態では、図２によって説明される手法は、特に、分析が困難なユースケースについて、トレーニングデータセットを改善するために、自動運転のコンテキスト外の他のディープラーニングシステムに適用されることができる。さまざまな実施形態において、トリガ分類器は、機械学習の層の中間出力、及びユースケースのために設計されたトレーニングデータを使用してトレーニングされている。
【００５０】
いくつかの実施形態では、複数のユースケースについてセンサデータを識別するために、複数のトリガ及び／又は複数の分類器が一緒に使用され得る。たとえば、トンネルを識別するために１つのトリガが使用され得、マンホールのために別のトリガが使用され得、道路の分岐点のために別のトリガが使用され得る、などである。いくつかの実施形態では、分類器スコアを決定するため、及び／又は必要な条件を適用するためのトリガ分類器の機能コンポーネントが、異なるトリガ間で共有される。いくつかの実施形態では、各トリガは、重み付きベクトル、オプションのバイアス、及び分類器スコアを比較するための１又は複数の閾値の基準値を使用して指定される。いくつかの実施形態では、時刻、車両の位置、道路タイプなどの追加の必要な条件が、特定のトリガについて指定される。たとえば、トリガは、トンネルのセンサデータが夜明けと夕暮れにのみキャプチャされることを必要とし得る。別の例として、及び重複データを減らすのに役立つため、トリガは、センサデータが、最大で３０分ごとで、かつ、車両が少なくとも２０分間運転された後にのみ、キャプチャされることを必要とし得る。さまざまな実施形態において、トリガ閾値及び必要な条件は、トリガ分類器に対して指定された特性である。
【００５１】
２０１において、センサデータが受信される。たとえば、センサを備えた車両がセンサデータをキャプチャし、車両上で動作しているニューラルネットワークにそのセンサデータを提供する。いくつかの実施形態では、センサデータは、視覚データ、超音波データ、ＬｉＤＡＲデータ、又は他の適切なセンサデータであり得る。たとえば、画像はハイダイナミックレンジの前向きのカメラからキャプチャされる。別の例として、超音波データは横向きの超音波センサからキャプチャされる。いくつかの実施形態では、車両には、データをキャプチャするための複数のセンサが取り付けられている。たとえば、いくつかの実施形態では、８つのサラウンドカメラが車両に取り付けられ、最大２５０メートルの範囲で車両の周囲に３６０度の視界を提供する。いくつかの実施形態では、カメラセンサは、広角の前方カメラ、挟角の前方カメラ、リアビューカメラ、前方を向いたサイドカメラ、及び／又は後方を向いたサイドカメラを含む。いくつかの実施形態では、周囲の詳細をキャプチャするために超音波及び／又はレーダセンサが使用される。たとえば、硬い物体及び柔らかい物体の両方を検出するために１２個の超音波センサが車両に取り付けられ得る。いくつかの実施形態では、周囲環境のデータをキャプチャするために前向きのレーダが利用される。さまざまな実施形態において、レーダセンサは、大雨、霧、ほこり、及び他の車両にもかかわらず、周囲の詳細をキャプチャすることができる。車両周囲の環境をキャプチャするためにさまざまなセンサが使用され、キャプチャされた画像はディープラーニング分析のために提供される。
【００５２】
２０３において、センサデータが前処理される。いくつかの実施形態では、１又は複数の前処理パスが、センサデータに対して実行され得る。たとえば、データは、位置合わせの問題及び／又はぼやけを修正するために、ノイズを除去するために前処理され得る。いくつかの実施形態では、１又は複数の異なるフィルタリングパスがデータに対して実行される。たとえば、センサデータの異なるコンポーネントを分離するために、ハイパスフィルタがデータに対して実行され得、及びローパスフィルタがデータに対して実行され得る。さまざまな実施形態において、２０３で実行される前処理ステップは、オプションであり、及び／又はニューラルネットワークに組み込まれ得る。
【００５３】
２０５において、センサデータのディープラーニング分析が開始される。いくつかの実施形態では、ディープラーニング分析が、２０３で随意選択的に前処理されたセンサデータに対して実行される。さまざまな実施形態において、ディープラーニング分析は、畳み込みニューラルネットワーク（ＣＮＮ）などのニューラルネットワークを使用して実行される。さまざまな実施形態において、機械学習モデルはオフラインでトレーニングされ、センサデータに対して推論を実行するために車両にインストールされる。たとえば、モデルは、必要に応じて、道路車線のライン、障害物、歩行者、移動車両、駐車車両、運転可能なスペースなどを識別するようにトレーニングされ得る。さまざまな実施形態において、ニューラルネットワークは、１又は複数の中間層を含む複数の層を含む。
【００５４】
２０７において、潜在的なトレーニングデータが識別される。たとえば、機械学習モデルをトレーニングするために使用され得るセンサデータが、ディープラーニング分析を使用して分析されたセンサデータから識別される。いくつかの実施形態では、識別されたトレーニングデータは、特定のユースケースに関連付けられたデータである。たとえば、可能なユースケースは、カーブした道路、オンランプ、オフランプ、トンネルの入口、トンネルの出口、道路の障害物、道路の分岐点、道路車線のライン又はマーカ、運転可能なスペース、道路標識、標識の内容（例えば、単語、数字、記号など）、及び／又は必要に応じて自動運転のための他の特徴、を識別することに関与し得る。さまざまな実施形態において、センサデータ内に描写されるユースケースは、ディープラーニング分析に使用されるニューラルネットワークの層の中間出力、及びトリガ分類器を使用することによって識別される。たとえば、トリガ分類器は、ニューラルネットワークの中間層の出力を使用して分類器スコアを決定する。閾値を超え、トリガと共に指定された必要な条件に合格する分類器スコアは、潜在的なトレーニングデータとして識別される。さまざまな実施形態において、閾値は、ユースケースの正の例を識別するために利用される。たとえば、分類されたスコアが高いほど、センサデータがユースケースを代表する可能性が高いことを示す。いくつかの実施形態では、分類器スコアは、負の数と正の数との間の数である。正の数に近いスコアは、ターゲットユースケースを代表する可能性がより高い。さまざまな実施形態において、時刻、車種、位置などの追加のフィルタによって指定された条件が、ターゲットユースケースについてセンサデータを識別するために使用される。
【００５５】
２０９において、識別されたセンサデータが送信される。たとえば、２０７で識別されたセンサデータが、さらなる処理のためにコンピュータサーバに送信される。いくつかの実施形態では、さらなる処理は、識別されたセンサデータを使用してトレーニングセットを作成することを含む。さまざまな実施形態において、センサデータは、たとえば、ＷｉＦｉ又はセルラ接続を介して、車両からデータセンタに無線で送信される。いくつかの実施形態では、センサデータと共にメタデータが送信される。たとえば、メタデータは、速度、加速、ブレーキング、自動運転がイネーブルにされていたかどうか、ステアリング角度などの車両の制御及び／又は動作パラメータ、分類器スコア、時刻、タイムスタンプ、位置、車種などを含み得る。さらなるメタデータは、前回最終のセンサデータが送信されてからの時間、車種、天候状況、道路状況などを含む。
【００５６】
２１１において、データの後処理が実行される。いくつかの実施形態では、品質を向上させるため、及び／又はデータを表すために必要とされるデータの量を削減するために、異なる後処理手法が利用される。いくつかの実施形態では、ディープラーニング分析の出力は、他のセンサに適用されたディープラーニングの結果とマージされる。いくつかの実施形態では、後処理は、異なるセンサデータに対して実行される分析を円滑にするために使用される。処理されたデータは、車両を制御するために使用され得る。データに関連する追加情報も２１１で処理され得る。たとえば、どの自動運転機能がイネーブルにされているかなどを含んで、自動運転システムの設定などの情報が、ディープラーニング分析と組み合わせられ得る。他の情報は、車両の動作及び／又は制御パラメータ、及び／又は、地図、地形及び／又はＧＰＳデータなどの環境データ、を含み得る。いくつかの実施形態では、後処理は、車両の周囲環境の統一された表現を作成するために、他のセンサからのデータに対して実行されたディープラーニング分析の結果を組み合わせることを含み得る。いくつかの実施形態では、２１１での後処理ステップは、オプションのステップである。
【００５７】
２１３において、ディープラーニング分析の結果が車両の制御に提供される。たとえば、結果は、自動運転のために車両を制御するために車両制御モジュールによって使用される。いくつかの実施形態では、車両制御は、車両の速度及び／又はステアリングを調節することができる。さまざまな実施形態において、車両制御はディセーブルにされ得るが、２０５でのディープラーニング分析の中間結果は、２０７でトレーニングデータを識別し、識別されたセンサデータを２０９で送信する、ために利用される。このようにして、車両が自動運転システムの制御下にないときでも、適切なトレーニングデータを識別及び保持するために、ディープラーニング分析が利用されることができる。さまざまな実施形態において、自動運転システムがアクティブであるとき、センサデータが識別及び保持される。
【００５８】
図３は、機械学習モデルの中間結果を使用してトリガ分類器を作成するためのプロセスの実施形態を示すフロー図である。いくつかの実施形態では、特定のユースケースについて関連するセンサデータを識別及び保持するためのトリガ分類器をトレーニングするために、図３のプロセスが利用される。たとえば、その通常の使用中にディープラーニングシステムによって処理されるセンサデータは、トレーニングデータとして有用なデータのサブセットを含む。トリガ分類器は、自動運転についてのディープラーニングシステムの中間結果を使用して、トンネルの入口、トンネルの出口、道路の分岐点、曲がった道路、オンランプ、及び、自動運転に有用な他の適切な特徴、などのユースケースを識別するようにトレーニングされることができる。ディープラーニングシステムの中間結果をトリガ分類器と共に利用することにより、識別と収集の効率が大幅に改善される。さまざまな実施形態において、トレーニングされたトリガ分類器は、関連するユースケースについての潜在的なトレーニングデータを収集及び保持するために、デプロイされたディープラーニングシステムにトリガ特性と共にインストールされる。いくつかの実施形態では、他の適切な分類器が使用され得るものの、トリガ分類器はサポートベクタマシンである。たとえば、いくつかの実施形態では、トリガ分類器はニューラルネットワークであり、１又は複数の中間層を含み得る。いくつかの実施形態では、デプロイされたディープラーニングシステムは、図２のプロセスを利用する。
【００５９】
３０１において、トレーニングデータが準備される。たとえば、特定のユースケースの正及び負の例がトレーニングデータとして用意される。一例として、トンネルの出口の正及び負の例が収集及びアノテーションされる。キュレーション及びアノテーションされたデータセットが、トレーニングセットを作成するために使用される。いくつかの実施形態では、アノテーションは、データをラベル付けすることを含み、人間のキュレータによって実行され得る。いくつかの実施形態では、データのフォーマットは、デプロイされたディープラーニングアプリケーションで使用される機械学習モデルと互換性がある。さまざまな実施形態において、トレーニングデータは、トレーニングされたモデルの正確さをテストするためのバリデーションデータを含む。
【００６０】
３０３において、ディープラーニング分析がトレーニングデータに適用される。たとえば、ディープラーニングプロセスを開始するために、既存の機械学習モデルが使用される。いくつかの実施形態では、ディープラーニングモデルは、複数の層を有する畳み込みニューラルネットワーク（ＣＮＮ）などのニューラルネットワークである。いくつかの実施形態では、ＣＮＮは、３つ以上の中間層を含み得る。ディープラーニング分析の例は、自動運転のためのニューラルネットワークを含む。さまざまな実施形態において、ディープラーニング分析は、中間層の結果を生成するために、３０１で準備されたトレーニングデータ
【００６１】
３０５において、トリガ分類器がトレーニングされる。いくつかの実施形態では、トリガ分類器は、サポートベクタマシン又は小さなニューラルネットワークである。さまざまな実施形態において、トリガ分類器への入力は、ディープラーニングシステムの機械学習モデルの１番目の層又は一中間層の出力である。入力に使用される特定の層は設定可能であり得る。たとえば、最後から２番目の層、最後から３番目の層、最後から４番目の層など、１番目の層までの出力が、トリガ分類器をトレーニングするための入力として利用され得る。さまざまな実施形態において、トレーニングデータのアノテーションされた結果が、ＲＡＷデータ（画像データなど）と共に、トリガ分類器をトレーニングするために使用される。正及び負の例を使用することにより、トリガ分類器は、入力（たとえば、センサデータからの入力）がトンネルの出口などの特定のユースケースに一致する可能性を識別するようにトレーニングされる。いくつかの実施形態では、トレーニングされたトリガ分類器の結果は、３０１で作成されたバリデーションデータセットを使用してバリデーションされる。いくつかの実施形態では、トリガ分類器は、車両にデプロイされたニューラルネットワークと一致するオフラインのニューラルネットワークを使用してトレーニングされる。
【００６２】
いくつかの実施形態では、ニューラルネットワーク出力の出力は、入力データ（ＲＡＷ画像など）の特徴を識別する特徴ベクトルである。特徴は、ＲＡＷデータ内の、車両数、標識数、車線数などを含み得る。層、たとえば、最終層の前に処理された層の、中間出力は、ＲＡＷ入力データの意味情報を含む。いくつかの実施形態では、層の中間出力はベクトル形式で表され得、ベクトルは最終層のベクトル出力よりも多くの要素を有する。たとえば、ニューラルネットワークの最終出力は３２要素のベクトルであり、一方、最後から２番目の層の出力は６４要素のベクトルであり得る。さまざまな実施形態において、ニューラルネットワークの１番目及び中間層の出力（たとえば、６４要素のベクトルなど）は、ニューラルネットワークの最終層の出力（たとえば、３２要素のベクトルなど）よりも大量の、ＲＡＷ入力データに関連付けられた意味情報を含み、したがって、トリガ分類器をトレーニングするために使用される。いくつかの実施形態では、トリガ分類器をトレーニングするために選択される特定の層は、動的に選択され得る。たとえば、特定の中間層（より前の層など）は、別の層（最終層に近い層など）と比較した当該の特定の層の正確さにおける改善に基づいて選択され得る。いくつかの実施形態では、特定の層は、層を利用する際の効率に基づいて選択される。たとえば、層を使用した結果が正確さの要求を満たす場合、より小さな出力ベクトルを有する層が選択され得る。
【００６３】
いくつかの実施形態では、２つ以上のトリガ分類器をトレーニングするために異なる中間層からの入力が使用され、トレーニングされた異なる分類器が互いに比較される。複数の分類器のどれを使用するべきかを決定するために、正確さとパフォーマンスとの間のバランスが使用される。たとえば、いくつかのユースケースについては、より前の中間層の出力が必要であり、一方、他のユースケースについては、より後の中間層の出力で十分である。最適な中間層の出力は、複数のトレーニングされたトリガ分類器を比較することによって決定され得る。さまざまな実施形態において、中間結果を受信するべきはニューラルネットワークのどの層かが、トリガ分類器トレーニングプロセスの一部として動的に選択される。
【００６４】
いくつかの実施形態では、トレーニングされた分類器は、ベクトル及びバイアス要因によって指定され得る。たとえば、トレーニングされた分類器は、分類器スコアを決定するためにバイアス要因によってオフセットされた重みのベクトルであり得る。いくつかの実施形態では、ベクトルの要素の数は、使用される中間層の出力の要素の数、及び分類器をトレーニングするための入力の要素の数、と同じである。たとえば、分類器をトレーニングするために使用される中間層の出力が１０２４要素である場合、トリガ分類器をトレーニングするために使用される入力データは１０２４要素であり、結果のトリガ分類器は１０２４の重み付きベクトル及びバイアスとして表されることができる。いくつかの実施形態では、バイアスはオプションであり、重み付きベクトルの要素によって考慮に入れられ得る。
【００６５】
３０７において、３０５でトレーニングされた分類器についてトリガ特性が決定される。たとえば、トレーニングされたトリガ分類器によって決定された分類器スコアと比較される閾値が決定され得る。たとえば、閾値を超える分類器スコアは、スコアに関連付けられたＲＡＷ入力がターゲットユースケースの正の例である可能性が高いことを示す。たとえば、トンネルの出口を識別するようにトレーニングされたトリガ分類器が分類器スコアを決定する。０．５の閾値を使用すると、０．７の分類器スコアは、データがトンネルの出口を代表する可能性が高いことを示す。いくつかの実施形態では、−１．０のスコアは負の例であり、１．０のスコアは正の例である。分類器スコアは−１．０から１．０の間にあり、ＲＡＷ入力がターゲットユースケースの正又は負の例である可能性がどの程度かを示す。
【００６６】
いくつかの実施形態では、トリガ特性は、トリガフィルタなどの必要な条件を含む。トリガフィルタは、センサデータの保持を、記載された条件に制限するために使用されるフィルタである。たとえば、センサデータは、データに関連付けられた位置に基づいて保持のためにトリガされ得る。他の例は、最後のセンサデータがトリガされ正の識別からの時間の長さ、ドライブが開始されてからの時間の長さ、時刻、位置、道路タイプなどを含む。さまざまな実施形態において、１又は複数のトリガ特性が、トリガ分類器がセンサデータを収集及び保持するために使用される条件を制限するために指定されることができる。
【００６７】
３０９において、トリガ分類器及びトリガ特性がデプロイされる。たとえば、トリガ分類器、及びセンサデータを保持するために分類器をトリガするために使用される特性が、ディープラーニングシステムと一緒にインストールされる。たとえば、トリガ分類器及び特性は、車両に無線で送信される小さなバイナリとしてパッケージ化され得る。いくつかの実施形態では、パッケージ化されたトリガ分類器及び特性は、ＷｉＦｉ又はセルラネットワーク接続などの無線技術を使用して、無線更新として送信される。車両で受信された時点で、トリガ分類器及び特性は自動運転システムの一部としてインストールされる。いくつかの実施形態では、トリガ分類器のみがインストールされる。いくつかの実施形態では、トリガ分類器、及び自動運転のためのディープラーニングモデルが一緒にインストールされる。さまざまな実施形態において、自動運転システムの機械学習モデルは、トリガ分類
【００６８】
図４は、トリガ分類器を使用して潜在的なトレーニングデータを識別するためのプロセスの実施形態を示すフロー図である。いくつかの実施形態では、トリガ分類器は、ディープラーニングシステムと組み合わせて実行される。たとえば、トリガ分類器をトレーニングするために使用されるものと一致する機械学習モデルを使用するディープラーニングシステムが、自動運転システムの一部としてトリガ分類器と共に利用される。トリガ分類器は、センサデータを保持することを保証する特定のユースケースをセンサデータが満たしているかどうかを識別するために、ディープラーニングシステムによって少なくとも部分的に分析されたセンサデータを分析する。次いで、センサデータはコンピュータサーバに送信され、特定のユースケースを識別することにおいて改善されたパフォーマンスを有する改訂された機械学習モデル、についてのトレーニングデータを作成するために使用され得る。ユースケースの例は、オンランプ、トンネルの出口、道路の障害物、道路の分岐点、特定の車種などを識別することを含む。いくつかの実施形態では、トリガパラメータが、関連する結果をトリガ分類器が識別する条件を設定するために使用される。いくつかの実施形態では、１又は複数の異なるユースケースを識別するために、１又は複数のトリガ分類器及びパラメータが使用される。いくつかの実施形態では、図４のプロセスが、図２の２０５、２０７、２０９、２１１、及び／又は２１３で実行される。いくつかの実施形態では、図４のプロセスで使用されるトリガ分類器が、図３のプロセスを使用してトレーニングされる。
【００６９】
４０１において、ディープラーニング分析が開始される。たとえば、自動運転システムのディープラーニング分析が、車両に取り付けられたセンサによってキャプチャされたセンサデータで開始される。いくつかの実施形態では、開始されたディープラーニング分析は、センサデータを前処理することを含む。さまざまな実施形態において、ディープラーニング分析は、１又は複数の中間層を含む複数の層を有するトレーニングされた機械学習モデルを利用する。いくつかの実施形態では、１番目の層及び任意の中間層の出力は、中間出力と見なされる。さまざまな実施形態において、中間出力は、最終出力（たとえば、モデルの最終層の出力）以外の、機械学習モデルの層の出力である。
【００７０】
４０３において、ディープラーニング分析の１つの層を使用した推論が完了する。たとえば、ニューラルネットワークは、その後に最終層が続く中間層を含む複数の層を含む。各層の出力（たとえば、中間結果）は、入力として次の層に供給される。いくつかの実施形態では、１番目の層及び各中間層の出力は、中間結果と見なされる。さまざまな実施形態において、単一の層の出力の決定結果は、次の層への入力として使用され得るベクトルである。いくつかの実施形態では、ニューラルネットワークの１番目の層への入力は、画像データなどのセンサデータである。いくつかの実施形態では、ニューラルネットワークは畳み込みニューラルネットワークである。
【００７１】
４０５において、４０３で実行された層分析の出力がニューラルネットワークの最終層の結果であるかどうかの判断がなされる。出力が最終層の結果ではなく、たとえば、出力が中間結果である場合、処理は４０９に続く。出力がニューラルネットワークの最終層の結果である場合、機械学習モデルを使用して実行された推論が完了し、処理は４０７に続く。いくつかの実施形態では、４０７に提供される４０５での出力は、特徴ベクトルである。
【００７２】
４０７において、センサデータに対してディープラーニング分析を実行した結果が車両制御に提供される。いくつかの実施形態では、結果は後処理される。たとえば、１又は複数の異なるセンサからの入力についての１又は複数の異なるニューラルネットワークの結果が組み合わされ得る。いくつかの実施形態では、車両制御は、車両の動作を制御するために車両制御モジュールを使用して実施される。たとえば、車両制御は、自動運転のために車両の速度、ステアリング、加速、ブレーキングなどを変更することができる。いくつかの実施形態では、車両制御は、方向指示器、ブレーキライト、ヘッドライトをイネーブル又はディセーブルにし得、及び／又は、ＷｉＦｉ又はセルラネットワークなどの無線ネットワークを介してネットワークメッセージを送信することなどのネットワーク制御を含む車両の他の制御／信号を操作し得る。さまざまな実施形態において、たとえば、自動運転機能がディセーブルにされているとき、車両を能動的に制御するために車両制御がイネーブルにされない場合がある。たとえば、自動運転システムが車両を能動的に制御していないときでも、潜在的なトレーニングデータを識別するために、トリガ分類器への入力として結果を提供するために、４０１及び４０３でのディープラーニング分析が実行される。
【００７３】
４０９において、ニューラルネットワークの層及びトリガ条件がトリガ分類器を適用するのに適切であるかどうかの判断がなされる。たとえば、トリガ特性は、トリガ分類器を適用するために必要とされる条件を示す。条件の例は、最後のキャプチャからの時間の長さが最小時間を超えたかどうか、運転の最小の時間の長さが経過したかどうか、時刻がある特定の範囲内にあるかどうかなどを含む。異なる時刻の例は、夜明け、夕暮れ、昼間、夜間などを含み得る。さらなる条件要件は、位置、天候、道路状況、道路タイプ、車種、自動運転機能の解除、ステアリング角度（たとえば、ステアリング角度の閾値を超える）、加速の変化、ブレーキの起動、又は他の適切な特徴に基づき得る。異なる天候状況の例は、雪、雹、みぞれ、雨、大雨、どんよりした曇り、晴れ、曇り、霧などを含み得る。トリガ特性によって、異なる条件が指定され得る。いくつかの実施形態では、異なるユースケースは、異なるトリガ特性、及びニューラルネットワークの異なる層の中間結果を利用し得る。たとえば、いくつかのユースケースは、より効率的であり得、ニューラルネットワークのより後の層の中間結果を使用して、高品質の結果を生成し得る。他のユースケースは、ユースケースを満たすセンサデータの有用な例を識別するために、より前の中間結果を必要とし得る。場合によっては、トリガ分類器を適用する条件を指定するために使用されるトリガ特性は、複数の条件付きチェック、及び／又は、ＡＮＤ演算子及びＯＲ演算子などの論理演算子を使用してネスティングされることができる。
【００７４】
４１１において、トリガ分類器スコアが決定される。たとえば、トリガ分類器スコアは、ニューラルネットワークの中間結果にトリガ分類器を適用することによって決定される。いくつかの実施形態では、トリガ分類器のアプリケーションは、センサデータに関連付けられた分類器スコアを決定するために、重み付きベクトル及びオプションのバイアスを利用する。いくつかの実施形態では、トリガ分類器は、サポートベクタマシン又はニューラルネットワークである。いくつかの実施形態では、トリガ分類器のパフォーマンスは、カスタマイズされた人工知能（ＡＩ）プロセッサ上で分類器を動作させることによって改善される。たとえば、ＡＩプロセッサは、非常に少ないサイクルで２つのベクトルに対してドット積演算を実行、及び／又は無駄なサイクルを制限して複数のドット積を実行することができる。いくつかの実施形態では、決定された分類器スコアは、センサデータがターゲットユースケースの正（又は負）の例である可能性を表す浮動小数点数である。たとえば、センサデータがターゲットユースケースの負又は正の例である可能性を表すために、−１〜＋１の間などの特定の範囲が使用され得る。
【００７５】
４１３において、分類器スコアが閾値を超えるかどうか、及び必要なトリガ条件が満たされるかどうかの判断が行われる。たとえば、いくつかの実施形態では、分類器スコアが閾値と比較される。分類器スコアが閾値を超える場合、処理は４１５に続く。分類器スコアが閾値を超えない場合、処理は４０３に続く。いくつかの実施形態では、分類器スコアが決定された後、追加のトリガ必要条件が適用され得る。たとえば、決定された分類器スコアは、ある特定の時間枠内で以前に決定された分類器スコアと比較され得る。別の例として、決定された分類器スコアは、同じ位置からの以前に決定されたスコアと比較され得る。別の例として、センサデータは、時間条件及び位置条件の両方を満たすことを要求され得る。たとえば、過去１０分以内の同じ位置からの最も高いスコアのセンサデータのみが潜在的なデータとして保持され得る。さまざまな実施形態において、条件は、センサデータを送信するか又は送信しないかのいずれかのためのフィルタとして機能するトリガ特性を含み得る。いくつかの実施形態では、４１３での条件はオプションであり、分類器スコアのみが閾値と比較される。
【００７６】
いくつかの実施形態では、正及び負の例の両方について別個の閾値が存在する。たとえば、正及び負のセンサデータを潜在的なトレーニングデータとして識別するために、＋０．５及び−０．５の閾値が利用され得る。正の例を識別するために＋０．５〜１．０の間の分類器スコアが使用され、負の例を識別するために−１．０〜−０．５の間の分類器スコアが使用される。いくつかの実施形態では、正の例のみが送信のために保持される。
【００７７】
４１５において、識別されたセンサデータが送信される。たとえば、識別されたセンサデータは、コンピュータサーバ（たとえば、トレーニングデータ生成システム１２０）に送信され、そこで、トレーニングデータを作成するために使用され得る。さまざまな実施形態において、トレーニングデータは、トレーニングデータセット及びバリデーションデータセットを含む。いくつかの実施形態では、送信されるセンサデータはメタデータを含む。メタデータの例は、データの時刻、タイムスタンプ、道路状況、天候状況、位置、車種、車両が左ハンドル車両かそれとも右ハンドル車両か、分類器スコア、ユースケース、ニューラルネットワークの識別子、トリガ分類器の識別子、自動運転システムに関連付けられたファームウェアバージョン、又は、センサデータ及び／又は車両に関連付けられた他の適切なメタデータを含み得る。いくつかの実施形態では、時刻は、夕暮れ、夜明け、夜、昼光、満月、日食などの期間を示し得る。たとえば、トリガ分類器をトレーニングするために使用され、分類器スコアを決定する際に使用される、特定のトレーニングされた機械学習モデルを識別するために、ニューラルネットワーク及び／又はトリガ分類器の識別子が送信され得る。いくつかの実施形態では、センサデータ及び／又はメタデータは、送信される前に先ず圧縮される。いくつかの実施形態では、センサデータは、センサデータをより効率的に転送するためにバッチで送信される。たとえば、センサデータの複数の画像の圧縮が実行され、一連のセンサデータが一緒に送信される。
【００７８】
図５は、トリガ分類器によって識別されたユースケースに対応するデータからトレーニングデータを作成するためのプロセスの実施形態を示すフロー図である。たとえば、機械学習モデルをトレーニングするためのトレーニングデータを作成するために、受信されたセンサデータが処理される。いくつかの実施形態では、センサデータは、トリガ分類器を利用する自動運転システムを介してキャプチャされた走行データに対応する。いくつかの実施形態では、センサデータは、図３のプロセスを使用してトレーニングされたトリガ分類器によって、図４のプロセスを使用して受信される。いくつかの実施形態では、センサデータは、道路の分岐点、オンランプ、オフランプ、トンネルの入口などの識別など、特定のユースケースに基づいてキャプチャされたセンサデータに対応する。いくつかの実施形態では、受信されたセンサデータは、ユースケースの正の例のみに対応する。いくつかの実施形態では、センサデータは、正及び負の例の両方を含む。さまざまな実施形態において、センサデータは、分類器スコア、位置、時刻、又は他の適切なメタデータなどのメタデータを含む。
【００７９】
５０１において、トリガ条件を満たすセンサデータが受信される。たとえば、特定のターゲットユースケースに対応するセンサデータが受信され、潜在的なトレーニングデータとして使用され得る。さまざまな実施形態において、センサデータは、機械学習モデルが入力として使用する形式である。たとえば、センサデータは、ＲＡＷ画像データ、又は処理された画像データであり得る。いくつかの実施形態では、データは、超音波センサ、レーダ、ＬｉＤＡＲセンサ、又は他の適切な技術からキャプチャされたデータである。さまざまな実施形態において、トリガ条件は、図２から図４に関して説明されるように、トリガ分類器及びトリガ特性を使用して指定される。
【００８０】
５０３において、センサデータがトレーニングデータに変換される。たとえば、５０１で受信されたセンサデータは、潜在的に有用なトレーニングデータとして識別されたデータを含む。いくつかの実施形態では、受信されたセンサデータは、離れた位置にある車両からデータを送信するための効率を改善するために圧縮され、最初に解凍される。いくつかの実施形態では、データは、センサデータがターゲットユースケースを正確に表すかどうかを判断するために再検討される。たとえば、ＲＡＷセンサデータが実際にトンネルの出口のデータであるかどうかを判断するために、トンネルの出口の例を識別するためのターゲットユースケースが再検討される。いくつかの実施形態では、センサデータがターゲットユースケースを表すかどうかを確認するために、高度に正確な機械学習モデルが使用される。いくつかの実施形態では、センサデータがターゲットユースケースを表すかどうかを人間が再検討及び確認する。いくつかの実施形態では、トレーニングのための有用なデータがアノテーションされる。たとえば、データが、正又は負の例のいずれかとしてマークされ得る。いくつかの実施形態では、データが、ターゲット物体についてアノテーションされ、ラベル付けされ得る。たとえば、ターゲットユースケースに応じて、車線マーカ、標識、信号機などがアノテーションされ得る。さまざまな実施形態において、アノテーションは、トレーニングされた機械学習モデルのトレーニング及び／又は検証のために使用され得る。
【００８１】
５０５において、５０３で変換されたトレーニングデータが、トレーニング及びバリデーションデータセットとして準備される。さまざまな実施形態において、５０３で変換されたセンサデータが、トレーニングのためのデータセット、及び機械学習モデルをバリデーションするためのバリデーションデータセットに準備される。いくつかの実施形態では、５０３のトレーニングデータは、既存のトレーニングデータセットにマージされる。たとえば、ほとんどのユースケースに適用可能な既存のトレーニングデータセットが、特定のユースケースのカバレッジを改善するために、新しく変換されたトレーニングデータとマージされる。新しく変換されたトレーニングデータは、特定のユースケースを識別する際に、モデルの正確さを改善するのに有用である。いくつかの実施形態では、既存のトレーニングデータのいくつかの部分が破棄され、及び／又は新しいトレーニングデータで置き換えられる。
【００８２】
５０７において、機械学習モデルがトレーニングされる。たとえば、機械学習モデルが、５０５で準備されたデータを使用してトレーニングされる。いくつかの実施形態では、モデルは、畳み込みニューラルネットワーク（ＣＮＮ）などのニューラルネットワークである。さまざまな実施形態において、モデルは、複数の中間層を含む。いくつかの実施形態では、ニューラルネットワークは、複数の畳み込み層及びプーリング層を含む複数の層を含み得る。いくつかの実施形態では、トレーニングモデルは、受信されたセンサデータから作成されたバリデーションデータセットを使用してバリデーションされる。
【００８３】
５０９において、トレーニングされた機械学習モデルがデプロイされる。たとえば、トレーニングされた機械学習モデルが、自律学習システムの更新として車両にインストールされる。たとえば、新しいモデルをインストールするために無線更新が使用されることができる。いくつかの実施形態では、更新は、ＷｉＦｉ又はセルラネットワークなどの無線ネットワークを使用して送信されるファームウェア更新である。いくつかの実施形態では、新しいモデルが、新しいトリガ分類器をトレーニングするために利用される。さまざまな実施形態において、古いモデルに基づく既存のトリガ分類器は期限切れになり、新しくトレーニングされたモデルに基づいて新しいトリガ分類器がデプロイされる。いくつかの実施形態では、車両が点検されるときに新しい機械学習モデルがインストールされる。
【００８４】
図６は、車両上で分類器の選択を引き起こすためのプロセスの実施形態を示すフロー図である。このプロセスは、１又は複数のプロセッサの車両などの車両によって随意選択的に実施され得る。たとえば、車両は多数の分類器を格納した可能性がある。この例では、車両は、処理リソースを節約するために分類器のサブセットを実行し得る。たとえば、車両はサブセットのみについて分類器スコアを決定し得る。図１Ｂで説明されるように、車両はサブセットを定期的に更新し得る（たとえば、閾値時間後に新しい分類器を選択する）。いくつかの実施形態では、車両は、車両が１又は複数の特定の分類器を実行することになることを識別する外部システム（たとえば、システム１２０）からの情報を受信し得る。
【００８５】
ブロック６０１において、車両が分類器を実行する。上記のように、車両は、センサデータを取得し得、センサデータに基づいて分類器スコアを決定し得る。
【００８６】
ブロック６０３において、車両は、新しい分類器を選択するためのトリガを受信する。車両は、少なくともグローバルナビゲーション衛星システム（ＧＮＳＳ）レシーバを介してその位置をモニタリングし得る。いくつかの実施形態では、車両は、地図情報にアクセスすることができ得る。地図情報は、トレーニングデータを取得することが好都合であり得るある特定の特徴又はユースケースを識別し得る。一例として、地図情報はトンネルの出口を識別し得る。別の例として、地図情報は、部分的に塞がれているか又は隠された脇道を識別し得る。別の例として、地図情報は、特定のスタイル又は形態のバイクレーン（たとえば、レイズされたか又はオフセットされたバイクレーン）の位置を識別し得る。車両は、特定の特徴又はユースケースにいつ近接しているとき（たとえば、閾値距離で）を判断し得る。次いで、車両は、特定の特徴又はユースケースに関連付けられた新しい分類器を識別する情報を取得し得る。次いで、この新しい分類器が、受信されたセンサデータについての分類器スコアを決定するために車両によって実行され得る。
【００８７】
さらに、車両は位置情報を外部システムに送信し得る。次いで、外部システムは、車両が実行すべき１又は複数の新しい分類器に関して車両に情報を送信し得る。たとえば、外部システムは、各分類器に関連付けられたユニークな識別子を送信し得る。図１Ｂに説明されるように、外部システムは、少なくとも特定の数の車両（たとえば、１、３、１０、２０）上で実行されている同じ分類器から情報を受信した可能性がある。これらの車両は、外部システムがそれらの位置に近接する特徴又はユースケースの存在を判断するように、互いに閾値距離（たとえば、半径）内に存在していた可能性がある。このように、外部システムは、それが位置の閾値距離内にある場合、同じ分類器を実行するように車両に指示し得る。このようにして、外部システムはこの分類器に関連付けられたセンサデータを取得することができる。
【００８８】
ブロック６０５において、車両は新しい分類器を実行する。本明細書で説明されるように、新しい分類器は、機械学習モデルの中間層（たとえば、畳み込みニューラルネットワーク）から情報を取得し得る。次いで、ブロック６０７において、車両は分類器スコアを決定する。次いで、ブロック６０９において、車両は、閾値を超える分類器スコアに基づいてセンサデータ（たとえば、画像）を送信する。上記のように、センサデータはメタデータと共に送信され得る。
【００８９】
図７は、潜在的なトレーニングデータを識別するためのディープラーニングシステムの実施形態を示すブロック図である。たとえば、ブロック図は、自動運転のためにキャプチャされたセンサデータのサブセットが潜在的なトレーニングデータとして識別される、自動運転のためのトリガ分類器に接続されたディープラーニングシステムの異なるコンポーネントを含む。いくつかの実施形態では、ディープラーニングシステムは、センサデータを受動的に分析し得、ディープラーニングシステムの層の中間出力は、トリガ分類器への入力として使用される。いくつかの実施形態では、ディープラーニングシステムは、車両の動作を積極的に分析及び制御し、一方、追加のトレーニングデータを作成するための潜在的に有用なセンサデータを識別及び保持もする。いくつかの実施形態では、自動運転システムは、車両の自動運転又は運転者支援での動作のために利用される。さまざまな実施形態において、図２〜図６のプロセスは、ディープラーニングシステム、及び／又は図７に説明されたものなどのシステムのコンポーネントを利用する。
【００９０】
示される例では、ディープラーニングシステム７００は、センサ７０１、画像プリプロセッサ７０３、ディープラーニングネットワーク７０５、人工知能（ＡＩ）プロセッサ７０７、車両制御モジュール７０９、ネットワークインタフェース７１１、及びトリガ分類器モジュール７１３を含むディープラーニングネットワークである。さまざまな実施形態において、異なるコンポーネントが、通信可能に接続されている。たとえば、センサ７０１からのセンサデータは、画像プリプロセッサ７０３に供給される。画像プリプロセッサ７０３の処理されたセンサデータは、ＡＩプロセッサ７０７上で動作しているディープラーニングネットワーク７０５に供給される。ＡＩプロセッサ７０７上で動作しているディープラーニングネットワーク７０５の出力は、車両制御モジュール７０９に供給される。ＡＩプロセッサ７０７上で動作しているディープラーニングネットワーク７０５の中間結果は、トリガ分類器モジュール７１３に供給される。トリガ分類器モジュール７１３による送信のための保持をトリガするセンサデータは、ネットワークインタフェース７１１を介して送信される。いくつかの実施形態では、トリガ分類器モジュール７１３は、ＡＩプロセッサ７０７上で動作する。さまざまな実施形態において、ネットワークインタフェース７１１は、車両の自律動作及び／又はトリガ分類器モジュール７１３の結果に基づいて、リモートサーバと通信するため、電話をするため、テキストメッセージを送信及び／又は受信するため、トリガ分類器モジュール７１３によって識別されたセンサデータを送信するため、などに使用される。いくつかの実施形態では、ディープラーニングシステム７００は、必要に応じて、さらなる又はより少ないコンポーネントを含み得る。たとえば、いくつかの実施形態では、画像プリプロセッサ７０３はオプションのコンポーネントである。別の例として、いくつかの実施形態では、出力が車両制御モジュール７０９に提供される前に、ディープラーニングネットワーク７０５の出力に対して後処理を実行するために、後処理コンポーネント（図示されていない）が使用される。
【００９１】
いくつかの実施形態では、センサ７０１は、１又は複数のセンサを含む。さまざまな実施形態において、センサ７０１は、車両の異なる位置で、及び／又は１又は複数の異なる向きで車両に取り付けられ得る。たとえば、センサ７０１は、前向き、後向き、横向きなどの方向で、車両の前部、側面、後部、及び／又は屋根などに取り付けられ得る。いくつかの実施形態では、センサ７０１は、高ダイナミックレンジカメラなどの画像センサであり得る。いくつかの実施形態では、センサ７０１は、非視覚的センサを含む。いくつかの実施形態では、センサ７０１は、とりわけ、レーダ、ＬｉＤＡＲ、及び／又は超音波センサを含む。いくつかの実施形態では、センサ７０１は、車両制御モジュール７０９を有する車両に取り付けられていない。たとえば、センサ７０１は、隣接する車両に取り付けられ、及び／又は道路又は環境に取り付けられ得、センサデータをキャプチャするためのディープラーニングシステムの一部として含まれ得る。
【００９２】
いくつかの実施形態では、画像プリプロセッサ７０３が、センサ７０１のセンサデータを前処理するために使用される。たとえば、画像プリプロセッサ７０３は、センサデータを前処理し、センサデータを１又は複数のコンポーネントに分割し、及び／又は１又は複数のコンポーネントを後処理するために使用され得る。いくつかの実施形態では、画像プリプロセッサ７０３は、グラフィックス処理ユニット（ＧＰＵ）、中央処理装置（ＣＰＵ）、画像シグナルプロセッサ、又は専門の画像プロセッサである。さまざまな実施形態において、画像プリプロセッサ７０３は、高ダイナミックレンジデータを処理するためのトーンマッパプロセッサである。いくつかの実施形態では、画像プリプロセッサ７０３は、人工知能（ＡＩ）プロセッサ７０７の一部として実施される。たとえば、画像プリプロセッサ７０３は、ＡＩプロセッサ７０７のコンポーネントであり得る。
【００９３】
いくつかの実施形態では、ディープラーニングネットワーク７０５は、自律車両制御を実施するためのディープラーニングネットワークである。たとえば、ディープラーニングネットワーク７０５は、センサデータを使用してトレーニングされる畳み込みニューラルネットワーク（ＣＮＮ）などの人工ニューラルネットワークであり得、その出力が車両制御モジュール７０９に提供される。いくつかの実施形態では、ディープラーニングネットワーク７０５のニューラルネットワークの複製が、トリガ分類器モジュール７１３のトリガ分類器を作成するために利用される。
【００９４】
いくつかの実施形態では、人工知能（ＡＩ）プロセッサ７０７は、ディープラーニングネットワーク７０５及び／又はトリガ分類器モジュール７１３を実行するためのハードウェアプロセッサである。いくつかの実施形態では、ＡＩプロセッサ７０７は、センサデータに対して畳み込みニューラルネットワーク（ＣＮＮ）を使用して推論を実行するための専門のＡＩプロセッサである。いくつかの実施形態では、ＡＩプロセッサ７０７は、センサデータのビット深度に対して最適化されている。いくつかの実施形態では、ＡＩプロセッサ７０７は、とりわけ、畳み込み演算、ドット積演算、ベクトル演算、及び／又は行列演算を含む、ニューラルネットワーク演算などのディープラーニング演算用に最適化されている。いくつかの実施形態では、ＡＩプロセッサ７０７は、グラフィックス処理ユニット（ＧＰＵ）を使用して実施される。さまざまな実施形態において、ＡＩプロセッサ７０７は、実行されたときにＡＩプロセッサに、受信された入力センサデータに対してディープラーニング分析を実行させ、少なくとも部分的には自律的に車両を操作するために使用される機械学習結果を決定させる、命令をＡＩプロセッサに提供するように構成されるメモリに連結されている。いくつかの実施形態では、ＡＩプロセッサ７０７は、分類器スコアを決定するために、ディープラーニングネットワーク７０５の１又は複数の層の中間結果をトリガ分類器モジュール７１３に出力するように構成される。
【００９５】
いくつかの実施形態では、車両制御モジュール７０９は、人工知能（ＡＩ）プロセッサ７０７の出力を処理し、出力を車両制御操作に変換するために利用される。いくつかの実施形態では、車両制御モジュール７０９は、自動運転のために車両を制御するために利用される。いくつかの実施形態では、車両制御モジュール７０９は、車両の速度及び／又はステアリングを調整することができる。たとえば、車両制御モジュール７０９は、ブレーキング、ステアリング、車線変更、加速、及び別の車線への合流などによって車両を制御するために使用され得る。いくつかの実施形態では、車両制御モジュール７０９は、ブレーキライト、方向指示器、ヘッドライトなどのような車両用照明を制御するために使用される。いくつかの実施形態では、車両制御モジュール７０９は、オーディオアラートを再生する、マイクロフォンをイネーブルにする、ホーンをイネーブルにする、などする車両のサウンドシステムなどの車両のオーディオ状況を制御するために使用される。いくつかの実施形態では、車両制御モジュール７０９は、衝突の可能性又は意図された目的地への接近などの走行イベントを運転者及び／又は同乗者に通知する警告システムを含む通知システムを制御するために使用される。いくつかの実施形態では、車両制御モジュール７０９は、車両のセンサ７０１などのセンサを調整するために使用される。たとえば、車両制御モジュール７０９は、向きを変更する、出力解像度及び／又はフォーマットタイプを変更する、キャプチャレートを増減させる、キャプチャされるダイナミックレンジを調整する、カメラのフォーカスを調整する、センサをイネーブル及び／又はディセーブルにするなど、１又は複数のセンサのパラメータを変更するために使用され得る。いくつかの実施形態では、車両制御モジュール７０９は、フィルタの周波数範囲を変更する、特徴及び／又はエッジ検出パラメータを調整する、チャネル及びビット深度を調整するなど、画像プリプロセッサ７０３のパラメータを変更するために使用され得る。さまざまな実施形態において、車両制御モジュール７０９は、車両の自動運転及び／又は運転者支援での制御を実施するために使用される。
【００９６】
いくつかの実施形態では、ネットワークインタフェース７１１は、音声データを含むデータを送信及び／又は受信するための通信インタフェースである。さまざまな実施形態において、ネットワークインタフェース７１１は、音声通話を接続及び発信するため、テキストメッセージを送信及び／又は受信するため、センサデータを送信するため、トリガ分類器及び特性を含む、自動運転システムへの更新を受信するためになど、リモートサーバとインタフェースするためのセルラ又は無線インタフェースを含む。たとえば、ネットワークインタフェース７１１は、センサ７０１、画像プリプロセッサ７０３、ディープラーニングネットワーク７０５、ＡＩプロセッサ７０７、車両制御モジュール７０９、及び／又はトリガ分類器モジュール７１３についての命令及び／又は動作パラメータの更新を受信するために使用され得る。たとえば、ディープラーニングネットワーク７０５の機械学習モデルが、ネットワークインタフェース７１１を使用して更新され得る。別の例として、ネットワークインタフェース７１１は、センサ７０１のファームウェア、及び／又は画像処理パラメータなどの画像プリプロセッサ７０３の動作パラメータを更新するために使用され得る。
【００９７】
いくつかの実施形態では、ネットワークインタフェース７１１は、トリガ分類器モジュール７１３によって識別されたセンサデータを送信するために使用される。たとえば、トリガ分類器によって識別され、関連するトリガ特性の条件を満たす特定のユースケースに対応するセンサデータが、ネットワークインタフェース７１１を介して、リモートコンピュータサーバなどのコンピュータサーバに送信される。いくつかの実施形態では、トリガ分類器及びトリガ特性が、ネットワークインタフェース７１１を介して更新される。更新されたトリガ分類器及びトリガ特性は、トリガ分類器モジュール７１３にインストールされ、特定のユースケースに対応するセンサデータを識別及び保持するために使用される。
【００９８】
いくつかの実施形態では、ネットワークインタフェース７１１は、事故又はほぼ事故の場合に緊急サービスと緊急連絡をとるために使用される。たとえば、衝突の場合、ネットワークインタフェース７１１は、助けを求めて緊急サービスに連絡をとるために使用され得、車両の位置及び衝突の詳細を緊急サービスに通知し得る。さまざまな実施形態において、ネットワークインタフェース７１１は、目的地の位置及び／又は予想される到着時間を検索及び／又は更新するためにカレンダ情報にアクセスするなど、自動運転機能を実施するために使用される。
【００９９】
いくつかの実施形態では、トリガ分類器モジュール７１３は、特定のユースケースに対応するセンサデータを識別及び保持するために利用される。たとえば、トリガ分類器モジュール７１３は、センサ７０１の１又は複数のセンサによってキャプチャされたデータについての分類器スコアを決定する。分類器スコアは閾値と比較され、保持、及びネットワークインタフェース７１１を介してリモートコンピュータサーバに送信され得る。いくつかの実施形態では、トリガ分類器モジュール７１３は、分類器スコアを決定するため、及び／又は分類器スコア閾値を満たすセンサデータを保持するために、適切な条件が満たされるかどうかを決定するためにトリガ特性を利用する。いくつかの実施形態では、トリガ分類器モジュールは、サポートベクタマシンであり、センサ７０１のセンサデータを代表する入力としてディープラーニングネットワーク７０５の中間出力を受信する。いくつかの実施形態では、トリガ分類器モジュール７１３は、ディープラーニングネットワーク７０５の１又は複数の層の中間結果を受信するように構成される。特定の層の出力は、トリガ分類器及び／又はトリガ特性に依存し得る。たとえば、いくつかのユースケースは、より前の中間結果を使用し、他のユースケースは、より後の中間結果を利用し得る。いくつかの実施形態では、ＡＩプロセッサ７０７が、トリガ分類器モジュール７１３の処理を実行するために利用され得る。さまざまな実施形態において、トリガ分類器モジュール７１３によって識別されたセンサデータは、特定のユースケースを識別するための新しいトレーニングデータセットを作成するために使用される。
【０１００】
説明された実施形態のさまざまな態様、実施形態、実施態様又は特徴は、別々に又は任意の組合せで使用されることができる。説明された実施形態のさまざまな態様は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアとの組合せによって実施されることができる。説明された実施形態はまた、製造作業を制御するためのコンピュータ可読媒体上のコンピュータ可読コードとして、又は製造ラインを制御するためのコンピュータ可読媒体上のコンピュータ可読コードとして具現化されることもできる。コンピュータ可読媒体は、データを格納することができる任意のデータ記憶デバイスであり、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、リードオンリメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＨＤＤ、ＤＶＤ、磁気テープ、及び光データ記憶デバイスを含む。コンピュータ可読媒体はまた、コンピュータ可読コードが分散記憶及び分散実行されるように、ネットワーク連結されたコンピュータシステムにわたって分散されることもできる。
【０１０１】
前述の説明は、説明の目的で、説明される実施形態の完全な理解を提供するために特定の命名法を使用した。しかしながら、説明された実施形態を実践するために特定の詳細が必要とされないことは当業者には明らかであろう。このように、特定の実施形態の前述の説明は、例示及び説明の目的で提示されている。それらは、網羅的であること、又は説明された実施形態を開示されるそのままの形態に限定することが意図されるものではない。上記の教示を考慮すると、多くの修正及び変形が可能であることは当業者には明らかであろう。
【０１０２】
本明細書に説明され及び／又は図に示されているプロセス、方法、及びアルゴリズムのそれぞれは、１又は複数の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、アプリケーション固有の回路、及び／又は固有かつ特定のコンピュータ命令を実行するように構成された電子ハードウェア、によって実行されるコードモジュールで具体化され、及びそれによって完全に又は部分的に自動化され得ることも理解されよう。たとえば、コンピューティングシステムは、固有のコンピュータ命令でプログラムされた汎用コンピュータ（たとえば、サーバ）又は専用コンピュータ、専用回路などを含み得る。コードモジュールは、コンパイルされて実行可能プログラムにリンクされ、ダイナミックリンクライブラリにインストールされ得るか、又はインタプリタ型プログラミング言語で記述され得る。いくつかの実施形態では、特定の動作及び方法は、所与の機能に固有の回路によって実行され得る。
【０１０３】
さらに、本開示の機能性のある特定の実施形態は、十分に数学的、計算的、又は技術的に複雑であるため、機能性を実行するために、たとえば、関与する計算の量又は複雑さに起因して、又は実質的にリアルタイムで結果を提供するために、アプリケーション固有のハードウェア、又は、１又は複数の物理的コンピューティングデバイス（適切な専用の実行可能命令を利用する）が必要であり得る。たとえば、映像は、各フレームが数百万ピクセルを有する多くのフレームを含み得、商業的に妥当な時間で所望の画像処理タスク又はアプリケーションを提供するために映像データを処理するために、固有にプログラムされたコンピュータハードウェアが必要である。
【０１０４】
コードモジュール又は任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、光ディスク、揮発性又は不揮発性記憶、それらの組合せ及び／又は同様のもの、を含む物理的コンピュータ記憶など、任意のタイプの非一時的なコンピュータ可読媒体上に格納され得る。いくつかの実施形態では、非一時的なコンピュータ可読媒体は、ローカル処理及びデータモジュール、リモート処理モジュール、及びリモートデータリポジトリのうちの、１又は複数のうちの一部であり得る。方法及びモジュール（又はデータ）はまた、無線ベース及び有線／ケーブルベースの媒体を含むさまざまなコンピュータ可読伝送媒体上で、生成されたデータ信号として（たとえば、搬送波又は他のアナログ又はデジタル伝搬信号の一部として）送信され得、さまざまな形態をとり得る（たとえば、単一又は多重化されたアナログ信号の一部として、又は複数の個別のデジタルパケット又はフレームとして）。開示されたプロセス又はプロセスステップの結果は、永続的に又はその他の方法で、任意のタイプの非一時的な有形のコンピュータ記憶に格納され得るか、又はコンピュータ可読伝送媒体を介して通信され得る。
【０１０５】
本明細書に説明され及び／又は添付の図に示されているフロー図のプロセス、ブロック、ステート、ステップ、又は機能性は、特定の機能（たとえば、論理的又は算術的）又はプロセスのステップを実施するための１又は複数の実行可能命令を含むコードモジュール、セグメント、又はコードの一部を潜在的に表すものとして理解されるべきである。さまざまなプロセス、ブロック、ステート、ステップ、又は機能性は、本明細書で提供される例示的な例から、組み合わされ、再配置され、追加され、削除され、修正され、又は他の方法で変更され得る。いくつかの実施形態では、追加の又は異なるコンピューティングシステム又はコードモジュールが、本明細書で説明される機能性のうちのいくつか又はすべてを実行し得る。本明細書に説明される方法及びプロセスはまた、特定のいかなるシーケンスにも限定されず、それに関連するブロック、ステップ、又はステートは、適切な他のシーケンス、たとえば、シリアル、パラレル、又は他の何らかの方法で実行され得る。タスク又はイベントは、開示された例示的な実施形態に追加又は削除され得る。さらに、本明細書に説明される実施形態におけるさまざまなシステムコンポーネントの分離は、例示の目的のためであり、すべての実施形態においてこうした分離を必要とするものとして理解されるべきではない。説明されているプログラムコンポーネント、方法、及びシステムは、一般に、単一のコンピュータ製品に一緒に統合され得るか、又は複数のコンピュータ製品にパッケージ化され得ることが理解されるべきである。
【０１０６】
前述の明細書において、１又は複数のイノベーションが、その特定の実施形態を参照しつつ説明されてきた。しかしながら、イノベーションのより広い精神及び範囲から逸脱することなく、さまざまな修正及び変更がそれに加えられ得ることは明らかであろう。それに応じて、本明細書及び図面は、限定的な意味ではなく例示的な意味と見なされるべきである。
【０１０７】
実際、本開示のシステム及び方法はそれぞれ、いくつかのイノベーション的な態様を有し、その単一の態様だけが、本明細書に開示される望ましい属性を担うわけではなく、又は必要とされるわけではないことが理解されよう。上記のさまざまな特徴及びプロセスは、互いに独立して使用されてもよく、さまざまな方法で組み合わされてもよい。すべての可能な組合せ及び部分的組合せは、本開示の範囲内に含まれることが意図されている。
【０１０８】
別々の実施形態のコンテキストにおいて本明細書に説明されているある特定の特徴もまた、単一の実施形態において組み合わせて実施され得る。逆に、単一の実施形態のコンテキストで説明されるさまざまな特徴もまた、複数の実施形態において別々に、又は任意の適切な部分的組合せで実施され得る。さらに、特徴は、ある特定の組合せで役割を果たすものとして上記され得、最初はそのように主張されても、主張された組合せからの１又は複数の特徴は、場合によっては組合せから削除され得、主張された組合せは、部分的組合せ、又は部分的組合せの変形を対象とし得る。単一の特徴又は特徴のグループが、ありとあらゆる実施形態に必要又は不可欠というわけではない。
【０１０９】
とりわけ、「〜できる（ｃａｎ）」、「〜し得る（ｃａｎ）」、「〜し得る（ｃｏｕｌｄ）」、「〜し得る（ｍｉｇｈｔ）」、「〜し得る（ｍａｙ）」、「〜してもよい（ｍａｙ）」、「〜の場合がある（ｍａｙ）」、「〜かもしれない（ｍａｙ）」、「たとえば（ｅ．ｇ．）」及び同様のものなどの、本明細書で使用される条件付きの文言は、別途明記されない限り、又は使用されるコンテキスト内で他の方法で理解されない限り、一般に、ある特定の実施形態がある特定の特徴、要素、及び／又はステップを含む一方、他の実施形態は含まないことを伝えることが意図される。このように、こうした条件付きの文言は、一般に、特徴、要素、及び／又はステップが１又は複数の実施形態に何らかの形で必要とされるということ、又は、１又は複数の実施形態が、著者の入力又は促しの有無にかかわらず、これらの特徴、要素及び／又はステップが、任意の特定の実施形態に含まれるか、又はその中で実行されるべきであるかどうかを決定するためのロジックを必然的に含むということを、暗示することが意図されるものではない。用語の「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｖｉｎｇ）」及び同様のものは同義であり、オープンエンド様式で包括的に使用され、追加の要素、特徴、作用、動作などを除外するものではない。また、用語の「又は」は、その包括的な意味で（排他的な意味ではなく）使用されるため、たとえば、要素のリストを接続するために使用されたとき、用語「又は」は、リスト内の要素のうちの１つ、いくつか、又はすべてを意味する。さらに、本出願及び添付の特許請求の範囲で使用される冠詞「ａ」、「ａｎ」、及び「ｔｈｅ」、は、別途指定されない限り、「１又は複数」又は「少なくとも１つ」を意味すると解釈されるべきである。同様に、動作は特定の順序で図面に描かれ得るが、こうした動作は、望ましい結果を達成するために、示された特定の順序又は連続した順序で実行される必要はないこと、又は、図示されたすべての動作が実行される必要はないことが、認識されるべきである。さらに、図面は、フローチャートの形でもう１つの例示的なプロセスを概略的に描写し得る。しかしながら、描写されていない他の動作が、概略的に示されている例示的な方法及びプロセスに組み込まれ得る。たとえば、１又は複数の追加の動作が、示された動作のいずれかの前、後、同時に、又はそれらの間で実行され得る。さらに、他の実施形態では、動作が再配置又は並べ替えされ得る。ある特定の状況において、マルチタスク及び並列処理が有利であり得る。さらに、上記の実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてこうした分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品に一緒に統合され得るか、又は複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。さらに、他の実施形態は、以下の特許請求の範囲内である。場合によっては、特許請求の範囲に記載されているアクションは、異なる順序で実行され得、依然として望ましい結果を達成し得る。
【０１１０】
それに応じて、特許請求の範囲は、本明細書に示される実施形態に限定されることが意図されるものではなく、本開示、原理、及び本明細書に開示される新規の特徴と一致する、最も広い範囲を認められるべきである。
【図１Ａ】
2021536072.tif 000003
【図１Ｂ】
2021536072.tif 000004
【図２】
2021536072.tif 000005
【図３】
2021536072.tif 000006
【図４】
2021536072.tif 000007
【図５】
2021536072.tif 000008
【図６】
2021536072.tif 000009
【図７】
2021536072.tif 000010
【国際調査報告】
2021536072.tif 000011