Information processing device, learning method, and program
The information processing apparatus addresses the challenge of assigning pseudo-labels to individual points within clusters by using a feature extraction, clustering, and pseudo-label assignment process, facilitating tasks like image segmentation through accurate feature representation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2024-04-26
- Publication Date
- 2026-05-29
AI Technical Summary
Conventional techniques struggle with assigning pseudo-labels to each point within a cluster, particularly in image segmentation, as they assume labels are assigned to entire images rather than individual pixels.
An information processing apparatus that includes a feature extraction unit, a clustering unit, a pseudo-label assignment unit, an inference unit, and a parameter update unit, which sequentially sets ranges within clusters, generates pseudo-labels based on cluster information, and assigns these labels to individual features, enabling learning by considering spatial continuity.
Enables learning by assigning pseudo-labels to each point of the feature amount of the cluster, allowing for tasks like image segmentation by accurately representing features and patterns in data.
Smart Images

Figure 0007867648000001 
Figure 0007867648000002 
Figure 0007867648000003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an information processing device, a learning method, and a program. [Background technology]
[0002] A technique is known in which features extracted from data are clustered, and the resulting clusters are used as pseudo-labels to train a classifier. For example, Non-Patent Literature 1 describes a technique in which features extracted from image data are clustered, and the resulting clusters are assigned as pseudo-labels to each image. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Caron, Mathilde, et al. “Deep clustering for unsupervised learning of visual features.” Proceedings of the European conference on computer vision (ECCV). 2018. [Overview of the project] [Problems that the invention aims to solve]
[0004] Conventional techniques described in Non-Patent Document 1 have the problem that if each point of the feature vector within a cluster is not labeled, it is not possible to perform learning by assigning pseudo-labels to these points. For example, conventional techniques assume that pseudo-labels are assigned to each image corresponding to a cluster, so they cannot be applied to image segmentation where pseudo-labels are required to be assigned to each pixel within the image.
[0005] The present disclosure solves the above problems, and an object thereof is to obtain an information processing apparatus capable of learning by assigning pseudo labels to each point of the feature amount of the cluster.
Means for Solving the Problems
[0006] The information processing apparatus according to the present disclosure includes a feature amount extraction unit that extracts a feature amount from data, a clustering unit that determines a cluster to which the feature amount belongs by clustering the feature amounts in the feature amount space, a pseudo label assignment unit that sequentially sets a range within the cluster and generates a pseudo label based on the cluster information corresponding to the feature amounts included in the range, and assigns the generated pseudo label to at least one feature amount included in the range, an inference unit that calculates an inference value based on the feature amount, and a parameter update unit that updates the parameters of the feature amount extraction unit and the inference unit based on the pseudo label and the inference value.
Effects of the Invention
[0007] According to the information processing apparatus according to the present disclosure, it is possible to perform learning by assigning pseudo labels to each point of the feature amount of the cluster.
Brief Description of the Drawings
[0008] [Figure 1] It is a block diagram showing a configuration example of the information processing apparatus according to Embodiment 1. [Figure 2] It is a flowchart showing the operation of the information processing apparatus according to Embodiment 1. [Figure 3] It is a flowchart showing the learning method according to Embodiment 1. [Figure 4] It is a diagram showing an outline of a process of extracting a feature amount from data. [Figure 5] It is a diagram showing an outline of clustering of feature amounts. [Figure 6] It is a diagram showing an outline of a process of assigning a pseudo label to each point of the cluster. [Figure 7] It is a diagram showing an outline of inference using a feature amount. [Figure 8]This diagram shows an overview of the parameter updates for the feature extraction and inference units. [Figure 9] This is a block diagram showing the hardware configuration for realizing the functions of the information processing device according to Embodiment 1. [Figure 10] This is a block diagram showing an example configuration of an information processing device according to Embodiment 2. [Figure 11] This is a flowchart showing the learning method according to Embodiment 2. [Figure 12] Figures 12A, 12B, 12C, and 12D show examples of data with spatial continuity. [Modes for carrying out the invention]
[0009] Embodiment 1. In supervised learning, a dataset is assigned correct labels (hereinafter simply referred to as "labels"), while in unsupervised learning, unlabeled data is used. Here, a label is identification information used to identify the clusters that make up the dataset and are classified. A cluster is a set of points with similar features. Features are representations of each data point that makes up the dataset, either numerically or categorically. Within the same cluster, points with features that share characteristics different from other clusters are classified.
[0010] The information processing device according to Embodiment 1 is a device that includes an inference unit, updates the parameters of the inference model through unsupervised learning to train the inference unit, and performs inference processing using the trained inference unit. In the unsupervised learning performed by the information processing device according to Embodiment 1, pseudo-labels corresponding to features extracted from unlabeled data are calculated, and the calculated pseudo-labels are assigned to each point of the features within the cluster. A pseudo-label is a label that is provisionally assigned to unlabeled data.
[0011] (Overview of information processing equipment) Figure 1 is a block diagram showing an example configuration of the information processing device 1 according to Embodiment 1. In Figure 1, the information processing device 1 extracts features from data acquired as a dataset, clusters the features in the feature space, sequentially sets ranges within the clusters, generates pseudo-labels based on cluster information corresponding to the features included within this range, and assigns the pseudo-labels to at least one feature included within the range. For example, each point in the feature space may be a point at each time in the time-series data of the features, or a feature of each pixel in an image.
[0012] Cluster information is information that shows the relationship between a point representing a feature and the cluster to which that point is classified, and is generated during the clustering process of features extracted from data. Cluster information includes information that shows which cluster a point representing a feature is classified into, information that shows the cluster's reference point, or information that shows the characteristics or attributes of the cluster. Information that shows which cluster a point representing a feature is classified into may include, for example, information that shows the cluster number for identifying the cluster. The cluster's reference point may be the cluster's center point, centroid point, mean, or median. Information that shows the characteristics or attributes of the cluster is information that quantifies the characteristics or attributes, and may be, for example, a score for evaluating the characteristics of the cluster.
[0013] If cluster information is a score for evaluating the characteristics of a cluster, the score is calculated based on the features. For example, the information processing device 1 assigns the average of the scores corresponding to the features included within a set range within the cluster as a pseudo-label to the target points within that range. The information processing device 1 then sequentially sets the above range so that all points included within the cluster become target points, and assigns a pseudo-label to each point. In this way, the information processing device 1 can perform learning to assign pseudo-labels to all points of the features included in the feature space.
[0014] As shown in Figure 1, the information processing device 1 includes a feature extraction unit 11, a clustering unit 12, a pseudo-labeling unit 13, an inference unit 14, and a parameter update unit 15. For example, the information processing device 1 is implemented by a computer. The computer's memory stores programs for information processing applications that implement each of the functions of the feature extraction unit 11, the clustering unit 12, the pseudo-labeling unit 13, the inference unit 14, and the parameter update unit 15. The computer's processor executes the information processing application read from memory, thereby realizing each of the functions of the feature extraction unit 11, the clustering unit 12, the pseudo-labeling unit 13, the inference unit 14, and the parameter update unit 15.
[0015] (Feature extraction unit) The feature extraction unit 11 extracts features from the data. For example, when extracting features from data in a three-dimensional space, the feature extraction unit 11 selects the features to be extracted depending on the purpose for which the data will be used. Position information, condition information, color information, or a combination thereof of objects existing in the three-dimensional space are selected as the features to be extracted. Subsequently, the feature extraction unit 11 extracts the selected features.
[0016] For example, if location information is selected as a feature, the feature extraction unit 11 extracts the object's location coordinates as a feature. Furthermore, if shape information is selected as the feature to be extracted, the feature extraction unit 11 calculates feature quantities that represent the shape of the object (such as volume, surface area, or length). If color information is selected as the feature to be extracted, the feature extraction unit 11 extracts the hue, saturation, or brightness of the object. Furthermore, the feature extraction unit 11 may perform scaling of the features. For example, if the scale of the positional information is different, the feature extraction unit 11 may perform normalization to unify the range of each dimension. Also, in the case of color information, the feature extraction unit 11 may scale and unify the range of color values.
[0017] Training data used to extract features includes sensor data, web data, image data, video data, and text data. Sensor data is data detected by physical sensors. Examples include data such as temperature, humidity, or atmospheric pressure detected by weather sensors, environmental monitoring data detected by sensor networks, and patient biometric information detected by medical sensors. The feature extraction unit 11 is capable of extracting features from sensor data acquired from sensors by the information processing device 1.
[0018] Web data refers to data available on the internet, such as information from web pages or user behavior data. The information processing device 1 may acquire web data by web scraping using a communication unit (not shown in Figure 1). Alternatively, the information processing device 1 may acquire data from social media using the above-mentioned communication unit. The feature extraction unit 11 can extract features from the web data acquired by the information processing device 1 using the communication unit.
[0019] Image data and video data are information collected using cameras or sensors, and include, for example, video data captured by surveillance cameras, medical image data, and camera image data for vehicle detection or segmentation. The feature extraction unit 11 is capable of extracting features from image data or video data acquired from a camera or sensor by the information processing device 1.
[0020] Text data is text information collected from books, news articles, web pages, social media posts, etc. It is used for natural language processing (NLP) tasks or text mining. The feature extraction unit 11 can extract features from the text data acquired by the information processing device 1 using the communication unit.
[0021] (Feature extraction using convolution operations) Alternatively, the feature extraction unit 11 may extract features using a convolution operation. For example, a convolutional neural network (CNN) can be used for the convolution operation. In the convolution operation, a matrix called a convolution kernel is used. A convolution kernel is a weight matrix used when performing a convolution operation on input data. The convolution kernel functions as a filter for detecting specific patterns or features. The feature extraction unit 11 slides the convolution kernel along each position in the data, sequentially calculates the product of each element of the convolution kernel and the corresponding element of the data, and extracts the value at a specific position in the convolution kernel as a feature. This makes it possible to extract features that show local characteristics of the data.
[0022] Furthermore, the feature extraction unit 11 extracts features from the data based on the values of parameters set for itself. For example, when the feature extraction unit 11 extracts features by convolution using a CNN model, the parameters for setting the size and stride of the convolution kernel affect the feature extraction. The larger the size of the convolution kernel, the wider the range of features extracted, and the larger the stride, the fewer features are extracted. Furthermore, when the feature extraction unit 11 extracts features from sequence data such as time-series data or text data while moving the moving window, the values of the parameters for setting the window width and step size affect the feature extraction. A larger window width extracts a wider range of features, while a larger step size reduces the number of features extracted.
[0023] When the data from which features are extracted by convolution operations is one-dimensional data, two-dimensional data, three-dimensional data, or graph data, the feature extraction unit 11 performs one-dimensional convolution, two-dimensional convolution, three-dimensional convolution, and graph convolution to extract the features.
[0024] (1) One-dimensional convolution For example, one-dimensional data includes time-series data, audio data, or sensor data. When extracting features from one-dimensional data using convolution, the length of the data being convolved becomes the kernel size, and the convolution kernel is defined as a one-dimensional array. The feature extraction unit 11 slides the convolution kernel along each position in the data and sequentially calculates the product of each element of the convolution kernel with the corresponding element in the data. By extracting the value at a specific position in the convolution kernel as a feature, a feature is extracted that shows local features that emphasize the relationships between neighboring elements in the data. The position of the feature from which the feature is extracted can be at the beginning, in the middle, or at the end of the convolutional kernel.
[0025] (2) Two-dimensional convolution For example, two-dimensional data includes image data. When extracting features from two-dimensional data using a convolution operation, the convolution kernel is defined as a two-dimensional matrix. The feature extraction unit 11 slides the convolution kernel along each position in the data and sequentially calculates the product of each element of the convolution kernel with the corresponding element in the data. By extracting the value at a specific position in the convolution kernel as a feature, a feature is extracted that shows local features that emphasize the relationships between neighboring elements in the data. The position of the feature from which the feature is extracted can be at the beginning, in the middle, or at the end of the convolutional kernel.
[0026] (3) Three-dimensional convolution For example, 3D data includes video data. When extracting features from 3D data using convolution, the convolution kernel is defined as a 3D matrix having three dimensions: width, height, and channels. The feature extraction unit 11 slides the convolution kernel along each position in the data and sequentially calculates the product of each element of the convolution kernel with the corresponding element in the data. By extracting the value at a specific position in the convolution kernel as a feature, a feature is extracted that shows local features that emphasize the relationships between neighboring elements in the data. The position of the feature from which the feature is extracted can be at the beginning, in the middle, or at the end of the convolutional kernel.
[0027] (4) Graph convolution The feature extraction unit 11 may perform graph convolution, which is a convolution operation performed on data having a graph structure. Examples of data having a graph structure include social networks, power grids, and molecular structures. In graph convolution, a graph structure is given as input data. A graph is composed of a set of nodes (vertices) and edges, where nodes represent elements of the data and edges represent relationships between nodes. By performing a convolution operation while moving a convolution kernel on the graph, the feature extraction unit 11 can extract specific patterns in the graph as features.
[0028] Alternatively, the feature extraction unit 11 may perform a two-dimensional convolution in the spatial direction on the three-dimensional data, followed by a one-dimensional convolution in the temporal direction. The feature extraction unit 11 may convert the image data into a fixed-length feature vector and then perform a one-dimensional convolution in the time direction. The feature extraction unit 11 may perform a derated convolution using a convolution kernel to convolve elements in the data that are spaced at regular intervals.
[0029] Although we have demonstrated feature extraction using a CNN, the feature extraction unit 11 may also extract features using a recurrent neural network (RNN) such as an LSTM (Long Short-Term Memory) or a GRU (Gated Recurrent Unit). Furthermore, the feature extraction unit 11 may extract features using an Attention such as a Transformer or an MLP-Mixer that replaces it.
[0030] (Clustering section) The clustering unit 12 determines the cluster to which a feature belongs by clustering the features in the feature space. Clustering is a process that groups points of similar features together. For example, the clustering unit 12 calculates the distance or similarity between points in the feature space and performs clustering of features based on the calculated distance or similarity. Distance can be Euclidean distance or Manhattan distance. Similarity can be cosine similarity.
[0031] Representative clustering methods include, for example, k-means, Gaussian mixture models (GMM), hierarchical (aggregate) clustering, spectral clustering, DBSCAN, OPTICS, BIRCH, or Mean Shift. The feature extraction unit 11 assigns each feature to a cluster using the selected clustering method. At this time, clustering is performed based on the distance or similarity between points in the feature space.
[0032] (Pseudo-labeling section) The pseudo-labeling unit 13 sequentially sets ranges within a cluster, generates pseudo-labels based on cluster information corresponding to the features included within the range, and assigns pseudo-labels to at least one feature included within the range. The pseudo-labeling unit 13 performs the above process for each cluster set within the feature space, thereby assigning pseudo-labels to all points in the feature space. The range set within a cluster is a movable window containing points of one or more features, for example, defining the cluster within the same dimension as the features. This range is set sequentially so that all points included within the cluster are subject to pseudo-labeling.
[0033] A pseudo-label may be one of the following cluster information values: mode, median, mean, minimum, or maximum, corresponding to a feature that falls within the range defined within the cluster. For example, if the range set within a cluster is a fixed-length moving window for the one-dimensional data of the feature, and the cluster information corresponding to the feature included in the moving window is the cluster number, the pseudo-labeling unit 13 calculates one of the mode, median, mean, minimum, or maximum of the cluster number corresponding to the feature included in the moving window as the pseudo-label. Since the information processing device 1 can generate pseudo-labels that statistically consider cluster information corresponding to the features contained within a cluster, it is possible to represent the features or patterns of the data more accurately.
[0034] The pseudo-labeling unit 13 may change the size of the range (movement window) set within the cluster as needed. By changing the size of the range, it becomes possible to extract features in different ranges. For example, when the processing accuracy is set using an input device (not shown in Figure 1), the pseudo-labeling unit 13 sets a range of a size corresponding to this processing accuracy and performs the pseudo-labeling process. In this case, if the size of the range is changed significantly, the range in which features are extracted expands, and if the size of the range is reduced, more localized features are extracted. The pseudo-labeling unit 13 may also change the size of the range to a size set by the user using an input device.
[0035] The pseudo-labeling unit 13 may assign pseudo-labels to one-dimensional features using a filter with a feedback loop, such as an IIR (Infinite Impulse Response) filter. For example, the pseudo-labeling unit 13 controls the position and size of the moving window by adjusting the parameters of the IIR filter to sequentially set moving windows within the cluster, and assigns the information obtained by the IIR filter as pseudo-labels to the features within the moving window.
[0036] The pseudo-labeling unit 13 may use an image filter to assign pseudo-labels to two-dimensional features. An image filter is a filter that uses convolution operations to identify a specific region on two-dimensional data and transforms the information within that region. Examples of image filters include smoothing filters, edge detection filters, and sharpening filters. For example, the pseudo-labeling unit 13 adjusts the parameters of the image filter to control the position and size of the moving window, sequentially setting moving windows within the cluster, and assigns the information obtained by the image filter as pseudo-labels to the features within the moving window.
[0037] The pseudo-labeling unit 13 may assign pseudo-levels using an averaging filter, a weighted average filter, a median filter, or a Laplacian filter. An averaging filter is, for example, a filter that replaces the value of each pixel in an image with the average value of the surrounding pixels. If the value of each pixel in an image is a feature, the pseudo-labeling unit 13 uses the averaging filter to sequentially set moving windows in clusters on the image and assigns the average value of all pixels included in the moving window as a pseudo-label to the feature to be labeled.
[0038] A weighted average filter is, for example, a filter that calculates an average value by weighting the values of pixels surrounding a pixel of interest. When the value of each pixel in an image is a feature, the pseudo-labeling unit 13 uses a weighted average filter to sequentially set moving windows within clusters on the image, calculates the average value of all pixels included in the moving window, and assigns the calculated value as a pseudo-label to the feature to be labeled.
[0039] A median filter is a filter that, for example, calculates the median value of the pixels contained in a moving window and uses the calculated value as the value of the pixel at the center of the moving window. When the value of each pixel in an image is a feature, the pseudo-labeling unit 13 uses a median filter to sequentially set moving windows within clusters on the image, calculates the median value of all the pixels contained in the moving window, and assigns the calculated value as a pseudo-label to the feature to be labeled.
[0040] A Laplacian filter is a filter that enhances edges or features in an image, for example, and uses a two-dimensional differential operator to detect abrupt changes in the image. If the value of each pixel in the image is a feature, the pseudo-labeling unit 13 uses a Laplacian filter to sequentially set moving windows within clusters on the image, calculates the values of pixels included in the moving windows that have changed abruptly, and assigns the calculated values as pseudo-labels to the feature to be labeled.
[0041] The pseudo-labeling unit 13 may assign pseudo-labels to the features of the graph data using a label propagation method or a label diffusion method. Label propagation is a method that updates the labels of nodes in a graph based on the labels of surrounding nodes. Label diffusion is also a method that updates the labels of nodes in a graph, similar to label propagation, but in label diffusion, the labels are updated not only based on the node's label but also by considering information such as edge weights and distances. For example, the pseudo-labeling unit 13 assigns an initial label to each node and updates the label using the mode or mean of the labels of adjacent nodes. This propagates or spreads the labels throughout the graph. The pseudo-labeling unit 13 assigns pseudo-labels based on the labels of the features contained within the moving window. By repeating these processes until the label updates converge, pseudo-labels can be assigned to each point of the features within the cluster.
[0042] (Inference part) The inference unit 14 calculates inference values based on the features extracted from the data by the feature extraction unit 11. For example, the inference unit 14 uses a model to calculate inference values from features. The model models the relationship between the input features and the output inference values. Examples of models include neural networks, generalized linear models, generalized additive models, decision trees, decision tree ensembles, support vector machines, or nearest neighbor models. The values of the model parameters are updated by the parameter update unit 15, which will be described later, and the model is trained to generate appropriate inference values from the input data. The inference unit 14 uses the trained model to perform processing such as prediction, classification, or regression on the input data.
[0043] For example, in the inference unit 14, when a feature is input to the input layer of the neural network, the feature propagates from the input layer through the hidden layer to the output layer, generating the final inference value. In the fully connected layer, a bias is added to the dot product of the input and weights, and the output value is calculated using an activation function. Examples of activation functions include ReLU (Rectified Linear Unit), Sigmoid, Softmax, or Tanh. Alternatively, the value obtained by adding the bias to the dot product of the input and weights may be output directly without using an activation function.
[0044] (Parameter update section) The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inferred values. For example, the parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 so that the inferred values output from the inference unit 14 match the pseudo-labels output from the pseudo-labeling unit 13.
[0045] For example, the parameter update unit 15 uses a loss function to evaluate the degree of agreement between the inferred values and the pseudo-labels. The loss function is an index that represents the difference between the inferred values and the pseudo-labels, and is used to evaluate the performance of the model. The value of the loss function decreases as the inferred values and the pseudo-label values get closer. Furthermore, if the inference values are categorical, the loss function can be cross-entropy. If the inference values are numerical, the loss function can be the mean absolute error (MAE) or mean squared error (MSE), etc.
[0046] The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 so that the value of the loss function is minimized. For example, if the feature extraction unit 11 and the inference unit 14 are capable of calculating gradients such as those of a neural network, the parameter update unit 15 calculates the gradient of the loss function using gradient descent and uses the calculated gradient to calculate the update amount for each parameter of the feature extraction unit 11 and the inference unit 14. The parameter update unit 15 repeats the above procedure until the value of the loss function converges, thereby updating the parameters in a direction that minimizes the loss function. Gradient descent methods include stochastic gradient descent (SGD), mini-batch gradient descent, Adam, and RMSProp.
[0047] Next, the operation of the information processing device 1 will be described. Figure 2 is a flowchart showing the operation of the information processing device 1. The parameter values of the feature extraction unit 11 are initialized (step ST1). For example, the feature extraction unit 11 initializes parameters such as the model weights for extracting features with random values or predefined values.
[0048] The information processing device 1 acquires training data (step ST2). The data acquired by the information processing device 1 is output to the feature extraction unit 11. The training dataset is an unsupervised training dataset that does not have ground truth labels assigned to it.
[0049] Next, the information processing device 1 performs learning processing using a training dataset (step ST3). For example, the feature extraction unit 11 extracts features from the data. The clustering unit 12 determines the cluster to which a feature belongs by clustering the features in the feature space. The pseudo-labeling unit 13 sequentially sets ranges within the clusters, generates pseudo-labels based on the cluster information corresponding to the features included within the ranges, and assigns the generated pseudo-labels to at least one feature included within the ranges. The inference unit 14 calculates inference values based on the features, and the parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inference values.
[0050] Step ST4 determines whether the learning conditions have been completed. If the learning conditions have been completed (Step ST4; YES), the process proceeds to Step ST5. On the other hand, if the learning conditions have not been completed (Step ST4; NO), the process returns to Step ST3, and the learning process is repeated. That is, feature extraction by the feature extraction unit 11, clustering by the clustering unit 12, pseudo-labeling by the pseudo-labeling unit 13, inference by the inference unit 14, and parameter updating by the parameter update unit 15 are repeatedly executed until the learning conditions are completed. The learning conditions include, for example, whether a predetermined number of iterations has been reached, or whether a predetermined learning time has been reached.
[0051] Furthermore, the learning conditions may also be either condition (1) or (2) below. (1) The condition is that training is terminated when the number of samples in which the pseudo-label changes falls below a predetermined value. (2) The acquired data is divided into training data and validation data, and in step ST3, the information processing device 1 updates the parameters of the feature extraction unit 11 and the inference unit 14 using the training data. The training condition is that if the value of the loss function, which represents the difference between the inferred value and the pseudo-label, does not decrease for a predetermined number of consecutive times using the validation data, the value of the loss function is considered to have converged and training is terminated.
[0052] Further, the information processing apparatus 1 may perform clustering and pseudo-label assignment, and inference and parameter update, at a 1:1 ratio, or at different ratios. For example, after performing clustering and pseudo-label assignment once, the information processing apparatus 1 may repeat inference and parameter update 10 times according to the stochastic gradient descent method.
[0053] The inference unit 14 performs inference processing using the model learned in step ST4 (step ST5). Inference includes prediction, classification, regression, etc. for new data. When the features of new data are input, the learned model outputs a prediction or classification result.
[0054] Next, the learning method according to Embodiment 1 will be described. FIG. 3 is a flowchart showing the learning method according to Embodiment 1, and shows the detailed processing of step ST3 in FIG. 2. The feature extraction unit 11 extracts features from the learning data (step ST1A). FIG. 4 is a diagram showing an overview of the process of extracting the feature quantity Z from the data X. In FIG. 4, the data X is one-dimensional data composed of elements x i The feature quantity Z is a feature vector composed of feature quantities z i i is an integer greater than or equal to 1. The feature extraction unit 11 calculates the feature quantity z i using the relational expression z i = Feature(Neighbor(x i )) The feature extraction unit 11 calculates the neighborhood of x i included in the data X. The neighborhood is a set of other elements existing around the element x i For example, it is the k nearest neighbor points of the element x i or elements within a certain distance range. The feature extraction unit 11 calculates the feature quantity z i using the Feature function based on the neighborhood data. The feature quantity z i calculated using the Feature function is for each element x of the datai These are the elements of the corresponding feature. This allows us to obtain the feature z from one-dimensional data X. i A feature Z containing the specified element is extracted.
[0055] The clustering unit 12 determines the cluster to which a feature belongs by clustering the features in the feature space (step ST2A). Figure 5 shows an overview of clustering of feature Z. In Figure 5, cluster C is formed by feature z i This is the cluster to which it is classified. Feature z i Label c i The clustering unit 12 calculates the feature z according to the clustering algorithm set for itself. i Cluster the data into cluster C. Clustering algorithms include k-means, hierarchical clustering, or DBSCAN. These algorithms use the feature z. i Determine which cluster C it belongs to. The clustering unit 12 uses relational expression c i =Cluster(z i Using ), feature z i Label c corresponding to i Assign this to feature z. i The cluster C to which it belongs is determined. i The value of is the feature z i This information represents the cluster C to which it belongs.
[0056] The pseudo-labeling unit 13 sequentially sets ranges (movement windows) within the cluster, generates pseudo-labels based on cluster information corresponding to the features included within the range, and assigns the pseudo-labels to at least one feature included within the range (step ST3A). Figure 6 shows pseudo-labels a at each point in cluster C. i This figure shows an overview of the process for assigning labels. In Figure 6, pseudo-label A is the label c included in cluster C. i Pseudo-label a is assigned based on iIt consists of the following. The pseudo-labeling unit 13 uses the function expression Neighbor(c i A movable window W is set within cluster C according to ) and the label c of each element within movable window W is set i This calculates the set of labels for each element contained in the movable window W. Next, the pseudo-labeling unit 13 assigns the label c of each element in the moving window W according to the Aggregate function. i Based on the aggregated labels, pseudo-label a i Calculate. For example, aggregated label c i The mode or mean is the pseudo-label a i It is calculated as follows. The pseudo-labeling unit 13 assigns the calculated pseudo-label a i The pseudo-label a is applied to the element to be assigned. This results in the pseudo-label a being included in pseudo-label A. i This yields a set of values.
[0057] The inference unit 14 calculates an inference value based on the features (step ST4A). Figure 7 shows an overview of inference using feature Z. In Figure 7, the inference result Y is the result of inference using feature Z, and feature z i Element y of the inference result based on i It is a set of . The inference unit 14 is the relation y i =Predict(z i The reasoning is performed according to ). For example, the inference unit 14 processes the feature z i When input is given, the element y of the inferred value is i The inference result Y is generated using an inference model that outputs z. i It is possible to infer the desired information from this.
[0058] The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inferred values (step ST5A). Figure 8 shows an overview of the parameter updates for the feature extraction unit 11 and the inference unit 14. In Figure 8, the loss function Loss(a i ,y i) is a pseudo-label a i and the element y of the inference result i This is a function that quantifies the difference between and and is used to evaluate the degree of agreement between the two. The parameter update unit 15 uses the loss function Loss(a i ,y i The parameters of the feature extraction unit 11 and the inference unit 14 are updated in a direction that minimizes the value of ). The update of each parameter is considered to have converged when the value of the loss function falls below a threshold or a certain number of iterations are reached, and learning ends.
[0059] Next, we will describe the hardware configuration that realizes the functions of the information processing device 1. Figure 9 is a block diagram showing the hardware configuration that realizes the functions of the information processing device 1. The functions of the information processing device 1, namely the feature extraction unit 11, the clustering unit 12, the pseudo-labeling unit 13, the inference unit 14, and the parameter update unit 15, are realized by processing circuits. That is, the information processing device 1 includes processing circuits for executing the processes from step ST1A to step ST5A shown in Figure 3. The processing circuit may be a CPU (Central Processing Unit) that executes a program stored in memory.
[0060] The feature extraction unit 11 acquires a training dataset received from an external device via the communication unit of the information processing device 1, for example, through the input interface 100. Alternatively, if the dataset is stored in the memory unit of the information processing device 1, the feature extraction unit 11 reads and acquires the dataset from the memory unit via the input interface 100. In this case, the information processing device 1 does not necessarily need to have a communication unit.
[0061] The inference unit 14 outputs the inference results to an external device, for example, via the output interface 101. Alternatively, the inference unit 14 may transmit the inference results to an external device by controlling the communication unit via the output interface 101.
[0062] The functions of the information processing device 1, including the feature extraction unit 11, clustering unit 12, pseudo-labeling unit 13, inference unit 14, and parameter update unit 15, are realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in memory 103.
[0063] The processor 102 reads and executes programs stored in the memory 103 to realize the functions of the feature extraction unit 11, clustering unit 12, pseudo-labeling unit 13, inference unit 14, and parameter update unit 15 of the information processing device 1. For example, the information processing device 1 includes a memory 103 for storing programs that, when executed by the processor 102, result in the execution of the processes from steps ST1A to ST5A shown in Figure 3. These programs cause the computer to execute the procedures or methods of each process performed by the feature extraction unit 11, clustering unit 12, pseudo-labeling unit 13, inference unit 14, and parameter update unit 15. The memory 103 may be a computer-readable storage medium that stores programs for causing the computer to function as the feature extraction unit 11, clustering unit 12, pseudo-labeling unit 13, inference unit 14, and parameter update unit 15.
[0064] Memory 103 includes, for example, non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically-EPROM) (registered trademark), as well as magnetic disks, flexible disks, optical disks, compact disks, minidiscs, and DVDs.
[0065] Some of the functions of the feature extraction unit 11, clustering unit 12, pseudo-labeling unit 13, inference unit 14, and parameter update unit 15 of the information processing device 1 may be implemented by dedicated hardware, while other parts may be implemented by software or firmware. For example, the functions of the feature extraction unit 11, the clustering unit 12, and the pseudo-labeling unit 13 may be implemented by a dedicated hardware processing circuit, while the functions of the inference unit 14 and the parameter update unit 15 may be implemented by the processor 102 reading and executing a program stored in memory 103. In this way, the processing circuit can implement the above functions using hardware, software, firmware, or a combination thereof.
[0066] As described above, the information processing device 1 according to Embodiment 1 includes a feature extraction unit 11 that extracts features from data, a clustering unit 12 that determines the cluster to which a feature belongs by clustering features in the feature space, a pseudo-labeling unit 13 that sequentially sets ranges within a cluster, generates pseudo-labels based on cluster information corresponding to features included within the range, and assigns the generated pseudo-labels to at least one feature included within the range, an inference unit 14 that calculates inference values based on the features, and a parameter update unit 15 that updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inference values. This allows the information processing device 1 to perform learning by assigning pseudo-labels to each point of the cluster features. For example, if the training data is image data, the information processing device 1 can assign pseudo-labels to each pixel in the image, which can then be applied to image segmentation.
[0067] In the information processing device 1 according to Embodiment 1, the feature extraction unit 11 extracts features by convolution. This makes it possible for the information processing device 1 to extract features that represent local characteristics of the data.
[0068] In the information processing device 1 according to Embodiment 1, the pseudo-label is one of the mode, median, mean, minimum, or maximum value of the cluster information corresponding to the feature included within the range. Since the pseudo-label can be generated by statistically considering the cluster information corresponding to the feature included within the cluster, the information processing device 1 can more accurately represent the features or patterns of the data.
[0069] The learning method according to Embodiment 1 includes a step ST1A in which a feature extraction unit 11 extracts features from data, a step ST2A in which a clustering unit 12 determines the cluster to which a feature belongs by clustering the features in the feature space, a step ST3A in which a pseudo-labeling unit 13 sequentially sets ranges within the cluster, generates pseudo-labels based on cluster information corresponding to the features included within the range, and assigns the generated pseudo-labels to at least one feature included within the range, an inference unit 14 calculates inference values based on the features, and a parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inference values. By executing the above learning method, the information processing device 1 can perform learning by assigning pseudo-labels to each point of the cluster's features.
[0070] A computer executing the program according to Embodiment 1 functions as a feature extraction unit 11 that extracts features from data, a clustering unit 12 that determines the cluster to which a feature belongs by clustering features in the feature space, a pseudo-labeling unit 13 that sequentially sets ranges within a cluster, generates pseudo-labels based on cluster information corresponding to features included within the range, and assigns the generated pseudo-labels to at least one feature included within the range, an inference unit 14 that calculates inference values based on the features, and a parameter update unit 15 that updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo-labels and inference values. A computer running the program according to Embodiment 1 is capable of learning by assigning pseudo-labels to each point of the cluster features.
[0071] Embodiment 2. While Embodiment 1 did not mention the characteristics of the training data, the information processing device according to Embodiment 2 acquires data with spatial continuity as training data. As a result, the information processing device according to Embodiment 2 can assign pseudo-labels that take into account the spatial continuity of the training data by extracting features from spatially continuous local data.
[0072] (Overview of information processing equipment) Figure 10 is a block diagram showing an example configuration of the information processing device 1A according to Embodiment 2. In Figure 10, the information processing device 1A acquires data having spatial continuity and extracts features from spatially continuous local data. The information processing device 1A then sequentially sets ranges within clusters obtained by clustering the features, generates pseudo-labels based on cluster information corresponding to the features included within this range, and assigns the pseudo-labels to at least one feature included within the range.
[0073] The information processing device 1A includes a feature extraction unit 11A, a clustering unit 12A, a pseudo-labeling unit 13A, an inference unit 14A, a parameter update unit 15A, and a data acquisition unit 16. For example, the information processing device 1A is implemented by a computer. The computer's memory stores programs that constitute information processing applications for implementing the functions of the feature extraction unit 11A, the clustering unit 12A, the pseudo-labeling unit 13A, the inference unit 14A, the parameter update unit 15A, and the data acquisition unit 16. The computer's processor executes the information processing applications read from memory, thereby implementing the functions of the feature extraction unit 11A, the clustering unit 12A, the pseudo-labeling unit 13A, the inference unit 14A, the parameter update unit 15A, and the data acquisition unit 16.
[0074] (Data acquisition unit) The data acquisition unit 16 acquires data that has spatial continuity. For example, the data acquisition unit 16 acquires data that has spatial continuity by communicating with a sensor device or server via a network using a communication unit (not shown in Figure 10). Data with spatial continuity include, for example, time series data, audio data, image data, video data, spectrograms, text data, 3D point clouds, range Doppler, and graph data. Time series data and audio data are one-dimensional data with temporal continuity. Image data is two-dimensional data representing a two-dimensional space. Video data is data that represents a two-dimensional space and also has a time dimension. Spectrograms have the dimensions of time and frequency. Text data is one-dimensional data with the dimension of order. 3D point clouds are data in three-dimensional space. Range Doppler is data with the dimensions of distance and velocity. Graph data is data represented by the connections of nodes. Furthermore, the feature points extracted from spatially continuous local data may be scalars or vectors. For example, feature quantities for univariate time series data are represented as scalars, while feature quantities for multivariate time series data are represented as vectors. Color image data is represented as a three-dimensional vector, where each pixel value has color information of R (red), G (green), and B (blue).
[0075] (Feature extraction unit) The feature extraction unit 11A extracts features from spatially continuous local data acquired by the data acquisition unit 16. These features also have spatial continuity. When the data from which features are extracted by convolution operations is one-dimensional data, two-dimensional data, three-dimensional data, or graph data, the feature extraction unit 11A extracts features by performing one-dimensional convolution, two-dimensional convolution, three-dimensional convolution, and graph convolution.
[0076] (Clustering section) The clustering unit 12A determines the cluster to which a feature belongs by clustering features that have spatial continuity. For example, the clustering unit 12A may perform hard clustering or soft clustering. Hard clustering is a technique that assigns each feature to a unique cluster. Cluster information is assigned to each point within a cluster, for example, a single cluster number (an integer value). Examples of hard clustering include k-means clustering. Soft clustering is a method in which each feature can potentially belong to multiple clusters, and cluster information is assigned, for example, a score (real value) to each cluster. Examples of soft clustering methods include GMM.
[0077] (Pseudo-labeling section) The pseudo-labeling unit 13A sequentially sets ranges within a cluster, generates pseudo-labels based on cluster information corresponding to the features included within the range, and assigns pseudo-labels to at least one feature included within the range. For example, the pseudo-labeling unit 13A aggregates spatially continuous local cluster information within the above range and assigns pseudo-labels to it. In the case of hard clustering, the pseudo-labeling unit 13A assigns pseudo-labels, for example, aggregated information of cluster numbers (integer values). Aggregation refers to the mode, median, mean, minimum, maximum, or quantile of the cluster number assigned to the feature points within the range set within the cluster. In the case of soft clustering, the pseudo-labeling unit 13A assigns pseudo-labels, for example, information obtained by aggregating scores (real values) for clusters.
[0078] (Inference part) The inference unit 14A calculates inference values based on the features extracted from the data by the feature extraction unit 11A. For example, the inference unit 14A calculates inference values using a neural network. When features are input to the input layer of the neural network, the features propagate from the input layer through the hidden layer to the output layer, generating the final inference value. In the fully connected layer, a bias is added to the dot product of the input and weights, and the output value is calculated using an activation function. If the activation function is a sigmoid function, binary category inference values are output. If the activation function is a softmax function, multi-category inference values are output.
[0079] (Parameter update section) The parameter update unit 15A updates the parameters of the feature extraction unit 11A and the inference unit 14A based on the pseudo-labels and inferred values. For example, the parameter update unit 15A updates the parameters of the feature extraction unit 11A and the inference unit 14A so that the inferred values output from the inference unit 14A match the pseudo-labels output from the pseudo-labeling unit 13A.
[0080] Next, a learning method according to Embodiment 2 will be described. Figure 11 is a flowchart illustrating the learning method according to Embodiment 2, showing the detailed processing of step ST3 in Figure 2. The data acquisition unit 16 acquires data that has spatial continuity (step ST1B). The feature extraction unit 11A extracts features from spatially continuous local data (step ST2B). The clustering unit 12A determines the cluster to which a feature belongs by clustering the features in the feature space (step ST3B). The pseudo-labeling unit 13A sequentially sets movement windows within the cluster, generates pseudo-labels based on cluster information corresponding to the features included within the movement windows, and assigns the pseudo-labels to at least one feature included within the range (step ST4B). The inference unit 14A calculates an inference value based on the features (step ST5B). The parameter update unit 15A updates the parameters of the feature extraction unit 11A and the inference unit 14A based on the pseudo-labels and inferred values (step ST6B).
[0081] Figure 12A shows an overview of the process of assigning pseudo-labels to feature points within a cluster, which is time-series data. In Figure 12A, the pseudo-labeling unit 13A sets a movable window W1 in cluster D1, which is time-series data. The movable window W1 includes point P1 to be assigned a pseudo-label and its neighboring point PN. The pseudo-labeling unit 13A aggregates the label numbers of points P1 and PN included in the movable window W1 and calculates a pseudo-label. The pseudo-labeling unit 13A assigns the pseudo-label to point P1. By repeating this process, pseudo-labels are assigned to all points included in cluster D1. As a result, the information processing device 1A can perform learning by assigning pseudo-labels to each point of the feature, which is time-series data.
[0082] Figure 12B shows an overview of the process of assigning pseudo-labels to feature points within a cluster, which is two-dimensional data. In Figure 12B, the pseudo-labeling unit 13A sets a movable window W2 in the cluster D2, which is two-dimensional data. The movable window W2 includes the point P2 to be assigned a pseudo-label and its neighboring points. The pseudo-labeling unit 13A aggregates the label numbers of the points included in the movable window W2 and calculates a pseudo-label. The pseudo-labeling unit 13A assigns the pseudo-label to the point P2. By repeating this process, pseudo-labels are assigned to all points included in cluster D2. As a result, the information processing device 1A can perform learning by assigning pseudo-labels to each point of the feature, which is two-dimensional data.
[0083] Figure 12C shows an overview of the process of assigning pseudo-labels to feature points within a cluster, which is 3D data. In Figure 12C, the pseudo-labeling unit 13A sets a movable window W3 in cluster D3. The movable window W3 includes point P3 to be assigned a pseudo-label and its neighboring points. The pseudo-labeling unit 13A aggregates the label numbers of the points included in the movable window W3 and calculates a pseudo-label. The pseudo-labeling unit 13A assigns the pseudo-label to point P3. By repeating this process, pseudo-labels are assigned to all points included in cluster D3. As a result, the information processing device 1A can perform learning by assigning pseudo-labels to each point of the feature, which is 3D data.
[0084] Figure 12D shows an overview of the process of assigning pseudo-labels to feature points within a cluster, which is graph data. In Figure 12D, the pseudo-labeling unit 13A sets a movable window W4 in cluster D4. The movable window W4 includes point P4 to be assigned a pseudo-label and its neighboring points. The pseudo-labeling unit 13A aggregates the label numbers of the points included in the movable window W4 and calculates a pseudo-label. The pseudo-labeling unit 13A assigns the pseudo-label to point P4. By repeating this process, pseudo-labels are assigned to all points included in cluster D4. As a result, the information processing device 1A can perform learning by assigning pseudo-labels to each point of the feature, which is graph data.
[0085] (Variation 1) In the modified example 1, the information processing device 1A acquires time-series data as a training dataset, performs hard clustering on each point of the features extracted from the time-series data, and assigns cluster information, which is an integer value indicating the cluster number, to each point. The time-series data is, for example, time-series data of acceleration and angular acceleration detected by sensors attached to a person's hands and feet. This time-series data is segmented according to the type of action the person wearing the sensors is taking, such as walking, running, or sitting. Since the true value of each segment, i.e., the type of action, is unknown, there is no training data. The operation of Modified Example 1 of the information processing device 1A will be explained below, following the flowcharts in Figures 2 and 3.
[0086] The feature extraction unit 11A extracts features using a one-dimensional convolution operation with a CNN. First, the information processing device 1A randomly initializes the parameters of the one-dimensional convolutional layer in the CNN (step ST1). The data acquisition unit 16 acquires time-series data of acceleration and angular acceleration detected by sensors attached to a person's hands and feet (step ST2). This enables the information processing device 1A to learn by assigning pseudo-labels to each point of spatially continuous local features. The information processing device 1A then uses the time-series data acquired by the data acquisition unit 16 as training data and repeatedly executes the following training process (processing from step ST1A to step ST5A) a specified number of times (step ST3).
[0087] The feature extraction unit 11A extracts a time series of features from the time series data using a one-dimensional convolutional layer of the CNN (step ST1A). The clustering unit 12A performs hard clustering on each point of the time-series features extracted by the feature extraction unit 11A using k-means with 10 clusters (step ST2A). As a result, each point of the features included in a cluster is assigned an integer value indicating the cluster number as cluster information.
[0088] The pseudo-labeling unit 13A sequentially sets a moving window of size 5 within the cluster at each time point, takes a majority vote of the cluster information within the moving window to convert it into a pseudo-label, and sequentially assigns the pseudo-label to the feature quantities at the time point to be labeled (step ST3A). The inference unit 14A uses the fully connected layers of the CNN and the Softmax function to convert the feature quantities at each time point into a 10-dimensional vector (step ST4A).
[0089] The parameter update unit 15A updates the parameters of the one-dimensional convolutional layer of the CNN used by the feature extraction unit 11A and the fully connected layer of the CNN used by the inference unit 14A using stochastic gradient descent (step ST5A) so as to minimize the value of the cross-entropy loss function calculated based on the pseudo-labels and 10-dimensional vectors at each time point. The processes from step ST1A to step ST5A are executed repeatedly until the specified number of times is reached (step ST4).
[0090] The inference unit 14A performs segmentation on the inference result data (step ST5). For example, the inference unit 14A obtains a time series of features extracted from the time series data by a one-dimensional convolutional layer of the CNN, and converts the features at each time point into a 10-dimensional vector using a fully connected layer and the Softmax function. The inference unit 14A outputs the cluster that maximizes the 10-dimensional vector at each time point as a segment. This allows the information processing device 1A to segment time-series data of acceleration and angular acceleration detected by sensors attached to a person's hands and feet according to the type of action the person is performing, such as walking, running, or sitting.
[0091] (Modification 2) In the modified example 2, the information processing device 1A acquires two-dimensional image data as a training dataset and performs soft clustering on each point of the features extracted from the image data. The information processing device 1A also performs pixel-level segmentation of the image data. Furthermore, the information processing device 1A uses a pre-trained model for segmentation, but performs segmentation in a target domain different from the source domain in which it was pre-trained. The target domain is assumed to have no training data. The operation of modified example 2 of the information processing device 1A will be explained below, following the flowcharts in Figures 2 and 3.
[0092] The feature extraction unit 11A extracts features using a two-dimensional convolution operation with a CNN. First, the information processing device 1A randomly initializes the parameters of the 2D convolutional layer in the CNN (step ST1). The data acquisition unit 16 acquires image data (step ST2). The information processing device 1A then uses the image data acquired by the data acquisition unit 16 as training data and repeatedly executes the following training process (processing from step ST1A to step ST5A) a specified number of times (step ST3).
[0093] The feature extraction unit 11A extracts a time series of features from image data using a two-dimensional convolutional layer of the CNN (step ST1A). The clustering unit 12A performs soft clustering (step ST2A) on the feature quantities of each pixel extracted from the image data by the feature extraction unit 11A using a GMM with 100 clusters. Each feature quantity of a pixel included in a cluster is assigned a cluster likelihood, which is a score for the cluster, as cluster information.
[0094] The pseudo-labeling unit 13A sequentially sets a moving window, which is an averaging filter with a size of 3x3, for each cluster, averages the cluster likelihood of each pixel using the averaging filter, calculates the maximum cluster likelihood as a pseudo-label, and sequentially assigns the pseudo-label to the feature quantities of the pixels to be labeled (step ST3A). The inference unit 14A uses the fully connected layers of the CNN and the Softmax function to convert the feature vectors of each pixel into a 100-dimensional vector (step ST4A).
[0095] The parameter update unit 15A updates the parameters of the 2D convolutional layer of the CNN used by the feature extraction unit 11A and the fully connected layer of the CNN used by the inference unit 14A using stochastic gradient descent (step ST5A) so as to minimize the value of the cross-entropy loss function calculated based on the pseudo-label of each pixel and the 100-dimensional vector. The processes from step ST1A to step ST5A are executed repeatedly until the specified number of times is reached (step ST4).
[0096] The inference unit 14A performs segmentation on the inference result data (step ST5). For example, the inference unit 14A obtains the feature quantities of each pixel extracted from the image data by the 2D convolutional layer of the CNN, and converts the feature quantities of each pixel into a 100-dimensional vector using a fully connected layer and the Softmax function. The inference unit 14A outputs the cluster that maximizes the 100-dimensional vector for each pixel as a segment. This allows the information processing device 1A to segment image data using a target domain different from the pre-trained source domain.
[0097] As described above, the information processing device 1A according to Embodiment 2 includes a data acquisition unit 16 that acquires data having spatial continuity, and a feature extraction unit 11A extracts feature vectors from spatially continuous local data among the acquired data. As a result, the information processing device 1A can perform learning by assigning pseudo-labels to each point of spatially continuous local features.
[0098] In the information processing device 1A according to Embodiment 2, the data acquisition unit 16 acquires time-series data. This enables the information processing device 1A to perform learning by assigning pseudo-labels to each point of the feature quantities, which are time-series data.
[0099] In the information processing device 1A according to Embodiment 2, the clustering unit 12A determines clusters by hard clustering. As a result, the information processing device 1A can perform learning by assigning a pseudo-label calculated based on cluster information that is assigned only to a unique cluster to each point of the feature quantity within the cluster.
[0100] In the information processing device 1A according to Embodiment 2, the cluster information is an integer value indicating the cluster number. This enables the information processing device 1A to perform learning by assigning a pseudo-label calculated based on the cluster number to each point of the feature quantity within the cluster.
[0101] In the information processing device 1A according to Embodiment 2, the clustering unit 12A determines clusters by soft clustering. As a result, the information processing device 1A can learn by assigning pseudo-labels calculated based on cluster information that can be assigned to multiple clusters to each point of the feature quantity within a cluster.
[0102] In the information processing device 1A according to Embodiment 2, the cluster information is a score for the cluster. This allows the information processing device 1A to perform learning by assigning a pseudo-label calculated based on the score for the cluster to each point of the feature quantity within the cluster.
[0103] Furthermore, it is possible to combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. [Industrial applicability]
[0104] The information processing device described herein can be used, for example, for various information processing applications that perform unsupervised learning. [Explanation of Symbols]
[0105] 1,1A Information processing unit, 11,11A Feature extraction unit, 12,12A Clustering unit, 13,13A Pseudo-labeling unit, 14,14A Inference unit, 15,15A Parameter update unit, 16 Data acquisition unit, 100 Input interface, 101 Output interface, 102 Processor, 103 Memory.
Claims
1. A feature extraction unit that extracts features from the data, A clustering unit that determines the cluster to which the feature belongs by clustering the feature in the feature space, A pseudo-labeling unit that sequentially sets ranges within the cluster, generates pseudo-labels based on cluster information corresponding to the feature quantities included within the range, and assigns the generated pseudo-labels to at least one of the feature quantities included within the range, An inference unit that calculates an inference value based on the aforementioned feature quantities, A parameter update unit updates the parameters of the feature extraction unit and the inference unit based on the pseudo-labels and the inferred values, An information processing device equipped with the following features.
2. It includes a data acquisition unit that acquires data having spatial continuity, The feature extraction unit extracts the features from spatially continuous local data among the acquired data. The information processing apparatus according to feature 1.
3. The data acquisition unit acquires time-series data. The information processing apparatus according to feature 2.
4. The clustering unit determines the clusters by hard clustering. The information processing apparatus according to any one of claims 1 to 3.
5. The aforementioned cluster information is an integer value indicating the cluster number. The information processing apparatus according to feature 4.
6. The clustering unit determines the clusters by soft clustering. The information processing apparatus according to any one of claims 1 to 3.
7. The cluster information is a score for the cluster. The information processing apparatus according to feature 6.
8. The feature extraction unit extracts the features by convolution. The information processing apparatus according to feature 1.
9. The pseudo-label is one of the mode, median, mean, minimum, or maximum values of the cluster information corresponding to the feature included within the range. The information processing apparatus according to any one of claims 1 to 3.
10. A learning method performed by an information processing device, The feature extraction unit performs the step of extracting features from the data, The clustering unit performs the steps of determining the cluster to which the feature belongs by clustering the feature in the feature space, The pseudo-labeling unit sequentially sets ranges within the cluster, generates pseudo-labels based on cluster information corresponding to the feature quantities included within the range, and assigns the generated pseudo-labels to at least one of the feature quantities included within the range. The inference unit performs the steps of calculating an inference value based on the feature quantities, The parameter update unit updates the parameters of the feature extraction unit and the inference unit based on the pseudo-labels and the inferred values, A learning method that includes [the following features].
11. Computers, A feature extraction unit that extracts features from the data. A clustering unit that determines the cluster to which the feature belongs by clustering the feature in the feature space. A pseudo-labeling unit that sequentially sets ranges within the cluster, generates pseudo-labels based on cluster information corresponding to the feature quantities included within the range, and assigns the generated pseudo-labels to at least one of the feature quantities included within the range. An inference unit that calculates an inferred value based on the aforementioned feature quantities. A program for functioning as a parameter update unit that updates the parameters of the feature extraction unit and the inference unit based on the pseudo-labels and the inferred values.