JPWO2015155896A1 - サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 - Google Patents

サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 Download PDF

Info

Publication number
JPWO2015155896A1
JPWO2015155896A1 JP2016512563A JP2016512563A JPWO2015155896A1 JP WO2015155896 A1 JPWO2015155896 A1 JP WO2015155896A1 JP 2016512563 A JP2016512563 A JP 2016512563A JP 2016512563 A JP2016512563 A JP 2016512563A JP WO2015155896 A1 JPWO2015155896 A1 JP WO2015155896A1
Authority
JP
Japan
Prior art keywords
learning
support vector
vector machine
machine learning
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2016512563A
Other languages
English (en)
Inventor
健 長沼
健 長沼
進 芹田
進 芹田
佐藤 嘉則
嘉則 佐藤
尚宜 佐藤
尚宜 佐藤
雅之 吉野
雅之 吉野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2015155896A1 publication Critical patent/JPWO2015155896A1/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Abstract

【課題】サポートベクトルマシン学習を行うにあたり教師信号のラベルを確実に秘匿することができるようにする。【解決手段】サポートベクトルマシン学習を行う分析実行装置は、サポートベクトルマシン学習の対象となる、特徴ベクトルおよび加法的準同型暗号方式により暗号化されたラベルを含む学習データの集合を記憶し、暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行う。

Description

