(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-16
(45)【発行日】2025-01-24
(54)【発明の名称】準同型暗号化データに関するデシジョン・ツリー・ベースの推論
(51)【国際特許分類】
G06N 3/08 20230101AFI20250117BHJP
G09C 1/00 20060101ALI20250117BHJP
【FI】
G06N3/08
G09C1/00 650Z
(21)【出願番号】P 2022562578
(86)(22)【出願日】2021-04-09
(86)【国際出願番号】 EP2021059280
(87)【国際公開番号】W WO2021219342
(87)【国際公開日】2021-11-04
【審査請求日】2023-09-25
(32)【優先日】2020-04-30
(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)【発明者】
【氏名】バクリン、ローマン
【審査官】新井 則和
(56)【参考文献】
【文献】特開2019-040047(JP,A)
【文献】国際公開第2019/102624(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
デシジョン・ツリー・ベースのモデルに関するプライバシーを保持する準同型推論のためのコンピュータ実装方法であって、
前記デシジョン・ツリーの1つまたは複数の決定境界を学習するようにニューラル・ネットワーク・モデルをトレーニングすることであって、前記ニューラル・ネットワーク・モデルが
3層未満の深度を有し、前記デシジョン・ツリーをトレーニングするために使用される元のデータ・セットへのアクセスを必要とすることなくトレーニングされる、前記トレーニングすることと、
前記デシジョン・ツリーの代わりに
前記3層未満のニューラル・ネットワーク・モデルに関する準同型推論を実施することと
を含むコンピュータ実装方法。
【請求項2】
前記ニューラル・ネットワーク・モデルをトレーニングすることが、
前記デシジョン・ツリーにランダム・データ・セットを適用することであって、前記ランダム・データ・セットが、前記元のデータ・セットの分布特性に合致し、前記ランダム・データ・セットを適用することから、対応する回帰出力を得る、前記適用することと、
前記ランダム・データ・セットおよび前記回帰出力を使用して、前記ニューラル・ネットワーク・モデルをトレーニングすることとを含み、
トレーニングの後に、トレーニング済みニューラル・ネットワーク・モデルからの出力が、前記デシジョン・ツリーに前記元のデータ・セットを適用することから得られると予想される出力にほぼ合致する、請求項1に記載の方法。
【請求項3】
前記分布特性がトレーニング統計を含む、請求項2に記載の方法。
【請求項4】
前記トレーニング統計が、最小値および最大値、ならびにfeature-wise平均および分散のうちの1つである、請求項3に記載の方法。
【請求項5】
前記デシジョン・ツリー・ベースのモデルがデシジョン・ツリーの集合である、請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記集合が適応ブースティング・リグレッサ、ランダム・フォレスト・リグレッサ、および勾配ブースティング・リグレッサのうちの1つである、請求項5に記載の方法。
【請求項7】
前記準同型推論が、
クライアントの公開鍵で前記ニューラル・ネットワーク・モデルを暗号化することと、
クラウド・コンピューティング環境で暗号化ニューラル・ネットワーク・モデルをホストすることと、
前記クライアントから暗号化推論照会を受信することと、
前記
暗号化推論照会を復号することなく、前記暗号化推論照会に暗号化ニューラル・ネットワーク・モデルを適用することと、
前記クライアントに暗号化結果を返すことと
を含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
装置であって
プロセッサと、
前記プロセッサによって実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリであって、前記コンピュータ・プログラム命令が、デシジョン・ツリー・ベースのモデルに関するプライバシーを保持する準同型推論を提供するように構成され、前記コンピュータ・プログラム命令が、
前記デシジョン・ツリーの1つまたは複数の決定境界を学習するようにニューラル・ネットワーク・モデルをトレーニングすることであって、前記ニューラル・ネットワーク・モデルが
3層未満の深度を有し、前記デシジョン・ツリーをトレーニングするために使用される元のデータ・セットへのアクセスを必要とすることなくトレーニングされる、前記トレーニングすることと、
前記デシジョン・ツリーの代わりに
前記3層未満の深度ニューラル・ネットワーク・モデルに関する準同型推論を実施することと
を行うように構成される、前記コンピュータ・メモリと
を備える装置。
【請求項9】
プロセッサに、請求項1ないし6のいずれか一項に記載の方法を実行させるためのプログラム。
【請求項10】
クラウド・コンピューティング・インフラストラクチャからのmachine learning-as-a-serviceの方法であって、
ニューラル・ネットワークを設けることであって、前記ニューラル・ネットワークがデシジョン・ツリー・ベースの回帰モデルに対するプロキシとして構築され、前記ニューラル・ネットワークが、前記
回帰モデル
にデータ・セットを適用することから生成される、対応する予測出力と共に、
前記データ・セットを使用してトレーニングされており、前記データ・セットが、トレーニング・データに関連する1つまたは複数の分布特性によって境界を定められる、前記設けることと、
クライアントの公開鍵で前記ニューラル・ネットワークを暗号化することと、
暗号化推論照会の受信に応答して、前記暗号化推論照会を復号することなく、前記暗号化推論照会に前記ニューラル・ネットワークを適用して暗号化応答を生成することと、
前記クライアントに前記暗号化応答を返すことと
を含む方法。
【請求項11】
前記デシジョン・ツリー・ベースの回帰モデルがデシジョン・ツリーの集合である、請求項10に記載の方法。
【請求項12】
前記集合が適応ブースティング・リグレッサ、ランダム・フォレスト・リグレッサ、および勾配ブースティング・リグレッサのうちの1つである、請求項11に記載の方法。
【請求項13】
前記ニューラル・ネットワークが、入力層、出力層、および3つ以下の隠れ層を有する浅いニューラル・ネットワークである、請求項10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化データに対する推論を容易にするための完全準同型暗号化演算の使用に関する。
【背景技術】
【0002】
「デシジョン・ツリー」は、多くの適用分野についての共通の意思決定支援モデルである。デシジョン・ツリー(DT)は、フローチャートのようなノードの構造であり、各内部ノードが属性に関するテストを表し、各分岐がテストの結果を表し、各リーフ・ノードがクラス・ラベル(すべての属性を計算した後の決定)を表す。ルートからリーフまでの経路は分類規則を表す。デシジョン・ツリーは、データ・セットに関してトレーニングされ得、対応する回帰出力が得られる。
【0003】
モデルが何らかの組織に属するが、外部と共有することができないときなど、このタイプのデシジョン・ツリー回帰モデルをトレーニングするために必要とされるデータが機密である多くのシナリオがある。たとえば、クレジット・カード取引情報はクレジット・カード会社では利用可能であるが、通常のユーザにとっては利用可能ではない。同様に、患者に関するヘルスケア・データは病院内では利用可能であるが、研究者が癌の進行を理解するためにデータ内のパターンを見つけるためには利用可能ではない。さらに、プライバシーの問題(新しい欧州データ・プライバシー規則GDPRなど)によってデータの可用性が制限され得る。同様の状況が、各競争者が正確なモデルを構築するために各競争者のデータを引き寄せ(pull)たい場合(相異なる銀行が、取引に関するデータを有し、詐欺検出モデルを構築したい場合など)に生じる。データの可用性を制限することにより、そうでない場合に有用であるモデルを使用することが妨げられ、またはその性能が低下し得る。
【0004】
こうしたプライバシーの問題に対処するために、machine learning-as-a-service(MLaaS)解決策を提供することが従来技術で知られており、このタイプのトレーニング済みモデルがクラウド・サーバ上でホストされ、サービスとしてのホスティング・クラウド・サーバにより、ユーザがモデルに関する推論照会を実行することが可能となる。この概念は、プライバシー保持推論と呼ばれることがあり、その目標は、ユーザがモデルによって返されるスコアリング・ポイント・データのプライバシーを維持するためのセキュアな方式を提供すると共に、たとえば所有権、規制、または他の理由で、クラウド・プロバイダがモデルのプライバシーを保護することも可能にすることである。例示的使用事例には、(たとえば、病気の可能性を予測するために)モデルをトレーニングすると共に、データ機密性のために厳しいプライバシー制限と共にスコアリング・サービスを提供することを望む病院、およびクレジット・リスク・モデルをトレーニングし、同様に法的要件または規制要件のために厳しいプライバシー制限と共にスコアリング・サービスを提供する金融クレジット・スコアリング会社(financial credit scoring firm)が含まれる。この目的で、こうしたタイプの解決策は、完全準同型暗号化(FHE)として知られる高度な暗号技術を実装し、FHEは、モデルでクライアント・データを復号する必要なしにクライアント・データに関するセキュアな計算を可能にすると同時に、モデル自体の秘密を保持するための方式を実現する。
【0005】
準同型暗号化は著しい利点をもたらすが、デシジョン・ツリーベース・モデルは、FHE技術を使用して効率的に処理することには適していない。モデル・ノードで実施される基本的演算は2つの値の比較であり、この比較は(FHEを使用して実施されるとき)、(たとえば、S字形関数f(x)=1/(1+e-x)を使用する)非線形演算であるので、この問題が(FHEの文脈で)生じる。結果として、比較はあいまいであり、さらに、スケーリング因子が一様ではないのでスケーリングが難しい。したがって、こうした分岐計算を完全準同型暗号化方式で実装するのは現実的ではなく、したがって依然としてデシジョン・ツリーに関するFHEベースの推論を実現する課題がある。
【発明の概要】
【0006】
本発明の実施形態はこの問題に対処する。DTモデル自体に関する準同型推論を実施する代わりに、本明細書での手法は、DTモデルの代わりに特別にトレーニングされた低深度ニューラル・ネットワーク(NN)を使用し、次いで準同型推論がニューラル・ネットワークに関して実施される。このようにして、ニューラル・ネットワークはDTモデルに対する代理(surrogate)またはプロキシであり、DTモデルに対して推論することによって通常は必要とされる、成り立たない(untenable)分岐計算が回避される。
【0007】
この目的で、本発明の実施形態によれば、ニューラル・ネットワークがDTツリーの決定境界(decision boundary)を学習するようにトレーニングされる。この演算は、DTモデル所有者によってクリアで(プレーンテキストで)実施され、好ましくは、ニューラル・ネットワーク・トレーニングが、DTモデル自体のために使用される元のデータ・トレーニング・ポイントを使用することなく行われる。このトレーニング段階では、ランダム・データ・セットがDTに適用され、(ツリーを適用することからの)その予想出力が取得される。ランダム・データ・セットの分布特性(たとえば、最小値および最大値、feature-wise平均および分散など)は、元のデータ・セットの分布特性に合致する。次いで、このランダム・データ・セットおよび予想出力がニューラル・ネットワークをトレーニングするために使用され、それによってニューラル・ネットワークの出力が、DTに元のデータ・セットを適用することから予想される出力に合致する。好ましくは、ニューラル・ネットワークは低い深度(たとえば、約3層未満)を有し、したがって本明細書では「浅い」と呼ばれることがある。トレーニングされた後に、DTに対して直接的に推論する代わりに、浅いニューラル・ネットワークに対して推論が実施される。言い換えれば、デシジョン・ツリーに対するHEベースの推論が、浅いニューラル・ネットワークに対するHE推論を使用して行われる。後者は計算効率が良く、ブートストラッピングの必要なしに実施される。
【0008】
上記では、主題のより関係のある特徴のいくつかを略述した。こうした特徴は、例示的なものに過ぎないと解釈されるべきである。開示される主題を異なる方式で適用することによって、または説明されるように主題を修正することによって、多くの他の有益な結果が達成され得る。
【0009】
本発明およびその利点のより完全な理解のために、添付の図面と共に行われる以下の説明がこれから参照される。
【図面の簡単な説明】
【0010】
【
図1】例示的実施形態の例示的態様が実装され得る分散型データ処理環境を示す例示的ブロック図である。
【
図2】例示的実施形態の例示的態様が実装され得るデータ処理システムの例示的ブロック図である。
【
図3】開示される主題が実装され得る例示的クラウド・コンピューティング・アーキテクチャを示す図である。
【
図4】本開示の技術が実装され得る代表的machine learning-as-a-service(MLaaS)動作環境である。
【
図5】当該のデシジョン・ツリーの決定境界を学習するように低深度ニューラル・ネットワークがトレーニングされ、それによってデシジョン・ツリーに対するHE推論のためにNNをプロキシとして使用することが可能となる、本開示の技術を示す図である。
【
図6】本開示による、デシジョン・ツリーに関する、プライバシーを保持するHEベースの推論(privacy-preserving HE-based inferencing)のためのシステムを含む高レベル機能のセットを示すブロック図である。
【
図7】デシジョン・ツリーの集合に対してプライバシーを保持する準同型推論を容易にするように本開示の技術がどのように拡張されるかを示す図である。
【発明を実施するための形態】
【0011】
ここで図面、特に
図1~2を参照すると、本開示の例示的実施形態が実装され得るデータ処理環境の例示的ダイアグラムが提供される。
図1~2は例示的なものに過ぎず、開示される主題の態様または実施形態が実装され得る環境に関して何らかの限定を主張または示唆するものではないことを理解されたい。本発明の範囲から逸脱することなく、図示される環境に対する多くの修正が行われ得る。
【0012】
クライアント-サーバ技術
ここで図面を参照すると、
図1は、例示的実施形態の態様が実装され得る例示的分散型データ処理システムの絵画表現を示す。分散型データ処理システム100は、例示的実施形態の態様が実装され得るコンピュータのネットワークを含み得る。分散型データ処理システム100は少なくとも1つのネットワーク102を含み、ネットワーク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はインターネットであり、ネットワーク102は、互いに通信するためにプロトコルの伝送制御プロトコル/インターネット・プロトコル(TCP/IP)スイートを使用するネットワークおよびゲートウェイの世界的な集合を表す。インターネットの中心は、データおよびメッセージをルーティングする数千の商業、政府、教育、および他のコンピュータ・システムからなるメジャー・ノードまたはホスト・コンピュータの間の高速データ通信回線のバックボーンである。もちろん、分散型データ処理システム100はまた、たとえばイントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)などのいくつかの異なるタイプのネットワークを含むように実装され得る。前述のように、
図1は、開示される主題の様々な実施形態についてのアーキテクチャ上の制限としてではなく一例として意図され、したがって
図1に示される特定の要素は、本発明の例示的実施形態が実装され得る環境に関する制限と見なされるべきではない。
【0015】
次に
図2を参照すると、例示的実施形態の態様が実装され得る例示的データ処理システムのブロック図が示されている。データ処理システム200は、本開示の例示的実施形態についてのプロセスを実装するコンピュータ使用可能コードまたは命令が配置され得る、
図1のクライアント110などのコンピュータの一例である。
【0016】
次に
図2を参照すると、例示的実施形態が実装され得るデータ処理システムのブロック図が示されている。データ処理システム200は、例示的実施形態についてプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令が配置され得る、
図1のサーバ104やクライアント110などのコンピュータの一例である。この例示的な例では、データ処理システム200は通信ファブリック202を含み、通信ファブリック202は、プロセッサ・ユニット204、メモリ206、永続的ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212、およびディスプレイ214の間の通信を実現する。
【0017】
プロセッサ・ユニット204は、メモリ206内にロードされ得るソフトウェアについての命令を実行するように働く。プロセッサ・ユニット204は、特定の実装に応じて、1つまたは複数のプロセッサのセットであり得、またはマルチプロセッサ・コアであり得る。さらに、プロセッサ・ユニット204は、メイン・プロセッサが単一のチップ上に2次プロセッサと共に存在する、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内にロードされ得る。様々な実施形態のプロセスが、コンピュータ実装命令を使用してプロセッサ・ユニット204によって実施され得、コンピュータ実装命令は、メモリ206などのメモリ内に配置され得る。こうした命令は、プロセッサ・ユニット204内のプロセッサによって読み取られ、実行され得るプログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。様々な実施形態でのプログラム・コードは、メモリ206や永続的ストレージ208などの様々な物理的または有形コンピュータ可読媒体上で実施され得る。
【0022】
プログラム・コード216は、選択的に取外し可能であるコンピュータ可読媒体218上に機能的形態で配置され、プロセッサ・ユニット204による実行のためにデータ処理システム200上にロードされ、またはデータ処理システム200に転送され得る。プログラム・コード216およびコンピュータ可読媒体218は、こうした例ではコンピュータ・プログラム製品220を形成する。一例として、コンピュータ可読媒体218は、永続的ストレージ208の部分であるハード・ドライブなどの記憶デバイス上に転送するために、永続的ストレージ208の部分であるドライブまたは他のデバイス内に挿入または配置される、たとえば、光または磁気ディスクなどの有形形態であり得る。有形形態では、コンピュータ可読媒体218はまた、データ処理システム200に接続される、ハード・ドライブ、サム・ドライブ、フラッシュ・メモリなどの永続的ストレージの形態を取り得る。有形形態のコンピュータ可読媒体218はまた、コンピュータ記録可能記憶媒体とも呼ばれる。ある場合には、コンピュータ記録可能媒体218は取外し可能ではないことがある。
【0023】
代替として、プログラム・コード216は、通信ユニット210への通信リンクまたは入力/出力ユニット212への接続あるいはその両方を通じて、コンピュータ可読媒体218からデータ処理システム200に転送され得る。通信リンクまたは接続あるいはその両方は、例示的な例では物理的またはワイヤレスであり得る。コンピュータ可読媒体はまた、プログラム・コードを含む通信リンクやワイヤレス伝送などの無形媒体の形態を取り得る。データ処理システム200について図示される様々な構成要素は、様々な実施形態が実装され得る方式に対するアーキテクチャ上の制限を与えることを意味するわけではない。データ処理システム200について図示されるものに加えて、またはその代わりに構成要素を含むデータ処理システムで、様々な例示的実施形態が実装され得る。
図2に示される他の構成要素は、図示される例示的な例とは異なり得る。一例として、データ処理システム200内の記憶デバイスは、データを記憶し得る任意のハードウェア装置である。メモリ206、永続的ストレージ208、およびコンピュータ可読媒体218は、有形形態の記憶デバイスの例である。
【0024】
別の例では、バス・システムが通信ファブリック202を実装するために使用され得、システム・バスや入力/出力バスなどの1つまたは複数のバスから構成され得る。もちろん、バス・システムは、バス・システムに取り付けられた相異なる構成要素またはデバイスの間のデータの転送を実現する任意の適切なタイプのアーキテクチャを使用して実装され得る。さらに、通信ユニットは、モデムやネットワーク・アダプタなどの、データを送信および受信するために使用される1つまたは複数のデバイスを含み得る。さらに、メモリは、たとえば、メモリ206、または通信ファブリック202内に存在し得るインターフェースおよびメモリ・コントローラ・ハブ内で見出されるようなキャッシュであり得る。
【0025】
本発明の動作を実施するためのコンピュータ・プログラム・コードは、Java(R)(TM)、Smalltalk(R)、C++、C#、Objective-Cなどのオブジェクト指向プログラミング言語、および従来の手続型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラム・コードは、完全にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに接続が行われ得る。
【0026】
図1~2のハードウェアは実装に応じて様々であり得ることを当業者は理解されよう。フラッシュ・メモリ、同等の不揮発性メモリ、光ディスク・ドライブなどの他の内部ハードウェアまたは周辺デバイスが、
図1~2に示されるハードウェアに加えて、またはその代わりに使用され得る。さらに、例示的実施形態のプロセスは、開示される主題の範囲から逸脱することなく、前述のSMPシステム以外のマルチプロセッサ・データ処理システムに適用され得る。
【0027】
理解するであろうが、本明細書で説明される技術は、クライアント・マシンが1つまたは複数のマシンのセット上で実行されるインターネットアクセス可能なウェブ・ベースのポータルと通信する、
図1に示されるような標準クライアント-サーバ・パラダイムと共に動作し得る。エンド・ユーザは、ポータルにアクセスすることができ、ポータルと対話することのできるインターネット接続可能デバイス(たとえば、デスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット対応モバイル・デバイスなど)を操作する。通常、各クライアントまたはサーバ・マシンは、ハードウェアおよびソフトウェアを含む、
図2に示されるようなデータ処理システムであり、こうしたエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意の他の通信媒体もしくはリンクなどのネットワークを介して互いに通信する。データ処理システムは通常、1つまたは複数のプロセッサ、オペレーティング・システム、1つまたは複数のアプリケーション、および1つまたは複数のユーティリティを含む。データ処理システム上のアプリケーションは、限定はしないが、とりわけHTTP、SOAP、XML、WSDL、UDDI、およびWSFLに対するサポートを含む、ウェブ・サービスに対するネイティブ・サポートを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、こうした規格を開発し、維持する役割を果たすワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、HTTPおよびXMLに関するより詳しい情報はインターネット・エンジニアリング・タスク・フォース(IETF)から入手可能である。こうした規格への精通が想定される。
【0028】
クラウド・コンピューティング・モデル
新興の情報技術(IT)配信モデルはクラウド・コンピューティングであり、クラウド・コンピューティングによって、共有リソース、ソフトウェア、および情報が、インターネットを介してコンピュータおよび他のデバイスにオンデマンドで提供される。クラウド・コンピューティングは、ITコストおよび複雑さを著しく削減すると共に、作業負荷最適化およびサービス配信を改善し得る。この手法を用いて、アプリケーション・インスタンスがホストされ、HTTPを介する従来のウェブ・ブラウザを通じてアクセス可能であるインターネット・ベースのリソースから利用可能にされ得る。例示的アプリケーションは、eメール、カレンダ、連絡先管理、インスタント・メッセージングなどのメッセージング機能の共通セットを提供するものであり得る。次いでユーザは、インターネットを介して直接的にサービスにアクセスすることになる。このサービスを使用して、企業は、企業のeメール、カレンダ、または共同インフラストラクチャをクラウド内に配置することになり、エンド・ユーザは、適切なクライアントを使用してエンド・ユーザのeメールにアクセスし、またはカレンダ操作を実施することになる。
【0029】
通常、クラウド計算リソースは、通常は仮想化アーキテクチャを使用して1つまたは複数のネットワーク・アプリケーションを実行する大規模なサーバ・ファーム内に収容され、アプリケーションは、データ・センタ施設内の物理サーバ上にマッピングされる仮想サーバ、またはいわゆる「仮想マシン」(VM)内部で動作する。仮想マシンは通常、仮想マシンに物理リソースを割り振る制御プログラムであるハイパーバイザの上で動作する。
【0030】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの対話で迅速にプロビジョニングされ、解放され得る、構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、すべてPeter MellおよびTim Granceによる「Draft NIST Working Definition of Cloud Computing」、2009年10月7日でより具体的に説明され、定義されるように、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの配置モデルを含み得る。
【0031】
具体的には、以下が典型的な特徴である。
【0032】
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人間の対話を必要とすることなく、必要に応じて自動的に、サーバ時間やネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングし得る。
【0033】
広範なネットワーク・アクセス:機能がネットワークを介して利用可能であり、異種シンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を通じてアクセスされる。
【0034】
リソース・プーリング:マルチ・テナント・モデルを使用して複数の消費者にサービスするためにプロバイダのコンピューティング・リソースがプールされ、異なる物理および仮想リソースが、要求に従って動的に割当ておよび再割当てされる。消費者は一般に、提供されるリソースの厳密な位置に関する制御または知識を有さないが、より高いレベルの抽象化(たとえば、国、州、またはデータセンタ)で位置を指定することができ得るという点で、ある意味で位置独立性がある。
【0035】
迅速な弾力性:迅速にスケールアウトし、迅速に解放して迅速にスケールインするために、機能が、迅速かつ弾力的に、あるケースでは自動的にプロビジョニングされ得る。消費者にとって、プロビジョニングのために利用可能な機能はしばしば、無制限であり、いつでも任意の量を購入できるように見える。
【0036】
測定サービス:クラウド・システムは、サービスのタイプにとって適切な何らかのレベルの抽象化(たとえば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)の計量機能を活用することによってリソース使用を自動的に制御し、最適化する。リソース使用量が監視され、制御され、レポートされ得、利用されるサービスのプロバイダと消費者の両方についての透明性が実現される。
【0037】
サービス・モデルは通常は以下の通りである。
【0038】
Software as a Service(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースのeメール)などのシン・クライアント・インターフェースを通じて、様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基礎となるクラウド・インフラストラクチャを管理または制御しないが、可能性のある例外は、限定されたユーザ特有のアプリケーション構成設定である。
【0039】
Platform as a Service(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウド・インフラストラクチャ上に配置することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎となるクラウド・インフラストラクチャを管理または制御しないが、配置されるアプリケーション、および場合によってはアプリケーション・ホスティング環境構成に関する制御を有する。
【0040】
Infrastructure as a Service(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、および他の基本コンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配置および実行することができる。消費者は、基礎となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、配置されるアプリケーションに関する制御、および場合によっては選択されたネットワーキング構成要素(たとえば、ホスト・ファイアウォール)の限定された制御を有する。
【0041】
配置モデルは通常は以下の通りである。
【0042】
プライベート・クラウド:クラウド・インフラストラクチャが組織だけのために運用される。クラウド・インフラストラクチャは、組織または第3者によって管理され得、オンプレミスまたはオフプレミスで存在し得る。
【0043】
コミュニティ・クラウド:クラウド・インフラストラクチャがいくつかの組織によって共有され、共有される関心事(たとえば、任務、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織または第3者によって管理され得、オンプレミスまたはオフプレミスで存在し得る。
【0044】
パブリック・クラウド:クラウド・インフラストラクチャが、一般社会または大規模な産業グループに対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【0045】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーション・ポータビリティを可能にする標準化技術または所有権を主張できる技術(たとえば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって互いに結び付けられる2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成である。
【0046】
クラウド・コンピューティング環境は、ステートレスネス(statelessness)、低結合、モジュラリティ、およびセマンティック相互運用性(semantic interoperability)に焦点を合わせることを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。代表的クラウド・コンピューティング・ノードが上記の
図2に示されている。具体的には、クラウド・コンピューティング・ノードにおいて、多数の他の汎用または専用コンピューティング・システム環境または構成と共に動作可能であるコンピュータ・システム/サーバがある。コンピュータ・システム/サーバと共に使用するのに適していることがある周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例には、限定はしないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などが含まれる。コンピュータ・システム/サーバは、コンピュータ・システムによって実行中の、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明され得る。一般に、プログラム・モジュールは、特定のタスクを実施し、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム/サーバは、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実施される分散型クラウド・コンピューティング環境で実施され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含む、ローカル・コンピュータ・システム記憶媒体とリモート・コンピュータ・システム記憶媒体の両方に配置され得る。
【0047】
次に
図3を参照すると、追加の背景として、クラウド・コンピューティング環境によって提供される機能抽象化層のセットが示されている。
図3に示される構成要素、層、および機能は例示的なものに過ぎず、本発明の実施形態はそれに限定されないことをあらかじめ理解されたい。図示されるように、以下の層および対応する機能が提供される。
【0048】
ハードウェアおよびソフトウェア層300が、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例には、メインフレーム、一例としてIBM(R) zSeries(R)システム、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、一例としてIBM pSeries(R)システム、IBM xSeries(R)システム、IBM BladeCenter(R)システム、記憶デバイス、ネットワーク、およびネットワーキング構成要素が含まれる。ソフトウェア構成要素の例には、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例としてIBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例としてIBM DB2(R)データベース・ソフトウェアが含まれる(IBM zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの管轄区域で登録されたインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である)。
【0049】
仮想化層302は、仮想エンティティの以下の例がそれから提供され得る抽象化層を提供する:仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアント。
【0050】
一例として、管理層304は以下で説明される機能を提供し得る。リソース・プロビジョニングが、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的調達(dynamic procurement)を実現する。計量および価格設定(Metering and Pricing)が、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡と、こうしたリソースの消費に対する請求書作成(billing)または送り状送付(invoicing)とを実現する。一例として、こうしたリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティが、クラウド消費者およびタスクについての識別検証、ならびにデータおよび他のリソースに対する保護を実現する。ユーザ・ポータルが、消費者およびシステム管理者のためのクラウド・コンピューティング環境へのアクセスを実現する。サービス・レベル管理が、必要とされるサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割振りおよび管理を実現する。サービス・レベル・アグリーメント(SLA)計画および履行が、SLAに従って、将来の必要が予想されるクラウド・コンピューティング・リソースの事前調整および調達を実現する。
【0051】
作業負荷層306が、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得る作業負荷および機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想クラスルーム教育配信、データ解析処理、取引処理、プライベート・クラウドにおける企業特有の機能、および本開示によれば、準同型暗号化データ308に関するプライバシーを保持する準同型推論のための技術が含まれる。
【0052】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載の教示の実装は、クラウド・コンピューティング環境に限定されないことをあらかじめ理解されたい。むしろ、開示される技術の実施形態は、現在知られている、または後に開発される任意の他のタイプのコンピューティング環境と共に実装することができる。これらには、スタンドアロン・コンピューティング環境(たとえば、オンプレミス・デスクトップ・マシン)、クライアント-サーバ・ベースのアーキテクチャなどが含まれる。
【0053】
したがって、代表的クラウド・コンピューティング環境は、フロントエンド識別マネージャ、ビジネス・サポート・サービス(BSS)機能構成要素、運用サポート・サービス(OSS)機能構成要素、および計算クラウド構成要素を含む高レベル機能構成要素のセットを有する。識別マネージャは、要求側クライアントとインターフェースして識別管理を提供する役割を果たし、この構成要素は、ニューヨーク州アーモンクのIBMコーポレーションから入手可能なTivoli Federated Identity Manager (TFIM)などの1つまたは複数の周知のシステムと共に実装され得る。適切な環境では、TFIMは、他のクラウド構成要素にフェデレーション・シングル・サインオン(F-SSO)を提供するために使用され得る。ビジネス・サポート・サービス構成要素は、請求書作成サポートなどのいくつかの管理機能を提供する。運用サポート・サービス構成要素は、仮想マシン(VM)インスタンスなどの他のクラウド構成要素のプロビジョニングおよび管理を実現するために使用される。クラウド構成要素はメイン計算資源を表し、メイン計算資源は通常、クラウドを介するアクセスのために利用可能にされているターゲット・アプリケーションを実行するために使用される複数の仮想マシン・インスタンスである。登録簿(directory)、ログ、および他の作業データを記憶するために1つまたは複数のデータベースが使用される。こうした構成要素のすべて(フロントエンド識別マネージャを含む)がクラウド「内」に配置されるが、これは要件ではない。代替実施形態では、識別マネージャがクラウドの外部で動作し得る。サービス・プロバイダもクラウドの外部で動作し得る。
【0054】
いくつかのクラウドは非従来型IPネットワークに基づく。したがって、たとえば、クラウドは、MACアドレスのハッシュを使用する特別な単一層IPルーティングを用いる2層CLOSベースのネットワークに基づき得る。本明細書で説明される技術は、そのような非従来型クラウドで使用され得る。
【0055】
一般化すると、クラウド・コンピューティング・インフラストラクチャは、ネットワークおよび1つまたは複数の管理サーバを介して接続されるホスト・マシン(たとえば、サーバまたは同様の物理マシン・コンピューティング・デバイス)を備える仮想マシン・ホスティング環境を提供する。通常、物理サーバはそれぞれ、VMware ESX/ESXiなどの仮想化技術を使用して1つまたは複数の仮想マシンを動的に提供するように適合される。複数のVMが単一のホスト・マシン内に配置され、ホスト・マシンのCPU、メモリ、および他のリソースを共有し得、それによって組織のデータ・センタの使用率が向上する。タスクの中でもとりわけ、管理サーバは、インフラストラクチャを監視し、たとえばホスト間で仮想マシンを移動することにより、必要に応じてVM配置を自動的に操作する。
【0056】
非限定的な実装では、代表的プラットフォーム技術は、限定はしないが、VMware vSphere 4.1 Update 1および5.0を伴うIBM System x(R)サーバである。
【0057】
前述の市販の実装は限定を意図するものではなく、むしろ単に、認識サービスと対話する、クラウド・コンピューティング環境内でサポートされるクライアント・アプリケーションの代表的実施形態である。
【0058】
準同型暗号化
準同型暗号化(HE)は、暗号テキストに対する計算を実施することを可能にし、したがって暗号化された結果を生成する暗号化の一形態であり、暗号化された結果は、復号されたとき、プレーンテキストに対して実施された演算の結果と合致する。準同型暗号化方式は、データを復号することなくデータに対する計算を実施することを可能にする暗号システムである。準同型暗号化は、任意の望ましい機能についてプログラムの構築を可能にし、プログラムは、暗号化入力に対して実行され、結果の暗号化を生成し得る。そのようなプログラムは決してその入力を復号する必要がないので、その入力および内部状態を明らかにすることなく、信頼できないパーティによって実行され得る。準同型暗号化は、部分準同型、somewhat準同型、または完全準同型であり得る。部分準同型暗号化(PHE)方式は、ただ1つのタイプの演算、たとえば加算または乗算に関して準同型である。somewhat準同型暗号化(SWHE)は、複数の演算、たとえば加算および乗算に関して準同型演算をサポートするが、すべての演算に関してはサポートしない。完全準同型暗号化(FHE)は、暗号テキストに対する無制限の数の準同型演算をサポートし、PHEおよびSWHEよりも強力である。準同型暗号化を実装するためのツールキットが知られている。周知のツールキットは、ニューラル・ネットワークの確率的勾配降下法(SGD)ベースのトレーニングを実装するオープン・ソース・プロジェクトであるHElibである。HElibの現バージョンは、個々のビットの暗号化を使用して、2進表現の任意の数の加算演算および乗算演算をサポートする。
【0059】
典型的HEプロトコル実装は、限定はしないが、パディングなしRSA(unpadded RSA)、EL-Gamal、Benaloh、Paillier、およびその他を含む1つまたは複数の暗号プロトコルに基づき得る。これから説明するように、本開示の技術はどんな特定のHE実装も必要としない。
【0060】
準同型暗号化を使用するmachine learning-as-a-service
次に
図4を参照すると、本明細書での技術についての基本的動作環境が示されている。図示されるように、典型的なML as a serviceシナリオでは、トレーニング済みモデル400が、前述のようなクラウド・コンピューティング・インフラストラクチャ404内のクラウド・サーバ402上でホストされる。トレーニング済みモデル400は、クラウド404上のアプリケーション・プログラミング・インターフェース(API)として公開され得る。動作の際に、サービスとして、ホスティング・クラウド・サーバ402は、ユーザがモデル400に関する推論照会を実行することを可能にする。通常、ユーザはクライアント・マシン406に関連付けられ、クライアントおよびサーバは、前述のクライアント-サーバ・モデルに従って動作するように構成される。準同型暗号化(HE)プロトコルがクライアント-サーバ動作環境にわたって実施され、それによって、クラウドはモデルのプライバシーを保護すると共に、ユーザ(クライアント)は、モデルによって返されるスコアリング・データ・ポイントのプライバシーを維持する。典型的な要求-応答ワークフローでは、クライアント406は暗号化照会408(たとえば、データ・ポイント)をクラウド・サーバ402に送り、クラウド・サーバ402はモデルを適用して、次いで応答410を返す。応答は暗号化推論結果を含む。このようにして、プライバシーを保持する推論問題がセキュアに評価される。
【0061】
上記の手法は、要求側ユーザとモデルをホストするクラウド・プロバイダの両方のそれぞれのプライバシー関心事を保持するように良好に機能するが、このタイプの推論は、デシジョン・ツリー・ベースのモデルに対して計算的に非効率である。
【0062】
ブートストラッピングなしの準同型暗号化データに関するデシジョン・ツリー・ベースの推論
上記を背景として、本開示の技術がこれから説明される。前述のように、当該のモデルがデシジョン・ツリー(またはデシジョン・ツリーの集合)であるとき、HEベースの推論は非効率である。この非効率に対処するために、DTモデル自体に関する準同型推論を実施する代わりに、本明細書での手法は、DTモデルの代わりに特別にトレーニングされたニューラル・ネットワーク(NN)を使用し、次いで準同型推論がニューラル・ネットワークに関して実施される。このようにして、ニューラル・ネットワークはDTモデルに対する代理またはプロキシであり、DTモデルに対して推論することによって通常は直面する、計算の非効率(すなわち、成り立たない分岐計算)が回避される。
【0063】
この目的で、本開示によれば、ニューラル・ネットワークがDTツリーの決定境界を学習するようにトレーニングされる(または、そのような各ツリーの決定境界は、モデル化されるべきツリーの集合である)。好ましくは、この演算は、DTモデル所有者によってクリアで(プレーンテキストで)実施され、トレーニングが、DTモデル自体のために使用される元のデータ・トレーニング・ポイントを使用することなく行われる。このトレーニング段階では、ランダム・データ・セット-しかし分布特性が(ツリーについての)元のトレーニング・データと合致する-がDTに適用され、(ツリーを適用することからの)その予想出力が取得される。次いで、このランダム・データ・セットおよびその予想出力がニューラル・ネットワークをトレーニングするために使用され、それによってニューラル・ネットワークの出力が、DTに元のデータ・セットを適用することから予想される出力に合致する。好ましくは、ニューラル・ネットワークは低い深度(たとえば、約3層未満)を有するが、特定の数の層を使用することは要件ではない。低い深度を有するニューラル・ネットワークの概念は、本明細書では「浅い」と呼ばれることがある。このタイプのニューラル・ネットワークがトレーニングされた後に、DTに対して直接的に推論する代わりに、浅いニューラル・ネットワークに対して推論が実施される。したがって、
図4の文脈では、「トレーニング済みモデル」400はデシジョン・ツリー(またはデシジョン・ツリーの集合)ではなく、実際には浅いニューラル・ネットワークである。NNに関するHEベースの推論はずっと計算的に効率的であり、ブートストラッピングの必要なしに実施される。
【0064】
図5は、当該のデシジョン・ツリー(またはツリーの集合)に対するプロキシまたは代理として使用される浅いニューラル・ネットワークを構築し、トレーニングするための本開示の基本的技術を示す。図示されるように、トレーニング済みデシジョン・ツリー500が当該のモデルを表す。トレーニング済みデシジョン・ツリー500はデータ・セットに関してトレーニングされ、データ・セットは、本明細書では元のデータ・セットと呼ばれることがある。より正式には、モデルは、データ・セットDに関するトレーニング済みデシジョン・ツリー回帰モデルDTである。出力も示されており、出力は、好ましくは以下の方式でDTの決定境界を学習する「浅い」ニューラル・ネットワーク502である。第1のステップでは、ランダム・トレーニング・データ・セットD’が計算される。ランダム・トレーニング・セットは、Dに類似する領域を有し、たとえば、DおよびD’について最小特徴値および最大特徴値が近い。より一般には、デシジョン・ツリー500に、元のデータ・セットDと共に(事前トレーニングされることによって)関連するトレーニング・データ統計で注釈が付けられる。トレーニング・データ統計は変動し得るが、通常は、各特徴、平均、分散などについての最小値および最大値を含み得る。トレーニング・データ統計の特定の性質およびタイプは変動し得、注釈付きトレーニング・データ統計を使用してデータ・セットD’をランダムに生成するためにデータ・ジェネレータ(以下で説明)が利用可能であると仮定する。第2のステップでは、データ・セットD’がデシジョン・ツリーに適用される。好ましくは、D’に関するこのデシジョン・ツリー推論は、プレーンテキストで(すなわち、クリアで)実施され、その結果、対応する回帰出力
【数1】
が得られる。その後で、第3のステップでは、
【数2】
をターゲットとして、浅いニューラル・ネットワークNがデータ・セットD’に関してトレーニングされる。トレーニングの後に、DTに関するテスト・ポイントxについての暗号化推論照会に回答するために、Nを使用して推論が実施され、すなわち以下の通りである:Enc(DT)(Enc(x))≒Enc(N)(Enc(x))。次いで、暗号化推論結果が要求側クライアントに返され、評価が完了する。
【0065】
したがって、記載の技術によれば、浅いニューラル・ネットワーク(NN)が、ツリーの決定境界を学習するようにトレーニングされる。好ましくは、このトレーニングはモデル所有者によって、クリアで、元のトレーニング・データ・ポイントを使用することなく行われる。このようにして、次いで、ニューラル・ネットワークに関する準同型推論を実施することによってツリーの準同型評価が近似される。ネットワークは浅い(たとえば、入力層、出力層、および2つの隠れ層)ことが好ましく、ブートストラッピングなしに行われ得るので、この評価は非常に効率的である。このようにして、この技術により、デシジョン・ツリー自体の中の非線形比較に関してHE推論を行うことが必要とされる場合に普通なら必要とされる、成り立たない分岐計算が回避される。副産物として、スケーリングが不要であるので、デシジョン・ツリー自体に関する推論に関連するスケーリングの問題も克服される。
【0066】
図6は、前述の機能を実装する代表的コンピューティング・システムのブロック図を示す。典型的な実装では、こうした構成要素がクラウド計算インフラストラクチャ内で、たとえば1つまたは複数のプロセッサ(物理的か、それとも仮想的かに関わらず)上で実行されるコンピュータ・ソフトウェアとして実装される。図示されるように、システム600は、データ・ジェネレータ602、非プライベート・デシジョン・ツリー評価器604、ネットワーク・デザイナ606、ネットワーク・トレーナ608、ネットワーク・エンクリプタ(encryptor)610、およびプライベート評価器612を備える。こうした構成要素のうちの1つまたは複数が互いに組み合わされ得、上記で識別される用語は限定的ではないものとする。データ・ジェネレータ602は、デシジョン・ツリーを事前トレーニングするために使用される元のデータ・セットからの注釈付きトレーニング・データ統計を使用してランダム・データ・セットD’をランダムに生成するという主な機能を有する。非プライベート・デシジョン・ツリー評価器604は、デシジョン・ツリーに関する(またはそのようなツリーの集合の各デシジョン・ツリーに関する)ランダム・データ・セットについての予測出力を計算する。ネットワーク・デザイナ606は、デシジョン・ツリーについてのニューラル・ネットワークN(または集合モデル内の各デシジョン・ツリーについてのNN)を構築する。ネットワーク・トレーナ608は、ランダムに生成されたデータ・セットおよび対応する予想出力
【数3】
(これはデシジョン・ツリーでもある)を使用してニューラル・ネットワークN(または、集合モデル内のそのような各NN)をトレーニングする。前述のように、ネットワーク・トレーナ608は、デシジョン・ツリー(またはデシジョン・ツリーの集合内の各デシジョン・ツリー)の決定境界を学習するように浅いニューラル・ネットワークをトレーニングする。ネットワーク・エンクリプタ610は、各Nについて準同型暗号化を実施する。プロセスの間に、ネットワーク・エンクリプタ610は、クライアントの公開鍵を使用して浅いネットワークを暗号化する。最後に、プライベート評価器612は、1つまたは複数のユーザ提供HEデータ・ポイントに対するネットワークNに関する準同型推論を実施し、暗号化結果(暗号化予測)をユーザに返す。
【0067】
限定を意図することなく、好ましくは、浅いニューラル・ネットワークは、当該のデシジョン・ツリーの決定境界を学習するように、ランダムに生成されたデータに関してクリアでトレーニングされる。2つの隠れ層Nに関するHE推論は、1つの代表的であるが非限定的な実施形態である。そのような推論が、この場合もブートストラッピングを必要とすることなく、HElibを使用して効率的に行われるからである。実験的解析は、サンプル回帰データ・セットに関して、HE推論誤差は非プライベートな対応物(non-private counterpart)の2~3%以内であること、ならびに集合内のデシジョン・ツリーの数および使用されるNNの複雑さに応じて、償却実行時間(amortized runtime)がポイント当たり50~300ミリ秒の範囲内であることを示している。
【0068】
図7は、デシジョン・ツリーの集合内にあるデシジョン・ツリー・ベースのモデルについての代表的実施形態を示す。集合デシジョン・ツリー・ベースのリグレッサ(regressor)は、限定はしないが、適応ブースト・リグレッサ、ランダム・フォレスト・リグレッサ、および勾配ブースト・リグレッサを含む様々な周知のタイプのものである。この実施形態では、ツリーの集合700があり、前述のように、各ツリーは関連する浅いニューラル・ネットワーク702を有する。より正式には、トレーニング済みのツリーの集合E
dt=(DT
1,DT
2,...,DT
k)、単一ツリー手法を使用して(DT
1,DT
2,...,DT
k)についてのニューラル・ネットの集合を得る出力E
nn=(N
1,N
2,...,N
k)を仮定すると、たとえば勾配ブーストについて、推論が個々のツリー推論に関する集約として与えられる:Enc(E
dt)(Enc(x))≒Enc(E
nn)(Enc(x))=Σ
jは[k]の要素Enc(N
j)(Enc(x))。異なる集合方法が異なる特性、たとえば適応ブースト(中央値)、ランダム・フォレスト(平均)などを集約するので、上記の式は一般解であることは意図されない。
【0069】
本開示技術は著しい利点をもたらす。前述のように、本明細書の手法は、事前トレーニング済みデシジョン・ツリーに関するプライバシーを保持する推論(具体的には、集合デシジョン・ツリー・ベースの回帰モデル)を、しかし計算的に効率的な方式で提供する方法を実現する。この手法は、ツリーの決定境界を学習する浅いニューラル・ネットワークをトレーニングする概念を活用し、次いでツリーの準同型評価が、ニューラル・ネットワークに関する準同型推論を代わりに実施することによって近似される。ニューラル・ネットワークに関するHE推論は効率的であるので、本明細書の手法はブートストラッピングを必要としない。
【0070】
好ましくは、前述の手法は、全トレーニング・データの可用性を仮定するが、これは要件ではない。技術は、全トレーニング・データなしで決定モデルが既に利用可能であり、または限定されたトレーニング・データが利用可能である使用事例でも実装され得るからである。デシジョン・ツリーは、既存であり、利用可能であり得、または別のソースからアクセス可能であり得る。前述のように、元のデシジョン・ツリーをトレーニングするために使用されるトレーニング・データは(全体的または部分的に)利用可能ではないことがある。ニューラル・ネットワークをトレーニングするためのデータ・セットを作成するタスクは、こうした異なるシナリオに対処すべきである。絶対的ランダム性は非生産的かつ非効率である。得られるラベルの大部分が負であり得る(したがって有用ではない)。これを制限するために、前述のように、NNトレーニングのために使用される合成データ・セットが、元のデータ分布を模倣すべきである。一般には、分布に対する1次近似は、元のデータの平均および分散に基づく。やはり前述のように、同様の他の統計(たとえば、最小値、最大値)が、デシジョン・ツリーで予想される特徴の少なくとも範囲内に合成データの生成を誘導するための元のトレーニング・データの別の最小の記述子である。上記を限定することなく、プロセスで意味のあるラベルを生成する任意の他の統計技術も使用され得る。
【0071】
前述のように、通常は、この手法を実装するコンピューティング・システムが、ソフトウェアで、たとえば1つまたは複数のハードウェア・プロセッサによって実行されるコンピュータ・プログラム命令のセットとして実装される。システム内の特定のツールまたは構成要素が、ツールまたは構成要素によって使用または作成されるデータをサポートするための適切なインターフェースおよびデータベースと共に、任意の数のプログラム、プロセス、実行スレッドなどを含み得る。ツールまたは構成要素は、コマンド・ラインを介してウェブ・ベースのフロントエンドなどと共に構成または管理され得る。ツールまたは構成要素は、プログラム的に実装され、またはアプリケーション・プログラミング・インターフェース(API)、もしくは任意の便利な要求-応答プロトコルを介して他のコンピューティング・エンティティもしくはソフトウェア・システムと相互運用する1つまたは複数の機能を含み得る。
【0072】
1つもしくは複数の市販の製品またはサービスへの本明細書での任意の参照は例示的なものであり、開示される技術を限定するように理解されるべきではなく、開示される技術は、説明された一般的特性および動作機能を有する任意のシステム、デバイス、アプライアンス(またはより一般には、マシン)上で実装され得る。
【0073】
前述のように、この主題の好ましい一実装はas-a-serviceであるが、これはどちらも限定ではない。HEベースの推論は、完全にオンプレミスで、またはスタンドアロン動作環境内で実施され得る。前述のように、限定はしないが、主題は、クラウド配置プラットフォーム・システムもしくはアプライアンス内で、またはそれに関連して、または任意の他のタイプ配置システム、製品、デバイス、プログラム、もしくはプロセスを使用して実装され得る。前述のように、システム機能を構築または推論するモデルが、スタンドアロン機能として提供され得、または他の製品およびサービスからの機能を活用し得る。
【0074】
技術がそれと共に実装され得る代表的クラウド・アプリケーション・プラットフォームは、限定はしないが、任意のクラウドでサポートされるアプリケーション・フレームワーク、製品、またはサービスを含む。
【0075】
一般化すると、本明細書の技術は、管理解決策、サービス、製品、アプライアンス、デバイス、プロセス、プログラム、実行スレッドなどとして実装され得る。通常、技術は、ソフトウェアで、ハードウェア処理要素で実行される1つまたは複数のコンピュータ・プログラムとして、問題データベースなどの1つまたは複数のデータ・ソース内に記憶されるデータに関連して実装される。記載の処理ステップのうちの一部またはすべては自動化され、他のシステムに関連して自律的に動作し得る。自動化は完全または部分的であり得、動作は(全体的または部分的に)同期もしくは非同期、要求ベース、またはその他の方法であり得る。
【0076】
こうした前述の構成要素は通常、ソフトウェアとして、すなわち1つまたは複数のハードウェア・プロセッサで実行されるコンピュータ・プログラム命令のセットとしてそれぞれ実装される。構成要素は別個のものとして図示されるが、これは要件ではない。構成要素は互いに全体的または部分的に統合もされ得るからである。構成要素のうちの1つまたは複数は、専用の場所で、または互いにリモートに実行され得る。構成要素のうちの1つまたは複数は、機能を提供するために共に実行される副構成要素を有し得る。ジェネレータ・サービスの特定の機能が、上記で命名されるような特定の構成要素によって実行されるという要件はない。本明細書での機能(またはその任意の態様)は他のシステムで実装され得るからである。
【0077】
ツールおよび応答機能は、セキュリティ分析システムまたはサービスと対話または相互運用し得る。
【0078】
前述のように、前述の機能は、スタンドアロン手法、たとえば1つまたは複数のハードウェア・プロセッサによって実行される1つまたは複数のソフトウェアベースの機能として実装され得、または管理サービス(SOAP/XMLインターフェースを介するウェブ・サービスを含む)として利用可能であり得る。本明細書で説明される特定のハードウェアおよびソフトウェア実装詳細は例示のためのものに過ぎず、記載の主題の範囲を限定する意味ではない。
【0079】
より一般には、開示される主題の文脈内のコンピューティング・デバイスはそれぞれ、ハードウェアおよびソフトウェアを含む(
図2に示されるような)データ処理システムであり、こうしたエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意の他の通信媒体もしくはリンクなどのネットワークを介して互いに通信する。データ処理システム上のアプリケーションは、限定はしないが、とりわけHTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI、およびWSFLに対するサポートを含む、ウェブおよび他の周知のサービスならびにプロトコル・サービスに対するネイティブ・サポートを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、こうした規格を開発し、維持する役割を果たすワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、HTTP、FTP、SMTP、XMLに関するより詳しい情報はインターネット・エンジニアリング・タスク・フォース(IETF)から入手可能である。
【0080】
前述のように、クラウド・ベースの環境に加えて、本明細書で説明される技術は、単純なn層アーキテクチャ、ウェブ・ポータル、フェデレーション・システムなどを含む様々なサーバ側アーキテクチャ内で、またはそれと共に実装され得る。
【0081】
さらに一般には、本明細書で説明される主題は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形態を取り得る。好ましい実施形態では、機密データ検出サービス(またはその任意の構成要素)がソフトウェアで実装され、ソフトウェアは、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。さらに、ダウンロードおよび削除インターフェースおよび機能が、コンピュータまたは任意の命令実行システムによって使用する、またはそれと共に使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態を取り得る。この説明では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用する、またはそれと共に使用するためのプログラムを含み、または記憶し得る任意の装置であり得る。媒体は電子、磁気、光、電磁、赤外線、または半導体システム(または装置もしくはデバイス)であり得る。コンピュータ可読媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、硬質磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク-読取り専用メモリ(CD-ROM)、コンパクト・ディスク-読取り/書込み(CD-R/W)、およびDVDが含まれる。コンピュータ可読媒体は有形の非一過性の項目である。
【0082】
コンピュータ・プログラム製品は、記載の機能のうちの1つまたは複数を実装するためのプログラム命令(またはプログラム・コード)を有する製品であり得る。そうした命令またはコードは、リモート・データ処理システムからネットワークを介してダウンロードされた後にデータ処理システム内のコンピュータ可読記憶媒体内に記憶され得る。または、そうした命令またはコードは、サーバ・データ処理システム内のコンピュータ可読記憶媒体内に記憶され、リモート・システム内のコンピュータ可読記憶媒体内での使用のためにネットワークを介してリモート・データ処理システムにダウンロードされるように適合され得る。
【0083】
代表的実施形態では、専用コンピューティング・プラットフォーム、好ましくは1つまたは複数のプロセッサによって実行されるソフトウェアで技術が実装される。ソフトウェアは、1つまたは複数のプロセッサに関連する1つもしくは複数のデータ・ストアまたはメモリで維持され、ソフトウェアが1つまたは複数のコンピュータ・プログラムとして実装され得る。集合的に、この専用ハードウェアおよびソフトウェアは前述の機能を含む。
【0084】
上記は、本発明のいくつかの実施形態によって実施される動作の特定の順序を説明するが、代替実施形態は異なる順序で動作を実施し、いくつかの動作を組み合わせ、いくつかの動作と重複するなどであり得るので、そのような順序は例示的なものであることを理解されたい。所与の実施形態への本明細書での参照は、記載の実施形態が特定の特徴、構造、または特性を含み得るが、あらゆる実施形態が特定の特徴、構造、または特性を必ずしも含むわけではないことがある。
【0085】
最後に、システムの所与の構成要素が別々に説明されたが、機能の一部が所与の命令、プログラム・シーケンス、コード部分などで組み合わされ、または共有され得ることを当業者は理解されよう。
【0086】
さらに、FHEは単に代表的暗号プロトコルであり、限定的なものではないものとする。
【0087】
さらに、好ましくは推論がHEプロトコルを使用して行われるが、(モデル評価のために)実際のデシジョン・ツリー自体の代わりに代理ニューラル・ネットワークを使用する本明細書の手法が、他のマルチパーティ・セキュア計算技術、ならびに保持されることが望まれる、テスト・ポイント、モデル、またはその両方のプライバシーと共に活用され得る。
【0088】
本明細書の技術は、別の技術または技術分野、すなわちHEベースの推論ツールおよびシステムと、そのような技術を組み込み、または公開するクラウド・ベースのシステムに対する改善、ならびにHEシステムおよび方法の計算効率に対する改善を実現する。
【0089】
デシジョン・ツリーが使用されている特定の使用事例または適用は本開示の限定ではない。