(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160818
(43)【公開日】2024-11-15
(54)【発明の名称】情報処理装置、分散学習システム、学習方法、及びプログラム
(51)【国際特許分類】
G06N 3/098 20230101AFI20241108BHJP
【FI】
G06N3/098
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023076220
(22)【出願日】2023-05-02
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 2022年5月8日にarXivウェブサイトにて公開
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】丹羽 健太
(72)【発明者】
【氏名】竹澤 祐貴
(72)【発明者】
【氏名】山田 誠
(57)【要約】
【課題】分散学習において通信コストを下げることを可能とする技術を提供する。
【解決手段】複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する受信部と、前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する更新部とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する受信部と、
前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する更新部と
を備える情報処理装置。
【請求項2】
前記更新部は、前記圧縮演算子を用いて、前記隣接ノードへ送るべき双対変数を圧縮し、
前記更新部により圧縮された双対変数を前記隣接ノードへ送信する送信部
を更に備える請求項1に記載の情報処理装置。
【請求項3】
前記圧縮演算子は、圧縮対象の双対変数を表すベクトルと、各要素がある確率で1となるスパースベクトルとのアダマール積をとる演算子である
請求項1に記載の情報処理装置。
【請求項4】
前記圧縮演算子をcompとし、x及びyをそれぞれベクトルとし、τとωをそれぞれパラメータとしたときに、compは、
Eω||comp(x;ω)-x||2≦(1-τ)||x||2、
comp(x+y;ω)=comp(x;ω)+comp(y;ω)、及び
comp(-x;ω)=-comp(x;ω)
を満たす
請求項1に記載の情報処理装置。
【請求項5】
請求項1ないし4のうちいずれか1項に記載の情報処理装置を複数台備える分散学習システム。
【請求項6】
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置が実行する学習方法であって、
圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する受信ステップと、
前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する更新ステップと
を備える学習方法。
【請求項7】
コンピュータを、請求項1ないし4のうちいずれか1項に記載の情報処理装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散学習に関連するものである。
【背景技術】
【0002】
近年、ニューラルネットワーク等のモデルは画像処理や自然言語処理など様々な分野で大きな注目を集めている。モデルを学習するためには、通常、大量の学習データを収集する必要がある。
【0003】
しかし、プライバシーの問題等のために、個人情報を含む学習データを単一のサーバ(ノード)上に収集することは困難である。このようなケースを考慮して、任意にネットワーク接続できる複数のノードにデータを分散させて蓄積し、全データを高い認識率で識別できるようなモデル(例えばニューラルネットワークのモデル)の学習を実現することが検討されている(例えば非特許文献1)。上記の学習は分散学習(Decentralized learning)と呼ばれる。
【0004】
分散学習においては、複数のノード間でどのような合意形成をしながら学習をしたらよいかのアルゴリズムを構築することが研究の主題となっている。合意形成に至るまでに、ノード間の通信回数や通信する情報量が少ないほど、分散学習のアルゴリズムとして性能が良いと言える。
【0005】
非特許文献1には、エッジコンセンサス学習(ECL:Edge-consensus learning)と呼ばれる分散学習の技術が開示されている。
【0006】
ECLのメリットは、ノードに蓄積されるデータサブセットの統計的な偏り(heterogeneity)に対してロバストに学習できる点である。これは、ノード間のモデルが一致するという合意形成型の制約下でコスト最小化問題を解いていることに起因する。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Niwa, K., Harada, N., Zhang, G., and Kleijn, W. B. Edge-consensus learning: Deep learning on P2P networks with nonhomogeneous data. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 668-678, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1に開示されたECLは一次収束のアルゴリズムである。そのため、合意形成に至り、モデルの学習が完了するまでにノード間の通信回数が大きくなる。またECLでは、1回あたりの通信で、モデルのサイズとおおよそ同等のサイズの情報(具体的には双対変数)をノード間で交換する必要があり、通信量が大きい。分散学習における通信コストが計算量や実行時間の大半を占めており、実用的な分散学習のために、この通信コストを下げる必要がある。なお、このような課題はECLに限らずに、他の分散学習においても生じ得る課題である。
【0009】
本発明は上記の点に鑑みてなされたものであり、分散学習において通信コストを下げることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
開示の技術によれば、複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する受信部と、
前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する更新部と
を備える情報処理装置が提供される。
【発明の効果】
【0011】
開示の技術によれば、分散学習において通信コストを下げることが可能となる。
【図面の簡単な説明】
【0012】
【
図1】分散学習システムの全体構成例を示す図である。
【
図12】情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0014】
以下では、分散学習における通信量圧縮のために、非特許文献1に開示されたECLをベースとした新しい分散学習技術であるC-ECL(Communication Compressed ECL)について説明する。C-ECLでは、ECLにおいてノード間で交換する双対変数を、圧縮演算子(例えばランダムプロジェクション)を用いて効率的に圧縮することとしている。
【0015】
なお、以下の本実施の形態では、ECLをベースとしたC-ECLについて説明するが、本発明に係る技術は、ECLをベースとした分散学習に限らず、その他の分散学習にも適用可能である。
【0016】
(システム全体構成例)
図1に、本実施の形態における分散学習システムの全体構成例を示す。
図1に示すように、本システムは、複数のノード100がネットワーク200に接続された構成を備える。ノード間では、ネットワーク200を介して通信が可能となっている。ネットワーク200はどのようなネットワークでもよいが、例えばインターネット等のIPネットワークである。
【0017】
各ノード100は、通信機能を持つコンピュータ(情報処理装置と呼んでもよい)である。当該コンピュータは、物理マシンでもよいし、クラウド上に構築した仮想マシンでもよい。また、複数のノード100のうちのいずれか又は全部が、エッジコンピューティングにおけるエッジ装置であってもよい。また、複数のノード100のうちのいずれか又は全部が、IoT機器であってもよい。
【0018】
各ノード100が、他のノード100との間で情報(例えば圧縮された双対変数)を送受信(交換)することで、モデルの学習がなされる。当該モデルの種類には限定はなく、ニューラルネットワークでもよいし、ニューラルネットワーク以外のモデルでもよい。ただし、本実施の形態では、ニューラルネットワークのモデルを使用することを想定している。
【0019】
複数のノード100はどのようなトポロジで接続されてもよい。当該トポロジは、例えば、
図2に示すような、(a)チェイン、(b)リング、(c)多重リング、(d)完全連結グラフのうちのいずれの形であってもよい。また、当該トポロジは、これら以外の形であってもよい。
【0020】
以下、各ノード100が、モデル学習のために実行する処理(アルゴリズム)を説明する。以下では、まず、関連技術について説明し、その後に、本実施の形態に係る技術(つまり、C-ECL)を説明する。
【0021】
以下、||・||はL2ノルムを表し、0はすべてゼロのベクトルを表し、Iは単位行列を表す。
【0022】
なお、記載の便宜上、本明細書のテキスト(画像イメージではないテキスト)において、一般的には太字で示されるベクトルや行列の文字を、通常の字体で示している。通常の字体でも、文脈から、それがベクトルや行列を示す文字であることは明らかである。その他、集合(例えば、実数の集合、ノードの集合等)を表す文字についても、明細書のテキストにおいては通常の字体を使用する。
【0023】
(1.関連技術)
ここでは、分散学習の問題設定を示し、その後に、Gossipベースのアルゴリズムの概要とECLの概要を説明する。なお、Gossipベースのアルゴリズムは、分散学習のアルゴリズムとして、広く使用されているアルゴリズムの一つである。
【0024】
<A.分散学習>
G=(V,E)を、ネットワークトポロジを表す無向連結グラフ(undirected connected graph)とする。ここで、Vはノードの集合を示し、Eはエッジの集合を示す。簡単のために、Vを整数の集合{1,2,...,|V|}として表す。
【0025】
ノードiの隣接ノードの集合をNi={j∈V|(i,j)∈E}と表す。分散学習の目標は、下記の式(1)に示すように定式化することができる。
【0026】
【数1】
ここで、w
i∈R
dはノードiが持つモデルパラメータであり、Fは損失関数であり、D
iは、ノードiが持つデータを表す。ζ
iは、D
iからのデータサンプルであり、f
iはノードiの損失関数である。
【0027】
式(1)は、各ノードにおける損失をノード全体で加算し、その値を最小にするパラメータwを求めることを意味する。
【0028】
<B.Gossipベースのアルゴリズム>
分散学習のために広く用いられているアプローチとして、Gossipベースのアルゴリズム(例えばD-PSGD)が知られている。Gossipベースのアルゴリズムでは、各ノードiは当該ノードにおける勾配∇fiを計算し、隣接ノードとパラメータを交換し、次にそれらの平均を取得する。Gossipベースのアルゴリズムは単純で効果的なアプローチであるが、2つの主要な問題がある。それらは、通信コストが高いことと、データの不均一性に対して敏感であることである。
【0029】
Gossipベースのアルゴリズムでは、ノードは隣接ノードからモデルパラメータを受け取る必要がある。ニューラルネットワークではモデルパラメータの数が多いため、モデルパラメータの交換には莫大な通信コストがかかる。これが第1の問題である。Gossipベースアルゴリズムの通信コストを削減するために、スパース化、量子化、低ランク近似等を使用して、交換するパラメータの量を圧縮する多くの方法が提案されている。これらの圧縮方法により、より少ない量のパラメータ交換で非圧縮Gossipベースのアルゴリズムとほぼ同じ精度を達成できることが知られている。
【0030】
第2の問題は、Gossipベースのアルゴリズムがデータ分布の不均一性(偏り)に敏感であることである。各ノードのデータ分布が統計的に不均一である場合、損失関数Σifiの最適解と各ノードの損失関数fiの最適解は大きく異なるので、Gossipベースのアルゴリズムはうまく機能しない。Gossipベースのアルゴリズムにおけるこの第2の問題に対しても、種々の手法が提案されている。
【0031】
<C.ECL>
続いて、非特許文献1に開示されているECLについて説明する。ECL自体は公知技術なので、ここではその概要を説明する。式(1)を再定式化することで、主問題(primal problem)を次の式(2)に示すように定義することができる。
【0032】
【数2】
上記の式(2)において、j∈N
iかつi<jのときにA
i|j=Iである。j∈N
iかつi>jのときにA
i|j=-Iである。Gossipベースのアルゴリズムでは各ラウンド(各回)で平均を明示的に計算するのに対し、式(2)に示す主問題は、線形制約に基づく合意形成(コンセンサス)を表す。Douglas-Rachford splitting(Douglas, J. and Rachford, H. H. (1956). On the numerical solution of heat conduction problems in two and three space variables. In Transactions of the American mathematical Society.)を使用して、式(2)の双対問題を解くことで、更新式を下記のとおりに導出することができる。
【0033】
【0034】
【0035】
【数5】
上記におけるθ∈(0,1]とα>0はハイパーパラメータであり、y
i|j,z
i|j∈Rdは、双対変数である。
【0036】
上記の式(3)~式(5)がECLの基本的な更新則であり、(3)及び(4)式を各ノードで計算する。wiはモデルパラメータ(モデル変数)であり、yi|jはi番目のノードからj番目のノードに送信する双対変数を表している。モデルパラメータと双対変数の次元は同じである。(5)式ではi,j番目のノードが双対変数yi|jとyj|iを交換し(同期してswap)、受信した情報を使って双対変数zi|jを更新する。後述のとおり、通信で交換するyi|jをいかに効率よく(学習を阻害しないで)圧縮するかが課題となっており、C-ECLではこの課題を解決している。
【0037】
なお、fiが非凸(例えば、ニューラルネットワークの損失関数)である場合、式(3)は一般的には解くことができない。そこで、ECL(及びC-ECL)では、式(3)を次のように近似的に解くこととしている。
【0038】
【数6】
上記の式(6)において、η>0は、学習率に対応する。ECLはGossipベースのアルゴリズムよりも不均一(heterogeneous)データに対してよりロバストである。しかし、上記のとおり、ECLでは、式(5)に示すように、ノードiは隣接ノードjから双対変数y
j|iを受け取る必要がある。そのため、Gossipベースのアルゴリズムと同様に、ECLにおいて、学習中に大きな通信コストが発生する。
【0039】
以下、上記の課題を解決する提案方式であるC-ECLを説明する。C-ECLは、ECLよりも少ない量のパラメータの交換でモデルを学習でき、不均一データに対してロバストである。C-ECLはECLをベースとしており、以下では主に、C-ECLにおいて、ECLと異なる点について説明する。
【0040】
(2.C-ECL)
C‐ECLを説明するにあたり、まず、C‐ECLにおいて使用される圧縮演算子(compression operator)について説明する。
【0041】
仮定(Assumption)1(圧縮演算子):
あるτ∈(0,1]について、圧縮演算子comp:Rd→Rdは、全てのx,y∈Rd及びωに対して、下記を満たすものとする。
【0042】
【0043】
【0044】
【数9】
ここでωは圧縮演算子のパラメータ(ハイパーパラメータ)を表す。E
ω(f(ω))は、関数f(ω)のωについての期待値であり、ωについての平均値で置き換えてもよい。圧縮演算子は、comp(・;ω)と記載される。ωを省略してcomp(x)と記載してもよい。下記のrand
k%は、圧縮演算子compの一例である(例1)。
【0045】
例1.あるk∈(0,100]に対して、演算子randk%:Rd→Rdは次のように定義される。下記の演算を、ランダムプロジェクションマッピングと呼ぶ。
【0046】
【数10】
上記の式(10)において、〇はアダマール積を示し、s∈{0,1}
dは、各要素が確率k%で1である、一様にサンプリングされたスパースベクトルである。例えば、sとしてベクトル=(a,b,c)を考えた場合、aは、k%の確率で1、(100-k)%の確率で0になり、bは、k%の確率で1、(100-k)%の確率で0になり、cは、k%の確率で1、(100-k)%の確率で0になる。
【0047】
ここで、圧縮演算子のパラメータωはランダムにサンプリングされたベクトルsに対応する。randk%は仮定1を満たす。
【0048】
<B.C-ECLの詳細>
以下、上述した圧縮演算子を使用して、ノード間で交換される双対変数を圧縮する方法であるC-ECLを詳細に説明する。
【0049】
非特許文献1に開示されたECLでは、式(5)のzi|jを更新するために、ノードiはノードjからyj|iを受け取る必要がある。yj|iの要素数はモデルパラメータwjの要素数と同じであるため、この交換には大きな通信コストがかかる。この通信コストを削減するための直接的なアプローチとして、下記のように、compを用いて式(5)におけるyj|iを圧縮することが考えられる。
【0050】
【数11】
しかし、上記のようにy
j|iの圧縮を行っても課題解決にならないことが実験的にわかっている。
【0051】
また、Gossipベースのアルゴリズムに対する圧縮方法では、モデルパラメータが圧縮に対してロバストでないことが知られている。これは、モデルパラメータの最適解が一般的に0ではなく、モデルパラメータが最適解に近い場合でも、圧縮によって生じるエラーが0に近づかないためである。
【0052】
そこで、本実施の形態では、式(5)を下記の式(12)に再定式化し、モデルパラメータが最適解に近いときにゼロに近づくパラメータを圧縮できるようにした。
【0053】
【数12】
Douglas-Rachford splittingでは、モデルパラメータが最適解に近づくときに、z
i|jは固定点に近づく(すなわち、z
(r)
i|j=z
(r+1)
i|jとなる)。
【0054】
そして、モデルパラメータが最適解に近づくと、式(12)における(yj|i-zi|j)は0に近づく。そこで、本実施の形態では、式(11)におけるyj|iを圧縮する代わりに、下記のように(yj|i-zi|j)を圧縮することとしている。
【0055】
【数13】
上記の最後の式に仮定1を使用している。なお、圧縮演算子としてrand
k%を使用する場合、仮定1を使用するために、y
j|iとz
i|jに対して、式(10)における同じスパースベクトルsを使用して圧縮を行う必要がある。
【0056】
図3に、ノードiにおけるC-ECLの処理動作を表すAlgorithm1を示す。分散学習システムを構成する各ノードが当該処理を実行する。
【0057】
Algorithm1は、ノードiで実行されるプログラムの疑似コードに相当する。以下、
図3の行番号を「ステップ」と呼ぶ。
【0058】
図3のステップ1~ステップ11が、r=0から開始して、rを1ずつ増加させながら、r=Rまで、繰り返し実行される。
【0059】
ステップ2において、ノードiは、現時点での各パラメータ/変数から、w(r+1)
iを計算する。ノードiは、ステップ3~ステップ10を、各j(ノードiの隣接ノードj)に対して実行する。
【0060】
ステップ4において、ノードiは、「z(r)
i|j-2αAi|jw(r+1)
i」を計算して、それをy(r+1)
i|jとする。ステップ5において、ノードiは隣接ノードjからω(r+1)
i|jを受信する。ステップ6において、ノードiは、隣接ノードjにω(r+1)
j|iを送信する。
【0061】
ステップ7において、ノードiは、隣接ノードjからcomp(y(r+1)
j|i;ω(r+1)
i|j)を受信する。ステップ8において、ノードiは、隣接ノードjへcomp(y(r+1)
i|j;ω(r+1)
j|i)を送信する。
【0062】
ステップ9において、ノードiは、「z(r)
i|j+θcomp(y(r+1)
j|i-z(r)
i|j;ω(r+1)
i|j)」を計算し、これをz(r+1)
i|jとする。
【0063】
図3に示すAlgorithm1では、処理をシンプルにするために、ステップ5、6において、ノードiとノードjは、ω
i|jとω
j|iを交換することとしている。ただし、この処理は一例である。学習を開始する前に、ノードiとノードjとで同じシード値を共有して、それぞれω
i|jとω
j|iを生成することで、ノードiとノードjはωの交換をすることなく、ω
i|jとω
j|iを得ることができる。
【0064】
さらに、圧縮演算子としてrandk%を使用する場合、ノードiは受信値comp(yj|i;ωi|j)からωi|jを得ることができる。これは、comp(yj|i;ωi|j)が疎行列形式で格納されているためである。したがって、これらのωi|jとωj|iの交換は実際には省略することができる。したがって、C-ECLにおいて、各ノードiはyj|i/yi|jの圧縮値を受信/送信するだけでよい。そのため、C-ECLでは、ECLよりも少ない量の情報の交換でモデルの学習を行うことができる。
【0065】
なお、
図3に示すAlgorithm1では、学習ラウンドごとに1度のモデル変数更新と1度の通信を交互に行っているが、学習ラウンドごとにモデル変数更新を複数回にしてもよい。また、ノードごとに非同期に通信するようにしてもよい。
【0066】
(3.収束解析)
次に、C-ECLにおける圧縮がECLの収束速度にどのように影響するかについて説明する。なお、当該収束解析は、Douglas-Rachford splittingにおける解析(Giselsson, P. and Boyd, S. P. (2017). Linear convergence and metric selection for Douglas-Rachford splitting and ADMM. In IEEE Transactions on Automatic Control.)に基づくものである。
【0067】
<A.前提条件>
ここでは、収束解析のために追加の表記法と仮定を導入する。N:=|V|,Nmin:=mini{|Ni|},Nmax:=maxi{|Ni|}と定義する。ここで、Niは、ノードiの隣接ノードの集合である、
Ni(j)を、Niにおけるj番目に小さいノードのインデックスとする。w∈RdN,zi∈Rd|N_i|,及びz∈R2d|E|を次のように定義する。
【0068】
【0069】
【0070】
【数16】
説明を簡単にするために、ラウンドrの値を示す上付き文字を省略する。{w
*
i}
iを式(2)の最適解とする。また、式(14)におけるwの定義と同じ方法でw
*∈R
dNを定義し、損失関数をf(w):=Σ
i∈Vf
i(w
i)と定義する。次に、収束解析で使用される仮定を示す。
【0071】
仮定2.ここではfがプロパーで、閉じており、凸であると仮定する。
【0072】
仮定3.L>0,μ>0として、fは、L-平滑かつμ-強凸であると仮定する。
【0073】
仮定4.グラフGに孤立ノードがないと仮定する(すなわち、Nmin>0である)。
【0074】
仮定2と仮定3は、演算子分割法の収束解析に使用される標準的な仮定である。仮定3は、分散学習で一般的に使用される、すべてのi∈Vに対するfiの平滑性と強凸性の仮定よりも弱い。分散学習では、グラフGが連結であると仮定されるため、一般に仮定4が成り立つ。さらに、δ∈Rを次のように定義する。
【0075】
【数17】
仮定2,3,4が成立し、α∈(0,∞)が成立すると仮定すると、L≧μ>0かつN
max≧N
min>0であるため、δ∈[0,1)が成立する。
【0076】
<B.収束速度(Convergence Rates)>
定理1.-z∈R2d|E|をDouglas-Rachford splittingの定常点とする。また、仮定1,2,3,4が成り立つとする。なお、「-z」は、zの頭の上に「-」を置くことを意図している。
【0077】
下記が成り立ち、
【0078】
【0079】
【数19】
Algorithm1によって生成されたw
(r+1)は、下記のとおり、式(2)の最適解w
*に線形に収束する。
【0080】
【数20】
系(Corollary)1.
-z∈R2
d|E|をDouglas-Rachford splittingの定常点とする。仮定1,2,3,4のもと、τ=1かつθ∈(0,2/(1+δ))のとき、Algorithm1によって生成されたw
(r+1)は次にようにして、式(2)の最適解w
*に線形に収束する。
【0081】
【数21】
τ=1はC-ECLにおいてcomp(x)=xであることを意味するので、系1は仮定1,2,3,4におけるECLの収束速度を示し、これはDouglas-Rachford splittingの収束速度とほぼ同じ速度である。
【0082】
ECLとC-ECLにおいて収束するためのθのドメイン(値域)を比較すると、τが減少するにつれて、式(17)のドメインが小さくなる。また、式(17)のドメインが空でないようにするために、τは(1-(1-δ)2/(1+δ)2)以上である必要がある。
【0083】
次に、ECLとC-ECLの収束速度を比較すると、C-ECLでは圧縮によって、ECLにおける収束速度が下記の項だけ低下する。
【0084】
【数22】
さらに、Douglas-Rachford splittingの収束解析と同様に、定理1と系1は、θの最適パラメータが次のようにして決定できることを意味する。
【0085】
系2.仮定1,2,3,4が成り立ち、下記が成り立つとすると、C-ECLにおける式(18)の最適収束速度は、θ=1のときに達成される。
【0086】
【数23】
系3.仮定1,2,3,4が成り立ち、τ=1であるとすると、式(19)の最適収束速度は、θ=1のときに達成される。
【0087】
なお、θは一般にθ∈(0,1]として設定されるが、定理1と系1は、あるδについては、θが1より大きい場合でもECLとC-ECLが収束することを示している。
【0088】
(4.効果について)
次に、C-ECLがECLよりも少ない量の情報の交換で、ECLとほぼ同じ性能を達成できるという効果について、実験結果を用いて説明する。さらに、C-ECLはGossipベースのアルゴリズムよりも不均一データに対してよりロバストであることを説明する。
【0089】
<A.実験設定>
まず、実験設定を説明する。
【0090】
データセットに関して、10クラスの画像分類タスクのデータセットであるFashionMNISTとCIFAR 10を使用してC-ECLを評価した。両方のデータセットに対するモデルとして、グループ正規化を適用した5層畳み込みニューラルネットワークを使用した。
【0091】
非特許文献1に開示されているECLと同様に、均一(homogeneous)設定と不均一(heterogeneous)設定の2つの設定でノードにデータを配分した。均一設定では、各ノードが10クラスすべてのデータを持ち、各クラスのデータ数がほぼ同じになるようにデータを配分した。不均一設定では、各ノードがランダムに選択された8クラスのデータを持つようにデータを配分した。どちらの設定でも、各ノードが同じ数のデータを持つようにデータを配分した。
【0092】
ネットワークトポロジに関して、後述する「B.実験結果」のところでは、8つのノードからなるリングのネットワークで、すべての手法を評価した。また、後述する「C.種々のネットワークトポロジでの実験結果」のところでは、8つのノードからなる4つのネットワークトポロジ(
図2に示したチェイン、リング、多重リング、及び完全連結グラフ)で、すべての手法を評価した。各ノードは、5回のローカルでの更新ごとに隣接するノードとパラメータ/変数を交換することとした。
【0093】
評価の対象(C-ECLと、C-ECLに対する比較対象)とした手法は下記のとおりである。
【0094】
(1)D-PSGD:非圧縮Gossipベースのアルゴリズム。
【0095】
(2)PowerGossip:低ランク近似を使用して交換するパラメータを圧縮するGossipベースのアルゴリズム。なお、PowerGossipは追加のハイパーパラメータチューニングなしで他の既存の圧縮方法とほぼ同じパフォーマンスを達成することが知られているため、圧縮Gossipベースのアルゴリズムの手法としてPowerGossipを使用した。
【0096】
(3)ECL:非特許文献1に開示されている主双対アルゴリズム。ECLについて、θ=1のときには、θ=0.5のときよりも速く収束することが知られているので、θ=1とした。
【0097】
(4)C-ECL:提案手法。圧縮演算子としてrandk%を使用した。系2に従って、θ=1とした。zi|jとyi|jを0に初期化した。ただし、randk%を使用してzi|jの更新値を圧縮すると、zi|jが初期訓練段階でスパースのままであるため、収束が遅くなることがわかった。そこで、randk%のk%を最初のエポックの間だけ100%に設定した。
【0098】
また、参考のために、すべての学習データを持つ単一のノードでモデルを学習する確率的勾配降下法(SGD)の結果も示した。実験では、すべての手法に同じ学習率、エポック数、およびバッチサイズを設定した。
【0099】
<B.実験結果>
ネットワークトポロジをリングに設定した場合における精度と通信コストの評価結果を説明する。
【0100】
均一設定:
まず、均一設定での結果について説明する。
図4に、均一設定での精度と通信コストを示す。
図4において、C-ECLの場合、括弧内の数字はrand
k%のkを示す。PowerGossipの場合、括弧内の数字はパワー反復ステップの数を示す。通信コストとして、1エポックあたりの平均送信パラメータ量(データ量)が示されている。
【0101】
図4に示すように、D-PSGDとECLに関して、いずれのデータセットでもほぼ同じ精度を達成している。C-ECLとPowerGossipは同等であり、rand
k%のk%を1%に設定し、パワー反復ステップ数を1に設定しても、ECL及びD-PSGDとほぼ同じ精度を達成している。すなわち、C-ECLは、均一設定において、ECL及びD-PSGDよりも約50倍少ない量のパラメータ交換で同等の精度を達成できている。
【0102】
不均一設定:
次に、不均一設定の場合の結果について説明する。
図5に、不均一設定での精度と通信コストを示す。
図5においても、、C-ECLの場合、括弧内の数字はrandk%のkを示す。PowerGossipの場合、括弧内の数字はパワー反復ステップの数を示す。通信コストとして、1エポックあたりの平均送信パラメータ量(データ量)が示されている。
【0103】
図5に示すように、D-PSGDでは、不均一設定での精度は、均一設定と比較して約3%低下する。PowerGossipでは、パワー反復ステップ数を増やしても、D-PSGD及びECLの精度には近づかない。一方、ECLの精度は、均一設定と不均一設定の両方でほぼ同じであり、結果は、ECLがD-PSGDよりも不均一データに対してよりロバストであることを示す。C-ECLでは、rand
k%のk%を1%に設定すると、ECLの精度と比較して、不均一設定の精度は約10%低下する。
【0104】
ただし、randk%のk%を増やすと、C-ECLはECLに近くなり、D-PSGD及びPowerGossipよりも良い性能が得られる。具体的には、FashionMNISTでk%を10%に設定すると、C-ECLはECLと同等であり、D-PSGD及びPowerGossipよりも性能が良い。CIFAR 10でk%を20%に設定すると、C-ECLはECLと同等であり、D-PSGD及びPowerGossipよりも性能が良い。
【0105】
すなわち、均一設定では、C-ECLは、ECL及びD-PSGDとほぼ同じ精度を約50倍少ないパラメータ交換で実現できる。不均一設定では、C-ECLは、ECLとほぼ同じ精度を約4倍少ないパラメータ交換で実現でき、PowerGossipを上回るパフォーマンスを実現できる。さらに、その結果は、C-ECLが精度と通信コストの両方の面で、非圧縮のGossipベースのアルゴリズムであるD-PSGDよりも優れていることを示している。
【0106】
<C.種々のネットワークトポロジでの実験結果>
ここでは、ネットワークトポロジを変化させた場合の精度と通信コストについて説明する。
図6~
図10は、ネットワークトポロジを、チェイン、リング、多重リング、及び完全連結グラフに変化させた場合のFashionMNISTでの通信コストと精度を示す。
【0107】
図6、
図7が均一設定であり、
図8、
図9が不均一設定である。
図10は、エポックごとに送信されるパラメータの量の、均一設定と不均一設定で平均を示す。
【0108】
図6、
図7に示すとおり、均一設定では、すべての手法の精度がほぼ同じであり、すべてのネットワークトポロジでSGDの精度に達することが示されている。
【0109】
図8、
図9に示すとおり、不均一設定では、D-PSGDとPowerGossipの精度が均一設定と比較して低下していることがわかる。一方、ECLの精度は、すべてのネットワークトポロジで均一設定とほぼ同じである。そして、すべてのネットワークトポロジで、C-ECLは、より少ないパラメータ交換でECLとほぼ同じ精度を実現し、一貫してPowerGossipを上回っていることがわかる。また、不均一設定において、C-ECLが全てのネットワークトポロジにおいて、精度と通信コストの両面で、非圧縮のGossipベースのアルゴリズムであるD-PSGDを上回ることがわかる。
【0110】
(装置構成例)
図11に、C-ECLを実行する分散学習システムにおいて、ノードとして使用される情報処理装置100の構成例を示す。
【0111】
図11に示すように、情報処理装置100は、送信部110、受信部120、更新部130、及び記憶部140を含む。
【0112】
当該情報処理装置100は、複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置である。本分散学習システムは、C-ECLにより分散学習を行う。
【0113】
受信部120は、圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する。更新部130は、受信した圧縮双対変数を用いて、モデルパラメータを更新する。
【0114】
また、送信部110は、更新部130により、圧縮演算子を用いて圧縮された双対変数を隣接ノードへ送信する。記憶部140は、受信したデータ、更新部30により演算されたデータ、送信するべきデータが格納されている。
【0115】
(ハードウェア構成例)
本実施の形態で説明した情報処理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0116】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0117】
図12は、上記コンピュータのハードウェア構成例を示す図である。
図12のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
【0118】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0119】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、情報処理装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0120】
以上の実施形態に関し、更に以下の付記を開示する。
【0121】
<付記>
(付記項1)
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信し、
前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する
情報処理装置。
(付記項2)
前記プロセッサは、前記圧縮演算子を用いて、前記隣接ノードへ送るべき双対変数を圧縮し、圧縮された双対変数を前記隣接ノードへ送信する
付記項1に記載の情報処理装置。
(付記項3)
前記圧縮演算子は、圧縮対象の双対変数を表すベクトルと、各要素がある確率で1となるスパースベクトルとのアダマール積をとる演算子である
付記項1又は2に記載の情報処理装置。
(付記項4)
前記圧縮演算子をcompとし、x及びyをそれぞれベクトルとし、τとωをそれぞれパラメータとしたときに、compは、
Eω||comp(x;ω)-x||2≦(1-τ)||x||2、
comp(x+y;ω)=comp(x;ω)+comp(y;ω)、及び
comp(-x;ω)=-comp(x;ω)
を満たす
付記項1ないし3のうちいずれか1項に記載の情報処理装置。
(付記項5)
付記項1ないし4のうちいずれか1項に記載の情報処理装置を複数台備える分散学習システム。
(付記項6)
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置が実行する学習方法であって、
圧縮演算子を用いて圧縮した双対変数である圧縮双対変数を隣接ノードから受信する受信ステップと、
前記圧縮双対変数を用いて、前記モデルのモデルパラメータを更新する更新ステップと
を備える学習方法。
(付記項7)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の情報処理装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
【0122】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0123】
100 情報処理装置
110 送信部
120 受信部
130 更新部
140 記憶部
200 ネットワーク
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置