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

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

▶ 日本電気株式会社の特許一覧

特許7388445ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
<>
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図1
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図2
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図3
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図4
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図5
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図6
  • 特許-ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
(51)【国際特許分類】
   G06N 3/098 20230101AFI20231121BHJP
   G09C 1/00 20060101ALI20231121BHJP
   H04L 9/08 20060101ALI20231121BHJP
【FI】
G06N3/098
G09C1/00 650Z
H04L9/08 A
【請求項の数】 10
(21)【出願番号】P 2021560803
(86)(22)【出願日】2019-11-26
(86)【国際出願番号】 JP2019046169
(87)【国際公開番号】W WO2021106077
(87)【国際公開日】2021-06-03
【審査請求日】2022-05-25
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】寺西 勇
【審査官】福西 章人
(56)【参考文献】
【文献】BONAWITZ, Keith et al.,Practical Secure Aggregation for Privacy-Preserving Machine Learning,CCS'17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security,米国,Association for Computing Machinery,2017年10月,pp.1175-1191,検索日[2020.01.23]、インターネット:<URL:https://dl.acm.org/doi/pdf/10.1145/3133956.2133982>
【文献】NASR, Milad et al.,Machine Learning with Membership Privacy using Adversarial Regularization,2018年07月16日,pp.1-14,検索日[2020.01.23]、インターネット:<URL:https://arxiv.org/pdf/1807.05852v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G09C 1/00
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、
所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、
所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、
前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、
を備え
前記第2のニューラルネットワークのモデル更新パラメータの初期値は、前記他の端末装置から受信した第2のモデル更新パラメータを用いずに前記計算装置が計算したものである端末装置。
【請求項2】
前記機械学習部は、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、交互に実施する請求項1の端末装置。
【請求項3】
前記他の端末装置及び前記計算装置と、ハイパーパラメータを共有して、Horizontal Federated Learningを実施する請求項1又は2の端末装置。
【請求項4】
前記第1、第2のニューラルネットワークのモデル更新パラメータは、前記計算装置において、加法準同型暗号を用いて、前記端末装置から受信したモデル更新パラメータを暗号化した状態で加算することで計算される請求項1から3いずれか一の端末装置。
【請求項5】
訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、
所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、
所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、
前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて更新された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、を備えた端末装置と通信可能であり、
前記他の端末装置から受信した第2のモデル更新パラメータを用いずに前記第2のニューラルネットワークのモデル更新パラメータの初期値を計算し、前記端末装置から受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する計算部と、
前記端末装置に対し、更新後の前記第1、第2のニューラルネットワークのモデル更新パラメータを送信する送信部と、
を備えた計算装置。
【請求項6】
前記端末装置と前記他の端末装置とハイパーパラメータを共有して、Horizontal Federated Learningを実施する請求項5の計算装置。
【請求項7】
前記計算部は、加法準同型暗号を用いて、前記第1、第2のモデル更新パラメータを暗号化した状態で加算することで、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する請求項5又は6の計算装置。
【請求項8】
前記計算装置は、秘密分散方式を用いて分散された復号鍵を保持するサブサーバと接続され、
前記計算部は、前記サブサーバと共同して、前記第1、第2のニューラルネットワークのモデル更新パラメータを復号する請求項5から7いずれか一の計算装置。
【請求項9】
訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施し、
所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化し、
所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信し、
他の端末装置から受信した第2のモデル更新パラメータを用いずに計算された前記第2のニューラルネットワークのモデル更新パラメータの初期値と前記他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを前記計算装置から受信し、前記第1、第2のニューラルネットワークを更新する、
ニューラルネットワークの更新方法。
【請求項10】
訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施する処理と、
所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する処理と、
所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信する処理と、
他の端末装置から受信した第2のモデル更新パラメータを用いずに計算された前記第2のニューラルネットワークのモデル更新パラメータの初期値と前記他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを前記計算装置から受信し、前記第1、第2のニューラルネットワークを更新する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークの更新方法、端末装置、計算装置及びプログラムに関する。
【背景技術】
【0002】
近年、デバイス側で機械学習を行って、サーバがこれらのデバイスからモデル更新パラメータを受け取ってニューラルネットワークのモデルを更新するFederated Learningという機械学習の形態が注目されている。Federated Learningは、訓練データを集める必要がないため、プライバシーの保護やデータ通信量の削減を図ることができるとされている。
【0003】
特許文献1、2には、上記したクライアント-サーバ構成で機械学習を行う構成が示されている。例えば、特許文献1には、学習によって得られた重みパラメータを管理装置に送信する端末装置と、前記複数の端末装置から重みパラメータを受信し、最適な重みパラメータを選択する管理装置とを含む構成が開示されている。特許文献2には、上記構成において、よりプライバシー性の高いデータを訓練データとする際の構成が提案されている。
【0004】
非特許文献1には、推論アルゴリズムへのアクセスが可能であるとの条件下で、個人情報を漏洩させるInference attacksという方法が開示されている。その基本的なアイデアは以下の通りである。まず、攻撃者は訓練データ集合Tと同種の訓練データからなる集合T’={(x’(1),y’(1)),…,(x’(N),y’(N))}を用意する。例えば、Tが顔画像とその特徴量の組からなる集合であれば、攻撃者は、インターネット等から顔画像を拾い集めてT’を作ることができる。そして攻撃者は、n’=1,2,・・・,に対しx’(n’)を推論アルゴリズムに入力して、推論結果Infer(α,w,x’(n’))がy’(n’)とどの程度一致するかを判定し、一致度が高いデータは、T内のデータと類似度が高いと判定する。これにより、攻撃者は、T内にどのようなデータが入っていたのかをある程度推測できてしまう。
【0005】
非特許文献2には、非特許文献1のような攻撃に耐性のある学習アルゴリズムを提案する文献である。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-174298号公報
【文献】特開2019-28656号公報
【非特許文献】
【0007】
【文献】Reza Shokri, Marco Stronati, Congzheng Song, Vitaly Shmatikov: “Membership Inference Attacks Against Machine Learning Models”, IEEE Symposium on Security and Privacy 2017: 3-18、[online]、[令和1年11月21日検索]、インターネット〈URL:https://arxiv.org/pdf/1610.05820.pdf〉
【文献】Milad Nasr, Reza Shokri, Amir Houmansadr: “Machine Learning with Membership Privacy using Adversarial Regularization”、[online]、[令和1年11月21日検索]、インターネット〈URL:https://arxiv.org/pdf/1807.05852.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0008】
以下の分析は、本発明者によって与えられたものである。上記背景技術に記載したとおり、クライアント-サーバ構成で機械学習を行う構成では、クライアントが公開したモデル更新パラメータからそのクライアントが持っていた訓練データの情報が漏れる可能性がある。訓練データが個人情報に関連するものであった場合、これは個人情報漏えいに繋がることを意味する。
【0009】
上記のような攻撃に対する対策として、Differential Privacyなどのサーバに送信するデータにノイズを付加する方法が考えられる。しかしながら、ノイズの付加による方法では、十分なプライバシーを確保しようとすると、学習の正確性が損なわれてしまう可能性がある。さらに、スマートフォン等の個人のデバイス由来のデータを訓練データとする場合、その偏りにより、情報が漏れてしまう可能性がある。
【0010】
この点、非特許文献2の方法を用いることで、Inference attacksに対する攻撃耐性を上げることが可能となる。しかしながら、非特許文献2では、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形の機械学習への適用は何ら言及されていない。
【0011】
本発明は、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形態の機械学習におけるInference attacksに対する耐性の向上に貢献できるニューラルネットワークの更新方法、端末装置、計算装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
第1の視点によれば、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実行可能な機械学習部と、所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化する暗号処理部と、所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信するデータ送信部と、前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する更新部と、を備えた端末装置が提供される。
【0013】
第2の視点によれば、上記した端末装置と通信可能であり、前記端末装置から受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータを計算する計算部と、前記端末装置に対し、更新後の前記第1、第2のニューラルネットワークのモデル更新パラメータを送信する送信部と、を備えた計算装置が提供される。
【0014】
第3の視点によれば、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、実施し、所定の準同型暗号を用いて前記第1、第2のモデル更新パラメータを暗号化し、所定の計算装置に対して、前記暗号化した前記第1、第2のモデル更新パラメータを送信し、前記計算装置から、他の端末装置から受信した第1、第2のモデル更新パラメータを用いて計算された前記第1、第2のニューラルネットワークのモデル更新パラメータを受信し、前記第1、第2のニューラルネットワークを更新する、ニューラルネットワークの更新方法が提供される。本方法は、訓練データを用いて、ニューラルネットワークのモデル更新パラメータを計算するコンピュータという、特定の機械に結びつけられている。
【0015】
第4の視点によれば、上記した端末装置の機能を実現するためのコンピュータプログラムが提供される。プログラムは、コンピュータ装置に入力装置又は外部から通信インターフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させ、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インターフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによって接続可能なプロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。
【発明の効果】
【0016】
本発明によれば、個々の端末装置で計算したモデル更新パラメータを集めて学習を行う形態の機械学習におけるInference attacksに対する耐性を向上させることが可能となる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施形態の構成を示す図である。
図2】本発明の一実施形態の動作を説明するための図である。
図3】本発明の一実施形態の動作を説明するための図である。
図4】本発明の第1の実施形態の構成を示す図である。
図5】本発明の第1の実施形態の詳細構成を表した機能ブロック図である。
図6】本発明の第1の実施形態の動作を表したシーケンス図である。
図7】本発明の端末装置又はサーバを構成するコンピュータの構成を示す図である。
【発明を実施するための形態】
【0018】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このコンピュータ装置は、通信インターフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、通信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インターフェースがあるが図示を省略する。また、以下の説明において、「A及び/又はB」は、A又はB、若しくは、A及びBという意味で用いる。
【0019】
本発明は、その一実施形態において、図1に示すように、機械学習部21と、暗号処理部22と、データ送信部23と、更新部24と、を備えた端末装置20にて実現できる。
【0020】
より具体的には、機械学習部21は、訓練データを用いて、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記訓練データとは異なる擬似攻撃用の訓練データを用いて、前記ニューラルネットワークとは別の第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを実行可能に構成される。
【0021】
暗号処理部22は、所定の準同型暗号を用いて、計算した第1、第2のモデル更新パラメータのいずれかを暗号化する。例えば、端末装置mが計算したモデル更新パラメータをΔm、準同型暗号をEnc(x)と表した場合、暗号化後のモデル更新パラメータは、Enc(Δm)と表される。
【0022】
データ送信部23は、図2に示すように、所定の計算装置10に対して、前記暗号化したモデル更新パラメータを送信する。例えば、図2の左端の端末装置20は、モデル更新パラメータEnc(Δ1)を送信する。図2の右端の端末装置20は、モデル更新パラメータEnc(Δm)を送信する。
【0023】
前記モデル更新パラメータEnc(Δ1)やEnc(Δm)を受信した計算装置10は、受信した第1、第2のモデル更新パラメータを用いて、前記第1、第2のニューラルネットワークのモデル更新パラメータΔを計算する。前記モデル更新パラメータEnc(Δ1)は準同型暗号を用いて暗号化されているため、暗号化した状態で、ニューラルネットワークのモデル更新パラメータΔを計算することができる。
【0024】
そして、計算装置10は、図3に示すように、端末装置20に対し、更新したニューラルネットワークのモデル更新パラメータΔを送信する。
【0025】
端末装置20の更新部24は、前記計算装置10から、更新された前記第1、第2のニューラルネットワークのモデル更新パラメータΔを受信し、受信したモデル更新パラメータΔに対応するニューラルネットワークを更新する。
【0026】
以上のとおり、本実施形態によれば、端末装置20から計算装置10に送信されるモデル更新パラメータは暗号化されて送信され、計算装置10においても復号せずに、モデル更新パラメータの計算が行われる。さらに、機械学習部21において、本来の訓練データによる学習に加えて、擬似攻撃用の訓練データによる学習が行われるため、Inference attacksに対する耐性が飛躍的に向上されることになる。
【0027】
[第1の実施形態]
続いて、端末装置及び計算装置(サーバ)がハイパーパラメータを共有して、Horizontal Federated Learningを実施するようにした本発明の第1の実施形態について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の構成を示す図である。図4を参照すると、サーバ100と、このサーバ100にモデル更新パラメータを送信し、サーバ100にて計算されたモデル更新パラメータを受信可能なM台の端末装置200-1~200-Mと、が接続された構成が示されている。なお、以降、端末装置200-1~200-Mを特に区別しない場合、端末装置200と記す。
【0028】
また、サーバ100は、複数のサブサーバ300と接続され、このサブサーバ300と連携して、後記する加法準同型暗号によって暗号化されたデータのしきい値復号を実行可能となっている。
【0029】
図5は、本発明の第1の実施形態の詳細構成を表した機能ブロック図である。図5を参照すると、端末装置200は、機械学習部201a、201bと、暗号処理部202と、データ送信部203と、更新部204と、訓練データ記憶部205a、205bと、を備えている。なお、このような端末装置200としては、後記するハイパーパラメータを共有可能であり、かつ、モデル更新パラメータを計算可能な種々の電子機器(デバイス)を用いることができる。このような電子機器(デバイス)の例としては、スマートフォン、パーソナルコンピュータやタブレット端末等を挙げることができる。
【0030】
本実施形態では、Inference attacksに対する耐性を向上させるために、2つのニューラルネットワークを用意する。第1のニューラルネットワークは、本来の訓練データ集合を学習するためのニューラルネットワークである。このニューラルネットワークを用いて推論を行う。第2のニューラルネットワークは、第1のニューラルネットワークに擬似的攻撃を仕掛けるためのニューラルネットワークである。本実施形態では、この2つのニューラルネットワークを交互に動かしながら学習を行う。以下の説明では、区別のため、第1のニューラルネットワークを利用用ニューラルネットワーク、第2のニューラルネットワークを攻撃用ニューラルネットワークと呼ぶことにする。以下、利用用ニューラルネットワークのハイパーパラメータをα、攻撃用ニューラルネットワークのハイパーパラメータをα’とする。この攻撃用ニューラルネットワークの構成方法としては、非特許文献2に記載されている方法を用いることができる。
【0031】
以下、説明の便宜上、本実施形態の端末装置200は、上記2つのニューラルネットワークを取り扱うため、2つの機械学習部201a、201bと、訓練データ記憶部205a、205bを備えているものとして説明する。
【0032】
訓練データ記憶部205aは、利用用ニューラルネットワークで学習したい訓練データ集合を記憶する。以下の説明では、この訓練データ集合をT={(x(1),y(1)),・・・,(x(N),y(N))と記す。
【0033】
訓練データ記憶部205bは、攻撃用ニューラルネットワークを用いて擬似攻撃をしかける為に利用する訓練データ集合を記憶する。以下の説明では、この訓練データ集合をT’={(x’(1),y’(1)),・・・,(x’(N’),y’(N’))と記す。
【0034】
なお、上記各x(N)、x’(N’)は、同一の集合Xの元であるとする。同様に、各y(N)、y’(N’)は、同一の集合Yの元であるとする。
【0035】
また、事前準備として、前述のハイパーパラメータα、α’は、何らかの方法で決定されているものとする。ハイパーパラメータの決定方法としては、例えば、ニューラルネットワークの既知のハイパーパラメータαを流用する方法が挙げられる。もちろん、ハイパーパラメータα、α’の決定方法は、これに限られずニューラルネットワークの用途やサーバ100や端末装置200の仕様に応じたパラメータを設定すればよい。
【0036】
さらにエポックtを1に初期化し、モデルパラメータ初期値w[1]を何らかの方法で初期化する。初期化方法はニューラルネットワークの設計により様々な方法を採用することができる。
【0037】
サーバ100と端末装置200は、ハイパーパラメータα、α’を、事前に共有しておくものとする。共有方法としては、例えば、サーバ100が各端末装置200にα、α’を事前に送信する方法や、端末装置200にインストールするプログラムに事前にα、α’を書き込んでおく等の方法を採用することができる。また、モデルパラメータの初期値w[1]、w’[1]も同様に、何らかの方法でサーバ100と端末装置200間で事前に共有しておくものとする。
【0038】
以下の説明では、機械学習部201aが、訓練データ集合Tを用いて利用用ニューラルネットワークの学習を行い、機械学習部201bが、訓練データ集合T’を用いて攻撃用ニューラルネットワークの学習を行うものとして説明する。
【0039】
サーバ100は、事前に設定した加法準同型暗号の鍵生成アルゴリズムGen(κ)を使って、公開鍵・秘密鍵ペア(pk,sk)を作成し、すべての端末装置200に対し、公開鍵pkを事前に送信しておくものとする。なお、加法準同型暗号としては、岡本内山暗号、Paillier暗号、Damgaard-Jurik暗号等を用いることができる。
【0040】
暗号処理部202は、公開鍵pkを用いて、機械学習部201aが計算したモデル更新パラメータを暗号化する。この公開鍵pkに対応する秘密鍵sk、skは、サーバ100とサブサーバ300がそれぞれ保持するものとする。
【0041】
データ送信部203は、サーバ100に対し、前記暗号処理部202にて暗号化したモデル更新パラメータを送信する。
【0042】
更新部204は、サーバ100から受信したモデル更新パラメータΔ[t]、Δ’[t,a]を用いて、利用用ニューラルネットワーク又は攻撃用ニューラルネットワークを更新する。その詳細は、後に具体的な動作とともに説明する。
【0043】
サーバ100は、計算部101と、送信部102とを備える。計算部101は、端末装置200から送信された暗号化済みのモデル更新パラメータを集計する。さらに、サーバ100は、サブサーバ300の協力の下、暗号化済みのモデル更新パラメータの復号を行ってモデル更新パラメータΔ[t]、Δ’[t,a]を計算する。
【0044】
送信部102は、各端末装置200に対し、前記計算部101にて計算されたモデル更新パラメータΔ[t]、Δ’[t,a]を送信する。
【0045】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図6は、本発明の第1の実施形態の動作を表したシーケンス図である。
【0046】
以下の説明中、c及びAは、事前に定められた定数である。また、学習率η’[t,a]は、サーバ100及びすべての端末装置200で共有されているものとする。また、学習率η’[t]は、ループにおいてw[t]の値の変化しやすさを決める実数である。学習率η’[t,a],学習率η’[t]は、ニューラルネットワークの設計によって様々な決め方が存在するが、本発明ではどのような値を用いてもよいので説明を省略する。
【0047】
図6を参照すると、まず、サーバ100及びすべての端末装置200は、t=1とし、w[1]、w’[1]を初期化する(ステップS001)。
【0048】
サーバ100及びすべての端末装置200は、w[t]が終了条件を満たすまで以下、(ステップS002)~(ステップS106)を繰り返す。また、上記終了条件としては、例えば、(w[t+1]-w[t]が事前に定められた値より小さくなったらループを終了するといった条件を設定することができる。終了条件は、これに限られるものではなく、ニューラルネットワークに応じたものを採用することができる。
【0049】
サーバ100及びすべての端末装置200は、w’[t,1]=w’[t]とする(ステップS002)。
【0050】
サーバ100は、a=1,・・・,Aに対し、以下の処理を実行し、端末装置200に対し、攻撃用ニューラルネットワークの更新用のパラメータを配布する(ステップS003)。
・サーバ100は、非負整数c(1),・・・,c(M)でc(1)+・・・+c(M)=cとなるものを選ぶ。
・サーバ100は、非負整数c’(0),・・・,c’(M)でc’(0)+・・・+c’(M)=cとなるものを選ぶ。
・サーバ100は、T’のc元部分集合B’[0,t,a]をランダムに選択する。
・サーバ100は、次式[数1]によりD[0,t,a]を計算した後、[数2]によりΔ’[0,t,a]を計算する。なお、[数2]中のInfer(x)は、ハイパーパラメータα、パラメータw、およびデータxを入力として受け取り、推論結果を出力する推論アルゴリズムを示す。このΔ’[0,t,a]がモデル更新パラメータの初期値となる。
【0051】
【数1】
【0052】
【数2】
・サーバ100は、端末装置m(m=1,・・・,M)に対し、(c(m),c’(m))を送信する。
【0053】
m台(m=1,・・・M)の端末装置200は、以下の処理を実行して、攻撃用ニューラルネットワークのモデル更新パラメータの計算、送信を行う(ステップS004)。
・端末装置200は、(c(m),c’(m))を受信する。
・端末装置200の機械学習部201bは、T(m)のc(m)元部分集合B[m,t,a]をランダムに選択する。ここで、T(m)は端末装置mが保持する訓練データ集合を示す。
・端末装置200の機械学習部201bは、T’(m)のc’(m)元部分集合B’[m,t,a]をランダムに選択する。
・端末装置200の機械学習部201bは、次式[数3]によりD[m,t,a]を計算した後、[数4]により、端末装置mのエポックtのモデル更新パラメータΔ’[m,t,a]を計算する。
【0054】
【数3】
【0055】
【数4】
・端末装置200は、事前に配布された加法準同型暗号の公開鍵pkを用いて、モデル更新パラメータΔ’[m,t,a]を暗号化し、Enc(pk,Δ’[m,t,a])をサーバ100に送信する。
【0056】
サーバ100は、前記端末装置200から受信したEnc(pk,Δ’[m,t,a])を用いて、攻撃用ニューラルネットワークのモデル更新パラメータの復号、配布を行う(ステップS005)。具体的には、サーバ100は、端末装置200から受信したEnc(pk,Δ’[1,t,a])+・・・+Enc(pk,Δ’[M,t,a])を計算する。前述のとおり、Enc(pk,Δ’[m,t,a])は、加法準同型暗号を用いて暗号化されているので、Enc(pk,Δ’[1,t,a])+・・・+Enc(pk,Δ’[M,t,a])は、暗号化した状態のEnc(pk,Δ’[m,t,a])を集計することで計算することができる。
【0057】
さらに、サーバ100は、計算結果を、秘密鍵skを保持するサブサーバ300の協力の下にしきい値復号し、復号結果Δ’[t,a]を得る。このしきい値復号としては、n個中の分散データのうち、しきい値k個の分散データから元の情報を復元できるk-out-of-n分散方式といわれているものを用いることができる。
【0058】
そして、サーバ100は、すべての端末装置200に対し、復号結果Δ’[t,a]を送信する。
【0059】
前記復号結果Δ’[t,a]を受信した端末装置200は、w’[t,a+1]=w’[t,a]+η[t,a]Δ’[t,a]を計算する(ステップS006)。
【0060】
次に、サーバ100及びすべての端末装置200は、w’[t]=w’[t,a]とする(ステップS007)。
【0061】
次に、m台(m=1,・・・M)の端末装置200は、以下の処理を実行して、利用用ニューラルネットワークのモデル更新パラメータの計算、送信を行う(ステップS104)。
・端末装置200の機械学習部201aは、T(m)のc(m)元部分集合B[m,t]をランダムに選択する。ここで、T(m)は端末装置mが保持する訓練データ集合を示す。
・端末装置200の機械学習部201aは、次式[数5]により、端末装置mのエポックtのモデル更新パラメータΔ[m,t]を計算する。
【0062】
【数5】
・端末装置200は、事前に配布された加法準同型暗号の公開鍵pkを用いて、モデル更新パラメータΔ[m,t]を暗号化し、Enc(pk,Δ[m,t])をサーバ100に送信する。
【0063】
サーバ100は、前記端末装置200から受信したEnc(pk,Δ[m,t])を用いて、利用用ニューラルネットワークのモデル更新パラメータの復号、配布を行う(ステップS105)。具体的には、サーバ100は、端末装置200から受信したEnc(pk,Δ[1,t])+・・・+Enc(pk,Δ[M,t])を計算する。前述のとおり、Enc(pk,Δ[m,t])は、加法準同型暗号を用いて暗号化されているので、Enc(pk,Δ’[1,t])+・・・+Enc(pk,Δ[M,t])は、Enc(pk,Δ[m,t])を暗号化した状態で集計することで計算することができる。
【0064】
さらに、サーバ100は、計算結果を、秘密鍵skを保持するサブサーバ300の協力の下にしきい値復号し、復号結果Δ[t]を得る。そして、サーバ100は、すべての端末装置200に対し、復号結果Δ[t]を送信する。
【0065】
前記復号結果Δ’[t]を受信した端末装置200は、w[t+1]=w[t]-η[t]Δ[t]を計算する(ステップS106)。
【0066】
サーバ100およびすべての端末装置200は、終了条件を充足したか否かを判定する。終了条件を充足している場合(ステップS107の「充足」)、サーバ100およびすべての端末装置200は、エポックt=t+1に更新、w=w[t]、w’=w’[t]とする(ステップS200)。一方、終了条件を充足していない場合(ステップS107の「非充足」)、ステップaをインクリメントし(ステップS108)、ステップS002以降の処理を繰り返す。
【0067】
以上の結果、利用用ニューラルネットワークと、攻撃用ニューラルネットワークのモデルパラメータw、w’がそれぞれ更新される。
【0068】
以上のとおり、本実施形態によれば、端末装置200からサーバ100に送信されるモデル更新パラメータは暗号化されて送信され、サーバ100においても復号せずに、モデル更新パラメータの計算が行われる。さらに、機械学習部201a、201bにおいて、本来の訓練データによる学習に加えて、擬似攻撃用の訓練データによる学習が行われるため、Inference attacksに対する耐性が飛躍的に向上されることになる。
【0069】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【0070】
例えば、上記した実施形態では、端末装置200が、機械学習部201a、201b、訓練データ記憶部205a、205bを備えているものとして説明したが、両者を統合した構成とすることも可能である。
【0071】
上記した実施形態では、攻撃用ニューラルネットワークのモデル更新パラメータの計算の後に、利用用ニューラルネットワークのモデル更新パラメータの計算を行うものとして説明したが、その順序に限定はない。また、上記した実施形態では、m台(m=1,・・・M)の端末装置200のすべてから、モデル更新パラメータを受信できるものとして説明したが、すべての端末装置200からのモデル更新パラメータの受信を待たずに、モデル更新パラメータを計算してもよい。
【0072】
また、上記した実施形態に示した手順は、サーバ100及び端末装置200として機能するコンピュータ(図7の9000)に、これらの装置としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、図7のCPU(Central Processing Unit)9010、通信インターフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、図7のCPU9010にて、機械学習プログラムや暗復号プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメータの更新処理を実施させればよい。
【0073】
即ち、上記した実施形態に示したサーバ100及び端末装置200の各部(処理手段、機能)は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
【0074】
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による端末装置参照)
[第2の形態]
上記した端末装置の機械学習部は、第1のニューラルネットワークの第1のモデル更新パラメータを計算する処理と、前記第2のニューラルネットワークの第2のモデル更新パラメータを計算する処理とを、交互に実施する構成を採ることができる。
[第3の形態]
上記した端末装置は、前記他の端末装置及び前記計算装置と、ハイパーパラメータを共有して、Horizontal Federated Learningを実施する構成を採ることができる。
[第4の形態]
前記第1、第2のニューラルネットワークのモデル更新パラメータは、前記計算装置において、加法準同型暗号を用いて、前記端末装置から受信したモデル更新パラメータを暗号化した状態で加算することで計算される構成を採ることができる。
[第5の形態]
前記計算装置は、秘密分散方式を用いて分散された復号鍵を保持するサブサーバと接続され、前記サブサーバと共同して、前記第1、第2のニューラルネットワークのモデル更新パラメータを復号する構成を採ることができる。
[第6の形態]
(上記第2の視点による計算装置参照)
[第7の形態]
(上記第3の視点によるニューラルネットワークの更新方法参照)
[第8の形態]
(上記第4の視点によるプログラム参照)
なお、上記第6~第8の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
【0075】
なお、上記の特許文献および非特許文献の各開示は、本書に引用をもって繰り込み記載されているものとし、必要に応じて本発明の基礎ないし一部として用いることが出来るものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0076】
10 計算装置
11、101 計算部
12、102 送信部
20 端末装置
21、201a、201b 機械学習部
22、202 暗号処理部
23、203 データ送信部
24、204 更新部
100 サーバ
200-1~200-M 端末装置
205a、205b 訓練データ記憶部
300 サブサーバ
9000 コンピュータ
9010 CPU
9020 通信インターフェース
9030 メモリ
9040 補助記憶装置
図1
図2
図3
図4
図5
図6
図7