JP7297131B2 - 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 - Google Patents

分散型機械学習モデルのトレーニング方法、装置、機器および媒体 Download PDF

Info

Publication number
JP7297131B2
JP7297131B2 JP2022145049A JP2022145049A JP7297131B2 JP 7297131 B2 JP7297131 B2 JP 7297131B2 JP 2022145049 A JP2022145049 A JP 2022145049A JP 2022145049 A JP2022145049 A JP 2022145049A JP 7297131 B2 JP7297131 B2 JP 7297131B2
Authority
JP
Japan
Prior art keywords
parameter
participant
homomorphic
model
sub
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
JP2022145049A
Other languages
English (en)
Other versions
JP2023043175A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2023043175A publication Critical patent/JP2023043175A/ja
Application granted granted Critical
Publication of JP7297131B2 publication Critical patent/JP7297131B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、人工知能の技術分野に関し、具体的には、深層学習の技術分野に関し、特に、分散型機械学習モデルのトレーニング方法、装置、機器および媒体に関する。
人工知能技術の発展に伴い、機械学習は、各シーンでますます広く使用されている。
分散型機械学習の普及に伴い、プライバシー保護の問題が引き出された。機械学習モデルのトレーニングでは、常に、多者がそれぞれ提供したデータサンプルを組み合わせてトレーニングする必要がある。しかし、多者は、自分が持っているデータサンプルに対してプライバシー保護のニーズがあり、自分が持っているデータサンプルが公開されたり、他者に取得されたりすることを望まない。更に、多者は、それぞれ機械学習モデルにおける一部のモデルをトレーニングする必要がある可能性があり、該一部のモデルのトレーニング過程のデータも、他者に知られたくない。
上記ニーズに対し、従来技術は、一般的に、信頼された第3者で協調を行い、他の参加者に暴露したくないプライバシーデータを信頼された第3者で処理を行う。従来技術では、依然として信頼された第3者が悪意ある漏洩する可能性があり、且つ、大量のデータが多者と信頼された第3者との間でインタラクションするため、モデルのトレーニング過程のデータ伝送量は大きくなり、効率は低くなる。
本開示は、多者のトレーニングモデルのプライバシーデータの保護とモデルのトレーニング効率とを両立するための分散型機械学習モデルのトレーニング方法、装置、機器および媒体を提供する。
本開示の一態様によれば、
第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得することと、
第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成することと、
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することと、
前記第2の参加者による第2の準同型秘密鍵を用いる前記第1の暗号化キーパラメータの復号化のために、前記第1の暗号化キーパラメータを第2の参加者に伝送することと、
前記第2の参加者により復号化された第1のキーパラメータを取得することと、
前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新することとを含む、
分散型機械学習モデルのトレーニング方法を提供する。
本開示の別の態様によれば、
第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得するための中間パラメータ取得モジュールと、
第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成するための干渉パラメータ形成モジュールと、
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成するためのパラメータ生成モジュールと、
前記第2の参加者による第2の準同型秘密鍵を用いる前記第1の暗号化キーパラメータの復号化のために、前記第1の暗号化キーパラメータを第2の参加者に伝送するためのパラメータ復号モジュールと、
前記第2の参加者により復号化された第1のキーパラメータを取得するための第1のキーパラメータ取得モジュールと、
前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新するためのサブモデルトレーニングモジュールとを備える、
分散型機械学習モデルのトレーニング装置を更に提供する。
本開示の別の態様によれば、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに通信接続されたメモリとを備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが本開示の実施例に係るいずれかの分散型機械学習モデルのトレーニング方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器を更に提供する。
本開示の別の態様によれば、
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ命令は、本開示の実施例に係るいずれかの分散型機械学習モデルのトレーニング方法をコンピュータに実行させることに用いられる、
非一時的なコンピュータ可読記憶媒体を更に提供する。
本開示の別の態様によれば、
プロセッサにより実行されると、本開示の実施例に係るいずれかの分散型機械学習モデルのトレーニング方法を実現する、
コンピュータプログラムを更に提供する。
本開示の技術によれば、多者のトレーニングモデルのプライバシーデータの保護とモデルのトレーニング効率とを両立する。
本開示に記載された内容は、本開示の実施例のキーとなるまたは重要な特徴を標識するためのものではなく、本開示の範囲を限定するものでもないことが理解されるべきである。本開示の他の特徴は、以下の明細書により容易に理解することができる。
図面は本形態をより良く理解するためのものであり、本開示を限定するものではない。
本開示の実施例に係る分散型機械学習モデルのトレーニング方法の模式図である。 本開示の実施例に係る別の分散型機械学習モデルのトレーニング方法の模式図である。 本開示の実施例に係る更なる分散型機械学習モデルのトレーニング方法の模式図である。 本開示の実施例に係る分散型機械学習モデルのトレーニング装置の模式図である。 本開示の実施例の分散型機械学習モデルのトレーニング方法を実現するための電子機器のブロック図である。
以下、図面を参照しながら本開示の例示的な実施例について説明する。ここで、理解の便宜上、本開示の実施例に係る様々な細かい内容まで含まれているが、例示的なものに過ぎないと理解すべきである。従って、当業者であれば理解するであろうが、本開示の範囲および主旨から逸脱しない限り、ここで説明する実施例に対して様々な変更や修正を行うことができる。同様に、以下の説明において、公知されている機能および構造の説明は、明確且つ簡潔にするために省略している。
以下、図面を参照しながら本開示の実施例に係る形態について詳細に説明する。
図1は、本開示の実施例に係る分散型機械学習モデルのトレーニング方法の模式図であり、本開示の実施例は、多者がプライバシー保護のニーズでデータのインタラクションを行い、機械学習モデルのトレーニングを完了する場合に適用できる。該方法は、分散型機械学習モデルのトレーニング装置により実行することができ、該装置は、ハードウェアおよび/またはソフトウェアの方式で実現することができ、電子機器に構成され得る。該電子機器は、いずれかの参加者に属する機器であってもよく、多者が共同でトレーニングするシーンで、一般的に、少なくとも2人の参加者がモデルのトレーニングに参加し、各参加者は独立した電子機器を有することができ、複数の参加者はインタラクションを行い、モデルのトレーニングを完了する。本実施例は、いずれかの参加者の視点から説明し、各参加者のモデルのトレーニング過程はほぼ同じである。
図1を参照し、該方法は、具体的に、以下のステップを含む。
S101において、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する。
ここで、第1の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、第1のトレーニング中間パラメータは、第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、第2の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第2のトレーニング中間パラメータを暗号化したデータであり、第2のトレーニング中間パラメータは、第2の参加者が第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成される。
機械学習モデルのトレーニングは、少なくとも2人の参加者により参加され、機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成され、各サブモデルは、いずれもトレーニング待ちモデルであり、サブモデルのそれぞれのトレーニング過程は、プライバシー性を有し、秘密を保持する必要がある。ここで、第1の参加者は、モデルのトレーニングに参加した複数の参加者のうちのいずれかの参加者であってもよく、第2の参加者は、モデルのトレーニングに参加した複数の参加者のうちの第1の参加者以外の他の参加者であってもよく、第2の参加者は1つであってもよいし、複数であってもよい。第1のサブモデルは第1の参加者のローカルなサブモデルであってもよく、第2のサブモデルは第2の参加者のローカルなサブモデルであってもよい。
ここで、第1のサンプルデータは、第1の参加者が第1のサブモデルをトレーニングするために使用するサンプルデータであってもよく、第2のサンプルデータは、第2の参加者が第2のサブモデルをトレーニングするために使用するサンプルデータであってもよい。各参加者が持っているサンプルデータに対応する対象は重なるが、対象の属性データが異なる。例えば、ネットショッピングプラットフォームまたは出前プラットフォームにおいて、各プラットフォーム側は、それぞれモデルのトレーニングの参加者であり、トレーニング対象は重なり、いずれも同じユーザに基づくが、各参加者はユーザの異なる属性データを持っている。例えば、ネットショッピングプラットフォームは、ユーザのネットショッピングの関連データを持ち、出前プラットフォームは、ユーザが出前プラットフォームに記録した関連データを持つ。ネットショッピングプラットフォームであっても、出前プラットフォームであっても、ユーザのプライバシーデータを不可視に処理するか、またはユーザのプライバシーデータを隠してから各プラットフォームにおけるネットショッピング情報または出前情報を使用する必要がある。各参加者がトレーニングするサブモデルは、プラットフォーム自体が持っている属性データに関連するデータ処理サブモデルである。各サブモデルをトレーニングしてから組み合わせて得た機械トレーニングモデルは、ユーザの多面的な属性データを合わせ、プラットフォーム自体に必要なデータを得ることができる。少なくとも1人の参加者のサンプルデータにはラベルが付され、例えば、ユーザに契約違反のリスクが存在する否かをラベルとし、ネットショッピングプラットフォームにより知られ、この場合、ネットショッピングプラットフォーム側のサンプルデータはラベルを持っている。他の参加者により提供されたサンプルデータは、ラベルを持たなくてもよい。
具体的には、第1の参加者は、第1のサンプルデータに基づいて第1のサブモデルをトレーニングし、第1のトレーニング中間パラメータを取得し、第2の参加者は、第2のサンプルデータに基づいて第2のサブモデルをトレーニングし、第2のトレーニング中間パラメータを取得する。上記トレーニング過程において、参加者自身が持っているサンプルデータをサブモデルに入力して計算し、トレーニング中間パラメータは、サブモデルから出力された、ターゲット損失関数および勾配計算を行うためのパラメータを含む。サブモデルのトレーニング中間パラメータは、他の参加者のトレーニング中間パラメータと共にターゲット損失関数および勾配関数のような計算を経て、サブモデルのトレーニングが収束されたか否か、およびどのような勾配で反復更新すべきか等を確定する必要がある。
第2の参加者は、第2の準同型公開鍵により、第2のトレーニング中間パラメータを暗号化動作し、第2の準同型暗号中間パラメータを取得して第1の参加者に送信する。第1の参加者は、第2の参加者から送信された第2の準同型公開鍵により、第1のトレーニング中間パラメータを暗号化し、第1の準同型暗号中間パラメータを取得する。
ここで、各参加者は、自分の準同型秘密鍵ペアを有し、準同型秘密鍵ペアは、準同型秘密鍵および準同型公開鍵を含み、準同型公開鍵は他の参加者に提供でき、準同型秘密鍵は自分で保持する。具体的には、第2の参加者は、第2の準同型秘密鍵ペアを生成し、第2の準同型秘密鍵ペアは第2の準同型公開鍵および第2の準同型秘密鍵を含む。第2の準同型秘密鍵は、第2の準同型公開鍵により暗号化されたデータを復号化することに用いられる。第2の準同型公開鍵は、第2の参加者が第2の準同型公開鍵に基づいて第2のトレーニング中間パラメータを暗号化することに用いられる。第2の参加者は第2の準同型公開鍵を第1の参加者に送信し、第1の参加者は、後続の第2の参加者が第2の準同型秘密鍵により、第1の参加者が第2の準同型公開鍵に基づいて暗号化したデータを復号化するように、第2の準同型公開鍵に基づいて第1のトレーニング中間パラメータを暗号化する。
S102において、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成する。
ここで、第1の干渉パラメータは、第1の参加者により生成された干渉パラメータであってもよく、第1の参加者のモデルのトレーニング過程をスクランブルし、プライバシー性を保証することに用いられる。
好ましくは、第1の干渉パラメータは乱数であり、例えば、ランダム整数またはランダム浮動小数点数であってもよい。ここで、ランダム浮動小数点数の値の区間は、0~1間の任意の浮動小数点数であってもよい。
第1の参加者は第1の干渉パラメータを生成し、第2の参加者の第2の準同型公開鍵を用いて第1の干渉パラメータを暗号化し、第1の暗号化干渉パラメータを形成する。
S103において、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成する。
ここで、準同型計算関数は、準同型暗号データを計算することができ、且つ、計算過程において暗号化データを漏洩することがなく、計算された結果は依然として暗号化結果である。準同型計算関数により準同型暗号データを計算して得た暗号化結果は、準同型暗号データに対応するプレーンテキストデータを計算して得た結果と、復号後に同じとなる。従い、準同型暗号技術は、計算過程に影響を及ぼさないが、計算過程を秘密保持することができる。
上記動作における準同型計算関数は、第1の暗号化キーパラメータを計算することに用いられ、第1の暗号化キーパラメータは、第1のサブモデルのトレーニング終了条件判断パラメータおよび/または反復更新パラメータを含む。例えば、ターゲット損失関数計算の損失値または反復更新の勾配値等を含む。
具体的には、公開鍵を用いてデータを暗号化して暗号化データを生成し、準同型計算関数を用いて暗号化データを計算して暗号化結果を得る場合、秘密鍵を持っている一方は、秘密鍵により暗号化結果を復号化することができる。
第1の参加者は、第1のサブモデルの準同型計算関数により、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータおよび第1の暗号化干渉パラメータを計算し、第1の暗号化キーパラメータを生成することができる。なお、第1の参加者は、第1のサブモデルの準同型計算関数により、第1の準同型暗号中間パラメータおよび第2の暗号化中間パラメータを計算し、第1の暗号化干渉パラメータを線形計算または非線形計算の方式で計算結果に重ねて、第1の暗号化キーパラメータを生成することができる。
1つの好ましい実施例において、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することは、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータに基づき、第1のサブモデルの準同型計算関数により計算し、第1の暗号化干渉パラメータを線形計算により計算結果に重ねて、第1の暗号化キーパラメータを生成することを含む。
例示的には、第1の参加者は、第1のサブモデルの準同型計算関数により第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを計算し、且つ、第1の暗号化干渉パラメータを線形計算の方式で計算結果に重ねて、第1の暗号化キーパラメータを生成することができる。
例示的には、計算結果の異なる形式に応じ、異なる線形計算の方式で計算することができ、例えば、計算結果としての中間パラメータの形式は、集合形式であってもよい。計算結果の形式が集合形式であることを例とすれば、集合をトラバースする方式により第1の暗号化干渉パラメータを線形計算の方式で集合内の各要素に重ねて、第1の暗号化キーパラメータ集合を取得することができる。
本好ましい実施例は、第1のサブモデルの準同型計算関数により第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを計算し、且つ、第1の暗号化干渉パラメータを線形計算により計算結果に重ねるという方式で、第1の暗号化キーパラメータの取得を実現し、第1の参加者のデータの安全性を向上させ、データ漏洩の状況の発生を回避する。
S104において、第2の参加者による第2の準同型秘密鍵を用いる第1の暗号化キーパラメータの復号化のために、第1の暗号化キーパラメータを第2の参加者に伝送する。
第1の参加者は、第1の暗号化キーパラメータを第2の参加者に伝送し、第1の参加者は、第2の準同型秘密鍵を用いて受信した第1の暗号化キーパラメータを復号化し、第1のキーパラメータを生成する。
なお、第2の参加者により生成された第1のキーパラメータに第1の干渉パラメータが含まれるため、第2の参加者は、第1の干渉パラメータを含まない第1のキーパラメータを知ることができず、即ち、第1の参加者の第1のサブモデルのターゲット関数による損失値および勾配パラメータ等のデータを知ることができない。従い、逆方向推定して第1の参加者が採用したターゲット関数および勾配関数を知ることができず、第1の参加者のサブモデルのトレーニング終了条件、勾配精度等の情報を知ることもできず、第1の参加者のモデルのトレーニング過程のプライバシー性を確保する。
S105において、第2の参加者により復号化された第1のキーパラメータを取得する。
S106において、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。
第1の参加者は、第1のキーパラメータから第1の干渉パラメータを抽出し、最終的なキーパラメータを確定し、最終的に確定したキーパラメータを用い、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新することができる。
なお、第1の参加者は、第1のサブモデルの準同型計算関数により、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータに基づいて計算し、第1の参加者が線形計算の方式を用いて第1の暗号化干渉パラメータを計算結果に重ねた場合、第1の参加者は、第1のキーパラメータを受信した後、更に第1の干渉パラメータに基づいて第1のキーパラメータに対して逆方向線形計算動作を行う必要がある。例えば、線形計算が加算である場合、逆方向線形計算は減算であってもよい。
1つの好ましい実施例において、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新することは、第1の干渉パラメータに基づいて第1のキーパラメータを逆方向線形計算し、逆方向線形計算したキーパラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新することを含む。
第1の参加者が線形計算の方式を用いて第1の暗号化干渉パラメータを計算結果に重ねた場合、第1の参加者は、第1のキーパラメータを受信した後、第1の干渉パラメータに基づいて第1のキーパラメータを逆方向線形計算する必要があり、これにより、第1の干渉パラメータを第1のキーパラメータから抽出し、逆方向線形計算したキーパラメータを確定することができる。具体的には、線形計算に対応するルールを採用し、第1の干渉パラメータに基づいて第1のキーパラメータを逆方向線形計算することができる。第1の参加者は、逆方向線形計算したキーパラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。各参加者は、トレーニング済みのサブモデルを持つことができ、機械学習モデルを用いて処理する必要がある場合、入力された処理待ちデータをそれぞれ各参加者に提供し、サブモデルで処理した後、結果をまとめることができる。
第1のキーパラメータが集合形式であることを例とし、線形計算のルールが、第1の暗号化干渉集合内の各要素をトラバースし、各要素に同じ第1の暗号化干渉パラメータを線形重ねることである場合、逆方向線形計算は、第1のキーパラメータ集合内の各要素をトラバースし、各要素から第1の干渉パラメータを減算することであってもよい。
本好ましい実施例は、逆方向線形計算の方式を採用することによりキーパラメータを確定し、上記第1の参加者が線形計算の方式を用いて第1の暗号化干渉パラメータを計算結果に重ねることに対応し、上記線形計算の方式で確定された結果に解決ルートを提供し、第1の干渉パラメータに基づいてキーパラメータを正確に確定することができる。
本開示の実施例は、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得し、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成し、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成し、第2の参加者が第2の準同型秘密鍵を用いて第1の暗号化キーパラメータを復号化するように、第1の暗号化キーパラメータを第2の参加者に伝送し、第2の参加者により復号化された第1のキーパラメータを取得し、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。上記形態は、多者のトレーニングモデルのプライバシーデータおよびトレーニング過程のデータの保護を実現するとともに、信頼された第3者で協調する必要がなく、信頼された第3者がデータを悪意ある漏洩する可能性を回避し、且つ、大量のデータが多者と信頼された第3者との間でインタラクションすることを回避し、モデルのトレーニング過程のデータ伝送量を減少し、モデルのトレーニングの効率を向上させる。
なお、第1の参加者および第2の参加者がトレーニングして得たサブモデルの正確度を確保するために、第1の参加者および第2の参加者に対応するサンプルデータの所属対象を一致に保持し、従い、第1の参加者および第2の参加者の各サンプルデータ内の同じユーザに属するサンプルデータを、第1の参加者に対応する第1のサンプルデータおよび第2の参加者に対応する第2のサンプルデータとして取得する必要がある。
1つの好ましい実施例において、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、第1の参加者と第2の参加者のサンプルデータ積集合識別子を確定することを更に含み、少なくとも1人の参加者のサンプルデータにラベルが対応して付されている。
少なくとも1人の参加者のサンプルデータにラベルが対応して付されている。ここで、ラベルは、モデルのトレーニングの結果であってもよく、例えば、サンプルデータがユーザの契約違反係数のリスクであれば、対応するラベルは、リスクがあることまたはリスクがないことであってもよい。
例示的には、プライバシー集合の求集(Private Set Intersection、PSI)の方式により、それぞれ第1の参加者のサンプルデータおよび第2の参加者のサンプルデータを積集合演算する。ここで、PSIは、各参加者がいかなる付加情報を漏洩しないことで、各参加者が持っているサンプルデータの積集合を取得することができる。ここで、付加情報は、各参加者のサンプルデータの積集合以外の任意の情報であってもよい。
具体的には、第1の参加者のサンプルデータおよび第2の参加者のサンプルデータに対してPSI計算を行い、第1の参加者と第2の参加者とが共同で持っているサンプルデータ積集合を確定し、サンプルデータ積集合識別子を確定し、ここで、サンプルデータ積集合識別子は、ユーザの身分証明書番号、ユーザ名等であってもよい。第1の参加者および第2の参加者は、サンプルデータ積集合識別子のみを知ることができ、サンプルデータ積集合識別子以外の他の付加情報を知ることができず、各参加者の各サンプルデータの安全性を確保する。第1の参加者は、PSI計算により確定されたサンプルデータ積集合識別子に基づいて第1のサンプルデータを取得し、第2の参加者は、PSI計算により確定されたサンプルデータ積集合識別子に基づいて第2のサンプルデータを取得する。
例えば、第1の参加者のサンプルデータは、ユーザの身分証明書番号データおよびユーザの信用度データであり、第2の参加者のサンプルデータは、ユーザの身分証明書番号データおよびユーザ年齢データである。PSI計算により、第1の参加者および第2の参加者のサンプルデータ積集合識別子がユーザの身分証明書番号であることを確定でき、且つ、ユーザの身分証明書番号により各参加者のサンプルデータ積集合を確定することができる。第1の参加者は、第2の参加者のサンプルデータにユーザの身分証明書番号に対応するサンプルデータが存在することのみを知ることができ、第2の参加者のサンプルデータ内の、ユーザ年齢のような他のサンプルデータ識別子を知ることができず、更に、ユーザ年齢データを知ることができない。同様に、第2の参加者は、第1の参加者のサンプルデータ内の、ユーザの信用度のような他のサンプルデータ識別子を知ることもできず、更に、ユーザの信用度データを知ることもできない。
本好ましい実施例は、PSI計算の方式を用いて第1の参加者と第2の参加者のサンプルデータ積集合識別子を確定し、第1の参加者がサンプルデータ積集合識別子に基づいて第1のサンプルデータを確定し、第2の参加者がサンプルデータ積集合識別子に基づいて第2のサンプルデータを確定することを実現し、サンプルデータの一致性を確保する。また、PSIによりサンプルデータ積集合を計算する方式により、各参加者は、サンプルデータ積集合識別子以外の他の付加情報を知ることができず、各参加者の各サンプルデータの安全性を確保することができる。少なくとも1人の参加者のサンプルデータにラベルを付す方式により、モデルのトレーニング結果のカテゴリの確定を実現する。
図2は、本開示の実施例に係る別の分散型機械学習モデルのトレーニング方法の模式図であり、本実施例は、上記実施例の基に提出された好ましい形態である。図2を参照し、本実施例に係る分散型機械学習モデルのトレーニング方法は、以下のステップを含む。
S201において、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する。
ここで、第1の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、第1のトレーニング中間パラメータは、第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、第2の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第2のトレーニング中間パラメータを暗号化したデータであり、第2のトレーニング中間パラメータは、第2の参加者が第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成される。
ここで、第1のトレーニング中間パラメータは、第1の中間損失パラメータおよび第1の中間勾配パラメータを含んでもよく、第2のトレーニング中間パラメータは、第2の中間損失パラメータおよび第2の中間勾配パラメータを含んでもよい。これに対応し、第1の準同型暗号中間パラメータは、第1の準同型暗号損失パラメータおよび第1の準同型暗号損失パラメータを含んでもよく、第2の準同型暗号中間パラメータは、第2の準同型暗号損失パラメータおよび第2の準同型暗号損失パラメータを含んでもよい。ここで、損失パラメータは、モデルの収束程度を表すことができ、勾配パラメータは、モデルにおけるパラメータを更新することができる。
好ましくは、各参加者は、各ローカルなサブモデルによりパラメータをトレーニングする前に、更にサブモデルを初期化動作し、且つ、初期化過程で現在の損失パラメータをランダムに設定することができ、例えば、0に設定することができる。
なお、機械学習モデルのトレーニング過程において、サンプルデータのオーダーが大きいため、生成されたパラメータは、通常、集合形式で示され、集合に含まれる要素は、モデルがトレーニング過程で生成した中間パラメータであってもよく、例えば、損失パラメータ集合に損失中間パラメータが含まれ、勾配パラメータ集合に勾配中間パラメータが含まれる。従い、本実施例に係るモデルのトレーニングにより得られた損失パラメータおよび勾配パラメータの存在形式は集合形式であり、準同型暗号により得られた暗号化損失パラメータおよび暗号化勾配パラメータの存在形式は、同様に集合形式である。
S202において、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成する。
ここで、第1の干渉パラメータは、第1の勾配干渉パラメータおよび第1の損失干渉パラメータを含む。第2の参加者の第2の準同型公開鍵を用いて第1の勾配干渉パラメータおよび第1の損失干渉パラメータを暗号化し、第1の暗号化勾配干渉パラメータおよび第1の暗号化損失干渉パラメータを形成する。
第1の勾配干渉パラメータおよび第1の損失干渉パラメータは乱数であり、例えば、ランダム整数またはランダム浮動小数点数であってもよく、第1の勾配干渉パラメータおよび第1の損失干渉パラメータの乱数は、同じであるように設定してもよいし、異なるように設定してもよく、具体的に、当業者が実際のニーズに応じて人為的に設定することができる。
S203において、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化勾配干渉パラメータ、および第1のサブモデルの準同型勾配計算関数に基づいて計算し、第1の暗号化勾配パラメータを生成する。
第1の準同型暗号中間パラメータ内の第1の準同型暗号勾配パラメータ、第2の準同型暗号中間パラメータ内の第2の準同型暗号勾配パラメータ、第1の暗号化勾配干渉パラメータ、および第1のサブモデルの準同型勾配計算関数に基づいて計算し、第1の暗号化勾配パラメータを生成する。
ここで、準同型勾配計算関数は、第1の準同型暗号勾配パラメータおよび第2の準同型暗号勾配パラメータを勾配計算することに使用できる。例示的には、第1の参加者は、第1のサブモデルの準同型勾配計算関数により、第1の準同型暗号勾配パラメータおよび第2の準同型暗号勾配パラメータを勾配計算し、且つ、計算した勾配計算結果に第1の暗号化勾配干渉パラメータを線形重ねる。例えば、計算結果により得られた勾配集合をトラバースし、第1の暗号化勾配干渉線形を勾配集合内の各要素に重ねて、線形重ねた結果を第1の暗号化勾配パラメータとすることができる。
S204において、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化損失干渉パラメータ、および第1のサブモデルの準同型損失計算関数に基づいて計算し、第1の暗号化損失パラメータを生成する。
第1の準同型暗号中間パラメータ内の第1の準同型暗号損失パラメータ、第2の準同型暗号中間パラメータ内の第2の準同型暗号損失パラメータ、第1の暗号化損失干渉パラメータ、および第1のサブモデルの準同型損失計算関数に基づいて計算し、第1の暗号化損失パラメータを生成する。
ここで、準同型損失計算関数は、第1の準同型暗号損失パラメータおよび第2の準同型暗号損失パラメータを損失計算することに使用でき、好ましくは、準同型損失計算関数の設定は、上記準同型勾配計算関数の設定と同じであってもよいし、異なってもよい。
例示的には、第1の参加者は、第1のサブモデルの準同型損失計算関数により、第1の準同型暗号損失パラメータおよび第2の準同型暗号損失パラメータを損失計算し、計算した損失計算結果に第1の暗号化損失干渉パラメータを線形重ねる。例えば、計算結果により得られた損失集合をトラバースし、第1の暗号化損失干渉線形を損失集合内の各要素に重ねて、線形重ねた結果を第1の暗号化損失パラメータとすることができる。
S205において、第2の参加者による第2の準同型秘密鍵を用いる第1の暗号化キーパラメータの復号化のために、第1の暗号化キーパラメータを第2の参加者に伝送する。
ここで、第1の暗号化キーパラメータは、第1の暗号化損失パラメータおよび第1の暗号化勾配パラメータを含む。具体的には、第1の参加者は、第2のパラメータ方による第2の準同型秘密鍵を用いる第1の暗号化損失パラメータおよび第2の暗号化勾配パラメータの復号化のために、第1の暗号化損失パラメータおよび第1の暗号化勾配パラメータを第2の参加者に伝送する。
S206において、第2の参加者により復号化された第1のキーパラメータを取得する。
ここで、第1のキーパラメータは、第1の勾配パラメータおよび第1の損失パラメータを含む。具体的には、第1の参加者は、第2の参加者により復号化された第1の勾配パラメータおよび第1の損失パラメータを取得する。
S207において、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。
第1のキーパラメータ内の第1の勾配パラメータおよび第1の干渉パラメータ内の第1の勾配干渉パラメータに基づき、最終的な勾配キーパラメータを確定し、第1のキーパラメータ内の第1の損失パラメータおよび第1の干渉パラメータ内の第1の損失干渉パラメータに基づき、最終的な損失キーパラメータを確定する。最終的な損失キーパラメータを用いて第1のサブモデルが収束されたか否かを確定し、収束された場合、トレーニングが完了し、収束されていない場合、最終的な勾配キーパラメータを採用し、第1の参加者の第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新し、更に戻して次回のトレーニング中間パラメータの計算およびキーパラメータの計算を実行する。
本開示の実施例は、第1のサブモデルの準同型損失計算関数の方式を採用し、目的に応じた第1の準同型暗号損失パラメータおよび第2の準同型暗号損失パラメータに対する計算を実現し、第1の暗号化損失干渉パラメータを計算結果に線形重ねて、第1の暗号化損失パラメータを生成し、第1の暗号化損失パラメータの確定の正確度を向上させる。第1のサブモデルの準同型勾配計算関数の方式を採用し、目的に応じた第1の準同型暗号勾配パラメータおよび第2の準同型暗号勾配パラメータに対する計算を実現し、第1の暗号化勾配干渉パラメータを計算結果に線形重ねて、第1の暗号化勾配パラメータを生成し、第1の暗号化勾配パラメータの確定の正確度を向上させる。
なお、第2の参加者が最終的に確定したキーパラメータに基づいて第2のサブモデルをトレーニングできることを確保するために、第2の参加者が第1の準同型公開鍵に基づいて第1のトレーニング中間パラメータおよび第2のトレーニング中間パラメータを暗号化するように、第1の参加者の第1の準同型公開鍵を受信する必要がある。
1つの好ましい実施例において、第1の準同型公開鍵および第1の準同型秘密鍵を含む第1の準同型秘密鍵ペアを生成し、第1の準同型公開鍵を第2の参加者に送信し、第2の参加者から送信された、第2の参加者により生成された第2の準同型秘密鍵ペア内の第2の準同型公開鍵を受信する。
第1の参加者は、第1の準同型公開鍵および第1の準同型秘密鍵を含む第1の準同型秘密鍵ペアを生成し、第2の参加者は、第2の準同型公開鍵および第2の準同型秘密鍵を含む第2の準同型秘密鍵ペアを生成する。第1の参加者は、第1の準同型公開鍵を第2の参加者に送信し、第2の参加者は、第2の準同型公開鍵を第1の参加者に送信する。
本好ましい実施例は、第1の準同型秘密鍵ペアを生成し、第1の準同型秘密鍵ペア内の第1の準同型公開鍵を第2の参加者に送信する方式により、第2の参加者が第1の準同型公開鍵に基づいて第1のトレーニング中間パラメータおよび第2のトレーニング中間パラメータを暗号化動作することを実現し、後続の第2の参加者がキーパラメータを確定し、キーパラメータに基づいて第2のサブモデルをトレーニングすることができることを確保する。
図3は、本開示の実施例に係る別の分散型機械学習モデルのトレーニング方法の模式図であり、本実施例は、上記実施例の基に提出された好ましい形態であり、サンプルデータに対する標準化処理、および機械トレーニングモデルに対する逆標準化処理を追加する。図3を参照し、本実施例に係る分散型機械学習モデルのトレーニング方法は、以下のステップを含む。
S301において、第1の参加者の第1の元のサンプルデータを標準化処理し、サンプル特徴次元の第1の標準化値および第1のサンプルデータを取得し、標準化処理した第1のサンプルデータをモデルのトレーニングに用いる。
ここで、第1の元のサンプルデータの異なる特徴次元で、異なるディメンジョンおよびオーダーを有する。第1の元のサンプルデータの異なる特徴次元の数値レベルが大きく異なり、第1の参加者が直接第1の元のサンプルデータを用いてモデルをトレーニングする場合、数値レベルが高い特徴次元のモデルのトレーニングにおける作用を強調し、数値レベルが低い特徴次元のモデルのトレーニングにおける作用を弱める。例えば、サンプル特徴次元は、ユーザの月収、ユーザの延滞返済日数またはユーザの信用度であってもよい。ここで、ユーザの月収のオーダーが大きく、対応する数値レベルが高い。ユーザの延滞返済日数は、ユーザの月収と比べてオーダーが小さく、対応する数値レベルが低い。
データの標準化アルゴリズムにより、第1の参加者の第1の元のサンプルデータを標準化処理する。ここで、データの標準化アルゴリズムは、min-max標準化(Min-maxnormalization)アルゴリズム、z-score標準化(zero-meannormalization)アルゴリズム、log関数変換アルゴリズム、または正規化アルゴリズム等であってもよい。当業者は実際のニーズに応じてデータの標準化アルゴリズムを選択することができ、本実施例はこれについて限定しない。
データの標準化アルゴリズムにより、第1の参加者の第1の元のサンプルデータを標準化処理し、サンプル特徴次元の第1の標準化値および第1のサンプルデータを取得する。ここで、第1の標準化値は、サンプル特徴次元の第1の標準偏差および第1の平均値を含んでもよい。標準化処理した第1のサンプルデータを用いてモデルをトレーニングする。
S302において、第1の標準化値を第3の暗号化秘密鍵で暗号化して第1の暗号化標準化値を形成し、第1の暗号化標準化値を信頼された第3者に提供する。
ここで、信頼された第3者は、ハードウェアに基づく信頼された実行環境(Trusted Execution Environment、TEE)であってもよいし、安全なマルチパーティ計算(MPC:Secure Muti-Party Computation)プロトコルであってもよい。
信頼された第3者は、第3の暗号化秘密鍵を生成することができ、ここで、第3者の暗号化秘密鍵は、対称暗号化秘密鍵または非対称暗号化秘密鍵であってもよい。信頼された第3者は、各参加者が第3の暗号化秘密鍵ペアデータに基づいて暗号化できるように、第3の暗号化秘密鍵を各参加者にそれぞれ送信する。
1つの好ましい実施形態において、第3の暗号化秘密鍵が対称暗号化秘密鍵である場合、信頼された第3者は、第3の暗号化秘密鍵を第1の参加者および第2の参加者に送信する。第1の参加者は、第3の暗号化秘密鍵ペアの第1の標準化値を用いて暗号化して第1の暗号化標準化値を形成し、形成した第1の暗号化標準化値を信頼された第3者に提供する。同様に、第2の参加者は、第3の暗号化秘密鍵ペアの第2の標準化値を用いて暗号化して第2の暗号化標準化値を形成し、形成した第2の暗号化標準化値を信頼された第3者に提供する。
更なる好ましい実施形態において、第3の暗号化秘密鍵が非対称秘密鍵である場合、第3の暗号化秘密鍵は第3の暗号化公開鍵および第3の暗号化秘密鍵を含む。信頼された第3者は、第3の暗号化公開鍵を第1の参加者および第2の参加者に送信する。第1の参加者は第3の暗号化公開鍵を用いて第1の標準化値を暗号化して第1の暗号化標準化値を形成し、形成した第1の暗号化標準化値を信頼された第3者に提供する。同様に、第2の参加者は、第3の暗号化公開鍵を用いて第2の標準化値を暗号化して第2の暗号化標準化値を形成し、形成した第2の暗号化標準化値を信頼された第3者に提供する。
S303において、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する。
なお、第1のサブモデルをトレーニングした後に生成した第1のトレーニング中間パラメータの精度が統一性を有すること確保するために、更に第1のトレーニング中間パラメータを精度調整し、後続の演算により得られたデータ精度が統一性を有することを確保することもできる。
1つの好ましい実施例において、第1の準同型暗号中間パラメータを取得することは、第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後、第1のトレーニング中間パラメータを生成することと、設定精度に基づいて第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINT(big integer)に変換することと、第1のBIGINT内の整数値をコードし、第1の正の整数に変換することと、第2の参加者の第2の準同型公開鍵を用いて第1の正の整数を暗号化し、第1の準同型暗号中間パラメータを取得することとを含む。
ここで、精度は、当業者が実際のニーズに応じて設定することができ、具体的には、数値の小数点以下に保留された桁数であってもよく、例えば、精度を、数値の小数点以下の2桁を保留するように設定することができる。
設定精度に基づき、BIGINT変換関数により、第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINTに変換する。例えば、BIGINT変換関数は、ガウス関数またはceil関数等であってもよい。第1のBIGINT内の整数値をコードし、第1の正の整数に変換し、具体的には、第1のBIGINT内の整数値を、真のコード(true code)、補数(complemental code)および/または1の補数(ones-complement code)のコード方式でコードし、第1の正の整数に変換する。第2の参加者の第2の準同型公開鍵を用いて第1の正の整数を暗号化し、第1の準同型暗号中間パラメータを取得する。
本好ましい実施例は、設定精度により第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINTに変換し、第1のBIGINT内の整数値をコードし、第1の正の整数に変換し、第1のトレーニング中間パラメータの精度に対する統一性を実現し、後続の演算により得られるデータの精度が同様に統一性を有することを確保する。
S304において、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成する。
S305において、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成する。
S306において、第2の参加者による第2の準同型秘密鍵を用いる第1の暗号化キーパラメータの復号化のために、第1の暗号化キーパラメータを第2の参加者に伝送する。
S307において、第2の参加者により復号化された第1のキーパラメータを取得する。
S308において、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。
第1のトレーニング中間パラメータを精度処理し、第1のトレーニング中間パラメータ内の浮動小数点数を最終的に第1の正の整数に変換したため、後続で生成する第1のキーパラメータは同様に精度処理されたデータであり、従い、第1のキーパラメータを逆処理する必要がある。第1のキーパラメータに対して精度をスケーリング動作して元の精度に戻すことができる。
1つの好ましい実施例において、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルを反復更新することは、第1の干渉パラメータに基づいて第1のキーパラメータに対して干渉除去動作を行うことと、干渉が除去された第1のキーパラメータをデコードし、設定精度に従ってスケーリングし、浮動小数点数に変換することと、変換された浮動小数点数形式の第1のキーパラメータを用いて第1のサブモデルを反復更新することとを含む。
第1のキーパラメータをデコード動作し、まず、第1のキーパラメータの数値タイプを元の正数から整数に変換し、ここで、整数は正数または負数を含み、次に、変換された整数を精度に従ってスケーリングし、ここで、精度の設定は、コード時に設定された精度と一致に保持する。最後に、精度が変換された整数を浮動小数点数に変換する。変換された浮動小数点数形式の第1のキーパラメータを用いて第1のサブモデルを反復更新する。
本好ましい実施例は、逆処理の方式を採用し、干渉が除去された第1のキーパラメータをデコードし、設定精度に従ってスケーリングし、浮動小数点数に変換する方式により、第1のキーパラメータの精度スケーリングを実現し、元の精度に戻し、データの数値タイプの一致性を確保する。
S309において、第1のサブモデルを第3の暗号化秘密鍵で暗号化して第1の暗号化サブモデルを形成し、信頼された第3者が各参加者により提供された暗号化サブモデルに基づいて組み合わせ、各参加者により提供された暗号化標準化値に基づいて非標準化処理を行って更に切り分けるように、第1の暗号化サブモデルを信頼された第3者に提供する。
1つの好ましい実施形態において、信頼された第3者から送信された第3の暗号化秘密鍵が対称暗号化秘密鍵である場合、第1の参加者は、第3の暗号化秘密鍵ペアの第1のサブモデルを用いて暗号化して第1の暗号化サブモデルを形成し、第1の暗号化サブモデルを信頼された第3者に提供する。同様に、第2の参加者は、第3の暗号化秘密鍵ペアの第2のサブモデルを用いて暗号化して第2の暗号化サブモデルを形成し、第2の暗号化サブモデルを信頼された第3者に提供する。
信頼された第3者は第3の暗号化秘密鍵を用い、受信した第1の参加者から提供された第1の暗号化サブモデルおよび第1の暗号化標準化値を復号化し、受信した第2の参加者から提供された第2の暗号化サブモデルおよび第2の暗号化標準化値を復号化する。信頼された第3者は、復号化した第1の参加者および第2の参加者のサブモデルを組み合わせ、復号化した第1の参加者および第2の参加者の標準化値に基づいて非標準化処理を行い、非標準化処理したサブモデルを切り分け、非標準化した第1のサブモデルと非標準化した第2のサブモデルとに分ける。信頼された第3者は、非標準化したサブモデルを第3の暗号化秘密鍵で暗号化し、各参加者にそれぞれ送信する。
更なる好ましい実施形態において、信頼された第3者から送信された第3の暗号化秘密鍵が非対称暗号化秘密鍵である場合、第1の参加者は、信頼された第3者から送信された第3の暗号化公開鍵を用いて第1のサブモデルを暗号化して第1の暗号化サブモデルを形成し、第1の暗号化サブモデルを信頼された第3者に提供する。同様に、第2の参加者は、信頼された第3者から送信された第3の暗号化公開鍵を用いて第2のサブモデルを暗号化して第2の暗号化サブモデルを形成し、第2の暗号化サブモデルを信頼された第3者に提供する。
信頼された第3者は第3の暗号化秘密鍵を用い、受信した第1の参加者から提供された第1の暗号化サブモデルおよび第1の暗号化標準化値を復号化し、受信した第2の参加者から提供された第2の暗号化サブモデルおよび第2の暗号化標準化値を復号化する。信頼された第3者は、復号化した第1の参加者および第2の参加者のサブモデルを組み合わせ、復号化した第1の参加者および第2の参加者の標準化値に基づいて非標準化処理を行い、非標準化処理したサブモデルを切り分け、非標準化した第1のサブモデルと非標準化した第2のサブモデルとに分ける。信頼された第3者は、非標準化したサブモデルを第3の暗号化秘密鍵で暗号化し、各参加者にそれぞれ送信する。
S310において、信頼された第3者から返信された切り分けられた第1の非標準化サブモデルを受信する。
1つの好ましい実施形態において、信頼された第3者から送信された第3の暗号化秘密鍵が対称暗号化秘密鍵である場合、各参加者は、第3の暗号化秘密鍵により、受信した信頼された第3者から返信された切り分けられた各非標準化サブモデルを復号化し、復号化した非標準化サブモデルを取得する。
更なる好ましい実施形態において、信頼された第3者から送信された第3の暗号化秘密鍵が非対称暗号化秘密鍵である場合、各参加者は、第3の暗号化公開鍵により、受信した信頼された第3者から返信された切り分けられた各非標準化サブモデルを復号化し、復号化した非標準化サブモデルを取得する。
本好ましい実施例は、参加者の元のサンプルデータを標準化処理する方式により、サンプルデータの異なる特性次元のディメンジョンおよび数理に対する統一を実現し、異なる特徴次元の数値レベルが大きく異なることによるトレーニング結果の不正確を回避する。各参加者の標準化値および標準化値でトレーニングしたサブモデルを信頼された第3者に送信し、信頼された第3者によって各参加者のサブモデルに対して非標準化動作を行うことで、データの安全性を確保し、データが漏洩されることの発生を回避する。
本開示の実施例に係る分散型機械学習モデルのトレーニング方法は、本実施例で、2人の参加者を例として説明する。
該モデルのトレーニングの完全な過程は、モデルのトレーニング段階とモデルの回復段階とに分けられる。参加者が、参加者A(サンプルデータにラベルがない)と参加者B(サンプルデータにラベルがある)との2人であると仮定する。更に、信頼された第3者Cがあり、実行可能TEE環境である。
モデルのトレーニング過程は、以下のステップを含む。
S1において、参加者Aは、Aの準同型秘密鍵ペアを生成する。
S2において、参加者Bは、Bの準同型秘密鍵ペアを生成する。
S3において、信頼された第3者Cは、Aの非準同型暗号秘密鍵ペアを生成する。
S4において、信頼された第3者Cは、Bの非準同型暗号秘密鍵ペアを生成する。
S5において、参加者Aは、Aの準同型公開鍵をBに送信する。
S6において、参加者Bは、Bの準同型公開鍵をAに送信する。
S7において、信頼された第3者Cは、Aの非準同型暗号公開鍵をAに送信する。
S8において、信頼された第3者Cは、Bの非準同型暗号公開鍵をBに送信する。
S9において、参加者Aは、ローカルサブモデルW-A(定数項なし)を初期化し、現在の損失Loss-Lastを0に設定する。
S10において、参加者Bは、ローカルサブモデルW-B(定数項あり)を初期化し、現在の損失Loss-Lastを0に設定する。
S11において、PSI過程によりサンプル集合の積集合を確定し、それぞれのデータベースから今回のトレーニングに使用されるサンプルデータを確定する。
S12において、参加者Aは、Aのサンプルデータセットを標準化し、各特徴次元の標準偏差と平均値を取得する。
S13において、参加者Bは、Bのサンプルデータセットを標準化し、各特徴次元およびラベルの標準偏差と平均値を取得する。
S14において、参加者Aは、信頼された第3者Cから送信された非準同型暗号公開鍵を用い、自分のデータセット内の各特徴次元の標準偏差と平均値を暗号化し、その後、それを信頼された第3者Cに送信する。
S15において、参加者Bは、信頼された第3者Cから送信された非準同型暗号公開鍵を用い、自分のデータセット内の各特徴次元およびラベルの標準偏差と平均値を暗号化し、その後、それを信頼された第3者Cに送信する。
S16において、信頼された第3者Cは、受信した暗号化された標準化データをTEEに伝達し、信頼された実行環境の分離領域でデータを復号化し、全ての特徴次元およびラベルの標準偏差と平均値を取得する。後続の逆標準化モデルのために準備する。
S17において、参加者Aは、Aの元のサンプルデータに基づき、サブモデルW-aに基づいて計算を実行し、パラメータ集合P-A1、即ち、第1のトレーニング中間パラメータを取得し、ここで、勾配および損失を計算するキーパラメータを含む。
パラメータ集合P-A1に含まれる各パラメータは、各サンプルデータがモデルW-aに基づいて計算した勾配中間パラメータおよび損失中間パラメータである。
S18において、参加者Bは、Bの元のサンプルデータに基づき、サブモデルW-bに基づいて計算を実行し、パラメータ集合P-B1、即ち、第2のトレーニング中間パラメータを取得し、ここで、勾配および損失を計算するキーパラメータである。
パラメータ集合P-B1に含まれる各パラメータは、各サンプルデータがモデルW-bに基づいて計算した勾配中間パラメータおよび損失中間パラメータである。
S19において、参加者Aは、精度(小数点以下の数桁を保留する)に基づいてパラメータ集合P-A1内の浮動小数点数をBIGINTに変換し、パラメータ集合P-A2を取得する。
S20において、参加者Bは、精度(小数点以下の数桁を保留する)に基づいてパラメータ集合P-B1内の浮動小数点数をBIGINTに変換し、パラメータ集合P-B2を取得する。
S21において、参加者Aは、パラメータ集合P-A2内の整数値をコードし、負数を正の整数に変換し、パラメータ集合P-A3を取得する。
S22において、参加者Bは、パラメータ集合P-B2内の整数値をコードし、負数を正の整数に変換し、パラメータ集合P-B3を取得する。
S23において、参加者Aは、パラメータ集合P-A3内の全ての正の整数をAの準同型公開鍵で暗号化し、パラメータ集合P-A4-Aを取得する。
S24において、参加者Bは、パラメータ集合P-B3内の全ての正の整数をBの準同型公開鍵で暗号化し、パラメータ集合P-B4-B、即ち、第2の準同型暗号中間パラメータを取得する。
S25において、参加者Aは、パラメータ集合P-A4-Aを参加者Bに送信する。
S26において、参加者Bは、パラメータ集合P-B4-Bを参加者Aに送信する。
S27において、参加者Aは、参加者Bから送信された暗号化パラメータ集合P-B4-Bを受信する。
S28において、参加者Bは、参加者Aから送信された暗号化パラメータ集合P-A4-Aを受信する。
S29において、参加者Aは、パラメータ集合P-A3内の全ての正の整数を参加者Bの準同型公開鍵で暗号化し、パラメータ集合P-A4-B、即ち、第1の準同型暗号中間パラメータを取得する。
S30において、参加者Bは、パラメータ集合P-B3内の全ての正の整数を参加者Aの準同型公開鍵で暗号化し、パラメータ集合P-B4-Aを取得する。
S31において、参加者Aは、乱数R-A1(即ち、第1の干渉パラメータ)を生成し、参加者Bの準同型公開鍵で暗号化した後、R-A1-B、即ち、第1の暗号化干渉パラメータを取得する。
S32において、参加者Bは、乱数R-B1を生成し、参加者Aの準同型公開鍵で暗号化した後、R-B1-Aを取得する。
S33において、参加者Aは、準同型演算関数F1を実行し、P-A4-B、P-B4-B、R-A1-Bに基づき、パラメータ集合G-A1-B、即ち、第1の暗号化勾配パラメータを取得し、準同型演算関数F1は、参加者Aの勾配計算関数に相当する。
S34において、参加者Bは、準同型演算関数F2を実行し、P-B4-A、P-A4-AおよびR-B1-Aに基づき、パラメータ集合G-B1-Aを取得し、準同型演算関数F2は、参加者Bの勾配計算関数に相当する。
S35において、参加者Aは、乱数R-A2を生成し、参加者Bの準同型公開鍵で暗号化した後、R-A2-Bを取得する。
S36において、参加者Bは、乱数R-B2を生成し、参加者Aの準同型公開鍵で暗号化した後、R-B2-Aを取得する。
S37において、参加者Aは、準同型演算関数F3を実行し、P-A4-B、P-B4-BおよびR-A2-Bに基づき、パラメータ集合L-A1-B、即ち、第1の暗号化損失パラメータを取得し、準同型演算関数F3は、参加者Aの損失関数に相当する。
S38において、参加者Bは、準同型演算関数F4を実行し、P-B4-A、P-A4-AおよびR-B2-Aに基づき、パラメータ集合L-B1-Aを取得し、準同型演算関数F4は、参加者Bの損失関数に相当する。
S39において、参加者Aは、暗号化パラメータ集合G-A1-BおよびL-A1-Bを参加者Bに送信する。
S40において、参加者Bは、暗号化パラメータ集合G-B1-AおよびL-B1-Aを参加者Aに送信する。
S41において、参加者Aは、参加者Bから送信された暗号化パラメータ集合G-B1-AおよびL-B1-Aを受信する。
S42において、参加者Bは、参加者Aから送信された暗号化パラメータ集合G-A1-BおよびL-A1-Bを受信する。
S43において、参加者Aは、Aの準同型秘密鍵を用いてG-B1-AおよびL-B1-Aを復号化し、パラメータ集合G-B2およびL-B2を取得し、更に参加者Bに送信する。
S44において、参加者Bは、Bの準同型秘密鍵を用いてG-A1-BおよびL-A1-Bを復号化し、パラメータ集合G-A2およびL-A2、即ち、第1のキーパラメータを取得し、更に参加者Aに送信する。
S45において、参加者Aは、参加者Bから送信されたパラメータ集合G-A2およびL-A2を受信する。
S46において、参加者Bは、参加者Aから送信されたパラメータ集合G-B2およびL-B2を受信する。
S47において、参加者Aは、パラメータ集合L-A2をトラバースし、乱数R-A2を減算し、パラメータ集合L-A3を取得する。
S48において、参加者Bは、パラメータ集合L-B2をトラバースし、乱数R-B2を減算し、パラメータ集合L-B3を取得する。
S49において、参加者Aは、パラメータ集合L-A3の数値をデコードしてL-A4を取得し、実数値(正数を正数または負数に変換する)を取得する。
S50において、参加者Bは、パラメータ集合L-B3の数値をデコードしてL-B4を取得し、実数値(正数を正数または負数に変換する)を取得する。
S51において、参加者Aは、パラメータ集合L-A4内のパラメータを、精度に従ってスケーリングし、元の精度に戻し、整数を浮動小数点数に変換し、パラメータ集合L-A5を取得する。
S52において、参加者Bは、パラメータ集合L-B4内のパラメータを、精度に従ってスケーリングし、元の精度に戻し、整数を浮動小数点数に変換し、パラメータ集合L-B5を取得する。
S53において、参加者Aは、パラメータ集合L-A5の計算により現在のサブモデルW-aの損失Loss-Currentを取得する。
S54において、参加者Bは、パラメータ集合L-B5の計算により現在のサブモデルW-bの損失Loss-Currentを取得する。
S55において、参加者Aは、現在の損失と以前の損失との差を計算し、つまり、Loss-CurrentからLoss-Lastを減算する。収束条件を満たすように、損失の差が十分に小さいか否かを判断し、満たす場合、モデルのトレーニングを終了する。満たさない場合、後続のステップを継続する。
S56において、参加者Bは、現在の損失と以前の損失との差を計算し、収束条件を満たすように、損失の差が十分に小さいか否かを判断し、満たす場合、モデルのトレーニングを終了する。満たさない場合、後続のステップを継続する。
S57において、満たす場合、モデルのトレーニングを終了し、以下のようなステップに進む。
a)モデルのトレーニングを終了し、参加者AはサブモデルW-Aを取得し、参加者BはサブモデルW-Bを取得する。
b)参加者Aは、サブモデルW-Aを、信頼された第3者Cから送信された公開鍵で暗号化し、その後、信頼された第3者Cに送信する。
c)参加者Bは、サブモデルW-Bを、信頼された第3者Cから送信された公開鍵で暗号化し、その後、信頼された第3者Cに送信する。
d)信頼された第3者Cは、暗号化されたサブモデルW-AおよびW-BをTEEに伝送し、信頼された実行環境の分離領域で、秘密鍵を用いて復号化し、更にモデルを組み合わせ、完全なモデルWを取得する。
e)信頼された第3者Cは、TEEで、前述したステップの各特徴およびラベルの平均値と標準偏差を用い、完全なモデルWと合わせて逆標準化動作を行い、実モデルW-REALを取得する。
f)信頼された第3者Cは、TEEで、モデルW-REALをW-A-REALとW-B-REALとに切り分ける。
g)信頼された第3者Cは、TEEで、モデルW-A-REALを、前述したステップにおける参加者Aから伝送された非準同型公開鍵で暗号化し、参加者Aに伝達する。
h)信頼された第3者Cは、TEEで、モデルW-B-REALを、前述したステップにおける参加者Bから伝送された非準同型公開鍵で暗号化し、参加者Bに伝達する。
i)参加者Aは、ローカル秘密鍵を用いてモデルを復号化し、W-A-REALを取得する。
j)参加者Bは、ローカル秘密鍵を用いてモデルを復号化し、W-B-REALを取得する。
S58において、満たさない場合、モデルのトレーニングを続け、後続のステップを実行する。
S59において、参加者Aは、パラメータ集合G-A2をトラバースし、乱数R-A1を減算し、パラメータ集合G-A3を取得する。
S60において、参加者Bは、パラメータ集合G-B2をトラバースし、乱数R-B1を減算し、パラメータ集合G-B3を取得する。
S61において、参加者Aは、パラメータ集合G-A3の数値をデコードしてG-A4を取得し、実数値(正数を正数または負数に変換する)を取得する。
S62において、参加者Bは、パラメータ集合G-B3の数値をデコードしてG-B4を取得し、実数値(正数を正数または負数に変換する)を取得する。
S63において、参加者Aは、G-A4内のパラメータを、精度に従ってスケーリングし、元の精度に戻し、整数を浮動小数点数に変換し、パラメータ集合G-A5を取得する。
S64において、参加者Bは、G-B4内のパラメータを、精度に従ってスケーリングし、元の精度に戻し、整数を浮動小数点数に変換し、パラメータ集合G-B5を取得する。
S65において、参加者Aは、パラメータ集合G-A5の計算により、ローカルモデルを更新するための勾配Grad-Aを取得する。
S66精度に従って、参加者Bは、パラメータ集合G-B5の計算により、ローカルモデルを更新するための勾配Grad-Bを取得する。
S67精度に従って、参加者Aは、勾配Grad-Aを用いてサブモデルW-Aを更新する。
S68精度に従って、参加者Bは、勾配Grad-Bを用いてサブモデルW-Bを更新する。
S69精度に従って、参加者Aは、現在のサブモデルの損失Loss-CurrentをLoss-Lastに代入する。
S70精度に従って、参加者Bは、現在のサブモデルの損失Loss-CurrentをLoss-Lastに代入する。
S71精度に従って、参加者Aはステップ17を繰り返し実行する。
S72精度に従って、参加者Bはステップ18を繰り返し実行する。
本実施例において、各参加者は、サブモデルのトレーニング過程のプライバシーデータを効果的に保護し、モデルのトレーニング過程のプライバシー性およびトレーニング効率を向上させることができる。
参加者の数がより多い場合、例えば、参加者Dを更に含む場合、本実施例の方法は、以下のステップを含む。
第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得し、ここで、前記第1の準同型暗号中間パラメータは、各第2の参加者BおよびDのそれぞれの第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、前記第1のトレーニング中間パラメータは、第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、前記第2の準同型暗号中間パラメータが複数あり、それぞれが、各第2の参加者のそれぞれの第2の準同型公開鍵を用いて各第2のトレーニング中間パラメータを暗号化したデータであり、各前記第2のトレーニング中間パラメータは、各第2の参加者がそれぞれの第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、前記機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成され、即ち、参加者Bは、トレーニングして1つの第2のトレーニング中間パラメータを取得し、参加者Dは、トレーニングして別の第2のトレーニング中間パラメータを取得し、各第2のトレーニング中間パラメータは、参加者BおよびDの準同型暗号公開鍵を同時に用いて暗号化し、2つの第2の準同型暗号中間パラメータを形成する。
第1の干渉パラメータを生成し、各第2の参加者のそれぞれの第2の準同型公開鍵を用いて同時に暗号化し、第1の暗号化干渉パラメータを形成する。
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成する。
各前記第2の参加者がそれぞれ第2の準同型秘密鍵を用いて前記第1の暗号化キーパラメータを復号化するように、前記第1の暗号化キーパラメータを各第2の参加者に伝送し、各第2の参加者に順に伝送して復号化することができる。
前記第2の参加者により復号化された第1のキーパラメータを取得する。
前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新する。
図4は、本開示の実施例に係る分散型機械学習モデルのトレーニング装置の模式図であり、本実施例は、多者がプライバシー保護のニーズでデータのインタラクションを行い、機械学習モデルのトレーニングを完了する場合に適用でき、該装置は、電子機器に構成され、本開示のいずれかの実施例に記載の分散型機械学習モデルのトレーニング方法を実現することができる。図4を参照し、該分散型機械学習モデルのトレーニング装置400は、具体的に、以下を含む。
中間パラメータ取得モジュール401は、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得することに用いられる。
干渉パラメータ形成モジュール402は、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成することに用いられる。
パラメータ生成モジュール403は、前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することに用いられる。
パラメータ復号モジュール404は、前記第2の参加者による第2の準同型秘密鍵を用いる前記第1の暗号化キーパラメータの復号化のために、前記第1の暗号化キーパラメータを第2の参加者に伝送することに用いられる。
第1のキーパラメータ取得モジュール405は、前記第2の参加者により復号化された第1のキーパラメータを取得することに用いられる。
サブモデルトレーニングモジュール406は、前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新することに用いられる。
本開示の実施例は、第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得し、第1の干渉パラメータを生成して第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成し、第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成し、第2の参加者が第2の準同型秘密鍵を用いて第1の暗号化キーパラメータを復号化するように、第1の暗号化キーパラメータを第2の参加者に伝送し、第2の参加者により復号化された第1のキーパラメータを取得し、第1のキーパラメータおよび第1の干渉パラメータに基づき、第1のサブモデルのトレーニングが完了するまで第1のサブモデルを反復更新する。上記形態は、多者のトレーニングモデルのプライバシーデータの保護を実現するとともに、信頼された第3者で協調する必要がなく、信頼された第3者がデータを悪意ある漏洩する可能性を回避し、且つ、大量のデータが多者と信頼された第3者との間でインタラクションすることを回避し、モデルのトレーニング過程のデータ伝送量を減少し、モデルのトレーニングの効率を向上させる。
1つの好ましい実施形態において、前記第1の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、前記第1のトレーニング中間パラメータは、第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、前記第2の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第2のトレーニング中間パラメータを暗号化したデータであり、前記第2のトレーニング中間パラメータは、第2の参加者が第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、前記機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成される。
1つの好ましい実施形態において、前記パラメータ生成モジュールは、
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、前記第1の暗号化干渉パラメータを線形計算に基づいて計算結果に重ねて、第1の暗号化キーパラメータを生成するためのパラメータ生成ユニットを備える。
これに対応し、前記サブモデルトレーニングモジュールは、
前記第1の干渉パラメータに基づいて前記第1のキーパラメータを逆方向線形計算し、逆方向線形計算したキーパラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新するためのサブモデルのトレーニングユニットを備える。
1つの好ましい実施形態において、前記干渉パラメータは乱数である。
1つの好ましい実施形態において、前記第1の干渉パラメータは、第1の勾配干渉パラメータおよび第1の損失干渉パラメータを含む。
これに対応し、前記パラメータ生成モジュールは、
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化勾配干渉パラメータ、および第1のサブモデルの準同型勾配計算関数に基づいて計算し、第1の暗号化勾配パラメータを生成するための勾配パラメータ生成モジュールと、
前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化損失干渉パラメータ、および第1のサブモデルの準同型損失計算関数に基づいて計算し、第1の暗号化損失パラメータを生成するための損失パラメータ生成モジュールとを備える。
1つの好ましい実施形態において、前記装置は、
第1の準同型公開鍵および第1の準同型秘密鍵を含む第1の準同型秘密鍵ペアを生成するための第1の準同型秘密鍵ペア生成モジュールと、
前記第1の準同型公開鍵を第2の参加者に送信するための第1の準同型公開鍵送信モジュールと、
前記第2の参加者から送信された前記第2の参加者により生成された第2の準同型秘密鍵ペア内の第2の準同型公開鍵を受信するための第2の準同型公開鍵受信モジュールとを更に備える。
1つの好ましい実施形態において、前記装置は、
第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、前記第1の参加者と前記第2の参加者のサンプルデータ積集合識別子を確定するための積集合識別子確定モジュールを更に備え、少なくとも1人の参加者のサンプルデータにラベルが対応して付されている。
1つの好ましい実施形態において、前記装置は、
第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、前記第1の参加者の第1の元のサンプルデータを標準化処理し、サンプル特徴次元の第1の標準化値および第1のサンプルデータを取得し、標準化処理した第1のサンプルデータをモデルのトレーニングに用いるためのサンプルデータ処理モジュールと、
前記第1の標準化値を第3の暗号化秘密鍵で暗号化して第1の暗号化標準化値を形成し、前記第1の暗号化標準化値を信頼された第3者に提供するための第1の標準化値暗号化モジュールとを更に備える。
これに対応し、該装置は、
前記第1のサブモデルのトレーニングが完了した後、前記第1のサブモデルを第3の暗号化秘密鍵で暗号化して第1の暗号化サブモデルを形成し、信頼された第3者が各参加者により提供された暗号化サブモデルに基づいて組み合わせ、各参加者により提供された暗号化標準化値に基づいて非標準化処理を行って更に切り分けるように、前記第1の暗号化サブモデルを前記信頼された第3者に提供するためのモデル切り分けモジュールと、
前記信頼された第3者から返信された切り分けられた第1の非標準化サブモデルを受信するためのサブモデル受信モジュールとを更に備える。
1つの好ましい実施形態において、前記中間パラメータ取得モジュールは、
第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後、第1のトレーニング中間パラメータを生成するための第1のトレーニング中間パラメータ生成ユニットと、
設定精度に基づいて前記第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINTに変換するための第1のBIGINT確定ユニットと、
前記第1のBIGINT内の整数値をコードし、第1の正の整数に変換するための第1の正の整数確定ユニットと、
第2の参加者の第2の準同型公開鍵を用いて第1の正の整数を暗号化し、前記第1の準同型暗号中間パラメータを取得するための第1の準同型暗号中間パラメータ確定ユニットとを備える。
1つの好ましい実施形態において、前記サブモデルトレーニングモジュールは、
前記第1の干渉パラメータに基づいて前記第1のキーパラメータに対して干渉除去動作を行うための干渉除去動作ユニットと、
干渉が除去された第1のキーパラメータをデコードし、前記設定精度に従ってスケーリングし、浮動小数点数に変換するための浮動小数点数変換ユニットと、
変換された浮動小数点数形式の第1のキーパラメータを用いて前記第1のサブモデルを反復更新するための反復更新ユニットとを備える。
本開示の実施例の技術案に係る分散型機械学習モデルのトレーニング装置は、本開示のいずれかの実施例に係る分散型機械学習モデルのトレーニング方法を実行することができ、分散型機械学習モデルのトレーニング方法の実行に対応する機能モジュールおよび有益な効果を有する。
本開示の技術案に係るユーザの個人情報の収集、記憶および使用等は、いずれも関連法律法規の規定に該当し、公序良俗に反していない。
本開示の実施例によれば、本開示は、電子機器、可読記憶媒体およびコンピュータプログラム製品を更に提供する。
図5は、本開示の実施例の例示的な電子機器500を実施するために使用可能なブロック図を示す。電子機器は、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯端末、携帯電話、スマートフォン、ウェララブル機器および他の類似する計算装置のような様々な形式の移動装置を表すこともできる。本開示に示されたコンポーネント、それらの接続、関係、およびそれらの機能は例示的なものに過ぎず、本開示に記載および/または要求される本開示の実現を限定するものではない。
図5に示すように、機器500は、計算ユニット501を備え、読み出し専用メモリ(ROM)502に記憶されたコンピュータプログラム、または記憶ユニット508からランダムアクセスメモリ(RAM)503にロードされたコンピュータプログラムに基づき、様々な適当な動作および処理を実行することができる。RAM 503には、機器500の動作に必要な様々なプログラムおよびデータが記憶されてもよい。計算ユニット501、ROM 502およびRAM 503は、バス504を介して互いに接続されている。入力/出力(I/O)インタフェース505もバス504に接続されている。
機器500における複数のコンポーネントはI/Oインタフェース505に接続され、キーボード、マウス等のような入力ユニット506と、各種のディスプレイ、スピーカ等のような出力ユニット507と、磁気ディスク、光ディスク等のような記憶ユニット508と、ネットワークカード、モデム、無線通信送受信機等のような通信ユニット509とを備える。通信ユニット509は、機器500がインターネットのようなコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを許容する。
計算ユニット501は、処理および計算能力を有する汎用および/または専用の処理アセンブリであってもよい。計算ユニット501のいくつかの例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、各種の専用の人工知能(AI)コンピューティングチップ、各種の機械学習モデルアルゴリズムを実行する計算ユニット、デジタルシグナルプロセッサ(DSP)、および任意の適当なプロセッサ、コントローラ、マイクロコントローラ等を含んでもよいが、これらに限定されない。計算ユニット501は、上記様々な方法および処理、例えば、分散型機械学習モデルのトレーニング方法を実行する。例えば、いくつかの実施例において、分散型機械学習モデルのトレーニング方法は、コンピュータソフトウェアプログラムとして実現でき、有形的に記憶ユニット508のような機器可読媒体に含まれている。いくつかの実施例において、コンピュータプログラムの一部または全ては、ROM 502および/または通信ユニット509を介して機器500にロードおよび/またはインストールされ得る。コンピュータプログラムがRAM 503にロードされて計算ユニット501により実行されると、上記分散型機械学習モデルのトレーニング方法の1つまたは複数のステップを実行することができる。あるいは、他の実施例において、計算ユニット501は、他の任意の適当な方式(例えば、ファームウェアを介して)により、分散型機械学習モデルのトレーニング方法を実行するように構成され得る。
本開示に記載されたシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準パーツ(ASSP)、システムオンチップのシステム(SOC)、複合プログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現できる。これらの様々な実施形態は以下を含んでもよい。1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/または解釈することができ、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、且つデータおよび命令を、該ストレージシステム、該少なくとも1つの入力装置、および該少なくとも1つの出力装置に伝送することができる専用または汎用のプログラマブルプロセッサであってもよい。
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせでコードできる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供でき、これにより、プログラムコードがプロセッサまたはコントローラにより実行されると、フローチャートおよび/またはブロック図で規定された機能/動作が実施される。プログラムコードは、完全に機器で実行されてもよいし、一部が機器で実行されてもよいし、独立したソフトウェアパッケージとして一部が機器で実行されて一部がリモート機器で実行されてもよいし、完全にリモート機器またはサーバで実行されてもよい。
本開示の明細書において、機器可読媒体は、命令実行システム、装置またはデバイスに使用される、または命令実行システム、装置またはデバイスと合わせて使用されるプログラムを含有または記憶できる有形的な媒体であってもよい。機器可読媒体は、機器可読信号媒体または機器可読記憶媒体であってもよい。機器可読媒体は、電子の、磁気の、光の、電磁気の、赤外線の、または半導体のシステム、装置または機器、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。機器可読記憶媒体の更なる具体的な例は、1つまたは複数の線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用ディスク(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記内容の任意の適当な組み合わせを含む。
ユーザとのインタラクションを提供するために、ここで説明するシステムおよび技術をコンピュータで実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれにより入力をコンピュータに提供することができるキーボードおよび指向装置(例えば、マウスまたはトラックボール)とを有する。他の種類の装置は、更にユーザとのインタラクションを提供するために使用できる。例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且つ、任意の形式(音入力、音声入力または、触覚入力を含む)でユーザからの入力を受信することができる。
ここで説明するシステムおよび技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、または中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、ユーザがそれによりここで説明するシステムおよび技術の実施形態とインタラクションできるグラフィカルユーザインタフェースまたはネットワークブラウザを有するユーザコンピュータ)、またはこのようなバックグラウンドコンポーネント、中間コンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムのコンポーネントを互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブロックチェーンネットワーク、およびインターネットを含む。
コンピューティングシステムはクライアントおよびサーバを含んでもよい。クライアントとサーバとは、一般的に互いに離れ、且つ、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されて互いにクライアント-サーバ関係を持つコンピュータプログラムにより、クライアントとサーバとの関係を生成する。
上記に示す様々な形式のフローを用い、ステップを並べ替え、追加または削除することができることを理解すべきである。例えば、本発明に記載された各ステップは、並列に実行されてもよいし、順に実行されてもよいし、異なる順序で実行されてもよく、本発明に開示された技術案の所望する結果を達成できる限り、本発明はここで限定しない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者は、設計要求および他の要因に基づき、様々な修正、組み合わせ、サブ組み合わせおよび代替が可能であることを理解すべできる。本開示の精神および原則内で行われる任意の修正、均等置換および改良等は、いずれも本開示の保護範囲内に含まれているべきである。

