(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058663
(43)【公開日】2024-04-25
(54)【発明の名称】匿名化装置、匿名化方法、機械学習モデル構築方法、機械学習推論方法、及び、プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20240418BHJP
G06N 20/00 20190101ALI20240418BHJP
【FI】
G06F21/62 345
G06N20/00
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023177925
(22)【出願日】2023-10-14
(31)【優先権主張番号】P 2022165917
(32)【優先日】2022-10-14
(33)【優先権主張国・地域又は機関】JP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】宮地 充子
(57)【要約】
【課題】個人の属性データをプライバシーが保護される状態で解析することを可能にする装置であって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする匿名化装置等を提供する。
【解決手段】匿名化装置10は、個人の属性データをプライバシーが保護されるデータに変換する匿名化を行う装置であって、属性データが離散データである場合に、離散データを順序付き離散データに変換する第1変換部12aと、属性データが連続データである場合には、属性データを弱匿名化し、属性データが離散データである場合には、第1変換部12aで変換された属性データを弱匿名化する第2変換部12bと、第2変換部12bで弱匿名化された属性データに対して、ノイズを付加する変換を行う第3変換部12cとを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
個人の属性データをプライバシーが保護されるデータに変換する匿名化を行う匿名化装置であって、
前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換部と、
前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換部で変換された前記属性データを弱匿名化する第2変換部と、
前記第2変換部で弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換部とを備える、
匿名化装置。
【請求項2】
前記第1変換部は、前記属性データが離散データである場合に、前記属性データがとり得る全離散値を並べた列において前記属性データに対応するインデックスを、前記順序付き離散データとして、出力する、
請求項1記載の匿名化装置。
【請求項3】
前記第2変換部は、前記属性データがとり得る最大値と最小値との差である範囲を用いた所定演算により、前記属性データを弱匿名化する、
請求項1記載の匿名化装置。
【請求項4】
前記第3変換部は、弱匿名化された前記属性データに対して、局所差分プライバシーを適用することで、前記ノイズを付加する、
請求項1記載の匿名化装置。
【請求項5】
前記匿名化装置は、個人に関連するm個の属性データを含むデータレコードを対象として匿名化を行う装置であり、
前記第3変換部は、前記ノイズの付加では、与えられたプライバシーバジェットを、前記データレコードが用いられる機械学習システムにおける機械学習アルゴリズムへの貢献度、又は、前記個人の特定あるいはプライバシー漏洩への危険度に依存する配分率で、前記m個の属性データのそれぞれに配分し、配分したプライバシーバジェットが小さい属性データほど大きなノイズを付加する、
請求項4記載の匿名化装置。
【請求項6】
前記第3変換部は、与えられた前記プライバシーバジェットを、前記データレコードが用いられる機械学習システムにおける機械学習アルゴリズムへの貢献度が大きいほど大きな配分率で、前記m個の属性データのそれぞれに配分する、
請求項5記載の匿名化装置。
【請求項7】
前記第3変換部は、与えられた前記プライバシーバジェットを、前記個人の特定あるいはプライバシー漏洩への危険度が大きいほど小さな配分率で、前記m個の属性データのそれぞれに配分する、
請求項5記載の匿名化装置。
【請求項8】
さらに、m個の属性データを含むデータレコードから、ユーザの指示に従って、K(<m)個の属性データをランダムに選択する属性データ選択部を備え、
前記第1変換部、前記第2変換部及び前記第3変換部は、前記属性データ選択部で選択された属性データを対象として変換を行い、
前記匿名化装置は、前記第1変換部、前記第2変換部及び前記第3変換部によって変換されたK個の属性データを機械学習モデル構築サーバ又は機械学習モデル運用サーバに送信する、
請求項1記載の匿名化装置。
【請求項9】
個人の属性データをプライバシーが保護されるデータに変換する装置による匿名化方法であって、
前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換ステップと、
前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換ステップで変換された前記属性データを弱匿名化する第2変換ステップと、
前記第2変換ステップで弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換ステップとを含む、
匿名化方法。
【請求項10】
ユーザ端末及び機械学習モデル構築サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルを構築する機械学習モデル構築方法であって、
前記機械学習モデル構築サーバが前記ユーザ端末に属性数Kを通知するステップと、
前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データを匿名化し、匿名化した前記K個の属性データ、又は、匿名化した前記K個の属性データから算出した前記K個の属性データそれぞれについての相関を示す関係性データを前記機械学習モデル構築サーバに送信するステップと、
前記機械学習モデル構築サーバが、前記ユーザ端末から受け取った匿名化した前記K個の属性データから算出した関係性データ、又は、前記ユーザ端末から受け取った関係性データに基づいて、前記機械学習モデルの機械学習に用いるK個の属性を決定し、決定したK個の属性を前記ユーザ端末に通知する属性決定ステップと、
前記ユーザ端末において、前記機械学習モデル構築サーバから通知されたK個の属性に対応するK個の属性データについて、請求項1に記載の匿名化装置を用いた匿名化を行い、し、匿名化した前記K個の属性データを前記機械学習モデル構築サーバに送信するステップと、
前記機械学習モデル構築サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルの機械学習を行う機械学習ステップとを含む、
機械学習モデル構築方法。
【請求項11】
ユーザ端末及び機械学習モデル運用サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルによる推論を行う機械学習推論方法であって、
前記機械学習モデル運用サーバが前記ユーザ端末にK個の属性を通知する通知ステップと、
前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データのそれぞれについて、請求項1に記載の匿名化装置を用いた匿名化を行い、匿名化されたK個の属性データを、前記機械学習モデルによる推論のために、前記機械学習モデル運用サーバに送信するステップと、
前記機械学習モデル運用サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルによる推論を行う推論ステップとを含む、
機械学習推論方法。
【請求項12】
さらに、前記通知ステップに先立ち、
前記機械学習モデル運用サーバが、前記ユーザ端末に属性数Kを通知するステップと、
前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データを匿名化し、匿名化した前記K個の属性データ、又は、匿名化した前記K個の属性データから算出した前記K個の属性データそれぞれについての相関を示す関係性データを前記機械学習モデル運用サーバに送信するステップと、
前記機械学習モデル運用サーバが、前記ユーザ端末から受け取った匿名化した前記K個の属性データから算出した関係性データ、又は、前記ユーザ端末から受け取った前記関係性データに基づいて、前記機械学習モデルの推論に用いるK個の属性を決定する属性決定ステップとを含み、
前記通知ステップでは、前記属性決定ステップで決定した前記K個の属性を前記ユーザ端末に通知する、
請求項11記載の機械学習推論方法。
【請求項13】
請求項9~12のいずれか1項に記載のステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、匿名化装置及びその方法、機械学習モデル構築方法及び機械学習推論方法等に関し、特に、個人の属性データをプライバシーが保護されるデータに変換する匿名化装置に関する。
【背景技術】
【0002】
心拍数、運動量、歩数、脈拍、酸素摂取量、消費カロリーなど、私たちの生活に関するさまざまな属性データが収集されている。これらの属性データを、機械学習モデル等を用いて、プライバシーを保護しながら解析できれば、様々な問題の解決が可能になる。
【0003】
この問題を解決するために、従来、暗号化を用いた技術(非特許文献1参照)、及び、機械学習モデルへの攻撃の複雑さを鑑みて(非特許文献2参照)、データに局所的なノイズをランダムに加える手法である局所差分プライバシー(Local differential privacy(以下、単に「LDP」とも呼ぶ))が提案されている(非特許文献3参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】P. Xie, M. Bilenko, and e. Finley, "Crypto-nets: Neural networks over encrypted data," arXiv preprint arXiv:1412.6181, 2014.
【非特許文献2】H. Hu, Z. Salcic, L. Sun, and e. Dobbie, "Membership inference attacks on machine learning: A survey," ACM Computing Surveys (CSUR),2021.
【非特許文献3】C. Dwork, "Differential privacy," in Proc. of ICALP 2006, LNCS, vol.4052, 2006, pp. 1-12.
【非特許文献4】P. Kairouz, K. Bonawitz, and D. Ramage, "Discrete distribution estimation under local privacy," in International Conference on Machine Learning. PMLR, 2016, pp. 2436-2444.
【非特許文献5】T. Wang, J. Blocki, and e. Li, "Locally differentially private protocols for frequency estimation," in USENIX Security 17, 2017, pp. 729-745.
【非特許文献6】M. Gaboardi and R. Rogers, "Local private hypothesis testing: Chisquare tests," in International Conference on Machine Learning, 2018,pp. 1626-1635.
【非特許文献7】B. Ding, H. Nori, and e. Li, "Comparing population means under local differential privacy: with significance and power," in Proceedings of the AAAI, vol. 32, no. 1, 2018.
【非特許文献8】K. Wei, J. Li, M. Ding, C. Ma, H. H. Yang, F. Farokhi, S. Jin, T. Q. Quek, and H. V. Poor, "Federated learning with differential privacy: Algorithms and performance analysis," IEEE Transactions on Information Forensics and Security, vol. 15, pp. 3454-3469, 2020.
【非特許文献9】M. Yang, L. Lyu, and e. Zhao, "Local differential privacy and its applications: A comprehensive survey," arXiv preprint arXiv:2008.03686,2020.
【非特許文献10】N. Holohan, D. J. Leith, and O. Mason, "Optimal differentially private mechanisms for randomised response," IEEE Transactions on Information Forensics and Security, vol. 12, no. 11, pp. 2726-2735, 2017.
【非特許文献11】N. Wang, X. Xiao, and e. Yang, "Collecting and analyzing multidimensional data with local differential privacy," in IEEE ICDE, 2019, pp. 638-649.
【非特許文献12】F. Pedregosa, G. Varoquaux, and e. Gramfort, A., "Scikit-learn: Machine learning in Python," Journal of Machine Learning Research, vol. 12, pp. 2825-2830, 2011.
【非特許文献13】J. C. Duchi and e. Jordan, "Local privacy and statistical minimax rates," in 54th Annual Symposium on Foundations of Computer Science. IEEE, 2013, pp. 429-438.
【非特許文献14】P. Kairouz, S. Oh, and P. Viswanath, "Extremal mechanisms for local differential privacy," in Advances in Neural Information Processing Systems, Z. Ghahramani, M. Welling, C. Cortes, N. Lawrence, and K. Weinberger, Eds. Curran Associates, Inc.
【非特許文献15】B. I. Rubinstein, P. L. Bartlett, and e. Huang, "Learning in a large function space: Privacy-preserving mechanisms for svm learning," arXiv preprint arXiv:0911.5708, 2009.
【非特許文献16】"Breast cancer wisconsin (diagnostic) data set," UCI Machine Learning Repository https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(diagnostic).
【非特許文献17】"Ionosphere data set," UCI Machine Learning Repository https://archive.ics.uci.edu/ml/datasets/ionosphere.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記非特許文献1の技術では、準同形暗号を用いるため、処理に非常に時間がかかる問題とともに、準同形暗号の鍵を持っている機関にはデータが漏洩するという問題がある。また、上記非特許文献3の技術では、ノイズが付加されたデータの解析の有用性が低下してしまうという問題がある。
【0006】
そこで、本開示は、個人の属性データをプライバシーが保護される状態で解析することを可能にする装置であって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする匿名化装置、匿名化方法、機械学習モデル構築方法及び機械学習推論方法等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示の一形態に係る匿名化装置は、個人の属性データをプライバシーが保護されるデータに変換する匿名化を行う匿名化装置であって、前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換部と、前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換部で変換された前記属性データを弱匿名化する第2変換部と、前記第2変換部で弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換部とを備える。
【0008】
上記目的を達成するために、本開示の一形態に係る匿名化方法は、個人の属性データをプライバシーが保護されるデータに変換する装置による匿名化方法であって、前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換ステップと、前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換ステップで変換された前記属性データを弱匿名化する第2変換ステップと、前記第2変換ステップで弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換ステップとを含む。
【0009】
上記目的を達成するために、本開示の一形態に係る機械学習モデル構築方法は、ユーザ端末及び機械学習モデル構築サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルを構築する機械学習モデル構築方法であって、前記機械学習モデル構築サーバが前記ユーザ端末に属性数K(≦m)を通知するステップと、前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データを匿名化し、匿名化した前記K個の属性データ、又は、匿名化した前記K個の属性データから算出した前記K個の属性データそれぞれについての相関を示す関係性データを前記機械学習モデル構築サーバに送信するステップと、前記機械学習モデル構築サーバが、前記ユーザ端末から受け取った匿名化与した前記K個の属性データから算出した関係性データ、又は、前記ユーザ端末から受け取った関係性データに基づいて、前記機械学習モデルの機械学習に用いるK個の属性を決定し、決定したK個の属性を前記ユーザ端末に通知する属性決定ステップと、前記ユーザ端末において、前記機械学習モデル構築サーバから通知されたK個の属性に対応するK個の属性データについて、上記匿名化装置を用いた匿名化を行い、し、匿名化した前記K個の属性データを前記機械学習モデル構築サーバに送信するステップと、前記機械学習モデル構築サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルの機械学習を行う機械学習ステップとを含む。
【0010】
上記目的を達成するために、本開示の一形態に係る機械学習推論方法は、ユーザ端末及び機械学習モデル運用サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルによる推論を行う機械学習推論方法であって、前記機械学習モデル運用サーバが前記ユーザ端末にK個の属性を通知する通知ステップと、前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データのそれぞれについて、上記匿名化装置を用いた匿名化を行い、匿名化されたK個の属性データを、前記機械学習モデルによる推論のために、前記機械学習モデル運用サーバに送信するステップと、前記機械学習モデル運用サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルによる推論を行う推論ステップとを含む。
【発明の効果】
【0011】
本開示により、個人が自分のプライバシーを制御でき、かつ、個人の属性データをプライバシーが保護される状態で解析することを可能にする装置であって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする匿名化装置、匿名化方法、機械学習モデル構築方法及び機械学習推論方法等が提供される。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態に係る匿名化装置の構成を示すブロック図である。
【
図2】
図2は、実施の形態に係る機械学習システムの構成を示すブロック図である。
【
図3】
図3は、実施の形態に係る機械学習システムの動作を示す通信シーケンス図である。
【
図4】
図4は、アルゴリズム1(Piecewiseメカニズム(PM))を示す図である。
【
図5】
図5は、アルゴリズム2(Randomised Responseメカニズム(RR))を示す図である。
【
図6】
図6は、アルゴリズム3(離散データから順序付き離散データへの変換(DTO))を示す図である。
【
図7】
図7は、アルゴリズム4(弱匿名化データへの変換(WAT))を示す図である。
【
図8】
図8は、アルゴリズム5(Unified LDPメカニズム(WALDP))を示す図である。
【
図9A】
図9Aは、アルゴリズム6(WAによる次元削減(DR.WA))を示す図である。
【
図9B】
図9Bは、
図9Aに示されるアルゴリズム6を、全属性を利用するように変形した変形アルゴリズム6を説明する図である。
【
図10】
図10は、アルゴリズム7(プライバシーを保護した学習モデル構築PPTraining)を示す図である。
【
図11】
図11は、アルゴリズム8(プライバシーを保護した学習モデルテストPPTesting)を示す図である。
【
図12】
図12は、WDBCデータセットにおけるSUP.MLデータを用いて学習した機械学習モデルのテスト結果(精度)を示す図である。
【
図13】
図13は、WDBCデータセットにおけるRawデータ、PMデータ、SUP.MLデータを用いて学習した機械学習モデルのテスト結果(精度)の比較を示す図である。
【
図14】
図14は、WDBCデータセットにおける(PPTraining、PPTesting)の組み合わせについての正答率の比較を示す図である。
【
図15】
図15は、IonosphereデータセットにおけるSUP.MLデータを用いて学習した機械学習モデルのテスト結果(精度)を示す図である。
【
図16】
図16は、IonosphereデータセットにおけるRawデータ、PMデータ、SUP.MLデータを用いて学習した機械学習モデルのテスト結果(精度)の比較を示す図である。
【
図17】
図17は、Ionosphereデータセットにおける(PPTraining、PPTesting)の組み合わせについての正答率の比較を示す図である。
【
図18B】
図18Bは、実施例2に係る匿名化装置の動作例の続きを説明する図である。
【
図19A】
図19Aは、オッズ比を利用してプライバシーバジェットの配分率を決定する実施例2の第1事例に係る手順を示す図である。
【
図20A】
図20Aは、ロジスティック回帰を利用してプライバシーバジェットの配分率を決定する実施例2の第3事例に係る手順及び具体例を示す図である。
【
図20C】
図20Cは、ロジスティック回帰を利用してプライバシーバジェットの配分率を決定する実施例2の第2事例に係る手順を示す図である。
【
図21A】
図21Aは、
図20Aに示されるロジスティック回帰を利用したプライバシーバジェットの配分を用いて学習した機械学習モデルのテスト結果(精度)を示す図である。
【
図21B】
図21Bは、SVMを用いて学習した機械学習モデルのテスト結果(精度)を示す図である。
【発明を実施するための形態】
【0013】
(本発明者が得た知見)
本開示の実施の形態及び実施例を説明する前に、本開示の背景及び本発明者が得た知見を説明する。
【0014】
IoT機器の普及に伴い、様々なデータが各地で分散的に収集されるようになった。我々の生活の日々のデータでは心拍数、運動量、歩数、脈拍、消費カロリーなどのデータも収集されるし、一方、医療機関には診察データ、さらには保健所には定期的な検査の結果が収集されている。これらの分散されたデータを収集し、解析することで、病気の予兆の検知など各種課題解決が可能になると考えられている。この際、重要になることは各データに紐づくプライバシーの取り扱いである。
【0015】
分散したデータを、プライバシー保護をしながらデータ解析に用いる方法にはいくつかの手法がある。大きく2つのアプローチに分けられる。
【0016】
第一のアプローチはセキュリティ技術を用いるアプローチである。機械学習をターゲットとした場合、第一のアプローチでは例えば学習モデルの構築(つまり、機械学習モデルの機械学習(以下、単に「学習」ともいう))時に最適化問題を暗号化、あるいは分散した状態で繰り返し解く必要がある。このボトルネックに対して、活性化関数の近似処理などによって高速化を図るアプローチなども存在するが(非特許文献1参照)、依然として計算量と通信量が大きな問題となる。また、このアプローチは最終出力結果を得るユーザとデータ保有者が一致していない場合、本質的に保有データのプライバシーを保護しているとはいえない。
【0017】
一方、第二のアプローチとしてデータの非識別化が考えられる。これはデータ自体、あるいはパラメータに加工処理を施すことで個々データのプライバシーを保護するものである。特に最近の機械学習モデルへの攻撃の複雑さを鑑みて(非特許文献2参照)、本開示では情報理論に基づく定量的なプライバシー強度を保証する差分プライバシー(DP;differential privacy)に着目している。差分プライバシーは中央型と局所型の大きく二通りの構成が存在する。中央型はデータサーバへのクエリに対するレスポンスに、局所型はデータ保有者がデータに直接確率的メカニズムを適用することでプライバシー保護を実現する。差分プライバシーを満たす最も基本的なメカニズムとしてラプラスメカニズム(非特許文献3参照)が知られている。しかしながら、直接的にこのメカニズムを利用すると、データや分析結果に悪影響を及ぼす強いノイズが付与されうる。したがってユースケースに応じてメカニズムのチューニングが必要であり、例えばヘビーヒッター検知を始めとした頻度分析(非特許文献4、5参照)や仮説検定(非特許文献6、7参照)、さらには機械学習を対象としたメカニズム(非特許文献8参照)などが提案されている。特に局所差分プライバシーメカニズムを利用したアプリケーションは参考文献(非特許文献9参照)にてまとめられている。
【0018】
本開示では、信頼すべき機関(つまり、属性データを解析するサーバ装置)が不要な局所差分プライバシーに注目し、局所差分プライバシーメカニズムを通したデータの機械学習への適用を提案する。これまで離散値、および連続値に対して局所差分プライバシーメカニズム(非特許文献10、11参照)が提案されている。しかしこれらは主に統計分析への利用が想定されているが、個々のデータにおける属性間の相関等の維持は考慮しないため、機械学習を前提とした利用は適さない可能性がある。
【0019】
本開示は、局所差分プライバシーを満たすデータの機械学習への利用を想定したフレームワークである匿名化装置、機械学習モデル構築サーバ、機械学習モデル運用サーバそれらの装置で構成される機械学習システム等を提案する。特にデータの次元数および各次元のクラス数をパラメータとしたデータ構造の簡略化、すなわち弱匿名化により、データのプライバシーと学習モデルの精度のバランスを取ることが可能となる。本開示の機械学習システムは、非特許文献11の技術と同様、離散値および連続値を持つ任意のデータ形式の入力が可能であるが、提案する弱匿名化の目的は頻度分析のみではなく、必要十分な情報量の削減(つまり、機械学習モデル構築装置が備える次元削減の機能)にある。また提案するアルゴリズムは、直接データに対して適用されるため、学習フェーズだけではなく評価(推論)フェーズにおいても機能するのみならず、構築された学習モデルの教師データのプライバシー保護も実現する。本開示に係る機械学習システムでは、学習フェーズに用いる学習データのみならず、評価フェーズにおけるテストデータのプライバシーも考慮している。
【0020】
本開示に係る機械学習システムでは、フィージビリティスタディとして乳がんデータおよび電解データに対して提案フレームワークを適用し、その有効性を実験で確認した。実験結果は弱匿名化のパラメータをコントロールすることで、適当なプライバシー強度で十分な精度のモデルを生成することが可能であることを示唆している。また評価フェーズでは、学習モデルへの入力として、生データを用いずに学習モデルの生成に利用したメカニズムを適用したノイズ付きのデータを用いても十分高い精度が実現できることを確認した。
【0021】
(実施の形態)
以下、本開示の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
【0022】
図1は、実施の形態に係る匿名化装置10の構成を示すブロック図である。匿名化装置10は、個人の属性データをプライバシーが保護される属性データ(以下、変換後の属性データを「WALDP(弱匿名化局所差分プライバシー)データ」とも呼ぶ)に変換する装置であり、匿名化処理部12を備える。
【0023】
匿名化装置10は、例えば、健康に関するデータレコードを保持する記憶部を備えるユーザ端末にインストールされて用いられるソフトウェアとして実現され得る。ここで、「属性データ」は、属性の具体値であり、例えば、「80」という心拍数である。「属性」とは、属性の種類であり、例えば、「心拍数」である。本実施の形態では、m個の属性データ(心拍数、運動量、歩数、脈拍、酸素摂取量、消費カロリー等のそれぞれの具体値)から構成されるデータレコードが処理の対象となる。
【0024】
匿名化処理部12は、与えられた属性データをWALDPデータに変換する情報処理部であり、機能的に、第1変換部12a、第2変換部12b及び第3変換部12cを有する。なお、匿名化処理部12は、プログラム及びデータを保持するメモリ、プログラムを実行するプロセッサ等で構成される。
【0025】
第1変換部12aは、取得された属性データが離散データである場合に、離散データを順序付き離散データに変換する。具体的には、第1変換部12aは、属性データが離散データである場合に、属性データがとり得る全離散値を並べた列において属性データに対応するインデックスを、順序付き離散データとして、出力する。なお、取得された属性データが連続データである場合には、第1変換部12aは、特に何の処理もしない。
【0026】
第2変換部12bは、取得された属性データが連続データである場合には、属性データを弱匿名化し、属性データが離散データである場合には、第1変換部12aで変換された属性データ(つまり、順序付き離散データ)を弱匿名化する。具体的には、第2変換部12bは、属性データ(連続データ又は順序付き離散データ)がとり得る最大値と最小値との差である範囲を用いた所定演算により、属性データを弱匿名化する。
【0027】
なお、「弱匿名化」とは、対象のデータ(ここでは、属性データ)を「弱い匿名性」のデータに変換することであり、つまり、必ずしもある個人が元の属性データをもつとは限らないように変形することで、属性データからある個人を特定することを困難にすることである。
【0028】
第3変換部12cは、第2変換部12bで弱匿名化された属性データに対して、ノイズを付加する変換を行う。つまり、連続データ及び離散データに対して統一的に(つまり、同じ方法で)ノイズを付加する。具体的には、第3変換部12cは、弱匿名化された属性データに対して、局所差分プライバシーを適用することで、ノイズを付加する。なお、本明細書では、弱匿名化だけを行う場合、及び、弱匿名化した後にノイズ付加を行う場合を含めて、広く「匿名化」と呼ぶ。匿名化装置10からは、第2変換部12bから出力される弱匿名化データ(WAデータともいう)、又は、第3変換部12cから出力される弱匿名化局所差分プライバシーデータ(WALDPデータともいう)が出力される。
【0029】
「局所差分プライバシー」とは、個人が識別されないようにしながら大規模なデータセットを用いた学習を可能にするアプローチの一つであり、ある個人のデータを含むデータセットを用いた処理結果が、ある個人のデータが、異なるデータに変わったデータセットを用いた処理結果と区別できないようにすることで、プライバシーを保護する手法である。
【0030】
このような匿名化装置10によって変換された属性データを含む複数の属性データから構成される個人のデータセット(データレコード、以下、データレコードを単に「レコード」ともいう)に対して、複数の属性データを匿名化装置10によって変換し、変換した属性データを解析するサーバ装置が機械学習モデルの学習及びテスト(つまり、推論)を行うことで、サーバ装置が信頼できる装置であることを必要としない。さらに、匿名化装置10は、属性データが連続データであっても離散データであっても、弱匿名化し、統一してノイズの付与をするので、そのような統一的な扱いができなかった従来の局所差分プライバシーよりも有用性の高い(つまり、広い応用範囲での)解析を可能にする。
【0031】
図2は、実施の形態に係る機械学習システム5の構成を示すブロック図である。機械学習システム5は、
図1に示される匿名化装置10を機械学習に適用した機械学習フレームワークであり、インターネット等の通信路7で接続されたユーザ端末20、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bで構成される。なお、機械学習システム5を構成するユーザ端末20は、一台とは限られず、複数台でもあり得る。また、
図2に示されるデータの流れ(「属性数K」、「関係性データ」、「K個の匿名化した属性データ」)は、説明の便宜上、代表的なデータの流れを示すものであり、全てのデータの流れを示しているわけではない。また、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bを合わせて、単に「サーバ装置」ともいう。
【0032】
機械学習モデル構築サーバ30aは、m個の属性データを含むデータレコードを用いた機械学習モデル32aの学習を行う解析用のサーバ装置であり、通信部31a、機械学習モデル32a及び学習部33aを備える。
【0033】
通信部31aは、通信路7を介して他の装置と通信する通信インタフェースである。
【0034】
機械学習モデル32aは、サポートベクタマシン(以下、単に「SVM」ともいう)又はニューラルネットワーク等の機械学習モデルであり、プログラム又は書き換え可能なメモリを有する集積回路等で実現される。
【0035】
学習部33aは、(1)次元削減フェーズ(使用する属性数を削減する処理)として、各ユーザ端末20に属性数Kを通知し、ユーザ端末20から匿名化されたK個の属性データ、又は、それらの関係を示す関係性データを受け取り、ユーザ端末20から受け取った匿名化されたK個の属性データから算出した関係性データ、又は、ユーザ端末20から受け取った関係性データに基づいて、機械学習モデル32aの機械学習に用いるK個の属性を決定する処理と、(2)機械学習フェーズとして、決定したK個の属性を各ユーザ端末20に通知し、各ユーザ端末20から送信されてきた匿名化されたK個の属性データを用いて、機械学習モデル32aの機械学習を行う。なお、学習部33aは、プログラム及びデータを保持するメモリ、プログラムを実行するプロセッサ、及び、入出力回路等で構成される。
【0036】
なお、学習部33aの次元削減フェーズの処理を実行する独立した装置(例えば、「次元削減装置」と呼ぶ)を機械学習システム5に設けてもよい。そのような次元削減装置は、例えば、コンピュータによって実現され、通信路を介して、各ユーザ端末20及び機械学習モデル構築サーバ30aとの間で、属性データ等の情報を秘匿化された状態で、やりとりする。
【0037】
機械学習モデル運用サーバ30bは、各ユーザ端末20から送信されてきた匿名化されたK個の属性データを含むデータレコードを用いた機械学習モデル32bのテストを行う解析用のサーバ装置であり、通信部31b、機械学習モデル32b及び運用部33bを備える。なお、機械学習モデルの「テスト」とは、学習済み機械学習モデルに入力データを与え、学習済み機械学習モデルからの出力を得る「推論」と同義である。
【0038】
通信部31bは、通信路7を介して他の装置と通信する通信インタフェースである。
【0039】
機械学習モデル32bは、機械学習モデル構築サーバ30aによる機械学習を終えた学習済みのSVM又はニューラルネットワーク等の機械学習モデルであり、プログラム又は書き換え可能なメモリを有する集積回路等で実現される。
【0040】
運用部33bは、(1)次元削減フェーズとして、各ユーザ端末20に属性数Kを通知し、ユーザ端末20から匿名化されたK個の属性データ、又は、それらの関係を示す関係性データを受け取り、ユーザ端末20から受け取った匿名化されたK個の属性データから算出した関係性データ、又は、ユーザ端末20から受け取った関係性データに基づいて、機械学習モデル32aのテストフェーズに用いるK個の属性を決定する処理と、(2)テストフェーズとして、決定したK個の属性を各ユーザ端末20に通知し、各ユーザ端末20から送信されてきた匿名化されたK個の属性データを用いて、機械学習モデル32bのテストを行う。 なお、運用部33bは、プログラム及びデータを保持するメモリ、プログラムを実行するプロセッサ、及び、入出力回路等で構成される。また、上記(1)次元削減フェーズとして、機械学習モデル運用サーバ30bの運用部33bが独自に次元削減フェーズを実行することに代えて、機械学習モデル32bの機械学習を行った機械学習モデル構築サーバ30aの学習部33aから、学習部33aにおいて次元削減フェーズで決定したK個の属性の通知を受けてもよい。
【0041】
ユーザ端末20は、匿名化した属性データを機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bに提供するクライアント装置であり、通信部21、匿名化装置10a、関係性秘匿化装置23及び記憶部22を備える。
【0042】
通信部21は、通信路7を介して他の装置と通信する通信インタフェースである。
【0043】
記憶部22は、生データとしての属性データで構成されるデータレコードを保持している。
【0044】
匿名化装置10aは、ユーザ端末20にインストールされるソフトウェアであり、
図1に示される匿名化装置10が備える匿名化処理部12、及び、属性データ選択部13を備える。属性データ選択部13は、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)の次元削減フェーズに応答するために、記憶部22に格納されたm個の属性データを含むデータレコードから、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)から通知された属性数(K個)の属性データを、ユーザからの指示に従ってランダムに選択し、選択したK個の属性データのそれぞれについて匿名化処理部12を用いた匿名化を行い、匿名化されたK個の属性データを、通信部21を介して、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)に送信する。
【0045】
関係性秘匿化装置23は、ユーザ端末20にインストールされるソフトウェアであり、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)よる機械学習フェーズ(あるいは、テストフェーズ)の前処理としての属性の次元削減に応答する装置であり、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)から通知されたK個の属性に対応するK個の属性データを記憶部22から読み出し、読み出したK個の属性データを匿名化し、匿名化したK個の属性データ、又は、匿名化したK個の属性データから算出した、匿名化したK個の属性データそれぞれについての相関を示す関係性データを、通信部21を介して、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)に送信する。
【0046】
なお、本実施の形態では、ユーザ端末装置20の中に関係性秘匿化装置23が組み込まれているが、関係性秘匿化装置23は、このような形態に限られず、匿名化したK個の属性データを入手し、それぞれについての相関を示す関係性データを算出する装置として、機械学習モデル構築サーバ30a(あるいは、機械学習モデル運用サーバ30b)に組み込まれていてもよいし、通信路7に接続される独立した装置であってもよい。
【0047】
図3は、実施の形態に係る機械学習システム5の動作を示す通信シーケンス図である。ここでは、ユーザ端末20が、匿名化装置10aを利用することで匿名化した属性データを機械学習モデル構築サーバ30aに提供し、機械学習モデル構築サーバ30aが、提供された匿名化した属性データを用いて機械学習モデル32aの学習を行い、その後、ユーザ端末20から秘匿化された属性データの提供を受けた機械学習モデル運用サーバ30bが、機械学習モデル構築サーバ30aによって構築された機械学習モデル32bのテストを行う場合の通信シーケンスが示されている。
【0048】
まず、機械学習モデル構築サーバ30aの学習部33aは、次元削減フェーズとして、ユーザ端末20に属性数Kを通知する(S10)。
【0049】
ユーザ端末20では、匿名化装置10aの属性データ選択部13は、ユーザからの指示に従って、記憶部22に保持されたm個の属性データを含むデータレコードから、通知された属性数(K個)の属性データをランダムに選択する(S11)。
【0050】
そして、属性データ選択部13は、選択したK個の属性データのそれぞれについて、匿名化する(S12)。例えば、属性データ選択部13は、匿名化処理部12を用いた匿名化を行う。具体的には、匿名化処理部12では、与えられた属性データに対して、第1変換部12aが、与えられた属性データが離散データである場合に、離散データを順序付き離散データに変換し、第2変換部12bが、与えられた属性データが連続データである場合には、その連続データを弱匿名化し、与えられた属性データが離散データである場合には、第1変換部12aで変換された順序付き離散データを弱匿名化う。あるいは、第2変換部12bで弱匿名化された属性データに対して、第3変換部12cがノイズを付加する変換を行う。このように、ステップS12では、匿名化の処理として、弱匿名化だけであってもよいし、弱匿名化とノイズ付加の両方を行ってもよい。
【0051】
次に、関係性秘匿化装置23は、匿名化処理部12で匿名化したK個の属性データを機械学習モデル構築サーバ30aに送信する、あるいは、匿名化したK個の属性データから、匿名化与したK個の属性データそれぞれについての相関を示す関係性データを算出し、算出した関係性データを機械学習モデル構築サーバ30aに送信する(S13)。
【0052】
機械学習モデル構築サーバ30aでは、学習部33aが、受け取ったノイズが付与されたK個の属性データから、ノイズが付与されたK個の属性データそれぞれについての相関を示す関係性データを算出し、算出した関係性データに基づいて、機械学習モデル32aの機械学習に用いるK個の属性を決定する、あるいは、ユーザ端末20から受け取った関係性データに基づいて、機械学習モデル32aの機械学習に用いるK個の属性を決定する(属性決定ステップS14)。
【0053】
続いて、学習部33aは、機械学習フェーズを開始するために、決定したK個の属性をユーザ端末20に通知する(S15)。
【0054】
ユーザ端末20では、匿名化処理部12は、機械学習モデル構築サーバ30aから通知されたK個の属性に対応するK個の属性データを記憶部22から読み出し、読み出したK個の属性データ匿名化し(S16)、匿名化したK個の属性データを機械学習モデル構築サーバ30aに送信する(S17)。具体的には、匿名化処理部12では、与えられた属性データに対して、第1変換部12aが、与えられた属性データが離散データである場合に、離散データを順序付き離散データに変換し、第2変換部12bが、与えられた属性データが連続データである場合には、その連続データを弱匿名化し、与えられた属性データが離散データである場合には、第1変換部12aで変換された順序付き離散データを弱匿名化し、第3変換部12cが、第2変換部12bで弱匿名化された属性データに対して、ノイズを付加する変換を行う。
【0055】
機械学習モデル構築サーバ30aでは、学習部33aが、各ユーザ端末20から送信されてきた匿名化されたK個の属性データを用いて、機械学習モデル32aの機械学習を行う(機械学習ステップS18)。
【0056】
なお、ユーザ端末20は、ステップS16及びS17では、次元削減フェーズ(S10~S13)において既に送付しているノイズを付与したK個の属性データと同一である場合には、そのK個の属性データを機械学習モデル構築サーバ30aに送付してもよい。
【0057】
機械学習モデル32aの機械学習を終えると、機械学習モデル構築サーバ30aは、学習済みの機械学習モデル32a及びステップS18で決定した機械学習に用いたK個の属性を機械学習モデル運用サーバ30bに送信する(S19)。機械学習モデル運用サーバ30bは、機械学習モデル構築サーバ30aから送られてきた学習済みの機械学習モデル32aについては、テストに使用する学習済みの機械学習モデル32bとして、保存する。
【0058】
その後、ユーザ端末20は、機械学習モデル運用サーバ30bが備える学習済みの機械学習モデル32bのテストを希望する場合には、上記ステップS16で生成した匿名化されたK個の属性データを機械学習モデル運用サーバ30bに送信する(S20)。なお、匿名化されたK個の属性データの生成については、ユーザ端末20と機械学習モデル構築サーバ30aとの間で実施されたステップS14~S18に代えて、ユーザ端末20と機械学習モデル運用サーバ30bとの間で行う同様の処理によって、匿名化されたK個の属性データを生成してもよい。
【0059】
そして、機械学習モデル運用サーバ30bでは、運用部33bが、各ユーザ端末20から送信された匿名化されたK個の属性データを用いて、機械学習モデル32bによるテストを行う(推論ステップS21)。
【0060】
なお、機械学習モデル運用サーバ30bは、機械学習モデル構築サーバ30aから通知されたK個の属性を利用することに代えて、ユーザ端末20と機械学習モデル構築サーバ30aとの間で実施された次元削減フェーズ(ステップS10~S14)と同様の処理をユーザ端末20と機械学習モデル運用サーバ30bとの間で実施することで、運用部33bが、テストに用いるK個の属性を決定してもよい。
【0061】
このような通信シーケンスにより、ユーザが所持していた属性データは、匿名化装置10aを用いた匿名化が行われた後に、匿名化された属性データが機械学習モデル構築サーバ30aに提供され、機械学習モデル構築サーバ30aにおいて機械学習モデル32aの学習が行われ、その後、ユーザ端末20から秘匿化された属性データの提供を受けた機械学習モデル運用サーバ30bにおいて、機械学習モデル構築サーバ30aによって構築された機械学習モデル32bのテストが行われる。
【0062】
よって、どの機関が入手するデータもユーザ側が匿名化しており、サーバ装置はユーザの生データを入手できないため、信頼できるサーバである必要がない。さらに、匿名化装置10aでは、属性データが連続データであっても離散データであっても、弱匿名化し、統一してノイズの付与をするので、そのような統一的な扱いができなかった従来の局所差分プライバシーよりも有用性の高い(つまり、広い応用範囲での)解析が可能になる。
【0063】
(実施例1)
1章.はじめに
以下、実施の形態に係る機械学習システム5の具体な実現例を、実施例1として、説明する。2章では、既存の基礎技術であるSVMの概要及びLDPメカニズムを紹介する。3章では、本開示に係る機械学習システム5の特徴的なメカニズムを述べる。続く4章では、本開示に係る提案フレームワーク(機械学習システム5)を利用した実験結果をまとめる。5章で実験結果にもとづく考察を述べる。最後に6章で「まとめ」を記載する。
【0064】
2章.準備
この章ではまず機械学習モデル構築サーバ30aが備える機械学習モデル32a及び機械学習モデル運用サーバ30bが備える機械学習モデル32bの具体例であるSVMについて紹介し(2.1章)、次にLDPについて紹介する(2.2章)。
【0065】
2.1サポートベクタマシン(SVM)
SVMは分類問題や回帰問題を解く機械学習モデルの一種である。学習データセットにはn個のレコードDi(i=1、・・・、n)があり、各レコードDi=[Di、1、Di、2、・・・、Di、m-1、TAi]にはm-1個の属性と目的変数TAi∈{-1、1}があるとする。線形SVMの学習段階では切片bとベクトルw=(w1、w2、・・・、wm-1)で定義される超平面を表す関数f(Di)を以下の式1のように計算する。
【0066】
【0067】
この超平面を用いて未知データDi’をf(Di’)の出力に従って以下の式2のように分類する。
【0068】
【0069】
線形SVMモデルの限界は線形分離不可能なデータセットを正しく分類できないことである。そこで非線形RBFカーネルを用い、ドット積演算を新しいカーネル関数exp(-γ||Di-Di’||2)(ただしγは非負のパラメータ)に置き換えることにより、この制限を克服している(非特許文献12参照)。
【0070】
また超平面によってデータを完全に分離できない場合、超平面の計算時にマージンを用いることができる。これは一部の学習例が誤って分類されることを許容するものであり、超平面の滑らかさを制御する非負のパラメータCが存在する。
【0071】
実験ではパラメータγを1/(m-1×Var(D))に設定し、パラメータCを生データで良好に動作するように選択した。
【0072】
2.2局所差分プライバシー(LDP)
局所差分プライバシー(非特許文献13参照)ではn個のデータレコードをそれぞれデータDi(1≦i≦n)と表す。各データDiはm個の属性A1、・・・、Amを含む。各属性は離散値でも連続値でも良く、離散値ならば属性はk個のカテゴリ1、2、・・・、kを持ち、連続値ならば正規化され[-1、1]の領域を持つ。このとき、各データ提供者はランダムノイズ関数fを用い、データ収集者にf(Di)を送る。
【0073】
定義1 関数fが全てのあり得る入力の組合せx、x’に対して以下を満たすとき関数fはε-局所差分プライバシーを満たすという。
【0074】
Pr[f(x)=y]≦exp(ε)・Pr[f(x’)=y]
【0075】
非特許文献11で提案されているPiecewiseメカニズム(以下、単に「PM」とも呼ぶ)は連続値に適用する局所差分プライバシーを満たすランダム化関数である。そのアルゴリズム(アルゴリズム1)を
図4で示す。なお、このアルゴリズムの入力の一つである「プライバシーバジェットε」は、プライバシー保護の強度に関するパラメータであり、低い値ほどプライバシーに対する安全性(プライバシーレベル)が高い。また、このアルゴリズムの出力の確率密度関数は以下の式3のようになる。
【0076】
【0077】
非特許文献14が提案するRandomised Responseメカニズム(以下、単に「RR」とも呼ぶ)は離散値に対する局所差分プライバシーを満たすためのランダムノイズ関数である。入力xと出力yは同様にL種類の値を取る。RRメカニズムは以下の式4のようにノイズを加える。
【0078】
【0079】
RRメカニズムはexp(ε)/(L-1+ exp(ε))の確率で元の値と等しい値を出力し、1/(L-1+ exp(ε))の確率で元の値と異なる値を出力する。RRメカニズムは、
図5に示されるアルゴリズム2によって与えられる。
【0080】
3章.本開示に係る機械学習システム5の特徴的なメカニズム
機械学習は一般に、機械学習モデルを構築(つまり、学習)する学習フェーズとモデルを検証(機械学習モデルを用いた推論を含む)するテストフェーズの2つのフェーズで構成される。一般には、機械学習モデル構築サーバ30aや機械学習モデル運用サーバ30bは信頼する、つまり、信頼機関(Trusted Third Party(以下、「TTP」とも呼ぶ))を仮定することが多い。しかし、サイバー攻撃によるデータ漏洩のリスクをゼロにすることは難しく、絶対安全なTTPの構築は現実的ではない。つまり、TTPに基づくデータ利活用では、実質的なプライバシー保護の実現は困難といえる。
【0081】
本開示では、構築された機械学習モデル32aからのプライバシー漏洩だけでなく、機械学習モデル構築サーバ30aや、データをテストするためにモデルを運用する機械学習モデル運用サーバ30bからのプライバシー保護を目的とした、プライバシーを保護した機械学習フレームワーク(つまり、機械学習システム5)を提案する。提案フレームワークは、学習段階、テスト段階のいずれにおいても、TTPを仮定せず、各データ所有者は自らデータを制御可能となる。つまり、包括的なプライバシー保護付き機械学習フレームワークを提案する。
【0082】
3.1プライバシー保護の基本概念
機械学習フレームワークを示す前に、本開示で使用する表記法を紹介する。
・LDP:局所差分プライバシー
・PM:Piecewiseメカニズム
・RR:randomized responseメカニズム
・Agg:集約者(機械学習モデルの学習及びテストを実行する者、つまり、機械学習モデル構築サーバ30a、機械学習モデル運用サーバ30b)
・ε:プライバシーバジェット
・n:レコード総数
・m:1レコードに含まれる属性数(次元数)
・K:m属性(m個の属性)から利用する属性数(利用次元数)
・TA:目的属性
・Aj:レコードにおけるj番目の属性(連続値でも離散値でもよい)(j∈[1、m-1])(目的属性TAを含めない)
・D、Di:i番目のレコード、i=1、・・・、n、m属性が含まれる。Di=[Di、1、・・・、Di、m-1、TAi]
・Di、j:i番目のレコードDiのj番目の属性データ(j∈[1、m-1])。
・tai:レコードDiの目的属性。
・max(Aj)、min(Aj):属性データAjの最大値、最小値。(連続値・離散値いずれの属性でも使用可能)離散値データを準連続データに変換することで、連続値属性と離散値属性の両方で利用することができる。
・Rangej=max(Aj)-min(Aj):属性Ajの範囲
・L:各属性データの弱匿名化時の分類数
・Aj1、・・・、AjK:選択属性
・WAj[1]、・・・、WAj[L]:属性Ajの弱匿名化変換された後の取り得る値
【0083】
本提案フレームワークは、生データを収集するTTPを前提にせずに、各データ所有者は自分自身のデータを管理する。一方、既存のプロトコルの多くは、生データを収集又は取り扱う信頼できる機関が必要である(非特許文献8、15参照)。一般に、プライバシー保護と機械学習の性能は相反する性質を持つ。LDPメカニズムは、データプライバシー保護の観点から強力であるが、機械学習の性能を低下させる。そのため、既存のプロトコルはLDPメカニズムを用いて、(信頼できる)ローカルクライアント(非特許文献8参照)やTTPサーバ(非特許文献15参照)で学習パラメータにノイズを付加することで、学習モデルからの学習データのプライバシー保護を実現する。ここで、LDPで変換されたデータを「LDPデータ」と呼ぶ。生データとLDPデータだけでは、プライバシーと機械学習性能のバランスを取ることが難しい。TTPを前提としない機械学習に適した新たなプライバシーメカニズムを構築するために、データの特性、すなわち、1レコードが複数の属性から構成されていることに着目する。属性の特性は多様であり、非特許文献16、17で開示されているように、連続的な値もあれば、離散的な値もある。一方、連続データ用のLDPメカニズム(非特許文献11参照)と離散データ用(非特許文献10、14参照)は独立に構築されている。一つのフレームワークで両方のデータを統一的かつバイデザインで扱えると、多様なデータに対してスケーラブルといえる。そこで、本開示では、生データからLDPデータの中間的な位置づけである「WA」で示される弱匿名化データ(以下、弱匿名化データを単に「WA」とも呼ぶ)の概念を提案する。中間的な概念を経ることで、任意の連続・離散データはWAに変換され、統一的に「WALDP(弱匿名化局所差分プライバシー)データ」と呼ばれるLDPデータに変換する新しいプライバシーメカニズム(つまり、匿名化装置10及び10a)を提案する。
【0084】
次に、機械学習のプライバシーと精度を制御する方法について検討する。特に本開示では、学習とテストの両フェーズで利用するデータを制御する。なお、機械学習における「学習」とは、機械学習モデルの学習を意味し、「テスト」とは、機械学習モデルを用いた推論を意味する。1つのレコードDiは複数の属性{Aj}から構成される。プライバシーの観点から、各属性のプライバシーバジェットをε、属性の総数をmとすると、1レコードのプライバシーバジェットはmεとなり、属性数が多いほど、プライバシーが浪費される。PM(非特許文献11参照)では、使用する属性数Kはプライバシーバジェットに従って決定される。データ所有者は、全属性mからK属性(K個の属性)をランダムに選択し、LDPでノイズを付加し、残りのm-Kの属性を0に設定し、すべてのm個の属性を集約者Aggに送信する。このような従来の方法は、平均のような目的には有効であるが、機械学習では、0に意味があるため、精度をうまく制御することが難しい。また、各データ所有者がランダムにデータを扱うため、機械学習で必要な学習と評価の両フェーズを制御することも難しい。
【0085】
以上のことから、本開示では、プライバシーを保護した機械学習フレームワーク(つまり、機械学習システム5)を提案する。提案する機械学習フレームワークは、次元削減、学習、テストフェーズの3フェーズからなる機械学習フレームワークになる。なお、3つのフェーズのうち、次元削減は機械学習モデル構築サーバ30aの学習部33aにより実行され、学習は機械学習モデル構築サーバ30aによって実行され、テストフェーズは機械学習モデル運用サーバ30bによって実行される。なお、次元削減については、機械学習モデル構築サーバ30aの学習部33aによって実行されるだけでなく、機械学習モデル運用サーバ30bの運用部33bで実行されてもよい。
【0086】
3.2 プライバシーメカニズム(匿名化装置10及び10aの特徴)
本節では、匿名化装置10及び10aが備える機能として、任意のデータに対して統一的なプライバシーメカニズムWALDPを提案する。WALDPは、3つの変換関数から構成される。第一ステップ(つまり、第1変換部12aによる変換)は、離散データから順序付き離散データへの変換DTO(discrete-to-ordered-discrete data)(以下、離散データから順序付き離散データへの変換を単に「DTO」とも呼ぶ)である。第二ステップ(つまり、第2変換部12bによる変換)は、弱匿名化データWAへの変換であり、第三ステップ(つまり、第3変換部12cによる変換)では、弱匿名化データWAに対して、LDPノイズを付加する。3ステップの変換手法により、連続データ、離散データのいずれも一律にプライバシーメカニズムを実行できる。特に、データ所有者自身が全ての変換を実行できることが特徴である。
【0087】
各ステップを詳細に説明する。まず、離散データから順序付き離散データへの変換DTO(つまり、第1変換部12aによる変換)を説明する。ここで、A
jを離散値属性とする。離散的属性は連続的属性と異なり大小比較が困難な場合がある。例えば、北、東、南、西のデータからなる方向を考えると、それぞれの方向の順序は単純に比較できない。そこで、離散データを比較するために、離散データにラベルi=1、2、・・・を形式的に付与し、付与した離散データをAj[1]、Aj[2]、・・と表し、各Aj[i]をAjのクラスと呼ぶ。よって、クラス数は、上記ラベルの数と同一である。このラベルにより、離散データも順序付き離散データと見なせる。この結果、離散データも最小値又は最大値を定義でき、最小、最大離散データを、それぞれmin(A
j)、max(A
j)で表す。この結果、離散データも連続値データと同様、Range
j=max(A
j)-min(A
j)と範囲を定義できる。なお、離散値属性A
jのクラス数は、min(A
j)>0のときRange
j+1に等しくなる。すなわち、連続値属性におけるmin(A
j)、max(A
j)、Range
jは離散値属性でも使用可能となる。方向の例では、A
j[1]=北、A
j[2]=東、A
j[3]=南、A
j[4]=西とし、min(A
j)=1、max(A
j)=4、A
j[4]=、Rangej=3となる。つまり、
図6に示すアルゴリズム3(DTO)に属性の{西}と全属性{北、東、南、西}を入力すると、(2、{1、2、3、4})を出力する。ここで、DTOは最初に決定し、データ所有者に通知する。
【0088】
順序付き離散データの概念とその変換関数DTOを用いることで、その後のデータから弱匿名化データWAへの変換(以下、弱匿名化データWAへの変換を単に「WAT」とも呼ぶ)は、
図7に示されるように定義される。
【0089】
本開示で提案する機械学習フレームワークでは、匿名化装置10及び10aにおいて、連続データも離散データも、L個の順序付き離散値の弱匿名化データWAに変換したうえで、LDPを適用する。つまり、本プライバシーメカニズムは連続データと離散データの両方を、WAを通じて統一的に扱うことができる。本プライバシーメカニズムは、WALDPと呼び、あらゆるデータ型に対してスケーラブルな統一的プライバシーメカニズムである。なお、適用するLDPの具体的なメカニズムは、特定のものに限定されない。
【0090】
従来の連続データに対するフレームワークでは、プライバシーバジェットεのみで有用性とプライバシーを制御する(非特許文献11参照)。注意したいのは、機械学習の有用性とプライバシーはトレードオフの関係にあるため、制御が難しい。一方、本開示のメカニズムでは、プライバシーバジェットεと提案したプライバシーメカニズムで用いる弱匿名化データ変換(WAT)(アルゴリズム4)で変換されるWAのパラメータLの2つのパラメータを用いることで、機械学習の有用性とプライバシーとをよりスムーズに制御することができる。
図8に示されるアルゴリズム5は、匿名化装置10及び10aが備える機能であり、本開示で提案するLDPメカニズム(WALDP)を表す。アルゴリズム5では、第1変換部12aによって、生データxを、離散データを順序付き離散値に変換するDTO(アルゴリズム3)と、第2変換部12bによって、離散データと連続データを弱匿名化データに変換するWAT(アルゴリズム4)と、第3変換部12cによるRR(アルゴリズム2)を利用して、WALDP(x)に変換する。
【0091】
3.3プライバシーを保護した機械学習フレームワーク
ここでは、3.2章で提案したLDPメカニズム(WALDP)(つまり、匿名化装置10及び10aの特徴)を用いることにより、スケーラブルなプライバシーを保護した機械学習フレームワーク(Scalable Unified Privacy-preserving Machine Learning Framework;以下、単に「SUP.ML」とも呼ぶ)(つまり、機械学習システム5)を提案する。SUP.MLは、大きく分けて3つのフェーズ、次元削減フェーズ、学習フェーズ、テストフェーズで構成される。次元削減のフェーズは、原則、機械学習モデル構築サーバ30aに実装され、属性数が多いとプライバシーバジェットを浪費することを回避することが目的である。一方、機械学習に有用な各属性の優先順位が分かっているユースケースもあるだろう。この場合、次元削減フェーズを行わずに、選択した属性に対して学習とテストを行ってもよい。本開示では、機械学習モデル構築サーバ30aにおいて決定した属性数までランダムに属性を削減した学習モデルの構築についても実験を行う。ランダムに属性を削減する手法を「DR.Rand」と呼ぶ。ここでは、DR.Randの他の方法として、データのプライバシーを保護しながら属性を選択する方法を提案する。その方法は、提案したWAを適用する方法であり、「DR.WA」と呼ばれる。
【0092】
DR.WAは、
図9Aのアルゴリズム6に示される通りである。なお、DR.WAではデータを弱匿名化データに変換してから、データにノイズを付加せずに、データを秘匿する。本実施例の2章と4章で記載しているように、本開示では、2値分類のSVMに適用するため、DR.WAでは二値分類を前提として記載する。よって、TA={-1、1}とする。
【0093】
なお、
図9Aに示されるアルゴリズム6では、
図9Aのステップ1~3に示されるように、K個の属性を対象としているが、このような個数に限られず、全属性を利用してもよい。
【0094】
図9Bは、
図9Aに示されるアルゴリズム6を、全属性を利用するように変形した変形アルゴリズム6を説明する図である。ここでは、データレコードが属性である年齢、性別、身長、体重、年収と、目的変数である癌とから構成される例において、複数のユーザ端末20a及び20bと機械学習モデル構築サーバ30a(あるいは、学習部33a)とのやりとり(
図9Bの(a))、ユーザ端末20と機械学習モデル運用サーバ30b(あるいは、運用部33b)とのやりとり(
図9Bの(b))が示されている。
【0095】
図9Bの(a)に示されるように、次元削減フェーズでは、以下の処理が行われる。
(0)次元削減を実施するサーバ、学習を実施するサーバで利用する暗号関数を、それぞれ、E2、E1とする。
(1)ユーザ端末20aにおいて、全ての属性に対して、属性データをWAで弱匿名化する。
(2)続いて、ユーザ端末20a及び20bにおいて、属性毎に目的変数との積E2(E1(T
ai*A
ij))を算出して機械学習モデル構築サーバ30aに送付する。
(3)機械学習モデル構築サーバ30aでは、学習部33aは、次元削減フェーズとして、受け取った各ユーザ端末のデータ20a及び20bを属性ごとに加算し、E2E1(ΣT
ai*A
ij)を求め、次に自分の暗号E2のみを復号し、得られたE1(ΣT
ai*A
ij)を、続いて次元削減フェーズを実行する学習部33a(
図9Bでは、学習フェーズを実行する学習部33a)に、送付する。
(4)E1(ΣT
ai*A
ij)を受け取った次元削減フェーズを実行する学習部33a(
図9Bでは、学習フェーズを実行する学習部33a)は、E1(ΣT
ai*A
ij)から関係性の高い属性を、機械学習に用いる属性として、決定する。
【0096】
なお、その後、機械学習モデル構築サーバ30aでは、学習フェーズを実行する学習部33aは、学習フェーズとして、ユーザ端末20a及び20bから匿名化されたK個の属性データを受け取り、匿名化されたK個の属性データを対象として機械学習モデル32aの機械学習を行う。
【0097】
このようにして機械学習に用いる属性を決定する変形アルゴリズム6の利点は、次元削減フェーズでプライバシーを消費しない点である。
【0098】
図9Bの(b)に示されるように、評価フェーズでは、決定したK個の属性を、プライバシーを保護して評価することができる。
【0099】
このような変形アルゴリズム6については、全属性を利用する方法から、
図9Aに示されるアルゴリズム6のように、一部の属性を利用する方法に変更することが可能である。
【0100】
なお、
図9Bに示される例では、暗号関数E1のみを利用してもよい。この場合には、通信データが暗号化される。また、暗号関数E1を利用しない場合、弱匿名化でのデータ処理となる。また、暗号関数E1はエルガマル暗号などの可換かつ演算を保つ暗号を利用してもよい。さらに、目的変数が[-1、1]で、分布が[-1、1]に正規化されている場合、計算は、以下の式5に示すように、相関係数rと一致する。また、目的変数が[-1、1]で、分布が[-1、1]に範囲縮小させた場合、実際の計算は相関係数の計算の近似となる。
【0101】
【0102】
ここで、n、mは、それぞれ、データ数、属性数であり、標準化(平均0、分散1)された属性j∈[1、m-1]のデータAj={y1j、・・・、ynj}、ラベルTA={TA1、・・・、TAn}の相関係数rは、上記式5となる。SAj、STAは、それぞれ、属性jとラベル={-1、1}の標準偏差である。
【0103】
次に、学習フェーズとテストフェーズについて説明する。機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bによる次元削減フェーズでは、学習とテストに用いる属性を決定した。機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bによる学習フェーズとテストフェーズでは、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bで決定した属性を用いることで、プライバシーを保護した学習(以下、この学習を「PPTraining」とも呼ぶ)、プライバシーを保護したテスト(以下、このテストを「PPTesting」とも呼ぶ)を行う。なお、PPTrainingとPPTestingでは、データ所有者は、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bで決定した属性の生データxを匿名化装置10及び10aによってWA又はWALDPに変換し、変換したデータを集約者Agg(つまり、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30b)に送る。集約者Aggは、データ所有者から送られたデータを用いて、学習とモデルの構築を行う。つまり、PPTrainingとPPTestingで利用するデータタイプとしては、4つの組み合わせがある。(PPTraining、PPTesting)=(WA、WA)、(WA、WALDP)、(WALDP、WALDP)、(WALDP、WA)また、これらの組み合わせにさらに、2種類の次元削減アルゴリズムDR.Rand、DR.WA、DR.WALDP(WALDP変換したデータを用いた次元削減)を組み合わせる。
【0104】
また、本開示に係るSUP.MLとPMを比較するために、生データをPMで変換した場合、すなわち、(training、testing)=(PM、PM)についても実験を実施した。PPTrainingとPPTestingを、それぞれ、
図10に示されるアルゴリズム7、
図11に示されるアルゴリズム8として、示す。
【0105】
4章. 実験結果
4.1 実験
本開示ではUCI Machine Learning RepositoryよりBreastCancer Wisconsin(Diagnostic) dataset(WDBC)(非特許文献16参照)とIonosphere dataset(非特許文献17参照)の二つを取得し、本開示に係るメカニズムを評価した。これらのデータセットは特にSVMに適した二値分類問題のため用いた。しかしながら、本開示で提案するメカニズムはどのような機械学習データセットに対しても適用可能であり二値分類問題に限定されるものではない。ここでは評価のため二値分類問題とSVMを選択した。本メカニズムの性能を評価するために、以下の3種類のデータ((1)~(3))を用いてSVMモデル(つまり、機械学習モデル構築サーバ30aが備える機械学習モデル32a)を学習させ、その精度を比較した。
【0106】
(1)SUP.MLデータ:本開示で提案するメカニズムを適用し、属性数の削減とデータの匿名化を行うSUP.MLデータに対し、K=[2、10]、L=[2、5]の全ての可能な組み合わせについて実験を行った。ここでは良好な結果が得られた2、3の組合せについて報告する。なお、K、Lは、「3.1プライバシー保護の基本概念」で説明した通り、それぞれ、m属性(m個の属性)から利用する属性数(利用次元数)、各属性データの弱匿名化時の分類数である。
【0107】
(2)Rawデータ:データに対し何のノイズも加えていないデータである。一般にプライバシー保護を適用すると学習の精度は低下するため、このデータは達成できる最大の精度を示している。
【0108】
(3)PMデータ:データに加えるノイズとしてPW(Piecewise)メカニズムを用いる。この結果は本開示のメカニズムと比較するためのベースラインとして用いる。
【0109】
(4)Mixedデータ:PPTrainingとPPTestingでは、WAとWALDPの両データを使用した場合、4つの組み合わせがある。そこで、これらの組合せをテストし、性能を確認する。正規化されたデータについて10分割の交差検定を行いモデルの精度を評価した。なお交差検定前にデータセットをランダムにシャッフルしている。シャッフル、次元削減ノイズ付加のランダムシードを固定することで3種類のデータに対し同じ学習、テストの処理を行えるようにした。実験は、Intel XeonGold 5120 CPUと48GB RAMを搭載したUbuntu 20.04マシンで行った。Python3.8と機械学習ライブラリscikit-learn(非特許文献12参照)を使用してSVMモデルを構築した。
【0110】
4.2 WDBCデータセット
WDBCデータセットは乳がんの検診データセットである。乳がん腫瘍の画像データから抽出された30の説明変数により、良性・悪性を判断する。なお、要素数は569である。WDBCデータセットではSVMの正規化パラメータはC=2.1を用いる。
【0111】
4.2.1 SUP.MLデータ
図12は、WDBCデータセットにおけるSUP.MLデータを用いて学習した機械学習モデル32aのテスト結果(精度)を示す図である。ここで、WDBCデータセットにおけるK、Lの変化(3つの曲線)による精度の推移が示されている。横軸は学習・評価フェーズを通じて用いたプライバシー指標(つまり、プライバシーバジェットε)、縦軸は正答率(%)を表す。DR.Randにより属性を削減し、WALDPデータにより学習・評価を行うものとする。
【0112】
図12では、(K、L)={(5、2)、(6、3)、(7、4)}における正答率の変化が示されている。なお、説明変数はDRrandにより決定したものとする。多くの属性・クラスを用いると、ノイズによる強い影響を受ける。そのためプライバシー指標の変化により、(K、L)=(6、3)では、(K、L)=(5、2)よりも、(K、L)=(7、4)では(K、L)=(6、3)よりも急激な正答率の変化が観測された。(K、L)=(5、2)では、大きな正答率の変化は観測されなかった。すなわち、厳しいプライバシー指標下においても、少ない属性数・クラスであれば高い正答率となる。一方大きなプライバシー指標下では多くの属性・クラスを用いた方が高い正答率となる傾向が見られ、実験ではプライバシーバジェットε>21.4において(K、L)=(7、4)が最も高い正答率となった。同様の傾向がDR.WAでも観測された。
【0113】
図13は、WDBCデータセットにおけるRawデータ(図中の「Original」)、PMデータ(図中の「PM」)、SUP.MLデータ(図中の「DR.WA」、「DR.Rand」)を用いて学習した機械学習モデル32aのテスト結果(精度)の比較を示す図である。横軸及び縦軸は、
図12と同様である。
【0114】
図13において、DR.WAでは(K、L)={(2、2)、(4、4)}、DR.Randでは(K、L)={(5、2)、(7、4)}における最大の正答率を表す。なお、学習・評価データはいずれもWALDPとする。DR.WAでは、DR.Randに比べ、高い正答率となった。今回の実験で最も厳しいプライバシーバジェットε=10においてもDR.WAでは正答率90.29%が確認された。
【0115】
4.2.2 Rawデータ
図13の曲線「Original」に示されるように、WDBCデータセットにノイズ付与や属性削減を行わず学習・評価を行った場合、正答率は98.04%であった。観測された98.04%をWDBCデータセットにおける最大の正答率とし、他の実験結果と比較を行う。
【0116】
4.2.3 PMデータ
図13の曲線「PM」に示されるように、プライバシーバジェットεが50よりも小さい場合、PMの最大の正答率は84.77%であった。すべてのプライバシー指標において、SUP.MLよりも大幅に低い結果となった。
【0117】
4.2.4 Mixedデータ
図14は、WDBCデータセットにおける(PPTraining、PPTesting)の組み合わせについての正答率の比較を示す図である。横軸及び縦軸は、
図12と同様である。なお、属性の削減は、DR.Randによる。
【0118】
図14に示されるように、(PPTraining、PPTesting)の組み合わせにおいて(WALDP、WALDP)、(WALDP、WA)、(WA、WALDP)、(WA、WA)では、それぞれ、(K、L)={(5、2)、(7、4)、(6、3)}、{(6、2)、(8、4)}、{(6、2)、(7、4)}、(7、2)における最大の正答率を表す。ただし、属性の決定は、DR.Randによる。
【0119】
図14から分かるように、学習データがWALDPの場合、WAを評価データに利用した時に、プライバシーバジェットεが小さい値に対しても90%を超える高い正答率を表す。実際、WALDPの学習とWAの学習では,評価データにWAを用いる時には正答率の差が3.57%(つまり、4%未満)と大きな性能劣化が確認されない。すなわち学習データに対してノイズを加えても正答率に大きな影響をもたらさないといえる。同様の傾向がDR.WAでも確認された。
【0120】
4.3 Ionosphereデータセット
IonosphereデータセットはGoose Bayシステムで収集されたレーダーのデータで構成されている。このデータセットは17個のパルスと複素数の値からなり、パルスが電離層に何らかの構造がある証拠を示しているかどうかを示すラベルが付けられている。17個のパルスは複素数値を持ち、2つの実数値に分割できるため、このデータセットは34個の連続した属性を持つことになる。しかしこのデータセットを検査した結果、属性の1つが常に0という値を持っていることがわかった。属性は0か1のどちらかの値を持っている。したがって、このデータセットには32の連続値属性と1つの離散値属性があると考える、電離層データセットの実験では、SVMのパラメータとしてC=3.9を用いた。
【0121】
4.3.1 SUP.MLデータ
SUP.MLの適用方法として、学習とテストに使用する属性数を削減する。その際、削減時の変数(K、L)の値を決める必要があり、最適な値を決定するために実験を行う。(K、L)を設定した後、次元削減の2つの方法、DR.WA、DR.Randを比較する。
【0122】
図15は、IonosphereデータセットにおけるSUP.MLデータを用いて学習した機械学習モデル32aのテスト結果(精度)を示す図である。ここでは、IonosphereデータセットにおけるK、Lの変化(3つの曲線)による精度の推移が示されている。横軸及び縦軸は、
図12と同様である。学習とテストにはWALDPデータを用い、次元削減にはDR.Randデータを用いた。
【0123】
図15では、(K、L)の値をそれぞれ[2、10]、[2、5]の範囲で探索しその最適値を求めた。その結果、プライバシーバジェットεが大きい場合KとLの値を大きくすると精度が向上することがわかった。一方プライバシーバジェットεが厳しい場合はKとLの値を小さくすることで精度が向上することがわかった。
図15は、このことを表している。ここではDR.Randを用い(K、L)=(2、3)、(4、4)、(6、5)の3つの構成でモデルを学習させた。その結果プライバシーバジェットεが36より大きい場合(K、L)=(6、5)が最も良い結果を与えることがわかった。またプライバシーバジェットεが13よりも小さい場合(K、L)=(2、3)がより高い精度を維持することができることが確認できた。プライバシーバジェットεの値の中間の範囲では、代わりに(K、L)=(4、4)が最も精度が向上する。さらに、次元削減の方法をDR.WAに変更しても、同じ状況が現れることを発見した。提案メカニズムで高い精度を実現するためにプライバシーバジェットεに応じて(K、L)を決定した。なお、
図16では、最適の(K,L)を採用して得られた結果が示されている。
【0124】
図16は、IonosphereデータセットにおけるRawデータ(図中の「Original」)、PMデータ(図中の「PM」)、SUP.MLデータ(図中の「DR.WA」、「DR.Rand」)を用いて学習した機械学習モデル32aのテスト結果(精度)の比較を示す図である。横軸及び縦軸は、
図12と同様である。
【0125】
図16が示すように、DR.WAでは(K、L)∈{(2、2)、(4、2)}が、そしてDR.Randでは(K、L)∈{(2、3)、(4、4)、(6、5)}が高い精度であることが確認できた。またDR.RandとDR.WAの性能を比較するとDR.WAはプライバシーバジェットε<25のときかなり高い精度が得られるがDR.Randはプライバシーバジェットε>47のとき若干高い精度が得られる。したがって最も高い精度を得るためには、次元削減を行うDR.WAを使用することが好ましい。
【0126】
4.3.2 Rawデータ
図16の曲線「Original」に示されるように、Ionosphereデータセットを直接使用してSVMモデルを学習させた場合95.71%の精度を達成することができる。したがってIonosphereデータセットで達成できる最大精度は95.71%となる。この結果から本開示で提案するメカニズムは、プライバシーバジェットε=50のときに、わずか4.17%しか精度を劣化させないことがわかる。また、プライバシーバジェットε=15のときに、わずか約7%、ε=10のときでも、わずか約10%しか精度を劣化させないことがわかる。
【0127】
4.3.3 PMデータ
図16の曲線「PM」に示されるように、PMデータはプライバシーバジェットε=50を用いても65%の精度しか得られず生データで得られる精度に比べてはるかに低い。この結果はPMノイズを直接データセットに適用する、学習済みモデルの精度が著しく低下することを示唆している。そこで高い精度を維持しつつデータにプライバシーを与えることができる新たなメカニズムが必要であり本開示で提案しているメカニズムはこの要求を満たすものである。
【0128】
4.3.4 Mixedデータ
図17は、Ionosphereデータセットにおける(PPTraining、PPTesting)の組み合わせについての正答率の比較を示す図である。横軸及び縦軸は、
図12と同様である。なお、属性の削減は、DR.WAによる。ここでは、4種類の(PPTraining、PPTesting)の組み合わせの比較が示されている。なお、本図では、(WALDP、WALDP)と(WA、WALDP)とがほぼ同じ結果を示したので、曲線が重なっている。
【0129】
図17から分かるように、(PPTraining、PPTesting)の組み合わせとして、(WA、WA)が常に最高の精度を示した。また、(WA、WA)は、(WALDP、WALDP)と(WA、WALDP)より精度が高いことがわかった。プライバシーバジェットε<20の場合(WALDP、WA)は(WALDP、WALDP)や(WA、WALDP)よりも良い精度を示す。またWAは弱い匿名化であるため学習モデルをダウンロードし、本発明者が所有する環境でテストできる場合はテストデータにWAを使用することができる。なお今回はDR.WAを用いた次元削減の結果のみを示したが、他の次元削減手法でもテストしており同様の結果であった。
【0130】
5章.考察
プライバシー強化型の機械学習モデルを構築する場合、LDPメカニズムのようなプライバシー保護技術をデータに直接適用する方法と、学習モデルの構築途中でプライバシー保護技術を適用する方法などが考えられる。前者にPMを用いると非効率であることが実験的に判明した。PMなどのLDPメカニズムは主に統計解析を目的としており、データ固有の特性が失われることが原因として考えられる。後者については多くの技術が報告されているが、それぞれ特定のユースケースに特化したものであり、汎用性に欠く。ここでは、匿名化装置10及び10aとそれを利用する機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bを設けることで、過剰な情報を削減するために弱匿名化を行い、高精度な機械学習モデルを構築するフレームワーク(つまり、機械学習システム5)を提案した。本開示では、上記実験を通じて以下の知見を得た。
【0131】
5.1 KとLの選択
SUP.MLデータの次元削減を行う際、プライバシーバジェットが十分に大きい場合、より多くの属性を使用する方が効果的であることが分かった。これはノイズが一定以下である場合、一方で属性を増加することでモデルの精度向上が見込めるからである。またプライバシーバジェットが小さい場合、属性数が多いと各属性値に対するノイズが大きくなり、モデルの精度が著しく劣化する。そのため、利用する属性数を削減することで、各属性値に対して低スケールのノイズに抑えることができ、より高い精度を達成することができる。なお、クラス数もモデルの精度とノイズのスケールに関係性があるため同様のことが言える。最適なK及びLの決定方法を確立し、提案フレームワークを利用することで、要求されるプライバシーレベルに応じた最適なモデルの構築が可能となる。
【0132】
5.2次元削減手法の比較
次元削減手法を比較した結果より、DR.RandとDR.WAを比較すると、常にDR.WAが高い精度を持つことがわかる。しかしDR.WAは機密データに対して弱いプライバシー保護しか提供しない。WAの代わりに、WALDPを用いることで、プライバシーを強化した次元削減が可能となる。
【0133】
6章.まとめ
本開示では、匿名化装置10及び10aによって、データ型によらず統一的にデータを扱うためのプライバシーメカニズムWALDPを提案した。WALDPはプライバシーバジェット以外にデータの属性数とクラス数を扱うことでプライバシーと有用性を制御することが可能である。また本開示では、機械学習モデル構築サーバ30a及び機械学習モデル運用サーバ30bによる次元削減、学習及びテストの各フェーズで使用するデータ全体を制御可能なプライバシー強化型機械学習フレームワークSUP.ML(つまり、機械学習システム5)を提案した。これはTTPなどの信頼された機関の存在が不要な、次元削減、学習、テストを可能とする初めてのプライバシー強化型機械学習フレームワークである。
【0134】
(実施例2)
次に、実施の形態に係る匿名化装置10及び10aが備える第3変換部12cによるノイズ付加の具体例を説明する。ここでは、上記実施の形態で採用している局所差分プライバシーにおいて、データレコードを構成するm個の属性データにノイズを付与する際の具体的な処理例を説明する。
【0135】
(1)通常の処理
通常、m個の属性データから構成されるデータレコードに対して、プライバシーバジェットεが与えられた場合に、各属性データに対して、一様にノイズを付与する。例えば、3属性M1、M2、M3に対して、プライバシーバジェットεを均等に利用する場合、それぞれの属性に対するプライバシーレベルはε/3となる。
【0136】
しかしながら、このようなノイズの付与では、一つの属性データに対して必要なプライバシーバジェットはε/mとなり、属性数mが大きくなると、付与されるプライバシーバジェットは小さくなり、より大きいノイズが付与される。その結果、データレコードを利用する機械学習の性能が劣化するという問題が生じる。
【0137】
(2)実施例2の処理1
そこで、本実施例の処理1では、第3変換部12cは、すべての属性にノイズを同じプライバシーレベルで付与するのではなく、機械学習アルゴリズムの寄与度に応じて、ノイズを付与する。つまり、第3変換部12cは、各属性データの機械学習アルゴリズムへの寄与度が大きいほど、配分するプライバシーバジェットを大きくし、それによって、より小さいノイズを付与する。
【0138】
具体例1として、いま、3属性M1、M2、M3の機械学習への寄与度がM1>M2>M3とする。このとき、第3変換部12cは、それぞれに付与するプライバシーバジェットをε1、ε2、ε3とするとき、ε1>ε2>ε3、かつ、その総和ε1+ε2+ε3=εを満たすように、プライバシーバジェットを配分する。例えば、プライバシーバジェットとして、ε1=ε/2、ε2=ε/3、ε3=ε/6で付与する。
【0139】
その結果、第3変換部12cが上記実施の形態におけるアルゴリズム1(
図4)又はアルゴリズム2(
図5)等を用いてプライバシーバジェットに依存するノイズを決定することで、3属性M1、M2、M3のそれぞれに付与するノイズN1、N2、N3の大きさは、N1<N2<N3となり、プライバシーレベルを保ちながら、機械学習の性能を上げることが可能となる。
【0140】
また、具体例2として、いま、n個の属性M1、M2、・・・、Mn-1、Mnの機械学習への寄与度がMn>Mn-1>・・・>M2>M1とする。このとき、第3変換部12cは、それぞれの属性Miに付与するプライバシーバジェットεiをεi=i/T(ただし、T=(n+1)n/2)とする。
【0141】
その結果、第3変換部12cが上記実施の形態におけるアルゴリズム1(
図4)又はアルゴリズム2(
図5)等を用いてプライバシーバジェットに依存するノイズを決定することで、n個の属性M1、M2、・・・、Mn-1、Mnのそれぞれに付与するノイズN1、N2、・・・、Nn-1、Nnの大きさは、N1<N2<・・・<Nn-1<Nnとなり、プライバシーレベルを保ちながら、機械学習の性能を上げることが可能となる。
【0142】
(3)実施例2の処理2
ここで、第3変換部12cは、上述した機械学習の性能劣化を抑制する観点からの処理1に代えて、個人特定などプライバシーの漏洩の危険度を抑制する観点から、各属性へのプライバシーバジェットの配分、つまり、ノイズの付与を決定する処理2を行ってもよい。つまり、この実施例2の処理2では、第3変換部12cは、各属性の個人特定やプライバシー漏洩(例えば、吃音など)の危険度が高いほど、小さなプライバシーバジェットの配分することで、大きいノイズを付与する。
【0143】
具体例として、いま、一つのデータレコードは二つ以上の目的(例えば、個人特定と病床特定など)に利用可能とする。このような場合に、病床特定では、個人を特定する危険度の高い属性については、プライバシーバジェットの配分を小さくすることで、ノイズを大きくするなど、別用途での利用における安全性を強化することが可能となる。
【0144】
例えば、3属性M1、M2、M3の個人特定への危険度がM3>M2>M1とする。このとき、第3変換部12cは、それぞれの属性の個人特定への危険度に応じて、プライバシーバジェットを、ε3=ε/6、ε2=ε/3、ε1=ε/2で付与する。
【0145】
その結果、第3変換部12cが上記実施の形態におけるアルゴリズム1(
図4)又はアルゴリズム2(
図5)等を用いてプライバシーバジェットに依存するノイズを決定することで、3属性M1、M2、M3のそれぞれに付与するノイズN1、N2、N3の大きさは、N1<N2<N3となり、プライバシーレベルを保ちながら、個人特定への危険度を考慮した機械学習が可能となる。
【0146】
(4)図を用いた説明
図18Aは、実施例2に係る匿名化装置10及び10aの動作例を説明する図である。ここでは、
図9A及び
図9Bに示される次元削減を含めたプライバシーバジェットεの各属性データへの割り当て例が示されている。
【0147】
本図に示されるように、30属性からなるデータレコードを6属性からなるデータレコードに次元削減することで、一つのデータレコードに付与するプライバシーバジェットεは、30εから6εに削減できる。本実施例2では、次元削減後に、6ε=ε1+ε2+ε3+ε4+ε5+ε6を満たし、かつ、各属性の有効性(機械学習アルゴリズムへの寄与度、個人特定などプライバシーの漏洩の危険度)を考慮し、有効性の高い属性ほど、大きいプライバシーバジェットεを割り当てることで(ε1>ε2>ε3>ε4>ε5>ε6)、プライバシーレベルを保ちながら、属性の有効性を維持することが可能となる。
【0148】
図18Bは、実施例2に係る匿名化装置10及び10aの動作例の続きを説明する図である。より詳しくは、
図18Bの(a)は、上記「実施例2の処理1」に相当する事例を示し、
図18Bの(b)は、上記「実施例2の処理2」に相当する事例を示す。
【0149】
図18Bの(a)に示される例では、6属性(M1:Diagnosis、M2:radius、・・)の機械学習への寄与度がM1>M2>・・であるので、各属性に配分されるプライバシーバジェットは、ε1>ε2>・・と決定され、その結果、各属性に付与されるノイズは、N1<N2<・・となり、乳がんをチェックする機械学習モデルを構築する学習フェーズでは、プライバシーレベルを保ちながら、機械学習の性能を上げることが可能となる。
【0150】
一方、
図18Bの(b)に示される例では、6属性(M1:Blood type、M2:compactness、・・)の個人特定への危険度がM1<M2<・・であるので、各属性に配分されるプライバシーバジェットは、ε1>ε2>・・と決定され、その結果、各属性に付与されるノイズは、N1<N2<・・となり、希少疾患である吃音をチェックする機械学習モデルを構築する学習フェーズでは、プライバシーレベルを保ちながら、個人特定への危険度を考慮した機械学習が可能となる。
【0151】
このように、実施例2によれば、利用する目的に応じて、プライバシー保護の方式をデザインするプライバシーデザインが可能になる。つまり、上記実施例2の処理1によれば、利用する機械学習に合わせて、データのプライバシー保護を設定することで、プライバシーを保ちながら、より性能の高い機械学習を構築できる。また、1つのデータが複数の利用か可能となる場合、特に、個人特定に関するデータにも利用できる場合には、データの一人歩きを防ぐことが重要となるが、上記実施例2の処理2によれば、個人特定以外の目的で利用する機関には、個人特定の利用用途に対する性能を劣化させることで、データの一人歩きを抑制できる。
【0152】
(5)オッズ比を利用した事例
図19Aは、オッズ比を利用してプライバシーバジェットの配分率を決定する実施例2の第1事例に係る手順を示す図である。この第1事例は、サーバ装置が信頼できる装置であることを必要とせずに、プライバシーを保護しながらサーバ装置が用いる機械学習モデルの性能を向上させる事例である。
【0153】
定義として、属性数:m、属性データ:D1,・・・,Dm-1、ターゲット属性データ:Tとする。さらに、プライバシーバジェット:ε、選択する属性数:K、各ユーザiが持つデータ:[Di,1、Di,2、・・・、Di,n、Ti]と定義する(「定義」の行参照)。
【0154】
まず、各ユーザiは、属性データからランダムにK個を選択し、選択したK個の属性とターゲット属性にLDP-ノイズをつけた下記のデータをセンター(プライバシーバジェットの配分率を決定するサーバ装置、あるいは、第3変換部12cに相当する装置)に送付する(ステップ1)。
【0155】
[LDP[Di,i1]、・・・、LDP[Di,iK]、LDP[Ti]]
【0156】
以下、センターにて、以下のステップ2~5を行うことで、各属性に配分するプライバシーバジェットを算出する。
【0157】
まず、センターは、各ユーザから送付された欠如したデータを用いて、各属性Djのターゲット属性データTに対するオッヅ比ORjを求める(ステップ2)。
【0158】
次に、オッヅ比ORjからそれぞれのウェイトwjを計算し、{|wj|}を大きいオッズ比から順にソートし、下記のように、K個の属性を寄与の高い属性とする(ステップ3)。
【0159】
Dj1,・・・,Djk
【0160】
次に、w=Σ|wi|として、wを算出する(ステップ4)。
【0161】
最後に、m-1属性データからK個の最も貢献度の高い属性Dj1~Djkの寄与度を考慮したプライバシーバジェットejを、ej=Kwjε/wとして、ターゲット属性のプライバシーバジェットeTを、eT=ε/(K+1)として、算出する(ステップ5)。
【0162】
図19Bは、
図19Aに示される手順の具体例(属性が2値の場合)を示す図である。ここでは、選択する属性数:3、ユーザ数:7、属性が2値(「1」又は「-1」)の場合の具体例が示されている(「定義」の行参照)。
【0163】
ステップ1では、
図19Bのステップ1に示されるように、ユーザごとに3個の属性が選択されている。
【0164】
ステップ2では、
図19Bのステップ2の(a)に示されるように、まず、属性ごとに、属性Diとターゲット属性Tとが対応づけられる。次に、ステップ2の(b)に示されるように、属性Diとターゲット属性Tとの値の組み合わせに対応する出現頻度が算出される。さらに、ステップ2の(c)に示される式に従って、属性Diごとのオッズ比ORi(OR1~OR4)が算出される。
【0165】
ステップ3では、
図19Bのステップ3に示されるように、wi=ln(ORi)より、ウェイトwi(w1~w4)が算出される。その結果、絶対値として、w2>w1>w3=w4となるので、貢献度については、D2>D1>D3=D4となる。
【0166】
ステップ4では、
図19Bのステップ4に示されるように、w=Σ|wi|が算出される。
【0167】
ステップ5では、
図19Bのステップ5に示されるように、w、プライバシーバジェットが算出される。
【0168】
w=1.1+1.39+0.69+0.69=3.87
e2=3/4/3.87*1.39ε=0.269ε
e1=3/4/3.87*1.1ε=0.212ε
e4=3/4/3.87*0.69ε=0.133ε
eT=ε/4=0.25ε
【0169】
このようにして、オッズ比を利用することで、ターゲット属性への貢献度の高い属性に対して大きな比率でプライバシーバジェットを配分することで、プライバシーを保護しながら学習モデルの性能を向上させることができる。
【0170】
(6)ロジスティック回帰を利用した事例
図20Aは、ロジスティック回帰を利用してプライバシーバジェットの配分率を決定する実施例2の第3事例に係る手順及び具体例を示す図である。ここで、手順の基本的な流れは、
図19Aに示される第1事例のステップ1~5と同様であるが、オッズ比を用いる処理がロジスティック回帰を用いる処理に置き換えられている。また、具体例では、選択する属性数:3、ユーザ数:5、属性が多値(1、2、・・)の場合の具体例が示されている(「定義」の行参照)。
【0171】
まず、各ユーザiは、属性データからランダムにK個を選択し、選択したK個の属性とターゲット属性にLDP-ノイズをつけてセンター(プライバシーバジェットの配分率を決定するサーバ装置、あるいは、第3変換部12cに相当する装置)に送付する(ステップ1)。具体例では、ユーザごとに3個の属性が選択されている。
【0172】
以下、センターにて、以下のステップ2~5を行うことで、各属性に配分するプライバシーバジェットを算出する。
【0173】
まず、センターは、各ユーザから送付された欠如したデータを用いて、各属性Djのターゲット属性データTに対するウェイト(w1~w4)を求める(ステップ2)。具体例では、
図20Aのステップ2の(a)に示されるように、まず、属性ごとに、属性Diとターゲット属性Tとが対応づけられる。次に、ステップ2の(b)に示されるように、属性ごとに、
図20Bに示されるGradient Descentを利用して、T=w0+wiDが算出される。さらに、ステップ2の(c)に示されるように、
図20Bに示されるロジスティック回帰(ただし、α=0.01、num_iteration=1000)を利用した繰り返し計算によって、ステップ2の(d)に示されるように、各属性に対するウェイトw1~w4が算出される。
図20Bは、アルゴリズム9(ロジスティック回帰)を示す図である。
【0174】
次に、{|wj|}を大きいから順にソートし、下記のように、K個の属性を寄与の高い属性とする(ステップ3)。具体例では、w1の絶対値>w2の絶対値>w3の絶対値>w4の絶対値となるので、貢献度については、D1>D2>D3>D4となる。
【0175】
次に、w=Σ|wi|として、wを算出する(ステップ4)。具体例では、w=w1の絶対値+w2の絶対値+w3の絶対値=15.78が算出される。
【0176】
最後に、m-1属性データからK個の最も貢献度の高い属性Dj1~Djkの寄与度を考慮したプライバシーバジェットejを、ej=Kwjε/((K+1)w)として、ターゲット属性のプライバシーバジェットeTを、eT=ε/(K+1)として、算出する(ステップ5)。具体例では、e1=Kw1ε/((K+1)w)=0.6829ε、e2=Kw2ε/((K+1)w)=0.00392ε、e3=Kw3ε/((K+1)w)=0.0172ε、eT=ε/(K+1)=0.25εと算出される。
【0177】
このようにして、属性が多値の場合であっても、ロジスティック回帰を利用することで、ターゲット属性への貢献度の高い属性に対して大きな比率でプライバシーバジェットを配分することで、プライバシーを保護しながら学習モデルの性能を向上させることができる。
【0178】
図20Cは、ロジスティック回帰のアルゴリズムを示す図である。この第2事例も、サーバ装置が信頼できる装置であることを必要とせずに、プライバシーを保護しながらサーバ装置が用いる機械学習モデルの性能を向上させる事例である。
【0179】
定義として、属性数:n、属性データ:D1、・・・、Dn、ターゲット属性データ:T、プライバシーバジェット:ε、選択する属性数:K、繰り返し回数:T、学習率:αとする(「定義」の行参照)。
【0180】
いま、寄与度:Mn>Mn-1>・・・>M2>M1とする(ステップ1)。
【0181】
以下、センターにて、以下のステップ2~13を行うことで、各属性に配分するプライバシーバジェットを算出する。
【0182】
まず、センターは、ランダムにk個の属性データを入手する(ステップ2)。
【0183】
Dj1、・・・、Djk
【0184】
次に、以下の通り、WALDPを用いて、k個の属性とターゲット属性をランダム化する(ステップ3)。
【0185】
WALDP[D1、・・・、Djk、T] a [yj1、・・・、yjk、TA]
【0186】
次に、W={w1、・・・、wn]=[0、・・、0]と初期化し(ステップ4)、さらに、I=[{1}、・・・、{1}}と初期化する(ステップ5)。
【0187】
続いて、以下の処理を繰り返す(ステップ6~10)。
【0188】
For i=1 to T(ステップ6)。
【0189】
hn×1 s 1/(1+exp(-Xw))(ステップ7)。
【0190】
en×1 s h-TA(ステップ8)。
【0191】
g(n+1)×1 s X・en×1(ステップ9)。
【0192】
wsw-αg/n(ステップ10)。
【0193】
次に、W=[w1、・・・、wn]を、[D1、…、Dn]の貢献度とする(ステップ11)。
【0194】
次に、w=Σwiを算出する(ステップ12)。
【0195】
最後に、各属性データD1~Dnの寄与度を考慮したプライバシーバジェットejを、ej=Kwjε/wとして算出し、ターゲット属性のプライバシーバジェットeTを、eT=ε/(K+1)として算出する(ステップ13)。
【0196】
図21Aは、
図20Aに示されるロジスティック回帰を利用したプライバシーバジェットの配分を用いて学習した機械学習モデルのテスト結果(精度)を示す図である。ここには、選択する属性数Kを様々な値に設定した場合のそれぞれにおいて、WDBC(乳がん)データベースを用いて学習させた機械学習モデルの精度(スコア)が示されている。実線は、BPP.ML(Balanced privacy-preserving training 機械学習モデル;ロジスティック回帰を利用してプライバシーバジェットεを配分した実施例)を用いた場合の結果を示し、破線は、PP.ML(Privacy-preserving training 機械学習モデル;プライバシーバジェットεが均等配分)を用いた場合の結果を示している。
図21Aの(a)は、Train(学習時) ε(プライバシーバジェット)=5.0で、かつ、Test(テスト時) ε=5.0の場合の結果を示し、
図21Aの(b)は、Train ε=5.0で、かつ、Test ε=10000の場合の結果を示している。
【0197】
図21Bは、SVMを用いて学習した機械学習モデルのテスト結果(精度)を示す図である。
図21Aとの比較参考のための図である。
図21Aと同様に、選択する属性数Kを様々な値に設定した場合のそれぞれにおいて、WDBC(乳がん)データベースを用いて学習させた機械学習モデルの精度(スコア)が示されている。実線及び破線も、
図21Aと同様の意味である。
図21Bの(a)は、
図21Aの(a)と同一条件での結果を示し、
図21Aの(b)は、
図21Aの(b)と同一条件での結果を示している。
【0198】
図21A及び
図21Bを比較して分かるように、
図20Aに示されるロジスティック回帰を利用したプライバシーバジェットの配分を用いて学習した機械学習モデルの精度は、SVMを用いて学習した機械学習モデルの精度と同程度か、それ以上となっている。このことから、ロジスティック回帰を利用したプライバシーバジェットの配分を用いて機械学習モデルを学習することが高い有効性をもつといえる。
【0199】
(他の実施の形態)
以上の実施の形態及び実施例の記載により、下記の技術が開示される。
【0200】
(技術1)個人の属性データをプライバシーが保護されるデータに変換する匿名化を行う匿名化装置であって、前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換部と、前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換部で変換された前記属性データを弱匿名化する第2変換部と、前記第2変換部で弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換部とを備える、匿名化装置。
【0201】
これにより、属性データが離散データである場合には順序付き離散データに変換したうえで弱匿名化され、属性データが連続データである場合にはそのまま弱匿名化されるので、属性データが連続データであっても離散データであっても、弱匿名化され、統一してノイズの付与がされ、そのような統一的な扱いができなかった従来の局所差分プライバシーよりも有用性の高い解析が可能になる。さらに、機械学習モデルの学習及びテストに適用する場合には、属性データ自体を弱匿名化あるいはさらにノイズ付与したうえで機械学習用のサーバ装置に提供できるので、サーバ装置が信頼できる装置であることを必要としない。
【0202】
よって、個人の属性データをプライバシーが保護される状態で解析することを可能にする装置であって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする匿名化装置が実現される。
【0203】
(技術2)前記第1変換部は、前記属性データが離散データである場合に、前記属性データがとり得る全離散値を並べた列において前記属性データに対応するインデックスを、前記順序付き離散データとして、出力する、技術1記載の匿名化装置。
【0204】
これにより、あらゆるタイプの離散データを順序付き離散データに変換することが可能となり、連続データと離散データの統一的な取り扱いが実現される。
【0205】
(技術3)前記第2変換部は、前記属性データがとり得る最大値と最小値との差である範囲を用いた所定演算により、前記属性データを弱匿名化する、技術1又は2記載の匿名化装置。
【0206】
これにより、属性データが連続データであっても離散データであっても、共通の手法により、弱匿名化が行われる。
【0207】
(技術4)前記第3変換部は、弱匿名化された前記属性データに対して、局所差分プライバシーを適用することで、前記ノイズを付加する、技術1~3のいずれかに記載の匿名化装置。
【0208】
これにより、連続データか離散データかに依存することなく、属性データに対して、統一的にノイズを付加できる。
【0209】
(技術5)前記匿名化装置は、個人に関連するm個の属性データを含むデータレコードを対象として匿名化を行う装置であり、前記第3変換部は、前記ノイズの付加では、与えられたプライバシーバジェットを、前記データレコードが用いられる機械学習システムにおける機械学習アルゴリズムへの貢献度、又は、前記個人の特定あるいはプライバシー漏洩への危険度に依存する配分率で、前記m個の属性データのそれぞれに配分し、配分したプライバシーバジェットが小さい属性データほど大きなノイズを付加する、技術1~4のいずれかに記載の匿名化装置。これにより、利用する目的に応じて、プライバシー保護の方式をデザインするプライバシーデザインが可能になる。
【0210】
(技術6)前記第3変換部は、与えられた前記プライバシーバジェットを、前記データレコードが用いられる機械学習システムにおける機械学習アルゴリズムへの貢献度が大きいほど大きな配分率で、前記m個の属性データのそれぞれに配分する、技術5記載の匿名化装置。これにより、プライバシーレベルを保ちながら、機械学習の性能を上げることが可能となる。
【0211】
(技術7)
前記第3変換部は、与えられた前記プライバシーバジェットを、前記個人の特定あるいはプライバシー漏洩への危険度が大きいほど小さな配分率で、前記m個の属性データのそれぞれに配分する、技術5記載の匿名化装置。これにより、プライバシーレベルを保ちながら、個人特定への危険度を考慮した機械学習が可能となる。
【0212】
(技術8)さらに、m個の属性データを含むデータレコードから、ユーザの指示に従って、K(<m)個の属性データをランダムに選択する属性データ選択部を備え、前記第1変換部、前記第2変換部及び前記第3変換部は、前記属性データ選択部で選択された属性データを対象として変換を行い、前記匿名化装置は、前記第1変換部、前記第2変換部及び前記第3変換部によって変換されたK個の属性データを機械学習モデル構築サーバ又は機械学習モデル運用サーバに送信する、技術1記載の匿名化装置。
【0213】
これにより、次元削減後の属性データが匿名化装置によって匿名化されたうえで、機械学習モデル構築サーバ又は機械学習モデル運用サーバに提供される。
【0214】
(技術9)個人の属性データをプライバシーが保護されるデータに変換する装置による匿名化方法であって、前記属性データが離散データである場合に、前記離散データを順序付き離散データに変換する第1変換ステップと、前記属性データが連続データである場合には、前記属性データを弱匿名化し、前記属性データが離散データである場合には、前記第1変換ステップで変換された前記属性データを弱匿名化する第2変換ステップと、前記第2変換ステップで弱匿名化された前記属性データに対して、ノイズを付加する変換を行う第3変換ステップとを含む、匿名化方法。
【0215】
これにより、個人の属性データをプライバシーが保護される状態で解析することを可能にする方法であって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする匿名化方法が実現される。
【0216】
(技術10)ユーザ端末及び機械学習モデル構築サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルを構築する機械学習モデル構築方法であって、前記機械学習モデル構築サーバが前記ユーザ端末に属性数Kを通知するステップと、前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データのそれぞれを匿名化し、匿名化した前記K個の属性データ、又は、匿名化した前記K個の属性データから算出した前記K個の属性データそれぞれについての相関を示す関係性データを前記機械学習モデル構築サーバに送信するステップと、前記機械学習モデル構築サーバが、前記ユーザ端末から受け取った匿名化した前記K個の属性データから算出した関係性データ、又は、前記ユーザ端末から受け取った関係性データに基づいて、前記機械学習モデルの機械学習に用いるK個の属性を決定し、決定したK個の属性を前記ユーザ端末に通知する属性決定ステップと、前記ユーザ端末において、前記機械学習モデル構築サーバから通知されたK個の属性に対応するK個の属性データについて、技術1に記載の匿名化装置を用いた匿名化を行い、し、匿名化した前記K個の属性データを前記機械学習モデル構築サーバに送信するステップと、前記機械学習モデル構築サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルの機械学習を行う機械学習ステップとを含む、機械学習モデル構築方法。
【0217】
これにより、個人の属性データをプライバシーが保護される状態で機械学習をすることを可能にする方法であって、属性データを用いて機械学習するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする機械学習モデル構築方法が実現される。
【0218】
(技術11)ユーザ端末及び機械学習モデル運用サーバから構成される機械学習システムによって、m個の属性データを含むデータレコードを用いて機械学習モデルによる推論を行う機械学習推論方法であって、前記機械学習モデル運用サーバが前記ユーザ端末にK個の属性を通知する通知ステップと、前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データのそれぞれについて、技術1に記載の匿名化装置を用いた匿名化を行い、匿名化されたK個の属性データを、前記機械学習モデルによる推論のために、前記機械学習モデル運用サーバに送信するステップと、前記機械学習モデル運用サーバが、前記ユーザ端末から送信された匿名化された前記K個の属性データを用いて、前記機械学習モデルによる推論を行う推論ステップとを含む、機械学習推論方法。
【0219】
(技術12)さらに、前記通知ステップに先立ち、前記機械学習モデル運用サーバが、前記ユーザ端末に属性数Kを通知するステップと、前記ユーザ端末において、ユーザからの指示に従って、m個の属性データを含むデータレコードから前記K個の属性データをランダムに選択し、選択した前記K個の属性データを匿名化し、匿名化した前記K個の属性データ、又は、匿名化した前記K個の属性データから算出した前記K個の属性データそれぞれについての相関を示す関係性データを前記機械学習モデル運用サーバに送信するステップと、前記機械学習モデル運用サーバが、前記ユーザ端末から受け取った匿名化した前記K個の属性データから算出した関係性データ、又は、前記ユーザ端末から受け取った前記関係性データに基づいて、前記機械学習モデルの推論に用いるK個の属性を決定する属性決定ステップとを含み、前記通知ステップでは、前記属性決定ステップで決定した前記K個の属性を前記ユーザ端末に通知する、技術11記載の機械学習推論方法。
【0220】
これにより、個人の属性データをプライバシーが保護される状態で機械学習モデルのテストをすることを可能にする方法であって、属性データを用いて機械学習モデルのテストをするサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にする機械学習モデル推論方法が実現される。
【0221】
(技術13)技術9~12のいずれかに記載のステップをコンピュータに実行させるプログラム。
【0222】
これにより、個人の属性データをプライバシーが保護される状態で解析することを可能にするプログラムであって、属性データを解析するサーバ装置が信頼できる装置であることを必要とせず、かつ、従来よりも有用性の高い解析を可能にするプログラムが実現される。
【0223】
以上、本開示に係る匿名化装置、匿名化方法、機械学習モデル構築方法、機械学習推論方法、及び、プログラムについて、実施の形態、実施例及び他の実施の形態に基づいて説明したが、本開示は、これらの実施の形態等に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形をこれらの実施の形態等に施したものや、実施の形態等における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
【0224】
例えば、上記実施の形態では、機械学習モデル構築サーバ30aと機械学習モデル運用サーバ30bとは別個の装置であったが、これらの装置が一体化されていてもよい。つまり、一台のサーバ装置が機械学習モデルの学習とテストの両方を行う機能を有していてもよい。
【産業上の利用可能性】
【0225】
本開示に係る匿名化装置及び機械学習システムは、個人の属性データをプライバシーが保護されるデータに変換する匿名化装置及び、心拍数、運動量など、私たちの生活に関するさまざまな属性データを収集して機械学習モデルを用いてプライバシーを保護しながら解析する機械学習システムとして、利用できる。
【符号の説明】
【0226】
5 機械学習システム
7 通信路
10、10a 匿名化装置
12 匿名化処理部
12a 第1変換部
12b 第2変換部
12c 第3変換部
13 属性データ選択部
20、20a、20b ユーザ端末
21 通信部
22 記憶部
23 関係性秘匿化装置
30a 機械学習モデル構築サーバ
30b 機械学習モデル運用サーバ
31a、31b 通信部
32a、32b 機械学習モデル
33a 学習部
33b 運用部