Clustering device, method, and program

The clustering device uses multiple learning models to generate integrated feature vectors, enhancing clustering performance and visibility by identifying and addressing harmful data, thereby improving the accuracy and clarity of clustering results.

JP7840912B2Active Publication Date: 2026-04-06KK TOSHIBA
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-08-22
Publication Date
2026-04-06

AI Technical Summary

Technical Problem

Existing clustering methods are hindered by harmful data such as indistinguishable or noisy data, which reduce clustering performance and obscure cluster boundaries, leading to reduced visibility of clustering results.

Method used

A clustering device that utilizes two machine learning models, a first learning model and a second learning model, to generate first and second feature vectors, which are integrated to improve clustering performance and visibility. The second model acts as an auxiliary to the first, providing different perspectives on the data to identify and highlight harmful data.

Benefits of technology

Enhances the visibility of clustering results by allowing users to identify and analyze harmful data, improving clustering performance by confirming correct clustering and reducing the impact of pseudo-clusters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007840912000001
    Figure 0007840912000001
  • Figure 0007840912000002
    Figure 0007840912000002
  • Figure 0007840912000003
    Figure 0007840912000003
Patent Text Reader

Abstract

To provide a clustering apparatus, method and program for improving clustering performance or visibility of clustering results.SOLUTION: A clustering apparatus includes a data acquisition unit, a first feature calculation unit, a second feature calculation unit, a second cluster division unit, and an integration unit. The data acquisition unit acquires target data, a first trained model configured to receive an input of the target data and output a first feature vector, and a second trained model configured to receive an input of the target data and output a second feature vector. The first feature calculation unit calculates the first feature vector using the first trained model and the target data. The second feature calculation unit calculates the second feature vector using the second trained model and target data. The second cluster division unit divides the second feature vectors to calculate second clusters. The integration unit integrates the first feature vectors with the second clusters.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to a clustering apparatus, method, and program.

Background Art

[0002] A clustering apparatus is an apparatus that classifies (also referred to as cluster partitioning or clustering) target data, which is a vector data group, using a learning model. For example, the clustering apparatus compresses the dimensionality of the vector data group using a method such as t-SNE, estimates the number of clusters, and classifies the dimensionality-compressed vector data group using a learning model. The learning model identifies a cluster label (cluster ID) by, for example, an unsupervised learning method. The cluster label (cluster ID) identified by the learning model is used, for example, as teacher data in supervised learning of another learning model.

[0003] Generally, a data group to be clustered may include data that is harmful to clustering (hereinafter referred to as harmful data). Harmful data for clustering is, for example, indistinguishable data or erroneously mixed noisy data. Indistinguishable data is, for example, data that cannot be correctly discriminated by 90% or more of humans. For example, when classifying a group of photos showing animals into two clusters of "dogs" and "cats", the group of photos may include images with enlarged indistinguishable parts, images showing both dogs and cats, etc. as indistinguishable data. Also, as noisy data, images of "horses" or "vehicles" that have been erroneously mixed into the group of photos may be included in the group of target data photos.

[0004] These harmful data can prevent correct clustering and be a factor in reducing clustering performance. Also, these harmful data can be a factor in reducing the visibility of the clustering results by obscuring the boundaries of the clusters when displaying the feature vectors output from the learning model or forming spurious clusters that are not essential. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Patent No. 6846369 [Overview of the project] [Problems that the invention aims to solve]

[0006] The problem that this invention aims to solve is to provide a clustering device, method, and program that can improve the visibility of clustering results or clustering performance. [Means for solving the problem]

[0007] To solve these problems, the clustering device of the embodiment comprises a data acquisition unit, a first feature calculation unit, a second feature calculation unit, a second cluster division unit, and an integration unit. The data acquisition unit acquires target data, a first learning model that receives input of the target data and outputs a first feature vector, and a second learning model that receives input of the target data and outputs a second feature vector. The first feature calculation unit calculates the first feature vector using the first learning model and the target data. The second feature calculation unit calculates the second feature vector using the second learning model and the target data. The second cluster division unit divides the second feature vector to calculate a second cluster. The integration unit integrates the first feature vector and the second cluster. [Brief explanation of the drawing]

[0008] [Figure 1] A diagram showing an example of the configuration of a clustering device according to the first embodiment. [Figure 2] A flowchart illustrating the processing procedure for display processing by the clustering device according to the first embodiment. [Figure 3] Scatter plot showing the first feature vector according to the first cluster. [Figure 4] Scatter plot showing the second feature vector according to the second cluster. [Figure 5] Scatter plot showing the first feature vector according to the second cluster. [Figure 6] A diagram showing an example of the configuration of a clustering device according to the second embodiment. [Figure 7] A flowchart illustrating the processing procedure for display processing by the clustering device according to the second embodiment. [Figure 8] A diagram showing an example of the configuration of a clustering device related to an application example. [Modes for carrying out the invention]

