Feature vector calculation apparatus, clustering apparatus, training apparatus, method, and program

JP2025029907APending Publication Date: 2025-03-07KK TOSHIBA
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023134793
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-22
Publication Date
2025-03-07

Smart Images

  • Figure 2025029907000001_ABST
    Figure 2025029907000001_ABST
Patent Text Reader

Abstract

To provide a feature vector calculation apparatus, a clustering apparatus, a training apparatus, a method, and a program capable of supporting clustering in consideration of harmful data.SOLUTION: A feature vector calculation apparatus includes a data acquisition unit, a feature calculation unit, and a variation degree calculation unit. The data acquisition unit acquires target data, a plurality of pieces of deformed data obtained by deforming the target data, and a trained model configured to receive an input of the deformed data and output feature vectors. The feature calculation unit calculates a feature vector using the deformed data and the trained model. The variation degree calculation unit calculates a degree of variation indicative of a degree of variation in feature vectors for each target data based on the feature vectors.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to a feature vector calculation device, a clustering device, a learning device, a method, and a program. [Background technology]

[0002] The feature vector calculation device is installed in a clustering device that performs class classification (also called cluster division or clustering) using feature vectors output from a learning model, or in a learning device that trains the learning model used in the clustering device.

[0003] A clustering device is a device that classifies target data, which is a group of vector data, into classes (also called cluster division or clustering) using a learning model. For example, the clustering device compresses the dimensionality of the group of vector data using a method such as t-SNE, estimates the number of clusters, and classifies the group of dimensionally compressed vector data into classes using a learning model. The learning model identifies cluster labels (cluster IDs) using, for example, an unsupervised learning method. The cluster labels (cluster IDs) identified by the learning model are used, for example, as supervised data in supervised learning of another learning model.

[0004] In general, data groups to be clustered may contain data that is harmful to clustering (hereinafter, referred to as harmful data). Harmful data for clustering may be, for example, indistinguishable data or noisy data that has been mixed in by mistake. Indistinguishable data may be data that 90% or more of humans cannot correctly distinguish. For example, when classifying a group of photos that show animals into two clusters, "dogs" and "cats," the group of photos may contain, as indistinguishable data, images in which indistinguishable parts are enlarged or images that show both dogs and cats. In addition, as noisy data, images of "horses" or "vehicles" that have been mixed in by mistake may be included in the group of photos of the target data.

[0005] These harmful data can prevent correct clustering and can be a factor in reducing clustering performance. In addition, these harmful data can make the boundaries of clusters unclear when the feature vectors output from the learning model are displayed, or form pseudo clusters that are not essential, which can reduce the visibility of the clustering results. In addition, the influence of these harmful data can cause the optimization of the learning model that converts the feature vectors to become unstable during learning, or the time required for convergence during learning can increase, which can reduce the learning efficiency. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent No. 6846369 [Patent Document 2] Patent Publication No. 2021-128474 Summary of the Invention [Problem to be solved by the invention]

[0007] An object of the present invention is to provide a feature vector calculation device, a clustering device, a learning device, a method, and a program that can support clustering taking harmful data into consideration. [Means for solving the problem]

[0008] In order to solve such problems, a feature vector calculation device according to an embodiment includes a data acquisition unit, a feature calculation unit, and a variability calculation unit. The data acquisition unit acquires target data, a plurality of transformed data obtained by transforming the target data, and a learning model that receives input of the transformed data and outputs a feature vector. The feature calculation unit calculates a feature vector using the transformed data and the learning model. The variability calculation unit calculates a variability representing a degree of variability of the feature vector for each piece of target data based on the feature vector. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a clustering device according to a first embodiment; [Diagram 2] 11 is a flowchart illustrating a processing procedure of a display process performed by the clustering device according to the first embodiment; [Diagram 3] Scatter plot of feature vectors according to their variability [Figure 4] Scatter plot showing feature vectors according to cluster [Diagram 5] FIG. 13 is a diagram showing an example of the configuration of a learning device according to a second embodiment; [Figure 6] 11 is a flowchart illustrating a processing procedure of a learning process performed by a learning device according to a second embodiment; [Figure 7] FIG. 1 is a diagram showing an example of the configuration of a feature vector calculation device according to an application example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, with reference to the drawings, embodiments of a feature vector calculation device, a clustering device, a learning device, a method, and a program will be described in detail. The feature vector calculation device according to the embodiments is a device that supports class classification (also called cluster division or clustering) taking harmful data into consideration. The feature vector calculation device is, for example, a clustering device or a learning device that learns a learning model used in the clustering device. The feature vector calculation device may also be a search device that searches for similar data using a feature vector output from a learning model. In the following description, components having approximately the same functions and configurations are given the same reference numerals, and repeated description will be given only when necessary.