Claims (18)

  1. モデルのトレーニングに参加した複数の参加者のうちのいずれかの参加者により実行され、当該参加者は第1の参加者と表記され、他の参加者第2の参加者と表記され、
    前記第1の参加者の第1の元のサンプルデータを標準化処理し、サンプル特徴次元の第1の標準化値および第1のサンプルデータを取得し、標準化処理した第1のサンプルデータをモデルのトレーニングに用いることと、
    前記第1の標準化値を第3の暗号化秘密鍵で暗号化して第1の暗号化標準化値を形成し、前記第1の暗号化標準化値を信頼された第3者に提供することと、
    第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得し、前記第1の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、前記第1のトレーニング中間パラメータは、前記第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、前記第2の準同型暗号中間パラメータは、前記第2の参加者の第2の準同型公開鍵を用いて第2のトレーニング中間パラメータを暗号化したデータであり、前記第2のトレーニング中間パラメータは、前記第2の参加者が第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成されることと、
    第1の干渉パラメータを生成して前記第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成することと、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することと、
    前記第2の参加者による第2の準同型秘密鍵を用いる前記第1の暗号化キーパラメータの復号化のために、前記第1の暗号化キーパラメータを前記第2の参加者に伝送することと、
    前記第2の参加者により復号化された第1のキーパラメータを取得することと、
    前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新することと、
    前記第1のサブモデルを第3の暗号化秘密鍵で暗号化して第1の暗号化サブモデルを形成し、信頼された第3者が各参加者により提供された暗号化サブモデルに基づいて組み合わせ、各参加者により提供された暗号化標準化値に基づいて非標準化処理を行って更に切り分けるように、前記第1の暗号化サブモデルを前記信頼された第3者に提供することと、
    前記信頼された第3者から返信された切り分けられた第1の非標準化サブモデルを受信することとを含む、
    ことを特徴とする分散型機械学習モデルのトレーニング方法。
  2. 前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することは、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、前記第1の暗号化干渉パラメータを線形計算に基づいて計算結果に重ねて、第1の暗号化キーパラメータを生成することを含み、
    これに対応して、前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新することは、
    前記第1の干渉パラメータに基づいて前記第1のキーパラメータを逆方向線形計算し、逆方向線形計算したキーパラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新することを含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記干渉パラメータは乱数である、
    ことを特徴とする請求項1に記載の方法。
  4. 前記第1の干渉パラメータは、第1の勾配干渉パラメータおよび第1の損失干渉パラメータを含み、
    これに対応して、前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成することは、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化勾配干渉パラメータ、および第1のサブモデルの準同型勾配計算関数に基づいて計算し、第1の暗号化勾配パラメータを生成することと、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化損失干渉パラメータ、および第1のサブモデルの準同型損失計算関数に基づいて計算し、第1の暗号化損失パラメータを生成することとを含む、
    ことを特徴とする請求項1に記載の方法。
  5. 第1の準同型公開鍵および第1の準同型秘密鍵を含む第1の準同型秘密鍵ペアを生成することと、
    前記第1の準同型公開鍵を前記第2の参加者に送信することと、
    前記第2の参加者から送信された前記第2の参加者により生成された第2の準同型秘密鍵ペア内の第2の準同型公開鍵を受信することとを更に含む、
    ことを特徴とする請求項1に記載の方法。
  6. 前記第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、
    前記第1の参加者と前記第2の参加者のサンプルデータ積集合識別子を確定し、少なくとも1人の参加者のサンプルデータにラベルが対応して付されていることを更に含む、
    ことを特徴とする請求項1に記載の方法。
  7. 前記第1の準同型暗号中間パラメータを取得することは、
    前記第1のサンプルデータに基づいて前記第1のサブモデルをトレーニングした後、前記第1のトレーニング中間パラメータを生成することと、
    設定精度に基づいて前記第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINTに変換することと、
    前記第1のBIGINT内の整数値をコードし、第1の正の整数に変換することと、
    前記第2の参加者の第2の準同型公開鍵を用いて第1の正の整数を暗号化し、前記第1の準同型暗号中間パラメータを取得することとを含む、
    ことを特徴とする請求項1に記載の方法。
  8. 前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルを反復更新することは、
    前記第1の干渉パラメータに基づいて前記第1のキーパラメータに対して干渉除去動作を行うことと、
    干渉が除去された第1のキーパラメータをデコードし、前記設定精度に従ってスケーリングし、浮動小数点数に変換することと、
    変換された浮動小数点数形式の第1のキーパラメータを用いて前記第1のサブモデルを反復更新することとを含む、
    ことを特徴とする請求項7に記載の方法。
  9. 第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得するための中間パラメータ取得モジュールであって、前記第1の準同型暗号中間パラメータは、第2の参加者の第2の準同型公開鍵を用いて第1のトレーニング中間パラメータを暗号化したデータであり、前記第1のトレーニング中間パラメータは、第1の参加者が第1のサンプルデータに基づいて第1のサブモデルをトレーニングした後に生成した中間パラメータであり、前記第2の準同型暗号中間パラメータは、前記第2の参加者の第2の準同型公開鍵を用いて第2のトレーニング中間パラメータを暗号化したデータであり、前記第2のトレーニング中間パラメータは、前記第2の参加者が第2のサンプルデータに基づいて第2のサブモデルをトレーニングした後に生成した中間パラメータであり、機械学習モデルは、少なくとも2人の参加者のそれぞれのローカルなサブモデルで構成される中間パラメータ取得モジュールと、
    第1の干渉パラメータを生成して前記第2の参加者の第2の準同型公開鍵を用いて暗号化し、第1の暗号化干渉パラメータを形成するための干渉パラメータ形成モジュールと、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化干渉パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、第1の暗号化キーパラメータを生成するためのパラメータ生成モジュールと、
    前記第2の参加者による第2の準同型秘密鍵を用いる前記第1の暗号化キーパラメータの復号化のために、前記第1の暗号化キーパラメータを前記第2の参加者に伝送するためのパラメータ復号モジュールと、
    前記第2の参加者により復号化された第1のキーパラメータを取得するための第1のキーパラメータ取得モジュールと、
    前記第1のキーパラメータおよび前記第1の干渉パラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新するためのサブモデルトレーニングモジュールと、
    前記第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、前記第1の参加者の第1の元のサンプルデータを標準化処理し、サンプル特徴次元の第1の標準化値および第1のサンプルデータを取得し、標準化処理した第1のサンプルデータをモデルのトレーニングに用いるためのサンプルデータ処理モジュールと、
    前記第1の標準化値を第3の暗号化秘密鍵で暗号化して第1の暗号化標準化値を形成し、前記第1の暗号化標準化値を信頼された第3者に提供するための第1の標準化値暗号化モジュールと、
    前記第1のサブモデルのトレーニングが完了した後、前記第1のサブモデルを第3の暗号化秘密鍵で暗号化して第1の暗号化サブモデルを形成し、信頼された第3者が各参加者により提供された暗号化サブモデルに基づいて組み合わせ、各参加者により提供された暗号化標準化値に基づいて非標準化処理を行って更に切り分けるように、前記第1の暗号化サブモデルを前記信頼された第3者に提供するためのモデル切り分けモジュールと、
    前記信頼された第3者から返信された切り分けられた第1の非標準化サブモデルを受信するためのサブモデル受信モジュールとを備える、
    ことを特徴とする分散型機械学習モデルのトレーニング装置。
  10. 前記パラメータ生成モジュールは、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、および第1のサブモデルの準同型計算関数に基づいて計算し、前記第1の暗号化干渉パラメータを線形計算に基づいて計算結果に重ねて、前記第1の暗号化キーパラメータを生成するためのパラメータ生成ユニットを備え、
    これに対応して、前記サブモデルトレーニングモジュールは、
    前記第1の干渉パラメータに基づいて前記第1のキーパラメータを逆方向線形計算し、逆方向線形計算したキーパラメータに基づき、前記第1のサブモデルのトレーニングが完了するまで前記第1のサブモデルを反復更新するためのサブモデルのトレーニングユニットを備える、
    ことを特徴とする請求項9に記載の装置。
  11. 前記干渉パラメータは乱数である、
    ことを特徴とする請求項9または10に記載の装置。
  12. 前記第1の干渉パラメータは、第1の勾配干渉パラメータおよび第1の損失干渉パラメータを含み、
    これに対応して、前記パラメータ生成モジュールは、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化勾配干渉パラメータ、および第1のサブモデルの準同型勾配計算関数に基づいて計算し、第1の暗号化勾配パラメータを生成するための勾配パラメータ生成モジュールと、
    前記第1の準同型暗号中間パラメータ、第2の準同型暗号中間パラメータ、第1の暗号化損失干渉パラメータ、および第1のサブモデルの準同型損失計算関数に基づいて計算し、第1の暗号化損失パラメータを生成するための損失パラメータ生成モジュールとを備える、
    ことを特徴とする請求項9または10に記載の装置。
  13. 第1の準同型公開鍵および第1の準同型秘密鍵を含む第1の準同型秘密鍵ペアを生成するための第1の準同型秘密鍵ペア生成モジュールと、
    前記第1の準同型公開鍵を前記第2の参加者に送信するための第1の準同型公開鍵送信モジュールと、
    前記第2の参加者から送信された前記第2の参加者により生成された第2の準同型秘密鍵ペア内の第2の準同型公開鍵を受信するための第2の準同型公開鍵受信モジュールとを更に備える、
    ことを特徴とする請求項9に記載の装置。
  14. 前記第1の準同型暗号中間パラメータおよび第2の準同型暗号中間パラメータを取得する前に、前記第1の参加者と前記第2の参加者のサンプルデータ積集合識別子を確定するための積集合識別子確定モジュールを更に備え、少なくとも1人の参加者のサンプルデータにラベルが対応して付されている、
    ことを特徴とする請求項9に記載の装置。
  15. 前記中間パラメータ取得モジュールは、
    前記第1のサンプルデータに基づいて前記第1のサブモデルをトレーニングした後、前記第1のトレーニング中間パラメータを生成するための第1のトレーニング中間パラメータ生成ユニットと、
    設定精度に基づいて前記第1のトレーニング中間パラメータ内の浮動小数点数を第1のBIGINTに変換するための第1のBIGINT確定ユニットと、
    前記第1のBIGINT内の整数値をコードし、第1の正の整数に変換するための第1の正の整数確定ユニットと、
    前記第2の参加者の第2の準同型公開鍵を用いて第1の正の整数を暗号化し、前記第1の準同型暗号中間パラメータを取得するための第1の準同型暗号中間パラメータ確定ユニットとを備える、
    ことを特徴とする請求項9に記載の装置。
  16. 前記サブモデルトレーニングモジュールは、
    前記第1の干渉パラメータに基づいて前記第1のキーパラメータに対して干渉除去動作を行うための干渉除去動作ユニットと、
    干渉が除去された第1のキーパラメータをデコードし、前記設定精度に従ってスケーリングし、浮動小数点数に変換するための浮動小数点数変換ユニットと、
    変換された浮動小数点数形式の第1のキーパラメータを用いて前記第1のサブモデルを反復更新するための反復更新ユニットとを備える、
    ことを特徴とする請求項15に記載の装置。
  17. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに通信接続されたメモリとを備える電子機器であって、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
    前記命令は、前記少なくとも1つのプロセッサが請求項1から8のいずれか1項に記載の分散型機械学習モデルのトレーニング方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
    ことを特徴とする電子機器。
  18. コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、
    前記コンピュータ命令は、請求項1から8のいずれか1項に記載の分散型機械学習モデルのトレーニング方法をコンピュータに実行させることに用いられる、
    ことを特徴とする非一時的なコンピュータ可読記憶媒体。
