JP7842709B2 - 連合学習システム及び連合学習方法 - Google Patents

連合学習システム及び連合学習方法

Info

Publication number
JP7842709B2
JP7842709B2 JP2023016780A JP2023016780A JP7842709B2 JP 7842709 B2 JP7842709 B2 JP 7842709B2 JP 2023016780 A JP2023016780 A JP 2023016780A JP 2023016780 A JP2023016780 A JP 2023016780A JP 7842709 B2 JP7842709 B2 JP 7842709B2
Authority
JP
Japan
Prior art keywords
learning
feature
key
data
learning model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023016780A
Other languages
English (en)
Other versions
JP2024111989A (ja
Inventor
恭平 山本
雅之 吉野
尚宜 佐藤
由美子 横張
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2023016780A priority Critical patent/JP7842709B2/ja
Publication of JP2024111989A publication Critical patent/JP2024111989A/ja
Application granted granted Critical
Publication of JP7842709B2 publication Critical patent/JP7842709B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、連合学習システム及び連合学習方法に関する。
金融、医療、及び製造などの様々な分野でAI(Artificial Intelligence)の普及が進んでいる。その中で、より高精度なAIを開発するため、複数組織で連携する動きがある。しかしながら、各組織が保有するデータを直接共有することは、情報漏洩のリスクが高まるため望ましくない。そこで、各組織が保有するデータを直接共有することなく、共同のAIを開発する手法として連合学習が提案されている。
連合学習とは、複数のデータ送信装置と中央サーバとを含むシステムで実行される情報処理方法である。各データ送信装置は、中央サーバから配布された共通の学習モデルと自身が保有するデータを用いて、学習モデルの更新に必要な特徴量を計算する。その後、各データ送信装置から中央サーバへ特徴量が送られ、中央サーバは、各データ送信装置から受信した特徴量をそれぞれ集約して学習モデルを更新する。連合学習を採用したシステムでは複数組織の保有するデータを利用可能となるため高精度AIの開発が期待されるが、各組織のデータ分布の違いが原因で、AIの性能が向上しない、或いはAIがある組織には適さない、などの現象が起こりうる。
データ分布の違いにより生じる上記課題への対策として、Personarized Federated Learningと呼ばれる手法が開発されている。非特許文献1では、データ送信装置をクラスタリングしクラスタごとにFLを行うユーザクラスタリング、データ送信装置が自身の保有するデータと他データ送信装置の保有するデータを適切な比率で用いて特徴量を算出するデータ補完、データ送信装置が自身の算出した特徴量と他データ送信装置が算出した特徴量を適切な比率で用いてモデルを更新するモデル補完という3つの手法を提案している。
Yishay Mansour,外3名,"Three Approaches for Personalization with Applications to Federated Learning",[online],2020年2月25日,インターネット,< https://arxiv.org/pdf/2002.10619v1.pdf>
非特許文献1の連合学習では、他データ送信装置のデータ・特徴量として一定比率のものを用いて学習を行うため、各データ送信装置が、目的別に特化した特徴量を算出することができず、結果として、目的別に特化したAIを開発することが困難である。例えば、各データ送信装置が、学習モデルを用いて学習する際に、30歳未満のデータと30歳以上のデータとの比率を3:7で学習する、という要望に応えることができず、年代別の特徴量を算出することができない。
そこで、本発明の目的は、学習モデルを更新するための目的に沿って集約された目的別集約特徴量で学習モデルを更新することにある。
上記課題を解決するために、本発明は、通信ネットワークに接続される複数のデータ送信装置と、前記通信ネットワークを介して前記複数のデータ送信装置の各々と情報の送受信を行う特徴量集約サーバと、前記通信ネットワークを介して前記特徴量集約サーバに接続される1又は複数のデータ受信装置と、を備え、前記各データ送信装置は、データ抽出要件を含む第1クエリの入力を条件に、学習モデルと複数の学習データの各々とを基に前記第1クエリに従った特徴量を示すタグ付き特徴量を生成し、生成した前記タグ付き特徴量を含む送信情報を前記特徴量集約サーバへ送信し、前記特徴量集約サーバは、前記各データ送信装置から前記送信情報を受信した場合、受信した前記送信情報に属する前記タグ付き特徴量をそれぞれ集約して目的別集約特徴量を生成し、生成した前記目的別集約特徴量を前記データ受信装置へ送信し、前記データ受信装置は、前記特徴量集約サーバから前記目的別集約特徴量を受信した場合、受信した前記目的別集約特徴量を基に前記学習モデルを更新することを特徴とする。
本発明によれば、学習モデルを更新するための目的に沿って集約された目的別集約特徴量で学習モデルを更新することができる。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
本発明の実施例1に係る連合学習システムの構成例を示すブロック図である。 本発明の実施例1に係る特徴量集約サーバのハードウェア構成例を示すブロック図である。 本発明の実施例1に係る学習モデル更新サーバのハードウェア構成例を示すブロック図である。 本発明の実施例1に係るデータ送信装置のハードウェア構成例を示すブロック図である。 本発明の実施例1に係るデータ受信装置のハードウェア構成例を示すブロック図である。 本発明の実施例1に係る連合学習システムの処理の一例を示すシーケンス図である。 本発明の実施例2に係る連合学習システムの処理の一例を示すシーケンス図である。 本発明の実施例3に係る連合学習システムの処理の一例を示すシーケンス図である。 本発明の実施例4に係る連合学習システムの処理の一例を示すシーケンス図である。
以下、添付図面を参照して本発明の実施の形態を説明する。本実施の形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施の形態は、本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。本実施の形態では、データ受信装置の目的に沿ったAI開発を可能にする、連合学習システムについて説明する。
本実施例は、連合学習システムの学習フェーズとして、共通AI学習フェーズと目的別AI学習フェーズを備えるものである。共通AI学習フェーズでは、複数の学習データと学習モデルとを用いて複数の特徴量を算出する特徴量算出処理と、特徴量算出処理で算出した複数の特徴量を集約して集約特徴量を生成する集約特徴量生成処理と、集約特徴量生成処理で生成した集約特徴量を用いて学習モデルを更新する学習モデル更新処理とが順次繰り返えされる。目的別AI学習フェーズでは、クエリ(query)の入力を条件に、複数の学習データと学習モデルとを用いてクエリに従った特徴量を示す複数のタグ付き特徴量を算出するタグ付き特徴量算出処理と、タグ付き特徴量算出処理で算出した複数のタグ付き特徴量を集約して目的別集約特徴量を生成する目的別集約特徴量生成処理と、目的別集約特徴量生成処理で生成した目的別集約特徴量を用いて学習モデルを更新する目的別学習モデル更新処理が実行される。以下、連合学習システムの具体的内容について説明する。なお、図面の構成上、実施例1で他の実施例の構成を説明することがある。
図1は、本発明の実施例1に係る連合学習システムの構成例を示すブロック図である。図1において、連合学習システム10は、共通AI学習フェーズと目的別AI学習フェーズを備えるシステムであって、特徴量集約サーバ100と、学習モデル更新サーバ200と、データ送信装置300と、データ受信装置400と、通信ネットワーク500と、を備える。特徴量集約サーバ100と、学習モデル更新サーバ200と、データ送信装置300及びデータ受信装置400は、インターネット等の通信ネットワーク500を介して相互に情報を送受信する。なお、データ送信装置300とデータ受信装置400は、複数で構成されることがある。
データ送信装置300は、例えば、開発対象の学習モデルを保持すると共に、学習モデルを用いて学習して得られた複数の学習データ(学習用データ)を保持し、共通AI学習フェーズでは、複数の学習データと学習モデルとを用いて複数の特徴量を算出し、各特徴量をそれぞれ送信情報として生成する。また、データ送信装置300は、目的別AI学習フェーズでは、クエリの入力を条件に、複数の学習データと学習モデルとを用いてクエリに従った特徴量を示す複数のタグ付き特徴量を算出し、各タグ付き特徴量をそれぞれ送信情報として生成する。学習データとしては、例えば、動物の写真やレントゲン写真などの画像データ、株の売買データを含むログデータ等が用いられる。学習モデルとしては、例えば、DeepLearningで用いられるDeep Neural Networkやランダムフォレスト等が用いられる。特徴量としては、学習モデルをDeep Neural Networkとした場合、Deep Neural Networkのパラメータ数分の実数値が算出される。
特徴量集約サーバ100は、共通AI学習フェーズでは、データ送信装置300で生成された複数の特徴量を受信した場合、受信した複数の特徴量をそれぞれ集約して、集約特徴量を生成し、生成した集約特徴量を学習モデル更新サーバ200へ送信する。また、特徴量集約サーバ100は、目的別AI学習フェーズでは、データ送信装置300で生成された複数のタグ付き特徴量を受信した場合、受信した複数のタグ付き特徴量をそれぞれ集約して、複数の目的別集約特徴量を生成し、生成した複数の目的別集約特徴量のうち、データ受信装置400から受信したクエリに適した目的別集約特徴量をデータ受信装置400へ送信する。
学習モデル更新サーバ200は、共通AI学習フェーズでは、特徴量集約サーバ100から受信した集約特徴量を基に学習モデルを更新し、更新された学習モデルをデータ受信装置400へ送信する。また、学習モデル更新サーバ200は、目的別AI学習フェーズでは、学習モデルをデータ送信装置300へ送信する。
データ受信装置400は、共通AI学習フェーズでは、更新された学習モデルを学習モデル更新サーバ200から受信し、目的別AI学習フェーズでは、学習モデル更新サーバ200へクエリを送信し、クエリに応じた目的別集約特徴量を特徴量集約サーバ100から受信し、受信した目的別集約特徴量を基に学習モデルを更新する。
なお、特徴量集約サーバ100、学習モデル更新サーバ200、データ送信装置300、及びデータ受信装置400の詳細な構成については後述する。また、連合学習システム10に含まれる装置の一部又は全部が一体化されていてもよい。例えば、特徴量集約サーバ100と、学習モデル更新サーバ200と、が一体化されていてもよいし、データ送信装置300とデータ受信装置400とが一体化されていてもよい。
図2は、本発明の実施例1に係る特徴量集約サーバのハードウェア構成例を示すブロック図である。図2において、特徴量集約サーバ100は、例えば、プロセッサ(CPU)101、補助記憶装置102、メモリ103、表示装置105、入出力インターフェース106、及び通信インターフェース107を有する計算機によって構成され、各装置が、バス等の内部信号線104を介して互いに接続される。なお、図2には、実施例1~4で用いるハードウェア及びソフトウェア資源が図示されている。
プロセッサ101は、メモリ103に格納されたプログラムを実行し、各装置を統括制御する処理装置である。メモリ103は、不揮発性の非一時的な記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変なプログラム(たとえばBIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置102は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の非一時的な記憶装置であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置102から読み出されて、メモリ103にロードされ、その後、プロセッサ101によって実行される。
入出力インターフェース(I/F)106は、キーボードやマウスなどの入力装置に接続され、オペレータの操作による情報を入力するインターフェースである。また、入出力インターフェース106は、表示装置105やプリンタなどの出力装置に接続され、プログラムの実行結果を、オペレータが視認可能な形式の情報に変換して出力するインターフェースでもある。表示装置105は、入出力インターフェース106から出力されたプログラムの実行結果を表示する。
通信インターフェース(I/F)107は、所定のプロトコルに従って、通信ネットワーク500を介して他の装置との通信を制御するネットワークインターフェースである。また、通信インターフェース107は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含んでもよい。
プロセッサ101が実行するプログラムの一部又は全部は、非一時的記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)、又は非一時的記憶装置を備える外部計算機から通信ネットワーク500を介して特徴量集約サーバ100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置102に格納されてもよい。このため、特徴量集約サーバ100は、リムーバブルメディアからデータを読み込むインターフェースを有する構成とすることができる。これは、学習モデル更新サーバ200、データ送信装置300、及びデータ受信装置400についても同様である。
特徴量集約サーバ100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。これは、学習モデル更新サーバ200、データ送信装置300、及びデータ受信装置400についても同様である。
プロセッサ101は、ソフトウェア資源として、例えば、鍵生成部111、特徴量集約部112、復号処理部113、及び鍵付替部114を備える。例えば、プロセッサ101は、メモリ103にロードされた鍵生成プログラムに従って動作することで、鍵生成部111として機能し、メモリ103にロードされた特徴量集約プログラムに従って動作することで、特徴量集約部112として機能し、メモリ103にロードされた復号処理プログラムに従って動作することで、復号処理部113として機能し、メモリ103にロードされた鍵付替プログラムに従って動作することで鍵付替部114として機能する。
鍵生成部111は、例えば、初期フェーズにおいて、データ送信装置300の暗号化で用いる暗号化方式に関する情報を基に、特徴量を暗号化するための一次公開鍵と、特徴量を復号(復号化)するための一次秘密鍵を生成する。この際、鍵生成部111は、暗号技術として、例えば、加法準同型暗号を用いる。加法準同型暗号とは、暗号化された状態のまま暗号文同士の加算を行うことができる技術である。
以下、加法準同型暗号について数式を用いて説明する。M1,M2を任意の値とし、暗号鍵をpk、暗号化関数をEncとする。例えば、Enc(M,pk)は、値Mを暗号鍵pkで暗号化して得られた暗号文を指す。さらに、暗号化した状態のまま加算を行うための演算を*とする。このとき、加法準同型性より次の(1)式が成り立つ。
Enc(M1,pk)*Enc(M2,pk)=Enc(M1+M2,pk)・・・(1)
上記(1)式より、M1の暗号文とM2の暗号文から、加算した値M1+M2の暗号文を生成できる。また、加法準同型暗号の中には、公開鍵の加算が可能な暗号方式が存在する。pk1とpk2を公開鍵とし、Mを任意の値とし、*を公開鍵加算のための演算とした場合に、公開鍵の加算を数式で表現すると、次の(2)式のようになる。
Enc(M,pk1)*Enc(M,pk2)=Enc(M,pk1+pk2)・・・(2)
公開鍵の加法性を用いることで、暗号処理の計算コストを削減できる。ここで、連合学習システム10に適用する暗号技術として、例えば、上記公開鍵の加法性を有する加法準同型暗号方式である、楕円ElGamal暗号の適用等が考えられる。
特徴量集約部112は、例えば、共通AI学習フェーズにおいて、データ送信装置300から受信した特徴量もしくは暗号化特徴量に対する集約として加算や平均を行い、集約特徴量もしくは暗号化特徴量を生成する。また、集約部112は、例えば、目的別AI学習フェーズにおいて、データ送信装置300から受信した特徴量もしくはタグ付き特徴量もしくは暗号化タグ付き特徴量に対する集約として加算や平均を行い、目的別集約特徴量もしくは暗号化目的別集約特徴量を生成する。
復号処理部113は、例えば、共通AI学習フェーズにおいて、鍵生成部111で生成した一次秘密鍵を用いて、特徴量集約部112で生成した暗号化集約特徴量を復号(一次復号化)して、一次復号済暗号化集約特徴量を生成する。
鍵付替部114は、例えば、目的別AI学習フェーズにおいて、学習モデル更新サーバ200から受信した鍵付替鍵と算出した暗号化目的別集約特徴量から、データ受信装置400の保有する個別秘密鍵で復号可能な鍵付替済暗号化目的別集約特徴量を生成する。
以下、鍵付替部114における鍵付替について、数式を用いて説明する。M1を任意の値とし、暗号鍵をpk、鍵付替鍵をrk、暗号化関数をEnc、鍵付替関数をReEncとする。例えばReEnc(M,pk)は、値Mを暗号鍵pkで暗号化して得られた暗号文、(M,rk)は、値Mを鍵付替鍵rkで再暗号化した暗号文を指す。pkをrkで再暗号化した際の再暗号文に対する復号鍵をrsk、復号関数をDecとすると、次の式が成り立つ。
Dec(ReEnc(Enc(M,pk),rk),rsk)=M・・・(3)
つまり、pkで暗号化した暗号文をrkで再暗号化した再暗号文は、秘密鍵rskで復号可能となる。ここで、pkに対応する秘密鍵をskとしたとき、skでは再暗号文を復号できない。
図3は、本発明の実施例1に係る学習モデル更新サーバのハードウェアの構成例を示すブロック図である。図3において、学習モデル更新サーバ200は、例えば、プロセッサ(CPU)201、補助記憶装置202、メモリ203、表示装置205、入出力インターフェース206、及び通信インターフェース207を有する計算機によって構成され、各装置が、バス等の内部信号線204を介して互いに接続される。なお、図3には、図面の構成上、実施例1~4で用いるハードウェア及びソフトウェア資源が図示されている。
プロセッサ201、補助記憶装置202、メモリ203、内部信号線204、表示装置205、入出力インターフェース206、及び通信インターフェース207のハードウェアとしての構成は、プロセッサ101、補助記憶装置102、メモリ103、内部信号線104、表示装置105、入出力インターフェース106、及び通信インターフェース107のハードウェアとしての構成と同様であるため、これらの説明を省略する。
プロセッサ201は、ソフトウェア資源として、鍵生成部211、学習モデル更新部212、及び復号処理部213を備える。この際、例えば、プロセッサ201は、メモリ203にロードされた鍵生成プログラムに従って動作することで、鍵生成部211として機能し、メモリ203にロードされた学習モデル更新プログラムに従って動作することで、学習モデル更新部212として機能し、メモリ103にロードされた復号処理プログラムに従って動作することで、復号処理部213として機能する。
鍵生成部211は、例えば、データ送信装置300の暗号化で用いる暗号化方式に関する情報を基に、共通AI学習フェーズ前の初期フェーズにおいて、特徴量を暗号化するための二次公開鍵と、特徴量を復号(復号化)するための二次秘密鍵の情報を生成する。また、鍵生成部211は、目的別AI学習フェーズ前の初期フェーズにおいて、特徴量を暗号化するための二次公開鍵と、データ受信装置400へ送信するための個別秘密鍵の情報をそれぞれ生成し、さらに特徴量集約サーバ100が鍵付替に使用するための鍵付替鍵の情報を生成する。この際、鍵生成部211は、暗号技術として、例えば、加法準同型暗号を用いる。
復号処理部213は、例えば、共通AI学習フェーズにおいて、特徴量集約サーバ100から一次復号済暗号化集約特徴量を受信した場合、受信した一次復号済暗号化集約特徴量を、鍵生成部211で生成した二次秘密鍵を用いて復号(復号化)して、集約特徴量を生成する。
学習モデル更新部212は、例えば、共通AI学習フェーズにおいて、復号処理部213で生成した集約特徴量と学習モデル320を用いて、例えば、加算や平均により学習モデル320の更新を行う。
図4は、本発明の実施例1に係るデータ送信装置のハードウェア構成例を示すブロック図である。図4において、データ送信装置300は、例えば、プロセッサ(CPU)301、補助記憶装置302、メモリ303、表示装置305、入出力インターフェース306、及び通信インターフェース307を有する計算機によって構成され、各装置が、バス等の内部信号線304を介して互いに接続される。なお、図4には、図面の構成上、実施例1~4で用いるハードウェア及びソフトウェア資源が図示されている。
プロセッサ301、補助記憶装置302、メモリ303、内部信号線304、表示装置305、入出力インターフェース306、及び通信インターフェース307のハードウェアとしての構成は、プロセッサ101、補助記憶装置102、メモリ103、内部信号線104、表示装置105、入出力インターフェース106、及び通信インターフェース107のハードウェアとしての構成と同様であるため、これらの説明を省略する。
プロセッサ301は、ソフトウェア資源として、例えば、特徴量計算部311と暗号処理部312を備える。この際、例えば、プロセッサ301は、メモリ303にロードされた特徴量計算プログラムに従って動作することで、特徴量計算部311として機能し、メモリ303にロードされた暗号処理プログラムに従って動作することで、暗号処理部312として機能する。
データ送信装置300の補助記憶装置302は、プロセッサ301が、開発対象の学習モデル320を用いて学習して得られた学習データ321と学習モデル320を保持する。なお、学習モデル320と学習データ321は、データ送信装置300のメモリ303に格納されていてもよい。
特徴量計算部311は、共通AI学習フェーズにおいて、複数の学習データ321と学習モデル320とを用いて複数の特徴量を算出し、各特徴量をそれぞれ送信情報として生成する。また、データ送信装置300は、目的別AI学習フェーズにおいて、クエリの入力を条件に、複数の学習データ321と学習モデル320とを用いてクエリに従った特徴量を示す複数のタグ付き特徴量を算出し、各タグ付き特徴量をそれぞれ送信情報として生成する。
暗号処理部312は、例えば、共通AI学習フェーズにおいて、特徴量集約サーバ100の鍵生成部111で生成された一次公開鍵と、学習モデル更新サーバ200の鍵生成部211で生成された二次公開鍵を用いて特徴量を暗号化して暗号化特徴量を生成する。また、暗号処理部312は、目的別AI学習フェーズにおいて、学習モデル更新サーバ200の鍵生成部211で生成された二次公開鍵を用いてタグ付き特徴量を暗号化して暗号化タグ付き特徴量を生成する。この際、データ送信装置300は、特徴量集約サーバ100及び学習モデル更新サーバ200と情報の送受信を行うことで、学習モデル320、一次公開鍵324、及び二次公開鍵325に関する情報を入力することができる。
なお、データ送信装置300が、複数台で構成された場合、複数のデータ送信装置300の処理により、開発対象の学習モデル320と複数の学習データ321とから複数の特徴量もしくはタグ付き特徴量が生成され、生成された各特徴量もしくはタグ付き特徴量から複数の暗号化特徴量もしくは暗号化タグ付き特徴量が生成される。また、データ送信装置300が、複数の情報処理系統(暗号化処理系統)で構成された場合、特徴量計算部311と暗号処理部312により複数の情報処理系統(暗号化処理系統)が構成される。
図5は、本発明の実施例1に係るデータ受信装置のハードウェア構成例を示すブロック図である。図5において、データ受信装置400は、例えば、プロセッサ(CPU)401、補助記憶装置402、メモリ403、表示装置405、入出力インターフェース406、及び通信インターフェース407を有する計算機によって構成され、各装置が、バス等の内部信号線404を介して互いに接続される。なお、図5には、図面の構成上、実施例1~4で用いるハードウェア及びソフトウェア資源が図示されている。
プロセッサ401、補助記憶装置402、メモリ403、内部信号線404、表示装置405、入出力インターフェース406、及び通信インターフェース407のハードウェアとしての構成は、プロセッサ101、補助記憶装置102、メモリ103、内部信号線104、表示装置105、入出力インターフェース106、及び通信インターフェース107のハードウェアとしての構成と同様であるため、これらの説明を省略する。
プロセッサ401は、ソフトウェア資源として、例えば、学習モデル更新部411と復号処理部412を備える。この際、例えば、プロセッサ401は、メモリ403にロードされた学習モデル更新プログラムに従って動作することで、学習モデル更新部411として機能し、メモリ403にロードされた復号処理プログラムに従って動作することで、復号処理部412として機能する。
なお、プロセッサ401は、通信インターフェース407が、学習モデル更新サーバ200から、更新された学習モデル320の情報を受信した場合、受信した情報を補助記憶装置402に格納すると共に、表示装置405の画面上に表示する。
復号処理部412は、例えば、目的別AI学習フェーズにおいて、特徴量集約サーバ100から鍵付替済暗号化目的別集約特徴量を受信した場合、受信した鍵付替済暗号化目的別集約特徴量を、個別秘密鍵を用いて復号(復号化)して、目的別集約特徴量を生成する。学習モデル更新部411は、例えば、目的別AI学習フェーズにおいて、特徴量集約サーバ100から目的別集約特徴量を受信した場合、受信した目的別集約特徴量と学習モデル320を用いて、例えば、加算や平均により学習モデル320を更新する。また、学習モデル更新部411は、目的別AI学習フェーズにおいて、復号処理部412で目的別集約特徴量が生成された場合、復号処理部412で生成された目的別集約特徴量と学習モデル320を用いて、例えば、加算や平均により学習モデル320を更新する。
図6は、本発明の実施例1に係る連合学習システムの処理の一例を示すシーケンス図である。まず、共通AI学習フェーズP601の処理について説明する。図6において、学習モデル更新サーバ200は、開発対象の学習モデル320の情報を、通信ネットワーク500を介して各データ送信装置300へ送信する(S601)。開発対象の学習モデル320としては、例えば、決定木やDeepLearningなどの機械学習モデルが使用される。
各データ送信装置300は、クエリの入力がないことを条件に、保有する学習データ321と学習モデル更新サーバ200から受信した学習モデル320を用いて特徴量(共通学習用特徴量)をそれぞれ算出する(S602)。ここで、各データ送信装置300では、各特徴量を算出する前に、epoch数と呼ばれる学習をローカルで行う回数を定める必要がある。Epoch数は、各データ送信装置300が個別に定めても良いし、特徴量集約サーバ100や、学習モデル更新サーバ200が事前に定めておいてもよい。各特徴量の算出方法は、例えば、決定木の場合は、線形回帰やロジスティック回帰があり、DeepLearningの場合は、統計的勾配降下法などがある。
各データ送信装置300は、ステップS620で生成した特徴量の情報を、通信ネットワーク500を介して特徴量集約サーバ100へ送信する(S603)。
特徴量集約サーバ100は、各データ送信装置300から特徴量の情報を受信した場合、各特徴量の情報を集約して、集約特徴量(共通学習用集約特徴量)を生成する(S604)。各特徴量の情報の集約方法として、例えば、加算や平均が考えられる。集約を行うタイミングについては、全てのデータ送信装置300から特徴量を受信してから集約を行ってもよいし、時間や特徴量に関する閾値を定めて、一定時間経過もしくは一定個数以上の特徴量を受信したら集約を行ってもよい。
例えば、特徴量集約サーバ100は、複数のデータ送信装置300の各々から特徴量を順次入力し、入力した特徴量が設定数に達したときの第1タイミング(第1時間)と、複数のデータ送信装置300の各々から特徴量を入力する入力開始時時間から設定時間経過したときの第2タイミング(第2時間)をそれぞれ監視し、少なくとも第1タイミング又は第2タイミングで、入力した特徴量をそれぞれ集約する。これにより、特徴量集約サーバ100は、設定した第1タイミング又は第2タイミングから、入力した特徴量をそれぞれ集約する処理を開始することができる。
この後、特徴量集約サーバ100は、ステップS604で生成した集約特徴量の情報を、通信ネットワーク500を介して学習モデル更新サーバ200へ送信する(S605)。
次に、学習モデル更新サーバ200は、ステップS605で受信した集約特徴量(共通学習用集約特徴量)を用いて学習モデル320を更新する(S606)。学習モデル320を更新する際は、例えば、集約特徴量を学習モデル320に加算する方法や、集約特徴量をデータ送信装置300の数で除算するなどの処理を行ったうえで加算する方法等が考えられる。
この後、学習モデル更新サーバ200は、更新された学習モデル320の情報を、通信ネットワーク500を介してデータ受信装置400へ送信する(S607)。
以上、ステップS601~ステップS606が共通AI学習フェーズ601である。ステップS601~ステップS606の処理を複数回繰り返すことで、学習モデル320の精度を高めることができる。
次に、目的別AI学習フェーズP602の処理について説明する。図6において、学習モデル更新サーバ200は、開発対象の学習モデル320の情報を、通信ネットワーク500を介してデータ送信装置300へ送信する(S601)。開発対象の学習モデル320としては、例えば、決定木やDeepLearningなどの機械学習モデルが使用される。
特徴量集約サーバ100は、特徴量に付加するタグを含むクエリ(第1クエリ)の情報、例えば、データ抽出要件(性別、年齢等の抽出要件)を規定したクエリの情報(クエリ情報)を各データ送信装置300へ送信する(S608)。
各データ送信装置300は、S608で受信したクエリ情報に基づいて、保有する学習データ321と学習モデル更新サーバ200から受信した学習モデル320を用いて、クエリに従った特徴量(性別、年齢等のデータ抽出要件を満たす特徴量)として、複数のタグ付き特徴量をそれぞれ算出する(S609)。ここで、例えば、クエリのデータ抽出要件として、30歳未満のデータと30歳以上のデータとの比率を3:7で学習することが規定されている場合、学習データとして、30歳未満のデータと30歳以上のデータとの比率が3:7となるデータが用いられ、これらの学習データと学習モデル320とを基に、クエリに従った特徴量が算出される。また、各データ送信装置300では、各タグ付き特徴量を算出する前に、epoch数と呼ばれる学習をローカルで行う回数を定める必要がある。Epoch数は、各データ送信装置300が個別に定めても良いし、特徴量集約サーバ100や、学習モデル更新サーバ200が事前に定めておいてもよい。各タグ付き特徴量の算出方法は、例えば、決定木の場合は、線形回帰やロジスティック回帰があり、DeepLearningの場合は、統計的勾配降下法などがある。
各データ送信装置300は、ステップS609で生成したタグ付き特徴量の情報を、通信ネットワーク500を介して特徴量集約サーバ100へ送信する(S610)。
特徴量集約サーバ100は、各データ送信装置300から複数のタグ付き特徴量の情報を受信した場合、各タグ付き特徴量の情報を集約して、目的別集約特徴量を複数生成する(S611)。各タグ付き特徴量の情報の集約方法として、例えば、性別や年齢などの要件を設定し、要件を満たすタグの付き特徴量のみに対し、加算や平均を行う方法が考えられる。集約を行うタイミングについては、共通AI学習フェーズと同様の方法が考えられる。
次に、学習モデル更新サーバ200は、データ受信装置400からのクエリ(第2クエリ)を受信した場合(S612)、生成した複数の目的別集約特徴量のうち、受信したクエリに適した目的別集約特徴量の情報を、通信ネットワーク500を介してデータ受信装置400へ送信する(S613)。この際、クエリ(第2クエリ)として、性別や年齢などのデータ集約要件が規定されている場合、クエリに適した目的別集約特徴量として、性別や年齢別の目的別集約特徴量が生成される。なお、第1クエリと第2クエリとしては、例えば、学習モデルを更新するための目的に沿ったクエリであって、学習に利用したいデータ(学習データに利用するデータ)のデータ分布等のデータ集約要件が規定されたクエリを用いることもできる。また、第1クエリの内容と第2クエリの内容をそれぞれ異なるようにすることもできる。この場合、第2クエリの内容を第1クエリの内容よりも要件の範囲を絞り込んだものにする。例えば、第1クエリのデータ抽出要件を、全ての年齢のデータとし、第2クエリのデータ集約要件を、特定の年代のデータとする。
データ受信装置400は、学習モデル更新サーバ200から受信した目的別集約特徴量を用いて学習モデル320(共通AI学習フェーズP601で更新された学習モデル320)を更新する(S614)。学習モデル320を更新する際は、例えば、目的別集約特徴量を学習モデル320に加算する方法や、目的別集約特徴量をデータ送信装置300の数で除算するなどの処理を行ったうえで加算する方法等が考えられる。
この後、データ受信装置400は、更新された学習モデル320の性能などに関する情報を、ネットワーク500を介して学習モデル更新サーバ200および、特徴量集約サーバ100へ送信するフィードバックの処理を実行する(615)。
ステップS601、S602、S608~ステップS615が目的別AI学習フェーズP602である。
本実施例によれば、学習モデルを更新するための目的に沿って集約された目的別集約特徴量で学習モデルを更新することができる。すなわち、本実施例によれば、共通AI学習フェーズにおいて通常の連合学習同様に学習モデルを更新することができ、また目的別AI学習フェーズにおいて、特徴量集約サーバ100でタグ付き特徴量を収集することで、データ受信装置400のクエリ(第2クエリ)に沿った更新モデルを生成することができ、結果として、データ受信装置400のクエリに沿った目的別AIの開発が可能となる。
また、本実施例においては、目的別AI学習フェーズにおいて、特徴量集約サーバ100は、算出した目的別集約特徴量のリストを作成し、データ受信装置400は、リストの中から必要な目的別集約特徴量のクエリを特徴量集約サーバ100へ送り、データ受信装置400のクエリの対象となる目的別集約特徴量を入手するという場面を想定している。
本実施例は、目的別AI学習フェーズにおいて、特徴量集約サーバ100が、データ受信装置400からのクエリ(第2クエリ)を受信したことを条件に、特徴量集約サーバ100から各データ送信装置300にクエリ(第1クエリ)を送信するようにしたものであり、実施例1とは、ハードウェアの構成及びソフトウェア資源の一部の構成は同一である。
図7は、本発明の実施例2に係る連合学習システムの処理の一例を示すシーケンス図である。なお、本実施例における共通AI学習フェーズP601の処理については、実施例1と同様である。
次に、目的別AI学習フェーズP701の処理について説明する。図7において、学習モデル更新サーバ200は、開発対象の学習モデル320の情報を、通信ネットワーク500を介してデータ送信装置300へ送信する(S601)。開発対象の学習モデル320としては、例えば、決定木やDeepLearningなどの機械学習モデルが使用される。
次に、データ受信装置400は、クエリ(第2クエリ)として、例えば、学習に利用したいデータのデータ分布等をデータ集約要件に規定したクエリの情報を特徴量集約サーバ100へ送る(S701)。クエリ(第2クエリ)を受信した特徴量集約サーバ100は、受け取ったクエリを基に、特徴量に付加するタグを含むクエリとして、例えば、学習に利用したいデータ分布等をデータ抽出要件としたクエリ(第1クエリ)を生成し、生成したクエリの情報をデータ送信装置300へ送信する(S608)。この際、特徴量集約サーバ100は、データ受信装置400からクエリ(第2クエリ)を受信した場合、第1クエリとして、第2クエリとはその内容が異なるものを生成することもできる。この場合、第1クエリの内容を第2クエリの内容よりも要件の範囲を広げることができる。
この後、目的別AI学習フェーズP701の処理として、S609~S615の処理が実行されるが、ステップS609~S615のうち、ステップS612の処理がなくなること以外は、実施例1と同様であり、それらの説明を省略する。
本実施例によれば、共通AI学習フェーズにおいて通常の連合学習同様に学習モデルを更新することができ、また目的別AI学習フェーズにおいて、特徴量集約サーバ100でタグ付き特徴量を収集することで、データ受信装置400のクエリ(第2クエリ)に沿った更新モデルを生成することができ、結果として、データ受信装置400のクエリに沿った目的別AIの開発が可能となる。
また、本実施例によれば、目的別AI学習フェーズにおいて、特徴量集約サーバ100が、データ受信装置400から受信したクエリ(第2クエリ)であって、学習に利用したいデータの分布等に関するクエリに応じたタグ付き特徴量を各データ送信装置300から入手して集約することで、データ受信装置400のクエリ(第2クエリ)により適した更新モデルを生成することができ、結果として、データ受信装置400のクエリにより適した目的別AIの開発が可能となる。
本実施例は、共通AI学習フェーズの前に、初期フェーズとして、データの暗号化に必要な鍵生成処理を実行し、共通AI学習フェーズにおいて、初期フェーズにおいて、鍵生成処理で生成された鍵を用いて特徴量を暗号化するようにしたものである。すなわち、本実施例は、特徴量を暗号化することで、特徴量からデータ送信端末の持つ学習データを復元する攻撃等、データ漏洩攻撃への耐性を高めた手法である。なお、実施例1とは、ハードウェアの構成及びソフトウェア資源の一部の構成は同一である。
図8は、本発明の実施例3に係る連合学習システムの処理の一例を示すシーケンス図である。図8において、学習モデル更新サーバ200は、まず、共通AI学習前の初期フェーズP801の処理として、二次公開鍵の鍵生成を行い(S801)、開発対象の学習モデル320と生成した二次公開鍵及び暗号パラメータの情報を、通信ネットワーク500を介して各データ送信装置300へ送信し(S802)、さらに、暗号パラメータの情報を、通信ネットワーク500を介して特徴量集約サーバ100へ送信する(S803)。
特徴量集約サーバ100は、受信した暗号パラメータの情報を基に一次公開鍵の鍵生成を行い(S804)、生成した一次公開鍵の情報を、通信ネットワーク500を介して各データ送信装置300へ送信する(S805)。
学習モデル更新サーバ200による鍵生成処理(S801)と、特徴量集約サーバ100による鍵生成処理(S804)では、例えば、加法準同型暗号の一つである、楕円Elgamal暗号を用いる。この場合、ステップS802やステップS803で送信される暗号パラメータは、例えば、楕円Elgamal暗号を利用するという情報や、使用する楕円曲線、基点の情報などを含む。なお、暗号パラメータの設定は、学習モデル更新サーバ200が行ってもよいし、特徴量集約サーバ100が行ってもよい。開発対象の学習モデル320としては、例えば、決定木やDeepLearningなどの機械学習モデルが使用される。
次に、共通AI学習フェーズP802における処理として、各データ送信装置300は、保有する学習データ321と学習モデル更新サーバ200から受信した学習モデル320を用いて特徴量(共通学習用特徴量)をそれぞれ算出する(S602)。ここで、各データ送信装置300では、各特徴量を算出する前に、epoch数と呼ばれる学習をローカルで行う回数を定める必要がある。Epoch数は、各データ送信装置300が個別に定めても良いし、特徴量集約サーバ100や、学習モデル更新サーバ200が事前に定めておいてもよい。各特徴量の算出方法は、例えば、決定木の場合は、線形回帰やロジスティック回帰があり、DeepLearningの場合は、統計的勾配降下法などがある。
次に、各データ送信装置300は、ステップS802で受信した二次公開鍵と、ステップS805で受信した一次公開鍵を用いて特徴量の暗号化を行い、暗号化特徴量(共通学習用暗号化特徴量)を生成する(S806)。特徴量を暗号化するに際して、例えば、公開鍵の数だけ特徴量を暗号化する方法や、公開鍵を先に加算し、算出された加算公開鍵を用いて一度だけ暗号化を行う方法が考えられる。
各データ送信装置300は、ステップS806で生成した暗号化特徴量の情報を、通信ネットワーク500を介して特徴量集約サーバ100へ送信する(S807)。
特徴量集約サーバ100は、各データ送信装置300から暗号化特徴量の情報を受信した場合、各暗号化特徴量の情報を集約して、暗号化集約特徴量(共通学習用暗号化集約特徴量)を生成する(S808)。各暗号化特徴量の情報の集約方法として、例えば、加算や平均が考えられる。加法準同型暗号を用いることにより、暗号化した状態のまま加算を行うことが可能となる。集約を行うタイミングについては、全てのデータ送信装置300から暗号化特徴量を受信してから集約を行ってもよいし、時間や暗号化特徴量の数に関する閾値を定めて、一定時間経過もしくは一定個数以上の暗号化特徴量を受信したタイミングで集約を行ってもよい。
例えば、特徴量集約サーバ100は、複数のデータ送信装置300の各々から暗号化特徴量を順次入力し、入力した暗号化特徴量が設定数に達したときの第1タイミング(第1時間)と、複数のデータ送信装置300の各々から暗号化特徴量を入力する入力開始時時間から設定時間経過したときの第2タイミング(第2時間)をそれぞれ監視し、少なくとも第1タイミング又は第2タイミングで、入力した暗号化特徴量をそれぞれ集約する。これにより、特徴量集約サーバ100は、設定した第1タイミング又は第2タイミングから、入力した暗号化特徴量をそれぞれ集約する処理を開始することができる。
特徴量集約サーバ100は、ステップS804で生成した一次秘密鍵を用いて、ステップS808で生成した暗号化集約特徴量の復号(復号化)を行い、一次復号済暗号化集約特徴量を生成する(S809)。ここで、特徴量集約サーバ100は、ステップS801で学習モデル更新サーバ200により生成された二次秘密鍵を保有していないため、暗号化集約特徴量を完全に復号(復号化)することはできない。このように、特徴量集約サーバ100において集約後に一次復号(一次復号化)を行うので、万一、集約前の暗号化特徴量が漏えいしたとしても、暗号化特徴量が多重に暗号化されているため、二次秘密鍵しか持たない学習モデル更新サーバ200は、暗号化特徴量を完全には復号できず、元の特徴量の安全性は確保される。
この後、特徴量集約サーバ100は、ステップS809で生成した一次復号済暗号化集約特徴量の情報を、通信ネットワーク500を介して学習モデル更新サーバ200へ送信する(S810)。
学習モデル更新サーバ200は、一次復号済暗号化集約特徴量の情報を受信した場合、ステップS701で生成した二次秘密鍵を用いて、一次復号済暗号化集約特徴量を復号(復号化)して、集約特徴量を生成する(S811)。
次に、学習モデル更新サーバ200は、ステップS811で生成した集約特徴量を用いて学習モデル320を更新する(S606)。学習モデル320を更新する際は、例えば、集約特徴量を学習モデル320に加算する方法や、集約特徴量をデータ送信装置300の数で除算するなどの処理を行ったうえで加算する方法等が考えられる。
この後、学習モデル更新サーバ200は、更新された学習モデル320の情報を、通信ネットワーク500を介してデータ受信装置400へ送信する(S607)。
ステップS801~ステップS805を初期フェーズ(共通AI学習フェーズ前)P801とし、ステップS601、S602、S806~ステップS811を共通AI学習フェーズP802とした場合、初期フェーズP801の処理を終えた後、共通AI学習フェーズP802の処理を繰り返し行っても良い。すなわち、共通AI学習フェーズP802のステップS607の後、再び共通AI学習フェーズP802のステップS601から同様の手順で処理を行っても良い。また、ステップS606の後、ステップS607の処理を行わずに、共通AI学習フェーズ802のステップS601から同様の手順で処理を行っても良い。
ここで、ステップS806~ステップS811の具体的な処理として、例えば、暗号方式として楕円ElGamal暗号を用いた場合について説明する。この際、暗号パラメータの一つである楕円曲線上の基点をG、一次秘密鍵である整数値をa、二次秘密鍵である整数値をb、一次公開鍵をaG、二次公開鍵をbGとする。暗号化する2つの楕円曲線上の点をM1、M2とする。また、暗号化において、一次公開鍵aGと二次公開鍵bGを先に加算して加算公開鍵(a+b)Gを算出し、上記加算公開鍵を用いて暗号化する場合を考える。このとき、楕円曲線上の点M1、M2の暗号文は、それぞれランダムな整数値r1、r2を乱数として用いて、(r1G,r1(a+b)G+M1),(r2G,r2(a+b)G+M2)となり(S806)、これらの暗号文は、暗号化特徴量として、各データ送信装置300から特徴量集約サーバ100へ送られる(S807)。なお、整数値r1、r2を乱数として用いない場合、同じデータは、同じ暗号文に変換されるので、整数値r1、r2は毎回生成される。
特徴量集約サーバ100は、各暗号文の集約を行うことで、暗号化集約特徴量として、((r1+r2)G,(r1+r2)(a+b)G+M1+M2)を算出し(S808)、更に一次秘密鍵であるaと暗号化集約特徴量を用いて、以下の計算を行う(S809)。
((r1+r2)(a+b)G+M1+M2)―a((r1+r2)G)=b(r1+r2)G+M1+M2・・・(3)
この際、特徴量集約サーバ100は、算出した((r1+r2)G,b(r1+r2)G+M1+M2)を一次復号済暗号化集約特徴量として、学習モデル更新サーバ200へ送信する(S810)。
学習モデル更新サーバ200は、一次復号済暗号化集約特徴量を受信した場合、二次秘密鍵であるbと一次復号済暗号化集約特徴量を用いて以下の計算を行う(S811)。
(b(r1+r2)G+M1+M2)―b((r1+r2)G)=M1+M2・・・(4)
上記計算により、学習モデル更新サーバ200は、(4)式による復号処理により集約特徴量として、M1+M2を生成する。ただし、連合学習システム10では、ステップS806において、特徴量を暗号化する必要がある。この際、特徴量は、実数値、楕円曲線上の点は整数値であるため、楕円ElGamal暗号を用いる場合、特徴量と楕円曲線上の点を変換する仕組みが必要になる。変換する方法として、例えば、事前にnbitと楕円曲線上の点の変換表を作成しておき、特徴量をbit数nの2進数表現に変換したのち、上記変換表を用いて楕円曲線上の点へ変換する方法が考えられる。
また、特徴量を暗号化するに際しては、暗号化と復号(復号化)を効率的に行うために、特徴量を丸める方法を採用することができる。特徴量を丸める方法としては、例えば、値nを設定し、特徴量に対して、切り上げ又は切り下げ処理を実行し、nビット表現に統一する方法を採用することができる。すなわち、特徴量を丸めずに暗号化すると、暗号化集約特徴量を復号(復号化)する際に参照するルックアップテーブル(対応表)の情報量が多くなり、復号に時間がかかるので、特徴量を丸める方法が採用される。この際、各データ送信装置300は、特徴量を多重に暗号化する前に、特徴量に対して切り上げ処理又は切り下げ処理を実行し、特徴量の値を、設定されたビット情報に統一する。これにより、特徴量集約サーバ100や学習モデル更新サーバ200は、特徴量の復号(復号化)を効率的に行うことができる。
ここで、具体例として、例えば、特徴量(feature)を、0<又は=feature<又は=1を満たす実数値とし、特徴量を丸めた後の値を、fとすると、n=2の場合、2ビットなので、次の4通りの値に特徴量を丸めることができる。この際、特徴量を丸める方法としては、以下の方法が採用される。
f=0 if 0<又は=feature<0.25 ・・・(a)
f=0.33 if 0.25<又は=feature<0.5 ・・・(b)
f=0.67 if 0.5<又は=feature<0.75 ・・・(c)
f=1 if 0.75<又は=feature<又は=1 ・・・(d)
なお、n=4の場合、4ビットなので、16通りの値に特徴量を丸めることができる。
本実施例において、特徴量集約サーバ100は、暗号化集約特徴量の復号(復号化)を、暗号化特徴量の集約後に行っているが、暗号化特徴量の集約前に暗号化特徴量の復号(復号化)を行うことも可能である。
本実施例においては、学習モデル更新サーバ200が二次秘密鍵の生成をする代わりに、データ送信装置300が二次秘密鍵の生成を実施し、データ送信装置300で生成した二次秘密鍵を、学習モデル更新サーバ200が、データ送信装置300から受信しても良い。すなわち、特徴量集約サーバ100に学習モデル更新サーバ200の二次秘密鍵が漏洩しない限り、特徴量集約サーバ100は、一次復号済暗号化集約特徴量を復号(復号化)することはできない。
本実施例においては、データ送信装置300が秘密鍵の生成を実施する場合、複数のデータ送信装置300がそれぞれ秘密鍵を生成し、各データ送信装置300で生成された秘密鍵から導出される値を二次秘密鍵としても良い。例えば、n個の秘密鍵の合計を二次秘密鍵としても良い。
さらに、本実施例においては、2種類(一次と二次)の秘密鍵と公開鍵のペアを用いたが、暗号化と復号の種類数に限定は無く、例えば、各データ送信装置300がそれぞれ特徴量を5重に暗号化し、特徴量集約サーバ100が暗号化特徴量を2重に復号し、モデル更新サーバ200が暗号化特徴量を3重に復号しても良い。
本実施例によれば、複数の特徴量を多重に暗号化し、多重に暗号化された複数の暗号化特徴量を集約して異なる装置で多段階に分けて復号することができる。結果として、暗号化特徴量を多段階に分けて復号(復号化)する過程で、特徴量が復号(復号化)されるリスクを低減することができ、高い情報セキュリティを確保することが可能になる。
また、本実施例によれば、共通AI学習フェーズにおいて、学習モデル更新サーバ200が二次秘密鍵を保有しているため、学習モデル更新サーバ200で二次秘密鍵を用いて一次復号済暗号化集約特徴量を復号(復号化)して集約特徴量を生成することができる。
なお、特徴量集約サーバ100が特徴量を漏洩しないこと、及び学習モデル更新サーバ200が一次復号済暗号化集約特徴量以外を復号(復号化)しないことを条件に、特徴量及びタグ付き特徴量一重暗号化(一次公開鍵のみを用いた暗号化)するだけで、特徴量及びタグ付き特徴量を二重暗号化(一次公開鍵と二次公開鍵を用いた暗号化)する場合と同等のセキュリティを確保することは可能である。
本実施例は、目的別AI学習フェーズの前に、初期フェーズとして、データの暗号化に必要な鍵生成処理を実行し、目的別AI学習フェーズにおいて、鍵生成処理で生成された鍵を用いてタグ付き特徴量を暗号化するようにしたものである。すなわち、本実施例は、タグ付き特徴量を暗号化することで、タグ付き特徴量からデータ送信端末の持つ学習データを復元する攻撃等、データ漏洩攻撃への耐性を高めた手法である。なお、実施例1とは、ハードウェアの構成及びソフトウェア資源の一部の構成は同一である。また、データ受信装置400は、複数台存在することを想定している。
図9は、本発明の実施例4に係る連合学習システムの処理の一例を示すシーケンス図である。図9において、学習モデル更新サーバ200は、まず、共通AI学習前の初期フェーズP901の処理として、二次公開鍵と、各データ受信装置400が鍵付替暗号化目的別集約特徴量の復号(復号化)に使用する個別秘密鍵と、特徴量集約サーバ100が鍵付替に使用する鍵付替鍵、及び暗号パラメータの情報をそれぞれ生成する(S901)。
この後、学習モデル更新サーバ200は、開発対象の学習モデル320と生成した二次公開鍵及び暗号パラメータの情報を、通信ネットワーク500を介して各データ送信装置300へ送信し(S902)、また各々の個別秘密鍵の情報を各々のデータ受信装置400へ送信し(S903)、さらに、暗号パラメータと鍵付替鍵の情報を、通信ネットワーク500を介して特徴量集約サーバ100へ送信する(S904)。
なお、学習モデル更新サーバ200による鍵生成処理(S901)では、例えば、加法準同型暗号の一つである、楕円Elgamal暗号を用いる。この場合、ステップS902やステップS904で送信される暗号パラメータは、例えば、楕円Elgamal暗号を利用するという情報や、使用する楕円曲線、基点の情報などを含む。
次に、目的別AI学習フェーズP902における処理として、ステップS601、S608、S609、S905~S907、S612、S908~S910、S614~S615の処理が実行される。この際、ステップS601、S608、S609、S612、S614については、実施例1の目的別AI学習フェーズと同様であるので、以下、実施例1の目的別AI学習フェーズにおける処理とは異なる処理(S905~S910)について説明する。
ステップS609の後、各データ送信装置300は、ステップS902で受信した二次公開鍵を用いて、ステップS609で算出したタグ付き特徴量の暗号化を行い、暗号化タグ付き特徴量を生成し(S905)、生成した暗号化タグ付き特徴量の情報を特徴量集約サーバ100へ送信する(S906)。この際、タグの暗号化方法として、例えば、二次公開鍵を用いてタグを暗号化しても良いし、タグを暗号化しなくても良い。
特徴量集約サーバ100は、各データ送信装置300から暗号化タグ付き特徴量の情報を受信した場合、各暗号化タグ付き特徴量の情報を集約して、複数の暗号化目的別集約特徴量を生成する(S907)。各暗号化タグ付き特徴量の情報の集約方法として、例えば、加算や平均が考えられる。加法準同型暗号を用いることにより、暗号化した状態のまま加算を行うことが可能となる。集約を行うタイミングについては、全てのデータ送信装置300から暗号化タグ付き特徴量を受信してから集約を行ってもよいし、時間や暗号化タグ付き特徴量の数に関する閾値を定めて、一定時間経過もしくは一定個数以上の暗号化タグ付き特徴量を受信したタイミングで集約を行ってもよい。
次に、特徴量集約サーバ100は、データ受信装置400からクエリ(第2クエリ)を受信した場合(S612)、生成した複数の暗号化目的別集約特徴量のうち、クエリ対象の暗号化目的別集約特徴量と、ステップS904で受信した鍵付替鍵とを用いた鍵付替処理を行って鍵付替済暗号化目的別集約特徴量を生成し(S908)、生成した鍵付替済暗号化目的別集約特徴量の情報をデータ受信装置400へ送信する(S909)。ここで、鍵付替後は、鍵付替鍵に対応した個別秘密鍵を持つデータ受信装置400のみが、鍵付替済暗号化目的別集約特徴量を復元可能となる。このため、特徴量集約サーバ100は、ステップS908で適切な鍵付替鍵を選ぶことで、ステップS612でクエリを送信したデータ送信装置300のみ復元可能な暗号文として、鍵付替済暗号化目的別集約特徴量の情報を生成できる。
この後、データ受信装置400は、ステップS909で受信した鍵付替済暗号化目的別集約特徴量を、ステップS903で受信した個別秘密鍵を用いて復号(復号化)して目的別集約特徴量を生成する(S910)。このとき、鍵付替済暗号化目的別集約特徴量が別のデータ受信端末400向けに送られた暗号文であった場合、クエリの対象でないデータ受信装置400の保有する個別秘密鍵では鍵付替済暗号化目的別集約特徴量を復号(復号化)できない。
ここで、ステップS907~ステップS910の鍵付替と復号(復号化)の具体的な処理として、例えば、暗号方式として楕円ElGamal暗号を用いた場合について説明する。この際、暗号パラメータの一つである楕円曲線上の基点をG、二次秘密鍵である整数値をb、個別秘密鍵である整数値をc、鍵付替鍵である整数値をc/b、二次公開鍵をbGとする。ここで、c/bは、暗号パラメータで定められた有限体上での除算であることに注意し、暗号化する楕円曲線上の点をMとする。このとき、楕円曲線上の点Mの暗号文は、ランダムな整数値rを乱数として用いて、(brG,rG+M)である(S907)。(brG,rG+M)は、暗号化目的別集約特徴量に対応している。なお、整数値rを乱数として用いない場合、同じデータは、同じ暗号文に変換されるので、整数値rは毎回生成される。
次に、特徴量集約サーバ100は、鍵付替鍵と暗号化目的別集約特徴量を用いて、(brG)*(c/b)=crG を算出し(S908)、(crG,rG+M)を鍵付替済暗号化目的別集約特徴量としてデータ受信装置400へ送信する(S909)。
データ受信装置400は、受信した鍵付替済暗号化目的別集約特徴量と個別秘密鍵を用いて次の計算を行う。
(rG+M)―(crG/c)=M・・・(5)
上記計算により、データ受信装置400は、(5)式による復号処理(復号化処理)により目的別集約特徴量として、Mを生成する。ただし、連合学習システム10では、ステップS905において、タグ付き特徴量を暗号化する必要がある。この際、タグ付き特徴量は、実数値、楕円曲線上の点は整数値であるため、楕円ElGamal暗号を用いる場合、タグ付き特徴量と楕円曲線上の点を変換する仕組みが必要になる。変換する方法として、例えば、事前にnbitと楕円曲線上の点の変換表を作成しておき、特徴量をbit数nの2進数表現に変換したのち、上記変換表を用いて楕円曲線上の点へ変換する方法が考えられる。
本実施例において、特徴量集約サーバ100は、暗号化タグ付き特徴量の復号(復号化)を、暗号化タグ付き特徴量の集約後に行っているが、暗号化タグ付き特徴量の集約前に暗号化タグ付き特徴量の復号を行うことも可能である。
本実施例によれば、実施例1と同様の効果を奏することができると共に、目的別AI学習フェーズにおいて、データ受信装置400が個別秘密鍵を保有しているため、鍵付替鍵に対応した個別秘密鍵を保有するデータ受信装置400で個別秘密鍵を用いて鍵付替済暗号化目的別集約特徴量を復号(復号化)して目的別集約特徴量を生成することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
また、上記の各構成、機能手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、DVD(Digital Versatile Disc)等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100 特徴量集約サーバ、200 学習モデル更新サーバ、300 データ送信装置、400 データ受信装置、101 プロセッサ、102 補助記憶装置、103 メリ、107 通信インターフェース、111 鍵生成部、112 特徴量集約部、113復号処理部、114 鍵付替部、201 プロセッサ、202 補助記憶装置、203メモリ、207 通信インターフェース、211 鍵生成部、212 学習モデル更新部、213 復号処理部、301 プロセッサ、302 補助記憶装置、303 メモリ、307 通信インターフェース、311 特徴量計算部、312 暗号処理部、401 プロセッサ、402 補助記憶装置、403 メモリ、407 通信インターフェース、411 学習モデル更新部、412 復号処理部

Claims (15)

  1. 通信ネットワークに接続される複数のデータ送信装置と、
    前記通信ネットワークを介して前記複数のデータ送信装置の各々と情報の送受信を行う特徴量集約サーバと、
    前記通信ネットワークを介して前記特徴量集約サーバに接続される1又は複数のデータ受信装置と、を備え、
    前記各データ送信装置は、
    データ抽出要件を含む第1クエリの入力を条件に、学習モデルと複数の学習データの各々とを基に前記第1クエリに従った特徴量を示すタグ付き特徴量を生成し、生成した前記タグ付き特徴量を含む送信情報を前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記各データ送信装置から前記送信情報を受信した場合、受信した前記送信情報に属する前記タグ付き特徴量をそれぞれ集約して目的別集約特徴量を生成し、生成した前記目的別集約特徴量を前記データ受信装置へ送信し、
    前記データ受信装置は、
    前記特徴量集約サーバから前記目的別集約特徴量を受信した場合、受信した前記目的別集約特徴量を基に前記学習モデルを更新することを特徴とする連合学習システム。
  2. 請求項1に記載の連合学習システムにおいて、
    前記データ受信装置は、
    データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2クエリを受信した場合、前記目的別集約特徴量のうち前記第2クエリに対応する目的別集約特徴量を前記データ受信装置へ送信することを特徴とする連合学習システム。
  3. 請求項1に記載の連合学習システムにおいて、
    前記データ受信装置は、
    データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2クエリを受信したことを条件に、受信した前記第2クエリを基に前記第1クエリを生成し、生成した前記第1クエリを、前記通信ネットワークを介して前記各データ送信装置へ送信することを特徴とする連合学習システム。
  4. 請求項1に記載の連合学習システムにおいて、
    前記データ受信装置は、
    データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記各データ送信装置は、
    前記タグ付き特徴量を多重に暗号化して暗号化タグ付き特徴量を生成し、生成した前記暗号化タグ付き特徴量を前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2クエリを受信した場合、前記各データ送信装置から送信された前記暗号化タグ付き特徴量をそれぞれ集約して暗号化目的別集約特徴量を生成し、生成した前記暗号化目的別集約特徴量のうち前記第2クエリに対応する暗号化目的別集約特徴量に対して鍵付替えを行って鍵付替済暗号化目的別集約特徴量を生成し、生成した前記鍵付替済暗号化目的別集約特徴量を前記データ受信装置のうち前記第2クエリの送信元となる特定のデータ受信装置へ送信し、
    前記特定のデータ受信装置は、
    前記鍵付替済暗号化目的別集約特徴量を受信した場合、受信した前記鍵付替済暗号化目的別集約特徴量を復号化して前記目的別集約特徴量を生成することを特徴とする連合学習システム。
  5. 請求項4に記載の連合学習システムにおいて、
    前記学習モデルと公開鍵と鍵付替鍵と個別秘密鍵、及び暗号パラメータの情報をそれぞれ生成する学習モデル更新サーバを更に備え、
    前記学習モデル更新サーバは、
    前記学習モデルと前記公開鍵及び前記暗号パラメータの情報を、前記通信ネットワークを介して前記各データ送信装置へ送信し、前記鍵付替鍵及び前記暗号パラメータの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、前記個別秘密鍵の情報を、前記通信ネットワークを介して前記特定のデータ受信装置へ送信し、
    前記各データ送信装置は、
    前記学習モデル更新サーバから受信した前記公開鍵及び暗号パラメータを基に前記タグ付き特徴量を多重に暗号化して前記暗号化タグ付き特徴量を生成し、
    前記特徴量集約サーバは、
    前記学習モデル更新サーバから受信した前記暗号パラメータと前記鍵付替鍵を基に前記第2クエリに対応する暗号化目的別集約特徴量に対して鍵付替えを行って前記鍵付替済暗号化目的別集約特徴量を生成し、
    前記特定のデータ受信装置は、
    前記学習モデル更新サーバから受信した前記個別秘密鍵を基に前記鍵付替済暗号化目的別集約特徴量を復号化することを特徴とする連合学習システム。
  6. 請求項2又は3に記載の連合学習システムにおいて、
    前記データ抽出要件と前記データ集約要件のうち、少なくとも一方には、前記学習データに利用するデータのデータ分布が規定されていることを特徴とする連合学習システム。
  7. 請求項1に記載の連合学習システムにおいて、
    前記学習モデルの情報を、前記通信ネットワークを介して前記各データ送信装置へ送信する学習モデル更新サーバを更に備え、
    前記各データ送信装置は、
    前記第1クエリの入力がないことを条件に、前記学習モデルと前記複数の学習データの各々とを基に共通学習用特徴量を生成して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記各データ送信装置から送信された前記共通学習用特徴量をそれぞれ集約して共通学習用集約特徴量を生成し、生成した前記共通学習用集約特徴量を、前記通信ネットワークを介して前記学習モデル更新サーバへ送信し、
    前記学習モデル更新サーバは、
    前記共通学習用集約特徴量を受信した場合、受信した前記共通学習用集約特徴量を基に前記学習モデルを更新し、更新された前記学習モデルを、前記通信ネットワークを介して前記データ受信装置へ送信することを特徴とする連合学習システム。
  8. 請求項7に記載の連合学習システムにおいて、
    前記学習モデル更新サーバは、
    前記学習モデルと第1公開鍵と第1秘密鍵及び暗号パラメータの情報をそれぞれ生成し、生成した前記学習モデルと前記第1公開鍵及び前記暗号パラメータの情報を、前記通信ネットワークを介して前記各データ送信装置へ送信し、生成した前記暗号パラメータの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記学習モデル更新サーバから前記暗号パラメータを受信した場合、受信した前記暗号パラメータを基に第2公開鍵を生成して前記各データ送信装置へ送信し、
    前記各データ送信装置は、
    前記学習モデル更新サーバから受信した前記第1公開鍵及び暗号パラメータと前記特徴量集約サーバから受信した前記第2公開鍵とを基に前記共通学習用特徴量を多重に暗号化して共通学習用暗号化特徴量を生成し、
    前記特徴量集約サーバは、
    前記共通学習用暗号化特徴量をそれぞれ集約して共通学習用暗号化集約特徴量を生成し、生成した前記共通学習用暗号化集約特徴量を第2秘密鍵で一次復号化して一次復号済暗号化集約特徴量を生成し、生成した前記一次復号済暗号化集約特徴量を前記学習モデル更新サーバへ送信し、
    前記学習モデル更新サーバは、
    前記一次復号済暗号化集約特徴量を受信した場合、受信した前記一次復号済暗号化集約特徴量を前記第1秘密鍵で復号化して前記共通学習用集約特徴量を生成することを特徴とする連合学習システム。
  9. 通信ネットワークに接続される複数のデータ送信装置と、
    前記通信ネットワークを介して前記複数のデータ送信装置の各々と情報の送受信を行う特徴量集約サーバと、
    前記通信ネットワークを介して前記特徴量集約サーバに接続される1又は複数のデータ受信装置と、を備える連合学習システムにおける方法であって、
    前記各データ送信装置が、データ抽出要件を含む第1クエリの入力を条件に、学習モデルと複数の学習データの各々とを基に前記第1クエリに従った特徴量を示すタグ付き特徴量を生成し、生成した前記タグ付き特徴量を含む送信情報を前記特徴量集約サーバへ送信する第1の学習ステップと、
    前記特徴量集約サーバが、前記各データ送信装置から前記送信情報を受信した場合、受信した前記送信情報に属する前記タグ付き特徴量をそれぞれ集約して目的別集約特徴量を生成し、生成した前記目的別集約特徴量を前記データ受信装置へ送信する第2の学習ステップと、
    前記データ受信装置が、前記特徴量集約サーバから前記目的別集約特徴量を受信した場合、受信した前記目的別集約特徴量を基に前記学習モデルを更新する第3の学習ステップと、を備えることを特徴とする連合学習方法。
  10. 請求項9に記載の連合学習方法において、
    前記データ受信装置は、
    前記第3の学習ステップを実行する前に、データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2の学習ステップでは、前記第2クエリを受信した場合、前記目的別集約特徴量のうち前記第2クエリに対応する目的別集約特徴量を前記データ受信装置へ送信することを特徴とする連合学習方法。
  11. 請求項9に記載の連合学習方法において、
    前記データ受信装置は、
    前記第3の学習ステップを実行する前に、データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2の学習ステップでは、前記第2クエリを受信したことを条件に、受信した前記第2クエリを基に前記第1クエリを生成し、生成した前記第1クエリを、前記通信ネットワークを介して前記各データ送信装置へ送信することを特徴とする連合学習方法。
  12. 請求項9に記載の連合学習方法において、
    前記データ受信装置は、
    前記第3の学習ステップを実行する前に、データ集約要件を含む第2クエリの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、
    前記各データ送信装置は、
    前記第1の学習ステップでは、前記生成した前記タグ付き特徴量を多重に暗号化して暗号化タグ付き特徴量を生成し、生成した前記暗号化タグ付き特徴量を前記特徴量集約サーバへ送信し、
    前記特徴量集約サーバは、
    前記第2の学習ステップでは、前記第2クエリを受信した場合、前記各データ送信装置から送信された前記暗号化タグ付き特徴量をそれぞれ集約して暗号化目的別集約特徴量を生成し、生成した前記暗号化目的別集約特徴量のうち前記第2クエリに対応する暗号化目的別集約特徴量に対して鍵付替えを行って鍵付替済暗号化目的別集約特徴量を生成し、生成した前記鍵付替済暗号化目的別集約特徴量を前記データ受信装置のうち前記第2クエリの送信元となる特定のデータ受信装置へ送信し、
    前記特定のデータ受信装置は、
    前記第3の学習ステップでは、前記鍵付替済暗号化目的別集約特徴量を受信した場合、受信した前記鍵付替済暗号化目的別集約特徴量を復号化して前記目的別集約特徴量を生成することを特徴とする連合学習方法。
  13. 請求項12に記載の連合学習方法において、
    前記連合学習システムとして、前記学習モデルと公開鍵と鍵付替鍵と個別秘密鍵、及び暗号パラメータの情報をそれぞれ生成する学習モデル更新サーバを更に備え、
    前記第1の学習ステップの前のステップとして、前記学習モデル更新サーバが、前記学習モデルと前記公開鍵及び前記暗号パラメータの情報を、前記通信ネットワークを介して前記各データ送信装置へ送信し、前記鍵付替鍵及び前記暗号パラメータの情報を、前記通信ネットワークを介して前記特徴量集約サーバへ送信し、前記個別秘密鍵の情報を、前記通信ネットワークを介して前記特定のデータ受信装置へ送信する初期の学習ステップを備え、
    前記各データ送信装置は、
    前記第1の学習ステップでは、前記初期の学習ステップで前記学習モデル更新サーバから受信した前記公開鍵及び前記暗号パラメータを基に前記タグ付き特徴量を多重に暗号化して前記暗号化タグ付き特徴量を生成し、
    前記特徴量集約サーバは、
    前記第2の学習ステップでは、前記初期の学習ステップで前記学習モデル更新サーバから受信した前記暗号パラメータ及び前記鍵付替鍵を基に前記第2クエリに対応する暗号化目的別集約特徴量に対して鍵付替えを行って前記鍵付替済暗号化目的別集約特徴量を生成し、
    前記特定のデータ受信装置は、
    前記第3の学習ステップでは、前記初期の学習ステップで前記学習モデル更新サーバから受信した前記個別秘密鍵を基に前記鍵付替済暗号化目的別集約特徴量を復号化することを特徴とする連合学習方法。
  14. 請求項10又は11に記載の連合学習方法において、
    前記データ抽出要件と前記データ集約要件のうち、少なくとも一方には、前記学習データに利用するデータのデータ分布が規定されていることを特徴とする連合学習方法。
  15. 請求項9に記載の連合学習方法において、
    前記連合学習システムとして、前記学習モデルの情報を生成する学習モデル更新サーバを更に備え、
    前記学習モデル更新サーバが、前記学習モデルの情報を、前記通信ネットワークを介して前記各データ送信装置へ送信する第1の共通学習ステップと、
    前記各データ送信装置が、前記第1クエリの入力がないことを条件に、前記学習モデルと前記複数の学習データの各々とを基に共通学習用特徴量を生成して前記特徴量集約サーバへ送信する第2の共通学習ステップと、
    前記特徴量集約サーバが、前記各データ送信装置から送信された前記共通学習用特徴量をそれぞれ集約して共通学習用集約特徴量を生成し、生成した前記共通学習用集約特徴量を、前記通信ネットワークを介して前記学習モデル更新サーバへ送信する第3の共通学習ステップと、
    前記学習モデル更新サーバが、前記共通学習用集約特徴量を受信した場合、受信した前記共通学習用集約特徴量を基に前記学習モデルを更新し、更新された前記学習モデルを、前記通信ネットワークを介して前記データ受信装置へ送信する第4の共通学習ステップと、を備えることを特徴とする連合学習方法。
JP2023016780A 2023-02-07 2023-02-07 連合学習システム及び連合学習方法 Active JP7842709B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023016780A JP7842709B2 (ja) 2023-02-07 2023-02-07 連合学習システム及び連合学習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023016780A JP7842709B2 (ja) 2023-02-07 2023-02-07 連合学習システム及び連合学習方法

Publications (2)

Publication Number Publication Date
JP2024111989A JP2024111989A (ja) 2024-08-20
JP7842709B2 true JP7842709B2 (ja) 2026-04-08

Family

ID=92423969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023016780A Active JP7842709B2 (ja) 2023-02-07 2023-02-07 連合学習システム及び連合学習方法

Country Status (1)

Country Link
JP (1) JP7842709B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021079792A1 (ja) 2019-10-23 2021-04-29 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
CN113128701A (zh) 2021-04-07 2021-07-16 中国科学院计算技术研究所 面向样本稀疏性的联邦学习方法及系统
CN113571169A (zh) 2021-09-23 2021-10-29 杭州医康慧联科技股份有限公司 医疗数据管理方法、装置、电子设备和存储介质
WO2021259090A1 (zh) 2020-06-23 2021-12-30 华为技术有限公司 联邦学习的方法、装置和芯片
WO2022165535A1 (en) 2021-02-01 2022-08-04 Jpmorgan Chase Bank, N.A. Systems and methods for federated learning using peer-to-peer networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021079792A1 (ja) 2019-10-23 2021-04-29 富士フイルム株式会社 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法
WO2021259090A1 (zh) 2020-06-23 2021-12-30 华为技术有限公司 联邦学习的方法、装置和芯片
WO2022165535A1 (en) 2021-02-01 2022-08-04 Jpmorgan Chase Bank, N.A. Systems and methods for federated learning using peer-to-peer networks
CN113128701A (zh) 2021-04-07 2021-07-16 中国科学院计算技术研究所 面向样本稀疏性的联邦学习方法及系统
CN113571169A (zh) 2021-09-23 2021-10-29 杭州医康慧联科技股份有限公司 医疗数据管理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP2024111989A (ja) 2024-08-20

Similar Documents

Publication Publication Date Title
JP7701721B2 (ja) マルチパーティ型準同型暗号によるセキュアでロバストな連合学習システム及び連合学習方法
JP6522263B2 (ja) 準同型演算装置、暗号システム及び準同型演算プログラム
CN116964554B (zh) 加密标量乘法
US11381381B2 (en) Privacy preserving oracle
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
Giacomelli et al. Privacy-preserving collaborative prediction using random forests
JP7586210B2 (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
CN112819058A (zh) 一种具有隐私保护属性的分布式随机森林评估系统与方法
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN114006689A (zh) 基于联邦学习的数据处理方法、装置及介质
Zhang et al. Lightweight, verifiable and revocable EHRs sharing with fine-grained bilateral access control
JP7117964B2 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
JP6081036B2 (ja) 復号条件追加装置及び暗号システム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP7842709B2 (ja) 連合学習システム及び連合学習方法
WO2021124520A1 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
JP7205016B2 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
Rao et al. Designing quantum-secure attribute-based encryption
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
CN113853764A (zh) 重加密装置、重加密方法、重加密程序和加密系统
CA3121152C (en) Privacy preserving oracle
JP2005051727A (ja) 鍵情報処理方法及びその装置、プログラム
Huang et al. Fine-grained access control schemes with fully hidden attributes for cloud systems
Celiktas et al. Hierarchical secure key assignment scheme
WO2024241395A1 (ja) 秘密集約値計算システム、装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20260127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260318

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260327

R150 Certificate of patent or registration of utility model

Ref document number: 7842709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150