[0011] (First embodiment) 1 is a diagram showing a configuration of a clustering device 100 according to a first embodiment. The clustering device 100 is an example of a feature vector calculation device. The clustering device 100 calculates feature vectors by inputting target data into a learning model, and performs clustering using the feature vectors. In addition, the clustering device 100 displays an output from the learning model in order to check the clustering performance using the learning model.

[0012] The clustering device 100 includes a data acquisition unit 101 , a feature calculation unit 102 , a variability calculation unit 103 , a cluster division unit 104 , and a display unit 105 .

[0013] The data acquiring unit 101 acquires target data, a plurality of transformed data pieces obtained by transforming the target data, and a learning model.

[0014] The target data is data that is the target of clustering. The target data is, for example, image data. For example, when dividing (clustering) a group of images that include animals into groups according to the type of animal, the target data is the images that include the animals. The target data is not limited to image data, and may be data in other formats, as long as it is data that is the object of clustering.

[0015] The transformed data is data generated by applying data augmentation to the acquired target data. As a data augmentation method, a general method that can be applied when learning a learning model for image clustering can be used. In data augmentation, multiple transformed data are generated for one target data. The transformed data is associated with the original target data.

[0016] The learning model accepts input of target data and outputs a feature vector. That is, the learning model is a machine learning model that converts target data into a feature vector. In this embodiment, the purpose is to improve the clustering performance of the learning model and the visibility of the clustering result in order to support clustering that takes harmful data into consideration. As the learning model, for example, a general machine learning model used for clustering a data group, such as a DNN (Deep Neural Network: deep learning model), can be used. For example, as the learning model, a deep learning model (DNN) learned by an unsupervised learning method such as IDFD can be used.

[0017] The learning model is trained by a learning method using data augmentation. During training, the model is trained by regarding transformed data generated from the same target data by data augmentation as the same class (category).

[0018] The learning model is preferably trained by an unsupervised learning method using the target data to be acquired. However, the learning model may be trained by a supervised learning method using a data set other than the target data to be acquired. In this case, it is also preferable to train the deformed data generated from the same target data by data augmentation as being of the same class (category).

[0019] In addition, it is preferable that the modified data used in learning the learning model and the obtained modified data are generated by the same data extension method. In other words, it is preferable that the modified data is data generated by the same method as the data extension method used in learning the learning model.

[0020] The feature calculation unit 102 calculates a feature vector using the transformed data and the learning model. At this time, the feature calculation unit 102 inputs the transformed data to the learning model and acquires the feature vector output from the learning model. The feature calculation unit 102 may also calculate a feature vector using target data and the learning model. At this time, the feature calculation unit 102 inputs the target data to the learning model and acquires the feature vector output from the learning model.

[0021] The variability calculation unit 103 calculates a variability indicating the degree of variability of the feature vector for each piece of target data based on the feature vector calculated from the transformed data. At this time, the variability calculation unit 103 extracts the feature vector of the transformed data generated based on the same target data from the feature vectors of the multiple pieces of transformed data calculated by the feature calculation unit 102, and calculates a variability indicating the degree of variability of the feature vector for each piece of target data. The variability of the target data is also used as the variability of each piece of transformed data generated from the target data.

[0022] A learning model trained using data augmentation is trained in a way that the feature vectors of transformed data generated from the same data are close to each other and considered to be in the same class (category). For this reason, when multiple transformed data generated based on harmful data are input to the learning model, the variability of the feature vectors output from the learning model is larger than when transformed data generated based on target data that is not harmful is input to the learning model. Harmful data is target data that leads to a decrease in clustering accuracy and a decrease in the visibility of the clustering results. Target data with a small variability has high reliability and low uncertainty, and can be considered to be unlikely to be harmful data. On the other hand, target data with a large variability has low reliability and high uncertainty, and can be considered to be likely to be harmful data.

[0023] The cluster division unit 104 divides the feature vectors into clusters to calculate the clusters. For the clustering, a general clustering method such as k-means can be used. For the clustering, various methods such as the center of gravity method and kernel density estimation can also be used.

[0024] The number of clusters divided by clustering (hereinafter referred to as the number of clusters) may be, for example, a numerical value designated by the user of the clustering device 100. When referring to a scatter plot of the second feature vector in a space dimensionally compressed using a method such as PCA, tSNE, or UMAP, or when there is a number of clusters that can be estimated in advance based on the characteristics of the data, that numerical value may be used as the number of clusters.

[0025] In this embodiment, the cluster dividing unit 104 divides the target data into a plurality of clusters based on the degree of variation calculated by the degree of variation calculation unit 103. At this time, the cluster dividing unit 104 sets the importance of each feature vector in the clustering so that the greater the degree of variation, the smaller the influence on the clustering. Specifically, the cluster dividing unit 104 reduces the importance of a feature vector with a large degree of variation in the clustering.

