(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】学習システム、学習サーバ装置、処理装置、学習方法、およびプログラム
(51)【国際特許分類】
G06N 3/098 20230101AFI20241016BHJP
【FI】
G06N3/098
(21)【出願番号】P 2023539387
(86)(22)【出願日】2021-08-02
(86)【国際出願番号】 JP2021028592
(87)【国際公開番号】W WO2023012861
(87)【国際公開日】2023-02-09
【審査請求日】2024-01-15
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】張 一凡
(72)【発明者】
【氏名】深見 匠
【審査官】千葉 久博
(56)【参考文献】
【文献】中国特許出願公開第110263921(CN,A)
【文献】MELLOR, Joseph, et al.,"Neural Architecture Search without Training",arXiv:2006.04647v3,version v3,[online], arXiv (Cornell University),2021年06月11日,Pages 1-13,[retrieved on 2021.09.13], Retrieved from the Internet: <URL: https://arxiv.org/abs/2006.04647v3>.
【文献】IMTEAJ, Ahmed, et al.,"FedAR: Activity and Resource-Aware Federated Learning Model for Distributed Mobile Robots",Proceedings of the 2020 19th IEEE International Conference on Machine Learning and Applications (ICM,2020年12月17日,Pages 1153-1160,ISBN: 978-1-7281-8470-8, <DOI: 10.1109/ICMLA51294.2020.00185>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
学習サーバ装置とn台の処理装置iとを含む学習システムであって、
i=1,2,…,nとし、r=0,1,…,A-1とし、
前記処理装置iは、
第二連邦学習部と、
A個のニューラルネットワークrにそれぞれローカルデータd
iを当てはめたときのスコアs
irを算出するスコア算出部と、を含み、
前記学習サーバ装置は、
第一連邦学習部と、
A×n個のスコアs
irを用いて、A個のニューラルネットワークを集約し、最適なニューラルネットワークを選定する集約部と、を含み、
前記第一連邦学習部とn台の前記処理装置iの前記第二連邦学習部とは、選定した最適なニューラルネットワークを最初のグローバルモデルとして、協働して連邦学習を実施し、
前記スコアs
irは、学習の効果が高いニューラルネットワークを探索することができる指標を含む、
学習システム。
【請求項2】
請求項1の学習システムであって、
前記スコアs
irは、ニューラルネットワークrにローカルデータd
iを当てはめたときの重みの相関スコアであり、
前記集約部は、ニューラルネットワークr毎のスコアs
irのばらつきを算出し、ばらつきが所定の閾値よりも大きい場合にはローカルデータd
iのデータ数を考慮してニューラルネットワークr毎のスコアS
rを計算し、ばらつきが所定の閾値以下の場合にはローカルデータd
iのデータ数を考慮せずにニューラルネットワークr毎のスコアS
rを計算する、
学習システム。
【請求項3】
請求項1または請求項2の学習システムであって、
前記学習サーバ装置は、第一選定ネットワーク確認部を含み、
前記処理装置iは、第二選定ネットワーク確認部を含み、
前記集約部は、最適なニューラルネットワークを選定することができない場合、最適なニューラルネットワークの候補をQ個選定し、
前記第一選定ネットワーク確認部は、n台の前記処理装置iをQ個のグループに分割し、Q個の最適なニューラルネットワークの候補を最初のグローバルモデルとして、各グループに属する処理装置の第二選定ネットワーク確認部と協働して連邦学習を実施し、連邦学習後のQ個の最適なニューラルネットワークの候補の精度を比較し、より精度の高いものを最適なニューラルネットワークとする、
学習システム。
【請求項4】
請求項1から請求項3の何れかの学習システムの学習サーバ装置。
【請求項5】
請求項1から請求項3の何れかの学習システムの処理装置。
【請求項6】
学習サーバ装置とn台の処理装置iとを用いる学習方法であって、
i=1,2,…,nとし、r=0,1,…,A-1とし、
前記処理装置iのスコア算出部が、A個のニューラルネットワークrにそれぞれローカルデータd
iを当てはめたときのスコアs
irを算出するスコア算出ステップと、
前記学習サーバ装置の集約部が、A×n個のスコアs
irを用いて、A個のニューラルネットワークを集約し、最適なニューラルネットワークを選定する集約ステップと、
前記学習サーバ装置の第一連邦学習部とn台の前記処理装置iの第二連邦学習部とが、選定した最適なニューラルネットワークを最初のグローバルモデルとして、協働して連邦学習を実施する連邦学習ステップとを含み、
前記スコアs
irは、学習の効果が高いニューラルネットワークを探索することができる指標を含む、
学習方法。
【請求項7】
請求項4の学習サーバ装置、または、請求項5の処理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AutoML(Automated Machine Learning)の手法を取り入れた連邦学習(Federated Learning)に関する。
【背景技術】
【0002】
NAS(Neural Architecture Search)は、従来のニューラルネットワーク設計と違い、人間がネットワーク構造(アーキテクチャ)を定義するのではなく、アーキテクチャ自体も自動で最適化する手法で、AutoMLの基本となっている。
【0003】
FedNAS(Federated NAS)としてNASをFederated Learningに取り込んだ手法として、非特許文献1が知られている。この手法により、データの構造を見ずにFederated LearningにおけるAutoMLの実現が可能である。
【先行技術文献】
【非特許文献】
【0004】
【文献】Chaoyang He, Murali Annavaram, Salman Avestimehr, "FedNAS: Federated Deep Learning via Neural Architecture Search", 2020 Conference on Computer Vision and Pattern Recognition, 2020
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、NASの所要時間は長く、ユースケースによっては利用不可能なほど時間を要する。
【0006】
本発明は、NASのサーチ時間を大幅に短縮し、実用的な時間での機械学習を可能にする学習システム、学習サーバ装置、処理装置、学習方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一態様によれば、学習システムは、学習サーバ装置とn台の処理装置iとを含む。i=1,2,…,nとし、r=0,1,…,A-1とし、処理装置iは、第二連邦学習部と、A個のニューラルネットワークrにそれぞれローカルデータdiを当てはめたときのスコアsirを算出するスコア算出部と、を含む。学習サーバ装置は、第一連邦学習部と、A×n個のスコアを用いて、A個のニューラルネットワークを集約し、最適なニューラルネットワークを選定する集約部と、を含む。第一連邦学習部とn台の処理装置iの第二連邦学習部とは、選定した最適なニューラルネットワークを最初のグローバルモデルとして、協働して連邦学習を実施する。スコアsirは、学習の効果が高いニューラルネットワークを探索することができる指標を含む。
【発明の効果】
【0008】
本発明によれば、NASのサーチ時間を大幅に短縮し、実用的な時間での機械学習を可能にするという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】第一実施形態に係る学習システムの構成例を示す図。
【
図2】第一実施形態に係る学習サーバ装置の機能ブロック図。
【
図3】第一実施形態に係る処理装置の機能ブロック図。
【
図7】本手法を適用するコンピュータの構成例を示す図。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【0011】
<第一実施形態のポイント>
NASの研究としてニューラルネットワーク内の重み間の相関の小ささに着目し、時間がかかるトレーニングを行わずに有用なニューラルアーキテクチャを探すNAS Without traning手法が提案されている(参考文献1参照)。
【0012】
(参考文献1)Joseph Mellor、 Jack Turner, Amos Storkey, Elliot J. Crowley, "Neural Architecture Search without Training", 2021 International Conference on Machine Learning, 2021
本実施形態では、既存のFederated Learning手法とNAS Without traning手法を組み合わせ、実装での工夫を加えることで学習を高速化する。
【0013】
既存手法1:Federated Learning手法:データの学習をデータ保有者端末で実施し、学習済みモデルの収集→集約→配布→再学習させるループを回すことで複数のデータ保有者のデータに基づく制度の高い学習モデルを生成する。
【0014】
既存手法2:ランダム生成したニューラルネットワークをデータに当てはめた際にネットワーク内の重み間の相関の小さければ、学習の効果が高いと考えられる。このようなニューラルアーキテクチャの探索は既存のアーキテクチャ毎に学習を行うNASより圧倒的に短時間でサーチ可能である。
【0015】
提案手法:Federated Learningにおいて既存手法2を当てはめ、処理を最適化する方式を提案する。これによりFederated LearningにおけるNASの大幅な高速化と出力のネットワークの効率化(小さなネットワークで高い精度の学習・予測を行うこと)が可能になる。
【0016】
提案手法により、Federated Learningにおけるニューラルアーキテクチャサーチの大幅な高速化と出力のネットワークの効率化(小さなネットワークで高い精度の学習・予測を行うこと)が可能になる。
【0017】
具体的には、
(1)NASのサーチ時間を大幅に短縮し、実用的な時間での機械学習を可能にするために、NASで特に時間のかかる探索ニューラルアーキテクチャごとの学習をNAS without Traningの手法により省略する。
【0018】
(2)学習の精度を最適なニューラルアーキテクチャサーチ結果から大きく低下させないで、実用できるものにするために、NAS without Traningの出力を使い分けて精度の高い学習をできるようにする。
【0019】
より具体的には、
(A)サーバが、イニシャルフェーズでのアーキテクチャサーチ範囲を制御する(上述の(1)に対応するための処理)。
【0020】
(B)各ワーカーは、与えられたアーキテクチャでローカルデータを当てはめたときの重みの相関スコアを評価する(上述の(1)に対応するための処理)。
【0021】
(C)各ワーカーは、アーキテクチャごとの相関スコアをサーバへ送信する(上述の(1)に対応するための処理)。
【0022】
(D)サーバは、相関スコアを元に集約し、最適なアーキテクチャを選定する(上述の(2)に対応するための処理)。
【0023】
(E)各ワーカーは、最適なアーキテクチャを元に学習を実施する(上述の(1)に対応するための処理)。
【0024】
<本実施形態の特徴>
NAS without training をFederated Learningのイニシャルフェーズとして実行することで、NASの演算時間を大幅に削減する。
【0025】
NAS without training のスコア評価は学習1エポック程度の負荷で演算できる。
【0026】
シンプルなNASでは多数のネットワークに対して学習しながらネットワークの絞り込みを行うため、例えば1000種類のネットワークから最適なネットワークを探す場合は最大1000回の学習を行うが、これをスコア評価時間を入れても2/1000以下の学習時間に短縮できる。
【0027】
NAS without trainingで学習精度を高められる相関の小さいニューラルネットワークは一般的には複数見つかることがわかっている。これらのニューラルネットワークから集約において構造が小さいものを選ぶことでFederated Learningに対応した性能チューニング(高速化)を実現する。
【0028】
一般的には学習パラメータを削減し、学習時間を短縮できる。
【0029】
モデルの転送をネットワーク越しに行うFederated Learningにおいては、通信時間や、集約サーバでの集約演算量も削減できる。
【0030】
同様のデータをワーカーが均一に保持するIID(Independent and Identically Distributed)以外にも、ワーカー毎にデータの量や種類に偏りがあるNon-IIDがFederated Learningでは発生する。データを参照して相関スコアを算出するNAS without trainingがそのまま使えない場合もある。そこで、選定ニューラルネットワークの確認フェーズを追加することでNon-IIDデータに対してNAS without training を利用可能にした。
【0031】
その際に「選定ネットワーク確認フェーズ」で選定されたニューラルネットワークの検証を行うことでNon-IIDを想定したニューラルアーキテクチャ選定を可能にする。
【0032】
以下、上述の処理を実現する学習システムについて説明する。
【0033】
<第一実施形態に係る学習システム>
図1は、第一実施形態に係る学習システムの構成例を示す。学習システムは、学習サーバ装置100とn台の処理装置200-iとを含み、学習サーバ装置100と処理装置200-iとは通信回線を介して通信可能とする。ただし、i=1,2,…,nである。学習サーバ装置100は前述のサーバに対応し、処理装置200-iは前述のワーカーに対応する。
【0034】
図2および
図3はそれぞれ第一実施形態に係る学習サーバ装置100および処理装置200-iの機能ブロック図を示す。
【0035】
学習サーバ装置100は、送信部110、受信部120、探索範囲決定部130、集約部140、選定ネットワーク確認部150、連邦学習部160、ニューラルネットワーク記憶部170、グローバルモデル記憶部180およびローカルモデル記憶部190を含む。
【0036】
処理装置200-iは、送信部210、受信部220、探索対象一覧作成部230、スコア算出部240、選定ネットワーク確認部250、連邦学習部260、ニューラルネットワーク記憶部270、ローカルデータ記憶部275、グローバルモデル記憶部280およびローカルモデル記憶部290を含む。
【0037】
学習サーバ装置100および処理装置200-iは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。学習サーバ装置100および処理装置200-iは、例えば、中央演算処理装置の制御のもとで各処理を実行する。学習サーバ装置100および処理装置200-iに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。学習サーバ装置100および処理装置200-iの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。学習サーバ装置100および処理装置200-iが備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。ただし、各記憶部は、必ずしも学習サーバ装置100および処理装置200-iがその内部に備える必要はなく、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置により構成し、学習サーバ装置100および処理装置200-iの外部に備える構成としてもよい。
以下、学習システムの処理シーケンスについて説明する。
【0038】
<処理シーケンス>
図4は、学習システムの処理シーケンスを示す。
【0039】
<探索範囲決定処理S130>
学習サーバ装置100の探索範囲決定部130は、NAS探索範囲を決定し(S130)、送信部110を介してNAS探索範囲を示す情報(以下、探索範囲情報Pともいう)をn台の処理装置200-iにそれぞれ送信する。なお、探索範囲情報Pは、n台の処理装置200-iに共通する情報である。
【0040】
例えば、ニューラルネットワーク記憶部170には、K個のニューラルネットワークとそのインデックスkとが記憶されている。なお、k=1,2,…,Kである。K個のニューラルネットワークは、例えば、参考文献1と同様にランダム生成したものである。
【0041】
探索範囲決定部130は、ニューラルネットワーク記憶部170に記憶されているK個のニューラルネットワークうちのA個のニューラルネットワークをNAS探索範囲として決定する。K、Aは2以上の整数の何れかであり、K≧Aを満たす。例えば、探索範囲決定部130は、始点を示す乱数シードと、範囲を示すAとの組み合わせを探索範囲情報Pとして、決定する。例えば、K=10000とし、A=1000とする。
【0042】
ニューラルネットワーク記憶部270には、ニューラルネットワーク記憶部170に記憶されているものと同じ情報が記憶されている。つまり、ニューラルネットワーク記憶部270には、K個のニューラルネットワークとそのインデックスkとが記憶されている。
【0043】
<探索対象一覧作成処理S230>
処理装置200-iの探索対象一覧作成部230は、受信部220を介して、探索範囲情報Pを受け取り、探索範囲情報Pに基づき、ニューラルネットワーク記憶部270に記憶されている情報からNAS探索対象ネットワーク一覧を作成する(S230)。例えば、探索対象一覧作成部230は、乱数シードをsとすると、k=s,s+1,…,s+A-1に対応するA個のニューラルネットワークの一覧を作成する。
【0044】
<スコア算出処理S240>
処理装置200-iのスコア算出部240は、ローカルデータ記憶部275に記憶されているローカルデータdiを取り出す。なお、ローカルデータdiは、処理装置200-i毎に異なるデータであり、ニューラルネットワークの入力となるデータである。スコア算出部240は、NAS探索対象ネットワーク一覧に含まれるA個のニューラルネットワークにそれぞれローカルデータdiを当てはめたときの重みの相関スコアsirを算出する(S240)。なお、従来技術同様、重みの相関スコアが小さければ、学習の効果が高いと考えられる。iは処理装置を示すインデックスであり、rはニューラルネットワークを示すインデックスであり、r=0,1,…,A-1である。よって、相関スコアsirは、処理装置200-iにおけるニューラルネットワークrの重みの相関スコアを示す。スコア算出部240は、送信部210を介して、ニューラルネットワークのインデックスrとその相関スコアsirの組み合わせと、ローカルデータdiのデータ数Diとを学習サーバ装置100に送信する。
【0045】
<集約処理S140>
学習サーバ装置100の集約部140は、受信部120を介して、1台の処理装置200-iからA個のインデックスrと相関スコアsirの組み合わせと、1個のデータ数Diとを受け取る。n台の処理装置200-iからデータを受け取るため、合計、A×n個のインデックスrと相関スコアsirの組み合わせと、n個のデータ数Diとを受け取る。
【0046】
集約部140は、A×n個の相関スコアsirとn個のデータ数Diとを用いて、A個のニューラルネットワークを集約し(S140)、最適なニューラルネットワークを選定する。ここでいう最適なニューラルネットワークとは、精度の高い学習を可能とするニューラルネットワークである。
【0047】
図5および
図6は、集約部140の処理フローの例を示す。
【0048】
集約部140は、ニューラルネットワーク毎に各処理装置200-iの相関スコアsirのばらつきを計算し(S140A)、ばらつきが所定の閾値よりも大きいか否かを判定する(S140B)。
【0049】
ばらつきが所定の閾値以下の場合、集約部140は、汎用的なネットワーク学習が可能であると判定し、ユーザが指定する式により、ニューラルネットワーク毎のスコアを計算する(S140C)。式の例としてすべての端末でのスコア合計を用いる場合は次式となる。
【数1】
ばらつきが所定の閾値よりも大きい場合、集約部140は、non-IIDデータの学習で差異が生じる可能性が高いので、データ数D
iによる影響を考慮して、集約部140は、ユーザが指定するデータ数の影響を考慮した式により、ニューラルネットワーク毎のスコアを計算する(S140E)。例として下記のような式を想定する。
【数2】
ただし、eは自然対数の底である。
ここで式(1)、式(2)の双方が出現する場合はユーザ定義に従い値の大きさを調整する。
【0050】
上述の処理S140A~S140Eを全てのニューラルネットワークに対して行う(S140F)。
【0051】
集約部140は、A個のS
rからユーザ設定に従い最適なニューラルネットワークの選定可否を判定する(S140G)。ユーザ設定としてスコアの類似度=差の大きさから選定可否を判定する場合の処理では,A個のS
rうち最小のスコアS
minから小さい順に予め設定した比較対象P個のスコアS
min,S
min+1,…,S
min+P取り出し出し、最小のスコアS
minとの差から
【数3】
を計算する方法がある。類似度が低い(=スコア差difがユーザ指定値以上の)場合は、うまくスコア比較ができると想定してスコアS
minのネットワークを最適なニューラルネットワークとして選定し(S140H)、類似度が高い(=スコア差difがユーザ指定値以上の)場合はスコア比較が困難と想定する。スコア比較が困難な場合、最適なニューラルネットワークとして選定に追加条件を足して選定を行うか、最適なしと判断して以下の候補選定処理へ継続させるかがユーザ設定に依存して処理される。追加条件の例として、学習時間が短いサイズの小さいニューラルネットワーク選定するため、S
min,S
min+1,…,S
min+P からネットワークサイズが最小のニューラルネットワークを最適なニューラルネットワークとして選定する場合や、学習時間は長いが表現能力の高いネットワークサイズが最大のニューラルネットワークを最適なニューラルネットワークとして選定する場合が考えられる。
【0052】
(候補選定処理)
集約部140において最適なニューラルネットワークを選定することができない場合、集約部140は、最適なニューラルネットワークの候補をQ個選定し、選定したQ個の候補のインデックスを選定ネットワーク確認部150に出力する。Qは2以上の整数の何れかであり、Q<A、Q<nを満たす。なお、最適なニューラルネットワークを選定することができない場合とは、例えば、(A)データ種別の偏りが想定される場合、(B)処理装置毎の相関スコアsirのばらつきが大きく、かつ、分類数が大きく処理装置200-i内のデータ数Diだけでの絞り込みが困難な場合、(C)non-IIDでデータ数の考慮が適切かわからない場合、(D)S140Gで求めた差分が所定の閾値よりも小さく、かつ、ネットワークサイズが最小のニューラルネットワークが2つ以上存在する場合等である。例えば、集約部140は、S140Gで求めた差分が所定の閾値よりも小さく、かつ、ネットワークサイズが所定の閾値よりも小さいニューラルネットワークをQ個、最適なニューラルネットワークの候補として選定する。
【0053】
<選定ネットワーク確認処理S150>
学習サーバ装置100の選定ネットワーク確認部150における選定ネットワーク確認処理S150は、最適なニューラルネットワークを選定することができない場合にのみ実行されるため、
図4中、破線で示す。学習サーバ装置100の選定ネットワーク確認部150は、n台の処理装置200-iをQ個のグループに分割する。各グループには、(n/Q)台の処理装置200-iが属する。選定ネットワーク確認部150は、Q個の候補のインデックスを受け取り、送信部110を介して、Q個の候補のインデックスをそれぞれQ個のグループに属する処理装置200-iに送信する。選定ネットワーク確認部150は、ニューラルネットワーク記憶部170からQ個の候補のインデックスに対応するQ個のニューラルネットワークを取り出し、これをそれぞれ最初のグローバルモデルとして、Q個のグループに属する処理装置200-iの選定ネットワーク確認部250と協働して短期の通常の連邦学習を実施する。通常の連邦学習としては、例えば、非特許文献1の連邦学習等が考えられるが、他の連邦学習方法であってもよい。選定ネットワーク確認部150と1つのグループに属する(n/Q)台の処理装置200-iの選定ネットワーク確認部250とが協働して1つのニューラルネットワークを最初のグローバルモデルとして連邦学習を実施し、合計Q個のニューラルネットワークを最初のグローバルモデルとして連邦学習を実施する。なお、グローバルモデル記憶部180には連邦学習で用いる選定または更新したグローバルモデルが記憶され、ローカルモデル記憶部190には連邦学習で用いる、各処理装置200-iで更新されたn個のローカルモデルが記憶される。
【0054】
処理装置200-iの選定ネットワーク確認部250は、受信部220を介して、候補のニューラルネットワークのインデックスを受け取り、ニューラルネットワーク記憶部270からインデックスに対応するニューラルネットワークを取り出し、これをグローバルモデルとして、学習サーバ装置100の選定ネットワーク確認部150と協働して短期の通常の連邦学習を実施する。なお、グローバルモデル記憶部280には連邦学習で用いる、学習サーバ装置100の選定ネットワーク確認部150で選定または更新されたグローバルモデルが記憶され、ローカルモデル記憶部290には連邦学習で用いる、当該処理装置200-iで更新された1個のローカルモデルが記憶される。
【0055】
学習サーバ装置100の選定ネットワーク確認部150は、短期の通常の連邦学習後のQ個の最適なニューラルネットワークの候補の精度を比較し、より精度の高いものを最適なニューラルネットワークとし(S150)、そのインデックスを集約部140に出力する。選定ネットワーク確認処理S150を設けることで、最適なニューラルネットワークを選定できる可能性が高まる。なお、最適なニューラルネットワークに対応する(n/Q)台の処理装置200-iは選定ネットワーク確認処理S150でも学習が正しくできるので、学習済みモデルは流用可能ではある。ただし、残りの(n-n/Q)台の選定ネットワーク確認処理S160の学習結果は破棄する。
【0056】
学習サーバ装置100の集約部140は、最適なニューラルネットワークのインデックスを連邦学習部160に出力する。
【0057】
<連邦学習処理S160>
連邦学習部160は、最適なニューラルネットワークのインデックスを受け取り、このインデックスに対応するニューラルネットワークを最初のグローバルモデルとして、処理装置200-iの連邦学習部260と協働して通常の連邦学習を実施する(S160)。
【0058】
<効果>
以上の構成により、NASのサーチ時間を大幅に短縮し、実用的な時間での機械学習を可能にすることができる。また、学習の精度を最適なニューラルアーキテクチャサーチ結果から大きく低下させないで、実用できるものにする。
<変形例1>
第一実施形態では、学習の効果が高いニューラルネットワークを探索するために相関スコアsirを用いているが、学習の効果が高いニューラルネットワークを探索することができる指標であれば他の指標を用いてもよい。
【0059】
<変形例2>
第一実施形態では、処理S140Eにおいて、データ数Diによる影響を考慮して、スコアを計算するが、以下の方法(1)~(6)などユーザが定義する集計演算により、スコアを計算してもよい。
【0060】
(1)データ毎の平均スコアを考慮して、次式によりスコアS
rを計算する。
【数4】
(2)データ毎の中央スコアを考慮して、次式によりスコアS
rを計算する。
【数5】
ただし、median()は中央値を返す関数である。
【0061】
(3)全体の平均スコアを考慮して、次式によりスコアS
rを計算する。
【数6】
(4)データ毎の最頻スコアを考慮して、次式によりスコアS
rを計算する。
【数7】
ただし、mode()は最頻値を返す関数である。
【0062】
(5)全体の最頻スコアを考慮して、次式によりスコアS
rを計算する。
【数8】
(6)上述の(1)~(5)のスコアS
rと第一実施形態の式(2)で求めたスコアS
rの少なくとも2つ以上を用いて、最終的なスコアS
rを計算する。例えば次式によりスコアを計算する。
【数9】
なお、上記演算はたかだかA*n個の(Float)数字に対する統計であり学習サーバ装置100での演算負荷は高くない。
【0063】
処理S140Eでは、上述のスコアSrに限らず、学習の効果が高いニューラルネットワークを探索することができるスコアであれば他のスコアを計算してもよい。
【0064】
<変形例3>
第一実施形態では、ばらつきと所定の閾値との大小関係に基づき、ニューラルネットワーク毎にスコアSrの算出方法を変えているが、全てのニューラルネットワークに対して、式(1)と式(2)とでスコアSrを算出してもよい。つまり、式(1)でA個のスコアSrを得、式(2)でA個のスコアSrを得る。その上で、第一実施形態と同様に、ばらつきと所定の閾値との大小関係を利用して、差分の計算S140Gを行う。例えば、ばらつきが所定の閾値よりも大きい場合には式(1)で得たスコアSrを用い、ばらつきが所定の閾値以下の場合には式(2)で得たスコアSrを用いて差分を計算する。
【0065】
<変形例4>
第一実施形態では、集約部140において、ニューラルネットワーク毎に各処理装置200-iの相関スコアsirのばらつきを計算し(S140A)、ばらつきが所定の閾値よりも大きいか否かを判定している(S140B)が、(i)予めばらつきが小さいことが分かっている場合には、S140A、S140Bを省略し、式(1)でスコアSrを計算してもよい。また、(ii)予めばらつきが大きいことが分かっている場合には、S140A、S140Bを省略し、式(2)でスコアSrを計算してもよい。また、(iii)ばらつきを考慮しない場合には、S140A、S140Bを省略し、式(1)でスコアSrを計算してもよい。
【0066】
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0067】
<プログラム及び記録媒体>
上述の各種の処理は、
図7に示すコンピュータの記憶部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
【0068】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0069】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0070】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0071】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。