本発明は、サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法に関する。
近年、大量のデータを収集し分析を行い、価値のある知識を抽出するビックデータビジネスが普及をみせている。大量データの分析を実行する際、大容量のストレージや高速なCPUおよびこれらを分散統制するシステムを必要とするため、クラウドなどの外部リソースに分析を依頼する事が考えられる。しかし、データを外部にアウトソースする場合、プライバシー上の問題が発生する。そのため、暗号化やその他、プライバシー保護技術を施した後にデータをアウトソースし分析を行う秘匿分析技術が注目を集めている。例えば、非特許文献1では、サポートベクトルマシン学習を行う際に、分析依頼者が特徴ベクトルを1つのランダムな行列で線型変換して分析実行者に提供し、reduced SVMを用いて学習を行っている。
Keng-Pei Lin、Ming-Syan Chen著、「Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation」 、2010年7月25日、KDD2010 Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining、p.363-372
しかしながら、非特許文献1に記載の手法では、ラベルがポジティブであるかネガティブであるかは与えられるため、どのようなクラス分けが実現されているのかを分析実行者側で把握することができてしまう。また、特徴ベクトルの秘匿に線形変換を用いていることから、特徴ベクトル空間の次元数と同じだけ変換前後の特徴ベクトルの対応付けが可能となった場合には、線形変換後の特徴ベクトルから線形変換前の特徴ベクトルを特定することができてしまう。
本発明は、このような背景を鑑みてなされたものであり、サポートベクトルマシン学習を行うにあたり教師信号のラベルを確実に秘匿することのできる、サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法を提供することを目的とする。
上記課題を解決するための本発明の主たる発明は、サポートベクトルマシン学習を行うシステムであって、学習データ管理装置および学習装置を含んで構成され、前記学習データ管理装置は、前記サポートベクトルマシン学習の対象となる、ラベルおよび特徴ベクトルを含む学習データの集合を記憶する学習データ記憶部と、前記学習データの前記ラベルを加法的準同型暗号方式により暗号化する暗号化処理部と、前記暗号化された前記ラベルおよび前記特徴ベクトルを含む暗号化学習データを前記学習装置に送信する学習データ送信部と、を備え、前記学習装置は、前記暗号化学習データを受信する学習データ受信部と、前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行う更新処理部と、を備えることとする。
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
本発明によれば、サポートベクトルマシン学習を行うにあたり教師信号のラベルを確実に秘匿することができる。
サポートベクトルマシン学習の結果得られるマージンを最大化する超曲面を例示する図である。 第一の実施形態におけるデータ学習分析システムの構成例を示す図である。 第一の実施形態における分析依頼装置、分析実行装置のハードウェア構成例を示す図である。 第一の実施形態における分析依頼装置のソフトウェア構成例を示す図である。 第一の実施形態における分析実行装置のソフトウェア構成例を示す図である。 第一の実施形態における処理フローを示す図である。 第一の実施形態における学習用のデータ、つまり秘匿化特徴ベクトルの集合を説明する図である。 第一の実施形態における学習処理の処理フローを示す図である。 第一の実施形態における秘匿学習処理結果から得られる解を例示する図である。 第一の実施形態における秘匿学習処理結果から得られる超曲面を例示する図である。 第二の実施形態における学習処理の処理フローを示す図である。 第二の実施形態における秘匿学習処理結果から得られる解を例示する図である。
以下、本発明の一実施形態に係るデータ学習分析システムを、図1から図6に基づいて詳細に説明する。本実施形態のデータ学習分析システムは、サポートベクトルマシン学習(以下、SVM学習とも称する。)によりパターン識別器を生成するにあたり、(a)学習に用いるデータ(学習データ)を暗号化し、(b)学習データの集合にダミーデータを加えることにより、確実にラベルを秘匿化し、セキュリティを高めようとするものである。
==定義==
まず、本実施形態で使用する暗号方式およびデータ分析の用語を定義する。本実施形態では、利用する加法的準同型暗号方式を1つ固定して実施するものとする。
(1)加法的準同型暗号方式(アルゴリズム)
本実施形態で用いる加法的準同型暗号方式は、準同型性を有する暗号方式(本実施形態では公開鍵暗号方式を想定している。)のうち加法性を有する暗号アルゴリズムである。例えば加法的準同型暗号方式は、通常の公開鍵暗号方式が有する暗号化鍵、復号化鍵に対する非対称性に加え、暗号文同士の加法性を有する。つまり、2つの暗号文に対して、平文がその2つの暗号文に対する平文の算術和(以下、加算、もしくは単に和と称し、当該算術和に用いる演算子も「+」と表記する。)となる暗号文を公開情報のみを用いて(秘密鍵や平文を用いることなく)計算する事が可能である。したがって、平文mの暗号文をE(m)とすると、E(m)+E(m)=E(m+m)が成立する。以下の説明においても、E(m)は平文mの暗号文を表すものとする。
(2)加法的準同型暗号秘密鍵/公開鍵生成アルゴリズム
上述した加法的準同型暗号アルゴリズムで規定されている秘密鍵/公開鍵生成アルゴリズムを指す。セキュリティパラメータと鍵シードをコマンド入力とし、特定のビット長の秘密鍵/公開鍵を出力とする。
(3)加法的準同型暗号暗号化アルゴリズム
上述した加法的準同型暗号アルゴリズムで規定されている暗号化アルゴリズムを指す。加法的準同型暗号暗号化アルゴリズムは、平文と公開鍵を入力とし暗号文を出力する。
(4)加法的準同型暗号復号化アルゴリズム
上述した加法的準同型暗号アルゴリズムで規定されている復号化アルゴリズムを指す。加法的準同型暗号復号化アルゴリズムは、暗号文と秘密鍵を入力とし、その暗号文に対応する平文を出力する。
(5)加法的準同型暗号加算アルゴリズム
上述した加法的準同型暗号アルゴリズムで規定されている暗号文同士の加算演算を実現するアルゴリズムを指す。複数の暗号文をコマンド入力とし、その複数の暗号文の平文の総和に対応する暗号文を出力する。例えば、100に対応する暗号文E(100)と200に対応する暗号文E(200)をコマンド入力とした際には、300(100+200)に対応する暗号文E(300)を出力する。
(6)サポートベクトルマシン(以下、SVMとも称する)
教師あり学習を用いる識別手法の一つであり、以下のようなSVM学習の対象となる学習データ集合
D={(x,y)|x∈R,y∈{-1,1}i=1,2,…,n}
が与えられた際、R内でy=1であるxベクトルとy=−1であるxベクトルを分離する超平面もしくは超曲面の中で最もマージンの大きい超平面もしくは超曲面を算出する。ここで、超平面もしくは超曲面のマージンとはy=1であるxベクトルとy=−1であるxベクトルの中で最もその超平面もしくは超曲面に近いxベクトルとの距離である。また、本実施形態では、各xベクトルを特徴ベクトルと呼ぶ。さらにy=1である特徴ベクトルxをポジティブラベル特徴ベクトル、y=−1である特徴ベクトルxをネガティブラベル特徴ベクトルと呼ぶ。また、yは、パターン識別器によりデータをクラス分けするためのクラスであり(図1参照)、ラベルと呼ばれる。なお、本実施形態では、図3のような超平面もしくは超曲面で分離可能な学習データ集合(ハードマージン問題)を用いて説明を行うが、本発明はこれに限定されるものではなく、分離不可能な場合(ソフトマージン問題)についても同様の方法が適用できる。また以下では、超平面で分離可能な例を用いて説明を行うが、本発明はこれに限定されるものではなく、既存のカーネル法を用いて非線形な超曲面で分離可能な例に対しても適用できる。
(7)SVM学習
上述の学習データ集合
D={(x,y)|x∈R,y∈{−1,1}i=1,2,…,n}
が与えられた際、R内でマージンを最大化する超平面を求めるアルゴリズムをSVM学習アルゴリズムと呼び、その超平面を求める問題をSVM問題と呼ぶ。より具体的に、この問題は、目的関数L(a,a,…,a)を最大化する実数係数(a,a,…,a)∈Rを探索する問題に帰着する。ここで目的関数Lは次式により表される。

Figure 2015155896
ただし、全てのa≧0であり、

Figure 2015155896
という制約条件上を満たすものとする。
(8)勾配法
勾配法とは、最適化問題において関数の勾配に関する情報を基に解を探索するアルゴリズムである。上記SVM問題について、上記目的関数Lを最大化する最適解(a,a,…,a)は勾配法により求める。
関数Lの勾配ベクトルの第i成分L’が、

Figure 2015155896
であるため、勾配法により係数(a,a,…,a)を、更新率γで再帰的に