[0026] For example, when calculating the center of gravity in the k-means method, the cluster division unit 104 sets a weighting weight for the feature vector that is inversely proportional to the degree of variability of the corresponding target data. In this case, the weighting weight for the feature vector generated from target data with a large degree of variability is reduced, so that the influence of data that is highly likely to be harmful on the clustering is reduced.

[0027] The display unit 105 visualizes and displays the output of the learning model in order to confirm the performance of the learning model. For example, the display unit 105 displays each feature vector in a scatter diagram in which the feature vectors output from the learning model are mapped, in a manner that allows the cluster results to be identified.

[0028] Furthermore, the display unit 105 displays each feature vector with an emphasis level according to the degree of variability in a scatter diagram in which the feature vectors output from the learning model are mapped. For example, the display unit 105 displays the feature vector of the transformed data by changing the color, size, shape, transparency, etc. of the feature vector according to the degree of variability of the target data to which the transformed data corresponds. Furthermore, the display unit 105 may display the feature vector of the target data with an emphasis level according to the degree of variability of the target data to which the target data corresponds.

[0029] Next, the operation of the display process executed by the clustering device 100 of this embodiment will be described. Fig. 2 is a flowchart showing an example of the procedure of the display process. The display process is a process for displaying a scatter diagram in which the first feature vector output from the learning model is mapped in order to confirm the performance of the learning model. Here, as an example, a case will be described in which images in which any of a plurality of types of animals is shown are used as target data, and each image is clustered by animal type without using teacher label information.

[0030] Note that the process steps in each process described below are merely examples, and each process can be modified as appropriate as possible. In addition, steps in the process steps described below can be omitted, replaced, or added as appropriate depending on the embodiment.

[0031] (Display processing) (Step S1-1) First, the data acquisition unit 101 acquires a target data group including a plurality of target data, modified data, and a learning model. At this time, the modified data may be generated in advance, or the modified data may be acquired by performing data extension on the acquired target data.

[0032] The target data group is a group of images input as images of animals. Each image is a color image with an image size of 32 x 32 [pixels]. In this case, each target data is image data of a 3072 (= 32 x 32 x 3) dimensional vector, and the target data group is a vector data group of a 3072 (= 32 x 32 x 3) dimensional vector.

[0033] (Step S1-2) Next, the feature calculation unit 102 inputs the target data and the transformed data to the learning model, and obtains the feature vector output from the learning model to calculate the feature vector. The number of dimensions of the feature vector is assumed to be 128.

[0034] (Step S1-3) Next, the variability calculation unit 103 calculates the variability for each target data by using the feature vector of the transformed data. Formula (1) is an example of a formula for calculating the variability. In formula (1), "V" indicates the variability. "z'1", "z'2" to "z'M" indicate M feature vectors output from the learning model when M transformed data "x'1" to "x'M" generated from one target data "x" are input to the learning model. "D" is a function that indicates the degree of deviation between two arguments. As the function D, for example, a function that indicates the sum of squared errors (SSD) or the sum of absolute errors (SAD) can be used. Note that, when the learning model holds a memory bank (moving average value of the feature vector of each target data) such as IDFD, the value of the memory bank may be used as "u" in formula (1).

number

[0035] (Step S1-4) Next, the cluster division unit 104 calculates clusters by clustering the feature vectors. In this case, the cluster division unit 104 uses an unsupervised clustering method such as k-means to cluster each feature vector into 30 categories. In addition, when calculating the center of gravity, the cluster division unit 104 sets a value inversely proportional to the degree of variation of the corresponding target data as the weighting weight of the feature vector. Since the weighting weight of the feature vector generated from target data with a large degree of variation is small, the influence of data with a high possibility of being harmful data on the clustering is reduced.

[0036] (Step S1-5) The display unit 105 displays the scatter plots onto which the feature vectors are mapped. In this case, the display unit 105 displays a first scatter plot in which the scatter plot onto which the feature vectors are mapped is given variation information, and a second scatter plot in which the scatter plot onto which the feature vectors are mapped is given cluster information, side by side.

[0037] FIG. 3 is a diagram showing an example of the first scatter plot. In FIG. 3, for visualization, a 128-dimensional feature vector is compressed to two dimensions and displayed. As a compression method, a method such as PCA, tSNE, or UMAP can be used. In FIG. 3, each feature vector of the transformed data is highlighted according to the variability of the original target data. In FIG. 3, the pixel value (color intensity) of each point indicating the feature vector is changed according to the variability of the corresponding target data and displayed. In FIG. 3, a color bar indicating the normalized variability value is also displayed. Note that the color, shape, size, transparency, etc. of each point indicating the feature vector may be changed according to the variability.