[0009] The following describes in detail embodiments of the clustering apparatus, method, and program with reference to the drawings. In the following description, components having substantially the same function and configuration are denoted by the same reference numerals, and redundant descriptions are provided only when necessary.

[0010] (First embodiment) Figure 1 shows the configuration of the clustering device 100 according to the first embodiment. The clustering device 100 is a device that displays the output from the first learning model in order to confirm the clustering performance of the classification (also called cluster partitioning or clustering) using the first learning model.

[0011] The clustering device 100 includes a data acquisition unit 101, a first feature calculation unit 102, a second feature calculation unit 103, a second cluster division unit 104, an integration unit 105, and a display unit 106.

[0012] The data acquisition unit 101 acquires the target data, the first learning model, and the second learning model.

[0013] The target data is the data to be clustered. For example, the target data could be image data. For instance, if we want to cluster a group of images of animals by animal species, the target data would be the images of animals. The target data is not limited to image data; it can be any data format that is relevant to the clustering process.

[0014] In this embodiment, the objective is to improve the clustering performance and visibility of the clustering results of the first learning model in order to support clustering that takes harmful data into consideration. The second learning model is a machine learning model used as an auxiliary to improve the performance or visibility of the first learning model. As the first and second learning models, general machine learning models used for clustering data sets, such as DNN (Deep Neural Network), can be used.

[0015] The first learning model accepts the target data as input and outputs a first feature vector. In other words, the first learning model is a machine learning model that transforms the target data into a first feature vector. The second learning model accepts the target data as input and outputs a second feature vector. In other words, the second learning model is a machine learning model that transforms the target data into a second feature vector. The second feature vector output from the second learning model is used auxiliaryly to improve the clustering performance of the first feature vector and the readability of the clustering results.

[0016] The second learning model is a machine learning model different from the first learning model. Therefore, even when the same target data is input to each of the first learning model and the second learning model, the output results of the first learning model and the second learning model may be different. For example, when the same target data is input to each of the first learning model and the second learning model, the first feature vector output from the first learning model and the second feature vector output from the second learning model may be different vectors. As the second learning model, it is preferable to use a model with little difference in clustering performance from the first learning model and with an output tendency different from that of the first learning model. A model with a different output tendency is, for example, a model with a different way of capturing data. For example, the second learning model is a machine learning model in which at least one of the model structure, learning method, hyperparameters during learning, and dataset during learning is different from the first learning model.

[0017] The model structure is, for example, structural parameters such as the total number of DNNs and the number of channels, and the types of model structures such as ResNet / MobileNet / EfficientNet. The learning method is, for example, ID, IDFD, simCLR, MOCO, BYOL, BallowTwins, tSNE, UMAP, AE, VAE, etc. The hyperparameters during learning are, for example, the optimizer, learning rate, learning rate schedule, number of updates, batch size, loss function, random number Seed value, etc. The loss function is, for example, regularization strength (FD, WeightDecay, etc.), temperature parameter, momentum coefficient, etc. The dataset during learning is, for example, CIFAR-10, ImageNet, etc. Note that the model structure may also be called the learning method.

[0018] In this embodiment, an example will be described in which an unsupervised learning model (DNN) by IDFD is used as the first learning model, and a DNN learned by changing the random number Seed value of the first learning model is used as the second learning model. However, this is not the only case, and the first learning model and the second learning model only need to be different in at least one of the above-described elements.

[0019] The first feature calculation unit 102 calculates a first feature vector using the first learning model and the target data. At this time, the first feature calculation unit 102 inputs the target data into the first learning model and obtains the first feature vector output from the first learning model.

[0020] The second feature calculation unit 103 calculates a second feature vector using the second learning model and the target data. At this time, the second feature calculation unit 103 inputs the target data into the second learning model and obtains the second feature vector output from the second learning model.

[0021] The second clustering unit 104 performs clustering by clustering the second feature vectors to calculate second clusters. For clustering, general clustering methods such as k-means can be used. For clustering, various methods such as the centroid method and kernel density estimation can be applied.

[0022] As the number of clusters to be divided by clustering (hereinafter referred to as the number of clusters), for example, a numerical value specified by the user of the clustering device 100 can be used. When referring to the scatter diagram of the second feature vectors in the space after dimensional compression using methods such as PCA, tSNE, UMAP, etc., or when there is a presumable number of clusters from the nature of the data in advance, that numerical value can also be used as the number of clusters.

[0023] The integration unit 105 integrates the first feature vector and the second cluster. In the present embodiment, the integration unit 105 integrates the first feature vector and the second cluster by associating the first feature vector obtained from the same target data with the second cluster.

