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

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

▶ ウーブン・プラネット・ホールディングス株式会社の特許一覧

特開2024-95940自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法
<>
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図1
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図2
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図3
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図4
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図5
  • 特開-自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024095940
(43)【公開日】2024-07-11
(54)【発明の名称】自動車のアプリケーションのための自己教師ありフェデレーテッドラーニングのためのシステム及び方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240704BHJP
【FI】
G06N20/00 130
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023106133
(22)【出願日】2023-06-28
(31)【優先権主張番号】18/148,710
(32)【優先日】2022-12-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100180194
【弁理士】
【氏名又は名称】利根 勇基
(72)【発明者】
【氏名】川名 雄樹
(72)【発明者】
【氏名】谷内出 悠介
(72)【発明者】
【氏名】田川 貴章
(72)【発明者】
【氏名】山口 晃一郎
(72)【発明者】
【氏名】橋本 大輔
(72)【発明者】
【氏名】青野 博之
(72)【発明者】
【氏名】高橋 亮
(57)【要約】
【課題】安全及びユーザプライバシーを維持しつつ、フェデレーテッドラーニングの訓練をニューラルネットワークに提供する。
【解決手段】方法は、一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信することと、車両上のセンサによって取得されたセンサデータを収集することとを含む。また、方法は、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することを含む。方法は、さらに、特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、第1のデータ項目と、第2のデータ項目と、第1のデータ項目と第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成することを含む。方法は、さらに、訓練データセット上でエッジモデルに対する訓練を行うことと、訓練されたエッジモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信することとを含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
プログラムされた一つ又は複数のプロセッサによって実行される方法であって、
一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信することと、
車両上のセンサによって取得されたセンサデータを収集することと、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定することと、
前記特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、前記第1のデータ項目と、前記第2のデータ項目と、該第1のデータ項目と該第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成することと、
前記訓練データセット上で前記エッジモデルに対する訓練を行うことと、
前記訓練されたエッジモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信することと
を含む、方法。
【請求項2】
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから前記通信ネットワークを介して受信することと、
前記第2のデータに基づいて前記エッジモデルを更新することと
を更に含む、請求項1に記載の方法。
【請求項3】
前記エッジモデルに対する訓練を行うことは、前記受信されたエッジモデルのコピーを訓練することを含む、請求項1又は2に記載の方法。
【請求項4】
前記訓練前の前記エッジモデルと前記訓練後の前記エッジモデルとの間の勾配を前記第1のデータとして得ることを更に含む、請求項1又は2に記載の方法。
【請求項5】
前記受信されたエッジモデルと、前記訓練によって更新された前記エッジモデルのコピーとの間の勾配を前記第1のデータとして得ることを更に含む、請求項3に記載の方法。
【請求項6】
前記変換を適用することは、前記第1のデータ項目を回転させることを含む、請求項1又は2に記載の方法。
【請求項7】
前記訓練データセット上で訓練を行うことは、人間のアノテーション無しで訓練することを含む、請求項1又は2に記載の方法。
【請求項8】
命令を記憶するメモリと、
プロセッサと
を備える、コンピュータデバイスであって、
前記プロセッサは、
一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信し、
車両上のセンサによって取得されたセンサデータを収集し、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定し、
前記特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、前記第1のデータ項目と、前記第2のデータ項目と、該第1のデータ項目と該第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成し、
前記訓練データセット上で前記エッジモデルに対する訓練を行い、
前記訓練されたエッジモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信するための前記命令を実行するように構成される、コンピュータデバイス。
【請求項9】
前記プロセッサは、さらに、
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから前記通信ネットワークを介して受信し、
前記第2のデータに基づいて前記エッジモデルを更新するための前記命令を実行するように構成される、請求項8に記載のコンピュータデバイス。
【請求項10】
前記エッジモデルに対する訓練を行うための前記命令は、前記受信されたエッジモデルのコピーを訓練するための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項11】
前記プロセッサは、さらに、前記訓練前の前記エッジモデルと前記訓練後の前記エッジモデルとの間の勾配を前記第1のデータとして得るための前記命令を実行するように構成される、請求項8又は9に記載のコンピュータデバイス。
【請求項12】
前記プロセッサは、さらに、前記受信されたエッジモデルと、前記訓練によって更新された前記エッジモデルのコピーとの間の勾配を前記第1のデータとして得るための前記命令を実行するように構成される、請求項10に記載のコンピュータデバイス。
【請求項13】
前記変換を適用するための前記命令は、前記第1のデータ項目を回転させるための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項14】
前記訓練データセット上で訓練を行うための前記命令は、人間のアノテーション無しで訓練するための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項15】
命令を記憶する非一時的なコンピュータ可読媒体であって、
前記命令は、
一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信することと、
車両上のセンサによって取得されたセンサデータを収集することと、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定することと、
前記特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、前記第1のデータ項目と、前記第2のデータ項目と、該第1のデータ項目と該第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成することと、
前記訓練データセット上で前記エッジモデルに対する訓練を行うことと、
前記訓練されたエッジモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信することと
を、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、非一時的なコンピュータ可読媒体。
【請求項16】
前記命令は、さらに、
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから前記通信ネットワークを介して受信することと、
前記第2のデータに基づいて前記エッジモデルを更新することと
を、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記エッジモデルに対する訓練を行うことを前記一つ又は複数のプロセッサに実行させることは、前記受信されたエッジモデルのコピーを訓練することを前記一つ又は複数のプロセッサに実行させることを含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記命令は、さらに、前記訓練前の前記エッジモデルと前記訓練後の前記エッジモデルとの間の勾配を前記第1のデータとして得ることを、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記命令は、さらに、前記受信されたエッジモデルと、前記訓練によって更新された前記エッジモデルのコピーとの間の勾配を前記第1のデータとして得ることを、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、請求項17に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記変換を適用することを前記一つ又は複数のプロセッサに実行させることは、前記第1のデータ項目を回転させることを前記一つ又は複数のプロセッサに実行させることを含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、自動運転車両のアプリケーションにおけるニューラルネットワークの訓練を提供するためのシステム及び方法に関する。具体的には、本開示は、安全及びユーザプライバシーを維持しつつ、フェデレーテッドラーニングの訓練をニューラルネットワークに提供することに関する。
【背景技術】
【0002】
ニューラルネットワークは、多数の分散エッジデバイス(例えば病院又は携帯電話に実装されたプロセッサ又はコンピュータデバイス)に展開されたアプリケーションに統合される場合がある。斯かるニューラルネットワークを訓練する一つの方法が、ユーザのプライバシーを確保しつつ大量のデータを使用して機械学習(ML)モデルを訓練するフェデレーテッドラーニング(FL)である。
【0003】
この目的のために、FL技術はローカル訓練フェーズ及びグローバル集約フェーズから成る。ローカル訓練フェーズでは、各エッジデバイスは、アプリケーションによって検知され且つ使用されるデータを用いて各エッジデバイスのニューラルネットワークのコピーを訓練する。エッジデバイス上で訓練を行うことによって、ローカルデータが外部に(例えばリモートコーディネータ又はサーバに)曝され又は送信されることがなく、このことによってエッジデバイスユーザのデータのプライバシーが確保される。代わりに、エッジデバイス上で訓練されたニューラルネットワークに対するローカルな更新のみがコーディネータに送信され、コーディネータは更新を集約して新たなグローバルモデルを生成する。その後、グローバルモデルをアプリケーションにおける使用のために他のエッジデバイスに提供することができる。
【0004】
自動運転車両におけるコンピュータビジョン(CL)又は他の機械学習(ML)アプリケーション(例えば自動運転制御)のようなセーフティクリティカルなアプリケーションに統合された機械学習(ML)モデルが推定の精度及び実世界環境での使用の安全性を確保するために大量のデータで訓練されることが極めて重要である。FLがこれらモデルに適用されうるが、車両コンテキストにおける訓練のための信頼できる教師信号(例えば人間のアノテーション)が存在しない。その結果、車両におけるローカルデータ上で訓練されたときに、推定の精度が減少する場合がある。
【発明の概要】
【0005】
一つ又は複数の例示的な実施形態によって、運転情報を非ドライバユーザに提供するためのシステム及び方法が提供される。
【0006】
本開示の態様によれば、プログラムされた一つ又は複数のプロセッサによって実行される方法は、一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信することと、車両上のセンサによって取得されたセンサデータを収集することと、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することと、特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、第1のデータ項目と、第2のデータ項目と、第1のデータ項目と第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成することと、訓練データセット上でエッジモデルに対する訓練を行うことと、訓練されたエッジモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信することとを含む。
【0007】
本開示の態様によれば、コンピュータデバイスは、命令を記憶するメモリと、プロセッサとを含み、プロセッサは、一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信し、車両上のセンサによって取得されたセンサデータを収集し、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定し、特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、第1のデータ項目と、第2のデータ項目と、第1のデータ項目と第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成し、訓練データセット上でエッジモデルに対する訓練を行い、訓練されたエッジモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信するための命令を実行するように構成される。
【0008】
本開示の態様によれば、非一時的なコンピュータ可読媒体は命令を記憶し、命令は、一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信することと、車両上のセンサによって取得されたセンサデータを収集することと、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することと、特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、第1のデータ項目と、第2のデータ項目と、第1のデータ項目と第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成することと、訓練データセット上でエッジモデルに対する訓練を行うことと、訓練されたエッジモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信することとを、装置の一つ又は複数のプロセッサによって実行されるときに一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む。
【0009】
追加の態様が、以下の記載において部分的に説明され、以下の記載から明らかになり、又は本開示の提示された実施形態の実践から学ぶことができる。
【図面の簡単な説明】
【0010】
図1図1は、実施形態に係るシステムの図である。
図2図2は、実施形態に係る図1の自動運転車両のコンポーネントの図である。
図3図3は、実施形態に従って、複数の自動運転車両のためのニューラルネットワークを訓練することに関連するデータ処理の図である。
図4図4は、実施形態に従って、単一の自動運転車両のためのニューラルネットワークを訓練することに関連するデータ処理に関わる変換の図である。
図5図5は、実施形態に従って、単一の自動運転車両のためのニューラルネットワークを訓練することに関連するデータ処理の図である。
図6図6は、実施形態に従って、自動運転車両のためのニューラルネットワークを訓練する方法についてのフローチャートである。
【発明を実施するための形態】
【0011】
上記及び他の態様、特徴並びに本開示の実施形態の態様は、添付図面と併せて解釈される以下の説明からより明らかになるだろう。
【0012】
例示的な実施形態の以下の詳細な説明は添付図面を参照する。種々の図面における同一の参照番号は同一又は同様の要素を特定する。
【0013】
図1は、実施形態に係るシステム100の図である。システム100は一つ又は複数の車両110a-n及び一つ又は複数のサーバコンピュータ120a-nを含む。一つ又は複数のサーバコンピュータ120a-nは、例えば通信ネットワーク130を介して、互いと接続し、車両110a-nの各々と接続する。
【0014】
開示された実施形態は、一つ又は複数のサーバコンピュータ120から受信することを含む。本開示において使用されるようなサーバコンピュータ120は、汎用コンピュータ、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ、ノートブック、全地球測位装置、ラップトップコンピュータ、スマートフォン、携帯情報端末、ネットワークサーバ、及びユーザとやり取りしてプログラミングコードを開発する可能性のあるその他の電子デバイスを含む。
【0015】
いくつかの実施形態では、サーバコンピュータ120は、、プロセッサ、ディスプレイ装置、メモリ装置、及び電子通信を促進するこれらコンポーネントを含む他のコンポーネントを含む。他のコンポーネントは入出力装置のようなユーザインタフェース装置を含む。サーバコンピュータ120は、中央処理装置(CPU)又はプロセッサ、バス、メモリ装置、ストレージユニット、データプロセッサ、入力装置、出力装置、ネットワークインタフェース装置、及び当業者に明らかな他のタイプのコンポーネントの組合せのようなコンピュータハードウェアコンポーネントを含む。サーバコンピュータ120は、さらに、ソフトウェアモジュール、一連の命令、ルーチン、データ構造、表示インタフェース、及び本開示の操作を実行する他のタイプの構造を含むアプリケーションプログラムを含むことができる。
【0016】
開示された実施形態は、通信ネットワーク130を介して受信することを含む。本開示において使用されるような通信ネットワークは、ネットワークノード上にあり又はネットワークノードによって提供されるリソースを共有する一組のコンピュータ(例えば一つ又は複数のサーバコンピュータ120)を含む。この一組のコンピュータはデジタル相互接続を介した共通の通信プロトコルを使用して互いと通信する。これら相互接続は、様々なネットワークトポロジに配置される物理的な有線の、光学的な、ワイヤレスの無線周波数方式に基づく電気通信技術から構成される。例えば、これら相互接続は、データベース、サーバ、RF(無線周波数)信号、セルラー技術、イーサネット、電話、「TCP/IP」(トランスミッションコントロールプロトコル/インターネットプロトコル)、及びその他の電子通信フォーマットを通して行われる。例えば、ネットワーク130は、セルラーネットワーク(例えば、第五世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第三世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワーク等)、公衆陸上移動体通信網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(例えば、公衆交換電話網(PSTN)、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、若しくはこれらの均等物、及び/又はこれらの組合せ若しくは他のタイプのネットワークを含む。
【0017】
図1に示されるサーバ120及びネットワーク130の数及び配置は例として提供されている。実際には、追加のサーバ120及び/又はネットワーク130、より少ないサーバ120及び/又はネットワーク130、種々のサーバ120及び/又はネットワーク130、又は図1に示されるものとは異なる配置のサーバ120及び/又はネットワーク130が存在する。さらに、図1に示される二つ以上のサーバ120が単一のサーバ120内に実装されてもよく、又は図1に示される単一のサーバ120が複数の分散サーバ130として実装されてもよい。加えて又は代替的に、一組のサーバ120(例えば一つ又は複数のサーバ120)が、別の組のサーバ120によって実行されるものとして記載された一つ又は複数の機能を実行してもよい。
【0018】
いくつかの実施形態では、通信ネットワーク130はニューラルネットワークとして構築される。ニューラルネットワークは、生物学的脳におけるニューロンを大まかにモデル化した、人工ニューロンと呼ばれる接続されたユニット又はノードの集合体に基づくものである。生物学的脳におけるシナプスのような各接続は信号を他のニューロンに送信することができる。人工ニューロンは、信号を受信して処理し、その後、それに接続された他のニューロンに信号を送る。接続におけるこれら信号は実際の数であり、各ニューロンの出力はその入力の合計の非線形関数によって計算される。これら接続は(自動運転車両110のような)エッジであってもよい。ニューロン及びエッジは、学習が進行するにつれて調整される重みを有する。重みは接続における信号の強さを増大又は減少させる。ニューロンは、集約信号がその閾値を超える場合にのみ信号が送信されるような閾値を有する。ニューロンは層に集約される。異なる層がこれらの入力に対して異なる変換を実行する。信号は、最初の層(例えば入力層)から潜在的な中間層を介して最後の層(例えば出力層)まで移動し、複数回移動してもよい。
【0019】
以下に更に詳細に説明されるように、フェデレーテッドラーニング(FL)は、エッジデバイス上で行われるローカルな訓練に信頼性の高い自己教師(self-supervision)を組み込むことによってセーフティクリティカルな自動車のアプリケーションのニューラルネットワークを訓練するのに使用される。FLを適用することによって、ニューラルネットワークを訓練するのに大量のデータを使用することができ、このことによって推定の精度が高められる。さらに、FLを適用することによってユーザ(すなわち車両110のオペレータ)についてのデータプライバシーを確保することができる。加えて、信頼性の高い自己教師を組み込むことによって、ニューラルネットワークによる推定又は予測の精度を高めることができる。
【0020】
車両110のより詳細な図が図2に見られる。車両110の各々は、一つ又は複数のセンサ112と、一つ又は複数の送受信機114と、車両コンピュータ116とを含む。
【0021】
本開示において使用されるような一つ又は複数の送受信機114は、例えば、有線接続、無線接続、又は有線接続と無線接続との組合せを介して、車両110が他の車両110及び/又は一つ又は複数のサーバコンピュータ120と通信するのを可能とする一つ又は複数のコンポーネント(例えば送受信機及び/又は別個の受信機及び送信機)を含む。一つ又は複数の送受信機114は、車両110が別の車両110/サーバコンピュータ120から情報を受信し且つ/又は別の車両110/サーバコンピュータ120に情報を提供することを可能とする。例えば、一つ又は複数の送受信機114は、イーサネットインタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラーネットワークインタフェース、又は電気/電磁情報を送信又は受信することができるその他のインタフェースを含む。
【0022】
図2に見られるように、本開示において使用されるような車両コンピュータ116は、バス(図示せず)、メモリ117、プロセッサ118、入力コンポーネント(図示せず)及び出力コンポーネント(図示せず)を含む。
【0023】
バスは、車両コンピュータ116のコンポーネント間の通信を可能とするコンポーネントを含む。
【0024】
プロセッサ118は、ハードウェア、ファームウェア又はハードウェアとソフトウェアとの組合せにおいて実装される。プロセッサ118は、中央処理装置(CPU)、グラフィック処理装置(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。プロセッサ118は、機能を実行するようにプログラムされることが可能な一つ又は複数のプロセッサを含む。
【0025】
メモリ117は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、及び/又はプロセッサ118によって使用される情報及び/又は命令を記憶する別のタイプの動的又は静的ストレージ装置(例えばフラッシュメモリ、磁気メモリ及び/又は光メモリ)を含む。メモリ117は、車両コンピュータ116の操作及び使用に関する情報及び/又はソフトウェアも記憶する。例えば、メモリ117は、対応するドライブと共に、ハードディスク(例えば磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的なコンピュータ可読媒体を含む。
【0026】
入力コンポーネントは、例えばユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ及び/又はマイクロフォン)を介して車両コンピュータ116が情報を受信することを可能とするコンポーネントを含む。入力コンポーネントは、情報を検知するためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ及び/又はアクチュエータ)を含む。
【0027】
出力コンポーネントは、車両コンピュータ116から出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、及び/又は一つ又は複数の発光ダイオード(LED))を含む。
【0028】
車両コンピュータ116は、本明細書に記載された一つ又は複数の処理を実行する。車両コンピュータ116は、メモリ117のような非一時的なコンピュータ可読媒体によって記憶されたソフトウェア命令をプロセッサ118が実行することに基づいて、操作を実行する。コンピュータ可読媒体は本明細書において非一時的なメモリ装置として定義される。メモリ装置は、単一の物理ストレージ装置内のメモリ空間、又は複数の物理ストレージ装置に亘って広がるメモリ空間を含む。
【0029】
ソフトウェア命令は一つ又は複数の送受信機114を介して別のコンピュータ可読媒体又は別の装置からメモリ117に読み込まれてもよい。実行されると、メモリ117に記憶されたソフトウェア命令は、本明細書に記載された一つ又は複数の処理をプロセッサ118に実行させる。
【0030】
加えて又は代替的に、本明細書に記載された一つ又は複数の処理を実行するために、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせてハードワイヤード回路が使用されてもよい。このため、本明細書に記載される実施形態がハードウェア回路及びソフトウェアの特定の組合せに限定されることはない。
【0031】
開示された実施形態は、エッジモデル210(例えばエッジモデル210a)を受信することを含む。本開示において使用されるようなエッジモデル210は機械学習モデルを含む。機械学習モデルは、(車両110aのような)自動運転車両上で動作するアプリケーションに統合されるように構成される。自動運転車両110上で動作するアプリケーションは、コンピュータビジョン、自動運転制御、及び自動運転車両110の操作に関連する他の機械学習アプリケーションのようなセーフティクリティカルなアプリケーションである。自動運転制御は、加速、制動、操舵、変速、及び車両110の環境を通して車両110の動作に影響する可能性のあるその他のシステムの自律制御を含むことができる。
【0032】
いくつかの実施形態では、エッジモデル210は、車両110が遭遇する物体140の検出に関連付けられる。物体は、別の車両、歩行者、野生動物、道路障害物、又は車両110と相互作用する可能性のあるその他の態様の環境である。例えば、図1において、物体140が道路上の自転車として描かれている。
【0033】
いくつかの実施形態では、エッジモデル210は感覚的解釈と関連付けられる。例えば、感覚的解釈の一つのタイプは画像セグメンテーションを含む。画像セグメンテーションはデジタル画像を複数の画像セグメント(例えば画像領域又は画像物体(一組のピクセル))に分割する。画像セグメンテーションは画像の表示をより有意義なもの及び/又はより分析しやすいものに単純化し且つ/又は変更する。画像セグメンテーションは画像における物体及び境界(例えば線及び曲線)を突き止めるのに使用される。画像セグメンテーションは、同一のラベルを有するピクセルが或る特性を共有するように、画像内の様々なピクセルにラベルを割り当てることを含む。
【0034】
図1及び図2に見られるように、車両110aは、一つ又は複数の送受信機114を介してエッジモデル210aを受信し、受信したエッジモデル210aを例えば車両110aの車両コンピュータ116のメモリ117に記憶する。同様に、他の車両110b-nが、それぞれ、これらのそれぞれの送受信機114においてエッジモデル210aと同様にモデル(例えば、エッジモデル210b、エッジモデル210c、エッジモデル210n)を受信し、受信したそれぞれのエッジモデル210b-nを例えば他の車両110b-nの車両コンピュータ116のメモリ117に記憶する。
【0035】
開示された実施形態は、車両110aにおいて一つ又は複数のセンサ112によって取得されたセンサデータ220aを収集することを含む。本開示において使用されるようなセンサ112は、カメラ、カムコーダ、マイクロフォン、ライダ、又はセンサデータ220aを収集するように構成されたその他の装置を含む。本開示において使用されるようなセンサデータ220aは、写真、映像記録、音声記録、ライダデータ、又は車両110aの周囲環境のその他の測定記録を含む。同様に、他の車両110b-nがそれぞれこれらのそれぞれのセンサ112を介してセンサデータ220b-nを収集する。
【0036】
図1及び図2に見られるように、車両110aは、一つ又は複数のセンサ112を介してセンサデータ220aを受信し、受信したセンサデータ220aを例えば車両コンピュータ116のメモリ117に記憶する。同様に、他の車両110b-nがそれぞれこれらの収集されたセンサデータ220b-nをこれらの車両コンピュータ116のこれらのそれぞれのメモリ117を介して記憶する。
【0037】
開示された実施形態は車両110(例えば車両110a)を含む。本開示において使用されるような車両110は、車、バン、トラック、バス、オートバイ、モペット、ドローン、ロボット、又は完全な又は部分的な自律移動が可能なその他の移動装置を含む。
【0038】
図1に見られるように、システム100は複数の車両110a-nを含む。車両110a-nの各々は他の車両110a-nのいくつかと実質的に同様であり又は他の車両110a-nのいくつかと異なっている。いくつかの実施形態では、全ての車両110a-nが、同様の検知及び動的能力/構成を有する同一モデルの自動運転車である。他の実施形態では、全ての車両110a-nが、様々な異なる検知及び動的能力/構成を有する異なるモデルの自動運転車両である。他の実施形態では、車両110a-nのいくつかが同様の構成であり、他の車両が異なる構成である。
【0039】
開示された実施形態は、収集されたセンサデータ220aの中から第1のデータ項目222aを特定することを含む。本開示において使用されるような第1のデータ項目222aは、車両110aによって受信されたセンサデータ220aのサブセットを含み、このサブセットは、推定の精度及び実世界環境における使用の安全性を改善するようにエッジモデル210aを訓練するのに有用である。同様の方法で、例えば図3に見られるように、他の車両110b-nは、第1のデータ項目222aの特定と同様に、他の第1のデータ項目(例えば、第1のデータ項目222b、第1のデータ項目222c、第1のデータ項目222n)を特定することを含む。
【0040】
開示された実施形態は、第1のデータ項目222aが基準を満たすと判定されるときを特定することを含む。本開示において使用されるような基準は、(i)データが検知されるときの車両情報(例えば、速度、操舵及び制動)(例えば、所定速度以上である速度、又は速度が所定速度以上であるときの制動、所定度若しくは所定量以上である操舵、速度が所定速度以上であるときに所定量以上である操舵、又はエッジモデル210を訓練するのに有用な車両動作に関連するその他の条件)と、(ii)データが検知されるときの(例えば、慣性計測装置(IMU)、全地球測位システム(GPS)、又は車両110aの相対的又は絶対的な位置/向きを判別するのに使用されるその他のセンサによって判別されるような)車両の位置、データが検知されるときの時間、データが送信されるときのドライバモニタ情報、(iii)画像認識結果(例えば、シーン分類、検出された物体の数の分散、道路構造、又は車両110aの周囲の環境のその他の意味のある特性)、(iv)画像特徴の一意性/クラスタリング、(v)不確実性指標(uncertainty metrics)、(vi)及び/又はエッジモデル210を訓練するのに有用であることを示すその他の認識可能な特性を含む。同様の方法で、他の車両110b-nは、これらのそれぞれの第1のデータ項目222b-nが基準を満たすと判定されるときを特定する。
【0041】
開示された実施形態は、特定された第1のデータ項目222aに対して変換224aaを適用することを含む。本開示において使用されるような変換224aaは、回転、反転、コントラスト調整、又は種々の態様で関連情報を提示する、第1のデータ項目222aに対するその他の操作を含む。例えば、図4に見られるように、第1のデータ項目222aは自転車の画像であり、変換224aaは自転車画像の45°の回転である。いくつかの実施形態では、追加の変換224ab-anが第1のデータ項目222aに対して適用される。例えば、図4に見られるように、変換224abは自転車画像の90°の回転であり、変換224acは自転車画像の135°の回転であり、変換224anは自転車画像の180°の回転である。同様な方法で、他の車両110b-nは、これらそれぞれの第1のデータ項目222b-nに対してこれら自体の変換224ba-nnを適用する。
【0042】
いくつかの実施形態(例えば上述した例)では、変換パラメータ(例えば回転量)が記憶され且つ訓練者によって知られている限り、変換224(例えば回転)はランダムであってもよい。変換が知られている訓練データを使用することによって、ニューラルネットワークは、教師信号(supervision signal)無しで、入力/訓練されるものとして取得する画像に適用される回転を認識するように訓練される。本開示において使用されるような教師信号は、入力及び所望の出力値を有する訓練例を含む。
【0043】
開示された実施形態は、変換224aaを適用して第2のデータ項目226aaを生成することを含む。本開示において使用されるような第2のデータ項目226aaは、回転されたデータ、反転されたデータ、コントラスト調整されたデータ、又は第1のデータ項目222aから変換されたその他の操作されたデータを含む。例えば、図4に見られるように、第2のデータ項目226aaは、45°回転された自転車の画像である。いくつかの実施形態では、追加のデータ項目226ab-anが、適用される変換224ab-anによって生成される。例えば、図4に見られるように、第3のデータ項目226abは、90°回転された自転車の画像であり、第4のデータ項目226acは、135°回転された自転車の画像であり、n番目のデータ項目226anは、180°回転された自転車の画像である。同様の方法で、他の車両110b-nは、それぞれの変換224ba-nnを適用することによってこれら自体の第2の/追加のデータ項目226ba-nnを生成する。
【0044】
加えて、図4に描かれるような追加の変換224ab-anの全てが第1のデータ項目222aに適用されて追加のデータ項目226ab-anを生成するが、そうである必要はないことに留意されたい。例えば、いくつかの実施形態では、追加の変換224ab-anは、第1のデータ項目222aへの代わりに、生成された第2の/追加のデータ項目226aa-anのいくつかへ適用され、追加のデータ項目226ab-anを生成する。
【0045】
エッジモデル210aは、エッジモデル210aへの入力として、特定された第1のデータ項目を用いて動作される。いくつかの実施形態では、(i)エッジモデル210aがサーバコンピュータ120から受信されて車両110aの車両コンピュータ116のメモリ117に記憶され、且つ(ii)第1のデータ項目222aがメモリ117に記憶されて車両110aのプロセッサ118によって特定された後、プロセッサ118は第1のデータ項目222aをエッジモデル210aに入力して推定として物体140を検出する。エッジモデル210aを動作させることは、物体140の検出をもたらし、一つ又は複数の特定の信頼レベルを有する推定を生成する。これら信頼レベルは、エッジモデル210aが実世界環境における物体140を正確に認識できる程度を示す。例えば、プロセッサ118は、第1のデータ項目222aをエッジモデル210aを通して動作させた後、推定として、90%の信頼で、自転車が検出されたことを判別する。同様な方法で、例えば図3に見られるように、他の車両110b-nは、入力としてこれらそれぞれの第1のデータ項目222b-nを用いてこれらそれぞれの受信されたエッジモデル210b-nを動作させて推定を生成する。これら他の推定の信頼区間は、個々に、車両110aの推定と同様であり、車両110aの推定未満であり、又は車両110aの推定よりも大きい。
【0046】
開示された実施形態は、(例えば図5に見られるように)第1のデータ項目222aaと、第2のデータ項目226aaと、第1のデータ項目222aと第2のデータ項目226aaとの間の変換224aaを表す信号225aaとを含む訓練データセット228aを形成することを含む。本開示において使用されるような訓練データセット228aを形成することは、機械学習モデルを訓練するのに有用な態様で関連情報を集約することを含む。訓練データセット228aは追加のデータ項目226ab-nn(例えば図4に示されるようなもの)を含む。同様に、例えば図3に見られるように、他の車両110b-nは、それぞれの車両110b-nに対応する、それぞれの第1のデータ項目222b-nと、第2の/追加のデータ項目226ba-nnと、第1のデータ項目222b-nと第2の/追加のデータ項目226ba-nnとの間の変換224ba-nnを表す信号225ba-nnとを含むこれら自体の訓練データセット(例えば訓練データセット228b、訓練データセット228c、訓練データセット228n)を生成する。
【0047】
開示された実施形態は、訓練データセット228a上でエッジモデル210aに対して訓練を行うことを含む。本開示において使用されるような訓練は、FLに関連するローカル訓練フェーズ(local training phase)を含む。この訓練は、訓練データセット228aのコンポーネントが人間が注釈を付けたラベルを含まないので、自己教師あり訓練(self-supervised training)として特徴付けられる。本開示において使用されるようなラベルは、機械学習モデルがそれから学習できるようなコンテキストを提供する、物体(例えば物体140)の意味ある又は有益な特性である。例えば、自転車に対応するラベルは、二輪、ペダル又はハンドルバーを含む。いくつかの実施形態では、自己教師あり訓練は、所定条件(例えば車両が駐車されている、WiFi接続が確立されている、車両が外部電源に接続されている、電源が利用可能である、又は安全且つ効率的な態様で訓練が行われることを可能とするその他の条件)が満たされていることに基づいて実行される。
【0048】
図4において見られるように、訓練データセット228aを用いてエッジモデル210aの訓練を行うことは、訓練されたエッジモデル230aの生成をもたらす。訓練されたエッジモデル230aは、訓練されていないエッジモデル210aよりも高い信頼レベルの推定を生成することができる。例えば、プロセッサ118は、訓練されたエッジモデル230aを通して第1のデータ項目222aを動作させた後、訓練された第1の推定として、95%の信頼(元のエッジモデル210aを使用した90%からの上昇)で、自転車が検出されたことを判別する。同様に、他の車両110b-nは、それぞれ生成されたこれらの訓練データセット228b-n上でこれらのそれぞれのエッジモデル210b-nの訓練を行って、訓練されたエッジモデル230b-nを生成する。
【0049】
いくつかの実施形態では、エッジモデル210aに対して訓練を行うことは、受信されたエッジモデル210aのコピーを訓練することを含む。エッジモデル210aのコピーに訓練を行うことによって、訓練後に元のエッジモデル210aが保存される。従って、高い信頼レベルを有する推定を生成可能なモデル210a、230aを今後も使用できるように、元のエッジモデル210aの性能と、訓練されたエッジモデル230aの性能とを比較することができる。同様に、他の車両110b-nはこれらのそれぞれのエッジモデル210b-nのコピー上でこれらを訓練する。
【0050】
開示された実施形態は、訓練されたエッジモデル230aを表す第1のデータ240aを通信ネットワーク130を介して一つ又は複数のサーバコンピュータ120に送信することを含む。訓練のために訓練データセット228aを一つ又は複数のサーバ120に送信することとは対照的に、(ローカルで訓練を行うことによって取得された)訓練されたエッジモデル230aを表す第1のデータ240aを送信することによってユーザのデータのプライバシーを保護することができる。同様に、図3に見られるように、他の車両110b-nは、その後に一つ又は複数のサーバ120に送信されるこれら自体の第1のデータ(例えば、第1のデータ240b、第1のデータ240c、第1のデータ240n)を生成する。
【0051】
開示された実施形態は、訓練前のエッジモデル210aと訓練後のエッジモデル230aとの間の勾配232aを第1のデータ240aとして得ることを含む。本開示において使用されるような勾配232aは、エッジモデル210aと、訓練されたエッジモデル230aとの間の差を表す更新パラメータ(例えば重み)を含む。更新/訓練されたモデル230aの全体ではなく勾配232aのみを送信することによって、送信のオーバーヘッドを低減することができ、このことによって通信ネットワーク130のパフォーマンスを改善することができる。同様に、他の車両110b-nは、その後に一つ又は複数のサーバ120に送信される、これらそれぞれのエッジモデル210b-nと、訓練されたエッジモデル230b-nとの間の勾配232b-nをこれらそれぞれの第1のデータ240b-nとして得る。
【0052】
開示された実施形態は、他のエッジモデル230b-nから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータ250aを一つ又は複数のサーバコンピュータ120から通信ネットワーク130を介して受信することを含む。本開示において使用されるような第2のデータ250aは、FLに関連するグローバル集約フェーズ(global aggregation phase)の結果を含む。例えば、一つ又は複数のサーバコンピュータ120は、エッジモデル210aに対して複数のエッジ車両110a-nの各々から受信された第1のデータ240a-n(例えば訓練されたモデル230a-n又は勾配232a-n)を集約し、それに従ってエッジモデル210aを更新する。第2のデータ250aは、更新されたエッジモデル自体、又は更新されたエッジモデルと元のエッジモデル210aとの間の勾配を表す。同様に、他の車両110b-nはそれぞれ第2のデータ250b-nを受信する。第2のデータ250b-nは、それぞれのモデル210b-nに対するデータ240a-nの集約に基づくそれぞれのモデル210b-nに対する更新を表す。第2のデータ250b-nはそれぞれ第2のデータ250aと実質的に同一であり又は第2のデータ250aとは異なる。いくつかの実施形態では、第2のデータ250aは一つ又は複数のサーバコンピュータ120からエッジ車両110a-nの各々に送信される。
【0053】
開示された実施形態は、第2のデータ250aに基づいてエッジモデル210aを更新することを含む。第2のデータ250aを用いてエッジモデル210a(並びに可能性としては両方のコピーがメモリ117に記憶されている場合に、訓練されたエッジモデル230a)を更新した後、更新されたエッジモデルは、元のエッジモデル210a及び訓練されたエッジモデル230aの両方に対してより高い信頼レベルの推定を生成することができる。例えば、プロセッサ118は、更新されたエッジモデルを通して第1のデータ項目222aを動作させた後、更新された第1の推定として、98%の信頼で(訓練されたエッジモデル230aを使用した95%及び元のエッジモデル210aを使用した90%からの上昇)、自転車が検出されたことを判別する。同様に、他の車両110b-nはそれぞれ第2のデータ250b-nを用いてこれらのそれぞれのエッジモデル210b-nを更新する。代替的に、他の車両110b-nは第2のデータ250aを用いてこれらのそれぞれのエッジモデル210b-nを更新してもよい。
【0054】
図6は、実施形態に従って自動運転車両のためのニューラルネットワークを訓練するFLを提供する方法についてのフローチャートである。図6を参照すると、操作302において、システムは一つ又は複数のサーバコンピュータから通信ネットワークを介してエッジモデルを受信する。操作304では、システムは、車両上のセンサによって取得されたセンサデータを収集する。操作306では、システムは、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定する。操作308では、システムは、特定された第1のデータ項目に対して変換を適用して第2のデータ項目を生成し、第1のデータ項目と、第2のデータ項目と、第1のデータ項目と第2のデータ項目との間の変換を表す信号とを含む訓練データセットを形成する。操作310では、システムは訓練データセット上でエッジモデルに対する訓練を行う。操作312では、システムは、訓練されたエッジモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信する。
【0055】
上述した方法の一つ又は複数の操作が省略され又は他の操作と組み合わされてもよく、且つ一つ又は複数の追加の操作が加えられてもよいことが理解される。
【0056】
上述した方法を利用して、従来の自動運転車両の訓練技術に対するいくつかの利点が実現される。訓練データをコーディネータに送信することとは対称的に、ローカルで訓練を行うことによって、ユーザのデータのプライバシーが確保される。信頼性の高い自己教師を適用することによって、教師信号が容易に又は実際的に達成できない車両コンテキストにおいて訓練を行うことができ、推定の精度を改善することができる。更新/訓練されたモデルではなく勾配のみを送信することによって、送信のオーバーヘッドが低減され、このことによって通信ネットワークのパフォーマンスを改善することができる。複数のエッジデバイスからMLモデルに対する更新を集約することによって、大量のデータを用いてMLモデルを効率的に訓練することができ、このことによってパフォーマンス(推定の精度)を改善することができる。
【0057】
前述の開示は、例示及び説明を提供するが、網羅的であること、又は開示された正確な形態に実施を限定することを意図するものではない。修正及び変形が上記の開示に照らして可能であり又は実施の実践から得られてもよい。例えば、いくつかの実施形態において、(例えばコンピュータデバイスを介してユーザによって)少なくともいくつかのセンサデータ220に注釈が付与されてもよい。この場合、センサデータ220は、スマートフォン、モバイルデバイス、又はユーザの他のコンピュータデバイスに送信又は提供され、ユーザが画像内の物体に注釈を付与することができる。他の実施形態では、自己教師あり訓練(例えば回転の予測)の後、人間が注釈を付与したラベルを使用する教師あり訓練が適用されてもよい。斯かる最初の自己教師を用いたニューラルネットワークの訓練はその後の教師あり学習のパフォーマンスを増大させる。回転角度の予測のために、ニューラルネットワークは画像内の物体の方向の理解を必要とする。したがって、ニューラルネットワークは特定の画像特徴に焦点を当てるように学習することができる。例えば、正面を向いた車を画像内に有する画像では、車が画像内で逆さまであるかを見分けるために、ナンバープレートが通常フロントガラスの下に位置していることを理解することが重要である。このため、フロントガラスがナンバープレートよりも上に位置している場合には、画像内の車が逆さまである可能性が高い。ニューラルネットワークは、最初の時点では、それが抽出する、「ナンバープレート」又は「フロントガラス」と称される画像特徴を知らない。したがって、一般的な自己教師あり訓練は、ニューラルネットワークが線又はエッジのような単純な形状よりもむしろ有用な画像特徴を抽出するように学習するように仕向ける。第2の段階では、自己教師あり学習の後に教師あり訓練が適用されたときに、ニューラルネットワークは、或る物体を予測するために、学習された画像特徴をどのように使用すべきかを教えられる。概して、ニューラルネットワークがどのくらい有用な画像特徴を抽出できるかがより高いパフォーマンスと相関し、より良い抽出が、概して、ニューラルネットワークが訓練中に曝される画像の数と相関する。このため、自己教師あり学習によってより多くの画像を使用することは、人間によるラベルのアノテーションを用いたより少数の画像のみでの訓練よりもパフォーマンスを増大させるのに役立つ。
【0058】
本明細書において使用されるとき、用語「コンポーネント」は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せとして広く構成されることを意図している。
【0059】
本明細書に記載されたシステム及び/又は方法が、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せの種々の形態で実装されうることが明らかであろう。これらシステム及び/又は方法を実装するために使用される実際の専用の制御ハードウェア又はソフトウェアコードは実装を限定するものではない。このため、システム及び/又は方法の操作及び挙動が特定のソフトウェアコードを参照することなく本明細書に記載され、ソフトウェア及びハードウェアが本明細書の記載に基づいてシステム及び/又は方法を実装するように設計されうることが理解される。
【0060】
特徴の特定の組合せが特許請求の範囲に列挙され且つ/又は明細書に開示されているが、これら組合せは可能な実装の開示を限定することは意図していない。実際、これら特徴の多くを、特許請求の範囲に具体的に列挙されてなく且つ/又は明細書に開示されていない方法で組み合わせることができる。以下に挙げられた各従属請求項が一つの請求項のみに直接従属しているが、可能な実装の開示は、請求項のセット内の他の全ての請求項と組み合わされた各従属請求項を含む。
【0061】
本明細書において使用される要素、行為又は命令は、明示的に記載されない限り、重要又は必須であると解釈されるべきではない。また、本明細書において使用されるとき、冠詞「a」及び「an」は、一つ又は複数の項目を含むことを意図しており、「一つ又は複数の」と交換可能に使用されうる。さらに、本明細書において使用されるとき、用語「組」は、一つ又は複数の項目(例えば、関連する項目、関連しない項目、関連する項目と関連しない項目との組合せ等)を含むことを意図しており、「一つ又は複数の」と交換可能に使用されうる。一つのみの項目が意図されている場合、用語「一つ」又は類似の言葉が使用される。また、本明細書において使用されるとき、用語「有する」又は同様の用語は、オープンエンドの用語であることを意図している。さらに、語句「基づく」は、反対のことが明記されない限り、「少なくとも部分的に基づく」を意味することを意図している。
【0062】
要素のリストに先行するときの「少なくとも一つの」のような表現は、要素のリスト全体を修飾し、リストの個々の要素を修飾することはない。例えば、表現「a、b及びcの少なくとも一つ」は、aのみ、bのみ、cのみ、a及びbの両方、a及びcの両方、b及びcの両方、a、b及びcの全て、又は前述の例の任意のバリエーションを含むものと理解されるべきである。
【0063】
「第1の」、「第2の」等のような用語が様々な要素を記載するのに使用されるが、斯かる要素は上記の用語に限定されてはならない。上記の用語は、一つの要素を別の要素と区別するためのみに使用されうる。
図1
図2
図3
図4
図5
図6
【外国語明細書】