[0038] By checking the first scatter plot, the user can check the clustering performance using the learning model. The original target data of the feature vectors located near the boundaries of the clusters in the scatter plot are often harmful data that is not suitable for clustering. For this reason, the degree of variation of the feature vectors located near the boundaries of the clusters is likely to be large. Therefore, since the density near the boundaries of the clusters is displayed darker than other parts, the boundaries of the clusters can be easily seen even if the boundaries of the clusters are unclear on the scatter plot. In this way, the visibility of the clustering results can be improved.

[0039] FIG. 4 is a diagram showing an example of the second scatter plot. In FIG. 4, for visualization, a 128-dimensional feature vector is compressed into two dimensions and displayed. As a compression method, a method such as PCA, tSNE, or UMAP can be used. In FIG. 4, the pixel value (color intensity) of each point indicating the feature vector of the transformed data is changed according to the cluster and displayed. In addition, FIG. 4 also shows a color bar indicating the cluster. Note that the color, shape, size, transparency, etc. of each point indicating the feature vector may be changed according to the cluster and displayed.

[0040] By checking the second scatter plot, the user can investigate the image patterns of the feature vectors output from the learning model. In addition, by comparing the first and second scatter plots side by side, the user can efficiently check the clustering performance using the learning model.

[0041] The first and second scatter plots may display feature vectors of all the transformed data. Also, feature vectors of transformed data generated from the same target data may be integrated and displayed. In this case, for example, feature vectors of representative data selected from a plurality of transformed data may be displayed, or an average value of the feature vectors may be displayed. Also, instead of the feature vectors of the transformed data, feature vectors calculated by inputting the target data into a learning model may be displayed.

[0042] (Effects of the First Embodiment) The effects of the clustering device 100 according to this embodiment will be described below. Generally, data groups to be clustered may contain harmful data. Harmful data for clustering is, for example, indistinguishable data or noisy data that has been mixed in by mistake. Indistinguishable data is, for example, data that 90% or more of humans cannot correctly distinguish. Such harmful data may blur the boundaries of clusters when the clustering results are displayed, or form unsubstantial pseudo-clusters, thereby reducing the visibility of the clustering results.

[0043] In contrast, the clustering device 100 according to this embodiment includes a data acquisition unit 101, a feature calculation unit 102, a variability calculation unit 103, and a display unit 105. The data acquisition unit 101 acquires target data, a plurality of transformed data obtained by transforming the target data, and a learning model that receives input of the transformed data and outputs a feature vector. The feature calculation unit 102 calculates a feature vector using the transformed data and the learning model. The variability calculation unit 103 calculates a variability representing the degree of variability of the feature vector for each piece of target data based on the feature vector. The display unit 105 displays the feature vector with an emphasis level according to the variability.

[0044] With the above configuration, the clustering device 100 according to the present embodiment calculates the degree of variation of feature vectors of a plurality of transformed data obtained by transforming target data, and displays the clustering result based on the calculated degree of variation, thereby improving the visibility of the clustering result. For example, as shown in FIG. 3, in a scatter diagram in which feature vectors output from a learning model are mapped, the boundaries of clusters can be easily seen by displaying each feature vector with a density according to the degree of variation of the original target data. In addition, by checking the degree of variation of each feature vector, harmful data contained in the target data can be confirmed, and the performance of the learning model can be analyzed and analyzed while taking the harmful data into consideration.

[0045] The display unit 105 may extract target data having a degree of variation equal to or greater than a predetermined value as a candidate for harmful data and display the extracted target data. In this case, the user can efficiently check data that is highly likely to be harmful data.

[0046] Moreover, the clustering device 100 further includes a cluster division unit 104. The cluster division unit 104 divides the target data into a plurality of clusters based on the degree of variation. For example, the cluster division unit 104 reduces the importance of a feature vector having a large degree of variation in clustering. By taking the degree of variation into consideration during clustering, it is possible to reduce the influence of harmful data in clustering and improve clustering performance.

[0047] In addition, the degree of variation of one of the target data to be investigated may be calculated and the calculated degree of variation may be presented to the user. By checking the degree of variation, the user can determine whether the target data is harmful data.

[0048] Second embodiment A second embodiment will be described. This embodiment is a modification of the configuration of the first embodiment as follows. Descriptions of the configuration, operation, and effects similar to those of the first embodiment will be omitted.

[0049] 5 is a diagram showing the configuration of a learning device 200 according to this embodiment. The learning device 200 is an example of a feature vector calculation device. The learning device 200 learns a learning model by using variation information of feature vectors. The learning device 200 includes a model storage unit 201, a data acquisition unit 202, a feature calculation unit 203, a variation degree calculation unit 204, a loss calculation unit 205, and a model update unit 206. The model storage unit 201 stores a learning model to be learned.

[0050] The data acquisition unit 202 acquires target data, a plurality of pieces of transformed data obtained by transforming the target data, and a learning model. The target data and the transformed data are the same as those in the first embodiment, and therefore a description thereof will be omitted.

