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

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

Info

Publication number
WO2015155896A1
WO2015155896A1 PCT/JP2014/060533 JP2014060533W WO2015155896A1 WO 2015155896 A1 WO2015155896 A1 WO 2015155896A1 JP 2014060533 W JP2014060533 W JP 2014060533W WO 2015155896 A1 WO2015155896 A1 WO 2015155896A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
support vector
vector machine
machine learning
label
Prior art date
Application number
PCT/JP2014/060533
Other languages
English (en)
French (fr)
Inventor
健 長沼
進 芹田
佐藤 嘉則
尚宜 佐藤
雅之 吉野
Original Assignee
株式会社 日立製作所
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 株式会社 日立製作所 filed Critical 株式会社 日立製作所
Priority to JP2016512563A priority Critical patent/JPWO2015155896A1/ja
Priority to PCT/JP2014/060533 priority patent/WO2015155896A1/ja
Priority to US15/303,092 priority patent/US20170039487A1/en
Publication of WO2015155896A1 publication Critical patent/WO2015155896A1/ja

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

Definitions

  • the present invention relates to a support vector machine learning system and a support vector machine learning method.
  • Non-Patent Document 1 when performing support vector machine learning, an analysis requester linearly converts a feature vector into one random matrix and provides it to an analysis performer, and learning is performed using reduced SVM. Yes.
  • Non-Patent Document 1 whether the label is positive or negative is given, so that the analysis performer can grasp what classification is realized. End up.
  • linear transformation is used for concealing feature vectors, if feature vectors before and after transformation can be associated with the same number of dimensions as the feature vector space, linear transformation from feature vectors after linear transformation is possible. The feature vector before conversion can be specified.
  • the present invention has been made in view of such a background, and provides a support vector machine learning system and a support vector machine learning method capable of securely concealing the label of a teacher signal when performing support vector machine learning.
  • the purpose is to do.
  • a main invention of the present invention for solving the above problems is a system for performing support vector machine learning, comprising a learning data management device and a learning device, wherein the learning data management device is the support vector machine learning.
  • a learning data storage unit that stores a set of learning data including a label and a feature vector, an encryption processing unit that encrypts the label of the learning data by an additive homomorphic encryption method, and the encryption
  • a learning data transmitting unit that transmits encrypted learning data including the label and the feature vector to the learning device, the learning device receiving a learning data receiving unit that receives the encrypted learning data;
  • An update processing unit that performs an update process by a gradient method using an additive homomorphic addition algorithm for encrypted learning data; And be provided.
  • the data learning analysis system of this embodiment encrypts data (learning data) used for learning, (b) By adding dummy data to the set of learning data, the label is surely concealed and the security is increased.
  • the additive homomorphic encryption method used in the present embodiment is an encryption algorithm having additiveness among encryption methods having homomorphism (a public key encryption method is assumed in the present embodiment).
  • an additive homomorphic encryption scheme has additiveness between ciphertexts in addition to asymmetry with respect to an encryption key and a decryption key that a normal public key cryptosystem has. That is, for two ciphertexts, the plaintext is the arithmetic sum of the plaintexts for the two ciphertexts (hereinafter referred to as addition or simply sum, and the operator used for the arithmetic sum is also expressed as “+”). Can be calculated using only public information (without using a secret key or plaintext).
  • E (m) E (m 1 + m 2 ) holds. Also in the following description, E (m) represents a ciphertext of plaintext m.
  • Additive homomorphic encryption private key / public key generation algorithm This refers to a secret key / public key generation algorithm defined in the additive homomorphic encryption algorithm described above.
  • a security parameter and a key seed are input as commands, and a secret / public key having a specific bit length is output.
  • Additive homomorphic encryption encryption algorithm This refers to the encryption algorithm defined in the additive homomorphic encryption algorithm described above.
  • the additive homomorphic encryption algorithm receives plaintext and public key as input and outputs ciphertext.
  • Additive homomorphic encryption / decryption algorithm This refers to a decryption algorithm defined by the additive homomorphic encryption algorithm described above.
  • the additive homomorphic encryption / decryption algorithm receives a ciphertext and a secret key, and outputs a plaintext corresponding to the ciphertext.
  • Additive homomorphic encryption addition algorithm This refers to an algorithm that realizes an addition operation between ciphertexts defined by the additive homomorphic encryption algorithm described above.
  • a plurality of ciphertexts are input as commands, and a ciphertext corresponding to the sum of plaintexts of the plurality of ciphertexts is output.
  • the ciphertext E (100) corresponding to 100 and the ciphertext E (200) corresponding to 200 are input as commands
  • the ciphertext E (300) corresponding to 300 (100 + 200) is output.
  • a learning data set D ⁇ (x i , y i )
  • each x i vector called a feature vector.
  • Y i is a class for classifying data by the pattern discriminator (see FIG. 1), and is called a label.
  • a learning data set (hard margin problem) that can be separated by a hyperplane or a hypersurface as shown in FIG. 3 will be described, but the present invention is not limited to this, and separation is performed. The same method can be applied to cases where this is not possible (soft margin problem).
  • description is made using an example that can be separated on a hyperplane, but the present invention is not limited to this, and an example that can be separated on a non-linear hypersurface using an existing kernel method. Is also applicable.
  • the gradient method is an algorithm for searching for a solution based on information on the gradient of a function in an optimization problem. For the SVM problem, the optimum solution (a 1 , a 2 ,..., A n ) that maximizes the objective function L is obtained by the gradient method.
  • the i-th component L ′ i of the gradient vector of the function L is Therefore, the coefficients (a 1 , a 2 ,..., A n ) are recursively updated at the update rate ⁇ by the gradient method. It is possible to obtain an optimal solution or its approximate solution by updating.
  • (A) Encryption of learning data In this embodiment, after label y i of learning data is encrypted, it is given to the analysis execution apparatus 200 that executes SVM learning. As a result, the contents of label y i (whether it is +1 or ⁇ 1) are concealed from the analysis execution apparatus 200 side. Since the contents of the label y i are concealed, it becomes difficult for the analysis execution apparatus 200 to give meaningful meaning to the learning data.
  • the additive homomorphic encryption method is used for the encryption algorithm.
  • the encrypted data encrypted by the additive homomorphic encryption method can be added with the ciphertext as encrypted (without decryption), and the result of decrypting the added ciphertext is , Corresponding to the result of adding the corresponding plaintext.
  • the above update equation (4) can be modified as the following equation (5).
  • the analysis execution apparatus 200 performs SVM learning using the above equation (6) as an update equation.
  • SVM learning can be performed while the ciphertext E (y i ) remains without giving plaintext to the analysis execution apparatus 200 with respect to the label y i .
  • the reciprocal update is performed twice or more using the update equation (6), and the ciphertext E (y) is multiplied. Is required. Therefore, in this embodiment, the update process is performed only once.
  • (B) Addition of dummy data In this embodiment, dummy data is added to a set of learning data. As a result, it becomes difficult for the analysis execution apparatus 200 to which the learning data set is given to guess the significance of the learning data using, for example, the bias of the distribution of the learning data.
  • the dummy data added to the learning data set is given a label y i of 0 which is neither +1 nor -1.
  • the term related to the label y i of the dummy data becomes 0 on the right side of the update formula (5), and there is no influence on the update formula (5).
  • This is also equivalent in the update formula (6) using an additive additive homomorphic encryption method.
  • the label is encrypted on the analysis performer side, it can be determined that it is not possible to determine whether or not the learning data is dummy data. In addition, it is possible to make the meaning of the learning data more difficult by adding dummy data so that the set of learning data approaches a uniform distribution.
  • FIG. 2 is a schematic diagram of a data learning analysis system according to an embodiment of the present invention.
  • the data learning analysis system of the present embodiment includes an analysis requesting device 100 and an analysis execution device 200.
  • the analysis requesting apparatus 100 is a computer that manages learning data.
  • the analysis execution device 200 is a computer that performs processing related to SVM learning.
  • the analysis request device 100 and the analysis execution device 200 are designed to be able to send and receive information to and from each other via the network 300.
  • the network 300 is, for example, the Internet or a LAN (Local Area Network), and is constructed by, for example, Ethernet (registered trademark), an optical fiber, a wireless communication path, a public telephone line network, a dedicated telephone line network, or the like.
  • the analysis requesting apparatus 100 transmits a set of learning data to the analysis execution apparatus 200 via the network 300.
  • the analysis execution apparatus 200 performs SVM learning on the learning data received from the analysis requesting apparatus 100, and the result of SVM learning ( Hereinafter, the learning result is transmitted to the analysis requesting apparatus 100 via the network 300.
  • the analysis requesting apparatus 100 generates a pattern classifier using the learning result.
  • FIG. 3 is a hardware schematic diagram of the analysis requesting apparatus 100.
  • the analysis request apparatus 100 includes a CPU 101, an auxiliary storage device 102, a memory 103, a display device 105, an input / output interface 106, and a communication device 107 connected by an internal signal line 104. Configured.
  • the auxiliary storage device 102 stores program codes. The program code is loaded into the memory 103 and executed by the CPU 101.
  • analysis execution apparatus 200 has the same hardware configuration as that shown in FIG.
  • FIG. 4 is a software schematic diagram of the analysis requesting apparatus 100.
  • the analysis requesting apparatus 100 includes a learning data storage unit 121, a dummy data storage unit 122, a dummy data addition processing unit 123, an encryption processing unit 124, a learning data transmission unit 125, a learning result reception unit 126, a decryption processing unit 127, and a pattern.
  • a discriminator generation unit 128 is provided.
  • the learning data storage unit 121 and the dummy data storage unit 122 are realized as part of a storage area provided by the auxiliary storage device 102 and the memory 103 included in the analysis requesting apparatus 100, and include a dummy data addition processing unit 123, an encryption processing unit 124, The learning data transmitting unit 125, the learning result receiving unit 126, the decoding processing unit 127, and the pattern discriminator generating unit 128 load the program code stored in the auxiliary storage device 102 into the memory 103 by the CPU 101 included in the analysis requesting device 100. It is realized by executing.
  • the learning data storage unit 121 stores a learning data set D.
  • x i ⁇ R m , y i ⁇ ⁇ 1, 1 ⁇ i 1, 2,..., N ⁇ It is expressed.
  • the dummy data addition processing unit 123 adds dummy data to the learning data set D.
  • the dummy data is data including a label y of “0”.
  • the dummy data addition processing unit 123 adds dummy data so that the feature vectors included in the learning data collection D have a uniform distribution in the feature space.
  • the dummy data addition processing unit 123 may receive an input of a feature vector having a uniform distribution from the user. For example, the dummy data addition processing unit 123 divides the feature space into sections and determines the uniform distribution using a chi-square test or the like. Until it is done, a section with a small number of feature vectors existing in the section may be selected, and the feature vector may be generated so as to fall into one or more of the selected sections.
  • the dummy data addition processing unit 123 may rearrange the learning data (labeled feature vector) at random (subscript i is randomly replaced).
  • the dummy data addition processing unit 123 stores information indicating dummy data (for example, a suffix i indicating dummy data) in the dummy data storage unit 122.
  • the encryption processing unit 124 encrypts the learning data label y using an additive homomorphic encryption encryption algorithm to generate a ciphertext E (y), and uses the learning data as ciphertext E (y) instead of the label y.
  • E (D) concealment learning data
  • the concealment learning data E (D) is as follows.
  • E (D) ⁇ (x i , E (y i ))
  • x i ⁇ R m , y i ⁇ ⁇ 1, 1, 0 ⁇ i 1, 2,..., N ⁇
  • the learning data transmission unit 125 transmits the concealment learning data to the analysis execution apparatus 200.
  • the learning result receiving unit 126 receives the processing result of SVM learning transmitted from the analysis execution apparatus 200.
  • the real number coefficients (a 1 , a 2 ,..., A m ) ⁇ R m are not received from the analysis execution apparatus 200, but a value ⁇ a i obtained by multiplying the coefficients by labels ⁇ a i y i
  • i 1, 2,..., N ⁇ (hereinafter referred to as learning result) ⁇ E (a i y i )
  • i 1, 2,. Is received as a processing result.
  • the decryption processing unit 127 decrypts the concealment learning result to obtain (a 1 y 1 , a 2 y 2 ,..., A N y N ).
  • the decoding processing unit 127 identifies dummy data in the learning result decoded from the information stored in the dummy data storage unit 122, and removes the dummy data from the learning result (a 1 , a 2 ,... a n ) is extracted.
  • the decoding processing unit 127 adds the vector (a 1 , a 2 ,..., An ) to the orthogonal complement space of (y 1 , y 2 ,..., Y n ).
  • the projected orthographic vector may be used as a learning result.
  • the pattern discriminator generating unit 128 generates a pattern discriminator using the coefficients (a 1 , a 2 ,..., A m ) ⁇ R m . Note that the pattern discriminator generation method is the same as that used in general SVM learning, and a description thereof is omitted here.
  • FIG. 5 is a software schematic diagram of the analysis execution apparatus 200.
  • the analysis execution device 200 includes a learning data receiving unit 221, a coefficient generating unit 222, an update processing unit 223, and a learning result transmitting unit 224.
  • the coefficient generation unit 222, the update processing unit 223, and the learning result transmission unit 224 are realized by the CPU 101 included in the analysis execution device 200 loading the program code stored in the auxiliary storage device 102 into the memory 103 and executing it. Is done.
  • the learning data receiving unit 221 receives the concealed learning data set transmitted from the analysis requesting apparatus 100.
  • the coefficient generator 222 generates coefficients (a 1 , a 2 ,..., A N ) of the objective function L.
  • the coefficient generation unit 222 generates a random number N times as a coefficient. For example, a predetermined initial value (for example, all a i can be set to 0) is set. It may be.
  • the update processing unit 223 performs update processing according to the update formula (6).
  • the update processing unit 223 uses addition processing using an additive homomorphic encryption method for the calculation of the operator “+” according to the update formula (6).
  • an additive homomorphic encryption method having no multiplicative property such as a Palier encryption method
  • the update processing unit 223 randomly A set of ciphertexts E (a i y i ) calculated by giving the set coefficient and the concealment learning data collection to the update formula (6) is directly generated as a concealment learning result.
  • the learning result transmitting unit 224 transmits the concealment learning result to the analysis requesting apparatus 100.
  • FIG. 6 is a diagram showing a flow of processing executed in the data learning analysis system of this embodiment.
  • the encryption processing unit 124 generates a secret key / public key used in the following using a secret key / public key generation algorithm based on an additive homomorphic encryption method (S100).
  • a data set D ⁇ (x i , y i )
  • x i ⁇ R m , y i ⁇ ⁇ 1, 1, 0 ⁇ i 1, 2,..., N ⁇ is generated (S150).
  • the dummy data addition processing unit 123 may rearrange the learning data at random.
  • FIG. 7 illustrates a feature space in which a set of dummy feature vectors having a label 0 is added to a set of positive / negative feature vectors.
  • a vector corresponding to “ ⁇ ” is a positive label feature vector
  • a vector corresponding to “ ⁇ ” is a negative label feature vector
  • a vector corresponding to “ ⁇ ” is a dummy feature vector.
  • the dummy data addition processing unit 123 adds dummy data so that the feature vectors are close to a uniform distribution.
  • x i ⁇ R m , y i ⁇ ⁇ 1, 1, 0 ⁇ i 1, 2,..., N ⁇ .
  • the label y i is a plain text
  • the cipher text E (y i ) is generated using the additive homomorphic encryption encryption algorithm with the public key generated in (S100)
  • the concealment learning data E (D ) ⁇ (X i , E (y i ))
  • x i ⁇ R m , y i ⁇ ⁇ 1, 1, 0 ⁇ i 1, 2,..., N ⁇ is generated (S200).
  • the learning data transmission unit 125 transmits the concealment learning data (D100) to the analysis execution device 200.
  • the analysis performer terminal 200 that has received the concealment learning data (D100) performs the learning process shown in FIG. 8 (S300).
  • the learning result transmission unit 224 returns the learning result ⁇ E (a i y i )
  • i 1, 2,..., N ⁇ to the analysis requesting apparatus 100 as the concealment learning result (D200).
  • the learning result receiving unit 126 receives the concealment learning result (D200) transmitted from the analysis execution apparatus 200, and the decryption processing unit 127 uses the secret key generated in (S100). Then, the concealment learning result (D200) is decrypted to obtain learning results (a 1 y 1 , a 2 y 2 ,..., A N y N ) (S400).
  • the decoding processing unit 127 removes the result corresponding to the dummy data from (a 1 y 1 , a 2 y 2 ,..., A N y N ), and obtains the final coefficient sequence (a 1 , a 2 ,. a n ).
  • the post-processing is finished as described above (S500).
  • the decoding processing unit 127 As a vector (a 1, a 2, ... , a n) and (y 1, y 2, ... , y n) are orthogonally projected on the orthogonal complement of the coefficient sequence that orthogonal projection vector (a 1 , A 2 ,..., A n ).
  • the pattern discriminator generating unit 128 generates a pattern discriminator using the coefficient sequence (a 1 , a 2 ,..., An ) (S600).
  • FIG. 8 is a diagram showing a processing flow of the learning process in (S300) of FIG.
  • the update processing unit 223 calculates the update formula (6) for the initial coefficients (a 1 , a 2 ,..., A N ) and the concealment learning data (D100) (S303).
  • the learning result transmission unit 224 transmits the concealment learning processing result ⁇ E (a i y i )
  • i 1, 2,..., N ⁇ (D200) calculated by the update formula (6) to the analysis requesting apparatus 100. (S304).
  • the SVM learning is performed by the gradient method while the label is encrypted (without decryption). be able to. Therefore, the label attached to the feature vector as the teacher signal can be kept secret from the analysis execution apparatus 200 side.
  • the label is encrypted instead of linear conversion.
  • linear conversion is performed on all feature vectors using the same matrix, and therefore, for example, a combination of a concealed feature vector and an original feature vector is a feature.
  • the matrix used for the conversion may be specified, and thereby the original feature vector may be specified.
  • the additive homomorphic cryptosystem is resistant to selected plaintext / ciphertext attacks, and it is difficult to estimate the label even if a set of feature vectors leaks beyond the dimension of the feature vector space. . Therefore, the label can be securely concealed from the analysis execution apparatus 200 side, and an improvement in security is expected.
  • the label is encrypted after adding dummy data to the learning data set, it is difficult to estimate the label from the uneven distribution of feature vectors. Therefore, security can be improved.
  • security can be improved.
  • dummy data is used so that the feature vectors approach a uniform distribution. It is difficult to infer information about the original feature vector from the set of encrypted feature vectors. Therefore, the label can be securely concealed from the analysis execution apparatus 200 side. Therefore, security can be further improved.
  • the label of the dummy data is set to “0”, it is possible to eliminate the influence due to the addition of the dummy data in the gradient method update process.
  • the label of the dummy data is also encrypted, it cannot be estimated from the encrypted data whether the influence is eliminated. Therefore, it is possible to securely conceal the learning data from the analysis execution apparatus 200 side.
  • the analysis execution apparatus 200 updates the initial coefficient by the gradient method only once (S303).
  • the gradient method In the learning process (S300) in the first embodiment, the analysis execution apparatus 200 updates the initial coefficient by the gradient method only once (S303).
  • the solution obtained as shown in FIG. 7 is not always the optimal solution. Therefore, the hypersurface obtained from the concealment learning result (D200) that has been updated only once may not coincide with the hypersurface that maximizes the margin obtained from the optimal solution as shown in FIG. It depends on the value of random coefficients (a 1 , a 2 ,..., A N ) selected as initial coefficients.
  • k initial values (a 1 , a 2 ,..., A N ) are prepared, update processing is performed, and the sum of the update results E (a i y i ) is calculated. Easing the dependence on the initial value.
  • the only difference from the first embodiment is the learning process (S300), and the other processing flow is the same as that of the first embodiment, so only the learning process (S300) will be described here.
  • FIG. 11 is a processing flow of the learning process (S300) in the second embodiment.
  • the initialization learning result E (a i y i ) is initialized to 0 (S603).
  • the update processing unit 223 performs initial coefficient (a 1 , a 2 ,..., A N ), concealment learning data (D100), and concealment learning result ⁇ E (a i y i )
  • i 1, 2, ..., N ⁇ and update formula
  • the concealment learning result E (a i y i ) is updated (S604).
  • i 1, 2,..., N ⁇ calculated by the update formula (7). The data is transmitted to the device 100 (S606).
  • FIG. 12 is a diagram for explaining the update process in the learning process (S300) in the second embodiment.
  • the concealment learning process result (D200) is calculated from the update process of one initial coefficient, but in the second embodiment, the concealment is performed by adding a plurality of initial coefficients.
  • the computerized learning process result (D200) is calculated. Therefore, compared to the case where the update process is performed only once as in the first embodiment (see FIG. 9), a solution closer to the optimal solution can be obtained.
  • the analysis execution device 200 can be configured not to decrypt the concealment learning data. Therefore, the learning result can be made closer to the optimum solution while keeping the learning data secret from the analysis execution apparatus 200 side.
  • the analysis requesting apparatus 100 and the analysis execution apparatus 200 are assumed to be a single computer.
  • the present invention is not limited thereto, and for example, at least one of the analysis requesting apparatus 100 and the analysis execution apparatus 200 is a plurality of computers. You may comprise by a computer.
  • the update equations (5) to (7) may be calculated using a general kernel function K (x i , x j ) including values.
  • the update coefficient ⁇ is set to 0.01. However, this value is not necessarily set, and a value calculated by an update coefficient determination algorithm of an existing gradient method may be used.
  • the coefficient generation unit 222 of the analysis execution apparatus 200 determines the number k for which the initial value of the coefficient is prepared.
  • the value k is specified from the analysis request apparatus 100. Also good.
  • the learning data transmission unit 125 may receive an input of a value of k from the user and transmit it to the analysis execution device 200 together with the concealment learning data.
  • Analysis request device 101
  • CPU Auxiliary storage device (storage device)
  • DESCRIPTION OF SYMBOLS 103
  • Memory 104
  • Internal signal line 105
  • Display apparatus 106
  • Input / output interface 107
  • Communication apparatus 200
  • Analysis execution apparatus 300 Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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 JPOXMLDOC01-appb-I000003
ただし、全てのa≧0であり、
   
Figure JPOXMLDOC01-appb-I000004
という制約条件上を満たすものとする。
(8)勾配法
 勾配法とは、最適化問題において関数の勾配に関する情報を基に解を探索するアルゴリズムである。上記SVM問題について、上記目的関数Lを最大化する最適解(a,a,…,a)は勾配法により求める。
 関数Lの勾配ベクトルの第i成分L’が、
   
Figure JPOXMLDOC01-appb-I000005
であるため、勾配法により係数(a,a,…,a)を、更新率γで再帰的に
   
Figure JPOXMLDOC01-appb-I000006
と更新することで最適解もしくはその近似解を得る事が可能である。
==発明の概要==
 上述のとおり、本実施形態のデータ学習分析システムでは、SVM学習にあたり(a)学習データを暗号化し、(b)学習データにダミーデータを追加する。
(a)学習データの暗号化
 本実施形態では、学習データのラベルyを暗号化したうえでSVM学習を実行する分析実行装置200に与える。これにより、分析実行装置200側に対してラベルyの内容(+1であるか-1であるか)を隠蔽する。ラベルyの内容が隠蔽されることにより、分析実行装置200では学習データに有意な意味づけを行うことが困難となる。
 暗号化のアルゴリズムには加法的準同型暗号化方式を用いる。上述したように、加法的準同型暗号方式により暗号化された暗号化データは、暗号化したまま(復号することなく)暗号文の加算が可能であり、加算された暗号文を復号した結果は、対応する平文が加算された結果に一致する。SVM学習の最適解(または近似解)の算出に勾配法を用いる場合、上記更新式(4)を次式(5)のように変形することができる。
   
Figure JPOXMLDOC01-appb-I000007
 ここで、(a,a,…,a)と(x,x,…,x)とγが既知であれば、更新式(5)の右辺はyに関してスカラー積の和である。したがって、yに代えて加法的準同型暗号での暗号文E(y)を与え、平文yを与えなかったとしても、加法的準同型暗号の加法性を利用して更新式(5)の計算が可能である。すなわち、次式(6)を更新式として計算することができる。
   
Figure JPOXMLDOC01-appb-I000008
 本実施形態のデータ学習分析システムでは、分析実行装置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 JPOXMLDOC01-appb-I000009
となるように、ベクトル(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 JPOXMLDOC01-appb-I000010
に与えて秘匿化学習結果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 JPOXMLDOC01-appb-I000001
    により算出した暗号文の集合{E(a)|i=1,2,…,N}をサポートベクトルマシン学習の前記更新処理の処理結果として生成すること、
     を特徴とするサポートベクトルマシン学習システム。
  4.  請求項1または2に記載のサポートベクトルマシン学習システムであって、
     前記学習装置は、前記更新処理の対象となる係数(a,a,…,a)の初期値を生成する係数生成部をさらに備え、
     前記更新処理部は、i=1,2,…,Nについて、前記特徴ベクトルをx、前記ラベルをy、前記加法的準同型暗号方式により暗号化された前記ラベルをE(y)、カーネル関数をKとして、
    Figure JPOXMLDOC01-appb-I000002
    により算出した暗号文の集合{E(a)|i=1,2,…,N}をサポートベクトルマシン学習の前記更新処理の処理結果として生成すること、
     を特徴とするサポートベクトルマシン学習システム。
  5.  請求項1ないし4のいずれか1項に記載のサポートベクトルマシン学習システムであって、
     前記更新処理部は、前記更新処理の対象となる複数の係数組のそれぞれを用いて前記更新処理を行うこと、
     を特徴とするサポートベクトルマシン学習システム。
  6.  請求項5に記載のサポートベクトルマシン学習システムであって、
     前記更新処理部は、前記複数の係数組のそれぞれについての前記更新処理の処理結果を合計し、当該合計値を前記処理結果とすること、
     を特徴とするサポートベクトルマシン学習システム。
  7.  サポートベクトルマシン学習を行うシステムであって、
     前記サポートベクトルマシン学習の対象となる、特徴ベクトルおよび加法的準同型暗号方式により暗号化されたラベルを含む学習データの集合を記憶する学習データ記憶部と、
     前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行う更新処理部と、
     を備えることを特徴とするサポートベクトルマシン学習システム。
  8.  サポートベクトルマシン学習を行う方法であって、
     前記サポートベクトルマシン学習の対象となる、ラベルおよび特徴ベクトルを含む学習データの集合を記憶する学習データ管理装置が、
     前記学習データの前記ラベルを加法的準同型暗号方式により暗号化するステップと、
     前記暗号化した前記ラベルおよび前記特徴ベクトルを含む暗号化学習データを学習装置に送信するステップとを実行し、
     前記学習装置が、
     前記暗号化学習データを受信するステップと、
     前記暗号化学習データに対して加法的準同型加算アルゴリズムを用いて勾配法による更新処理を行うステップとを実行すること、
     を特徴とするサポートベクトルマシン学習方法。
  9.  請求項1に記載のサポートベクトルマシン学習方法であって、
     前記学習データ管理装置はさらに前記学習データの集合にダミーデータを追加するステップを実行し、
     前記ダミーデータに含まれる前記ラベルの値は0であること、
     を特徴とするサポートベクトルマシン学習方法。
PCT/JP2014/060533 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 WO2015155896A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016512563A JPWO2015155896A1 (ja) 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法
PCT/JP2014/060533 WO2015155896A1 (ja) 2014-04-11 2014-04-11 サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法
US15/303,092 US20170039487A1 (en) 2014-04-11 2014-04-11 Support vector machine learning system and support vector machine learning method

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
WO2015155896A1 true WO2015155896A1 (ja) 2015-10-15

Family

ID=54287495

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/060533 WO2015155896A1 (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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657104A (zh) * 2017-09-20 2018-02-02 浙江浙能台州第二发电有限责任公司 基于在线支持向量机的锅炉燃烧系统动态建模方法
JP2018054765A (ja) * 2016-09-27 2018-04-05 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム
JP2020115257A (ja) * 2019-01-17 2020-07-30 富士通株式会社 学習方法、学習プログラムおよび学習装置
WO2022138959A1 (ja) * 2020-12-25 2022-06-30 国立研究開発法人情報通信研究機構 協調学習システム及び協調学習方法
US11522671B2 (en) 2017-11-27 2022-12-06 Mitsubishi Electric Corporation Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
WO2024034077A1 (ja) * 2022-08-10 2024-02-15 日本電気株式会社 学習システム、学習方法、およびコンピュータ可読媒体

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP6691087B2 (ja) * 2017-10-04 2020-04-28 ファナック株式会社 熱変位補正システム
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
JP7079483B2 (ja) * 2018-06-18 2022-06-02 国立研究開発法人産業技術総合研究所 情報処理方法、システム及びプログラム
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 深圳前海微众银行股份有限公司 反洗钱联合学习方法、装置、设备、系统及存储介质
WO2020155173A1 (en) * 2019-02-03 2020-08-06 Platon Co., Limited Data processing method, device and system for machine learning model
JP7287474B2 (ja) * 2019-08-23 2023-06-06 日本電信電話株式会社 デバイス識別装置、デバイス識別方法およびデバイス識別プログラム
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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JUSTIN ZHAN ET AL.: "How To Construct Support Vector Machines Without Breaching Privacy", STUDIA INFORMATICA, vol. 1, no. 7, 2006, pages 233 - 244, XP055229535 *
KENG-PEI LIN ET AL.: "Privacy-Preserving Outsourcing Support Vector Machines with Random Transformation", PROCEEDINGS OF THE 16TH ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 25 July 2010 (2010-07-25), pages 363 - 372, XP055229532 *
YASUHIRO FUJII ET AL.: "Advanced Security Technologies for Cloud Computing and Utilization of Big Data", HITACHI HYORON, vol. 94, no. 10, 1 October 2012 (2012-10-01), pages 49 - 53, XP055229536 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018054765A (ja) * 2016-09-27 2018-04-05 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム
CN107657104A (zh) * 2017-09-20 2018-02-02 浙江浙能台州第二发电有限责任公司 基于在线支持向量机的锅炉燃烧系统动态建模方法
US11522671B2 (en) 2017-11-27 2022-12-06 Mitsubishi Electric Corporation Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
JP2020115257A (ja) * 2019-01-17 2020-07-30 富士通株式会社 学習方法、学習プログラムおよび学習装置
JP7279368B2 (ja) 2019-01-17 2023-05-23 富士通株式会社 学習方法、学習プログラムおよび学習装置
WO2022138959A1 (ja) * 2020-12-25 2022-06-30 国立研究開発法人情報通信研究機構 協調学習システム及び協調学習方法
WO2024034077A1 (ja) * 2022-08-10 2024-02-15 日本電気株式会社 学習システム、学習方法、およびコンピュータ可読媒体

Also Published As

Publication number Publication date
US20170039487A1 (en) 2017-02-09
JPWO2015155896A1 (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
WO2015155896A1 (ja) サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法
CN110572253B (zh) 一种联邦学习训练数据隐私性增强方法及系统
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
JP5657128B2 (ja) 秘匿計算システム、秘匿計算方法、および秘匿計算プログラム
US20150149763A1 (en) Server-Aided Private Set Intersection (PSI) with Data Transfer
US10313119B2 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
JP2016512611A (ja) プライバシー保護リッジ回帰
CN113162752B (zh) 基于混合同态加密的数据处理方法和装置
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
JP2018142013A (ja) 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
CN113434878B (zh) 基于联邦学习的建模及应用方法、装置、设备及存储介质
Shu et al. Secure task recommendation in crowdsourcing
CN107204997A (zh) 管理云存储数据的方法和装置
JP2012128398A (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
Njorbuenwu et al. A survey on the impacts of quantum computers on information security
KR101697868B1 (ko) 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
US10594473B2 (en) Terminal device, database server, and calculation system
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
Raja et al. Opposition based joint grey wolf-whale optimization algorithm based attribute based encryption in secure wireless communication
Bandaru et al. Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment
CN112380404B (zh) 数据过滤方法、装置及系统
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
CN108599941A (zh) 随机非对称扩充字节通信数据加密方法
CN112906052A (zh) 联邦学习中多用户梯度置换的聚合方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888570

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016512563

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15303092

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14888570

Country of ref document: EP

Kind code of ref document: A1