Figure 2015155896
と更新することで最適解もしくはその近似解を得る事が可能である。
==発明の概要==
上述のとおり、本実施形態のデータ学習分析システムでは、SVM学習にあたり(a)学習データを暗号化し、(b)学習データにダミーデータを追加する。
(a)学習データの暗号化
本実施形態では、学習データのラベルyを暗号化したうえでSVM学習を実行する分析実行装置200に与える。これにより、分析実行装置200側に対してラベルyの内容(+1であるか−1であるか)を隠蔽する。ラベルyの内容が隠蔽されることにより、分析実行装置200では学習データに有意な意味づけを行うことが困難となる。
暗号化のアルゴリズムには加法的準同型暗号化方式を用いる。上述したように、加法的準同型暗号方式により暗号化された暗号化データは、暗号化したまま(復号することなく)暗号文の加算が可能であり、加算された暗号文を復号した結果は、対応する平文が加算された結果に一致する。SVM学習の最適解(または近似解)の算出に勾配法を用いる場合、上記更新式(4)を次式(5)のように変形することができる。

Figure 2015155896
ここで、(a,a,…,a)と(x,x,…,x)とγが既知であれば、更新式(5)の右辺はyに関してスカラー積の和である。したがって、yに代えて加法的準同型暗号での暗号文E(y)を与え、平文yを与えなかったとしても、加法的準同型暗号の加法性を利用して更新式(5)の計算が可能である。すなわち、次式(6)を更新式として計算することができる。

