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

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

▶ 株式会社日本総合研究所の特許一覧

特開2023-128056プログラム、情報処理装置、及び情報処理方法
<>
  • 特開-プログラム、情報処理装置、及び情報処理方法 図1
  • 特開-プログラム、情報処理装置、及び情報処理方法 図2
  • 特開-プログラム、情報処理装置、及び情報処理方法 図3
  • 特開-プログラム、情報処理装置、及び情報処理方法 図4
  • 特開-プログラム、情報処理装置、及び情報処理方法 図5
  • 特開-プログラム、情報処理装置、及び情報処理方法 図6
  • 特開-プログラム、情報処理装置、及び情報処理方法 図7
  • 特開-プログラム、情報処理装置、及び情報処理方法 図8
  • 特開-プログラム、情報処理装置、及び情報処理方法 図9
  • 特開-プログラム、情報処理装置、及び情報処理方法 図10
  • 特開-プログラム、情報処理装置、及び情報処理方法 図11
  • 特開-プログラム、情報処理装置、及び情報処理方法 図12
  • 特開-プログラム、情報処理装置、及び情報処理方法 図13
  • 特開-プログラム、情報処理装置、及び情報処理方法 図14
  • 特開-プログラム、情報処理装置、及び情報処理方法 図15
  • 特開-プログラム、情報処理装置、及び情報処理方法 図16
  • 特開-プログラム、情報処理装置、及び情報処理方法 図17
  • 特開-プログラム、情報処理装置、及び情報処理方法 図18
  • 特開-プログラム、情報処理装置、及び情報処理方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128056
(43)【公開日】2023-09-14
(54)【発明の名称】プログラム、情報処理装置、及び情報処理方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230907BHJP
   G06Q 30/02 20230101ALI20230907BHJP
   G06N 3/02 20060101ALI20230907BHJP
