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

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

▶ ヘイジー リミテッドの特許一覧

特表2023-520557安全な個人データ集約のための装置と方法
<>
  • 特表-安全な個人データ集約のための装置と方法 図1
  • 特表-安全な個人データ集約のための装置と方法 図2
  • 特表-安全な個人データ集約のための装置と方法 図3
  • 特表-安全な個人データ集約のための装置と方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-17
(54)【発明の名称】安全な個人データ集約のための装置と方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230510BHJP
【FI】
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022560470
(86)(22)【出願日】2021-04-01
(85)【翻訳文提出日】2022-12-05
(86)【国際出願番号】 GB2021050828
(87)【国際公開番号】W WO2021198704
(87)【国際公開日】2021-10-07
(31)【優先権主張番号】16/838,163
(32)【優先日】2020-04-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522389922
【氏名又は名称】ヘイジー リミテッド
【氏名又は名称原語表記】HAZY LIMITED
【住所又は居所原語表記】1st Floor,Buckhurst House,42/44 Buckhurst Avenue,Sevenoaks,Kent TN13 1LZ,UNITED KINGDOM
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】アーサー,ジェイムス リード デスモンド
(72)【発明者】
【氏名】ロビンソン,ルーク アンソニー ウィリアム
(72)【発明者】
【氏名】キーン,ハリー リチャード
(72)【発明者】
【氏名】ヒル,ギャリー
(57)【要約】
生データセット内の情報のプライバシーを保護しつつ、複数の生データセットの分析を可能にするコンピューティングシステムは、複数の合成データ発生装置およびデータハブを有する。各合成データ発生装置は、複数の生データストアのうちの対応する1つに格納された対応する生データセットにアクセスし、対応する生データセットに基づいて、対応する生データセットを代表する合成データセットを生成するように構成された合成データ発生装置モデルを生成し、対応する合成データセット及び合成データ発生装置モデルのうちの少なくとも1つを含む合成情報をデータハブにプッシュするように構成される。データハブは、分析のための1つ以上のクライアントのアクセスのために、合成データ発生装置から受信した合成情報を格納するように構成される。システムは、データハブが生データセットに直接アクセスできず、かつ、合成データ情報が合成データ発生装置からデータハブへのみプッシュされるように構成される。
【特許請求の範囲】
【請求項1】
生データセット内の情報のプライバシーを保護しつつ、複数の生データセットの分析を可能にするためのコンピューティングシステムであって、複数の合成データ発生装置とデータハブとを備え、
各合成データ発生装置は、
複数の生データストアのうちの対応する1つに格納された対応する生データセットにアクセスし、
対応する生データセットに基づいて、前記対応する生データセットを代表する合成データセットを生成するように構成された合成データ発生装置モデルを生成し、
前記対応する合成データセット及び前記合成データ発生装置モデルのうちの少なくとも1つを含む合成情報を、前記データハブにプッシュする
ように構成され、
前記データハブは、分析のための1つ以上のクライアントによるアクセスのために、前記合成データ発生装置から受信した合成情報を格納するように構成され、
前記システムは、前記データハブが前記生データセットに直接アクセスできず、かつ、前記合成データ情報が前記合成データ発生装置から前記データハブへのみプッシュされるように構成される、
ことを特徴とするシステム。
【請求項2】
各合成発生装置モデルは、その対応する生データセットに対して、対応するプライバシーレベルに準拠するべく、その対応する合成データセットを生成するように構成される、ことを特徴とする請求項1に記載のシステム。
【請求項3】
各合成発生装置モデルは、前記対応する合成データセットが前記対応するプライバシーレベルに従って差分的にプライベートであるように、その対応する合成データを生成するように構成される、ことを特徴とする請求項2に記載のシステム。
【請求項4】
各合成データ発生装置は、その対応する生データセットに基づいて、その対応する合成データ発生装置モデルの1つ以上のパラメータを更新するように構成される、ことを特徴とする請求項1から3のいずれか一項に記載のシステム。
【請求項5】
各合成データ発生装置は、その対応する生データストアに関して、読み取り専用特権に制限される、ことを特徴とする請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記合成データ発生装置の少なくとも1つは、その対応する合成データ発生装置モデルを前記データハブにプッシュするように構成され、前記データハブは、受け取った合成データ発生装置モデル毎に、対応する合成データセットを生成するように構成される、ことを特徴とする請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記1つ以上のクライアントをさらに備え、前記1つ以上のクライアントは、前記データハブから、前記合成データ発生装置の少なくとも2つから発信された合成データ情報にアクセスし、かつ、アクセスした合成データ情報を集約して、アクセスした合成データ情報にわたって共有される1つ以上の属性を決定するように構成される、ことを特徴とする請求項1から6のいずれか一項に記載のシステム。
【請求項8】
前記合成データ発生装置の少なくとも2つから発信される前記合成データ情報にアクセスすることは、
前記データハブから、少なくとも2つの合成データセットをプルすること、
前記データハブから少なくとも2つの合成データ発生装置モデルをプルし、かつ、前記データハブからプルした合成データ発生装置モデル毎に、前記合成データモデルを使用して対応する合成データセットを生成すること
の1つ以上を含む、ことを特徴とする請求項7に記載のシステム。
【請求項9】
前記アクセスした合成データ情報を集約することは、前記対応する合成データセットの1つ以上の属性を決定するべく、前記アクセスした合成データ情報に基づいて機械学習システムを訓練することを含む、請求項7または請求項8に記載のシステム。
【請求項10】
目的のため1つ以上の前記合成データ発生装置モデルによって提供される相対的な寄与を決定するようにさらに構成される請求項1から9のいずれか一項に記載のシステム。
【請求項11】
目的のため前記1つ以上の合成データ発生装置モデルによって提供される前記相対的な寄与を決定することは、第1および第2のモデルの間の性能の差を決定することを含み、
前記第1のモデルは、前記1つ以上の合成データ発生装置モデル又は前記1つ以上の合成データ発生装置モデルによって生成された合成データを含む第1の訓練データに基づいて、前記目的を達成するように訓練され、
前記第2のモデルは、前記1つ以上の合成データ発生装置モデルまたは前記1つ以上の合成データ発生装置モデルによって生成された合成データを含まない第2の訓練データに基づいて、前記目的を達成するように訓練される
ことを特徴とする請求項10に記載のシステム。
【請求項12】
前記目的のため前記1つ以上の合成データ発生装置のモデルによって提供される前記相対的な寄与を決定することは、
前記第1の訓練データに基づいて前記第1のモデルを訓練することと、
前記目的に関して前記第1のモデルの前記性能を評価することと、
前記第2の訓練データに基づいて前記第2のモデルを訓練することと、
前記目的に関して前記第2のモデルの前記性能を評価することと
を含むことを特徴とする請求項11に記載のシステム。
【請求項13】
複数の前記合成データ発生装置モデルのそれぞれ毎に、前記目的のため前記合成データ発生装置モデルの提供する相対的な寄与度を決定するようにさらに構成される、請求項10または11に記載のシステム。
【請求項14】
生データセット内の情報のプライバシーを保護しつつ、複数の生データセットの分析を可能にするためのコンピュータに実装された方法であって、
複数の合成データ発生装置のそれぞれ毎に
複数の生データストアのうちの対応する1つに格納されている対応する生データセットにアクセスすることと、
前記対応する生データセットに基づいて、前記対応する生データセットを代表する合成データセットを生成するように構成された合成データ発生装置モデルを生成することと、
前記対応する合成データセット及び前記合成データ発生装置モデルのうちの少なくとも1つを含む合成情報をデータハブにプッシュすることと、
解析のための1つ以上のクライアントによるアクセスに対して、前記合成データ発生装置から受信した前記合成情報を前記データハブで格納することと、
前記データハブが生データセットに直接アクセスするのを防止し、かつ、合成データ情報が前記合成データ発生装置から前記データハブへのみプッシュされるように、前記合成データ発生装置および前記データハブを有するネットワークを構成することと
を備えるコンピュータに実装された方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、生データセット内の情報のプライバシーを保護しながら複数の生データセットの分析を可能にするためのコンピュータシステム及びコンピュータ実装方法に関するものである。特に、限定はしないが、本開示は、元のデータソースのセキュリティ又はプライバシーを損なうことなく、複数の安全なソースからの匿名データの安全な分析及びモデリングを可能にするための手段に関するものである。
【背景技術】
【0002】
機械学習とデータ解析の進歩により、生データの価値が高まっている。生データの価値が高まるにつれて、セキュリティのためだけでなく、プライバシーを維持し、地域の規制を遵守するために、データのセキュリティを維持することが益々重要になってきている。
【0003】
アプリケーションによっては、機械学習システムの訓練に単一のデータセットで十分な場合があるが、場合によっては、訓練データセットのサイズを大きくすることによって、性能の大幅な向上が見られることがある。機械学習モデルを効果的に学習させるために十分な量のデータを取得することは、個々の企業にとってしばしば困難な場合がある。そのため、異なるソース(例えば、異なる企業)のデータを組み合わせることで、性能を向上させることができる。
【0004】
そう言っても、生データの価値およびプライバシーを維持するための要件を考えると、データセキュリティが維持されることが重要である。一部のコンピューティングシステムは、情報を保護し、地域の規制を遵守するために、厳格なチャイニーズウォールを持っている(例えば、銀行業界内)。同様に、多くの企業や研究グループは、ユーザーのプライバシーを維持する必要があるため、匿名でない生のデータを共有することができない。そのため、異なるデータソース間でのデータ分析が困難な場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の観点から、元の生データのセキュリティ及びプライバシーを維持しながら、異なるソースからデータを収集又は集約し、データを分析する改良された手段が必要である。これは、データが信頼できるコンピューティング環境の外で共有されている場合、または、互いに完全に信頼できないユーザーまたはシステム間で共有されている場合に特に重要である。例えば、個人のデータは法律や規制によって保護されており、企業間や国境を越えたデータの共有が禁止されている場合がある。
【0006】
これを解決するための1つの選択肢は、連合機械学習を利用することである。そう言っても、連合機械学習は、複数のソースにわたる正規化データに関する問題、および、すべてのデータソースへのアクセスをシステムに与えるという要件に悩まされる。さらに、予測誤差の共有に関して、連合機械学習はプライバシーの問題に悩まされる可能性がある。さらに、連合機械学習では、異なるプライバシー制約を異なる情報のソースに適用することができない。
【課題を解決するための手段】
【0007】
上記の問題を解決するために、本明細書に記載する実施形態は、代わりに、生データの属性を共有するが、元の生データのセキュリティ又はプライバシーを侵害しない合成データを生成して共有することにより、生データ内に表される個人のプライバシーを保護する。本明細書で説明する特定の実施形態は、信頼できる環境内で合成データ発生装置を実装し、データハブにおいて複数のソースにわたって合成データを収集することによって、データセキュリティを改善し、ネットワークの攻撃対象領域を減少させる。データハブは、元のデータソースを攻撃から保護する要塞ホストとして機能することができ、それによって、ネットワークの攻撃対象領域を減少させることができる。
【0008】
元のデータソースを保護するために、ネットワークは、合成データが合成データ発生装置からしかプッシュできないように構成され、したがって、データハブによって合成データ発生装置からプルすることはできない。そして、クライアント(例えば、データサイエンス学者)は、データハブを介して複数のソースから合成的に生成されたデータにアクセスし、データを分析する(例えば、合成データ上で機械学習モデルを訓練する)ことができる。
【0009】
さらに、元のデータソースで参照される個人のプライバシーを保護するために、合成発生器は、プライバシーの設定レベル(例えば、差分プライバシーの設定レベル)に準拠するように合成データを生成するように構成されてもよい。
【0010】
ある態様によれば、生データセット内の情報のプライバシーを保護しながら、複数の生データセットの分析を可能にするためのコンピューティングシステムが提供される。本システムは、複数の合成データ発生装置とデータハブから構成される。各合成データ発生装置は、複数の生データストアの対応する1つに格納された対応する生データセットにアクセスし、対応する生データセットに基づいて、対応する生データセットを代表する合成データセットを生成するように構成された合成データ発生装置モデルを生成し、対応する合成データセット及び合成データ発生装置モデルの少なくとも1つを含む合成情報をデータハブに送信するように構成されている。データハブは、分析のための1つ以上のクライアントによるアクセスに対して、合成データ発生装置から受信した合成情報を格納するように構成される。システムは、データハブが生データセットに直接アクセスできないように、かつ、合成データ情報が合成データ発生装置からデータハブへのみプッシュされるように構成される。
【0011】
したがって、生データセットのプライバシーは、合成データのみを共有することによって維持され得る。合成情報のみがデータハブにプッシュされるのを許すことによって、オリジナルの生データセットは保護される。
【0012】
一つの態様では、各合成発生装置モデルは、その対応する生データセットに対して対応するプライバシーレベルに準拠するべく、その対応する合成データセットを生成するように構成される。これは、合成データ発生装置が生データセットに対してプライバシー損失の設定レベルを提供するように、合成データセット内にノイズを追加することによって達成され得る。
【0013】
一つの態様では、各合成発生装置モデルは、対応する合成データセットが対応するプライバシーレベルに従って差分プライバシーであるように、その対応する合成データを生成するように構成される。差分プライバシーのプライバシーレベルは、合成データセットから最大1つのエントリーを削除することによって達成される最大プライバシー損失を定義するプライバシーパラメータ(イプシロン(ε))値に対応し得る。
【0014】
ある態様によれば、各合成データ発生装置は、その対応する生データセットに基づいてその対応する合成データ発生装置モデルの1つ又は複数のパラメータを更新するように構成される。したがって、各合成データ発生装置は、対応する生データセットに基づいてその対応する合成データ発生装置モデルを訓練するように構成されてもよい。各合成データ発生装置モデルのパラメータは、例えば、合成データセットと生データセットとの間の誤差/差分を低減するため、及び/又は(例えば、合成データ発生装置モデルによって加えられるノイズの量を増加することによって)プライバシーを増加するために、所定の目的関数に従って合成データセットを改善するように更新(最適化)されても良い。
【0015】
ある態様によれば、各合成データ発生装置は、その対応する生データストアに関して読み取り専用特権に制限される。これは、元の生データストアを保護し、データが改ざんされることを防止する。
【0016】
ある態様によれば、合成データ発生装置の少なくとも1つは、その対応する合成データ発生装置モデルをデータハブにプッシュするように構成され、データハブは、受け取った各合成データ発生装置モデル毎に、対応する合成データセットを生成するように構成される。したがって、合成情報は、合成データ及び/又は合成データ発生装置モデルから構成され得る。
【0017】
ある態様によれば、コンピューティングシステムは、1つ以上のクライアントを備え、1つ以上のクライアントは、データハブから、合成データ発生装置の少なくとも2つに由来する合成データ情報にアクセスし、アクセスした合成データ情報を集約して、アクセスした合成データ情報にわたって共有される1つ以上の属性を決定するように構成される。
【0018】
ある態様によれば、合成データ発生装置の少なくとも2つに由来する合成データ情報にアクセスすることは、データハブから少なくとも2つの合成データセットを引き出すこと、及びデータハブから少なくとも2つの合成データ発生装置モデルを引き出し、データハブから引き出されたそれぞれの合成データ発生装置モデルに対して、合成データモデルを使用して対応する合成データセットを生成することのうちの一つ以上を含む。
【0019】
ある態様によれば、アクセスされた合成データ情報を集約することは、アクセスされた合成データ情報に基づいて機械学習システムを訓練して、対応する合成データセットの1つ以上の属性を決定することを含む。1つ以上の属性は、アクセスされた合成データ情報の相関関係又は特徴を表す1つ以上の隠れパラメータであってもよい。この学習は、合成データまたは合成データ発生装置モデルの一方または両方に基づいて行われてもよい。
【0020】
さらなる態様によれば、システムは、目的のため合成データ発生装置モデルの1つ以上によって提供される相対的な寄与を決定するように構成される。目的のため合成データ発生装置モデルの1つ以上によって提供される相対的な寄与を決定することは、第1のモデルと第2のモデルとの間の性能の差を決定することを含んでよい。第1のモデルは、1つ以上の合成データ発生装置モデル又は1つ以上の合成データ発生装置モデルによって生成された合成データを含む第1の訓練データに基づいて、目的を達成するように訓練されてもよい。第2のモデルは、1つ以上の合成データ発生装置モデル又は1つ以上の合成データ発生装置モデルによって生成された合成データを含まない第2の訓練データに基づいて、目的を達成するように訓練されてもよい。
【0021】
一つの態様おいて、目的のため合成データ発生装置モデルのうちの1つ以上によって提供される相対的寄与を決定することは、第1の訓練データに基づいて第1のモデルを訓練することと、目的に関する第1のモデルの性能を評価することと、第2の訓練データに基づいて第2のモデルを訓練することと、目的に関する第2のモデルの性能を評価することと、を含む。
【0022】
さらなる態様において、システムは、複数の合成データ発生装置モデルのそれぞれについて、目的のため合成データ発生装置モデルを提供する相対的な寄与を決定するようにさらに構成される。
【0023】
さらなる態様によれば、生データセット内の情報のプライバシーを保護しながら、複数の生データセットの分析を可能にするためのコンピュータ実装方法が提供される。本方法は、複数の合成データ発生装置の各々について、複数の生データストアの対応する1つに格納された対応する生データセットにアクセスすることと、対応する生データセットに基づいて、対応する生データセットを代表する合成データセットを生成するように構成された合成データ発生装置モデルを生成することと、対応する合成データセット及び合成データ発生装置モデルの少なくとも1つを含む合成情報をデータハブへプッシュすることとを備える。この方法は、さらに、分析のための1つ以上のクライアントによるアクセスに対して、合成データ発生装置から受信した合成情報をデータハブで保存することと、データハブが生データセットに直接アクセスすることを防止し、合成データ情報が合成データ発生装置からデータハブにのみプッシュできるように、合成データ発生装置およびデータハブを含むネットワークを構成することと、を含むことを特徴としている。
【0024】
本発明の構成は、例示した図面を参照して以下の詳細な説明から、より完全に把握され、理解されるであろう。
【図面の簡単な説明】
【0025】
図1図1は、データを集約するための方法を示す。
図2図2は、実施形態に従う合成データを集約するためのシステムを示す。
図3図3は、実施形態に従う所与の目的に対する、データセットの相対的な寄与を定量化するための方法を示す。
図4図4は、本明細書に記載された方法を実装するためのコンピューティングシステムを示す。
【発明を実施するための形態】
【0026】
実施形態は、生データセット内の情報のプライバシーを保護しながら、複数の生データセットの分析を可能にする安全な方法及びシステムに関するものである。
【0027】
機密データを分析する場合、しばしば2つの相反する目標が存在する。
・実用性-集約された統計を抽出する能力、および
・プライバシー-元のデータの側面を隠しておくという要件(例えば、個人のパーソナルな詳細)。
【0028】
一部のデータセットのプライバシーに対する要件を考慮すると、データ所有者は、しばしば、データを完全に共有することができないか、または消極的であり、それによって、複数のデータセットにわたるデータを分析し、データセットにわたって共有される重要な特徴を学習する能力を低下させる。
【0029】
図1は、データを集約するための方法を示す。複数のデータソース10、12、14からのデータは、前処理モジュール16に渡される。前処理されたデータは、次に、前処理されたデータを集約する集約器18に渡される。そして、集約されたデータ18は、出力20される。
【0030】
前処理モジュール16は、データを効果的に集約することができるように、データを正規化する。正規化は、データを同じフォーマットにすること、及びデータソース間で共有される属性が同じスケールでデータ内に表されるように、データ内の値をスケーリングすることを含むことができる。前処理には、データを符号化された特徴空間にマッピングし、符号化された特徴空間内の点としてデータを表現することも含まれる。
【0031】
集約器18は、前処理されたデータを集約する。集約は、複数のデータセットを結合する、又は複数のデータセットを分析して複数のデータセットにわたる特徴を学習する任意の手段を含んでもよい。これは、複数のデータセットの統計的分析を含む可能性がある。統計的分析は、複数のデータセット内の特徴間の関係を決定すること、一つ以上のモデルを作成するかまたは一つ以上のモデルを複数のデータセットに適合させること、複数のデータセットに基づいて一つ以上のモデルの有効性又は効果を評価すること、及び予測分析を使用すること(例えば、将来の予測を行うための一つ以上のモデルを適用すること)の一つ以上を含むことができる。
【0032】
上記の方法には、いくつかの欠点がある。
【0033】
まず、生データが特定のデータソースの外部で共有されるため、データが(例えば傍受によって)漏えいする危険性がある。これは、前処理及び集約がデータソースの外部システムで行われる場合に問題となる。
【0034】
第二に、生データは、前処理及び集約を実行する企業にさらされる。これは、データが集約の目的で異なる企業間で共有されている場合に問題となる。例えば、複数の銀行がデータの組み合わせに基づいてより効果的なモデルを学習することを望むかもしれないが、他の銀行及び/又は集約を実行するデータサイエンス学者を十分に信頼できないかもしれない。
【0035】
第三に、データを集約できるように正規化するために、データの各別個のソースに対して実行される前処理を必要とすることである。これは、共有されるデータの複雑さに応じて、それ自体が困難な作業となる可能性があり、各データソースに対して構成される特定の前処理ステップを必要とする。
【0036】
上記の問題を解決するために、本明細書に記載される実施形態は、有用な生データの共有を防止するために、合成データ発生装置を利用する。これらの合成データ発生装置は、設定されたプライバシーのレベルに従って合成データを生成するように構成される。これは、例えば、生データのプライバシーが保護されるように、合成データに何らかの形のノイズ又は分散を追加することができる。ノイズは、合成データが元の生データを正確にコピーすることなく、元の生データの特性を模倣するような方法で追加することができる。
【0037】
実施形態では、生データを保護するために、これらの合成データ発生装置を安全で高度に特権的な環境に配置する。合成データ及び/又は合成データ発生装置モデルは、保管用の安全なハブに共有される。合成データ及び/又は合成データ発生装置モデルは、その後、合成情報(合成データ及び/又は合成データ発生装置モデル)を分析する際に使用するためにデータ集約器によってアクセス可能となる。
【0038】
合成データ発生装置と合成データ発生装置モデルは、特権の高い環境の合成データ発生装置から特権の低いデータハブにのみプッシュされることが可能である。すなわち、ハブによって合成データ発生装置からデータを引き出すことはできない。これにより、情報の流れが制御されることが保証され、合成データ発生装置環境の特権情報がさらに保護される。
【0039】
データがプッシュされると、送信システムは、受信システムにデータを送信するためにデータの転送を開始する。この場合、合成データ発生装置は、送信するデータを選択し、データハブへの転送を開始する。
【0040】
データが引き出されるとき、受信システムは、送信システムからデータを要求することによってデータの転送を開始する。この場合、データ集約器は、データに対する要求を送信することによって、データハブからデータを引き出すことができる。データハブは、データ集約器を認証し、データへのアクセスに十分な権限を有することを確認すると、次に、要求されたデータを取り出し、データ集約器に送信する。
【0041】
データソースや合成データ発生装置からデータを要求する権限を持たない安全なデータハブに情報を格納することで、生データは攻撃から保護される。データハブは非武装地帯として機能し、システム全体の攻撃対象領域を制限する。
【0042】
図2は、実施形態に従う合成データを集約するシステムを示す図である。
【0043】
生の製造データは、別々のデータベース30に格納される。各データベース30には、対応する合成器32(合成データ発生装置)が設けられている。各合成器32は、その対応するデータベース30からデータを読み出すための読み取り特権を有する。したがって、各合成器は、高度な特権環境内に配置される。
【0044】
各合成器32は、コンピューティングシステム(サーバなど)上で実行され、対応するデータベース30に格納された生データに対応する合成データを生成するための1つ以上の合成データ発生装置モデルを含んでいる。各合成器32は、コンフィギュレーション(config)ファイル34に従って動作する。さらに、各合成器32は、合成器を実装するソフトウェアがグラフィカルユーザーインタフェースなしで実装され、コンピューティングシステム(サーバなど)内でより単純でより効率的な統合を可能にするという意味で、ヘッドレスアーキテクチャを通じて実装されてもよい。
【0045】
図2には単一のデータベース30しか示されていないが、各データソースおよび合成器32に対して別々のデータベース30が提供されてよいことに留意されたい。同様に、図2には単一の「高度な特権環境」およびコンフィギュレーションファイル34のみが示されているが、各合成器32は、独自の構成ファイル34を有する独自の高度な特権環境で動作することになる。
【0046】
各合成器32は、対応するデータベース30からの対応する生データ上で訓練される1つ以上の合成データ発生装置モデルを生成するように構成される。これらの各モデルは、いくつかの埋め込まれた特徴空間にわたる分布を生成するために、生データにフィッティングされてもよい。その後、モデルは、埋め込まれた特徴空間からサンプリングし、サンプリングされたベクトルを復号して、元の生データの特性を模倣する合成データを生成してもよい。
【0047】
各モデルは、所定のプライバシーレベルに従ってデータを生成するように構成されてよい。これは、データ出力の解像度を調整し、合成データを生成する際に(例えば、乱数シードを介して)導入されるランダム性の量に影響され得る。具体的には、各モデルは、設定されたプライバシーのレベルに従って、差分的にプライベートな合成データを生成するように構成されてもよい。
【0048】
差分プライバシーは、プライバシー保護に関するロバストで数学的に証明可能な保証を提供する。差分プライバシーの文脈では、入力データセットから個々のユーザーのデータを削除しても、プライバシー損失の事前に定義された量より多くならなければ、プロセスまたは関数(例えば、合成データ発生装置)はプライベートである。プライバシー損失は、情報の利得と考えることができる。
【0049】
例えば、ε差分プライバシーにおいて、ランダム化処理Kは、最大で1行だけ異なるすべてのデータセットDおよびD’、および任意のS⊆Range(K)に対して、以下の関係を満たせば差分プライバシーである。
Pr[K(D)∈S]≦exp(ε)・Pr[K(D’)∈S]
ここで、確率は処理Kで使用されるランダム性に対して取られる。
【0050】
したがって、合成データ発生装置を訓練するとき、プライバシーの設定レベル(例えば、εの値)が入力され、合成データ発生装置は、入力データの分布を模倣するが、設定プライバシーレベルが維持される(設定量のプライバシー損失が提供される)ように、ノイズを追加して訓練されてもよい。
【0051】
プライバシーを維持するために合成データ発生装置を訓練するための一つの選択肢は、敵対的生成ネットワーク(GANs)を利用することである。GANモデルは発生器モデルと微分器モデルで構成される。発生器は入力データを再現するように学習し、微分器は発生器によって生成されたデータが本物か偽物か(オリジナルデータか合成データか)を識別するように学習する。勾配クリッピングは、識別器のパラメータを更新する際の勾配の逆伝搬で使用することができる。この場合、各勾配の大きさは、制限された範囲内に収まるように制限される。そして、切り取った勾配にノイズ(ガウスノイズなど)を加え、適応した勾配を識別器のパラメータ更新に利用する。これにより、識別器の感度に比例したノイズを付加することができる。
【0052】
以上のことから、差分プライバシーの設定レベル(εの設定値)に適合する合成データを生成するように合成発生器を訓練することが可能である。これにより、生データのプライバシーが侵害されないことの保証が得られる。
【0053】
生データのデータコントローラは、プライバシーのレベルを調整することができる。プライバシーのレベルを上げる(εを下げる)ことにより、合成データ内のランダム性の量が増加し、それによって合成データの品質が低下する可能性がある。一方、プライバシーレベルを下げる(εを上げる)と、合成データ内のランダム性の量が減少し、合成データの品質が向上する可能性があるが、生データのプライバシー暴露が増加することになる。
【0054】
各合成器32は、合成情報をデータハブ40にプッシュするように構成される。各合成器32によって共有される合成情報は、合成器32によって生成された合成データ発生装置モデル、及び合成データ発生装置モデルによって生成された合成データセットのうちの1つ又は両方を含むことができる。
【0055】
重要なことは、データハブ40は、合成器32からデータを要求またはプルする許可を持たず、合成器32からプッシュされたデータのみを受信することが可能なことである。さらに、データハブ40は、データベース30に格納された生データへのアクセス権を持っていない。
【0056】
合成器32は、合成発生装置モデルを生成して、共通のフォーマットで出力を提供するように構成されてもよい。従って、合成発生装置モデルによって出力されるデータは、複数のデータソースにわたって正規化されてもよい。あるいは、合成データ発生装置モデルは、その出力のフォーマットに制約を受けず、代わりに前処理及び正規化をデータハブ40で実行してもよい。
【0057】
データハブ40は、データ集約器(クライアント)50がアクセスできるように合成情報を格納する。データハブ40は、合成器32とは別のコンピューティングシステム(例えばサーバ)上で実行されてもよい。あるいは、データハブ40は、合成器32と同じ環境で実行されてもよいが、この場合、やはり生データにアクセスすることはできない。これにより、データハブ40は、非武装地帯として機能し、ネットワークの攻撃対象領域を減少させることができる。
【0058】
本実施形態では、データハブ40は、要塞ホストである。これは、攻撃に耐えるように特別に設計された特別な目的のコンピュータである。例えば、データハブ40は、追加のファイアウォールを備え、データハブ40としての役割を実施するために必要以上のソフトウェアを追加しないように構成されたコンピューティングシステムに実装することができる。
【0059】
データハブ40は、データハブ40によって提供される様々なデータ発生装置モデル、合成器、及びデータソースを記録する発生器レジストリ42を含む。データハブ40はまた、アクセス許可のレジストリを含んでもよい。これは、合成された情報のどのセットへのアクセスであるかに関して、データ集約器50毎に、特定の許可を詳述してよい。例えば、1つのデータ集約器50は、データハブ40に格納された合成情報のサブセット(例えば、合成器32のサブセットからの合成情報)に対するアクセス許可のみを具備してよい。
【0060】
データ集約器(クライアント)50は、個々の許可に従って、データハブ40に格納された合成情報にアクセスするように構成される。各クライアント50は、データハブ40とは別のコンピューティングシステム上に実装されてもよい。各クライアント50は、データハブ40に対して合成情報のリクエストを発行するように構成されている。データハブ40は、クライアント50を認証し、クライアントが要求された合成情報に対する十分なアクセス権限を有するかどうかをチェックするように構成されている。クライアントが正常に認証され、十分なアクセス許可を持っている場合、データハブ40は、要求された合成情報をクライアント50に送信する。
【0061】
各クライアントは、データハブ40に格納されているもの及びクライアント50のアクセス権限に応じて、1つ以上の合成データセット及び/又は1つ以上の合成データ発生装置モデルを要求してもよい。クライアント50は、受信した合成データ発生装置モデルを利用して、合成データセットを生成してもよい。いずれにせよ、クライアントは、そのアクセス権限に頼って、データハブ40を通じて複数のデータソース(複数のデータベース30)に関連する合成情報を取得してもよい。そして、クライアントは、複数のソースから合成情報を集約して、複数のソースにまたがる情報を学習してもよい。
【0062】
例えば、複数の生データセットを反映した合成データセットに基づいて、クライアント50は、特定のタスク(例えば、分類、回帰など)を実行するために機械学習モデル52を訓練することができる。複数のデータソースを表す合成データへのアクセスを提供することによって、より正確な機械学習モデル52が訓練され得る。
【0063】
各クライアントは、データハブ40および合成器32の環境に対して、より低い特権環境で動作することができる。これは、クライアント50が、データハブ40の使用を通じて合成器から分離されるからである。各クライアント50は、合成器32やデータベース30に直接アクセスすることができない。その代わり、クライアントがシステム内のデータにアクセスできるのは、データハブ40を介したものだけである。
【0064】
図2は、単一のクライアント50についての学習ステップ、モデル52および環境のみを示しているが、これらは、クライアント50毎に提供されてもよいことに留意されたい。
【0065】
監視システム44は、データハブ40を監視し、かつ、管理を提供するために与えられる。データハブ40は、管理者によるレビューのために、監視システム44にエラーをプッシュするように構成されている。さらに、データハブ40は、データ集約器50による合成情報のアクセスに関する履歴使用データを詳述するアクセス情報を監視システム44にプッシュするように構成されてもよい。
【0066】
上記に加えて、データハブ40は、全体的な目的に対する合成情報の各セットの個別の寄与を決定するように構成される。これにより、所定の合成情報のセットの相対的な価値又は品質を決定することができる。相対的な品質は、発生装置のプライバシーのレベルを調整するために使用することができる。
【0067】
相対的品質は、さらなる合成データ発生装置モデルの訓練に使用するためのフィードバック信号として、それぞれの合成器32、または合成器32の管理者/ユーザーに戻されることが可能である。したがって、合成器32は、指定された目的のため、よりよく貢献するように合成データ発生装置モデルを訓練するために、それらの合成情報の相対的な品質を利用することができる。
【0068】
代替的にまたは追加的に、合成情報のセットの相対的な寄与は、所定の合成器32またはデータソース30に対するライセンス使用料値を決定する際に使用するため、合成情報の価値を定量化するのに使用することができる。データソース30の異なるプロバイダは、(合成器を介した)使用料の支払いによって、そのデータを共有するインセンティブを与えられてもよい。各クライアント50は、データハブ40に格納された合成情報へのアクセスに対して支払いを行い、これらの支払いは、その後、クライアント50がアクセスした合成情報に貢献したデータソースのそれぞれに対する使用料の支払いに分割されてもよい。所与のタスクに対して(合成装置を介して)提供される生データの量およびそのデータの品質が異なることを考えると、各データ提供者に等しく報酬を与えることは不公平であろう。さらに、各データプロバイダは、合成装置32を介して共有される合成データの解像度に関する制御を与えられてもよい。り高い解像度の合成データは、より価値があるが、オリジナルの生データからより多くのプライベートデータを暴露することになる。
【0069】
したがって、より優れた合成データ発生装置の訓練に使用するため、またはデータソース間の使用料を公正に分割するのに使用するためのフィードバックを可能にするために、各データソースの相対的な寄与を定量化することが重要である。
【0070】
所定の目的に対する相対的な寄与を定量化するために、データハブ40は、合成データの異なるサブセットを使用して目的を達成するためのモデルを訓練するように構成される。
【0071】
図3は、実施形態による、所与の目的に対するデータセットの相対的寄与を定量化するための方法を示している。この方法は、データハブ40によって、合成データの異なるサブセットに対して実施されてよい。
【0072】
本方法は、比較される全ての合成データセットを用いて、目的を達成するための第1のモデルを訓練80することによって開始される。目的は、分類、回帰などのモデリングまたは機械学習目的であってもよい。
【0073】
次に、目的を達成する際の第1のモデルの有効性が定量化82される。これは、例えば、検証データセット(例えば、以前に訓練で使用されていないラベル付きデータセット)上で評価した場合の、第1のモデルの予測誤差(例えば、分類誤差)であるかもしれない。
【0074】
次に、第2のモデルが、第1のモデルに対して使用されたのと同じ訓練方法を使用して、しかし比較される合成データセットの1つ以外のすべてからなる訓練データに基づいて、訓練84される。すなわち、第2のモデルを訓練する際に、合成データセットが選択され、訓練セットから除去される。
【0075】
次に、目的を達成する際の第2のモデルの有効性が、第1のモデルに対して使用されるのと同じメトリックを使用して定量化86される。次に、2つのモデルの相対的な有効性は、第1のモデルの有効性と第2のモデルの有効性との間の差88を計算することによって決定される。
【0076】
この差は、第2のモデルの訓練から除外されたデータセットの相対的な寄与の尺度を提供する。したがって、この値は、指定された目的を達成するための除外されたデータセットの相対的貢献度として出力90される。その後、ステップ84から90は、訓練セットからの除外による評価のために異なるデータセットが選択されることで、繰り返されてもよい。
【0077】
データセットの除外が性能の大きな低下をもたらす場合、これは、データセットが目的を達成するためのモデルの訓練に有意に寄与することを示す。逆に、データセットがほとんど低下をもたらさない場合、これは、データセットが目的を達成するためのモデルの訓練に有意に寄与しないことを示す。データセットを除外することで性能が向上する場合は、そのデータセットが目的達成のための効果的なモデルの学習に積極的に貢献していることを示唆する。
【0078】
上記の方法において、目的に対する各ソースの寄与は、合成データセットをソースに従って(合成器32に従って)分割し、それらの相対的な寄与を定量化することによって決定することができる。あるいは、(単一の合成器32が複数のモデルを提供し得ることを考慮すると)合成データは、合成データモデルに従って分割されてもよい。
【0079】
図3の実施形態は特定のデータセットに基づく訓練を論じる一方で、所定の合成データ発生装置の特性(例えば、重み)に基づくモデルを訓練することも可能である。この点に関して、例えば、バギング、ブースティング、スタッキング、または他のハイブリッド方法などの方法を通じて、合成データ発生装置を組み合わせることによって、1つ以上のアンサンブルまたはハイブリッドモデルを生成することも可能である。
【0080】
上記に照らして、プライベートまたは機密情報の暴露を危険にさらすことなく、複数のデータソースからの情報を安全に共有することを可能にする実施形態が提供される。これは、合成データまたは合成データ発生装置モデル(プライバシー/解像度に関する各ソースの要件に従って調整される)の共有のみを許可し、これらのモデルまたはこの合成データが保存のためにデータハブ40にプッシュされることのみを許可することによって達成される。
【0081】
合成情報がデータハブ40にプッシュされることのみを許可することによって、合成器及びデータソース30は攻撃から保護される。クライアント50は、その後、モデルを訓練するため、または複数のデータソースにわたる合成データを集約または分析するために、データハブ40から合成データにアクセスすることができる。各合成器32またはデータソース30の相対的な貢献度は、合成データ発生装置モデルのさらなる改善、または相対的な貢献度に応じた各ソースに対する報酬の評価において使用するために定量化することが可能である。
【0082】
読者は、本明細書に記載された一般的な方法が任意のコンピューティングシステムに適用可能であることを理解するであろうが、典型的なコンピューティングシステムが図4に図示されており、本明細書に記載されたような実施形態を実行に移すことができる手段が提供されている。図示されているように、コンピューティングシステム100は、大容量記憶装置120に結合され、ワーキングメモリ130にアクセスするプロセッサ110を備える。
【0083】
ソフトウェアをメモリにロードし、大容量記憶装置120にデータを記憶するための通常の手順が適用される。プロセッサ110はまた、バス140を介して、外部システム(例えば、外部ネットワークまたはユーザー入力または出力デバイス)からデータを受信し、外部システムへデータを出力するように構成された通信インターフェース150にアクセスする。通信インターフェース150は、単一のコンポーネントであってもよいし、入力インターフェースと別々の出力インターフェースとに分割されていてもよい。
【0084】
プロセッサは、大容量記憶装置120内に記憶された実行可能なソフトウェアに基づいて、本明細書に記載の方法を実施するように構成される。ソフトウェアは、オリジナルの機器に埋め込むことができ、または、製造後に、全体または部分的に提供することができる。例えば、ソフトウェアは、全体として、コンピュータプログラム製品として導入することができ、これは、ダウンロードの形態であってもよいし、光ディスクや接続可能なメモリドライブ(ユニバーサル・シリアル・バス・フラッシュドライブなど)のようなコンピュータプログラム記憶媒体を介して導入されるようにすることもできる。あるいは、既存のコントローラに対する修正は、上述した実施形態の特徴を提供するために、アップデート、またはプラグインによって行うことができる。
【0085】
コンピューティングシステム100は、データハブ40、合成器32クライアント50、監視システム44、又は本明細書に記載される他のコンピューティングシステムの機能を実装してもよい。
【0086】
本明細書に記載された主題及び動作の実装は、本明細書に開示された構造及びそれらの構造的等価物を含むデジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、又はそれらの1つ以上の組み合わせで実現することができる。本明細書に記載された主題の実装は、データ処理装置による実行、またはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化された1つ以上のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つ以上のモジュールを用いて実現することができる。代替的にまたは追加的に、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために適切な受信装置に送信するための情報を符号化するために生成される機械生成電気、光学、または電磁信号上で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダム又はシリアルアクセスメモリアレイもしくは装置、又はそれらの1つ以上の組合せとすることができ、あるいはそれらに含まれてよい。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号で符号化されたコンピュータプログラム命令のソースまたは宛先とすることができる。また、コンピュータ記憶媒体は、1つ以上の別個の物理的構成要素または媒体(例えば、複数のCD、ディスク、または他の記憶装置)であるか、またはそれらに含まれてよい。
【0087】
特定の構成が説明されてきたが、構成は例示としてのみ提示されており、保護範囲を限定することを意図していない。本明細書に記載された発明概念は、他の様々な形態で実施することができる。さらに、本明細書に記載された特定の実施態様に対する様々な省略、置換及び変更は、以下の請求項に定義される保護範囲から逸脱することなく実施することができる。
図1
図2
図3
図4
【国際調査報告】