Figure 2015155896
本実施形態のデータ学習分析システムでは、分析実行装置200において上記式(6)を更新式としてSVM学習を行う。これにより、分析実行装置200にはラベルyについて平文を与えることなく暗号文E(y)のままでSVM学習が可能となる。
なお、Paillier暗号方式のように加法的準同型暗号方式が乗法性を有していない場合には、更新式(6)を用いて2回以上再帰的に更新すると暗号文E(y)の乗算が必要となる。そこで本実施形態では、更新処理は1回のみ行うものとする。
(b)ダミーデータの追加
また、本実施形態では、学習データの集合にダミーデータを加える。これにより、学習データ集合の与えられた分析実行装置200側では、例えば学習データの分布の偏りなどを用いて、学習データの有意な意味づけを推測することも困難となる。
学習データの集合に加えるダミーデータには、+1でも−1でもない0のラベルyを与える。ラベルとして0を与えることにより、更新式(5)の右辺においてはダミーデータのラベルyに係る項は0となり更新式(5)に与える影響がない。これは加法性のある加法的準同型暗号方式を利用した更新式(6)においても同価値である。
その一方で、分析実行者側において、ラベルは暗号化されるため、学習データがダミーデータであるかどうかを判定することができないようにすることができる。また、学習データの集合が一様分布に近づくようにダミーデータを追加することにより学習データの意味づけをより困難とすることができる。
以下、詳細について説明する。
==第一の実施形態==
図2は、本発明の一実施の形態であるデータ学習分析システムの概略図である。図2に示すように、本実施形態のデータ学習分析システムは、分析依頼装置100と分析実行装置200とを含んで構成される。分析依頼装置100は、学習データを管理するコンピュータである。分析実行装置200はSVM学習に係る処理を行うコンピュータである。
分析依頼装置100と分析実行装置200とはネットワーク300を介して相互に情報を送受信できるように設計されている。ネットワーク300は、例えばインターネットやLAN(Local Area Network)であり、例えばイーサネット(登録商標)、光ファイバー、無線通信路、公衆電話回線網、専用電話回線網などにより構築される。
分析依頼装置100はネットワーク300を介して学習データの集合を分析実行装置200に送信し、分析実行装置200は分析依頼装置100から受信した学習データに対してSVM学習を行い、SVM学習の結果(以下、学習結果という。)をネットワーク300を介して分析依頼装置100に送信する。分析依頼装置100は、学習結果を用いてパターン識別器を生成する。
==ハードウェア構成==
図3は、分析依頼装置100のハードウェア概略図である。図3に示すように、分析依頼装置100は、CPU101と、補助記憶装置102と、メモリ103と、表示装置105と、入出力インターフェース106と、通信装置107と、が内部信号線104で連結し、構成される。また、補助記憶装置102には、プログラムコードが格納されている。プログラムコードは、メモリ103にロードされCPU101によって実行される。
また、分析実行装置200も分析依頼装置100と同様の図2に示すハードウェア構成を具備する。
==分析依頼装置のソフトウェア構成==
図4は、分析依頼装置100のソフトウェア概略図である。分析依頼装置100は、学習データ記憶部121、ダミーデータ記憶部122、ダミーデータ追加処理部123、暗号化処理部124、学習データ送信部125、学習結果受信部126、復号化処理部127およびパターン識別器生成部128を備える。
学習データ記憶部121およびダミーデータ記憶部122は分析依頼装置100が備える補助記憶装置102よびメモリ103が提供する記憶領域の一部として実現され、ダミーデータ追加処理部123、暗号化処理部124、学習データ送信部125、学習結果受信部126、復号化処理部127およびパターン識別器生成部128は、分析依頼装置100が備えるCPU101が補助記憶装置102に格納されているプログラムコードをメモリ103にロードして実行することにより実現される。
学習データ記憶部121は、学習データ集合Dを記憶する。なお、学習データ集合は上述のとおり
D={(x,y)|x∈R,y∈{-1,1}i=1,2,…,n}
と表される。
ダミーデータ追加処理部123は、学習データ集合Dにダミーデータを追加する。ダミーデータは、「0」のラベルyを含むデータである。ダミーデータ追加処理部123は、学習データ集号Dに含まれる特徴ベクトルが特徴空間において一様な分布となるようにダミーデータを追加する。ダミーデータ追加処理部123は、ユーザから一様分布となるような特徴ベクトルの入力を受け付けるようにしてもよいし、例えば特徴空間を区画に区切り、カイ二乗検定などを用いて一様分布と判定されるようになるまで、区画内に存在する特徴ベクトルの数が少ない区画を選択し、選択した区画の1つまたは複数に入るように特徴ベクトルを生成するようにしてもよい。また、ダミーデータ追加処理部123は、学習データ(ラベル付特徴ベクトル)をランダムに並び替え(添え字iをランダムに置換)してもよい。ダミーデータ追加処理部123は、ダミーデータを示す情報(例えばダミーデータを示す添え字i)をダミーデータ記憶部122に記憶する。
暗号化処理部124は、加法的準同型暗号暗号化アルゴリズムにより学習データのラベルyを暗号化して暗号文E(y)を生成し、ラベルyに代えて暗号文E(y)とした学習データ(以下、秘匿化学習データといい、E(D)で表す。)を生成する。秘匿化学習データE(D)は次のようになる。
E(D)={(x,E(y))|x∈R,y∈{−1,1,0}i=1,2,…,N}
学習データ送信部125は、秘匿化学習データを分析実行装置200に送信する。
学習結果受信部126は、分析実行装置200から送信される、SVM学習の処理結果を受信する。本実施形態では、後述するように分析実行装置200からは、実数係数(a,a,…,a)∈Rを受信するのではなく、係数にラベルを乗じた値{a|i=1,2,…,N}(以下、学習結果という。)の暗号文{E(a)|i=1,2,…,N}(以下、秘匿化学習結果という。)を処理結果として受信する。
復号化処理部127は、秘匿化学習結果を復号して(a,a,…,a)を得る。また、復号化処理部127は、ダミーデータ記憶部122に記憶されている情報より復号した学習結果中のダミーデータを特定し、学習結果からダミーデータを除いて(a,a,…,a)を抽出する。また、復号化処理部127は、係数が負となる場合には、ベクトル(a,a,…,a)を(y,y,…,y)の直交補空間に正射影した正射影ベクトルを学習結果としてもよい。
パターン識別器生成部128は、係数(a,a,…,a)∈Rを用いてパターン識別器を生成する。なお、パターン識別器の生成手法は、一般的なSVM学習を行う場合と同様のものを採用し、ここでは説明を省略する。
==分析実行装置のソフトウェア構成==
図5は、分析実行装置200のソフトウェア概略図である。分析実行装置200は、学習データ受信部221、係数生成部222、更新処理部223および学習結果送信部224を備える。なお、係数生成部222、更新処理部223および学習結果送信部224は、分析実行装置200が備えるCPU101が補助記憶装置102に格納されているプログラムコードをメモリ103にロードして実行することにより実現される。
学習データ受信部221は、分析依頼装置100から送信される秘匿化学習データ集合を受信する。
係数生成部222は、目的関数Lの係数(a,a,…,a)を生成する。本実施形態では、係数生成部222は、N回乱数を発生させて係数とするものとするが、たとえば所定の初期値(例えば全てのaを0とすることができる。)を設定するようにしてもよい。
更新処理部223は、上記更新式(6)により更新処理を行う。更新処理部223は、更新式(6)に係る演算子「+」の演算には、加法的準同型暗号方式を用いた加算処理を用いる。また、本実施形態では、加法的準同型暗号方式として、例えばPaillier暗号方式など、乗法性を有しない加法的準同型暗号方式を用いることを想定しているため、更新処理部223は、ランダムに設定した係数と秘匿化学習データ集号とを更新式(6)に与えて算出した暗号文E(a)の集合をそのまま秘匿化学習結果として生成する。
学習結果送信部224は、秘匿化学習結果を分析依頼装置100に送信する。
==処理フロー==
図6は、本実施形態のデータ学習分析システムにおいて実行される処理の流れを示す図である。
まず、分析依頼装置100において、暗号化処理部124は加法的準同型暗号方式による秘密鍵/公開鍵生成アルゴリズムを用いて、以下で用いる秘密鍵/公開鍵を生成する(S100)。次に、ダミーデータ追加処理部123は、学習データ記憶部121に記憶されている学習データ集合D={(x,y)|x∈R,y∈{−1,1}i=1,2,…,n}に対して、ラベルy=0と、ダミーの特徴ベクトル{(x,0)i=n+1,…,N}とを含むダミーデータを加えた新しい学習データ集合D={(x,y)|x∈R,y∈{−1,1,0}i=1,2,…,N}を生成する(S150)。ここでダミーデータ追加処理部123は、学習データをランダムに並び替えてもよい。図7は、ラベル0を持つダミー特徴ベクトルの集合をポジティブ/ネガティブ特徴ベクトルの集合に加えた特徴空間を図示している。図7において、「○」に対応するベクトルがポジティブラベル特徴ベクトルであり、「×」に対応するベクトルがネガティブラベル特徴ベクトルであり、「△」に対応するベクトルがダミー特徴ベクトルである。図7に示すように、ダミーデータ追加処理部123は、特徴ベクトルが一様分布に近くなるようにダミーデータを追加する。
次に暗号化処理部124は、学習データ集合D={(x,y)|x∈R,y∈{−1,1,0}i=1,2,…,N}に対して、ラベルyを平文とし、(S100)で生成した公開鍵で加法的準同型暗号暗号化アルゴリズムを用いて暗号文E(y)を生成して、秘匿化学習データE(D)={(x,E(y))|x∈R,y∈{−1,1,0}i=1,2,…,N}を生成する(S200)。学習データ送信部125は、秘匿化学習データ(D100)を分析実行装置200に送信する。
秘匿化学習データ(D100)を受信した分析実行者端末200では、図8に示す学習処理が行われる(S300)。学習結果送信部224は、学習結果{E(a)|i=1,2,…,N}を秘匿化学習結果(D200)として、分析依頼装置100に返信する。
分析依頼装置100では、学習結果受信部126が、分析実行装置200から送信される秘匿化学習結果(D200)を受信し、復号化処理部127が、(S100)で生成された秘密鍵を用いて秘匿化学習結果(D200)を復号し、学習結果(a,a,…,a)を得る(S400)。復号化処理部127は、(a,a,…,a)からダミーデータに対応する結果をを除き、最終的な係数列(a,a,…,a)を生成する。復号化処理部127はa<0となる係数に関しては、a=0とする。以上のようにして事後処理を終える(S500)。ここで復号化処理部127は、必要であれば、
Figure 2015155896
となるように、ベクトル(a,a,…,a)を(y,y,…,y)の直交補空間に正射影し、その正射影ベクトルを係数列(a,a,…,a)としてもよい。パターン識別器生成部128は、係数列(a,a,…,a)を用いてパターン識別器を生成する(S600)。
図8は、図6の(S300)における学習処理の処理フローを示す図である。
学習データ受信部221は、秘匿化学習データ(D100)すなわち、E(D)={(x,E(y))|x∈R,y∈{−1,1,0}i=1,2,…,N}を受信し(S301)、係数生成部222は、ランダムな係数(a,a,…,a)を生成して初期係数とするとともに、更新係数γ>0を設定する(S302)。なお、本実施形態では係数生成部222は、所定の定数(γ=0.001)を用いるものとする。
次に更新処理部223は、初期係数(a,a,…,a)および秘匿化学習データ(D100)について、上記更新式(6)を計算する(S303)。学習結果送信部224は、更新式(6)により算出された秘匿化学習処理結果{E(a)|i=1,2,…,N}(D200)を分析依頼装置100に送信する(S304)。
以上のようにして、本実施形態のデータ学習分析システムでは、加法的準同型暗号方式を勾配法に適用することにより、ラベルを暗号化したまま(復号することなく)勾配法によるSVM学習を行うことができる。したがって、教師信号として特徴ベクトルに付したラベルを分析実行装置200側に対して秘匿することができる。
また、本実施形態のデータ学習分析システムでは、ラベルは線形変換ではなく暗号化を行っている。例えば非特許文献1のような学習方法の場合には、全ての特徴ベクトルに対して同一の行列を用いて線型変換を行うため、例えば秘匿化後の特徴ベクトルと元の特徴ベクトルの組み合わせが特徴ベクトル空間の次元に一致する個数漏洩した場合などには、変換に用いた行列を特定し、これにより元の特徴ベクトルを特定することが可能となってしまう懸念があるところ、例えばPaillier暗号などの加法的準同型暗号方式は選択平文/暗号文攻撃に耐性を有しており、仮に特徴ベクトルの組が特徴ベクトル空間の次元以上漏洩した場合であっても、ラベルを推定することは困難である。よって、分析実行装置200側に対してラベルを確実に秘匿することが可能となり、セキュリティの向上が期待される。
また、本実施形態のデータ学習分析システムでは、学習データ集合にダミーデータを加えたうえでラベルを暗号化しているため、特徴ベクトルの偏在などからラベルを推定することが困難となる。したがって、セキュリティを向上することができる。また、特徴ベクトルの分布に偏りがみられる場合には、その分布からラベルを推測することも考えられるものの、本実施形態のデータ学習分析システムでは、特徴ベクトルが一様分布に近づくようにダミーデータを追加しており、暗号化された特徴ベクトルの集合から元の特徴ベクトルに関する情報を推測することは困難である。したがって、分析実行装置200側に対して確実にラベルを秘匿することができる。よって、さらにセキュリティを向上することができる。
また、本実施形態のデータ学習分析システムでは、ダミーデータのラベルを「0」としているので、勾配法の更新処理においてダミーデータを追加したことによる影響を排除することができる。その一方で、ダミーデータのラベルも暗号化されるため、影響が排除されているかどうかは暗号化データからは推定することができない。したがって、分析実行装置200側に対して確実に学習データを秘匿することが可能となる。
==第二の実施形態==
次に第二の実施形態について説明する。
第一の実施形態中の学習処理(S300)において、分析実行装置200は初期係数に対して勾配法による更新を1度しか行っていない(S303)、一般に、勾配法において。更新を1度しか行わない場合、図7に示すように得られる解は最適解となるとは限らない。したがって、1度しか更新を行っていない秘匿化学習結果(D200)から得られる超曲面は、図10にあるように最適解から得られるマージンを最大化する超曲面と一致しない可能性があり、初期係数として選んだランダムな係数(a,a,…,a)の値に依存する。
そこで、第二の実施形態では、k個の初期値(a,a,…,a)を準備して更新処理を行い、更新結果E(a)の和を取ることで、初期値への依存度を緩和する。
第一の実施形態との変更点は学習処理(S300)のみであり、その他の処理フローは第一の実施形態と同一であるため、ここでは学習処理(S300)についてのみ説明する。
図11は第二の実施形態における学習処理(S300)の処理フローである。
学習データ受信部221は、秘匿化学習データ(D100)、すなわちE(D)={(x,E(y))|x∈R,y∈{−1,1,0}i=1,2,…,N}を受信し(S601)、係数生成部222は、初期値の数kを決定し、内部変数t=0を設定する。kの値は、0より大きい任意の整数であればよく、ランダムな整数であってもよい。また、係数生成部222は、分析実行装置200の計算リソースに合わせてなるべく大きな値となるように決定してもよい(S602)。係数生成部222は、ランダムな係数(a,a,…,a)を生成し初期係数とするとともに、更新係数γ>0を生成し、i=1,2,…,Nについて秘匿化学習結果E(a)を0に初期化する(S603)。なお、本実施形態においても第一の実施形態と同様にγには定数(γ=0.001)を用いるものとする。
次に更新処理部223は、初期係数(a,a,…,a)と、秘匿化学習データ(D100)と、秘匿化学習結果{E(a)|i=1,2,…,N}とを更新式

