WO2014050952A1 - バイナリデータ変換方法と装置及びプログラム - Google Patents

バイナリデータ変換方法と装置及びプログラム Download PDF

Info

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
Application number
PCT/JP2013/076021
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 EP13840759.8A priority Critical patent/EP2902921B1/en
Priority to US14/431,824 priority patent/US9898505B2/en
Priority to JP2014538582A priority patent/JP5930056B2/ja
Publication of WO2014050952A1 publication Critical patent/WO2014050952A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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
    • 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/32Cryptographic 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/3226Cryptographic 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/3231Biological data, e.g. fingerprint, voice or retina
    • 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/32Cryptographic 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/3236Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural 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

 計算量の増大を抑えながら精度の向上を図る、全く新規なハッシュ関数の学習に基づくバイナリデータ変換方法と装置、システムを提供する。ハッシュ関数のパラメータを最適化するパラメータ最適化部を備え、D次元(Dは所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換し、前記パラメータ最適化部は、変数がデータポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値バイナリ変換学習データとして記憶し、データポイント間の距離として予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数で計算された距離と、前記連続値のバイナリ変換学習データの距離とに基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、最適化されたパラメータとして導出する。

Description

バイナリデータ変換方法と装置及びプログラム
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2012-213419号(2012年 9月27日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、バイナリデータ変換方法と装置及びプログラムに関する。
 Webサイトに公開されているような数百万~数億といった巨大なデータを高速に検索するための技術として、データの特徴を短い2値テンプレートへ変換・検索する、“バイナリハッシング”で総称される技術の開発が盛んに行われている。検索対象データは、固定長2値データ(2値テンプレート)に変換されるとともに、固定長2値データ(2値テンプレート)間の距離にはXOR(排他的論理和)等のビット論理演算が用いられる。XOR等のビット論理演算は高速である。このため、固定長2値データ(2値テンプレート)のデータ長を十分短くすることができれば、大規模データベースでの検索等においても、計算機の物理メモリ上に載せて、高速の検索を実現することができる。しかし、二つの2値テンプレート間の距離の算出として、XORの演算結果におけるビットのフリップ(ビット反転)数を数える方法は、元のデータ間における距離とは大きく異なってしまう可能性がある。
 なお、バイナリハッシングとは、D次元(Dは所定の正整数)空間上のポイントで表現される複数(n個)のデータ集合(data set)
Figure JPOXMLDOC01-appb-I000016
において、元の空間での近傍点(near or nearest neighbors)が同様に近傍となるようなバイナリコード(2値符号)になるハミング(Hamming)空間に写像するものである。すなわち、元のデータ集合の空間RD×nでのユークリッド(Euclid)距離による近傍関係を保ったまま、Kビット長(Kは所定の正整数)のn個のバイナリコード(2値化データ)
Figure JPOXMLDOC01-appb-I000017
に変換する。記号はベクトルを表している。i(i=1,・・・n)はD次元ベクトル、i (i=1,・・・n)はK次元ベクトルである。なお、式(1)において、Rは実数全体の集合を表し、式(2)において、Bはバイナリコード(2値符号)を表している。
 Kビットのバイナリコードの生成に、K個のハッシュ(Hash)関数が用いられる。ハッシュ関数は、D次元ベクトルを入力とし、例えばバイナリ値-1または1を出力とする。
 ハッシュ関数には様々な方式があるが、ここでは線形射影(linear-projection)に基づくハッシングを想定し、k番目(k=1,・・・,K)のハッシュ関数h(x)は、次式(3)で定義する。
Figure JPOXMLDOC01-appb-I000018
 ここで、sgn()は引数の符号を返す符号関数(式(3)では引数f()が負のとき-1、非負(0又は正)のとき、+1)、f()は変換関数、は射影ベクトル、Tは転置、xはデータポイント、bは閾値(オフセット)である。
Figure JPOXMLDOC01-appb-I000019
であることから、バイナリ・ハッシュビット(kビット目)は、次式(4)で与えられる。
Figure JPOXMLDOC01-appb-I000020
          ・・・(4)
 すなわち、バイナリコードのkビット目(k=1、・・・、K)は、k番目のハッシュ関数h(x)が+1、-1のとき、それぞれ、1、0となる。
 バイナリハッシングの手法として、Locality Sensitive Hashing(「LSH」と略記される)と呼ばれる一連の手法がある(非特許文献1等参照)。
 LHSは、上式(1)の変換関数f()に恒等関数を用い、wをp-stable分布(p安定分布)からランダムに選び、bを一様分布からランダムに選ぶ。LHSでは、パラメータの選択、学習データに依らない。このため、パラメータ決定に要する時間は非常に短い。
 LHSでは、射影するビット長Kを128、512等と大きくしていくことで、近傍関係の近似度を上げることができる(すなわち、Hamming距離がEuclid距離を良く近似することができる)ことが証明されている。一方で、LHSは、ビット長Kが大きくない場合に近似が良くなく、十分な精度が達成できないことが指摘されている。
 LHSと同様に、ハッシュ関数のパラメータの選択が学習データに依らない手法が、非特許文献2等に開示されている。この手法は、wをLHSと同様に選択するが、変換関数f()として、三角関数を用いており、ビット長Kが大きくないときの精度が改善されている、と言われている。
 近年、学習データに依存する手法が開発されている。非特許文献3に開示されているSpectral Hashingは、ハッシュ関数の変換関数f()として三角関数を用い、学習データをその重心が原点になるよう移動した後、オフセットbを0とし、射影ベクトルとして、学習データ{}を主成分分析(Principle Component Analysis:PCAと略記される)して得られた主軸を選択する手法である。すなわち、Spectral Hashingアルゴリズムは次のように規定される。
・平均値が0になるようデータを平行移動した後、PCAを用いてデータの主成分を求める。
・各PCA方向に、矩形近似で、Lp(例えば1次元ラプラシアン)の固有関数(LpΦ=λΦ)(k個の最小の単一次元解析的固有関数(analytical eigenfunction))を計算し、各方向に対して、k個の最小の固有値を計算し、d×k個の固有値のリストを作成し、k個の最小の固有値を求める。
・各データを入力したときの解析的固有関数の出力を、0を閾値としてバイナリコードを得る。
 非特許文献3では、1次元ラプラシアン(Laplacian)Lpの固有関数Φと固有値λとして次が例示されている。
Figure JPOXMLDOC01-appb-I000021

Figure JPOXMLDOC01-appb-I000022
 LHSでは、射影ベクトルwをランダムに生成しているが、Spectral Hashingでは、データの主成分分析(PCA)に基づき、求めている。このため、Spectral Hashingの方がLHSよりも精度がよいと言われている。しかしながら、Spectral Hashingでは、主成分分析を行う必要がある。このため、例えば数値計算として安定な特異値分解(singular value decomposition)を用いた場合、Spectral Hashingの計算量は、行列の次数(特徴量次元数)Nに対して、O(N)~O(N)のオーダーを要する。なお、O(N)~O(N)は、計算量が入力データセットのサイズ(N)の2乗、3乗のオーダに比例するアルゴリズムであることを表している。
 一般に認識対象となるパターンは、特徴量空間で、比較的コンパクトかつ複雑な多様体を形成することが知られている。このような場合、少数の主成分ベクトルで張られる部分空間にパターン分布が集中してしまう傾向にあり、精度が十分でない、ことが指摘されている。
 この問題を解決するとした非特許文献4に開示されたアルゴリズム(Unsupervised sequential projection learning for hashing(USPLHと略記される))では、f()は恒等関数、学習データ重心が原点になるよう移動した後、固有ベクトルを求め、データを射影して0で閾値化する。0に近いrの点とrの点(図1参照)は、距離が近いのに異なるハッシュ値が割当てられる。符号が同一で0に近いrの点、0から遠いRの点は同一のハッシュ値が割当てられ、また0に近いr、0から遠いRの点は同一のハッシュ値が割当てられるように学習する(図1参照)。USPLHでは、次のアルゴリズムでパラメータの学習が行なわれる(非特許文献4のAlgorithm 2参照)。
1.学習データXとバイナリコード長(ハッシングコード長)Kを入力する。
2.初期化:X MC=φ,S MC=0
3.k=1からKまで以下の4~7を繰り返す:
4.補正された共分散行列を計算する:
 M=Σk-1 i=0λk-i MC MC MC +ηXX
5.Mの第1主成分ベクトル(固有ベクトル)eを抽出してにセットする:
6.射影から擬似ラベルを生成する:
MCをサンプルし、S MCを構築する。
7.残差を計算する:
X=X-
 データポイントを1次元軸上に射影した場合について説明する。 T→x=0(一次元軸分割の境界)に関して、境界左側の点をhk(x)=-1、境界右側の点をh(x)=+1とすると、境界を間に挟んで境界に近接した左右の領域r、rの2点(xixj)(xi∈rxj∈r)は、一次元軸上での射影が極めて近接しているにもかかわらず、異なったハッシュビットが割当てられる。iの射影ベクトルwkによる射影の距離|wk(i)|がε(εは予め定められた正数)以下であるのに対して、ハッシュ値h()=-1、h()=1とされる。なお、図1は、非特許文献4のFigure2に基づく図である。
 また、境界を間に挟んで境界から遠く離れた左右の領域R、Rに関して、∈r且つ∈R、あるいは、∈r、且つ、∈Rの2点(xixj)は、射影は互いに遠く離れているにもかかわらず(|wk(i)|≧ζ:ζは予め定められた正数)、同一のハッシュビットが割当てられる。すなわち、ハッシュ値h()、h()の積が1となる。
 このような境界誤差を修正するため、USPLHでは、隣接ペア集合Mと、非隣接ペア集合Cが導入される。集合Mに含まれるデータポイント対(xixj)は、例えばr-内のデータポイントとr+内のデータポイントであり、同一のハッシュビットが割当てられるべきである。集合Cに含まれるデータポイント対(xixj)は、R-内のデータポイントとr-内のデータポイント、又は、R内のデータポイントとr+内のデータポイントであり、互いに異なるハッシュビットが割当てられるべきである。以下の近傍対集合(neighbor-pair set Mと非近傍対集合(non-neighbor-pair set)Cを導入する。
 M={(xi,xj)}:h(xi)・h(xj)=-1,|k T(xi - xj)|≦ε
 C={(xi,xj)}:h(xi)・h(xj)=1,|k T(xi -xj)|≧ζ
 ただし、ε<ζである。
 近傍対集合Mと非近傍対集合Cから所望数ペアをサンプルする。XMCは少なくとも1つの標本ペア分離れた全ての点を含む。ラベル化されたペアとXMCを用いて(m個サンプリング)、ペア単位のラベル行列SMCを求める。
S∈Rm×m
Si,j=1      ((xi,xj)∈M)
Si,j=-1     ((xi,xj)∈C)
Si,j=0      (上記以外の場合)
すなわち、
(xi,xj)∈Mのペアに対して、S MC=1、
(xi,xj)∈Cのペアに対して、S MC=-1
が割当てられる。
 次の繰り返しで、擬似ラベルは、集合Mのデータポイント対を同一ハッシュ値に割り当てられるようにし、集合Cのデータポイント対を異なるハッシュ値に割り当てられるようにし、前回のハッシュ関数での誤差を修正する。
 各ハッシュ関数hk()は、擬似ラベルX MCと対応するラベル行列S MCを生成する。新たなラベル情報がシーケンシャル学習の各反復において、データ共分散行列の調整に用いられる。新たな射影ベクトルwを学習する場合、開始からの全てのペアワイズのラベル行列が用いられるが、その寄与は、各反復において、パラメータλによって指数関数的に減少する。
 残差誤差(residual error)により修正した主成分方向を求めるが、開始時点で擬似ラベルは存在しないため、第1のベクトル1がデータの主方向となる。各ハッシュ関数は、データ共分散行列を調整することで、反復的に擬似ラベルを満足するように学習が行われる。上記したUSPLHアルゴリズムは、残差誤差により修正した主成分方向を求める手法となっていることがわかる。
 なお、特許文献1には、ハッシュ関数を用いた近似最近傍探索法において、高速化、誤差比で最近接パターンを探索する手法として、学習パターン集合を正規分布(ガウス分布)であると過程し、学習パターンの任意の軸上における累積確率分布をシグモイド関数(Psd=1/{1-exp(-(x-μ)/a)}、μは平均、aは標準偏差)で最小二乗近似等により近似し、累積確率分布を基に確率値を一定間隔で分割するハッシュ関数を複数個定義し、未知のパターンを入力する各ハッシュ関数の出力値によりハッシュ関数により分割された空間領域(パケット)中の部分集合の和集合を求め、その集合中から最近傍パターンを探索する手法が開示されている。
 非特許文献5には、バイオメトリクス認証において、データベース上に置く認証用テンプレートをランダムなBCH(Bose-Chaudhuri-Hocquenghem)符号語(code word)Cでマスクする(ビットワイズなXOR(排他的論理和)をとる)ことによって、生体情報を保護する方式が開示されている(後述する実施例で参照される)。この方式では、認証用テンプレートは固定長二値データであることが必要であるため、前記のバイナリハッシング技術を応用することが可能である。
特開2009-20769号公報
Mayur Datar, Nicole Immorlica, Piotr Indyk and Vahab S. Mirrokni, "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions", Proc. Symposium on Computational Geometry, pp.253-262, 2004. Maxim Raginsky and Svetlana Lazebnik, "Locality-Sensitive Binary Codes from Shift-Invariant Kernels", NIPS Vol.22, 2010. Yair Weiss, Antonio Torralba and Rob Fergus, "Spectral Hashing", NIPS 2008. Jun Wang, Sanjiv Kumar and Shih-Fu Chang, "Sequential Projection Learning for Hashing with Compact Codes", Proc. of the 27th ICML 2010. Pim Tuyls, Anton H. M. Akkermans, Tom A. M. Kevenaar, Geert-Jan Schrijen, Asker M. Bazen and Raymond N. J. Veldhuis, "Practical Biometric Authentication with Template Protection", Proceedings of AVBPA 2005, Lecture Notes in Computer Science, Vol. 3546, Springer Verlag, pp. 436-446, (2005)
 以下関連技術の分析を与える。以下では、特に、特徴量空間中でのバイナリ表現について検討する。
 上記したLSH等、学習データによらない手法は、ビット長を十分長くしておかないと、十分な近似精度が得られない。このため、必要とされる記憶容量、演算器(ビット長)等の点で、非効率である。
 学習型について検討する。ここで、数値のビット表現を考察する。図2には、char(文字型)の数値179を8ビット表現した例が示されている。他の数値(ビット列)とXOR(排他的論理和)演算後の“1”となったビット数を距離としたとき、たとえ1ビットしか異なっていなくても、MSB(Most Significant Bit)側とLSB(Least Significant Bit)側とでは、重みが異なっている。8ビット(1バイト)中、1ビットの相違がMSBの場合、その重みは128、1ビットの相違がLSBの場合、重みは1であり、1ビットの相違であるにもかかわらず、ビット位置の重みの相違で値が大幅に異なる。従って、各ビットの重みはできるだけ、同じになるようにすることが望まれる。
 上記したSpectral Hashingは、主成分方向に対して複数の三角関数を適用する手法である。図3は、Spectral Hashingを模式的に説明する図であり、0番目から3番目の固有ベクトル(Eigenvector)が示されている。Spectral Hashingでは、
・PCAの主成分方向で正負の領域を設定すること、
・領域の大きさが段階的に変わること、
が特徴である。これは、図2に示した数値ビット表現と本質的に同じであることがわる。
 Spectral Hashingでは、パターンが低次元空間に集中しているときに、所望の近似精度がでない。これは、Spectral Hashingが、図2の通常の数値のビット表現と同じ問題を解決していないことによるものである、ことは明らかである。
 また、上記したUSPLHのアルゴリズムでは、残差により修正するとはいえ、USPLHは、直交座標系の抽出方法であることから、その近似精度には限界があるものと思料される。図4に、USPLHアルゴリズムでの固有ベクトルを示す。図4に示すように、ステップ関数により、数値を表現(符号化)することで、各ビットの重みを同等とすることができ、排他的論理和(XOR)による距離と、特徴量空間上での距離とが比例することがわかる。
 すなわち、USPLHでは、特徴量の投影軸(射影ベクトル)方向だけを最適化しても、近似精度の向上には限界があり、オフセット分も同時に修正する必要があることがわかる。
 このように、学習型は、有効ではあるが、線形部分空間での原点閾値による2値化であるため、精度等には、限界がある。
 したがって本発明は、上記問題点に鑑みて創案されたものであって、その目的は、計算量の増大を抑えながら精度の向上を図る、バイナリデータ変換方法と装置、システム、プログラムを提供することにある。
 本発明の1つの側面によれば、ハッシュ関数のパラメータを最適化するハッシュ関数パラメータ最適化部を備え、
 記憶部からD次元(Dは予め定められた所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換し、
 前記ハッシュ関数パラメータ最適化部は、前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いてハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力するハッシュ関数演算部を備え、データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する装置(バイナリデータ変換装置)が提供される。
 本発明の別の側面によれば、ハッシュ関数のパラメータを最適化するパラメータ最適化工程と、
 記憶部からD次元(Dは所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化手段で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する工程と、
 を含み、
 前記パラメータ最適化工程では、
 変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力し、
  データポイント間の距離として、予め定められた所定の距離パラメータ以内では、前記データポイント間の距離を保存した値をとり、前記距離パラメータを超えると、値が小さくなる特性の距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する方法(バイナリデータ変換方法)が提供される。
 本発明のさらに別の側面によれば、ハッシュ関数のパラメータを最適化するパラメータ最適化処理と、
 記憶部からD次元(Dは予め定められた所定の正整数)空間上のポイントで表される複数のデータの集合を入力し、データポイントを射影ベクトルに射影させた値に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化手段で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する処理を、コンピュータに実行させるプログラムであって、
 前記パラメータ最適化処理は、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力するハッシュ関数演算処理と、
 データポイント間の距離として予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する処理を含むプログラムが提供される。
 本発明のさらに別の側面によれば、登録フェーズにおいて、生体情報から特徴量抽出したデータ集合に対して、前記バイナリデータ変換装置で変換されたバイナリデータZに対して、乱数Sを生成し、
 前記乱数Sをエンコーダで誤り訂正符号化した符号語Cと前記バイナリデータZの排他的論理和(Z (+) C)、及び、前記乱数Sを入力とするハッシュ関数の出力H(S)を、データベースへ登録する生体認証システムが提供される。
 本発明のさらに別の側面によれば、認証フェーズにおいて、前記バイナリデータ変換装置で変換された認証対象のバイナリデータZ’と、前記データベースから読み出した前記(Z (+) C)との排他的論理和をとった値C’をデコーダに入力して誤り訂正復号し、
 前記デコーダの出力S'をハッシュ関数に入力し、
 前記ハッシュ関数の出力H(S')と、前記データベースに登録されているH(S)とが等しいか否か判定する生体認証システムが提供される。
 本発明のさらに別の側面によれば、前記登録フェーズにおいて、前記エンコーダは誤り訂正符号として線形符号を用い、前記ハッシュ関数は準同型性を有する。また、認証フェーズでは、認証を行う毎に第2の乱数S'を生成し、前記第2の乱数S'を、第2のエンコーダで誤り訂正符号化した符号語C’と、前記バイナリデータ変換装置から出力される認証対象のバイナリデータZ’との排他的論理和(C' (+) Z')と、前記データベースから読み出した(Z (+) C)との排他的論理和((Z' (+) Z') (+) (C (+) C'))を第2のデコーダに入力して誤り訂正復号し、前記第2のデコーダからの出力S"をハッシュ関数に入力して求めたハッシュ値H(S”)と、前記第2の乱数S'をハッシュ関数に入力して求めたハッシュ値H(S')との排他的論理和(値H(S') (+) H(S”))が、前記データベースに登録されたH(S)と等しいか否か判定し、前記第2のエンコーダ、第2のデコーダは、誤り訂正符号として線形符号を用い、前記ハッシュ関数は準同型性を有する生体認証システムが提供される。
 本発明によれば、計算量の増大を抑えながら精度の向上を図る、全く新規なハッシュ関数の学習に基づくバイナリデータ変換方法と装置、システム、プログラムが提供される。
非特許文献4のFigure 2に基づく図である。 数値のバイナリ表示例を示す図である。 Spectral Hashingの固有ベクトルを例示する図である。 USPLHアルゴリズムの固有ベクトルを例示する図である。 シグモイド関数のグラフを示す図である。 距離関数のグラフを示す図である。 近傍と距離関数の関係を説明する図である。 実施形態の構成を示す図である。 実施形態の処理手順の一例を示す流れ図である。 実施例1を説明する図である。 実施例2を説明する図である。
 本発明の実施形態を以下に説明する。以下では、まず、ハッシュ関数のパラメータの学習を説明する。D次元空間中にn個のデータから構成されるデータ集合(data set)
Figure JPOXMLDOC01-appb-I000023
をハッシュ関数h()によって、Kビット長のバイナリコードYへと変換する。
Figure JPOXMLDOC01-appb-I000024
 本実施形態では、ハッシュ関数hk(x)として、連続関数であるシグモイド関数(sigmoid function)を用いて次式(5)のように拡張定義する(k=1,・・・K)。
Figure JPOXMLDOC01-appb-I000025
                           ・・・(5)
 式(5)において、β(t)は制御パラメータ、は射影ベクトル(絶対値||=1、k=1,・・・K)、Tは転置( T の転置べクトル)、xはD次元データポイント、αは閾値(オフセット)、 T→xは、データポイントxと射影ベクトルとの内積であり、データポイントxのへの射影(projection)である。なお、シグモイド関数は、変数xについてσ(x)=1/(1+exp(-ax))(aをゲインという)の形式で表される。
 式(5)において、β(t)は正値であり、定数、又は、学習が進むにしたがい(後述される最適化時の反復回数が大となるに従い)、β(t)は大きくなるように制御する。
 図5に、式(5)のシグモイド関数を用いたハッシュ関数hash(x)を示す。図5において、横軸のxは、式(5)の T→x-αk,縦軸はシグモイド関数の値である。
 また、図5のハッシュ関数hash(x)(シグモイド関数)は、β→∞の極限で-1又は+1となり、式(6)と一致する。ハッシュ関数のパラメータの学習が完了し、最適なパラメータk、αが得られると、この式(6)のハッシ関数(2値化関数)を用いて、バイナリハッシュ値を得る。
Figure JPOXMLDOC01-appb-I000026
                     ・・・(6)
 上式(3)と式(6)を較べると、
Figure JPOXMLDOC01-appb-I000027
より、式(6)は、式(3)の変換関数f()を恒等写像(f(x)=x)とし、式(3)のbを-αとした場合に等しいことがわかる。
 また、D次元特徴量空間でのデータポイント間の距離を表すn×nの距離行列Dのi行j列の要素di,jを次式(7)で定義する。

Figure JPOXMLDOC01-appb-I000028
                 ・・・(7)
 式(7)において、εは正の定数であり、特徴量空間中での近傍を予め定義する値(距離パラメータ)である。図6に、上式(7)の距離行列の要素di,jのグラフを示す。図6において、横軸xは、式(7)におけるデータポイント対の距離|ij|であり、縦軸は、di,jである。図6に示すように、|ij|=0のとき、di,j=1、|ij|=εのとき、横軸のxは1となり、di,j=1/e=1/2.71828・・・となる。さらに、|ij|>εで、di,jは急激に(指数関数的に)小さくなる。
 図7(A)、図7(B)は、特徴量空間(RD×n)における近傍の概念を説明する図である。ある点を中心とし、半径ε以内の近傍内では、距離を保存し、半径ε外、すなわち近傍以外では、距離を保存しない。すなわち、バイナリハッシング等の2値化において、どのような大きさの距離であっても近似できるようなビット表現は、必ずしも望まれるわけではない。言い換えると、近傍での距離は、例えば本人-他人の弁別等に重要であるが、ある程度離れた位置との間の距離は、閾値に対して十分大きければ、近似誤差が大きくても構わない、ということができる。|ij|>εで、di,jは急激に(指数関数的に)小さくなる、ということは、離れているデータ点間距離は、学習時に考慮しない、ことと等価である。また、di,jが十分小さいときには、その値を0とすることで、計算を省略することができ学習時間を短縮することが可能である。
 バイナリデータYは、元のデータ集合(2値化される前のデータ集合)X間の距離を表す行列Dを近似すべきであることから、式(5)のシグモイド関数で定義されるハッシュ関数
Figure JPOXMLDOC01-appb-I000029
中のパラメータ、αを、次式(8)で与えられるコスト関数(目的関数)S(W,α)の値を最小化するハッシュ関数の係数(パラメータ)として学習する(最適化問題)。
Figure JPOXMLDOC01-appb-I000030
                 ・・・(8)
 上式(8)のW、αはそれぞれ次式(9),(10)で与えられる。
Figure JPOXMLDOC01-appb-I000031
                 ・・・(9)

Figure JPOXMLDOC01-appb-I000032
                 ・・・(10)
 式(8)において、
Figure JPOXMLDOC01-appb-I000033
は、距離の近似に関わる項である。di,jは距離行例Dの要素(i,j)(i番目のデータポイントとj番目にあたるデータポイント間の距離)である。|yy|は、ハッシュ値から得られるバイナリ変換学習データの距離である。元のデータセットからハッシュ関数により変換されたバイナリコードy、y間は、XOR(排他的論理和)により比較することになるが、本実施形態では、数式上、取り扱いが容易でバイナリ符号の場合にはXORと同値となる二次式で表している。
 ハッシュ関数の係数(パラメータ)の学習は、コスト関数Sの最小値を求めるにあたり、特に制限されないが、最急降下法(Most Steepest Descent)を用いる。コスト関数Sを、最急勾配法により最小化することで、ハッシュ関数(シグモイド関数)のパラメータとαの最適値

Figure JPOXMLDOC01-appb-I000034

Figure JPOXMLDOC01-appb-I000035
を求める。^は最適値を表している。
 すなわち、ハッシュ関数のパラメータ学習時(パラメータの最適化時)に、バイナリ表現(2値化関数)を、連続値をとるシグモイド関数(式(5))で置き換え、例えば最急降下法等の最適化法の適用を可能とし、パラメータ学習を行う。なお、特に制限されないが、本実施形態では、β(t)の値を、学習回数tに依存して大きくすることで、シグモイド関数は、2値化関数に近づくようにしている。
 ここで、t回目の更新時(t=0は初期値)の各パラメータ、α
Figure JPOXMLDOC01-appb-I000036

Figure JPOXMLDOC01-appb-I000037
と表すものする。
 (t+1)回目の更新における各パラメータ
Figure JPOXMLDOC01-appb-I000038

Figure JPOXMLDOC01-appb-I000039
(k=1、2、・・・n)は、t回目の反復でのパラメータ値
Figure JPOXMLDOC01-appb-I000040

Figure JPOXMLDOC01-appb-I000041
と、コスト関数Sの勾配(Sの(t) 、α(t) による偏微分係数)

Figure JPOXMLDOC01-appb-I000042

Figure JPOXMLDOC01-appb-I000043
により、それぞれ次式(11)、(12)により、更新する。

Figure JPOXMLDOC01-appb-I000044
                 ・・・(11)

Figure JPOXMLDOC01-appb-I000045
                 ・・・(12)
 ここで、γ(t)は所定の正定数とするか、あるいは、繰り返し(iteration)毎にその値を小さくする(γ(t+1)(t))ように制御する。
 式(11)の偏微分項は以下の式(13)で表される。
Figure JPOXMLDOC01-appb-I000046
                       ・・・(13)
 ただし、
Figure JPOXMLDOC01-appb-I000047
                       ・・・(14)
である。
 式(12)の偏微分項は以下の式で表される。

Figure JPOXMLDOC01-appb-I000048
                 ・・・(15)
Figure JPOXMLDOC01-appb-I000049
                     ・・・(16)
 (t+1)回目の反復(iteration)で求めた式(8)のコスト関数S(t+1)(W,α)と、t回目の反復で求めた式(8)のコスト関数S(t)(W,α)の差S(t+1)(W,α)-S(t)(W,α)の絶対値が収束判定パラメータδ以下の場合、
|S(t+1)(W,α)-S(t)(W,α)|<δ
コスト関数S(W,α)は収束したものと判定され(最小値)、このときのパラメータW(t+1)α(t+1)が、係数出力部112から、ハッシュ関数(式(5)のシグモイド関数)のパラメータ(最適パラメータ)
Figure JPOXMLDOC01-appb-I000050

Figure JPOXMLDOC01-appb-I000051
として出力される。
 n個のD次元データポイントを含む学習データ(データ集合)に対して、ハッシュ関数の最適パラメータ^W(t+1)、^α(t+1)と、^β(t+1)を、式(5)のシグモイド関数のパラメータに用いて、図5の横軸x=0で2値化して得られた、Kビット長のn個のバイナリハッシュコードY∈BK×nが求めるバイナリコードである。なお、式(5)においてβ(t+1)→∞とした式(6)のハッシュ関数hkx;W,α)の、αに、導出された最適化パラメータ^W(t+1)、^α(t+1を代入することで、2値化(バイナリハッシング)してもよい。このバイナリコードは、例えば近接近傍探索処理等に用いられる。
 上記の通り、ハッシュ関数として、連続値表現のシグモイド関数を用い、元のデータ集合(Euclid空間)の距離dとして、近傍では距離を保存するが、近傍以外では距離を保存しない(予め定められた所定値以上離れた距離はほぼ同一の一定値に設定される)特性の距離関数を用いて求めた距離行列di,jと、連続関数であるシグモイド関数をハッシュ関数として用いて求めたバイナリ学習データy,yの距離と、に基づき規定されるコスト関数の最小化により、ハッシュ関数の最適パラメータを求める、という新規な学習方法を実装したことで、計算量等の増大を抑止しながら、精度の向上(例えば、元の空間での近傍点(near or nearest neighbors)が類似したバイナリコードを持つこと)を可能としている。
 なお、式(8)において、yiとyjが同一の場合に、||内が0となる。このため、学習の途中で、yiとyjが同じ値となる方が、コスト関数S(W,α)は小さくなる。つまり、yi、及びyjが同一になるように誤った学習をしてしまう事態が発生し得る。この事態を防ぐために、式(8)において、ペナルティ項を付与する、ようにしてもよい。例えばλを正定数として、yiがばらつく方が好ましいペナルティ項をとりいれたコスト関数として、次式(17)を用いるようにしてもよい。
Figure JPOXMLDOC01-appb-I000052
                               ・・・(17)
 式(17)をコスト関数として用いた場合でも、コスト関数を最小化するハッシュ関数の係数の学習は、式(8)をコスト関数として用いた場合と同様にして行われる。
 図8は、本発明の実施形態の構成を説明する図である。図8には、本実施形態の装置(バイナリコード変換装置)100において、ハッシュ関数のパラメータ最適化を行う部分(ハッシュ関数パラメータ最適化部(手段))が模式的に示されている。複数(n個)のD次元(Dは所定の整数値)データポイントを含むデータ集合を入力し、前記データポイントを射影ベクトルに射影させた値に基づき2値化するK個(Kは所定の整数値)のハッシュ関数によってKビット長の複数(n個)のバイナリデータに変換する装置であって、距離行列計算部102、ハッシュ関数演算部104、コスト計算部106、コスト比較部108、更新操作部109、ハッシュ関数係数更新部110、係数出力部112、距離パラメータεを記憶する記憶部114、学習データの記憶部116、距離行列を記憶する記憶部118、バイナリ変換学習データの記憶部120、コスト値を記憶する記憶部122、収束判定パラメータδの記憶部124、ハッシュ関数係数W、αを記憶する記憶部126、パラメータβを記憶する記憶部128を備えている。ストレージ装置として図示される114、116、118、120、122、124、126、128は、磁気/光/半導体ストレージのいずれであってもよい。また、各ストレージ装置は同一のストレージ装置の別の記憶領域であってもよい。また、パラメータε、δ、βを格納するストレージ装置114、124、128は、ラッチ回路、レジスタであってもよい。記憶部116に記憶される学習データは、バイナリコード(2値化データ)に変換対象のデータ集合(data set)からなり、例えば生体情報等から特徴抽出(Feature Extraction)により取得された特徴量からなる。
 距離行列計算部102、ハッシュ関数演算部104、コスト計算部106、コスト比較部108、更新操作部109、ハッシュ関数係数更新部110、係数出力部112は、コンピュータで実行されるプログラムでその処理・機能を実現するようにしてもよい。また実施形態によれば、該プログラムを記録したコンピュータで読み出し可能な媒体(半導体メモリ、磁気/光ディスク媒体・装置)が提供される。
 図9は、本発明の実施形態の処理手順を説明する図である。図8及び図9を参照して、本実施形態におけるハッシュ関数のパラメータ最適化の処理手順を説明する。
ステップ1(図9のS101):
 距離行列計算部102は、記憶部116からD次元空間のn個の学習データ
Figure JPOXMLDOC01-appb-I000053
を入力し、記憶部114から距離パラメータεを入力し、式(7)に従って2つのデータポイント間の距離di,jを計算し、n×nの距離行列Dを記憶部118に出力する。
ステップ2(図9のS102):
 ハッシュ関数演算部104は、記憶部116からD次元空間のn個のデータポイント
Figure JPOXMLDOC01-appb-I000054
を入力し、

 記憶部126から式(5)のシグモイド関数の係数(パラメータ)
Figure JPOXMLDOC01-appb-I000055

Figure JPOXMLDOC01-appb-I000056
を入力し、
 記憶部128からシグモイド関数の制御パラメータβ(t)を入力し、
 上式(5)に従い、シグモイド関数を用いたハッシュ関数
Figure JPOXMLDOC01-appb-I000057
(ただし、k=1,・・・K)
の値を計算する。ハッシュ関数演算部104は、K個のハッシュ関数hのハッシュ値からバイナリ変換学習データを求め、
Figure JPOXMLDOC01-appb-I000058
を記憶部120に出力する。
ステップ3(図9のS103):
 コスト計算部106は、記憶部118から、距離行列Dを読み出し、記憶部120からバイナリ変換学習データY∈BK×nを読出し、式(8)又は式(17)のコスト関数(目的関数)
Figure JPOXMLDOC01-appb-I000059
を計算し、記憶部122と、コスト比較部108に出力する。
ステップ4(図9のS104):
 コスト比較部108は、前回のコスト値S(t-1)を記憶部122から読み出し、収束判定パラメータδを記憶部124から読み出し、コスト計算部106からのコスト値S(t)と比較する。すなわち、コスト比較部108は、コスト値S(t)と前回のコスト値S(t-1)に関して収束条件:
Figure JPOXMLDOC01-appb-I000060
が成立するか否か判定する。判定の結果、(18)の収束条件が成立であれば、収束であり、収束条件が不成立であれば、非収束である。
ステップ5(図9のS105):
 収束した場合(S104の判定Yes)、係数出力部112はW(t)、α(t)を出力する(コスト関数の最小化終了)。コスト関数の最小化によるハッシュ関数のパラメータの最適値を発見した段階で、ハッシュ関数演算部104は、最適化完了後のパラメータを用いて2値表現のハッシュ値(式(5)の-1と+1の間の連続値の代わりに、式(6)の{-1、+1}の2値表現のハッシュ値)を求め、これが、求めるバイナリデータとなる。
ステップ6(図9のS106):
 一方、収束条件を満たさない場合(S104の判定No)、更新操作部109は、パラメータβ(t)をβ(t+1)に更新し、ハッシュ関数係数更新部110に、係数(パラメータW、α)の更新を指示する。ハッシュ関数係数更新部110は、上記した最急降下法等にしたがって、ハッシュ関数のパラメータW(t+1)、α(t+1)を、それぞれ上式(11)、(12)にしたがって計算する。
 ステップ2(図9のS102)に戻り、ハッシュ関数演算部104は、ハッシュ関数係数更新部110で計算したW(t+1)、α(t+1)、更新操作部109により更新されたβ(t+1)を入力し、ハッシュ値を求め、バイナリ変換学習データを、記憶部120に格納する。
 上記の通り、本実施形態は、ハッシュ関数のパラメータの学習(最適化)を数式アルゴリズムを用いた明確な手続き(exactな解)として規定している。
 本実施形態によれば、ハッシュ関数に非線形のシグモイド関数を用い、さらに元のデータの距離(距離行列)として近傍領域のみ距離を保存する関数型を採択し、距離行列の要素と対応するバイナリ変換データの距離との演算で求められる目的関数(コスト関数)の最適化(最小化)を行うことで、ハッシュ関数のパラメータ(射影ベクトル、閾値(オフセット))の最適化を行い、バイナリ変換データを取得している。
 このため、本実施形態によれば、線形部分空間での原点閾値による2値化を行う関連技術の問題点を解消して、精度を向上し、計算量の増大を抑制している。本実施形態によれば、学習型の近似最近傍探索等の任意応用に適用可能である。例えばWebサイトのデータ比較や類似データの抽出、Bigデータに対する大規模データマイニング等にも適用可能であるが、以下では、一実施例として生体認証への適用例を説明する。
<実施例1>
 図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)からなる。
(1)ユーザ毎にランダムに生成された秘匿情報Sをエンコーダ(ENC)202に入力して誤り訂正符号化し(Error Correcting Coding:ECC)、符号語Cを生成する。ECCはパラメータ(K, s, d)の2元BCH符号が用いられる。Kは符号語(code word)の長さ、sは情報シンボル(information symbol)数、dは訂正可能な誤り数である。
(2)符号語Cと生体情報Zを排他的論理和206に入力し、
 W2 = C (+) Z
を計算する(ただし、(+)はビット毎の排他的論理和演算(bitwise XOR)を表す)。
(3)秘匿情報Sを、SHA(Secure Hash Algorithm)-1等の暗号学的ハッシュ関数(cryptographic (one-way) hash function)204に入力して、ハッシュ値H(S)を得る。
(4)W2及びH(S)をテンプレート情報としてデータベース(DB)208に格納する。
 生体情報Zは、乱数性(ランダムネス)の高い符号語C でマスクされているため、W2から生体情報は漏洩しない。
 上記(1)から(4)によって生成されたテンプレートと、別の生体情報Z'が同じ人物から採取したものであるか否かの認証(Verification)フェーズは、次のようにして行われる。
(1)Z'とW2とを排他的論理和210に入力し、
 C' = W2 (+) Z' = C (+) (Z (+) Z')
を計算する。登録フェーズと認証フェーズの生体情報(例えば指紋等)が同一人物のものであれば、(Z (+) Z')のHamming重みは小さいので、誤り訂正可能である。
(2)C'をデコーダ(DEC)212に入力してBCH符号の誤り訂正復号を行い、S'を計算する。
(3)S'を、SHA-1等の暗号学的ハッシュ関数214に入力してハッシュ値H(S')を計算する。
(4)データベース(DB)208からH(S)を読み出し、判定器216でH(S) = H(S')が成立するかチェックする。H(S) = H(S')が成立する場合には、テンプレートと生体情報Z'が同じ人物から採取されたものと判断する。H(S) = H(S')が成立しない場合は、異なる人物から採取されたものと判断する。
 図10では、生体情報Zの秘匿に用いた乱数(秘匿情報Si)のハッシュ値H(Si)をデータベースに格納することで秘匿している。生体情報Zを、乱数性の高いデータCi(Siを誤り訂正符号化)と排他的論理和をとることで秘匿している。図10の手法は、秘匿(暗号化)されたデータを復号することなく、暗号文が、提示されたデータと一定のハミング距離以内のデータを暗号化したものであるか否かの照合を行う方式と解釈することが可能である。
 しかしながら、認証フェーズにおいて、生体情報Z'iそのものが認証を行うサーバに送信される。認証成功時(すなわち、H(S) = H(S')が成立する場合)に、生体情報S'も(デコーダ212の出力)も漏洩するため、データべースに登録された生体情報Zが認証サーバに知られてしまう可能性がある。このような問題点を解決する手法を実施例2として説明する。
<実施例2>
 図11は、実施例2の構成を説明する図である。登録フェーズでは、秘匿情報Siを誤り訂正符号化するエンコーダ302は、誤り訂正符号として線形符号を用い、ハッシュ関数304は、準同型性を有するハッシュ関数を用いる点が、図10の構成と相違している。これ以外は、図10と同一である。なお、準同型性とは、写像f:G→G’が、∀a,b∈Gに対してf(a・b)=f(a)・f(b)を満たすことをいう。
 線形符号は、Sを誤り訂正符号化した符号語C、S'iを誤り訂正符号化した符号語C'に関して C (+) C'が、S (+) S'を誤り訂正符号化した符号語となるという性質を持った誤り訂正符号を用いる。
 また準同型のハッシュ関数は、
 Sのハッシュ値H(S
 S'のハッシュ値H(S'
について、
 H(S)(+) H(S')=H(S (+) S'
が成り立つ、すなわち、H(S)(+) H(S')が、S(+)S'のハッシュ値となるハッシュ関数である。
 図11を参照すると、認証フェーズでは、認証を行う毎に乱数(秘匿情報S')を生成し、エンコーダ320で誤り訂正符号化した符号語C'iを、認証対象の生体情報Z'iを排他的論理和318に入力し、
 Z' (+) C'
を計算する。排他的論理和318の出力(Z' (+) C')とデータベース(DB)308から読み出したW2を排他的論理和310に入力し、
  W2 (+) (Z' (+) C')
 =(Z' (+) Z') (+) (C (+) C')
を計算する。
 排他的論理和310の出力(Z' (+) Z') (+) (C (+) C')をデコーダ(DEC)312に入力し、誤り訂正復号を行い、S"を出力する。
 秘匿情報S'を入力する準同型性のハッシュ関数322の出力H(S')、デコーダ(DEC)312の出力を入力する準同型性のハッシュ関数314の出力H(S")、データベース(DB)308から読み出したH(Si)を判定器316に入力し、
 H(S)=H(S'i) (+) H(S"
が成り立つか否か判定する。成り立つ場合、受理、成り立たない場合、拒否する。
 すなわち、認証が受理される場合、
 S= S'i (+) S"
となるため、ハッシュ関数の準同型性より、
 H(S)= H(S'i (+) S")=H(S'i) (+) H(S"
が成り立つ。
 図11の構成の場合、認証フェーズにおいてデータベース308から送出される情報から生体情報を計算することはできず、生体情報Z'iを乱数でマスクした情報が認証サーバに与えられるため、安全性を担保することができる。
 なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
100 2値化装置
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)

  1.  ハッシュ関数のパラメータを最適化するハッシュ関数パラメータ最適化部を備え、
     記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換し、
     前記ハッシュ関数パラメータ最適化部は、
     前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力するハッシュ関数演算部を備え、
     データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する、ことを特徴とするバイナリデータ変換装置。
  2.  前記ハッシュ関数演算部では、k番目(k=1、・・・K)の前記連続値関数のハッシュ関数として、シグモイド(sigmoid)関数
    Figure JPOXMLDOC01-appb-I000001

    (ただし、β(t)は正値の制御パラメータ(tは前記ハッシュ関数パラメータ最適化部でのパラメータ導出の反復回数であり、β(t)は、反復回数が多くなると大となる)、
    は射影ベクトル(k=1、・・・K)、
    Tは転置、
    xはデータポイント(D次元、ただしDは所定の正整数)、
    T→xは前記データポイントの射影ベクトルへの射影、
    αはオフセット)
    を用い、前記ハッシュ関数のパラメータとαの最適化を行う、ことを特徴とする請求項1記載のバイナリデータ変換装置。
  3.  前記ハッシュ関数パラメータ最適化部が、
     前記データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が指数関数的に小さくなる距離関数を用いて距離行列を計算する距離行列計算部と、
     前記コスト関数を用いてコスト値を計算するコスト計算部と、
     前記コスト計算部で今回求めたコスト値と、前記コスト計算部で前回求めたコスト値とを比較し、予め定められた収束条件を満たしているか否か判定するコスト比較部と、
     前記収束条件を満たしている場合には、前記ハッシュ関数のパラメータを最適値として出力するパラメータ出力部と、
     前記収束条件を満たしていない場合には、前記ハッシュ関数のパラメータを更新して記憶装置に記憶する更新部と、
     備え、
     前記収束条件を満たしていない場合、前記ハッシュ関数演算部は、前記更新部で更新された前記ハッシュ関数のパラメータを用いて、前記バイナリ変換学習データを出力し、
     前記コスト計算部によるコスト値の計算、
     前記コスト比較部による収束判定が行われる、ことを特徴とする請求項1又は2記載のバイナリデータ変換装置。
  4.  前記距離行列計算部は、第i、第jのデータポイント間の距離di,j(ただし、i,jは1以上、n以下の整数)を、距離関数

    Figure JPOXMLDOC01-appb-I000002
    (ただし、εは前記距離パラメータ)
    を用いて求める、ことを特徴とする請求項3記載のバイナリデータ変換装置。
  5.  前記コスト関数は、前記第i、第jのデータポイント間の距離di,jと、前記バイナリ変換学習データij間の距離|ij|を乗算した項のi、jのデータ数n分の総和

    Figure JPOXMLDOC01-appb-I000003

    を含む、ことを特徴とする請求項4記載のバイナリデータ変換装置。
  6.  前記コスト関数は、さらに項
    Figure JPOXMLDOC01-appb-I000004
    (ただし、λは所定の正数)
    を含み、
    Figure JPOXMLDOC01-appb-I000005
    としてなる、ことを特徴とする請求項5記載のバイナリデータ変換装置。
  7.  前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、前記更新部は、前記ハッシュ関数の現在の前記射影ベクトルと、前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、さらに、
     前記制御パラメータを更新する、ことを特徴とする請求項3乃至6のいずれか1項に記載のバイナリデータ変換装置。
  8.  登録フェーズにおいて、生体情報から特徴量抽出したデータ集合に対して、請求項1乃至7のいずれか1項に記載のバイナリデータ変換装置から出力されるバイナリデータ(2値化データ)Zに対して、乱数Sを生成し、
     前記乱数Sをエンコーダで誤り訂正符号化した符号語Cと前記バイナリデータZの排他的論理和(Z (+) C)、及び、前記乱数Sを入力とするハッシュ関数の出力H(S)を、データベースへ登録する、生体認証システム。
  9.  認証フェーズにおいて、前記バイナリデータ変換装置から出力される認証対象のバイナリデータZ’と、前記データベースから読み出した前記(Z (+) C)との排他的論理和をとった値C’をデコーダに入力して誤り訂正復号し、
     前記デコーダの出力S'をハッシュ関数に入力し、
     前記ハッシュ関数の出力H(S')と、前記データベースに登録されているH(S)とが等しいか否か判定する、請求項8記載の生体認証システム。
  10.  登録フェーズにおいて、前記エンコーダは誤り訂正符号として線形符号を用い、
     前記ハッシュ関数は準同型性を有する、請求項8記載の生体認証システム。
  11.  認証フェーズでは、認証を行う毎に第2の乱数S'を生成し、
     前記第2の乱数S’を、第2のエンコーダで誤り訂正符号化した符号語C’と、前記バイナリデータ変換装置から出力される認証対象のバイナリデータZ’との排他的論理和(C' (+) Z')と、前記データベースから読み出した(Z (+) C)との排他的論理和(Z' (+) Z') (+) (C (+) C'))を第2のデコーダに入力して誤り訂正復号し、
     前記第2のデコーダからの出力S”をハッシュ関数に入力して求めたハッシュ値H(S”)と、前記第2の乱数S'をハッシュ関数に入力して求めたハッシュ値H(S')との排他的論理和(値H(S') (+) H(S”))が、前記データベースに登録されたH(S)と等しいか否か判定し、
     前記第2のエンコーダ、第2のデコーダは、誤り訂正符号として線形符号を用い、前記ハッシュ関数は準同型性を有する、請求項10記載の生体認証システム。
  12.  ハッシュ関数のパラメータを最適化するパラメータ最適化工程と、
     記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化工程で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する工程と、
     を含み、
     前記パラメータ最適化工程では、
     前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いて、ハッシュ値を求め、連続値のバイナリ変換学習データとして記憶部に出力し、
     データポイント間の距離として、予め定められた所定の距離パラメータ以内では、前記データポイント間の距離を保存した値をとり、前記距離パラメータを超えると、値が小さくなる特性の距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離と、に少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の最適化されたパラメータとして導出する、ことを特徴とするバイナリデータ変換方法。
  13.  前記連続値関数のハッシュ関数(k番目のハッシュ関数、k=1、・・・K)として、シグモイド(sigmoid)関数
    Figure JPOXMLDOC01-appb-I000006

    (ただし、β(t)は正値の制御パラメータ(tは前記パラメータ最適化工程でのパラメータ導出の反復回数であり、β(t)は、反復回数が多くなると大となる)、
    は射影ベクトル(k=1、・・・K)、
    Tは転置、
    xはデータポイント(D次元)、
    T→xは前記データポイントの射影ベクトルへの射影、
    αはオフセット)
    を用い、前記ハッシュ関数のパラメータとαの最適化を行う、ことを特徴とする請求項12記載のバイナリデータ変換方法。
  14.  前記コスト関数の最小化の過程において、
     コスト比較部が、今回求めた前記コスト関数のコスト値と、前回求めた前記コスト関数のコスト値とを比較し、予め定められた収束条件を満たしているか否か判定し、
     前記収束条件を満たしている場合、パラメータ出力部が、前記ハッシュ関数のパラメータを最適値として出力し、
     前記収束条件を満たしていない場合、更新部が、前記ハッシュ関数のパラメータを更新して記憶装置に記憶し、
     前記収束条件を満たしていない場合、前記ハッシュ関数演算部は、前記更新部で更新されたハッシュ関数のパラメータにより前記ハッシュ値を求めバイナリデータを出力し、前記コスト計算部によるコスト値の計算、前記コスト比較部による収束判定が行われる、ことを特徴とする請求項12又は13記載のバイナリデータ変換方法。
  15.  前記距離行列計算部は、第i、第jのデータポイント間の距離di,j(ただし、i,jは1以上、n以下の整数)を、距離関数

    Figure JPOXMLDOC01-appb-I000007
    (ただし、εは前記距離パラメータ)を用いて求める、ことを特徴とする請求項12乃至14のいずれか1項に記載のバイナリデータ変換方法。
  16.  前記コスト関数は、前記第i、第jのデータポイント間の距離di,jと、前記バイナリ変換学習データij間の距離|ij|を乗算した項のi、jのデータ数n分の総和
    Figure JPOXMLDOC01-appb-I000008
    を含む、ことを特徴とする請求項15記載のバイナリデータ変換方法。
  17.  前記コスト関数は、さらに項
    Figure JPOXMLDOC01-appb-I000009
    (ただし、λは所定の正数)
    を含み、
    Figure JPOXMLDOC01-appb-I000010
    としてなる、ことを特徴とする請求項16記載のバイナリデータ変換方法。
  18.  前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、前記ハッシュ関数の現在の前記射影ベクトルと前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、さらに、
     前記制御パラメータを更新する、ことを特徴とする請求項12乃至17のいずれか1項に記載のバイナリデータ変換方法。
  19.  ハッシュ関数のパラメータを最適化するパラメータ最適化処理と、
     記憶部から予め定められた所定の次元数の空間上のポイントで表される複数のデータの集合を入力し、データポイントの射影ベクトルへの射影に基づき、2値表現に変換するK個(Kは所定の正整数)の各ハッシュ関数として、前記パラメータ最適化処理で最適化されたパラメータのハッシュ関数を用いて、Kビット長の複数個の2値化データに変換する処理を、コンピュータに実行させるプログラムであって、
     前記パラメータ最適化処理は、
     前記ハッシュ関数として、変数が、前記データポイントの射影ベクトルへの射影を含む連続値関数のハッシュ関数を用いてハッシュ値を求め、連続値のバイナリ変換学習データとして、記憶部に出力する処理と、
     データポイント間の距離として、予め定められた所定の距離パラメータ以内では距離を保存するが、前記距離パラメータを超えると、値が小さくなる距離関数を用いて計算される距離と、前記連続値のバイナリ変換学習データの距離とに少なくとも基づき規定されるコスト関数を最小化する前記ハッシュ関数のパラメータを、前記ハッシュ関数の前記最適化されたパラメータとして導出する処理を含む、ことを特徴とするプログラム。
  20.  前記連続値関数のハッシュ関数(k番目のハッシュ関数、k=1、・・・K)として、シグモイド(sigmoid)関数
    Figure JPOXMLDOC01-appb-I000011

    (ただし、β(t)は制御パラメータ(tは前記パラメータ最適化工程でのパラメータ導出の反復回数であり、β(t)は、反復回数が多くなると大となる)、
    は射影ベクトル(k=1、・・・K)、
    Tは転置、
    xはデータポイント(D次元)、
    T→xは前記データポイントの射影ベクトルへの射影、
    αはオフセット)
    を用いる、ことを特徴とする請求項19記載のプログラム。
  21.  前記パラメータ最適化処理が、
     今回求めた前記コスト関数のコスト値と、前回求めたコスト関数のコスト値とを比較し、予め定められた収束条件を満たしているか否か判定する処理と、
     前記収束条件を満たしている場合、前記ハッシュ関数のパラメータを最適値として出力する処理と、
     前記収束条件を満たしていない場合、前記ハッシュ関数のパラメータを更新して記憶装置に記憶する処理と、
     を含み、
     前記収束条件を満たしていない場合、前記ハッシュ関数演算処理が、前記更新されたハッシュ関数のパラメータにより前記ハッシュ値を求めバイナリデータを出力し、前記コスト値の計算と前記収束判定が行われる、ことを特徴とする請求項19又は20記載のプログラム。
  22.  前記距離関数を用いて距離を求めるにあたり、第i、第jのデータポイント間の距離di,j(ただし、i,jは1以上、n以下の整数)を、距離関数

    Figure JPOXMLDOC01-appb-I000012
    (ただし、εは距離パラメータ)を用いて求める、ことを特徴とする請求項19乃至21のいずれか1項に記載のプログラム。
  23.  前記コスト関数は、前記第i、第jのデータポイント間の距離di,jと、前記バイナリ変換学習データij間の距離|ij|を乗算した項のi、jのデータ数n分の総和
    Figure JPOXMLDOC01-appb-I000013
    を含む、ことを特徴とする請求項22記載のプログラム。
  24.  前記コスト関数は、さらに項
    Figure JPOXMLDOC01-appb-I000014
    (ただし、λは所定の正数)
    を含み、
    Figure JPOXMLDOC01-appb-I000015
    としてなる、ことを特徴とする請求項23記載のプログラム。
  25.  前記コスト関数の最小値を最急勾配法で求め、前記コスト関数のコスト値が収束条件を満たしていない場合、
     前記更新処理は、前記ハッシュ関数の現在の前記射影ベクトルと前記オフセットと、前記コスト関数の前記射影ベクトルと前記オフセットによる偏微分パラメータを用いて、前記ハッシュ関数の射影ベクトルとオフセットを更新し、
     さらに前記制御パラメータを更新する、ことを特徴とする請求項19乃至24のいずれか1項に記載のプログラム。
PCT/JP2013/076021 2012-09-27 2013-09-26 バイナリデータ変換方法と装置及びプログラム WO2014050952A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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