[0051] The learning model is a machine learning model that converts target data into a feature vector. In this embodiment, a model learned by unsupervised learning (representation learning) is taken as an example of the learning model. The data acquisition unit 202 acquires a randomly initialized DNN as the learning model. The data acquisition unit 202 stores the acquired learning model in the model storage unit 201 as a model to be learned.

[0052] The feature calculation unit 203 calculates a feature vector of the transformed data using the learning model and the transformed data, as in the first embodiment. Also, the feature calculation unit 203 calculates a feature vector of the target data using the learning model and the target data, as in the first embodiment.

[0053] The variability calculation unit 204 calculates the variability representing the degree of variability of the feature vector for each target data based on the feature vector calculated from the transformed data, as in the first embodiment. The variability of the target data is also used as the variability of each transformed data generated from the target data. The variability is the same as in the first embodiment, so a description thereof will be omitted.

[0054] The loss calculation unit 205 calculates the loss during learning (hereinafter, also referred to as loss) based on the feature vectors of multiple target data. For example, the loss calculation unit 205 calculates the loss of unsupervised learning. As the loss of unsupervised learning, the loss of various unsupervised learning methods such as AE, VAE, and BYOL can be used. At this time, the loss calculation unit 205 adjusts the importance of each target data during learning according to the degree of variability. Specifically, the loss calculation unit 205 reduces the importance during learning of a feature vector with a large degree of variability. This reduces the influence of harmful data in learning of the learning model, and improves the learning efficiency.

[0055] For example, the loss calculation unit 205 sets a value inversely proportional to the degree of variability of the corresponding target data as the weighting weight (weighting coefficient) of each feature vector when calculating the loss. For example, the inverse of the degree of variability or the inverse of the square of the degree of variability can be used as the value inversely proportional to the degree of variability. Since the weighting weight of the feature vector generated from the target data with a large degree of variability is small, the influence of data with a high possibility of being harmful data on the learning is reduced. Also, instead of adjusting the weighting weight of the loss according to the degree of variability, a temperature parameter may be adjusted according to the degree of variability.

[0056] The model update unit 206 updates the learning model based on the loss. For example, the model update unit 206 updates the weight coefficient of the DNN based on the loss calculated by the loss calculation unit 205 by a method such as backpropagation.

[0057] In this embodiment, the learning model is also trained by a method in which the feature vectors of transformed data generated from the same data are close to each other and considered to be in the same class (category). Therefore, when a plurality of transformed data generated based on harmful data is input to the learning model, the degree of variability of the feature vectors output from the learning model is larger than when transformed data generated based on target data that is not harmful data is input to the learning model. Therefore, target data with a small degree of variability has high reliability and low uncertainty, and therefore can be considered to be unlikely to be harmful data. On the other hand, target data with a large degree of variability has low reliability and high uncertainty, and therefore can be considered to be likely to be harmful data.

[0058] Next, the operation of the learning process executed by the learning device 200 of this embodiment will be described. Fig. 6 is a flowchart showing an example of the procedure of the learning process. The learning process is a process of performing unsupervised learning of a learning model using a group of target data. Here, as an example, a case will be described in which images in which any of a plurality of types of animals are shown as target data are clustered by type of animal.

[0059] Note that the process steps in each process described below are merely examples, and each process can be modified as appropriate as possible. In addition, steps in the process steps described below can be omitted, replaced, or added as appropriate depending on the embodiment.

[0060] (Display processing) (Step S2-1) First, the data acquisition unit 202 acquires a learning model to be learned. The learning model may be read from a storage device inside the learning device 200 or a database outside the learning device 200, or may be input by a user. The data acquisition unit 202 sends the acquired learning model to the model storage unit 201.

[0061] (Step S2-2) Next, data acquisition unit 202 acquires a target data group including a plurality of target data, and transformed data. The target data and transformed data may be read from a storage device inside learning device 200 or a database outside learning device 200, or may be input by a user. In addition, transformed data generated in advance may be acquired, or the transformed data may be acquired by performing data extension on the acquired target data.

[0062] The target data group is a group of images input as images of animals. Each image is a color image with an image size of 32 x 32 [pixels]. In this case, each target data is image data of a 3072 (= 32 x 32 x 3) dimensional vector, and the target data group is a vector data group of a 3072 (= 32 x 32 x 3) dimensional vector.

[0063] (Step S2-3) Next, the feature calculation unit 203 reads out the learning model of the learning target from the model storage unit 201, and calculates a feature vector using the learning model. At this time, the feature calculation unit 203 inputs the target data and the transformed data to the learning model, and obtains the feature vector output from the learning model. The number of dimensions of the feature vector is assumed to be 128.

[0064] (Step S2-4) Next, the variability calculation unit 204 calculates the variability of each target data by using the feature vector of the transformed data. For example, the variability of each target data is calculated by using the formula (1) described in step S1-3 of the first embodiment. When the value of the memory bank held by the learning model is used as "u" in the formula (1), the variability calculation unit 204 acquires the value of the memory bank from the model storage unit 201 as the feature vector.

[0065] (Step S2-5) Next, the loss calculation unit 205 calculates the loss of unsupervised learning. At this time, the loss calculation unit 205 sets a value inversely proportional to the degree of variability of the corresponding target data as the weighting of the feature vector. Since the weighting of the feature vector generated from the target data with a large degree of variability is small, the influence of data with a high possibility of being harmful on the loss calculation is reduced.

[0066] Equation (2) is an example of a formula for calculating loss. In equation (2), "Lj" indicates the loss of unsupervised learning corresponding to the jth target data. "Lj" can be calculated, for example, using a known unsupervised learning method that uses data augmentation. "Vj" indicates the variability of the jth target data.

number

[0067] By calculating the loss by weighting it with the inverse of the variability of the target data, it is possible to lower the importance of harmful data that is expected to have a large variability in the loss calculation. By lowering the importance of harmful data in the loss calculation, the learning efficiency is improved.

[0068] (Step S2-6) Next, the model update unit 206 acquires the learning model from the model storage unit 201, and updates the learning model based on the loss. For example, the model update unit 206 updates the weight coefficient of the DNN by a method such as backpropagation based on the loss calculated by the loss calculation unit 205. The model update unit 206 stores the updated learning model in the model storage unit 201.

[0069] (Step S2-7) When the process of step S2-6 is completed, the learning device 200 judges whether or not to terminate the learning of the model based on the termination condition. The termination condition may be a condition generally used in unsupervised learning of a learning model. The termination condition may be, for example, that a predetermined number of repetitions is reached or that the update amount of the weight coefficient of the DNN is equal to or less than a predetermined value.

[0070] The learning device 200 repeatedly executes the processes from step S2-2 to step S2-6 until the termination condition is satisfied, and performs learning of the learning model. When the termination condition is satisfied, the learning device 200 terminates the learning process. The target data used in each repetitive step is randomly sampled from all the learning data. In addition, a probability distribution indicating the frequency with which each target data is used in learning is set in advance, and the target data used in learning is determined according to this probability distribution.

[0071] (Effects of the second embodiment) The effects of the learning device 200 according to this embodiment will be described below. The learning device 200 according to this embodiment includes a data acquisition unit 202, a feature calculation unit 203, a variability calculation unit 204, a loss calculation unit 205, and a model update unit 206. The data acquisition unit 202 acquires target data, a plurality of transformed data obtained by transforming the target data, and a learning model that receives input of the transformed data and outputs a feature vector. The feature calculation unit 203 calculates a feature vector using the transformed data and the learning model. The variability calculation unit 204 calculates a variability representing the degree of variability of the feature vector for each piece of target data based on the feature vector. The loss calculation unit 205 calculates a loss during learning based on the plurality of target data. The model update unit 206 updates the learning model based on the loss. In addition, the loss calculation unit 205 calculates the importance of the target data so that it is inversely proportional to the variability.

[0072] Target data with a small degree of variability has a high reliability and a low uncertainty, and therefore can be considered to be less likely to be harmful data. On the other hand, target data with a large degree of variability has a low reliability and a high uncertainty, and therefore can be considered to be more likely to be harmful data. Therefore, according to the learning device 200 of this embodiment, the learning efficiency can be improved by calculating the variability of feature vectors of multiple transformed data obtained by transforming the target data, and adjusting the learning loss based on the variability. Specifically, by reducing the importance in calculating the loss of a feature vector with a large degree of variability, the influence of harmful data during learning can be reduced, and clustering performance can be improved.

[0073] (Modification of the second embodiment) In this embodiment, the weighting factor for loss calculation is adjusted for each target data, thereby adjusting the importance of the target data during learning according to the degree of variability, but the importance may be adjusted using other methods. For example, the importance of the target data during learning may be adjusted by adjusting the distribution that determines the target data to be sampled during learning according to the degree of variability. In this case, the loss calculation unit 205 reduces the frequency of use in the probability distribution as the degree of variability of the target data increases. As a result, the target data is sampled based on a probability distribution that is inversely proportional to the degree of variability, so that the influence of target data with a large degree of variability can be reduced.

[0074] Also, target data with a large degree of variability may be excluded from the target data used for learning. For example, the loss calculation unit 205 can calculate the loss by excluding target data with a degree of variability equal to or greater than a predetermined value by changing the frequency of use in the probability distribution of the target data with a degree of variability equal to or greater than a predetermined value to 0.

[0075] Furthermore, in the present embodiment, an example has been described in which the degree of variability is calculated during learning, but the degree of variability may be calculated in advance using another learning model that has already been learned.