Figure 2015155896
に与えて秘匿化学習結果E(a)を更新する(S604)。
更新処理部223は、内部変数tをインクリメントし、t<kの場合は、(S603)に処理を戻す。t=kの場合に、学習結果送信部224は、上記更新式(7)により算出された秘匿化学習結果{E(a)|i=1,2,…,N}を分析依頼装置100に送信する(S606)。
図12は、第二の実施形態における学習処理(S300)内での更新処理を説明する図である。図12が示す通り、第一の実施形態は1つの初期係数の更新処理から秘匿化学習処理結果(D200)を算出していたが、第二の実施形態では、複数の初期係数の加算として秘匿化学習処理結果(D200)を算出している。したがって、第一の実施形態のように更新処理を1回しか行わない場合(図9参照)に比べ、より最適解に近い解を求めることができる。その一方で分析実行装置200側では秘匿化学習データの復号を行わないようにすることができる。よって、分析実行装置200側に対して学習データを秘匿しつつ、学習結果をより最適解に近づけることができる。
以上、本発明の実施形態について説明したが,上述の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
例えば、本実施形態では、分析依頼装置100および分析実行装置200は1台のコンピュータであるものとしたが、これに限らず、例えば分析依頼装置100および分析実行装置200の少なくともいずれかを複数のコンピュータにより構成してもよい。
また、上述更新式(5)ないし(7)の右辺では、特徴ベクトルの内積値<x,x>のスカラー積の加算を計算しているが、必ずしも内積値である必要はなく、内積値を含む一般のカーネル関数K(x,x)を用いて、更新式(5)ないし(7)を計算してもよい。
また、上述の実施例では、更新係数γ=0.01としているが、必ずしもこの値とする必要は無く、既存の勾配法の更新係数決定アルゴリズムにより算出される値を用いてもよい。
また、第二の実施形態では、係数の初期値を準備する個数kを分析実行装置200の係数生成部222が決定するものとしたが、分析依頼装置100からkの値を指定するようにしてもよい。この場合、学習データ送信部125は、例えばユーザからkの値の入力を受け付けて秘匿化学習データとともに分析実行装置200に送信すればよい。
100 分析依頼装置
101 CPU
102 補助記憶装置(記憶装置)
103 メモリ
104 内部信号線
105 表示装置
106 入出力インターフェース
107 通信装置
200 分析実行装置
300 ネットワーク

