IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-学習方法 図1
  • 特許-学習方法 図2
  • 特許-学習方法 図3
  • 特許-学習方法 図4
  • 特許-学習方法 図5
  • 特許-学習方法 図6
  • 特許-学習方法 図7
  • 特許-学習方法 図8
  • 特許-学習方法 図9
  • 特許-学習方法 図10
  • 特許-学習方法 図11
  • 特許-学習方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】学習方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240903BHJP
   G06N 3/098 20230101ALI20240903BHJP
【FI】
G06N20/00
G06N3/098
【請求項の数】 10
(21)【出願番号】P 2023526772
(86)(22)【出願日】2021-06-10
(86)【国際出願番号】 JP2021022174
(87)【国際公開番号】W WO2022259481
(87)【国際公開日】2022-12-15
【審査請求日】2023-11-24
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】籾山 悟至
【審査官】山本 俊介
(56)【参考文献】
【文献】米国特許出願公開第2021/0097439(US,A1)
【文献】国際公開第2020/148992(WO,A1)
【文献】ZHU, Hangyu et al.,"From federated learning to federated neural architecture search: a survey",Complex & Intelligent Systems,[online], Springer,2021年01月04日,Vol.7,Pages 639-657,[retrieved on 2021.07.28], Retrieved from the Internet: <URL: https://doi.org/10.1007/s40747-020-00247-z>,<DOI: 10.1007/s40747-020-00247-z>
【文献】CHEN, Cheng et al.,"CERTIFIABLY-ROBUST FEDERATED ADVERSARIAL LEARNING VIA RANDOMIZED SMOOTHING",arXiv:2103.16031v1,version v1,[online], arXiv (Cornell University),2021年03月30日,Pages 1-9,[retrieved on 2021.07.27], Retrieved from the Internet: <URL: https://arxiv.org/abs/2103.16031v1>.
【文献】CRESWELL, Antonia et al.,"Generative Adversarial Networks : An overview",IEEE Signal Processing Magazine,2018年01月10日,Vol.35, No.1,Pages 53-65,ISSN: 1053-5888, <DOI: 10.1109/MSP.2017.2765202>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置が複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習方法であって、
前記情報処理装置が、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
学習方法。
【請求項2】
請求項1に記載の学習方法であって、
少なくとも1つの所定のクライアント装置に第一の学習を実行させると共に、少なくとも1つの他の前記クライアント装置に前記第一の学習とは学習方法が異なり学習データの生成処理を伴う第二の学習を実行させるよう割り当てる、
学習方法。
【請求項3】
請求項2に記載の学習方法であって、
前記所定のクライアント装置に前記第一の学習として通常学習を実行させると共に、前記他のクライアント装置に前記第二の学習として敵対的サンプルを生成して当該敵対的サンプルの学習処理を伴う敵対的学習を実行させるよう割り当てる、
学習方法。
【請求項4】
請求項1乃至3のいずれかに記載の学習方法であって、
複数の前記クライアント装置による学習の実行後に生成されたモデルを集計して新たなモデルを生成し、
さらに、前記新たなモデルに対して、複数の前記クライアント装置に、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる、
学習方法。
【請求項5】
請求項1乃至4のいずれかに記載の学習方法であって、
予め設定された少なくとも2つの学習方法の割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習方法。
【請求項6】
請求項5に記載の学習方法であって、
複数の前記クライアント装置による学習の実行後に生成されたモデルを集計した後に、前記割当比率を変更し、
さらに、変更された前記割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習方法。
【請求項7】
請求項6に記載の学習方法であって、
複数の前記クライアント装置に実行させた学習の進行度に基づいて、前記割当比率を変更する、
学習方法。
【請求項8】
請求項6又は7に記載の学習方法であって、
複数の前記クライアント装置から集計したモデルに基づいて、前記割当比率を変更する、
学習方法。
【請求項9】
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習装置であって、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる割当部と、
複数の前記クライアント装置により学習後に生成されたモデルを集計する集計部と、
を備えた学習装置。
【請求項10】
情報処理装置に、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を行う際に、複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連合学習を用いた学習方法に関する。
【背景技術】
【0002】
機械学習・深層学習におけるモデルの学習方法のうち、複数のクライアントマシンが分散環境で学習に参加する手法の一つに連合学習がある。
【0003】
連合学習の学習形式として、例えば図1に示すような形式が挙げられる。連合学習は、学習を管理する中央サーバ50と、学習そのものを行う情報処理装置であるクライアント60-1~60-Kと、によって実施される。中央サーバ50は、学習を行う機械学習・深層学習モデルのパラメータのクライアントへの送信を行うクライアント通信装置51と、クライアントから送信される学習済みモデルの集約及びモデルパラメータの更新を行うモデル集計装置52と、を備えている。クライアント60-1~60-Kは、各クライアントが保存している独自のデータセットを用いて個別に学習を行う。このような連合学習の一例が、非特許文献1、特許文献1、及び特許文献2に記載されている。
【0004】
ここで、非特許文献1に記載の連合学習システムは、例えば図2のフローチャートに示すように動作する。上記のように、連合学習システムによる連合学習は、中央サーバ50と学習に参加する全クライアント60-1~60-Kとによって実施される。
【0005】
まず、中央サーバ50は、学習の開始に際して、必要に応じてパラメータの入力を行う(ステップS51)。そして、連合学習システムは、連合学習として、以下にラウンドと定義する一連の手続きを、決められた回数、もしくは決められた評価指標に達するまで繰り返す。1回のラウンドの動作は以下の通りである。
【0006】
ラウンドの開始時に、中央サーバ50は、全クライアント(N個とする)の中からそのラウンドで学習に参加するK個のクライアント60-1~60-Kを抽選して決定する(ステップS52)。この時、選ばれるクライアント数Kは、1以上N以下である。なお、図1には、予めN個全てのクライアントではなく、各ラウンドで学習に参加するK個のクライアント60-1~60-Kのみを図示している。例えば、Nの数が数個から100個程度の研究機関などが保有するサーバーマシンを利用した計算能力の高い環境での連合学習の場合、Kの数としてNの数の80%程度を設定した学習が考えられる。一方で、Nの数が数万程度かそれ以上となるような一般ユーザが所有するような携帯端末などを用いた連合学習の場合は、Kの数としてNの数の10%程度を設定した学習が考えられる。
【0007】
次に、中央サーバ50は、抽選されたK個のクライアント60-1~60-K全てに、学習させる機械学習・深層学習モデル(グローバルモデル)を送信する(ステップS53)。抽選されたK個のクライアント60-1~60-Kは、グローバルモデルを受信した後、各クライアントが記憶しているデータを用いて個別に学習を行う(ステップS54)。抽選されたK個のクライアント60-1~60-Kは、学習が終了し次第、学習済みのモデル(ローカルモデル)を中央サーバ50に送信する(ステップS55)。中央サーバ50は、各クライアント60-1~60-Kから送信されるローカルモデルを、あらかじめ決められた方法で集約演算し、その演算結果を使ってグローバルモデルの更新を行う(ステップS56)。以上が連合学習の1ラウンドの動作であり、前回のラウンドのグローバルモデルの更新結果が、次回のラウンドでクライアントに送信されるグローバルモデルとして利用されることで、学習が進む。既定のラウンド数の学習が進行する、もしくは決められた評価指標に達した段階で、全ての学習プロセスを終了する(ステップS57でYes)。
【0008】
ここで、上述の連合学習では、学習の各時点で中央サーバ50がグローバルモデルをクライアントデバイス60-1~60-Kに一斉送信する。そのため、悪意のある攻撃者がクライアントとして学習に参加していた場合、攻撃者はモデル情報を自動的に入手することができ、モデル情報を持たないときよりも精緻な攻撃を実現できる、という問題がある。例えば、攻撃者は下記に説明するような敵対的サンプル(adversarial examples)を用いた攻撃を行うことで、モデルの正常な学習を阻害、あるいは学習完了後のモデルが誤動作するように誘導したり、モデル情報から学習データを復元するなどのプライバシーを侵害するような情報の窃取を行ったりすることが生じうる。
【0009】
また、機械学習・深層学習モデルへの攻撃として、敵対的サンプルによる攻撃を挙げることができる。敵対的サンプルは、機械学習・深層学習モデルが誤作動するように計算された摂動が意図的に加えられたデータである。敵対的サンプルは、任意の機械学習・深層学習モデルで生じうる問題であり、セキュリティ上の重大な課題である。現在までのところ、敵対的サンプルの影響を受けない機械学習・深層学習モデルは提案されておらず、セキュリティ上の堅牢性を向上するためには何らかの付加的な防御手段を付与する必要がある。このうち、現在までに知られている防御手法の中で最も有用な手法の一つが、敵対的学習である。このような敵対的学習の一例が非特許文献2に記載されている。
【0010】
敵対的学習は、例えば図3のフローチャートに示すように動作する。ここで、下記の敵対的学習は1台のマシン上で行われるものを念頭に置いており、かかる1台のマシン上の敵対的学習は、連合学習との組み合わせを考える場合には、連合学習を行う複数台のクライアントのうち、1台のクライアント上での学習に相当する。敵対的学習は、以下の処理を決められた回数、もしくはモデル性能が決められた評価指標に達するまで繰り返される。
【0011】
具体的に、敵対的学習では、まず、学習を行うクライアントが、データセットからモデルの更新に利用するデータを選択する(ステップS61)。次に、クライアントは、選ばれたデータを用いて現在の学習進行度のモデルに対する敵対的サンプルを生成する(ステップS62)。この際、敵対的サンプルの生成には、生成方法による差はあるものの、一般的に10回程度の反復計算が必要である(ステップS63)。その後、クライアントは、生成された敵対的サンプルを用いてモデルパラメータの更新を行う(ステップS64)。そして、既定のデータ量かその繰り返し、もしくは決められた評価指標に達した段階で、全ての学習プロセスを終了する(ステップS65)。
【先行技術文献】
【特許文献】
【0012】
【文献】特表2020-528588号公報 (WO2019/032157)
【文献】特表2020-528589号公報 (WO2019/032156)
【非特許文献】
【0013】
【文献】Peter Kairouz他著、”Advances and Open Problems in Federated Learning”、2016 arXiv
【文献】Aleksandar Madry他著、“Towards deep learning models resistant to adversarial attacks”、ICLR、2018
【発明の概要】
【発明が解決しようとする課題】
【0014】
ここで、上記のように敵対的学習では、データの選択によるモデルの更新という通常の学習方法でも含まれていた反復計算の内部で、敵対的サンプルを生成する、という別の反復計算が都度行われることとなる。そのため、計算時間が長大化するという問題が生じる。特に、上述したような連合学習の枠組みで敵対的学習を行う場合、敵対的学習のアルゴリズムはクライアントで処理されることとなるが、連合学習におけるクライアントマシンは様々な種類が考えられ、必ずしも強力なCPUやGPU、あるいは潤沢なメモリを備えた計算機に限らない。例えば、連合学習におけるクライアントマシンは、用途によってはスマートフォンなどの計算資源の乏しいデバイスがクライアントとなる場合も想定される。このような場合、上記の敵対的学習のアルゴリズムの面からの計算時間の長大化に加え、クライアントの計算能力の乏しさによる計算時間の長大化も生じることとなる。
【0015】
このため、本発明の目的は、上述した課題である、連合学習における計算時間の長大化、ということを解決することができる学習方法を提供することにある。
【課題を解決するための手段】
【0016】
本発明の一形態である学習方法は、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習方法であって、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
という構成をとる。
【0017】
また、本発明の一形態である学習装置は、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習装置であって、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる割当部と、
複数の前記クライアント装置により学習後に生成されたモデルを集計する集計部と、
を備えた、
という構成をとる。
【0018】
また、本発明の一形態であるプログラムは、
情報処理装置に、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を行う際に、複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
処理を実行させる、
という構成をとる。
【発明の効果】
【0019】
本発明は、以上のように構成されることにより、連合学習における計算時間の長大化を抑制することができる学習方法を提供することができる。
にある。
【図面の簡単な説明】
【0020】
図1】連合学習システムの構成例を示すブロック図である。
図2】連合学習システムの動作例を示すフローチャートである。
図3】敵対的学習の動作例を示すフローチャートである。
図4】本発明の第1の実施形態における連合学習システムの構成を示すブロック図である。
図5図4に開示した連合学習システムの動作を示すフローチャートである。
図6図4に開示した連合学習システムの動作を示すシーケンス図である。
図7】本発明の第2の実施形態の連合学習システムの構成を示すブロック図である。
図8図7に開示した連合学習システムの動作を示すフローチャートである。
図9】本発明における学習方法と他の学習方法との効果の比較を示す表である。
図10】本発明の第3の実施形態における学習装置のハードウェア構成を示すブロック図である。
図11】本発明の第3の実施形態における学習装置の構成を示すブロック図である。
図12】本発明の第3の実施形態における学習装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0021】
<第1の実施形態>
本発明の第1の実施形態について、図4乃至図6を参照して説明する。図4は、連合学習システムの構成を説明するための図であり、図5乃至図6は、連合学習システムの動作を説明するための図である。
【0022】
本発明における連合学習システムは、特に、敵対的学習を適用可能なタスクに対して応用することができる。例として、本発明の連合学習システムは、画像や音声を分類したり認証するためのモデルを生成することに利用することができる。但し、本発明の連合学習システムは、いかなる分野で利用されてもよい。
【0023】
[構成]
図1に示すように、第1の実施形態における連合学習システムは、複数(任意の個数N個)のクライアント学習装置(以下、「クライアント」とも称する。)と、中央サーバ10と、を備える。ここで、図1には、後述するように各ラウンドで抽選された学習に参加するK個のクライアント学習装置20-1~20-Kのみを図示している。個々のクライアント学習装置20-1~20-Kと中央サーバ10とは、通信可能に接続されている。
【0024】
中央サーバ10は、その内部にクライアント通信装置11とモデル集計装置12とクライアント割り当て装置13とを備える。クライアント通信装置11とモデル集計装置12、クライアント通信装置11とクライアント割り当て装置13は、中央サーバ10の中部でそれぞれ接続されている。
【0025】
なお、本発明は、コンピュータつまり中央サーバ10を連合学習システムとして機能させる連合学習プログラムとしても実現することができる。コンピュータである中央サーバ10は、連合学習プログラムが読み込まれ実行される中央処理装置(CPU(Central Processing Unit))、クライアントにおいて個別にデータを保存したり中央サーバ10においてグローバルモデルの保存を行ったりする記憶装置(ハードディスク等)、キーボードやマウスなどの入力手段である入力装置15、ディスプレイなどの表示手段である表示装置、を備える。
【0026】
本発明の第1の実施の形態では、中央サーバ10のCPUに読み込まれた連合学習プログラムは、当該CPUに、上述したクライアント通信装置11、モデル集計装置12、クライアント割り当て装置13、を構築する。以下、各構成について説明する。
【0027】
クライアント割り当て装置13(割当部)は、各ラウンドにおいて学習に参加するクライアント20-1~20-Kが通常の学習と敵対的学習とのどちらを行うかを指定する。この学習方法の指定は、クライアント通信装置11を通じて各ラウンドで学習に参加する全てのクライアント20-1~20-Kに送信される。なお、学習の開始時に、クライアント割り当て装置13は、各ラウンドでクライアント20-1~20-Kに通常学習と敵対的学習とを割り振る比率を入力として受け取る。この2つの学習方法の割り当て比率は、学習の開始時点で外部より入力されても良いし、学習するモデルのタスクやモデル構造、データに関する情報などから自動的に計算されてもよい。学習方法の割り当ては、例えば、各クライアントに完全にランダムに割り当てても良いし、各クライアントの計算資源や処理速度、保有するデータに関する情報に応じて割り当ててもよい。一例として、学習に参加する全クライアント数は、データセンターや企業などの比較的大きなデータを保有し、かつ計算能力に優れたマシンを用いた学習の場合には、数個から100個程度とする。また、別の例として、学習に参加する全クライアント数は、スマートフォンなどの計算資源の乏しいクライアントを用いた学習の場合には、数百万以上とする。そして、これらのクライアントに対して、例えば、通常学習と敵対的学習を「5:5」や「3:7」といった比率で割り当てる。但し、クライアントの総数や各学習への割り当て比率は、上述した値に限定されない。
【0028】
なお、本実施形態におけるクライアント割り当て装置13は、選択されたクライアント20-1~20-Kのうち、少なくとも1つのクライアントに通常学習を割り当て、少なくとも1つのクライアントに敵対的学習を割り当てることとしている。但し、クライアント割り当て装置13は、状況によっては、いずれかの学習方法を選択された全てのクライアントにも割り当ててもよい。例えば、クライアント割り当て装置13は、通常学習と敵対的学習を「10:0」や「0:10」といった比率で割り当ててもよい。一例として、クライアント割り当て装置13は、後述するように、ラウンドと呼ばれる1回の学習が複数回繰り返されるような場合には、全ラウンドのうち一部のラウンドでは、通常学習と敵対的学習を「10:0」や「0:10」の比率としてもよい。
【0029】
また、クライアント割り当て装置13がクライアントに割り当てる学習方法は、必ずしも通常学習と敵対的学習であることに限定されない。例えば、クライアント割り当て装置13は、クライアントに対して、所定の第一の学習と、当該第一の学習とは学習方法が異なる第二の学習と、を割り当ててもよい。このとき、第一の学習と第二の学習とは、同一のモデルに対して学習と行うものである。また、クライアント割り当て装置13は、クライアントに対して、必ずしも2つの異なる学習を割り当てることに限定されず、3つ以上の異なる学習を割り当ててもよい。
【0030】
クライアント通信装置11(割当部、集計部)は、各ラウンドで学習に参加するクライアント20-1~20-Kに対してのグローバルモデルを送信し、クライアント割り当て装置13によって決定された学習方法を各クライアントに送信する機能を有する。また、クライアント通信装置11は、学習が完了したクライアント20-1~20-Kからのローカルモデルの受信を行う。つまり、各クライアントは、後述するように独自に保有するデータを用いて学習を行い、学習結果の学習済みモデルであるローカルモデルを中央サーバ10に送信するため、かかるローカルモデルをクライアント通信装置11が受信する。
【0031】
ここで、後述するように各クライアント20-1~20-Kは、学習方法の割り当てに応じて、「通常学習」、もしくは、学習の各ステップで学習データから敵対的サンプルを生成し、その敵対的サンプルを学習データとする「敵対的学習」のどちらかを行う。このとき各クライアント20-1~20-Kで実行される学習プログラム、および敵対的学習を行う際の敵対的サンプルの生成サブルーチン用プログラムなどは、例えば、クライアント通信装置11が各クライアント20-1~20-Kに送信する。これにより、クライアント20-1~20-Kは、上述したようなプログラムを連合学習が始まる時点で取得したり、あるいは、学習の各ラウンドでクライアントが学習に参加することが決定した時点で取得する。なお、クライアント20-1~20-Kで実行される学習に利用するプログラムは、必ずしもクライアント通信装置11が提供することに限定されず、クライアント20-1~20-Kは他の方法で取得してもよい。
【0032】
モデル集計装置12は、予め決められた連合学習のアルゴリズムに従って、クライアント通信装置11が受信した複数のクライアント20-1~20-Kからの複数のローカルモデルを演算処理によって集約し、その結果を利用してグローバルモデルを更新する。具体的に、各ラウンドで学習に参加するクライアントに送信されたグローバルモデルは、各クライアント20-1~20-Kが持つ固有のデータを用いて独自に学習が行われ、その学習結果であるローカルモデルが各クライアント20-1~20-Kから個別にクライアント通信装置11に送信される。そして、モデル集計装置12は、例えば、各ローカルモデルの重みパラメータの算術平均や、外れ値を除いたり中央値付近のみを用いたりした平均値などの平均化アルゴリズムによって、新しいグローバルモデルの重みパラメータを計算する。この新しく更新されたグローバルモデルは、上述したようにクライアント通信装置11によって次のラウンドでクライアント20-1~20-Kに送信される。
【0033】
クライアント学習装置20-1~20-Kは、中央サーバ10から送信されたグローバルモデルを受信し、当該グローバルモデルに対して、各クライアント20-1~20-K上の個別の学習用データを用いた学習を行う。このとき、クライアント20-1~20-Kは、上述したようにクライアント割り当て装置13にて割り当てられた学習方法による学習を行う。例えば、クライアント20-1~20-Kは、正常系のデータをそのまま使った学習である通常学習を行うか、もしくは、敵対的学習を行う。学習データとしては、例えば、スマートフォンなどで撮影した写真に含まれる顔画像データのような、プライバシーの観点から取り扱いに留意が必要なデータを用いることができる。
【0034】
クライアント20-1~20-Kは、敵対的学習を行う場合には、以下のラウンドと呼ばれる一連の処理を、予め決められた回数、もしくはモデル性能が決められた評価指標に達するまで繰り返す。まず、通常学習と同じように、学習の各ステップでクライアント20-1~20-Kは保有しているデータの中から学習に用いるデータを選択する。次に、クライアント20-1~20-Kは、選ばれたデータを用いて現在の学習進行度のモデルに対する敵対的サンプルを生成する。このように、敵対的学習では、上述した通常学習とは異なり、敵対的サンプルを生成する処理が追加される。その後、生成された敵対的サンプルを用いてグローバルモデルに対する敵対的学習を行い、モデルパラメータの更新を行う。
【0035】
なお、クライアント20-1~20-Kが実行する学習方法は、上述したように、クライアント割り当て装置13によって決定され、クライアント通信装置11を介してクライアントに通知される。例えば、図1の例では、符号20-1~20-MまでのM個のクライアントが通常学習を行い、符号20-(M+1)~20-Kまでの(K-M)個のクライアントが敵対的学習を行う場合が図示されている。そして、各クライアント20-1~20-Kは、指定された方法での学習が完了し次第、中央サーバ10のクライアント通信装置11に学習済みのローカルモデルを送信する。
【0036】
[動作]
次に、上述した連合学習システムの動作を、図5のフローチャート及び図6のシーケンス図を参照して説明する。
【0037】
まず、中央サーバ10は、入力装置15から各ラウンドで学習に参加するクライアント20-1~20-Kに通常学習と敵対的学習を割り振る比率の入力を受ける(図5のステップS1、図6のステップS11)。その後、連合学習システムは、予め決められた回数、もしくは決められた評価指標に達するまで、以下の学習プロセスを繰り返す。なお、この繰り返しプロセスをラウンドと呼ぶ。
【0038】
そして、新しいラウンドの開始時に、中央サーバ10は、学習に参加する全クライアントの中から、そのラウンドの学習に参加するクライアント20-1~20-Kを抽選する(図5のステップS2、図6のステップS12)。中央サーバ10は、これらの抽選されたクライアント20-1~20-Kにグローバルモデルを送信する(図5のステップS3、図6のステップS13)。次に、中央サーバ10は、抽選されたクライアント20-1~20-Kが、そのラウンドにおいて通常学習と敵対的学習のどちらを行うかを、入力された学習の割り当て比率に従って割り当てて、割り当てた学習方法で学習するようクライアント20-1~20-Kに通知する(図5のステップS4、図6のステップS14)。例えば、図1に示すように、符号20-1~20-MまでのM個のクライアントに通常学習が割り当てられ、符号20-(M+1)~20-Kまでの(K-M)個のクライアントに敵対的学習が割り当てられる。
【0039】
そして、学習方法の割り当ての指示を受けたクライアント20-1~20-Kは、自身が割り当てられた学習方法で個別に有するデータセットを用いて学習を行う(図5のステップS5)。このとき、通常学習が割り当てられたクライアント20-1~20-Mは、保有しているデータをそのまま使った学習であるグローバルモデルに対する通常学習を行い、モデルパラメータを更新したローカルモデルを生成する(図6のステップS15)。一方、敵対的学習が割り当てられたクライアント20-(M+1)~20-Kは、敵対的学習を行うにあたり、まず、保有しているデータから敵対的サンプルを生成する。そして、クライアント20-(M+1)~20-Kは、生成された敵対的サンプルを用いてグローバルモデルに対する敵対的学習を行い、モデルパラメータを更新したローカルモデルを生成する(図6のステップS16)。
【0040】
その後、学習が終了したクライアント20-1~20-Kは、個別にローカルモデルを中央サーバ10へ送信する(図5のステップS6、図6のステップS17,S18)。中央サーバ10は、受信した複数のクライアント20-1~20-Kからのローカルモデルを、あらかじめ決められた連合学習のアルゴリズムによって集約し、グローバルモデルの更新を行い、ラウンドを終了する(図5のステップS7、図6のステップS19,S20)。更新されたグローバルモデルは、中央サーバ10が次回ラウンドでクライアント20-1~20-Mに送信されることとなる(図5のステップS8でNo,S2,S3)。そして、中央サーバ10は、既定のラウンド数の学習が進行するか、もしくは決められた評価指標に達するまで、上述したラウンドと呼ばれる学習プロセスを繰り返し実行する(図5のステップS8でNo)。一方で、中央サーバ10は、学習の終了要件を満たした場合には(図5のステップS8でYes)、全ての学習プロセスを終了し、図示しない出力装置に学習済みのグローバルモデルを出力する。
【0041】
[効果]
以上のように、第1の実施形態における連合学習システムは、各ラウンドにおいて、通常の連合学習のようにすべてのクライアントが正常系のデータを用いて通常学習を行うわけではなく、また、全てのクライアントが敵対的学習を行うわけでもなく、ある一定の比率で一部のクライアントが通常学習を、残りのクライアントが敵対的学習を行っている。このため、正常系のデータを用いた学習により敵対的学習よりも計算資源を削減できると共に、敵対的サンプルに対する堅牢性と正常データに対する精度を担保しながら、全体として計算量を削減することができる。
【0042】
<第2の実施形態>
次に、本発明の第2の実施形態を、図7乃至図8を参照して説明する。図7は、連合学習システムの構成を説明するための図であり、図8は連合学習システムの処理動作を説明するための図である。
【0043】
[構成]
図7に示すように、本実施径形態における連合学習システムは、第1の実施形態で説明した中央サーバ10の構成に加えて、当該中央サーバ10がさらにクライアント比率調整装置14(変更部)を備えている。このクライアント比率調整装置14は、中央サーバ10が備えるCPUに連合学習プログラムが読み込まれることにより、当該CPUに構築される。なお、中央サーバ10が備えるその他の構成要素については、第1の実施形態と同様であり、図1と同一の符号を付し、詳細な説明を省略する。
【0044】
上記クライアント比率調整装置14は、各ラウンドで学習に参加するクライアント20-1~20-Kの学習方法の割り当て比率を、予め設定された基準に基づいて変更して更新する機能を有する。かかる構成が、主に第1の実施形態との相違点であり、以下、主に相違点について詳述する。
【0045】
クライアント比率調整装置14は、クライアント割り当て装置13と中央サーバ10の中部で接続されている。そして、クライアント比率調整装置14は、上述したようにラウンドと呼ぶ学習の各段階で、学習方法の割り当て比率を更新し、クライアント割り当て装置13に送信する。クライアント割り当て装置13は、クライアント比率調整装置14から送信された比率に応じて、各ラウンドで学習に参加するクライアント20-1~20-Kが行う学習方法を、クライアントごとに割り振る。なお、クライアントの学習方法の割り当て比率は、学習の開始時に学習の進行度とその時点で対応する割り当て比率との組の形でクライアント比率調整装置14が入力として受け取ってもよい。また、学習の開始時点の割り当て比率のみを入力として受け取り、クライアント比率調整装置14が学習の各時点で、グローバルモデル、あるいは複数のローカルモデルの性能や統計量を利用して、適応的に割り当て比率を調整してもよい。
【0046】
割当比率の調整の方法の例としては、例えば、予めラウンドの進行度に対して学習の割り当て比率を決めておき、実際のラウンドの進行度に従ってクライアント比率調整装置14が比率変更を行う。一例として、全部で100ラウンドの学習を行う場合に、最初から50ラウンドまでは通常学習を行うクライアントと敵対的学習を行うクライアントとの比率を8:2、その後の51ラウンドから100ラウンドまでは、通常学習を行うクライアントと敵対的学習を行うクライアントとの比率を2:5、などとしてもよく、ラウンドが進むごとに段階的に比率を変えてもよい。
【0047】
なお、クライアント比率調整装置14は、割当比率を以下のように変更してもよい。例えば、100ラウンドの学習を行う場合に、最初から50ラウンドまでは通常学習を行うクライアントと敵対的学習を行うクライアントとの比率を10:0、すなわち学習に参加する全てのクライアントが通常学習を行うようにし、それ以降は比率が0:10、すなわち学習に参加する全てのクライアントが敵対的学習を行う、という割当比率としてもよい。このように、クライアント比率調整装置14は、ラウンドや時間に応じて、クライアントに対する学習方法の割当を変更してもよい。
【0048】
また、別の例としては、学習開始前に決めておいた特定の指標に従って、クライアント比率調整装置14が学習比率を変化させてよい。例えば、グローバルモデルや各クライアントの学習結果のローカルモデルの性能を各ラウンド終了時に計算し、これらが一定の閾値を超えた場合に割当比率を変更する。この場合、モデル性能の評価指数として、例えば分類問題に関しては通常データに対する分類正答率や、敵対的サンプルに対する分類の失敗率などを挙げることができる。また、これらの性能の評価指数が各学習済みローカルモデルの間でどの程度ばらついているか、もしくは収束しているかといった、学習の進行に関する統計量に応じて、学習比率を調整する方法も考えられる。
【0049】
[動作]
次に、上述した連合学習システムの動作を、図8のフローチャートを参照して説明する。なお、第1の実施形態と同様の動作については、図5と同一の符号を付し、詳細な説明を省略する。
【0050】
本実施形態における連合学習システムは、以下の点で第1の実施形態と動作が異なる。中央サーバ10のクライアント比率調整装置14は、学習の各ラウンドにおいて、ステップS7でグローバルモデルを更新した後、予め入力された割当比率の推移に従って、もしくは適応的な調整によって、次回ラウンドで使用する通常学習と敵対的学習のクライアントへの割り当て比率を更新する(図8のステップS7’)。例えば、クライアント比率調整装置14は、ラウンドの進行度に応じて割当比率を変更したり、生成されたローカルモデルや更新されたグローバルモデルの評価結果に応じて割当比率を変更する。そして、中央サーバ10は、学習の終了要件を満たしていない場合には(図8のステップS8でNo)、クライアント割り当て装置13が、変更した割当比率でクライアントの学習方法を割り当て、クライアントに学習させることとなる。
【0051】
[効果]
以上のおように、本実施形態においては、各ラウンドで通常学習と敵対的学習を行うクライアントの比率を変化させている。例えば、学習の初期段階においては多くのクライアントが通常学習を行い、学習が進行するにつれて敵対的学習の比率を高めることで、敵対的学習を多く行うことによる計算時間を削減しつつ、敵対的学習による頑強性を担保することができる。
【0052】
ここで、上述した本発明の学習方法を用いて実際に学習を行い、生成したモデルの精度と学習時間を評価した結果を図9に示す。ここでは、公開データを用いた10クラスの画像分類問題を取り扱うこととしている。まず、「学習方法1」は、連合学習に敵対的学習を組み込み、学習の全ての時点でクライアント全てが敵対的学習を行った場合である。「学習方法2」は、予め決められた学習の総ラウンド数の30%に到達するまでは、各ラウンドで全てのクライアントは正常系のデータを用いた学習を行い、その後は各ラウンドで全てのクライアントが敵対的学習を行うという学習を行った場合である。「学習方法3」は、学習の総ラウンドの25%が経過するごとに、各ラウンドで学習に参加するクライアントのうち敵対的学習を行うクライアント数の比率が0%から70%まで段階的に増加していく学習を行った場合である。これら3つの方法で学習されたモデルの評価指標として、正常系のデータに対する分類精度、敵対的サンプルに対する分類精度、「学習方法1」を基準とした各モデルの学習が完了するまでに必要な反復計算の回数の比率、を算出した。図9に示されているように、「学習方法2」及び「学習方法3」は、「学習方法1」と同程度の正常系データ・敵対的サンプルに対する分類精度を確保しつつ、計算回数を削減することに成功している。
【0053】
<実施形態3>
次に、本発明の第3の実施形態を、図10乃至図12を参照して説明する。図10乃至図11は、実施形態3における学習装置の構成を示すブロック図であり、図12は、学習装置の動作を示すフローチャートである。なお、本実施形態では、上述した実施形態で説明した学習装置及び学習方法の構成の概略を示している。
【0054】
まず、図10を参照して、本実施形態における学習装置100のハードウェア構成を説明する。学習装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0055】
そして、学習装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、図11に示す割当部121と集計部122とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した割当部121と集計部122とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0056】
なお、図10は、学習装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。
【0057】
そして、学習装置100は、上述したようにプログラムによって構築された割当部121と集計部122との機能により、図12のフローチャートに示す学習方法を実行する。
【0058】
図12に示すように、学習装置100は、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を実行する際に、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て(ステップS101)、
複数の前記クライアント装置により学習後に生成されたモデルを集計する(ステップS102)、
という処理を実行する。
【0059】
本発明は、以上のように構成されることにより、複数のクライアント装置にそれぞれ異なる学習方法による学習を実行させる連合学習を行い、学習後のモデルを集計している。これにより、異なる学習方法による特性をモデルに反映でき、高品質なモデルを生成できると共に、連合学習による計算時間の長大化を抑制することができる。
【0060】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0061】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述した割当部121と集計部122との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0062】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における学習方法、学習装置、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習方法であって、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
学習方法。
(付記2)
付記1に記載の学習方法であって、
少なくとも1つの所定のクライアント装置に第一の学習を実行させると共に、少なくとも1つの他の前記クライアント装置に前記第一の学習とは学習方法が異なり学習データの生成処理を伴う第二の学習を実行させるよう割り当てる、
学習方法。
(付記3)
付記2に記載の学習方法であって、
前記所定のクライアント装置に前記第一の学習として通常学習を実行させると共に、前記他のクライアント装置に前記第二の学習として敵対的サンプルを生成して当該敵対的サンプルの学習処理を伴う敵対的学習を実行させるよう割り当てる、
学習方法。
(付記4)
付記1乃至3のいずれかに記載の学習方法であって、
複数の前記クライアント装置による学習の実行後に生成されたモデルを集計して新たなモデルを生成し、
さらに、前記新たなモデルに対して、複数の前記クライアント装置に、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる、
学習方法。
(付記5)
付記1乃至4のいずれかに記載の学習方法であって、
予め設定された少なくとも2つの学習方法の割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習方法。
(付記6)
付記5に記載の学習方法であって、
複数の前記クライアント装置による学習の実行後に生成されたモデルを集計した後に、前記割当比率を変更し、
さらに、変更された前記割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習方法。
(付記7)
付記6に記載の学習方法であって、
複数の前記クライアント装置に実行させた学習の進行度に基づいて、前記割当比率を変更する、
学習方法。
(付記8)
付記6又は7に記載の学習方法であって、
複数の前記クライアント装置から集計したモデルに基づいて、前記割当比率を変更する、
学習方法。
(付記9)
付記8に記載の学習方法であって、
複数の前記クライアント装置から集計したモデルの性能を評価した結果に基づいて、前記割当比率を変更する、
学習方法。
(付記10)
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を用いた学習装置であって、
複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる割当部と、
複数の前記クライアント装置により学習後に生成されたモデルを集計する集計部と、
を備えた学習装置。
(付記11)
付記10に記載の学習装置であって、
前記割当部は、少なくとも1つの所定のクライアント装置に第一の学習を実行させると共に、少なくとも1つの他の前記クライアント装置に前記第一の学習とは学習方法が異なり学習データの生成処理を伴う第二の学習を実行させるよう割り当てる、
学習装置。
(付記12)
付記11に記載の学習装置であって、
前記割当部は、前記所定のクライアント装置に前記第一の学習として通常学習を実行させると共に、前記他のクライアント装置に前記第二の学習として敵対的サンプルを生成して当該敵対的サンプルの学習処理を伴う敵対的学習を実行させるよう割り当てる、
学習装置。
(付記13)
付記10乃至12のいずれかに記載の学習装置であって、
前記集計部は、複数の前記クライアント装置による学習の実行後に生成されたモデルを集計して新たなモデルを生成し、
前記割当部は、さらに、前記新たなモデルに対して、複数の前記クライアント装置に、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当てる、
学習装置。
(付記14)
付記10乃至13のいずれかに記載の学習装置であって、
前記割当部は、予め設定された少なくとも2つの学習方法の割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習装置。
(付記15)
付記14に記載の学習装置であって、
複数の前記クライアント装置による学習の実行後に生成されたモデルを集計した後に、前記割当比率を変更する変更部を備え、
前記割当部は、さらに、変更された前記割当比率に応じて、複数の前記クライアント装置にいずれかの学習を実行させるよう割り当てる、
学習装置。
(付記16)
付記15に記載の学習装置であって、
前記変更部は、複数の前記クライアント装置に実行させた学習の進行度に基づいて、前記割当比率を変更する、
学習装置。
(付記17)
付記15又は16に記載の学習装置であって、
前記変更部は、複数の前記クライアント装置から集計したモデルに基づいて、前記割当比率を変更する、
学習装置。
(付記18)
付記17に記載の学習装置であって、
前記変更部は、複数の前記クライアント装置から集計したモデルの性能を評価した結果に基づいて、前記割当比率を変更する、
学習装置。
(付記19)
情報処理装置に、
複数のクライアント装置に同一のモデルに対する学習を実行させる連合学習を行う際に、複数の前記クライアント装置のそれぞれに対して、予め設定された少なくとも2つ以上の異なる学習方法による学習のうち、いずれかの学習を実行させるよう割り当て、
複数の前記クライアント装置により学習後に生成されたモデルを集計する、
処理を実行させるためのプログラムを記憶したコンピュータにて読み取り可能な記憶媒体。
【符号の説明】
【0063】
10 中央サーバ
11 クライアント通信装置
12 モデル集計装置
13 クライアント割り当て装置
14 クライアント比率調整装置
15 入力装置
20-1~20-K クライアント
50 中央サーバ
51 クライアント通信装置
52 モデル集計装置
60-1~60-K クライアント
100 学習装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 割当部
122 集計部
200 クライアント装置


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12