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

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

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

特開2024-173478リスク評価装置、データ防御装置、リスク評価方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024173478
(43)【公開日】2024-12-12
(54)【発明の名称】リスク評価装置、データ防御装置、リスク評価方法およびプログラム
(51)【国際特許分類】
   G06N 20/20 20190101AFI20241205BHJP
   G06F 21/57 20130101ALI20241205BHJP
【FI】
G06N20/20
G06F21/57 370
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023091920
(22)【出願日】2023-06-02
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】エンケタイワン バトニヤマ
(72)【発明者】
【氏名】寺西 勇
(57)【要約】
【課題】複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価できるようにする。
【解決手段】リスク評価装置が、第1のクラス分類に用いられる分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する目的変数値とを含む対象データを取得し、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された第2集合の要素がそのクラスに分類される度合いを示す部分モデルごとに、説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、目的変数値で識別される第2のクラス分類におけるクラスに、第2集合の要素が分類される度合いを示すコンフィデンススコアを算出し、部分モデルごとのコンフィデンススコアに基づいて、対象データが第1集合に含まれている可能性を評価する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得するデータ取得手段と、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出するコンフィデンススコア算出手段と、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価するリスク評価手段と、
を備えるリスク評価装置。
【請求項2】
前記データ取得手段は、1つ以上の分類項目の値が不明となっている対象データに、値が不明となっている分類項目の候補値を設定することで、前記コンフィデンススコアの算出の対象となる対象データを生成する、
請求項1に記載のリスク評価装置。
【請求項3】
前記リスク評価手段は、値が不明となっている分類項目の候補値のリストに含まれる候補値ごとに、その候補値が設定された対象データについて、前記第2集合の要素のうち、その対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、その対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに分類される要素が無いことを示している部分モデルの個数を示す非該当性スコアを算出する、
請求項2に記載のリスク評価装置。
【請求項4】
値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、前記非該当性スコアが最小の候補値を、その分類項目の推定値とする推定手段
を更に備える、請求項3に記載のリスク評価装置。
【請求項5】
前記推定手段は、値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、前記非該当性スコアが最小の候補値が複数ある場合、その分類項目の推定値を未定とする、
請求項4に記載のリスク評価装置。
【請求項6】
前記推定手段は、前記非該当性スコアの最小値と、最小値の次に小さい値との差の大きさが所定の閾値よりも小さい場合、その分類項目の推定値を未定とする、
請求項4に記載のリスク評価装置。
【請求項7】
前記推定手段は、前記非該当性スコアの最小値が所定の閾値よりも大きい場合、その分類項目の推定値を未定とする、
請求項5または請求項6に記載のリスク評価装置。
【請求項8】
複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有するデータを、各前記部分モデルについて特定し、
特定した前記データが統合されたデータを生成し、
生成した前記データについて、前記複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力する、
データ防御装置。
【請求項9】
コンピュータが、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得し、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出し、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価する、
ことを含むリスク評価方法。
【請求項10】
コンピュータに、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得することと、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出することと、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価することと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リスク評価装置、データ防御装置、リスク評価方法およびプログラムに関する。
【背景技術】
【0002】
ランダムフォレストなど、複数の部分モデルを含むモデルが用いられる場合がある。例えば、特許文献1には、人物の感情を推定する際のモデルがランダムフォレストによって構築されていてもよいことが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-207604号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価できることが好ましい。
【0005】
本発明の目的の一例は、上述の課題を解決することのできるリスク評価装置、データ防御装置、リスク評価方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、リスク評価装置は、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得するデータ取得手段と、前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出するコンフィデンススコア算出手段と、前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価するリスク評価手段と、を備える。
【0007】
本発明の第2の態様によれば、データ防御装置は、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得するデータ取得手段と、前記第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出するコンフィデンススコア算出手段と、前記コンフィデンススコアが、あるクラスに分類される前記第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される前記第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える、コンフィデンススコア書き換え手段と、書き換えられたコンフィデンススコアを出力するコンフィデンススコア出力手段と、を備える。
【0008】
本発明の第3の態様によれば、リスク評価方法は、コンピュータが、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得し、前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出し、前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価する、ことを含む。
【0009】
本発明の第4の態様によれば、プログラムは、コンピュータに、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得することと、前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出することと、前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価することと、を実行させるためのプログラムである。
【発明の効果】
【0010】
本発明によれば、複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価することができる。
【図面の簡単な説明】
【0011】
図1】第一実施形態に係るリスク評価装置の構成の例を示す図である。
図2】対象モデルの生成に用いられるデータセットのデータ構造の例を示す図である。
図3】「分類項目i」の候補値リストのデータ構造の例を示す図である。
図4】部分モデルの第1の例を示す図である。
図5】部分モデルの第2の例を示す図である。
図6】部分モデルの第3の例を示す図である。
図7】対象モデルを用いた推定におけるデータの入出力の例を示す図である。
図8】第一実施形態における、不明となっている分類項目の値を推定するための、対象データの生成の例を示す図である。
図9】第一実施形態に係るリスク評価部が非該当性スコアリストを生成する際にリスク評価装置100が行う処理の手順の例を示す図である。
図10】第一実施形態に係るリスク評価部が除外リストを生成する際にリスク評価装置100が行う処理の手順の例を示す図である。
図11】第二実施形態に係るリスク評価装置の構成の例を示す図である。
図12】第二実施形態に係る推定部が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第1の例を示す図である。
図13】第二実施形態に係る推定部が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第2の例を示す図である。
図14】第二実施形態に係る推定部が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第3の例を示す図である。
図15】第二実施形態に係る推定部が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第4の例を示す図である。
図16】第二実施形態に係る推定部が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第5の例を示す図である。
図17】第三実施形態に係るデータ防御装置の構成の例を示す図である。
図18】第三実施形態に係るデータ防御装置が説明変数値リストを取得してコンフィデンススコアを出力する際の処理の手順の例を示す図である。
図19】第四実施形態に係るリスク評価装置の構成の例を示す図である。
図20】第五実施形態に係るデータ防御装置の構成の例を示す図である。
図21】第六実施形態に係るリスク評価方法における処理の手順の例を示す図である。
図22】第七実施形態に係るデータ防御方法における処理の手順の例を示す図である。
図23】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
<第一実施形態>
図1は、第一実施形態に係るリスク評価装置の構成の例を示す図である。図1に示す構成で、リスク評価装置100は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部190とを備える。制御部190は、データ取得部191と、コンフィデンススコア算出部192と、リスク評価部193とを備える。
【0014】
リスク評価装置100は、複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価する。リスク評価装置100が、他の装置からリスク評価の依頼受けて情報漏洩のリスクを評価し、評価結果を依頼元の装置へ通知するようにしてもよい。
ここでいうモデルは、機械学習によって得られるモデル(以降、「機械学習モデル」とも称する)である。機械学習モデルから情報漏洩する攻撃の例として、たとえば、メンバーシップ推論攻撃(Membership Inference Attack)がある。メンバーシップ推論攻撃は、あるデータが機械学習モデルの作成に用いられた訓練データに含まれているか否かを、該あるデータに対する機械学習モデルによる推論結果に応じて判定する処理を繰り返し実行することにより、訓練データを推定する攻撃である。
リスク評価装置100は、例えばパソコン(Personal Computer;PC)またはワークステーション(Workstation;WS)等のコンピュータを用いて構成されていてもよい。
【0015】
ここで、リスク評価装置100は、第1のクラス分類に用いられる値のリストである説明変数(Explanatory Variable)(または、特徴量(Feature))値リストと、第1のクラス分類とは異なる第2のクラス分類におけるクラスを識別する目的変数(Objective Variable)(または、ラベル)値とが組み合わせられたデータを複数含むデータセットを用いて生成されたモデルを、リスク評価の対象とする。リスク評価装置100がリスク評価の対象とするモデルを対象モデルとも称する。
リスク評価装置100が、他の装置が有している対象モデルを使用するようにしてもよい。あるいは、リスク評価装置100が、他の装置から対象モデルを取得するようにしてもよい。あるいは、リスク評価装置100が、対象モデルを生成するようにしてもよい。
【0016】
図2は、対象モデルの生成に用いられるデータセットのデータ構造の例を示す図である。
図2に示すデータ構造で、データセットはm個のデータを含んでおり、各データは、「分類項目1」、「分類項目2」、・・・「分類項目d」、および、「ラベル」の各項目の値を含んでいる。ここで、mは、m≧2の整数である。dは、d≧1の整数である。
「分類項目1」から「分類項目d」の各項目を分類項目とも表記する。
【0017】
「分類項目1」から「分類項目d」の各項目は、部分モデルによるクラス分類に用いられる項目である。これらの分類項目の値を示す変数を説明変数とも称し、これらの分類項目の値を説明変数値(または、特徴量値(Feature Value))とも称する。
「分類項目1」から「分類項目d」の各項目の値のリスト、または、「分類項目1」から「分類項目d」の各項目のうち一部の項目の値のリストを説明変数値リストとも称する。説明変数値リストに部分モデルを適用して行われるクラス分類を、第1のクラス分類とも称する。
ここでいう、説明変数値リストに部分モデルを適用してクラス分類を行うことは、説明変数値リストに示される分類項目の値に、部分モデルに示されるクラス分類のルールを適用してクラス分類を行うことである。
【0018】
データにモデルを適用することを、データをモデルに入力するとも称する。モデルから値を取得することを、モデルが値を出力するとも称する。
データにモデルを適用してクラス分類を行うことを、そのデータに対するクラス分類とも称する。
【0019】
「ラベル」の項目の値は、第1のクラス分類とは異なる第2のクラス分類におけるクラスを識別する。「ラベル」の項目の値を示す変数を目的変数とも称し、「ラベル」の項目の値を目的変数値とも称する。
説明変数値リストと目的変数値とを含むデータを対象データとも称する。
モデルの生成に用いられるデータセットを、データセットDとも表記する。データセットDは第1集合の例に該当する。
【0020】
また、分類項目ごとに、その分類項目がとり得る値が決まっているものとする。ただし、ここでのとりうる値は、ランダムに算出される値であってもよい。あるいは、とりうる値は、探索により取得される値であってもよい。分類項目がとり得る値を、その分類項目の候補値とも称する。1つの分類項目の候補値のリストを候補値リストとも称する。
【0021】
図3は、「分類項目i」の候補値リストのデータ構造の例を示す図である。図3の例では、iは、1≦i≦dの整数である。dは、分類項目の個数を表す。
図3の例で、「分類項目i」は、候補値1、候補値2、・・・、候補値kのk個の値のうち何れかの値をとる。kは、k≧1の整数であり、「分類項目i」の候補値の個数を表す。「分類項目i」の候補値リストは、これら候補値1、候補値2、・・・、候補値kのリストである。
【0022】
対象モデルの生成では、データセットDの部分に該当するデータセットを複数通り抽出し、抽出したデータセットごとに部分モデルを生成する。データセットDの部分に該当するデータセットをデータセットDSUBとも表記する。データセットDSUBは、第2集合の例に該当する。
【0023】
データセットDSUBの抽出は、例えば、以下のように行うことができる。
手順1:データセットDに含まれるm個の対象データのうち1つ以上を選択し、また、データセットDに示されるd個の分類項目のうち1つ以上を選択する。
手順2:データセットDから、選択した対象データを抽出する。
手順3:抽出した対象データごとに、選択した分類項目の値を抽出してリストにし、得られたリストと、その対象データに含まれる目的変数値とが組み合わせられたデータを生成する。
手順4:手順3で対象データごとに生成したデータを纏めてデータセットDSUBとする。手順3で生成されたデータは、所定の集合の要素の例に該当する。また、手順3で生成されたデータは、対象データの例に該当する。
【0024】
なお、手順1で、データセットDに含まれるm個の対象データを全て選択する場合があってもよい。また、手順1で、データセットDに示されるd個の分類項目を全て選択する場合があってもよい。
【0025】
図4は、部分モデルの第1の例を示す図である。
図4は、データセットDSUBに含まれる分類項目が温度、および、湿度であり、目的変数値が、人が暑くないと感じるか、暑いと感じるかを表す場合の部分モデルの例を表している。
【0026】
図4の例では、部分モデルが木構造のモデルとして構成されている。根(Root)または中間ノードに該当するノードN111、N121、N122のそれぞれには、温度または湿度の何れかによる分岐の条件が示されている。ここでは、根および葉(Leaf)以外のノードを、中間ノードと称している。葉に該当するノードN131、132、133、134のそれぞれには、暑くないと感じる人数、および、暑いと感じる人数が示されている。
【0027】
葉に示される「暑くない」は、暑くないと感じていることを表す。「暑い」は、暑いと感じていることを表す。また、1つの対象データが1人分のデータに相当しており、各クラスに示されている人数は、そのクラスに分類されたデータの個数を表している。
【0028】
図4に示される部分モデルで、根から分岐の条件に従って葉に到達することは、第1のクラス分類の例に該当する。葉に示される「暑くない」および「暑い」は、第2のクラス分類におけるクラスの例に該当する。
葉に示される「暑くない」、「暑い」それぞれの人数は、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとの、データセットDの要素のうちそのクラスに分類される要素の個数の例に該当する。この個数を示すことは、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとの、データセットDの要素がそのクラスに分類される度合いを示すことの例に該当する。
【0029】
データセットDSUBを用いて部分モデルを生成する方法は、特定の方法に限定されない。例えば、データセットDSUBを用いて部分モデルを生成する方法として、公知の決定木生成アルゴリズムを用いるようにしてもよい。
ここでいう決定木は、根および各中間ノードに分岐の条件を示し、各葉に、根からその葉に到達するまでの経路にて示される条件に該当する場合のデータを示す木である。
【0030】
データセットDからモデルを生成する処理は、機械学習の一種と捉えることができる。この場合、データセットDは、訓練データセットと捉えることができる。データセットDに含まれる対象データの各々は、個々の訓練データと捉えることができる。対象データに含まれる説明変数値リストは、モデルへの入力データのサンプルと捉えることができる。対象データに含まれる目的変数値は、説明変数値リストが示す入力データに対するモデルの出力データの正解(教師データ)と捉えることができる。
データセットDから複数通りのデータセットDSUBを抽出し、データセットDSUBごとに木構造の部分モデルを生成する場合、得られるモデル、または、モデル生成アルゴリズムは、ランダムフォレスト(Random Forest)の一種と捉えることができる。
【0031】
図5は、部分モデルの第2の例を示す図である。
図5の例では、図4の例における各葉に、さらに、「暑くない」または「暑い」の多数決による値(「暑くない」または「暑い」)が示されている。それ以外の点では、図5に示される部分モデルは、図4に示される部分モデルと同様である。
【0032】
「暑くない」または「暑い」の多数決による値は、例えば、各部分モデルが、説明変数値リストの入力を受けて、「暑くない」または「暑い」の推定値を出力する場合に、部分モデルごとの推定値の算出に用いることができる。
図5に示される部分モデルは、分類木の葉にクラス分類の根拠を示した木と捉えることができる。ここでいう分類木は、クラス分類のルールを示す木である。
【0033】
図6は、部分モデルの第3の例を示す図である。
図6の例では、図4の例における部分モデルが表形式で示されている。「分類1」の項目には、第1のクラス分類における分類の条件が示されている。「分類2」の項目には、第2のクラス分類におけるクラスが示されている。「該当数」の項目には、「分類1」および「分類2」で示される条件に該当する人数が示されている。
このように、対象モデルの表現形式は、特定の形式に限定されない。一方、図4の例または図5の例のように部分モデルが木構造で示される場合、根および中間ノードに示される条件に従って根から葉まで辿るという比較的簡単な処理でクラス分類を行うことができる。
【0034】
対象モデルは、例えば、アンサンブル法による推定に用いることができる。ここでいうアンサンブル法は、複数の部分モデルのそれぞれが推定値を出力し、各部分モデルによる推定値の多数決によってモデル全体での推定値を決定する方法である。
【0035】
図7は、対象モデルを用いた推定におけるデータの入出力の例を示す図である。
図7の例で、対象モデルを用いた推定を行う推定装置は、対象モデルに含まれるn個の部分モデルのそれぞれを説明変数値リストに適用する。これにより、部分モデルごと、かつ、第2のクラス分類におけるクラスごとに、説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、第2のクラス分類におけるそのクラスに分類されるデータの個数を得られる。
リスク評価装置100が、推定装置として動作するようにしてもよい。あるいは、リスク評価装置100以外の装置が、推定装置として動作するようにしてもよい。
【0036】
推定装置が、部分モデルのそれぞれについて、第2のクラス分類におけるクラスごとの個数をクラス間の割合に換算するようにしてもよい。その際、割合の合計が、1など各部分モデルで同じ値になるようにしてもよい。個々のクラスにおけるこの割合は、後述するコンフィデンススコアの例に該当する。第2のクラス分類における全てのクラスについて、この割合を纏めたリストは、コンフィデンススコアリストの例に該当する。コンフィデンススコアがベクトルに纏められて、コンフィデンススコアリストが構成されていてもよい。
【0037】
部分モデルごとに示されるコンフィデンススコアの、対象モデル全体での平均を、平均コンフィデンススコアとも称する。第2のクラス分類における全てのクラスについて平均コンフィデンススコアを纏めたリストを、平均コンフィデンススコアリストとも称する。平均コンフィデンススコアがベクトルに纏められて、平均コンフィデンススコアリストが構成されていてもよい。
【0038】
さらに、推定装置が、第2のクラス分類におけるクラスごとに、対象モデル全体での割合の平均値を算出するようにしてもよい。この割合の平均値は、平均コンフィデンススコアの例に該当する。
そして、推定装置が、第2のクラス分類におけるクラスのうち、得られた割合の平均値が最も大きいクラスを対象モデルによる推定値に決定するようにしてもよい。
【0039】
各要素が示す割合の合計が1になるように調整されたコンフィデンススコアリストは、部分モデルによる推定値を確率的に示した値と捉えることができる。この場合の平均コンフィデンススコアリストは、対象モデルによる推定値を確率的に示した値と捉えることができる。
【0040】
あるいは、推定装置が、部分モデルごとに、第2のクラス分類におけるクラスごとのデータの個数の多数決によって何れかのクラスを選択することで、部分モデルごとの推定値を決定するようにしてもよい。そして、推定装置が、部分モデルごとの推定値の多数決によって、第2のクラス分類におけるクラスの何れかを選択することで、対象モデルによる推定値を決定するようにしてもよい。
【0041】
図4の例の場合、温度と湿度とを含む分類項目の説明変数値リストに応じて、部分モデルごとに根から葉へと辿ることで、第1のクラス分類を行うことができる。そして、各部分モデルで、到達した葉に示される、第2のクラス分類におけるクラスごとの値(データの個数)の多数決によって、その部分モデルによる推定値を決定することができる。
【0042】
例えば、図4のノードN133に到達した場合、「暑くない」の「2人」と、「暑い」の「1人」との多数決によって、図4に示される部分モデルによる推定値を「暑くない」に決定することができる。そして、各部分モデルによる推定値の多数決によって、対象モデルによる推定値を「暑くない」または「暑い」の何れかに決定することができる。
あるいは、「暑くない」および「暑い」のそれぞれについて、部分モデルごとに得られる人数を合計し、「暑くない」および「暑い」のうち合計人数の多い方を、対象モデルによる推定値に決定するようにしてもよい。
【0043】
ここで、対象モデルが公開される場合について考える。
この場合、一部の分類項目の値が不明となっている対象データを有し、かつ、不明となっている分類項目がとり得る値について既知である者がいることを想定すると、その者は、公開された対象モデルを用いて、不明となっている値を推定できる可能性がある。この場合の不明となっている値の推定は、対象モデルの公開者が意図した用途とは異なる用途での対象モデルの使用と考えられ、この点で、情報漏洩の一種と捉えることができる。あるいは、不明となっている値を推定することにより、対象モデルを作成する基である訓練データの中から、該値を含むデータを特定されてしまう情報漏洩の一種であると捉えることができる。言い換えると、コンピュータセキュリティの分野にて、コンフィデンススコアを利用しながら訓練データの1つを特定するサイバー攻撃に対して、その1つのデータを漏洩してしまうということもできる。
1つ以上の分類項目の値が不明となっている対象データを、元の対象データとも称する。元の対象データは、リスク評価のために、1つ以上の分類項目の値が不明なものとして扱われる対象データであってもよい。
【0044】
あるいは、各分類項目の候補値について既知である者が、一部の分類項目の値を不明とし、他の分類項目には候補値のうち何れかの値を設定して、説明変数値リストを生成することが考えられる。例えば、この者が、分類項目の候補値のいろいろな組み合わせについて説明変数値リストを生成して対象モデルに入力し、得られた結果に基づいて、データセットDに含まれる対象データを推定することが考えられる。
このようなデータの推定は、対象モデルの公開者が意図した用途とは異なる用途での対象モデルの使用と考えられ、この点で、情報漏洩の一種と捉えることができる。
【0045】
図8は、不明となっている分類項目の値を推定するための、対象データの生成の例を示す図である。
図8に示される元の対象データでは、「分類項目1」から「分類項目d」のd個の分類項目のうち、「分類項目i」の値が不明(Unknown)であり、それ以外の分類項目の値は既知となっている。ここでは、iは、1≦i≦dの整数である。あるいは、すべての分類項目値が不明であってもよい。
【0046】
ここで、「分類項目i」がとり得る値を、候補値1、候補値2、・・・、候補値Kとする。「分類項目i」の値を推定するための、対象モデルへの入力データとして、「分類項目i」がとり得る値ごとに、その値を元の対象データの「分類項目i」に設定した対象データを生成することが考えられる。
生成したk個の対象データのうち何れがデータセットDに含まれている可能性を推定することができれば、元の対象データの「分類項目i」の値を推定することができる。
【0047】
そこで、リスク評価装置100は、データセットDに含まれる対象データから、1つ以上の分類項目に、その分類項目の候補値のそれぞれを設定した対象データを生成し、生成した対象データごとに、その対象データがデータセットDに含まれている可能性を示すスコアを算出する。
元の対象データで値が不明な分類項目(あるいは、値が不明なものとして扱われる分類項目)に、その分類項目の候補値を設定して得られる対象データを、探索データとも称する。
【0048】
図1の構成で、通信部110は、他の装置と通信を行う。例えば、通信部110が、対象モデル、および、候補値リストを記憶しているサーバ装置と通信をおこなって、対象モデル、および、候補値リストを取得するようにしてもよい。
さらに例えば、通信部110がサーバ装置として設けられ、通信部110が、対象モデルの情報漏洩のリスク評価の依頼を受信するようにしてもよい。そして、通信部110が、評価結果を依頼もとへ送信するようにしてもよい。
【0049】
表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。例えば、表示部120が、情報漏洩の評価結果を表示するようにしてもよい。
操作入力部130は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、操作入力部130が、情報漏洩のリスク評価の開始を指示するユーザ操作を受け付けるようにしてもよい。
【0050】
記憶部180は、各種データを記憶する。例えば、記憶部180は、対象モデル、候補値リスト、および、対象データを記憶する。記憶部180は、リスク評価装置100が備える記憶デバイスを用いて構成される。
制御部190は、リスク評価装置100の各部を制御して各種処理を行う。制御部190の機能は、リスク評価装置100が備えるCPU(Central Processing Unit、中央処理装置)が、記憶部180からプログラムを読み出して実行することで実行されてもよい。
【0051】
データ取得部191は、対象モデルに入力するための対象データを取得する。リスク評価装置100について上述したように、データ取得部191は、1つ以上の分類項目の値が不明となっている対象データを取得し、値が不明となっている分類項目の候補値ごとに、その候補値をその分類項目に設定する。これにより、データ取得部191は、候補値ごとの対象データを生成する。
データ取得部191は、データ取得手段の例に該当する。
データ取得部191が候補値ごとに生成する対象データの各々は、探索データに該当する。
【0052】
リスク評価装置100が、1つ以上の分類項目の値が不明となっている対象データを、他の装置から取得し、データ取得部191が、値が不明となっている分類項目に候補値を設定するようにしてもよい。
あるいは、リスク評価装置100が、データセットDを取得し、データ取得部191が、データセットDに含まれる対象データのうち、1つ以上の分類項目の値が不明であるものとして扱って、その分類項目に候補値を設定するようにしてもよい。
【0053】
この場合、データ取得部191が、データセットDから対象データをランダムに選択し、値が不明であるものとする分類項目をランダムに決定するようにしてもよい。
あるいは、データセットDに含まれる各対象データについて、データ取得部191が、例えば1つの分類項目など、所定の個数以下の分類項目の値が不明である全てのパターンを想定し、想定したパターンごと、かつ、値が不明であるものとした分類項目の候補値ごとに、その分類項目にその候補値を設定して探索データを生成するようにしてもよい。
あるいは、ユーザが、データセットDに含まれる対象データの何れかを指定し、指定した対象データのうち、値が不明であるものとする分類項目を指定するようにしてもよい。
【0054】
以下では、リスク評価装置100が、値が不明となっている分類項目が1つの対象データを取得し、その分類項目の値が漏洩するリスクを評価する場合を例に説明する。
値が不明となっている分類項目が複数ある場合は、データ取得部191が、値が不明となっている分類項目の組み合わせに対して、各分類項目の候補値の組み合わせを設定するようにしてもよい。例えば、データ取得部191が、値が不明となっている分類項目を1つのベクトルに纏めるようにしてもよい。値が不明となっている分類項目を1纏まりにすることで、リスク評価装置100は、値が不明となっている分類項目が1つの場合と同様の処理で情報漏洩のリスクを評価することができる。
【0055】
あるいは、値が不明となっている分類項目が複数ある場合、データ取得部191が、値が不明となっている分類項目のうちの1つを選択し、値が不明となっている他の分類項目(選択した分類項目以外の分類項目)を対象データから除外した、対象データの部分データを生成するようにしてもよい。これにより、リスク評価装置100は、値が不明となっている分類項目が1つの場合の処理で情報漏洩のリスクを評価することができる。
【0056】
この場合、部分モデルに示される条件分岐に、除外した分類項目に関する条件分岐が含まれるときは、その条件分岐における各分岐先で得られる値を合計するものとする。例えば、部分モデルが木構造で示されており、除外した分類項目に関する条件分岐を示すノードに到達した場合、そのノードから各枝を辿って到達する各葉に示される値を、第2のクラス分類におけるクラスごとに合計する。
リスク評価装置100は、値が不明となっている分類項目ごとに、上記のような部分データを生成して情報漏洩のリスクを評価することで、値が不明となっている各分類項目について、情報漏洩のリスクを評価することができる。
【0057】
コンフィデンススコア算出部192は、部分モデルごと、かつ、探索データごとに、その探索データに含まれる説明変数値リストにその部分モデルを適用して行われる第1のクラス分類で分類されるクラス、かつ、第2のクラス分類におけるクラスのうちその探索データに含まれる目的変数値で識別されるクラスに、データセットDSUBの要素が分類される度合いを示す指標値を算出する。この指標値をコンフィデンススコアとも称する。第2のクラス分類における全てのクラスについてコンフィデンススコアを纏めたリストを、コンフィデンススコアリストとも称する。上記のように、コンフィデンススコアがベクトルに纏められて、コンフィデンススコアリストが構成されていてもよい。
コンフィデンススコア算出部192は、コンフィデンススコア算出手段の例に該当する。
【0058】
具体的には、コンフィデンススコア算出部192は、探索データに含まれる説明変数値リストに部分モデルを適用することで第1のクラス分類を行う。そして、コンフィデンススコア算出部192は、第1のクラス分類で到達したクラス、かつ、第2のクラス分類におけるクラスごとに示される、そのクラスに分類されるデータの個数を取得する。コンフィデンススコア算出部192は、クラスごとに得られた個数を、クラスごとの個数の割合に換算し、換算した割合を示すベクトルをコンフィデンススコアリストとする。換算の際、コンフィデンススコア算出部192は、割合の合計(コンフィデンススコアリストに含まれるコンフィデンススコアの合計)が1になるようにする。
【0059】
例えば、図4の部分モデルの場合、コンフィデンススコア算出部192は、探索データに含まれる説明変数値リストに基づいて木(木構造の部分モデル)を根から葉へと辿る。この木を根から葉へと辿る処理は、第1のクラス分類の例に該当する。
そして、コンフィデンススコア算出部192は、到達した葉に示される、第2のクラス分類におけるクラスごとのデータの個数を読み取る。例えば、コンフィデンススコア算出部192がノードN131に到達した場合、ノードN131に示される「暑くない:2人」および「暑い:0人」を読み取る。「暑くない」および「暑い」は、それぞれ、第2のクラス分類におけるクラスを識別する目的変数値の例に該当する。「2人」および「0人」は、それぞれ、部分モデルの生成に用いられたデータセットDSUBに含まれる対象データのうち、該当するクラスに分類された対象データの個数を示している。
【0060】
コンフィデンススコア算出部192は、得られたデータの個数2、0を、合計が1となる割合に換算することで、コンフィデンススコアリストを(1,0)と算出する。
コンフィデンススコアリストの要素の値は、部分モデルの生成に用いられたデータセットDSUBに含まれる対象データのうち、その要素に対応するクラスに分類された対象データの個数の割合を示す。
【0061】
ここで、コンフィデンススコア(コンフィデンススコアリストの要素の値)は、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類のクラスごとに算出される。あるクラスのコンフィデンススコアが算出されている場合、そのクラスを、そのコンフィデンススコアに対応するクラスとも称する。
【0062】
部分モデルの生成に用いられたデータセットDSUBは、対象のモデルの生成に用いられたデータセットDからデータを部分的に抽出して得られた集合である。したがって、コンフィデンススコアと、データセットDに含まれる各対象データに部分モデルを適用してクラス分類をおこなったときに、そのコンフィデンススコアに対応するクラスに分類される対象データの個数との間には、正の相関関係があることが考えられる。この点で、コンフィデンススコアは、そのコンフィデンススコアに対応するクラスに、データセットDの要素である対象データが分類される度合いの指標値と捉えることができる。あるいは、コンフィデンススコアは、ある1つのクラス(または、ラベル)に分類できる確からしさの度合いであると捉えることもできる。データに対するコンフィデンススコアが1であることは、該データが訓練データに含まれている可能性が高いことを表しているともいうことができる。
【0063】
ただし、コンフィデンススコアの表現形式は、特定の形式に限定されない。例えば、コンフィデンススコア算出部192が、得られたデータの個数を割合に換算せずそのままコンフィデンススコアとして用いるようにしてもよい。上述したノードN131の例の場合、コンフィデンススコア算出部192が、温度≧25℃、かつ、「暑くない」のコンフィデンススコアを2と算出し、温度≧25℃、かつ、「暑い」のコンフィデンススコアを0と算出するようにしてもよい。
【0064】
リスク評価部193は、コンフィデンススコア算出部192が探索データごと、かつ、部分モデルごとに算出したコンフィデンススコアに基づいて、その探索データがデータセットDに含まれている可能性を評価する。
リスク評価部193は、リスク評価手段の例に該当する。
【0065】
例えば、リスク評価部193は、その探索データがデータセットDに含まれている可能性の指標値を算出する。
具体的には、リスク評価部193は、各部分モデルについて、元の対象データで値が不明となっている分類項目の候補値のうち、その部分モデルでコンフィデンススコアが0である候補値のリストを生成する。このリストを除外リストとも称する。
【0066】
ここでいう、ある部分モデルでコンフィデンススコアが0である候補値とは、元の対象データにその候補値を設定して得られた探索データにその部分モデルを適用してクラス分類をおこなった分類先のクラスのコンフィデンススコアが0である候補値である。
また、ある対象データに、ある候補値を設定して得られた探索データに、ある部分モデルを適用してクラス分類を行い、分類先のコンフィデンススコアを得た場合、その候補値を、そのコンフィデンススコアに対応する候補値とも称する。
【0067】
そして、リスク評価部193は、元の対象データで値が不明となっている分類項目の候補値ごとに、部分モデルごとの除外リストのうち、その候補値が含まれている除外リストの個数を計数し、候補値ごとに計数した個数をリスト化する。この個数を非該当性スコアとも称する。非該当性スコアのリストを非該当性スコアリストとも称する。
【0068】
探索データに対応するコンフィデンススコアが0であることは、そのコンフィデンススコアの対象となっている部分モデルの生成に用いられたデータセットDSUBに含まれる対象データのうち、そのコンフィデンススコアに対応するクラスに分類される対象データが存在しないことを表している。このことから、探索データに対応するコンフィデンススコアが0である場合、データセットDに含まれる各対象データをその部分モデルに入力したときに、そのコンフィデンススコアに対応するクラスに分類される対象データが存在しない可能性が高いと評価することができる。
ここでいう、探索データ(または対象データ)に対応するコンフィデンススコアとは、その探索データ(または対象データ)に部分モデルを適用して得らえたコンフィデンススコアである。
【0069】
したがって、非該当性スコアが大きい候補値ほど、元の対象データにその候補値を設定して得られた探索データがデータセットDに含まれている可能性が低いと評価することができる。逆に、非該当性スコアが小さい候補値ほど、元の対象データにその候補値を設定して得られた探索データがデータセットDに含まれている可能性が高いと評価することができる。
【0070】
このことから、非該当性スコアリストの要素の最小値が小さいほど、非該当性スコアリストの要素の値が最小となっている候補値を元の対象データに設定して得られた探索データが、データセットDに含まれている可能性が高いと評価することができる。非該当性スコアリストは、この点で、探索データがデータセットDに含まれている可能性の指標値の例に該当する。
【0071】
また、得られた探索データがデータセットDに含まれている可能性が高いことは、データセットDに含まれている対象データが漏洩するリスクが高いことと捉えることができる。非該当性スコアリストは、この点で、情報漏洩のリスクの評価値の例に該当する。したがって、リスク評価部193が非該当性スコアリストを生成することは、情報漏洩のリスクを評価することの例に該当する。
【0072】
上述した処理は、たとえば、リスク評価装置100(あるいは、後述のデータ防御装置)が、複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有する((あるいは、コンフィデンススコアが1に近い、あるいは、1である、)情報漏洩する可能性がある)データを、各部分モデルについて特定するともいうことができる。リスク評価装置100(あるいは、後述のデータ防御装置)は、複数の部分モデルについて、特定した該データが統合されたデータ(すなわち、非該当性スコアが小さい候補値)を作成する。リスク評価装置100(あるいは、後述のデータ防御装置)は、作成したデータについて、複数の部分モデルによって算出されるスコア(たとえば、コンフィデンススコア)とは異なる値のスコアを出力してもよい。
【0073】
図9は、リスク評価部193が非該当性スコアリストを生成する際にリスク評価装置100が行う処理の手順の例を示す図である。
図9の処理で、制御部190は、部分モデルごとに処理を行うループL11を開始する(ステップS11)。
ループL11の処理で、リスク評価部193は、ループL11で処理の対象となっている部分モデルの除外リストを生成する(ステップS12)。
【0074】
次に、制御部190は、ループL11の終端処理を行う(ステップS13)。具体的には、制御部190は、対象モデルに含まれる全ての部分モデルについてループL11の処理をおこなったか否かを判定する。未だループL11の処理をおこなっていない部分モデルがあると制御部190が判定した場合、処理がステップS11に戻り、制御部190は、引き続き未処理の部分モデルに対してループL11の処理を行う。一方、対象モデルに含まれる全ての部分モデルについてループL11の処理をおこなったと判定した場合、制御部190は、ループL11を終了する。
【0075】
ステップS13でループL11を終了した場合、制御部190は、元の対象データで値が不明となっている分類項目の候補値ごとに処理を行うループL12を開始する(ステップS14)。
ループL12の処理で、リスク評価部193は、ループL12で処理の対象となっている候補値の非該当性スコアを算出する(ステップS15)。
【0076】
次に、制御部190は、ループL12の終端処理を行う(ステップS16)。具体的には、制御部190は、元の対象データで値が不明となっている分類項目の全ての候補値についてループL12の処理をおこなったか否かを判定する。未だループL12の処理をおこなっていない候補値があると制御部190が判定した場合、処理がステップS14に戻り、制御部190は、引き続き未処理の候補値に対してループL12の処理を行う。一方、元の対象データで値が不明となっている分類項目の全ての候補値についてループL12の処理をおこなったと判定した場合、制御部190は、ループL12を終了する。
【0077】
ステップS16で制御部190がループL16を終了した場合、リスク評価部193は、ステップS15で候補値ごとに算出した非該当性スコアをリストに集約することで、非該当性スコアリストを生成する(ステップS17)。
ステップS17の後、リスク評価装置100は、図9の処理を終了する。
元の対象データが複数ある場合(すなわち、ある分類項目の値が不明となっている対象データが複数ある場合)、リスク評価装置100は、元の対象データごとに図9の処理を行う。
【0078】
図10は、リスク評価部193が除外リストを生成する際にリスク評価装置100が行う処理の手順の例を示す図である。リスク評価装置100は、図9のステップS12で図10の処理を行う。
図10の処理で、リスク評価部193は、除外リストを初期化する(ステップS21)。具体的には、リスク評価部193は、除外リストの初期値をヌルリスト(要素数が0のリスト)に設定する。
【0079】
次に、制御部190は、元の対象データで値が不明となっている分類項目の候補値ごとに処理を行うループL21を開始する(ステップS22)。
ループL21の処理で、データ取得部191は探索データを生成する(ステップS23)。具体的には、データ取得部191は、元の対象データの値が不明となっている分類項目に、ループL21で処理の対象となっている候補値を設定することで探索データを生成する。
【0080】
次に、コンフィデンススコア算出部192は、コンフィデンススコアリストを生成する(ステップS24)。具体的には、コンフィデンススコア算出部192は、ステップS23で生成された探索データの説明変数値リストに部分モデル(図9のループL11で処理の対象となっている部分モデル)を適用することで第1のクラス分類を行う。そして、コンフィデンススコア算出部192は、第1のクラス分類で到達したクラス、かつ、第2のクラス分類におけるクラスごとに示される、そのクラスに分類されるデータの個数を取得する。コンフィデンススコア算出部192は、クラスごとに得られた個数を、個数の割合に換算し、換算した割合を示すベクトルをコンフィデンススコアリストとする。個数から割合への換算の際、コンフィデンススコア算出部192は、割合の合計が1になるように換算を行う。
【0081】
次に、リスク評価部193は、ステップS24で生成したコンフィデンススコアリストの対応成分の値が0か否かを判定する(ステップS25)。ここでいうコンフィデンススコアリストの対応成分は、そのコンフィデンススコアリストの要素のうち、ループL21で処理の対象となっている候補値に対応する要素(コンフィデンススコア)である。
対応成分の値が0であると判定した場合(ステップS25:YES)、リスク評価部193は、除外リストに、ループL21で処理の対象となっている候補値を追加する(ステップS26)。
【0082】
次に、制御部190は、ループL21の終端処理を行う(ステップS27)。具体的には、制御部190は、元の対象データで値が不明となっている分類項目の全ての候補値についてループL21の処理をおこなったか否かを判定する。未だループL21の処理をおこなっていない候補値があると制御部190が判定した場合、処理がステップS22に戻り、制御部190は、引き続き未処理の候補値に対してループL21の処理を行う。一方、元の対象データで値が不明となっている分類項目の全ての候補値についてループL21の処理をおこなったと判定した場合、制御部190は、ループL21を終了する。
【0083】
一方、ステップS25で、対応成分の値が0ではないとリスク評価部193が判定した場合(ステップS25:NO)、処理がステップS27へ進む。
ステップS27で、制御部190がループL21を終了した場合、リスク評価装置100は、図10の処理を終了する。
【0084】
以上のように、データ取得部191は、対象データを取得する。対象データは、説明変数値リストと目的変数値とを含むデータである。説明変数値リストは、第1のクラス分類に用いられる項目である分類項目の値のリストである。目的変数値は、第2のクラス分類におけるクラスを識別する値である。
【0085】
コンフィデンススコア算出部192は、対象モデルの部分モデルごとにコンフィデンススコアを算出する。対象モデルは、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、データセットDSUBの要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルである。データセットDSUBは、データセットDから部分モデルごとに生成された集合である。コンフィデンススコアは、対象データに含まれる説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、対象データに含まれる目的変数値で識別される第2のクラス分類におけるクラスに、データセットDSUBの要素が分類される度合いを示す。
リスク評価部193は、部分モデルごとのコンフィデンススコアに基づいて、対象データがデータセットDに含まれている可能性を評価する。
【0086】
リスク評価装置100によれば、対象モデルを用いて得られる対象データが、データセットDに含まれている可能性を評価することができる。リスク評価装置100によれば、この点で、複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価することができる。
【0087】
また、対象モデルの部分モデルは、第1のクラス分類を枝分かれで示す決定木である。
リスク評価装置100によれば、決定木の根および中間ノードに示される条件に従って根から葉まで辿るという比較的簡単な処理でクラス分類を行うことができる。
【0088】
また、対象モデルの部分モデルは、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、データセットDSUBの要素のうちそのクラスに分類される要素の個数を示す。コンフィデンススコア算出部192は、第1のクラス分類における1つのクラスでの、データセットDSUBの要素のうち第2のクラス分類における各クラスに分類される要素の個数の割合を示すコンフィデンススコアを算出する。
リスク評価装置100によれば、対象モデルを用いて推定を行う際に、コンフィデンススコアを用いて推定値を決定することができる。
【0089】
また、データ取得部191は、1つ以上の分類項目の値が不明となっている対象データに、値が不明となっている分類項目の候補値を設定することで、コンフィデンススコアの算出の対象となる対象データを生成する。
リスク評価装置100によれば、値が不明となっている分類項目に候補値を設定して情報漏洩のリスク評価を行えばよい点で、リスク評価の処理を簡単化することができる。
【0090】
また、リスク評価部193は、値が不明となっている分類項目の候補値のリストに含まれる候補値ごとに、その候補値が設定された対象データについて、データセットDSUBの要素のうち、その対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、その対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに分類される要素が無いことを示している部分モデルの個数を示す非該当性スコアを算出する。
非該当性スコアが小さい候補値ほど、その候補値を用いて得られた対象データ(探索データ)がデータセットDに含まれている可能性が高いと評価することができる。リスク評価装置100によれば、この点で、情報漏洩のリスクを評価することができる。
【0091】
<第二実施形態>
リスク評価装置が、値が不明となっている分類項目の値を推定するようにしてもよい。第二実施形態では、この点について説明する。
図11は、第二実施形態に係るリスク評価装置の構成の例を示す図である。図11に示す構成で、リスク評価装置200は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部290とを備える。制御部290は、データ取得部191と、コンフィデンススコア算出部192と、リスク評価部193と、推定部291とを備える。
【0092】
図11の各部のうち、図1の各部に対応して同様の機能を有する部分には同一の符号(110、120、130、180、191、192、193)を付し、ここでは詳細な説明を省略する。図7のリスク評価装置200では、制御部290が、図1の制御部190が備える各部に加えてさらに推定部291を備えている点で、リスク評価装置100と異なる。それ以外の点では、リスク評価装置200はリスク評価装置100と同様である。
【0093】
推定部291は、値が不明となっている分類項目の値を推定する。具体的には、推定部291は、値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、非該当性スコアが最小の候補値を、その分類項目の推定値とする。
推定部291は、推定手段の例に該当する。
【0094】
図12は、推定部291が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第1の例を示す図である。
図12の処理で、リスク評価部193は、非該当性スコアリストを生成する(ステップS31)。具体的には、リスク評価装置200が、ステップS31で図9の処理を行う。
【0095】
次に、推定部291は、得られた非該当性スコアリストの要素のうち値が最小の要素が1つのみか否かを判定する(ステップS32)。非該当性スコアリストは、値が不明となっている分類項目の推定値ごとに、その推定値の非該当性スコアを表す。
値が最小の要素が1つのみであると判定した場合(ステップS32:YES)、推定部291は、その要素に対応する候補値を、値が不明となっている分類項目の推定値に決定する(ステップS33)。すなわち、推定部291は、非該当性スコアが最小の候補値を、値が不明となっている分類項目の推定値に決定する。
【0096】
上述したように、コンフィデンススコア(コンフィデンススコアリストの要素)に対応する候補値とは、そのコンフィデンススコアを得られた探索データに設定した、探索項目の候補値である。
ステップS33の後、リスク評価装置200は、図12の処理を終了する。
【0097】
一方、値が最小の要素が複数あると判定した場合(ステップS32:NO)、推定部291は、値が最小の要素のうち何れか1つに対応する候補値を、値が不明となっている分類項目の推定値に決定する(ステップS34)。すなわち、推定部291は、非該当性スコアが最小の候補値のうち何れか1つを、値が不明となっている分類項目の推定値に決定する。
推定部291が、非該当性スコアが最小の候補値から何れか1つをランダムに選択するようにしてもよい。
ステップS34の後、リスク評価装置200は、図12の処理を終了する。
【0098】
非該当性スコアリストの要素のうち値が最小の要素が複数ある場合、推定部291が、値が不明となっている分類項目の推定値を決定しない(未定とする)ようにしてもよい。
ここで、非該当性スコアリストの要素のうち値が最小の要素が複数ある場合、非該当性スコアからは、値が不明となっている分類項目の推定値を高精度に推定できない状況と捉えることができる。この場合、推定部291が、値が不明となっている分類項目の推定値を決定しないことで、推定値を高精度に推定できないことを示すことができる。
【0099】
図13は、推定部291が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第2の例を示す図である。
図13のステップS41からS42は、図12のステップS31からS32と同様である。
【0100】
ステップS42で、値が最小の要素が1つのみであると推定部291が判定した場合(ステップS42:YES)、処理がステップS43へ進む。
ステップS43は、図12のステップS33と同様である。
ステップS43の後、リスク評価装置200は、図12の処理を終了する。
【0101】
一方、ステップS42で、値が最小の要素が複数あると判定した場合(ステップS42:NO)、推定部291は、値が不明となっている分類項目の推定値を「None」に設定する(ステップS44)。「None」は、値が決定されていないこと、すなわち、値が未定であることを表す。
ステップS44の後、リスク評価装置200は、図13の処理を終了する。
【0102】
1つ以上の分類項目の値が不明となっている対象データ(すなわち、元の対象データ)が複数ある場合、リスク評価装置200が、それら複数の対象データのうち推定値を決定した対象データと、決定した推定値とを示すリストを生成するようにしてもよい。このリストを推定値リストとも称する。
【0103】
図14は、推定部291が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第3の例を示す図である。
図14の処理で、推定部291は、推定値リストを初期化する(ステップS51)。具体的には、推定部291は、推定値リストの初期値をヌルリスト(要素数が0のリスト)に設定する。
【0104】
次に、制御部290は、元の対象データごとに処理を行うループL31を開始する(ステップS52)。
図14のステップS53からS54は、図12のステップS31からS32と同様である。
【0105】
ステップS54で、値が最小の要素が1つのみであると判定した場合(ステップS54:YES)、推定部291は、ループL31で処理の対象となっている元の対象データと、値が最小の要素に対応する候補値との組み合わせ(ペア)を、推定値リストに追加する(ステップS55)。すなわち、推定部291は、ループL31で処理の対象となっている元の対象データと、非該当性スコアが最小の候補値との組み合わせを、推定値リストに追加する。
【0106】
次に、制御部290は、ループL31の終端処理を行う(ステップS56)。具体的には、制御部290は、リスク評価の対象となっている全ての元の対象データについてループL31の処理をおこなったか否かを判定する。未だループL31の処理をおこなっていない元の対象データがあると制御部290が判定した場合、処理がステップS52に戻り、制御部290は、引き続き未処理の元の対象データに対してループL31の処理を行う。一方、リスク評価の対象となっている全ての元の対象データについてループL31の処理をおこなったと判定した場合、制御部290は、ループL31を終了する。
【0107】
一方、ステップS54で、値が最小の要素が複数あると推定部291が判定した場合(ステップS54:NO)、処理がステップS56へ進む。
ステップS56で、制御部290がループL31を終了した場合、リスク評価装置200は、図14の処理を終了する。
【0108】
推定部291が、非該当性スコアリストの要素のうち値が最小の要素が1つのみであることに加えて、さらに所定の条件が成立している場合に、値が未定となっている分類項目の推定値を決定するようにしてもよい。例えば、推定部291が、非該当性スコアリストの要素のうち値が最小の要素の個数に加えて、さらに、最小の要素値と2番目に小さい要素値との差の大きさに基づいて、推定値を決定するか否かを決定するようにしてもよい。
【0109】
非該当性スコアリストの要素のうち値が最小の要素が複数ある場合だけでなく、最小の要素値と2番目に小さい要素値との差の大きさが小さい場合も、値が不明となっている分類項目の推定値を高精度に推定できない状況と捉えることができる。この場合、推定部291が、値が不明となっている分類項目の推定値を決定しないことで、推定値を高精度に推定できないことを示すことができる。
【0110】
図15は、推定部291が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第4の例を示す図である。
図15のステップS61は、図14のステップS51と同様である。
ステップS61の後、制御部290は、元の対象データごとに処理を行うループL41を開始する(ステップS62)。
図15ステップS63からS64は、図12のステップS31からS32と同様である。
【0111】
ステップS64で、値が最小の要素が1つのみであると判定した場合(ステップS64:YES)、推定部291は、非該当性スコアリストの要素のうち値が2番目に小さい要素を検出する(ステップS65)。
そして、推定部291は、値が最も小さい要素と二番目に小さい要素との値の差の大きさが所定の閾値以上か否かを判定する(ステップS66)。この閾値を第1閾値とも称する。
【0112】
ステップS66で、差の大きさが第1閾値以上であると推定部291が判定した場合(ステップS66:YES)、処理がステップS67へ進む。
図15ステップS67は、図14のステップS55と同様である。
ステップS67の後、制御部290は、ループL41の終端処理を行う(ステップS68)。具体的には、制御部290は、リスク評価の対象となっている全ての元の対象データについてループL41の処理をおこなったか否かを判定する。未だループL41の処理をおこなっていない元の対象データがあると制御部290が判定した場合、処理がステップS62に戻り、制御部290は、引き続き未処理の元の対象データに対してループL41の処理を行う。一方、リスク評価の対象となっている全ての元の対象データについてループL41の処理をおこなったと判定した場合、制御部290は、ループL41を終了する。
【0113】
一方、ステップS64で、値が最小の要素が複数あると推定部291が判定した場合(ステップS64:NO)、処理がステップS68へ進む。
一方、ステップS66で、差の大きさが第1閾値よりも小さいと推定部291が判定した場合(ステップS66:NO)、処理がステップS68へ進む。
ステップS68で、制御部290がループL41を終了した場合、リスク評価装置200は、図15の処理を終了する。
【0114】
推定部291が、推定値リストを生成しない場合も、非該当性スコアリストの要素のうち値が最小の要素の個数に加えて、さらに、最小の要素値と2番目に小さい要素値との差の大きさに基づいて、推定値を決定するか否かを決定するようにしてもよい。推定値を決定しないことに決定した場合、推定部291が、図13のステップS44のように、推定値を「None」に設定するようにしてもよい。
【0115】
推定部291が、さらに、非該当性スコアリストの最小の要素値の大きさに基づいて、推定値を決定するか否かを決定するようにしてもよい。
非該当性スコアリストの最小の要素値が大きい場合も、値が不明となっている分類項目の推定値を高精度に推定できない状況と捉えることができる。この場合、推定部291が、値が不明となっている分類項目の推定値を決定しないことで、推定値を高精度に推定できないことを示すことができる。
【0116】
図16は、推定部291が分類項目の値を推定する際にリスク評価装置200が行う処理の手順の第5の例を示す図である。
図16のステップS71は、図14のステップS51と同様である。
ステップS71の後、制御部290は、元の対象データごとに処理を行うループL51を開始する(ステップS72)。
【0117】
図16ステップS73からS76は、図15のステップS63からS66と同様である。
ステップS76で、差の大きさが第1閾値以上であると判定した場合(ステップS76:YES)、推定部291は、非該当性スコアリストの要素の最小値が所定の閾値以下か否かを判定する(ステップS77)。この閾値を第2閾値とも称する。
【0118】
最小値が第2閾値以下であると推定部291が判定した場合(ステップS77:YES)、処理がステップS78へ進む。
図16ステップS78は、図14のステップS55と同様である。
【0119】
ステップS78の後、制御部290は、ループL51の終端処理を行う(ステップS79)。具体的には、制御部290は、リスク評価の対象となっている全ての元の対象データについてループL51の処理をおこなったか否かを判定する。未だループL51の処理をおこなっていない元の対象データがあると制御部290が判定した場合、処理がステップS72に戻り、制御部290は、引き続き未処理の元の対象データに対してループL51の処理を行う。一方、リスク評価の対象となっている全ての元の対象データについてループL51の処理をおこなったと判定した場合、制御部290は、ループL51を終了する。
【0120】
一方、ステップS74で、値が最小の要素が複数あると推定部291が判定した場合(ステップS74:NO)、処理がステップS79へ進む。
一方、ステップS76で、差の大きさが第1閾値よりも小さいと推定部291が判定した場合(ステップS76:NO)、処理がステップS79へ進む。
一方、ステップS77で、最小値が第2閾値よりも大きいと推定部291が判定した場合(ステップS77:NO)、処理がステップS79へ進む。
ステップS79で、制御部290がループL51を終了した場合、リスク評価装置200は、図16の処理を終了する。
【0121】
推定部291が、推定値リストを生成しない場合も、非該当性スコアリストの要素のうち値が最小の要素の個数、および、最小の要素値と2番目に小さい要素値との差の大きさに加えて、さらに、最小の要素値の大きさとに基づいて、推定値を決定するか否かを決定するようにしてもよい。推定値を決定しないことに決定した場合、推定部291が、図13のステップS44のように、推定値を「None」に設定するようにしてもよい。
【0122】
推定部291が、非該当性スコアリストの要素のうち値が最小の要素の個数と、最小の要素値の大きさとに基づいて、推定値を決定するか否かを決定するようにしてもよい。例えば、図16の処理で、推定部291が、ステップS75の処理の後、ステップS77の判定を行うようにすることで、ステップS76の判定を行わないようにしてもよい。
【0123】
推定部291が、推定値リストを生成しない場合も、非該当性スコアリストの要素のうち値が最小の要素の個数と、最小の要素値の大きさとに基づいて、推定値を決定するか否かを決定するようにしてもよい。推定値を決定しないことに決定した場合、推定部291が、図13のステップS44のように、推定値を「None」に設定するようにしてもよい。
【0124】
このように、推定部291が、値が不明となっている分類項目の値を推定することで、リスク評価装置200は、漏洩のリスクがあると判定したデータを具体的に提示することができる。
推定部291が、元の対象データの、値が不明となっている分類項目に、その分類項目の推定値を設定するようにしてもよい。そして、リスク評価装置200が、推定値が設定された対象データを、漏洩のリスクがあると判定したデータとして出力するようにしてもよい。
【0125】
リスク評価装置200が、漏洩のリスクがあると判定したデータと、リスクの大きさを示すデータとを提示するようにしてもよい。
例えば、リスク評価装置200が、元の対象データと、対象項目の推定値と、非該当性スコアとを組み合わせたデータを出力するようにしてもよい。あるいは、リスク評価装置200が、上記の、推定値が設定された対象データと、非該当性スコアとを組み合わせたデータを出力するようにしてもよい。
【0126】
以上のように、推定部291は、値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、非該当性スコアが最小の候補値を、その分類項目の推定値とする。
リスク評価装置200によれば、漏洩のリスクがあると判定したデータを具体的に提示することができる。
【0127】
また、推定部291は、値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、非該当性スコアが最小の候補値が複数ある場合、その分類項目の推定値を未定とする。
リスク評価装置200によれば、値が不明となっている分類項目の推定値を高精度に推定できないことを示すことができる。
【0128】
また、推定部291は、非該当性スコアの最小値と、最小値の次に小さい値との差の大きさが第1閾値よりも小さい場合、その分類項目の推定値を未定とする。
リスク評価装置200によれば、値が不明となっている分類項目の推定値を高精度に推定できないことを示すことができる。
【0129】
また、推定部291は、非該当性スコアの最小値が第2閾値よりも大きい場合、その分類項目の推定値を未定とする。
リスク評価装置200によれば、値が不明となっている分類項目の推定値を高精度に推定できないことを示すことができる。
【0130】
また、推定部291は、1つ以上の分類項目の値が不明となっている複数の対象データのうち、値が不明となっている分類項目の推定値を決定した対象データと、その推定値とのペアのリストを生成する。
リスク評価装置200によれば、分類項目の値の推定に成功した対象データの情報のみを提示することができ、この点で、出力するデータ量を削減することができる。
【0131】
<第三実施形態>
情報漏洩のリスクが見込まれる場合に、情報漏洩のリスクを低減させるためにコンフィデンススコアを書き換えるようにしてもよい。第三実施形態は、この点について説明する。
図17は、第三実施形態に係るデータ防御装置の構成の例を示す図である。図17に示す構成で、データ防御装置300は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部390とを備える。制御部390は、データ取得部391と、コンフィデンススコア算出部192と、コンフィデンススコア書き換え部392と、コンフィデンススコア出力部393とを備える。
【0132】
図17の各部のうち、図1の各部に対応して同様の機能を有する部分には同一の符号(110、120、130、180、191、192)を付し、ここでは詳細な説明を省略する。図13のデータ防御装置300では、制御部390が、図1の制御部190が備える各部のうちリスク評価部193を備えておらず、コンフィデンススコア書き換え部392と、コンフィデンススコア出力部393とを備えている点で、リスク評価装置100と異なる。また、データ取得部391は、説明変数値リストを取得する。それ以外の点では、データ防御装置300はリスク評価装置100と同様である。
【0133】
データ防御装置300が、説明変数値リストの入力を受け付けてコンフィデンススコアリストを出力するサーバ装置として構成されていてもよい。クライアント装置は、データ防御装置300からコンフィデンススコアリストを取得することで、対象モデルを用いた推定を行うことができる。
【0134】
データ取得部391は、説明変数値リストを取得する。例えば、データ取得部391は、通信部110を介して他の装置から説明変数値リストを受信する。
コンフィデンススコア書き換え部392は、コンフィデンススコア算出部192が算出したコンフィデンススコアが、あるクラスに分類される第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える。
【0135】
例えば、コンフィデンススコア算出部192が、図4の部分モデルでノードN131に到達し、コンフィデンススコアリストを(1,0)と算出した場合について考える。このコンフィデンススコアリストの要素であるコンフィデンススコアが0であることは、データセットDSUBに含まれている対象データのうち、ノードN131に分類され、かつ、目的変数値が「暑い」である対象データの個数が0個であることを示している。
【0136】
そこで、コンフィデンススコア書き換え部392が、0となっているコンフィデンススコアを書き換える。さらに、コンフィデンススコア書き換え部392は、コンフィデンススコアリストの要素の合計が1になるように、要素の値を調整する。例えば、コンフィデンススコア書き換え部392は、コンフィデンススコアリスト(1,0)を、(0.8,0.2)に書き換える。
【0137】
コンフィデンススコア書き換え部392が0になっているコンフィデンススコアを書き換える際の書き換え後の値は、特定の値に限定されない。例えば、コンフィデンススコア書き換え部392が、0となっているコンフィデンススコアを、0.1から0.4までの範囲など所定の範囲内の値にランダムに書き換えるようにしてもよい。
コンフィデンススコア出力部393は、書き換えられたコンフィデンススコアを出力する。例えば、コンフィデンススコア出力部393は、通信部110を介して、コンフィデンススコアを他の装置へ送信する。
【0138】
図18は、データ防御装置300が説明変数値リストを取得してコンフィデンススコアを出力する際の処理の手順の例を示す図である。
図18の処理で、データ取得部391は、説明変数値リストを取得する(ステップS81)。
【0139】
次に、制御部390は、部分モデルごとに処理を行うループL61を開始する(ステップS82)。
ループL61の処理で、コンフィデンススコア算出部192は、コンフィデンススコアリストを生成する(ステップS83)。具体的には、コンフィデンススコア算出部192は、ステップS81で得られた説明変数値リストに、ループL61で処理の対象となっている部分モデルを適用することで第1のクラス分類を行う。そして、コンフィデンススコア算出部192は、第1のクラス分類で到達したクラス、かつ、第2のクラス分類におけるクラスごとに示される、そのクラスに分類されるデータの個数を取得する。コンフィデンススコア算出部192は、第2のクラス分類におけるクラスごとに得られた個数を、個数の割合に換算し、換算した割合を示すベクトルをコンフィデンススコアリストとする。個数から割合への換算の際、コンフィデンススコア算出部192は、割合の合計が1になるように換算を行う。
【0140】
次に、制御部390は、ステップS83で得られたコンフィデンススコアリストの要素ごとに処理を行うループL62を開始する(ステップS84)。
ループL62の処理で、コンフィデンススコア書き換え部392は、ループL61で処理の対象となっている要素の値が0か否かを判定する(ステップS85)。
要素の値が0であると判定した場合(ステップS85:YES)、コンフィデンススコア書き換え部392は、その要素の値を書き換える(ステップS86)。上述したように、この場合の書き換え後の値は、特定の値に限定されない。
【0141】
次に、制御部390は、ループL62の終端処理を行う(ステップS87)。具体的には、制御部390は、ステップS83で得られたコンフィデンススコアリストの全ての要素についてループL62の処理をおこなったか否かを判定する。未だループL62の処理をおこなっていない要素があると制御部390が判定した場合、処理がステップS84に戻り、制御部390は、引き続き未処理の要素に対してループL62の処理を行う。一方、ステップS83で得られたコンフィデンススコアリストの全ての要素についてループL62の処理をおこなったと判定した場合、制御部390は、ループL62を終了する。
【0142】
一方、ステップS85で、要素の値が0ではないと制御部390が判定した場合(ステップS85:NO)、処理がステップS87へ進む。
ステップS87で制御部390がループL62を終了した場合、コンフィデンススコア書き換え部392は、コンフィデンススコアリストの要素の合計が1になるように、要素の値を書き換える(ステップS88)。
【0143】
次に、制御部390は、ループL61の終端処理を行う(ステップS89)。具体的には、制御部390は、対象モデルの全ての部分モデルについてループL61の処理をおこなったか否かを判定する。未だループL61の処理をおこなっていない部分モデルがあると制御部390が判定した場合、処理がステップS82に戻り、制御部390は、引き続き未処理の部分モデルに対してループL61の処理を行う。一方、対象モデルの全ての部分モデルについてループL61の処理をおこなったと判定した場合、制御部390は、ループL61を終了する。
【0144】
ステップS89で制御部390がループL61を終了した場合、コンフィデンススコア出力部393は、各部分モデルのコンフィデンススコアリストを出力する(ステップS90)。
ステップS90の後、データ防御装置300は、図18の処理を終了する。
【0145】
データ防御装置300が、コンフィデンススコアを書き換えることに加えて、あるいは代えて、対象モデルを書き換えることで、情報漏洩のリスクの低減を図るようにしてもよい。
例えば、データ防御装置300が、データセットDSUBの要素のうち該当するクラスに分類される要素の個数が0個であることを示しているデータを、1以上の個数を示すように書き換えるようにしてもよい。図4の例の場合、データ防御装置300が、ノードN131の「暑い」の「0人」を「1人」に書き換えるようにしてもよい。
【0146】
あるいは、対象モデルが、データの個数に代えてコンフィデンススコアを示すようにしてもよい。この場合、データ防御装置300が、対象モデルに示されるコンフィデンススコアの0を0よりも大きい値に書き換えるようにしてもよい。
【0147】
以上のように、データ取得部391は、説明変数値リストを取得する。説明変数値リストは、第1のクラス分類に用いられる項目である分類項目の値のリストである。
コンフィデンススコア算出部192は、対象モデルの部分モデルごとにコンフィデンススコアを算出する。対象モデルは、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、データセットDSUBの要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルである。データセットDSUBは、データセットDから部分モデルごとに生成された集合である。コンフィデンススコアは、説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、第2のクラス分類におけるクラスに、データセットDSUBの要素が分類される度合いを示す。
【0148】
コンフィデンススコア書き換え部392は、コンフィデンススコアが、あるクラスに分類されるデータセットDSUBの要素の個数が0個であることを示している場合、そのクラスに分類されるデータセットDSUBの要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える。
コンフィデンススコア出力部393は、書き換えられたコンフィデンススコアを出力する。
【0149】
データ防御装置300によれば、データセットDに含まれるデータが漏洩するリスクをコンフィデンススコアに基づいて評価することができ、データが漏洩するリスクを低減させることができる。
【0150】
また、対象モデルの部分モデルは、第1のクラス分類を枝分かれで示す決定木である。
データ防御装置300によれば、決定木の根および中間ノードに示される条件に従って根から葉まで辿るという比較的簡単な処理でクラス分類を行うことができる。
【0151】
また、対象モデルの部分モデルは、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、データセットDSUBの要素のうちそのクラスに分類される要素の個数を示す。コンフィデンススコア算出部192は、第1のクラス分類における1つのクラスでの、データセットDSUBの要素のうち第2のクラス分類における各クラスに分類される要素の個数の割合を示すコンフィデンススコアを算出する。
データ防御装置300によれば、対象モデルを用いて推定を行う際に、コンフィデンススコアを用いて推定値を決定することができる。
【0152】
あるいは、データ防御装置300が、複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有するデータを、各部分モデルについて特定し、特定したデータが統合されたデータを生成し、生成したデータについて、複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力するようにしてもよい。
この場合の、脆弱性を有するデータを特定することは、データが漏洩するリスクを評価することの例に該当する。また、複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力することは、データが漏洩するリスクを低減させることの例に該当する。このように、データ防御装置300によれば、データが漏洩するリスクを評価することができ、データが漏洩するリスクを低減させることができる。
【0153】
<第四実施形態>
図19は、第四実施形態に係るリスク評価装置の構成の例を示す図である。図19に示す構成で、リスク評価装置610は、データ取得部611と、コンフィデンススコア算出部612と、リスク評価部613とを備える。
【0154】
かかる構成で、データ取得部611は、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得する。
コンフィデンススコア算出部612は、第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルの部分モデルごとに、対象データに含まれる説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、対象データに含まれる目的変数値で識別される第2のクラス分類におけるクラスに第2集合の要素が分類される度合いを示すコンフィデンススコアを算出する。
リスク評価部613は、部分モデルごとのコンフィデンススコアに基づいて、対象データが第1集合に含まれている可能性を評価する。
データ取得部611は、データ取得手段の例に該当する。コンフィデンススコア算出部612は、コンフィデンススコア算出手段の例に該当する。リスク評価部613は、リスク評価手段の例に該当する。
【0155】
リスク評価装置610によれば、モデルを用いて得られる対象データが、第1集合に含まれている可能性を評価することができる。リスク評価装置610によれば、この点で、複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価することができる。
【0156】
データ取得部611は、例えば図1のデータ取得部191等の機能を用いて実現することができる。コンフィデンススコア算出部612は、例えば図1のコンフィデンススコア算出部192等の機能を用いて実現することができる。リスク評価部613は、例えば図1のリスク評価部193等の機能を用いて実現することができる。
【0157】
<第五実施形態>
図20は、第五実施形態に係るデータ防御装置の構成の例を示す図である。図20に示す構成で、データ防御装置620は、データ取得部621と、コンフィデンススコア算出部622と、コンフィデンススコア書き換え部623と、コンフィデンススコア出力部624とを備える。
【0158】
かかる構成で、データ取得部621は、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得する。
コンフィデンススコア算出部622は、第1のクラス分類と第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルの部分モデルごとに、説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、第2のクラス分類におけるクラスに第2集合の要素が分類される度合いを示すコンフィデンススコアを算出する。
【0159】
コンフィデンススコア書き換え部623は、コンフィデンススコアが、あるクラスに分類される第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える。
コンフィデンススコア出力部624は、書き換えられたコンフィデンススコアを出力する。
【0160】
データ取得部621は、データ取得手段の例に該当する。コンフィデンススコア算出部622は、コンフィデンススコア算出手段の例に該当する。コンフィデンススコア書き換え部623は、コンフィデンススコア書き換え手段の例に該当する。コンフィデンススコア出力部624は、コンフィデンススコア出力手段の例に該当する。
【0161】
データ防御装置620によれば、第1集合に含まれるデータが漏洩するリスクをコンフィデンススコアに基づいて評価することができ、データが漏洩するリスクを低減させることができる。
【0162】
データ取得部621は、例えば図17のデータ取得部391等の機能を用いて実現することができる。コンフィデンススコア算出部622は、例えば図17のコンフィデンススコア算出部192等の機能を用いて実現することができる。コンフィデンススコア書き換え部623は、例えば図17のコンフィデンススコア書き換え部392等の機能を用いて実現することができる。コンフィデンススコア出力部624は、例えば図17のコンフィデンススコア出力部393等の機能を用いて実現することができる。
【0163】
<第六実施形態>
図21は、第六実施形態に係るリスク評価方法における処理の手順の例を示す図である。図21に示すリスク評価方法は、データを取得すること(ステップS611)と、コンフィデンススコアを算出すること(ステップS612)と、リスクを評価すること(ステップS613)とを含む。
【0164】
データを取得すること(ステップS611)では、コンピュータが、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得する。
コンフィデンススコアを算出すること(ステップS612)では、コンピュータが、第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルの部分モデルごとに、対象データに含まれる説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、対象データに含まれる目的変数値で識別される第2のクラス分類におけるクラスに第2集合の要素が分類される度合いを示すコンフィデンススコアを算出する。
リスクを評価すること(ステップS613)では、コンピュータが、部分モデルごとのコンフィデンススコアに基づいて、対象データが第1集合に含まれている可能性を評価する。
【0165】
図21に示すリスク評価方法によれば、モデルを用いて得られる対象データが、第1集合に含まれている可能性を評価することができる。図21に示すリスク評価方法によれば、この点で、複数の部分モデルを含むモデルが用いられる際の、情報漏洩のリスクを評価することができる。
【0166】
<第七実施形態>
図22は、第七実施形態に係るデータ防御方法における処理の手順の例を示す図である。図22に示すデータ防御方法は、データを取得すること(ステップS621)と、コンフィデンススコアを算出すること(ステップS622)と、コンフィデンススコアを書き換えること(ステップS623)と、コンフィデンススコアを出力すること(ステップS624)とを含む。
【0167】
データを取得すること(ステップS621)では、コンピュータが、第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得する。
コンフィデンススコアを算出すること(ステップS622)では、コンピュータが、
第1のクラス分類と、第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの第1のクラス分類のそれぞれについて含むモデルの部分モデルごとに、説明変数値リストに対する第1のクラス分類で分類されるクラス、かつ、第2のクラス分類におけるクラスに第2集合の要素が分類される度合いを示すコンフィデンススコアを算出する。
【0168】
コンフィデンススコアを書き換えること(ステップS623)では、コンピュータが、コンフィデンススコアが、あるクラスに分類される第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える。
コンフィデンススコアを出力すること(ステップS624)では、コンピュータが、書き換えられたコンフィデンススコアを出力する。
【0169】
図22に示すデータ防御方法によれば、第1集合に含まれるデータが漏洩するリスクをコンフィデンススコアに基づいて評価することができ、データが漏洩するリスクを低減させることができる。
【0170】
図23は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図14に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
【0171】
上記のリスク評価装置100、リスク評価装置200、データ防御装置300、リスク評価装置610、および、データ防御装置620のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
【0172】
リスク評価装置100がコンピュータ700に実装される場合、制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0173】
また、CPU710は、プログラムに従って、記憶部180のための記憶領域を主記憶装置720に確保する。通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示部120による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0174】
リスク評価装置200がコンピュータ700に実装される場合、制御部290およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0175】
また、CPU710は、プログラムに従って、記憶部180のための記憶領域を主記憶装置720に確保する。通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示部120による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0176】
データ防御装置300がコンピュータ700に実装される場合、制御部390およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0177】
また、CPU710は、プログラムに従って、記憶部180のための記憶領域を主記憶装置720に確保する。通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示部120による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0178】
リスク評価装置610がコンピュータ700に実装される場合、データ取得部611と、コンフィデンススコア算出部612と、リスク評価部613との動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0179】
また、CPU710は、プログラムに従って、リスク評価装置610が処理を行うための記憶領域を主記憶装置720に確保する。リスク評価装置610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。リスク評価装置610とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0180】
データ防御装置620がコンピュータ700に実装される場合、データ取得部621と、コンフィデンススコア算出部622と、コンフィデンススコア書き換え部623と、コンフィデンススコア出力部624との動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0181】
また、CPU710は、プログラムに従って、データ防御装置620が処理を行うための記憶領域を主記憶装置720に確保する。データ防御装置620と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。データ防御装置620とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0182】
上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
【0183】
なお、リスク評価装置100、リスク評価装置200、データ防御装置300、リスク評価装置610、および、データ防御装置620が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0184】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0185】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0186】
(付記1)
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得するデータ取得手段と、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出するコンフィデンススコア算出手段と、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価するリスク評価手段と、
を備えるリスク評価装置。
【0187】
(付記2)
前記部分モデルは前記第1のクラス分類を枝分かれで示す決定木である、
付記1に記載のリスク評価装置。
【0188】
(付記3)
前記部分モデルは、前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、前記第2集合の要素のうちそのクラスに分類される要素の個数を示し、
前記コンフィデンススコア算出手段は、前記第1のクラス分類における1つのクラスでの、前記第2集合の要素のうち前記第2のクラス分類における各クラスに分類される要素の個数の割合を示す前記コンフィデンススコアを算出する、
付記1または付記2に記載のリスク評価装置。
【0189】
(付記4)
前記データ取得手段は、1つ以上の分類項目の値が不明となっている対象データに、値が不明となっている分類項目の候補値を設定することで、前記コンフィデンススコアの算出の対象となる対象データを生成する、
付記1から3の何れか一つに記載のリスク評価装置。
【0190】
(付記5)
前記リスク評価手段は、値が不明となっている分類項目の候補値のリストに含まれる候補値ごとに、その候補値が設定された対象データについて、前記第2集合の要素のうち、その対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、その対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに分類される要素が無いことを示している部分モデルの個数を示す非該当性スコアを算出する、
付記4に記載のリスク評価装置。
【0191】
(付記6)
値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、前記非該当性スコアが最小の候補値を、その分類項目の推定値とする推定手段
を更に備える、付記5に記載のリスク評価装置。
【0192】
(付記7)
前記推定手段は、値が不明となっている分類項目の候補値のリストに含まれる候補値のうち、前記非該当性スコアが最小の候補値が複数ある場合、その分類項目の推定値を未定とする、
付記6に記載のリスク評価装置。
【0193】
(付記8)
前記推定手段は、前記非該当性スコアの最小値と、最小値の次に小さい値との差の大きさが所定の閾値よりも小さい場合、その分類項目の推定値を未定とする、
付記7に記載のリスク評価装置。
【0194】
(付記9)
前記推定手段は、前記非該当性スコアの最小値が所定の閾値よりも大きい場合、その分類項目の推定値を未定とする、
付記7または付記8に記載のリスク評価装置。
【0195】
(付記10)
前記推定手段は、1つ以上の分類項目の値が不明となっている複数の対象データのうち、値が不明となっている分類項目の推定値を決定した対象データと、その推定値とのペアのリストを生成する
付記7から9の何れか一つに記載のリスク評価装置。
【0196】
(付記11)
複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有するデータを、各前記部分モデルについて特定し、
特定した前記データが統合されたデータを生成し、
生成した前記データについて、前記複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力する、
データ防御装置。
【0197】
(付記12)
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得するデータ取得手段と、
前記第1のクラス分類と、第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出するコンフィデンススコア算出手段と、
前記コンフィデンススコアが、あるクラスに分類される前記第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される前記第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換える、コンフィデンススコア書き換え手段と、
書き換えられたコンフィデンススコアを出力するコンフィデンススコア出力手段と、
を備えるデータ防御装置。
【0198】
(付記13)
前記部分モデルは前記第1のクラス分類を枝分かれで示す決定木である、
付記12に記載のデータ防御装置。
【0199】
(付記14)
前記部分モデルは、前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、前記第2集合の要素のうちそのクラスに分類される要素の個数を示し、
前記コンフィデンススコア算出手段は、前記第1のクラス分類における1つのクラスでの、前記第2集合の要素のうち前記第2のクラス分類における各クラスに分類される要素の個数の割合を示す前記コンフィデンススコアを算出する、
付記12または付記13に記載のデータ防御装置。
【0200】
(付記15)
コンピュータが、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得し、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出し、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価する、
ことを含むリスク評価方法。
【0201】
(付記16)
コンピュータが、
複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有するデータを、各前記部分モデルについて特定し、
特定した前記データが統合されたデータを生成し、
生成した前記データについて、前記複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力する、
ことを含むデータ防御方法。
【0202】
(付記17)
コンピュータが、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得し、
前記第1のクラス分類と、第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出し、
前記コンフィデンススコアが、あるクラスに分類される前記第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される前記第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換え、
書き換えられたコンフィデンススコアを出力する、
ことを含むデータ防御方法。
【0203】
(付記18)
コンピュータに、
複数の部分モデルを含む機械学習モデルについて、メンバーシップ推論攻撃に対する脆弱性を有するデータを、各前記部分モデルについて特定することと、
特定した前記データが統合されたデータを生成することと、
生成した前記データについて、前記複数の部分モデルによって算出されるスコアとは異なる値のスコアを出力することと、
を実行させるためのプログラム。
【0204】
(付記19)
コンピュータに、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストと、第2のクラス分類におけるクラスを識別する値である目的変数値とを含むデータである対象データを取得することと、
前記第1のクラス分類と前記第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記対象データに含まれる前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記対象データに含まれる前記目的変数値で識別される前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出することと、
前記部分モデルごとのコンフィデンススコアに基づいて、前記対象データが前記第1集合に含まれている可能性を評価することと、
を実行させるためのプログラム。
【0205】
(付記20)
コンピュータに、
第1のクラス分類に用いられる項目である分類項目の値のリストである説明変数値リストを取得することと、
前記第1のクラス分類と、第2のクラス分類との組み合わせによるクラス分類におけるクラスごとに、所定の第1集合から部分モデルごとに生成された集合である第2集合の要素がそのクラスに分類される度合いを示す部分モデルを、複数通りの前記第1のクラス分類のそれぞれについて含むモデルの前記部分モデルごとに、前記説明変数値リストに対する前記第1のクラス分類で分類されるクラス、かつ、前記第2のクラス分類におけるクラスに前記第2集合の要素が分類される度合いを示すコンフィデンススコアを算出することと、
前記コンフィデンススコアが、あるクラスに分類される前記第2集合の要素の個数が0個であることを示している場合、そのクラスに分類される前記第2集合の要素の個数が1個以上と示されるように、そのコンフィデンススコアを書き換えることと、
書き換えられたコンフィデンススコアを出力することと、
を実行させるためのプログラム。
【符号の説明】
【0206】
100、200 リスク評価装置
110 通信部
120 表示部
130 操作入力部
180 記憶部
190、290、390 制御部
191 データ取得部
192 コンフィデンススコア算出部
193 リスク評価部
291 推定部
300 データ防御装置
392 コンフィデンススコア書き換え部
393 コンフィデンススコア出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23