[0024] The display unit 106 visualizes and displays the output of the first learning model to verify its performance. The display unit 106 displays a scatter plot mapped to the first feature vector output from the first learning model. In this case, the display unit 106 displays the first feature vector output from the first learning model based on the integration result by the integration unit 105. Furthermore, in the scatter plot mapped to the first feature vector, the display unit 106 displays the first feature vector based on the index of the corresponding second cluster. For example, the display unit 106 changes the color, size, shape, transparency, etc., of the first feature vector according to the second cluster.

[0025] Next, the operation of the display process performed by the clustering device 100 of this embodiment will be described. Figure 2 is a flowchart of an example of the display process procedure. The display process is a process of displaying a scatter plot mapped to the first feature vector output from the first learning model in order to check the performance of the first learning model. Here, as an example, we will explain the case in which images containing any of several types of animals are used as target data, and each image is clustered according to the type of animal without using information on training labels.

[0026] The processing procedures described below are merely examples, and each process can be modified as appropriate. Furthermore, depending on the embodiment, steps in the processing procedures described below can be omitted, replaced, or added as appropriate.

[0027] (Display processing) (Step S1-1) First, the data acquisition unit 101 acquires a target data set containing multiple target data, a first learning model, and a second learning model.

[0028] The target data set consists of a collection of images that were input as pictures of animals. Each image is assumed to be a color image with a size of 32 x 32 pixels. In this case, each target data is a 3072 (=32 x 32 x 3) dimensional vector image data, and the target data set is a collection of 3072 (=32 x 32 x 3) dimensional vector data.

[0029] (Step S1-2) Next, the first feature calculation unit 102 inputs each target data into the first learning model and calculates the first feature vector by obtaining the first feature vector output from the first learning model. The first feature vector is assumed to have 128 dimensions.

[0030] (Steps S1-3) Next, the second feature calculation unit 103 inputs each target data into the second learning model and calculates the second feature vector by obtaining the second feature vector output from the second learning model. The second feature vector is assumed to have 128 dimensions.

[0031] (Steps S1-4) Next, the second cluster division unit 104 calculates second clusters by clustering the second feature vectors calculated by the second feature calculation unit 103. In this process, the second cluster division unit 104 uses an unsupervised clustering method such as k-means to divide each second feature vector into 30 categories.

[0032] (Steps S1-5) The integration unit 105 integrates the first feature vector calculated in step S1-2 with the second cluster extracted in step S1-4. At this time, the integration unit 105 extracts a second feature vector calculated from the same target data and the second cluster to which that second feature vector belongs for each first feature vector, and associates the first feature vector with the extracted second cluster. Subsequently, the display unit 106 displays a scatter plot mapping the first feature vectors based on the integration results. At this time, the display unit 106 displays each first feature vector in a manner that allows identification of the associated second cluster. For example, the display unit 106 changes the color, shape, size, transparency, etc., of each point representing the first feature vector according to the second cluster. The user can verify the clustering performance using the first learning model by checking the displayed scatter plot.

[0033] (Effects of the first embodiment) The effects of the clustering device 100 according to this embodiment will be described below.

[0034] The clustering device 100 according to this embodiment includes a data acquisition unit 101, a first feature calculation unit 102, a second feature calculation unit 103, a second cluster division unit 104, and an integration unit 105. The data acquisition unit 101 acquires target data, a first learning model that accepts input of the target data and outputs a first feature vector, and a second learning model that accepts input of the target data and outputs a second feature vector. For example, the first learning model and the second learning model differ in their model structure, learning method, hyperparameters during learning, or the dataset used during learning. The first feature calculation unit 102 calculates a first feature vector using the first learning model and the target data. The second feature calculation unit 103 calculates a second feature vector using the second learning model and the target data. The second cluster division unit 104 divides the second feature vector to calculate a second cluster. The integration unit 105 integrates the first feature vector and the second cluster. Furthermore, the clustering device 100 according to this embodiment further includes a display unit 106 that displays the first feature vector based on the index of the corresponding second cluster. The display unit 106 displays a scatter plot mapped to the first feature vector output from the first learning model. The displayed scatter plot visualizes the output by the first learning model. By checking the scatter plot of the first feature vector with the information of the second cluster attached, the user can confirm whether the input target data is correctly identified and accurately verify the performance of the first learning model.

[0035] Here, we will specifically explain how to verify the performance of the learning model using the display according to this embodiment, using the example shown in Figures 3-5. Figure 3 is an example of a scatter plot mapped to the first feature vector. In Figure 3, the 128-dimensional first feature vector is compressed to 2 dimensions for visualization. Compression methods such as PCA, tSNE, and UMAP can be used. In Figure 3, for explanatory purposes, the first feature vector is divided into multiple first clusters using a known clustering method, and the display method of the first feature vector is changed according to the first cluster. However, in the display processing of this embodiment, the calculation of the first cluster is not required. In Figure 3, the pixel value (color intensity) of each point representing the first feature vector is changed and displayed according to the first cluster.