[0076] In addition, in this embodiment, the case of performing unsupervised learning has been described, but it can also be applied to supervised learning. In this case, the data acquisition unit 202 acquires the target label of each target data in addition to the target data, and the loss calculation unit 205 calculates the loss of supervised learning using the output of the learning model and the target label. At this time, the loss calculation unit 205 adjusts the importance of target data with a large degree of variability in supervised learning so that it is reduced according to the degree of variability of the target data.

[0077] In order to improve the accuracy of the learning model, the learning model may be updated by repeated optimization using a stochastic gradient method, etc. In this case, the data acquisition unit 202 randomly acquires a different data set (data group) of target data each time learning is repeated.

[0078] (Modification of the first or second embodiment) In the above embodiment, the image data is used as the target data, but the above configuration can be applied to all types of target data. For example, the target data may be voice data, table data, sensor data such as acceleration and voltage, etc.

[0079] In the above embodiment, the case where the DNN is used as the learning model is described, but the above configuration can be applied to all machine learning models. For example, a multiple regression analysis model, an SVM, a decision tree model, etc. may be used as the learning model.

[0080] The feature vector calculation device may be a search device having a function of searching for data similar to predetermined search data from among target data. In this case, a search unit is provided that calculates the similarity between each target data and the search data, and searches for target data similar to the search data (hereinafter referred to as similar data) based on the similarity of each target data. The search unit inputs predetermined data into a learning model to obtain the feature vector of the search data as a search feature vector, and calculates the similarity between the obtained search feature vector and the feature vector of each target data. After that, the search unit extracts target data whose similarity is equal to or greater than a threshold as similar data, and presents the extracted similar data to a user.

[0081] In addition, in the search for similar data, the search results may be adjusted according to the degree of variation of each target data. In this case, the search unit reduces the similarity of target data with a large degree of variation, making it difficult for target data with a large degree of variation to be extracted as similar data. Since target data with a large degree of variation is highly likely to be harmful data, the influence of harmful data when searching for similar data can be reduced, and search performance can be improved.

[0082] (Examples) Fig. 7 is a diagram showing the hardware configuration of the clustering device of Fig. 1 and the learning device of Fig. 5. As shown in Fig. 7, the clustering device or the learning device is a computer having a processor 1, a ROM (Read Only Memory) 2, a RAM (Random Access Memory) 3, an auxiliary storage device 4, an input device 5, a display device 6, and a communication device 7. Transmission and reception of data and various signals between the processor 1, ROM 2, RAM 3, the auxiliary storage device 4, the input device 5, the display device 6, and the communication device 7 is performed via a bus.

[0083] The processor 1 is an integrated circuit that controls the overall operation of the clustering device or learning device. For example, the processor 1 has a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), and / or a floating-point unit (FPU). The processor 1 may also have an internal memory and an I / O interface. The processor 1 executes various processes by interpreting and calculating programs stored in advance in the ROM 2 or the auxiliary storage device 4. The processor 1 may be realized in part or in whole by hardware such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

[0084] The ROM 2 is a non-volatile memory that stores various data. For example, the ROM 2 stores data and setting values ​​used when the processor 1 executes various processes. The ROM 2 may include a non-transitory computer-readable storage medium that stores a program executed by the processor 1.

[0085] The RAM 3 is a volatile memory used for reading and writing data. The RAM 3 temporarily stores data used when the processor 1 executes various processes. The RAM 3 provides a work area for the processor 1.

[0086] The auxiliary storage device 4 is a non-volatile memory that stores various data. For example, the auxiliary storage device 4 stores data and setting values ​​used when the processor 1 executes various processes, data generated by various processes in the processor 1, etc. The auxiliary storage device 4 is configured with an HDD (Hard Disk Drive), an SSD (Solid State Drive), an integrated circuit storage device, etc. The auxiliary storage device 4 may have a non-transitory computer-readable storage medium that stores a program executed by the processor 1.

[0087] The input device 5 accepts various operation inputs from the user. Examples of the input device 5 that can be used include a keyboard, a mouse, various switches, a touch pad, and a touch panel display. An electrical signal corresponding to the accepted operation input (hereinafter, an operation signal) is supplied to the processor 1.