Claims (9)

  1. サポートベクトルマシン学習を行うシステムであって、
    学習データ管理装置および学習装置を含んで構成され、
    前記学習データ管理装置は、
    前記サポートベクトルマシン学習の対象となる、ラベルおよび特徴ベクトルを含む学習データの集合を記憶する学習データ記憶部と、
    前記学習データの前記ラベルを加法的準同型暗号方式により暗号化する暗号化処理部と、
    前記暗号化された前記ラベルおよび前記特徴ベクトルを含む暗号化学習データを前記学習装置に送信する学習データ送信部と、
    を備え、
    前記学習装置は、
    前記暗号化学習データを受信する学習データ受信部と、
    前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行う更新処理部と、
    を備えることを特徴とするサポートベクトルマシン学習システム。
  2. 請求項1に記載のサポートベクトルマシン学習システムであって、
    前記学習データ管理装置は、前記学習データの集合にダミーデータを追加するダミーデータ追加処理部をさらに備え、
    前記ダミーデータに含まれる前記ラベルの値は0であること、
    を特徴とするサポートベクトルマシン学習システム。
  3. 請求項1または2に記載のサポートベクトルマシン学習システムであって、
    前記学習装置は、前記更新処理の対象となる係数(a,a,…,a)の初期値を生成する係数生成部をさらに備え、
    前記更新処理部は、i=1,2,…,Nについて、前記特徴ベクトルをx、前記ラベルをy、前記加法的準同型暗号方式により暗号化された前記ラベルをE(y)として、
    Figure 2015155896
    により算出した暗号文の集合{E(a)|i=1,2,…,N}をサポートベクトルマシン学習の前記更新処理の処理結果として生成すること、
    を特徴とするサポートベクトルマシン学習システム。
  4. 請求項1または2に記載のサポートベクトルマシン学習システムであって、
    前記学習装置は、前記更新処理の対象となる係数(a,a,…,a)の初期値を生成する係数生成部をさらに備え、
    前記更新処理部は、i=1,2,…,Nについて、前記特徴ベクトルをx、前記ラベルをy、前記加法的準同型暗号方式により暗号化された前記ラベルをE(y)、カーネル関数をKとして、
    Figure 2015155896
    により算出した暗号文の集合{E(a)|i=1,2,…,N}をサポートベクトルマシン学習の前記更新処理の処理結果として生成すること、
    を特徴とするサポートベクトルマシン学習システム。
  5. 請求項1ないし4のいずれか1項に記載のサポートベクトルマシン学習システムであって、
    前記更新処理部は、前記更新処理の対象となる複数の係数組のそれぞれを用いて前記更新処理を行うこと、
    を特徴とするサポートベクトルマシン学習システム。
  6. 請求項5に記載のサポートベクトルマシン学習システムであって、
    前記更新処理部は、前記複数の係数組のそれぞれについての前記更新処理の処理結果を合計し、当該合計値を前記処理結果とすること、
    を特徴とするサポートベクトルマシン学習システム。
  7. サポートベクトルマシン学習を行うシステムであって、
    前記サポートベクトルマシン学習の対象となる、特徴ベクトルおよび加法的準同型暗号方式により暗号化されたラベルを含む学習データの集合を記憶する学習データ記憶部と、
    前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行う更新処理部と、
    を備えることを特徴とするサポートベクトルマシン学習システム。
  8. サポートベクトルマシン学習を行う方法であって、
    前記サポートベクトルマシン学習の対象となる、ラベルおよび特徴ベクトルを含む学習データの集合を記憶する学習データ管理装置が、
    前記学習データの前記ラベルを加法的準同型暗号方式により暗号化するステップと、
    前記暗号化した前記ラベルおよび前記特徴ベクトルを含む暗号化学習データを学習装置に送信するステップとを実行し、
    前記学習装置が、
    前記暗号化学習データを受信するステップと、
    前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行うステップとを実行すること、
    を特徴とするサポートベクトルマシン学習方法。
  9. 請求項1に記載のサポートベクトルマシン学習方法であって、
    前記学習データ管理装置はさらに前記学習データの集合にダミーデータを追加するステップを実行し、
    前記ダミーデータに含まれる前記ラベルの値は0であること、
    を特徴とするサポートベクトルマシン学習方法。