[0036] Figure 4 shows an example of a scatter plot mapped with the second feature vector. In Figure 4, the 128-dimensional second feature vector is compressed to 2 dimensions for visualization. Compression methods such as PCA, tSNE, and UMAP can be used. In Figure 4, the pixel value (color intensity) of each point representing the second feature vector is changed and displayed according to the second cluster.

[0037] Figure 5 is a scatter plot showing the mapping of the first feature vector output from the first learning model displayed on the display unit 106. Figure 5 is generated based on the integration result of the first feature vector shown in Figure 3 and the second cluster shown in Figure 4. In Figure 5, the 128-dimensional first feature vector is compressed to 2 dimensions for visualization. Compression methods such as PCA, tSNE, and UMAP can be used. In Figure 5, each first feature vector mapped in the same way as the scatter plot in Figure 3 is displayed in a manner that allows identification of the second cluster of the second feature vector generated from the same target data. In Figure 5, the pixel value (color intensity) of each point representing the first feature vector is changed and displayed according to the corresponding second cluster. Note that the color, shape, size, transparency, etc. of each point representing the first feature vector may also be changed according to the second cluster.

[0038] When multiple data points belonging to a single cluster also belong to the same cluster when clustering is performed using other learning models, those data points are often easy to cluster. For example, when clustering animal species in images, data that is easy to cluster are images in which more than 90% of humans can correctly classify the animal species.

[0039] On the other hand, if multiple target data points belonging to one cluster belong to different clusters when clustering is performed using a different learning model, these target data are often harmful data unsuitable for clustering. For example, multiple target data points belonging to a single cluster generated using the first learning model may belong to different clusters when clustering is performed using the second learning model. In this case, because the cluster IDs of the second cluster are inconsistent, the scatter plot displayed by integrating the first feature vector and the second cluster will result in clusters where multiple cluster IDs are mixed within a single cluster. Such clusters are likely to be pseudoclusters formed from harmful data unsuitable for clustering, as the reproducibility of the clustering results is low.

[0040] For example, the first feature vectors contained within region "A" belong to the same first cluster, as shown in Figure 3. Similarly, the first feature vectors contained within region "A" belong to the same second cluster, as shown in Figure 5. By examining the display in Figure 5, the user can determine that the first feature vectors contained within region "A" are data that is easily clustered.

[0041] On the other hand, the first feature vectors contained within region "B" belong to the same first cluster, as shown in Figure 3. However, the first feature vectors contained within region "B" belong to multiple second clusters, as shown in Figure 5. By examining the display in Figure 5, the user can conclude that the first feature vectors contained within region "B" are likely to be harmful data, and that the clusters formed within region "B" are pseudo-clusters composed of harmful data.

[0042] In this way, by using the integrated results display method shown in Figure 5, users can confirm the reproducibility of clustering results using multiple learning models, thereby identifying harmful data included in the target data and analyzing the performance of the first learning model while considering the harmful data. For example, if multiple cluster IDs exist within a single cluster, the user can consider that cluster as a pseudo-cluster formed by harmful data and analyze the clustering results without considering that pseudo-cluster. Therefore, by using the output of a second learning model different from the first learning model as an auxiliary, the visibility of the clustering results of the first learning model can be improved. That is, in the clustering device 100 using the first learning model, by adding information on the clustering results of another second learning model, the visibility of the clustering results can be improved, making it easier to check the clustering performance of the first learning model. For example, by checking the scatter plot of the first feature vector displayed in a way that allows for identification according to the second cluster, the user can efficiently analyze and consider the clustering results. In addition, the user can visually grasp the pattern of each cluster formed on the scatter plot of the first feature vector. Therefore, even when the amount of data increases, users can easily and efficiently investigate the image patterns of each cluster formed on the scatter plot.

[0043] As the second learning model, it is preferable to use a machine learning model that has similar clustering performance to the first learning model but with a different output trend.

[0044] In this embodiment, we described a case where a DNN trained by changing the random number seed value of the first training model is used as the second training model. This method minimizes the difference in training conditions between the second training model and the first training model. Target data that changes the clustering results simply by changing the random number seed value is likely to be harmful data. Therefore, by using such a second training model, it is possible to reduce the influence of easily identifiable harmful data, such as data where the clustering tendency changes depending on the initial values ​​of the DNN weights or the order in which the data is trained.

[0045] Furthermore, as the second learning model, a DNN may be used in which the structural parameters such as the total number of DNNs and the number of channels of the first learning model have been changed. In this case, since the expressive power and reference range for the input differ between the first and second learning models, a model that has a different approach to data resolution and complexity than the first learning model can be used as the second learning model. For each target data, the user can determine whether the data is suitable for clustering, where the clustering results do not change even when using multiple models that perform feature extraction from different perspectives, or whether it is harmful data, where the clustering results change.

