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

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

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

特開2024-155453情報処理装置、情報処理方法、プログラム
<>
  • 特開-情報処理装置、情報処理方法、プログラム 図1
  • 特開-情報処理装置、情報処理方法、プログラム 図2
  • 特開-情報処理装置、情報処理方法、プログラム 図3
  • 特開-情報処理装置、情報処理方法、プログラム 図4
  • 特開-情報処理装置、情報処理方法、プログラム 図5
  • 特開-情報処理装置、情報処理方法、プログラム 図6
  • 特開-情報処理装置、情報処理方法、プログラム 図7
  • 特開-情報処理装置、情報処理方法、プログラム 図8
  • 特開-情報処理装置、情報処理方法、プログラム 図9
  • 特開-情報処理装置、情報処理方法、プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155453
(43)【公開日】2024-10-31
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241024BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023070186
(22)【出願日】2023-04-21
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】伊東 邦大
(57)【要約】
【課題】機械学習モデルの正しいリスクアセスメントを行うことができないこと。
【解決手段】本開示の情報処理装置100は、機械学習モデルに入力される第一属性値と第二属性値とに関する機械学習モデルの判断境界と、第一属性値の既知値と第二属性値の未知である候補値との対からなる標的データと、に基づいて、標的データが機械学習モデルの訓練データとして妥当であるかを判定する判定部と、妥当であると判定された標的データに含まれる第二属性値の候補値から第二属性値の値を推定する推定部と、を備える。
【選択図】図10

【特許請求の範囲】
【請求項1】
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定する判定部と、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する推定部と、
を備えた情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記判定部は、前記機械学習モデルである決定木モデルの条件分岐の内容に基づく前記判断境界における前記第一属性値に対応する境界値と、前記第一属性値の既知値と、に基づいて、前記標的データが妥当であるかを判定する、
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記判定部は、前記第一属性値の既知値が同一であり前記第二属性値の未知である候補値がそれぞれ異なる複数の前記標的データそれぞれにおいて、前記条件分岐に含まれる条件式の閾値と、前記標的データに含まれる前記第一属性値の既知値と、の比較に基づいて、前記標的データが妥当であるかを判定する、
情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記判定部は、前記標的データが前記決定木モデルの前記条件分岐にて通るパス上における当該条件分岐に含まれる条件式の閾値と、前記標的データに含まれる前記第一属性値の既知値と、が異なる場合に、当該標的データが妥当であると判定する、
情報処理装置。
【請求項5】
請求項3に記載の情報処理装置であって、
前記判定部は、前記標的データが前記決定木モデルの前記条件分岐にて通るパス上における当該条件分岐に含まれる条件式の閾値を基準とした所定範囲外に前記第一属性値の既知値がある場合に、当該標的データが妥当であると判定する、
情報処理装置。
【請求項6】
請求項3に記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値の候補値と対となる前記第一属性値の既知値と、前記判断境界と、に基づいて、前記第二属性値の値を推定する、
情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値と対となる前記第一属性値の既知値と、前記条件分岐に含まれる条件式の閾値と、の距離に基づいて、前記第二属性値の値を推定する、
情報処理装置。
【請求項8】
請求項7に記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値のうち、前記条件分岐に含まれる条件式の閾値からの距離が最も大きい前記第一属性値の既知値と対となる前記第二属性値の候補値を、前記第二属性値の値として推定する、
情報処理装置。
【請求項9】
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
情報処理方法。
【請求項10】
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
処理をコンピュータに実行させるためのプログラム。


【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
機械学習などを用いて学習された学習モデルのプライバシーリスク評価などを目的として、学習後の学習モデルからの出力に基づいて、学習時に用いられたデータ(訓練データ)を推定する技術である属性推定攻撃が知られている。
【0003】
ここで、属性推定とは、あるデータの既知である属性(既知属性)の値を基に、未知である属性(標的属性)の値を推測する手法である。例えば、顧客の「年収及び年齢」と、住居が賃貸か持家かといった「住居状況」と、が記載されたデータセットを想定する。このとき、「年齢」、あるいは、「年齢」と「住居状況」の両方、が既知属性として判明しているデータ(標的データ)に対して、これら既知属性の値から、標的属性である「年収」を推測することが属性推定に当たる。そして、先行文献では、機械学習モデルを参照すると、訓練に用いられたデータセット(訓練データセット)内の標的データに対する属性推定の成功確率が向上することが報告されている。
【0004】
例えば、非特許文献1には、標的データの既知属性と真のラベルを入力として、学習モデル由来の情報を用いた所定の処理を実行することで、未知属性の尤もらしい値を出力する方法が記載されている。ここで、ラベルとは、学習タスクの答えとなる目的変数のことである。具体的には、推定対象の未知属性をある値で固定して実現候補とし、実現候補を入力としたときに学習モデルの出力する推定ラベルを計算する。その後、仮定したエラー関数を用いて真のラベルと推定ラベルの間のずれから尤もらしさを算出し、算出結果を重みとして標的属性の周辺確率を評価する。最終的に、評価値が最も大きい実現候補を推測結果として出力する。非特許文献1には、例えば、上記のような処理を行って、尤もらしい属性値を特定することが記載されている。
【0005】
また、非特許文献2には、重みの計算として、決定木モデルの判断境界内のデータ数の比に基づいて重みを算出し、算出したずれを重みとして周辺確率を評価して、評価値が最も大きい実現候補を推測結果として出力する、という処理を行って、尤もらしい属性値を特定することが記載されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Fredrikson et. al.,Privacy in Pharmacogenetics: An End-to-End Case Study of Personalized Warfarin Dosing,Proceedings of the 23rd USENIX Security Symposium, p. 17- 32,2014
【非特許文献2】Fredrikson et. al.,Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures,CCS '15: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, p. 1322- 1333,2015
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した先行技術文献に記載の技術では、標的モデルの構造を十分に考慮していないため、属性推定の結果として正解でない候補を出力してしまう可能性がある。そのため、先行技術に基づいて構成されたモデルのリスクアセスメント装置も、本来想定すべき攻撃より弱い攻撃しか想定できておらず、正しいリスクアセスメントが行えていない、という課題が生じていた。
【0008】
このため、本開示の目的は、上述した課題である、機械学習モデルの正しいリスクアセスメントを行うことができない、ことを解決することができる情報処理装置を提供することにある。
【課題を解決するための手段】
【0009】
本開示の一形態である情報処理装置は、
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定する判定部と、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する推定部と、
を備えた、
という構成をとる。
【0010】
また、本開示の一形態である情報処理方法は、
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
という構成をとる。
【0011】
また、本開示の一形態であるプログラムは、
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
処理をコンピュータに実行させる、
という構成をとる。
【発明の効果】
【0012】
本開示は、以上のように構成されることにより、機械学習モデルの正しいリスクアセスメントを行うことができる。
【図面の簡単な説明】
【0013】
図1】本開示の実施形態1における情報処理システムの全体構成を示すブロック図である。
図2図1に開示したリスク評価装置の構成を示すブロック図である。
図3図1に開示したモデル格納装置による処理の様子を示す図である。
図4図1に開示した学習モデルの一例を示す図である。
図5図1に開示した学習モデルの一例を示す図である。
図6図1に開示したリスク評価装置の処理の様子を示す図である。
図7図1に開示したリスク評価装置の処理の様子を示す図である。
図8図1に開示したリスク評価装置の動作を示すフローチャートである。
図9】本開示の実施形態2における情報処理装置のハードウェア構成を示すブロック図である。
図10】本開示の実施形態2における情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【0014】
<実施形態1>
本開示の第1の実施形態を、図1乃至図8を参照して説明する。図1乃至図5は、情報処理システムの構成を説明するための図であり、図6乃至図8は、情報処理システムの処理動作を説明するための図である。
【0015】
[構成]
本実施形態における情報処理システムは、図1に示すように、リスク評価装置1と、モデル格納装置2と、データベース3と、がネットワークを介して接続されて構成されている。そして、情報処理システムは、後述するように、リスク評価装置1が、モデル格納装置2に格納されている機械学習モデルに対する現実的な強度の属性推定攻撃を想定した処理を行うことで、当該機械学習モデルにおける正しいリスク評価を行うことができるよう構成されている。以下、各装置について詳しく説明する。
【0016】
まず、モデル格納装置2は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、モデル格納装置2は、図3に示すように、受信部41、推論部42、出力部43、を備える。受信部41、推論部42、出力部43の各機能は、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより実現することができる。また、モデル格納装置2は、記憶装置により構成された機械学習モデル記憶部44を備える。以下、各構成について詳述する。
【0017】
機械学習モデル記憶部44は、本実施形態においてリスクアセスメント対象となる機械学習モデルを記憶している。機械学習モデルは、複数の属性とラベルとを含む訓練データを複数用いて予め学習されている。このとき、機械学習モデルは、モデル格納装置2内で学習されていてもよいし、モデル格納装置2外で学習されていてもよい。
【0018】
そして、本実施形態における機械学習モデルは、一例として、決定木モデル(以下、単に決定木と称する)である。決定木は、データをその属性(説明変数)により振り分ける二分木(条件分岐)を複数組み合わせた機械学習モデルである。ここで、機械学習などで学習すべきタスクにおいて、入力として与えられている属性を説明変数と呼び、学習タスクの目的となるべき出力される属性を目的変数と呼ぶ。機械学習モデルは、説明変数の空間における判断境界と、その判断境界によって仕切られた説明変数の空間の部分領域に対応付けられた出力値のペアで定式化される。機械学習モデルの訓練は、適切な判断境界を学習することである。機械学習モデルの推測は、学習した判断境界を入力データに適用することによって、適当な予測結果を出力することで行われる。
【0019】
特に、決定木の判断境界は、中間ノード(条件ノード)に格納された条件分岐として表現される。条件分岐は、振り分けに用いる属性の指定(属性指定)と振り分けの分岐点となる閾値(分岐閾値)の二つの情報から構成される。決定木の訓練では、訓練データに対する出力値が目的変数を十分よく説明するように、訓練データを最もよく振り分けるような条件分岐を総当たりで探索する。典型的な決定木の訓練アルゴリズムによると、ある属性に関する条件分岐の分岐閾値としては、振り分け判断の分かれた二つのデータが持つ当該属性値の中間が設定される。
【0020】
また、決定木による推測は、訓練で得られた上記条件分岐により、入力データを振り分けていき、到達した葉ノードの出力値を出力することで行われる。目的変数が連続であるとき(回帰タスク決定木)は、葉ノードに割り振られたデータの目的変数の平均値を出力値とする。目的変数が離散であるとき(分類タスク決定木)では、葉ノードに割り振られたデータの目的変数の比率の最頻値または比率それ自体を出力値とする。
【0021】
具体的に、本実施形態における機械学習モデルは、図4に示すような決定木で構成されている。一例として、本実施形態における決定木は、「年齢」及び「年収」を説明変数とし、賃貸(0)か持ち家(1)かといった「居住状況」を目的変数として学習されたものである。このとき、決定木内における各条件ノードには、各条件分岐が各説明変数を振り分ける閾値を伴って設定されている。例えば、図4の例では、説明変数「年収(x)」(第二属性値)に関する条件分岐として、「5M(500万円)以上」が設定されていたり、説明変数「年齢(x)」(第一属性値)に関する条件分岐として、「40(40歳)以上」などが設定されていたりする。そして、このような条件分岐を、入力される説明変数の値に応じて辿ることで、葉ノードに位置する賃貸(0)か持ち家(1)かといった「居住状況」が推論されることとなる。
【0022】
上述したような決定木に設定されている条件分岐の閾値は、決定木の判断境界を表している。ここで、図4に示す決定木における判断境界を図示したものを図5に示す。この図に示すように、説明変数「年収(x)」と「年齢(x)」とをそれぞれ軸にとる空間において、説明変数「年収(x)」が「5M(500万円)」と「10M(1000万円)」、説明変数「年齢(x)」が「40(40歳)」と「70(70歳)」、をそれぞれ判断境界として区切られた領域が形成されることとなる。なお、図5においてそれぞれ区切られた領域D~Dは、図4における葉ノードに相当し、変数賃貸(0)か持ち家(1)かといった居住状況を示している。
【0023】
そして、上述した決定木の判断境界は、後述するようにリスク評価装置1に取得されることとなる。例えば、図4に示す決定木の内容を表すデータや図5に示す判断境界のデータが、予めリスク評価装置1に記憶されていてもよい。あるいは、以下に説明するように、リスク評価装置1からの要求により、モデル格納装置2がリスク評価装置1に出力してもよい。この場合、モデル格納装置2の各構成は以下のように機能する。
【0024】
受信部41は、リスク評価装置1から、後述するように既知の属性値と未知の属性値の候補値とからなる実現候補データを受信する。このとき、受信部41は、リスク評価装置1にとっての未知の属性値の候補値の数に応じた数の実現候補データをリスク評価装置1から受信する。なお、受信部41は、実現候補データとともに識別情報など上記例示した以外の情報を受信してもよい。
【0025】
推論部42は、受信部41が受信した各実現候補データを機械学習モデルである決定木に入力する。また、上記入力の結果として、推論部42は、各実現候補データに対応する判断境界を取得する。判断境界とは、ある属性が閾値より大きい、または、小さいなどを示す条件式のうち、学習モデルに実現候補データが入力されるときに参照される条件式を並べた条件式の列である。
【0026】
出力部43は、推論部42が取得した判断境界をリスク評価装置1に対して送信する。例えば、出力部43は、判断境界がどの実現候補データに基づいて算出した結果であるのかを判別可能なように、実現候補データの識別情報などとともに判断境界をリスク評価装置1に対して送信してよい。
【0027】
出力部43は、上記例示した以外の機械学習モデルについての情報をリスク評価装置1に対して送信してもよい。また、出力部43は、リスク評価装置1に対して判断境界を送信する際に限らず、任意のタイミングで機械学習モデルである決定木についての情報、例えば、判断境界の情報を、リスク評価装置1に対して送信してよい。
【0028】
次に、リスク評価装置1の構成について説明する。リスク評価装置1は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、リスク評価装置1は、図2に示すように、入力部10、推定部20、評価部30、を備える。入力部10、推定部20、評価部30の各機能は、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより実現することができる。また、入力部10は、既知属性入力部11、候補値入力部12、実現候補生成部13、を備える。また、推定部20は、判断境界算出部21、判定部22、未知値推定部23、を備える。また、評価部30は、結果受取部31、リスク判定部32、外部出力部33、を備える。以下、各構成について詳述する。
【0029】
まず、入力部10は、データベース3にアクセスして、説明変数となる既知属性(第一属性値)の値と、説明変数となる標的属性(第二属性値)の未知の値の候補値と、の対である標的データを取得して、それぞれ既知属性入力部11と候補値入力部12に入力する。なお、以下の説明では、上述した決定木の例に対応して「年齢」と「年収」を説明変数として想定し、既知属性である「年齢」の値と標的属性である「年収」の未知の値の候補値の対として標的データを取得することとする。そして、実現候補生成部13は、既知属性の値と標的属性の未知の値の候補値とに基づいて、実現候補データを生成し、推定部20に送信する。ここで、実現候補データとは、標的データの標的属性の未知である値を所与の候補値の中で暫定的に仮置いたデータのことである。一例として、上記の決定木の例に対応するデータの場合には、既知属性の値が「年齢=40」であり、標的属性の未知の値の候補値が「年収=500万円未満」または「年収=500万円以上」の二値カテゴリのいずれかを値として持つとすると、標的データの実現候補データは、[「年齢=40」、「年収=500万円未満」]と、[「年齢=40」、「年収=500万円以上」]という二つのデータとなる。
【0030】
推定部20の判断境界算出部21は、上述した実現候補生成部13で生成された実現候補データがモデル格納装置2に格納された機械学習モデルである決定木に入力される際に用いられる判断境界を算出する。このとき、判断境界算出部21は、図4に示す決定木や図5に示す判断境界のデータそのものを記憶装置やモデル格納装置2から取得してもよく、上述したように、実現候補データをモデル格納装置2に送信して、モデル格納装置2からの推定結果により判断境界に関するデータを取得して判断境界を生成してもよい。
【0031】
推定部20の判定部22は、判断境界の形状に基づいて未知の属性の値の妥当性判定を行う。具体的に、判定部22による判定方法としては、例えば、実現候補データが決定木で割り振られて通る条件ノードの列(条件パス)に格納された条件式に含まれる閾値と、実現候補データの既知属性の値と、が一致するか否かを判定する。そして、判定部22は、実現候補データの既知属性の値が閾値と一致した場合に、その実現候補データは訓練データとして妥当ではないと判定して標的属性に仮置いていた候補値を属性推定結果から除外する。一方で、判定部22は、実現候補データの既知属性の値が閾値と一致せずに異なっていた場合に、その実現候補データが訓練データとして妥当であるとして、当該実現候補データの標的属性に仮置いていた候補値を未知値推定部23に送信する。
【0032】
ここで、上述した判定方法を用いる理由について説明する。決定木の学習時におけるアルゴリズムつまり訓練アルゴリズムによれば、条件分岐の閾値は、振り分け判断の分かれた二つのデータが持つ当該属性値の中間に設定される。このことから、ある属性xの値がτである訓練データが1つでも存在すると、当該訓練データが割り振られる条件ノードに格納される条件分岐について、属性選択の結果として属性xが選択された場合、対応する分岐閾値はτになり得ないことがわかる。すなわち、ある入力データの属性値の組が、仮に、当該データが割り振られる条件パスに格納されている条件式の閾値に現れるとすると、そのデータは訓練データではないことが結論される。したがって、標的データの実現候補データのうち、当該実現候補データの属性値の組が、当該実現候補データが割り振られる条件パス上の条件ノードに格納されている条件式の閾値に現れるものは、訓練データであるはずの標的データ自身とは一致しないことから、当該実現候補データの標的属性に仮置いていた候補値を属性推定の結果から排除することが可能である。
【0033】
例えば、上述した図4に示すような決定木が訓練された場合における判定の一例を、図6を参照して説明する。ここでは、上述したように、既知属性の値が「年齢=40」であることとし、標的データの実現候補データが、[「年齢=40」、「年収=500万円未満」]と、[「年齢=40」、「年収=500万円以上」]という二つのデータであることとする。この場合、訓練データは、分岐条件「年齢≧40」を格納した条件ノードつまり閾値「年齢=40歳」を含む条件分岐のノードに割り振られることはあり得ない。つまり、図6のバツ印で示した、「x≧5M」→「True」→「x≧40」の条件ノードを通ることはあり得ない。このため、「x≧40」の一つ前の条件ノード(親ノード)からもう一方の後続ノード(子ノード)、つまり、図6の丸印で示した、「x≧5M」→「False」→「x≧70」の条件ノードに割り振られることがわかる。したがって、実現候補データ[「年齢=40」、「年収=500万円以上」]は訓練データではありえず、標的データの正しい実現になっていないことから、「年収=500万円以上」は属性推定の結果として不適合であることが結論できる。一方で、既知属性の値「年齢=40」が条件ノードの閾値とは異なる実現候補データ[「年齢=40」、「年収=500万円未満」]は、訓練データとして妥当であると判定され、「年収=500万円未満」が属性推定の結果として処理される。
【0034】
なお、現実的な設定では、上記の判定をクリアする実現候補の個数は少ないことが期待できるため、上記の判定をクリアする実現候補に対応する標的属性値を出力することで高確度の属性推定が可能である。このことは以下のように説明される。現実的な設定では、高精度の機械学習モデルを得るために、再帰的に条件ノードを組み合わせた決定木を複数個組み合わせてアンサンブルモデルを構成する。条件ノードの再帰性とアンサンブル学習に用いる決定木の個数が増加すると、アンサンブルモデルの判断境界の形状はより複雑化する。そのため、訓練時に存在しなかったデータの既知属性の値が分岐閾値と一致する確率が高まり、上記の判定をクリアする実現候補データの個数は少なくなることが期待できる。
【0035】
また、判定部22による、実現候補データの標的属性の未知の候補値が訓練データとして妥当であると判定する他の基準として、既知属性の値と閾値とが一致していない場合に替えて、既知属性の値が閾値を基準とした所定範囲外にある場合、としてもよい。つまり、既知属性の値が閾値から所定の距離よりも離れている場合に、かかる実現候補データは訓練データとして妥当であると判定し、一方で、既知属性の値と閾値との距離が定められた範囲(拒絶範囲)以下にある場合には、かかる実現候補データは訓練データとして妥当ではないと判定してもよい。
【0036】
上記のように判定する理由としては、閾値が定める判断境界から距離が離れているデータは、判断境界に近いデータよりも実際に存在した訓練データである蓋然性が高いからである。この理由は次のように述べられる。条件分岐の閾値は、振り分け判断の分かれた二つのデータが持つ当該属性値の中間で決定される。したがって、分岐後の各ノードで、閾値に最も近いデータはただ一つであり、当該データ以外のデータはすべて境界から離れている。つまり、ノード内の訓練データの大多数は境界から離れていることがわかる。つまり、判定部における閾値一致の条件を拒絶範囲内であるという条件に置き換えることで、より厳しい条件で実現候補をさらに少数へ絞り込むことが出来、実際に存在した訓練データを選択できる可能性がより高まる。
【0037】
例えば、上記の例において、既知属性の値が「年齢=39」である実現候補データは、上述した「拒絶範囲=1」に設定すると、分岐条件「年齢≧40」の閾値の拒絶範囲内にあるため、かかる実現候補データは判定をクリアせず取り除かれる。なお、この場合、拒絶範囲が大きければより多くの実現候補データが取り除かれるが、訓練データとして妥当な実現候補データまでも取り除かれる可能性もある。反対に、拒絶範囲が小さければ、より訓練データとして妥当な実現候補データは残りやすくなるが、それ以外の多くの実現候補データも残されうる。このため、リスク評価時にさまざまな攻撃者を想定できるように、拒絶範囲の値は、任意の0以上の実数値を設定可能とする。
【0038】
未知値推定部23は、判定部22で訓練データとして妥当と判定された実現候補データ内の未知の属性の候補値に基づいて、未知の属性の値を推定する。そして、未知値推定部23は、推定した未知の属性の値を推定値として評価部30に送信する。例えば、未知値推定部23は、訓練データとして妥当と判定された実現候補データに対応する全ての未知の属性の候補値を、未知の属性の値として推定して評価部30に送信してもよい。
【0039】
一方で、上述した判定部22の判定をクリアし、未知値推定部23に送信された未知の属性の候補値は、一般に複数の可能性を許し、属性値の推定結果は一意的ではない。このため、未知値推定部23は、これら候補値から最も訓練データとして確からしい値を所定の選択基準により選択して、一意的な選択結果を標的属性の未知の値の推定値として評価部30に送信することができる。
【0040】
ここで、選択基準の一例としては、既知属性値と決定木の条件パス上の条件式に現れる閾値との距離を利用することとする。上述したように、判断境界から離れているデータは判断境界に近いデータよりも実際に存在した訓練データである蓋然性が高い。そこで、実現候補に対して、既知属性の値と決定木の条件パス上の条件式に現れる閾値との距離を計算し、当該距離が最も大きくなるものを一つ選択し、選択結果を未知属性の推定値として出力する、こととする。
【0041】
例えば、上述した例において、訓練データとして妥当であると判定された実現候補データの既知属性が「年齢=45」である場合には、かかる実現候補データは、図7に示す判断境界において、説明変数の空間の部分領域D又はDに割り振られる。つまり、標的属性の未知の候補値は「年収=500万円以上」か「年収=500万円未満」となる。このとき、既知属性「年齢」の判断境界はそれぞれ「70」と「40」であるため、各判断境界との距離は、「25」と「5」になる。このうち、既知属性の値から距離がより大きいDに割り振られる実現候補データが判定をクリアし、標的属性の対応する候補値である「年収=500万円未満」が推定値として出力される。複数の属性が既知属性として与えられている場合は、各々の既知属性に関して判断境界との距離を計算したのち、それらを適切に足し合わせたものを比較に用いてもよい。足し合わせる方法は、例えば、Lpノルムなどを使用すればよい。
【0042】
ここで、属性によって単位が異なることを考慮して距離を適切に補正してもよい。このことを、医療データの例で説明する。分岐の結果、あるノードで、体重属性の範囲が50以上60以下など二桁程度の大きさを持つ一方、血中酸素濃度属性は0.98以上1.00以下など小数点桁の大きさを持つ場合を想定する。このとき、閾値距離は、血中酸素濃度属性に関してよりも、体重属性に関して極端に大きくなり、閾値距離の大きさを正しく評価できなくなることで、正確な属性推定が困難になることが予想される。そこで、閾値距離を各属性に関して範囲の幅で割る補正を施す。例えば前記医療データの例では、閾値距離を、体重属性に関して十分の一倍し、血中酸素濃度属性に関しては50倍する。これによって、各属性の値範囲が幅1に補正され、各属性に偏ることない閾値距離の評価により、正確な属性推定が可能になると期待できる。なお、いずれかの判断境界に上限または下限が存在しない場合、すなわち、判断境界が∞(無限大)または-∞を用いて表される場合は、適当な関数で実数直線を有限の区間(たとえば-1以上1以下の区間など)に変換してから、補正を実行する。
【0043】
なお、上述した方法に限らず、非特許文献1や非特許文献2の技術を使用して、標的属性の未知の候補値から一つの推定値を選択することも可能である。例えば、標的属性の候補値を訓練データとして妥当であると判定された実現候補データに対応するものに限ったうえで、非特許文献1の属性推定を実行することでただ一つを選択することも可能である。ただしこの場合は、真のラベル情報または周辺分布情報の少なくとも一方を仮定する必要がある。これに対して、上記実施形態では、真のラベル情報または周辺分布情報の両方を仮定しなくても選択が可能という利点がある。
【0044】
評価部30の結果受取部31は、未知値推定部23から送信された未知の属性の推定値を受け取り、リスク判定部32に送信する。リスク判定部32は、結果受取部31から受け取った未知の属性の推定値とデータベース3に格納された当該属性の本来の値とを比較し、これに基づいて、訓練データが漏えいするおそれなどに応じた所定のリスク評価値を算出して、外部出力部33に送信する。外部出力部33は、外部の出力機器に出力結果を送信する。
【0045】
[動作]
次に、上述したリスク評価装置1の動作を、主に図8のフローチャートを参照して説明する。なお、ここでは、上述した図4に示す構造の決定木からなる機械学習モデルを対象とする。
【0046】
まず、リスク評価装置1は、説明変数となる既知属性の値と、説明変数となる標的属性の未知の値の候補値と、の対である標的データを取得して、実現候補データを生成する。例えば、上述したように、既知属性の値が「年齢=40」であり、標的属性の未知の値の候補値が「年収=500万円未満」または「年収=500万円以上」のいずれかである場合に、[「年齢=40」、「年収=500万円未満」]と、[「年齢=40」、「年収=500万円以上」]といった二つの実現候補データを生成する。
【0047】
続いて、リスク評価装置1は、決定木の判断境界に基づいて、実現候補データの訓練データとしての妥当性を判定する。例えば、リスク評価装置1は、実現候補データが決定木で割り振られて通る条件ノードの列(条件パス)に格納された条件式に含まれる閾値と、実現候補データの既知属性の値と、が一致するか否かを判定する(ステップS2)。そして、リスク評価装置1は、実現候補データの既知属性の値が閾値と一致した場合に(ステップS2でYes)、その実現候補データは訓練データとして妥当ではないと判定して属性推定結果から除外する(ステップS3)。一方で、リスク評価装置1は、実現候補データの既知属性の値が閾値と一致せずに異なっていた場合に、その実現候補データが訓練データとして妥当であると判定する(ステップS2でNo)。例えば、上述した実現候補データの場合には、図6に示すように、実現候補データ[「年齢=40」、「年収=500万円以上」]は訓練データとして妥当ではないと判定され、実現候補データ[「年齢=40」、「年収=500万円未満」]は、訓練データとして妥当であると判定する。
【0048】
なお、リスク評価装置1は、上記とは別の方法で、実現候補データの訓練データとしての妥当性を判定してもよい。例えば、リスク評価装置1は、ステップ2において、「既知属性の値が、閾値を基準とした所定範囲内にある」という条件としてもよい。そして、リスク評価装置1は、既知属性の値が、閾値を基準とした所定範囲にある場合には(ステップS2でYes)、実現候補データが妥当ではないと判定して除外し(ステップS2でYes、ステップS3)、既知属性の値が、閾値を基準とした所定範囲内にない場合には(ステップS2でNo)、実現候補データが妥当であると判定する。
【0049】
続いて、リスク評価装置1は、標的属性の未知の値の推定値を一意に決定する場合には(ステップS4でYes)、訓練データとして妥当と判定された実現候補データから1つの実現候補データに対応する標的属性の値を推定値として推定する。例えば、リスク評価装置1は、上述したように、実現候補データの既知属性値と決定木の条件パス上の条件式に現れる閾値との距離を利用して、各実現候補データの尤もらしさを算出し(ステップS5)、算出結果に基づいて1つの推定値を決定する(ステップS6)。そして、リスク評価装置1は、決定した標的属性の推定値を出力する(ステップS7)。なお、リスク評価装置1は、標的属性の推定値を一意に決定しない場合には(ステップS4でNo)、訓練データとして妥当と判定された全ての実現候補データの標的属性の候補値を推定値として推定して出力する(ステップS7)。
【0050】
<実施形態2>
次に、本開示の第2の実施形態を、図9乃至図10を参照して説明する。図9乃至図10は、実施形態2における情報処理装置の構成を示すブロック図である。なお、本実施形態では、上述した実施形態で説明したリスク評価装置の構成の概略を示している。
【0051】
まず、図9を参照して、本実施形態における情報処理装置100のハードウェア構成を説明する。情報処理装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0052】
なお、図9は、情報処理装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。また、情報処理装置は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
【0053】
そして、情報処理装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、図10に示す判定部121と推定部122とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した判定部121と推定部122とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0054】
上記判定部121は、機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定する。例えば、判定部121は、機械学習モデルである決定木の条件分岐の内容に基づく前記判断境界における前記第一属性値に対応する境界値と、前記第一属性値の既知値と、に基づいて、前記標的データが妥当であるかを判定する。
【0055】
上記推定部122は、妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する。
【0056】
本開示は、以上のように構成されることにより、機械学習モデルの判断境界を考慮して未知の値を推定しているため、機械学習モデルに対して本来想定すべき強度の攻撃を想定した正しいリスクアセスメントが行うことができる。
【0057】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0058】
以上、上記実施形態等を参照して本開示を説明したが、本開示は、上述した実施形態に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述した判定部121と推定部122との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0059】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における情報処理装置、情報処理方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定する判定部と、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する推定部と、
を備えた情報処理装置。
(付記2)
付記1に記載の情報処理装置であって、
前記判定部は、前記機械学習モデルである決定木モデルの条件分岐の内容に基づく前記判断境界における前記第一属性値に対応する境界値と、前記第一属性値の既知値と、に基づいて、前記標的データが妥当であるかを判定する、
情報処理装置。
(付記3)
付記2に記載の情報処理装置であって、
前記判定部は、前記第一属性値の既知値が同一であり前記第二属性値の未知である候補値がそれぞれ異なる複数の前記標的データそれぞれにおいて、前記条件分岐に含まれる条件式の閾値と、前記標的データに含まれる前記第一属性値の既知値と、の比較に基づいて、前記標的データが妥当であるかを判定する、
情報処理装置。
(付記4)
付記3に記載の情報処理装置であって、
前記判定部は、前記標的データが前記決定木モデルの前記条件分岐にて通るパス上における当該条件分岐に含まれる条件式の閾値と、前記標的データに含まれる前記第一属性値の既知値と、が異なる場合に、当該標的データが妥当であると判定する、
情報処理装置。
(付記5)
付記3又は4に記載の情報処理装置であって、
前記判定部は、前記標的データが前記決定木モデルの前記条件分岐にて通るパス上における当該条件分岐に含まれる条件式の閾値を基準とした所定範囲外に前記第一属性値の既知値がある場合に、当該標的データが妥当であると判定する、
情報処理装置。
(付記6)
付記3乃至5のいずれかに記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値の候補値と対となる前記第一属性値の既知値と、前記判断境界と、に基づいて、前記第二属性値の値を推定する、
情報処理装置。
(付記7)
付記6に記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値と対となる前記第一属性値の既知値と、前記条件分岐に含まれる条件式の閾値と、の距離に基づいて、前記第二属性値の値を推定する、
情報処理装置。
(付記8)
付記7に記載の情報処理装置であって、
前記推定部は、妥当であると判定された前記標的データの前記第二属性値の候補値のうち、前記条件分岐に含まれる条件式の閾値からの距離が最も大きい前記第一属性値の既知値と対となる前記第二属性値の候補値を、前記第二属性値の値として推定する、
情報処理装置。
(付記9)
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
情報処理方法。
(付記9.1)
付記9に記載の情報処理方法であって、
前記機械学習モデルである決定木モデルの条件分岐の内容に基づく前記判断境界における前記第一属性値に対応する境界値と、前記第一属性値の既知値と、に基づいて、前記標的データが妥当であるかを判定する、
情報処理方法。
(付記9.2)
付記9.1に記載の情報処理方法であって、
前記第一属性値の既知値が同一であり前記第二属性値の未知である候補値がそれぞれ異なる複数の前記標的データそれぞれにおいて、前記条件分岐に含まれる条件式の閾値と、前記標的データに含まれる前記第一属性値の既知値と、の比較に基づいて、前記標的データが妥当であるかを判定する、
情報処理方法。
(付記9.3)
付記9.2に記載の情報処理方法であって、
妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値の候補値と対となる前記第一属性値の既知値と、前記判断境界と、に基づいて、前記第二属性値の値を推定する、
情報処理方法。
(付記9.4)
付記9.3に記載の情報処理方法であって、
妥当であると判定された前記標的データの前記第二属性値の候補値から、当該第二属性値と対となる前記第一属性値の既知値と、前記条件分岐に含まれる条件式の閾値と、の距離に基づいて、前記第二属性値の値を推定する、
情報処理方法。
(付記10)
機械学習モデルに入力される第一属性値と第二属性値とに関する当該機械学習モデルの判断境界と、前記第一属性値の既知値と前記第二属性値の未知である候補値との対からなる標的データと、に基づいて、当該標的データが前記機械学習モデルの訓練データとして妥当であるかを判定し、
妥当であると判定された前記標的データに含まれる前記第二属性値の候補値から当該第二属性値の値を推定する、
処理をコンピュータに実行させるためのプログラム。
【符号の説明】
【0060】
1 リスク評価装置
2 モデル格納装置
3 データベース
10 入力部
11 既知属性入力部
12 候補値入力部
13 実現候補生成部
20 推定部
21 判断境界算出部
22 判定部
23 未知値推定部
30 評価部
31 結果受取部
32 リスク判定部
33 外部出力部
41 受信部
42 推論部
43 出力部
44 機械学習モデル記憶部
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 判定部
122 推定部


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10