(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024095941
(43)【公開日】2024-07-11
(54)【発明の名称】教師モデルによる知識の抽出を用いた、自動車のアプリケーションのためのフェデレーテッドラーニングのためのシステム及び方法
(51)【国際特許分類】
G06N 3/098 20230101AFI20240704BHJP
G08G 1/16 20060101ALI20240704BHJP
【FI】
G06N3/098
G08G1/16 A
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023106321
(22)【出願日】2023-06-28
(31)【優先権主張番号】18/090,993
(32)【優先日】2022-12-29
(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)【発明者】
【氏名】高橋 亮
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181BB05
5H181BB13
5H181BB20
5H181CC03
5H181CC04
5H181CC14
5H181FF04
5H181FF10
5H181FF13
5H181FF25
5H181FF27
5H181FF33
5H181LL01
5H181LL07
5H181LL08
5H181LL09
5H181MC19
5H181MC27
(57)【要約】 (修正有)
【課題】安全及びユーザプライバシーを維持しつつ、フェデレーテッドラーニングの訓練をニューラルネットワークに提供する。
【解決手段】方法は、一つ又は複数のサーバから通信ネットワークを介して第1のモデルを受信することと、車両のセンサセンサデータを収集することと、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することと、第2のモデルへの入力として第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、特定された第1のデータ項目に対応する教師信号として、導出された推定信号とを含む訓練データセットを提供することと、訓練データセット上で第1のモデルに対する訓練を行うことと、訓練された第1のモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバに送信することとを含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
プログラムされた一つ又は複数のプロセッサによって実行される方法であって、
一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信することと、
車両上のセンサによって取得されたセンサデータを収集することと、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定することと、
第2のモデルへの入力として前記第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、前記特定された第1のデータ項目と、該特定された第1のデータ項目に対応する教師信号として、前記導出された推定信号とを含む訓練データセットを提供することと、
前記訓練データセット上で前記第1のモデルに対する訓練を行うことと、
前記訓練された第1のモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信することと
を含む、方法。
【請求項2】
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから通信ネットワークを介して受信することと、
前記第2のデータに基づいて前記第1のモデルを更新することと
を更に含む、請求項1に記載の方法。
【請求項3】
前記第1のモデルに対する訓練を行うことは、前記受信された第1のモデルのコピーを訓練することを含む、請求項1又は2に記載の方法。
【請求項4】
前記訓練前の前記第1のモデルと前記訓練後の前記第1のモデルとの間の勾配を前記第1のデータとして得ることを更に含む、請求項1又は2に記載の方法。
【請求項5】
前記受信された第1のモデルと、前記訓練によって更新された前記第1のモデルのコピーとの間の勾配を前記第1のデータとして得ることを更に含む、請求項3に記載の方法。
【請求項6】
前記第1のデータ項目を特定することは、
前記第1のデータ項目を前記第1のモデル及び前記第2のモデルの両方に入力し、前記第1のモデルの出力と前記第2のモデルの出力とを比較することと、
前記出力の差が所定値よりも大きいことに基づいて、訓練のための前記第1のデータ項目を特定することと
を含む、請求項1又は2に記載の方法。
【請求項7】
前記第1のデータ項目を特定することは、
リアルタイムで前記第1のデータ項目を前記第1のモデルに入力し、出力と該出力についての信頼スコアとを得ることと、
前記信頼スコアが所定値未満であることに基づいて、訓練のための前記第1のデータ項目を特定することと
を含む、請求項1又は2に記載の方法。
【請求項8】
命令を記憶するメモリと、
プロセッサと
を備える、コンピュータデバイスであって、
前記プロセッサは、
一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信し、
車両上のセンサによって取得されたセンサデータを収集し、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定し、
第2のモデルへの入力として前記第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、該特定された第1のデータ項目に対応する教師信号として、前記導出された推定信号とを含む訓練データセットを提供し、
前記訓練データセット上で前記第1のモデルに対する訓練を行い、
前記訓練された第1のモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信するための前記命令を実行するように構成される、コンピュータデバイス。
【請求項9】
前記プロセッサは、さらに、
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから通信ネットワークを介して受信し、
前記第2のデータに基づいて前記第1のモデルを更新するための前記命令を実行するように構成される、請求項8に記載のコンピュータデバイス。
【請求項10】
前記第1のモデルに対する訓練を行うための前記命令は、前記受信された第1のモデルのコピーを訓練するための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項11】
前記プロセッサは、さらに、前記訓練前の前記第1のモデルと前記訓練後の前記第1のモデルとの間の勾配を前記第1のデータとして得るための前記命令を実行するように構成される、請求項8又は9に記載のコンピュータデバイス。
【請求項12】
前記プロセッサは、さらに、前記受信された第1のモデルと、前記訓練によって更新された前記第1のモデルのコピーとの間の勾配を前記第1のデータとして得るための前記命令を実行するように構成される、請求項10に記載のコンピュータデバイス。
【請求項13】
前記第1のデータ項目を特定するための前記命令は、
前記第1のデータ項目を前記第1のモデル及び前記第2のモデルの両方に入力し、前記第1のモデルの出力と前記第2のモデルの出力とを比較し、
前記出力の差が所定値よりも大きいことに基づいて、訓練のための前記第1のデータ項目を特定するための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項14】
前記第1のデータ項目を特定するための前記命令は、
リアルタイムで前記第1のデータ項目を前記第1のモデルに入力し、出力と該出力についての信頼スコアとを取得し、
前記信頼スコアが所定値未満であることに基づいて、訓練のための前記第1のデータ項目を特定するための命令を含む、請求項8又は9に記載のコンピュータデバイス。
【請求項15】
命令を記憶する非一時的なコンピュータ可読媒体であって、
前記命令は、
一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信することと、
車両上のセンサによって取得されたセンサデータを収集することと、
第1のデータ項目が基準を満たすと判定されたときに、前記収集されたセンサデータの中から該第1のデータ項目を特定することと、
第2のモデルへの入力として前記第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、該特定された第1のデータ項目に対応する教師信号として、前記導出された推定信号とを含む訓練データセットを提供することと、
前記訓練データセット上で前記第1のモデルに対する訓練を行うことと、
前記訓練された第1のモデルを表す第1のデータを前記通信ネットワークを介して前記一つ又は複数のサーバコンピュータに送信することと
を、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、非一時的なコンピュータ可読媒体。
【請求項16】
前記命令は、さらに、
他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータを前記一つ又は複数のサーバコンピュータから通信ネットワークを介して受信することと、
前記第2のデータに基づいて前記第1のモデルを更新することと
を、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記第1のモデルに対する訓練を行うことを前記一つ又は複数のプロセッサに実行させることは、前記受信された第1のモデルのコピーを訓練することを前記一つ又は複数のプロセッサに実行させることを含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記命令は、さらに、前記訓練前の前記第1のモデルと前記訓練後の前記第1のモデルとの間の勾配を前記第1のデータとして得ることを、装置の一つ又は複数のプロセッサによって実行されるときに該一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記第1のデータ項目を特定することを前記一つ又は複数のプロセッサに実行させることは、
前記第1のデータ項目を前記第1のモデル及び前記第2のモデルの両方に入力し、前記第1のモデルの出力と前記第2のモデルの出力とを比較することと、
前記出力の差が所定値よりも大きいことに基づいて、訓練のための前記第1のデータ項目を特定することと
を前記一つ又は複数のプロセッサに実行させることを含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記第1のデータ項目を特定することを前記一つ又は複数のプロセッサに実行させることは、
リアルタイムで前記第1のデータ項目を前記第1のモデルに入力し、出力と該出力についての信頼スコアとを得ることと、
前記信頼スコアが所定値未満であることに基づいて、訓練のための前記第1のデータ項目を特定することと
を前記一つ又は複数のプロセッサに実行させることを含む、請求項15又は16に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、自動運転車両のアプリケーションにおけるニューラルネットワークの訓練を提供するためのシステム及び方法に関する。具体的には、本開示は、安全及びユーザプライバシーを維持しつつ、フェデレーテッドラーニングの訓練をニューラルネットワークに提供することに関する。
【背景技術】
【0002】
ニューラルネットワークは、多数の分散エッジデバイス(例えば病院又は携帯電話に実装されたプロセッサ又はコンピュータデバイス)に展開されたアプリケーションに統合される場合がある。斯かるニューラルネットワークを訓練する一つの方法が、ユーザのプライバシーを確保しつつ大量のデータを使用して機械学習(ML)モデルを訓練するフェデレーテッドラーニング(FL)である。
【0003】
この目的のために、FL技術はローカル訓練フェーズ及びグローバル集約フェーズから成る。ローカル訓練フェーズでは、各エッジデバイスは、アプリケーションによって検知され且つ使用されるデータを用いて各エッジデバイスのニューラルネットワークのコピーを訓練する。エッジデバイス上で訓練を行うことによって、ローカルデータが外部に(例えばリモートコーディネータ又はサーバに)曝され又は送信されることがなく、このことによってエッジデバイスユーザのデータのプライバシーが確保される。代わりに、エッジデバイス上で訓練されたニューラルネットワークに対するローカルな更新のみがコーディネータに送信され、コーディネータは更新を集約して新たなグローバルモデルを生成する。その後、グローバルモデルをアプリケーションにおける使用のために他のエッジデバイスに提供することができる。
【0004】
自動運転車両におけるコンピュータビジョン(CL)又は他の機械学習(ML)アプリケーション(例えば自動運転制御)のようなセーフティクリティカルなアプリケーションに統合された機械学習(ML)モデルが推定の精度及び実世界環境での使用の安全性を確保するために大量のデータで訓練されることが極めて重要である。FLがこれらモデルに適用されうるが、車両コンテキストにおける訓練のための信頼できる教師信号(例えば人間のアノテーション)が存在しない。その結果、車両におけるローカルデータ上で訓練されたときに、推定の精度が減少する場合がある。
【発明の概要】
【0005】
一つ又は複数の例示的な実施形態によって、運転情報を非ドライバユーザに提供するためのシステム及び方法が提供される。
【0006】
本開示の態様によれば、プログラムされた一つ又は複数のプロセッサによって実行される方法は、一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信することと、車両上のセンサによって取得されたセンサデータを収集することと、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することと、第2のモデルへの入力として第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、特定された第1のデータ項目に対応する教師信号として、導出された推定信号とを含む訓練データセットを提供することと、訓練データセット上で第1のモデルに対する訓練を行うことと、訓練された第1のモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信することとを含む。
を含む。
【0007】
本開示の態様によれば、コンピュータデバイスは、命令を記憶するメモリと、プロセッサとを含み、プロセッサは、一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信し、車両上のセンサによって取得されたセンサデータを収集し、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定し、第2のモデルへの入力として第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、特定された第1のデータ項目に対応する教師信号として、導出された推定信号とを含む訓練データセットを提供し、訓練データセット上で第1のモデルに対する訓練を行い、訓練された第1のモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信するための命令を実行するように構成される。
【0008】
本開示の態様によれば、非一時的なコンピュータ可読媒体は命令を含み、命令は、一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信することと、車両上のセンサによって取得されたセンサデータを収集することと、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定することと、第2のモデルへの入力として第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、特定された第1のデータ項目に対応する教師信号として、導出された推定信号とを含む訓練データセットを提供することと、訓練データセット上で第1のモデルに対する訓練を行うことと、訓練された第1のモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信することとを、装置の一つ又は複数のプロセッサによって実行されるときに一つ又は複数のプロセッサに実行させる一つ又は複数の命令を含む。
【0009】
追加の態様が、以下の記載において部分的に説明され、以下の記載から明らかになり、又は本開示の提示された実施形態の実践から学ぶことができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施形態に係るシステムの図である。
【
図2】
図2は、実施形態に係る
図1の自動運転車両のコンポーネントの図である。
【
図3】
図3は、実施形態に従って、複数の自動運転車両のためのニューラルネットワークを訓練することに関連するデータ処理の図である。
【
図4】
図4は、実施形態に従って、単一の自動運転車両のためのニューラルネットワークを訓練することに関連するデータ処理の図である。
【
図5】
図5は、実施形態に従って、自動運転車両のためのニューラルネットワークを訓練する方法についてのフローチャートである。
【発明を実施するための形態】
【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)は、第2のニューラルネットワーク(例えば教師モデル)を組み込んで訓練のための教師信号(supervision signal)として推定信号を導出することによってセーフティクリティカルな自動車のアプリケーションのニューラルネットワークを訓練するのに使用される。FLを適用することによって、ニューラルネットワークを訓練するのに大量のデータを使用することができ、このことによって推定の精度が高められる。さらに、FLを適用することによってユーザ(すなわち車両110のオペレータ)についてのデータプライバシーを確保することができる。加えて、エッジデバイスにおける訓練に特化された第2のモデルを組み込むことによって、(リアルタイムでの使用のためにより軽い重さでなければならない)アプリケーションに統合されたエッジモデルよりも第2のモデルを頑健に且つ計算的に重くすることができ、このため、エッジモデルよりも正確な推定が提供される。最後に、第2のモデルからの推定が教師信号として使用されるので、エッジモデルによる推定又は予測の精度を高めることができる。
【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】
開示された実施形態は、第1のモデル210(例えば第1のモデル210a)を受信することを含む。本開示において使用されるような第1のモデル210は機械学習モデルを含む。機械学習モデルは、(車両110aのような)自動運転車両上で動作するアプリケーションに統合されるように構成される。自動運転車両110上で動作するアプリケーションは、コンピュータビジョン、自動運転制御、及び自動運転車両110の操作に関連する他の機械学習アプリケーションのようなセーフティクリティカルなアプリケーションである。自動運転制御は、加速、制動、操舵、変速、及び車両110の環境を通して車両110の動作に影響する可能性のあるその他のシステムの自律制御を含むことができる。
【0032】
いくつかの実施形態では、第1のモデル210(第1のモデル210a)は、車両110(例えば車両110a)が遭遇する物体140の検出に関連付けられる。物体は、別の車両、歩行者、野生動物、道路障害物、又は車両110と相互作用する可能性のあるその他の態様の環境である。例えば、
図1において、物体140が道路上の自転車として描かれている。
【0033】
いくつかの実施形態では、第1のモデル210(例えば第1のモデル210a)は感覚的解釈と関連付けられる。例えば、感覚的解釈の一つのタイプは画像セグメンテーションを含む。画像セグメンテーションはデジタル画像を複数の画像セグメント(例えば画像領域又は画像物体(一組のピクセル))に分割する。画像セグメンテーションは画像の表示をより有意義なもの及び/又はより分析しやすいものに単純化し且つ/又は変更する。画像セグメンテーションは画像における物体及び境界(例えば線及び曲線)を突き止めるのに使用される。画像セグメンテーションは、同一のラベルを有するピクセルが或る特性を共有するように、画像内の様々なピクセルにラベルを割り当てることを含む。
【0034】
図1及び
図2に見られるように、車両110aは、一つ又は複数の送受信機114を介して第1のモデル210aを受信し、受信した第1のモデル210aを例えば車両110aの車両コンピュータ116のメモリ117に記憶する。同様に、他の車両110b-nが、それぞれ、これらのそれぞれの送受信機114において第1のモデル210aと同様に第1のモデル(例えば、第1のモデル210b、第1のモデル210c、第1のモデル210n)を受信し、受信したそれぞれの第1のモデル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を含む。本開示において使用されるような車両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のサブセットを含み、このサブセットは、推定の精度及び実世界環境における使用の安全性を改善するように第1のモデル210aを訓練するのに有用である。同様の方法で、例えば
図3に見られるように、他の車両110b-nは、第1のデータ項目222aの特定と同様に、他のデータ項目(例えば、第1のデータ項目222b、第1のデータ項目222c、第1のデータ項目222n)を特定することを含む。
【0040】
開示された実施形態は、第1のデータ項目222aが基準を満たすと判定されるときを特定することを含む。本開示において使用されるような基準は、(i)データが検知されるときの車両情報(例えば、速度、操舵及び制動)(例えば、所定速度以上である速度、又は速度が所定速度以上であるときの制動、所定度若しくは所定量以上である操舵、速度が所定速度以上であるときに所定量以上である操舵、又は第1のモデル210を訓練するのに有用な車両動作に関連するその他の条件)と、(ii)データが検知されるときの(例えば、慣性計測装置(IMU)、全地球測位システム(GPS)、又は車両110aの相対的又は絶対的な位置/向きを判別するのに使用されるその他のセンサによって判別されるような)車両の位置、データが検知されるときの時間、データが送信されるときのドライバモニタ情報、(iii)画像認識結果(例えば、シーン分類、検出された物体の数の分散、道路構造、又は車両110aの周囲の環境のその他の意味のある特性)、(iv)画像特徴の一意性/クラスタリング、(v)不確実性指標(uncertainty metrics)、(vi)及び/又は第1のモデル210を訓練するのに有用であることを示すその他の認識可能な特性を含む。同様の方法で、他の車両110b-nは、これらのそれぞれのデータ項目222b-nが基準を満たすと判定されるときを特定する。
【0041】
第1のデータ項目222(例えば第1のデータ項目222a)の評価は、特定された第1のデータ項目222aに含まれる物体140を検出することを含む。本開示において使用されるような物体140を検出することは、環境内の物体140の実世界の存在を示す第1のデータ項目222の位置を特定することを含む。環境内の物体140の実世界の存在に関する情報は、物体140の位置、向き、サイズ、速度、軌跡又はその他の物理的/挙動的特徴を含む物体の特性を含む。
図1に見られるように、物体140を検出することは、第1のデータ項目222aの位置が、特定の速度で、特定の方向に、道路の特定の部分を移動している自転車を示していることを決定することを含む。
【0042】
開示された実施形態は、訓練された第2のモデル215(例えば第2のモデル215a)を含む。第1のモデル210と同様の第2のモデル215は機械学習モデルを含む。機械学習モデルは特に車両110(例えば車両110a)における訓練のために構成される。第2のモデル215は、センサデータ220を評価する能力に関して、第1のモデル210と実質的に同様である。しかしながら、アプリケーションが統合された第1のモデル210がリアルタイムでの使用のために比較的軽い重さであるのに対して、第2のモデル215は教師モデルとして機能するためにより頑健であり且つ計算量が多い。いくつかの実施形態では、第2のモデル215は例えば車両110の車両コンピュータ116のメモリ117に予めインストールされうる。いくつかの実施形態では、車両110aは、一つ又は複数の送受信機114を介して第2のモデル215を受信し、受信した第2のモデル215を例えば車両110の車両コンピュータ116のメモリ117に記憶する。
【0043】
開示された実施形態は、第1のデータ項目222(第1のデータ項目222a)を第1のモデル210(例えば第1のモデル210a)に入力することを含む。いくつかの実施形態では、(i)第1のモデル210がサーバコンピュータ120から受信されて車両110(例えば車両110a)の車両コンピュータ116のメモリ117に記憶され、且つ(ii)第1のデータ項目222がメモリ117に記憶されて車両110のプロセッサ118によって特定された後に、プロセッサ118は第1のデータ項目222を第1のモデル210に入力して第1の推定223(例えば第1の推定223a)の出力として物体140を検出する。第1のモデル210を動作させることは、物体140の検出をもたらし、一つ又は複数の特定の信頼スコア224(例えば信頼スコア224a)を有する第1の推定223を生成する。これら信頼スコア224は、物体140の存在、特性及び挙動(すなわち第1の推定223)の第1モデル210の認知が実世界環境における物体140の現実と一致する程度を示す。例えば、プロセッサ118は、第1のデータ項目222aを第1のモデル210aを通して動作させた後、第1の推定223aとして、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けることとを判別する。この例では、第1の推定223aは、第1の推定223aが実世界における物体140の現実と一致している可能性が80%あることを示す80%の信頼スコア224aを有する。
【0044】
開示された実施形態は、信頼スコア224(例えば信頼スコア224a)が所定値未満であることに基づいて訓練のための第1のデータ項目222(例えば第1のデータ項目222a)を特定することを含む。第1の推定223a(すなわち、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けること)が80%の信頼スコア224aを有する上記の例では、(i)所定値が例えば85%に設定された場合には第1のデータ項目222aが訓練のために特定され、(ii)所定値が例えば75%に設定された場合には、第1のデータ項目222aは訓練のために特定されない。
【0045】
開示された実施形態は、第1のデータ項目222(例えば第1のデータ項目222a)を第2のモデル215(例えば第1のモデル210a)に入力して推定信号(例えば第2の推定225a)を出力として導出することを含む。いくつかの実施形態では、第1のデータ項目222がメモリ117に記憶されて車両110のプロセッサ118によって特定された後、プロセッサ118は第1のデータ項目222を第2のモデル215に入力して第2の推定225(例えば第2の推定225a)として物体140を検出する。第2のモデル215を動作させることは、物体140の検出をもたらし、第2の推定225を生成する。例えば、プロセッサ118は、第1のデータ項目222aを第2のモデル215aを通して動作させた後、第2の推定225aとして、時速25マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けることとを判別することができる。
【0046】
開示された実施形態は、第1のモデル210の出力と第2のモデル215の出力とを比較することを含む。本開示において使用されるとき、第1のモデル210の出力及び第2のモデル215の出力はそれぞれ第1の推定223及び第2の推定225を含む。上記の例では、第1の推定223a(すなわち、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けること)が第2の推定225a(すなわち、時速25マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けること)と比較されると、出力の差が時速5マイルの速度差であることが分かる。
【0047】
開示された実施形態は、出力(例えば推定223a、225a)の差が所定値よりも大きいことに基づいて訓練のための第1のデータ項目222(例えば第1のデータ項目222a)を特定することを含む。第1の推定223a(すなわち、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けること)と第2の推定225a(すなわち、時速25マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けること)との間の差が時速5マイルの速度差である上記の例では、(i)所定値が例えば時速3マイルに設定された場合には、第1のデータ項目222aが訓練のために特定され、(ii)所定値が例えば時速10マイルに設定された場合には、第1のデータ項目222aは訓練のために特定されない。
【0048】
開示された実施形態は、特定された第1のデータ項目222aと、導出された推定信号225aとを含む訓練データセット228aを提供することを含む。本開示において使用されるような訓練データセット228aを生成することは、機械学習モデルを訓練するために有用な態様の関連情報を集約することを含む。同様に、例えば
図3に見られるように、他の車両110b-nは、それぞれの車両110b-nに対応する第1のデータ項目222b-n及び導出された推定信号225b-nを含むようにこれら自体の訓練データセット(例えば訓練データセット228b、訓練データセット228c、訓練データセット228n)を生成する。
【0049】
開示された実施形態は、推定信号225aを教師信号として導出することを含む。本開示において使用されるような教師信号は、入力及び所望の出力値を有する訓練例を含む。入力は(例えば
図4に見られるような)推定信号225aを含む。所望の出力値は第1のデータ項目222aについての擬似ラベルを含む。同様に、車両110b-nに関連する推定信号225b-nも教師信号として導出される。
【0050】
開示された実施形態は、訓練データセット228a上で第1のモデル210aに対して訓練を行うことを含む。本開示において使用されるような訓練は、FLに関連するローカル訓練フェーズ(local training phase)を含む。
図4に見られるように、訓練データセット228aを用いて第1のモデル210aを訓練することは、訓練された第1のモデル230aの生成をもたらす。訓練された第1のモデル230aは、訓練されていない第1のモデル210aよりも高い信頼レベルの推定を生成することができる。例えば、プロセッサ118は、第1のデータ項目222aを訓練された第1のモデル230aを通して動作させた後、訓練された第1の推定として、90%の信頼(元の第1のモデル210aを使用した80%の第1の推定223aからの上昇)で、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けることとを判別する。同様に、他の車両110b-nは、これらのそれぞれ生成された訓練データセット228b-n上でこれらのそれぞれのエッジモデル210b-nを訓練して、訓練されたエッジモデル230b-nを生成する。
【0051】
いくつかの実施形態では、第1のモデル210aに対して訓練を行うことは、受信された第1のモデル210aのコピーを訓練することを含む。第1のモデル210aのコピーに訓練を行うことによって、訓練後に元の第1のモデル210aが保存される。従って、高い信頼レベルを有する推定を生成可能なモデル210a、230aを今後も使用できるように、元の第1のモデル210aの性能と、訓練された第1のモデル230aの性能とを比較することができる。同様に、他の車両110b-nはこれらのそれぞれのエッジモデル210b-nのコピー上でこれらを訓練する。
【0052】
開示された実施形態は、訓練された第1のモデル230aを表す第1のデータ240aを通信ネットワーク130を介して一つ又は複数のサーバコンピュータ120に送信することを含む。訓練のために訓練データセット228aを一つ又は複数のサーバ120に送信することとは対照的に、(ローカルで訓練を行うことによって取得された)訓練された第1のモデル230aを表す第1のデータ240aを送信することによってユーザのデータのプライバシーを保護することができる。同様に、
図3に見られるように、他の車両110b-nは、その後に一つ又は複数のサーバ120に送信されるこれら自体の第1のデータ(例えば、第1のデータ240b、第1のデータ240c、第1のデータ240n)を生成する。
【0053】
開示された実施形態は、訓練前の第1のモデル210aと訓練後の第1のモデル230aとの間の勾配232aを第1のデータ240aとして得ることを含む。本開示において使用されるような勾配232aは、第1のモデル210aと、訓練された第1のモデル230aとの間の差を表す更新パラメータ(例えば重み)を含む。更新/訓練されたモデル230aの全体ではなく勾配232aのみを送信することによって、送信のオーバーヘッドを低減することができ、このことによって通信ネットワーク130のパフォーマンスを改善することができる。同様に、他の車両110b-nは、その後に一つ又は複数のサーバ120に送信される、これらそれぞれのエッジモデル210b-nと、訓練されたエッジモデル230b-nとの間の勾配232b-nをこれらそれぞれのデータ240b-nとして得る。
【0054】
開示された実施形態は、他のエッジモデルから集約されたモデル情報を用いて訓練されたモデルを表す第2のデータ250aを一つ又は複数のサーバコンピュータ120から通信ネットワーク130を介して受信することを含む。本開示において使用されるような第2のデータ250aは、FLに関連するグローバル集約フェーズ(global aggregation phase)の結果を含む。例えば、一つ又は複数のサーバコンピュータ120は、第1のモデル210aに対して複数のエッジ車両110a-nの各々から受信されたデータ240a-n(例えば訓練されたモデル230a-n又は勾配232a-n)を集約し、それに従って第1のモデル210aを更新する。第2のデータ250aは、更新された第1のモデル自体、又は更新された第1のモデルと元の第1のモデル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の各々に送信される。
【0055】
開示された実施形態は、第2のデータ250aに基づいて第1のモデル210aを更新することを含む。第2のデータ250aを用いて第1のモデル210a(並びに可能性としては両方のコピーがメモリ117に記憶されている場合に、訓練された第1のモデル230a)を更新した後、更新された第1のモデルは、元の第1のモデル210a及び訓練された第1のモデル230aの両方に対してより高い信頼レベルの推定を生成することができる。例えば、プロセッサ118は、更新された第1のモデルを通して第1のデータ項目222aを動作させた後、更新された第1の推定として、95%の信頼で(訓練された第1のモデル230aを使用した90%及び元の第1のモデル210aを使用した80%からの上昇)、時速20マイルで北に向かっている自転車が検出されたことと、検出された自転車がこの軌跡上を進み続けることとを判別する。同様に、他の車両110b-nはそれぞれ第2のデータ250b-nを用いてこれらのそれぞれのエッジモデル210b-nを更新する。代替的に、他の車両110b-nは第2のデータ250aを用いてこれらのそれぞれのエッジモデル210b-nを更新してもよい。
【0056】
図5は、実施形態に従って自動運転車両のためのニューラルネットワークを訓練するFLを提供する方法についてのフローチャートである。
図5を参照すると、操作302において、システムは一つ又は複数のサーバコンピュータから通信ネットワークを介して第1のモデルを受信する。操作304では、システムは、車両上のセンサによって取得されたセンサデータを収集する。操作306では、システムは、第1のデータ項目が基準を満たすと判定されたときに、収集されたセンサデータの中から第1のデータ項目を特定する。操作308では、システムは、第2のモデルへの入力として第1のデータ項目を使用して、訓練された第2のモデルを動作させることによって推定信号を導出して、特定された第1のデータ項目と、特定された第1のデータ項目に対応する教師信号として、導出された推定信号とを含む訓練データセットを提供する。操作310では、システムは訓練データセット上で第1のモデルに対する訓練を行う。操作312では、システムは、訓練された第1のモデルを表す第1のデータを通信ネットワークを介して一つ又は複数のサーバコンピュータに送信する。
【0057】
上述した方法の一つ又は複数の操作が省略され又は他の操作と組み合わされてもよく、且つ一つ又は複数の追加の操作が加えられてもよいことが理解される。
【0058】
上述した方法を利用して、従来の自動運転車両の訓練技術に対するいくつかの利点が実現される。訓練データをコーディネータに送信することとは対称的に、ローカルで訓練を行うことによって、ユーザのデータのプライバシーが確保される。エッジデバイスでの訓練に特化された第2のモデルを組み込むことによって、第2のモデルを、アプリケーションに統合された(リアルタイムでの使用のためにより軽い重さでなければならない)エッジモデルよりも頑健且つ計算的に重くすることができ、ひいては第2のモデルによってエッジモデルよりも正確な推定が提供される。第2モデルからの推定を教師信号として使用することによって、エッジモデルによる推定又は予測の精度を高めることができる。更新/訓練されたモデルではなく勾配のみを送信することによって、送信のオーバーヘッドが低減され、このことによって通信ネットワークのパフォーマンスを改善することができる。複数のエッジデバイスからMLモデルに対する更新を集約することによって、大量のデータを用いてMLモデルを効率的に訓練することができ、このことによってパフォーマンス(推定の精度)を改善することができる。
【0059】
前述の開示は、例示及び説明を提供するが、網羅的であること、又は開示された正確な形態に実施を限定することを意図するものではない。修正及び変形が上記の開示に照らして可能であり又は実施の実践から得られてもよい。
【0060】
本明細書において使用されるとき、用語「コンポーネント」は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せとして広く構成されることを意図している。
【0061】
本明細書に記載されたシステム及び/又は方法が、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せの種々の形態で実装されうることが明らかであろう。これらシステム及び/又は方法を実装するために使用される実際の専用の制御ハードウェア又はソフトウェアコードは実装を限定するものではない。このため、システム及び/又は方法の操作及び挙動が特定のソフトウェアコードを参照することなく本明細書に記載され、ソフトウェア及びハードウェアが本明細書の記載に基づいてシステム及び/又は方法を実装するように設計されうることが理解される。
【0062】
特徴の特定の組合せが特許請求の範囲に列挙され且つ/又は明細書に開示されているが、これら組合せは可能な実装の開示を限定することは意図していない。実際、これら特徴の多くを、特許請求の範囲に具体的に列挙されてなく且つ/又は明細書に開示されていない方法で組み合わせることができる。以下に挙げられた各従属請求項が一つの請求項のみに直接従属しているが、可能な実装の開示は、請求項のセット内の他の全ての請求項と組み合わされた各従属請求項を含む。
【0063】
本明細書において使用される要素、行為又は命令は、明示的に記載されない限り、重要又は必須であると解釈されるべきではない。また、本明細書において使用されるとき、冠詞「a」及び「an」は、一つ又は複数の項目を含むことを意図しており、「一つ又は複数の」と交換可能に使用されうる。さらに、本明細書において使用されるとき、用語「組」は、一つ又は複数の項目(例えば、関連する項目、関連しない項目、関連する項目と関連しない項目との組合せ等)を含むことを意図しており、「一つ又は複数の」と交換可能に使用されうる。一つのみの項目が意図されている場合、用語「一つ」又は類似の言葉が使用される。また、本明細書において使用されるとき、用語「有する」又は同様の用語は、オープンエンドの用語であることを意図している。さらに、語句「基づく」は、反対のことが明記されない限り、「少なくとも部分的に基づく」を意味することを意図している。
【0064】
要素のリストに先行するときの「少なくとも一つの」のような表現は、要素のリスト全体を修飾し、リストの個々の要素を修飾することはない。例えば、表現「a、b及びcの少なくとも一つ」は、aのみ、bのみ、cのみ、a及びbの両方、a及びcの両方、b及びcの両方、a、b及びcの全て、又は前述の例の任意のバリエーションを含むものと理解されるべきである。
【0065】
「第1の」、「第2の」等のような用語が様々な要素を記載するのに使用されるが、斯かる要素は上記の用語に限定されてはならない。上記の用語は、一つの要素を別の要素と区別するためのみに使用されうる。
【外国語明細書】