[0046] Furthermore, a DNN generated using a different learning method than the first learning model may be used as the second learning model. For example, learning methods such as BYOL and BallowTwins train on PositivePairs, treating their own data as a positive example (same class) even after transformation. Therefore, models trained using BYOL and BallowTwins only consider the PositivePair relationship. On the other hand, learning methods such as ID, IDFD, and simCLR train on NegativePairs, treating data other than their own as a negative example (different class) even after transformation. Therefore, models trained using ID, IDFD, and simCLR also consider NegativePairs. For example, by using a model trained using BYOL or BallowTwins for one of the first and second learning models, and a model trained using ID, IDFD, or simCLR for the other, it is possible to use both a model that only considers PositivePairs and a model that also considers NegativePairs. Even in this case, users can determine whether each target data is suitable for clustering, meaning the clustering results remain unchanged even when using multiple models that extract features from different perspectives, or whether it is harmful data, where the clustering results change.

[0047] Furthermore, dimensionality reduction techniques such as tSNE and UMAP consider the distance between data in the input space and the compressed space. On the other hand, dimensionality reduction techniques such as AE and VAE consider the ability to reconstruct data from the compressed space back into the input space. Therefore, by using a dimensionality reduction technique such as tSNE or UMAP for one of the first and second learning models, and a learning technique such as dimensionality reduction techniques like AE or VAE for the other, it is possible to use a model that considers the distance between data in the input space and the compressed space, and a model that considers the ability to reconstruct data from the compressed space back into the input space. Even in this case, the user can determine whether each target data is suitable for clustering, where the clustering results do not change even when using multiple models that perform feature extraction from different perspectives, or whether it is harmful data, where the clustering results change.

[0048] (Second embodiment) A second embodiment will now be described. This embodiment is a modification of the configuration of the first embodiment as follows. The same configuration, operation, and effects as in the first embodiment will not be described. The clustering device 100 of this embodiment calculates first clusters that have been partitioned using the first learning model, calculates the degree of mixing of the second cluster for each first cluster, and highlights the first feature vector according to the degree of mixing.

[0049] Figure 6 shows the configuration of the clustering device 100 according to this embodiment. The clustering device 100 further comprises a first cluster division unit 107. The first cluster division unit 107 performs clustering by dividing the first feature vector calculated by the first feature calculation unit 102 to calculate first clusters. General clustering methods such as k-means can be used for clustering. Various methods such as centroid method and kernel density estimation can be applied to clustering.

[0050] The number of clusters in the first cluster is preferably the same as the number of clusters in the second cluster, but they may be different. For example, the number of clusters in the first cluster may be a value specified by the user.

[0051] The integration unit 105 integrates the first feature vector and the second cluster by calculating the degree of mixing of the second cluster within a single first cluster. The degree of mixing is an index that represents the degree of mixing of cluster IDs of the second cluster within a single first cluster. The value of the degree of mixing increases as the number of second clusters to which the target data within a single first cluster belongs increases (there are more types of second clusters). As the degree of mixing, for example, the reciprocal of the maximum proportion of second cluster IDs included in the first cluster, the entropy of the distribution of second clusters included in the first cluster, or the total number of second cluster IDs included in the first cluster that have a content of 3% or more can be used.

[0052] The degree of mixing decreases when multiple data points belonging to the same first cluster are classified into the same second cluster, and increases when data points belonging to the same first cluster are classified into different second clusters. For this reason, the degree of mixing can also be called an indicator that represents the consistency and reproducibility of clustering results when clustering is performed using multiple learning models.

[0053] The display unit 106 displays the clustering results using the first learning model. In this case, the display unit 106 displays the clustering results using the first learning model based on the integration results by the integration unit 105. In this embodiment, the display unit 106 displays a scatter plot mapped to the first feature vector according to the degree of mixing of the first cluster to which the first feature vector belongs. In this case, the display unit 106 highlights the first feature vector so that the differences in the calculated degree of mixing can be visually confirmed. As for the display method, for example, the first feature vector may be colored using a color bar according to the degree of mixing, or the size, color, shape, transparency, etc. of the points representing the first feature vector may be changed according to the degree of mixing.

[0054] Next, the operation of the display processing performed by the clustering device 100 of this embodiment will be described. Figure 7 is a flowchart showing an example of the display processing procedure. Here, as an example, we will describe a case in which a model for clustering images containing any of several types of animals according to the type of animal is used as the learning model to be learned.

[0055] Note that the processes in steps S2-1-S2-3 and S2-5 are the same as the processes in steps S1-S1-4 in Figure 2, so their explanation is omitted.