JP2016512563A 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 Ceased JPWO2015155896A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/060533 WO2015155896A1 (ja) 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法

Publications (1)

Publication Number Publication Date
JPWO2015155896A1 true JPWO2015155896A1 (ja) 2017-04-13

Family

ID=54287495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016512563A Ceased JPWO2015155896A1 (ja) 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法

Country Status (3)

Country Link
US (1) US20170039487A1 (ja)
JP (1) JPWO2015155896A1 (ja)
WO (1) WO2015155896A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019219813A (ja) * 2018-06-18 2019-12-26 国立研究開発法人産業技術総合研究所 情報処理方法、システム及びプログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6926429B2 (ja) * 2016-09-27 2021-08-25 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム
US10083061B2 (en) * 2016-11-02 2018-09-25 Sap Se Cloud embedded process tenant system for big data processing
US10491373B2 (en) * 2017-06-12 2019-11-26 Microsoft Technology Licensing, Llc Homomorphic data analysis
US11113624B2 (en) * 2017-07-12 2021-09-07 Sap Se Distributed machine learning on heterogeneous data platforms
CN107657104A (zh) * 2017-09-20 2018-02-02 浙江浙能台州第二发电有限责任公司 基于在线支持向量机的锅炉燃烧系统动态建模方法
JP6691087B2 (ja) * 2017-10-04 2020-04-28 ファナック株式会社 熱変位補正システム
WO2019102624A1 (ja) 2017-11-27 2019-05-31 三菱電機株式会社 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム
CN108418833B (zh) * 2018-03-23 2022-01-07 中科创达软件股份有限公司 一种软件的管理方法、云端服务器和终端
US20190332814A1 (en) * 2018-04-27 2019-10-31 Nxp B.V. High-throughput privacy-friendly hardware assisted machine learning on edge nodes
US11087223B2 (en) 2018-07-11 2021-08-10 International Business Machines Corporation Learning and inferring insights from encrypted data
CN109598385A (zh) * 2018-12-07 2019-04-09 深圳前海微众银行股份有限公司 反洗钱联合学习方法、装置、设备、系统及存储介质
JP7279368B2 (ja) * 2019-01-17 2023-05-23 富士通株式会社 学習方法、学習プログラムおよび学習装置
WO2020155173A1 (en) * 2019-02-03 2020-08-06 Platon Co., Limited Data processing method, device and system for machine learning model
WO2021038639A1 (ja) * 2019-08-23 2021-03-04 日本電信電話株式会社 デバイス識別装置、デバイス識別方法およびデバイス識別プログラム
WO2022138959A1 (ja) * 2020-12-25 2022-06-30 国立研究開発法人情報通信研究機構 協調学習システム及び協調学習方法
CN112818369B (zh) * 2021-02-10 2024-03-29 中国银联股份有限公司 一种联合建模方法及装置
US20220284892A1 (en) * 2021-03-05 2022-09-08 Lenovo (Singapore) Pte. Ltd. Anonymization of text transcripts corresponding to user commands
WO2024034077A1 (ja) * 2022-08-10 2024-02-15 日本電気株式会社 学習システム、学習方法、およびコンピュータ可読媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JUSTIN ZHAN, LIWU CHANG AND STAN MATWIN: "How To Construct Support Vector Machines Without Breaching Privacy", STUDIA INFORMATICA, vol. Vol.1(7), JPN6014026814, 2006, PL, pages 233 - 244, XP055229535 *
SAKUDA, S. ET AL.: "Structures of allosamidins, novel insect chitinase inhibitors, produced by actinomycetes", AGRICULTURAL AND BIOLOGICAL CHEMISTRY, vol. 51, no. 12, JPN6014001944, 1987, pages 3251 - 3259, XP055009135, DOI: doi:10.1271/bbb1961.51.3251 *
藤井 康広,佐藤 尚宜,吉野 雅之,原田 邦彦: "クラウドコンピューティング・ビッグデータ利活用を支える先進セキュリティ技術", 日立評論, vol. 第94巻,第10号, JPN6014026816, 1 October 2012 (2012-10-01), JP, pages 49 - 53 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019219813A (ja) * 2018-06-18 2019-12-26 国立研究開発法人産業技術総合研究所 情報処理方法、システム及びプログラム

