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

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

▶ ライブランプ インコーポレーテッドの特許一覧

特表2024-543029差分プライベートスプリット垂直学習
<>
  • 特表-差分プライベートスプリット垂直学習 図1
  • 特表-差分プライベートスプリット垂直学習 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】差分プライベートスプリット垂直学習
(51)【国際特許分類】
   G06N 3/045 20230101AFI20241112BHJP
   G06N 3/098 20230101ALI20241112BHJP
【FI】
G06N3/045
G06N3/098
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024526513
(86)(22)【出願日】2022-11-02
(85)【翻訳文提出日】2024-06-24
(86)【国際出願番号】 US2022048661
(87)【国際公開番号】W WO2023081183
(87)【国際公開日】2023-05-11
(31)【優先権主張番号】63/275,011
(32)【優先日】2021-11-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
(71)【出願人】
【識別番号】519161872
【氏名又は名称】ライブランプ インコーポレーテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ガフロン、グルゼゴルツ
(72)【発明者】
【氏名】スタッビングス、フィリップ
(72)【発明者】
【氏名】ンゴ、チー、ラン
(57)【要約】
機械学習システムは、単一のサーバ・ノードと通信するワーカー・ノードを含む。ワーカー・ノードは、別個のデータ・サイロ上でローカルに初期化される独立したニューラル・ネットワークである。サーバ・ノードは、トレーニング中に各ワーカー・ノードから最後のレイヤ出力(「スマッシュされたデータ」)を受信し、結果を統合し、それ自体のサーバ・ニューラル・ネットワークにフィードする。サーバは、次いで、誤差を計算し、観測された誤差を低減するために勾配を使用してそれらのモデル・パラメータを更新するようにワーカー・ノードに命令する。差分プライバシーのための各トレーニング反復間でワーカー・ノードにノイズのパラメータ化されたレベルが適用される。各ワーカー・ノードは、それのローカル・ニューラル・ネットワーク・モジュールに適用されるノイズの量をそれの独立したプライバシー要件に従って別個にパラメータ化する。
【特許請求の範囲】
【請求項1】
差分プライベートスプリット垂直学習のためのシステムであって、
サーバ・プロセッサ及びサーバ・ニューラル・ネットワークを備えるサーバ・ノードと、
ネットワーク上で前記サーバ・ノードと通信する第1のデータ・サイロであって、データ・セットの第1のサブセットを含む、第1のデータ・サイロと、
前記ネットワーク上で前記サーバと通信する第2のデータ・サイロであって、前記データ・セットの第2のサブセットを含む、第2のデータ・サイロと、
前記第1のデータ・サイロにおいて実装された第1のワーカー・ノードであって、前記第1のワーカー・ノードが第1のローカル・ニューラル・ネットワークと、第1の最適化ルーチンとを含み、前記第1のワーカー・ノードが、前記第1のローカル・ニューラル・ネットワークを使用して前記第1のデータ・サブセットから第1のカット・レイヤのデータ・セットを生成するように構成され、前記第1の最適化ルーチンが、第1のスマッシュされたデータ・セットを生成するために、前記第1のカット・レベルに、ノイズの第1のパラメータ化されたレベルを適用するように構成された、第1のワーカー・ノードと、
前記第2のデータ・サイロにおいて実装された第2のワーカー・ノードであって、前記第2のワーカー・ノードが第2のローカル・ニューラル・ネットワークと、第2の最適化ルーチンとを含み、前記第2のワーカー・ノードが、前記第2のローカル・ニューラル・ネットワークを使用して前記第2のデータ・サブセットから第2のカット・レイヤを生成するように構成され、前記第2の最適化ルーチンが、第2のスマッシュされたデータ・セットを生成するために、前記第2のカット・レイヤにノイズの第2のパラメータ化されたレベルを適用するように構成され、ノイズの前記第2のパラメータ化されたレベルが、ノイズの前記第1のパラメータ化されたレベルから独立して設定される、第2のワーカー・ノードと、
を備え、
前記サーバ・ノードが、さらに、前記第1及び第2のスマッシュされたデータ・セットを統合することと、予測に対する誤差を計算するために前記サーバ・ニューラル・ネットワーク中の少なくとも1つの追加のレイヤについての前記第1及び第2のスマッシュされたデータ・セットに対してトレーニングすることと、前記誤差に基づいて前記第1及び第2のワーカー・ノードにスマッシュされた勾配のセットを送ることとを行うように構成された、
差分プライベートスプリット垂直学習のためのシステム。
【請求項2】
ノイズの前記第1のパラメータ化されたレベルが、ノイズの前記第2のパラメータ化されたレベルとは異なる値を有する、請求項1に記載のシステム。
【請求項3】
前記データ・セットの前記第1のサブセットが前記データ・セットの第1の垂直スプリットを含み、前記データ・セットの前記第2のサブセットが前記データ・セットの第2の垂直スプリットを含む、請求項2に記載のシステム。
【請求項4】
前記第1のワーカー・ノードが、前記サーバ・ノードによる前記データ・セットの前記第1のサブセットへのアクセスを防ぎ、さらに、前記第2のワーカー・ノードが、前記サーバ・ノードによる前記データ・セットの前記第2のサブセットへのアクセスを防ぐ、請求項3に記載のシステム。
【請求項5】
前記サーバ・ノードと通信するアプリケーション・プログラミング・インターフェース(API)をさらに備え、前記APIが、前記サーバ・ノードに指定された垂直カラムのセットを送信することと、トレーニングの後に前記サーバ・ノードから前記サーバ・ニューラル・ネットワークの統合ビューを戻すこととを行うように構成された、請求項4に記載のシステム。
【請求項6】
前記サーバ・ノードが、さらに、前記サーバ・ニューラル・ネットワークにある前記カット・レイヤまで前記誤差を後方伝搬するように構成され、前記第1のワーカー・ノードが、前記第1のローカル・ニューラル・ネットワークにおいて前記カット・レイヤを越えてさらに後方伝搬するように構成され、前記第2のワーカー・ノードが、前記第2のローカル・ニューラル・ネットワークにおいて前記カット・レイヤを越えてさらに後方伝搬するように構成された、
請求項5に記載のシステム。
【請求項7】
前記サーバ・ノードが、さらに、前記第1及び第2のスマッシュされたデータ・セットを繰り返し統合することと、前記誤差が容認されるレベルに達するまで、前記予測に対する前記誤差を計算することとを行うように構成された、
請求項6に記載のシステム。
【請求項8】
差分プライベートスプリット垂直学習のための方法であって、
生データ・セットの第1のデータ・スライスを含む第1のデータ・サイロにおいて第1のワーカー・ノードを初期化することであって、前記第1のワーカー・ノードが、入力として前記第1のデータ・スライスを受信する第1のローカル・ニューラル・ネットワークを含む、第1のワーカー・ノードを初期化することと、及び前記生データ・セットの第2のデータ・スライスを含む第2のデータ・サイロにおいて、第2のワーカー・ノードを初期化することであって、前記第2のワーカー・ノードが、入力として前記第2のデータ・スライスを受信する第2のローカル・ニューラル・ネットワークを含む第2のワーカー・ノードを初期化することと、を行うステップと、
第1のローカル・ニューラル・ネットワーク出力を生成するために前記第1のデータ・スライスに対してカット・レイヤまで前記第1のローカル・ニューラル・ネットワークをトレーニングすることと、及び第2のローカル・ニューラル・ネットワーク出力を生成するために前記第2のデータ・スライスに対して前記カット・レイヤまで前記第2のローカル・ニューラル・ネットワークをトレーニングすることと、を行うステップと、
前記第1のワーカー・ノードにある第1の最適化ルーチンにおいて、第1のスマッシュされたデータ・セットを生成するために前記第1のローカル・ニューラル・ネットワーク出力に第1のノイズ・レベルを適用することと、及び重みの第1のセットを生成するために前記第1のノイズ・レベルを局所勾配の第1のセットに適用することと、を行うステップと、
前記第2のワーカー・ノードにある第2の最適化ルーチンにおいて、第2のスマッシュされたデータ・セットを生成するために前記第2のローカル・ニューラル・ネットワーク出力に第2のノイズ・レベルを適用することと、及び重みの第2のセットを生成するために、前記第2のノイズ・レベルを局所勾配の第2セットに適用することと、を行うステップであって、前記第2の最適化ルーチンが前記第1の最適化ルーチンから独立して動作する、ステップと、
統合ニューラル・ネットワークを含むサーバ・ノードにおいて、前記第1のスマッシュされたデータ・セットと前記第2のスマッシュされたデータ・セットとを統合するステップと、
を含む、方法。
【請求項9】
前記第2のノイズ・レベルが、前記第1のノイズ・レベルとは異なる値を含む、請求項8に記載の方法。
【請求項10】
予測に対する誤差を計算するために、前記統合ニューラル・ネットワークにおいて前記統合された第1のスマッシュされたデータ・セットと前記第2のスマッシュされたデータ・セットとに対してトレーニングするステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記サーバ・ノードから前記第1のワーカー・ノード及び前記第2のワーカー・ノードに、前記誤差に基づく更新されたパラメータのセットを送るステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記第1のデータ・スライスが前記データ・セットの第1の垂直スライスであり、前記第2のデータ・スライスが、前記データ・セットの前記第1の垂直スライスと重複しない前記データ・セットの第2の垂直スライスである、請求項11に記載の方法。
【請求項13】
前記第1のワーカー・ノードにおいて前記サーバ・ノードによる前記第1のデータ・スライスへのアクセスをブロックすることと、前記第2のワーカー・ノードにおいて、前記サーバ・ノードによる前記第2のデータ・スライスへのアクセスをブロックすることと、を行うステップをさらに含む、請求項12に記載の方法。
【請求項14】
前記カット・レイヤに達するまで前記統合ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記カット・レイヤから開始して前記第1のローカル・ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップと、前記カット・レイヤから開始して前記第2のローカル・ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップとをさらに含む、請求項14に記載の方法。
【請求項16】
前記第1のローカル・ニューラル・ネットワークにおいて前記誤差から後方伝搬した後に、前記カット・レイヤまで前記第1のローカル・ニューラル・ネットワークにおいてフィードフォワードするステップをさらに含み、前記第2のローカル・ニューラル・ネットワークにおいて前記誤差から後方伝搬した後に、前記カット・レイヤまで前記第2のローカル・ニューラル・ネットワークにおいてフィードフォワードするステップをさらに含む、請求項15に記載の方法。
【請求項17】
後続の第1のスマッシュされたデータ・セットと後続の第2のスマッシュされたデータ・セットとを生成するステップをさらに含む、請求項16に記載の方法。
【請求項18】
前記後続の第1のスマッシュされたデータ・セットと前記後続の第2のスマッシュされたデータ・セットとを受信した後に、前記サーバ・ノードにおいて第2の誤差を計算するステップをさらに含む、請求項17に記載の方法。
【請求項19】
前記統合ニューラル・ネットワークのモノリシック・ビューをアプリケーション・プログラミング・インターフェース(API)から出力するステップをさらに含む、請求項18に記載の方法。
【請求項20】
前記第1のデータ・スライスについての第1のプライバシー・イプシロン値に基づいて前記第1のノイズ・レベルを設定することと、前記第2のデータ・スライスについての第2のプライバシー・イプシロン値に基づいて前記第2のノイズ・レベルを設定するすることと、行うステップを含む、請求項8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年11月3日に出願された米国仮特許出願第63/275,011号の利益を主張する。そのような出願は、それの全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
分散型協調(Distributed collaborative)機械学習は、保護されていないデータをクライアント・ノードから中央ノード又はサーバに転送する必要なしにクライアント・ノードの分散型データ環境にわたる機械学習を可能にする。この特徴は、分析されているデータについてのプライバシー及びセキュリティを高める。さらに、中央ノードにおけるデータ処理の結果を分析する当事者は、クライアント・ノードにある生データへのアクセスを有することは決してなく、代わりに、トレーニング・プロセス中にスマッシュされたデータ(モデルのローカル部分の最後の/カット・レイヤの出力)のみが中央ノードに転送され、トレーニングされたモデルのローカル部分が推論のために渡される。
【0003】
分散型協調機械学習への1つの手法は連合学習(federated learning)である。連合学習を使用して、中央ノードは、それ自体のローカル・データを含んでいる分散型クライアント・ノードの各々に全機械学習モデルを転送し、その後、各クライアント・ノードからのローカルにトレーニングされた全機械学習モデルを統合して、中央ノードにおいてグローバル・モデルを形成する。これにより、並列モデル・トレーニングが可能になり、システムの動作速度が向上する。しかしながら、連合学習の欠点は、各クライアント・ノードが全機械学習モデルを動作させる必要があることである。いくつかの現実世界適用例におけるクライアント・ノードは、全機械学習モデルを処理するのに十分な計算能力を有しないことがあり、これは、機械学習モデルが深層学習モデルである場合に、特に困難になり得る。別の欠点は、全モデルを転送することは通信に関する費用がかかり得ることである。また、クライアント・ノードの各々に全機械学習モデルを与える際のプライバシー問題がある。
【0004】
連合学習の代替はスプリット学習である。スプリット学習は、全機械学習モデルを複数のより小さい部分にスプリットし、それらを別個にトレーニングする。クライアント・ノードにおいてトレーニングするためにネットワークの一部のみを割り当てることは各クライアント・ノードにおける処理負荷を低減する。スマッシュされたデータのみが中央ノードに転送されるので、通信負荷も改善される。このことはまた、クライアント・ノードが中央ノード又はサーバに知られている全機械学習モデルへのアクセスを有するのを防ぐことによって、プライバシーを改善する。
【0005】
差分プライバシー(differential privacy)は、データベース自体の統語品質とは反対に、プライバシーがデータベース又はサイロ(silo)上の計算の特性であるという原理に基づいて、データ・プライバシーを保護する方法である。基本的に、計算が、データ中の単一の記録の存在又は不在によってのみ異なる2つのデータベースに適用されたときに、ほぼ同じ結果を生じる場合に、計算は差分プライベートであると考えられる。差分プライバシーは、基礎となるデータの再識別可能性に関してそれが与える数学的で定量化可能な保証のために、強力である。差分プライバシーは、クエリのプライバシー「コスト」を測定するイプシロン値(epsilon value)を使用して、非特定化(de-identification)の数学的リスクを定量化するそれの能力のために、これまでの手法とは異なる。差分プライバシーは、多数の分析とクエリとにわたるデータ・セットに対する累積的なプライバシー・リスクを記録することを可能にする。
【0006】
垂直方向に区分される分散型データ設定は、様々なデータベース又はサイロが、同じ個人又はエンティティに関するデータのいくつかの異なる列を保持する設定である。データ・サイロのオーナーは、元のデータを開示すること又はそれの元のソースからエクスポートすることができないという制約の下で何らかの成果を予測又は分類するために、機械学習モデル又はディープ・ニューラル・ネットワークをトレーニングするために、協働して分散型データを使用したいことがある。さらに、協働するサイロは、寄与するデータ・サイロのプライバシー制約に対して異なるリスク許容度を有し得る。したがって、機械学習処理によって与えられる様々なソリューションをも可能にしながら、差分プライバシー技法を使用してプライバシーを維持するために、垂直方向に区分される分散型データ・ネットワークに機械学習モデルを適用するためのシステムを開発することが望ましいであろう。
【0007】
差分プライバシー及びスプリット学習に関する研究論文は以下のものを含む。
Dwork、Cynthia、「Differential privacy:A survey of results」、In International conference on theory and applications of models of computation、Springer、Berlin、Heidelberg、2008年、1~19頁
Abadi、Martin、Andy Chu、Ian Goodfellow、H.Brendan McMahan、Ilya Mironov、Kunal Talwar、及びLi Zhang、「Deep learning with differential privacy」、In Proceedings of the 2016 ACM SIGSAC conference on computer and communications security、2016年、308~318頁
Abuadbba、S.、Kim、K.、Kim、M.、Thapa、C.、Camtepe、S.A.、Gao、Y.、Kim、H.、及びNepal、S.(2020)、「Can We Use Split Learning on 1D CNN Models for Privacy Preserving Training?」、Proceedings of the 15th ACM Asia Conference on Computer and Communications Security、ASIA CCS 2020年、305~318頁
https://doi.org/10.1145/3320269.3384740
Thapa、C.、Chamikara、M.A.P.、及びCamtepe、S.A.、(2020年)「Advancements of federated learning towards privacy preservation:from federated learning to split learning」
Studies in Computational Intelligence、965、79-109頁
https://arxiv.org/abs/2011.14818v1
Thapa、C.、Chamikara、M.A.P.、Camtepe、S.、及びSun,L.(2020年)「SplitFed:When Federated Learning Meets Split Learning」
https://arxiv.org/abs/2004.12088v3
Li、O.、Sun、J.、Yang、X.、Gao、W.、Zhang、H.、Xie、J.、Smith、V.、及びWang、C.(2021年)、「Label Leakage and Protection in Two-party Split Learning」
http://arxiv.org/abs/2102.08504
Vepakomma、Praneeth、Tristan Swedish、Ramesh Raskar、Otkrist Gupta、及びAbhimanyu Dubey、「No peek:A survey of private distributed deep learning」arXiv preprint arXiv:1812.03288(2018年)
この背景セクションに挙げられた参考文献は本発明に対して従来技術であるとは認められない。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Dwork、Cynthia、「Differential privacy:A survey of results」、In International conference on theory and applications of models of computation、Springer、Berlin、Heidelberg、2008年、1~19頁
【非特許文献2】Abadi、Martin、Andy Chu、Ian Goodfellow、H.Brendan McMahan、Ilya Mironov、Kunal Talwar、及びLi Zhang、「Deep learning with differential privacy」、In Proceedings of the 2016 ACM SIGSAC conference on computer and communications security、2016年、308~318頁
【非特許文献3】Abuadbba、S.、Kim、K.、Kim、M.、Thapa、C.、Camtepe、S.A.、Gao、Y.、Kim、H.、及びNepal、S.(2020)、「Can We Use Split Learning on 1D CNN Models for Privacy Preserving Training?」、Proceedings of the 15th ACM Asia Conference on Computer and Communications Security、ASIA CCS 2020年、305~318頁 https://doi.org/10.1145/3320269.3384740
【非特許文献4】Thapa、C.、Chamikara、M.A.P.、及びCamtepe、S.A.、(2020年)「Advancements of federated learning towards privacy preservation:from federated learning to split learning」Studies in Computational Intelligence、965、79-109頁https://arxiv.org/abs/2011.14818v1
【非特許文献5】Thapa、C.、Chamikara、M.A.P.、Camtepe、S.、及びSun,L.(2020年)「SplitFed:When Federated Learning Meets Split Learning」https://arxiv.org/abs/2004.12088v3
【非特許文献6】Li、O.、Sun、J.、Yang、X.、Gao、W.、Zhang、H.、Xie、J.、Smith、V.、及びWang、C.(2021年)、「Label Leakage and Protection in Two-party Split Learning」http://arxiv.org/abs/2102.08504
【非特許文献7】Vepakomma、Praneeth、Tristan Swedish、Ramesh Raskar、Otkrist Gupta、及びAbhimanyu Dubey、「No peek:A survey of private distributed deep learning」arXiv preprint arXiv:1812.03288(2018年)
【発明の概要】
【0009】
本発明による機械において、機械学習システム又はディープ・ニューラル・ネットワークは、いくつかの「ワーカー」・モジュールと単一の「サーバ」モジュールとにスプリットされる。ワーカー・モジュールは、各データ・サイロ上でローカルに初期化される独立したニューラル・ネットワークである。サーバ・ネットワークは、トレーニング中に各ワーカー・モジュールから(本明細書では「スマッシュされたデータ」と呼ぶ)最後のレイヤ出力を受信し、結果を統合し、それ自体のローカル・ニューラル・ネットワークにフィードする。サーバは、次いで、目下の予測又は分類タスクに対して誤差を計算し、観測された誤差を低減するために勾配を使用してそれらのモデル・パラメータを更新するようにサブモジュールに命令する。このプロセスは、誤差が許容できるレベルに減少するまで続く。各トレーニング反復間のワーカー勾配にノイズのパラメータ化されたレベルが適用され、その結果、差分プライベート・モデルが得られる。各ワーカーは、それの独立したプライバシー要件に従って、それのローカル・ニューラル・ネットワーク・モジュールに適用されるノイズの量の重み付けをパラメータ化し得る。したがって、各ワーカーにおけるイプシロン値(データ中の微分変化についてのプライバシー損失の測度)は独立している。いくつかの実施例における本発明は、したがって、独立したプライバシー要件をもつ異なるサイロが同じデータ・セットについての特徴/列の異なるセットを保持する、垂直方向に区分されたデータ環境中の差分プライバシーの導入を表す。
【0010】
それの様々な実施例における本発明の1つの適用例は、協働する当事者がプライバシー保証とともに単一のディープ・ニューラル・ネットワークをトレーニングすることを可能にすることである。ニューラル・ネットワーク・トポロジーのモジュール的性質により、他の機械学習方法への入力として使用され得る、プライバシー保護特徴ジェネレータとして、トレーニングされた「ワーカー」ニューラル・ネットワーク・モジュールが使用され得る。本発明は、したがって、各サイロが特徴の異なるセットを保持する、調整され、制約されたデータ環境における組織間及び事業部門(line-of-business)間の協調機械学習を可能にする。
【0011】
本発明のこれら及び他の特徴、目的及び利点は、以下で説明する図面と併せた、好ましい実施例の以下の詳細な説明と添付の特許請求の範囲との検討から、より良く理解されよう。
【図面の簡単な説明】
【0012】
図1】本発明の一実施例によるプロセスを示すスイム・レーン(swim lane)図である。
図2図1のプロセスを実装するためのシステムを示す構造図である。
【発明を実施するための形態】
【0013】
本発明についてさらに詳細に説明する前に、本発明は、説明される特定の実施例に限定されないことと、特定の実施例を説明する際に使用される用語は、それらの特定の実施例について説明することのみを目的としており、本発明の範囲は特許請求の範囲によってのみ限定されるので、限定的なものではないことを理解すべきである。
【0014】
図1は本発明の一実施例による方法を示す。この方法は、アーキテクチャ図、図2の構造を使用して実装される。本方法は、ディープ・ニューラル・ネットワークをモジュール様式でトレーニングするために使用され得る。このネットワークでは、各モジュールはデータ・サイロ中に生存する、すなわち、データは、垂直方向に区分されるか、又はモジュールに「カット」される。生データは決してそれ自体のサイロから離れることを許されず、したがって、データは決してサーバ又はコーディネータと共有されないので、データのプライバシー及びセキュリティが保護される。(サイロ・レベルにおける)各モジュールの出力は、サーバ・ノードの入力にフィードする。生データは、データの中間表現/変換を符号化するモジュール出力レイヤから十分に「遠く離れて」維持される。
【0015】
図2に示されているように、1つの構成要素タイプは、独立したローカル・ニューラル・ネットワーク18を保持するワーカー・ノード10である。図2は、3つのワーカー・ノード10を示すが、本発明の様々な実装例において2つ又はそれ以上のワーカー・ノード10のうちの任意の数が使用され得る。ワーカー・ノード10は、協働内の各データ・サイロ(又はクライアント)上にインストールされる。サーバ・ノード12は、図2に示されているように、独立した統合ニューラル・ネットワーク20と、トレーニング・プロセス中に使用されるラベルのセットとを保持する。サーバ・ノード12は、各ワーカー・モジュール10からの出力を統合することと、ローカル・ニューラル・ネットワーク18間で学習プロセスを協調させることとを担当する。第3の構成要素タイプは各ワーカー・ノード10上の最適化モジュール22であり、最適化モジュール22はトレーニング中の各パラメータ更新反復中にノイズを適用する。このノイズは差分プライバシー要素をネットワーク中に導入する。第4の構成要素タイプはアプリケーション・プログラミング・インターフェース (API)15であり、API15は、ユーザが、トレーニング・プロセス中に使用されるべき分散型データの列を指定することを可能にし、トレーニングの後にトレーニングされたネットワーク・モジュールの統合/モノリシック・ビューを戻す。
【0016】
ニューラル・ネットワークを用いてモデルを構築する際の問題は、モデルが基礎となるデータを記憶しておらず、それによりプライバシーが損なわれることが確信し得るかどうかである。メンバーシップ干渉攻撃など、知られているプライバシー攻撃は、特定の入力を用いて問い合わせを行い、出力を観測することによって実行され、それにより、攻撃者は、データ・サイロへの直接アクセスがないとしても、プライバシー・データを識別することが可能になり得る。図2のネットワークでは、各データ・サイロ又はクライアント・ノードに差分プライバシー(DP)が個々に適用されることが見られ得る。差分プライバシーは各クライアント・ノードに対して独立して適用され、それにより、クライアント・イプシロン値の独立した選定が可能になる。さらに、差分プライバシーは、以下で説明するように、(ここでは「スマッシュされた」イプシロン値と呼ぶ)カット・レイヤへの第1のフォワード・パス上にも適用される。
【0017】
図2のシステムを使用して機械学習を適用するためのプロセスが図1のスイム・レーン図に示されている。上記のように、この方法は、ワーカー・ノードの各々にわたるイプシロン(すなわち、ノイズ・レベル)のスプリットを可能にする。このようにして、プライバシーのレベルは、これらのノードの各々中のデータについて明確に設定され得る。これにより、各データ・サイロに特別の個々のプライバシー要件の処理が可能になる。より多いプライバシーを必要とするデータは、より低いイプシロン値を用いて設定することができるが、他のデータは、より高いイプシロン値を用いて設定することができ、したがって、データ・サイロのすべてにわたって最小イプシロン値を使用する必要がないので、システムの結果が改善される。
【0018】
図1のスイム・レーン図に示されているように、プロセスはステップAにおいて開始し、ステップAにおいて、適切なワーカー・ノード10が各データ・サイロにおいてセットアップされ、サーバがセットアップされ、ニューラル・ネットワークのためのバッチ・サイズが決定される。トレーニング・ノード14におけるトレーニングは、入力データのランダムなバッチを使用してステップBにおいて開始する。ワーカー・ノード10は、ステップDにおいてローカル・ニューラル・ネットワーク18の1つ又は複数のレイヤを通して入力バッチのそれの垂直スプリットをトレーニングする。これは、ステップEにおいて、本明細書でカット・レイヤと呼ぶ、あるレイヤに達するまで続く。ステップEでは、最適化ルーチン22が、得られたスマッシュされたデータにノイズの所望のレベルを追加する。これは、最初に所与のバッチがフィードフォワードされるときにのみ行われる。ノイズ・レベルはワーカー・ノード10の各々において単独で設定されるので、ノイズ・レベルは、データ・セットのこのワーカー・ノード10の特別の垂直スライスについてのプライバシーの所望のレベルに対して構成され得る。ワーカー・ノードにおけるローカル・プロセスが次いで終了する。ワーカー・ノード12は、次いで、ステップFにおいて、付加ノイズをもつスマッシュされたデータをトレーナー14に送る。トレーナー14は、ワーカー・ノード10のすべてからノイズ化されたスマッシュされたデータのすべてを収集した後に、ステップGにおいてそれらのデータをトレーナー14に送る。サーバ12は、処理されている入力バッチのためのラベルを使用して、それ自体のローカル・ニューラル・ネットワーク20上でトレーニング(ステップGにおけるフォワード・パス及びステップHにおける後方伝搬)を実行する。サーバ・ノード12は、ステップJにおいて、それの後方伝搬の出力(スマッシュされた勾配)をトレーナー・ノード14に返送する。トレーナー・ノード14は、ステップKにおいて、スマッシュされた勾配をすべてのワーカー・ノード10に転送し、各ワーカー・ノードはそれ自体のローカル後方伝搬を実行して局所勾配を得る。ステップLにおいて、ワーカー・ノード10の各々は、局所勾配に差分プライベート・ノイズを適用し、得られたノイズ化されたスマッシュされた勾配を使用して、それ自体のローカル・ニューラル・ネットワークの重みを更新する。このプロセスは、誤差が許容できるレベルに達したことに基づいて、ネットワーク・トレーニングが完了するまで、入力データのバッチにわたって繰り返しながら反復される。
【0019】
このタイプのシステムにおける潜在的な問題は、図1に示されているように、後方伝搬段階においてのみノイズを適用するときのデータ漏洩である。攻撃者は、サーバ・ノード12への漏洩及びクライアントへの逆戻りにより、クライアント・モデル・パラメータを推論し、元の入力データを復元することを試み得る。図1に示されている解決策は、最適化モジュール22を使用して、第1のトレーニング・エポック中に出力される(本明細書では「スマッシュされた」データと呼ぶ)カット・レイヤにノイズの量を追加することである。
【0020】
従来のスプリット・ニューラル・ネットワークは上記のようにモデル反転攻撃を受けやすい。漏洩を低減するために、モデル入力とカット・レイヤ・アクティブ化(すなわち、生データとスマッシュされたデータ)との間の距離相関が最小にされ得る。これは、生データ及びスマッシュされたデータが最大限に異なることを意味する。この手法は、あるとしてもモデル精度にごくわずかの影響しか及ぼさないことが示されている。
【0021】
本明細書で説明するシステム及び方法は、様々な実施例において、ハードウェアとソフトウェアの任意の組合せによって実装され得る。たとえば、一実施例では、本システム及び方法は、コンピュータ・システム又はコンピュータ・システムの集合によって実装され得、コンピュータ・システムの各々は、プロセッサに結合されたコンピュータ可読記憶媒体上に記憶されたプログラム命令を実行する1つ又は複数のプロセッサを含む。プログラム命令は、本明細書で説明する機能を実装し得る。図に示されており、本明細書で説明する様々なシステム及びディスプレイは例示的な実装例を表す。いずれの方法の順序も変更され得、様々な要素が追加、改変、又は省略され得る。
【0022】
本明細書で説明するコンピューティング・システム又はコンピューティング・デバイスは、本発明の様々な実装例の一部を形成するものとして、クラウド・コンピューティング・システム又は非クラウド・コンピューティング・システムのハードウェア部分を実装し得る。コンピュータ・システムは、コモディティ・サーバ、パーソナル・コンピュータ・システム、デスクトップ・コンピュータ、ラップトップ又はノートブック・コンピュータ、メインフレーム・コンピュータ・システム、ハンドヘルド・コンピュータ、ワークステーション、ネットワーク・コンピュータ、コンシューマ・デバイス、アプリケーション・サーバ、記憶デバイス、電話、携帯電話、又は、概して、任意のタイプの計算ノード、コンピュート・ノード、コンピュート・デバイス、及び/又は計算デバイスを含むが、これらに限定はしない、様々なタイプのデバイスのいずれかであり得る。計算システムは、入出力(I/O)インターフェースを介してシステム・メモリに結合された1つ又は複数のプロセッサ(そのうちのいずれかは、シングルスレッド又はマルチスレッドであり得る複数の処理コアを含み得る)を含む。コンピュータ・システムは、I/Oインターフェースに結合されたネットワーク・インターフェースをさらに含み得る。
【0023】
様々な実施例では、コンピュータ・システムは、1つのプロセッサを含むシングル・プロセッサ・システムであるか、又は複数のプロセッサを含むマルチプロセッサ・システムであり得る。プロセッサは、計算命令を実行することが可能な任意の好適なプロセッサであり得る。たとえば、様々な実施例において、それらは、様々な命令セット・アーキテクチャのいずれかを実装する汎用プロセッサ又は組込みプロセッサであり得る。マルチプロセッサ・システムでは、プロセッサの各々は、一般的に、同じ命令セットを実装し得るが、必ずしもそうであるとは限らない。コンピュータ・システムはまた、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなど、通信ネットワークを介して他のシステム及び/又は構成要素と通信するための1つ又は複数のネットワーク通信デバイス(たとえば、ネットワーク・インターフェース)を含む。たとえば、計算デバイス上で実行しているクライアント・アプリケーションは、様々なサブシステム中に実装されているクラウド・コンピューティング又は非クラウド・コンピューティング環境において、本明細書で説明するシステムの構成要素のうちの1つ又は複数を実装する単一のサーバ上で又はサーバのクラスター上で実行しているサーバ・アプリケーションと通信するために、ネットワーク・インターフェースを使用し得る。別の実例では、コンピュータ・システム上で実行しているサーバ・アプリケーションのインスタンスは、他のコンピュータ・システム上で実装され得るアプリケーションの他のインスタンスと通信するために、ネットワーク・インターフェースを使用し得る。
【0024】
計算デバイスはまた、1つ又は複数の永続記憶デバイス及び/又は1つ又は複数のI/Oデバイスを含む。様々な実施例では、永続記憶デバイスは、ディスク・ドライブ、テープ・ドライブ、固体メモリ、他の大容量記憶デバイス、又は任意の他の永続記憶デバイスに対応し得る。コンピュータ・システム(又はその上で動作する分散型アプリケーション又はオペレーティング・システム)は、要望に応じて命令及び/又はデータを永続記憶デバイス中に記憶し得、必要に応じて記憶された命令及び/又はデータを取り出し得る。たとえば、いくつかの実施例では、コンピュータ・システムは制御プレーン又は制御システムの1つ又は複数のノードを実装し得、永続記憶は、そのサーバ・ノードに取り付けられたSSDを含み得る。複数のコンピュータ・システムが、同じ永続記憶デバイスを共有し得るか、又は永続記憶デバイスのプールを共有し得、プール中のデバイスは同じ又は異なる記憶技術を表す。
【0025】
コンピュータ・システムは、プロセッサによってアクセス可能なコード/命令及びデータを記憶し得る1つ又は複数のシステム・メモリを含む。システムのメモリ機能は、たとえばアクセス速度に基づいてメモリ中の情報をスワップするように設計されたシステムにおいて、メモリとメモリ・キャッシュとの複数のレベルを含み得る。インターリービング及びスワッピングは仮想メモリ実装例において永続記憶に拡張し得る。メモリを実装するために使用される技術は、例として、スタティックランダム・アクセスメモリ(RAM)、ダイナミックRAM、読取り専用メモリ(ROM)、不揮発性メモリ、又はフラッシュタイプ・メモリを含み得る。永続記憶の場合と同様に、複数のコンピュータ・システムが同じシステム・メモリを共有し得るか、又はシステム・メモリのプールを共有し得る。システム・メモリ又はメモリは、本明細書で説明するルーチンを実装するためにプロセッサによって実行可能なプログラム命令を含んでいることがある。様々な実施例において、プログラム命令は、バイナリ、アセンブリ言語、Java(登録商標)などの任意のインタープリタ型言語、C/C++などのコンパイラ型言語、又はそれらの任意の組合せで符号化され得、ここで挙げた特定の言語は実例にすぎない。いくつかの実施例では、プログラム命令は、複数の別個のクライアント、サーバ・ノード、及び/又は他の構成要素を実装し得る。
【0026】
いくつかの実装例では、プログラム命令は、オペレーティング・システム(図示せず)を実装するために実行可能な命令を含み得、オペレーティング・システムは、UNIX(登録商標)、LINUX、Solaris(商標)、MacOS(商標)、又はMicrosoft Windows(登録商標)(商標)など、様々なオペレーティング・システムのいずれかであり得る。プログラム命令のいずれか又はすべては、様々な実装例に従ってプロセスを実行するために、コンピュータ・システム(又は他の電子デバイス)をプログラムするために使用され得る命令をその上に記憶した非一時的コンピュータ可読記憶媒体を含み得る、コンピュータ・プログラム製品又はソフトウェアとして与えられ得る。非一時的なコンピュータ可読記憶媒体は、機械(たとえば、コンピュータ)によって読取り可能な(たとえば、ソフトウェア、処理アプリケーション)形式で情報を記憶するための任意の機構を含み得る。概して、非一時的コンピュータ・アクセス可能媒体は、I/Oインターフェースを介してコンピュータ・システムに結合された、磁気媒体又は光媒体、たとえばディスク又はDVD/CD-ROMなど、コンピュータ可読記憶媒体又はメモリ媒体を含み得る。非一時的なコンピュータ可読記憶媒体はまた、システム・メモリ又は別のタイプのメモリとしてコンピュータ・システムのいくつかの実施例に含まれ得る、RAM又はROMなど、任意の揮発性又は不揮発性媒体を含み得る。他の実装例では、プログラム命令は、ネットワーク、及び/又はネットワーク・インターフェースを介して実装され得るなどの、ワイヤード又はワイヤレス・リンクなどの通信媒体を介して伝達される、光、音響、又は他の形態の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号など)を使用して通信され得る。ネットワーク・インターフェースは、他のコンピュータ・システム又は任意のタイプの外部電子デバイスを含み得る他のデバイスとインターフェースするために使用され得る。一般に、ネットワークを通じて他のデバイス上にアクセス可能なシステム・メモリ、永続記憶、及び/又はリモート・ストレージは、データ・ブロック、データ・ブロックのレプリカ、データ・ブロック及び/又はそれらの状態に関連するメタデータ、データベース構成情報、及び/又は本明細書で説明するルーチンを実装する際に使用可能な他の情報を記憶し得る。
【0027】
いくつかの実装例では、I/Oインターフェースは、ネットワーク・インターフェース又は他の周辺インターフェースを通してを含めて、プロセッサ、システム・メモリ、及びシステム中の任意の周辺デバイスの間のI/Oトラフィックを協調させ得る。いくつかの実施例では、I/Oインターフェースは、1つの構成要素(たとえば、システム・メモリ)からのデータ信号を別の構成要素(たとえば、プロセッサ)による使用に適したフォーマットに変換するために、任意の必要なプロトコル、タイミング又は他のデータ変換を実行し得る。いくつかの実施例では、I/Oインターフェースは、たとえば、周辺構成要素相互接続(PCI)バス規格又はユニバーサル・シリアル・バス(USB)規格の変形など、様々なタイプの周辺バスを通して取り付けられたデバイスのためのサポートを含み得る。また、いくつかの実施例では、システム・メモリへのインターフェースなど、I/Oインターフェースの機能のいくつか又はすべてがプロセッサ中に直接組み込まれ得る。
【0028】
ネットワーク・インターフェースは、コンピュータ・システムと、たとえば、(1つ又は複数の記憶システム・サーバ・ノード、1次ノード、読取り専用ノードノード、及び/又は本明細書で説明するデータベース・システムのクライアントを実装し得る)他のコンピュータ・システムなど、ネットワークに取り付けられた他のデバイスとの間で、データを交換することを可能にし得る。さらに、I/Oインターフェースはコンピュータ・システムと様々なI/Oデバイス及び/又はリモート・ストレージとの間の通信を可能にし得る。入出力デバイスは、いくつかの実施例では、1つ又は複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、走査デバイス、音声又は光学認識デバイス、或いは1つ又は複数のコンピュータ・システムによってデータを入力すること又は取り出すことに適した任意の他のデバイスを含み得る。これらは、特定のコンピュータ・システムに直接接続するか、又は、一般に、クラウド・コンピューティング環境、グリッド・コンピューティング環境、又は複数のコンピュータ・システムを伴う他のシステム中の複数のコンピュータ・システムに接続し得る。複数の入出力デバイスがコンピュータ・システムと通信して存在し得るか、又は、コンピュータ・システムを含む分散型システムの様々なノード上に分散し得る。本明細書で説明するユーザ・インターフェースは、CRTディスプレイ、LCDディスプレイ、LEDディスプレイ、及び他のディスプレイ技術を含み得る、様々なタイプのディスプレイ・スクリーンを使用してユーザに見え得る。いくつかの実装例では、入力は、タッチスクリーン技術を使用してディスプレイを通して受信され得、他の実装例では、入力は、キーボード、マウス、タッチパッド、又は他の入力技術、又はこれらの技術の任意の組合せを通して受信され得る。
【0029】
いくつかの実施例では、同様の入出力デバイスは、コンピュータ・システムとは別個であり得、ネットワーク・インターフェースを介してなど、ワイヤード又はワイヤレス接続を通して、コンピュータ・システムを含む分散型システムの1つ又は複数のノードと対話し得る。ネットワーク・インターフェースは、一般的に、1つ又は複数のワイヤレス・ネットワーキング・プロトコル(たとえば、Wi-Fi/IEEE802.11、又は別のワイヤレス・ネットワーク規格)をサポートし得る。ネットワーク・インターフェースは、たとえば、他のタイプのイーサネット(登録商標)・ネットワークなど、任意の好適なワイヤード又はワイヤレスの一般的なデータ・ネットワークを介して通信をサポートし得る。さらに、ネットワーク・インターフェースは、アナログ音声ネットワーク又はデジタル・ファイバー通信ネットワークなど、電気通信/電話ネットワークを介して、Fibre Channel SANなど記憶エリア・ネットワークを介して、或いは任意の他の好適なタイプのネットワーク及び/又はプロトコルを介して、通信をサポートし得る。
【0030】
本明細書で説明する分散型システム実施例のいずれか、又はそれらの構成要素のいずれかは、クラウド・コンピューティング環境において1つ又は複数のネットワークベースのサービスとして実装され得る。たとえば、データベース・システムのデータベース・ティア内の読み書きノード及び/又は読取り専用ノードは、本明細書で説明する分散型記憶システムを採用するデータベース・サービス及び/又は他のタイプのデータ記憶サービスをネットワークベースのサービスとしてクライアントに提示し得る。いくつかの実施例では、ネットワークベースのサービスは、ネットワークを介して相互運用可能な機械間対話をサポートするように設計されたソフトウェア及び/又はハードウェア・システムによって実装され得る。ウェブ・サービスは、ウェブ・サービス記述言語(WSDL)など、機械処理可能なフォーマットで記述されたインターフェースを有し得る。他のシステムは、ネットワークベースのサービスのインターフェースの記述によって規定される様式でネットワークベースのサービスと対話し得る。たとえば、ネットワークベースのサービスは、他のシステムが呼び出し得る様々な操作を定義し得、また、他のシステムが様々な操作を要求するときに従うことが予想され得る特定のアプリケーション・プログラミング・インターフェース(API)を定義し得る。
【0031】
様々な実施例において、ネットワークベースのサービスは、ネットワークベースのサービス要求に関連するパラメータ及び/又はデータを含むメッセージの使用を通して要求されるか、又は呼び出され得る。そのようなメッセージは、Extensible Markup Language(XML)など、特定のマークアップ言語に従ってフォーマットされ得、及び/又はSimple Object Access Protocol(SOAP)など、プロトコルを使用してカプセル化され得る。ネットワークベースのサービス要求を実行するために、ネットワークベースのサービス・クライアントは、その要求を含むメッセージをアセンブルし、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol(HTTP))など、インターネットベースのアプリケーション・レイヤ転送プロトコルを使用して、そのメッセージを、ウェブ・サービスに対応するアドレス指定可能なエンドポイント(たとえば、ユニフォーム・リソース・ロケータ(Uniform Resource Locator)(URL))に搬送し得る。いくつかの実施例では、ネットワークベースのサービスは、メッセージベースの技法ではなく、Representational State Transfer(REST)技法を使用して実装され得る。たとえば、REST技法に従って実装されるネットワークベースのサービスは、PUT、GET、又はDELETEなど、HTTPメソッド内に含まれるパラメータを通して呼び出され得る。
【0032】
別段に明記されていない限り、本明細書で使用するすべての技術用語及び科学用語は、本発明が属する技術分野の当業者によって一般的に理解されるものと同じ意味を有する。本明細書で説明するものと類似の又は同等のいかなる方法及び材料も、本発明の実施又は試験において使用することができるが、限られた数の例示的な方法及び材料が本明細書に記載されている。本明細書での発明的概念から逸脱することなく、はるかに多い改変が可能であることが、当業者に明らかになろう。
【0033】
本明細書で使用するすべての用語は、文脈に一致する可能な最も広い様態で解釈されるべきである。本明細書でグループ化が使用されるとき、グループのすべての個々の要素、並びにグループの可能なすべての組合せ及び下位組合せが個々に含まれるものとする。本明細書に範囲が述べられているとき、その範囲は、範囲内のすべての下位範囲及び個々の点を含むものとする。本明細書で引用するすべての参考文献は、本明細書の開示との矛盾がない程度まで参照により本明細書に組み込まれる。
【0034】
本発明について、例示的なものにすぎず、本発明の十分な範囲を限定するものではない、いくつかの好ましい及び代替の実施例に関して説明した。
図1
図2
【手続補正書】
【提出日】2023-03-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
差分プライベートスプリット垂直学習のためのシステムであって、
サーバ・プロセッサ及びサーバ・ニューラル・ネットワークを備えるサーバ・ノードと、
ネットワーク上で前記サーバ・ノードと通信する第1のデータ・サイロであって、データ・セットの第1のサブセットを含む、第1のデータ・サイロと、
前記ネットワーク上で前記サーバ・ノードと通信する第2のデータ・サイロであって、前記データ・セットの第2のサブセットを含む、第2のデータ・サイロと、
前記第1のデータ・サイロにおいて実装された第1のワーカー・ノードであって、前記第1のワーカー・ノードが第1のローカル・ニューラル・ネットワークと、第1の最適化ルーチンとを含み、前記第1のワーカー・ノードが、前記第1のローカル・ニューラル・ネットワークを使用して前記第1のデータ・サブセットから第1のカット・レイヤのデータ・セットを生成するように構成され、前記第1の最適化ルーチンが、第1のスマッシュされたデータ・セットを生成するために、前記第1のカット・レイヤに、ノイズの第1のパラメータ化されたレベルを適用するように構成された、第1のワーカー・ノードと、
前記第2のデータ・サイロにおいて実装された第2のワーカー・ノードであって、前記第2のワーカー・ノードが第2のローカル・ニューラル・ネットワークと、第2の最適化ルーチンとを含み、前記第2のワーカー・ノードが、前記第2のローカル・ニューラル・ネットワークを使用して前記第2のデータ・サブセットから第2のカット・レイヤを生成するように構成され、前記第2の最適化ルーチンが、第2のスマッシュされたデータ・セットを生成するために、前記第2のカット・レイヤにノイズの第2のパラメータ化されたレベルを適用するように構成され、ノイズの前記第2のパラメータ化されたレベルが、ノイズの前記第1のパラメータ化されたレベルから独立して設定される、第2のワーカー・ノードと、
を備え、
前記サーバ・ノードが、さらに、前記第1及び第2のスマッシュされたデータ・セットを統合することと、予測に対する誤差を計算するために前記サーバ・ニューラル・ネットワーク中の少なくとも1つの追加のレイヤについての前記第1及び第2のスマッシュされたデータ・セットに対してトレーニングすることと、前記誤差に基づいて前記第1及び第2のワーカー・ノードにスマッシュされた勾配のセットを送ることとを行うように構成された、
差分プライベートスプリット垂直学習のためのシステム。
【請求項2】
ノイズの前記第1のパラメータ化されたレベルが、ノイズの前記第2のパラメータ化されたレベルとは異なる値を有する、請求項1に記載のシステム。
【請求項3】
前記データ・セットの前記第1のサブセットが前記データ・セットの第1の垂直スプリットを含み、前記データ・セットの前記第2のサブセットが前記データ・セットの第2の垂直スプリットを含む、請求項2に記載のシステム。
【請求項4】
前記第1のワーカー・ノードが、前記サーバ・ノードによる前記データ・セットの前記第1のサブセットへのアクセスを防ぎ、さらに、前記第2のワーカー・ノードが、前記サーバ・ノードによる前記データ・セットの前記第2のサブセットへのアクセスを防ぐ、請求項3に記載のシステム。
【請求項5】
前記サーバ・ノードと通信するアプリケーション・プログラミング・インターフェース(API)をさらに備え、前記APIが、前記サーバ・ノードに指定された垂直カラムのセットを送信することと、トレーニングの後に前記サーバ・ノードから前記サーバ・ニューラル・ネットワークの統合ビューを戻すこととを行うように構成された、請求項4に記載のシステム。
【請求項6】
前記サーバ・ノードが、さらに、前記サーバ・ニューラル・ネットワークにある前記カット・レイヤまで前記誤差を後方伝搬するように構成され、前記第1のワーカー・ノードが、前記第1のローカル・ニューラル・ネットワークにおいて前記カット・レイヤを越えてさらに前記誤差を後方伝搬するように構成され、前記第2のワーカー・ノードが、前記第2のローカル・ニューラル・ネットワークにおいて前記カット・レイヤを越えてさらに前記誤差を後方伝搬するように構成された、
請求項5に記載のシステム。
【請求項7】
前記サーバ・ノードが、さらに、前記第1及び第2のスマッシュされたデータ・セットを繰り返し統合することと、前記誤差が容認されるレベルに達するまで、前記予測に対する前記誤差を計算することとを行うように構成された、
請求項6に記載のシステム。
【請求項8】
差分プライベートスプリット垂直学習のための方法であって、
生データ・セットの第1のデータ・スライスを含む第1のデータ・サイロにおいて第1のワーカー・ノードを初期化することであって、前記第1のワーカー・ノードが、入力として前記第1のデータ・スライスを受信する第1のローカル・ニューラル・ネットワークを含む、第1のワーカー・ノードを初期化することと、及び前記生データ・セットの第2のデータ・スライスを含む第2のデータ・サイロにおいて、第2のワーカー・ノードを初期化することであって、前記第2のワーカー・ノードが、入力として前記第2のデータ・スライスを受信する第2のローカル・ニューラル・ネットワークを含む第2のワーカー・ノードを初期化することと、を行うステップと、
第1のローカル・ニューラル・ネットワーク出力を生成するために前記第1のデータ・スライスに対してカット・レイヤまで前記第1のローカル・ニューラル・ネットワークをトレーニングすることと、及び第2のローカル・ニューラル・ネットワーク出力を生成するために前記第2のデータ・スライスに対して前記カット・レイヤまで前記第2のローカル・ニューラル・ネットワークをトレーニングすることと、を行うステップと、
前記第1のワーカー・ノードにある第1の最適化ルーチンにおいて、第1のスマッシュされたデータ・セットを生成するために前記第1のローカル・ニューラル・ネットワーク出力に第1のノイズ・レベルを適用することと、及び重みの第1のセットを生成するために前記第1のノイズ・レベルを局所勾配の第1のセットに適用することと、を行うステップと、
前記第2のワーカー・ノードにある第2の最適化ルーチンにおいて、第2のスマッシュされたデータ・セットを生成するために前記第2のローカル・ニューラル・ネットワーク出力に第2のノイズ・レベルを適用することと、及び重みの第2のセットを生成するために、前記第2のノイズ・レベルを局所勾配の第2セットに適用することと、を行うステップであって、前記第2の最適化ルーチンが前記第1の最適化ルーチンから独立して動作する、ステップと、
統合ニューラル・ネットワークを含むサーバ・ノードにおいて、前記第1のスマッシュされたデータ・セットと前記第2のスマッシュされたデータ・セットとを統合するステップと、
を含む、方法。
【請求項9】
前記第2のノイズ・レベルが、前記第1のノイズ・レベルとは異なる値を含む、請求項8に記載の方法。
【請求項10】
予測に対する誤差を計算するために、前記統合ニューラル・ネットワークにおいて前記統合された第1のスマッシュされたデータ・セットと前記第2のスマッシュされたデータ・セットとに対してトレーニングするステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記サーバ・ノードから前記第1のワーカー・ノード及び前記第2のワーカー・ノードに、前記誤差に基づく更新されたパラメータのセットを送るステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記第1のデータ・スライスが前記データ・セットの第1の垂直スライスであり、前記第2のデータ・スライスが、前記データ・セットの前記第1の垂直スライスと重複しない前記データ・セットの第2の垂直スライスである、請求項11に記載の方法。
【請求項13】
前記第1のワーカー・ノードにおいて前記サーバ・ノードによる前記第1のデータ・スライスへのアクセスをブロックすることと、前記第2のワーカー・ノードにおいて、前記サーバ・ノードによる前記第2のデータ・スライスへのアクセスをブロックすることと、を行うステップをさらに含む、請求項12に記載の方法。
【請求項14】
前記カット・レイヤに達するまで前記統合ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記カット・レイヤから開始して前記第1のローカル・ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップと、前記カット・レイヤから開始して前記第2のローカル・ニューラル・ネットワークにおいて前記誤差を後方伝搬するステップとをさらに含む、請求項14に記載の方法。
【請求項16】
前記第1のローカル・ニューラル・ネットワークにおいて前記誤差から後方伝搬した後に、前記カット・レイヤまで前記第1のローカル・ニューラル・ネットワークにおいてフィードフォワードするステップをさらに含み、前記第2のローカル・ニューラル・ネットワークにおいて前記誤差から後方伝搬した後に、前記カット・レイヤまで前記第2のローカル・ニューラル・ネットワークにおいてフィードフォワードするステップをさらに含む、請求項15に記載の方法。
【請求項17】
後続の第1のスマッシュされたデータ・セットと後続の第2のスマッシュされたデータ・セットとを生成するステップをさらに含む、請求項16に記載の方法。
【請求項18】
前記後続の第1のスマッシュされたデータ・セットと前記後続の第2のスマッシュされたデータ・セットとを受信した後に、前記サーバ・ノードにおいて第2の誤差を計算するステップをさらに含む、請求項17に記載の方法。
【請求項19】
前記統合ニューラル・ネットワークのモノリシック・ビューをアプリケーション・プログラミング・インターフェース(API)から出力するステップをさらに含む、請求項18に記載の方法。
【請求項20】
前記第1のデータ・スライスについての第1のプライバシー・イプシロン値に基づいて前記第1のノイズ・レベルを設定することと、前記第2のデータ・スライスについての第2のプライバシー・イプシロン値に基づいて前記第2のノイズ・レベルを設定するすることと、行うステップを含む、請求項8に記載の方法。
【国際調査報告】