[0056] (Step S2-4) The first cluster division unit 107 calculates first clusters by clustering the first feature vectors calculated by the first feature calculation unit 102. In this process, the first cluster division unit 107 uses an unsupervised clustering method such as k-means to divide each first feature vector into 30 categories.

[0057] (Step S2-6) The integration unit 105 integrates the first feature vector and the second cluster. In this process, the integration unit 105 first obtains the first cluster extracted in step S2-4 and the second cluster extracted in step S2-5. Next, for each first cluster, the integration unit 105 extracts the second cluster to which the target data contained in the first cluster belongs, and calculates the degree of mixing of the second clusters in the first cluster based on the number of extracted second clusters.

[0058] Next, the display unit 106 displays a scatter plot mapping the first feature vectors based on the integration results. In this case, the display unit 106 displays each first feature vector in a manner corresponding to the degree of mixing of the first cluster to which the first feature vector belongs. For example, the shape, color, and size of the points representing each first feature vector are changed according to the degree of mixing. This scatter plot is used to verify the clustering performance of the first learning model.

[0059] (Effects of the second embodiment) The effects of the clustering device 100 according to this embodiment will be described below. The clustering device 100 according to this embodiment includes a data acquisition unit 101, a first feature calculation unit 102, a second feature calculation unit 103, a second cluster division unit 104, an integration unit 105, and a display unit 106, in addition to a first cluster division unit 107.

[0060] The first cluster division unit 107 divides the first feature vector to calculate the first cluster. For example, the number of clusters in the first cluster and the number of clusters in the second cluster are set to be the same. The integration unit 105 calculates the degree of mixing of the second cluster within a single cluster for the first cluster. The display unit 106 displays the first feature vector based on the corresponding degree of mixing of the first cluster.

[0061] With the above configuration, the clustering device 100 of this embodiment integrates the first feature vector calculated using the first learning model with the second cluster calculated using the second learning model, calculates the degree of mixing of the second cluster for each first cluster, and displays the first feature vector according to the degree of mixing, thereby improving the visibility of the clustering results. Users can, for example, improve the efficiency of considering and analyzing the clustering results by checking a scatter plot of the first feature vector color-coded according to the degree of mixing.

[0062] Harmful data unsuitable for clustering exhibits low consistency and reproducibility when clustered using different learning models. Therefore, clusters containing a large amount of unsuitable harmful data tend to have a larger number of second clusters. Consequently, images belonging to first clusters with low mixing are often easily clusterable image patterns. Conversely, images belonging to first clusters with high mixing are often unsuitable harmful data. Therefore, the mixing ratio of cluster IDs of second clusters within each first cluster can serve as an indicator of whether an image pattern is easily clusterable. For example, a user can consider first clusters with high mixing as pseudo-clusters formed by harmful data and analyze the clustering results without considering these pseudo-clusters. In this way, by using the output of a second learning model, trained under different conditions than the first learning model, the visibility of the clustering results of the first learning model can be improved. That is, in a clustering device 100 using the first learning model, adding information on the clustering results of another second learning model makes it easier to verify the clustering performance of the first learning model.

[0063] Furthermore, by making the number of clusters in the first cluster the same as the number of clusters in the second cluster, the formula for calculating the degree of mixing can be simplified, and the time required to calculate the degree of mixing can be reduced.

[0064] As described above, in this embodiment, by displaying the scatter plot of the first feature vector for each first cluster according to the degree of mixing of the second cluster, the visibility of the clustering results can be improved, and the efficiency of considering and analyzing the clustering results can be increased.

[0065] (Modified version of the second embodiment) Furthermore, the system may present the user with target data that has a certain degree of mixing or higher. For example, the display unit 106 extracts images with a certain degree of mixing or higher and displays the extracted images as thumbnails. By checking only the images with a high degree of mixing, the user can efficiently identify harmful data.

[0066] Furthermore, target data to be assigned to the first cluster may be selected according to the degree of mixing. For example, the display unit 106 extracts target data with a degree of mixing below a certain level and displays only the first feature vectors of the extracted target data in the scatter plot. By not displaying target data with a high degree of mixing in the scatter plot of the first feature vectors, it is possible to display a scatter plot that has been preemptively removed data that is likely to be harmful.

[0067] Alternatively, the first cluster may be recalculated using the degree of mixing. For example, the first cluster partitioning unit 107 adjusts the weights used in the k-means centroid calculation for each first feature vector to a value inversely proportional to the degree of mixing. Since target data with a high degree of mixing have a high probability of being harmful data, the influence of harmful data can be reduced by decreasing the weight of target data with a high degree of mixing when calculating the first cluster.

[0068] Furthermore, the degree of mixing calculated using the first and second learning models may be used to train another learning model. For example, a third learning model may be trained using the target data and the degree of mixing of the target data. The third learning model is a machine learning model that accepts the target data as input and outputs a third feature vector. Since target data with a high degree of mixing has a high probability of being harmful data, training while considering the degree of mixing can reduce the influence of harmful target data with a high degree of mixing, and a learning model with high clustering performance can be generated.