JP2022145049A 2021-09-15 2022-09-13 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 Active JP7297131B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111079943.4A CN113537516B (zh) 2021-09-15 2021-09-15 分布式机器学习模型的训练方法、装置、设备和介质
CN202111079943.4 2021-09-15

Publications (2)

Publication Number Publication Date
JP2023043175A JP2023043175A (ja) 2023-03-28
JP7297131B2 true JP7297131B2 (ja) 2023-06-23

Family

ID=78123119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022145049A Active JP7297131B2 (ja) 2021-09-15 2022-09-13 分散型機械学習モデルのトレーニング方法、装置、機器および媒体

Country Status (4)

Country Link
US (1) US11748661B2 (ja)
JP (1) JP7297131B2 (ja)
KR (1) KR102515682B1 (ja)
CN (1) CN113537516B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965313B (zh) * 2021-12-15 2022-04-05 北京百度网讯科技有限公司 基于同态加密的模型训练方法、装置、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200242466A1 (en) 2017-03-22 2020-07-30 Visa International Service Association Privacy-preserving machine learning
US20210150037A1 (en) 2019-11-15 2021-05-20 International Business Machines Corporation Secure Federation of Distributed Stochastic Gradient Descent
US20210174243A1 (en) 2019-12-06 2021-06-10 International Business Machines Corporation Efficient private vertical federated learning
US20210234668A1 (en) 2020-01-27 2021-07-29 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135661A (zh) * 2016-12-26 2017-09-05 深圳前海达闼云端智能科技有限公司 数据处理方法、装置、系统及信息采集设备
US11144616B2 (en) * 2017-02-22 2021-10-12 Cisco Technology, Inc. Training distributed machine learning with selective data transfers
CN107135061B (zh) * 2017-04-17 2019-10-22 北京科技大学 一种5g通信标准下的分布式隐私保护机器学习方法
US11205137B2 (en) * 2018-06-15 2021-12-21 International Business Machines Corporation Distributed training in a parameter dataset
CN109165515A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的模型参数获取方法、系统及可读存储介质
US10970402B2 (en) * 2018-10-19 2021-04-06 International Business Machines Corporation Distributed learning preserving model security
CN109886417B (zh) * 2019-03-01 2024-05-03 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
US11532386B2 (en) * 2019-03-20 2022-12-20 International Business Machines Corporation Generating and customizing summarized notes
US11139961B2 (en) * 2019-05-07 2021-10-05 International Business Machines Corporation Private and federated learning
EP3970074A1 (en) * 2019-05-16 2022-03-23 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Concepts for federated learning, client classification and training data similarity measurement
US20200366459A1 (en) * 2019-05-17 2020-11-19 International Business Machines Corporation Searching Over Encrypted Model and Encrypted Data Using Secure Single-and Multi-Party Learning Based on Encrypted Data
CN112149141B (zh) * 2019-06-28 2023-08-29 北京百度网讯科技有限公司 模型训练方法、装置、设备和介质
CN112149706B (zh) * 2019-06-28 2024-03-15 北京百度网讯科技有限公司 模型训练方法、装置、设备和介质
CN111046433B (zh) * 2019-12-13 2021-03-05 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
WO2021223873A1 (en) * 2020-05-08 2021-11-11 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for privacy-preserving distributed training of machine learning models on distributed datasets
US20210398017A1 (en) * 2020-06-23 2021-12-23 Hewlett Packard Enterprise Development Lp Systems and methods for calculating validation loss for models in decentralized machine learning
CA3188608A1 (en) * 2020-08-27 2022-03-03 Sinem SAV System and method for privacy-preserving distributed training of neural network models on distributed datasets
CN112257081B (zh) * 2020-09-30 2023-02-28 易联众信息技术股份有限公司 纵向联邦标准离差综合评分方法、系统、介质及设备
JP7096610B2 (ja) * 2021-01-15 2022-07-06 株式会社アクセル 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
CN113033828B (zh) * 2021-04-29 2022-03-22 江苏超流信息技术有限公司 模型训练方法、使用方法、系统、可信节点及设备
US20220374762A1 (en) * 2021-05-18 2022-11-24 International Business Machines Corporation Trusted and decentralized aggregation for federated learning
CN113037489B (zh) * 2021-05-25 2021-08-27 北京百度网讯科技有限公司 数据处理方法、装置、设备和存储介质
CN113614726A (zh) * 2021-06-10 2021-11-05 香港应用科技研究院有限公司 对联邦学习系统的动态差异隐私
US11907403B2 (en) * 2021-06-10 2024-02-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Dynamic differential privacy to federated learning systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200242466A1 (en) 2017-03-22 2020-07-30 Visa International Service Association Privacy-preserving machine learning
US20210150037A1 (en) 2019-11-15 2021-05-20 International Business Machines Corporation Secure Federation of Distributed Stochastic Gradient Descent
US20210174243A1 (en) 2019-12-06 2021-06-10 International Business Machines Corporation Efficient private vertical federated learning
US20210234668A1 (en) 2020-01-27 2021-07-29 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning

Also Published As

Publication number Publication date
KR102515682B1 (ko) 2023-03-29
JP2023043175A (ja) 2023-03-28
CN113537516B (zh) 2021-12-14
US20230078726A1 (en) 2023-03-16
CN113537516A (zh) 2021-10-22
KR20230040278A (ko) 2023-03-22
US11748661B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
WO2022237450A1 (zh) 多方安全计算方法、装置、设备及存储介质
CN113033828B (zh) 模型训练方法、使用方法、系统、可信节点及设备
CN108712409B (zh) 一种基于私有区块链的电子账单交易系统
CN113836556B (zh) 面向联邦学习的去中心化函数加密隐私保护方法及系统
CN114595835B (zh) 基于联邦学习的模型训练方法及装置、设备、存储介质
CN112818374A (zh) 一种模型的联合训练方法、设备、存储介质及程序产品
WO2021239006A1 (zh) 基于秘密共享的训练方法、装置、电子设备及存储介质
CN112597542B (zh) 目标资产数据的聚合方法及装置、存储介质、电子装置
JP7297131B2 (ja) 分散型機械学習モデルのトレーニング方法、装置、機器および媒体
CN115510502B (zh) 一种隐私保护的pca方法及系统
CN116324778A (zh) 可更新私有集合交集
CN113240129A (zh) 一种面向多类型任务图像分析的联邦学习系统
CN115913537A (zh) 基于隐私保护的数据求交方法、系统及相关设备
CN116167088A (zh) 一种两方联邦学习中进行隐私保护的方法、系统及终端
CN117675270A (zh) 面向纵向联邦学习的多模态数据加密传输方法及系统
CN113935050A (zh) 基于联邦学习的特征提取方法和装置、电子设备、介质
CN113722739A (zh) 梯度提升树模型的生成方法、装置、电子设备和存储介质
CN116743376A (zh) 基于高效密文混淆技术的多方秘密分享数据隐私比较方法
CN115564447A (zh) 一种信用卡交易风险检测方法及装置
CN115580443A (zh) 一种图数据的处理方法、装置、设备和介质
CN108989031B (zh) 一种多比特纠错编码解码方法
CN117009723B (zh) 一种多方计算方法、装置、设备及存储介质
Yan et al. Secret image sharing based on error-correcting codes
CN116915922B (zh) 图像的传输方法及装置、电子设备和存储介质
CN116127179A (zh) 信息推荐及模型训练方法、装置、设备和存储介质

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230315

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: 20230523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230613

R150 Certificate of patent or registration of utility model

Ref document number: 7297131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150