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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7578370暗号化データの推定のためのデプス制約された知識の蒸留
<>
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図1
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図2
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図3
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図4
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図5
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図6
  • 特許-暗号化データの推定のためのデプス制約された知識の蒸留 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】暗号化データの推定のためのデプス制約された知識の蒸留
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241029BHJP
   G06N 3/045 20230101ALI20241029BHJP
   G06N 3/096 20230101ALI20241029BHJP
   G09C 1/00 20060101ALI20241029BHJP
【FI】
G06N20/00 130
G06N3/045
G06N3/096
G09C1/00 620Z
【請求項の数】 21
(21)【出願番号】P 2022575921
(86)(22)【出願日】2021-04-28
(65)【公表番号】
(43)【公表日】2023-07-28
(86)【国際出願番号】 IB2021053504
(87)【国際公開番号】W WO2021260451
(87)【国際公開日】2021-12-30
【審査請求日】2023-09-25
(31)【優先権主張番号】16/907,578
(32)【優先日】2020-06-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】サルパトワル、カンティ
(72)【発明者】
【氏名】ナンダクマール、カルシック
(72)【発明者】
【氏名】ラサ、ナリーニ
(72)【発明者】
【氏名】パンカンティ、シャラテチャンドラ
(72)【発明者】
【氏名】シャンムガム、カルチケイヤン
(72)【発明者】
【氏名】レイフィールド、ジェームズ・トーマス
(72)【発明者】
【氏名】ヴァクリン、ローマン
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2020-10217(JP,A)
【文献】国際公開第2015/155896(WO,A1)
【文献】石山 琢己ほか,準同型暗号上での近似活性化関数を用いた畳み込みニューラルネットワーク推論の検討,第12回データ工学と情報マネジメントに関するフォーラム (第18回日本データベース学会年次大会),日本,2020年03月04日
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
完全準同形暗号(FHE)に互換的な機械学習モデルを生成するためのコンピュータが実行する方法であって、
第1のトレーニング・データを使用して事前トレーニングされた第1の機械学習モデルを取得すること、
入力データの配布及びFHE制約のセットを受領すること、及び
前記FHE制約のセットを満足する第2の機械学習モデルを構築することを含み、前記第2の機械学習モデルが、
前記入力データの配布を使用してトランスファー・データセットを生成すること、及び
合成トレーニング・データとして前記トランスファー・データセット上での前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルのパラメータを学習すること
により構築される、方法
【請求項2】
前記第2の機械学習モデルのパラメータは、第1のトレーニング・データにアクセスすることなく学習される、請求項1に記載の方法。
【請求項3】
前記第2の機械学習モデルを構築することがさらに、
前記入力データの配布を使用して検証データセットを生成すること、
候補の第2の機械学習モデルのセットそれぞれについて、合成された検証データとして前記検証データセットについての前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルの適合性を判断すること、及び
前記第2の機械学習モデルとして、最高の適合を有する候補の第2の機械学習モデルを選択すること
を含む、請求項1に記載の方法。
【請求項4】
前記FHE制約のセットは、ターゲットの乗算回路のデプス、セキュリティ・レベル、暗号文のサイズ、及びそれらの組み合わせの1つを含む、請求項1に記載の方法。
【請求項5】
さらに、前記第2の機械学習モデルを、暗号化データ上でのプライバシー保護した準同形推定のために使用することを含む、請求項1に記載の方法。
【請求項6】
前記第2の機械学習モデルが、前記第1の機械学習モデルに代えて使用される、請求項5に記載の方法。
【請求項7】
前記第2の機械学習モデルは、FHE互換的な活性化関数を有する浅いニューラル・ネットワークを含む、請求項1に記載の方法。
【請求項8】
装置であって、
プロセッサと、
前記プロセッサによって実行されるコンピュータ・プログラムを保持するコンピュータ・メモリであって、前記コンピュータ・プログラム命令が完全準同形暗号(FHE)に互換的な機械学習モデルを生成するように構成されており、前記プロセッサが、
第1のトレーニング・データを使用して事前トレーニングされた第1の機械学習モデルを取得すること、
入力データの配布及びFHE制約のセットを受領すること、及び
前記FHE制約のセットを満足する第2の機械学習モデルを構築することを含み、前記第2の機械学習モデルが、
前記入力データの配布を使用してトランスファー・データセットを生成すること、及び
合成トレーニング・データとして前記トランスファー・データセット上での前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルのパラメータを学習すること
を実行する、装置。
【請求項9】
前記第2の機械学習モデルのパラメータは、第1のトレーニング・データにアクセスすることなく学習される、請求項8に記載の装置。
【請求項10】
前記第2の機械学習モデルを構築する前記プロセッサがさらに、
記入力データの配布を使用して検証データセットを生成し、
候補の第2の機械学習モデルのセットそれぞれについて、合成された検証データとして前記検証データセットについての前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルの適合性を判断し、及び
前記第2の機械学習モデルとして、最高の適合を有する候補の第2の機械学習モデルを選択することを実行させることを含む、請求項8に記載の装置。
【請求項11】
前記FHE制約のセットは、ターゲットの乗算回路のデプス、セキュリティ・レベル、暗号文のサイズ、及びそれらの組み合わせの1つを含む、請求項8に記載の装置。
【請求項12】
前記プロセッサはさらに、前記第2の機械学習モデルを、暗号化データ上でのプライバシー保護した準同形推定のために使用するように実行させることを含む、請求項8に記載の装置。
【請求項13】
前記第2の機械学習モデルが、前記第1の機械学習モデルに代えて使用される、請求項12に記載の装置。
【請求項14】
前記第2の機械学習モデルは、FHE互換的な活性化関数を有する浅いニューラル・ネットワークを含む、請求項8に記載の装置。
【請求項15】
完全準同形暗号(FHE)に互換的な機械学習モデルを生成するためのデータ・プロセッシング・システムにより実行されるコンピュータ・プログラムであって、前記コンピュータ・プログラムが前記データ・プロセッシング・システムに対して、
第1のトレーニング・データを使用して事前トレーニングされた第1の機械学習モデルを取得させ、
入力データの配布及びFHE制約のセットを受領させ、及び
前記FHE制約のセットを満足する第2の機械学習モデルを構築させ、前記第2の機械学習モデルが、
前記入力データの配布を使用してトランスファー・データセットを生成させ、及び
合成トレーニング・データとして前記トランスファー・データセット上での前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルのパラメータを学習させる
ンピュータ・プログラム。
【請求項16】
前記第2の機械学習モデルのパラメータは、第1のトレーニング・データにアクセスすることなく学習される、請求項15に記載のコンピュータ・プログラム。
【請求項17】
前記第2の機械学習モデルを構築する前記コンピュータ・プログラムがさらに、前記データ・プロセッシング・システムに対し
前記入力データの配布を使用して検証データセットを生成し、
候補の第2の機械学習モデルのセットそれぞれについて、合成された検証データとして前記検証データセットについての前記第1の機械学習モデルの予測を使用して、前記第2の機械学習モデルの適合性を判断し、及び
前記第2の機械学習モデルとして、最高の適合を有する候補の第2の機械学習モデルを選択することを実行させることを含む、請求項15に記載のコンピュータ・プログラム。
【請求項18】
前記FHE制約のセットは、ターゲットの乗算回路のデプス、セキュリティ・レベル、暗号文のサイズ、及びそれらの組み合わせの1つを含む、請求項15に記載のコンピュータ・プログラム。
【請求項19】
前記コンピュータ・プログラムはさらに、前記データ・プロセッシング・システムに対して、前記第2の機械学習モデルを、暗号化データ上でのプライバシー保護した準同形推定のために使用させることを含む、請求項15に記載のコンピュータ・プログラム。
【請求項20】
前記第2の機械学習モデルが、前記第1の機械学習モデルに代えて使用される、請求項19に記載のコンピュータ・プログラム。
【請求項21】
前記第2の機械学習モデルは、FHE互換的な活性化関数を有する浅いニューラル・ネットワークを含む、請求項15に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、暗号化データに対する推定を容易にするための完全準同形暗号動作の使用に関する。
【背景技術】
【0002】
機械学習(ML)においては、知識の蒸留(knowledge distillation)は、ティーチャ・モデルの予測を密接に模倣するスチューデント・モデルを学習することを参照する。ティーチャ・モデルは、通常、大規模なデータセット上で事前トレーニングされた複雑なMLモデルである。スチューデント・モデルは、より少ないモデル複雑性及びより良い説明力といった、いくつかの所望される特性を有するターゲットMLモデルである。蒸留は、ティーチャがスチューデントの学習プロセスを弱く管理することを許容することにより達成される。このコンテキストにおいて、ティーチャ及びスチューデントはニューラル・ネットワークであることは必要ではなく、かつオリジナルのトレーニング・データ(ティーチャが学習するために使用される)は、スチューデント・モデルが学習するために利用可能ではない可能性がある。
【0003】
準同形暗号(Homomorphic encryption:HE)は、暗号文について遂行される計算が、かくして復号された場合に平文について実行された動作の結果に一致する暗号された結果を生成することを許容する。準同形暗号のスキームは、データを復号することなく計算が実行されることを許容する暗号システムである。
【0004】
データ・プライバシーへの配慮は、しばしばセンシティブな個人データについてのクラウド・ベースの機械学習サービスの使用を妨げる。準同形暗号(HE)は、暗号化データについての計算を可能とすることにより、可能性のあるソリューションを提案するが、その課題は、レベル付けされたHEスキームの乗算デプス制約内で動作する、正確な機械学習モデルを取得することである。暗号化推定のための既存のアプローチは、精度を犠牲にして事前トレーニングされたモデルに対してアド・ホックなシンプリフィケーション(simplifications)を行うか、又はそれらがオリジナルのトレーニング・セットを使用して、新たなデプス制約モデルを直接トレーニングするか、のいずれかである。機械学習モデルにおいては、暗号化データが使用される場合(例えば、暗号化データについての木ベースの推定の決定)、これらのソリューションは、必要とされるシンプリフィケーションがより多くのFHE(Fully Homomorphic Encryption)計算能力に制約的であるため、効果的に動作することができない。
【0005】
FHEドメイン内で容易に評価され(以下、あるときには、FHE“フレンドリ”と参照される)、さもなければ興味のある入力を評価することにおける使用のために所望される任意的で、かつより複雑なモデルとの比較において、精度の損失なく、機械学習モデルを構築するための技術を提供する必要性が残されている。
【発明の概要】
【0006】
本開示は、完全準同形暗号(FHE)フレンドリな機械学習モデルを生成するための方法、装置及びコンピュータ・プログラム製品を提供する。本明細書のアプローチは、知識の蒸留フレームワークを増強し、FHEフレンドリ(スチューデント)なMLモデルは、より複雑(ティーチャ)なモデルの予測を緊密に模倣し、そこにおいて、ティーチャ・モデルは、スチューデント・モデルに相対してより複雑であり、かつ大規模なデータセットについて事前トレーニングされたものである。本明細書のこのアプローチにおいて、蒸留フレームワークは、より複雑なティーチャ・モデルを使用して、FHEフレンドリなモデルをトレーニングすることを容易にするが、ティーチャをトレーニングするために使用されたオリジナルのデータセットに代えて合成的に生成されたトレーニング・データを使用する。
【0007】
1つの側面において、方法は、第1のトレーニング・データを使用して事前トレーニングされた第1の(ティーチャ)機械学習モデルを取得することにより、完全準同形暗号(FHE)に互換的な機械学習モデルを生成する。入力データの配布及びFHE制約のセットがまた受領される。前記FHE制約は、典型的にはターゲットの乗算回路のデプス、セキュリティ・レベル、暗号文のサイズ、及びそれらの組み合わせを含む。これらの入力を使用して、第2の(スチューデント)機械学習モデルはその後に構築される。前記第2のモデルは、前記第1のモデルに互換的な精度を有するばかりではなく第1のモデルのようにではなくFHE制約のセットを満足する。特に、好ましくは前記第2のMLモデルは、以下のように構築される。前記入力データの配布を使用してトランスファー・データセットを生成する。その後、合成トレーニング・データのセットが前記第1の機械学習モデルにより生成され、前記トランスファー・データセットについて予測がなされる(前記第1のモデルをトレーニングするために使用されたオリジナルのデータセットに代えて)。合成トレーニング・データのセットはその後、前記第2のモデルをトレーニング(すなわち、パラメータの学習)のために使用される。前記第2のモデルは、このやり方においてそれぞれがトレーニングされた候補の第2の機械学習モデルのセットの1つとされ、最良にフィッティングした候補が前記第2のモデルとしてその後選択されることができる。前記第2の機械学習モデルは、前記FHE制約に関してデプス制約されており、FHE互換的な活性化関数を有する浅いニューラル・ネットワークを含む。
【0008】
このやり方において生成された第2の機械学習モデルは、その後、暗号化された入力についてのプライバシー保護した準同形推定のために使用される。
【0009】
上記のものは、主題のいくつかのより適切な特徴を概説した。これらの特徴は、単に例示的なものとして解釈されるべきである。多くの他の利益的な結果は、異なるやり方において開示された主題に適用されることによって、又は説明されるように主題の修正により達成されることができる。本発明及びその効果のより完全な理解のため、ここに、添付する図面と併せて以下の説明が参照される:
【図面の簡単な説明】
【0010】
図1図1は、例示的な実施形態の例示的な側面を実装することができる分散データ・プロセッシング環境の例示的なブロック図を示す。
図2図2は、例示的な実施形態の例示的な側面を実装することができるシステムの例示的なブロック図を示す。
図3図3は、開示された主題を実装することができる例示的なクラウド・コンピューティング・アーキテクチャの例示的なブロック図を示す。
図4図4は、本開示の技術を実装することができるマシーン・ラーニング・アズ・ア・サービス(Machine Learning as-a-service:MLaaS)の動作環境を示す。
図5図5は、本開示の蒸留フレームワークがどのようにしてFHEフレンドリなスチューデント・モデルを構築するために使用されるかを示す。
図6図6は、本開示のトランスファー・データセット・ジェネレータの動作を示す。
図7図7は、それぞれの実施形態にしたがって、スチューデント・モデルがそれから構成される代表的なニューラル・ネットワークのアーキテクチャを示す。
【発明を実施するための形態】
【0011】
ここで、図面を参照、及び特に図1~2を参照すると、本開示の例示的な実施形態が実装されることができるデータ・プロセッシング環境の例示的な図が提供される。図1~2は、例示のみであり、本開示の主題の側面又は実施形態を実装することができる環境に関して、いかなる制限を明言したり、又は暗示したりすることを意図しないことについて認識されるべきである。図示された環境に対する多くの修正は、本発明の精神及び範囲から逸脱することなく、為すことができる。
クライアント-サーバ技術
【0012】
ここで、図面を参照すると、図1は、例示的な実施形態の側面が実装されることができる例示的な分散データ・プロセッシング・システムの図的な表現を示す。分散データ・プロセッシング・システム100は、例示的な実施形態の側面が実装されることができるコンピュータのネットワークを含むことができる。分散データ・プロセッシング・システム100は、少なくとも1つのネットワーク102を含み、これは、分散データ・プロセッシング・システム100内で互いに接続された種々のデバイスと、コンピュータとの間で通信リンクを提供するために使用される。ネットワーク102は、有線、ワイヤレス通信リンク、又はファイバ光学ケーブルといった接続を含むことができる。
【0013】
図示された実施例においては、サーバ104及びサーバ106は、ストレージ・ユニット108と共にネットワーク102へと接続される。追加的に、クライアント110、112、及び114は、ネットワーク102にまた接続されている。これらのクライアント110、112、及び114は、例えばパーソナル・コンピュータ、ネットワーク・コンピュータなどとすることができる。図示された実施例においては、サーバ104は、クライアント110、112、及び114に対するブート・ファイル、オペレーティング・システム・イメージ、及びアプリケーションといったデータを提供する。クライアント110、112、及び114は、図示された実施例において、サーバ104に対するクライアントである。分散データ・プロセッシング・システム100は、追加的なサーバ、クライアント及び図示しない他のデバイスを含むことができる。
【0014】
図示された実施例においては、分散データ・プロセッシング・システム100は、互いに通信するためのトランスミッション・コントロール・プロトコル/インターネット・プロトコル(TCP/IP)のプロトコル・スイートを使用する、ネットワーク及びゲートウェイのワールド・ワイドな集積を表すネットワーク102を有するインターネットである。インターネットの心臓部は、何千の商用、行政、教育を含む主要ノード又はホスト・コンピュータと、データ及びメッセージをルート他のコンピュータ・システムとの間の高速データ通信ラインのバックボーンである。当然ながら、分散・データ・プロセッシング・システム100はまた、例えばイントラネット、ローカルエリア・ネットワーク(LAN)、ワイドエリア・ネットワーク(WAN)などといった、異なるタイプの数多くのネットワークを含むことができる。上述したように、図1は、実施例であり、開示される主題の異なる実施形態についてのアーキテクチャ上の限定を意図せず、したがって図1に示された特定の要素は、本発明の例示的な実施形態が実装されることができる環境に関する制限と考えられるべきではない。
【0015】
ここで、図2を参照すると、例示的な実施形態の側面が実装されることができる例示的なデータ・プロセッシング・システムのブロック図が示される。データ・プロセッシング・システム200は、図1におけるクライアント110といったコンピュータの実施例であり、その内部に本開示の例示的な実施形態のためのプロセスを実装するコンピュータ利用可能なコード又は命令が配置されることができる。
【0016】
ここで、図2を参照すると、例示的な実施形態が実装されることができるデータ・プロセッシング・システムのブロック図が示される。データ・プロセッシング・システム200は、図1のサーバ104又はクライアント110といったコンピュータの実施例であり、その内部に例示的な実施形態のためにプロセスを実装するコンピュータ利用可能なコード又は命令が配置されることができる。この例示的な実施例においては、データ・プロセッシング・システム200は、通信機能202を含み、これはプロセッサ・ユニット204、メモリ206、持続性ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212、ディスプレイ214との間の通信を提供する。
【0017】
プロセッサ・ユニット204は、メモリ206にロードされることができるソフトウェアのための命令の実行を提供する。プロセッサ・ユニット204は、特定の実装に依存して、1つ又はそれ以上のプロセッサのセットとすることができるか、又はマルチ・プロセッサ・コアとすることができる。さらに、プロセッサ・ユニット204は、メイン・プロセッサがセカンダリ・プロセッサと共にシングル・チップ上に存在する、1つ又はそれ以上のヘテロジェニアス・プロセッサ・システムを使用して実装されることができる。別の例示的な実施例として、プロセッサ・ユニット204は、同一のタイプの多数のプロセッサを含む対称的マルチ・プロセッサ(SMP)システムとすることができる。
【0018】
メモリ206及び持続性ストレージ208は、ストレージ・デバイスの実施例である。ストレージ・デバイスは、一時的基準又は永続的基準のいずれか又はそれらの両方で情報を格納する能力のある、ハードウェアのいかなる一部分である。メモリ206は、これらの実施形態においては、例えば、ランダムアクセス・メモリ、又はいかなる他の好適な揮発性又は不揮発性のストレージ・デバイスとすることができる。持続性ストレージ208は、特定の実装に応じて、種々の形態を取ることができる。例えば、持続性ストレージ208は、1つ又はそれ以上のコンポーネント又はデバイスを含むことができる。例えば、持続性ストレージ208は、ハード・ドライブ、フラッシュ・メモリ、書き換え可能な光学ディスク、書き換え可能な磁気テープ、又は上記のもののいくつかの組み合わせとすることができる。持続性ストレージ208により使用される媒体は、また、取り外し可能とすることができる。例えば、取り外し可能なハード・ドライブは、持続性ストレージ208のために使用することができる。
【0019】
通信ユニット210は、これらの実施例では、他のデータ・プロセッシング・システム又はデバイスとの通信を提供する。これらの実施例においては、通信ユニット210は、ネットワーク・インタフェース・カードである。通信ユニット210は、物理的及びワイヤレス通信リンクのいずれか、又は両方を通して通信を提供することができる。
【0020】
入力/出力ユニット212は、データ・プロセッシング・システム200に接続されることができる他のデバイスと、データの入出力を許容する。例えば、入力/出力ユニット212は、キーボード及びマウスを通してユーザ入力のための通信を提供することができる。さらに、入力/出力ユニット212は、プリンタへの出力を送付することができる。ディスプレイ214は、ユーザに対して情報を表示するための機構を提供する。
【0021】
オペレーティング・システム及びアプリケーション又はプログラムのための命令は、持続性ストレージ208上に配置される。これらの命令は、プロセッサ・ユニット204による実行のため、メモリ206内にロードされることができる。異なる実施形態のプロセスは、メモリ206といったメモリ内に配置されることができるコンピュータ実装命令を使用して、プロセッサ・ユニット204によって実行されることができる。これらの命令は、プロセッサ・ユニット204内のプロセッサによって読み出され、かつ実行されることができる、プログラム・コード、コンピュータ利用可能なプログラム・コード、又はコンピュータ利用可能なプログラム・コードとして参照される。異なる実施形態におけるプログラム・コードは、メモリ206又は持続性ストレージ208といった異なる物理的又は有形のコンピュータ可読な媒体上に実体化されることができる。
【0022】
プログラム・コード216は、選択的に取り外し可能なコンピュータ可読な媒体218上に機能的形態において配置され、かつプロセッサ・ユニット204による実行のために、データ・プロセッシング・システム200へとロードされるか又は転送されることができる。プログラム・コード216及びコンピュータ可読な媒体218は、これらの実施例におけるコンピュータ・プログラム製品220を形成する。1つの実施例においては、コンピュータ可読な媒体218は、例えば、持続性ストレージ208の部分であるハード・ドライブといったストレージ・デバイスへの転送のために、持続性ストレージ208の部分であるドライブ又はハード・ドライブに挿入されるか又は配置される、光学又は磁気ディスクといった有形の形態とされることができる。有形の形態においては、コンピュータ可読な媒体218は、データ・プロセッシング・システム200に接続されるハード・ドライブ、サム・ドライブ(商標)、又はフラッシュ・メモリの形態を取ることができる。コンピュータ可読な媒体218の有形の形態はまた、コンピュータ記録可能なストレージ媒体として参照される。いくつかの例では、コンピュータ可読な媒体218は、取り外し可能ではない場合がある。
【0023】
代替的に、プログラム・コード216は、通信リンクを通してコンピュータ可読な媒体218から通信・ユニット210へと、又は入力/出力ユニット212への挿入を通して、又はこれらの両方でデータ・プロセッシング・システム200へと転送されることができる。通信リンク、又は接続、又はこれらの両方は、例示的な実施例においては、物理的又はワイヤレスとすることができる。コンピュータ可読な媒体はまた、プログラム・コードを含む通信リンク又はワイヤレス通信といった非有形媒体の形態を取ることができる。データ・プロセッシング・システム200について例示された異なるコンポーネントは、異なる実施例が実装される可能性のあるやり方に対し、アーキテクチャ上の限定を提供することを意味しない。異なる例示的な実施形態は、データ・プロセッシング・システム200についてのこれらの例示に追加的に、又は代替的なコンポーネントを含むデータ・プロセッシング・システムにおいて実装されることができる。図2に示される他のコンポーネントは、図示された例示的な実施例から変化することができる。1つの実施例として、データ・プロセッシング・システム200内のストレージ・デバイスは、データを格納することができる、いかなるハードウェア装置である。メモリ206、持続性ストレージ208、及びコンピュータ可読な媒体218は、有形の形態におけるストレージ・デバイスの実施例である。
【0024】
別の実施例においては、バス・システムは、通信機能202を実装するために使用されることができると共に、システム・バス又は入力/出力バスといった、1つ又はそれ以上のバスから構成されることができる。当然ながら、バス・システムは、バス・システムに取り付けられた異なるコンポーネント又はデバイスの間のデータ転送を提供する、いかなる好適なタイプのアーキテクチャを使用して実装することができる。追加的に、通信ユニットは、モデム又はネットワーク・アダプタといったデータの送受信のために使用される、1つ又はそれ以上のデバイスを含むことができる。さらに、メモリは、例えば、通信機能202内に存在することができるインタフェース及びメモリ・コントローラ内に見い出されるようなメモリ206又はキャッシュとすることができる。
【0025】
本発明の動作を遂行するためのコンピュータ・プログラム・コードは、Java(登録商標)、Smalltalk(登録商標)、C++、C#、オブジェクティブ-Cなどといったオブジェクト指向プログラミング言語及び従来の手続き型プログラミング言語を含む、1つ又はそれ以上のプログラミング言語において記述することができる。プログラム・コードは、スタンド・アローンのソフトウェア・パッケージとして、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的に、かつリモート・コンピュータ上で部分的に、又はリモート・コンピュータ又はサーバ上で全体的に実行することができる。後者のシナリオにおいては、リモート・コンピュータは、ローカルエリア・ネットワーク(LAN)、又はワイドエリア・ネットワーク(WAN)を含むいかなるタイプのネットワークを通してユーザ・コンピュータへと接続されることができるか、又は接続は、外部コンピュータへと行うことができる(例えば、インターネット・サービス・プロバイダを使用するインターネットを通した)。
【0026】
当業者は、図1~2のハードウェアが実装に応じて変化する可能性を認識するであろう。他の内部ハードウェア又はフラッシュ・メモリといった周辺デバイス、均等的な不揮発性メモリ、又は光学ディスク・ドライブなどは、図1~2に図示されたハードウェアの追加的に又は代替的に使用される可能性がある。また、例示的な実施形態のプロセスは、以前に述べたSMPシステムではなく、本開示の主題の精神及び範囲から逸脱することなく、マルチプロセッサ・データ・プロセッシング・システムに適用されることができる。
【0027】
見て取られるように、本明細書で開示される技術は、クライアント・マシンが、インターネット・アクセス可能な1つ又はそれ以上のマシンのセット上で実行するWebベースのポータルと通信する、図1に例示されるような標準的なクライアント-サーバのパラダイムとの組み合わせにおいて動作することができる。エンド・ユーザは、ポータルにアクセスし、かつ相互作用することが可能なインターネット接続可能なデバイス(例えばデスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット可能なモバイル・デバイスなど)を動作する。典型的には、それぞれのクライアント又はサーバ・マシンは、ハードウェア及びソフトウェアを含む図2に示したようなデータ・プロセッシング・システムであり、かつこれらのエンティティは、インターネット、イントラネット、エキストラネット、プライベート・ネットワーク、又はいかなる他の通信媒体又はリンクといったネットワーク越しに互いに通信する。データ・プロセッシング・システムは典型的には、1つ又はそれ以上のプロセッサ、オペレーティング・システム、1つ又はそれ以上のアプリケーション、及び1つ又はそれ以上のユーティリティを含む。データ・プロセッシング・システム上のアプリケーションは、限定ではなく、数ある中でもHTTP、SOAP、XML、WSDL、UDDI、及びWSFLに対するサポートを含むWebサービスについてネイティブなサポートを提供する。SOAP、WSDL、UDDI、及びWSFLに関する情報は、ワールド・ワイド・ウェブ・コンソーシアム(World Wide Web Consortium:W3C)から利用可能であり、これは、これらの標準を開発し、かつ維持するための責任を有する;さらに、HTTP及びXMLに関する情報は、インターネット・エンジニアリング・タスク・フォース(Internet Engineering Task Force:IETF)から利用可能である。これらの標準について熟知することは前提である。
クラウド・コンピューティング・モデル
【0028】
出現している情報技術(IT)配布モデルは、クラウド・コンピューティングであり、それにより共有されるリソース、ソフトウェア及び情報が、インターネット越しにコンピュータ及び他のデバイスへと、オンデマンドに提供される。クラウド・コンピューティングは、ワークロード最適化及びサービス配布を改善しつつ、ITのコスト及び複雑性を顕著に削減することを可能とする。このアプローチで、アプリケーションのインスタンスは、HTTP越しに従来のWebブラウザを通してアクセス可能なインターネット・ベースのリソースからホストされると共に、利用可能とされる。実施例のアプリケーションは、電子メール、カレンダリング、コンタクト管理、及びインスタント・メッセージングといった共通のメッセージ機能のセットを提供するものとすることができる。ユーザは、その後インターネット越しに直接サービスへとアクセスするであろう。このサービスを使用して、エンタープライズは、その電子メール、カレンダー、又はクラウド内でのコラボレーション・インフラ基盤を配置すると共に、エンド・ユーザは、彼又は彼女の電子メールにアクセスするための適切なクライアントを使用し、又はカレンダー動作を実行するであろう。
【0029】
クラウド・コンピューティング・リソースは、典型的には仮想化アーキテクチャを使用して1つ又はそれ以上のネットワーク・アプリケーションを動作する大規模なサーバ・ファーム内に典型的に収容され、そこにおいて、アプリケーションは、データ・センタ機能における物理的サーバにマップされる仮想サーバ内、又はいわゆる“仮想マシン”(VMs)内で動作する。仮想マシンは、典型的には、仮想マシンに対して物理的リソースを割り当てる制御プログラムであるハイパーバイザの頂部で動作する。
【0030】
クラウド・コンピューティングは、最小限の管理労力又はサービス提供者との交流をもって、迅速に提供及び開放構成可能なコンピューティング資源(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)の共用されるプールにアクセスするための利便性のある、オンデマンドのネットワークアクセスのためのサービス提供のモデルである。このクラウド・モデルは、すべてが、“Draft NIST Working Definition of Cloud Computing” by Peter Mell and Tim Grance,dated October 7,2009において、より特定的に説明され、定義される、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つの配置モデルを含むことができる。
特定的には、以下が典型的な特徴である:
オンデマンド・セルフサービス:クラウドのコンシューマは、サーバ時間、及びネットワーク・ストレージといったコンピューティング能力を、サービスの提供者との人間的交流を必要とすることなく必要なだけ自動的に一方向的に提供される。
広範なネットワークアクセス:能力は、ネットワーク上で利用可能であり、かつ異なったシン又はシッククライアント・プラットフォーム(例えば、モバイルホン、ラップトップ及びPDA)による利用を促す標準的な機構を通してアクセスされる。
リソースの共用:提供者のコンピューティング資源は、マルチテナント・モデルを使用し、動的に割当てられる必要に応じて再割り当てられる異なった物理的及び仮想化資源と共に多数の消費者に提供するべく共用される。コンシューマは概ね提供される資源の正確な位置(例えば、国、州、又はデータセンタ)に関する制御又は知識を有さず、抽象化の高度の階層において位置を特定することができるというように、位置非依存の感覚が存在する。
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に供給され素早くスケールアウトし、迅速に解放して素早くスケールインすることが可能である。コンシューマにとっては、供給のために利用可能な機能は、多くの場合、制限がないように見え、いつでも任意の量で購入することができる。
計測されるサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブ・ユーザ・アカウント)に適したいくつかの抽象化レベルで計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。
リソース使用量を監視し、制御し、報告することで、使用されているサービスのプロバイダ及びコンシューマの両方に対して透明性を提供することができる。
【0031】
サービスモデルは、以下のとおりである:
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)のようなシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーションの機能も含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダがサポートするプログラミング言語及びツールを用いて作成された、コンシューマが作成又は獲得したアプリケーションを、クラウド・インフラストラクチャ上に配置することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、配置されたアプリケーションを制御し、可能であればアプリケーション・ホスティング環境の構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される機能は、処理、ストレージ、ネットワーク、及びその他の基本的なコンピューティング・リソースの提供であり、コンシューマは、オペレーティング・システム及びアプリケーションを含むことができる任意のソフトウェアを配置し、実行させることが可能である。コンシューマは、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、オペレーティング・システム、ストレージ、配置されたアプリケーションの制御を有し、可能であれば選択ネットワーキング・コンポーネント(例えば、ホストのファイアウォール)の限定的な制御を有する。
【0032】
配置モデルは、以下の通りである:
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のためだけに動作する。これは、その組織又は第三者によって管理することができオン・プレミス又はオフ・プレミスで存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の利害関係(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オン・プレミス又はオフ・プレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、公衆又は大きな産業グループが利用可能できるようにされており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)を組み合わせたものであり、これらのクラウドは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専有技術によって互いに結合される(例えば、クラウド間の負荷バランスのためのクラウド・バースティング)。
【0033】
クラウド・コンピューティング環境は、無国籍性、粗結合性、モジュール性、及び意味的相互運用性に焦点を合わせたサービス指向のものである。クラウド・コンピューティングの心臓部において、相互接続された複数のノードを含むものがインフラ基盤である。代表的なクラウド・コンピューティング・ノードは上述した図2に示されたようなものである。具体的には、コンピュータ・システム/サーバが存在し、これは数多くの他の汎用目的又は特定目的のコンピューティング・システムの環境又は構成と共に操作可能である。コンピュータ・システム/サーバと共に使用することに好適な周知のコンピューティング・システム、環境又は構成又はそれらの組み合わせは、これらに限定されることはなく、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルド又はラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラム可能なコンシューマ電子機器、ネットワークPC(複数)、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び上述のシステム又はデバイスなどのいずれをも含む、分散クラウド・コンピューティング環境を含む。コンピュータ・システム/サーバは、コンピュータ・システムにより実行されるプログラム・モジュールといったコンピュータ・システムが実行可能な命令の一般的なコンテキストにおいて記述することができる。一般には、プログラム・モジュールは、特定のタスクを遂行するか又は特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバは、タスクが通信ネットワークを通してリンクされたリモート処理システム・デバイスにより遂行される、分散クラウド・コンピューティング環境において実装することができる。分散クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル及びリモート・コンピュータのストレージ媒体の両方に位置することができる。
【0034】
ここで、図3を参照すると、追加的な背景技術のために、クラウド・コンピューティング環境により提供される機能的抽象レイヤのセットが示される。予め、図3に示したコンポーネント、レイヤ、及び機能は、例示することのみを意図したものであり、本発明の実施形態は、これらに限定されることはないことは理解されるべきである。図示したように、以下のレイヤ及び対応する機能が提供される:
ハードウェア及びソフトウェアレイヤ300は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム、1つの実施例においては、IBM(登録商標)zSeries(登録商標)、RISC(縮小命令セットコンピュータ)アーキテクチャに基づく複数のサーバ、1つの実施例においては、IBM pSeries(登録商標)システム;IBM xSeries(登録商標);IBM BladeCenter(登録商標)システム;ストレージ・デバイス;ネットワーク及びネットワーキング・コンポーネントを含むことができる。ソフトウェア・コンポーネントの実施例は、1つの実施形態では、IBM WebSphere(登録商標)、アプリケーション・サーバ・ソフトウェア;及びデータベース・ソフトウェア、1つの実施形態ではIBM DB2(登録商標)データベース・ソフトウェアを含む。(IBM zSeries、pSeries、xSeries、BladeCenter、WebShere、及びDB2は、多くの法律においてワールド・ワイドに登録された、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。)
【0035】
可視化レイヤ302は、それから後述する仮想エンティティの実施例が提供される抽象レイヤ:仮想サーバ;仮想ストレージ;仮想プライベート・ネットワークを含む仮想ネットワーク;仮想アプリケーション及びオペレーティング・システム;及び仮想クライアントを提供する。
【0036】
1つの実施例では、マネージメント・レイヤ304は、下記の機能を提供することができる。リソース提供部は、コンピューティング資源及びクラウド・コンピューティング環境内でタスクを遂行するために用いられる他の資源の動的獲得を提供する。計測及び価格設定部は、クラウド・コンピューティング環境内で資源が使用されるとコストの追跡を提供すると共に、これらの資源の消費に対する課金又は請求を提供する。1つの実施例では、これら資源としてはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティ部は、クラウド・コンシューマ及びタスクの同定及び認証と共にデータ及び他の資源の保護を提供する。ユーザ・ポータル部は、コンシューマに対するクラウド・コンピューティング環境及びシステム・アドミニストレータへのアクセス性を提供する。サービスレベル・マネージメント部は、クラウド・コンピューティング資源の割り当て及び管理を提供し、必要なサービス・レベルに適合させる。サービス・レベル・アグリーメント(SLA)プランニング・フルフィルメント部は、SLAにしたがって将来的な要求が要求されるクラウド・コンピューティング資源の事前準備を行うと共にその獲得を行う。
【0037】
ワークロード・レイヤ306は、クラウド・コンピューティング環境を利用するための機能の例示を提供する。このレイヤによって提供されるワークロード及び機能の例としては:マッピング及びナビゲーション;ソフトウェア開発及びライフタイム・マネージメント;仮想教室教育伝達;データ分析処理;トランザクション・プロセッシング;及び本発明の開示にしたがい、準同形暗号データ308についての、プライバシー保存の準同形推定のための技術のワークロード及び機能を含むことができる。
【0038】
前もって、本開示は、クラウド・コンピューティングの詳細な説明を含むが、本明細書において列挙される教示の実装は、クラウド・コンピューティング環境に限定されることはないことについて理解される。そうではなく、本発明の実施形態は、現在知られ、また後に開発される如何なる他のタイプのコンピューティング環境との組み合わせにおいても実装することができる。これらは、スタンド・アローンのコンピューティング環境(例えば、オン・プレミスのデスクトップ・マシン)、クライアント-サーバ・ベースのアーキテクチャなどを含むことができる。
【0039】
したがって、代表的なクラウド・コンピューティング環境は、フロントエンドの識別マネージャ、ビジネス・サポート・サービス(BSS)機能コンポーネント、動作サポート・サービス(OSS)機能コンポーネント、及び計算クラウド・コンポーネントを含むハイレベルの機能的コンポーネントのセットを有する。識別マネージャは、リクエストしているクライアントとインタフェースして識別管理を提供する責任があり、このコンポーネントは、ニューヨーク州、アーモンクのIBMコーポレーションから利用できるTivoli Federated Identity Manager (TFIM)といった1つ又はそれ以上の既知のシステムで実装することができる。適切な環境のTFIMは、他のクラウド・コンポーネントに対する連合したシングル・サイン・オン(federated single sign-on:F-SSO)を提供するために使用することができる。ビジネス・サポート・サービス・コンポーネントは、課金サポートといったある種の管理的機能を提供する。動作サポート・サービス・コンポーネントは、仮想マシン(VM)インスタンスといった、他のクラウド・コンポーネントの提供及び管理を提供するために使用される。クラウド・コンポーネントは、主要な計算機資源を表し、これらは、典型的にはクラウドを介したアクセスのために利用可能とされる、ターゲット・アプリケーションを実行するために使用される複数の仮想機械のインスタンスである。1つ又はそれ以上のデータベースは、ディレクトリ、ログ、及び他の動作データを格納するために使用される。これらのコンポーネントのすべて(フロントエンドの識別マネージャを含む)は、クラウド“内”に配置されるが、これは必要ではない。代替的な実施形態においては、識別マネージャは、クラウドの外部で動作される可能性がある。サービス・プロバイダはまた、クラウドの外部で動作される可能性がある。
【0040】
いくつかのクラウドは、非伝統的なIPネットワークに基づく。したがって、例えば、クラウドは、MACアドレスのハッシュを使用する特殊な単一レイヤIPでの2-タイヤCLOSベースのネットワークに基づく可能性がある。本明細書において説明される技術は、そのような非伝統的なクラウドを使用する可能性がある。
【0041】
一般化すると、クラウド・コンピューティング・インフラ基盤は、ネットワーク及び1つ又はそれ以上の管理サーバを介して接続されたホスト・マシン(例えば、サーバ又は類似の物理的マシンのコンピューティング・デバイス)を含む、仮想マシンのホスティング環境を提供する。典型的には、物理的サーバは、それぞれVMware ESX/ESXiといった仮想化技術を使用して1つ又はそれ以上の仮想マシンを動的に提供するように適応化される。多数のVMsは、単一のホスト・マシンに配置されると共に、ホスト・マシンのCPU、メモリ、及び他のリソースを共有し、それによって、組織のデータ・センタの利用性を向上する。他のタスクの中でも、マネージメント・サーバは、インフラ基盤をモニタすると共に、VM配置を、例えばホストの間で仮想マシンを移動させることにより、必要に応じて自動的に操作する。
【0042】
非限定的な実装においては、代表的なプラットホーム技術は、限定されることなく、VWware vShere4.1、アップデート1及び5.0を備えるIBM System x(登録商標)サーバである。上述した市販の実装は、限定されることを意図するものではなく、しかしながらむしろ、クラウド・コンピューティング環境においてサポートされ、かつコグニティブ・サービスと相互作用する、クライアント・アプリケーションの単なる1つの代表的な実施形態である。
準同形暗号
【0043】
準同形暗号(HE)は、計算が暗号文上で遂行されることを許容し、したがって、復号された場合に、暗号化された結果が平文上で実行される動作の結果と一致する暗号結果を生成する。準同形暗号のスキームは、計算がそれを復号することなくデータに実行されることを許容する暗号システムである。FHEは、しばしば、幾分か準同形的な(Somewhat Homomorphic Encryption:SWHE)、又はレベル付きHEスキームを、ブートストラッピング又は再暗号化技術と組み合わせて利用することにより達成される。SWHEスキームは、そのパラメータにより決定される事前決定されたレベルの複雑性に至るまでだけ、計算をサポートすることができる。これは、暗号文が“ノイジー”であり、かつこのノイズはそれぞれのHE計算と共に成長を維持するためであり、かつノイズが一度あるパラメータ依存の閾値を超えて成長すると、暗号文は、もはや復号されることができない。この問題は、ブートストラッピングにより対処されることができ、これが暗号文をリフレッシュすると共に、ノイズレベルを低下させるが、サーキュラー・セキュリティ(circular security)に依存する代償を払う。ブートストラッピングは、しかしながら、計算機的に高価であり、時間を浪費する動作である。したがって、実際上の可能性については、ブートストラッピング動作の数は、最小に止められるべきであり、かつ可能であれば回避されるべきである。
【0044】
準同形暗号は、いかなる所望する機能についてのプログラムの構成を可能とし、これが暗号化された入力上で動作されることができ、結果の暗号を生成する。そのようなプログラムは、その入力を復号する必要が全くないので、それはその入力及び内部状態を明かすことなく、信頼されていない当事者により動作されることができる。準同形暗号を実装するためのツールキットは知られている。周知のツールキットは、オープンソース・プロジェクトのHElibである。HElibの現在のバージョンは、個別的ビットの暗号化を使用して、バイナリ表現における任意の数の加算及び乗算動作をサポートする。
【0045】
さらなる背景技術のために、いくつかのFHEスキームがリング・ラーニング・ウイズ・エラーズ(Ring Learning with Errors:RLWE)として知られる計算機上の問題の困難性に基づいて提案されてきた。そのようなスキームの顕著な実施例は、BFV (Brakerski/Fan-Vercauteren)、BGV (Brakerski-Gentry-Vaikuntanathan)、及びCKKS (Cheon-Kim-Kim-Song)スキームを含み、それらのスキーム(オリジナルの提案者の後に命名された)は、両方とも加算的及び乗算的に準同形的である。BFV及びBGVスキームは、整数に対するベクトル動作に対して効果的であり、CKKスキームは、“近似的”(精度が制限される)な浮動小数点動作についてより適切である。さらに、これらのスキームは、特に異なる平文値を暗号文内の異なるスロットにパッキングすることにより、シングル・インストラクション・マルチプル・データ(Single Instruction Multiple Data:SIMD)動作をサポートする。この暗号文パッキングは、加算及び乗算動作の並列化を可能とするが、パッキング後に暗号文の個別的なスロット内の値にランダムにアクセスすることは可能ではない。そうではなく、例えば暗号文内でのスロットの回転といった制限された動作のみが可能である。
【0046】
HE動作についてのCKKSスキーム(HElibライブラリに実装されるような)の場合、実値の特徴は、直接決定木に入力されることができ、すなわち、入力を整数に変換する必要はない。
準同形暗号を使用するマシーン・ラーニング・アズ・ア・サービス
【0047】
マシーン・ラーニング・アズ・ア・サービス(MLaaS)は、現在では普及したパラダイムであり、そこでは、事前トレーニングされたモデルがパブリック・クラウドにホストされ、かつ推定がペイ・パー・クエリ基準で実行される。MLaaSの使用は、しかしながら、多くのアプリケーション・ドメインにおいて制限されており(例えば財務サービス、健康管理)、この理由は、推定が実行されるクライアント・データのプライバシー(秘密性)が最も配慮されるためである。完全準同形暗号(FHE)は、復号の必要性なく暗号化データ上で一定のタイプの計算を許容することにより、上記のプライバシーの難題を解決することができる。上述した様に、FHEスキームは、次の様に定義することができる:
【0048】
【数1】
【0049】
ここで、ε及びDは、は、それぞれ暗号及び復号動作を表し、λは、セキュリティ・パラメータであり、EVALは、評価関数であり、これは、任意の関数f及び暗号化入力ε(I)を取り、かつ暗号化された結果
【0050】
【数2】
【0051】
を返す。提示の容易化のため、ε及びEVAL動作は、公開鍵にアクセスすることが要求され、かつDは秘密鍵にアクセスすることが必要であることが理解される。
【0052】
図4を参照すると、FHEベースのプライバシー保護推定のシナリオが図示され、かつ以下の様に動作する。クライアント400は、そのデータxを暗号化し(暗号関数401を使用して)、暗号化データε(x)を、クラウド・ベースの機械学習サービス・プロバイダ402に送付する。サービス・プロバイダは、事前にトレーニングされたモデル404Mθを保有し(ここで、M及びθは、それぞれ、モデル・アーキテクチャ及びパラメータを意味する)、暗号化ドメインにおいて、推定計算、
【0053】
【数3】
【0054】
を実行し、かつ復号405のためにクライアント400へと暗号化された結果を戻す。サービス・プロバイダは、入力(x)、又は得られる出力(y)についてのいかなる知識も取得しないので、完全なクライアント・データのプライバシーが保障される。さらに、上記に説明したシナリオは、それがクライアントと、サービス・プロバイダとの間の単一ラウンドの通信のみを含むので、ノン・インタラクティブとして参照される。
【0055】
図4において図示されるような暗号化された推定における基本的な課題は、適した計算の性質に関する重大な制限及び暗号化ドメインにおける計算の効率から生じる。ほとんどのFHEスキームは、レベル付きHEスキームに基づいて構築され、これは、そのパラメータによって決定される乗算デプスの事前設定されたレベルに至るまでだけ、計算をサポートする。これは、暗号文内の“ノイズ”がそれぞれのHE計算で成長を維持し、かつ一度ノイズが閾値を超えて成長すると、復号が失敗するためである。このデプス制約は、ブートストラッピングを使用することにより克服されることができ、これは、暗号文を“リフレッシュ”し、かつそのノイズレベルを低減する(サーキュラー・セキュリティに依存する代償で)。ブートストラッピングは、しかしながら、回避されなければならないか、又は実際的に適した計算のためにかろうじて使用されなければならない、高度に高価で、かつ複雑な動作である。MLコンテキストにおいては、制限されたデプスの問題はさらに、非線形計算(例えば、2つの数の比較、活性化関数)の存在により増大し、これは底流にあるHEスキームが、しばしば加算及び乗算の準同形をサポートするだけなので、より大きなデプスを必要とする。これらの理由のため、暗号化推定のためにいなかる事前トレーニングされたMLを直接使用することはめったに可能ではない。例として、ブーストされた決定木は、依然としてテーブル形データセットにわたり分類及び回帰タスクのための標準的な選択であり、それらを暗号化データに直接適用することは、比較動作におけるそれらの信頼性の故に困難である。
【0056】
暗号化推定における最近の研究は、この問題を2つの方法で解決することを試みてきた。1つのアプローチは、非制約のモデルをトレーニングし、その後、パラメータを再トレーニングすることなくそのアーキテクチャを単純化して、乗算デプスを低下する。別の代替例は、デプス制約されたモデルを定義し、利用可能なトレーニング・データを使用して、スクラッチから、それを直接トレーニングする。前者のアプローチは、典型的にはオリジナル・モデルに比較して推定精度の著しい低下を招き、後者のアプローチは、オリジナル・モデルをトレーニングするために使用されたトレーニング・データが、もはや利用可能ではないので、現実的には不可能な場合がある。理想的、及び図4に図示されるように、いかなる所与の事前トレーニングされたモデル404Mθを、そのデプス制約されたバージョン406
【0057】
【数4】
【0058】
へと、オリジナルのトレーニング・データにアクセスすることなく、すべていかなる精度劣化を最小としつつ、変換することが好ましいであろう。
【0059】
背景技術としての上記のことを以て、本開示の技術をここに説明する。
FHE-フレンドリな機械学習モデルの構築
【0060】
本開示の基本的なパラダイムを図5に図示する。図示されるように、システム(本明細書において、あるときには知識の蒸留フレームワークとして参照される)は、ティーチャ・モデル500を受領する。ティーチャ・モデルは制約されておらず、かつオリジナルのトレーニング・セット502を使用してトレーニングされる。ティーチャ・モデルは、高い精度を有するが、FHEドメインにおける推定を実行することについて互換的(フレンドリ)ではない。ゴールは、その後にティーチャ・モデルに互換的な精度を有する、すなわち、それが暗号化データについての推定を依然として可能としながら、より複雑なティーチャ・モデルの決定境界を模倣する、FHE-フレンドリなスチューデント・モデル504を構築することである。このやり方において、スチューデント・モデル504は、精度における損失を最小限としてティーチャ・モデル500についてのプロキシとして有用である。
【0061】
この開示にしたがい、スチューデント・モデル504は、以下の様に構築される。最初に、トランスファー・データセット507がトランスファー・セット生成器506により生成される。トランスファー・データセット507は、ティーチャ・モデルに関連する所与の入力データ配布を使用して、好ましくはランダムに生成される。所与の入力データ配布が、いかなる関連するラベルを有することは必要ではない。追加的に、入力データ配布はまた、検証データセット(不図示)をランダムに生成するために使用され、これは以下に説明されように、FHE制約のセットに互換的なスチューデント・モデルのプールから、スチューデント・モデルを選択することを容易にするために使用される。これらの制約は、変化する可能性があるが、典型的には、ターゲットの乗算回路デプス、セキュリティ・レベル、暗号サイズなどを含む。乗算回路デプスは、例えば計算のために要求される連続的な乗算動作の最大数である。セキュリティ・レベルは、それを破るのがどれだけ困難であるかをキャプチャし、かつこのパラメータは、底流にある暗号スキームのパラメータ及び時間的に近い計算のデプスのパラメータに依存する可能性があり;セキュリティ・レベルがより高くなれば、推定時間がより長くなり、かつより低い計算デプスは、同一の暗号文パラメータについてより高いセキュリティに解釈する。暗号文のサイズは、暗号文スロットを最も有効に利用するために、MLモデル(例えば、隠れノードの数)のハイパーパラメータを選択することを含む。他の可能なFHE制約(上述の組み合わせを含む)を考慮することができる。
【0062】
図5に戻って参照すると、このアプローチにおいては、好ましくは、スチューデント・モデルのアーキテクチャは、FHEフレンドリな前提空間(すなわち、所与のFHE制約を満足する全モデルのセット)から選択することができる。その後、及び図示されるように、スチューデント・モデル504のパラメータは、“合成”トレーニング・データとしてのトランスファー・データセット507及びトランスファー・データセット上のティーチャ・モデル500の予測を使用して学習される。いかなる教師ありトレーニング・アルゴリズム(例えば、最急降下法)は、この目的のために使用されることができる。1つ又はそれ以上の“候補”スチューデント・モデルはその後、このやり方、すなわちトランスファー・データセット507についてのティーチャ・モデルの予測を使用してトレーニングされることができる。このプロセスの間、好ましくは、それぞれの候補スチューデント・モデルの適合性はまた、検証データセット及び検証データセットについてのティーチャ・モデルの予測を使用して計算される。いかなる標準的な適合性(良好性)基準(例えば精度)が、この目的のために使用されることができる。ロス推定器508は、適合性計算を評価し、かつFHEフレンドリ・モデルとしての最高の良好性のスチューデント・モデルを選択する。このアプローチにおいて、及びスチューデント・モデルは、トランスファー・データセットについてのティーチャ及びスチューデント・モデルの予測の間のロスを最小にしようとするが、トランスファー・セット生成器506はまた、このロスを最大化させる、より挑戦的な入力サンプルを生成するように構成される。
【0063】
要約すると、及び図5に図示されるように、本明細書におけるアプローチは、事前トレーニングされた第1の(ティーチャ)モデルに埋め込まれた知識を、第1のモデルをトレーニングするために使用されたオリジナルのトレーニング・モデルにアクセスすることなしに、第2のデプス制約された(スチューデント)モデルへと移転するための技術を提供する。
【0064】
ここで図7を参照すると、FHEフレンドリのスチューデント・アーキテクチャの検索がスチューデント・モデルを選択するための上述のプロセスにおいて使用されることができる。これは、選択されるアーキテクチャのFHEフレンドリ度を評価するメカニズムを仮定する。示されるように、スチューデント・モデル700は、マルチレイヤ・フィード・フォワード・ニューラル・ネットワークとすることができる。図示されるように、ハイパーパラメータ検索空間(それからスチューデント・モデルが構築される)は、多数のレイヤ、それぞれのレイヤ内の多数の隠れノード、それぞれのレイヤでの活性化関数などを含む。決定木アンサンブルのHE推定についてのデプス制約された知識の蒸留はその後、以下のように進むことができる。所与の乗算デプス・バジェットについて、デプス・バジェットを満足する多項式活性化関数と伴に、ニューラル・ネットワークの構成のセットを計算する。その後、以前に説明したように、所与の未ラベルのデータ(例えばオリジナル・データのわずかなフラクション)からの拡張的なデータを生成すると共に、アンサンブルを使用してラベルを生成する。その後、検証スコアに関して最も可能性のあるニューラル・ネットワークについて検索する。この動作は、非暗号化空間において遂行されることができる。その後、HE推定は、オリジナルのアンサンブルについてのプロキシとしての最良のネットワークについて実行される。
【0065】
上述のアプローチは、好ましくは、所与のデプス制約内で動作する最良のスチューデント・モデルについて検索すると共に、その後このスチューデント・モデルを好ましくはオリジナルのトレーニング・データの配布からサンプルされた合成データのみを使用してトレーニングすることによって、精度ロスを最小とする。
【0066】
FHEベースの計算においては、計算の複雑性を規定するいくつかのパラメータが存在する。上述したように、これらは、乗算デプス、セキュリティ・パラメータの選択、暗号文の数の選択、及びその他を含む。ノイズを低減するためのブートストラップ技術の使用を最小化する(ブートストラップは極めて高価なため)ために、本明細書の本技術は、正確で、かつオリジナルの複雑なモデルのパフォーマンスに近いML推定モデルを構築する。スチューデント・モデルの学習を容易にするために、フレームワークは、複雑なモデルをトレーニングするために使用されたオリジナルのトレーニング・セットが利用できないことを仮定する。その代わりに、好ましくは本明細書におけるアプローチは、人工的なトレーニング特徴データを生成し、かつその後、オリジナルの複雑なモデルを使用してトレーニングする特徴のためのラベルを生成する。浅いネットワークがFHWを理解する計算でトレーニングされて、より単純なモデルをFHEスキームにマップすることをより容易にする。
【0067】
図6は、トランスファー・データセットを生成するためのトランスファー・セット生成器により実装される技術を図示する。第1の実施形態において、これは静的なアプローチであり、未ラベルのデータの小さなセットが非パラメトリックな密度予測関数600に入力されるが、このことは、必要とされない。得られる入力データの配布がトランスファー・データセットを生成するためのランダム・サンプリング関数602によりランダムにサンプルされる。代替的な実施形態において、これは動的なアプローチであり、未ラベルのデータの小さなセットが適応的なサンプリング関数604に対して適用されて得られる入力データの配布と共に、非パラメトリックな密度予測関数600に入力され、これはまた、以前のサンプルにおけるティーチャと、スチューデント・モデルとの間の予測乖離を入力として受領する。適応的なサンプリング関数604は、これらの入力を使用して、トランスファー・データセットを生成する。
【0068】
図示されていないが、ランダム又は適応的サンプリングはまた、最適に適合する候補スチューデント・モデルの選択を容易にするために使用される、検証データセットを生成するために使用される。
【0069】
以下のセクションは、上記に説明した技術の実装の、より詳細な説明を提供する。
暗号データの推定のためのデプス制約された知識の蒸留
【0070】
以上に参照したように、本明細書における本技術は、(乗算)デプス制約されたスチューデント・モデルの取得を目的として、知識の蒸留フレームワークを適用し、これは、暗号推定を可能としながら複雑なティーチャ・モデルの決定境界を模倣する。また、説明されるように、1つの実装においては、フレームワークは、もしも完全なトレーニング・セット(オリジナル・モデルをトレーニングするために使用された)が利用できない場合であったとしても、正確にトレーニングされることができる最良のスチューデント・モデルを検索するアルゴリズムを提供する。
【0071】
特に、本開示は、デプス制約された、機械学習モデル
【0072】
【数5】
【0073】
であって、所与の事前トレーニングされたモデル(M)の決定挙動に均等的(又はより密接に模倣する)なものを構築するための技術を提供する。オリジナルの(M)及びデプス制約された
【0074】
【数6】
【0075】
は、MLモデルの同一のファミリに属するものを学習する必要はない。ここで、デプスは、モデルの乗算デプスを参照し、これは、以下のように定義される:
定義:(機械学習モデルの乗算デプス)
【0076】
機械学習モデルMの乗算回路の、φ(M)により表されるデプスは、そのいかなる回路パスと共に必要とされる乗算動作(ゲート)の最大数である。ここで、M:x→yを、事前トレーニングされたモデルとし、ここに、x及びyは、は、それぞれ入力及び出力空間を表す。ここで、
【0077】
【数7】
【0078】
を、パラメータであるモデルMのθを学習するために使用されるトレーニング・データとする。ここに、
【0079】
【数8】
【0080】
は、トレーニング・サンプルの数であり、かつpは、トレーニング・データの配布を表す。ここで、Lを、Mと、そのLの近似バージョン、
【0081】
【数9】
との間の予測差を測定する蒸留ロス関数とする。
【0082】
デプス制約されたモデルを学習する問題は、式(1)で定式化することができ、
【0083】
【数10】
【0084】
【数11】
【0085】
ここに、HΩは、デプス制約された前提空間、すなわち、その乗算デプスが、Ωよりも小さいか、等しい全モデルのセットである。
【0086】
上述した式中に期待される蒸留ロスを直接予測することはしばしば現実的ではないので、それは、経験的なリスクで置換されることができる。もしも、オリジナルのトレーニング・データ
【0087】
【数12】
【0088】
が利用可能であるならば、経験的なリスク最小化問題は、式(2)のように記述される。
【0089】
【数13】
【0090】
【数14】
【0091】
本明細書における本アプローチは、通常の場合には、オリジナルのトレーニング・データ
【0092】
【数15】
【0093】
が、もはや利用できない(又はトレーニングのために利用可能ではない)ことを仮定とする。暗号化推定のコンテキストにおいて、このことは、モデルは、Mが、無期限に保持されることができないセンシティブな個人情報を使用して一般にはトレーニングされるので、典型的に正当な仮定である。この仮定は、所与の事前トレーニングされたモデルMθを“捨てること”、及びスクラッチからデプス制約されたモデルを再トレーニングすることの可能性を無視することに留意されたい。説明されるように、本明細書における技術は、知識の蒸留フレームワークを使用して、オリジナルのトレーニング・データの利用不能性を克服する。上述したように、知識の蒸留は、ティーチャ・モデルの予測を密接に模倣するスチューデント・モデルを学習するプロセスを参照し、これは典型的には、ティーチャがスチューデントの学習を弱く管理することを許容することによって達成される。特に、所与の入力データ・サンプル(真のラベルなし)のトランスファー・セットについて、このトランスファー・セットについてティーチャによりなされる予測が、真のラベルの代わりにスチューデント・モデルをトレーニングするためのプロキシ・ラベルとして使用される。
【0094】
以下は、Mθから、
【0095】
【数16】
を学習させるための代表的なアルゴリズムを説明する。
【0096】
1つの非限定的な実施形態においては、アルゴリズムへの入力は、事前トレーニングされたモデルMθであり、入力データの配布は、pxであり、乗算デプスのバジェットは、Ωであり、蒸留ロス関数は、Lであり、トランスファー・セットのサイズは、
【0097】
【数17】
【0098】
であり、かつ検証セットのサイズは、νである。出力は、デプス制約されたモデル
【0099】
【数18】
【0100】
であり、これは、Mθを密接に近似し、かつその検証スコアは、νである。ステップ(1)では、トランスファー・セット、
【0101】
【数19】
【0102】
及び検証セット、
【0103】
【数20】
【0104】
を生成し、ここで、
【0105】
【数21】
【0106】
である。ステップ(2)で、モデル・アーキテクチャ
【0107】
【数22】
【0108】
を、前提空間HΩから選択する。ステップ(3)で、
【0109】
【数23】
を、
【0110】
【数24】
【0111】
として学習させる。
【0112】
ステップ(4)で、検証スコアνが、候補モデルの精度、
【0113】
【数25】
【0114】
として、検証セット
【0115】
【数26】
上で計算される。
【0116】
トランスファー・セットの生成
【0117】
知識の蒸留の第1の側面は、蒸留のために要求される未ラベルの入力サンプルのトランスファー・セットを如何にして取得するかということである。1つの既知のアプローチにおいては、オリジナルのトレーニング・データ(出力ラベルを引き算したもの)がトランスファー・セットとして使用される。代替例は、蒸留の時点で生成されることができる合成的に生成された疑似トレーニング・サンプルを利用することである。ティーチャ・モデルは、トレーニング・データのpxマニフォールド上でのみトレーニングされてきたので、その知識は、完全に入力空間をカバーする必然性はない。結果的に、マニフォールドpxに無いランダムな入力がティーチャ・モデルに供給された場合、得られる予測は、スチューデント・モデルをトレーニングするために十分に信頼することができない。したがって、入力データのマニフォールドのいくつかの知識は、合成トランスファー・セットの生成のために要求される可能性がある。より最近では、いかなるトレーニング・データへのアクセス無く、知識の蒸留を実行するための試みがなされてきている。これらの方法は、しかしながら、ティーチャ・モデルが出力としてラベル配布を生成することが可能な、最後のソフトマックス・レイヤを有するディープ・ラーニング・ニューラル・ネットワークであることを仮定する。ここで、サービス・プロバイダが、トレーニング・データの配布に関して最小の情報pを残していることを仮定する。
【0118】
さらに、及び本明細書の1つの実施例の実装(例えば、図6を参照)において、px(x)の非パラメトリックな密度をトレーニング・データ(ラベルのない)の小さなサブセットから取得するアルゴリズム(例えばMUNGEアルゴリズムの修正バージョン)が、その後に蒸留のために使用されることができる大規模な未ラベルのセットを生成するために使用される。
【0119】
本明細書のこのアプローチにおいて、合成データセット
【0120】
【数27】
【0121】
は、pの知識のみを使用して生成される。部分において、このことは、スチューデント・モデルが典型的には前提空間HΩに制約され、かつ、合成データセット、
【0122】
【数28】
【0123】
のサイズが、実際の制限のために有限であることによる。変形的なアプローチとして、蒸留ロスが低い場合、トランスファー・セット生成器は、ティーチャ及びスチューデント・モデルの予測の間を差別化するために、より挑戦的な入力サンプルを生成するために使用することができる。
デプス制約されたスチューデント・アーキテクチャの検索
【0124】
知識の蒸留における第2の側面は、スチューデント・ネットワークのアーキテクチャの適切な選択である。典型的には、スチューデント・ネットワークのアーキテクチャは、計算機資源及びスチューデントが、配置されるべきことが期待されるターゲット環境のメモリ要求に基づいて固定される。本明細書におけるアプローチは、限定された乗算デプスを有するスチューデント・ネットワークを設計する。デプス制約は、以下の方法において最適なスチューデント・モデルについての検索を複雑にする。シグモイド活性化関数を有するマルチ・レイヤのパーセプトロンがスチューデント・モデルとして選択されると仮定する。限定された乗算デプス(いわゆるΩ)を与えると、シグモイド関数をより精度良く近似するために(いわゆるより高次の多項式を使用する)、又はネットワークに対してより多くの隠れレイヤを追加するために、利用可能なデプスがイヤーマーク(earmarked)されるべきであるかどうかは明確ではない。本明細書におけるアプローチにおいて、好ましくは浅いニューラル・ネットワークがスチューデント・モデルのアーキテクチャとして使用される。これは、単一の隠れレイヤを備える全結合のシグモイド・ニューラル・ネットワークが、いかなる連続的な単変量関数を普遍的に近似することができるという考えにより動機付けられる。この耐性は、活性化関数としてのいかなる非多項式関数へと拡張されることができることがまた、示された。本技術のゴールは、ティーチャ・モデルによって学習された決定関数を近似することにあるので、ニューラル・ネットワークは、スチューデント・モデルに対する近似的な選択である。すなわち、他の制約又は制限(例えば、シグモイド及びReLUといった非線形活性関数の多項式近似のみを使用する)がある可能性があるので、好ましくはより多くの隠れレイヤがモデリング能力を高めるためにネットワークへと追加される。最良のスチューデント・モデルのアーキテクチャを決定するために、好ましくは、上記に説明したアルゴリズムのステップ(2)~(4)が
【0125】
【数29】
【0126】
の多くの選択及び最も高い検証スコアを有するスチューデント・モデルの選択について反復される。
決定木アンサンブルの準同形推定への適用
【0127】
本明細書におけるデプス制約された知識の蒸留フレームワークの1つの実施例の適用として、以下のものは、決定木分類器の大規模なアンサンブルに関して暗号化推定を如何にして行うかを説明する。複雑なモデル(ニューラル・ネットワーク及びブーストされた木)から決定木の解釈可能な性質を増強するため、単一の決定木へと知識を移転する近年の労力のようにではなく、本明細書における技術は、暗号化データの推定(準同形的に)を容易にするために、知識を木アンサンブルからデプス制約されたニューラル・ネットワークへと蒸留する(DTNetのようなものとして参照される)。特に、好ましくは、開示された技術は、比較器(オリジナルのモデルにおける)を備える決定木を、より単純でかつ浅いニューラル・ネットワーク(DTNet)で置き換える。この置換において、好ましくは、標準的な活性化関数(オリジナルのモデルにおける)は、より単純な(FHE透過的なものから)活性化関数で置換される。
【0128】
DTNetニューラル・ネットワークのテンプレート構造が、ここで記述される。入力レイヤは、dの特徴を有する入力データのdのノードを含む。隠れレイヤは、特定の数のノード(ニューロン)及び特定の多項式活性化関数を有する密な(全結合)レイヤである。出力レイヤは、cのノードを有するソフトマックス・レイヤであり、ここで、cは、分類タスクにおける分類の数である。準同形推定を実行する場合、最後のソフトマックス計算が、クライアントへと送付されることができる。
【0129】
DTNetは、低い計算機デプスを有しており、これがこれらのモデル上で実行される効率的でかつ精度の良い準同形推定を許容する。実に、暗号空間内でのDTNet上での推定予測は、非暗号化空間におけるそれらと実質的に同一である。さらに、利用可能なトレーニング・データの量が極めて低い場合であっても、DTNetは、決定木のアンサンブル上で推定を極めて密接に近似することができる。したがって、及び一般化すると、DTNetは、木アンサンブル上での準同形推定を効果的に近似するために使用される。
【0130】
本開示の技術は、顕著な効果を提供する。それは、効率的な暗号化推定を可能とする乗算デプス制約された知識の蒸留を実行するための系統だったアプローチを提供する。1つの実施形態においては、このアプローチは、決定木の複雑なアンサンブル上での高く効率的な暗号化推定の実行を可能とする。例えば、本明細書におけるこのアプローチは、決定木の複雑なアンサンブル(例えば数100のベース推定)上で暗号化推定を実行する方法を提供し、ソフト比較によるそれぞれの決定木における困難な比較を直接的に置換する標準的なアプローチを上回り、スピードにおいて、粗々三(3)桁の大きさの改善を達成する。本システムは、マルチ・コアのクラウド環境において高くスケーラブルであり、かつ本アプローチは、いくつかの実世界のパブリック・データベースに実装されることができる。
【0131】
本技術は、プライバシー規制又は他のセキュリティ要件に対応することが必要ない、いかなるクラウド・ベースの機械学習サービスをサポートするために使用することができるので、可能なユース・ケースについての制限は全くない。多くの新規な工業的アプリケーションは、本タイプのクラウド・サービスを使用することができ、かつしたがって、向上されたプライバシー保障を提供する。2つの実施例は、健康管理及び財務であり、そこでは、クライアントのプライバシーに関するコンプライアンスが最重要である。言及されたように、サービス・シナリオとしてのマシーン・ラーニング・アズ・ア・サービスにおける三(3)つの基本的なコンポーネントは、クライアント、サーバ、及び通信インフラ基盤である。データが暗号化され、かつ結果が暗号化されて戻されるので、サーバ又は通信チャネルに対するいかなる攻撃は、効果的に阻止される。
【0132】
説明されたように、典型的には、本アプローチを実装するコンピューティング・システムは、例えば1つ又はそれ以上のハードウェア・プロセッサによって実行されるコンピュータ・プログラム命令のセットとしてソフトウェアにおいて実装される。システム内の特定のツール又はコンポーネントは、適切なインタフェース及びツール又はコンポーネントにより使用されるか又は生成されるデータをサポートするデータベースと共に、いかなる数のプログラム、プロセス、実行スレッドなどを含むことができる。ツール又はコンポーネントは、コマンド・ラインを介してウェブベースのフロントエンドで構成されるか又は管理されることができる。ツール又はコンポーネントは、プログラム的に実装されるか、又はアプリケーション・プログラミング・インタフェース(API)、又はいかなる利便性のある要求-応答プロトコルを介して他のコンピューティング・エンティティ又はソフトウェア・システムと相互動作する、1つ又はそれ以上の機能を含むことができる。
【0133】
本明細書における1つ又はそれ以上の市販製品に対するいかなる参照は、例示的であり、かつ開示された技術の制限として取られるべきではなく、開示された技術は、一般的な特徴及び説明されてきた動作的機能を有するいかなるシステム、デバイス、電気製品(又はより一般的には機械)上に実装されることができる。
【0134】
言及したように、本主題の1つの好ましい実装は、アズ・ア・サービスであるが、これはいずれも限定ではない。HEベースの推定は、オン・プレミス、又はスタンド・アローンの動作環境において完全に遂行されることができる。以前に言及したように、及び限定ではなく、本主題は、クラウド配置プラットホーム・システム又は電気製品に内に、又は関連して、若しくはいかなる他のタイプの配置システム、製品、デバイス、プログラム、又はプロセスを使用して実装されることができる。説明されたように、モデル構築又は推定システムは、機能的にスタンド・アローン機能として提供されることができるか、又はそれは他の製品及びサービスからの機能を増強することができる。
【0135】
本技術が実装されることができる代表的なクラウド・アプリケーション・プラットホームは、限定されることはなく、いかなるクラウド・サポートされたアプリケーション・フレームワーク、製品、又はサービスを含む。
【0136】
一般化して、本明細書における本技術は、管理ソリューション、サービス、製品、家電製品、デバイス、プロセス、プログラム、実行スレッドなどとして実装することができる。典型的には、本技術は、問題のデータベースとしての1つ又はそれ以上のデータ・ソースに格納されたデータに関連して、ハードウェア・プロセッシング要素において実行される1つ又はそれ以上のコンピュータ・プログラムとしてのソフトウェアにおいて実装される。説明されたいくつか、又は全部のプロセッシング・ステップは、他のシステムとの関連において、自動化され、かつ自律的に動作することができる。自動化は、全体又は部分で良く、かつ動作(全体又は部分)は、同期的又は非同期的、デマンド・ベース又はそれ以外とすることができる。
【0137】
これらの上述したコンポーネントは、典型的にはそれぞれ、ソフトウェア、すなわち、1つ又はそれ以上のハードウェア・プロセッサ内で実行されるコンピュータ・プログラム命令のセットとしてのソフトウェアとして実装される。コンポーネントは別々に示されたが、コンポーネントはまた、全体又は部分が互いに一体化されることができるので、これは必要ではない。1つ又はそれ以上のコンポーネントは、専用的なロケーション内で、又は互いにリモートに実装することができる。1つ又はそれ以上のコンポーネントは、互いに実行して機能を提供するサブコンポーネントを有することができる。上記に命名されたような特定のコンポーネントにより実行されるべき生成器サービスの特定の機能には、本明細書における機能(又はそれらのいかなる側面)が他において、又はシステム内において実装されるとおり、何らの必要条件はない。
【0138】
ツール及び応答機能は、セキュリティ分析システム又はサービスと共に相互作用又は相互動作することができる。
【0139】
説明されてきたように、上述の機能は、例えば、1つ又はそれ以上のハードウェア・プロセッサによって実行される1つ又はそれ以上のソフトウェア・ベースの機能といったスタンド・アローンのアプローチとして実装されることができるか、若しくはそれは管理されたサービス(SOAP/XMLインタフェースを介したウェブ・サービスとして、を含む)として利用されることができる。本明細書で説明された特定のハードウェア及びソフトウェアの実装の詳細は、単に例示の目的であり、かつ説明された主題の範囲を限定することを意味しない。
【0140】
より一般的には、開示された主題のコンテキスト内で、コンピューティング・デバイスは、それぞれハードウェア及びソフトウェアを含むデータ・プロセッシング・システム(図2に示されたような)であり、これらのエンティティは、インターネット、イントラネット、エキストラネット、プライベート・ネットワーク又はいかなる他の通信媒体又はリンクといったネットワーク越しに互いに通信する。データ・プロセッシング・システム上のアプリケーションは、Web及び他の既知のサービス、及び限定されることはなく、中でも、HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI、及びWSFLを含むプロトコルについてのネイティブなサポートを提供する。SOAP、WSDL、UDDI、及びWSFLに関する情報は、ワールド・ワイド・ウェブ・コンソーシアム(W3C)から利用可能であり、これは、これらの標準を開発し、かつ保守することについての責任を有する;さらに、HTTP,FTP、SMTP、及びXMLに関する情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から利用可能である。
【0141】
言及されたように、及びクラウド・ベースの環境に追加的に、本明細書で説明された技術は、単純なn-タイヤのアーキテクチャ、ウェブ・ポータル、連合されたシステムなどを含む種々のサーバ・サイドのアーキテクチャ内で、又は組み合わせにおいて実装されることができる。
【0142】
なおさらに、より一般的に、本明細書において説明された本主題は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア及びソフトウェアの両方を含む実施形態の形態を取ることができる。好ましい実施形態においては、センシティブなデータの検出サービス(又はそのいかなるコンポーネント)がソフトウェアに実装され、そのソフトウェアは、限定されることはなく、ファームウェア、滞在型ソフトウェア、マイクロコードなどを含む。さらに、ダウンロード及び削除インタフェース及び機能は、コンピュータ又はいかなる命令実行システムにより、又は関連する使用のためのプログラム・コードを提供するコンピュータ利用可能又はコンピュータ可読な媒体の形態を取ることができる。本記載の目的のため、コンピュータ利用可能又はコンピュータ可読な媒体は、命令実行システム、装置、又はデバイスにより又は組み合わせにおける使用のためのプログラムを含むか又は格納することができる、いかなる装置とすることができる。媒体は、電子的、磁気的、光学的、電気磁気的、赤外、又は半導体システム(又は装置又はデバイス)とすることができる。コンピュータ可読な媒体の実施例は、半導体又はソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダムアクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、剛性の磁気ディスク、及び光学ディスクを含む。光学ディスクの現在の実施例は、コンパクト・ディスク-リードオンリー・メモリ(CD-ROM)、コンパクト・ディスク-リード/ライト(CD-R/W)、及びDVDを含む。コンピュータ可読な媒体は、有形、非有形のアイテムである。
【0143】
コンピュータ・プログラム製品は、1つ又はそれ以上の説明した機能を実装するためのプログラム命令(又はプログラム・コード)を有する製品とすることができる。これらの命令又はコードは、リモートなデータ・プロセッシング・システムからネットワーク越しにダウンロードされた後に、データ・プロセッシング・システムにおいてコンピュータ可読な記録媒体に格納されることができる。又は、これらの命令又はコードは、サーバ・データ・プロセッシング・システム内のコンピュータ可読な記録媒体内に格納されることができ、かつリモート・システム内のコンピュータ可読な記録媒体内での使用のため、リモート・データ・プロセッシング・システムへとネットワーク越しにダウンロードされるように適合されることができる。
【0144】
代表的な実施形態においては、本技術は、好ましくは1つ又はそれ以上のプロセッサによって実行されるソフトウェアにおいて、特定目的のコンピューティング・プラットホーム内に実装される。ソフトウェアは、1つ又はそれ以上のプロセッサに関連する1つ又はそれ以上のデータ・ストア又はメモリ内に保持されると共に、ソフトウェアは、1つ又はそれ以上のコンピュータ・プログラムとして実装されることができる。集合的にこの特定目的のハードウェア及びソフトウェアは、上述した機能を含む。
【0145】
上記のものは、本発明のある実施形態によって実行される動作の特定の順序を記述するが、代替的な実施形態は、動作を異なる順序、動作のある組み合わせ、ある動作の重ね合わせなどにおいて実行することができるように、そのような順序は、例示的であることについて理解されるべきである。所与の実施形態に対する本明細書における参照は、説明された実施形態が特定の特徴、構造、又は特性を含むことができることを示すが、すべての実施形態が特定の特徴、構造又は特性を含む必要はない可能性がある。
【0146】
最後にシステムの所与のコンポーネントが別々に説明されてきたが、当業者は、いくつかの機能が組み合わせされることができるか、又は所与の命令、プログラム・シーケンス、コード部分などにおいて共有されることができることについて認識するであろう。
【0147】
さらに、FHEは、まさに代表的な暗号化プロトコルであり、それは限定を意図しない。
【0148】
上述した本アプローチは、クライアント-サーバのコンテキストにおけるFHEベースの推定を実装するが、これは限定ではない。上記に説明した技術はまた、木へのアクセスを有するクライアント内に実装することができる。
【0149】
さらに、推定は、好ましくは、FHEプロトコルを使用して発生するが、本明細書の本アプローチは、他のマルチ・パーティのセキュアな計算技術、及び、テスト・ポイントのプライバシー、モデル、又は保護されるべき所望の両者で増強される可能性がある。
【0150】
本明細書の本技術は、別の技術又は技術分野、すなわち、FHEシステム及び方法の計算効率に対する改善に加えて、FHEベースの推定ツール及びシステム、及びそのような技術を取り込むか又は受け取るクラウド・ベースのシステムへの実装を提供する。
【0151】
本フレームワークが使用されるべき特定のユース・ケース又は用途は、本開示を限定しない。
【0152】
本明細書のアプローチは、FHE暗号化データ・ポイントの受領に先だって説明された1つ又はそれ以上の動作を実行するサーバを想定するが、この事前処理は、要件として必要とはされない。代替的なアプローチは、サーバがこのプロセッシングの全部又はいくつかを、クライアント・クエリーの受領に応答してオンデマンド(すなわち動的に)に実行することである。
【0153】
本主題を説明してきたが、請求されるものは以下の通りである。
図1
図2
図3
図4
図5
図6
図7