[0069] Furthermore, the clustering device 100 of this embodiment may also include a search function that searches for data similar to predetermined search data from among the target data. In this case, the clustering device 100 further includes a search unit 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 first learning model or a second learning model to obtain a first feature vector or a second feature vector of the search data as a search feature vector, and calculates the similarity between the obtained search feature vector and the first feature vector or second feature vector of each target data. Subsequently, the search unit extracts target data with a similarity of a threshold or higher as similar data and presents the extracted similar data to the user.

[0070] Furthermore, in the search for similar data, the search results may be adjusted according to the degree of mixing of each target data calculated by the integration unit. In this case, the search unit reduces the similarity of target data with a high degree of mixing, making it less likely for target data with a high degree of mixing to be extracted as similar data. Since target data with a high degree of mixing has a higher probability of being harmful data, the influence of harmful data when searching for similar data can be reduced, thereby improving search performance.

[0071] (Variations of the first or second embodiment) In the above embodiment, the case where image data is used as the target data was described, but other forms of data that can be clustered may also be used as the target data. For example, audio data, table data, sensor data such as acceleration and voltage can be used as the target data.

[0072] Furthermore, although the above embodiment described the case in which a DNN is used as the learning model, other machine learning models that can be used for clustering may also be used. For example, multiple regression analysis models, SVMs, decision tree models, etc., can be used as the learning model.

[0073] Furthermore, although the above embodiment describes the case where one second learning model is used, multiple second learning models may also be used. For example, multiple second clusters obtained from multiple second learning models may be integrated, and the first feature vectors in the scatter plot may be displayed according to the integrated second clusters. Alternatively, the degree of mixing of the first feature vectors may be calculated using the integrated second clusters, and the first feature vectors in the scatter plot may be displayed according to the degree of mixing. When integrating multiple second clusters, it is advisable to quantify the difference in learning conditions between each second learning model and the first learning model, and adjust the integration ratio of each second cluster according to that value. As differences in learning conditions from the first learning model, for example, differences in hyperparameters during learning or differences in the number of parameters related to the model structure can be used.

[0074] (Examples of application) Figure 8 shows the hardware configuration of the clustering device 100 shown in Figures 1 and 6. As shown in Figure 8, the clustering device 100 is a computer having a processor 1, ROM (Read Only Memory) 2, RAM (Random Access Memory) 3, auxiliary storage device 4, input device 5, display device 6, and communication device 7. Data and various signals are transmitted and received between the processor 1, ROM 2, RAM 3, auxiliary storage device 4, input device 5, display device 6, and communication device 7 via a bus.

[0075] Processor 1 is an integrated circuit that controls the overall operation of the clustering device 100. For example, processor 1 has a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), and / or an FPU (Floating-Point Unit). Processor 1 may also have internal memory and I / O interfaces. Processor 1 performs various processes by interpreting and calculating programs pre-stored in ROM 2 or auxiliary storage device 4, etc. Note that processor 1 may be partially or entirely implemented by hardware such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).

[0076] ROM2 is a non-volatile memory that stores various types of data. For example, ROM2 stores data and settings used by processor 1 when it performs various processes. ROM2 may also have a non-temporary computer-readable storage medium that stores programs executed by processor 1.

[0077] RAM3 is volatile memory used for reading and writing data. RAM3 temporarily stores data used by processor 1 when it performs various processes. RAM3 provides the work area for processor 1.

[0078] The auxiliary storage device 4 is a non-volatile memory that stores various types of data. For example, the auxiliary storage device 4 stores data and settings used by the processor 1 when executing various processes, and data generated by various processes performed by the processor 1. The auxiliary storage device 4 is composed of an HDD (Hard Disk Drive), an SSD (Solid State Drive), an integrated circuit storage device, etc. The auxiliary storage device 4 may also have a non-temporary computer-readable storage medium that stores programs executed by the processor 1.

[0079] Input device 5 receives various operation inputs from the user. Input device 5 can include a keyboard, mouse, various switches, touchpad, touch panel display, etc. Electrical signals corresponding to the received operation inputs (hereinafter referred to as operation signals) are supplied to processor 1.

[0080] Display device 6 displays various data according to the control of processor 1. Display device 6 can be a CRT (Cathode-Ray Tube) display, liquid crystal display, organic EL (Electro-Luminescence) display, LED (Light-Emitting Diode) display, plasma display, or any other display as appropriate. Display device 6 may also be a projector.

