(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023182380
(43)【公開日】2023-12-26
(54)【発明の名称】機械学習方法、情報処理システム、情報処理装置、サーバーおよびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231219BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022095950
(22)【出願日】2022-06-14
(71)【出願人】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(74)【代理人】
【識別番号】100170069
【弁理士】
【氏名又は名称】大原 一樹
(74)【代理人】
【識別番号】100128635
【弁理士】
【氏名又は名称】松村 潔
(74)【代理人】
【識別番号】100140992
【弁理士】
【氏名又は名称】松浦 憲政
(72)【発明者】
【氏名】佐藤 政寛
(72)【発明者】
【氏名】谷口 友紀
(72)【発明者】
【氏名】大熊 智子
(57)【要約】
【課題】情報推薦に用いる予測モデルを学習する際に複数の施設のデータを施設外において共有できない場合であっても、未知の他施設に対して性能が高いモデルを生成することができる機械学習方法、情報処理システム、情報処理装置、サーバーおよびプログラムを提供する。
【解決手段】1つ以上のプロセッサを含む情報処理システムが、複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習し、施設ごとに学習したローカルモデルのパラメータのモデル間の差を評価し、評価の結果に基づき、モデル間の差が小さくなるようにローカルモデルの学習を補正する。
【選択図】
図15
【特許請求の範囲】
【請求項1】
1つ以上のプロセッサを含む情報処理システムが実行する機械学習方法であって、
前記情報処理システムが、
複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて前記施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習することと、
前記施設ごとに学習した前記ローカルモデルのパラメータのモデル間の差を評価することと、
前記評価の結果に基づき、前記モデル間の差が小さくなるように前記ローカルモデルの学習を補正することと、
を含む、機械学習方法。
【請求項2】
前記ローカルモデルの学習を補正することは、前記モデル間の差が小さくなるように前記パラメータを変更することを含む、
請求項1に記載の機械学習方法。
【請求項3】
前記ローカルモデルは交差特徴量を含み、
前記情報処理システムが、前記ローカルモデルの学習を補正する際に、前記交差特徴量の重みである前記パラメータの前記モデル間の差が小さくなるように前記パラメータを変更することを含む、
請求項2に記載の機械学習方法。
【請求項4】
前記ローカルモデルの学習を補正することは、前記ローカルモデルに含まれる複数の特徴量のうち前記パラメータの前記モデル間の差が相対的に小さい特徴量を選択し、前記パラメータの前記モデル間の差が相対的に大きい特徴量を前記ローカルモデルから削除することにより、前記ローカルモデルを変更することを含む、
請求項1に記載の機械学習方法。
【請求項5】
前記ローカルモデルは交差特徴量を含み、
前記情報処理システムが、前記ローカルモデルの学習を補正する際に、前記交差特徴量を含む前記複数の特徴量のうち前記交差特徴量の重みである前記パラメータの前記モデル間の差が相対的に小さい交差特徴量を選択し、前記パラメータの前記モデル間の差が相対的に大きい交差特徴量を削除することを含む、
請求項4に記載の機械学習方法。
【請求項6】
前記交差特徴量の重みは、各特徴量のエンベディング表現の関係によって表現される、請求項3または5に記載の機械学習方法。
【請求項7】
前記各特徴量のエンベディング表現の関係は、前記各特徴量を示すベクトルの内積である、請求項6に記載の機械学習方法。
【請求項8】
前記ローカルモデルは、ユーザー間およびアイテム間の少なくとも一方の関係性を基にした近傍ベースの協調フィルタリングを行うモデルであり、前記ローカルモデルの前記パラメータは、前記ユーザー間および前記アイテム間の少なくとも一方の前記関係性を示す相関係数を含む、
請求項1から5のいずれか一項に記載の機械学習方法。
【請求項9】
前記情報処理システムが、前記ローカルモデルの学習を補正する際に、前記モデル間で前記相関係数の差を小さくするように前記相関係数を変更することを含む、
請求項8に記載の機械学習方法。
【請求項10】
前記情報処理システムが、前記ローカルモデルの学習を補正する際に、前記ローカルモデルに含まれる複数の前記関係性のうち前記モデル間において前記相関係数の差が相対的に小さい関係性を選択し、前記モデル間において前記相関係数の差が相対的に大きい関係性を前記ローカルモデルから削除することを含む、
請求項8に記載の機械学習方法。
【請求項11】
前記情報処理システムは、
前記複数の施設のそれぞれに対応する前記ローカルモデルの学習を実行する複数の情報処理装置と、
電気通信回線を介して前記複数の情報処理装置のそれぞれと通信可能に接続されるサーバーと、を含み、
前記情報処理装置と前記サーバーとの間で前記施設ごとの前記データを通信することなく、前記ローカルモデルの前記パラメータおよび前記パラメータの更新量のうち少なくとも一方を通信する連合学習によって前記学習が行われる、
請求項1から5のいずれか一項に記載の機械学習方法。
【請求項12】
前記サーバーが、
前記複数の情報処理装置のそれぞれから前記ローカルモデルの前記パラメータを取得し、
前記ローカルモデルの前記パラメータの前記モデル間の差を評価し、
前記複数の情報処理装置のそれぞれに対して前記学習を補正する指示を行い、
前記複数の情報処理装置のそれぞれが、
前記指示に基づき前記ローカルモデルの前記パラメータの変更および特徴量の選択のうち少なくとも一方を行う、
請求項11に記載の機械学習方法。
【請求項13】
前記ローカルモデルは、ユーザー間およびアイテム間の少なくとも一方の関係性を基にした近傍ベースの協調フィルタリングを行うモデルであり、前記ローカルモデルの前記パラメータは、前記ユーザー間および前記アイテム間の少なくとも一方の前記関係性を示す相関係数を含む、
請求項11に記載の機械学習方法。
【請求項14】
1つ以上のプロセッサを含む情報処理システムであって、
前記1つ以上の前記プロセッサが、
複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて前記施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習し、
前記施設ごとに学習した前記ローカルモデルのパラメータのモデル間の差を評価し、
前記評価の結果に基づき、前記モデル間の差が小さくなるように前記ローカルモデルの学習を補正する、
情報処理システム。
【請求項15】
前記複数の施設のそれぞれに対応する前記ローカルモデルの学習を実行する複数の情報処理装置と、
電気通信回線を介して前記複数の情報処理装置のそれぞれと通信可能に接続されるサーバーと、を含み、
前記複数の情報処理装置と前記サーバーとの間で前記施設ごとの前記データを通信することなく、前記ローカルモデルの前記パラメータおよび前記パラメータの更新量のうち少なくとも一方を通信する連合学習によって前記学習が行われる、
請求項14に記載の情報処理システム。
【請求項16】
1つ以上の第1プロセッサと1つ以上の第1記憶装置とを含む情報処理装置であって、
前記1つ以上の前記第1プロセッサが、
第1施設において収集された第1データを用いて前記第1施設におけるユーザーのアイテムに対する行動を予測する第1ローカルモデルを学習し、
前記学習した前記第1ローカルモデルのパラメータをサーバーに送信し、
前記サーバーから、前記第1施設とは異なる第2施設において収集された第2データを用いて学習された第2ローカルモデルのパラメータとのモデル間の差が小さくなるように前記第1ローカルモデルの学習を補正する指示を受信し、
前記受信した前記指示に基づき前記第1ローカルモデルを更新する、
情報処理装置。
【請求項17】
1つ以上の第2プロセッサと1つ以上の第2記憶装置とを含むサーバーであって、
前記1つ以上の前記第2プロセッサが、
複数の施設のそれぞれに対応する複数の情報処理装置のそれぞれにおいて学習されたローカルモデルのパラメータを取得し、
前記施設ごとの前記ローカルモデルの前記パラメータのモデル間の差を評価し、
前記評価の結果に基づき、前記複数の情報処理装置のそれぞれに対して前記モデル間の差が小さくなるように前記ローカルモデルの学習を補正する指示を送信する、
サーバー。
【請求項18】
コンピュータに、
複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて前記施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習する機能と、
前記施設ごとに学習した前記ローカルモデルのパラメータのモデル間の差を評価する機能と、
前記評価の結果に基づき、前記モデル間の差が小さくなるように前記ローカルモデルの学習を補正する機能と、
を実現させるプログラム。
【請求項19】
コンピュータに、
第1施設において収集された第1データを用いて前記第1施設におけるユーザーのアイテムに対する行動を予測する第1ローカルモデルを学習する機能と、
前記学習した前記第1ローカルモデルのパラメータをサーバーに送信する機能と、
前記サーバーから、前記第1施設とは異なる第2施設において収集された第2データを用いて学習された第2ローカルモデルのパラメータとのモデル間の差が小さくなるように前記第1ローカルモデルの学習を補正する指示を受信する機能と、
前記受信した前記指示に基づき前記第1ローカルモデルを更新する機能と、
を実現させるプログラム。
【請求項20】
コンピュータに、
複数の施設のそれぞれに対応する複数の情報処理装置のそれぞれにおいて学習されたローカルモデルのパラメータを取得する機能と、
前記施設ごとの前記ローカルモデルの前記パラメータのモデル間の差を評価する機能と、
前記評価の結果に基づき、前記複数の情報処理装置のそれぞれに対して前記モデル間の差が小さくなるように前記ローカルモデルの学習を補正する指示を送信する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習方法、情報処理システム、情報処理装置、サーバーおよびプログラムに係り、特に、ドメインシフトにロバストな推薦を行う情報推薦技術および機械学習技術に関する。
【背景技術】
【0002】
EC(Electronic Commerce)サイトあるいは文書情報管理システムなど、様々なアイテムをユーザー(利用者)に提供するシステムにおいて、多くのアイテムの中からユーザーが自分に合ったベストなものを選ぶことは、時間的にも認知能力的にも難しい。ECサイトにおけるアイテムは、ECサイトで扱っている商品であり、文書情報管理システムにおけるアイテムは、システムに格納されている文書情報である。
【0003】
ユーザーによるアイテムの選択を補助するために、多くのアイテムの中から選択候補を提示する技術である情報推薦技術が研究されている。一般に、推薦システムをある施設等に導入する場合、導入先の施設等で収集したデータを基に推薦システムのモデルを学習する。しかし、学習に用いたデータが収集された施設と異なる施設に同じ推薦システムを導入すると、モデルの予測精度が低下してしまう問題がある。未知の他施設では機械学習モデルがうまく機能しない問題はドメインシフトと呼ばれ、ドメインシフトに対するロバスト性向上の研究であるドメイン汎化(Domain Generalization)に関して、近年、画像認識分野を中心に研究が活発化している。しかし、情報推薦技術においてドメイン汎化はまだ研究事例がほとんどない。
【0004】
機械学習の分野において、学習に用いるデータの秘匿性などの理由から、施設外にデータを持ち出すことができないことが多い。そのような場合に、データを各施設に留めたまま、人工知能(Artificial Intelligence:AI)のモデルのパラメータなどの受け渡しのみでモデルを学習する連合学習(Federated learning)の技術が研究されている。情報推薦の分野においても連合学習についての研究が行われている。例えば、非特許文献1では、グローバルモデルを訓練してから、ローカルモデルを訓練するアルゴリズムが提案されている。
【0005】
また、特許文献1には、病院の患者データのようにプライバシ等の観点から利用できるデータに制約がある場合に、ローカルプライベートデータの代わりに、各施設で疑似的なデータであるプロキシデータを生成してグローバルサーバーに共有する構成が記載されている。特許文献2に記載の技術によれば、秘匿性の高い実データ(プライベートデータ)を共有することなく、プロキシデータを用いてグローバルモデルを学習できる。
【0006】
特許文献2には、複数施設のデータを用いて特徴量選択を行う構成が記載されている。特許文献2に記載の技術は、推薦システムを想定しており、施設間で共通のユーザーサンプルのデータを基に勾配ブースティング回帰木(eXtreme Gradient Boosting:XGBoost)などのツリーモデルの特徴量重要度を用いている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特表2019-526851号公報
【特許文献2】特開2021-121922号公報
【非特許文献】
【0008】
【非特許文献1】A. Jalalirad, Marco Scavuzzo, Catalin Capota, Michael R. Sprague,“A Simple and Efficient Federated Recommender System”(BDCAT 2019)
【非特許文献2】Quande Liu, Cheng Chen, Jing Qin, Qi Dou, Pheng-Ann Heng,“FedDG: Federated Domain Generalization on Medical Image Segmentation via Episodic Learning in Continuous Frequency Space"(CVPR 2021)
【非特許文献3】Ivan Cantador, Ignacio Fenandez-Tobias, Shlomo Bwrkovsky, Paolo Cremonesi, Chapter 27:"Cross-domain Recommender System"(2015 Springer)
【発明の概要】
【発明が解決しようとする課題】
【0009】
非特許文献1および特許文献1-2に記載の手法はいずれも、学習に用いたデータが収集された施設(学習した施設)でのモデルの予測性能向上をめざしており、学習していない未知の施設に対するモデルの性能を担保できない。従来の連合学習の手法において、未知の他のドメインに対するロバスト性が担保できないという課題、すなわち、未知のドメインではモデルの性能が低下する、という課題については非特許文献2に示されている。
【0010】
非特許文献2は、医療画像セグメンテーションを行うモデルのドメイン汎化に関する内容であり、連合学習の上記課題に対し、画像信号を周波数空間に変換し、さらに振幅と位相とに分解する。振幅は画像スタイルなどの低次情報に対応し、位相は画像の意味に関連する高次情報に対応すると仮定して、振幅の分布をローカルモデル間で交換しながら学習することによりドメインシフトにロバストな連合学習を実現している。
【0011】
しかし、非特許文献2に記載の手法は画像データ固有の仮定に基づいており、情報推薦技術には適用できない。
【0012】
本開示はこのような事情に鑑みてなされたものであり、情報推薦に用いる予測モデルを学習する際に複数の施設のデータを施設外において共有できない場合であっても、未知の他施設に対して性能が高いモデルを生成することができる機械学習方法、情報処理システム、情報処理装置、サーバーおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本開示の第1態様に係る機械学習方法は、1つ以上のプロセッサを含む情報処理システムが実行する機械学習方法であって、情報処理システムが、複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習することと、施設ごとに学習したローカルモデルのパラメータのモデル間の差を評価することと、評価の結果に基づき、モデル間の差が小さくなるようにローカルモデルの学習を補正することと、を含む。
【0014】
第1態様によれば、複数の施設のデータを集約することなく、施設ごとにそれぞれのデータを用いて施設単位でローカルモデルの学習を行うことができる。各施設において学習されたローカルモデルのパラメータの受け渡しにより、複数の施設のローカルモデルの情報を集約し、各ローカルモデルのパラメータのモデル間の差が評価される。そして、モデル間の差が小さくなるように、各ローカルモデルについての学習が補正される。このような処理の繰り返しにより、各ローカルモデルのモデル間の差は次第に小さくなっていく。モデル間の差が許容可能なレベルに小さくなるまで、各ローカルモデルの学習と補正とを繰り返すことで、施設によらない普遍的な関係性が学習され、施設の違いに対してロバストな性能を持つモデルが得られる。第1態様に係る機械学習方法は、情報推薦に適用されるモデルを生産する方法(製造方法)として理解することができる。
【0015】
モデルは、プロセッサに予測の機能を実現させるプログラムの概念を含む。情報処理システムは、例えば、複数のコンピュータを含むコンピュータシステムであってもよい。第1態様に係る機械学習方法は、分散コンピューティングによって実施されてもよい。施設は、例えば、企業、病院、店舗、行政機関、あるいはECサイトなど、複数のユーザーを含んで構成される集団の概念を含む。複数の施設のそれぞれは互いに異なるドメインとなり得る。
【0016】
「ローカルモデルの学習を補正する」というの場合の「補正」は、学習したローカルモデルに対して変更を加えることの意味を含む。「変更」は「修正」の概念を含む。補正は、ローカルモデルのパラメータを変更することであってもよいし、ローカルモデルにおける特徴量を取捨選択することであってもよく、これらの組み合わせであってもよい。
【0017】
本開示の第2態様に係る機械学習方法は、第1態様の機械学習方法において、ローカルモデルの学習を補正することは、モデル間の差が小さくなるようにパラメータを変更することを含む構成であってもよい。
【0018】
本開示の第3態様に係る機械学習方法は、第2態様の機械学習方法において、ローカルモデルは交差特徴量を含み、情報処理システムが、ローカルモデルの学習を補正する際に、交差特徴量の重みであるパラメータのモデル間の差が小さくなるようにパラメータを変更することを含む構成であってもよい。
【0019】
本開示の第4態様に係る機械学習方法は、第1態様から第3態様のいずれか1つの態様に係る機械学習方法において、ローカルモデルの学習を補正することは、ローカルモデルに含まれる複数の特徴量のうちパラメータのモデル間の差が相対的に小さい特徴量を選択し、パラメータのモデル間の差が相対的に大きい特徴量をローカルモデルから削除することにより、ローカルモデルを変更することを含む構成であってもよい。
【0020】
情報処理システムは、例えば、パラメータのモデル間の差が基準値よりも大きい特徴量をローカルモデルから削除してもよいし、パラメータのモデル間の差が最も大きい特徴量あるいは差の大きい順に上位のいくつかの特徴量をローカルモデルから削除してもよい。
【0021】
本開示の第5態様に係る機械学習方法は、第4態様に係る機械学習方法において、ローカルモデルは交差特徴量を含み、情報処理システムが、ローカルモデルの学習を補正する際に、交差特徴量を含む複数の特徴量のうち交差特徴量の重みであるパラメータのモデル間の差が相対的に小さい交差特徴量を選択し、パラメータのモデル間の差が相対的に大きい交差特徴量を削除することを含む構成であってもよい。交差特徴量は特徴量の一形態である。
【0022】
本開示の第6態様に係る機械学習方法は、第3態様または第5態様に係る機械学習方法において、交差特徴量の重みは、各特徴量のエンベディング表現の関係によって表現される構成であってもよい。
【0023】
本開示の第7態様に係る機械学習方法は、第6態様に係る機械学習方法において、各特徴量のエンベディング表現の関係は、各特徴量を示すベクトルの内積であってもよい。
【0024】
本開示の第8態様に係る機械学習方法は、第1態様から第7態様のいずれか1つの態様に係る機械学習方法において、ローカルモデルは、ユーザー間およびアイテム間の少なくとも一方の関係性を基にした近傍ベースの協調フィルタリングを行うモデルであり、ローカルモデルのパラメータは、ユーザー間およびアイテム間の少なくとも一方の関係性を示す相関係数を含む構成であってもよい。
【0025】
本開示の第9態様に係る機械学習方法は、第8態様に係る機械学習方法において、情報処理システムが、ローカルモデルの学習を補正する際に、モデル間で相関係数の差を小さくするように相関係数を変更することを含む構成であってもよい。
【0026】
本開示の第10態様に係る機械学習方法は、第8態様または第9態様に係る機械学習方法において、情報処理システムが、ローカルモデルの学習を補正する際に、ローカルモデルに含まれる複数の関係性のうちモデル間において相関係数の差が相対的に小さい関係性を選択し、モデル間において相関係数の差が相対的に大きい関係性をローカルモデルから削除することを含む構成であってもよい。
【0027】
本開示の第11態様に係る機械学習方法は、第1態様から第10態様のいずれか1つの態様において、情報処理システムは、複数の施設のそれぞれに対応するローカルモデルの学習を実行する複数の情報処理装置と、電気通信回線を介して複数の情報処理装置のそれぞれと通信可能に接続されるサーバーと、を含み、情報処理装置とサーバーとの間で施設ごとのデータを通信することなく、ローカルモデルのパラメータおよびパラメータの更新量のうち少なくとも一方を通信する連合学習によって学習が行われる構成であってもよい。
【0028】
本開示の第12態様に係る機械学習方法は、第11態様に係る機械学習方法において、サーバーが、複数の情報処理装置のそれぞれからローカルモデルのパラメータを取得し、ローカルモデルのパラメータのモデル間の差を評価し、複数の情報処理装置のそれぞれに対して学習を補正する指示を行い、複数の情報処理装置のそれぞれが、指示に基づきローカルモデルのパラメータの変更および特徴量の選択のうち少なくとも一方を行う構成であってもよい。
【0029】
本開示の第13態様に係る機械学習方法は、第11態様または第12態様に係る機械学習方法において、ローカルモデルは、ユーザー間およびアイテム間の少なくとも一方の関係性を基にした近傍ベースの協調フィルタリングを行うモデルであり、ローカルモデルのパラメータは、ユーザー間およびアイテム間の少なくとも一方の関係性を示す相関係数を含む構成であってもよい。
【0030】
本開示の第14態様に係る情報処理システムは、1つ以上のプロセッサを含む情報処理システムであって、1つ以上のプロセッサが、複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習し、施設ごとに学習したローカルモデルのパラメータのモデル間の差を評価し、評価の結果に基づき、モデル間の差が小さくなるようにローカルモデルの学習を補正する。
【0031】
第14態様に係る情報処理システムは、情報推薦に適用される予測モデルを生成するための機械学習システムとして理解することができる。情報処理システムは、集中システムであってもよいし、分散システムであってもよい。
【0032】
第14態様に係る情報処理システムにおいて、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【0033】
本開示の第15態様に係る情報処理システムは、第14態様に係る情報処理システムにおいて、複数の施設のそれぞれに対応するローカルモデルの学習を実行する複数の情報処理装置と、電気通信回線を介して複数の情報処理装置のそれぞれと通信可能に接続されるサーバーと、を含み、複数の情報処理装置とサーバーとの間で施設ごとのデータを通信することなく、ローカルモデルのパラメータおよびパラメータの更新量のうち少なくとも一方を通信する連合学習によって学習が行われる構成であってもよい。
【0034】
本開示の第16態様に係る情報処理装置は、1つ以上の第1プロセッサと1つ以上の第1記憶装置とを含む情報処理装置であって、1つ以上の第1プロセッサが、第1施設において収集された第1データを用いて第1施設におけるユーザーのアイテムに対する行動を予測する第1ローカルモデルを学習し、学習した第1ローカルモデルのパラメータをサーバーに送信し、サーバーから、第1施設とは異なる第2施設において収集された第2データを用いて学習された第2ローカルモデルのパラメータとのモデル間の差が小さくなるように第1ローカルモデルの学習を補正する指示を受信し、受信した指示に基づき第1ローカルモデルを更新する。
【0035】
互いに異なる複数の第1施設のそれぞれに対して第16態様に係る情報処理装置が配置され得る。情報処理装置は、サーバーと連携して第1ローカルモデルの学習を行う学習装置として機能し得る。
【0036】
第16態様に係る情報処理装置において、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【0037】
本開示の第17態様に係るサーバーは、1つ以上の第2プロセッサと1つ以上の第2記憶装置とを含むサーバーであって、1つ以上の第2プロセッサが、複数の施設のそれぞれに対応する複数の情報処理装置のそれぞれにおいて学習されたローカルモデルのパラメータを取得し、施設ごとのローカルモデルのパラメータのモデル間の差を評価し、評価の結果に基づき、複数の情報処理装置のそれぞれに対してモデル間の差が小さくなるようにローカルモデルの学習を補正する指示を送信する。
【0038】
第17態様によれば、複数の情報処理装置のそれぞれにおいて学習された各ローカルモデルのパラメータがサーバーに集約され、サーバーにおいて、施設ごとのローカルモデルのパラメータのモデル間の差が評価される。サーバーは、モデル間の差が小さくなるように各ローカルモデルの学習を補正するように各情報処理装置における学習の動作を制御する。サーバーは、複数の情報処理装置のそれぞれにおけるローカルモデルの学習を統括的に制御する中央サーバーの役割を果たし得る。サーバーは、複数の情報処理装置のそれぞれにおいて学習された複数のローカルモデルのパラメータを集約して、グローバルモデルを生成してもよい。
【0039】
第17態様に係る情報処理装置において、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【0040】
本開示の第18態様に係るプログラムは、コンピュータに、複数の施設のそれぞれにおいて収集された施設ごとのデータを用いて施設ごとにユーザーのアイテムに対する行動を予測するローカルモデルを学習する機能と、施設ごとに学習したローカルモデルのパラメータのモデル間の差を評価する機能と、評価の結果に基づき、モデル間の差が小さくなるようにローカルモデルの学習を補正する機能と、を実現させる。
【0041】
第18態様におけるコンピュータには、分散システムの概念が含まれる。第18態様に係るプログラムにおいて、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【0042】
本開示の第19態様に係るプログラムは、コンピュータに、第1施設において収集された第1データを用いて第1施設におけるユーザーのアイテムに対する行動を予測する第1ローカルモデルを学習する機能と、学習した第1ローカルモデルのパラメータをサーバーに送信する機能と、サーバーから、第1施設とは異なる第2施設において収集された第2データを用いて学習された第2ローカルモデルのパラメータとのモデル間の差が小さくなるように第1ローカルモデルの学習を補正する指示を受信する機能と、受信した指示に基づき第1ローカルモデルを更新する機能と、を実現させる。
【0043】
第19態様に係るプログラムにおいて、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【0044】
本開示の第20態様に係るプログラムは、コンピュータに、複数の施設のそれぞれに対応する複数の情報処理装置のそれぞれにおいて学習されたローカルモデルのパラメータを取得する機能と、施設ごとのローカルモデルのパラメータのモデル間の差を評価する機能と、評価の結果に基づき、複数の情報処理装置のそれぞれに対してモデル間の差が小さくなるようにローカルモデルの学習を補正する指示を送信する機能と、を実現させる。
【0045】
第20態様に係るプログラムにおいて、上述した第2態様から第13態様のいずれか1つの態様に係る情報処理方法と同様の具体的態様を含む構成とすることができる。
【発明の効果】
【0046】
本開示によれば、施設ごとに学習されるローカルモデルのパラメータのモデル間の差を評価し、モデル間の差を小さくするように各ローカルモデルの学習を補正するため、複数の施設のデータを施設外において共有できない場合であっても、施設の違いに対してロバストな性能を持つモデルを生成することが可能になる。これにより、学習に用いたデータを収集した施設とは異なる未知の他施設に対しても性能が高いモデルを得ることができる。
【図面の簡単な説明】
【0047】
【
図1】
図1は、典型的な推薦システムの概念図である。
【
図2】
図2は、推薦システムの構築に広く用いられている教師あり機械学習の例を示す概念図である。
【
図3】
図3は、推薦システムの典型的な導入フローを示す説明図である。
【
図4】
図4は、導入先の施設のデータが得られない場合における推薦システムの導入フローの説明図である。
【
図5】
図5は、ドメイン適応によるモデルの学習を行う場合の説明図である。
【
図6】
図6は、学習したモデルの性能を評価するステップを含む推薦システム導入フローの説明図である。
【
図7】
図7は、機械学習に用いる学習用データと評価用データの例を示す説明図である。
【
図8】
図8は、データセットの違いによるモデルの性能の違いを模式的に示すグラフである。
【
図10】
図10は、連合学習においてグローバルモデルを訓練した後にローカルモデルを訓練する仕組みの概念図である。
【
図11】
図11は、本開示の実施形態に係る機械学習方法の概要を示す説明図である。
【
図12】
図12は、実施形態に係る機械学習システムの全体構成の例を示すブロック図である。
【
図13】13は、ローカル学習装置として機能する情報処理装置のハードウェア構成の例を示すブロック図である。
【
図14】
図14は、グローバルサーバーのハードウェア構成の例を示すブロック図である。
【
図15】
図15は、実施形態に係る機械学習システムによって行われる機械学習方法の第1例の概要を示す説明図である。
【
図16】
図16は、実施形態に係る機械学習方法の第1例を示すフローチャートである。
【
図17】
図17は、ローカル学習装置として機能する情報処理装置の機能的構成の例1を示す機能ブロック図である。
【
図18】
図18は、グローバルサーバーの機能的構成の例1を示す機能ブロック図である。
【
図19】
図19は、機械学習システムによって行われる機械学習方法の第2例の概要を示す説明図である。
【
図20】
図20は、ドメインd1におけるユーザー属性とアイテム属性のそれぞれのベクトル表現の例を示す説明図である。
【
図21】
図21は、ローカル学習装置として機能する情報処理装置の機能的構成の例2を示す機能ブロック図である。
【
図22】
図22は、グローバルサーバーの機能的構成の例2を示す機能ブロック図である。
【
図23】
図23は、ある企業1におけるユーザーのアイテムに対する行動履歴のデータの例を示す図表である。
【発明を実施するための形態】
【0048】
以下、添付図面に従って本発明の好ましい実施形態について説明する。
【0049】
《情報推薦技術の概説》
はじめに、情報推薦技術の概要と課題について具体例を示して概説する。情報推薦技術は、ユーザーに対してアイテムを推薦(サジェスト)するための技術である。
【0050】
図1は、典型的な推薦システム10の概念図である。推薦システム10は、ユーザーの情報と、コンテキストの情報とを入力として受け付け、コンテキストに応じて当該ユーザーに推薦するアイテムの情報を出力する。コンテキストは、様々な「状況」を意味し、例えば、曜日、時間帯、または天気などがあり得る。アイテムは、例えば、本、動画、飲食店など、様々な対象があり得る。
【0051】
推薦システム10は、複数のアイテムを同時に推薦するのが一般的である。
図1では、推薦システム10が3つのアイテムIT1、IT2、IT3を推薦する例が示されている。推薦したアイテムIT1、IT2、IT3に対してユーザーがポジティブな反応をすると、一般に推薦は成功したとみなされる。ポジティブな反応とは、例えば、購入、視聴、または訪問などである。このような推薦技術は、例えば、ECサイトや飲食店を紹介するグルメサイトなどにおいて広く活用されている。
【0052】
推薦システム10は、機械学習の技術を用いて構築される。
図2は、推薦システム10の構築に広く用いられている教師あり機械学習の例を示す概念図である。一般には、過去のユーザーの行動履歴を基に正例および負例を用意して、ユーザーとコンテキストとの組み合わせを予測モデル12に入力し、予測誤差が小さくなるように予測モデル12を訓練する。例えば、ユーザーが閲覧した閲覧アイテムを正例、閲覧しなかった非閲覧アイテムを負例とする。予測誤差が収束するまで機械学習が行われ、目標とする予測性能が獲得される。
【0053】
こうして訓練された学習済み(訓練済み)の予測モデル12を用いて、ユーザーとコンテキストの組合せに対して予測される閲覧確率が高いアイテムを推薦する。例えば、学習済みの予測モデル12に対し、あるユーザーAとコンテキストβとの組合せを入力すると、予測モデル12は、ユーザーAがコンテキストβの条件の下でアイテムIT3のような文書を閲覧する確率が高いと推論し、当該ユーザーAに対してアイテムIT3に近いアイテムを推薦する。なお、推薦システム10の構成によっては、コンテキストを考慮せずにユーザーに対してアイテムを推薦することも多い。
【0054】
〔推薦システムの開発に用いるデータの例〕
ユーザーの行動履歴は、機械学習における「正解データ」と略等しいものである。厳密には、過去の行動履歴から次の(未知の)行動を推論するというタスク設定と理解されるが、過去の行動履歴を基に潜在的な特徴量を学習するのが一般的である。
【0055】
ユーザーの行動履歴としては、例えば、本の購入履歴、動画の視聴履歴、または飲食店の訪問履歴などがあり得る。
【0056】
また、主要な特徴量としては、ユーザー属性と、アイテム属性とがある。ユーザー属性は、例えば、性別、年代、職業、家族構成、および居住エリアなど、様々な要素があり得る。アイテム属性は、例えば、本のジャンル、値段、動画のジャンル、長さ、飲食店のジャンル、場所など様々な要素があり得る。
【0057】
〔モデルの構築と運用〕
図3は、推薦システムの典型的な導入フローを示す説明図である。ここでは、ある施設に推薦システムを導入する際の典型的なフローを示す。推薦システムの導入は、まず、目的の推薦タスクを行うモデル14を構築し(ステップ1)、その後、構築したモデル14を導入して運用する(ステップ2)。モデル14を「構築する」とは、機械学習モデルの場合、学習(訓練)用のデータを用いてモデル14の学習を行い、実用レベルの推薦性能を満たす予測モデル(推薦モデル)を作成することを含む。モデル14を「運用する」とは、例えば、ユーザーとコンテキストとの組合せの入力に対して、学習済みのモデル14から推薦アイテムリストの出力を得ることである。
【0058】
モデル14の構築には、学習用のデータが必要である。
図3に示すように、一般に推薦システムのモデル14は、導入先の施設で収集したデータを基に学習が行われる。導入先の施設から収集されたデータを用いて学習を行うことにより、モデル14は導入先の施設のユーザーの振る舞いを学習し、導入先の施設のユーザーに対して精度のよい推薦アイテムの予測が可能である。
【0059】
しかし、様々な事情により、導入先の施設のデータが得られない場合がある。例えば、企業の社内システムや病院の院内システムにおける文書情報推薦システムなどの場合、推薦モデルを開発する企業が導入先の施設のデータにアクセスできないことが多い。導入先の施設のデータが得られない場合、代わりに、異なる施設で収集されたデータをもとに学習する必要がある。
【0060】
図4は、導入先の施設のデータが得られない場合における推薦システムの導入フローの説明図である。導入先の施設とは異なる施設で収集されたデータを用いて学習したモデル14を挿入先の施設で運用すると、施設間のユーザーの振る舞いの違いなどにより、モデル14の予測精度が低下してしまう問題がある。
【0061】
学習した施設と異なる未知の他施設では機械学習モデルがうまく機能しない問題は、広義にはモデル14を学習したソースドメインと、モデル14を適用するターゲットドメインが異なるドメインシフトの問題に対するロバスト性を向上させるという技術課題として把握される。ドメイン汎化(Domain generalization)に関連する問題設定として、ドメイン適応(Domain adaptation)がある。これはソースドメインとターゲットドメインの両方のデータを用いて学習する方法である。ターゲットドメインのデータが存在するにもかかわらず異なるドメインのデータを使う目的は、ターゲットドメインのデータ量が少なく学習に不十分であるのを補うためである。
【0062】
図5は、ドメイン適応によるモデル14の学習を行う場合の説明図である。ターゲットドメインである導入先の施設で収集されたデータのデータ量は、異なる施設で収集されたデータよりもデータ量に比べて相対的に少ないものの、両方のデータを用いて学習を行うことにより、モデル14は、導入先の施設のユーザーの振る舞いについてもある程度の精度で予測することが可能になる。
【0063】
〔ドメインの説明〕
上記の「施設」の違いはドメインの違いの一種である。情報推薦におけるドメイン適応の研究に関する文献である非特許文献3(Ivan Cantador et al, Chapter 27:"Cross-domain Recommender System")では、ドメインの違いが以下の4つに分類されている。
【0064】
[1]アイテム属性レベル(Item attribute level):例えば、コメディ映画とホラー映画は別ドメイン。
【0065】
[2]アイテムタイプレベル(Item type level):例えば、映画と連続テレビドラマは別ドメイン。
【0066】
[3]アイテムレベル(Item level):例えば、映画と本は別ドメイン。
【0067】
[4]システムレベル(System level):例えば、映画館の映画とテレビ放映の映画は別ドメイン。
【0068】
図5等に示す「施設」の違いは、上記の4分類のうちの[4]システムレベルのドメインに該当する。
【0069】
フォーマルにドメインを定義すると、ドメインは目的変数Yと説明変数Xの同時確率分布P(X,Y)で規定され、Pd1(X,Y)≠ Pd2(X,Y)のとき、d1とd2は異なるドメインである。
【0070】
同時確率分布P(X,Y)は、説明変数の分布P(X)と条件付き確率分布P(Y|X)との積、又は目的変数の分布P(Y)と条件付き確率分布P(Y|X)との積で表すことができる。
【0071】
P(X,Y)=P(Y|X)P(X)=P(X|Y)P(Y)
したがって、P(X)、P(Y)、P(Y|X)及びP(X|Y)のうち1つ以上が変わると異なるドメインとなる。
【0072】
〔ドメインシフトの典型パターン〕
[共変量シフト]説明変数の分布P(X)が異なる場合、共変量シフト(Covariate shift)と呼ばれる。例えば、データセット間でユーザー属性の分布が異なる場合、より具体的には男女比率が異なる場合などが共変量シフトに該当する。
【0073】
[事前確率シフト]目的変数の分布P(Y)が異なる場合、事前確率シフト(Prior probability shift)と呼ばれる。例えば、データセット間で平均閲覧率や平均購入率が異なる場合などが事前確率シフトに該当する。
【0074】
[コンセプトシフト]条件付き確率分布P(Y|X)及びP(X|Y)が異なる場合、コンセプトシフト(Concept shift)と呼ばれる。例えば、ある企業の研究開発部門がデータ分析資料を読む確率がP(Y|X)にあたるが、これがデータセット間で異なる場合などがコンセプトシフトに該当する。
【0075】
ドメイン適応あるいはドメイン汎化性の研究は、上記いずれかのパターンを主要因として想定しているものと、特にどのパターンが主要因であるかを考慮せずにP(X,Y)が変化していることへの対処を考えるものと、がある。なお、前者の場合、特に、共変量シフトを想定しているものが多い。
【0076】
〔ドメインシフトが影響する理由〕
予測あるいは分類のタスクを行う予測/分類モデルは、説明変数Xと目的変数Yの関係性に基づいて推論を行うため、P(Y|X)が変化すれば当然、予測/分類性能は低下する。また、予測/分類モデルを機械学習する際には学習データ内において予測/分類誤差の最小化を行うが、例えば、説明変数がX=X_1になる頻度が、X=X_2になる頻度より大きいとき、つまりP(X=X_1)>P(X=X_2)であるとき、X=X_1のデータの方がX=X_2のデータより多いので、X=X_1の誤差低減はX=X_2の誤差低減より優先して学習される。そのためP(X)が施設間で変化する場合も、予測/分類性能は低下する。
【0077】
ドメインシフトは、情報推薦に限らず、いろいろなタスクのモデルについて問題になり得る。例えば、社員の退職リスクを予測するモデルについて、ある企業のデータを用いて学習した予測モデルを別の企業で運用する場合にドメインシフトが問題になり得る。
【0078】
また、細胞の抗体生産量を予測するモデルについて、ある抗体のデータを用いて学習したモデルを、別の抗体で運用する場合にドメインシフトが問題になり得る。また、顧客の声(Voice of Customer:VOC)を分類するモデル、例えば、VOCを「商品機能」、「サポート対応」、および「その他」に分類するモデルについて、ある商品に関するデータを用いて学習した分類モデルを別の商品で運用する場合にドメインシフトが問題になり得る。
【0079】
〔モデルの導入前評価について〕
学習したモデル14を実際の施設等に導入する前に、モデル14の性能評価を行うことが多い。性能評価は導入の可否判断や、モデルあるいは学習手法などの研究開発のために必要である。
【0080】
図6は、学習したモデル14の性能を評価するステップを含む推薦システム導入フローの説明図である。
図6では、
図5で説明したステップ1(モデル14を学習するステップ)とステップ2(モデル14を運用するステップ)との間に、「ステップ1.5」として、モデル14の性能を評価するステップが追加されている。その他の構成は
図5と同様である。
図6に示すように、一般的な推薦システム導入のフローでは、導入先の施設で収集されたデータを学習用データと評価用データとに分割することが多い。評価用データを用いてモデル14の予測性能を確認してから、モデル14の運用が開始される。
【0081】
しかし、ドメイン汎化のモデル14を構築する場合は、学習用データと評価用データは異なるドメインである必要がある。さらに、ドメイン汎化においては、学習用データについても複数ドメインのデータを用いることが好ましく、学習に使えるドメインが多い方がより好ましい。
【0082】
〔汎化性について〕
図7は、機械学習に用いる学習用データと評価用データの例を示す説明図である。あるドメインd1の同時確率分布Pd1(X,Y)から得られるデータセットは、学習用データと、評価用データとに分けられる。学習用データと同一ドメインの評価用データを「第1の評価用データ」といい、
図7において「評価用データ1」と表記する。また、ドメインd1と異なるドメインd2の同時確率分布Pd2(X,Y)から得られるデータセットを用意し、これを評価用データとして用いる。学習用データと異なるドメインの評価用データを「第2の評価用データ」といい、
図7において「評価用データ2」と表記する。
【0083】
ドメインd1の学習用データを用いてモデル14の学習が行われ、ドメインd1の第1の評価用データと、ドメインd2の第2の評価用データとのそれぞれを用いて学習済みのモデル14の性能が評価される。
【0084】
図8は、データセットの違いによるモデルの性能の違いを模式的に示すグラフである。学習用データ内でのモデル14の性能を性能A、第1の評価用データでのモデル14の性能を性能B、第2の評価用データでのモデル14の性能を性能Cとすると、通常は、
図8のように、性能A>性能B>性能Cのような関係になる。
【0085】
モデル14の汎化性能の高さは一般には、性能Bが高いこと、または性能AとBの差が小さいことを指す。つまり、学習用データに過剰適合せずに、学習していないデータに対しても予測の性能が高いことを目指している。
【0086】
本明細書におけるドメイン汎化性の文脈では、性能Cが高いこと、または性能Bと性能Cの差が小さいことを指す。つまり、学習に用いたドメインと異なるドメインでも、変わらずに高い性能が出ることを目指している。
【0087】
〔課題の説明〕
本実施形態では、情報推薦を行うシステムに適用されるモデルを学習する際に複数の施設のそれぞれにおいて収集されたデータを各施設から持ち出すことができない場合を想定し、学習に用いるデータが収集される施設とは異なる未知の他の施設においても高性能な情報推薦を実現できるドメインシフトにロバストなモデルを得る手段を提供する。
【0088】
図9は、一般的な連合学習の概念図である。ここでは、複数の施設の例として施設1から施設3の3つの施設を例に示す。施設の数は2以上の任意の数であってよい。施設の種類は問わず、例えば、企業であってもよいし、病院であってもよいし、小売店などの店舗などであってもよい。以下、施設を区別するインデックス番号kを用いて、「施設k」などと表記する。
【0089】
各施設kにおいて収集されたデータをその施設に留めたまま、施設ごとにローカルモデルLMkの学習が行われる。各施設kにおいてローカルモデルLMkの学習処理を実行する情報処理装置(以下、ローカル学習装置という。)は、図示せぬ電気通信回線を介してグローバルサーバーと通信可能に接続される。グローバルサーバーは、各ローカルモデルLMkのパラメータを収集してパラメータを統合し、グローバルモデルGMを生成する。グローバルサーバーは、グローバルモデルGMのパラメータを各施設kのローカル学習装置に送り、ローカルモデルLMkのパラメータに反映させることができる。このような連合学習では、全施設に共通のグローバルモデルGMの性能向上を目指す方法と、施設ごとのローカルモデルLMkの性能向上を目指す方法とがある。
【0090】
図10は、連合学習においてグローバルモデルGMを訓練した後にローカルモデルLMkを訓練する仕組みの概念図である。
図10の左側はグローバルモデルGMの学習プロセスであるグローバルエポックを表しており、
図10の右側は個々のローカルモデルLMkの学習プロセスであるローカルエポックを表している。
【0091】
グローバルエポックにおいてグローバルサーバーGSVは、個々のローカルモデルLMkのパラメータを集約(例えば、平均)して、グローバルモデルGMを学習する。その後のローカルエポックにおいて、各施設kのローカル学習装置は、グローバルモデルGMとのパラメータのやり取り(受け渡し)を遮断し、施設ごとに個々のローカルモデルLMkを学習する。
【0092】
図10のような方法は、個々の施設kでのローカルモデルLMkの性能向上を目指しており、施設k以外の他の(未知の)施設に対するモデルの性能は担保されない。
【0093】
〔実施形態に係る機械学習方法の概要〕
図11は、本開示の実施形態に係る機械学習方法の概要を示す説明図である。
図11において、各ローカルモデルLMkの学習を行った施設kとは異なる未知の施設(学習されていない施設)を施設UFと表記している。
【0094】
本実施形態では、未知の施設UFに対する性能が高くなるようにモデルを学習する。そのために、複数の施設kのローカルモデルLMk間の差が小さくなるように各ローカルモデルLMkの学習の仕方を制御する。具体的な制御の方法の例は後述するが、基本的な考え方は下記のとおりである。すなわち、情報推薦に適用するモデルにおける説明変数と目的変数との関係性には、各施設固有のものと施設によらない普遍的なものとがある。施設固有の関係性を基にした予測を各ローカルモデルLMkが学習すると、ローカルモデルLMk間の差が大きくなる。逆に、施設によらない普遍的な関係性を基にした予測を各ローカルモデルLMkが学習した場合は、ローカルモデルLMk間の差が小さくなる。そのため、本実施形態においては、異なる施設のローカルモデルLMk間の差が小さくなるように学習を制御することで、施設によらない普遍的な関係性を学習するように誘導する。これにより、施設の違いに対してロバストな予測性能を持つモデルを得ることができる。
【0095】
〔機械学習システムの構成例〕
図12は、実施形態に係る機械学習システム50の全体構成の例を示すブロック図である。機械学習システム50は、複数の施設k(k=1,2,・・・n)のそれぞれに対応した複数のローカル学習装置LTkと、電気通信回線52を介して各ローカル学習装置LTkと通信可能に接続されるグローバルサーバーGSVと、を含む。電気通信回線52は、インターネットなどのワイドエリアネットワークを含む構成であってよい。機械学習システム50は、本開示における「情報処理システム」の一例である。
【0096】
ローカル学習装置LTkは、施設kにて収集されたローカルデータLDkを用いて施設kごとにローカルモデルLMkを学習する処理を行う情報処理装置である。ローカル学習装置LTkは、例えば、施設kのローカルエリアネットワーク上に構築されるサーバーであってもよいし、あるいは施設k内のデータにアクセス可能な端末装置であってもよい。
【0097】
ローカルデータLDkは、施設kにおける複数のユーザーの複数のアイテムに対する行動履歴を含む。各施設kのローカルデータLDkは、施設kの外部へ持ち出しが制限されており、異なる施設間でデータを共有することができないものとする。各施設kのローカルデータLDkは、それぞれの施設kにおいて保持され、グローバルサーバーGSVは、ローカル学習装置LTkや他の施設k内の装置からローカルデータLDkを受け取ることができない。ローカルデータLDkは本開示における「施設ごとのデータ」の一例である。
【0098】
ローカルモデルLMkは、ユーザーのアイテムに対する行動を予測するように、ローカルデータLDkを学習データとして用いて訓練される学習モデルである。各ローカル学習装置LTkは、ローカルモデルLMkのパラメータ更新を行うパラメータ演算部62と、通信部64とを備える。パラメータ演算部62は、パラメータの更新量を算出する処理と、パラメータを更新する処理とを行う。通信部64は、電気通信回線52に接続してグローバルサーバーGSVとの間で情報の受け渡しを行う通信インターフェースを含む。
【0099】
グローバルサーバーGSVは、通信部72と、モデル間差評価部74と、学習補正部78と、グローバルモデル生成部80と、を含む。通信部72は、電気通信回線52に接続して各ローカル学習装置LTkとの間で情報の受け渡しを行う通信インターフェースを含む。モデル間差評価部74は、ローカル学習装置LTkから受信したローカルモデルLMkの情報を基にモデル間差を評価する処理を行う。モデル間差評価部74は、複数のローカルモデルLMkのパラメータ値を用いてモデル間差の評価に必要な演算を行うパラメータ演算部75を含む。学習補正部78は、モデル間差評価部74による評価結果に基づきローカル学習装置LTkによる学習を補正する制御等を行う。
【0100】
グローバルモデル生成部80は、モデル間差評価部74による評価結果に基づき複数のローカルモデルLMkからグローバルモデルを生成する処理を行う。
【0101】
[ローカル学習装置の構成例]
図13は、ローカル学習装置LTkとして機能する情報処理装置100のハードウェア構成の例を示すブロック図である。情報処理装置100は、コンピュータのハードウェアとソフトウェアとを用いて実現できる。情報処理装置100の物理的形態は特に限定されず、サーバーであってもよいし、ワークステーションであってもよく、パーソナルコンピュータあるいはタブレット端末などであってもよい。ここでは、1台のコンピュータを用いて情報処理装置100の処理機能を実現する例を述べるが、情報処理装置100の処理機能は、複数のコンピュータを用いて構成されるコンピュータシステムによって実現してもよい。
【0102】
情報処理装置100は、プロセッサ102と、非一時的な有体物であるコンピュータ可読媒体104と、通信インターフェース106と、入出力インターフェース108と、バス110と、を含む。
【0103】
プロセッサ102は、CPU(Central Processing Unit)を含む。プロセッサ102はGPU(Graphics Processing Unit)を含んでもよい。プロセッサ102は、バス110を介してコンピュータ可読媒体104、通信インターフェース106および入出力インターフェース108と接続される。プロセッサ102は、コンピュータ可読媒体104に記憶された各種のプログラムおよびデータ等を読み出し、各種の処理を実行する。プログラムという用語は、プログラムモジュールの概念を含み、プログラムに準じる命令を含む。プロセッサ102は本開示における「第1プロセッサ」の一例である。コンピュータ可読媒体104は本開示における「第1記憶装置」の一例である。
【0104】
コンピュータ可読媒体104は、例えば、主記憶装置であるメモリ112および補助記憶装置であるストレージ114を含む記憶装置である。ストレージ114は、例えば、ハードディスクドライブ(Hard Disk Drive:HDD)装置、ソリッドステートドライブ(Solid State Drive:SSD)装置、光ディスク、光磁気ディスク、もしくは半導体メモリ、またはこれらの適宜の組み合わせを用いて構成される。ストレージ114には、各種プログラムやデータ等が記憶される。
【0105】
メモリ112は、プロセッサ102の作業領域として使用され、ストレージ114から読み出されたプログラムおよび各種のデータを一時的に記憶する記憶部として用いられる。ストレージ114に記憶されているプログラムがメモリ112にロードされ、プログラムの命令をプロセッサ102が実行することにより、プロセッサ102は、プログラムで規定される各種の処理を行う手段として機能する。
【0106】
メモリ112には、プロセッサ102によって実行されるローカル学習プログラム130、およびローカルモデルLMkなどの各種のプログラムおよび各種のデータ等が記憶される。なお、ローカルモデルLMkは、ローカル学習プログラム130の中に含まれてもよい。メモリ112は、ローカルデータ記憶部136を含む。ローカルデータ記憶部136は、施設kで収集されたローカルデータLDkを含むデータセット(以下、ローカルデータセットという。)が記憶される記憶領域である。
【0107】
ローカル学習プログラム130は、ローカルデータLDkを用いて、施設kにおいて予測性能が向上するようにローカルモデルLMkを学習する処理を実行させるプログラムである。
【0108】
通信インターフェース106は、有線または無線により外部装置との通信処理を行い、外部装置との間で情報のやり取りを行う。情報処理装置100は、通信インターフェース106を介して不図示の通信回線に接続される。通信回線は、ローカルエリアネットワークであってもよいし、ワイドエリアネットワークであってもよく、これらの組み合わせであってもよい。通信インターフェース106は、例えば、グローバルサーバーGSVでの演算結果およびグローバルサーバーGSVからの各種指示、ならびにローカルデータセットなど様々なデータの入力を受け付けるデータ取得部の役割を担うことができる。また、通信インターフェース106は、ローカルモデルLMkのモデルパラメータを含むローカルモデル情報をグローバルサーバーGSVに送信するデータ出力部の役割を担う。
【0109】
情報処理装置100は、入力装置152と表示装置154とを備えていてもよい。入力装置152および表示装置154は入出力インターフェース108を介してバス110に接続される。入力装置152は、例えば、キーボード、マウス、マルチタッチパネル、もしくはその他のポインティングデバイス、もしくは、音声入力装置、またはこれらの適宜の組み合わせであってよい。表示装置154は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、もしくは、プロジェクタ、またはこれらの適宜の組み合わせであってよい。なお、タッチパネルのように入力装置152と表示装置154とが一体的に構成されてもよく、タッチパネル式のタブレット端末のように、情報処理装置100と入力装置152と表示装置154とが一体的に構成されてもよい。
【0110】
[グローバルサーバーGSVの構成例]
図14は、グローバルサーバーGSVのハードウェア構成の例を示すブロック図である。グローバルサーバーGSVのハードウェア構成は、
図13で説明した情報処理装置100のハードウェア構成と同様であってよい。グローバルサーバーGSVは、プロセッサ302、コンピュータ可読媒体304、通信インターフェース306、入出力インターフェース308、およびバス310を含む。コンピュータ可読媒体304は、メモリ312とストレージ314とを含む。また、グローバルサーバーGSVは、入力装置352および表示装置354を含んでもよい。それぞれのハードウェア構成は、
図13に示した構成の対応する要素と同様であってよい。
【0111】
グローバルサーバーGSVは本開示における「サーバー」の一例である。プロセッサ302は本開示における「第2プロセッサ」の一例である。コンピュータ可読媒体304は本開示における「第2記憶装置」の一例である。
【0112】
メモリ312には、プロセッサ302によって実行されるモデル間差評価プログラム330、学習制御プログラム332、グローバルモデル生成プログラム334およびグローバルモデルGMなどの各種のプログラムおよび各種のデータ等が記憶される。
【0113】
モデル間差評価プログラム330は、各ローカルモデルLMkのモデルパラメータを含むローカルモデル情報を取得して、取得したローカルモデル情報を基に複数のローカルモデルLMkのモデル間差を評価する処理を実行させるプログラムである。学習制御プログラム332は、モデル間差の評価結果を基に各ローカルモデルLMkモデル間の差が小さくなるように各施設kにおけるローカルモデルLMkの学習を制御する処理を実行させるプログラムである。学習制御プログラム332による学習の制御には、ローカルモデルLMの予測誤差に基づく学習を補正する概念が含まれる。具体的な補正方法(制御方法)の例は後述する。
【0114】
グローバルモデル生成プログラム334は、各ローカル学習装置LTkから受信したローカルモデル情報に基づき、グローバルモデルGMを生成する処理を実行させるプログラムである。
【0115】
〔機械学習方法の第1例:正則化アプローチ〕
図15は、実施形態に係る機械学習システム50によって行われる機械学習方法の第1例の概要を示す説明図である。ここでは、ドメイン汎化性のための正則化(ドメイン正則化)の例を示す。
図15では、説明の便宜上、施設kのローカルモデルLMkの予測式が次式(1)により表現される場合を示す。
【0116】
y=w1_dk*x1+w2_dk*x2 (1)
式中のx1とx2のそれぞれは説明変数と関係する特徴量である。w1_dkとw2_dkは、特徴量x1、x2のそれぞれの重みを示すパラメータである。なお、ローカルモデルLMkは式(1)の表現に限らず、さらに多数の特徴量と重みとの組み合わせを含む構成であってよい。
【0117】
機械学習システム50は、以下のステップ1からステップ3を繰り返して実行する。
【0118】
[ステップ1]
ステップ1では、ローカル学習装置LTkがそれぞれの施設kのローカルデータLDkを用いて学習を行いローカルモデルLMkのパラメータを更新する。ローカル学習装置LTkは、ローカルモデルLMkの予測誤差に基づき予測誤差を小さくするようにパラメータを更新する。
【0119】
[ステップ2]
ステップ2では、グローバルサーバーGSVが各ローカルモデルLMkのパラメータを取得し、各ローカルモデルLMkについて、他のローカルモデルの平均値とのパラメータの差を計算する。例えば、グローバルサーバーGSVは、ローカルモデルLM1のパラメータw1_d1について、他のローカルモデルLM2とLM3の平均値(w1_d2+w1_d3)/2との差を計算する。また、グローバルサーバーGSVは、ローカルモデルLM1のパラメータw2_d1について、他のローカルモデルLM2とLM3の平均値(w2_d2+w2_d3)/2との差を計算する。ローカルモデルLM2、LM3についても同様に、グローバルサーバーGSVは、他のローカルモデルの平均値とのパラメータの差を計算する。ここで計算されるパラメータの差の値は、ドメイン正則化のために導入されるロス成分の偏微分の値に相当する。
【0120】
[ステップ3]
ステップ3では、グローバルサーバーGSVが各特徴量のパラメータの差が小さくなるように、ローカルモデルLMkに指示を与える。例えば、グローバルサーバーGSVは、ローカルモデルLM1のパラメータw1_d1について、w1_d1-α(w1_d1-(w1_d2+w1_d3)/2)の値に更新するように、ローカル学習装置LT1に対して指示する。αは学習レート(学習速度)を表すハイパーパラメータである。
【0121】
また、グローバルサーバーGSVは、ローカルモデルLM1のパラメータw2_d1について、w2_d1-α(w2_d1-(w2_d2+w2_d3)/2)の値に更新するように、ローカル学習装置LT1に指示する。
【0122】
グローバルサーバーGSVは、パラメータの更新量である「-α(w1_d1-(w1_d2+w1_d3)/2)」の値および「-α(w2_d1-(w2_d2+w2_d3)/2)」の値をローカル学習装置LT1に指示してもよいし、更新後のパラメータ値「w1_d1-α(w1_d1-(w1_d2+w1_d3)/2)」の値および「w2_d1-α(w2_d1-(w2_d2+w2_d3)/2)」の値をローカル学習装置LT1に指示してもよい。また、グローバルサーバーGSVは、パラメータの更新量の算出に用いる値、例えば「w1_d1-(w1_d2+w1_d3)/2」および「w2_d1-(w2_d2+w2_d3)/2」、または「(w1_d2+w1_d3)/2」および「(w2_d2+w2_d3)/2」などの値をローカル学習装置LT1に指示し、ローカル学習装置LT1側でパラメータの更新量を算出してもよい。
【0123】
グローバルサーバーGSVは、他のローカルモデルLM2、LM3についても同様に、各特徴量のパラメータの差が小さくなるようにローカルモデルのパラメータを更新させる指示を行う。
【0124】
ステップ3の指示に従い、ステップ1において、各ローカルモデルLMkのパラメータが更新される。機械学習システム50は、ステップ1~3を繰り返し、所定の終了条件を満たした場合に、ステップ4に移行する。終了条件は、例えば、予め定めたイテレーションの回数に達すること、あるいは、モデル間の差が許容範囲内に入ること、などであってよい。
【0125】
[ステップ4]
ステップ4では、グローバルサーバーGSVがローカルモデルLM1-LM3に基づき、グローバルモデルGMを構築する。グローバルモデルGMの構築方法として、例えば、次のような方法1~3があり得る。
【0126】
方法1:すべてのローカルモデルLMkが同じパラメータに収束するまでステップ1-3を繰り返し、すべてのローカルモデルLMkを同じパラメータに収束させてから、いずれかのモデルをグローバルモデルGMとして採用する。
【0127】
方法2:すべてのローカルモデルLMkを平均したものをグローバルモデルGMとして採用する。
【0128】
方法3:すべてのローカルモデルLMkの中からパラメータ差分の小ささと、予測性能の高さとに基づいて、最適なローカルモデルをグローバルモデルGMとして選定する。または、パラメータ差分と、予測性能の評価値とを用いて重み付き平均をとり、重み付き平均されたモデルをグローバルモデルGMとして採用する。
【0129】
図15における施設1は本開示における「第1施設」の一例であり、ローカルデータLD1およびローカルモデルLM1は本開示における「第1データ」および「第1ローカルモデル」の一例である。施設1に対して他の施設2および施設3のそれぞれは本開示における「第2施設」の一例であり、ローカルデータLD2およびローカルデータLD3のそれぞれは本開示における「第2データ」の一例である。また、ローカルモデルLM1に対して他のローカルモデルLM2およびローカルモデルLM3のそれぞれは本開示における「第2ローカルモデル」の一例である。
【0130】
施設2および施設3に関しても同様であり、施設2および施設3のそれぞれは本開示における「第1施設」の一例である。
【0131】
[ドメイン汎化性のための正則化のロス関数の例]
施設1のローカルモデルLM1についての学習に適用されるロス関数Lは、例えば、次式(2)のように、予測誤差部分とドメイン正則化部分とを含んで構成される。
【0132】
L=(y-y_true)2
+(w1_d1-(w1_d2+w1_d3)/2)2
+(w2_d1-(w2_d2+w2_d3)/2)2 (2)
式(2)の右辺の第1項は予測誤差部分のロス成分であり、第2項および第3項はドメイン正則化部分のロス成分である。
【0133】
ここで、目的変数yの予測式は、式(3)で表される。
【0134】
y=w1_d1*x1+w2_d1*x2 (3)
式(2)中のy_trueは、学習データにおける目的変数の正解の値(教師信号)である。
【0135】
ローカルモデルLM1の学習に際しては、式(2)に示すロス関数Lを各パラメータw1_d1、w2_d1で偏微分をとり、それぞれのパラメータを更新する。ロス関数Lの偏微分の値も当然、予測誤差部分とドメイン正則化部分とに分かれる。
【0136】
式(2)の予測誤差部分は、学習データのy_trueを含むため、ローカル学習装置LT1側で計算する必要がある。これに対し、ドメイン正則化部分はグローバルサーバーGSVにて計算してもよいし、ローカル学習装置LT1側で計算してもよい。
図15の説明では、グローバルサーバーGSV側がドメイン正則化部分を計算してローカル学習装置LT1側に指示を出す例を示している。
【0137】
パラメータの更新方法としては、大きく分けて以下の2通りがあり得る。
【0138】
ケース1:予測誤差部分とドメイン正則化部分との偏微分を合わせて更新する態様。
【0139】
ケース2:予測誤差部分の偏微分に基づく更新と、ドメイン正則化部分の偏微分に基づく更新とを交互に実施する態様。
【0140】
図15では、ケース2の方法について示している。ここでの「交互」の意味は、1サンプル単位で「交互」という意味ではなく、一定サンプル数(例えば、100サンプル)は予測誤差のみで更新し、次にドメイン正則化で更新し、その後はまた一定サンプル数は予測誤差のみで更新・・・を交互に繰り返す、という意味である。ケース2の方法について、
図16のフローチャートを示して具体例を説明する。
【0141】
図16は、実施形態に係る機械学習方法の第1例を示すフローチャートである。ステップS10において、グローバルサーバーGSVは、複数の施設1-3に対するそれぞれのローカルモデルLM1-LM3のパラメータを初期値に設定する。例えば、平均値0、標準偏差0.1の正規分布によりランダム値に設定してよい。
【0142】
ステップS11において、ローカル学習装置LT1は、施設1のデータからランダムに1つ選択し、ローカルモデルLM1のパラメータw1_d1とw2_d1を予測誤差が小さくなるように更新する。ローカル学習装置LT1は、この更新処理を例えば100回繰り返す。
【0143】
ステップS12において、ローカル学習装置LT2は、施設2のデータからランダムに1つ選択し、ローカルモデルLM2のパラメータw1_d2とw2_d2を予測誤差が小さくなるように更新する。ローカル学習装置LT1は、この更新処理を例えば100回繰り返す。
【0144】
ステップS13において、ローカル学習装置LT3は、施設3のデータからランダムに1つ選択し、ローカルモデルLM3のパラメータw1_d3とw2_d3を予測誤差が小さくなるように更新する。ローカル学習装置LT3は、この更新処理を例えば100回繰り返す。
【0145】
ステップS11からステップS13は、各施設のローカル学習装置LT1-LT3において並行して実施されてよい。また、ステップS11~S13が実施されるタイミングは、施設ごとに自由に設定されてよく、ステップS11~S13の実施順は限定されない。
【0146】
その後、ステップS14において、各ローカル学習装置LTkは、ローカルモデルLM1-LM3のパラメータをグローバルサーバーGSVに送信する。
【0147】
ステップS15において、グローバルサーバーGSVは、取得した各ローカルモデルLMkのパラメータを基に、ローカルモデルLM1のパラメータと、ローカルモデルLM2及びLM3のパラメータとの差が小さくなるように、ローカルモデルLM1のパラメータを更新する。
【0148】
ステップS16において、グローバルサーバーGSVは、取得した各ローカルモデルLMkのパラメータを基に、ローカルモデルLM2のパラメータと、ローカルモデルLM3及びLM1のパラメータとの差が小さくなるように、ローカルモデルLM2のパラメータを更新する。
【0149】
ステップS17において、グローバルサーバーGSVは、取得した各ローカルモデルLMkのパラメータを基に、ローカルモデルLM3のパラメータと、ローカルモデルLM1及びLM2のパラメータとの差が小さくなるように、ローカルモデルLM3のパラメータを更新する。
【0150】
ステップS15-ステップS17では、グローバルサーバーGSVが受信したパラメータを基に、各ローカルモデルLMkのパラメータの変更量を求め、グローバルサーバーGSV内でパラメータを更新して、更新したパラメータを各ローカル学習装置LTkに送信してローカルモデルLMk内のパラメータも更新する。
【0151】
ステップS18において、グローバルサーバーGSVは、パラメータが収束したか否かを判定する。ステップS18の判定結果がNo判定である場合、つまり、パラメータが収束していなければ、ステップS11に戻り、ステップS11~ステップS17を繰り返す。
【0152】
一方、ステップS18の判定結果がYes判定である場合、つまり、パラメータが収束している場合、
図16のフローチャートを終了する。
【0153】
[情報処理装置100の機能的構成の例1]
図17は、ローカル学習装置LTkとして機能する情報処理装置100の機能的構成の例1を示す機能ブロック図である。
図17に示す情報処理装置100は、グローバルサーバーGSVの指示に従い、
図15および
図16で説明したように、ドメイン正則化によってモデル間の差を小さくするように、ローカルモデルLMkの学習を行う。
【0154】
情報処理装置100は、データ取得部220と、データ保存部222と、ローカル学習部230と、データ出力部250と、を含む。データ取得部220は、施設kにおいて収集されたローカルデータLDkを取得する。なお、情報処理装置100がローカルデータLDkを収集する機能を備えてもよい。また、データ取得部220は、グローバルサーバーGSVから学習補正指示などの各種データを取得する。
【0155】
データ取得部220を介して取得されたローカルデータLDkはデータ保存部222に保存される。ローカルデータ記憶部136(
図13参照)はデータ保存部222に含まれる。
【0156】
ローカル学習部230は、サンプリング部232と、ローカルモデルLMkと、ロス演算部234と、オプティマイザ236とを含み、ローカルデータLDkを用いてローカルモデルLMkの学習を行う。サンプリング部232は、ローカルデータLDkのデータセットから学習データをサンプリングする。例えば、確率的勾配降下法(stochastic gradient descent:SGD)によりパラメータの最適化を行う場合において、サンプリング部232は、学習の1ステップごとに学習用のデータセットから1レコードを選択する。この操作は、ローカルモデルLMkの予測誤差が収束するまで繰り返される。
【0157】
サンプリング部232によってサンプリングされた学習データはローカルモデルLMkに入力され、ローカルモデルLMkから入力データに応じた予測結果が出力される。ローカルモデルLMkは、ユーザーのアイテムに対する行動を予測する数理モデルとして構築される。なお、サンプリング部232は、データセットの中からローカルモデルLMkの入力として用いるレコードを確率的にサンプリングするので確率的なゆらぎの範囲では学習に使われる回数にばらつきはあり得る。
【0158】
ロス演算部234は、ローカルモデルLMkから出力される予測(推論)結果と、入力データに対応付けされている正解データ(教師データ)とを基に、両者間の損失値(ロス)を算出する。
【0159】
オプティマイザ236は、ローカルモデルLMkが出力する予測結果が正解データに近づくように、ロスの演算結果に基づき、ローカルモデルLMkのパラメータの更新量を決定し、ローカルモデルLMkのパラメータの更新処理を行う。オプティマイザ236は、パラメータの更新量を算出するパラメータ更新量演算部237と、パラメータの更新処理を行うパラメータ更新部238と、を含む。オプティマイザ236は、勾配降下法などのアルゴリズムに基づきパラメータの更新を行う。
【0160】
ローカル学習部230は、1サンプルずつ学習データを取得してパラメータを更新してもよいし、複数の学習データをまとめたミニバッチの単位で学習データの取得とパラメータの更新とを実施してもよい。
【0161】
こうして、ローカルデータLDkのデータセットからサンプリングされた学習データを用いて機械学習が行われることにより、ローカルモデルLMkのパラメータが最適化され、目標とする予測性能を持つローカルモデルLMkが生成される。
【0162】
ローカルモデルLMkのモデルパラメータを含むローカルモデル情報は、データ出力部250を介してグローバルサーバーGSVに送られる。
【0163】
また、ローカル学習部230は、グローバルサーバーGSVから受信した学習補正指示に従い、ローカルモデルLMkのパラメータを更新する。グローバルサーバーGSVからの学習補正指示がパラメータの更新量の指示を含む場合、パラメータ更新部238はグローバルサーバーGSVから指示された更新量でローカルモデルLMkのパラメータを更新する。グローバルサーバーGSVからの学習補正指示がロス関数の一部の値あるいはパラメータ更新量の演算に用いる値などの指示を含む場合、ロス演算部234および/またはパラメータ更新量演算部237は、グローバルサーバーGSVから指示された値を用いてロスの値および/またはパラメータ更新量を算出する。そして、パラメータ更新部238はグローバルサーバーGSVから指示された値を基にローカルモデルLMkのパラメータを更新する。
【0164】
なお、
図12に示したパラメータ演算部62は、ロス演算部234とパラメータ更新量演算部237とを含み、
図12に示した通信部64はデータ取得部220とデータ出力部250として機能し得る。
【0165】
[グローバルサーバーGSVの機能的構成の例1]
図18は、グローバルサーバーGSVの機能的構成の例1を示す機能ブロック図である。
図18に示すグローバルサーバーGSVは、
図16および
図17で説明したように、ドメイン正則化によってモデル間の差を小さくするようにローカルモデルLMkの学習を制御する。
【0166】
グローバルサーバーGSVは、データ取得部420と、データ保存部422と、グローバル学習部430と、データ出力部450と、を含む。データ取得部420は、各施設kのローカル学習装置LTkからローカルモデルLMkのパラメータを含むローカルモデル情報を取得する。データ取得部420は、ローカルモデルLMkのパラメータのみを取得してもよいし、ローカルモデルLMkの特定に必要な全ての情報(例えば、ローカルモデルLMkのコピー)を取得してもよい。
【0167】
データ取得部420を介して取得された各ローカルモデルLMkのパラメータの値はデータ保存部422に保存される。
【0168】
グローバル学習部430は、モデル間差評価部74と、学習補正部78と、グローバルモデル生成部80と、を含む。モデル間差評価部74は、ドメイン正則化演算部76を含む。ドメイン正則化演算部76は、
図16のステップ2として説明したように、ロス関数Lにおけるドメイン正則化部分の演算を行う。
【0169】
学習補正部78は、モデル間差評価部74による演算結果を基に、ローカルモデルLMkの学習を補正する指示を行う。例えば、学習補正部78は、ドメイン正則化演算部76により算出したドメイン正則化部分の偏微分の値と共にローカルモデルLMkのパラメータの更新を指示する制御信号としての学習補正指示を出力する。学習補正部78からの学習補正指示はデータ出力部450を介してローカル学習装置LTkに送信される。
【0170】
グローバルモデル生成部80は、取得したローカルモデルLMkのパラメータに基づき、グローバルモデルGMを構築する。グローバルモデル生成部80は、
図15で説明したステップ1からステップ3の繰り返しにより各ローカルモデルLMkのパラメータが収束した後に、グローバルモデルGMを生成する。
【0171】
また、グローバルモデル生成部80は、ローカルモデルLMkのパラメータが収束していない段階においても、ローカルモデルLMkの最新のパラメータを用いて暫定的なグローバルモデルGMを生成し、ローカルモデルLMkのパラメータの更新に応じて、グローバルモデルGMのパラメータを更新してもよい。グローバルモデルGMのモデルパラメータはデータ出力部450を介してローカル学習装置LTk等の外部装置に送信することができる。
【0172】
[ドメイン正則化と一般的な正則化との違いについて]
本実施形態におけるドメイン汎化性のための「正則化」は、機械学習において一般的な正則化(例えば、L1正則化など)とは概念が異なる。一般的な正則化に関して、例えば、ラッソ(Lasso)回帰のモデルを例に示すと、モデルとロス関数は、例えば、それぞれ、式(4)と式(5)のように表現することができる。
【0173】
y=w1*x1+w2*x2 (4)
L=(y-y_true)2+|w1|+|w2| (5)
この場合、式(5)の右辺の第1項は予測誤差部分である。第2項と第3項のように、重要でないパラメータが小さく(ゼロに)なるようなロスを導入することが、一般的な正則化である。
【0174】
これに対して、ドメイン汎化性のための正則化(ドメイン正則化)は、例えば、ドメイン1の予測モデルが式(6)、ドメイン2の予測モデルが式(7)のように表現される場合、例えば式(8)のようなロス関数が用いられる。
【0175】
y=w1_d1*x1+w2_d1*x2 (6)
y=w1_d2*x1+w2_d2*x2 (7)
L=(y-y_true)2
+|w1_d1-w1_d2|+|w2_d1-w2_d2| (8)
式(8)の右辺の第2項と第3項のように、ドメイン正則化においては、ドメイン間のパラメータの差が小さくなるようなロスを導入することを指す。
【0176】
図15の説明では、ドメイン間のパラメータの差を評価するために、式(8)の第2項と第3項の代わりに、式(2)の第2項と第3項のようなドメイン正則化部分を用いている。
【0177】
〔機械学習方法の第2例:特徴量選択アプローチ〕
図19は、機械学習システム50によって行われる機械学習方法の第2例の概要を示す説明図である。ここでは、モデルにおける特徴量を選択することにより、モデル間の差を小さくする例を示す。
図19において、
図15と異なる点を説明する。
図19のステップ1は、
図15のステップ1と同様である。
図15のステップ2~3の代わりに、ステップ2B~ステップ3Bが実施される。
【0178】
[ステップ2B]
ステップ2Bでは、グローバルサーバーGSVが各ローカルモデルLMkのパラメータを取得し、各特徴量の重み(パラメータ)のモデル間の差を算出する。グローバルサーバーGSVは、例えば、次式(9)により、特徴量x1の重みのモデル間の差を算出する。
【0179】
Diff_w1=|w1_d1-w1_d2|+|w1_d2-w1_d3|+|w1_d3-w1_d1| (9)
同様に、次式(10)により、特徴量x2の重みのモデル間の差を算出する。
【0180】
Diff_w2=|w2_d1-w2_d2|+|w2_d2-w2_d3|+|w2_d3-w2_d1| (10)
ここでは、2つの特徴量x1、x2の重みを例示するが、実際にはさらに多数の特徴量のそれぞれの重みについてモデル間の差が算出される。
【0181】
[ステップ3B]
ステップ3Bでは、グローバルサーバーGSVはモデル間の重みの差が小さい特徴量を選択する(残す)ようにローカルモデルLMkに指示する。また、グローバルサーバーGSVはモデル間の重みの差が大きい特徴量は除外するようにローカルモデルLMkに指示する。モデル間の重みの差が大きい特徴量はドメインシフトに対する普遍性が低いためである。
【0182】
例えば、
図19のように、特徴量x2の重みのモデル間の差が非常に大きい場合、グローバルサーバーGSVは、ローカルモデルLMkに対して特徴量x2を除外する指示を出す。
【0183】
〔モデル表現と交差特徴量について〕
推薦技術の場合、特徴量間の相互作用が重要なことが多いため、交差特徴量も考慮することが好ましい。例えば、ローカルモデルLMkは、次式(11)のように表現され得る。
【0184】
y=(w_11_d1*x_u1*x_i1+w_12_d1*x_u1*x_i2+w_13_d1*x_u1*x_i3)+(w_21_d1*x_u2*x_i1+w_22_d1*x_u2*x_i2+w_23_d1*x_u2*x_i3)+(w_31_d1*x_u3*x_i1+w_32_d1*x_u3*x_i2+w_33_d1*x_u3*x_i3)+(w_u1_d1*x_u1+w_u2_d1*x_u2+w_u3_d1*x_u3)+(w_i1_d1*x_i1+w_i2_d1*x_i2+w_i3_d1*x_i3) (11)
式(11)中のx_u1、x_u2およびx_u3のそれぞれは、あるユーザーuがユーザー属性1、2、3に該当していればそれぞれの値が1、そうでなければ0になる。また、式(11)中のx_i1、x_i2およびx_i3のそれぞれは、あるアイテムiがアイテム属性1、2、3に該当していればそれぞれの値が1、そうでなければ0になる。
【0185】
例えば、ユーザーによるアイテムの購入予測を行うモデルの場合、式(11)の右辺の第1項から第9項までの和の部分「(w_11_d1*x_u1*x_i1+w_12_d1*x_u1*x_i2+w_13_d1*x_u1*x_i3)+(w_21_d1*x_u2*x_i1+w_22_d1*x_u2*x_i2+w_23_d1*x_u2*x_i3)+(w_31_d1*x_u3*x_i1+w_32_d1*x_u3*x_i2+w_33_d1*x_u3*x_i3)」は、あるユーザー属性のユーザーがあるアイテム属性のアイテムを購入する確率が高いかどうかを評価する部分である。
【0186】
式(11)の右辺の第10項から第12項までの和の部分「(w_u1_d1*x_u1+w_u2_d1*x_u2+w_u3_d1*x_u3)」は、あるユーザー属性のユーザーは購入率が高いかどうかを評価する部分である。式(11)の右辺の第13項から第15項までの和の部分「(w_i1_d1*x_i1+w_i2_d1*x_i2+w_i3_d1*x_i3)」は、あるアイテム属性のアイテムは購入されやすいかどうかを評価する部分である。
【0187】
図15を用いて説明したドメイン正則化のロスは、交差特徴量の重みに対しても同様に定義できる。例えば、ロス関数におけるドメイン正則化部分として、次式(12)のようなドメイン正則化のロスを導入し得る。
【0188】
(w_11_d1-(w_11_d2+w_11_d3)/2)2+(w_12_d1-(w_12_d2+w_12_d3)/2)2+ … . (12)
また、交差特徴量に対する特徴量選択については、例えば、|w_32_d1-(w_32_d2+w_32_d3)/2|が大きい場合、x_u3*x_i2の組合せ(交差特徴量)を予測モデルから除外する。この場合、式(11)から交差特徴量x_u3*x_i2の項が削除され、次式(13)のような予測式となる。
【0189】
y=(w_11_d1*x_u1*x_i1+w_12_d1*x_u1*x_i2+w_13_d1*x_u1*x_i3)+(w_21_d1*x_u2*x_i1+w_22_d1*x_u2*x_i2+w_23_d1*x_u2*x_i3)+(w_31_d1*x_u3*x_i1+w_33_d1*x_u3*x_i3)+(w_u1_d1*x_u1+w_u2_d1*x_u2+w_u3_d1*x_u3)+(w_i1_d1*x_i1+w_i2_d1*x_i2+w_i3_d1*x_i3) (13)
【0190】
〔交差特徴量の重み表現の例1〕
交差特徴量の重みを、個々の特徴量のエンベディング(embedding)表現をもとに算出してもよい。例えば、ドメインd1におけるユーザー属性1のベクトルをVk_u^1_d1、アイテム属性2のベクトルをV_i^2_d1とする場合、ユーザー属性1とアイテム属性2の交差特徴量の重みw_12_d1は、次式(14)で表すことができる。
【0191】
w_12_d1=f(Vk_u^1_d1,Vk_i^2_d1)
=Vk_u^1_d1 ・ Vk_i^2_d1 (14)
fは任意の関数であり、例えば、内積であってもよい。
【0192】
他の交差特徴量の重みも同様の表現が可能である。
【0193】
図20に、ドメインd1におけるユーザー属性とアイテム属性のそれぞれのベクトル表現の例を示す。ここでは、ユーザー属性1~3とアイテム属性1~3の例を示し、それぞれの属性が5次元のベクトルで表現される例を示す。
【0194】
この場合、交差特徴量の重みは、式(14)と同様に、2つの属性ベクトルの組合せによる関数、例えば、内積により表現される。他のドメインd2、d3・・・でも同様の表現が可能である。
【0195】
〔交差特徴量の重み表現の例2〕
モデルの予測式に用いる特徴量x1、x2は属性データに限らず、ユーザーやアイテムにIDレベルで対応していてもよい。例えば、ユーザーIDがuでアイテムIDがiのとき、IDレベルの交差特徴量は、次式(15)で表される。
【0196】
y=w_ui_d1=θu_d1・φi_d1 (15)
θu_d1とφi_d1は、ドメインd1におけるユーザーIDがuのベクトルとアイテムIDがiのベクトルを表す。
【0197】
ユーザーIDがuaでアイテムIDがiaのとき、IDレベルの交差特徴量は、次式(16)で表される。
【0198】
y=w_uaia_d1=θua_d1・φia_d1 (16)
また、予測式は、IDレベルの交差特徴量と属性レベルでの交差特徴量を組み合わせてもよい。例えば、予測式は、次式(17)のように表現してもよい。
【0199】
y=w_ui_d1
+(w_11_d1*x_u1*x_i1+w_12_d1*x_u1*x_i2+w_13_d1*x_u1*x_i3)+(w_21_d1*x_u2*x_i1+w_22_d1*x_u2*x_i2+w_23_d1*x_u2*x_i3)+(w_31_d1*x_u3*x_i1+w_32_d1*x_u3*x_i2+w_33_d1*x_u3*x_i3)+(w_u1_d1*x_u1+w_u2_d1*x_u2+w_u3_d1*x_u3)+(w_i1_d1*x_i1+w_i2_d1*x_i2+w_i3_d1*x_i3) (17)
他のドメインd2、d3、・・・でも同様である。
【0200】
[情報処理装置100の機能的構成の例2]
図21は、ローカル学習装置LTkとして機能する情報処理装置100の機能的構成の例2を示す機能ブロック図である。
図21に示す情報処理装置100は、グローバルサーバーGSVの指示に従い、
図19で説明した特徴量選択によってモデル間の差を小さくするように、ローカルモデルLMkの学習を行う。
図21に示す構成について、
図17と共通する要素には同一の符号を付し、重複する説明は省略する。
図21に示す情報処理装置100は、
図17のローカル学習部230の代わりに、ローカル学習部230Bを含む。ローカル学習部230Bは、グローバルサーバーGSVからの学習補正指示に基づきローカルモデルLMkの特徴量を選択する特徴量選択部233を含む。特徴量選択部233は、グローバルサーバーGSVからの学習補正指示に基づき、モデル間でパラメータ差が相対的に大きい特徴量を削除してローカルモデルLMkを更新する処理を行う。その他の構成は、
図17と同様であってよい。
【0201】
情報処理装置100は、
図17で説明したドメイン正則化によるパラメータの更新処理と、特徴量選択によるモデルの更新処理との両方を実施してもよい。
【0202】
[グローバルサーバーGSVの機能的構成の例2]
図22は、グローバルサーバーGSVの機能的構成の例2を示す機能ブロック図である。
図22に示すグローバルサーバーGSVは、特徴量ごとにモデル間のパラメータ差を評価して、パラメータ差の大きい特徴量を削除するように特徴量の選択を行う。
図22に示す構成について、
図18と共通する要素には同一の符号を付し、重複する説明は省略する。
図22に示すグローバルサーバーGSVは、
図18のグローバル学習部430の代わりに、グローバル学習部430Bを含む。グローバル学習部430Bのモデル間差評価部74は、特徴量ごとにモデル間のパラメータ差(重みのモデル間の差)を評価する特徴量別パラメータ差演算部77を含む。特徴量別パラメータ差演算部77は、
図19のステップ2Bの処理を行う。また、学習補正部78は、特徴量別パラメータ差演算部77の演算結果に基づき、特徴量を選択する特徴量選択部79を含む。特徴量選択部79は、
図19のステップ3Bの処理を行う。その他の構成は、
図19と同様であってよい。
【0203】
なお、グローバル学習部430Bにおいて、特徴量が選択された補正後のローカルモデルLMkを生成し、この特徴量選択が行われたローカルモデルLMkをローカル学習装置LTk側に返してもよい。この場合、情報処理装置100は、保持しているローカルモデルLMkをグローバルサーバーGSVから受信したローカルモデルLMkに更新する。
図21で説明した情報処理装置100の特徴量選択部233の処理機能は、グローバルサーバーGSVの特徴量選択部79に含まれていてもよい。
【0204】
グローバルサーバーGSVは、
図18で説明したドメイン正則化の演算処理と、特徴量選択の処理との両方を実施してもよい。
【0205】
〔具体的な適用例〕
ここでは、企業向けの社内文書推薦システムの場合を考える。学習および評価用のデータとして、企業1、企業2および企業3のそれぞれの行動履歴(ここでは文書の閲覧履歴)データがあるものとする。
図23は、企業1におけるユーザーのアイテムに対する行動履歴のデータの例である。ここでの「アイテム」は文書である。
図23に示すテーブルは、「時間」、「ユーザーID」、「アイテムID」、「ユーザー属性1」、「ユーザー属性2」、「アイテム属性1」「アイテム属性2」および「閲覧有無」のカラムを含む。
【0206】
「時間」は、アイテムを閲覧した日時である。「ユーザーID」は、ユーザーを特定する識別符号であり、各ユーザーに対して固有のID(identification)が定義されている。アイテムIDはアイテムを特定する識別符号であり、各アイテムに対して固有のIDが定義されている。「ユーザー属性1」は例えばユーザーの所属部門である。「ユーザー属性2」は例えばユーザーの年代である。「アイテム属性1」は例えばアイテムの分類カテゴリーとしての文書種類である。「アイテム属性2」は例えばアイテムのファイルタイプである。「閲覧有無」は閲覧された場合(閲覧有り)の値が「1」となる。なお、閲覧していないアイテムは膨大なため、閲覧したアイテム(閲覧有無=1)のみレコードに記録するのが一般的である。
【0207】
図23における「閲覧有無」は目的変数Yの一例であり、「ユーザー属性1」、「ユーザー属性2」、「アイテム属性1」、および「アイテム属性2」のそれぞれは説明変数Xの一例である。説明変数Xの種類数およびその組み合わせについては、
図23の例に限らない。説明変数Xとして、さらに不図示のコンテキスト1、コンテキスト2、ユーザー属性3、およびアイテム属性3などを含んでもよい。
【0208】
企業2および企業3についてもそれぞれ同様の行動履歴のデータがある。各企業のデータを外部に持ち出すことはできないことを想定する。この場合、まず企業ごとにローカルな予測モデル(ローカルモデル)を学習する。特徴量としてユーザー属性1(所属部門)、ユーザー属性2(年代)、アイテム属性1(文書種類)、およびアイテム属性2(ファイルタイプ、を用い、交差特徴量も用いたロジスティック回帰モデルを用いる。
【0209】
学習はSGDを用い、指定された学習レートにより、指定された回数の更新を行う。学習した結果、個々のローカルモデルLMkごとに各特徴量の重みが求まる。
【0210】
次に、各ローカルモデルLMkをグローバルサーバーGSVに転送する。このとき、学習に用いたデータは転送しない。
【0211】
グローバルサーバーGSVでは、企業1のローカルモデルLM1の各重みについて、企業2のローカルモデルLM2の各重みと企業3のローカルモデルLM3の各重みの平均との差をとる。グローバルサーバーGSVは、この差に一定値をかけた値を、企業1のローカルモデルLM1から差し引くように指示する。または、差し引いたパラメータを企業1のローカルモデルLM1に返す。企業2のローカルモデルLM2と企業3のローカルモデルLM3に対しても同様の操作を行う。
【0212】
上記のローカルモデル学習とパラメータ修正のステップを、予測誤差と重みの差が収束するまで繰り返し行う。これにより、各企業固有の特性ではなく、普遍的な特性による予測モデルが構築される。
【0213】
例えば、企業1は年代が高いほど文書閲覧率が高いが、企業2と企業3にその傾向が見られない場合、年代と閲覧率の関係は普遍性のない特性のため予測モデルの重みは小さくなる。つまり、企業1の年代に対する重みが小さくなり、その分普遍的な特性を持つ特徴量に重みが割り振られる。一方、営業部門だと商品カタログを閲覧する確率が高いという傾向は企業1―3で共通である場合、企業1-3のローカルモデルLM1-LM3のいずれも、この交差特徴量に対する重みが高いため、重みは保持される。
【0214】
〔モデル表現について〕
説明変数Xと目的変数Yの同時確率分布を表現する手段は、特に限定されず、例えば、行列分解(Matrix Factorization)、ロジスティック回帰(logistic regression)、あるいはナイーブベイズ(Naive Bayes)などを適用し得る。任意の予測モデルの場合も、出力スコアを確率P(Y|X)に近くなるようにキャリブレーションを行うことで、同時確率分布表現の手段に利用できる。例えば、SVM(Support Vector Machine)、GDBT(Gradient Boosting Decision Tree)、および任意のアーキテクチャのニューラルネットワークモデルなども利用可能である。
【0215】
〔近傍ベースの協調フィルタリングへの応用〕
ユーザーのアイテムに対する行動を予測する手法として、ユーザー間やアイテム間の関係性を基にした近傍ベースの協調フィルタリングを適用してもよい。協調フィルタリングは、例えば、アイテムAを閲覧している人はアイテムBも閲覧している、というような相関を用いる手法である。その場合、アイテムAを閲覧した人はアイテムBも閲覧しているという、アイテムAとアイテムBとの相関がドメインによって普遍的かどうかに対して、ドメイン正則化や特徴量選択を適用する。つまり、相関係数が近くなるように制約したり、相関係数が大きく異なる関係性は予測モデルの特徴量から除外したりする。
【0216】
[近傍ベースの協調フィルタリングの例]
近傍ベースの協調フィルタリングの場合、ユーザーがアイテムを閲覧する確率の予測値yは、例えば、次式(18)で表現される。
【0217】
y=Σ s_ij_d1 × r_uj (18)
式(18)中のr_ujは、ユーザーuがアイテムjとインタラクション(ここでは閲覧)していたら「1」、インタラクションしていなければ「0」の値をとる。
【0218】
s_ij_d1は、ドメインd1におけるアイテムiとアイテムjの相関係数である。
【0219】
つまり、ユーザーuがアイテムiを閲覧する確率の予測であるyは、アイテムiと相関の高いアイテムをユーザーuが過去に閲覧しているほど大きくなる。
【0220】
s_ij_d1は、例えばジャッカード指数による計算方法では、次の式(19)により求められる。
【0221】
(アイテムiとjの両方を閲覧したユーザー数)/(アイテムiとjの少なくてもいずれかは閲覧したユーザー数) (19)
【0222】
[近傍ベースの協調フィルタリングの場合における特徴量選択の例]
ドメイン間でs_ijが大きく異なる場合は、そのアイテム間の相関を予測式から除外する(s_ijを0にする)ことが好ましい。例えば、次式(20)の値が一定値以上であればs_ij_d1、s_ij_d2、およびs_ij_d3を予測式から除外し(すなわち値を0にし)、一定値未満であれば除外しない(これら相関係数を元のまま用いる)。
【0223】
|s_ij_d1-s_ij_d2|+|s_ij_d2-s_ij_d3|+|s_ij_d3-s_ij_d1| (20)
【0224】
〔コンピュータを動作させるプログラムについて〕
情報処理装置100およびグローバルサーバーGSVにおける処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、もしくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
【0225】
またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
【0226】
さらに、情報処理装置100およびグローバルサーバーGSVにおける処理機能の一部または全部をクラウドコンピューティングによって実現してもよく、また、SaaS(Software as a Service)として提供することも可能である。
【0227】
〔各処理部のハードウェア構成について〕
情報処理装置100におけるパラメータ演算部62、通信部64、データ取得部220、ローカル学習部230、サンプリング部232、特徴量選択部233、ロス演算部234、パラメータ更新量演算部237、およびパラメータ更新部238、ならびに、グローバルサーバーGSVにおける通信部72、モデル間差評価部74、パラメータ演算部75、ドメイン正則化演算部76、特徴量別パラメータ差演算部77、学習補正部78、特徴量選択部79、およびグローバルモデル生成部80などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
【0228】
各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、GPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【0229】
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、あるいは、CPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバーなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
【0230】
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
【0231】
〔実施形態による利点〕
上述した実施形態によれば、複数の施設のデータを施設外において共有できない場合であっても、施設の違いに対してロバストな性能を持つモデルを学習することが可能である。本実施形態によれば、モデルを学習する際に、各施設のデータを施設からに持ち出すことができない場合にも、施設の特性によらない普遍的なモデルを生成することが可能であり、ドメインシフトにロバストな推薦アイテムリストの提供を実現することが可能になる。
【0232】
〔実施形態の変形例〕
上述した実施形態では、連合学習の例を説明したが、複数のローカルモデルLMkのモデル間の差が小さくなるように制約条件を付して学習を行うことによってモデルにドメイン汎化性を持たせるという本開示の技術は、連合学習に限らない。例えば、複数の施設のデータの共有が可能である場合、あるいは、データの持ち出しが可能である場合などにおいて、1つ以上のコンピュータを含むシステムが、複数の施設のそれぞれのデータを用いて施設ごとのローカルモデルLMkの学習を行い、それらのモデル間の差が小さくなるように、それぞれの学習を制御することにより、ドメイン汎化性を持つモデルを生成してもよい。
【0233】
〔他の応用例〕
図23では企業における文書の閲覧を例に説明したが、本開示の適用範囲はこの例に限らない。例えば、病院などの医療施設におけるに医用画像や各種の文書等の閲覧、小売店の店舗におけるユーザーの購買行動、あるいはコンテンツ提供サイトにおける動画等のコンテンツの視聴など、用途を問わず、様々なアイテムに関するユーザーの行動予測を行うモデルについて本開示の技術を適用できる。
【0234】
〔その他〕
本開示は上述した実施形態に限定されるものではなく、本開示の技術的思想の趣旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【0235】
10 推薦システム
12 予測モデル
14 モデル
50 機械学習システム
52 電気通信回線
62 パラメータ演算部
64 通信部
72 通信部
74 モデル間差評価部
75 パラメータ演算部
76 ドメイン正則化演算部
77 特徴量別パラメータ差演算部
78 学習補正部
79 特徴量選択部
80 グローバルモデル生成部
100 情報処理装置
102 プロセッサ
104 コンピュータ可読媒体
106 通信インターフェース
108 入出力インターフェース
110 バス
112 メモリ
114 ストレージ
130 ローカル学習プログラム
136 ローカルデータ記憶部
152 入力装置
154 表示装置
220 データ取得部
222 データ保存部
230 ローカル学習部
230B ローカル学習部
232 サンプリング部
233 特徴量選択部
234 ロス演算部
236 オプティマイザ
237 パラメータ更新量演算部
238 パラメータ更新部
250 データ出力部
302 プロセッサ
304 コンピュータ可読媒体
306 通信インターフェース
308 入出力インターフェース
310 バス
312 メモリ
314 ストレージ
330 モデル間差評価プログラム
332 学習制御プログラム
334 グローバルモデル生成プログラム
352 入力装置
354 表示装置
420 データ取得部
422 データ保存部
422 データ保存部
430 グローバル学習部
430B グローバル学習部
450 データ出力部
IT1 アイテム
IT2 アイテム
IT3 アイテム
M1 モデル
M2 モデル
Mn モデル
LD1、LD2、LD3、LDk、LDn ローカルデータ
LM1、LM2、LM3、LMk、LMn ローカルモデル
LT1、LT2、LT3、LTk、LTn ローカル学習装置
S10~S18 機械学習方法のステップ