[0088] The display device 6 displays various data under the control of the processor 1. A CRT (Cathode-Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, an LED (Light-Emitting Diode) display, a plasma display, or any other display may be appropriately used as the display device 6. The display device 6 may be a projector.

[0089] The communication device 7 includes a communication interface such as a network interface card (NIC) for performing data communication between various devices connected to the clustering device or the learning device via a network. An operation signal may be supplied from a computer connected via the communication device 7 or an input device provided in the computer, and various data may be displayed on a display device or the like provided in the computer connected via the communication device 7. However, for the sake of simplicity of the following description, unless otherwise specified, it is assumed that the source of the operation signal is the input device 5 and the display destination of the various data is the display device 6. The input device 5 can be replaced by a computer connected via the communication device 7 or an input device provided in the computer, and the display device 6 can be replaced by a display device or the like provided in the computer connected via the communication device 7.

[0090] The clustering device or the learning device does not need to include all of the processor 1, the ROM 2, the RAM 3, the auxiliary storage device 4, the input device 5, the display device 6, and the communication device 7. If necessary, some of the processor 1, the ROM 2, the RAM 3, the auxiliary storage device 4, the input device 5, the display device 6, and the communication device 7 may not be provided. The clustering device or the learning device may be provided with any additional hardware device useful for executing the processing according to this embodiment. The clustering device or the learning device does not need to be physically composed of one computer, and may be composed of a computer system having multiple computers connected to each other so as to be able to communicate via wires or a network line. The allocation of the series of processing according to this embodiment to the multiple processors 1 implemented in each of the multiple computers can be set arbitrarily. All the processors 1 may execute all the processing in parallel, or a specific processing may be assigned to one or some of the processors 1, and the series of processing according to this embodiment may be executed as a whole computer system.

[0091] Thus, according to any of the above-described embodiments, it is possible to provide a feature vector calculation device, a clustering device, a learning device, a method, and a program that can support clustering that takes harmful data into consideration.

[0092] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope of the invention and its equivalents described in the claims, as well as in the scope and spirit of the invention. [Explanation of symbols]

[0093] 1...processor, 2...ROM, 3...RAM, 4...auxiliary storage device, 5...input device, 6...display device, 7...communication device, 100...clustering device, 200...learning device, 101...data acquisition unit, 102...feature calculation unit, 103...variability calculation unit, 104...cluster division unit, 105...display unit, 201...model storage unit, 202...data acquisition unit, 203...feature calculation unit, 204...variability calculation unit, 205...loss calculation unit, 206...model update unit.

Claims

1. a data acquisition unit that acquires target data, a plurality of transformed data obtained by transforming the target data, and a learning model that receives an input of the transformed data and outputs a feature vector; a feature calculation unit that calculates the feature vector using the transformed data and the learning model; a variability calculation unit that calculates a variability indicating a degree of variability of the feature vector for each of the target data based on the feature vector; A feature vector calculation device comprising:

2. The feature vector calculation device according to claim 1 ; a cluster division unit that divides the target data into a plurality of clusters based on the degree of variability; A clustering device comprising:

3. a display unit that displays the feature vector with an emphasis level corresponding to the degree of variation; The clustering device according to claim 2 .

4. The feature vector calculation device according to claim 1 ; A loss calculation unit that calculates a learning loss based on a plurality of target data; A model update unit that updates the learning model based on the loss; Equipped with The loss calculation unit calculates the loss so as to reduce an influence of the target data having a large degree of variability on learning. Learning device.

5. the loss calculation unit calculates the importance of the target data in the calculation of the loss so as to be inversely proportional to the degree of variability; The learning device according to claim 4.

6. the loss calculation unit calculates the loss by using target data sampled based on a probability distribution inversely proportional to the degree of variability. The learning device according to claim 4.

7. the loss calculation unit calculates the loss by excluding target data whose degree of variation is equal to or greater than a predetermined value. The learning device according to claim 4.

8. a search unit that calculates a similarity between a search feature vector obtained by inputting search data into the learning model and the feature vector for each of the plurality of target data, and searches for similar data similar to the search data from among the plurality of target data according to the similarity; The search unit calculates the similarity according to the degree of variation. The feature vector calculation device according to claim 1.

9. The search unit reduces the similarity of target data having a large degree of variation. The feature vector calculation device according to claim 8.

10. acquiring target data, a learning model that receives an input of the target data and outputs a first feature vector, and a second learning model that receives an input of the target data and outputs a second feature vector; Calculating the first feature vector using the learning model and the target data; Calculating the second feature vector using the second learning model and the target data; Dividing the second feature vector to calculate a second cluster; Integrating the first feature vector and the second cluster; A method for providing the above.

11. On the computer, A function of acquiring target data, a learning model that receives an input of the target data and outputs a first feature vector, and a second learning model that receives an input of the target data and outputs a second feature vector; A function of calculating the first feature vector using the learning model and the target data; A function of calculating the second feature vector using the second learning model and the target data; A function of dividing the second feature vector to calculate a second cluster; a function of integrating the first feature vector and the second cluster; A program to achieve this.

Citation Information

Patent Citations

  • Image inspection and recognition method, and reference data generating method used for same and device for them

    JP1996069533A

  • Access monitoring device, access monitoring program, and access monitoring method

    JP2018116505A

  • Learning quality estimation device, method, and program

    JP2019149030A

  • Learning generalized feature representations for face recognition

    JP2022544853A

  • Machine learning data set evaluation support device and machine learning data set evaluation support method

    JP2023104464A