[0081] The communication device 7 includes a communication interface such as a network interface card (NIC) for data communication with various devices connected to the clustering device 100 via a network. Operation signals may be supplied from a computer connected via the communication device 7 or from an input device on that computer, and various data may be displayed on a display device on a computer connected via the communication device 7. However, for the sake of simplicity in the following explanation, unless otherwise specified, the source of the operation signals will be the input device 5, and the destination for the display of various data will be the display device 6. The input device 5 can be replaced by a computer connected via the communication device 7 or from an input device on that computer, and the display device 6 can be replaced by a display device on a computer connected via the communication device 7.

[0082] The clustering device 100 does not need to include all of the processor 1, ROM 2, RAM 3, auxiliary storage device 4, input device 5, display device 6, and communication device 7. Some of the processor 1, ROM 2, RAM 3, auxiliary storage device 4, input device 5, display device 6, and communication device 7 may be omitted as needed. The clustering device 100 may be provided with any additional hardware devices useful for executing the processing according to this embodiment. The clustering device 100 does not need to consist of a single physical computer; it may consist of a computer system having multiple computers connected communicably via wired or network lines. The assignment of the series of processes according to this embodiment to the multiple processors 1 implemented in each of the multiple computers can be arbitrarily configured. All processors 1 may execute all processes in parallel, or specific processes may be assigned to one or some of the processors 1, and the series of processes according to this embodiment may be executed by the entire computer system.

[0083] Thus, according to any of the embodiments described above, it is possible to provide a clustering device, method, and program that can improve the visibility of clustering results or clustering performance.

[0084] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of symbols]

[0085] 100...Clustering device, 101...Data acquisition unit, 102...First feature calculation unit, 103...Second feature calculation unit, 104...Second cluster division unit, 105...Integration unit, 106...Display unit, 107...First cluster division unit, 1...Processor, 2...ROM, 3...RAM, 4...Auxiliary storage device, 5...Input device, 6...Display device, 7...Communication device.

Claims

1. A data acquisition unit that acquires target data, a first learning model that receives input of the target data and outputs a first feature vector, and a second learning model that receives input of the target data and outputs a second feature vector. A first feature calculation unit that calculates the first feature vector using the first learning model and the target data, A second feature calculation unit that calculates the second feature vector using the second learning model and the target data, A second cluster partitioning unit that partitions the second feature vector to calculate a second cluster, An integration unit that integrates the first feature vector and the second cluster, A clustering device equipped with [the following features].

2. The system further includes a display unit that displays the first feature vector based on the index of the corresponding second cluster. The clustering device according to claim 1.

3. The first and second learning models differ in their model structure, learning method, hyperparameters used during learning, or the dataset used during learning. The clustering device according to claim 1.

4. The system further comprises a first cluster partitioning unit that partitions the first feature vector to calculate a first cluster, The integration unit calculates the degree of mixing of the second cluster within a single cluster for the first cluster. The clustering device according to claim 1.

5. The system further includes a display unit that displays the first feature vector based on the degree of mixing of the corresponding first cluster. The clustering device according to claim 4.

6. The number of clusters in the first cluster and the number of clusters in the second cluster are the same. The clustering device according to claim 4.

7. The integration unit selects the target data to be assigned to the first cluster according to the degree of mixing. The clustering device according to claim 4.

8. The system further includes a learning unit that learns a third learning model based on the aforementioned target data and the degree of mixing. The clustering device according to claim 4.

9. The system further includes a search unit that calculates the similarity between the search feature vector obtained by inputting the search data into the first or second learning model and the first or second feature vector for each of the multiple target data, and searches for similar data from the multiple target data that are similar to the search data according to the similarity. The search unit adjusts the search results according to the degree of mixing of the target data. The clustering device according to claim 4.

10. The search unit reduces the similarity of target data with a high degree of mixing. The clustering device according to claim 9.

11. The first cluster division unit recalculates the first cluster using the degree of mixing. The clustering device according to claim 4.

12. The process involves obtaining target data, a first learning model that accepts the input of the target data and outputs a first feature vector, and a second learning model that accepts the input of the target data and outputs a second feature vector. The first feature vector is calculated using the first learning model and the target data. The second feature vector is calculated using the second learning model and the target data, The second feature vector is divided to calculate the second cluster, Integrating the first feature vector and the second cluster, A method for providing this.

13. On the computer, A function to acquire target data, a first learning model that accepts the input of the target data and outputs a first feature vector, and a second learning model that accepts the input of the target data and outputs a second feature vector. A function to calculate the first feature vector using the first learning model and the target data, A function to calculate the second feature vector using the second learning model and the target data, The function involves splitting the aforementioned second feature vector to calculate a second cluster, A function to integrate the first feature vector and the second cluster, A program to achieve this.

Citation Information

Patent Citations

  • Training data generation apparatus, learning model generation apparatus, and method of generating training data

    JP2023013293A

  • Program, device and method for classifying unknown multidimensional vector data groups

    JP6846369B2

  • Automated conversation goal discovery using neural networks and deep multi-view clustering

    US11687730B1