(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-11
(54)【発明の名称】連合学習における効率的な通信のための双方向圧縮およびプライバシー
(51)【国際特許分類】
G06N 3/098 20230101AFI20240604BHJP
【FI】
G06N3/098
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564579
(86)(22)【出願日】2022-05-31
(85)【翻訳文提出日】2023-10-20
(86)【国際出願番号】 US2022072659
(87)【国際公開番号】W WO2022251885
(87)【国際公開日】2022-12-01
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】GR
(31)【優先権主張番号】PCT/US2022/072599
(32)【優先日】2022-05-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】マティアス・ライサー
(72)【発明者】
【氏名】アレクセイ・トリアストシン
(72)【発明者】
【氏名】クリストス・ルイゾス
(57)【要約】
本開示のいくつかの態様は、連合学習を実行するための技法を提供し、連合学習サーバからグローバルモデルを受信することと、グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定することと、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することとを含む。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
連合学習サーバからグローバルモデルを受信するステップと、
前記グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定するステップと、
相対エントロピーコーディングを使用して、前記更新されたモデルを前記連合学習サーバに送信するステップと
を含む方法。
【請求項2】
相対エントロピーコーディングを使用して、前記更新されたモデルを前記連合学習サーバに送信するステップが、
ランダムシードを決定するステップと、
前記グローバルモデルに基づいて第1の確率分布を決定するステップと、
前記更新されたモデルを中心とする第2の確率分布を決定するステップと
を含む、請求項1に記載の方法。
【請求項3】
相対エントロピーコーディングを使用して、前記更新されたモデルを前記連合学習サーバに送信するステップが、
前記ランダムシードに従って、前記第1の確率分布から複数のランダムサンプルを決定するステップと、
前記第1の確率分布を与えられたそれぞれのランダムサンプルの尤度に対する前記第2の確率分布を与えられた前記それぞれのランダムサンプルの尤度の比率に基づいて、前記複数のランダムサンプルの各それぞれのランダムサンプルに確率を割り当てるステップと、
前記複数のランダムサンプルの各々の前記確率に従って、前記複数のランダムサンプルのうちの1つのランダムサンプルを選択するステップと、
前記選択されたランダムサンプルに関連付けられたインデックスを決定するステップと、
前記インデックスを前記連合学習サーバに送信するステップと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記ランダムシードに従って、前記第1の確率分布から前記複数のランダムサンプルを決定するステップが、前記第1の確率分布と前記第2の確率分布との間の差に基づいて実行される、請求項3に記載の方法。
【請求項5】
前記インデックスが、log
2Kビットを使用して送信され、
Kは、前記第1の確率分布からの前記複数のランダムサンプルの数である、
請求項3に記載の方法。
【請求項6】
前記複数のランダムサンプルが、前記グローバルモデルの複数のパラメータに関連付けられる、請求項3に記載の方法。
【請求項7】
前記複数のランダムサンプルが、前記グローバルモデルのレイヤに関連付けられる、請求項3に記載の方法。
【請求項8】
前記複数のランダムサンプルが、前記グローバルモデルのパラメータのサブセットに関連付けられる、請求項3に記載の方法。
【請求項9】
前記更新されたモデルを中心とする前記第2の確率分布を決定する前に、前記更新されたモデルをクリッピングするステップをさらに含み、
前記クリッピングが、前記グローバルモデルの標準偏差に基づき、
前記第2の確率分布が、クリップされた更新モデルに基づく、
請求項3に記載の方法。
【請求項10】
前記更新されたモデルをクリッピングするステップが、前記更新されたモデルのノルムをクリッピングするステップを含む、請求項9に記載の方法。
【請求項11】
前記グローバルモデルおよびローカルデータに基づいて、前記更新されたモデルを決定するステップが、前記ローカルデータを使用して前記グローバルモデルに対して勾配降下を実行するステップを含む、請求項1に記載の方法。
【請求項12】
前記ランダムシードを決定するステップが、前記連合学習サーバから前記ランダムシードを受信するステップを含む、請求項3に記載の方法。
【請求項13】
コンピュータ実装方法であって、
グローバルモデルをクライアントデバイスに送信するステップと、
ランダムシードを決定するステップと、
相対エントロピーコーディングを使用して、前記クライアントデバイスから更新されたモデルを受信するステップと、
前記クライアントデバイスからの前記更新されたモデルに基づいて、更新されたグローバルモデルを決定するステップと
を含む方法。
【請求項14】
相対エントロピーコーディングを使用して、前記更新されたモデルを前記クライアントデバイスから受信するステップが、
前記クライアントデバイスからインデックスを受信するステップと、
前記グローバルモデル、前記ランダムシード、および前記インデックスに基づいて、確率分布からサンプルを決定するステップと、
前記更新されたグローバルモデルを決定するために、前記決定されたサンプルを使用するステップと
を含む、請求項13に記載の方法。
【請求項15】
前記インデックスが、log
2Kビットを使用して受信され、
Kは、前記グローバルモデルに基づく確率分布から決定されるランダムサンプルの数である、
請求項14に記載の方法。
【請求項16】
前記決定されたサンプルが、前記更新されたグローバルモデルのパラメータを更新するために使用される、請求項14に記載の方法。
【請求項17】
前記決定されたサンプルが、前記更新されたグローバルモデルのレイヤを更新するために使用される、請求項14に記載の方法。
【請求項18】
前記ランダムシードを決定するステップが、前記クライアントデバイスから前記ランダムシードを受信するステップを含む、請求項13に記載の方法。
【請求項19】
処理システムであって、コンピュータ実行可能命令を含むメモリと、コンピュータ実行可能命令を実行し、処理システムに請求項1~18のいずれか一項に記載の方法を実行させるように構成された1つまたは複数のプロセッサとを備える、処理システム。
【請求項20】
請求項1~18のいずれか一項に記載の方法を実行するための手段を備える処理システム。
【請求項21】
非一時的コンピュータ可読媒体であって、処理システムの1つまたは複数のプロセッサによって実行されたときに、前記処理システムに請求項1~18のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項22】
請求項1~18のいずれか一項に記載の方法を実行するためのコードを含むコンピュータ可読記憶媒体上に具現化されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年5月26日に出願されたPCT出願第PCT/US2022/072599号の優先権を主張するとともに、2021年5月28日に出願されたギリシャ特許出願第20210100355号の利益および優先権を主張し、それらの各々の内容全体が参照により本明細書に組み込まれる。
【0002】
本開示の態様は、機械学習に関する。
【背景技術】
【0003】
機械学習は、一般に、訓練済みモデル(たとえば、人工ニューラルネットワーク、ツリー、またはその他の構造)を作成するプロセスであり、訓練済みモデルは、先験的に知られている訓練データのセットへの一般化された当てはめを示す。訓練済みモデルを新しいデータに適用すると推論情報が作成され、推論情報は新しいデータへのインサイトを得るために使用されることがある。
【0004】
人工知能タスクと呼ばれることもある様々な技術領域で機械学習の利用が広まるにつれて、機械学習モデルデータのより効率的な処理の必要性が生じている。たとえば、モバイルデバイス、常時接続デバイス(always on device)、モノのインターネット(IoT)デバイスなどの「エッジ処理」デバイスは、高度な機械学習機能の実装と、パッケージングサイズ、ネイティブ計算機能、電力の蓄積および使用、データ通信機能およびコスト、メモリサイズ、熱放散などの様々な相互に関連する設計制約とのバランスをとらなければならない。
【0005】
連合学習は、エッジ処理デバイスなどのいくつかのクライアントが、ローカルデータをリモートサーバに転送することなく、共有グローバルモデルを共同でトレーニングすることを可能にする分散機械学習フレームワークである。一般に、中央サーバは、連合学習プロセスを調整し、各参加クライアントは、そのローカルデータをプライベートに保ちながら、モデルパラメータ情報のみを中央サーバと通信する。この分散アプローチは、(訓練が連合されるため)クライアントデバイスの能力制限の問題に役立ち、また、多くの場合、データプライバシーの懸念を軽減する。
【0006】
連合学習は、一般に、サーバとクライアントとの間(またはその逆)の任意の単一の送信におけるモデルデータの量を制限するが、連合学習の反復性は、依然として、訓練中にかなりの量のデータ送信トラフィックを生成し、これは、デバイスおよび接続タイプに応じてかなりのコストがかかる可能性がある。したがって、一般に、連合学習中に、サーバとクライアントとの間のデータ交換を試み、そのサイズを低減することが望ましい。しかしながら、データ交換を低減するための従来の方法は、サーバとクライアントとの間で交換されるデータの量を制限するためにモデルデータの非可逆圧縮が使用されるなど、結果として得られるモデルが不十分になっている。さらに、従来の連合学習は、プライバシーを保持しないことを示している。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、通信効率を支持してモデル性能が損なわれることなく、プライバシーが改善される、連合学習を実行する改善された方法が必要とされている。
【課題を解決するための手段】
【0008】
いくつかの態様は、連合学習を実行するための方法を提供し、方法は、連合学習サーバからグローバルモデルを受信するステップと、グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定するステップと、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信するステップとを含む。
【0009】
さらなる態様は、連合学習を実行するための方法を提供し、方法は、グローバルモデルをクライアントデバイスに送信するステップと、ランダムシードを決定するステップと、相対エントロピーコーディングを使用して、クライアントデバイスから更新されたモデルを受信するステップと、クライアントデバイスからの更新されたモデルに基づいて、更新されたグローバルモデルを決定するステップとを含む。
【0010】
他の態様は、上述の方法および本明細書で説明する方法を実行するように構成された処理システム、処理システムの1つまたは複数のプロセッサによって実行されたとき、上述の方法および本明細書で説明する方法を処理システムに実行させる命令を備える非一時的コンピュータ可読媒体、上述の方法および本明細書でさらに説明する方法を実行するためのコードを備えるコンピュータ可読記憶媒体上に具現されたコンピュータプログラム製品、ならびに上述の方法および本明細書でさらに説明する方法を実行するための手段を備える処理システムを提供する。
【0011】
以下の説明および関連図面は、1つまたは複数の態様のいくつかの例示的な特徴を詳細に記載する。
【0012】
添付の図は、1つまたは複数の態様のうちのいくつかの態様を示し、したがって、本開示の範囲の限定と見なされるべきでない。
【図面の簡単な説明】
【0013】
【
図1】例示的な連合学習アーキテクチャを示す図である。
【
図2A】非可逆相対エントロピーコーディングの送信者側実装の例示的なアルゴリズム1を示す図である。
【
図2B】非可逆相対エントロピーコーディングの受信者側実装の例示的なアルゴリズムを示す図である。
【
図3】連合学習更新に対する相対エントロピー符号化を実行する概略図である。
【
図4】連合学習に相対エントロピー符号化を適用するための例示的なサーバ側アルゴリズムを示す図である。
【
図5】連合学習に相対エントロピー符号化を適用するための例示的なクライアント側アルゴリズムを示す図である。
【
図6A】差分プライベート相対エントロピー符号化を連合学習に適用するための例示的なクライアント側アルゴリズムを示す図である。
【
図6B】差分プライベート相対エントロピー符号化を連合学習に適用するための例示的なサーバ側アルゴリズムを示す図である。
【
図7】連合学習更新に対して差分プライベート相対エントロピー符号化を実行する概略図である。
【
図8】本明細書で説明する態様に従って、連合学習を実行するための例示的な方法を示す図である。
【
図9】本明細書で説明する態様に従って、連合学習を実行するための別の例示的な方法を示す図である。
【
図10A】本明細書で説明する方法を実行するように構成され得る例示的な処理システムを示す図である。
【
図10B】本明細書で説明する方法を実行するように構成され得る例示的な処理システムを示す図である。
【発明を実施するための形態】
【0014】
理解を容易にするために、可能な場合、図面に共通の同一の要素を指定するために同一の参照番号が使用されている。1つの態様の要素および特徴がさらなる記載なく他の態様の中に有益に組み込まれてもよいことが企図される。
【0015】
本開示の態様は、機械学習、特に、連合学習における効率的なプライベート通信のための双方向圧縮のための装置、方法、処理システム、および非一時的コンピュータ可読媒体を提供する。
【0016】
最新のニューラルネットワークベースの機械学習モデルの性能は、それらが訓練されたデータの量に非常によく比例する。同時に、産業界、立法者、および消費者は、そのようなモデルを訓練する際に使用され得るデータのプライバシーを保護する必要性についてより意識するようになっている。連合学習は、デバイス上の更新を計算することによって、分散データに関する学習を可能にすることを目的とする機械学習原理を記述する。デバイスの連合体における「クライアント」は、そのデータを中央位置に送信する代わりに、そのデータに関して計算されたモデル更新を中央サーバに送信する。分散データから学習するそのようなアプローチは、アプローチの本質的によりプライベートな性質のために、何十億もの「エッジ」デバイスのコンピューティング機能を解き放ち、パーソナライズされたモデルを可能にし、たとえばヘルスケアにおける新しいアプリケーションを可能にすることを約束する。
【0017】
一方、連合学習パラダイムは、非独立的で同一に分散されたデータからの学習、リソースに制約のあるデバイス、異種の計算および通信能力、公平性および表現の問題、ならびに通信オーバーヘッドなど、多くの次元に沿って課題をもたらす。特に、ニューラルネットワークは、データ上の多くのパスを必要とするので、最新のサーバ側モデルをクライアントに繰り返し通信し、その更新をサーバに戻す必要があり、これは、通信オーバーヘッドを著しく増加させる。したがって、連合学習における更新の圧縮は、そのようなオーバーヘッドを低減し、たとえば、Wi-Fiからエッジデバイスを「アンテザリング」する際の重要なステップである。
【0018】
この問題を軽減するための従来のアプローチは、送信されるべきメッセージの量子化またはプルーニングのいずれかを介したアップリンクおよび/またはダウンリンクメッセージの圧縮を含む。しかしながら、これらの技法は、データ損失、および訓練されたグローバルモデルの性能低下につながる可能性がある。
【0019】
従来のアプローチに関するこれらの技術的問題を克服するために、本明細書で説明する態様は、クライアントとサーバとの間、その逆にモデルおよびモデル更新を送信するための圧縮方式、相対エントロピーコーディングを実装し、これは、量子化またはプルーニングに依存せず、連合学習設定のために機能するように適合される。
【0020】
本明細書で説明する態様では、クライアントからサーバへの通信は、一連のステップによって実現され得る。一例では、サーバおよびクライアントは、最初に、特定のランダムシードRおよび事前分布p(たとえば、サーバがクライアントに送信した最後のモデル)について合意する。次いで、クライアントは、サーバに送信したいモデル更新を中心とする確率分布qを形成する。次いで、クライアントは、ランダムシードRに従ってpからK個のランダムサンプルを抽出する。特に、Kは、pとqとの間の不一致を測定することによって、データによって決定することができる。次いで、クライアントは、これらのK個のサンプルの各々に、比率
【0021】
【0022】
に比例する確率πkを割り当てる。次いで、クライアントは、π1,…,πKに従ってランダムなサンプルを選択し、そのインデックスkを記録する。次いで、クライアントは、log2Kビットでインデックスkをサーバに通信する。サーバは、k番目のランダムサンプルを回復するまで、ランダムシードRを使用してpからランダムサンプルを抽出することによって、メッセージを復号することができる。
【0023】
特に、この手順は、柔軟に実施することができる。たとえば、手順は、パラメータごとに(たとえば、パラメータごとにlog2Kビットを通信する)、レイヤごとに(たとえば、ネットワーク内のレイヤごとにlog2Kビットを通信する)、またはネットワークごとに(たとえば、全体でlog2Kビットを通信する)実行され得る。任意の中間ベクトルサイズが可能である。
【0024】
本明細書で説明する態様では、サーバからクライアントへの通信も同様に圧縮可能である。最初に、サーバは、各クライアントが訓練に参加するように選択された最後の時間を、それがクライアントから受信したすべてのモデル更新とともに追跡する。次いで、クライアントが連合学習のラウンド(またはインスタンス)に参加するように選択されたときはいつでも、サーバは、グローバルモデルの現在の状態を送信する代わりに、クライアントにおける古いローカルグローバルモデルコピーを現在のものに更新するために必要なすべてのモデル更新を通信する。モデル更新の各々は、特定のランダムシードRおよびlog2Kビットによって生成することができるので、特に、上記で説明したように、クライアントからサーバへのモデル更新のために積極的な圧縮が使用されるとき、全体のメッセージ長は、浮動小数点モデル全体を送信することと比較して、劇的に小さくすることができる。特に、2つのメッセージサイズ(浮動小数点でモデルを通信することと、圧縮された過去のモデル更新を通信すること)を常に比較し、より低いコストのフォーマットを選択することが可能である。
【0025】
上記のように、本明細書で説明する態様は、クライアントとサーバとの間で送信されるメッセージに量子化/プルーニングを課すことなく有益に機能する。さらに、本明細書で説明する態様を使用するときの圧縮率は、特にレイヤごとに方式を実行するとき、従来のスカラー量子化よりもはるかに高くなり得る。さらに、メッセージのビット幅は、有利には、オンザフライで決定/適応することができる。
【0026】
したがって、本明細書で説明する態様は、通信オーバーヘッドに関して上記で説明した技術的問題に対する技術的解決策を提供する。本明細書で説明する態様は、連合学習中にクライアントとサーバとの間で何ユニット(たとえば、GB)のデータが通信されたかなどの総通信コストを低減することなどによって、連合学習に参加する任意のデバイスのパフォーマンスを有益に改善する。通信コストは、特に、本明細書で説明する方法に従ってレイヤごとの圧縮が使用されるとき、従来のスカラー圧縮方法と比較して劇的に小さくなり得る。
【0027】
本明細書で説明するさらなる態様は、前述の通信効率の良い連合学習を実行しながらプライバシーを改善することに関する。連合学習は、デバイス上にデータを保持することによって、プライバシーの直観的かつ実用的な概念を提供するが、それにもかかわらず、クライアントの更新は、クライアントのトレーニングデータの再構築を可能にしながら、機密情報を明らかにすることが示されている。従来のアプローチは、一般に、圧縮の制限とプライバシーの強化、またはその逆との間でトレードオフしてきたが、従来のアプローチは、両方を同時に達成していない。
【0028】
一方、本明細書で説明する態様は、連合学習コンテキストにおいて修正された相対エントロピーコーディングを実装して、差分プライベートにすることができる。そうすることで、本明細書で説明する態様は、プライバシーレベル(ε<1、εは、学習アルゴリズムがどの程度プライベートであるかを定量化し、個人およびそのデータがモデルの訓練に参加した場所を仮想敵がどの程度容易に識別することができるかを意味する)で、クライアントからサーバへの更新の極端な圧縮(たとえば、テンソルあたり7ビットまで)を、モデルパフォーマンスへの最小限の影響で達成する、差分プライベート連合学習アルゴリズムを提供する。
【0029】
したがって、本明細書で説明する態様は、連合学習中に通信されるメッセージの差分プライベートおよびコーディング効率のよい圧縮を使用して、プライバシーおよび通信効率に対する同時解決策を提供する。
【0030】
連合学習アーキテクチャの例
図1は、例示的な連合学習アーキテクチャ100を示す。
【0031】
この例では、モバイルデバイス102A~102Cは、エッジ処理デバイスの例であり、各々がそれぞれローカルデータストア104A~104Cを有し、それぞれローカル機械学習モデルインスタンス106A~106Cを有する。たとえば、モバイルデバイス102Aは、初期機械学習モデルインスタンス106Aを搭載し(または、たとえばグローバル機械学習モデルコーディネータ108から初期機械学習モデルインスタンス106Aを受信し)、これは、いくつかの例ではソフトウェアプロバイダであってもよい。モバイルデバイス102A~102Cの各々は、ローカルデータ104A~104Cの処理などの何らかの有用なタスクについてのそれぞれの機械学習モデルインスタンス(106A~106C)を使用し、そのそれぞれの機械学習モデルインスタンスのローカル訓練および最適化をさらに実行してもよい。
【0032】
たとえば、モバイルデバイス102Aは、モバイルデバイス102A上のデータ102Bとして記憶された写真に対して顔認識を実行するためにモバイルデバイス102Aの機械学習モデル106Aを使用してもよい。このような写真は個人用と見なされることがあるので、モバイルデバイス102Aは、その写真データをグローバルモデルコーディネータ108と共有することを望まないことがあるかまたは共有するのを防止される場合がある。しかし、モバイルデバイス102Aは、モデルの重みおよびパラメータの更新など、ローカルモデル更新をグローバルモデルコーディネータ108と共有することを望むかまたは共有することを許可される場合がある。同様に、モバイルデバイス102Bおよび102Cはそれぞれ、そのローカル機械学習モデルインスタンス106Bおよび106Cを同様に使用し、また、ローカルモデル更新を生成するために使用される基礎的なデータを共有せずにローカルモデル更新をグローバルモデルコーディネータ108と共有してもよい。
【0033】
グローバルモデルコーディネータ108(代替的に、連合学習サーバと呼ばれる)は、グローバル(またはコンセンサス)モデル更新を決定するためにローカルモデル更新のすべてを使用してもよく、次いでグローバルモデル更新がモバイルデバイス102A~102Cに配信されてもよい。このようにして、機械学習は、訓練データおよび処理を集中させずにモバイルデバイス102A~102Cを活用することができる。
【0034】
したがって、連合学習アーキテクチャ100は、機械学習モデルの非集中化展開および訓練を可能にし、それによって、有利にはレイテンシが短縮され、ネットワーク利用度、および電力消費量が低減し、一方、データの秘密性およびセキュリティが維持される。さらに、連合学習アーキテクチャ100は、モデルが異なるデバイス上で異なるように進化することを可能にするが、最終的には、その分散学習された知識をグローバルモデルに戻すように組み合わせることを可能にする。
【0035】
特に、それぞれ、モバイルデバイス102A~102C上に記憶され、機械学習モデル106A~106Cによって使用されるローカルデータは、個々のデータシャード(たとえば、データ104A~104C)および/または連合データと呼ばれることがある。これらのデータシャードはそれぞれに異なるユーザによってそれぞれに異なるデバイス上で生成され、混合されることはないので、互いに対して独立同分布される(IID)と仮定することはできない。このことは、より一般的には、機械学習モデルを訓練するために組み合わされることのないデバイスに固有の任意の種類のデータに当てはまる。それぞれモバイルデバイス102A~102Cの個々のデータセット104A~104Cを組み合わせることによってのみ、IID仮定が有効であるグローバルデータセットを生成することができる。
【0036】
連合学習、一般
連合学習は、以下のように説明される、FedAvgアルゴリズムの形で説明されている。各通信ラウンドtにおいて、サーバ(たとえば、
図1の108)は、現在のモデルパラメータw
(t)を、訓練に参加しているすべてのSクライアント(たとえば、
図1のモバイルデバイス102A、102B、および/または102C)のサブセットS'に送信する。選択された各クライアントsは、サーバ提供モデルw
(t)を、たとえば、確率的勾配降下法を介して、以下のような所与の損失関数を使用して、サイズN
sのそのローカルデータセットD
s(たとえば、それぞれ、
図1のデータ104A、104B、および/または104C)により良好に適合するように更新する。
【0037】
【0038】
ローカルデータセットでの最適化のEエポックの後、クライアント側最適化手順によって、更新されたモデル
【0039】
【0040】
が得られ、これに基づいて、クライアントは、
【数4】
に従ってグローバルモデルへの更新を計算し、それをサーバに通信する。次いで、サーバは、以下に従って、次のラウンドで新しいグローバルモデルを受信するために、クライアント固有の更新を集約する。
【0041】
【0042】
このサーバ側の平均化方式の一般化は、
【0043】
【0044】
をサーバ側モデルのための「勾配」として解釈し、適応運動量(たとえば、Adamアルゴリズム)などのより高度な更新方式を導入する。
【0045】
連合訓練は、クライアントからサーバへの、およびその逆のモデル更新の繰り返し通信を伴う。この手順の総通信コストは、かなり高くなる可能性があり、したがって、典型的には、連合学習は、Wi-Fiネットワークなどの非メーターのチャネルの使用に制約される。したがって、通信されたメッセージの圧縮は、連合学習を真のモバイルユースケースに移す際に重要な役割を果たす。この目的のために、本明細書で説明する態様は、相対エントロピーコーディング(REC)の非可逆バージョンを連合環境に拡張し、たとえば
【0046】
【0047】
のように、クライアントからサーバへのモデル更新を圧縮する。
【0048】
相対エントロピーコーディング
送信者と受信者の間で「共有」された情報を使用することによって、φでパラメータ化された分布qφ(w)からのランダムなサンプルw、すなわち、w~qφ(w)を圧縮する方法として、非可逆相対エントロピーコーディングと、その先行する最小ランダムコード学習が最初に提案された。この情報は、パラメータθを有する共有事前分布pθ(w)と共有ランダムシードRで与えられる。
【0049】
送信者は、ランダムシードRに従って、事前分布pθ(w)からK個の独立ランダムサンプルw1,…,wKを生成する。その後、K個のサンプルに対して、各サンプルの確率が尤度比πk∝qφ(w=wk)/pθ(w=wk)に比例するカテゴリ分布
【0050】
【0051】
を形成する。最後に、ランダムなサンプルwk*を
【0052】
【0053】
から抽出し、これは、共有事前分布から抽出されたk*番目のサンプルに対応する。次いで、送信者は、log
2Kビットでインデックスk*を受信者に通信することができる。
図2Aは、非可逆相対エントロピーコーディングの送信者側実装の例示的なアルゴリズム1を示す。
【0054】
受信者側では、w
k*は、Rで乱数発生器を初期化し、k*番目のサンプルまでp
θ(w)をサンプリングすることによって再構成することができる。
図2Bは、非可逆相対エントロピーコーディングの受信者側実装の例示的なアルゴリズム2を示す。
【0055】
場合によっては、Kは、qφ(w)から事前分布pθ(w)へのKullback-Leibler(KL)ダイバージェンスに定数tを加えた指数に等しく設定されてもよく、すなわち、
【0056】
【0057】
である。この場合、メッセージ長は、少なくともO(KL(qφ(w)||pθ(w)))である。したがって、送信者および受信者がランダム性のソースを共有するとき、いくつかの仮定の下では、このKLダイバージェンスは、通信されるメッセージの予想される長さに対する下限である。
【0058】
これは、圧縮率を、pθ(w)の情報に対するqφ(w)に符号化された追加情報の量と関連付ける、圧縮の直感的な概念をもたらす。したがって、余分な情報の量が少ないほど、メッセージ長は短くなり、qφ(w)=pθ(w)である極端な場合、メッセージ長はO(1)となる。もちろん、この手順のバイアスが高い場合、この効率を達成することは意味がなく、幸いなことに、tの適切な値、およびマイルドな仮定の下で、任意の関数fについて、バイアス、すなわち
【0059】
【0060】
を十分に小さくなり得る。したがって、いくつかの態様では、Kは、2進ビット幅bの関数としてパラメータ化され得、たとえば、K=2bであり、bは、ハイパーパラメータとして扱われ得る。
【0061】
連合学習における効率的な通信のための相対エントロピーコーディング
本明細書で説明する態様は、クライアントからサーバへのメッセージ、たとえば、モデル更新
【0062】
【0063】
にわたる分布を、各ラウンドtにおける事前分布
【0064】
【0065】
とともに適切に選択することによって、非可逆的相対エントロピーコーディングを連合環境に適応させる。これらは、以下のように定義され得る。
【0066】
【0067】
言い換えれば、ゼロを中心とするガウス分布が、適切に選択されたσとともに事前分布に使用され、モデル更新を中心とする同じ標準偏差を有するガウス分布が、メッセージ分布に使用される。qの形式は、リソースに制約のあるデバイス上で実装が可能であり、以下に考察する差分プライバシー制約を満たすように選択される。ここで、式(2)におけるFedAvgクライアント更新定義とは対照的に、ここでは、
【数15】
ことに留意されたい。
【0068】
したがって、クライアントからサーバへの連合学習メッセージの長さは、ローカルデータセットDsについての「余分な」情報がどれだけ、KLダイバージェンスを介して測定される、
【0069】
【0070】
に符号化されるかの関数となる。これは、差分プライバシー制約が、各更新において符号化される情報の量をバウンディングし、その結果、非常に圧縮可能なメッセージが得られるので、差分プライバシー(DP)との良好な相互作用を有する。また、特に、この手順は、パラメータごとに(たとえば、パラメータごとにlog2Kビットを通信する)、レイヤごとに(たとえば、グローバルモデル内のレイヤごとにlog2Kビットを通信する)、またはネットワークごとに(たとえば、合計log2Kビットを通信する)行うことができる。また、任意の中間ベクトルサイズも可能である。これは、
【0071】
【0072】
をM個の独立したグループに分けることによって実現され(ベクトルの次元にわたる要因分布の仮定のために容易である)、各グループに圧縮メカニズムを独立して適用する。
【0073】
図3は、クライアント302からサーバ304への通信の例300を概略的に示す。図示の例では、クライアント302は、(上記で説明した)分布q
φと共有事前分布p
θとの比率306に基づいてサンプル1~kを生成する。次いで、クライアント302からサーバ304にインデックスkが送信され、サーバ304は、次いで、共有事前分布p
θおよびランダムシードRなどの共有情報を用いてインデックスを復号することに基づいて、モデル更新308を復元することができる。
【0074】
クライアントからサーバへの連合学習メッセージングに関して説明した圧縮手順は、(確率的)ベクトル量子化の特定の例であり、共有コードブックは、共有ランダムシードRによって決定される。有益には、そのような共有コードブックにインデックスを通信する原理は、さらに、サーバからクライアントへの通信の圧縮を可能にする。
【0075】
たとえば、完全なサーバ側モデルを特定のクライアントに送信する代わりに、サーバは、クライアントが参加する2つの後続のラウンドの間に、グローバルモデルに対するすべての更新を収集することを選択することができる。コードブックインデックスのこの履歴に基づいて、クライアントは、ローカル最適化を開始する前に、サーバモデルの現在の状態を決定論的に再構成することができる。
【0076】
明らかに、履歴の予想される長さは、クライアントの総数およびトレーニング中に実行されるクライアントのサブサンプリングの量に比例する。したがって、任意のラウンドの開始時に、サーバは、クライアントの履歴のビットサイズを比較し、代わりに完全精度モデルw(t)を送信することを選択することができる。1k個のパラメータを有するモデルを例にとると、モデル全体の8ビットコードブック圧縮を使用するとき、単一の非圧縮モデル更新は、4k個の通信インデックスにほぼ等しい。重要なことに、このようにサーバからクライアントへのメッセージを圧縮することは、クライアントからリリースされるいかなる情報も、これらの態様によれば、プライベートであるので、以下に説明される態様の差分プライベートな性質に影響を及ぼさない。
【0077】
第1ラウンドの訓練に参加するクライアントの場合、インデックスを伴わない第1のシードは、サーバ側モデルのランダム初期化のシードとして理解することができる。それぞれ
図4および
図5に示されるアルゴリズム3および4は、サーバ側およびクライアント側の手順の例を示す。クライアント側更新ルールは、サーバ側更新ルール(*)に等しくなければならないことに留意されたい。言い換えれば、一般化されたFedAvgでは、現在のグローバルモデルw
(t)を送信するときに、オプティマイザ状態を追加的に送信する必要があり得る。
【0078】
連合学習におけるプライベートで効率的な通信のための差分プライベート相対エントロピーコーディング
上記で説明した相対エントロピーコーディング学習圧縮方式は、従来の方法と比較して、しばしば数桁の通信コストの大幅な低減を有益に可能にする。しかしながら、モデル更新は、依然としてクライアントのローカルデータセットに関する機密情報を明らかにする可能性があり、少なくとも理論的観点から、圧縮されたモデル更新は、完全精度更新と同程度の情報を漏らす。
【0079】
プライバシーリスクを軽減するために、訓練中に差分プライバシーが採用され得る。連合学習のための従来の差分プライバシー機構は、各クライアントが、完全精度モデル更新のノルムをクリッピングしてから、それらをサーバに送信することを伴う。次いで、サーバは、場合によっては安全な集約プロトコルを用いて、クリップされたモデル更新を平均化し、特定の分散を有するガウスノイズを加える。しかしながら、差分プライバシーの従来の適用は、圧縮では機能しない。
【0080】
したがって、様々な態様は、プライバシーを確保するために、上記で説明した相対エントロピーコーディング学習圧縮方式を修正し得る。具体的には、上記で説明した相対エントロピーコーディングの差分プライバシーを確保するために、固有ノイズを定量化するためにその感度をバウンディングすることが必要である。感度のバウンディングは、クライアント更新
【0081】
【0082】
のノルムをクリッピングすることからなる。相対エントロピー符号化の文脈では、これは、クライアントメッセージ分布
【0083】
【0084】
が、任意のラウンドtで、サーバの事前分布
【0085】
【0086】
と大きく異なることはできないことを意味する。手順自体は確率的であるため、従来の方法とは異なり、更新への追加のノイズの明示的な注入は必要ではないことに留意されたい。各ラウンドtにおいて、ランダム性の2つのソースが役割を果たす: (1)K個のサンプルのセットを事前分布
【0087】
【0088】
から抽出する、(2)重要サンプリング分布
【0089】
【0090】
から更新を抽出する。
【0091】
したがって、差分プライベート相対エントロピーコーディング(DP-REC)は、一般に、2つのステップで達成され得る。第1に、各クライアントは、このクリップされた更新を中心とする確率分布qを形成する前に、そのモデル更新のノルムをクリップし得る。一例では、クリッピングしきい値は、σpに従って較正される。このステップの目的は、事後分布qとサーバの事前分布pとの間のRenyiダイバージェンスを確実にバウンディングすることである。バウンディングは、プライバシー保証を計算するのに十分であるために必要である。
【0092】
分布Qからの分布Pの次数αのRenyiダイバージェンスまたはアルファダイバージェンスは、以下のように定義されることに留意されたい。
【0093】
【0094】
第2に、サーバは、クライアントのデータに関する情報を漏らすイベントを記録する。たとえば、各ラウンドにおけるその確率とともに、集団全体からの特定のクライアントのサンプリング、または重要度分布πqからのサンプリングである。これらのイベントは、すべてのクライアントについての可能なモデル更新にわたる確率分布を定義する。プライバシーアカウンティングコンポーネントは、クリッピング限界と組み合わせてこの情報を使用して、トレーニングの過程で任意の2つのクライアントの更新分布間の最大Renyiダイバージェンスを決定し、次いで、チェルノフ限界を使用することによって差分プライバシーのε、δパラメータを計算する。確率理論では、チェルノフ限界は、独立確率変数の和のテール分布に指数関数的に減少する限界を与える。さらに、εは、特定のアルゴリズムの「プライベート性」の程度を宣言し、δ(通常、十分に小さいと見なされる)は、差分プライバシーが失敗する(したがって、プライベート出力を与えない)確率である。
【0095】
図6Aおよび
図6Bは、それぞれクライアント側およびサーバ側で差分プライベート相対エントロピーコーディング(DP-REC)を実行するためのアルゴリズム5および6を示す。
【0096】
図7は、クライアント702からサーバ704への通信の例700を概略的に示す。図示の例では、クライアント702は、
【0097】
【0098】
(上記で説明した)との比率706に基づいてサンプル1~kを生成する。しかしながら、この例では、ノルムは、比率を生成する前にクリップされ、クリップされたモデル更新が生成される。
【0099】
たとえば、mqはモデル更新であり、
【0100】
【0101】
は、以下に従って計算されたクリップされたモデル更新であり、
【0102】
【0103】
Δは、実行されるクリッピングの量である。
【0104】
次いで、クライアント702からサーバ704にインデックスkが送信され、サーバ704は、次いで、共有事前分布pθおよびランダムシードRなどの共有情報を用いてインデックスを復号することに基づいて、モデル更新708を復元することができる。
【0105】
特に、従来の差分プライバシー技法と比較して、本明細書で説明する態様は、クライアントまたはサーバのいずれかにおいて、更新に追加のノイズを注入する必要がない。むしろ、連合学習更新のための相対エントロピーコーディング手順におけるランダム性が使用される。その場合、有益には、相対エントロピーコーディングを使用する通信効率の良い連合学習を、統一されたアプローチのための差分プライバシーのプライバシー保護態様と組み合わせることができる。
【0106】
例示的な方法
図8は、本明細書で説明する態様に従って、連合学習を実行するための例示的な方法800を示す。方法800は、概して、
図1のモバイルデバイス102のような、連合学習方式におけるクライアントによって実行され得る。
【0107】
方法800は、ステップ802において、
図1のグローバルモデルコーディネータ108などの連合学習サーバからグローバルモデルを受信することから始まる。
【0108】
次いで、方法800は、ステップ804に進み、グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定する。たとえば、
図1の106Aのようなローカル機械学習モデルは、更新されたモデルを生成するためにローカルデータ104A上で訓練され得る。更新されたモデルを決定することは、直接値として、または相対値(たとえば、デルタ)として決定され得る、重みおよびバイアスなどの更新されたモデルパラメータを生成することを含み得る。いくつかの態様では、グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定することは、ローカルデータを使用してグローバルモデルに対して勾配降下を実行することを含む。
【0109】
方法800は、次いでステップ806に進み、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信する。いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、
図5または
図6Aに関して描かれ、説明されたアルゴリズムに従って実行される。
【0110】
いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、ランダムシードを決定することを含む。いくつかの態様では、ランダムシードを決定することは、連合学習サーバからランダムシードを受信することを含む。他の態様では、クライアントは、ランダムシードを決定し、それを連合学習サーバに送信することができ、これは、連合学習サーバによるランダムシードの任意の操作を防止し、プライバシーを改善し得る。
【0111】
いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、グローバルモデルに基づいて第1の確率分布と、更新されたモデルを中心とする第2の確率分布とを決定することをさらに含む。
【0112】
いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、ランダムシードに従って、第1の確率分布から複数のランダムサンプルを決定することと、第1の確率分布を与えられたそれぞれのランダムサンプルの尤度に対する第2の確率分布を与えられたそれぞれのランダムサンプルの尤度の比率に基づいて、複数のランダムサンプルの各それぞれのランダムサンプルに確率を割り当てることとをさらに含む。
【0113】
いくつかの態様では、ランダムシードに従って、第1の確率分布から複数のランダムサンプルを決定することが、第1の確率分布と第2の確率分布との間の差に基づいて実行される。場合によっては、ランダムサンプルの数(K)は、K=exp(KL(q||p)+t)として計算され、式中、KLは、qとpとの間のKulback-Leiblerダイバージェンスであり、tは調整係数である。他の場合では、Kは、=2
bとして計算され得、ここで、bは、
図1に関して示され、説明されるように更新されたローカルモデルなどの、クライアントからサーバへのメッセージのために許可されるビットの数である。
【0114】
特に、第1の確率分布を与えられたそれぞれのランダムサンプルの尤度に対する第2の確率分布を与えられたそれぞれのランダムサンプルの尤度の比率は、
q(w1)/p(w1)、q(w2)/p(w2)などのように、パラメータごとに決定することができる。比率は、たとえば、(q(w1)×q(w2)×…×q(wk))/(p(w1)×p(w2)×…×p(wk))のような、更新されるモデルのレイヤを表し得る、所与の数の要素について決定することもできる。言い換えれば、パラメータ1からkは、レイヤ、またはニューラルネットワークモデル全体、またはニューラルネットワークモデルのパラメータのセット全体の任意のチャンクを表し得る。したがって、いくつかの態様では、複数のランダムサンプルは、グローバルモデルの複数のパラメータに関連付けられる。いくつかの態様では、複数のランダムサンプルは、グローバルモデルのレイヤに関連付けられる。いくつかの態様では、複数のランダムサンプルは、グローバルモデルのパラメータのサブセットに関連付けられる。
【0115】
いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、複数のランダムサンプルの各々の確率に従って、複数のランダムサンプルのうちの1つのランダムサンプルを選択することをさらに含む。
【0116】
いくつかの態様では、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信することは、選択されたランダムサンプルに関連付けられたインデックスを決定することと、インデックスを連合学習サーバに送信することとをさらに含む。
【0117】
たとえば、8つのサンプルがあると仮定し、次いで、これらの8つのサンプルにわたる確率分布があり、次いで、8つのサンプルのうちの1つに対するインデックスを表すランダムサンプルがこの分布から抽出され得る。
【0118】
場合によっては、インデックスが、log2Kビットを使用して送信され、Kは、第1の確率分布からの複数のランダムサンプルの数である。
【0119】
いくつかの態様では、方法800は、更新されたモデルを中心とする第2の確率分布を決定する前に、更新されたモデルをクリッピングすることをさらに含み、クリッピングが、グローバルモデルの標準偏差(σ)に基づき、第2の確率分布が、クリップされた更新モデルに基づく。一態様では、クリッピング値は、C×σとして計算され、σは、グローバルモデルの事前標準偏差である。完全な論文は、これらの詳細を含み、現時点では、アルゴリズム5の4行目に見出すことができる。
【0120】
いくつかの態様では、更新されたモデルをクリッピングすることは、更新されたモデルのノルムをクリッピングすることを含む。
【0121】
図9は、本明細書で説明する態様に従って、連合学習を実行するための例示的な方法900を示す。方法900は、一般に、
図1のグローバルモデルコーディネータ108など、連合学習方式におけるサーバによって実行され得る。
【0122】
方法900は、ステップ902において、グローバルモデルをクライアントデバイスに送信することから始まる。
【0123】
方法900は次いで、ステップ904に進み、ランダムシードを決定する。
【0124】
次いで、方法900は、ステップ906に進み、相対エントロピーコーディングを使用して、クライアントデバイスから更新されたモデルを受信する。
【0125】
いくつかの態様では、相対エントロピーコーディングを使用して、クライアントデバイスから更新されたモデルを受信することは、
図4または
図6Bに関して描かれ、説明されたアルゴリズムに従って実行される。
【0126】
方法900は次いで、ステップ908に進み、クライアントデバイスからの更新されたモデルに基づいて、更新されたグローバルモデルを決定する。
【0127】
いくつかの態様では、相対エントロピーコーディングを使用して、クライアントデバイスから更新されたモデルを受信することは、クライアントデバイスからインデックスを受信することと、グローバルモデル、ランダムシード、およびインデックスに基づいて、確率分布からサンプルを決定することと、更新されたグローバルモデルを決定するために、決定されたサンプルを使用することとを含む。
【0128】
いくつかの態様では、インデックスは、log2Kビットを使用して受信され、Kは、グローバルモデルに基づく確率分布から決定されるランダムサンプルの数である。
【0129】
いくつかの態様では、決定されたサンプルは、更新されたグローバルモデルのパラメータを更新するために使用される。
【0130】
いくつかの態様では、決定されたサンプルは、更新されたグローバルモデルのレイヤを更新するために使用される。
【0131】
いくつかの態様では、ランダムシードを決定することは、クライアントデバイスからランダムシードを受信することを含む。他の態様では、ランダムシードを決定することは、連合学習サーバによって実行され、連合学習サーバは、ランダムシードをクライアントデバイスに送信する。
【0132】
スパース性を考慮したコンピュートインメモリ(Sparsity-Aware Compute-in-Memory)を実行するための例示的な処理システム
図10Aは、たとえば、
図1~
図8に関して本明細書で説明したように、連合学習を実行するための例示的な処理システム1000を示す。処理システム1000は、
図1のクライアントデバイス102A~Cなどのクライアントデバイスの一例であり得る。
【0133】
処理システム1000は、いくつかの例ではマルチコアCPUであってよい、中央処理ユニット(CPU)1002を含む。CPU1002において実行される命令は、たとえば、CPU1002に関連するプログラムメモリからロードされてもよく、またはメモリパーティション1024からロードされてもよい。
【0134】
処理システム1000はまた、グラフィックス処理ユニット(GPU)1004、デジタル信号プロセッサ(DSP)1006、ニューラル処理ユニット(NPU)1008、マルチメディア処理ユニット1010、およびワイヤレス接続性構成要素1012などの、特定の機能に編整された追加の処理構成要素を含む。
【0135】
1008などのNPUは一般に、人工ニューラルネットワーク(ANN)、ディープニューラルネットワーク(DNN)、ランダムフォレスト(RF)などを処理するためのアルゴリズムなどの、機械学習アルゴリズムを実行するためのすべての必要な制御および演算論理を実施するように構成される特殊回路である。NPUは代替として、ニューラル信号プロセッサ(NSP)、テンソル処理ユニット(TPU)、ニューラルネットワークプロセッサ(NNP)、インテリジェンス処理ユニット(IPU)、ビジョン処理ユニット(VPU)、またはグラフ処理ユニットと呼ばれることもある。
【0136】
1008などのNPUは、画像分類、機械翻訳、物体検出、および様々な他の予測モデルなどの一般的な機械学習タスクの実行を加速するように構成される。いくつかの例では、複数のNPUが、システムオンチップ(SoC)などの単一のチップ上でインスタンス化されてもよいが、他の例では、専用のニューラルネットワークアクセラレータの一部であってもよい。
【0137】
NPUは、訓練もしくは推論のために最適化されてもよく、または場合によっては、その両方の間で性能のバランスをとるように構成されてよい。訓練と推論の両方を実行することが可能なNPUでは、一般に2つのタスクは独立して実行され得る。
【0138】
トレーニングを加速するように設計されたNPUは、一般に、新たなモデルの最適化を加速するように構成され、そうした最適化は、(しばしば、ラベル付けまたはタグ付けされた)既存のデータセットを入力することと、データセットを反復することと、次いで、モデル性能を向上させるために重みおよびバイアスなどのモデルパラメータを調整することとを伴う、極めて計算集約的な動作である。一般に、誤った予測に基づく最適化は、モデルの層を通じて後方に伝搬すること、および予測誤差を小さくするための勾配を決定することを伴う。場合によっては、NPUは、本明細書で説明した連合学習方法を実行するように構成され得る。
【0139】
推論を加速するように設計されたNPUは、一般に、完全なモデル上で動作するように構成される。したがって、そのようなNPUは、新しいデータを入力し、モデル出力(たとえば、推論)を生成するようにすでに訓練されたモデルを通じてデータを高速に処理するように、構成されてもよい。
【0140】
一実装形態では、NPU1008は、CPU1002、GPU1004、および/またはDSP1006のうちの1つまたは複数の一部である。
【0141】
いくつかの例では、ワイヤレス接続構成要素1012は、たとえば、第3世代(3G)接続、第4世代(4G)接続(たとえば、4G LTE)、第5世代接続(たとえば、5GまたはNR)、Wi-Fi接続、Bluetooth接続、および他のワイヤレスデータ伝送規格用のサブ構成要素を含んでもよい。ワイヤレス接続処理構成要素1012は、さらに1つまたは複数のアンテナ1014に接続される。いくつかの例では、ワイヤレス接続性構成要素1012は、セルラー接続を含む様々なワイヤレスデータ接続を介して本明細書で説明する方法に従って連合学習を実行することを可能にする。
【0142】
処理システム1000はまた、センサーの任意の方式に関連する1つもしくは複数のセンサー処理ユニット1016、イメージセンサーの任意の方式に関連する1つもしくは複数の画像信号プロセッサ(ISP)1018、および/または衛星ベースの測位システム構成要素(たとえば、GPSまたはGLONASS)を含むことがあるナビゲーションプロセッサ1020、ならびに慣性測位システム構成要素を含んでよい。
【0143】
処理システム1000はまた、スクリーン、タッチ敏感表面(タッチ敏感ディスプレイを含む)、物理ボタン、スピーカー、マイクロフォンなどの、1つまたは複数の入力および/または出力デバイス1022を含んでよい。
【0144】
いくつかの例では、処理システム1000のプロセッサのうちの1つまたは複数は、ARMまたはRISC-V命令セットに基づいてよい。
【0145】
処理システム1000はまた、ダイナミックランダムアクセスメモリ、フラッシュベースのスタティックメモリなどの、1つまたは複数のスタティックメモリおよび/またはダイナミックメモリを表すメモリ1024を含む。この例では、メモリ1024は、処理システム1000の上述のプロセッサのうちの1つまたは複数によって実行され得るコンピュータ実行可能構成要素を含む。
【0146】
特に、この例では、メモリ1024は、受信構成要素1024A、モデル更新構成要素1024B、送信構成要素1024C、およびモデルパラメータ1024Dを含む。図示の構成要素および図示されていない他の構成要素が、本明細書で説明する方法の様々な態様を実行するように構成され得る。
【0147】
一般に、処理システム1000および/またはその構成要素は、本明細書で説明する方法を実行するように構成されてもよい。
【0148】
特に、他の場合には、処理システム1000の態様は、省略または追加され得る。たとえば、マルチメディア構成要素1010、ワイヤレス接続性1012、センサー1016、ISP1018、および/またはナビゲーション構成要素1020は、他の態様では省略されてよい。さらに、処理システム1000の態様は、複数のデバイス間で分散されてよい。
【0149】
図10Bは、たとえば、
図1~
図7および
図9に関して本明細書で説明したように、連合学習を実行するための別の例示的な処理システム1050を示す。処理システム1050は、
図1のグローバルモデルコーディネータ108など、連合学習サーバの一例であり得る。
【0150】
一般に、CPU1052、GPU1054、NPU1058、および入出力1072は、
図10Aの同様の要素に関して上記で説明した通りである。
【0151】
処理システム1050はまた、ダイナミックランダムアクセスメモリ、フラッシュベースのスタティックメモリなどの、1つまたは複数のスタティックメモリおよび/またはダイナミックメモリを表すメモリ1074を含む。この例では、メモリ1074は、処理システム1050の上述のプロセッサのうちの1つまたは複数によって実行され得るコンピュータ実行可能構成要素を含む。
【0152】
特に、この例では、メモリ1074は、受信構成要素1074A、モデル更新構成要素1074B、送信構成要素1074C、およびモデルパラメータ1074Dを含む。図示の構成要素および図示されていない他の構成要素が、本明細書で説明する方法の様々な態様を実行するように構成され得る。
【0153】
一般に、処理システム1050および/またはその構成要素は、本明細書で説明する方法を実行するように構成されてもよい。
【0154】
特に、他の場合には、処理システム1050の態様は、省略または追加され得る。さらに、処理システム1050の態様は、クラウドベースのサービスなど、複数のデバイス間で分散されてよい。図示の構成要素は、明瞭さおよび簡潔さのために限定されている。
【0155】
例示的な条項
以下の番号付きの条項において、実装形態の例が説明される。
【0156】
条項1: 連合学習サーバからグローバルモデルを受信するステップと、グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定するステップと、相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信するステップとを含む方法。
【0157】
条項2: 相対エントロピーコーディングを使用して、更新されたモデルを連合学習サーバに送信するステップが、ランダムシードを決定するステップと、グローバルモデルに基づいて第1の確率分布を決定するステップと、更新されたモデルを中心とする第2の確率分布を決定するステップと、ランダムシードに従って、第1の確率分布から複数のランダムサンプルを決定するステップと、第1の確率分布を与えられたそれぞれのランダムサンプルの尤度に対する第2の確率分布を与えられたそれぞれのランダムサンプルの尤度の比率に基づいて、複数のランダムサンプルの各それぞれのランダムサンプルに確率を割り当てるステップと、複数のランダムサンプルの各々の確率に従って、複数のランダムサンプルのうちの1つのランダムサンプルを選択するステップと、選択されたランダムサンプルに関連付けられたインデックスを決定するステップと、インデックスを連合学習サーバに送信するステップとを含む、条項1に記載の方法。
【0158】
条項3: ランダムシードに従って、第1の確率分布から複数のランダムサンプルを決定するステップが、第1の確率分布と第2の確率分布との間の差に基づいて実行される、条項2に記載の方法。
【0159】
条項4: インデックスが、log2Kビットを使用して送信され、Kは、第1の確率分布からの複数のランダムサンプルの数である、条項2~3のいずれか一項に記載の方法。
【0160】
条項5: 複数のランダムサンプルが、グローバルモデルの複数のパラメータに関連付けられる、条項2~4のいずれか一項に記載の方法。
【0161】
条項6: 複数のランダムサンプルが、グローバルモデルのレイヤに関連付けられる、条項2~4のいずれか一項に記載の方法。
【0162】
条項7: 複数のランダムサンプルが、グローバルモデルのパラメータのサブセットに関連付けられる、条項2~4のいずれか一項に記載の方法。
【0163】
条項8: 更新されたモデルを中心とする第2の確率分布を決定する前に、更新されたモデルをクリッピングするステップをさらに含み、クリッピングが、グローバルモデルの標準偏差に基づき、第2の確率分布が、クリップされた更新モデルに基づく、条項2~7のいずれか一項に記載の方法。
【0164】
条項9: 更新されたモデルをクリッピングするステップが、更新されたモデルのノルムをクリッピングするステップを含む、条項8に記載の方法。
【0165】
条項10: グローバルモデルおよびローカルデータに基づいて、更新されたモデルを決定するステップが、ローカルデータを使用してグローバルモデルに対して勾配降下を実行するステップを含む、条項1~9のいずれか一項に記載の方法。
【0166】
条項11: ランダムシードを決定するステップが、連合学習サーバからランダムシードを受信するステップを含む、条項2~10のいずれか一項に記載の方法。
【0167】
条項12: グローバルモデルをクライアントデバイスに送信するステップと、ランダムシードを決定するステップと、相対エントロピーコーディングを使用して、クライアントデバイスから更新されたモデルを受信するステップと、クライアントデバイスからの更新されたモデルに基づいて、更新されたグローバルモデルを決定するステップとを含む方法。
【0168】
条項13: 相対エントロピーコーディングを使用して、更新されたモデルをクライアントデバイスから受信するステップが、クライアントデバイスからインデックスを受信するステップと、 グローバルモデル、ランダムシード、およびインデックスに基づいて、確率分布からサンプルを決定するステップと、更新されたグローバルモデルを決定するために、決定されたサンプルを使用するステップとを含む、条項12に記載の方法。
【0169】
条項14: インデックスが、log2Kビットを使用して受信され、Kは、グローバルモデルに基づく確率分布から決定されるランダムサンプルの数である、条項13に記載の方法。
【0170】
条項15: 決定されたサンプルが、更新されたグローバルモデルのパラメータを更新するために使用される、条項13~14のいずれか一項に記載の方法。
【0171】
条項16: 決定されたサンプルが、更新されたグローバルモデルのレイヤを更新するために使用される、条項13~15のいずれか一項に記載の方法。
【0172】
条項17: ランダムシードを決定するステップが、クライアントデバイスからランダムシードを受信するステップを含む、条項12~16のいずれか一項に記載の方法。
【0173】
条項18: 処理システムであって、コンピュータ実行可能命令を含むメモリと、コンピュータ実行可能命令を実行し、処理システムに条項1~17のいずれか一項に記載の方法を実行させるように構成された1つまたは複数のプロセッサとを備える、処理システム。
【0174】
条項19: 処理システムであって、条項1~17のいずれか一項に記載の方法を実行するための手段を備える、処理システム。
【0175】
条項20: 非一時的コンピュータ可読媒体であって、処理システムの1つまたは複数のプロセッサによって実行されたときに、処理システムに条項1~17のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
【0176】
条項21: 条項1~17のいずれか一項に記載の方法を実行するためのコードを含むコンピュータ可読記憶媒体上に具現化されるコンピュータプログラム。
【0177】
追加の考慮事項
先行する説明は、本明細書で説明した様々な態様を任意の当業者が実践することを可能にするために提供される。本明細書で考察した例は、特許請求の範囲に記載された範囲、適用可能性、または態様を限定するものではない。これらの態様の様々な修正が当業者に容易に明らかになり、本明細書で定義される一般原理が他の態様に適用され得る。たとえば、本開示の範囲を逸脱することなく、考察した要素の機能および構成において変更が加えられてよい。様々な例は、適宜に、様々な手順または構成要素を省略、置換、または追加してよい。たとえば、説明した方法は、説明した順序とは異なる順序で実行されてよく、様々なステップが追加されてよく、省略されてよく、または組み合わせられてよい。また、いくつかの例に関して説明する特徴は、いくつかの他の例では組み合わせられてよい。たとえば、本明細書に記載する任意の数の態様を使用して、装置が実装されてもよく、または方法が実践されてもよい。加えて、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実践されるそのような装置または方法を包含することを意図している。本明細書で開示する本開示のいかなる態様も、請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
【0178】
本明細書で使用する「例示的」という語は、「例、事例、または例示として機能すること」を意味する。「例示的」として本明細書で説明したいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。
【0179】
本明細書で使用する項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含むそれらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-c、ならびに複数の同じ要素を有する任意の組合せ(たとえば、a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、およびc-c-c、またはa、b、およびcの任意の他の順序)をカバーするものとする。
【0180】
本明細書で使用される「決定すること」という用語は、多種多様なアクションを包含する。たとえば、「決定すること」は、算出すること、計算すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含んでもよい。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータにアクセスすること)などを含んでもよい。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含んでもよい。
【0181】
本明細書で開示する方法は、方法を達成するための1つまたは複数のステップまたはアクションを備える。方法ステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換されてよい。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正されてよい。さらに、上記で説明した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行されてよい。手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含んでよい。一般に、図に示された動作がある場合、それらの動作は、類似の番号付けを伴う対応する相対物のミーンズプラスファンクション構成要素を有してよい。
【0182】
以下の特許請求の範囲は、本明細書で示される態様に限定されるものではなく、特許請求の範囲の文言と一致する全範囲を与えられるべきである。請求項内では、単数形での要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものとする。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。請求項の要素は、要素が「のための手段」という句を使用して明白に記載されていない限り、または方法クレームの場合には、要素が「のためのステップ」という句を使用して記載されていない限り、米国特許法第112条(f)の規定の下で解釈されるべきではない。当業者に知られているか、または後で知られることになる、本開示全体にわたって説明した様々な態様の要素のすべての構造的および機能的な均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。その上、本明細書に開示するものはいずれも、そのような開示が特許請求の範囲において明示的に列挙されているかどうかにかかわらず、公に供されることを意図するものではない。
【符号の説明】
【0183】
100 連合学習アーキテクチャ
102A~102C モバイルデバイス
102B データ
104A~104C ローカルデータストア
106A~106C ローカル機械学習モデルインスタンス
108 グローバル機械学習モデルコーディネータ
302 クライアント
304 サーバ
306 比率
308 モデル更新
702 クライアント
704 サーバ
706 比率
708 モデル更新
1000 処理システム
1002 中央処理ユニット(CPU)
1004 グラフィックス処理ユニット(GPU)
1006 デジタル信号プロセッサ(DSP)
1008 ニューラル処理ユニット(NPU)
1010 マルチメディア処理ユニット
1012 ワイヤレス接続性構成要素
1016 センサー処理ユニット
1018 画像信号プロセッサ(ISP)
1020 ナビゲーションプロセッサ
1022 入力および/または出力デバイス
1024 メモリ
1024A 受信構成要素
1024B モデル更新構成要素
1024C 送信構成要素
1024D モデルパラメータ
1050 処理システム
1052 CPU
1054 GPU
1058 NPU
1072 入出力
1074 メモリ
1074A 受信構成要素
1074B モデル更新構成要素
1074C 送信構成要素
1074D モデルパラメータ
【国際調査報告】