Also Published As

Publication number Publication date
US20170039487A1 (en) 2017-02-09
WO2015155896A1 (ja) 2015-10-15

Similar Documents

Publication Publication Date Title
WO2015155896A1 (ja) サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
JP5657128B2 (ja) 秘匿計算システム、秘匿計算方法、および秘匿計算プログラム
US11509457B2 (en) Method for secure classification using a transcryption operation
WO2021092977A1 (zh) 纵向联邦学习优化方法、装置、设备及存储介质
US10313119B2 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
JP2018142013A (ja) 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
CN113434878B (zh) 基于联邦学习的建模及应用方法、装置、设备及存储介质
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
JP2012128398A (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
CN107204997A (zh) 管理云存储数据的方法和装置
US10594473B2 (en) Terminal device, database server, and calculation system
KR101697868B1 (ko) 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
CN112906052B (zh) 联邦学习中多用户梯度置换的聚合方法
Bandaru et al. Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment
CN112380404B (zh) 数据过滤方法、装置及系统
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
JP2014137474A (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP2023179681A (ja) 同型暗号文に対する非多項式演算を行う方法
CN116170142A (zh) 分布式协同解密方法、设备和存储介质
JP5579327B2 (ja) 隠れマルコフモデルに基づくプライバシー保護確率的推論
JP5799635B2 (ja) 暗号データ検索システム、装置、方法及びプログラム
Koppaka et al. ElGamal algorithm with hyperchaotic sequence to enhance security of cloud data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170721

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20180130