(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178811
(43)【公開日】2024-12-25
(54)【発明の名称】情報処理装置、学習方法、及びプログラム
(51)【国際特許分類】
G06N 3/098 20230101AFI20241218BHJP
【FI】
G06N3/098
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023097239
(22)【出願日】2023-06-13
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京科学大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】丹羽 健太
(72)【発明者】
【氏名】澤田 宏
(72)【発明者】
【氏名】藤野 昭典
(72)【発明者】
【氏名】原田 登
(72)【発明者】
【氏名】横田 理央
(72)【発明者】
【氏名】石井 央
(57)【要約】
【課題】分散学習において、高速に合意形成に至ることを可能とする技術を提供する。
【解決手段】複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する受信部と、前記変数を用いて、前記モデルのモデルパラメータを更新する更新部とを備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する受信部と、
前記変数を用いて、前記モデルのモデルパラメータを更新する更新部と
を備える情報処理装置。
【請求項2】
前記ノードをi番目のノードとし、前記隣接ノードをj番目のノードとし、前記ノードにおける正定値行列をGi|jと表し、前記隣接ノードにおける正定値行列をGj|iと表した場合に、Gi|j=Gj|iを満たす
請求項1に記載の情報処理装置。
【請求項3】
前記更新ルールに従って前記更新部により更新した変数を前記隣接ノードに送信する送信部
を更に備える請求項1に記載の情報処理装置。
【請求項4】
前記モデルパラメータの更新のための更新ルールは、モデルパラメータを、平均化された正定値行列の逆行列を勾配に乗算した項を含む式で更新するルールである
請求項1に記載の情報処理装置。
【請求項5】
前記更新部は、K-FAC(Kronecker Factored Approximate Curvature)により近似されたガウス・ニュートン行列を用いて前記正定値行列を更新する
請求項1に記載の情報処理装置。
【請求項6】
前記更新部は、前記モデルの確率的勾配の計算を前記モデルのレイヤーごとに行う、又は、前記正定値行列の更新を前記モデルのレイヤーごとに行う
請求項5に記載の情報処理装置。
【請求項7】
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置が実行する学習方法であって、
正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する受信ステップと、
前記変数を用いて、前記モデルのモデルパラメータを更新する更新ステップと
を備える学習方法。
【請求項8】
コンピュータを、請求項1ないし6のうちいずれか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.
【非特許文献2】Martens, J. and Grosse, R. Optimizing neural networks with kronecker-factored approximate curvature. In In-ternational conference on machine learning, pp. 2408-2417. PMLR, 2015
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1に開示されたECLは一次収束のアルゴリズムである。そのため、合意形成に至り、モデルの学習が完了するまでにノード間の通信回数が大きくなる。またECLでは、1回あたりの通信で、モデルのサイズとおおよそ同等のサイズの情報(具体的には双対変数)をノード間で交換する必要があり、通信量が大きい。分散学習における通信コストが計算量や実行時間の大半を占めており、分散学習の高速化のために、この通信コストを下げる必要がある。なお、このような課題はECLに限らずに、他の分散学習においても生じ得る課題である。
【0009】
本発明は上記の点に鑑みてなされたものであり、分散学習において、高速に合意形成に至ることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
開示の技術によれば、複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する受信部と、
前記変数を用いて、前記モデルのモデルパラメータを更新する更新部と
を備える情報処理装置が提供される。
【発明の効果】
【0011】
開示の技術によれば、高速に合意形成に至るような分散学習を実現できる。
【図面の簡単な説明】
【0012】
【
図1】分散学習システムの全体構成例を示す図である。
【
図10】情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0014】
以下、分散学習における高速化のために、二次最適化した分散学習アルゴリズムである自然勾配主双対法(NGPD: Natural Gradient Primal-Dual method)について説明する。NGPDは、非特許文献1に開示されたECLをベースとした新しい分散学習技術であり、ECLの二次最適化版に相当する。
【0015】
なお、以下の本実施の形態では、ECLをベースとしたNGPDについて説明するが、本発明に係る技術は、NGPDをベースとした分散学習に限らず、その他の分散学習にも適用可能である。
【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が、モデル学習のために実行する処理(アルゴリズム)を説明する。
【0021】
なお、記載の便宜上、本明細書のテキスト(画像イメージではないテキスト)において、一般的には太字で示されるベクトルや行列の文字を、通常の字体で示している。通常の字体でも、文脈から、それがベクトルや行列を示す文字であることは明らかである。その他、集合を表す文字についても、明細書のテキストにおいては通常の字体を使用する。また、明細書のテキストにおいて、文字の頭上に置くことを意図した記号を、文字の左上に記載している(例:
-θ)。本実施の形態において使用している記号をまとめたもの(Table 1)を
図3に示す。
【0022】
(A:実施の形態の概要)
上述した自然勾配主双対法(NGPD)法の説明の概要を説明する。
【0023】
<A-1:NGPDの定式化と理論的な収束解析>
後述する「C:提案手法」において説明するとおり、本実施の形態では、主双対分散学習アルゴリズム(ECL)を再形式化することからはじめ、自然勾配形式(Grosse, R. Second-order optimization. https://www.cs.toronto.edu/ rgrosse/courses/csc2541 2021/.)に従う、関数空間近接(FSP)項を追加することで制約付き損失和最小化問題を解く。このFSP項は、パラメータの更新によりDNN出力値が急激に変化しないことを保証する役割を持つ。
【0024】
また、この制約付き損失和最小化問題を解くためのNGPD更新ルールを導出し、NGPDの平均化パラメータ(すべてのローカルノードパラメータの平均)の振る舞いを説明した後、その理論的な収束解析について説明する。いくつかの前提条件の下で、分類または回帰タスクのための全体最小化への平均化パラメータの収束が示される。なお、更新ルールを「更新則」と呼んでもよい。
【0025】
<A-2:実用的なアルゴリズムの実装>
後述する「D:K-FACを使用した実用的な実装」において説明するとおり、本実施の形態で提案するNGPD法では、前処理行列(ガウス・ニュートン行列)の更新が含まれているが、提案手法を実用的にするためには、計算複雑性を大幅に削減する必要がある。本実施の形態では、ガウス・ニュートン行列のさらなる近似を用いる(又は用いない)K-FAC(Kronecker Factored Approximate Curvature)(非特許文献2)を用いて、2つのアルゴリズム形式(NGPD形式1と2)を示す。特に、ガウス・ニュートン行列のさらなる近似を含むNGPD形式2が、既存の一次分散学習アルゴリズムのように計算複雑性を増加させることなく、二次最適化の効果を実現できるアルゴリズムであることが実験的に確認されている。
【0026】
<A-3:実験的検証>
後述する「E:数値実験」において説明するとおり、本実施の形態において、画像分類ベンチマークテストを用いて実験的な検証を行った。不均一なデータ割り当てを持つDNNs(おそらく悪条件な曲率をもつ)を用いた損失関数の下では、NGPD法で最高のテスト精度が得られた。特に、NGPD形式2は実用的な実装である。我々の数値実験では、既存の一次分散学習アルゴリズムと比較して学習時間の顕著な増加は見られなかった。
【0027】
<A-4:問題設定等>
以下、問題設定、表記、及び、本実施の形態の説明で使用される記号について説明する。
【0028】
同期分散ネットワーク:
V個のローカルノードの集合Vが接続され、任意のグラフG(V,E)を構成する。ここで集合EはE個の単方向エッジの集合である。i番目のノードに接続された隣接ノードのインデックス集合はEi={j∈V|(i,j)∈E}である。
【0029】
集合の濃度は要素の数を表す。すなわち、V=|V|、E=|E|、Ei=|Ei|、およびΣV
i=1Ei=2Eとなる。V個のローカルノードの計算性能が似ていると仮定すると、各通信ラウンド{1,..,R}∈rでK(≧1)回のローカル更新が行われる。ローカルパラメータとその補助変数の送信のために、接続されたノード間でのみ同期メッセージパッシングが可能である。本実施の形態におけるアルゴリズムでは、一例として、単一のローカル更新(K=1)を想定しているが、複数回のローカル更新(K>1)を行ってもよい。
【0030】
不均一なデータサブセット:
本実施の形態において、教師あり学習タスク(例えば、画像分類タスク)を解くことを想定すると、i番目のローカルノードにおける入力とラベルのペアからなるデータサブセットは{xi,ti}と表される。データはローカルノード間で統計的に不均一であり、Pr(xi,ti)≠Pr(xj,tj)(i≠j)である。「E:数値実験」においては、不均一なデータサブセットは、指定された濃度パラメータに従ってディリクレ分布に従う「D=ΣV
i=1Di」個のデータサンプルを合成的に割り当てることで準備される。
【0031】
非凸損失関数:
本実施の形態では、教師あり学習タスクを解くためにDNNs f
iを用いる。ニューラルネットワークのアーキテクチャはV個のローカルノード全体で共通であり、損失関数はパラメータ空間の任意の点で微分可能である。
図3にまとめられているように、{θ
1,...,θ
V}はニューラルネットワークのローカルパラメータの集合を表す。ローカルのDNNの出力がy
i=f
i(θ
i,x
i)と表されるとき、非凸損失関数は次の式(1)により定義される。
【0032】
【数1】
記号を明確に区別するために、ローカルの全勾配(full gradient)は∇L
i(θ
i)と表し、確率的データサンプリング{ζ
i,τ
i}~{x
i,t
i}を用いたローカルの確率的勾配は∇L
i(θ
i,ζ
i,τ
i)と表す。
【0033】
(B:主双対法について)
「C:提案手法」において説明するNGPD更新規則の定式化の準備として、既存の主双対法であるECL (非特許文献1)の概要を説明する。教師あり分散学習のために、線形制約付き損失和最小化が下記のように定式化される:
【0034】
【数2】
ここで、{A
i|j,A
j|i}={I,-I}(i∈V,j∈E
i)は、逆の符号が付けられた単位行列から成る制約パラメータを表す。
図3にまとめられているように、スタックされた記法は、i番目のローカルノードの接続要素A
i|j(j∈E
i)を含むローカル制約パラメータ集合A
iを指す。ここで、V個のローカルノード全体の制約パラメータはAで表される。
【0035】
ECLでは、非凸損失関数Liは、現在のパラメータθ(cur)
iを用いて凸関数により下記のように近似される。
【0036】
【数3】
ここでμ(>0)である。したがって、制約付き凸最小化問題(主問題(2)に近似される)をその双対問題により解くことは自然なことである。非特許文献1に記載のように、双対変数の組{ν
i|
j,ν
j|
i}は、式(2)の線形制約(A
i|jθ
i+A
j|iθ
j=0)として使用される。それらはν
i|j=ν
j|i(j∈E
i)となるように制約されている。各ローカルノードがν
i(ν
i|
j(j∈E
i)を含む)にアクセスでき、V個のローカルノード全体のすべての双対変数がνにスタックされると、双対問題は次のように与えられる。
【0037】
【数4】
ここで、凸共役関数は下記の式によって与えられる。
【0038】
【数5】
Pは接続されたローカルノード間のメッセージパッシングのための置換行列を表し、指示関数ι
ker(I-P)は双対変数制約ν
i|j=ν
j|iを満たすときにゼロになる。これは(I-P)ν=0と等価であり、それ以外の場合、それは+∞を取る。式(3)から、全体的な損失関数は不釣り合いな(ill-matched)2つの項である「平滑凸項+非平滑凸項」から成ることがわかる。
【0039】
双対問題(3)を解くために、2つの演算子が定義される。それらのうちの1つは、最初の項の微分である下記の演算子である。
【0040】
【数6】
もう1つは、二つ目の項の劣微分、M
2(ν)=∂ι
ker(I-P)(ν)である。双対変数の定常点ν
*は下記の式(4)に示すようにゼロを含む。
【0041】
【数7】
この定常点条件は二つの不釣り合いな項で構成されているため、式(4)に演算子分割(例えば、Douglas-Rachford splitting(Douglas, J. and Rachford, H. H. On the numerical solution of heat conduction problems in two and three space variables. Transactions of the American mathematical Society, 82(2):421-439, 1956))を適用することは有効である。これは、よく知られたAlternating Direction Method of Multipliers(ADMM)の導出に似ている。正規化された双対変数ν´=(1/η)νを使用する場合(ηにおけるη
i|j(>0)はη
i|j=η
j|iに制約されている)、ECL更新規則(Douglas-Rachford splittingを用いる)に従うノード100は、各通信ラウンドで、(i)ローカルパラメータの更新と(ii)メッセージパッシングを交互に行う。すなわち、ECL更新ルールは、下記の式(5)により示されるものである。
【0042】
【数8】
ここでu´
i|jはメッセージパッシングのための双対変数(ν´
i|jの補助変数)であり、最終行でν
i|j=ν
j|iが満たされる。式(5)におけるθ
iの更新ルールは、下記の式(6)に示す閉形式で解くことができる。
【0043】
【0044】
【数10】
後述する「E:数値実験」においては、θ
iの更新ルールは完全勾配∇L
i(
i)の代わりに確率的勾配∇L
i(θ
i,ξ
i,τ
i)を使用し、各通信ラウンドでK回のローカル更新を行う。
【0045】
式(6)からわかるように、θiの更新ルールは1次最適化である。収束するためには多くの通信ラウンドが必要であり、これは分散学習にとって課題である。
【0046】
以下、本実施の形態における提案手法を説明する。提案手法では、自然勾配形式(2次最適化)をECLに組み込み、ローカルパラメータの最適化軌跡を滑らかにし、より少ない数の通信ラウンドでより速い定常点への収束を実現する。
【0047】
(C:提案手法)
提案手法であり、分散学習のためのNGPD法を説明する。「C-1」では、Function Space Proximity (FSP)項を導入することによる、主問題(式(2))および双対問題(式(3))の自然勾配版の定式化について説明する。FSP項により、ニューラルネットワークの出力の正則化を制約し、パラメータ更新により出力値が急激に変化しないようにしている。「C-2」では、ガウス・ニュートン行列を用いてパラメータ空間のメトリックを修正して、双対問題の自然勾配版を解くことでNGPD更新ルールを導出する。「C-3」では、下記の式で示される平均化系列を説明する。
【0048】
【数11】
<C-1:主/双対問題の自然勾配版>
主問題(式(2))およびその双対問題(式(3))を自然勾配形式に変換するために、まずFSPを追加する。これにより、ローカルモデルパラメータが更新されたときの関数出力の急激な変化が抑制される。現在のローカルパラメータθ
(cur)
iを用いた現在の関数出力をy
(cur)
i=f
i(θ
(cur)
i,x
i)と表記し、ローカルパラメータが更新された後の関数出力をy
i=f
i(θ
i,x
i)と表記する。FSP項は、それらの差の二乗L
2ノルムにより定義される。主問題の自然勾配版は次の式(7)により与えられる。
【0049】
【数12】
第1の非凸項L
i(θ
i)に対して、ECLにおける二次関数^L
i(θ
i)により、一次近似が使用される。第2のFSP項については、プルバックテクニックを用いる。この項はローカルパラメータ{θ
i,θ
(cur)
i}とローカルのガウス・ニュートン行列
-G
iを使用してマハラノビス距離により近似できる。二つの項の和は下記の式(8)として近似できる。
【0050】
【数13】
ここで、正定値行列
-G
iは、下記に示すローカルのヤコビアン共分散行列の加重混合として定義される。
【0051】
【数14】
これにより、接続されるローカルノード(i,j∈E
i)におけるニューラルネットワーク出力を緩和させ、パラメータ更新後に出力値が急激に変化しないようにすることができる。下記の式の加重混合には曖昧性がある。
【0052】
【数15】
そして、そのことが更新ルールの単純化に影響を与える。-Giの設計については「C-2」で説明する。
【0053】
本実施の形態におけるNGPD法の主問題は、次のように定式化される。
【0054】
【数16】
対応する双対問題は次のように与えられる。
【0055】
【数17】
ここでQ
*
iはQ
iの凸共役関数を表す。ECLの主問題(式(3))との唯一の違いは、Q
*
iにおけるFSP項である。以下では、自然勾配形式に従う、式(10)を解くための更新ルールの導出を説明する。
【0056】
<C-2:NGPD更新ルールの導出>
ここでは、NGPD更新ルールの導出について説明する。この目的のために、式(10)の最初の項の微分は下記で定義される。
【0057】
【数18】
二つ目の項の劣微分は下記のとおりである。
【0058】
【0059】
【数20】
ただし、予備的な調査によれば、この定常点条件を単純に解くと、ガウス・ニュートン行列の乗算が何度も使われるような複雑な更新ルールになることがわかる。そこで、定常条件を変えずに更新ルールを簡略化するために、それを、正定値行列Gを使用して修正する。当該正定値行列Gは、G
i|jからなるブロック対角行列である(
図3)。修正された定常点条件は次の式(11)で与えられる。
【0060】
【数21】
ここで、G(0)=G
-1(0)=0なので、Gを掛けても定常点条件は移動しない。記述を簡略化するために、正規化された双対変数
~ν=(1/η)G
-1νを定義する。これは、
~ν
i|j=(1/η
i|j)G
-1
i|jν
i|jから成る。η
i|jとG
i|jはそれぞれ、η
i|j=η
j|i,G
i|j=G
j|i(i∈V,j∈E
i)により制約される。式(11)にDouglas-Rachford splittingを適用すると、次のNGPD更新ルール(式(12)が得られる。
【0061】
【数22】
ここで、最後の二行において、
~ν
i|j=
~ν
j|iおよびG
i|j=G
j|iが満たされる。
【0062】
本実施の形態における通信システムにおける各ノードは、上記の式(12)に従って、モデルパラメータの更新、各変数の更新、メッセージパッシングを行う。ここで、i番目のノードをノードiとし、ノードiに隣接するj番目のノードをノードjとする。
【0063】
式(12)は、ノードiが実行する処理手順を示す。式(12)において、~uj|i、及びΦjは、ノードiがノードjから受信する変数を表し、~ui|j、及びΦiは、ノードiがノードjへ送信する変数を表す。
【0064】
式(12)において、ノードiは、式(12)に示すとおりにθi、~ui|j、Φiを更新するとともに、ノードjから受信した~uj|i、Φjを用いて、~νi|j、Gi|jを更新する。
【0065】
NGPDの式(12)とECLの式(5)の違いは下記の(相違点1)-(相違点3)としてまとめることができる。
【0066】
(相違点1)ガウス・ニュートン行列を使用したローカルパラメータ更新:
式(12)のθiの更新ルールは、式(8)における一般化された2次関数Qi(θi)と双対変数~νi|jを使用した正規化項の和を最小化するように設計されている。更新ルールを簡略化するために、下記の式(13)に示すように、Qi(θi)を含む-Giを用いる。
【0067】
【数23】
-G
iはG
i|j(j∈E
i)の重み付き混合として設計されている。
-G
iの役割は、パラメータθ
i更新後に出力値が急激に変化しないように、接続されたローカルノードでニューラルネットワークの出力を緩和させることである。式(13)を使用すると、式(12)のθ
i更新ルールは単純に、下記のように閉形式で解くことができる。
【0068】
【数24】
式(14)をECLのθ
i更新ルール(式(6))と比較すると、唯一の違いは平均化ガウス・ニュートン行列
-G
-1
iの逆行列が勾配∇L
i(θ
i)に掛けられているかどうかである。これは、
-G
i=Iが選択された場合に、NGPD法がECLになることを示している。ただし、この更新ルールは、式(11)の修正された定常点条件、双対変数の正規化
~ν=(1/η)G
-1ν、そして式(13)のガウス・ニュートン行列の設計など、いくつかの新技術を通じて得られるものである。
【0069】
(相違点2)ガウス・ニュートン行列のメッセージパッシング:
双対変数~ui|jだけでなく、ガウス・ニュートン行列Φiまたはその成分が、接続されたノード間で交換される。
【0070】
(相違点3)ガウス・ニュートン行列は制約を満たすように更新される:
式(12)にように、ΦiとΦjの平均でGi|jが更新される限り、Gi|j=Gj|i(i∈V,j∈Ei)は保証される。
【0071】
以上が相違点1~3の説明である。
【0072】
式(6)から、NGPDのθi更新ルールが2次の自然勾配方式に従っていることがわかる。したがって、悪条件の曲率に対するロバスト性が期待できる。しかし、計算、メモリ、通信コストが、通信ラウンドごとに大幅に増加すると、勾配前処理の効果は意味をなさなくなる。そこで、Gi|jの計算に対する実用的な実装についてを「D:K-FACを使用した実用的な実装」で説明する。完全勾配∇Li(i)の代わりに確率的勾配∇Li(θi,ξi,τi)を使用した実装と、K回のローカル更新についても、「D:K-FACを使用した実用的な実装」で説明する。下記で示される平均化パラメータ系列(sequence of averaged parameter)について説明する。
【0073】
【数25】
<C-3:平均化系列の性質>
NGPD法における平均化パラメータ系列
-θを説明する。式(12)のNGPD更新ルールを使用して下記の式(15)で示される平均化系列の性質を得る。
【0074】
【数26】
ここで、平均化パラメータ更新ルールは、式(12)のローカルパラメータ更新が分散学習方式で実行されていても、2次の自然勾配方式に従う。
【0075】
(D:K-FACを使用した実用的な実装)
二次最適化手法に共通する問題は、前処理ガウス・ニュートン行列とその逆行列の計算にかかる大きなオーバーヘッドである。この問題を軽減するために、本実施の形態では、K-FACを用いてローカルのガウス・ニュートン行列を近似計算する。この実装(疑似コード)をAlgptithm1として
図4に示す。Algptithm1には二つの形式(NGPD形式1と2)がまとめて示されている。Algorithm1は、ノードiで実行されるプログラムの疑似コードに相当する。
【0076】
一般的に、ローカルのガウス・ニュートン行列Φiは密行列であり、その逆行列を計算するのは非実用的である。K-FACでは、Φiは、下記のとおり、N層のDNNに対するレイヤーごとのブロック対角化によって近似される。
【0077】
【数27】
各レイヤーのブロックはクロネッカー積(〇の中に×が入った記号)を用いて近似することができる。h
i,nがi番目のローカルノードでの直前のレイヤーn+1からの活性化を示し、現在のレイヤーの出力に関するローカルの確率的勾配が単純に∇L
i,nと表される場合、Φ
i,nは以下のように近似できる。
【0078】
【数28】
さらに、式(16)の期待値を、モンテカルロサンプリングを用いて計算することで、高速化することができる。レイヤーごとのブロック対角近似が用いられているため、前処理は部分問題の各ブロックを分解するために適用される。ここで、「△
i,n←diag(∇L
i,n)」と定義すると、式(6)は、下記のようにレイヤーごとに計算することができる。
【0079】
【数29】
NGPDのさらなる計算効率化を図るために、本実施の形態では、二つの実装形式が用いられる。NGPD形式1では、式(12)において、Φ
iとその送信は、式(16)に従って、はるかに次元の小さい行列{H
i,n,L
i,n}に置き換えられる。一方、NGPD形式2では、実験的な発見を利用している。すなわち、{H
i,n,L
i,n}は非常にスムーズに更新され、ローカルノード間での類似性が高い。したがって、式(12)の最後の行のG
i|jの更新ルールを、下記のとおり、レイヤーごとの手続きで置き換える。
【0080】
【数30】
この近似は制約G
i|j=G
j|iを満たすことができないが、式(13)から、下記に示すように、大幅な計算効率化が可能である。
【0081】
【数31】
後述する「E:数値実験」でこの効果を示す。Algorithm1のNGPD形式1と2の両方において、完全勾配の代わりに確率的勾配が用いられ、K回のローカル更新が用いられる。後述する「E:数値実験」において、(i)NGPD形式2の追加のガウス・ニュートン行列近似、(ii)確率的勾配、及び(iii)複数のローカル更新による効果を実験的に示す。
【0082】
(E:数値実験)
本実施の形態におけるNGPD(形式1および2)と他の比較対象方法を、不均一データ分配の下で、(おそらく悪条件の曲率の)損失関数を持つDNNs下で比較するための数値実験を行った。
【0083】
<E-1:実験設定>
ネットワーク/通信:
ローカルノードを接続するためにリングネットワークトポロジー((V,E)=(8,8))を使用した。R=2,500回の同期通信ラウンドがノード間で実行された。ローカル更新の数をK={32,64,128}で変更し、それに対するロバスト性を実験的に調査した。
【0084】
データ分配:
教師あり学習タスクとして、CIFAR-10を用いた画像認識を選択した。50,000個の訓練データセットがV=8個のノードに不均一に割り当てられた。各ローカルノードが保持するデータサブセットは、集中度ハイパーパラメータαを持つディリクレ分布に従うようにした。αがゼロに近づくと、データの不均一性が増加する。不均一データ分配に対するロバスト性を調査するために、α={0.5,1.0,∞}という三つの不均一性パターンを使用した。評価フェーズでは、すべてのローカルノードが10,000のテストデータセットにアクセスすることを許可した。
【0085】
非凸モデル:
ここでは、2つの非凸DNNモデルである、ResNet-18とVGG-11を使用し、損失関数liとしてソフトマックス関数を用いる交差エントロピーを使用した。なお、ローカルデータサブセットが統計的に偏っているため、ResNet-18のバッチ正規化レイヤーは、グループ正規化レイヤーに置き換えた。また、グループ正規化レイヤーのローカルガウス・ニュートン行列は計算されない。
【0086】
比較手法:
ここでは、4つの純粋な主方法(pure primal method)と4つの主双対法からなる8つの方法をテストした。
【0087】
4つの純粋な主方法は次のとおりである:(1)DSGD、(2)DSGD+モーメンタム(Gao, H. and Huang, H. Periodic stochastic gradient descent with momentum for decentralized training. arXiv preprint arXiv:2008.10435, 2020)、(3)DSGD+自然勾配降下法、(4)分散型SCAFFOLD(Liu, Y. Variance reduction in decentralized training over heterogeneous data. 2021)。
【0088】
4つの主双対法は次のとおりである:(5)ECL(Douglas-Rachford splitting)、(6)NGPD形式1、(7)NGPD形式2、(8)参照方法としての、-Giの対角行列近似を伴うNGPD。
【0089】
それぞれの方法について、μ、ηi|j、及びバッチサイズに対するハイパーパラメータチューニングが事前に行われた。(5)-(8)については、ηi|j=1/(μK(2E)/V)を使用した。これはηi|j=ηj|iを満たす。異なる計算コストを持つ7つの方法を公正に比較するために、ローカル計算とメッセージパッシングを含む学習時間を記録した。
【0090】
計算環境:
8つのGPU(NVIDIA A100 for NVLink 40GiB HBM2)を備えたサーバを使用し、Glooを使用してメッセージパッシングを行った。
【0091】
<E-2:実験結果>
平均化パラメータ
-θの評価結果を
図5~
図8に示す。
図5、
図6ではResNet-18が使用され、
図7、
図8ではVGG-11が使用された。
図5(a1)、
図7(b1)では、不均一データ分配(α=1.0)と複数のローカル更新(K=32)を固定し、テスト精度の学習曲線を示している。NGPD形式1と2の学習曲線は滑らかであり、最高のテスト精度はResNet-18のNGPD形式1、又は、VGG-11の形式2で達成された。
【0092】
図5(a2)、
図7(b2)では、計算量が軽い一次の方法と、本実施の形態に係る二次のNGPDを公平に比較するために、横軸を通信ラウンドから、ローカル計算とメッセージパッシングを含む学習時間に変更した。
【0093】
NGPD形式1については、その学習時間は他の方法よりも大幅に長くなったが、ガウス・ニュートン行列に追加の近似を含むNGPD形式2の学習時間は、他の一次最適化方法と比較してそれほど長くならなかった。そのため、計算効率の観点からは、NGPD形式2の方が形式1よりも適している。
【0094】
図6(a3)、
図8(b3)では、データの不均一性へのロバスト性を調査するために、各αに対して、K=32を固定して、R=2,500の通信ラウンドでベストのテスト精度を比較した。NGPD形式1と2を含む主双対法のベストのテスト精度は、データの不均一性αによって大幅に影響を受けなかった。それは、主双対法(2)(7)のパラメータ制約がデータの不均一性へのロバスト性を効果的に提供しているためである。
【0095】
NGPD形式1と2に続いて、ECLと、-Giの対角行列近似を用いたNGPDも、データの不均一性(α={0.5,1.0})の下で相対的に高いテスト精度を達成した。しかし、一定のテスト精度を得るためには、NGPDと比較してより多くの通信ラウンド数が必要になった。この違いは、分散学習に二次の自然勾配法を適用する重要性を明確に示している。一方、純粋な主方法、つまり分散型SCAFFOLDとDSGD(自然勾配又はモメンタム付き)は、データの不均一性が大きい場合にはうまく機能しなかった。これは、それらの理論的な収束証明がデータの不均一性の仮定を必要とし、本実験ではデータの不均一性が大きい状況(α={0.5,1.0})でテストを行ったためである。
【0096】
<Eのまとめ>
以上説明したように、NGPD法の更新ルールにより、パラメータの更新によって、ニューラルネットワークの出力値が急激に変化することなく、ローカルパラメータを一致させることができる。また、NGPD形式1と2の学習曲線は滑らかであり、複数のタスクに対するベストのテスト精度が、データの不均一性が存在するDNNの下でも、NGPD形式1と2により得られた。また、NGPD形式2は、NGPD形式1よりも計算効率が良いことが分かった。
【0097】
(装置構成例)
図9に、NGPD法を実行する分散学習システムにおいて、ノードとして使用される情報処理装置100の構成例を示す。
【0098】
図9に示すように、情報処理装置100は、送信部110、受信部120、更新部130、及び記憶部140を含む。
【0099】
当該情報処理装置100は、複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、当該複数のノードの中のあるノードとして使用される情報処理装置である。本分散学習システムは、NGPD法により分散学習を行う。
【0100】
受信部120は、正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する。更新部130は、前記変数を用いて、前記モデルのモデルパラメータを更新する。送信部110は、前記更新ルールに従って前記更新部130により更新した変数を前記隣接ノードに送信する。
【0101】
記憶部140は、受信したデータ、更新部30により演算されたデータ、送信するべきデータ等が格納されている。
【0102】
(ハードウェア構成例)
本実施の形態で説明した情報処理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0103】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0104】
図10は、上記コンピュータのハードウェア構成例を示す図である。
図10のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
【0105】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0106】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、情報処理装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0107】
(実施の形態のまとめ)
本実施の形態におけるまとめを以下の(1)~(5)に示す。
【0108】
(1)本実施の形態では、通信システムを構成する各ノードは、式(11)の定常点条件を満たす更新ルール(近似も含む)に従って、変数/パラメータの更新を行う。
【0109】
前述のとおり、従来法(ECL)の定常点条件が式(4)である。すなわち、式(11)は、式(4)から正定値行列Gを用いて修正されたものである。前述のとおり、Gは小行列(正定値行列)Gi|jで構成されたブロック対角化行列であり、Gi|j=Gj|iという制約を満たす。
【0110】
(2)より具体的には、通信システムを構成する各ノードは、式(11)の定常点条件を満たす更新ルールの基本形である式(12)(あるいは式(12)から派生する更新ルール)を用いて、変数/パラメータの更新を行う。前述のように、Douglas-Rachford Splittingを用い、式(11)の定常点条件を分解することにより式(12)が得られる。式(12)により、Gi|j=Gj|iという制約を守りながら、変数更新が可能である。
【0111】
アルゴリズム(処理手順)としては、ローカルのノードで、パラメータ/変数の更新を1回行い、接続したノード間で通信(メッセージパッシング)を1回行う、という処理を交互に繰り返すものである。
【0112】
(3)式(12)のθiの更新ルール(式(12)の最初の行)は、式(14)で置き換えてもよい。なお式(14)に含まれるは式(13)で計算してもよい。
【0113】
(4)式(12)におけるΦiを、K-FACを用いて(16)式によって近似して計算してもよい。
【0114】
(5)式(12)のアルゴリズムを改造し、Algorithm1のように実施してもよい。なお、Algorithm1において、式(12)からの変更点は3つある。1つ目の変更点は、ローカルノードでK回更新をした後に接続したノード間で通信(メッセージパッシング)をするようにした点である。2つ目の変更点は、θiの更新ルール(式(12)の最初の行)を、式(14)で置き換えた点である。
【0115】
3つ目の変更点は、確率的勾配gの計算において、関数gCalcにおいて記載のとおり、2種類の計算方式(NGPD形式1と形式2)を設け、どちらも使用可能であるとした点である。
【0116】
いずれの方法も、K-FACを用いて軽量に二次最適化を分散学習に導入するための方法である。NGPD形式1は式(11)の定常点条件を満たす方法をとっているが、計算量やメモリ量がやや大きい。一方でNGPD形式2は式(11)の定常点条件を厳密には満たさない近似方法であるが、計算量やメモリ量がNGPD形式2に比べて非常に小さくそれは実験結果にも表れている。
【0117】
(実施の形態の効果)
本実施の形態に係る技術により、分散学習に二次最適化(自然勾配法)を取り入れることとしたので、分散学習において、高速に合意形成に至ることが可能になる。
【0118】
以上の実施形態に関し、更に以下の付記を開示する。
【0119】
<付記>
(付記項1)
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信し、
前記変数を用いて、前記モデルのモデルパラメータを更新する
情報処理装置。
(付記項2)
前記ノードをi番目のノードとし、前記隣接ノードをj番目のノードとし、前記ノードにおける正定値行列をGi|jと表し、前記隣接ノードにおける正定値行列をGj|iと表した場合に、Gi|j=Gj|iを満たす
付記項1に記載の情報処理装置。
(付記項3)
前記プロセッサは、前記更新ルールに従って更新した変数を前記隣接ノードに送信する
付記項1に記載の情報処理装置。
(付記項4)
前記モデルパラメータの更新のための更新ルールは、モデルパラメータを、平均化された正定値行列の逆行列を勾配に乗算した項を含む式で更新するルールである
付記項1に記載の情報処理装置。
(付記項5)
前記プロセッサは、K-FAC(Kronecker Factored Approximate Curvature)により近似されたガウス・ニュートン行列を用いて前記正定値行列を更新する
付記項1に記載の情報処理装置。
(付記項6)
前記プロセッサは、前記モデルの確率的勾配の計算を前記モデルのレイヤーごとに行う、又は、前記正定値行列の更新を前記モデルのレイヤーごとに行う
付記項5に記載の情報処理装置。
(付記項7)
複数のノードにおけるノード間での情報交換によりモデルの学習を行う分散学習システムにおいて、前記複数のノードの中のあるノードとして使用される情報処理装置が実行する学習方法であって、
正定値行列を用いて表された定常点条件から演算子分割を適用することにより得られた更新ルールに従って更新された変数を、隣接ノードから受信する受信ステップと、
前記変数を用いて、前記モデルのモデルパラメータを更新する更新ステップと
を備える学習方法。
(付記項8)
コンピュータを、付記項1ないし6のうちいずれか1項に記載の情報処理装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
【0120】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0121】
100 情報処理装置
110 送信部
120 受信部
130 更新部
140 記憶部
200 ネットワーク
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置