WO2014118978A1 - 学習方法、情報処理装置および学習プログラム - Google Patents
学習方法、情報処理装置および学習プログラム Download PDFInfo
- Publication number
- WO2014118978A1 WO2014118978A1 PCT/JP2013/052408 JP2013052408W WO2014118978A1 WO 2014118978 A1 WO2014118978 A1 WO 2014118978A1 JP 2013052408 W JP2013052408 W JP 2013052408W WO 2014118978 A1 WO2014118978 A1 WO 2014118978A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vector
- feature
- learning
- vectors
- sample set
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Definitions
- the present invention relates to a learning method, an information processing apparatus, and a learning program.
- a technique for speeding up the search process by relaxing the strictness when searching for similar data using a feature vector indicating the characteristics of data such as fingerprints, images, and voices is known.
- a method of reducing the calculation cost by converting a feature vector into a binary string while maintaining the distance relationship between the feature vectors and calculating the Hamming distance between the binary strings is known. ing.
- LSH Location-Sensitive Hashing
- the information processing apparatus sets a plurality of hyperplanes that divide the feature quantity vector space, and indicates whether the inner product of the normal vector and the feature quantity vector of each hyperplane is positive or negative, respectively.
- the feature vector is converted to. That is, the information processing apparatus divides the feature vector space into a plurality of regions using the hyperplane, and converts the feature vector into a binary string indicating which of the divided regions the feature vector belongs to. .
- each data is assigned to each label in order to facilitate classification of newly registered data. It is desirable to set hyperplanes to be classified into For this reason, a technique for learning a set of hyperplanes that classifies each data for each label using a data pair to which a different label is assigned is known.
- the information processing apparatus randomly selects one feature quantity vector as a reference vector, and selects a feature quantity vector most similar to the reference vector from among feature quantity vectors assigned labels different from the reference vector. . Then, the information processing apparatus learns the hyperplane that divides the two selected feature vectors, and sets the hyperplane near the boundary between the data with different labels.
- a group consisting of all data having the same label as the reference vector is defined as a reference group.
- the information processing apparatus learns a hyperplane that locally classifies a group adjacent to the reference set and a reference group among groups of data to which a label different from the data included in the reference group is assigned.
- the feature vector space can be divided more globally to classify many groups. It is desirable to learn the plane.
- the present invention aims to learn hyperplanes that classify data globally.
- the information processing apparatus learns a hyperplane that divides a feature vector space.
- the information processing apparatus randomly selects one or more feature quantity vectors as sample sets from the learning feature quantity vectors. Further, the information processing apparatus is a feature amount vector to which a label different from each feature amount vector included in the sample set is assigned, and a generalized average of a distance from each feature amount vector included in the sample set is minimum. Is selected as a reference vector. Then, the information processing apparatus calculates a hyperplane using a pair of feature amount vectors obtained by combining the feature amount vector to which a label different from the reference vector is given and the selected reference vector among the feature amount vectors for learning. learn.
- FIG. 1 is a diagram for explaining the search system according to the first embodiment.
- FIG. 2 is a diagram for explaining an example of biometric authentication.
- FIG. 3 is a diagram for explaining a global hyperplane.
- FIG. 4 is a diagram for explaining processing for setting a global hyperplane.
- FIG. 5 is a diagram for explaining an example of data stored in the learning data storage unit.
- FIG. 6 is a flowchart for explaining the flow of processing executed by the information conversion apparatus.
- FIG. 7 is a first diagram for explaining a variation for generating a negative example pair.
- FIG. 8 is a second diagram for explaining a variation for generating a negative example pair.
- FIG. 9 is a flowchart for explaining the flow of processing for setting a hyperplane near the boundary of a data set.
- FIG. 9 is a flowchart for explaining the flow of processing for setting a hyperplane near the boundary of a data set.
- FIG. 10 is a first flowchart for explaining a variation of processing for setting a hyperplane.
- FIG. 11 is a second flowchart for explaining a variation of processing for setting a hyperplane.
- FIG. 12 is a third flowchart for explaining a variation of the process of setting the hyperplane.
- FIG. 13 is a diagram for describing an example of a computer that executes a learning program.
- FIG. 1 is a diagram for explaining the search system according to the first embodiment.
- the search system 1 includes a client device 2, an information conversion device 10, and an information search device 20.
- the information conversion apparatus 10 includes a learning data storage unit 11, a sample set selection unit 12, a reference vector selection unit 13, a data pair generation unit 14, and a hyperplane learning unit 15.
- the information search device 20 includes a search target database storage unit 21, a binary conversion unit 23, a binary database storage unit 22, and a search processing unit 24.
- the search system 1 receives the query data from the client device 2, the search system 1 searches the search target database storage unit 21 for the neighborhood data of the query data. Then, the search system 1 notifies the client device 2 whether data similar to the vicinity of the query data is registered. Specifically, the search system 1 uses the conversion matrix generated by the information conversion device 10 to convert the data to be searched by the information search device 20 into a binary string, and uses the converted binary string to execute a query. Search for neighborhood data.
- the data to be searched by the search system 1 is, for example, data such as images and sounds, and biometric data in biometric authentication using a fingerprint pattern or a vein pattern. That is, when the search system 1 receives user biometric data input to the client device 2 as query data, the search system 1 determines whether the user biometric data is registered.
- the search system 1 does not depend on a specific feature quantity, and can use any feature quantity.
- a SIFT feature amount or SURF feature amount that is generally used as an image feature amount may be used.
- These feature quantities are known to be robust against hiding and fluctuation by using local information in the image as feature quantity vectors.
- a form feature vector may be used.
- FIG. 2 is a diagram for explaining an example of biometric authentication.
- the example shown in FIG. 2 shows processing in ID-less 1: N authentication in which information such as a user ID (Identification) is not input and biometric data is not narrowed down using the user ID.
- N authentication in which information such as a user ID (Identification) is not input and biometric data is not narrowed down using the user ID.
- the search system 1 stores a plurality of registered biometric data registered by a plurality of users.
- the search system 1 When the search system 1 receives biometric data as query data from the client device 2, the search system 1 extracts a feature quantity vector indicating the feature quantity of the input biometric data, and obtains a feature quantity vector similar to the extracted feature quantity vector. Search for registered biometric data. That is, the search system 1 determines whether registered biometric data of the user who has input the query data is registered.
- the search system 1 generates a conversion matrix that converts the feature vector into a binary string having a predetermined bit length, and converts the feature vector of the registered biometric data into a binary string using the generated conversion matrix. Further, the search system 1 converts a feature quantity vector in biometric data input as query data into a binary string having a predetermined bit length, and calculates a Hamming distance from the binary string obtained by converting the feature quantity vector of registered biometric data. .
- the search system 1 extracts registered biometric data whose hamming distance is a predetermined threshold value or less as a search target candidate. Thereafter, the information search device 1 executes a strict matching process between the searched registered biometric data and the biometric data input as query data, and outputs the execution result to the client device 2.
- the feature vector is, for example, a ridge direction or length, a gradient, a ridge end or branch, etc. in a specific area in the image.
- the density of characteristic points and the numerical values of coordinates are vectorized.
- the feature vector is a vector obtained by vectorizing numerical values such as frequency component distribution, intensity, and peak value.
- the information conversion apparatus 10 uses the learning data stored in the learning data storage unit 11 to generate a conversion matrix for converting the feature vector into a binary string having a predetermined bit length, and the generated conversion matrix is The information search device 20 is notified.
- the conversion matrix is a matrix having, as row components, hyperplane normal vectors that divide the feature vector space into a plurality of regions, and when the information search device 20 converts the feature vectors into binary strings.
- the matrix to use For example, the information search device 20 calculates the product of the transformation matrix and the feature vector. Then, the information search device 20 determines whether the value of each component of the calculated product is positive or negative. If the value is a positive value, “1”, and if it is a negative value, “0”. ”Is generated. That is, the information search apparatus 20 uses the transformation matrix to display a feature quantity in a binary string that indicates which area of the feature quantity vector space divided into a plurality of areas by the hyperplane. Convert the vector.
- the information conversion apparatus 10 uses a feature amount vector stored in the learning data storage unit 11 as a pair of feature amounts vectors to which the same label is assigned, and a feature amount vector to which a different label is assigned. A negative example pair that is a set is generated. Then, the information conversion apparatus 10 optimizes the hyperplane by simultaneously evaluating a plurality of set hyperplanes using the generated positive example pair and negative example pair.
- FIG. 3 is a diagram for explaining a global hyperplane.
- each feature vector is indicated by a circle or a triangle, and a set of feature vectors having the same label, that is, a data set is surrounded by a dotted line.
- the hyperplane is learned using the feature vector (B) most similar to the vector as a negative example pair.
- FIG. 3C a data set including the feature vector shown in FIG. 3A and data containing the feature vector shown in FIG. A hyperplane is set near the boundary with the set.
- each bit of the binary string obtained by converting the feature vector is information indicating on which side of the hyperplane the feature vector is located. For this reason, when there are 100 data sets with different labels, 50 data sets and 50 other data sets than the hyperplane that classifies one data set and the other 99 data sets.
- the information conversion apparatus 10 randomly selects a plurality of feature quantity vectors as a sample set from the feature quantity vectors stored in the learning data storage unit 11. Next, the information conversion apparatus 10 identifies a feature quantity vector to which a label different from each feature length vector included in the sample set is assigned from among the feature quantity vectors stored in the learning data storage unit 11. Then, the information conversion apparatus 10 calculates a distance from the feature amount vector included in the sample set for each identified feature amount vector, and calculates a generalized average of the calculated distances in consideration of weighting. Thereafter, the information conversion apparatus 10 identifies a feature vector having the smallest generalized average value, and uses the identified feature vector as a reference vector.
- the information conversion apparatus 10 selects a feature vector assigned a label different from the reference vector, and generates a negative example pair including the selected feature vector and the reference vector. Then, the information conversion apparatus 10 performs hyperplane learning using the generated negative example pair.
- FIG. 4 is a diagram for explaining processing for setting a global hyperplane.
- the information conversion apparatus 10 selects feature vectors shown in (E), (F), and (G) in FIG. 4 as sample sets.
- the information conversion apparatus 10 identifies all feature quantity vectors assigned labels different from the feature quantity vectors shown in (E), (F), and (G) of FIG.
- the information conversion apparatus 10 calculates the distance to (E), (F), and (G) in FIG. 4 for each identified feature vector, and considers the weighted generalized average of the calculated distances. Is calculated.
- the information conversion apparatus 10 uses an arbitrary real number m to calculate a value obtained by taking the m-th root of a value obtained by dividing the sum of the m-th power of each distance by the number n of feature quantity vectors included in the number of samples. . Then, the information conversion apparatus 10 sets the feature vector that minimizes the calculated generalized average value as the reference vector.
- the feature amount vector shown in (H) in FIG. 4 is calculated as the reference vector.
- the information conversion apparatus 10 selects a reference vector shown in (H) in FIG. 4 and a feature vector to which another label is assigned, for example, a feature vector shown in (E) in FIG. 4 as a negative example pair. .
- the information conversion apparatus 10 uses the sample set randomly selected from the total feature quantity vector to determine the total feature vector from the boundary of the data set.
- a reference vector drawn in the direction of the center of gravity is selected.
- the information converter 10 sets a hyperplane using the negative example pair containing a reference vector, it can set the hyperplane which classifies data globally.
- the information conversion apparatus 10 can perform hyperplane learning using any method. For example, the information conversion apparatus 10 learns the hyperplane by optimizing the hyperplane so as not to divide the feature vector included in the positive example pair but to divide the feature vector included in the negative example pair. May be.
- the learning data storage unit 11 stores learning data for the information conversion apparatus to learn the hyperplane.
- the learning data storage unit 11 stores a plurality of feature quantity vectors for each user as learning data.
- the feature vector stored in the learning data storage unit 11 is a part of the feature vector stored in the search target database storage unit 21 described later. That is, the learning data storage unit 11 stores a part of the feature vector of registered biometric data registered in the search system 1.
- FIG. 5 is a diagram for explaining an example of data stored in the learning data storage unit.
- the learning data storage unit 11 stores a data ID (Identification), a feature vector, and a label in association with each other.
- the data ID is an identifier of data assigned to each data.
- the label is information indicating the similarity of each feature vector, for example, information indicating a user who has registered biometric data or the like that is the basis of each feature vector.
- the learning data storage unit 11 includes 4000-dimensional floating-point data “a, b,” that is a feature amount vector indicated by the data ID “1” and has the label “A”. c ... "is stored.
- the learning data storage unit 11 stores 4000-dimensional floating point data “d, e, f...” That is a feature amount vector indicated by the data ID “2” and has the label “B”.
- the sample set selection unit 12 randomly selects a plurality of feature quantity vectors from the feature quantity vectors stored in the learning data storage unit 11. Then, the sample set selection unit 12 sets the selected feature quantity vectors as sample sets, and notifies the reference vector selection unit 13 of the sample sets. Note that the sample set selection unit 12 can select any number of feature vectors as sample sets, depending on the amount of calculation allowed when the information conversion apparatus 10 learns the hyperplane.
- the reference vector selection unit 13 When the reference vector selection unit 13 receives the sample group notification from the sample group selection unit 12, the reference vector selection unit 13 identifies the label of the feature vector included in the received sample group. Next, the reference vector selection unit 13 extracts a feature vector assigned a label different from the identified label from the feature vectors stored in the learning data storage unit 11. Then, the reference vector selection unit 13 executes the following process for each extracted feature vector.
- the reference vector selection unit 13 calculates the distance between the extracted feature vector and each feature vector included in the sample set. Next, the reference vector selection unit 13 calculates a generalized average of the calculated distances. At this time, the reference vector selection unit 13 may calculate a generalized average in consideration of an arbitrary weight for each distance.
- the reference vector selection unit 13 specifies a feature vector having the smallest generalized average calculated from the extracted feature vectors.
- the reference vector selection unit 13 notifies the data pair generation unit 14 of the identified feature vector as a reference vector.
- the reference vector selection unit 13 notifies the data pair generation unit 14 of the feature quantity vector included in the sample set.
- the data pair generation unit 14 When receiving the notification of the reference vector from the reference vector selection unit 13, the data pair generation unit 14 generates a negative example pair including the received reference vector, and notifies the hyperplane learning unit 15 of the generated negative example pair. For example, the data pair generation unit 14 generates a negative example pair obtained by combining a reference vector and a feature vector included in a sample set. In addition, the data pair generation unit 14 randomly selects a feature vector assigned the same label as the reference vector from the learning data storage unit 11, and sets a positive example pair in which the selected feature vector and the reference vector are associated with each other. Generate. Then, the data pair generation unit 14 notifies the hyperplane learning unit 15 of the generated positive example pair and negative example pair.
- the data pair generation unit 14 may generate a negative example pair using any method as long as it is a negative example pair including a reference vector. For example, the data pair generation unit 14 selects the nearest feature quantity vector (the most similar feature quantity vector) from among the feature quantity vectors assigned labels different from the reference vector, and selects the selected feature quantity vector and the reference Negative example pairs including vectors may be generated.
- the nearest feature quantity vector the most similar feature quantity vector
- the data pair generation unit 14 may randomly select a feature vector assigned a label different from the reference vector, and generate a negative example pair including the selected feature vector and the reference vector. Further, the data pair generation unit 14 selects and selects a predetermined number of feature quantity vectors in descending order of weight values used when calculating the generalized average of distances from the feature quantity vectors included in the sample set. A negative example pair in which each feature vector and a reference vector are combined may be generated.
- the hyperplane learning unit 15 learns the optimized hyperplane using the positive example pair and the negative example pair received from the data pair generation unit 14. For example, the hyperplane learning unit 15 receives a positive example pair and a negative example pair from the data pair generation unit 14. Further, the hyperplane learning unit 15 evaluates the sum of the number of positive example pairs that are not divided into different regions by the randomly set hyperplane and the number of negative example pairs that are divided into different regions by the hyperplane. And
- the hyperplane learning unit 15 recalculates a value of the evaluation value by changing a predetermined algorithm, for example, the position of the hyperplane at random. After repeatedly executing such processing a predetermined number of times, the hyperplane learning unit 15 sets the hyperplane having the highest evaluation value as the optimized hyperplane. Thereafter, the hyperplane learning unit 15 generates a matrix having the optimized hyperplane normal vector as each row vector, that is, a transformation matrix, and notifies the binary transformation unit 23 of the generated transformation matrix.
- the search target database storage unit 21 stores data to be searched, that is, feature quantity vectors of registered biometric data. Specifically, the search target database storage unit 21 stores the same data as the learning data storage unit 11. The search target database storage unit 21 may store more data including the data stored in the learning data storage unit 11.
- the binary database storage unit 22 stores a binary symbol obtained by converting a feature vector using a predetermined conversion matrix and a data ID before conversion in association with each other.
- the binary conversion unit 23 when the binary conversion unit 23 receives a conversion matrix from the hyperplane learning unit 15 of the information conversion apparatus 10, the feature quantity stored in the search target database storage unit 21 using the received conversion matrix. Convert vector to binary sequence. Then, the binary conversion unit 23 stores the converted binary string in the binary database storage unit 22 in association with the data ID associated with the feature vector of the conversion source.
- the search processing unit 24 When the query processing unit 24 receives the query data from the client device 2, the search processing unit 24 extracts a feature quantity vector indicating the feature quantity of the received query data, and converts the extracted feature quantity vector into a binary string using a predetermined conversion matrix. Then, the search processing unit 24 searches the binary sequence stored in the binary database storage unit 22 for a binary sequence whose Hamming distance is equal to or smaller than a predetermined value, that is, a binary sequence of feature quantity vectors that are neighborhood candidates for query data. To do.
- the search processing unit 24 acquires the feature vector that is the conversion source of the searched binary string from the search target database storage unit 21. Then, the search processing unit 24, when the feature quantity vector that matches the feature quantity vector extracted from the query data or the feature quantity vector whose Euclidean distance is equal to or less than a predetermined threshold exists in the acquired feature quantity vector, Execute the process. That is, the search processing unit 24 transmits to the client device 2 that the query data matches the registered biometric data.
- the search processing unit 24 transmits to the client device 2 that the query data does not match the registered biometric data.
- the client device 2 can perform biometric authentication of the user who has input the query data.
- the sample set selection unit 12, the reference vector selection unit 13, the data pair generation unit 14, and the hyperplane learning unit 15 are electronic circuits.
- an integrated circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or CPU (Central Processing Unit) or MPU (Micro Processing Unit) is applied.
- the learning data storage unit 11, the search target database storage unit 21, and the binary database storage unit 22 are semiconductor memory elements such as RAM (Random Access Memory) and flash memory, or storage such as a hard disk and an optical disk. Device.
- RAM Random Access Memory
- flash memory or storage such as a hard disk and an optical disk. Device.
- FIG. 6 is a flowchart for explaining the flow of processing executed by the information conversion apparatus.
- the information conversion apparatus 10 described for example of selecting (n-1) the feature vector a 1 ⁇ a n as sample set.
- the information conversion apparatus 10 randomly selects a sample set (a1, a2,..., An) (step S101).
- the information conversion apparatus 10 calculates the feature amount vectors of the sample set (a1, a2..., An) for all the feature amount vectors assigned labels different from the sample set (a1, a2..., An). The distance is calculated.
- the information conversion apparatus 10 calculates a weighted generalized average of the calculated distance (step S102).
- the information conversion apparatus 10 selects a feature vector that minimizes the weighted generalized average as the reference vector b (step S103). Further, the information conversion apparatus 10, the sample set (a 1, a 2 ..., a n) on the basis of the weights used to calculate the distance of the sample sets of feature vectors of a predetermined number (a 1, a 2 ..., to select from a n).
- the information conversion apparatus 10 generates a negative example pair in which the selected feature vector and the reference vector are combined (step S104). Thereafter, the information conversion apparatus 10 learns the hyperplane (step S105) and ends the process.
- the information conversion apparatus 10 randomly selects a plurality of feature amount vectors from the learning data storage unit 11 as a sample set. Further, the information conversion apparatus 10 is a feature amount vector to which a label different from the feature amount vector included in the sample set is given, and the generalized average of the distances from the feature amount vectors included in the sample set is the smallest. Is selected as a reference vector. And the information converter 10 learns a hyperplane using the negative example pair which combined the feature-value vector provided with the label different from a reference
- the information conversion apparatus 10 learns the hyperplane using a negative example pair obtained by combining each feature vector and reference vector included in the sample set. Therefore, the information conversion apparatus 10 can easily generate a negative example pair for learning a hyperplane that divides the feature vector space globally.
- the information conversion apparatus 10 calculates the distance from each feature quantity vector included in the sample set for all feature quantity vectors assigned labels different from the feature quantity vectors included in the sample set. In addition, the information conversion apparatus 10 calculates a generalized average considering weighting for each calculated distance for each feature vector. Then, the information conversion apparatus 10 sets the feature vector that minimizes the calculated weighted generalized average as the reference vector. For this reason, the information conversion apparatus 10 can set a hyperplane at a position corresponding to the weight when calculating the generalized average.
- the information conversion apparatus 10 mentioned above set the hyperplane which classifies data globally.
- the embodiment is not limited to this.
- the information conversion apparatus 10 may set a hyperplane for classifying data globally near the boundary of a data set to which different labels are assigned. .
- the reference vector selection unit 13 randomly selects one or more feature vectors as a sample set from all feature vectors. Next, the reference vector selection unit 13 selects, as a reference vector, a feature vector that minimizes the generalized average considering weighting from among the feature vectors assigned a label different from the sample set feature vector. . Then, the reference vector selection unit 13 notifies the data pair generation unit 14 of the selected reference vector.
- the reference vector selection unit 13 may use one feature vector as a sample set. In such a case, the reference vector selection unit 13 selects, as a reference vector, a feature quantity vector that is located nearest to the feature quantity vector to which a label different from the feature quantity vector included in the sample set is assigned.
- the data pair generation unit 14 When the data pair generation unit 14 receives the notification of the reference vector, the data pair generation unit 14 searches for the nearest feature vector from among the feature vectors to which a label different from the received reference vector is assigned. Then, the data pair generation unit 14 generates a negative example pair that combines the searched feature vector and the reference vector, and notifies the hyperplane learning unit 15 of the generated negative example pair. As a result, the information conversion apparatus 10 can set a hyperplane near the boundary between data sets with different labels. The data pair generation unit 14 selects a feature vector closest to the reference vector from among feature vectors assigned the same label as the sample set, and a negative example in which the selected feature vector and the reference vector are combined. Pairs may be generated.
- FIG. 7 is a first diagram for explaining a variation for generating a negative example pair.
- the feature vector is indicated by a circle or a triangle, and a data set to which the same label is assigned is surrounded by a dotted line.
- the information conversion apparatus 10 selects a feature amount vector shown in (H) in FIG. 7 as a sample set from the feature amount vectors. Then, the information conversion apparatus 10 uses the nearest feature vector given a label different from the feature vector shown in (H) in FIG. 7, that is, the feature vector shown in (I) in FIG. 7 as a reference vector. Select as.
- the information conversion apparatus 10 uses the nearest feature quantity vector among the feature quantity vectors provided with labels different from the feature quantity vector shown in FIG. 7I, that is, the feature shown in FIG. Select a quantity vector. Then, the information conversion apparatus 10 selects the feature quantity vector shown in (I) in FIG. 7 and the feature quantity vector shown in (J) in FIG. 7 as a negative example pair. As a result, the information conversion apparatus 10 can select a hyperplane as a boundary between data sets to which different labels are assigned, as shown in FIG.
- the information conversion apparatus 10 first selects a sample set at random. For this reason, since the position of the reference vector is likely to be drawn near the center of gravity of all feature vectors, the information conversion apparatus 10 can set a hyperplane that classifies the feature vectors globally.
- FIG. 8 is a second diagram for explaining a variation for generating a negative example pair.
- the feature quantity vectors indicated by square marks in FIG. 8 are feature quantity vectors indicated by triangle marks and feature quantity vectors to which both labels given to the feature quantity vectors indicated by circle marks are assigned.
- the information conversion apparatus 10 selects a feature quantity vector shown in (L) in FIG. 8 as a sample set from the feature quantity vectors. Then, the information conversion apparatus 10 uses the nearest feature vector assigned a label different from the feature vector shown in (L) in FIG. 8, that is, the feature vector shown in (M) in FIG. 8 as a reference vector. Select as. Note that the feature quantity vector indicated by the square mark is not selected as the reference vector because it has the same label as the feature quantity vector shown in FIG.
- the information conversion apparatus 10 uses the nearest feature quantity vector among the feature quantity vectors provided with labels different from the feature quantity vector shown in FIG. 8M, that is, the feature shown in FIG. Select a quantity vector. Then, the information conversion apparatus 10 selects the feature quantity vector shown in (M) in FIG. 8 and the feature quantity vector shown in (N) in FIG. 8 as a negative example pair. As a result, the information conversion apparatus 10 can select a hyperplane as a boundary between data sets to which different labels are assigned, as shown in FIG.
- FIG. 9 is a flowchart for explaining the flow of processing for setting a hyperplane near the boundary of a data set.
- the information conversion apparatus 10 described for example of selecting (n-1) the feature vector a 1 ⁇ a n as sample set.
- steps S101 to S103 in FIG. 9 are assumed to be the same processing as steps S101 to S103 shown in FIG.
- the information conversion apparatus 10 searches for a feature quantity vector a closest to the reference vector b from among feature quantity vectors assigned labels different from the reference vector b (step S201).
- the information conversion apparatus 10 generates a negative example pair in which the feature vector a and the reference vector b are combined (step S202), learns a hyperplane using the generated negative example pair (step S203), The process ends.
- the information conversion apparatus 10 uses the feature amount vector that minimizes the generalized average of the distance from the feature amount vector of the sample set among the feature amount vectors to which a label different from the randomly selected sample set is assigned. As a reference vector. Then, the information conversion apparatus 10 uses a negative example pair that includes a feature vector that has a label different from the reference vector and that is closest to the reference vector and a reference vector. Learn the plane. For this reason, the information conversion apparatus 10 can set the hyperplane for classifying data globally in the vicinity of the boundary of the data set to which different labels are assigned. That is, the information conversion apparatus 10 can set a globally and locally optimized feature quantity vector.
- the above-described information conversion apparatus 10 selects a feature vector that minimizes the generalized average considering the weighting of the distance from the feature vector of the sample set.
- the embodiment is not limited to this.
- the information conversion apparatus 10 may use, as a reference vector, a feature vector whose generalized average considering weighting has a predetermined percentile.
- the reference vector selection unit 13 arranges the calculated generalized averages in ascending order of values, and sets the feature vector corresponding to the predetermined percent order as the reference vector.
- FIG. 10 is a first flowchart for explaining a variation of processing for setting a hyperplane. Note that steps S101, S102, S104, and S105 in FIG. 9 are the same as steps S101, S102, S104, and S105 shown in FIG.
- the information conversion apparatus 10 sorts the weighted generalized averages in ascending order, and selects the feature vector that is the y-th percentile, that is, the feature vector that is the y percentile, as the reference vector b (step S301). . And the information converter 10 learns a hyperplane using the negative example pair containing the selected reference
- the information conversion apparatus 10 calculates a generalized average considering the weighting of the distance between each feature quantity vector included in the sample set and a feature quantity vector to which a label different from the sample set is assigned. Then, the information conversion apparatus 10 sets a feature vector whose calculated generalized average is a predetermined percentile as a reference vector. As a result, the information conversion apparatus 10 can freely set how much the hyperplane classifies the feature vector space.
- the above-described information conversion apparatus 10 selects a reference vector from a feature vector assigned a label different from the feature vector of the sample set.
- the embodiment is not limited to this. That is, the information conversion apparatus 10 may select a reference vector from all feature vectors other than the sample set.
- the reference vector selection unit 13 calculates a distance from each feature quantity vector included in the sample set for all feature quantity vectors other than the feature quantity vectors included in the sample set. In addition, the reference vector selection unit 13 calculates a weighted arithmetic average by setting the distance between the feature amount vectors assigned the same label among the calculated distances as a negative value. Then, the reference vector selection unit 13 may use a feature vector that minimizes the calculated weighted arithmetic average as the reference vector.
- FIG. 11 is a second flowchart for explaining a variation of processing for setting a hyperplane.
- the information conversion apparatus 10 randomly selects a sample set (a 1 , a 2 ..., A n ) (step S401).
- the information conversion apparatus 10 calculates the distance from the sample set (a 1 , a 2 ..., A n ) for a certain feature vector c (step S402).
- the information conversion apparatus 10 calculates the distance between the feature vector a i and the feature vector c when the same label is assigned to the feature vector a i and the feature vector c. A minus sign is added (step S403).
- the information conversion apparatus 10 calculates a weighted arithmetic average (step S404).
- the information conversion apparatus 10 calculates the weighted arithmetic average for all feature vectors (step S405), and selects the reference vector b that minimizes the calculated weighted arithmetic average (step S406).
- the information conversion apparatus 10 uses a weight used when calculating the distance of the sample set (a1, a2,..., An) as a reference and uses a predetermined number of feature vectors as the sample set (a1, a2. Select from. Then, the information conversion apparatus 10 generates a negative example pair or a positive example pair in which the selected feature vector and the reference vector are combined (step S407). Thereafter, the information conversion apparatus 10 learns the hyperplane (step S408) and ends the process.
- the information conversion apparatus 10 calculates the distance between each feature amount vector included in the sample set and the feature amount vector included in the sample set. Then, the information conversion apparatus 10 calculates an arithmetic average in consideration of weighting as a negative value for the distance between feature quantity vectors assigned the same label. Then, the information conversion apparatus 10 sets a feature vector that minimizes the calculated arithmetic mean as a reference vector. For this reason, the information conversion apparatus 10 can also use the feature vector to which the same label as the feature vector included in the sample set is assigned as the reference vector.
- FIG. 12 is a third flowchart for explaining a variation of processing for setting a hyperplane. Note that steps S401 to S405, S407, and S408 shown in FIG. 12 are the same as steps S401 to S405, S407, and S408 shown in FIG.
- the information conversion apparatus 10 sets a feature vector whose calculated average value is the y percentile as a reference vector b (step S501). As described above, the information conversion apparatus 10 calculates the arithmetic average in consideration of the weighting as a negative value for the distance between the feature vectors having the same label, and the calculated arithmetic average becomes a predetermined percentile. A feature vector is used as a reference vector. For this reason, the information conversion apparatus 10 can further freely set how much the hyperplane classifies the feature vector space.
- the information conversion apparatus 10 uses the feature vector that minimizes the generalized average of the distance to the sample set as the reference vector, the embodiment is not limited to this. That is, the information processing apparatus 10 may select a feature vector whose generalized average distance to the sample set is a predetermined value according to the nature of the learning data set.
- the information conversion apparatus 10 described above can select a positive example pair and a negative example pair that include an arbitrary number of feature quantity vectors. Further, the information conversion apparatus 10 acquires a data set including three or more feature quantity vectors from the learning data storage unit 11. Then, the information conversion apparatus 10 may generate a positive example pair and a negative example pair from the acquired data set, and calculate the value of the evaluation function using the generated positive example pair and negative example pair.
- the information conversion apparatus 10 described above may reselect the positive example pair and the negative example pair every time the hyperplane is evaluated.
- the information conversion apparatus 10 described above is an apparatus independent of the information search apparatus 20.
- the embodiment is not limited to this.
- the information search device 20 may include the function of the information conversion device 10.
- the information conversion apparatus 10 has a function executed by the binary conversion unit 23 of the information search apparatus 20, generates a conversion matrix for the feature quantity vector stored by the information search apparatus in operation, and generates the generated conversion matrix. A process for generating a binary string may be executed.
- the function exhibited by the information conversion apparatus 10 may be exhibited by a so-called cloud system.
- the information conversion apparatus 10 has selected a reference vector according to a generalized average of distances considering weighting. However, the embodiment is not limited to this. For example, the information conversion apparatus 10 may not consider weighting. Moreover, the information conversion apparatus 10 can set weighting by arbitrary methods. For example, the information conversion apparatus 10 may make an input request to the outside using each weight value as a parameter.
- FIG. 13 is a diagram for describing an example of a computer that executes a learning program.
- a ROM (Read Only Memory) 110 an HDD (Hard Disk Drive) 120, a RAM (Random Access Memory) 130, and a CPU (Central Processing Unit) 140 are connected by a bus 160. Further, the computer 100 illustrated in FIG. 13 includes an I / O (Input Output) 150 for transmitting and receiving packets.
- I / O Input Output
- the HDD 120 stores a feature vector table 121 in which data similar to the learning data storage unit 11 is stored.
- the RAM 130 holds a learning program 131 in advance.
- the learning program 131 functions as the learning process 141 in the example shown in FIG. Note that the learning process 141 exhibits the same functions as those of the sample set selection unit 12, the reference vector selection unit 13, the data pair generation unit 14, and the hyperplane learning unit 15 illustrated in FIG.
- the learning program described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation.
- This program can be distributed via a network such as the Internet.
- This program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM (Compact Disc Read Only Memory), MO (Magneto Optical Disc), DVD (Digital Versatile Disc).
- the program can also be executed by being read from a recording medium by a computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
情報変換装置(10)は、学習用の特徴量ベクトルから1つ以上の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報変換装置(10)は、サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置(10)は、学習用の特徴量ベクトルのうち、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて超平面を学習する。
Description
本発明は、学習方法、情報処理装置および学習プログラムに関する。
従来、指紋、画像、音声などのデータの特徴を示す特徴量ベクトルを用いて類似するデータを検索する際に、厳密性を緩和することで、検索処理を高速化する技術が知られている。このような技術の一例として、特徴量ベクトル間の距離関係を保持したまま特徴量ベクトルをバイナリ列に変換し、バイナリ列同士のハミング距離を計算することで、計算コストを削減する方法が知られている。
また、特徴量ベクトル間の距離関係を保持しつつ特徴量ベクトルをバイナリ列に変換する手法の一例として、LSH(Locality-Sensitive Hashing)の技術が知られている。例えば、情報処理装置は、特徴量ベクトル空間を分割する複数の超平面を設定し、各超平面の法線ベクトルと特徴量ベクトルとの内積がそれぞれ正であるか負であるかを示すバイナリ列に特徴量ベクトルを変換する。すなわち、情報処理装置は、超平面を用いて特徴量ベクトル空間を複数の領域に分割し、分割された領域のうちどの領域に特徴量ベクトルが属するかを示すバイナリ列に特徴量ベクトルを変換する。
ここで、データの登録を行った個人を特定するID等、各データに類似性を示すラベルが付与される場合は、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、異なるラベルが付与されたデータペアを用いて、各データをラベルごとに分類する超平面の組を学習する技術が知られている。
例えば、情報処理装置は、1つの特徴量ベクトルを基準ベクトルとして無作為に選択し、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も類似する特徴量ベクトルを選択する。そして、情報処理装置は、選択した2つの特徴量ベクトルを分割する超平面を学習することで、異なるラベルが付与されたデータ同士の境界付近に超平面を設定する。
M. Datar, N. Immorlica, P. Indyk, V. S. Mirrokni: Locality-Sensitive Hashing Scheme Based on p-Stable Distributions, Proceedings of the twentieth annual symposium on Computational geometry (SCG 2004)
M. Norouzi and D. Fleet: Minimal Loss hashing for compact binary codes, Proceedings of the 28th International Conference on Machine Learning (ICML '11)
Ran Gilad-Bachrachy Amir Navotz Naftali Tishbyy: Margin Based Feature Selection - Theory and Algorithms (ICML 2004)
しかし、上述した超平面を学習する技術では、無作為に選択した基準ベクトルと、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も類似する特徴量ベクトルとを分割する超平面を学習する。この結果、特徴量ベクトルを大局的に分類する超平面を学習できないという問題がある。
例えば、基準ベクトルと同じラベルをもつデータ全てからなるグループを基準グループとする。すると、情報処理装置は、基準グループに含まれるデータとは異なるラベルが付与されたデータからなるグループのうち、基準集合に隣接するグループと基準グループとを局所的に分類する超平面を学習する。しかしながら、基準グループに含まれるデータとは異なるラベルが付与されたデータからなるグループが他にも存在する場合は、特徴量ベクトル空間をより大局的に分割することで、多くのグループを分類する超平面を学習するのが望ましい。
1つの側面では、本発明は、大局的にデータの分類を行う超平面を学習することを目的とする。
1つの側面では、特徴量ベクトル空間を分割する超平面を学習する情報処理装置である。情報処理装置は、学習用の特徴量ベクトルから1つ以上の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報処理装置は、サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報処理装置は、学習用の特徴量ベクトルのうち、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて超平面を学習する。
1つの側面では、大局的にデータの分類を行う超平面を学習することができる。
以下に添付図面を参照して本願に係る学習方法、情報処理装置および学習プログラムについて説明する。
以下の実施例1では、図1を用いて、学習方法を実行する検索システムの一例を説明する。図1は、実施例1に係る検索システムを説明するための図である。図1に示すように、検索システム1は、クライアント装置2、情報変換装置10、情報検索装置20を有する。
また、情報変換装置10は、学習データ記憶部11、サンプル組選択部12、基準ベクトル選択部13、データ対生成部14、超平面学習部15を有する。また、情報検索装置20は、検索対象データベース記憶部21、バイナリ変換部23、バイナリデータベース記憶部22、検索処理部24を有する。
図1に示す検索システム1は、クライアント装置2からクエリデータを受信すると、検索対象データベース記憶部21から、クエリデータの近傍データを検索する。そして、検索システム1は、クエリデータの近傍に類似するデータが登録されているか否かをクライアント装置2へ通知する。具体的には、検索システム1は、情報変換装置10が生成した変換行列を用いて、情報検索装置20が検索対象となるデータをバイナリ列に変換し、変換後のバイナリ列を用いて、クエリデータの近傍データを検索する。
ここで、検索システム1が検索対象とするデータは、例えば、画像や音声などのデータであり、指紋のパターンや静脈のパターンを用いた生体認証における生体データである。すなわち、検索システム1は、クライアント装置2に入力された利用者の生体データをクエリデータとして受信すると、利用者の生体データが登録されているか否かを判別する。
なお、画像や音声の特徴量は様々なものが提案されているが、検索システム1は、特定の特徴量に依存するものではないため、任意の特徴量を用いることができる。例えば、画像の特徴量として一般的に用いられているSIFT特徴量やSURF特徴量などを用いることもできる。これらの特徴量は画像中の局所的な情報を特徴量ベクトルとして用いることで、隠れや変動に対してロバストな特徴量であることが知られているが、このような特徴量を示す任意の形式の特徴量ベクトルを用いてよい。
図2は、生体認証の一例を説明するための図である。なお、図2に示す例では、利用者のID(Identification)等の情報が入力されず、利用者のIDを用いた生体データの絞込みを行わないIDレスの1:N認証における処理を示す。図2に示すように、検索システム1は、複数の利用者が登録した登録生体データを複数記憶する。
そして、検索システム1は、クライアント装置2からクエリデータとして、生体データを受信すると、入力された生体データの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルと類似する特徴量ベクトルを有する登録生体データを検索する。すなわち、検索システム1は、クエリデータを入力した利用者の登録生体データが登録されているか否かを判別する。
また、検索システム1は、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を用いて、登録生体データの特徴量ベクトルをバイナリ列に変換する。また、検索システム1は、クエリデータとして入力された生体データにおける特徴量ベクトルを所定のビット長のバイナリ列に変換し、登録生体データの特徴量ベクトルを変換したバイナリ列とのハミング距離を算出する。
そして、検索システム1は、ハミング距離が所定の閾値以下となる登録生体データを検索対象の候補として抽出する。その後、情報検索装置1は、検索した登録生体データとクエリデータとして入力された生体データとの厳密なマッチング処理を実行し、実行結果をクライアント装置2に出力する。
なお、入力された生体データや登録生体データが画像である場合には、特徴量ベクトルは、例えば、画像中の特定領域における隆線の方向や長さ、勾配、隆線の終端や分岐などの特徴的な点の密度や座標の数値をベクトル化したものとなる。また、入力された生体データや登録生体データが音声である場合には、特徴量ベクトルは、例えば、周波数成分の分布、強度、ピーク値などの数値をベクトル化したものとなる。
以下、情報変換装置10が実行する処理、および情報検索装置20が実行する処理について説明する。図1に戻り、情報変換装置10は、学習データ記憶部11が記憶する学習データを用いて、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を情報検索装置20に通知する。
ここで、変換行列とは、特徴量ベクトル空間を複数の領域に分割する超平面の法線ベクトルを行成分として有する行列であり、情報検索装置20が特徴量ベクトルをバイナリ列に変換する際に用いる行列である。例えば、情報検索装置20は、変換行列と特徴量ベクトルとの積を算出する。そして、情報検索装置20は、算出した積の各成分について、値が正であるか負であるかを判別し、正の値である場合は「1」、負の値である場合は「0」としたバイナリ列を生成する。つまり、情報検索装置20は、変換行列を用いて、各特徴量ベクトルが、超平面によって複数の領域に分割された特徴量ベクトル空間のうち、どの領域に属しているかを示すバイナリ列に特徴量ベクトルを変換する。
ここで、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルから、同じラベルが付与された特徴量ベクトルの組である正例ペアと、異なるラベルが付与された特徴量ベクトルの組である負例ペアとを生成する。そして、情報変換装置10は、生成した正例ペアと負例ペアとを用いて、設定した複数の超平面を同時に評価することで、超平面を最適化する。
また、各特徴量ベクトルに付与されるラベルの種類が複数存在する場合は、多くのラベルを分類する大局的な超平面を設定するのが望ましい。例えば、図3は、大局的な超平面を説明するための図である。なお、図3に示す例では、各特徴量ベクトルを丸印、もしくは三角印で示し、同一のラベルが付与された特徴量ベクトルの集合、すなわちデータ集合をそれぞれ点線で囲んだ。
例えば、従来の技術では、図3中(A)に示す特徴量ベクトルと、図3中(A)とは異なるラベルが付与された特徴量ベクトルのうち、図3中(A)に示す特徴量ベクトルと最も類似する特徴量ベクトル(B)とを負例ペアとして超平面を学習する。この結果、従来の技術では、図3中(C)に示すように、図3中(A)に示す特徴量ベクトルを含むデータ集合と、図3中(B)に示す特徴量ベクトルを含むデータ集合との境界付近に超平面を設定する。
しかしながら、図3に示すように、それぞれ異なるラベルが付与されたデータ集合が他にも存在する場合は、図3中(D)で示すように、大局的な分類を行う超平面を設定するのが望ましい。すなわち、特徴量ベクトルを変換したバイナリ列の各ビットは、特徴量ベクトルが各超平面のどちら側に位置するかを示す情報である。このため、それぞれ異なるラベルが付与された100組のデータ集合が存在する場合は、1組のデータ集合と他の99組とを分類する超平面よりも、50組のデータ集合と他の50組とを大局的に分類する超平面の方がより有用な超平面である。
そこで、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルから、複数の特徴量ベクトルをサンプル組としてランダムに選択する。次に、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルのうち、サンプル組に含まれる各特徴長ベクトルとは異なるラベルが付与された特徴量ベクトルを識別する。そして、情報変換装置10は、識別した特徴量ベクトルごとに、サンプル組に含まれる特徴量ベクトルとの距離をそれぞれ算出し、重み付きを考慮して、算出した距離の一般化平均を算出する。その後、情報変換装置10は、一般化平均の値が最も小さい特徴量ベクトルを特定し、特定した特徴量ベクトルを基準ベクトルとする。
また、情報変換装置10は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルを選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成する。そして、情報変換装置10は、生成した負例ペアを用いて、超平面の学習を行う。
ここで、図4を用いて、情報変換装置10が実行する処理の一例を説明する。図4は、大局的な超平面を設定する処理を説明するための図である。例えば、情報変換装置10は、図4中(E)、(F)、(G)に示す特徴量ベクトルをサンプル組として選択する。次に、情報変換装置10は、図4中(E)、(F)、(G)に示す特徴量ベクトルとは、異なるラベルが付与された特徴量ベクトルを全て識別する。
そして、情報変換装置10は、識別した特徴量ベクトルごとに、図4中(E)、(F)、(G)との距離を算出し、重み付けを考慮して、算出した距離の一般化平均を算出する。例えば、情報変換装置10は、任意の実数mを用いて、各距離のm乗の合計をサンプル数に含まれる特徴量ベクトルの数nで除算した値のm乗根を取った値を算出する。そして、情報変換装置10は、算出した一般化平均の値が最小となる特徴量ベクトルを基準ベクトルとする。
例えば、図4に示す例では、図4中(H)に示す特徴量ベクトルを基準ベクトルとして算出する。そして、情報変換装置10は、図4中(H)に示す基準ベクトルと、他のラベルが付与された特徴量ベクトル、例えば図4中(E)に示す特徴量とを負例ペアとして選択する。この結果、情報変換装置10は、一般化平均を算出する際に使用する重みにもよるが、全特徴量ベクトルからランダムに選択したサンプル組によって、データ集合の境界線よりも全特徴量ベクトルの重心方向に引かれた基準ベクトルを選択する。そして、情報変換装置10は、基準ベクトルを含む負例ペアを用いて超平面を設定するので、大局的にデータの分類を行う超平面を設定することができる。
なお、情報変換装置10は、任意の手法を用いて、超平面の学習を行うことができる。例えば、情報変換装置10は、正例ペアに含まれる特徴量ベクトルを分割せず、負例ペアに含まれる特徴量ベクトルを分割するように、超平面を最適化することで超平面を学習してもよい。
次に、図1に戻って、情報変換装置10が有する学習データ記憶部11、サンプル組選択部12、基準ベクトル選択部13、データ対生成部14、超平面学習部15が実行する処理について説明する。学習データ記憶部11は、情報変換装置が超平面を学習するための学習データを記憶する。
具体的には、学習データ記憶部11は、学習データとして、利用者ごとに、複数の特徴量ベクトルを記憶する。ここで、学習データ記憶部11が記憶する特徴量ベクトルは、後述する検索対象データベース記憶部21が記憶する特徴量ベクトルの一部である。すなわち、学習データ記憶部11は、検索システム1に登録された登録生体データの特徴量ベクトルの一部を記憶する。
ここで、図5は、学習データ記憶部が記憶するデータの一例を説明するための図である。図5に示すように、学習データ記憶部11は、データID(Identification)と特徴量ベクトルとラベルとを対応付けて記憶する。ここで、データIDとは、各データに付与されるデータの識別子である。また、ラベルとは、各特徴量ベクトルの類似性を示す情報であり、例えば、各特徴量ベクトルの元となる生体データ等を登録した利用者を示す情報である。
例えば、図5に示す例では、学習データ記憶部11は、データID「1」で示される特徴量ベクトルであって、ラベル「A」が付与された4000次元の浮動小数点データ「a、b、c…」を記憶する。また、学習データ記憶部11は、データID「2」で示される特徴量ベクトルであって、ラベル「B」が付与された4000次元の浮動小数点データ「d、e、f…」を記憶する。
図1に戻り、サンプル組選択部12は、学習データ記憶部11が記憶する特徴量ベクトルから、複数の特徴量ベクトルをランダムに選択する。そして、サンプル組選択部12は、選択した複数の特徴量ベクトルをサンプル組とし、基準ベクトル選択部13にサンプル組を通知する。なお、サンプル組選択部12は、情報変換装置10が超平面を学習する際に許容される計算量にもよるが、任意の数の特徴量ベクトルをサンプル組として選択することができる。
基準ベクトル選択部13は、サンプル組選択部12からサンプル組の通知を受信すると、受信したサンプル組に含まれる特徴量ベクトルのラベルを識別する。次に、基準ベクトル選択部13は、学習データ記憶部11が記憶する特徴量ベクトルのうち、識別したラベルとは異なるラベルが付与された特徴量ベクトルを抽出する。そして、基準ベクトル選択部13は、抽出した特徴量ベクトルごとに、以下の処理を実行する。
まず、基準ベクトル選択部13は、抽出した特徴量ベクトルとサンプル組に含まれる各特徴量ベクトルとの距離を算出する。次に、基準ベクトル選択部13は、算出した距離の一般化平均を算出する。この際、基準ベクトル選択部13は、各距離に任意の重みを考慮して一般化平均を算出してもよい。
そして、基準ベクトル選択部13は、抽出した特徴量ベクトルのうち、算出した一般化平均が最小となる特徴量ベクトルを特定する。そして、基準ベクトル選択部13は、特定した特徴量ベクトルを基準ベクトルとしてデータ対生成部14に通知する。なお、負例ペアの生成を容易にするため、基準ベクトル選択部13は、サンプル組に含まれる特徴量ベクトルも、データ対生成部14に通知する。
データ対生成部14は、基準ベクトル選択部13から基準ベクトルの通知を受信すると、受信した基準ベクトルを含む負例ペアを生成し、生成した負例ペアを超平面学習部15に通知する。例えば、データ対生成部14は、基準ベクトルとサンプル組に含まれる特徴量ベクトルとをそれぞれ組み合わせた負例ペアを生成する。また、データ対生成部14は、基準ベクトルと同じラベルが付与された特徴量ベクトルを学習データ記憶部11からランダムに選択し、選択した特徴量ベクトルと基準ベクトルとを対応付けた正例ペアを生成する。そして、データ対生成部14は、生成した正例ペア、および負例ペアを超平面学習部15に通知する。
なお、データ対生成部14は、基準ベクトルを含む負例ペアであれば、任意の手法を用いて負例ペアを生成してよい。例えば、データ対生成部14は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル(最も類似する特徴量ベクトル)を選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成してもよい。
また、データ対生成部14は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルをランダムに選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成してもよい。また、データ対生成部14は、サンプル組に含まれる特徴量ベクトルから、距離の一般化平均を算出する際に用いた重みの値が大きい順に所定の数の特徴量ベクトルを選択し、選択した各特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成してもよい。
超平面学習部15は、データ対生成部14から受信した正例ペア、および負例ペアを用いて、最適化された超平面を学習する。例えば、超平面学習部15は、データ対生成部14から正例ペア、および負例ペアを受信する。また、超平面学習部15は、ランダムに設定した超平面によって異なる領域に分割されなかった正例ペアの数と、超平面によって異なる領域に分割された負例ペアの数との和を評価値とする。
そして、超平面学習部15は、所定のアルゴリズム、たとえば超平面の位置をランダムに変更して評価値の値を再度算出する。このような処理を所定の回数だけ繰り返し実行した後、超平面学習部15は、最も評価値の値が高かった超平面を最適化された超平面とする。その後、超平面学習部15は、最適化された超平面の法線ベクトルを各行ベクトルとする行列、すなわち変換行列を生成し、生成した変換行列をバイナリ変換部23に通知する。
次に、情報検索装置20が実行する処理について説明する。検索対象データベース記憶部21は、検索対象となるデータ、すなわち、登録生体データの特徴量ベクトルを記憶する。具体的には、検索対象データベース記憶部21は、学習データ記憶部11と同様のデータを記憶する。なお、検索対象データベース記憶部21は、学習データ記憶部11が記憶するデータを含む、より多くのデータを記憶しても良い。
また、バイナリデータベース記憶部22は、所定の変換行列を用いて特徴量ベクトルを変換したバイナリ記号と、変換前のデータIDとを対応付けて記憶する。
図1に戻って、バイナリ変換部23は、情報変換装置10の超平面学習部15から変換行列を受信した場合は、受信した変換行列を用いて、検索対象データベース記憶部21が記憶する特徴量ベクトルをバイナリ列に変換する。そして、バイナリ変換部23は、変換後のバイナリ列を、変換元の特徴量ベクトルと対応付けられたデータIDと対応付けて、バイナリデータベース記憶部22に格納する。
検索処理部24は、クライアント装置2からクエリデータを受信すると、受信したクエリデータの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルを所定の変換行列でバイナリ列に変換する。そして、検索処理部24は、バイナリデータベース記憶部22が記憶するバイナリ列のうち、ハミング距離が所定の値以下となるバイナリ列、すなわち、クエリデータの近傍候補となる特徴量ベクトルのバイナリ列を検索する。
その後、検索処理部24は、検索したバイナリ列の変換元である特徴量ベクトルを検索対象データベース記憶部21から取得する。そして、検索処理部24は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在する場合は、以下の処理を実行する。すなわち、検索処理部24は、クエリデータが登録生体データに一致する旨をクライアント装置2へ送信する。
一方、検索処理部24は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在しない場合は、以下の処理を実行する。すなわち、検索処理部24は、クエリデータが登録生体データに一致しない旨をクライアント装置2へ送信する。この結果、クライアント装置2は、クエリデータを入力した利用者の生体認証を行うことができる。
例えば、サンプル組選択部12、基準ベクトル選択部13、データ対生成部14、超平面学習部15は、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
また、学習データ記憶部11、検索対象データベース記憶部21、バイナリデータベース記憶部22とは、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
次に、図6を用いて、情報変換装置10が実行する処理の流れについて説明する。図6は、情報変換装置が実行する処理の流れを説明するためのフローチャートである。なお、図6に示す例では、情報変換装置10は、n-1個の特徴量ベクトルa1~anをサンプル組として選択する例について記載した。
まず、情報変換装置10は、ランダムにサンプル組(a1,a2…,an)を選択する(ステップS101)。次に、情報変換装置10は、サンプル組(a1,a2…,an)とは異なるラベルが付与された特徴量ベクトルの全てについて、サンプル組(a1,a2…,an)の各特徴量ベクトルとの距離を算出する。
そして、情報変換装置10は、算出した距離の重み付き一般化された平均を算出する(ステップS102)。次に、情報変換装置10は、重み付き一般化された平均が最小となる特徴量ベクトルを基準ベクトルbとして選択する(ステップS103)。また、情報変換装置10は、サンプル組(a1,a2…,an)の距離を算出する際に用いた重みを基準に、所定の数の特徴量ベクトルをサンプル組(a1,a2…,an)から選択する。
そして、情報変換装置10は、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成する(ステップS104)。その後、情報変換装置10は、超平面を学習し(ステップS105)、処理を終了する。
[情報変換装置10の効果]
上述したように、情報変換装置10は、学習データ記憶部11から複数の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報変換装置10は、サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置10は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、基準ベクトルとを組み合わせた負例ペアを用いて、超平面を学習する。このため、情報変換装置10は、特徴量ベクトル空間を大局的に分割する超平面を設定することができる。
上述したように、情報変換装置10は、学習データ記憶部11から複数の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報変換装置10は、サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置10は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、基準ベクトルとを組み合わせた負例ペアを用いて、超平面を学習する。このため、情報変換装置10は、特徴量ベクトル空間を大局的に分割する超平面を設定することができる。
また、情報変換装置10は、サンプル組に含まれる各特徴量ベクトルと基準ベクトルとをそれぞれ組み合わせた負例ペアを用いて超平面を学習する。このため、情報変換装置10は、特徴量ベクトル空間を大局的に分割する超平面を学習するための負例ペアを容易に生成することができる。
また、情報変換装置10は、サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された全特徴量ベクトルについて、サンプル組に含まれる各特徴量ベクトルとの距離を算出する。また、情報変換装置10は、算出した各距離について重み付けを考慮した一般化平均を特徴量ベクトルごとに算出する。そして、情報変換装置10は、算出した重み付き一般化平均が最小となる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置10は、一般化平均を算出する際の重みに応じた位置に超平面を設定することができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
(1)局所的な補正について
上述した情報変換装置10は、大局的にデータを分類する超平面を設定した。しかしながら、実施例はこれに限定されるものではなく、例えば、情報変換装置10は、大局的にデータを分類する超平面を、異なるラベルが付与されたデータ集合の境界付近に設定してもよい。
上述した情報変換装置10は、大局的にデータを分類する超平面を設定した。しかしながら、実施例はこれに限定されるものではなく、例えば、情報変換装置10は、大局的にデータを分類する超平面を、異なるラベルが付与されたデータ集合の境界付近に設定してもよい。
例えば、基準ベクトル選択部13は、全特徴量ベクトルの中からランダムに1つ以上の特徴量ベクトルをサンプル組として選択する。次に、基準ベクトル選択部13は、サンプル組特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、重み付を考慮した一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、基準ベクトル選択部13は、選択した基準ベクトルをデータ対生成部14に通知する。
なお、基準ベクトル選択部13は、1つの特徴量ベクトルをサンプル組としてもよい。このような場合は、基準ベクトル選択部13は、サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルの最近傍に位置する特徴量ベクトルを基準ベクトルして選択する。
データ対生成部14は、基準ベクトルの通知を受信すると、受信した基準ベクトルと異なるラベルが付与された特徴量ベクトルのうち、最も近傍の特徴量ベクトルを検索する。そして、データ対生成部14は、検索した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成し、生成した負例ペアを超平面学習部15に通知する。この結果、情報変換装置10は、ラベルが異なるデータ集合の境界付近に超平面を設定することができる。なお、データ対生成部14は、サンプル組と同じラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も近い特徴量ベクトルを選択し、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成してもよい。
ここで、図7は、負例ペアを生成するバリエーションを説明するための第1の図である。なお、図7に示す例では、特徴量ベクトルを丸印、または三角印で示し、同一のラベルが付与されたデータ集合を点線で囲んだ。例えば、情報変換装置10は、特徴量ベクトルから図7中(H)に示す特徴量ベクトルをサンプル組として選択する。そして、情報変換装置10は、図7中(H)に示す特徴量ベクトルとは異なるラベルが付与された最近傍の特徴量ベクトル、すなわち、図7中(I)に示す特徴量ベクトルを基準ベクトルとして選択する。
また、情報変換装置10は、図7中(I)に示す特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル、すなわち図7中(J)に示す特徴量ベクトルを選択する。そして、情報変換装置10は、図7中(I)に示す特徴量ベクトルと図7中(J)に示す特徴量ベクトルとを負例ペアとして選択する。この結果、情報変換装置10は、図7中(K)に示すように、異なるラベルが付与されたデータ集合の境界に超平面を選択することができる。
なお、情報変換装置10は、最初にサンプル組をランダムに選択している。このため、基準ベクトルの位置が全特徴量ベクトルの重心付近に引かれやすいので、情報変換装置10は、特徴量ベクトルを大局的に分類する超平面を設定することができる。
ここで、図8は、負例ペアを生成するバリエーションを説明するための第2の図である。ここで、図8中の四角印で示す特徴量ベクトルは、三角印で示す特徴量ベクトル、および丸印で示す特徴量ベクトルに付与された両方のラベルが付与された特徴量ベクトルである。
例えば、情報変換装置10は、特徴量ベクトルから図8中(L)に示す特徴量ベクトルをサンプル組として選択する。そして、情報変換装置10は、図8中(L)に示す特徴量ベクトルとは異なるラベルが付与された最近傍の特徴量ベクトル、すなわち、図8中(M)に示す特徴量ベクトルを基準ベクトルとして選択する。なお、四角印で示す特徴量ベクトルは、図8中(L)に示す特徴量ベクトルと同じラベルが付与されているため、基準ベクトルとしては選択されない。
また、情報変換装置10は、図8中(M)に示す特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル、すなわち図8中(N)に示す特徴量ベクトルを選択する。そして、情報変換装置10は、図8中(M)に示す特徴量ベクトルと図8中(N)に示す特徴量ベクトルとを負例ペアとして選択する。この結果、情報変換装置10は、図8中(O)に示すように、異なるラベルが付与されたデータ集合の境界に超平面を選択することができる。
次に、図9を用いて、データ集合の境界付近に超平面を設定する処理の流れについて説明する。図9は、データ集合の境界付近に超平面を設定する処理の流れを説明するためのフローチャートである。なお、図9に示す例では、情報変換装置10は、n-1個の特徴量ベクトルa1~anをサンプル組として選択する例について記載した。また、図9中のステップS101~S103は、図6に示すステップS101~S103と同じ処理であるものとし、説明を省略する。
まず、情報変換装置10は、基準ベクトルbとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルbに最も近い特徴量ベクトルaを検索する(ステップS201)。次に、情報変換装置10は、特徴量ベクトルaと基準ベクトルbとを組み合わせた負例ペアを生成し(ステップS202)、生成した負例ペアを用いて超平面を学習し(ステップS203)、処理を終了する。
上述したように、情報変換装置10は、ランダムに選択したサンプル組と異なるラベルが付与された特徴量ベクトルのうち、サンプル組の特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置10は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルであって、基準ベクトルとの距離が最も近い特徴量ベクトルと、基準ベクトルとを含む負例ペアを用いて超平面を学習する。このため、情報変換装置10は、大局的にデータを分類する超平面を、異なるラベルが付与されたデータ集合の境界付近に設定することができる。すなわち、情報変換装置10は、大局的、かつ局所的に最適化された特徴量ベクトルを設定することができる。
(2)基準ベクトルの選択について
上述した情報変換装置10は、サンプル組の特徴量ベクトルとの距離の重み付を考慮した一般化平均が最小となる特徴量ベクトルを選択した。しかし、実施例はこれに限定されるものではない。例えば、情報変換装置10は、重み付けを考慮した一般化平均が、所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとしてもよい。例えば、基準ベクトル選択部13は、算出した一般化平均を値が少ない順に並べ、順番が所定のパーセント目に該当する特徴量ベクトルを基準ベクトルとする。
上述した情報変換装置10は、サンプル組の特徴量ベクトルとの距離の重み付を考慮した一般化平均が最小となる特徴量ベクトルを選択した。しかし、実施例はこれに限定されるものではない。例えば、情報変換装置10は、重み付けを考慮した一般化平均が、所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとしてもよい。例えば、基準ベクトル選択部13は、算出した一般化平均を値が少ない順に並べ、順番が所定のパーセント目に該当する特徴量ベクトルを基準ベクトルとする。
次に、図10を用いて、パーセンタイルに従って基準ベクトルを選択する処理の流れについて説明する。図10は、超平面を設定する処理のバリエーションを説明するための第1のフローチャートである。なお、図9中のステップS101、S102、S104、S105は、図6に示すステップS101、S102、S104、S105と同じ処理であるものとし、説明を省略する。
例えば、情報変換装置10は、重み付き一般化された平均を小さい値から順にならべ、yパーセント目となる特徴量ベクトル、すなわちyパーセンタイルとなる特徴量ベクトルを基準ベクトルbとして選択する(ステップS301)。そして、情報変換装置10は、選択した基準ベクトルを含む負例ペアを用いて、超平面を学習する。
上述したように、情報変換装置10は、サンプル組に含まれる各特徴量ベクトルと、サンプル組とは異なるラベルが付与された特徴量ベクトルとの距離の重み付けを考慮した一般化平均を算出する。そして、情報変換装置10は、算出した一般化平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルにする。この結果、情報変換装置10は、超平面が特徴量ベクトル空間内をどれくらい大局的に分類するかを自由に設定することができる。
(3)基準ベクトルの選択対象について
上述した情報変換装置10は、サンプル組の特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから基準ベクトルを選択した。しかしながら、実施例はこれに限定されるものではない。すなわち、情報変換装置10は、サンプル組以外の全ての特徴量ベクトルから基準ベクトルを選択してもよい。
上述した情報変換装置10は、サンプル組の特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから基準ベクトルを選択した。しかしながら、実施例はこれに限定されるものではない。すなわち、情報変換装置10は、サンプル組以外の全ての特徴量ベクトルから基準ベクトルを選択してもよい。
例えば、基準ベクトル選択部13は、サンプル組に含まれる特徴量ベクトル以外の特徴量ベクトル全てについて、サンプル組に含まれる各特徴量ベクトルとの距離を算出する。また、基準ベクトル選択部13は、算出した距離のうち、同じラベルが付与された特徴量ベクトル間の距離を負の値として、重み付き算術平均を算出する。そして、基準ベクトル選択部13は、算出した重み付き算術平均が最小となる特徴量ベクトルを基準ベクトルとしてもよい。
次に、図11を用いて、サンプル組以外の全ての特徴量ベクトルから基準ベクトルを選択する処理の流れについて説明する。図11は、超平面を設定する処理のバリエーションを説明するための第2のフローチャートである。
まず、情報変換装置10は、ランダムにサンプル組(a1,a2…,an)を選択する(ステップS401)。次に、情報変換装置10は、ある特徴量ベクトルcについて、サンプル組(a1,a2…,an)との距離をそれぞれ算出する(ステップS402)。また、情報変換装置10は、算出した距離のうち、特徴量ベクトルaiと特徴量ベクトルcとに同じラベルが付与されている場合は、特徴量ベクトルaiと特徴量ベクトルcとの距離にマイナス符号をつける(ステップS403)。そして、情報変換装置10は、重み付き算術平均を算出する(ステップS404)。
また、情報変換装置10は、全ての特徴量ベクトルについて、重み付き算術平均の算出を行い(ステップS405)、算出した重み付き算術平均が最小となる基準ベクトルbを選択する(ステップS406)。また、情報変換装置10は、サンプル組(a1,a2…,an)の距離を算出する際に用いた重みを基準に、所定の数の特徴量ベクトルをサンプル組(a1,a2…,an)から選択する。そして、情報変換装置10は、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペア、または正例ペアを生成する(ステップS407)。その後、情報変換装置10は、超平面を学習し(ステップS408)、処理を終了する。
このように、情報変換装置10は、サンプル組に含まれる各特徴量ベクトルについて、サンプル組に含まれる特徴量ベクトルとの距離をそれぞれ算出する。そして、情報変換装置10は、同じラベルが付与された特徴量ベクトル同士の距離については、負の値として、重み付けを考慮した算術平均を算出する。そして、情報変換装置10は、算出した算術平均が最小となる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置10は、サンプル組に含まれる特徴量ベクトルと同じラベルが付与された特徴量ベクトルも、基準ベクトルの対象にすることができる。
なお、情報変換装置10は、算出した算術平均が最小となる特徴量ベクトルではなく、算術平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとしてもよい。例えば、図12は、超平面を設定する処理のバリエーションを説明するための第3のフローチャートである。なお、図12に示すステップS401~S405、S407、S408は、図11に示すステップS401~S405、S407、S408と同じ処理であるため、説明を省略する。
例えば、図12に示すように、情報変換装置10は、算出した算術平均の値がyパーセンタイルとなる特徴量ベクトルを基準ベクトルbとする(ステップS501)。このように、情報変換装置10は、同じラベルが付与された特徴量ベクトル同士の距離については、負の値として、重み付けを考慮した算術平均を算出し、算出した算術平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置10は、さらに、超平面が特徴量ベクトル空間内をどれくらい大局的に分類するかを自由に設定することができる。
また、情報変換装置10は、サンプル組との距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとしたが、実施例はこれに限定されるものではない。すなわち、情報処理装置10は、学習用のデータセットの性質に応じて、サンプル組との距離の一般化平均が所定の値となる特徴量ベクトルを選択してもよい。
(4)特徴量ベクトルの選択について
上述した情報変換装置10は、任意の数の特徴量ベクトルを含む正例ペア、および負例ペアを選択することができる。また、情報変換装置10は、3以上の特徴量ベクトルを含むデータセットを学習データ記憶部11から取得する。そして、情報変換装置10は、取得したデータセットから正例ペアおよび負例ペアを生成し、生成した正例ペアおよび負例ペアを用いて評価関数の値を算出してもよい。
上述した情報変換装置10は、任意の数の特徴量ベクトルを含む正例ペア、および負例ペアを選択することができる。また、情報変換装置10は、3以上の特徴量ベクトルを含むデータセットを学習データ記憶部11から取得する。そして、情報変換装置10は、取得したデータセットから正例ペアおよび負例ペアを生成し、生成した正例ペアおよび負例ペアを用いて評価関数の値を算出してもよい。
また、上述した情報変換装置10は、超平面を評価するたびに、正例ペアと負例ペアとを選択しなおしてもよい。
(5)実施形態について
上述した情報変換装置10は、情報検索装置20とは独立した装置である。しかし、実施例はこれに限定されるものではなく、例えば、情報検索装置20に情報変換装置10の機能を含めることとしてもよい。また、情報変換装置10は、情報検索装置20のバイナリ変換部23が実行する機能を有し、稼働中の情報検索装置が記憶する特徴量ベクトルについて、変換行列を生成し、生成した変換行列を用いてバイナリ列を生成する処理を実行してもよい。また、情報変換装置10が発揮する機能は、いわゆるクラウドシステムによって発揮されてもよい。
上述した情報変換装置10は、情報検索装置20とは独立した装置である。しかし、実施例はこれに限定されるものではなく、例えば、情報検索装置20に情報変換装置10の機能を含めることとしてもよい。また、情報変換装置10は、情報検索装置20のバイナリ変換部23が実行する機能を有し、稼働中の情報検索装置が記憶する特徴量ベクトルについて、変換行列を生成し、生成した変換行列を用いてバイナリ列を生成する処理を実行してもよい。また、情報変換装置10が発揮する機能は、いわゆるクラウドシステムによって発揮されてもよい。
(6)重み付けについて
情報変換装置10は、重み付けを考慮した距離の一般化平均にしたがって、基準ベクトルを選択した。しかし、実施例はこれに限定されるものではなく、例えば、情報変換装置10は、重み付けを考慮せずとも良い。また、情報変換装置10は、任意の方法で重み付けを設定することができる。例えば、情報変換装置10は、外部に対し、各重みの値をパラメータとして、入力要求してもよい。
情報変換装置10は、重み付けを考慮した距離の一般化平均にしたがって、基準ベクトルを選択した。しかし、実施例はこれに限定されるものではなく、例えば、情報変換装置10は、重み付けを考慮せずとも良い。また、情報変換装置10は、任意の方法で重み付けを設定することができる。例えば、情報変換装置10は、外部に対し、各重みの値をパラメータとして、入力要求してもよい。
(7)プログラム
ところで、実施例1に係る情報変換装置10は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報変換装置10が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図13を用いて、実施例1に示した情報変換装置10と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、学習プログラムを実行するコンピュータの一例を説明するための図である。
ところで、実施例1に係る情報変換装置10は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報変換装置10が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図13を用いて、実施例1に示した情報変換装置10と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、学習プログラムを実行するコンピュータの一例を説明するための図である。
図13に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140がバス160で接続される。また、図13に例示されたコンピュータ100は、パケットを送受信するためのI/O(Input Output)150を有する。
HDD120は、学習データ記憶部11と同様のデータが格納された特徴量ベクトルテーブル121を記憶する。また、RAM130には、学習プログラム131があらかじめ保持される。CPU140が学習プログラム131をRAM130から読み出して実行することによって、図13に示す例では、学習プログラム131は、学習プロセス141として機能するようになる。なお、学習プロセス141は、図1に示したサンプル組選択部12、基準ベクトル選択部13、データ対生成部14、超平面学習部15と同様の機能を発揮する。
なお、本実施例で説明した学習プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
1 検索システム
2 クライアント装置
10 情報変換装置
11 学習データ記憶部
12 サンプル組選択部
13 基準ベクトル選択部
14 データ対生成部
15 超平面学習部
20 情報検索装置
21 検索対象データベース記憶部
22 バイナリデータベース記憶部
23 バイナリ変換部
24 検索処理部
2 クライアント装置
10 情報変換装置
11 学習データ記憶部
12 サンプル組選択部
13 基準ベクトル選択部
14 データ対生成部
15 超平面学習部
20 情報検索装置
21 検索対象データベース記憶部
22 バイナリデータベース記憶部
23 バイナリ変換部
24 検索処理部
Claims (9)
- 学習用の特徴量ベクトルから1つ以上の特徴量ベクトルをサンプル組としてランダムに選択し、
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択し、
前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて、特徴量ベクトル空間を分割する超平面を学習する
処理を情報処理装置が実行することを特徴とする学習方法。 - 前記サンプル組に含まれる各特徴量ベクトルと前記基準ベクトルとをそれぞれ組み合わせた特徴量ベクトルのペアを用いて前記超平面を学習することを特徴とする請求項1に記載の学習方法。
- 前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルであって、当該基準ベクトルとの距離が最も近い特徴量ベクトルと、当該基準ベクトルとのペアを用いて前記超平面を学習することを特徴とする請求項1に記載の学習方法。
- 前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した各距離について重み付けを考慮した一般化平均を算出し、
前記算出した一般化平均が最小となる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項1~3のいずれか1つに記載の学習方法。 - 前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した各距離について重み付けを考慮した一般化平均を算出し、
前記算出した一般化平均の値が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項1~3のいずれか1つに記載の学習方法。 - 前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれない各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した距離のうち、付与されたラベルが同じ特徴量ベクトル同士の距離については、符号を反転させて前記算出した各距離について重み付けを考慮した算術平均を算出し、
前記算出した一般化平均が最小となる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項1~3のいずれか1つに記載の学習方法。 - 前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれない各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した距離のうち、付与されたラベルが同じ特徴量ベクトル同士の距離については符号を反転させて、前記算出した各距離について重み付けを考慮した算術平均を算出し、
前記算出した一般化平均の値が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項1~3のいずれか1つに記載の学習方法。 - 学習用の特徴量ベクトルから、1つ以上の特徴量ベクトルをサンプル組としてランダムに選択する第1の選択部と、
前記学習用の特徴量ベクトルのうち、前記第1の選択部が選択したサンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択する第2の選択部と、
前記学習用の特徴量ベクトルのうち、前記第2の選択部が選択した基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記第2の選択部が選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて特徴量ベクトル空間を分割する超平面を学習する学習部と
を有することを特徴とする情報処理装置。 - 特徴量ベクトル空間を分割する超平面を学習するコンピュータに
学習用の特徴量ベクトルから1つ以上の特徴量ベクトルをサンプル組としてランダムに選択し、
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択し、
前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて前記超平面を学習する
処理を実行させることを特徴とする学習プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/052408 WO2014118978A1 (ja) | 2013-02-01 | 2013-02-01 | 学習方法、情報処理装置および学習プログラム |
JP2014559465A JP6004015B2 (ja) | 2013-02-01 | 2013-02-01 | 学習方法、情報処理装置および学習プログラム |
EP13873918.0A EP2953062A4 (en) | 2013-02-01 | 2013-02-01 | Learning method, image processing device and learning program |
US14/809,809 US10635991B2 (en) | 2013-02-01 | 2015-07-27 | Learning method, information processing device, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/052408 WO2014118978A1 (ja) | 2013-02-01 | 2013-02-01 | 学習方法、情報処理装置および学習プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/809,809 Continuation US10635991B2 (en) | 2013-02-01 | 2015-07-27 | Learning method, information processing device, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014118978A1 true WO2014118978A1 (ja) | 2014-08-07 |
Family
ID=51261720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/052408 WO2014118978A1 (ja) | 2013-02-01 | 2013-02-01 | 学習方法、情報処理装置および学習プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10635991B2 (ja) |
EP (1) | EP2953062A4 (ja) |
JP (1) | JP6004015B2 (ja) |
WO (1) | WO2014118978A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170337487A1 (en) * | 2014-10-24 | 2017-11-23 | National Ict Australia Limited | Learning with transformed data |
JP2018136750A (ja) * | 2017-02-22 | 2018-08-30 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6090286B2 (ja) * | 2014-10-31 | 2017-03-08 | カシオ計算機株式会社 | 機械学習装置、機械学習方法、分類装置、分類方法、プログラム |
JP6235082B1 (ja) * | 2016-07-13 | 2017-11-22 | ヤフー株式会社 | データ分類装置、データ分類方法、およびプログラム |
CN107622408B (zh) * | 2016-07-15 | 2021-10-01 | 北京易车互联信息技术有限公司 | 购车线索交易转化的预估方法和预估装置 |
JP6899973B2 (ja) * | 2019-01-08 | 2021-07-07 | 三菱電機株式会社 | 意味関係学習装置、意味関係学習方法、及び意味関係学習プログラム |
US11615303B2 (en) | 2019-02-25 | 2023-03-28 | Samsung Electronics Co., Ltd. | Electronic device for classifying classes, electronic device for providing classification model for classifying classes, and method for operating the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011221689A (ja) * | 2010-04-07 | 2011-11-04 | Sony Corp | 学習装置、学習方法、認識装置、認識方法、およびプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842751B1 (en) * | 2000-07-31 | 2005-01-11 | International Business Machines Corporation | Methods and apparatus for selecting a data classification model using meta-learning |
US20020147754A1 (en) * | 2001-01-31 | 2002-10-10 | Dempsey Derek M. | Vector difference measures for data classifiers |
US7076473B2 (en) * | 2002-04-19 | 2006-07-11 | Mitsubishi Electric Research Labs, Inc. | Classification with boosted dyadic kernel discriminants |
JP2006252333A (ja) | 2005-03-11 | 2006-09-21 | Nara Institute Of Science & Technology | データ処理方法、データ処理装置およびそのプログラム |
JP4565106B2 (ja) | 2005-06-23 | 2010-10-20 | 独立行政法人情報通信研究機構 | 二項関係抽出装置,二項関係抽出処理を用いた情報検索装置,二項関係抽出処理方法,二項関係抽出処理を用いた情報検索処理方法,二項関係抽出処理プログラム,および二項関係抽出処理を用いた情報検索処理プログラム |
US8019763B2 (en) * | 2006-02-27 | 2011-09-13 | Microsoft Corporation | Propagating relevance from labeled documents to unlabeled documents |
JP2010061176A (ja) | 2006-11-22 | 2010-03-18 | Nec Corp | テキストマイニング装置、テキストマイニング方法、および、テキストマイニングプログラム |
CN102713945B (zh) * | 2010-01-14 | 2015-03-25 | 日本电气株式会社 | 模式识别器和模式识别方法 |
-
2013
- 2013-02-01 JP JP2014559465A patent/JP6004015B2/ja not_active Expired - Fee Related
- 2013-02-01 WO PCT/JP2013/052408 patent/WO2014118978A1/ja active Application Filing
- 2013-02-01 EP EP13873918.0A patent/EP2953062A4/en not_active Ceased
-
2015
- 2015-07-27 US US14/809,809 patent/US10635991B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011221689A (ja) * | 2010-04-07 | 2011-11-04 | Sony Corp | 学習装置、学習方法、認識装置、認識方法、およびプログラム |
Non-Patent Citations (7)
Title |
---|
"Theory and Algorithms", 2004, ICML, article "Ran Gilad-Bachrachy Amir Navotz Naftali Tishbyy: Margin Based Feature Selection" |
M. DATAR; N. IMMORLICA; P. INDYK; V. S. MIRROKNI: "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions", PROCEEDINGS OF THE TWENTIETH ANNUAL SYMPOSIUM ON COMPUTATIONAL GEOMETRY (SCG, 2004 |
M. NOROUZI; D. FLEET: "Minimal Loss hashing for compact binary codes", PROCEEDINGS OF THE 28TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING (ICML '11 |
MAKIKO KONOSHIMA ET AL.: "Locality-Sensitive Hashing with Margin Based Feature Selection", pages 1 - 9, XP055214950, Retrieved from the Internet <URL:http://arxiv.org/pdf/1209.5833v2> * |
MAKIKO KONOSHIMA: "Locality-Sensitive Hashing With Margin Based Feature Selection", IEICE TECHNICAL REPORT, vol. 112, no. 83, 12 June 2012 (2012-06-12), pages 41 - 47, XP008177562 * |
RAN GILAD-BACHRACH ET AL.: "Margin Based Feature Selection - Theory and Algorithms", ICML '04 PROCEEDINGS OF THE TWENTY-FIRST INTERNATIONAL CONFERENCE ON MACHINE LEARNING, 2004, XP055214958 * |
See also references of EP2953062A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170337487A1 (en) * | 2014-10-24 | 2017-11-23 | National Ict Australia Limited | Learning with transformed data |
US11521106B2 (en) | 2014-10-24 | 2022-12-06 | National Ict Australia Limited | Learning with transformed data |
JP2018136750A (ja) * | 2017-02-22 | 2018-08-30 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2953062A1 (en) | 2015-12-09 |
US20150332172A1 (en) | 2015-11-19 |
JPWO2014118978A1 (ja) | 2017-01-26 |
US10635991B2 (en) | 2020-04-28 |
JP6004015B2 (ja) | 2016-10-05 |
EP2953062A4 (en) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6004016B2 (ja) | 情報変換方法、情報変換装置および情報変換プログラム | |
JP6004015B2 (ja) | 学習方法、情報処理装置および学習プログラム | |
WO2020182019A1 (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
TWI677852B (zh) | 一種圖像特徵獲取方法及裝置、電子設備、電腦可讀存儲介質 | |
JP5862413B2 (ja) | 情報変換規則生成プログラム、情報変換規則生成装置および情報変換規則生成方法 | |
Huang et al. | Object-location-aware hashing for multi-label image retrieval via automatic mask learning | |
CN113850281B (zh) | 一种基于meanshift优化的数据处理方法和装置 | |
JP2013206187A (ja) | 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム | |
JP5518757B2 (ja) | 文書分類学習制御装置、文書分類装置およびコンピュータプログラム | |
US9792561B2 (en) | Learning method, information conversion device, and recording medium | |
US10121085B2 (en) | Information processing apparatus and method of searching for similar data | |
CN111488400B (zh) | 数据分类方法、装置和计算机可读存储介质 | |
Zhang et al. | Code consistent hashing based on information-theoretic criterion | |
US20230267175A1 (en) | Systems and methods for sample efficient training of machine learning models | |
JP6601965B2 (ja) | 探索木を用いて量子化するプログラム、装置及び方法 | |
JP5633424B2 (ja) | プログラム及び情報処理システム | |
JP6973733B2 (ja) | 特許情報処理装置、特許情報処理方法およびプログラム | |
JP2017091083A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Hidayati et al. | The Influence of User Profile and Post Metadata on the Popularity of Image-Based Social Media: A Data Perspective | |
Biçer et al. | Enhancing Fake News Detection through Clustering with Convolutional Neural Networks | |
Singh et al. | Database Knowledge Discovery Combining Cluster Analysis and Classification Using Data Mining | |
CN117171393A (zh) | 一种面向多模态检索的自适应半配对询问哈希方法 | |
Le Borgne et al. | Nonparametric estimation of fisher vectors to aggregate image descriptors | |
Wang et al. | Guest Editorial: Big Media Data: Understanding, Search, and Mining. |
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: 13873918 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014559465 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013873918 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |