(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】情報処理方法、情報処理装置及びサーバ装置
(51)【国際特許分類】
G06N 3/098 20230101AFI20241217BHJP
G06N 20/00 20190101ALI20241217BHJP
【FI】
G06N3/098
G06N20/00 130
(21)【出願番号】P 2021208921
(22)【出願日】2021-12-23
【審査請求日】2023-11-23
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】鐘 雷
(72)【発明者】
【氏名】馬 じん
(72)【発明者】
【氏名】邵 校
(72)【発明者】
【氏名】大西 亮吉
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特表2019-526851(JP,A)
【文献】国際公開第2021/059607(WO,A1)
【文献】西尾 理志,モバイルエッジにおける効率的な分散機械学習手法の検討,電子情報通信学会技術研究報告 Vol.118 No.123,日本,一般社団法人電子情報通信学会,2018年07月04日,第87-88頁
【文献】西尾 理志,Federated Learning チュートリアル:基礎から実践まで,電子情報通信学会2021年通信ソサイエティ大会講演論文集1,日本,2021年08月31日,SS52-SS53頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/098
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
それぞれ異なる移動体に搭載された複数の情報処理装置それぞれが、ローカルデータを収集することと、
前記複数の情報処理装置それぞれが、収集された前記ローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成することと、
前記複数の情報処理装置それぞれが、評価指標に従って評価値を算出することと、
前記複数の情報処理装置それぞれが、近接通信により、自己の移動体付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信することと、
前記複数の情報処理装置それぞれが、前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で算出された前記評価値を受信することと、
前記複数の情報処理装置それぞれが、算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定することと、
評価が高いと判定した少なくとも1つの情報処理装置が、生成した前記ローカルモデルを示すローカルモデル情報をサーバ装置に送信することと、
を備える、
情報処理方法。
【請求項2】
前記複数の情報処理装置それぞれは、ビーコンモジュールを備え、
前記近接通信は、前記ビーコンモジュールを用いて行われる、
請求項1に記載の情報処理方法。
【請求項3】
前記評価指標は、前記ローカルデータのクオリティを評価するための第1指標を含む、請求項1又は2に記載の情報処理方法。
【請求項4】
前記評価指標は、前記複数の情報処理装置それぞれの計算能力を評価するための第2指標を含む、
請求項1から3のいずれか1項に記載の情報処理方法。
【請求項5】
前記評価指標は、前記複数の情報処理装置それぞれの通信能力を評価するための第3指
標を含む、
請求項1から4のいずれか1項に記載の情報処理方法。
【請求項6】
前記評価指標は、関数により表現され、
前記複数の情報処理装置それぞれは、前記評価指標を表現する前記関数の演算処理を実行することで、前記評価値を算出する、
請求項1から5のいずれか1項に記載の情報処理方法。
【請求項7】
前記サーバ装置が、前記複数の情報処理装置それぞれに前記グローバルモデルを送信すること、及び
前記複数の情報処理装置それぞれが、前記サーバ装置から前記グローバルモデルを受信すること、
を更に含む、
請求項1から6のいずれか1項に記載の情報処理方法。
【請求項8】
前記サーバ装置が、前記評価指標を示す評価指標情報を前記複数の情報処理装置それぞれに送信すること、及び
前記複数の情報処理装置それぞれが、前記サーバ装置から前記評価指標情報を受信すること、
を更に含み、
前記複数の情報処理装置それぞれは、受信した前記評価指標情報に示される前記評価指標に従って前記評価値を算出する、
請求項1から7のいずれか1項に記載の情報処理方法。
【請求項9】
移動体に搭載される情報処理装置であって、
ローカルデータを収集することと、
収集された前記ローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成することと、
評価指標に従って評価値を算出することと、
近接通信により、付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信することと、
前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で前記評価指標に従って算出された評価値を受信することと、
算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定することと、
評価が高いと判定した場合に、生成した前記ローカルモデルを示すローカルモデル情報をサーバ装置に送信することと、
を実行するように構成された制御部を備える、
情報処理装置。
【請求項10】
ビーコンモジュールを更に備え、
前記制御部は、前記ビーコンモジュールを用いて、前記近接通信を行うように構成される、
請求項9に記載の情報処理装置。
【請求項11】
前記評価指標は、前記ローカルデータのクオリティを評価するための第1指標を含む、請求項9又は10に記載の情報処理装置。
【請求項12】
前記評価指標は、計算能力を評価するための第2指標を含む、
請求項9から11のいずれか1項に記載の情報処理装置。
【請求項13】
前記評価指標は、通信能力を評価するための第3指標を含む、
請求項9から12のいずれか1項に記載の情報処理装置。
【請求項14】
前記評価指標は、関数により表現され、
前記制御部は、前記評価指標を表現する前記関数の演算処理を実行することで、前記評価値を算出するように構成される、
請求項9から13のいずれか1項に記載の情報処理装置。
【請求項15】
前記制御部は、前記近接通信において、ブロードキャストで前記評価値を送信するように構成される、
請求項9から14のいずれか1項に記載の情報処理装置。
【請求項16】
ローカルデータをそれぞれ収集し、かつ収集されたローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルをそれぞれ生成するように構成される複数の情報処理装置であって、それぞれ異なる移動体に搭載された複数の情報処理装置それぞれと通信可能に構成されたサーバ装置であって、
複数の情報処理装置の少なくとも1つの情報処理装置から、ローカルモデルを示すローカルモデル情報を受信することと、
前記少なくとも1つの情報処理装置から受信した前記ローカルモデル情報により示されるローカルモデルを統合することにより、新たなグローバルモデルを生成することと、
を実行するように構成された制御部を備え、
前記制御部は、評価指標を示す評価指標情報を前記複数の情報処理装置それぞれに送信することを更に実行するように構成され、
前記複数の情報処理装置
それぞれは、
受信した前記評価指標情報に示される前記評価指標に従って評価値を算出し、
近接通信により、自己の移動体付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信し、
前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で前記評価指標に従って算出された評価値を受信し、かつ
算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定する、
ように更に構成され、
前記少なくとも1つの情報処理装置は、前記評価値による比較の結果、評価が高いと判定した情報処理装置である、
サーバ装置。
【請求項17】
前記制御部は、ブロードキャストにより、前記評価指標情報を前記複数の情報処理装置それぞれに送信するように構成される、
請求項
16に記載のサーバ装置。
【請求項18】
前記制御部は、前記グローバルモデルを前記複数の情報処理装置それぞれに送信することを更に実行するように構成され、
前記複数の情報処理装置それぞれは、収集された前記ローカルデータを使用して、受信した前記グローバルモデルの機械学習を実施することで、前記ローカルモデルを生成するように構成される、
請求項16
又は17に記載のサーバ装置。
【請求項19】
前記制御部は、ブロードキャストにより、前記グローバルモデルを前記複数の情報処理装置それぞれに送信するように構成される、
請求項
18に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サーバ装置と車両等の移動体にそれぞれ搭載される複数の情報処理装置との間で実施される機械学習モデルの連合学習の技術に関する。
【背景技術】
【0002】
従来の機械学習の手法では、個々で得られた学習データを集約し、集約された学習データを使用して、機械学習モデルを訓練していた。しかしながら、この手法では、学習データを集約するのにコスト(例えば、時間コスト、通信コスト等)がかかってしまう、機械学習を実行するコンピュータの計算負荷が大きくなってしまう等の問題点があった。
【0003】
そこで、これらの問題点を解決する手法として連合学習が提案されている。連合学習は、学習データを集約せず、分散的に機械学習を実施する手法である。サーバ装置及び複数のクライアント装置の間で連合学習を行う場合、各クライアント装置は、ローカルデータを個々に収集する。各クライアント装置は、収集したローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成する。続いて、各クライアント装置は、生成したローカルモデルをサーバ装置に送信する。サーバ装置は、各クライアント装置から受信したローカルモデルを統合することで、新たなグローバルモデルを生成する。
【0004】
この連合学習の手法によれば、ローカルデータをサーバ装置にアップロードすることなく、各クライアント装置で得られたローカルデータを反映した訓練済みの機械学習モデル(新たなグローバルモデル)を生成することができる。つまり、ローカルデータをサーバ装置に集約するコストを省くことができる。また、機械学習にかかる計算負荷を各クライアント装置に分散することができる。よって、上記従来の手法に比べて、コストの低減及び計算負荷の集中の回避を図った上で、多くのデータを学習した訓練済みモデルを生成することができる。
【0005】
特許文献1には、サーバ装置及びクライアント装置の間で連合学習を行う手順の一例が提案されている。非特許文献1には、中央サーバ及び各車両クライアントの間で連合学習を行う手法であって、二次元契約理論に基づいて中央サーバ及び各車両クライアントの間で相互作用し、連合学習に参加する車両クライアントを選択する手法が提案されている。
【先行技術文献】
【特許文献】
【0006】
【文献】米国特許出願公開第2020/0242514号明細書
【非特許文献】
【0007】
【文献】Dongdong Ye, Rong Yu, Miao Pan, Zhu Han, “Federated Learning in Vehicular Edge Computing: A Selective Model Aggregation Approach”, [online], [令和3年11月30日検索], インターネット<URL: https://ieeexplore.ieee.org/document/8964354>
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示の目的は、サーバ装置と移動体にそれぞれ搭載される複数の情報処理装置との間で効率的に連合学習を実施可能にする技術を提供することである。
【課題を解決するための手段】
【0009】
本開示の第1の態様に係る情報処理方法は、それぞれ異なる移動体に搭載された複数の情報処理装置それぞれが、ローカルデータを収集することと、前記複数の情報処理装置それぞれが、収集された前記ローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成することと、前記複数の情報処理装置それぞれが、評価指標に従って評価値を算出することと、前記複数の情報処理装置それぞれが、近接通信により、自己の移動体付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信することと、前記複数の情報処理装置それぞれが、前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で算出された前記評価値を受信することと、前記複数の情報処理装置それぞれが、算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定することと、評価が高いと判定した少なくとも1つの情報処理装置が、生成した前記ローカルモデルを示すローカルモデル情報をサーバ装置に送信することと、を備える。
【0010】
本開示の第2の態様に係る情報処理装置は、移動体に搭載される情報処理装置であって、ローカルデータを収集することと、収集された前記ローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成することと、評価指標に従って評価値を算出することと、近接通信により、付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信することと、前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で前記評価指標に従って算出された評価値を受信することと、算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定することと、評価が高いと判定した場合に、生成した前記ローカルモデルを示すローカルモデル情報をサーバ装置に送信することと、を実行するように構成された制御部を備える。
【0011】
本開示の第3の態様に係るサーバ装置は、ローカルデータをそれぞれ収集し、かつ収集されたローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルをそれぞれ生成するように構成される複数の情報処理装置であって、それぞれ異なる移動体に搭載された複数の情報処理装置それぞれと通信可能に構成されたサーバ装置であって、複数の情報処理装置の少なくとも1つの情報処理装置から、ローカルモデルを示すローカルモデル情報を受信することと、前記少なくとも1つの情報処理装置から受信した前記ローカルモデル情報により示されるローカルモデルを統合することにより、新たなグローバルモデルを生成することと、を実行するように構成された制御部を備える。前記複数の情報処理装置は、評価指標に従って評価値を算出し、近接通信により、自己の移動体付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した前記評価値を送信し、前記近接通信により、前記1台以上の他の移動体それぞれに搭載された前記他の情報処理装置から、前記他の情報処理装置で前記評価指標に従って算出された評価値を受信し、かつ算出した前記評価値及び前記他の情報処理装置から受信した前記評価値を比較することで、評価が高いか否かを判定する、ように更に構成される。前記少なくとも1つの情報処理装置は、前記評価値による比較の結果、評価が高いと判定した情報処理装置である。
【発明の効果】
【0012】
本開示によれば、サーバ装置と移動体にそれぞれ搭載される複数の情報処理装置との間で効率的に連合学習を実施することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本開示が適用される場面の一例を模式的に示す。
【
図2】
図2は、実施の形態に係るサーバ装置のハードウェア構成の一例を模式的に示す。
【
図3】
図3は、実施の形態に係る車載装置のハードウェア構成の一例を模式的に示す。
【
図4】
図4は、実施の形態に係るサーバ装置のソフトウェア構成の一例を模式的に示す。
【
図5】
図5は、実施の形態に係る車載装置のソフトウェア構成の一例を模式的に示す。
【
図6】
図6は、車載装置における機械学習の過程の一例を模式的に示す。
【
図7】
図7は、実施の形態に係るサーバ装置及び各車載装置の間で実行される連合学習の処理過程の一例を示すシーケンス図である。
【
図8】
図8は、実施の形態に係る車載装置によるローカルモデルの生成及び自律分散的な選択に関する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
参加可能な全てのクライアント装置が連合学習に参加してもよいが、全てのクライアント装置が連合学習に参加すると、機械学習モデルを更新する(新たなグローバルモデルを生成する)効率が悪くなる。また、精度のよい訓練済みモデルが生成できるとは限られない。そこで、連合学習に参加するクライアント装置の選択(数の調整)が行われる場合がある。
【0015】
選択の簡易的な方法として、複数のクライアント装置の中から連合学習に参加するクライアント装置をランダムに選択することが挙げられる。しかしながら、この方法では、サーバ装置は、クライアント装置の属性(例えば、獲得可能なローカルデータの質、計算能力、通信能力等)が不明な状態で連合学習に参加するクライアント装置を選択するため、選択されたクライアント装置からモデル更新に適したローカルモデルが得られるとは限られない。そのため、モデル更新が非効率となり、通信量の増大を招く可能性がある。
【0016】
これを解決する一つの方法として、サーバ装置が、各クライアント装置の属性(状態、ステータス等と読み替えられてよい)を調査して、モデル更新に適したローカルモデルを生成可能なクライアント装置を特定する方法が考えられる。しかしながら、この方法では、各クライアント装置は、自身の属性をサーバ装置に報告することになり、プライバシーの問題が発生する可能性がある。また、選択プロセスが中央集権的であり、選択プロセスにおいてサーバ装置及び各クライアント装置の間でデータ通信が生じるため、連合学習の効率の悪化を招く可能性がある。
【0017】
非特許文献1で提案される方法では、二次元契約理論を採用することで、サーバ装置及び各クライアント装置(車両クライアント)間の情報の非対称性を担保することができる。つまり、各クライアント装置は、自身の属性をそのままの情報でサーバ装置に報告しなくとも、サーバ装置は、クライアント装置の属性に基づいて、連合学習に参加するクライアント装置を選択することができる。そのため、上記プライバシーの問題を解決することができる。しかしながら、この方法でも、選択プロセスは中央集権的であり、二次元契約理論の問題を解くために、サーバ装置及び各クライアント装置の間で複雑なデータ通信が行われる。そのため、連合学習の効率の悪化を招く可能性がある。したがって、従来の方法では、連合学習の効率に依然として課題がある。
【0018】
これに対して、本開示の第1の態様に係る情報処理方法は、それぞれ異なる移動体に搭載された複数の情報処理装置それぞれが、ローカルデータを収集することと、複数の情報処理装置それぞれが、収集されたローカルデータを使用して、グローバルモデルの機械学習を実施することで、ローカルモデルを生成することと、複数の情報処理装置それぞれが
、評価指標に従って評価値を算出することと、複数の情報処理装置それぞれが、近接通信により、自己の移動体付近に存在する1台以上の他の移動体それぞれに搭載された他の情報処理装置に向けて、算出した評価値を送信することと、複数の情報処理装置それぞれが、近接通信により、1台以上の他の移動体それぞれに搭載された他の情報処理装置から、他の情報処理装置で算出された評価値を受信することと、複数の情報処理装置それぞれが、算出した評価値及び他の情報処理装置から受信した評価値を比較することで、評価が高いか否かを判定することと、評価が高いと判定した少なくとも1つの情報処理装置が、生成したローカルモデルを示すローカルモデル情報をサーバ装置に送信することと、を備える。
【0019】
地理的に類似する範囲を移動する移動体にそれぞれ搭載される複数の情報処理装置は、互いに類似するローカルデータを収集する可能性が高い。そのため、これらの情報処理装置それぞれで生成されるローカルモデルの能力も互いに類似し、少なくとも1つの情報処理装置から得られるローカルモデルをグローバルモデルの更新に反映すれば十分である可能性が高い。本開示の第1の態様に係る情報処理方法では、選択プロセスは、各情報処理装置間の近接通信による評価値のやり取りによって達成される。この近接通信による選択プロセスによれば、地理的に近い範囲に存在する移動体にそれぞれ搭載された複数の情報処理装置の中から連合学習に参加する情報処理装置を選抜し、選抜された情報処理装置により生成されたローカルモデルをグローバルモデルの更新に反映することができる。また、サーバ装置を介さず、連合学習に参加する情報処理装置を自律分散的に選抜する(すなわち、各情報処理装置が連合学習に参加するか否かを自身で判断する)ことができる。したがって、本開示の第1の態様に係る情報処理方法によれば、サーバ装置と移動体にそれぞれ搭載される複数の情報処理装置との間で実施される連合学習の効率化を図ることができる。
【0020】
以下、本開示の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形が行われてよい。本開示の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0021】
[1 適用例]
図1は、本開示を適用した場面の一例を模式的に示す。本実施形態に係るシステムは、サーバ装置1及び複数の車載装置2により構成される。
【0022】
本実施形態に係るサーバ装置1は、車載装置2からローカルモデル50を取得し、取得されたローカルモデル50を統合するように構成される1台以上のコンピュータである。本実施形態に係る車載装置2は、ローカルデータ3を収集し、収集したローカルデータ3を使用して、グローバルモデル40の機械学習を実施することで、ローカルモデル50を生成するように構成される1台以上のコンピュータである。複数の車載装置2は、それぞれ異なる車両Vに搭載される。
図1の例では、車載装置2Aは車両VAに搭載され、車載装置2Bは車両VBに搭載される(以下の説明では、それぞれを区別する場合に、A、B等の符号を付し、区別しない場合には符号を省略する)。車両Vは、例えば、自動車である。本実施形態において、車両Vは、移動体の一例であり、車載装置2は、移動体に搭載された情報処理装置の一例である。
【0023】
本実施形態では、各車載装置2は、ローカルデータ3を収集する。各車載装置2は、収集されたローカルデータ3を使用して、グローバルモデル40の機械学習を実施すること
で、ローカルモデル50を生成する。ローカルデータ3を使用して機械学習を実施することは、自装置のためにローカライズすることに対応する。グローバルモデル40は、ローカルデータ3を使用した機械学習によりローカライズされる前の機械学習モデルである。ローカルモデル50は、ローカルデータ3を使用した機械学習によりグローバルモデル40が更新されることで生成される、ローカライズされた後の訓練済みの機械学習モデルである。
【0024】
各車載装置2は、評価指標70に従って評価値6を算出する。各車載装置2は、近接通信により、自己の車両V付近に存在する1台以上の他の車両Vそれぞれに搭載された他の車載装置2に向けて、算出した評価値6を送信する。各車載装置2は、近接通信により、自己の車両V付近に存在する1台以上の他の車両Vそれぞれに搭載された他の車載装置2から、当該他の車載装置2で算出された評価値6を受信する。各車載装置2は、算出した評価値6及び1台以上の他の車両Vそれぞれの他の車載装置2から受信した評価値6を比較することで、評価が高いか否かを判定する。評価が高いと判定した少なくとも1つの車載装置2は、生成したローカルモデル50を示すローカルモデル情報500をサーバ装置1に送信する。
【0025】
図1の例では、車両VA及び車両VBが、車載装置2A及び車載装置2Bが近接通信により互いにデータの授受可能な範囲に存在することを想定している。この例では、車載装置2Aは、ローカルデータ3Aを収集し、収集されたローカルデータ3Aを使用して、ローカルモデル50Aを生成する。車載装置2Bは、ローカルデータ3Bを収集し、収集されたローカルデータ3Bを使用して、ローカルモデル50Bを生成する。
【0026】
車載装置2Aは、評価指標70に従って評価値6Aを算出し、算出された評価値6Aを近接通信により他の車両に搭載された他の車載装置に向けて送信する。車載装置2Bは、これを受信することで、車載装置2Aの評価値6Aを取得する。同様に、車載装置2Bは、評価指標70に従って評価値6Bを算出し、算出された評価値6Bを近接通信により他の車載装置に向けて送信する。車載装置2Aは、これを受信することで、車載装置2Bの評価値6Bを取得する。
【0027】
各車載装置(2A、2B)は、自装置の評価値(6A、6B)及び他装置の評価値(6B、6A)を比較し、評価が高いか否かを判定する。
図1の例では、車載装置2Aが自身の評価は高いと判定し、車載装置2Bが自身の評価は低いと判定した場面を想定している。この場面では、2つの車載装置(2A、2B)のうちの車載装置2Aが、生成した自己のローカルモデル50Aを示すローカルモデル情報500Aをサーバ装置1に送信する。なお、
図1により示される場面は一例であり、本開示が、この例に限られる訳ではない。サーバ装置1と通信可能な車載装置2の数、対象の車載装置2に対して近接通信によるデータ授受が可能な範囲に存在する(すなわち、対象の車載装置2と近接通信により評価値6をやり取りする)他の車載装置2の数、評価が高いと判定する車載装置2等の状況は、具体的な実施場面に応じて適宜特定されてよい。
【0028】
サーバ装置1は、複数の車載装置2のうちの少なくとも1つの車載装置2から、ローカルモデル50を示すローカルモデル情報500を受信する。サーバ装置1は、少なくとも1つの車載装置2それぞれから受信したローカルモデル情報500により示されるローカルモデル50を統合する。これにより、サーバ装置1は、新たなグローバルモデル45を生成する。新たなグローバルモデル45は、少なくとも1つの車載装置2から得られたローカルモデル50を統合することで生成される訓練済みの機械学習モデルである。
【0029】
以上のとおり、本実施形態では、連合学習に参加する(ローカルモデル50を提供する)車載装置2を選抜するための選択プロセスは、各車載装置2間の近接通信による評価値
6のやり取りによって達成される。この近接通信による選択プロセスによれば、地理的に近い範囲に存在する車両Vにそれぞれ搭載された複数の車載装置2の中から連合学習に参加する車載装置2を選抜し、選抜された車載装置2により生成されたローカルモデル50をグローバルモデル40の更新に反映することができる。また、サーバ装置1を介さず、連合学習に参加する車載装置2を自律分散的に選抜することができる。したがって、本実施形態によれば、サーバ装置1及び各車載装置2の間で実施される連合学習の効率化を図ることができる。加えて、各車載装置2間でやり取りされるデータは評価値6に過ぎないため、プライバシーの問題を解決することができる。
【0030】
なお、本実施形態において、グローバルモデル40及び評価指標70の少なくとも一方は、サーバ装置1から各車載装置2に提供されてよい。連合学習に参加する可能性のある車載装置2の数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。サーバ装置1は、ローカルモデル50の統合により生成された新たなグローバルモデル45を各車載装置2に提供してよい。その後、新たなグローバルモデル45をグローバルモデル40として取り扱い、ローカルモデル50の生成及び統合(更に新たなグローバルモデルの生成)が繰り返されてよい。本実施形態に係るシステムは、このローカルモデル50の生成処理及び統合処理を繰り返し実行することで、精度よく推論タスクを遂行可能なグローバルモデルを生成してもよい。
【0031】
グローバルモデル(40、45)及びローカルモデル50は、機械学習モデルにより、移動体(本実施形態では、車両V)に関する推論タスクを解く演算処理を実行するように構成される。機械学習モデルは、推論タスクを解く演算処理を実行するための1又は複数の演算パラメータを備える。機械学習モデルは、複数の推論タスクを解くように構成されてもよい。機械学習モデルは、例えば、ニューラルネットワーク、回帰モデル、サポートベクタマシン等により構成されてよい。
【0032】
推論タスクは、移動体に関するものであれば、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例として、各移動体はセンサを備えてよく、推論タスクは、センサにより得られるセンシングデータから何らかの推論結果を導出することであってよい。センサは、例えば、画像センサ(カメラ等)、近接センサ、Lidar(light detection and ranging)センサ、Radar(Radio Detection And Ranging)等であってよい。具体例として、センサは、カメラ等の画像センサであってよく、推論タスクは、画像センサにより得られる画像に映る対象物(例えば、通行人、信号機、中央分離帯、障害物等)を検出することであってよい。この場合、対象物を検出することは、セグメンテーションすること及び対象物を識別することを含んでよい。その他、センサは、画像センサ、近接センサ、Lidarセンサ、Radar等の車載センサであってよく、推論タスクは、センシングデータから移動体の制御内容を決定する(例えば、車両Vのブレーキをかける、ドアをロックする、自動運転の内容を決定する等)ことであってよい。推論タスクが、センシングデータから推論結果を導出することである場合、ローカルデータ3の収集には、センサが用いられてよい。
【0033】
評価指標70は、グローバルモデル40の更新に適した(すなわち、統合により生成される新たなグローバルモデル45の性能がより良くなるような)ローカルモデル50を生成する車載装置2が選抜されるように適宜規定されてよい。ローカルデータ3のクオリティは、統合により生成される新たなグローバルモデル45の精度に影響を与える。また、車載装置2の計算能力が高いほど、ローカルモデル50を高速に作成することができるため、タイムアウト内におけるローカルモデル50のアップロードの成功確率が高い。加えて、サーバ装置1にローカルモデル50を集約するのにかかる時間の短縮を図ることができる。同様に、車載装置2の通信能力が高いほど、サーバ装置1にローカルモデル50を集約する時間の短縮を図ることができる。そこで、本実施形態では、評価指標70は、ロ
ーカルデータ3のクオリティを評価するための第1指標、各車載装置2の計算能力を評価するための第2指標、及び各車載装置2の通信能力を評価するための第3指標の少なくともいずれかを含むように構成されてよい。また、評価指標70は、関数によって表現されてよい。この場合、各車載装置2は、評価指標70を表現する関数の演算処理を実行することで、評価値を算出してよい。
【0034】
第1指標は、ローカルデータ3がグローバルモデル40の性能向上に有益であろうほど評価が高くなり、性能向上に有益ではないであろうほど評価が低くなるように適宜規定されてよい。第1指標は、関数(f1)と表現されてよい。ローカルデータ3が有益であるか否かは、グローバルモデル40を使用して評価されてよい。一例として、グローバルモデル40の機械学習に用いられる目的関数が、ローカルデータ3の有益性の評価にも用いられてよい。目的関数は、コスト関数、損失関数又は誤差関数と読み替えられてよい。機械学習における最適化問題が目的関数の値の最小化により構成される場合、ローカルデータ3に対するグローバルモデル40の推論精度が低いほど、目的関数により算出される値は大きくなる。推論精度が低いことは、そのローカルデータ3がグローバルモデル40にとって訓練の不十分なサンプルを多く含んでいることに対応し得る。このようなサンプルを訓練したローカルモデル50を連合学習に反映することで、性能の良い新たなグローバルモデル45が得られる可能性が高い。そのため、機械学習における最適化問題が目的関数の値の最小化により構成される場合、ローカルデータ3をグローバルモデル40に与えて目的関数により算出される誤差が大きいほど評価が高く、誤差が小さいほど評価が低くなるように第1指標(f1)は規定されてよい。評価値の高低がそのまま評価に対応している場合、単純には、目的関数がそのまま第1指標(関数f1)として用いられてよい。なお、一例では、目的関数は、全ての車載装置2で同じであってよい。他の一例では、目的関数は、少なくとも一部の車載装置2でその他の車載装置2と異なっていてもよい。また、各車載装置2で収集されるローカルデータ3のサンプル数が異なる場合、例えば、標準化、サンプル数の調整等により、適正に比較可能にするための操作が行われてよい。
【0035】
第2指標は、計算能力が高いほど評価が高く、計算能力が低いほど評価が低くなるように適宜規定されてよい。第2指標は、関数(f2)と表現されてよい。計算能力は、プロセッサ・リソース、メモリ・リソース等の計算資源の性能に応じて算定されてよい。プロセッサ・リソースは、例えば、CPU(Central Processing Unit)、マイクロプロセッ
サ、FPGA(field-programmable gate array)、GPU(Graphics Processing Unit
)等を含んでよい。メモリ・リソースは、例えば、ストレージ(ハードディスクドライブ、ソリッドステートドライブ等)、RAM(Random Access Memory)、キャッシュメモリ(例えば、Last Level Cache)等を含んでよい。計算能力は、例えば、プロセッサ・リソースの計算速度、メモリ・リソースの容量、メモリ・リソースの読出速度等に基づいて評価されてよい。
【0036】
第3指標は、通信能力が高いほど評価が高く、通信能力が低いほど評価が低くなるように適宜規定されてよい。第3指標は、関数(f3)と表現されてよい。通信能力は、ローカルモデル50の送信に使用し得る通信モジュールの性能に応じて算定されてよい。通信能力は、例えば、通信の帯域幅、通信速度等に基づいて評価されてよい。
【0037】
【数1】
・・・(式1)
評価指標70が第1指標、第2指標及び第3指標を含む場合、評価指標70は、上記式1の関数式で構成されてよい。kは、対象の車載装置2(車両V)を示し、S
kは、対象の車載装置2で算出される評価値6を示す。c
nは、各指標の重み(優先度)である。c
nの値は適宜設定されてよい。一例では、各指標の重みc
nは、オペレータの指定により設定されてよい。なお、関数(f
1、f
2、f
3)の表現は一例であり、各指標の順序は、特に限定されなくてよい。各関数の表現は、実施の形態に応じて適宜決定されてよい。
【0038】
評価指標70により算出される評価値6と評価との間の関係は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、評価値6の高いことが評価の高いことに対応してよい。他の一例では、評価値6の低いことが評価の高いことに対応してよい。なお、評価が高い(低い)ことは、連合学習に参加する優先度が高い(低い)ことに対応する。連合学習に参加することは、新たなグローバルモデル45を生成するためにサーバ装置1に自装置で生成したローカルモデル50を提供することに対応する。
【0039】
また、一例では、
図1に示されるとおり、サーバ装置1及び各車載装置2は、ネットワークを介して互いに通信可能(接続可能)に構成されてよい。ネットワークの種類は、特に限定されなくてよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【0040】
[2 構成例]
[ハードウェア構成例]
<サーバ装置>
図2は、本実施形態に係るサーバ装置1のハードウェア構成の一例を模式的に示す。
図2に示されるとおり、本実施形態に係るサーバ装置1は、制御部11、記憶部12、通信モジュール13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。
【0041】
制御部11は、ハードウェアプロセッサであるCPU、RAM、ROM(Read Only Memory)、キャッシュメモリ等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。制御部11(CPU)は、プロセッサ・リソースの一例である。記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部12は、メモリ・リソースの一例である。本実施形態では、記憶部12は、プログラム81、グローバルモデル情報400、評価指標情報700等の各種情報を記憶する。
【0042】
プログラム81は、連合学習に関する情報処理(後述の
図7)をサーバ装置1に実行させるためのプログラムである。プログラム81は、当該情報処理の一連の命令を含む。グローバルモデル情報400は、グローバルモデル40を示すように構成される。評価指標情報700は、評価指標70を示すように構成される。
【0043】
通信モジュール13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うように構成される。サーバ装置1は、通信モジュール13を介して、他のコンピュータ(例えば、各車載装置2)との間でデータ通信を行ってよい。
【0044】
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、サーバ装置1を操作することができる。入力装置14及び出力装置15は、例えば、タッチパネルディスプレイ等によ
り一体的に構成されてもよい。
【0045】
ドライブ16は、記憶媒体91に記憶されたプログラム等の各種情報を読み込むための装置である。上記プログラム81、グローバルモデル情報400、及び評価指標情報700の少なくともいずれかは、記憶媒体91に記憶されていてもよい。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。
【0046】
ここで、
図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
【0047】
なお、サーバ装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、GPU等で構成されてよい。入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。サーバ装置1は、複数台のコンピュータにより構成されてよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、或いは一致していなくてもよい。サーバ装置1は、提供されるサービス専用に設計されたコンピュータの他、汎用のコンピュータ等であってよい。
【0048】
<車載装置>
図3は、本実施形態に係る車載装置2のハードウェア構成の一例を模式的に示す。
図3に示されるとおり、本実施形態に係る車載装置2は、制御部21、記憶部22、通信モジュール23、入力装置24、出力装置25、ドライブ26、近接通信モジュール27、及び外部インタフェース28が電気的に接続されたコンピュータである。
【0049】
制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。制御部21(CPU)は、プロセッサ・リソースの一例である。記憶部22は、メモリ・リソースの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、プログラム82、グローバルモデル情報400、評価指標情報700、ローカルデータ3、ローカルモデル情報500等の各種情報を記憶する。
【0050】
プログラム82は、連合学習に関する情報処理(後述の
図7及び
図8)を車載装置2に実行させるためのプログラムである。プログラム82は、当該情報処理の一連の命令を含む。ローカルモデル情報500は、生成されたローカルモデル50に関する情報を示すように構成される。
【0051】
通信モジュール23は、例えば、無線LANモジュール等であり、ネットワークを介した無線通信を行うように構成される。車載装置2は、通信モジュール23を介して、他のコンピュータ(例えば、サーバ装置1)との間でデータ通信を行ってよい。入力装置24及び出力装置25は、入力装置14及び出力装置15と同様に構成されてよい。オペレータ(例えば、車両Vの搭乗者)は、入力装置24及び出力装置25を利用することで、車載装置2を操作することができる。
【0052】
ドライブ26及び記憶媒体92は、ドライブ16及び記憶媒体91と同様に構成されて
よい。上記プログラム82、グローバルモデル情報400、評価指標情報700、ローカルデータ3、及びローカルモデル情報500の少なくともいずれかは、記憶媒体92に記憶されていてもよい。
【0053】
近接通信モジュール27は、近接通信によるデータ授受を実行可能に構成される。一例では、近接通信モジュール27は、ビーコンモジュールであってよい。ビーコンモジュールの種類は、実施の形態に応じて適宜選択されてよい。近接通信モジュール27には、公知の種類のビーコンモジュールが採用されてよい。本実施形態では、近接通信モジュール27は、自装置以外の他の車載装置2と近接通信を行うのに用いられる。ただし、近接通信モジュール27の使用用途は、これに限られる訳ではない。近接通信モジュール27は、他の目的で使用されてもよい。また、近接通信モジュール27の種類は、ビーコンモジュールに限られなくてよい。その他の一例では、近接通信モジュール27は、例えば、Wi-Fi(登録商標)、Bluetooth(登録商標)、D2D等の近接通信を実行可能に構成されてよ
い。
【0054】
外部インタフェース28は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース28の種類及び数は、接続される外部装置の種類及び数に応じて適宜決定されてよい。本実施形態では、車載装置2は、外部インタフェース28を介して、センサSに接続されてよい。センサSは、例えば、画像センサ(カメラ等)、近接センサ、Lidar(light detection and ranging)センサ、Radar等であってよい。グローバルモデル(40、45)及び
ローカルモデル50により遂行される推論タスクは、センサSにより得られるセンシングデータから推論結果を導出することであってよい。この場合、ローカルデータ3の収集には、センサSが用いられてよい。
【0055】
なお、車載装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、GPU等で構成されてよい。入力装置24、出力装置25、ドライブ26、及び外部インタフェース28の少なくともいずれかは省略されてもよい。車載装置2は、複数台のコンピュータにより構成されてよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、或いは一致していなくてもよい。車載装置2は、提供されるサービス専用に設計されたコンピュータの他、汎用のコンピュータ、スマートフォンを含む携帯電話、タブレットPC(Personal Computer)等であってよい。
【0056】
[ソフトウェア構成例]
<サーバ装置>
図4は、本実施形態に係るサーバ装置1のソフトウェア構成の一例を模式的に示す。サーバ装置1の制御部11は、記憶部12に記憶されたプログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたプログラム81に含まれる命令をCPUにより実行する。これにより、
図4に示されるとおり、本実施形態に係るサーバ装置1は、モデル配信部111、指標配信部112、モデル受信部113、及び統合処理部114をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、サーバ装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0057】
モデル配信部111は、グローバルモデル40を示すグローバルモデル情報400を複数の車載装置2それぞれに送信するように構成される。指標配信部112は、評価指標70を示す評価指標情報700を複数の車載装置2それぞれに送信するように構成される。本実施形態では、モデル配信部111及び指標配信部112の動作により、グローバルモ
デル40及び評価指標70が、サーバ装置1から各車載装置2に配信される。
【0058】
モデル受信部113は、複数の車載装置2のうちの少なくとも1つの車載装置2から、ローカルモデル50を示すローカルモデル情報500を受信するように構成される。少なくとも1つの車載装置2はそれぞれ、評価値6による選択プロセスの結果、評価が高いと判定した車載装置2である。選択プロセスは、自装置と他の車載装置2との間で近接通信により評価値6をやり取りし、自装置の評価値6と他の車載装置2の評価値6とを比較することを含む。
【0059】
統合処理部114は、少なくとも1つの車載装置2から受信したローカルモデル情報500により示されるローカルモデル50を統合することにより、新たなグローバルモデル45を生成するように構成される。統合処理部114は、新たなグローバルモデル45を示すグローバルモデル情報450を生成し、生成されたグローバルモデル情報450を所定の記憶領域(例えば、制御部11のRAM、記憶部12、記憶媒体91、外部記憶装置等)に保存するように更に構成されてよい。
【0060】
<車載装置>
図5は、本実施形態に係る車載装置2のソフトウェア構成の一例を模式的に示す。車載装置2の制御部21は、記憶部22に記憶されたプログラム82をRAMに展開する。そして、制御部21は、RAMに展開されたプログラム82に含まれる命令をCPUにより実行する。これにより、
図5に示されるとおり、本実施形態に係る車載装置2は、モデル取得部211、指標取得部212、データ収集部213、機械学習部214、評価値算出部215、評価値送信部216、評価値受信部217、評価部218、及びモデル送信部219をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、サーバ装置1と同様に、車載装置2の各ソフトウェアモジュールも、制御部21(CPU)により実現される。
【0061】
モデル取得部211は、グローバルモデル40を示すグローバルモデル情報400を取得するように構成される。本実施形態では、モデル取得部211は、サーバ装置1から配信されるグローバルモデル情報400を受信するように構成される。指標取得部212は、評価指標70を示す評価指標情報700を取得するように構成される。本実施形態では、指標取得部212は、サーバ装置1から配信される評価指標情報700を受信するように構成される。
【0062】
データ収集部213は、ローカルデータ3を収集するように構成される。機械学習部214は、収集されたローカルデータ3を使用して、グローバルモデル40の機械学習を実施することで、ローカルモデル50を生成するように構成される。機械学習部214は、ローカルモデル50を示すローカルモデル情報500を生成し、生成されたローカルモデル情報500を所定の記憶領域(例えば、制御部21のRAM、記憶部22、記憶媒体92、外部記憶装置等)に保存するように更に構成されてよい。
【0063】
評価値算出部215は、取得した評価指標情報700により示される評価指標70に従って評価値6(6s)を算出するように構成される。評価値送信部216は、近接通信により、自己の車両V付近に存在する1台以上の他の車両Vそれぞれに搭載された他の車載装置2に向けて、算出した評価値6(6s)を送信するように構成される。評価値受信部217は、近接通信により、1台以上の他の車両Vそれぞれに搭載された他の車載装置2から、当該他の車載装置2で評価指標70に従って算出された評価値6(6t)を受信するように構成される。なお、以下の説明では、自装置(対象の車載装置2)の評価値に符号「6s」を付し、対象の車載装置2から見て他の車載装置2の評価値に符号「6t」を付す場合がある。
【0064】
評価部218は、算出した評価値6s及び他の車載装置2から受信した評価値6tを比較することで、評価が高いか否かを判定するように構成される。モデル送信部219は、自装置の評価が高いと判定した場合に、生成したローカルモデル50を示すローカルモデル情報500をサーバ装置1に送信するように構成される。
【0065】
(機械学習方法の一例)
図6は、機械学習部214によるグローバルモデル40の機械学習の処理過程の一例を模式的に示す。グローバルモデル(40、45)及びローカルモデル50は、機械学習モデルにより構成される。機械学習モデルは、推論タスクを解く演算処理を実行するための1つ以上の演算パラメータであって、機械学習により値が調整される1つ以上の演算パラメータを備える。移動体に関する推論タスクを解く演算を実行可能であれば、機械学習モデルの種類、構成、及び構造は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。
【0066】
図6は、典型例として、グローバルモデル40を構成する機械学習モデルにニューラルネットワークを採用し、機械学習の手法に教師あり学習を採用した場面の一例を示している。この場合、各ノード(ニューロン)間の結合の重み、各ノードの閾値等が、演算パラメータの一例である。ニューラルネットワークの種類及び構造(例えば、各層の種類、層の数、各層のノードの数、ノードの接続関係等)は、実施の形態に応じて適宜決定されてよい。グローバルモデル40は、例えば、全結合型ニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、これらの組み合わせ等により構成されてよい。
【0067】
図6の一例では、ローカルデータ3は、複数のデータセット30により構成される。各データセット30は、訓練データ31及び正解ラベル33の組み合わせにより構成され、機械学習における訓練対象のサンプルとして使用される。訓練データ31は、説明変数のサンプルであり、機械学習において機械学習モデルに入力される。推論タスクが、センシングデータから推論結果を導出することである場合、訓練データ31は、センサSにより得られるセンシングデータにより構成されてよい。正解ラベル33は、入力された説明変数のサンプルに対する目的変数の真値、すなわち、対応する訓練データ31に対する推論タスクの解(真値)を示すように構成される。機械学習において、訓練データ31は入力データとして使用され、正解ラベル33は教師信号として使用される。
【0068】
訓練データ31は、適宜収集されてよい。一例では、各車載装置2の制御部21は、グローバルモデル40による推論タスクの遂行を運用しながら、データ収集部213として訓練データ31を収集してよい。この場合、制御部21は、グローバルモデル40が誤った推論結果を導出した入力データを優先的に訓練データ31として収集してよい。連合学習の処理を繰り返し実行するケースで、過去の処理でローカルモデル50が暫定的に生成されている場合、制御部21は、ローカルモデル50による推論タスクの遂行を運用しながら、訓練データ31を収集してよい。これに対して、正解ラベル33は、得られた訓練データ31に対する推論の正解を示すように適宜得られてよい。一例では、正解ラベル33は、オペレータの入力により得られてよい。他の一例では、正解ラベル33は、任意の推論処理により獲得されてもよい。正解ラベル33は、他のセンサから得られる情報に基づいて獲得されてもよい。各データセット30は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。
【0069】
機械学習部214は、機械学習の処理として、グローバルモデル情報400を参照し、グローバルモデル40の初期設定を行う。グローバルモデル40の情報が既に展開されて
いる場合、この処理は省略されてよい。次に、機械学習部214は、各データセット30について、訓練データ31を与えることでグローバルモデル40から得られる出力値(推論結果)が正解ラベル33により示される真値に適合するものとなるようにグローバルモデル40を訓練する。グローバルモデル40を訓練することは、グローバルモデル40を構成する演算パラメータの値を調整(最適化)することにより構成される。演算パラメータの調整方法(最適化問題を解く方法)は、グローバルモデル40に採用する機械学習モデルの種類、構成、構造等に応じて適宜決定されてよい。
【0070】
調整方法の一例として、グローバルモデル40がニューラルネットワークにより構成される場合、機械学習部214は、各データセット30の訓練データ31をグローバルモデル40に入力し、グローバルモデル40の順伝播の演算処理を実行する。この演算処理の結果、機械学習部214は、訓練データ31に対する推論結果に対応する出力値をグローバルモデル40から取得する。機械学習部214は、得られた出力値と対応する正解ラベル33により示される真値との間の誤差を算出し、算出された誤差の勾配を更に算出する。機械学習部214は、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、グローバルモデル40の演算パラメータの値の誤差を算出する。機械学習部214は、算出された誤差に基づいて、演算パラメータの値を更新する。
【0071】
機械学習部214は、この一連の更新処理により、訓練データ31を与えることで得られる出力値(推論結果)と正解ラベル33により示される真値との間の誤差の和が小さくなるように、グローバルモデル40の演算パラメータの値を調整する。この演算パラメータの値の調整は、例えば、設定された反復回数の調整を実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで繰り返されてよい。また、例えば、誤差を算出するための目的関数(コスト関数、損失関数、誤差関数)、学習率等の機械学習の条件は、実施の形態に応じて適宜設定されてよい。この機械学習の処理により、ローカルモデル50を生成することができる。機械学習部214は、ローカルモデル50を示すローカルモデル情報500を生成する。
【0072】
なお、機械学習の手法は、
図6に示される教師あり学習に限られなくてよい。他の一例では、機械学習の手法には、教師なし学習(敵対的学習を含む)又は強化学習が採用されてよい。ローカルデータ3の構成は、採用する機械学習の手法、機械学習モデルの種類等に応じて適宜決定されてよい。また、グローバルモデル40を構成する機械学習モデルは、ニューラルネットワークに限られなくてよい。他の一例では、グローバルモデル40は、回帰モデル、サポートベクタマシン等により構成されてよい。
【0073】
<その他>
本実施形態では、サーバ装置1及び車載装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。サーバ装置1及び車載装置2のソフトウェア構成に関して、実施形態に応じて、適宜、モジュールの省略、置換及び追加が行われてもよい。
【0074】
[3 動作例]
図7は、本実施形態に係るサーバ装置1及び各車載装置2の間で実行される連合学習の処理過程の一例を示すシーケンス図である。以下の処理手順は、情報処理方法の一例である。ただし、以下の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0075】
<ステップS11及びステップS21>
ステップS11では、サーバ装置1の制御部11は、モデル配信部111として動作し、通信モジュール13を使用して、グローバルモデル40を示すグローバルモデル情報400を各車載装置2に送信する。
【0076】
送信範囲及び送信方法は、実施の形態に応じて適宜選択されてよい。一例として、制御部11は、ブロードキャストにより、グローバルモデル情報400(グローバルモデル40)を各車載装置2に送信してもよい。これにより、無線通信の帯域幅を節約することができる。また、ローカルモデル50を統合する地理的な範囲が任意に規定されてよく、規定された範囲毎に配信するグローバルモデル40が選択されてよい。この場合、一部に配信されるグローバルモデル40とその他に配信されるグローバルモデル40とが異なっていてもよい。グローバルモデル40の配信方法にブロードキャストを採用する場合、地理的な範囲は、ブロードキャストの範囲に応じて規定されてよい。
【0077】
グローバルモデル40は、訓練前の機械学習モデルであってもよいし、或いは訓練済みの機械学習モデルであってもよい。グローバルモデル40が訓練済みの機械学習モデルである場合、グローバルモデル40は、サーバ装置1による機械学習により生成されたものであってもよいし、或いは事前の連合学習による統合処理で生成されたものであってもよい(例えば、後述するステップS33の統合処理が完了後、新たなグローバルモデル45をグローバルモデル40としてステップS11から再度処理を実行するケース)。
【0078】
サーバ装置1が、機械学習を実施することで、グローバルモデル40を生成する場合、制御部11は、グローバルデータを取得してよい。グローバルデータは、ローカルデータ3と同様に構成されてよい。グローバルデータは、例えば、実験環境でのデータ生成、車載装置2からの提供等により収集されてよい。そして、制御部11は、得られたグローバルデータを使用して、機械学習を実施することにより、グローバルモデル40を生成してもよい。グローバルモデル40を生成する機械学習の方法は、ローカルモデル50を生成する機械学習の方法と同様であってよい。一例では、
図6の例と同様に、グローバルデータは、訓練データ及び正解ラベルの組み合わせをそれぞれ含む複数のデータセットにより構成されてよく、グローバルモデル40は、教師あり学習により生成されてよい。
【0079】
グローバルモデル情報400の構成は、グローバルモデル40を再生可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、グローバルモデル情報400は、グローバルモデル40に含まれる演算パラメータの値を示す情報を含んでよい。場合によって、グローバルモデル情報400は、グローバルモデル40の構造を示す情報を更に含んでもよい。構造は、例えば、入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。
【0080】
ステップS11の処理に応じて、ステップS21では、各車載装置2の制御部21は、モデル取得部211として動作し、通信モジュール23を使用して、サーバ装置1からグローバルモデル情報400を受信する。これにより、各車載装置2は、グローバルモデル40を取得する。
【0081】
<ステップS13及びステップS23>
ステップS13では、サーバ装置1の制御部11は、指標配信部112として動作し、通信モジュール13を使用して、評価指標70を示す評価指標情報700を各車載装置2に送信する。
【0082】
ステップS11と同様に、送信範囲及び送信方法は、実施の形態に応じて適宜選択され
てよい。一例として、制御部11は、ブロードキャストにより、評価指標情報700を各車載装置2に送信してもよい。これにより、無線通信の帯域幅を節約することができる。また、配信する評価指標70は、地理的な範囲毎に選択されてよい。この場合、一部に配信される評価指標70とその他に配信される評価指標70とが異なっていてもよい。評価指標情報700の配信方法にブロードキャストを採用する場合、地理的な範囲は、ブロードキャストの範囲に応じて規定されてよい。
【0083】
評価指標情報700の構成は、評価指標70を特定し、評価値6を算出可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、評価指標情報700は、上記式1の関係式を示すように構成されてよい。他の一例では、各指標の関数が各車載装置2間で予め共有されている場合に、評価指標情報700は、各指標の重みcnを示すように構成されてよい(各指標の関数の情報は省略されてよい)。この場合、各指標の重みcnは、地理的な範囲毎に適宜設定されてよく、制御部11は、ブロードキャストにより、各指標の重みcnを評価指標情報700として各車載装置2に送信してよい。
【0084】
ステップS13の処理に応じて、ステップS23では、各車載装置2の制御部21は、指標取得部212として動作し、通信モジュール23を使用して、サーバ装置1から評価指標情報700を取得する。これにより、各車載装置2は、評価指標70を取得する。
【0085】
<ステップS25>
ステップS25では、各車載装置2の制御部21は、ローカルモデル50の生成及び自律分散的な車両Vの選択処理を実行する。
【0086】
図8は、本実施形態に係る各車載装置2によるローカルモデル50の生成プロセス及び自律分散的な選択プロセスに関する処理手順の一例を示すフローチャートである。本実施形態に係るステップS25の処理は、以下のステップS251~ステップS258の処理を含んでよい。ただし、
図8に示される処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、
図8に示される処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0087】
(ステップS251及びステップS252)
ステップS251では、各車載装置2の制御部21は、データ収集部213として動作し、ローカルデータ3を収集する。ステップS252では、各車載装置2の制御部21は、機械学習部214として動作し、収集されたローカルデータ3を使用して、受信したグローバルモデル40の機械学習を実施することで、ローカルモデル50を生成する。一例では、
図6に示されるとおり、ローカルデータ3は、訓練データ31及び正解ラベル33の組み合わせをそれぞれ含む複数のデータセット30により構成されてよく、ローカルモデル50は、教師あり学習により生成されてよい。
【0088】
機械学習が完了した後、各車載装置2の制御部21は、ローカルモデル50を示すローカルモデル情報500を生成する。ローカルモデル情報500の構成は、ローカルモデル50を再生可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、グローバルモデル情報400と同様に、ローカルモデル情報500は、機械学習により調整された、ローカルモデル50に含まれる演算パラメータの値を示す情報を含んでよい。場合によって、ローカルモデル情報500は、ローカルモデル50の構造を示す情報を更に含んでもよい。他の一例では、ローカルモデル情報500は、グローバルモデル40からローカルモデル50への更新(すなわち、グローバルモデル40及びローカルモデル50の間の演算パラメータの値の差分)を示すように構成されてよい。
【0089】
なお、ローカルモデル50を生成した後、各車載装置2は、グローバルモデル情報400をそのまま保持してもよいし、或いはグローバルモデル情報400を削除してもよい(例えば、ローカルモデル情報500で上書きしてもよい)。また、生成されたローカルモデル50は、各車載装置2において任意のタイミングで推論タスクを解くのに利用されてよい。機械学習が完了した後、各車載装置2の制御部21は、次のステップS253に処理を進める。
【0090】
(ステップS253)
ステップS253では、各車載装置2の制御部21は、評価値算出部215として動作し、受信した評価指標情報700により示される評価指標70に従って自装置の評価値6sを算出する。本実施形態では、評価指標70は、上記第1指標、第2指標及び第3指標の少なくともいずれかを含んでよい。また、評価指標70は、関数により表現されてよい。これに応じて、各車載装置2の制御部21は、評価指標70を表現する関数(例えば、上記式1)の演算処理を実行することで、自装置の評価値6sを算出してよい。自装置の評価値6sを算出すると、制御部21は、次のステップS254に処理を進める。
【0091】
(ステップS254~ステップS256)
ステップS254では、各車載装置2の制御部21は、評価値送信部216として動作し、近接通信により、自己の車両V付近に存在する1台以上の他の車両Vそれぞれに搭載された他の車載装置2に向けて、自装置の算出した評価値6sを送信する。ステップS255では、各車載装置2の制御部21は、評価値受信部217として動作し、1台以上の他の車両Vそれぞれに搭載された他の車載装置2から、当該他の車載装置2で評価指標70に従って算出された評価値6tを受信する。
【0092】
ステップS254及びステップS255の処理を実行するタイミングは、各車載装置2間において任意の方法で調整されてよい。一例では、ステップS254による評価値6sの送信及びステップS255による評価値6tの受信の試行を実行する時間帯が予め決められていてよい。この場合、実行する時間帯の情報は、各車載装置2間で適宜共有されてよい。
【0093】
ステップS254及びステップS255の近接通信には、近接通信モジュール27が用いられる。本実施形態では、各車載装置2は、近接通信モジュール27としてビーコンモジュールを備えてよい。これに応じて、制御部21は、ビーコンモジュールを用いて、近接通信を行ってもよい。これにより、安価に近接通信できる。なお、評価値6sの送信範囲は、近接通信モジュール27の種類等に応じて適宜決定されてよい。
【0094】
また、送信方法は、実施の形態に応じて適宜選択されてよい。一例では、各車載装置2の制御部21は、ステップS254の近接通信において、ブロードキャストで評価値6sを送信してもよい。ステップS255では、各車載装置2の制御部21は、他の車載装置2からのブロードキャストを聴くことで、他の車載装置2から評価値6tの取得を試行してよい。これにより、近接通信の帯域幅を節約することができる。
【0095】
ステップS256では、各車載装置2の制御部21は、一定期間内に他の車載装置2から評価値6tが得られたか否かを判定する。一定期間内に他の車載装置2から評価値6tが得られないことは、その一定期間の間、近接通信可能な範囲に他の車載装置2(他の車両V)が存在しないことに対応する。本実施形態に係る情報処理方法は、このような車載装置2を連合学習に参加させるように構成される。すなわち、一定期間内に他の車載装置2から評価値6tが得られなかった(タイムアウトした)場合、制御部21は、ステップS27に処理を進める。一方、一定期間内に1台以上の他の車両Vそれぞれに搭載された他の車載装置2から評価値6tを得た場合、制御部21は、ステップS257に処理を進
める。
【0096】
(ステップS257及びステップS258)
ステップS257では、制御部21は、評価部218として動作し、自装置の算出した評価値6s及び他の車載装置2から受信した評価値6tを比較することで、評価が高いか否かを判定する。
【0097】
評価が高いと判定する範囲は、実施の形態に応じて適宜決定されてよい。一例では、評価値(6s、6t)の比較の結果、最も評価が高い場合に、制御部21は、評価が高いと判定し、それ以外の場合は、評価が高くないと判定してよい。他の一例では、評価値(6s、6t)の比較の結果、評価が高い方から数えて任意数番目以内である場合に、制御部21は、評価が高いと判定し、それ以外の場合は、評価が高くないと判定してよい。
【0098】
ステップS258では、制御部21は、ステップS257の比較の結果に応じて、処理の分岐先を決定する。評価が高いと判定した場合、制御部21は、ステップS27に処理を進める。一方、評価が高くないと判定した場合、車載装置2の制御部21は、ステップS27の処理を省略し、本動作例に係る処理手順を終了する。
【0099】
<ステップS27>
ステップS27では、制御部21は、モデル送信部219として動作し、通信モジュール23を使用して、自装置の生成したローカルモデル50を示すローカルモデル情報500をサーバ装置1に送信する。本実施形態では、ステップS27の処理は、ステップS256の処理で一定期間内に他の車載装置2の評価値6tが得られなかった車載装置2、及びステップS257の比較の結果、評価が高いと判定した少なくとも1つの車載装置2により実行される。ローカルモデル情報500の送信が完了すると、車載装置2の制御部21は、本動作例に係る処理手順を終了する。
【0100】
<ステップS31>
図7に戻り、ステップS31では、サーバ装置1の制御部11は、モデル受信部113として動作し、ステップS27の処理を実行した少なくとも1つの車載装置2から、ローカルモデル50を示すローカルモデル情報500を受信する。ローカルモデル情報500を受信すると、制御部11は、次のステップS33に処理を進める。
【0101】
<ステップS33>
ステップS33では、制御部11は、統合処理部114として動作し、少なくとも1つの車載装置2から受信したローカルモデル情報500により示されるローカルモデル50を統合することにより、新たなグローバルモデル45を生成する。複数のローカルモデル50を統合することは、各ローカルモデル50に含まれる対応する演算パラメータ同士の値を平均化すること、対応する演算パラメータ同士の値を合計すること等であってよい。各ローカルモデル50に含まれる演算パラメータの値は重み付けされた後に統合されてもよい。各ローカルモデル50の重みは任意の方法で指定されてよい。
【0102】
ローカルモデル50の統合は、全ての演算パラメータで行われてもよいし、或いは一部の演算パラメータで行われてもよい。ローカルモデル50の統合が部分的に行われる場合、車載装置2からサーバ装置1に送信されるローカルモデル情報500において、統合が行われない範囲の情報は省略されてよい。
【0103】
制御部11は、新たなグローバルモデル45を示すグローバルモデル情報450を生成してよい。グローバルモデル情報450は、グローバルモデル情報400と同様に構成されてよい。新たなグローバルモデル45を生成した後、一例では、サーバ装置1は、更新
前のグローバルモデル情報400及び車載装置2から受信したローカルモデル情報500をそのまま保持してもよい。他の一例では、サーバ装置1は、グローバルモデル情報400及びローカルモデル情報500のうちの少なくとも一方を削除してもよい。
【0104】
新たなグローバルモデル45の生成が完了すると、サーバ装置1の制御部11は、本動作例に係る処理手順を終了する。なお、サーバ装置1及び各車載装置2は、新たなグローバルモデル45をグローバルモデル40として取り扱い、ステップS11から連合学習の処理を繰り返し実行してよい。繰り返し実行する連合学習の処理手順において、評価指標70を変更しない場合には、ステップS13及びステップS23の処理は省略されてよい。評価指標70を変更するタイミングで、ステップS13及びステップS23の処理が適宜実行されてよい。
【0105】
[特徴]
本実施形態では、ステップS253~ステップS257による選択プロセスは、各車載装置2間の近接通信による評価値6のやり取りによって達成される。この近接通信による選択プロセスによれば、地理的に近い範囲に存在する車両Vにそれぞれ搭載された複数の車載装置2の中から連合学習に参加する車載装置2を選抜することができる。そして、選抜された車載装置2により生成されたローカルモデル50をステップS33の処理におけるグローバルモデル40の更新に反映することができる。また、サーバ装置1を介さず、連合学習に参加する車載装置2を自律分散的に選抜することができる。したがって、本実施形態によれば、サーバ装置1及び各車載装置2の間で実施される連合学習の効率化を図ることができる。加えて、ステップS254及びステップS255の処理において各車載装置2間でやり取りされるデータは評価値6に過ぎないため、プライバシーの問題を解決することができる。
【0106】
また、本実施形態では、グローバルモデル40及び評価指標70は、サーバ装置1から各車載装置2に提供される。これにより、グローバルモデル40及び評価指標70を柔軟に変更することができる。例えば、任意の地理的な範囲毎にグローバルモデル40及び評価指標70を適宜変更することができる。各範囲で生じる推論タスクの遂行に適切なようにグローバルモデル40及び評価指標70を調整することで、各範囲でより良い性能を発揮可能な新たなグローバルモデル45を生成することができる。
【0107】
[4 変形例]
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。以下の変形例は適宜組み合わせ可能である。
【0108】
上記実施形態では、車両Vが移動体の一例であり、車載装置2が移動体に搭載される情報処理装置の一例である。しかしながら、本開示に係る移動体は、車両に限られなくてよい。移動体は、例えば、ドローン、ロボット装置等の移動可能に構成された装置であってよい。情報処理装置は、例えば、搭載される移動体の種類等に応じて適宜読み替えられてよい。
【0109】
上記実施形態では、グローバルモデル40及び評価指標70は、サーバ装置1から各車載装置2に提供されている。しかしながら、グローバルモデル40及び評価指標70の提供方法は、このような例に限定されなくてよい。他の一例では、グローバルモデル情報400(グローバルモデル40)は、外部記憶装置、外部サーバ、記憶媒体92等から各車載装置2に提供されてよい。サーバ装置1から配信する方法以外でグローバルモデル40を各車載装置2に提供する場合、サーバ装置1のソフトウェア構成からモデル配信部11
1は省略されてよく、上記実施形態に係る情報処理方法の処理手順からステップS11及びステップS21の処理は省略されてよい。また、他の一例では、評価指標情報700は、外部記憶装置、外部サーバ、記憶媒体92等から各車載装置2に提供されてよい。評価指標情報700は、各車載装置2に予め組み込まれていてもよい。サーバ装置1から配信する方法以外で評価指標情報700を各車載装置2に提供する場合、サーバ装置1のソフトウェア構成から指標配信部112は省略されてよく、上記実施形態に係る情報処理方法の処理手順からステップS13及びステップS23の処理は省略されてよい。
【0110】
上記実施形態において、
図7及び
図8の情報処理に含まれる各ステップの処理順序は、矛盾が生じない範囲で適宜変更されてよい。一例として、ステップS11及びステップS21の処理は、ステップS252の処理を実行するまでの任意のタイミングで実行されてよい。ステップS13及びステップS23の処理は、ステップS253の処理を実行するまでの任意のタイミングで実行されてよい。ステップS11及びステップS13の処理順序は任意に変更されてよい。例えば、ステップS11及びステップS13は同時に実行されてよい。或いは、ステップS13の処理が、ステップS11の処理よりも前に実行されてよい。ステップS251の処理は、ステップS252の処理を実行するまでの任意のタイミングで実行されてよい。ステップS252の処理は、ステップS27の処理を実行するまでの任意のタイミングで実行されてよい。ステップS253の処理は、ステップS254の処理を実行するまでの任意のタイミングで実行されてよい。ステップS254及びステップS255の処理順序は任意に変更されてよい。例えば、ステップS254及びステップS255の処理は並列に実行されてよい。
【0111】
また、上記実施形態に係る情報処理方法は、ステップS256の処理により、一定期間内に他の車載装置2の評価値6tが得られなかった車載装置2を連合学習に参加させるように構成されている。しかしながら、他の車載装置2の評価値6tが得られない車載装置2の取り扱いは、このような例に限定されなくてよい。上記実施形態に係る情報処理方法は、他の車載装置2の評価値6tが得られなかった車載装置2は連合学習に参加しないように構成されてもよい。すなわち、ステップS256の判定処理でYESの場合、制御部21は、上記動作例に係る処理手順を終了してよい。他の一例では、ステップS256の処理は省略されてよい。
【0112】
[5 補足]
本開示において説明した処理及び手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【0113】
また、1つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。或いは、異なる装置が行うものとして説明した処理が、1つの装置によって実行されても構わない。コンピュータシステムにおいて、各機能をどのようなハードウェア構成によって実現するかは柔軟に変更可能である。
【0114】
本開示は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する1つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよいし、ネットワークを介してコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ(HDD)等)、光ディスク(CD-ROM、DVDディスク、ブルーレイディスク等)など任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、半導体ドライブ(ソリッドステートドライブ
等)、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【0115】
1…サーバ装置、
11…制御部、12…記憶部、13…通信モジュール、
14…入力装置、15…出力装置、16…ドライブ、
81…プログラム、91…記憶媒体、
111…モデル配信部、112…指標配信部、
113…モデル受信部、114…統合処理部、
2…車載装置(情報処理装置)、V…車両(移動体)、
21…制御部、22…記憶部、23…通信モジュール、
24…入力装置、25…出力装置、26…ドライブ、
27…近接通信モジュール、
82…プログラム、92…記憶媒体、
211…モデル取得部、212…指標取得部、
213…データ収集部、214…機械学習部、
215…評価値算出部、216…評価値送信部、
217…評価値受信部、218…評価部、
219…モデル送信部、
3…ローカルデータ、
40…グローバルモデル、400…グローバルモデル情報、
45…(新たな)グローバルモデル
50…ローカルモデル、500…ローカルモデル情報、
6…評価値、
70…評価指標、700…評価指標情報