WO2014050952A1 - バイナリデータ変換方法と装置及びプログラム - Google Patents
バイナリデータ変換方法と装置及びプログラム Download PDFInfo
- Publication number
- WO2014050952A1 WO2014050952A1 PCT/JP2013/076021 JP2013076021W WO2014050952A1 WO 2014050952 A1 WO2014050952 A1 WO 2014050952A1 JP 2013076021 W JP2013076021 W JP 2013076021W WO 2014050952 A1 WO2014050952 A1 WO 2014050952A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hash function
- function
- distance
- parameter
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Definitions
- the present invention is based on a Japanese patent application: Japanese Patent Application No. 2012-213419 (filed on September 27, 2012), and the entire description of the application is incorporated in the present specification by reference.
- the present invention relates to a binary data conversion method, apparatus, and program.
- Binary hashing refers to multiple (n) data sets (data sets) represented by points on the D dimension (D is a predetermined positive integer) space.
- the mapping is performed in a Hamming space that is a binary code (binary code) in which the neighboring points (near or nearest neighbors) in the original space are similarly neighboring. That is, n binary codes (binarized data) having a K-bit length (K is a predetermined positive integer) while maintaining the proximity relation according to the Euclid distance in the space R D ⁇ n of the original data set Convert to The symbol ⁇ represents a vector.
- R represents a set of all real numbers
- B represents a binary code (binary code).
- K hash functions are used to generate K-bit binary code.
- the hash function takes a D-dimensional vector as an input, and outputs a binary value -1 or 1, for example.
- sgn () is a sign function that returns the sign of the argument (in Expression (3), -1 when the argument f () is negative, +1 when it is non-negative (0 or positive), f () is a conversion function, ⁇ w k is a projection vector, T is a transposition, ⁇ x is a data point, and b k is a threshold (offset).
- Binary hashing techniques include a series of techniques called Locality Sensitive Hashing (abbreviated as “LSH”) (see Non-Patent Document 1, etc.).
- LSH Locality Sensitive Hashing
- the LHS uses an identity function for the transformation function f () in the above equation (1), ⁇ randomly selects w from the p-stable distribution (p stable distribution), and ⁇ randomly selects b from the uniform distribution. LHS does not depend on parameter selection or learning data. For this reason, the time required for parameter determination is very short.
- Non-Patent Document 2 discloses a method in which selection of a hash function parameter does not depend on learning data. This approach, ⁇ which selectively w in the same manner as LHS, converted as a function f (), and using the trigonometric function, it is said that, the accuracy in the bit length K is not greater are improved.
- Spectral Hashing disclosed in Non-Patent Document 3 uses a trigonometric function as the hash function conversion function f (), moves the learning data so that its center of gravity is the origin, sets the offset b to 0, the projection vector ⁇
- This is a method of selecting a principal axis obtained by performing principal component analysis (Principal Component Analysis: PCA) on learning data ⁇ ⁇ x i ⁇ as w k . That is, the Spectral Hashing algorithm is defined as follows.
- a binary code is obtained by setting the output of the analytic eigenfunction when each data is input to 0 as a threshold value.
- Non-Patent Document 3 exemplifies the following as the eigenfunction ⁇ k and eigenvalue ⁇ k of the one-dimensional Laplacian Lp.
- the projection vector ⁇ w is randomly generated, but in Spectral Hashing, it is obtained based on principal component analysis (PCA) of data. For this reason, Spectral Hashing is said to have better accuracy than LHS.
- PCA principal component analysis
- spectral hashing requires principal component analysis. For this reason, for example, when stable singular value decomposition is used as a numerical calculation, the amount of calculation of Spectral Hashing is O (N 2 ) to O for the order of matrix (number of feature dimensions) N. An order of (N 3 ) is required.
- O (N 2 ) to O (N 3 ) indicate that the calculation amount is an algorithm that is proportional to the square of the input data set size (N) and the order of the third power.
- a pattern to be recognized forms a relatively compact and complex manifold in a feature space.
- the pattern distribution tends to concentrate in a partial space spanned by a small number of principal component vectors, and the accuracy is not sufficient.
- Non-Patent Document 4 In the algorithm disclosed in Non-Patent Document 4 that solves this problem (Unsupervised sequential projection learning for hashing (abbreviated as USPLH)), f () is moved to be the identity function and the center of learning data is the origin. Later, eigenvectors are obtained, and the data is projected and thresholded at zero. The r + point close to 0 and the r ⁇ point (see FIG. 1) are assigned different hash values even though the distance is close. Points with the same sign and r + close to 0 and points with R + far from 0 are assigned the same hash value, and points with r ⁇ close to 0 and R ⁇ far from 0 are assigned the same hash value. (See FIG. 1). In USPLH, learning of parameter ⁇ w k is performed by the following algorithm (see Algorithm 2 of Non-Patent Document 4).
- the learning data X and the binary code length (hashing code length) K are input.
- USPLH introduces an adjacent pair set M and a non-adjacent pair set C.
- the data point pair ( ⁇ x i , ⁇ x j ) included in the set M is, for example, a data point in r ⁇ and a data point in r + , and the same hash bit should be assigned.
- a data point pair ( ⁇ x i , ⁇ x j ) included in the set C is a data point in R ⁇ and a data point in r ⁇ , or a data point in R + and a data point in r + .
- Different hash bits should be assigned.
- the following neighbor-pair set M and non-neighbor-pair set C are introduced.
- a desired number of pairs are sampled from the neighborhood pair set M and the non-neighbor pair set C.
- XMC includes all points separated by at least one sample pair. Using labeled by pairs and X MC (m pieces sampling), determination of the pairwise label matrix S MC.
- the pseudo-label allows the data point pairs in set M to be assigned to the same hash value, the data point pairs in set C to be assigned to different hash values, and corrects errors in the previous hash function To do.
- Each hash function h k () generates a label matrix S k MC corresponding to the pseudo label X k MC .
- New label information is used to adjust the data covariance matrix at each iteration of sequential learning.
- ⁇ w When learning a new projection vector ⁇ w, all pair-wise label matrices from the start are used, but the contribution decreases exponentially with the parameter ⁇ at each iteration.
- the principal component direction corrected by the residual error is obtained, but since there is no pseudo label at the start time, the first vector ⁇ w 1 is the main direction of the data.
- Each hash function is learned so as to repeatedly satisfy the pseudo label by adjusting the data covariance matrix. It can be seen that the above USPLH algorithm is a method for obtaining the principal component direction corrected by the residual error.
- Non-Patent Document 5 in biometric authentication, an authentication template placed on a database is masked with a random BCH (Bose-Chaudhuri-Hocquenghem) codeword C (bitwise XOR (exclusive OR). ))), A method for protecting biometric information is disclosed (referred to in an embodiment described later). In this method, since the authentication template needs to be fixed-length binary data, the binary hashing technique can be applied.
- BCH Bit-Chaudhuri-Hocquenghem
- C bitwise XOR (exclusive OR).
- FIG. 2 shows an example in which a char (character type) numerical value 179 is represented by 8 bits.
- MSB Maximum Bit
- LSB Even if only one bit is different when the number of bits that become “1” after XOR (exclusive OR) operation is the distance
- the weight is different from the (Least Significant Bit) side.
- 8 bits (1 byte) if the difference of 1 bit is MSB, the weight is 128. If the difference of 1 bit is LSB, the weight is 1 and the bit position is 1 bit.
- the value varies greatly depending on the difference in weight. Therefore, it is desirable that the weight of each bit be as equal as possible.
- FIG. 3 is a diagram schematically illustrating spectral hashing, in which zeroth to third eigenvectors are shown.
- ⁇ Set positive and negative areas in the principal component direction of PCA.
- ⁇ The size of the area changes in stages, Is a feature. It can be seen that this is essentially the same as the numeric bit representation shown in FIG.
- FIG. 4 shows eigenvectors in the USPLH algorithm. As shown in FIG. 4, by expressing (encoding) a numerical value with a step function, the weight of each bit can be made equal, and the distance by exclusive OR (XOR) and the feature amount space It can be seen that the distance is proportional.
- the learning type is effective, since it is binarization based on the origin threshold value in the linear subspace, accuracy and the like are limited.
- the present invention has been made in view of the above problems, and an object thereof is to provide a binary data conversion method, apparatus, system, and program for improving accuracy while suppressing an increase in calculation amount. It is in.
- a hash function parameter optimization unit that optimizes parameters of a hash function.
- a binary representation is made based on a value obtained by inputting a set of a plurality of data represented by points on a D-dimensional space (D is a predetermined positive integer determined in advance) from the storage unit and projecting the data points onto a projection vector.
- the hash function parameter optimizing unit obtains a hash value by using a hash function of a continuous value function including a projection of the data point onto a projection vector as the hash function, and as a binary conversion learning data of a continuous value
- a hash function calculation unit that outputs to the storage unit, and stores the distance as a distance between data points within a predetermined distance parameter determined in advance, but a distance function that decreases when the distance parameter is exceeded.
- a parameter of the hash function that minimizes a cost function defined based on at least a distance calculated using the distance of the binary conversion learning data of the continuous value is derived as the optimized parameter of the hash function
- An apparatus binary data conversion apparatus
- a parameter optimization step of optimizing a hash function parameter A set of a plurality of data represented by points on a D-dimensional (D is a predetermined positive integer) space is input from the storage unit, and converted into a binary representation based on a value obtained by projecting the data points onto a projection vector.
- a variable is obtained by using a hash function of a continuous value function including a projection of the data point onto a projection vector, and a hash value is obtained and output to a storage unit as binary conversion learning data of a continuous value,
- the distance between the data points is a value that stores the distance between the data points within a predetermined distance parameter that is set in advance.
- a method of deriving a parameter of the hash function that minimizes a cost function defined based on at least a distance to be measured and a distance of the binary conversion learning data of the continuous value as the optimized parameter of the hash function ( A binary data conversion method is provided.
- a parameter optimization process for optimizing a hash function parameter A binary representation is made based on a value obtained by inputting a set of a plurality of data represented by points on a D-dimensional space (D is a predetermined positive integer determined in advance) from the storage unit and projecting the data points onto a projection vector.
- a variable is a hash value obtained using a hash function of a continuous value function including a projection of the data point onto a projection vector, and output to a storage unit as binary conversion learning data of a continuous value Function operation processing,
- the distance is stored within a predetermined distance parameter determined in advance as the distance between data points, but when the distance parameter is exceeded, the distance is calculated using a distance function that decreases, and binary conversion of the continuous value
- a program including a process of deriving a parameter of the hash function that minimizes a cost function defined based on at least a distance of learning data as the optimized parameter of the hash function.
- a random number S is generated for the binary data Z converted by the binary data converter for the data set extracted from the biological information in the feature amount,
- Z (+) C an exclusive OR
- S an output H of a hash function having the random number S as an input
- the binary data Z ′ to be authenticated converted by the binary data conversion device and the (Z (+) C) read from the database are exclusive.
- the value C ′ obtained by ORing is input to the decoder to perform error correction decoding, Input the output S ′ of the decoder into a hash function,
- a biometric authentication system for determining whether or not the output H (S ′) of the hash function is equal to H (S) registered in the database is provided.
- the encoder uses a linear code as an error correction code, and the hash function has homomorphism.
- the authentication phase every time authentication is performed, a second random number S ′ is generated, and the second random number S ′ is subjected to error correction coding by a second encoder, and the binary data conversion.
- a binary data conversion method, apparatus, system, and program based on learning of a completely new hash function, which improves accuracy while suppressing an increase in calculation amount.
- FIG. 3 is a diagram illustrating Example 1.
- FIG. 6 is a diagram illustrating Example 2.
- ⁇ (t) is a control parameter
- ⁇ w k is a projection vector (absolute value
- T is transposed ( ⁇ w k T is ⁇ w k transposition vector)
- ⁇ x is a D-dimensional data point
- ⁇ k is a threshold (offset)
- ⁇ w k T ⁇ x is the inner product of data point ⁇ x and projection vector ⁇ w k , data Projection of point ⁇ x ⁇ w k .
- ⁇ (t) is a positive value, and as the learning progresses, a constant or ⁇ (t) increases as the number of iterations at the time of optimization described later increases. To control.
- FIG. 5 shows a hash function hash (x) using the sigmoid function of Expression (5).
- x on the horizontal axis is the value of ⁇ w k T ⁇ x ⁇ k in equation (5)
- the vertical axis is the value of the sigmoid function.
- the hash function hash (x) (sigmoid function) in FIG. 5 is ⁇ 1 or +1 in the limit of ⁇ ⁇ ⁇ , which is consistent with the equation (6).
- a binary hash value is obtained using the hash function (binarization function) of the equation (6).
- an element d i, j of i rows and j columns of an n ⁇ n distance matrix D representing a distance between data points in the D-dimensional feature amount space is defined by the following equation (7).
- ⁇ is a positive constant, and is a value (distance parameter) that predefines the neighborhood in the feature amount space.
- FIG. 6 shows a graph of the elements d i, j of the distance matrix of the above equation (7).
- the horizontal axis x is the distance
- ⁇
- x on the horizontal axis is 1.
- > ⁇ , d i, j decreases rapidly (exponentially).
- FIGS. 7A and 7B are diagrams for explaining the concept of the neighborhood in the feature amount space (R D ⁇ n ).
- the distance is stored within the vicinity of a certain point and within the radius ⁇ , and the distance is not stored outside the radius ⁇ , that is, other than the vicinity. That is, a bit expression that can be approximated at any distance in binary binarization such as binary hashing is not necessarily desired.
- the distance in the vicinity is important for discrimination between the person and others, for example.
- the approximation error may be large as long as the distance between the position and a certain distance is sufficiently large with respect to the threshold. It can be said.
- the hash function defined by the sigmoid function of Equation (5)
- the middle parameters ⁇ w k and ⁇ k are learned as the coefficients (parameters) of the hash function that minimizes the value of the cost function (objective function) S (W, ⁇ ⁇ ) given by the following equation (8) (optimum) Problem).
- d i, j is an element (i, j) of the distance example D (distance between the i-th data point and the j-th data point).
- is the distance of the binary conversion learning data obtained from the hash value.
- the binary codes y i and y j converted from the original data set by the hash function are compared by XOR (exclusive OR).
- the binary code In the case of, it is expressed by a quadratic expression that is equivalent to XOR.
- the learning of the coefficient (parameter) of the hash function is not particularly limited when obtaining the minimum value of the cost function S, but the steepest descent method (Most Steepest Descent) is used.
- the parameters of the hash function sigmoid function ⁇ the optimal values of w k and ⁇ k Ask for. ⁇ Represents the optimum value.
- binary representation (binarization function) is replaced with a sigmoid function (equation (5)) that takes continuous values, for example, optimization such as steepest descent method
- sigmoid function equation (5)
- the sigmoid function is made closer to the binarization function by increasing the value of ⁇ (t) depending on the number of learnings t.
- the slope of the cost function S (partial differential coefficient of S ⁇ w (t) k , ⁇ (t) k )
- ⁇ (t) is controlled to be a predetermined positive constant or to be reduced ( ⁇ (t + 1) ⁇ (t) ) for each iteration.
- Equation (11) The partial differential term of equation (11) is expressed by the following equation (13). ⁇ (13)
- Equation (12) The partial differential term of equation (12) is expressed by the following equation.
- the optimal parameters ⁇ W (t + 1) , ⁇ ⁇ ⁇ (t + 1) and ⁇ ⁇ (t + 1) of the hash function are set.
- Binary obtained from n binary hash codes Y ⁇ B K ⁇ n having a K-bit length obtained by binarization with the horizontal axis x 0 in FIG. 5 using the parameters of the sigmoid function of Equation (5) Code.
- derived optimized Binarization may be performed by substituting the parameters ⁇ W (t + 1) and ⁇ ⁇ ⁇ (t + 1. This binary code is used, for example, in the proximity neighborhood search process.
- a sigmoid function expressed as a continuous value is used as a hash function, and the distance d is stored in the vicinity as the distance d of the original data set (Euclid space), but the distance is not stored except in the vicinity (predetermined Binary learning obtained using distance matrix d i, j obtained using characteristic distance function and sigmoid function which is continuous function as hash function.
- Equation (17) is used as a cost function
- the learning of the hash function coefficient that minimizes the cost function is performed in the same manner as when Equation (8) is used as the cost function.
- FIG. 8 is a diagram illustrating the configuration of the embodiment of the present invention.
- FIG. 8 schematically shows a portion (hash function parameter optimization unit (means)) that performs hash function parameter optimization in the apparatus (binary code conversion apparatus) 100 of the present embodiment.
- a data set including a plurality of (n) D-dimensional (D is a predetermined integer value) data points is input, and K values (K is a predetermined value) are binarized based on a value obtained by projecting the data points onto a projection vector.
- An integer value hash function is a device that converts a plurality of (n) binary data having a K-bit length into a distance matrix calculation unit 102, a hash function calculation unit 104, a cost calculation unit 106, a cost comparison unit 108, and an update Operation unit 109, hash function coefficient update unit 110, coefficient output unit 112, storage unit 114 that stores distance parameter ⁇ , storage unit 116 for learning data, storage unit 118 that stores a distance matrix, storage unit 120 for binary conversion learning data , Storage unit 122 for storing cost values, storage unit 124 for convergence determination parameter ⁇ , storage unit 126 for storing hash function coefficients W and ⁇ , parameters And a storage unit 128 for storing.
- the storage devices 114, 116, 118, 120, 122, 124, 126, 128 illustrated as storage devices may be any of magnetic / optical / semiconductor storage. Each storage device may be a different storage area of the same storage device.
- the storage devices 114, 124, and 128 that store the parameters ⁇ , ⁇ , and ⁇ may be latch circuits or registers.
- the learning data stored in the storage unit 116 includes a data set (data ⁇ set) to be converted into binary code (binarized data). For example, the learning data is obtained from feature amounts acquired by feature extraction (Feature Extraction) from biological information or the like. Become.
- the distance matrix calculation unit 102, the hash function calculation unit 104, the cost calculation unit 106, the cost comparison unit 108, the update operation unit 109, the hash function coefficient update unit 110, and the coefficient output unit 112 are programs executed by a computer. You may make it implement
- a computer-readable medium semiconductor memory, magnetic / optical disk medium / device in which the program is recorded is provided.
- FIG. 9 is a diagram illustrating a processing procedure according to the embodiment of the present invention. With reference to FIG. 8 and FIG. 9, the processing procedure of the hash function parameter optimization in this embodiment will be described.
- Step 1 (S101 in FIG. 9):
- the distance matrix calculation unit 102 stores n learning data in the D-dimensional space from the storage unit 116.
- the distance parameter ⁇ is input from the storage unit 114, the distance d i, j between the two data points is calculated according to the equation (7), and the n ⁇ n distance matrix D is output to the storage unit 118.
- Step 2 (S102 in FIG. 9):
- the hash function calculation unit 104 obtains binary conversion learning data from the hash values of the K hash functions h k , Is output to the storage unit 120.
- Step 3 (S103 in FIG. 9):
- the cost calculation unit 106 reads the distance matrix D from the storage unit 118, reads binary conversion learning data Y ⁇ B K ⁇ n from the storage unit 120, and calculates the cost function (objective function) of the equation (8) or the equation (17). Is output to the storage unit 122 and the cost comparison unit 108.
- Step 4 (S104 in FIG. 9):
- the cost comparison unit 108 reads the previous cost value S (t ⁇ 1) from the storage unit 122, reads the convergence determination parameter ⁇ from the storage unit 124, and compares it with the cost value S (t) from the cost calculation unit 106. That is, the cost comparison unit 108 uses the convergence condition regarding the cost value S (t) and the previous cost value S (t ⁇ 1) : It is determined whether or not is established. As a result of the determination, if the convergence condition (18) is satisfied, the convergence is achieved, and if the convergence condition is not satisfied, the convergence is not achieved.
- Step 5 (S105 in FIG. 9): When converged (Yes in S104), the coefficient output unit 112 outputs W (t) and ⁇ (t) (end of cost function minimization).
- the hash function computing unit 104 uses the parameter after completion of the optimization to represent a hash value of binary representation (-1 in Expression (5)) Instead of the continuous value between +1, the hash value of ⁇ 1, +1 ⁇ binary expression (6) is obtained, and this is the binary data to be obtained.
- Step 6 (S106 in FIG. 9):
- the update operation unit 109 updates the parameter ⁇ (t) to ⁇ (t + 1)
- the hash function coefficient update unit 110 receives the coefficient (parameter W, ⁇ Instruct to update ⁇ ).
- the hash function coefficient updating unit 110 calculates the hash function parameters W (t + 1) and ⁇ (t + 1) according to the above equations (11) and (12), respectively, according to the steepest descent method. .
- the hash function calculation unit 104 calculates W (t + 1) and ⁇ (t + 1) calculated by the hash function coefficient update unit 110 and ⁇ updated by the update operation unit 109. (t + 1) is input, a hash value is obtained, and binary conversion learning data is stored in the storage unit 120.
- the learning (optimization) of the hash function parameters is defined as a clear procedure (exact solution) using a mathematical algorithm.
- a non-linear sigmoid function is used for the hash function, and a function type that stores the distance only in the neighboring region as the distance (distance matrix) of the original data is adopted, and binary conversion corresponding to the elements of the distance matrix
- the parameters of the hash function projection vector, threshold (offset)
- the binary conversion data is converted. Have acquired.
- the problem of the related technique which performs binarization by the origin threshold value in the linear subspace is solved, the accuracy is improved, and the increase in the calculation amount is suppressed.
- the present invention can be applied to arbitrary applications such as a learning type approximate nearest neighbor search.
- the present invention can be applied to website data comparison, similar data extraction, large-scale data mining for Big data, and the like, but in the following, an application example to biometric authentication will be described as an example.
- FIG. 10 is a diagram based on FIG.
- a sensor that acquires biological information for example, a sensor that acquires fingerprint information
- extraction of features for example, a sensor that acquires fingerprint information
- Statistical Analysis statistical processing
- quantization for example, selection, etc. are omitted.
- Template enrollment is performed as follows.
- a biometric authentication template is generated using the biometric information Z and the confidential information S.
- the biometric information Z is a binary code set obtained by binarizing a data set (X ⁇ R D ⁇ n ) including n D-dimensional data points obtained as a result of feature quantity extraction according to this embodiment. Y ⁇ B K ⁇ n ).
- ECC error correction coding
- the secret information S i is input to a cryptographic hash function (cryptographic (one-way) hash function) 204 such as SHA (Secure Hash Algorithm) -1 to obtain a hash value H (S i ).
- a cryptographic hash function such as SHA (Secure Hash Algorithm) -1 to obtain a hash value H (S i ).
- the biological information Z i is masked with a code word C i having high randomness, the biological information does not leak from W2 i .
- the verification phase of whether or not the template generated by the above (1) to (4) and another biological information Z ′ i are collected from the same person is performed as follows.
- C ′ i is input to the decoder (DEC) 212 to perform error correction decoding of the BCH code, and S ′ i is calculated.
- S ′ i is input to a cryptographic hash function 214 such as SHA-1, and a hash value H (S i ′) is calculated.
- the hash value H (S i ) of the random number (secret information S i ) used for concealing the biometric information Z is stored in a database for concealment.
- the biometric information Z is concealed by taking an exclusive OR with the data Ci (Si is error correction coding) having high randomness.
- the method of FIG. 10 verifies whether the ciphertext is obtained by encrypting the presented data and data within a certain Hamming distance without decrypting the concealed (encrypted) data. It can be interpreted as a method.
- the biometric information Z ′ i itself is transmitted to the server that performs authentication.
- biometric information S ′ i output of decoder 212
- the biometric information Z i may be known to the authentication server. A method for solving such a problem will be described as a second embodiment.
- FIG. 11 is a diagram illustrating the configuration of the second embodiment.
- the encoder 302 that performs error correction coding of the confidential information Si uses a linear code as the error correction code, and the hash function 304 is different from the configuration of FIG. 10 in that a hash function having homomorphism is used. ing. The rest is the same as FIG.
- a random number (secret information S ′ i ) is generated every time authentication is performed, and the code word C′i that has been subjected to error correction coding by the encoder 320 is used as biometric information Z′i to be authenticated.
- Z ' i (+) C' i The output (Z ′ i (+) C ′ i ) of the exclusive OR 318 and W2 i read from the database (DB) 308 are input to the exclusive OR 310.
- W2 i (+) (Z ' i (+) C' i ) (Z ' i (+) Z' i ) (+) (C i (+) C ' i ) Calculate
- the output (Z ′ i (+) Z ′ i ) (+) (C i (+) C ′ i ) of the exclusive OR 310 is input to the decoder (DEC) 312 to perform error correction decoding, and S ” i Is output.
- the biometric information cannot be calculated from the information sent from the database 308 in the authentication phase, and information obtained by masking the biometric information Z′i with a random number is given to the authentication server. Can be secured.
Abstract
Description
本発明は、日本国特許出願:特願2012-213419号(2012年 9月27日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、バイナリデータ変換方法と装置及びプログラムに関する。
において、元の空間での近傍点(near or nearest neighbors)が同様に近傍となるようなバイナリコード(2値符号)になるハミング(Hamming)空間に写像するものである。すなわち、元のデータ集合の空間RD×nでのユークリッド(Euclid)距離による近傍関係を保ったまま、Kビット長(Kは所定の正整数)のn個のバイナリコード(2値化データ)
に変換する。記号→はベクトルを表している。→xi(i=1,・・・n)はD次元ベクトル、→yi (i=1,・・・n)はK次元ベクトルである。なお、式(1)において、Rは実数全体の集合を表し、式(2)において、Bはバイナリコード(2値符号)を表している。
Mk=Σk-1 i=0λk-iXi MCSi MCXi MC T+ηXXT
→wk=→e
Xk MCをサンプルし、Sk MCを構築する。
X=X-→wk →wk TX
C={(→xi,→xj)}:h(→xi)・h(→xj)=1,|→wk T(→xi -xj)|≧ζ
ただし、ε<ζである。
Si,j=1 ((→xi,→xj)∈M)
Si,j=-1 ((→xi,→xj)∈C)
Si,j=0 (上記以外の場合)
(→xi,→xj)∈Mのペアに対して、Sk MC=1、
(→xi,→xj)∈Cのペアに対して、Sk MC=-1
が割当てられる。
・PCAの主成分方向で正負の領域を設定すること、
・領域の大きさが段階的に変わること、
が特徴である。これは、図2に示した数値ビット表現と本質的に同じであることがわる。
記憶部からD次元(Dは予め定められた所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換し、
前記ハッシュ関数パラメータ最適化部は、前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いてハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力するハッシュ関数演算部を備え、データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する装置(バイナリデータ変換装置)が提供される。
記憶部からD次元(Dは所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化手段で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する工程と、
を含み、
前記パラメータ最適化工程では、
変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力し、
データポイント間の距離として、予め定められた所定の距離パラメータ以内では、前記データポイント間の距離を保存した値をとり、前記距離パラメータを超えると、値が小さくなる特性の距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する方法(バイナリデータ変換方法)が提供される。
記憶部からD次元(Dは予め定められた所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化手段で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する処理を、コンピュータに実行させるプログラムであって、
前記パラメータ最適化処理は、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力するハッシュ関数演算処理と、
データポイント間の距離として予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する処理を含むプログラムが提供される。
前記乱数Sをエンコーダで誤り訂正符号化した符号語Cと前記バイナリデータZの排他的論理和(Z (+) C)、及び、前記乱数Sを入力とするハッシュ関数の出力H(S)を、データベースへ登録する生体認証システムが提供される。
前記デコーダの出力S'をハッシュ関数に入力し、
前記ハッシュ関数の出力H(S')と、前記データベースに登録されているH(S)とが等しいか否か判定する生体認証システムが提供される。
をハッシュ関数h()によって、Kビット長のバイナリコードYへと変換する。
中のパラメータ→wk、αkを、次式(8)で与えられるコスト関数(目的関数)S(W,→α)の値を最小化するハッシュ関数の係数(パラメータ)として学習する(最適化問題)。
は、距離の近似に関わる項である。di,jは距離行例Dの要素(i,j)(i番目のデータポイントとj番目にあたるデータポイント間の距離)である。|→yi- →yj|は、ハッシュ値から得られるバイナリ変換学習データの距離である。元のデータセットからハッシュ関数により変換されたバイナリコードyi、yj間は、XOR(排他的論理和)により比較することになるが、本実施形態では、数式上、取り扱いが容易でバイナリ符号の場合にはXORと同値となる二次式で表している。
を求める。^は最適値を表している。
(k=1、2、・・・n)は、t回目の反復でのパラメータ値
と、コスト関数Sの勾配(Sの→w(t) k、α(t) kによる偏微分係数)
により、それぞれ次式(11)、(12)により、更新する。
|S(t+1)(W,→α)-S(t)(W,→α)|<δ
コスト関数S(W,→α)は収束したものと判定され(最小値)、このときのパラメータW(t+1)、→α(t+1)が、係数出力部112から、ハッシュ関数(式(5)のシグモイド関数)のパラメータ(最適パラメータ)
として出力される。
距離行列計算部102は、記憶部116からD次元空間のn個の学習データ
を入力し、記憶部114から距離パラメータεを入力し、式(7)に従って2つのデータポイント間の距離di,jを計算し、n×nの距離行列Dを記憶部118に出力する。
ハッシュ関数演算部104は、記憶部116からD次元空間のn個のデータポイント
を入力し、
記憶部126から式(5)のシグモイド関数の係数(パラメータ)
を入力し、
記憶部128からシグモイド関数の制御パラメータβ(t)を入力し、
上式(5)に従い、シグモイド関数を用いたハッシュ関数
(ただし、k=1,・・・K)
の値を計算する。ハッシュ関数演算部104は、K個のハッシュ関数hkのハッシュ値からバイナリ変換学習データを求め、
を記憶部120に出力する。
コスト計算部106は、記憶部118から、距離行列Dを読み出し、記憶部120からバイナリ変換学習データY∈BK×nを読出し、式(8)又は式(17)のコスト関数(目的関数)
を計算し、記憶部122と、コスト比較部108に出力する。
コスト比較部108は、前回のコスト値S(t-1)を記憶部122から読み出し、収束判定パラメータδを記憶部124から読み出し、コスト計算部106からのコスト値S(t)と比較する。すなわち、コスト比較部108は、コスト値S(t)と前回のコスト値S(t-1)に関して収束条件:
が成立するか否か判定する。判定の結果、(18)の収束条件が成立であれば、収束であり、収束条件が不成立であれば、非収束である。
収束した場合(S104の判定Yes)、係数出力部112はW(t)、α(t)を出力する(コスト関数の最小化終了)。コスト関数の最小化によるハッシュ関数のパラメータの最適値を発見した段階で、ハッシュ関数演算部104は、最適化完了後のパラメータを用いて2値表現のハッシュ値(式(5)の-1と+1の間の連続値の代わりに、式(6)の{-1、+1}の2値表現のハッシュ値)を求め、これが、求めるバイナリデータとなる。
一方、収束条件を満たさない場合(S104の判定No)、更新操作部109は、パラメータβ(t)をβ(t+1)に更新し、ハッシュ関数係数更新部110に、係数(パラメータW、→α)の更新を指示する。ハッシュ関数係数更新部110は、上記した最急降下法等にしたがって、ハッシュ関数のパラメータW(t+1)、α(t+1)を、それぞれ上式(11)、(12)にしたがって計算する。
このため、本実施形態によれば、線形部分空間での原点閾値による2値化を行う関連技術の問題点を解消して、精度を向上し、計算量の増大を抑制している。本実施形態によれば、学習型の近似最近傍探索等の任意応用に適用可能である。例えばWebサイトのデータ比較や類似データの抽出、Bigデータに対する大規模データマイニング等にも適用可能であるが、以下では、一実施例として生体認証への適用例を説明する。
図10は、非特許文献5のFigure.2に基づく図である。なお、図10において、生体情報を取得するセンサ(例えば指紋情報を取得するセンサ)、非特許文献5のFigure.2の特徴量の抽出(Feature Extraction)、統計処理(Statistical Analysis)、量子化(Quantization)、選択(select)等は省略されている。テンプレートの登録(enrollment)は、以下のようにして行われる。非特許文献5では、生体情報Zと秘匿情報Sを用いて、生体認証用テンプレートを生成している。図9において、生体情報Zは、特徴量の抽出の結果得られたn個のD次元データポイントを含むデータ集合(X∈RD×n)を、本実施形態により2値化したバイナリコード集合Y∈BK×n)からなる。
W2i = Ci (+) Zi
を計算する(ただし、(+)はビット毎の排他的論理和演算(bitwise XOR)を表す)。
C'i = W2i (+) Z'i = Ci (+) (Zi (+) Z'i)
を計算する。登録フェーズと認証フェーズの生体情報(例えば指紋等)が同一人物のものであれば、(Zi (+) Z'i)のHamming重みは小さいので、誤り訂正可能である。
図11は、実施例2の構成を説明する図である。登録フェーズでは、秘匿情報Siを誤り訂正符号化するエンコーダ302は、誤り訂正符号として線形符号を用い、ハッシュ関数304は、準同型性を有するハッシュ関数を用いる点が、図10の構成と相違している。これ以外は、図10と同一である。なお、準同型性とは、写像f:G→G’が、∀a,b∈Gに対してf(a・b)=f(a)・f(b)を満たすことをいう。
Siのハッシュ値H(Si)
S'iのハッシュ値H(S'i)
について、
H(Si)(+) H(S'i)=H(Si (+) S'i)
が成り立つ、すなわち、H(Si)(+) H(S'i)が、Si(+)S'iのハッシュ値となるハッシュ関数である。
Z'i (+) C'i
を計算する。排他的論理和318の出力(Z'i (+) C'i)とデータベース(DB)308から読み出したW2iを排他的論理和310に入力し、
W2i (+) (Z'i (+) C'i)
=(Z'i (+) Z'i) (+) (Ci (+) C'i)
を計算する。
H(Si)=H(S'i) (+) H(S"i)
が成り立つか否か判定する。成り立つ場合、受理、成り立たない場合、拒否する。
Si= S'i (+) S"i
となるため、ハッシュ関数の準同型性より、
H(Si)= H(S'i (+) S"i)=H(S'i) (+) H(S"i)
が成り立つ。
102 距離行列計算部
104 ハッシュ関数演算部
106 コスト計算部
108 コスト比較部
109 更新操作部
110 ハッシュ関数係数更新部
112 係数出力部
114 記憶部(距離パラメータεの記憶部)
116 記憶部(学習データの記憶部)
118 記憶部(距離行列の記憶部)
120 記憶部(バイナリ変換学習データの記憶部)
122 記憶部(コスト値の記憶部)
124 記憶部(収束判定パラメータδの記憶部)
126 記憶部(ハッシュ関数係数W、αの記憶部)
128 記憶部(パラメータβの記憶部)
202、302、320 エンコーダ(ENC)
204、214、304、314、322 ハッシュ関数
206、210、306、310、318 排他的論理和(XOR)
208、308 データベース(DB)
212、312 デコーダ(DEC)
216、316 判定器
Claims (25)
- ハッシュ関数のパラメータを最適化するハッシュ関数パラメータ最適化部を備え、
記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換し、
前記ハッシュ関数パラメータ最適化部は、
前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力するハッシュ関数演算部を備え、
データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する、ことを特徴とするバイナリデータ変換装置。 - 前記ハッシュ関数演算部では、k番目(k=1、・・・K)の前記連続値関数のハッシュ関数として、シグモイド(sigmoid)関数
(ただし、β(t)は正値の制御パラメータ(tは前記ハッシュ関数パラメータ最適化部でのパラメータ導出の反復回数であり、β(t)は、反復回数が多くなると大となる)、
→wkは射影ベクトル(k=1、・・・K)、
Tは転置、
→xはデータポイント(D次元、ただしDは所定の正整数)、
→wk T→xは前記データポイントの射影ベクトルへの射影、
αkはオフセット)
を用い、前記ハッシュ関数のパラメータ→wkとαkの最適化を行う、ことを特徴とする請求項1記載のバイナリデータ変換装置。 - 前記ハッシュ関数パラメータ最適化部が、
前記データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が指数関数的に小さくなる距離関数を用いて距離行列を計算する距離行列計算部と、
前記コスト関数を用いてコスト値を計算するコスト計算部と、
前記コスト計算部で今回求めたコスト値と、前記コスト計算部で前回求めたコスト値とを比較し、予め定められた収束条件を満たしているか否か判定するコスト比較部と、
前記収束条件を満たしている場合には、前記ハッシュ関数のパラメータを最適値として出力するパラメータ出力部と、
前記収束条件を満たしていない場合には、前記ハッシュ関数のパラメータを更新して記憶装置に記憶する更新部と、
備え、
前記収束条件を満たしていない場合、前記ハッシュ関数演算部は、前記更新部で更新された前記ハッシュ関数のパラメータを用いて、前記バイナリ変換学習データを出力し、
前記コスト計算部によるコスト値の計算、
前記コスト比較部による収束判定が行われる、ことを特徴とする請求項1又は2記載のバイナリデータ変換装置。 - 前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、前記更新部は、前記ハッシュ関数の現在の前記射影ベクトルと、前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、さらに、
前記制御パラメータを更新する、ことを特徴とする請求項3乃至6のいずれか1項に記載のバイナリデータ変換装置。 - 登録フェーズにおいて、生体情報から特徴量抽出したデータ集合に対して、請求項1乃至7のいずれか1項に記載のバイナリデータ変換装置から出力されるバイナリデータ(2値化データ)Zに対して、乱数Sを生成し、
前記乱数Sをエンコーダで誤り訂正符号化した符号語Cと前記バイナリデータZの排他的論理和(Z (+) C)、及び、前記乱数Sを入力とするハッシュ関数の出力H(S)を、データベースへ登録する、生体認証システム。 - 認証フェーズにおいて、前記バイナリデータ変換装置から出力される認証対象のバイナリデータZ’と、前記データベースから読み出した前記(Z (+) C)との排他的論理和をとった値C’をデコーダに入力して誤り訂正復号し、
前記デコーダの出力S'をハッシュ関数に入力し、
前記ハッシュ関数の出力H(S')と、前記データベースに登録されているH(S)とが等しいか否か判定する、請求項8記載の生体認証システム。 - 登録フェーズにおいて、前記エンコーダは誤り訂正符号として線形符号を用い、
前記ハッシュ関数は準同型性を有する、請求項8記載の生体認証システム。 - 認証フェーズでは、認証を行う毎に第2の乱数S'を生成し、
前記第2の乱数S’を、第2のエンコーダで誤り訂正符号化した符号語C’と、前記バイナリデータ変換装置から出力される認証対象のバイナリデータZ’との排他的論理和(C' (+) Z')と、前記データベースから読み出した(Z (+) C)との排他的論理和(Z'i (+) Z'i) (+) (Ci (+) C'i))を第2のデコーダに入力して誤り訂正復号し、
前記第2のデコーダからの出力S”をハッシュ関数に入力して求めたハッシュ値H(S”)と、前記第2の乱数S'をハッシュ関数に入力して求めたハッシュ値H(S')との排他的論理和(値H(S') (+) H(S”))が、前記データベースに登録されたH(S)と等しいか否か判定し、
前記第2のエンコーダ、第2のデコーダは、誤り訂正符号として線形符号を用い、前記ハッシュ関数は準同型性を有する、請求項10記載の生体認証システム。 - ハッシュ関数のパラメータを最適化するパラメータ最適化工程と、
記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化工程で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する工程と、
を含み、
前記パラメータ最適化工程では、
前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力し、
データポイント間の距離として、予め定められた所定の距離パラメータ以内では、前記データポイント間の距離を保存した値をとり、前記距離パラメータを超えると、値が小さくなる特性の距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離と、に少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の最適化されたパラメータとして導出する、ことを特徴とするバイナリデータ変換方法。 - 前記コスト関数の最小化の過程において、
コスト比較部が、今回求めた前記コスト関数のコスト値と、前回求めた前記コスト関数のコスト値とを比較し、予め定められた収束条件を満たしているか否か判定し、
前記収束条件を満たしている場合、パラメータ出力部が、前記ハッシュ関数のパラメータを最適値として出力し、
前記収束条件を満たしていない場合、更新部が、前記ハッシュ関数のパラメータを更新して記憶装置に記憶し、
前記収束条件を満たしていない場合、前記ハッシュ関数演算部は、前記更新部で更新されたハッシュ関数のパラメータにより前記ハッシュ値を求めバイナリデータを出力し、前記コスト計算部によるコスト値の計算、前記コスト比較部による収束判定が行われる、ことを特徴とする請求項12又は13記載のバイナリデータ変換方法。 - 前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、前記ハッシュ関数の現在の前記射影ベクトルと前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、さらに、
前記制御パラメータを更新する、ことを特徴とする請求項12乃至17のいずれか1項に記載のバイナリデータ変換方法。 - ハッシュ関数のパラメータを最適化するパラメータ最適化処理と、
記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化処理で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する処理を、コンピュータに実行させるプログラムであって、
前記パラメータ最適化処理は、
前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いてハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力する処理と、
データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する処理を含む、ことを特徴とするプログラム。 - 前記パラメータ最適化処理が、
今回求めた前記コスト関数のコスト値と、前回求めたコスト関数のコスト値とを比較し、予め定められた収束条件を満たしているか否か判定する処理と、
前記収束条件を満たしている場合、前記ハッシュ関数のパラメータを最適値として出力する処理と、
前記収束条件を満たしていない場合、前記ハッシュ関数のパラメータを更新して記憶装置に記憶する処理と、
を含み、
前記収束条件を満たしていない場合、前記ハッシュ関数演算処理が、前記更新されたハッシュ関数のパラメータにより前記ハッシュ値を求めバイナリデータを出力し、前記コスト値の計算と前記収束判定が行われる、ことを特徴とする請求項19又は20記載のプログラム。 - 前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、
前記更新処理は、前記ハッシュ関数の現在の前記射影ベクトルと前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、
さらに前記制御パラメータを更新する、ことを特徴とする請求項19乃至24のいずれか1項に記載のプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13840759.8A EP2902921B1 (en) | 2012-09-27 | 2013-09-26 | Method, device, and program for converting binary data |
US14/431,824 US9898505B2 (en) | 2012-09-27 | 2013-09-26 | Method, apparatus and program for transforming into binary data |
JP2014538582A JP5930056B2 (ja) | 2012-09-27 | 2013-09-26 | バイナリデータ変換方法と装置及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-213419 | 2012-09-27 | ||
JP2012213419 | 2012-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014050952A1 true WO2014050952A1 (ja) | 2014-04-03 |
Family
ID=50388347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/076021 WO2014050952A1 (ja) | 2012-09-27 | 2013-09-26 | バイナリデータ変換方法と装置及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9898505B2 (ja) |
EP (1) | EP2902921B1 (ja) |
JP (1) | JP5930056B2 (ja) |
WO (1) | WO2014050952A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015226323A (ja) * | 2014-05-23 | 2015-12-14 | 富士通株式会社 | 誤り訂正符号に基づいたプライバシーを保護する生体認証 |
JP2015225343A (ja) * | 2014-05-25 | 2015-12-14 | 富士通株式会社 | リレーショナル暗号化 |
JP2018504710A (ja) * | 2015-01-27 | 2018-02-15 | ノキア テクノロジーズ オサケユイチア | 位置特定およびマッピングの方法 |
WO2020174516A1 (ja) * | 2019-02-25 | 2020-09-03 | 日本電気株式会社 | リニアスケッチシステム、装置、認証方法、プログラムと記録媒体 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169682A1 (en) * | 2013-10-18 | 2015-06-18 | Google Inc. | Hash Learning |
US9565114B1 (en) * | 2014-03-08 | 2017-02-07 | Google Inc. | Weighted load balancing using scaled parallel hashing |
JP6772737B2 (ja) * | 2016-10-04 | 2020-10-21 | 富士通株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
US10972251B2 (en) | 2017-01-20 | 2021-04-06 | Enveil, Inc. | Secure web browsing via homomorphic encryption |
US10873568B2 (en) | 2017-01-20 | 2020-12-22 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US10728018B2 (en) | 2017-01-20 | 2020-07-28 | Enveil, Inc. | Secure probabilistic analytics using homomorphic encryption |
US10872087B2 (en) * | 2017-10-13 | 2020-12-22 | Google Llc | Systems and methods for stochastic generative hashing |
CN110390011A (zh) * | 2018-04-12 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 数据分类的方法和装置 |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US11797843B2 (en) * | 2019-03-06 | 2023-10-24 | Samsung Electronics Co., Ltd. | Hashing-based effective user modeling |
CN111143625B (zh) * | 2019-09-03 | 2023-04-25 | 西北工业大学 | 一种基于半监督多模态哈希编码的跨模态检索方法 |
US11394529B2 (en) * | 2020-01-17 | 2022-07-19 | SK Hynix Inc. | Encoder and decoder using physically unclonable functions |
US10984075B1 (en) * | 2020-07-01 | 2021-04-20 | Sas Institute Inc. | High dimensional to low dimensional data transformation and visualization system |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112241475B (zh) * | 2020-10-16 | 2022-04-26 | 中国海洋大学 | 基于维度分析量化器哈希学习的数据检索方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011109251A2 (en) * | 2010-03-01 | 2011-09-09 | Microsoft Corporation | Semantic object characterization and search |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8433920B2 (en) * | 2004-12-07 | 2013-04-30 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for authenticating reliable biometric data |
US7644082B2 (en) * | 2006-03-03 | 2010-01-05 | Perfect Search Corporation | Abbreviated index |
JP5193518B2 (ja) * | 2007-07-13 | 2013-05-08 | 株式会社東芝 | パターン探索装置及びその方法 |
EP2237183B1 (en) * | 2009-03-31 | 2013-05-15 | Technische Universität München | Method for security purposes |
JP5971722B2 (ja) * | 2010-12-10 | 2016-08-17 | 国立大学法人豊橋技術科学大学 | ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム |
JP5258915B2 (ja) | 2011-02-28 | 2013-08-07 | 株式会社デンソーアイティーラボラトリ | 特徴変換装置、それを含む類似情報探索装置、コード化パラメータ生成方法、及びコンピュータ・プログラム |
US20150169644A1 (en) * | 2013-01-03 | 2015-06-18 | Google Inc. | Shape-Gain Sketches for Fast Image Similarity Search |
US20150169682A1 (en) * | 2013-10-18 | 2015-06-18 | Google Inc. | Hash Learning |
US10691878B2 (en) * | 2014-02-28 | 2020-06-23 | Ricoh Co., Ltd. | Presenting associations of strokes with content |
-
2013
- 2013-09-26 JP JP2014538582A patent/JP5930056B2/ja active Active
- 2013-09-26 US US14/431,824 patent/US9898505B2/en active Active
- 2013-09-26 EP EP13840759.8A patent/EP2902921B1/en active Active
- 2013-09-26 WO PCT/JP2013/076021 patent/WO2014050952A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011109251A2 (en) * | 2010-03-01 | 2011-09-09 | Microsoft Corporation | Semantic object characterization and search |
Non-Patent Citations (10)
Title |
---|
BRIAN KULIS ET AL.: "Learning to Hash with Binary Reconstructive Embeddings", ADCANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 22, 2009, pages 1 - 9, XP055257323, Retrieved from the Internet <URL:http://books.nips.cc/papers/files/nips22/NIPS2009_0971.pdf> [retrieved on 20131028] * |
JUN WANG; SANJIB KUMAR; SHIH-FU CHANG: "Sequential Projection Learning for Hashing with Compact Codes", PROC. OF THE 27TH ICML, 2010 |
MAXIM RAGINSKY; SVETLANA LAZEBNIK: "Locality-Sensitive Binary Codes from Shift-Invariant Kernels", NIPS, vol. 22, 2010 |
MAYUR DATAR; NICOLE IMMORLICA; PIOTR INDYK; VAHAB S. MIRROKNI: "Locality-Sensitive Hashing Scheme Based on p-Stable Distribution", PROC. SYMPOSIUM ON COMPUTATIONAL GEOMETRY, 2004, pages 253 - 262 |
MOHAMMAD NOROUZI ET AL.: "Minimal Loss Hashing for Compact Binary Codes", PROCEEDINGS OF THE 28TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING, 2011, pages 1 - 8, XP055257329, Retrieved from the Internet <URL:http://www.cs.toronto.edu/~norouzi/research/papers/min_loss_hashing.pdf> [retrieved on 20131028] * |
PIM TUYLS; ANTON H. M. AKKERMANS; TOM A. M. KAVENAAR; GEERT-JAN SCHRIJEN; ASKER M. BASEN; RAYMOND N. J. VELDHUIS: "Proceedings of AVBPA 2005, Lecture Notes in Computer Science", vol. 3546, 2005, SPRINGER VERLAG, article "Practical Biometric Authentication with Template Protection", pages: 436 - 446 |
RUSLAN SALAKHUTDINOV ET AL.: "Semantic hashing", INTERNATIONAL JOURNAL OF APPROXIMATE REASONING, vol. 50, no. 7, July 2009 (2009-07-01), pages 969 - 978, XP026218323 * |
See also references of EP2902921A4 |
WEI LIU ET AL.: "Supervised Hashing with Kernels, Computer Vision and pattern Recognition(CVPR)", 2012 IEEE CONFERENCE, 21 June 2012 (2012-06-21), pages 2074 - 2081, XP032232311 * |
YAIR WEISS; ANTONIO TORRALBA; ROB FERGUS: "Spectral Hashing", NIPS, 2008 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015226323A (ja) * | 2014-05-23 | 2015-12-14 | 富士通株式会社 | 誤り訂正符号に基づいたプライバシーを保護する生体認証 |
JP2015225343A (ja) * | 2014-05-25 | 2015-12-14 | 富士通株式会社 | リレーショナル暗号化 |
JP2018504710A (ja) * | 2015-01-27 | 2018-02-15 | ノキア テクノロジーズ オサケユイチア | 位置特定およびマッピングの方法 |
US10366304B2 (en) | 2015-01-27 | 2019-07-30 | Nokia Technologies Oy | Localization and mapping method |
WO2020174516A1 (ja) * | 2019-02-25 | 2020-09-03 | 日本電気株式会社 | リニアスケッチシステム、装置、認証方法、プログラムと記録媒体 |
JPWO2020174516A1 (ja) * | 2019-02-25 | 2021-12-23 | 日本電気株式会社 | リニアスケッチシステム、装置、認証方法、プログラムと記録媒体 |
JP7215559B2 (ja) | 2019-02-25 | 2023-01-31 | 日本電気株式会社 | リニアスケッチシステム、装置、認証方法、プログラムと記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US9898505B2 (en) | 2018-02-20 |
JPWO2014050952A1 (ja) | 2016-08-22 |
JP5930056B2 (ja) | 2016-06-08 |
EP2902921A4 (en) | 2016-06-29 |
EP2902921A1 (en) | 2015-08-05 |
EP2902921B1 (en) | 2019-07-24 |
US20150248458A1 (en) | 2015-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5930056B2 (ja) | バイナリデータ変換方法と装置及びプログラム | |
Wang et al. | A partial Hadamard transform approach to the design of cancelable fingerprint templates containing binary biometric representations | |
Wang et al. | Correntropy matching pursuit with application to robust digit and face recognition | |
Sandhya et al. | Securing fingerprint templates using fused structures | |
EP3189459A1 (en) | Encrypting and decrypting information | |
WO2014068990A1 (ja) | 関連性判定装置、同上用持続的有形コンピュータ読み取り媒体、及び関連性判定方法 | |
Murakami et al. | Optimal sequential fusion for multibiometric cryptosystems | |
JP2013206193A (ja) | 情報変換プログラム、情報変換装置および情報変換方法 | |
Schleif et al. | Data analysis of (non-) metric proximities at linear costs | |
Xiao et al. | Dauntless: Data augmentation and uniform transformation for learning with scalability and security | |
Chen et al. | Efficient sparse representation for learning with high-dimensional data | |
US10755073B2 (en) | Biological-image processing unit and method and program for processing biological image | |
Liu et al. | L3e-hd: A framework enabling efficient ensemble in high-dimensional space for language tasks | |
Wu et al. | The sparse recovery autoencoder | |
Fu et al. | Minutia tensor matrix: A new strategy for fingerprint matching | |
US11763136B2 (en) | Neural hashing for similarity search | |
Arakala et al. | Protection of minutiae‐based templates using biocryptographic constructs in the set difference metric | |
Zare et al. | A Novel multiple kernel-based dictionary learning for distributive and collective sparse representation based classifiers | |
Aghazadeh et al. | Rhash: Robust hashing via l∞-norm distortion | |
Assanovich et al. | Authentication System Based on Biometric Data of Smiling Face from Stacked Autoencoder and Concatenated Reed-Solomon Codes | |
Ramalho et al. | Distributed source coding for securing a hand-based biometric recognition system | |
Zhang et al. | Multiclassification method for hyperspectral data based on chernoff distance and pairwise decision tree strategy | |
TAKEUCHI et al. | Ensemble Malware Classifier Considering PE Section Information | |
Rafailidis | Supervised hashing based on the dimensions’ value cardinalities of image descriptors | |
D'Costa et al. | How fast can you escape a compact polytope? |
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: 13840759 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014538582 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14431824 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013840759 Country of ref document: EP |