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

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

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

特開2024-171902情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171902
(43)【公開日】2024-12-12
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06F 17/18 20060101AFI20241205BHJP
【FI】
G06F17/18 D
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023089184
(22)【出願日】2023-05-30
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】紀伊 真昇
(72)【発明者】
【氏名】市川 敦謙
(72)【発明者】
【氏名】三浦 尭之
(72)【発明者】
【氏名】高木 駿
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB62
5B056BB64
(57)【要約】
【課題】プライバシー保護を行うデータ合成モデルの出力の品質を向上させるための離散化の技術を提供する。
【解決手段】連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置において、前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する演算部を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置であって、
前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する演算部
を備える情報処理装置。
【請求項2】
前記比率をαとすると、αは0<α≦1を満たす値である
請求項1に記載の情報処理装置。
【請求項3】
前記演算部は、前記ノイズの大きさとして、データ合成モデルに入力するデータと、前記データ合成モデルから出力されるデータとから算出した、ノイズの絶対値の期待値に基づく推定値を用いる
請求項1に記載の情報処理装置。
【請求項4】
連続変数のデータを離散化して得られたデータを入力するデータ合成モデルとして、差分プライベートなデータ合成モデルを使用する場合において、
プライバシーバジェットをεとし、定数をCとした場合に、前記演算部は、前記ノイズの大きさとして、C・log(d/ε)を使用する
請求項1に記載の情報処理装置。
【請求項5】
連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置による情報処理方法であって、
前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する
情報処理方法。
【請求項6】
コンピュータを、請求項1ないし4のうちいずれか1項に記載の情報処理装置における演算部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プライバシー保護技術に関連するものである。
【背景技術】
【0002】
プライバシー保護を行うデータ合成モデルとして、様々なモデルが提案されている。その中の多くは以下のCont(連続)とDisc(離散)の2つに分類できる。
【0003】
(Cont)モデルの内部では連続変数からなるデータ(数値データ)のみを入出力とするもの。
【0004】
(Disc)モデルの内部では離散変数からなるデータ(カテゴリカルデータ)のみを入出力とするもの。なお、Discに属する従来技術の例として、非特許文献1~3に開示された技術がある。
【0005】
Contに属するデータ合成モデルに離散変数を入力したい場合には、当該離散変数のデータをエンコードして連続変数にしてから入力する。エンコードには例えばA、B、Cという全3種類のラベルを(1,0,0)、(0,1,0)、(0,0,1)に変換するOnehot encodingがよく用いられる。
【0006】
Discのデータ合成モデルに連続変数を入力したい場合には、当該連続変数のデータを離散化してから入力する。離散化とは、変数の範囲を分割して実区間(ビン)の列を作り、連続変数のそれぞれのデータがどの区間に属すのかによって、データを離散的なラベルに置き換える処理のことである。どのように実区間(ビン)の列を作るかによって離散化の結果が大きく変わる。
【0007】
調査によると、Discに分類される技術の中には出力される合成データが、Contに分類される技術のいずれが出力するものよりも良いものがある。したがって、プライバシーを保護したデータ合成を行いたい場合には、(必要があれば)連続変数を離散化したデータをDiscに属するデータ合成モデルに入力すると良い。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Ryan Mckenna, Daniel Sheldon, and Gerome Miklau, "Graphical-Model Based Estimation and Inference for Differential Privacy," In: Proceedings of the 36th International Conference on Machine Learning. International Conference on Machine Learning. PMLR, May 24, 2019, pp. 4435-4444. url:https://proceedings.mlr.press/v97/mckenna19a.html (visited on 08/04/2022).
【非特許文献2】Ryan McKenna et al, "AIM: An Adaptive and Iterative Mechanism for Differentially Private Synthetic Data," Jan. 29, 2022. doi: 10.48550/arXiv.2201.12677. arXiv: 2201.12677 [cs]. url: http://arxiv.org/abs/2201.12677 (visited on 07/25/2022).
【非特許文献3】Jun Zhang et al, "PrivBayes: Private Data Release via Bayesian Networks," In: ACM Transactions on Database Systems 42.4 (Oct. 27, 2017), 25:1-25:41. issn: 0362-5915. doi: 10.1145/3134428. url:https://doi.org/10.1145/3134428 (visited on 05/18/2021).
【発明の概要】
【発明が解決しようとする課題】
【0009】
Discに属するデータ合成モデルは、それと組み合わせる離散化の方法によって出力されるデータの品質が大きく変わる。しかし、非特許文献1~3に開示された技術などでは根拠なく離散化処理を選んでいる。また、離散化手法を決める方法としてはSturges' ruleなどが広く知られているが、これら既存の離散化手法はプライバシー保護のために後に加えられるノイズを考慮していない。そのため、ノイズが大きくなると、既存の離散化手法は必ずしも最適なものではなくなってしまう。
【0010】
本発明は上記の点に鑑みてなされたものであり、プライバシー保護を行うデータ合成モデルの出力の品質を向上させるための離散化の技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
開示の技術によれば、連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置であって、
前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する演算部
を備える情報処理装置が提供される。
【発明の効果】
【0012】
開示の技術によれば、プライバシー保護を行うデータ合成モデルの出力の品質を向上させるための離散化の技術が提供される。
【図面の簡単な説明】
【0013】
図1】情報処理装置100の構成図である。
図2】情報処理装置100の動作を説明するためのフローチャートである。
図3】区間への分割の例を示す図である。
図4】情報処理装置100のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0015】
(実施の形態の概要)
本実施の形態では、後述する情報処理装置100が、連続変数である入力データの離散化及びデータ合成を行う。
【0016】
本実施の形態では、情報処理装置100に入力される連続変数Xの範囲[Xmin,Xmax](∋X)と、入力されるデータの数nは公開されているものとし、情報処理装置100は、当該範囲を何個のビン(実区間(実数の区間))に等分するべきかを決定する。
【0017】
なお、Xminは入力データの最小値より小さければ十分であり、入力データの最小値と等しくある必要はない。Xmaxについても入力データの最大値より大きければ十分である。
【0018】
情報処理装置100は、プライバシー保護を考慮するデータ合成を行う。当該データ合成において、情報処理装置100は、プライバシーを保護する目的で、離散変数を計数した後に、計数結果にノイズを加える。なお、本実施の形態では、計数結果は、区間毎のデータの数(つまりヒストグラム)である。
【0019】
本実施の形態では、情報処理装置100は、このノイズを考慮したビン(区間への分割)を作ることで出力されるデータの品質を向上させる。
【0020】
プライバシー保護のために加えられるノイズの絶対値の期待値(以下では「ノイズの大きさ」と呼ぶ)はデータ数nやプライバシー保護の強度など様々な因子により決定されるが、本実施の形態ではビン数dのみが変更できるものとし、ノイズの大きさをμ(d)(≧0)と記載する。
【0021】
以下、情報処理装置100の構成と動作について詳細に説明する。
【0022】
(情報処理装置100の構成、動作概要)
図1に、本実施の形態における情報処理装置100の機能構成の例を示す。図1に示すように、情報処理装置100は、入力部110、演算部120、出力部130、及び記憶部140を備える。
【0023】
情報処理装置100の全体動作例を図2のフローチャートを参照して説明する。S101において、データ合成の対象とするデータ(連続変数のデータ)を入力部110から入力する。入力されたデータは記憶部140に格納される。
【0024】
S102において、演算部120は、記憶部140から、入力データを読み出し、当該データに対して離散化処理を行う。離散化処理の詳細は後述する。離散化処理が行われたデータ(具体的には、離散的なラベルのデータ)は、記憶部140に格納される。
【0025】
S103において、演算部120は、離散化処理が行われたデータを記憶部140から読み出し、当該データに対して計数処理を行い、計数結果にノイズを付加する。S103は、データ合成モデルによる計算に相当する。
【0026】
S104において、出力部130は、ノイズが付加された計数結果を出力する。
【0027】
なお、情報処理装置100は、離散化処理までを行い、離散化処理後の処理を他の装置が行うこととしてもよい。また、情報処理装置100は、データ数nに基づきdを決定する処理を行い、その他の処理を他の装置が行うこととしてもよい。
【0028】
(離散化処理の詳細)
S102の離散化処理を詳細に説明する。
【0029】
前述したとおり、離散化処理において、演算部120は、入力データ(連続変数)の範囲を分割して実区間(ビン)の列を作り、連続変数のそれぞれのデータがどの区間に属すのかによって、データを離散的なラベルに置き換える。
【0030】
例えば、連続変数Xの範囲[Xmin,Xmax]を3つに等分割するイメージを図3に示す。図3の例では、3つの区間にA、B、Cのラベルが対応付けられている。
【0031】
<ビンの個数の決定>
ビンの個数の決定方法を詳細に説明する。
【0032】
ビンの個数dを少なくすると、元の連続変数Xの分布が離散化によって失われてしまう。例えばビンが1つしかなければ、元のデータ数とデータの範囲以外の情報は失われる。一方でビンの個数を多くすると、一つのビンに該当するデータ数が少なくなる。例えばビンの個数dをデータ数nにしてしまうと、一つのビンに該当するデータの個数が1、2程度になる。すると後に加えられるノイズによって該当するデータ数の情報がかき消されてしまうことになる。
【0033】
このような状況を防ぐため、演算部120は、以下のようにビン数dを選ぶ。データ数n(>0)とノイズの大きさμ(d)(≧0)がわかっているとき、ビンの個数d(>0)は下記の値が定数α(>0)に最も近くなるように選ぶと良い。定数は0.1程度にすると良いことが経験的にわかっている。
【0034】
μ(d)/(n/d)
すなわち、本実施の形態における演算部120は、
・一つのビンに該当するデータの個数の平均n/dと、
・一つのビンに該当するデータの個数へ加えられるノイズの大きさμ(d)とが、
適当な比率αになるようにビンの個数を選ぶ。
【0035】
ビン数d(>0)が決まった後、演算部120は、変数の範囲[Xmin,Xmax]をd等分して小区間を作り、各データ点をどの小区間に入っているかによってラベル付すれば、離散化が完了する。
【0036】
上記のαは、0.1に限定されるわけではない。αとして、0<α≦1を満たす任意の値を使用することができる。
【0037】
d毎のμ(d)については、例えば、記憶部140に事前に格納されているとする。つまり、演算部120は、記憶部140を参照することで、「μ(d)/(n/d)」が定数α(>0)に最も近くなるようなdを決定することができる。
【0038】
<ノイズの大きさの推量>
ノイズの大きさμ(d)が事前にわからなくても、実験的に調べることができる。以下では、実験的にμ(d)を推量(推定)する方法について説明する。推量のための計算はどの装置が行ってもよいが、ここでは例として、情報処理装置100が、データ合成モデルを有し、推量のための計算を行うものとする。
【0039】
プライバシー保護を行うデータ合成において、μ(d)はデータ数nなどには依存する可能性があるものの、データの分布によって変化しないことが普通である。そのためμ(d)がどのような関数かは、適当なデータを用いて事前実験で調べることができる。具体的には、下記の手順でノイズの大きさμ(d)を調べる。
【0040】
(1)一様分布に従うデータDを作る。具体的には、下記の1-1、1-2のとおりである。
【0041】
<1-1>
まず、情報処理装置100は、d種類の値{v,....,v}を用意する。
【0042】
<1-2>
続いて、情報処理装置100は、n/d個のデータ点にそれぞれの値を割り当てる。一例として、n=9、d=3、{v,v,v}={A,B,C}であるとして、データ点が、1,2,3,4,5,6,7,8,9であるとすると、例えば、1,2,3のそれぞれにAを割り当て、4,5,6のそれぞれにBを割り当て、7,8,9のそれぞれにCを割り当てる。
【0043】
値の割り当てられたデータ点の集合がDである。
【0044】
(2)下記の2-1、2-2、2-3を繰り返してMを複数回計算し、その平均値を求める。
【0045】
<2-1>
情報処理装置100は、データDをデータ合成モデルに入力し、合成データDを得る。
【0046】
<2-2>
情報処理装置100は、i=1,....,dに対し、合成データDに含まれる、値vを持つデータ点の個数cを計数する。
【0047】
上記の具体例において、ノイズ付加により、例えば、Bが割り当てられたデータ点の個数が3個から4個になり、Cが割り当てられたデータ点の個数が3個から2個になる、といったことが生じる。また、合計数もノイズ付加前後で変わる可能性がある。
【0048】
<2-3>
情報処理装置100は、M=(1/d)Σ i=1|c-n/d|を計算する。この計算により、データ合成モデルに入力する前と後での、データのずれ(ノイズの絶対値)を把握できる。
【0049】
上記(1)、(2)の手順からなる実験で得られるMの平均値(期待値)がμ(d)の推定値になる。μ(d)はプライバシー情報には関係しない情報なので、公開しても構わない。
【0050】
なお、非特許文献1、2で提案されている差分プライベートなデータ合成モデルにおいては、プライバシーバジェット(プライバシー保護の強度)をεとしたとき、μ(d)はおおよそlog(d/ε)に比例することが分かっている。
【0051】
例えば、情報処理装置100が、データ合成モデルとして、非特許文献1、2で提案されている差分プライベートなデータ合成モデルを使用する場合において、S102における離散化処理でのμ(d)として、C・log(d/ε)を使用することができる。Cはある定数である。
【0052】
つまり、情報処理装置100は、「C・log(d/ε)/(n/d)」が定数α(>0)に最も近くなるような値をdとして使用できる。
【0053】
(ハードウェア構成例)
本実施の形態で説明した情報処理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
【0054】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0055】
図4は、上記コンピュータのハードウェア構成例を示す図である。図4のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
【0056】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0057】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、情報処理装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0058】
(実施の形態のまとめ、効果等)
以上説明したとおり、本実施の形態で説明した技術において、情報処理装置100は、連続変数を離散化して作られたヒストグラムへ後に加えられるノイズの大きさを考慮しながら連続変数の範囲を何個の小区間に等分するか決定する。具体的には、情報処理装置100は、一つの区間に該当するデータ数の平均と、一つの区間に該当するデータ数へ加えられるノイズの絶対値の期待値(ノイズの大きさ)とが、予め定めた比率になるように小区間の個数を決定する。このようにして小区間の個数を決定することで、小区間の個数を最適化でき、ノイズが情報をかき消すことを防ぐことができる。
【0059】
離散変数のみを扱うデータ合成モデルを用いる際に、連続変数の離散化において、上述した方法で小区間の個数を決定することで、プライバシーを保護しながら良質な合成データを得ることができる。
【0060】
以上の実施形態に関し、更に以下の付記を開示する。
【0061】
<付記>
(付記項1)
連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する
情報処理装置。
(付記項2)
前記比率をαとすると、αは0<α≦1を満たす値である
付記項1に記載の情報処理装置。
(付記項3)
前記プロセッサは、前記ノイズの大きさとして、データ合成モデルに入力するデータと、前記データ合成モデルから出力されるデータとから算出した、ノイズの絶対値の期待値に基づく推定値を用いる
付記項1に記載の情報処理装置。
(付記項4)
連続変数のデータを離散化して得られたデータを入力するデータ合成モデルとして、差分プライベートなデータ合成モデルを使用する場合において、
プライバシーバジェットをεとし、定数をCとした場合に、前記プロセッサは、前記ノイズの大きさとして、C・log(d/ε)を使用する
付記項1に記載の情報処理装置。
(付記項5)
連続変数のデータを離散化するために、連続変数の範囲を等分する区間の個数を決定する情報処理装置による情報処理方法であって、
前記データのデータ数に基づいて、一つの区間に該当するデータ数の平均値と、一つの区間に該当するデータ数へ加えられるノイズの大きさとが、予め定めた比率になるように区間の個数を決定する
情報処理方法。
(付記項6)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の情報処理装置における演算部として機能させるためのプログラムを記憶した非一時的記憶媒体。
【0062】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0063】
100 情報処理装置
110 入力部
120 演算部
130 出力部
140 記憶部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
図1
図2
図3
図4