【FI】
G06N20/00 130
G06Q30/02
G06N3/02
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022032109
(22)【出願日】2022-03-02
(71)【出願人】
【識別番号】302064762
【氏名又は名称】株式会社日本総合研究所
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】近藤 浩史
(72)【発明者】
【氏名】森 毅
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB01
(57)【要約】
【課題】非重複特徴量の情報を連合学習に活用可能とするプログラム等を提供すること。
【解決手段】プログラムは、複数のエンティティで共通する重複特徴量を取得し、複数のエンティティで共通しない非重複特徴量を取得し、前記非重複特徴量に基づき集約特徴量を生成し、生成した前記集約特徴量及び前記重複特徴量と目的変数とに基づきモデルを生成する処理をコンピュータに実行させる。
【選択図】図10
【特許請求の範囲】
【請求項1】
複数のエンティティで共通する重複特徴量を取得し、
複数のエンティティで共通しない非重複特徴量を取得し、
前記非重複特徴量に基づき集約特徴量を生成し、
生成した前記集約特徴量及び前記重複特徴量と目的変数とに基づきモデルを生成する
処理をコンピュータに実行させるプログラム。
【請求項2】
前記モデルを、前記複数のエンティティ間で連合学習を実行する情報処理装置へ送信し、
該情報処理装置で各エンティティのモデルで連合学習された後のモデルを受信する
請求項1に記載のプログラム。
【請求項3】
非重複特徴量グループに基づき前記目的変数を予測する第1モデルを生成し、
異なる非重複特徴量グループ及び生成した前記第1モデルに基づき前記集約特徴量を生成する
請求項1又は請求項2に記載のプログラム。
【請求項4】
非重複特徴量グループ毎に前記第1モデルを生成し、
異なる非重複特徴量及び生成した各第1モデルに基づきグループ毎に前記集約特徴量を生成し、
生成した全グループの前記集約特徴量及び前記重複特徴量と前記目的変数とに基づきモデルを生成する
請求項3に記載のプログラム。
【請求項5】
第1のエンティティの非重複特徴量に基づき、前記目的変数を予測する第2モデルを生成し、
第2モデルの予測に寄与する非重複特徴量の項目を特定し、
重複特徴量から特定した項目に対応する非重複特徴量を予測する第2の2モデルを生成し、
生成した第2の2モデルに重複特徴量を入力して前記項目の集約特徴量を生成する
請求項1又は請求項2に記載のプログラム。
【請求項6】
前記第2の2モデルを第2のエンティティへ送信する
請求項5に記載のプログラム。
【請求項7】
前記第2のエンティティにおいて、前記第2の2モデルへ重複特徴量を入力して前記項目の集約特徴量を生成する
請求項6に記載のプログラム。
【請求項8】
第1のエンティティの非重複特徴量を入力した場合に重複特徴量又は目的変数を生成するエンコーダ及びデコーダを含む第3モデルを生成し、
非重複特徴量を前記エンコーダに入力して集約特徴量を出力し、
デコーダを第2のエンティティへ出力する
請求項1に記載のプログラム。
【請求項9】
前記第2のエンティティにおいて、前記デコーダを含む第4の2モデル生成し、
生成した第4の2モデルに非重複特徴量を入力して集約特徴量を生成する
生成する請求項8に記載のプログラム。
【請求項10】
第2のエンティティの非重複特徴量を入力した場合に重複特徴量を生成するエンコーダ及びデコーダを含む第4モデルを生成し、
非重複特徴量を前記エンコーダに入力して集約特徴量を出力し、
デコーダを第1のエンティティへ出力する
請求項1に記載のプログラム。
【請求項11】
複数のエンティティで共通する重複特徴量を取得する第1取得部と、
複数のエンティティで共通しない非重複特徴量を取得する第2取得部と、
前記非重複特徴量に基づき集約特徴量を生成する生成部と、
生成した前記集約特徴量及び前記重複特徴量と目的変数とに基づきモデルを生成するモデル生成部とを
備える情報処理装置。
【請求項12】
第1のエンティティ及び第2のエンティティで共通しない第1非重複特徴量に基づき、前記第1のエンティティが第1集約特徴量を生成しており、生成された第1集約特徴量、及び、前記第1のエンティティと第2のエンティティとで共通する第1重複特徴量と、第1目的変数とに基づき生成された第1モデルを取得し、
前記第1のエンティティ及び第2のエンティティで共通しない第2非重複特徴量に基づき、前記第2のエンティティが第2集約特徴量を生成しており、生成させた第2集約特徴量、及び、前記第1のエンティティと第2のエンティティとで共通する第2重複特徴量と、第2目的変数とに基づき生成された第2モデルを取得し、
取得した第1モデル及び第2モデルに基づき連合モデルを生成し、
生成した連合モデルを前記第1のエンティティ及び第2のエンティティに出力する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連合学習に関するプログラム等に関する。
【背景技術】
【0002】
情報処理技術の進化に伴い、データ分析などを目的として異なる事業者間でデータを共有することが重要視されている。しかし、プライバシ保護の観点から、顧客の同意を得ることなく個人の特定につながるデータを事業者間で共有することはできない。そこで、プライバシを保護した状態のままデータを分析する手法が提案されている。例えば特許文献1には、連合学習を行う連合サーバが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2020-528589号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
連合学習では、異なるエンティティ間でどのようなデータの共通性があるかによって、2種類の学習方法がある。各エンティティが異なる特徴量のデータを保有し、全てのエンティティが保有するデータは同一の対象のものである場合、垂直連合学習を行う。すべてのエンティティが同じ特徴量のデータを多く保有し、各エンティティが異なる対象についてのデータを保有している場合、水平連合学習を行う。
【0005】
水平連合学習を行う場合、学習に使用できる特徴量は、エンティティ間で共通する特徴量に限られる。以下、共通する特徴量を重複特徴量、共通しない特徴量を非重複特徴量という。一般に、複数の企業間で水平連合学習を行う場合、同一業界に属する企業間であれば、複数の重複特徴量があることが期待される。しかしながら、機械学習モデルの構築において、非重複特徴量に重要な情報が含まれていた場合、重要な情報が欠落してしまうことで、学習モデルの性能が低下してしまう。本発明はこのような状況に鑑みてなされたものである。その目的は、非重複特徴量の情報を連合学習に活用可能とするプログラム等の提供である。
【課題を解決するための手段】
【0006】
本願の一態様に係るプログラムは、複数のエンティティで共通する重複特徴量を取得し、複数のエンティティで共通しない非重複特徴量を取得し、前記非重複特徴量に基づき集約特徴量を生成し、生成した前記集約特徴量及び前記重複特徴量と目的変数とに基づきモデルを生成する処理をコンピュータに実行させる。
【発明の効果】
【0007】
本願の一観点によれば、非重複特徴量の情報が連合学習に活用可能となる。
【図面の簡単な説明】
【0008】
図1】連合学習システムの構成例を示す説明図である。
図2】第1情報処理装置のハードウェア構成例を示す説明図である。
図3】第2情報処理装置のハードウェア構成例を示す説明図である。
図4】中央サーバのハードウェア構成例を示す説明図である。
図5】A社の顧客DBの例を示す説明図である。
図6】B社の顧客DBの例を示す説明図である。
図7】顧客情報の対比例を示す説明図である。
図8】顧客情報の分割状況を示す説明図である。
図9】予測モデルの訓練、予測スコアの算出を示す説明図である。
図10】連合学習処理の手順例を示すフローチャートである。
図11】予測スコア算出処理の手順例を示すフローチャートである。
図12】第0予測モデルの学習に関する説明図である。
図13】第1の1予測モデルと、第1の2予測モデルの構築に関する説明図である。
図14】連合学習処理の他の手順例を示すフローチャートである。
図15】パターン1モデル及びパターン2モデルの構造を示す説明図である。
図16】パターン1モデルBA及びパターン2モデルBAの構造を示す説明図である。
図17】中間表現を得る処理を示す説明図である。
図18】学習に用いる特徴量の例を示す説明図である。
図19】連合学習処理の他の手順例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下実施の形態を、図面を参照して説明する。図1は連合学習システムの構成例を示す説明図である。連合学習システム100には複数の企業が参加している。各企業は既存顧客の情報を用いて生成した学習モデルを保有している。当該学習モデルを用いることより、新規顧客に対する営業戦略等を立案している。例えば、A社は顧客情報を記憶する第1情報処理装置1を利用している。同様にB社は第2情報処理装置2を、C社は第3情報処理装置3を、D社は第4情報処理装置4を利用している。第1情報処理装置1等は必ずしも各企業が保有し、各企業の事務所に設置されていなくともよい。第1情報処理装置1等をデータセンタに設置してもよいし、各企業は情報処理装置を保有することなく、情報処理装置が備えるべき機能をクラウドサービスで提供を受けてもよい。また、各企業が保有する顧客情報を第1情報処理装置1等に記憶させるのではなく、データセンタのデータベースやクラウドストレージに記憶させてもよい。連合学習システム100は参加している複数の企業が共同利用する中央サーバCSを含む。中央サーバCSは必須ではなく、中央サーバCSが担う機能を、第1情報処理装置1や第2情報処理装置2等、代表の企業が利用する情報処理装置が担ってもよい。
【0010】
以下の説明においては、金融機関であるA社及びB社が水平連合学習を用いて個人ローンのデフォルト(債務不履行)予測を行う与信モデルを構築する場合を例に説明する。なお、本明細書において、エンティティとは、組織や団体など実存する概念のことを指す。ここではエンティティの例として、会社であるA社、B社を挙げているが、病院などの医療機関や、学校などの教育機関もエンティティに該当する。おな、A社は第1のエンティティの一例であり、B社は第2のエンティティの一例である。
【0011】
図2は第1情報処理装置のハードウェア構成例を示す説明図である。第1情報処理装置1はサーバコンピュータ等で構成する。第1情報処理装置1は制御部11、主記憶部12、補助記憶部13、通信部15及び読み取り部16を含む。制御部11、主記憶部12、補助記憶部13、通信部15及び読み取り部16はバスBにより接続されている。
【0012】
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有する。制御部11は、補助記憶部13に記憶された制御プログラム1P(プログラム、プログラム製品)を読み出して実行することにより、第1情報処理装置1に係る所定の情報処理、制御処理等を行い、各種の機能部を実現する。
【0013】
主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等である。主記憶部12は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。
【0014】
補助記憶部13はハードディスク又はSSD(Solid State Drive)等であり、制御部11が処理を実行するために必要な制御プログラム1Pや各種DB(Database)を記憶する。補助記憶部13は、顧客DB131を記憶する。また、補助記憶部13は与信モデル141及び予測モデル142を記憶する。
【0015】
通信部15はネットワークNを介して、第2情報処理装置2等と通信を行う。また、制御部11が通信部15を用い、ネットワークN等を介して他のコンピュータから制御プログラム1Pをダウンロードし、補助記憶部13に記憶してもよい。
【0016】
読み取り部16はCD(Compact Disc)-ROM及びDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読み取り部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、補助記憶部13に記憶してもよい。また、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでもよい。
【0017】
図3は第2情報処理装置のハードウェア構成例を示す説明図である。第2情報処理装置2は制御部21、主記憶部22、補助記憶部23、通信部25及び読み取り部26を含む。制御部21、主記憶部22、補助記憶部23、通信部25及び読み取り部26はバスBにより接続されている。
【0018】
制御部21は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部21は、補助記憶部23に記憶された制御プログラム2P(プログラム、プログラム製品)を読み出して実行することにより、第2情報処理装置2に係る所定の情報処理、制御処理等を行い、各種の機能部を実現する。
【0019】
主記憶部22は、SRAM、DRAM、フラッシュメモリ等である。主記憶部22は主として制御部21が演算処理を実行するために必要なデータを一時的に記憶する。
【0020】
補助記憶部23はハードディスク又はSSD等であり、制御部21が処理を実行するために必要な制御プログラム2Pや各種DBを記憶する。補助記憶部23は、顧客DB231を記憶する。また、補助記憶部23は与信モデル241及び予測モデル242を記憶する。
【0021】
通信部25はネットワークNを介して、第1情報処理装置1等と通信を行う。また、制御部21が通信部25を用い、ネットワークN等を介して他のコンピュータから制御プログラム2Pをダウンロードし、補助記憶部23に記憶してもよい。
【0022】
読み取り部26はCD-ROM及びDVD-ROMを含む可搬型記憶媒体2aを読み取る。制御部21が読み取り部26を介して、制御プログラム2Pを可搬型記憶媒体2aより読み取り、補助記憶部23に記憶してもよい。また、半導体メモリ2bから、制御部21が制御プログラム2Pを読み込んでもよい。
【0023】
図4は中央サーバのハードウェア構成例を示す説明図である。中央サーバCSは制御部C1、主記憶部C2、補助記憶部C3、通信部C5及び読み取り部C6を含む。制御部C1、主記憶部C2、補助記憶部C3、通信部C5及び読み取り部C6はバスBにより接続されている。
【0024】
制御部C1は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部C1は、補助記憶部C3に記憶された制御プログラムCP(プログラム、プログラム製品)を読み出して実行することにより、中央サーバCSに係る所定の情報処理、制御処理等を行い、各種の機能部を実現する。
【0025】
主記憶部C2は、SRAM、DRAM、フラッシュメモリ等である。主記憶部C2は主として制御部C1が演算処理を実行するために必要なデータを一時的に記憶する。
【0026】
補助記憶部C3はハードディスク又はSSD等であり、制御部C1が処理を実行するために必要な制御プログラムCPや各種DBを記憶する。補助記憶部C3は与信モデルC41及び予測モデルC42を記憶する。
【0027】
通信部C5はネットワークNを介して、第1情報処理装置1等と通信を行う。また、制御部C1が通信部C5を用い、ネットワークN等を介して他のコンピュータから制御プログラムCPをダウンロードし、補助記憶部C3に記憶してもよい。
【0028】
読み取り部C6はCD-ROM及びDVD-ROMを含む可搬型記憶媒体Caを読み取る。制御部C1が読み取り部C6を介して、制御プログラムCPを可搬型記憶媒体Caより読み取り、補助記憶部C3に記憶してもよい。また、半導体メモリCbから、制御部C1が制御プログラムCPを読み込んでもよい。
【0029】
図5はA社の顧客DBの例を示す説明図である。顧客DB131は顧客への個人ローンの履歴を記憶する。当該履歴は与信モデル141の訓練データとなりうるものである。顧客DB131は顧客ID列、住所列、職業列、資産額列、年齢列、年収列、借入額列及びデフォルト列を含む。顧客ID列はA社において顧客を特定する顧客IDを記憶する。顧客ID列はなくともよい。住所列は顧客の住所を記憶する。職業列は顧客の職業を記憶する。資産額列は顧客の保有資産の額を記憶する。年齢列は顧客の年齢を記憶する。年収列は顧客の年収を記憶する。借入額列は顧客が借り入れた額を記憶する。デフォルト列は顧客への融資がデフォルトとなったか否かを記憶する。1は「デフォルトとなった」ことを、0は「デフォルトとならなかった」ことを示す。住所列、職業列、資産額列、年齢列及び年収列の値は、顧客が融資の審査を受けた時点のものである。
【0030】
図6はB社の顧客DBの例を示す説明図である。顧客DB231は顧客への個人ローンの履歴を記憶する。当該履歴は与信モデル241の訓練データとなりうるものである。顧客DB231は顧客ID列、年齢列、年収列、借入額列、性別列、学歴列、配偶者列及びデフォルト列を含む。顧客ID列はB社において顧客を特定する顧客IDを記憶する。顧客ID列はなくともよい。年齢列は顧客の年齢を記憶する。年収列は顧客の年収を記憶する。借入額列は顧客が借り入れた額を記憶する。性別列は顧客の性別を記憶する。学歴列は顧客の最終学歴を記憶する。配偶者列は顧客の配偶者の有無を記憶する。デフォルト列は顧客への融資がデフォルトとなったか否かを記憶する。1は「デフォルトとなった」ことを、0は「デフォルトとならなかった」ことを示す。年齢列、年収列、借入額列、性別列、学歴列及び配偶者列の値は、顧客が融資の審査を受けた時点のものである。
【0031】
図7は顧客情報の対比例を示す説明図である。A社とB社との重複特徴量は、年齢、年収、借入額である。A社、B社共に、デフォルト列は目的変数、すなわち与信モデルが出力するべき値である。ここでの目的変数は2値分類問題における目的変数となっているが、以下に説明する連合学習の手法は、多値分類問題や回帰問題における目的変数を求める場合にも適用可能である。また、A社とB社の2社での連合学習について説明するが、3社以上で連合学習を行ってもよい。図7では顧客ID列は省略している。以降に説明する処理において顧客IDは不要であるので、顧客ID列は示さない。
【0032】
(実施の形態1)
本実施の形態では、非重複特徴量から目的変数を予測したときの予測確率を集約特徴量として利用する。集約特徴量とは、目的変数の予測に寄与する特徴量で、複数のエンティティで共通する特徴量のことである。A社とB社と同じ処理を行うが、以下の説明ではA社を例に説明する。
【0033】
第1情報処理装置1は顧客情報をN群に分割する。図8は顧客情報の分割状況を示す説明図である。図8に示す例では顧客情報を3分割している。分割した後の各群は、非重複特徴量グループの一例である。
【0034】
第1情報処理装置1は分割した顧客情報のうち、N-1群のデータを用いて、目的変数を予測する予測モデル142を訓練する。このとき、入力する特徴量は非重複特徴量(第1非重複特徴量)の一部又は全部とする。重複特徴量(第1重複特徴量)の一部又は全部を入力する特徴量に含めてもよい。予測モデル142はニューラルネットワーク、決定木、ランダムフォレスト等、目的変数を予測可能な任意のモデルでよい。予測モデル142は第1モデルの一例である。
【0035】
次に第1情報処理装置1は訓練した予測モデル142を用いて、目的変数の予測を行う。訓練に使用しなかった残り1群の顧客情報のうち、デフォルト列を除く特徴量を予測モデル142に入力する。入力する特徴量は訓練時と同じ特徴量である。第1情報処理装置1は、予測モデル142の出力として、予測スコア(デフォルトの予測確率)(第1目的変数)を得る。
【0036】
図9は予測モデルの訓練、予測スコアの算出を示す説明図である。図9の上段は、予測モデル142の訓練について示している。図9の下段は予測スコアの算出を示している。
【0037】
N群の顧客情報のうち、訓練データとするN-1群と予測に用いる残り1群との組み合わせを入れ替え、合計N個の組み合わせについて、訓練と予測を行う。予測に用いる1群は重複しないようにする。合計N個の組み合わせについての処理が完了すると、すべての顧客情報について、予測モデル142による予測スコアの算出が行なわれる。
【0038】
以上に示したA社の第1情報処理装置1が行った処理を、B社の第2情報処理装置2でも行う。第2情報処理装置2の処理で用いる顧客情報は、B社が保有する顧客情報である。なお、A社とB社との作業は独立して行うことが可能である。また、A社が使用する予測モデル142と、B社が使用する予測モデル242とは、異なるモデルでもよい。
【0039】
第1情報処理装置1と第2情報処理装置2とがそれぞれ計算した予測スコアを集約特徴量とする。予測スコアを求める際に用いた予測モデル142、予測モデル242を訓練する際に、非重複特徴量(第2非重複特徴量)を訓練データとして用いたことにより、予測スコアには非重複特徴量の情報が含まれているとみなせるからである。中央サーバCS、A社の第1情報処理装置1、及びB社の第2情報処理装置2は水平連合学習を行う。水平連合学習で使用するのは、重複特徴量と予測スコア(=集約特徴量)である。水平連合学習の結果として得られたモデル(連合モデル)は、第1情報処理装置1へ送られ、与信モデル141として記憶される。また、同じモデルが第2情報処理装置2へ送られ、与信モデル241として記憶される。
【0040】
連合学習の手順をフローチャートにて説明する。図10は連合学習処理の手順例を示すフローチャートである。中央サーバCSの制御部C1はA社の第1情報処理装置1及びB社の第2情報処理装置2へ保有する特徴量の項目を要求する(ステップS1)。第1情報処理装置1の制御部11は要求を受信する(ステップS11)。制御部11は特徴量の項目を中央サーバCSへ送信する(ステップS12)。第2情報処理装置2の制御部21は要求を受信する(ステップS21)。制御部21は特徴量の項目を中央サーバCSへ送信する(ステップS22)。第1情報処理装置1及び第2情報処理装置2は保有する特徴量の項目を特定する情報として、例えば、項目名を送信する。同一の項目について、各社毎に異なる項目名を付けている場合も考えられるため、中央サーバCSへ送信する項目名は統一されていることが望ましい。顧客が借りた金額を「借入額」とする場合や、「借入金額」とする場合が考えられるが、いずれであっても、中央サーバCSへ送信する際には「借入額」とする。また、同一の内容の項目に対して、同一のIDを付与して、第1情報処理装置1及び第2情報処理装置2から中央サーバCSへIDを送信してもよい。中央サーバCSの制御部C1は項目を受信する(ステップS2)制御部C1は返信された項目を対照し、重複特徴量と非重複特徴量との切り分けを行う(ステップS3)。中央サーバCSの制御部C1は結果、例えば重複特徴量の項目名を第1情報処理装置1及び第2情報処理装置2へ送信する(ステップS4)。第1情報処理装置1の制御部11は結果を受信する(ステップS13)。制御部11は予測スコア(第1集約特徴量)の算出を行う(ステップS14)。第2情報処理装置2の制御部21は結果を受信する(ステップS23)。制御部21は予測スコア(第2集約特徴量)の算出を行う(ステップS24)。その後、水平連合学習を行い(ステップS30)、処理を終了する。水平連合学習は、例えば以下のような処理である。第1情報処理装置1の制御部11は算出した予測スコアと重複特徴量とを特徴量として、与信モデル141の学習を行う。制御部11は学習済み与信モデル141の重みパラメータを、中央サーバCSへ送信する。第2情報処理装置2の制御部21は算出した予測スコアと、重複特徴量とを特徴量として、与信モデル241の学習を行う。制御部21は学習済み与信モデル241の重みパラメータを、中央サーバCSへ送信する。中央サーバCSの制御部C1は、第1情報処理装置1から受信した与信モデル141の重みパラメータと、第2情報処理装置2から受信した与信モデル241の重みパラメータの平均を計算し、計算結果を第1情報処理装置1及び第2情報処理装置2へ送信する。第1情報処理装置1の制御部11は受信した重みパラメータで与信モデル141を更新する。制御部11は更新した与信モデル141の学習を行い、重みパラメータを中央サーバCSへ送信する。同様に、第2情報処理装置2の制御部21は受信した重みパラメータで与信モデル241を更新する。制御部21は更新した与信モデル241の学習を行い、重みパラメータを中央サーバCSへ送信する。中央サーバCSは重みパラメータの平均を、第1情報処理装置1及び第2情報処理装置2へ送信する。学習、パラメータの送信、パラメータの平均値の算出、パラメータ更新の処理をパラメータの値が収束するまで繰り返す。
【0041】
図11は予測スコア算出処理の手順例を示すフローチャートである。予測スコア算出処理は図10のステップS14、ステップS24に対応する処理である。予測スコア算出処理は、第1情報処理装置1及び第2情報処理装置2が行うが、処理内容は同様である。ここでは、第1情報処理装置1が行う場合について説明する。第1情報処理装置1の制御部11は顧客DB131に記憶している全レコードをN分割する(ステップS31)。分割した各一群に順番号を振るものとする。第1群から第N群までのN個のグルーブができる。制御部11はループ変数iに1を代入する(ステップS32)。制御部11は予測モデル142の訓練を行う(ステップS33)。制御部11は第i群以外のレコードを用いて、予測モデルの訓練を行う。訓練は学習ともいう。制御部11は訓練した後の予測モデル142に第i群の各レコードを順に入力し、予測スコアの算出を行う(ステップS34)。なお、入力には目的変数の値は含めない。制御部11は予測スコアを記憶する(ステップS35)。制御部11はループ変数iを1増加させる(ステップS36)。制御部11はループ変数iがNより大きいか否かを判定する(ステップS37)。制御部11はループ変数iがN以下と判定した場合(ステップS37でNO)、処理をステップS33へ戻し、処理を継続する。制御部11はループ変数iがNより大きいと判定した場合(ステップS37でYES)、予測スコア算出処理を終了し、処理を呼び出し元へ戻す。
【0042】
本実施の形態では、以下の効果を奏する。各社の非重複特徴量から、各社で共通の意味を持つ集約特徴量を生成し、重複特徴量と集約特徴量とを使って水平連合学習を行うので、非重複特徴量に重要な情報が含まれていた場合であっても、重要な情報が欠落してしまうことがない。それより、モデルの性能が低下することを防ぐことが可能となる。
【0043】
(実施の形態2)
本実施の形態では、非重複特徴量の予測値を集約特徴量として利用する。本実施の形態において、各装置のハードウェア構成等は、実施の形態1と同様であるので、以下の説明においては、実施の形態1と異なる点を主として述べる。
【0044】
第1情報処理装置1は非重複特徴量の全項目を用いて、目的変数を予測する第0予測モデルを学習して生成する。第0予測モデルは重回帰モデル、決定木、勾配ブースティング決定木などのモデルから特徴量の重要度を解釈可能なモデルを選択して用いる。図12は第0予測モデルの学習に関する説明図である。第0予測モデル(第2モデル)は非重複特徴量を入力した場合に、目的変数を出力するように学習されて生成される。
【0045】
第1情報処理装置1は学習した第0予測モデルを分析して、目的変数の予測に寄与している重要度の高い上位N件の非重複特徴量を選択する。重要度の判定は、例えば以下のように行う。第0予測モデルを重回帰モデルで構成した場合は、各特徴量の係数により判定可能である。第0予測モデルを決定木モデルで構成した場合は、木の分割時のジニ係数に基づく情報利得(gain)から判定可能である。ここでは、図12に示した非重複特徴量のうち、重要度1位の資産額と同2位の職業とが選択されたとする。なお、重要度による非重複特徴量の選択は行なわなくともよい。
【0046】
次に、第1情報処理装置1は選択した非重複特徴量それぞれを、重複特徴量から予測する第1予測モデル(第2の2モデル)を学習して生成する。選択した非重複特徴量それぞれの予測を行う、1個の第1予測モデルを構築するため、重要度の高いN個の非重複特徴量を選択した場合は、N個の第1予測モデルが学習されて構築される。個々のモデルを、第1の1予測モデル、第1の2予測モデル、…第1のN予測モデルという。図13は第1の1予測モデルと、第1の2予測モデルの構築に関する説明図である。第1の1予測モデルは重複特徴量(年齢、年収、借入額)から資産額を予測するモデルである。第1の2予測モデルは重複特徴量(年齢、年収、借入額)から職業を予測するモデルである。なお、重要度による非重複特徴量の選択を行なわない場合、第1情報処理装置1は、すべての非重複特徴量それぞれを予測する第1予測モデルを学習して構築する。非重複特徴量の選択を行なわない場合、図13の例では、重複特徴量(年齢、年収、借入額)から住所を予測する第1の3予測モデルを第1情報処理装置1はさらに構築する。
【0047】
続いて、第1情報処理装置1は、構築した第1予測モデルを用いて、選択した非重複特徴量を推測する。そして得られる値を予測スコアという。ここでは、第1情報処理装置1は、第1の1予測モデルを用いて、重複特徴量(年齢、年収、借入額)から資産額を推測する。また、第1情報処理装置1は、第1の2予測モデルを用いて、重複特徴量(年齢、年収、借入額)から職業を推測する。また、第1情報処理装置1は、第1の1予測モデル、第1の2予測モデル、…第1のN予測モデルを第2情報処理装置2へ送信する。
【0048】
次に行う処理は、主体がA社の第1情報処理装置1から、B社の第2情報処理装置2へ切り替わる。第2情報処理装置2は、受信した第1の1予測モデル、第1の2予測モデル、…第1のN予測モデルを用いて、自社の重複特徴量から予測スコアを算出する。ここでは、第2情報処理装置2は、第1の1予測モデルへ重複特徴量(年齢、年収、借入額)を入力して、資産額を推定する。また、第2情報処理装置2は、第1の2予測モデルへ重複特徴量(年齢、年収、借入額)を入力して、職業を推定する。
【0049】
中央サーバCS、第1情報処理装置1及び第2情報処理装置2は水平連合学習を行う。水平連合学習の結果として得られたモデルは、第1情報処理装置1へ送られ、与信モデル141として記憶される。また、同じモデルが第2情報処理装置2へ送られ、与信モデル241として記憶される。
【0050】
連合学習の手順をフローチャートにて説明する。図14は連合学習処理の他の手順例を示すフローチャートである。図14に示す連合学習処理の一部は、図10に示した連合学習処理と共通する。図14において、図10と共通する部分については同一のステップ番号を付し、説明を省略する。第1情報処理装置1の制御部11は中央サーバCSから重複特徴量と非重複特徴量との切り分けの結果を受信した後(ステップS13後)、第0予測モデルを構築する(ステップS41)。上述のように、第0予測モデルは非重複特徴量を入力した場合に、目的変数を出力するモデルである。制御部11は第0予測モデルを分析し、目的変数の予測に寄与している重要度の高い上位N件の非重複特徴量を選択する(ステップS42)。制御部11は選択した非重複特徴量それぞれに対応した複数の第1予測モデル、すなわち、第1の1予測モデル、第1の2予測モデル、…第1のN予測モデルを構築する(ステップS43)。制御部11は構築した複数の第1予測モデルを予測可能な非重複特徴量と対応付けて、第2情報処理装置2へ送信する(ステップS44)。制御部11は複数の第1予測モデルを用いて、重複特徴量から、選択した非重複特徴量の予測スコアを算出する(ステップS45)。一方、第2情報処理装置2の制御部21は第1情報処理装置1より、複数の第1予測モデルを受信する(ステップS51)。制御部21は受信した複数の第1予測モデルをそれぞれと、予測に用いた重複特徴量とを用いて、非重複特徴量の予測スコアを算出する(ステップS52)。その後、水平連合学習を行い(ステップS60)、処理を終了する。水平連合学習では重複特徴量と予測スコアとを特徴量として学習を行う。
【0051】
本実施の形態では、以下の効果を奏する。A社において、重複特徴量から非重複特徴量を推測する第1予測モデルを作成する。作成した第1予測モデルはB社へ送信され、B社において、非重複特徴量の推測に利用される。第1予測モデルを介して、A社の非重複特徴量に関する情報が伝達される。B社で第1予測モデルを用いて、重複特徴量をから非重複特徴量の予測スコアを算出することで、B社の非重複特徴量に関する情報が予測スコアに伝達される。A社及びB社の予測スコア(集約特徴量)を使って水平連合学習を行うので、非重複特徴量に重要な情報が含まれていた場合であっても、重要な情報が欠落してしまうことがない。それより、モデルの性能が低下することを防ぐことが可能となる。
【0052】
本実施の形態において、A社が第1予測モデルを作成してB社へ送信したが、逆でもよい。すなわち、B社が第1予測モデルを作成してA社へ送信してもよい。また、A社及びB社が第1予測モデルを作成し、互いの第1予測モデルを交換し、交換して得た第1予測モデルを用いて、予測スコアを算出してもよい。
【0053】
(実施の形態3)
本実施の形態では、非重複特徴量の変換器を利用する。本実施の形態において、各装置のハードウェア構成等は、実施の形態1と同様であるので、以下の説明においては、実施の形態1と異なる点を主として述べる。
【0054】
A社の第1情報処理装置1は、非重複特徴量から重複特徴量を予測するパターン1モデル(第3モデル)を構築する。また、第1情報処理装置1は非重複特徴量から目的変数を予測するパターン2モデルを構築する。本実施の形態において、パターン1モデル及びパターン2モデルは、エンコーダ-デコーダ形式のモデルとする。学習したエンコーダ-デコーダをエンコーダAとデコーダAという。ここでのAはA社を意味する。
【0055】
図15はパターン1モデル及びパターン2モデルの構造を示す説明図である。図15Aはパターン1モデルの構造を示す。パターン1モデルのP1エンコーダAへ非重複特徴量を入力すると、P1エンコーダAは中間表現を出力する。中間表現をP1デコーダAへ入力するとP1デコーダAの出力として、重複特徴量の予測値が得られる。図15Bはパターン2モデルの構造を示す。パターン2モデルのP2エンコーダAへ非重複特徴量を入力すると、P2エンコーダAから中間表現が出力される。中間表現をP2デコーダAへ入力するとP2デコーダAの出力として、目的変数の予測値が得られる。第1情報処理装置1は自社のデータを用いて、パターン1モデル及びパターン2モデルの学習を行う。
【0056】
一方、B社の第2情報処理装置2においても、同様に非重複特徴量から重複特徴量を予測するパターン1モデル(第4モデル)と、非重複特徴量から目的変数を予測するパターン2モデルとを構築する。第2情報処理装置2は、パターン1モデルを構成するP1エンコーダB及びP1デコーダBを、パターン2モデルを構成するP2エンコーダB及びP2デコーダBを構築する。
【0057】
第1情報処理装置1は、第2情報処理装置2へP1デコーダA及びP2デコーダAを送信する。第2情報処理装置2はP1エンコーダBとP1デコーダAとを組み合わせて、新たなパターン1モデルBA(第4の2モデル)を、P2エンコーダBとP2デコーダAとを組み合わせて、新たなパターン2モデルBAを構成する。図16はパターン1モデルBA及びパターン2モデルBAの構造を示す説明図である。図16Aはパターン1モデルBAの構造を示す。パターン1モデルBAへ非重複特徴量を入力すると、重複特徴量が出力される。図16Bはパターン2モデルBAの構造を示す。パターン2モデルBAへ非重複特徴量を入力すると、重複特徴量が出力される。第2情報処理装置2は自社のデータを用いて、パターン1モデルBA及びパターン2モデルBAの学習を行う。
【0058】
第1情報処理装置1は、P2エンコーダAを用いて、自社データの非重複特徴量から中間表現を得る。第2情報処理装置2は、P2エンコーダBを用いて、自社データの非重複特徴量から中間表現を得る。図17は中間表現を得る処理を示す説明図である。図17の上段は、A社の第1情報処理装置1が行う内容を示す。下段は、B社の第2情報処理装置2が行う内容を示す。P2エンコーダAへの入力はA社が保有する非重複特徴量であるから、P2エンコーダAが出力する中間表現は、非重複特徴量の内容が反映されている。同様に、P2エンコーダBへの入力はB社が保有する非重複特徴量であるから、P2エンコーダBが出力する中間表現は、非重複特徴量の内容が反映されている。なお、図17において、P2エンコーダAに替えて、P1エンコーダAを用いてもよい。同様に、P2エンコーダBに替えて、P1エンコーダBを用いてもよい。P1エンコーダA、P1エンコーダBも学習により非重複特徴量の情報が含まれているからである。
【0059】
第1情報処理装置1及び第2情報処理装置2は、重複特徴量と中間表現とを入力すると、目的変数を出力する与信モデルをそれぞれ学習により生成する。図18は学習に用いる特徴量の例を示す説明図である。与信モデルの学習においては、重複特徴量と中間表現とを特徴量として用いる。与信モデルの学習に、非重複特徴量から生成した中間表現を利用することにより、与信モデルは、非重複特徴量の情報が考慮されたモデルとなる。
【0060】
連合学習の手順をフローチャートにて説明する。図19は連合学習処理の他の手順例を示すフローチャートである。図19に示す連合学習処理の一部は、図10に示した連合学習処理と共通する。図19において、図10と共通する部分については同一のステップ番号を付し、説明を省略する。第1情報処理装置1の制御部11は中央サーバCSから重複特徴量と非重複特徴量との切り分けの結果を受信した後(ステップS13後)、モデルを構築する(ステップS71)。制御部11が構築するモデルは、図15に示したパターン1モデル及びパターン2モデルである。制御部11はモデルを構成するデコーダを第2情報処理装置2へ送信する(ステップS72)。制御部11が送信するデコーダは、パターン1モデルを構成するP1デコーダA、及び、パターン2モデルを構成するP2デコーダAである。制御部11はP1デコーダAへ非重複特徴量を入力して、中間表現作成する(ステップS73)。一方、第2情報処理装置2の制御部21は中央サーバCSから重複特徴量と非重複特徴量との切り分けの結果を受信した後(ステップS23後)、モデルを構築する(ステップS81)。制御部21が構築するモデルは、図15に示したパターン1モデル及びパターン2モデルと同じ構成であって、自社データを用いて学習したモデルである。第2情報処理装置2の制御部21は第1情報処理装置1からデコーダを受信する(ステップS82)。制御部21は既に構築した自社のパターン1モデル及びパターン2モデルを構成するデコーダを受信したデコーダに入れ替えたモデルを、自社データを用いて学習し、新モデルを構築する(ステップS83)。新モデルは図16に示したパターン1モデルBA及びパターン2モデルBAである。制御部21は学習した後のパターン2モデルBAのP2エンコーダBへ、非重複特徴量を入力して、中間表現作成する(ステップS84)。その後、水平連合学習を行い(ステップS90)、処理を終了する。水平連合学習では重複特徴量と中間表現とを特徴量として学習を行う。
【0061】
本実施の形態では、以下の効果を奏する。非重複特徴量から得た中間表現を用いて、与信モデルの学習を行う。それにより、与信モデルは非重複特徴量の情報が考慮されたモデルとなる。その結果、実施の形態1及び実施の形態2と同様に、モデルの性能が低下することを防ぐことが可能となる。
【0062】
上述の説明では、A社からB社へモデル(本実施の形態ではデコーダ)を渡すとしたが、B社からA社へモデルを渡してもよい。この場合、A社のパターン1モデルを構成するデコーダをB社デコーダに入れ替えたパターン1モデルAB(第3の2モデル)、及び、A社のパターン2モデルを構成するデコーダをB社デコーダに入れ替えたパターン2モデルABが第1情報処理装置1にて構築される。また、両社でモデルを交換してもよい。
【0063】
本実施の形態においては、2社に限らず、3社以上で連合学習を行ってもよい。この場合、所定の方法で選択した1社のみのデコーダを他社に送信するのが、簡便かつ効率的である。処理量が増加するが、全ての者でデコーダを相互に交換してもよい。
【0064】
各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0065】
100 連合学習システム
1 第1情報処理装置
11 制御部
12 主記憶部
13 補助記憶部
131 顧客DB
141 与信モデル
142 予測モデル
15 通信部
16 読み取り部
1P 制御プログラム
2 第2情報処理装置
21 制御部
22 主記憶部
23 補助記憶部
231 顧客DB
241 与信モデル
242 予測モデル
25 通信部
26 読み取り部
CS 中央サーバ
C1 制御部
C2 主記憶部
C3 補助記憶部
C41 与信モデル
C42 予測モデル
C5 通信部
C6 読み取り部
CP 制御プログラム
B バス
N ネットワーク
3 第3情報処理装置
4 第4情報処理装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19