Information processing device, training method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2024-04-26
- Publication Date
- 2026-05-27
Abstract
Description
Information processing device, learning method and program
[0001] The present disclosure relates to an information processing device, a learning method, and a program.
[0002] There is known a technique for clustering features extracted from data and using the clusters obtained by the clustering as pseudo labels to train a classifier. For example, Non-Patent Document 1 describes a technique for clustering features extracted from image data and assigning the clusters obtained by the clustering as pseudo labels to each image.
[0003] Caron, Mathilde, et al. “Deep clustering for unsupervised learning of visual features.” Proceedings of the European conference on computer vision (ECCV). 2018.
[0004] The conventional technology described in Non-Patent Document 1 has a problem in that if a label is not assigned to each feature point within a cluster, it is not possible to perform learning by assigning pseudo labels to these points. For example, the conventional technology assumes that a pseudo label is assigned to each image corresponding to a cluster, and therefore cannot be applied to image segmentation, which requires assigning a pseudo label to each pixel within an image.
[0005] The present disclosure is intended to solve the above-mentioned problem, and aims to provide an information processing device capable of learning by assigning pseudo labels to each point of the feature of a cluster.
[0006] The information processing device according to the present disclosure includes a feature extraction unit that extracts features from data, a clustering unit that determines a cluster to which a feature belongs by clustering the features in a feature space, a pseudo label assignment unit that sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to the features included in the ranges, and assigns the generated pseudo label to at least one feature included in the range, an inference unit that calculates an inferred value based on the features, and a parameter update unit that updates parameters of the feature extraction unit and the inference unit based on the pseudo label and the inferred value.
[0007] According to the information processing device according to the present disclosure, learning can be performed by assigning pseudo labels to each point of the feature quantity of a cluster.
[0008] 12A is a block diagram showing an example configuration of an information processing device according to embodiment 1. FIG. 12B is a flowchart showing the operation of the information processing device according to embodiment 1. FIG. 12C is a flowchart showing a learning method according to embodiment 1. FIG. 12D is a diagram showing an overview of a process for extracting features from data. FIG. 12B is a diagram showing an overview of clustering of features. FIG. 12C is a diagram showing an overview of a process for assigning pseudo labels to each point of a cluster. FIG. 12C is a diagram showing an overview of inference using features. FIG. 12D is a diagram showing an overview of parameter update of a feature extraction unit and an inference unit. FIG. 12A is a block diagram showing an example configuration of an information processing device according to embodiment 2. FIG. 12D is a flowchart showing a learning method according to embodiment 2.
[0009] Embodiment 1. In supervised learning, a correct answer label (hereinafter simply referred to as a "label") is assigned to a dataset, whereas in unsupervised learning, unlabeled data is used. Here, a label is identification information for identifying a cluster into which the data constituting the dataset is classified. A cluster is a set of points with similar feature quantities. A feature quantity is an expression of each piece of data constituting the dataset in the form of a numerical value, a category, or the like. Points with feature quantities that share characteristics different from those of other clusters are classified within the same cluster.
[0010] The information processing device according to the first embodiment is a device that includes an inference unit, updates parameters of an inference model through unsupervised learning, thereby training the inference unit, and performs inference processing using the trained inference unit. Here, the unsupervised learning performed by the information processing device according to the first embodiment involves calculating pseudo labels corresponding to features extracted from unlabeled data, and assigning the calculated pseudo labels to each point of the feature within a cluster. Note that a pseudo label is a label that is artificially assigned to unlabeled data.
[0011] (Overview of Information Processing Device) Fig. 1 is a block diagram showing an example configuration of an information processing device 1 according to embodiment 1. In Fig. 1, the information processing device 1 extracts features from data acquired as a dataset, clusters the features in a feature space, sequentially sets ranges within the clusters, generates pseudo labels based on cluster information corresponding to the features included in the ranges, and assigns the pseudo labels to at least one feature included in the ranges. For example, each point in the feature space represents a point at each time in time-series data of features, or a feature of each pixel of an image, etc.
[0012] Cluster information is information indicating the relationship between points indicating feature quantities and the clusters into which these points are classified, and is generated in the process of clustering features extracted from data. Cluster information includes information indicating which cluster a point indicating a feature quantity is classified into, information indicating a reference point of the cluster, or information indicating the characteristics or attributes of the cluster. Information indicating which cluster a point indicating a feature quantity is classified into includes, for example, information indicating a cluster number for identifying the cluster. Examples of the reference point of a cluster include the center point, center of gravity, average value, or median of the cluster. Information indicating the characteristics or attributes of the cluster is information in which the characteristics or attributes are quantified, and may be, for example, a score for evaluating the characteristics of the cluster.
[0013] When the cluster information is a score for evaluating the characteristics of a cluster, the score is calculated based on the feature. For example, the information processing device 1 assigns the average value of the scores corresponding to the feature values included in a range set within the cluster as a pseudo label to the target points included in the range. Then, the information processing device 1 sequentially sets the range so that all points included in the cluster become target points, and assigns a pseudo label to each point. This enables the information processing device 1 to perform learning to assign pseudo labels to all points of the feature values included in the feature space.
[0014] 1 , the information processing device 1 includes a feature extraction unit 11, a clustering unit 12, a pseudo-label assignment unit 13, an inference unit 14, and a parameter update unit 15. For example, the information processing device 1 is realized by a computer. A memory included in the computer stores an information processing application program for realizing each of the functions of the feature extraction unit 11, the clustering unit 12, the pseudo-label assignment unit 13, the inference unit 14, and the parameter update unit 15. A processor included in the computer executes the information processing application read from the memory, thereby realizing each of the functions of the feature extraction unit 11, the clustering unit 12, the pseudo-label assignment unit 13, the inference unit 14, and the parameter update unit 15.
[0015] (Feature Extraction Unit) The feature extraction unit 11 extracts features from data. For example, when extracting features from data in a three-dimensional space, the feature extraction unit 11 selects features to be extracted depending on the purpose for which the data will be used. Position information, normal information, color information, or a combination of these, of an object existing in the three-dimensional space is selected as the feature to be extracted. Then, the feature extraction unit 11 extracts the selected feature.
[0016] For example, if position information is selected as the feature, the feature extraction unit 11 extracts the position coordinates of the object as the feature. Furthermore, if shape information is selected as the feature to be extracted, the feature extraction unit 11 calculates a feature (volume, surface area, length, etc.) representing the shape of the object. If color information is selected as the feature to be extracted, the feature extraction unit 11 extracts the hue, saturation, brightness, etc. of the object. Furthermore, the feature extraction unit 11 may scale the feature. For example, if the scales of the position information are different, the feature extraction unit 11 may normalize the ranges of each dimension to unify them. Furthermore, in the case of color information, the feature extraction unit 11 may scale the range of color values to unify them.
[0017] The learning data from which features are extracted includes sensor data, web data, image data, video data, text data, etc. Sensor data is data detected by a physical sensor. Examples include data such as temperature, humidity, or air pressure detected by a weather sensor, environmental monitoring data detected by a sensor network, and patient biometric information detected by a medical sensor. The feature extraction unit 11 can extract features from sensor data acquired from a sensor by the information processing device 1.
[0018] Web data is 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 FIG. 1 ). The information processing device 1 may also acquire data from social media using the 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 a camera or a sensor, and include, for example, video data captured by a surveillance camera, medical image data, camera image data for automobile detection or segmentation, etc. The feature extraction unit 11 is capable of extracting features from image data or video data acquired by the information processing device 1 from a camera or a sensor.
[0020] The text data is text information collected from books, news articles, web pages, social media posts, etc. and 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] (Extraction of Features by Convolution) The feature extraction unit 11 may also extract features by convolution. For example, a convolutional neural network (CNN) is used for the convolution. A matrix called a convolution kernel is used in the convolution. The convolution kernel is a weight matrix used when performing a convolution 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 of 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 of the convolution kernel as a feature. This makes it possible to extract features that indicate local characteristics of the data.
[0022] The feature extraction unit 11 also extracts features from data based on the values of parameters set therein. For example, when the feature extraction unit 11 extracts features through a convolution operation using a CNN model, parameters for setting the size and stride of the convolution kernel affect the feature extraction. The larger the convolution kernel size, the wider the range of features extracted, and the larger the stride, the fewer the number of features extracted. When the feature extraction unit 11 extracts features while moving a moving window on sequence data such as time-series data or text data, the values of parameters for setting the window width and step size affect the feature extraction. The larger the window width, the wider the range of features extracted, and the larger the step size, the fewer the number of features.
[0023] When the data from which features are to be extracted by convolution calculation is one-dimensional data, two-dimensional data, three-dimensional data, or graph data, the feature extraction unit 11 extracts features by performing one-dimensional convolution, two-dimensional convolution, three-dimensional convolution, or graph convolution.
[0024] (1) One-dimensional convolution: For example, one-dimensional data includes time-series data, audio data, sensor data, etc. When extracting features from one-dimensional data using a convolution operation, the length of the data to be 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 of the data and sequentially calculates the product of each element of the convolution kernel and the corresponding element of the data. By extracting a value at a specific position of the convolution kernel as a feature, a feature indicating a local feature that emphasizes the relationship between neighboring elements in the data is extracted. Note that the position of the feature from which the feature is extracted may be the beginning, center, or end of the convolution kernel.
[0025] (2) Two-dimensional convolution For example, two-dimensional data includes image data. When extracting features from two-dimensional data by convolution calculation, the convolution kernel is defined by a two-dimensional matrix. The feature extraction unit 11 slides the convolution kernel along each position of the data and sequentially calculates the product of each element of the convolution kernel and the corresponding element of the data. By extracting a value at a specific position of the convolution kernel as a feature, a feature indicating a local feature that emphasizes the relationship between neighboring elements in the data is extracted. Note that the position of the feature from which the feature is extracted may be the beginning, center, or end of the convolution kernel.
[0026] (3) 3D Convolution For example, 3D data includes video data. When extracting features from 3D data using a convolution operation, the convolution kernel is defined as a 3D matrix having three dimensions: width, height, and channel. The feature extraction unit 11 slides the convolution kernel along each position of the data and sequentially calculates the product of each element of the convolution kernel and the corresponding element of the data. By extracting values at specific positions of the convolution kernel as features, features that indicate local features that emphasize the relationship between neighboring elements in the data are extracted. Note that the position of the feature from which the feature is extracted may be the beginning, center, or end of the convolution kernel.
[0027] (4) Graph Convolution The feature extraction unit 11 may perform graph convolution, which is a convolution operation 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 provided as input data. A graph is composed of a set of nodes (vertices) and edges (lines), where the nodes represent elements of the data and the edges represent relationships between the nodes. The feature extraction unit 11 performs a convolution operation while moving a convolution kernel on the graph, thereby extracting specific patterns in the graph as features.
[0028] Alternatively, the feature extraction unit 11 may perform two-dimensional convolution on the three-dimensional data in the spatial direction and then one-dimensional convolution in the time direction. The feature extraction unit 11 may convert the image data into a fixed-length feature vector and then perform one-dimensional convolution in the time direction. The feature extraction unit 11 may perform derated convolution, which uses a convolution kernel to convolve elements spaced at regular intervals in the data.
[0029] Although feature extraction using a CNN has been described, the feature extraction unit 11 may extract features using a recursive neural network (RNN) such as a long short-term memory (LSTM) or a gated recurrent unit (GRU). The feature extraction unit 11 may also extract features using an attention such as a transformer or an MLP-mixer that replaces it.
[0030] (Clustering Unit) The clustering unit 12 determines the cluster to which a feature belongs by clustering the feature in the feature space. Clustering is a process of grouping points with similar feature amounts. For example, the clustering unit 12 calculates the distance or similarity between points in the feature space, and clusters the feature amounts based on the calculated distance or similarity. The distance can be Euclidean distance or Manhattan distance. The similarity can be cosine similarity.
[0031] Representative clustering methods include, for example, k-means, Gaussian mixture model (GMM), hierarchical (agglomerative) clustering, spectral clustering, DBSCAN, OPTICS, BIRCH, or Mean Shift. The feature extraction unit 11 assigns each feature point 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 Label Assignment Unit) The pseudo label assignment unit 13 sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to feature quantities included within the ranges, and assigns pseudo labels to at least one feature quantity included within the ranges. The pseudo label assignment unit 13 assigns pseudo labels to all points in the feature quantity space by performing the above process for each cluster set in the feature quantity space. The range set within a cluster is a moving window that includes points of one or more feature quantities, and defines the cluster in the same dimension as the feature quantities, for example. This range is sequentially set so that all points included in the cluster are targets for assigning pseudo labels.
[0033] The pseudo label may be any one of the mode, median, average, minimum, and maximum values of cluster information corresponding to feature quantities included within a range set within the cluster. For example, if the range set within the cluster is a fixed-length moving window for one-dimensional data of feature quantities, and the cluster information corresponding to the feature quantities included in the moving window is a cluster number, the pseudo label assignment unit 13 calculates any one of the mode, median, average, minimum, and maximum values of the cluster numbers corresponding to the feature quantities 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 feature quantities included in the cluster, it is possible to more accurately represent the features or patterns of data.
[0034] The pseudo labeling unit 13 may change the size of the range (moving window) set within the cluster as needed. Changing the size of the range enables feature extraction over different ranges. For example, when the processing accuracy is set using an input device (not shown in FIG. 1 ), the pseudo labeling unit 13 sets a range of a size corresponding to the processing accuracy and performs the pseudo labeling process. In this case, if the size of the range is changed to a larger size, the range from which feature extraction occurs becomes wider, and if the size of the range is changed to a smaller size, more localized feature extraction occurs. Furthermore, the pseudo labeling unit 13 may change the size of the range to a size set by the user using the input device.
[0035] The pseudo label assignment unit 13 may assign pseudo labels to one-dimensional features using a filter having a feedback loop, such as an infinite impulse response (IIR) filter. For example, the pseudo label assignment unit 13 adjusts parameters of the IIR filter to control the position and size of a moving window, sequentially setting the moving window within the cluster, and assigns 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. The image filter is a filter that identifies a specific region on two-dimensional data using a convolution operation and transforms information within that region. Examples of image filters include a smoothing filter, an edge detection filter, and a sharpening filter. For example, the pseudo labeling unit 13 adjusts parameters of the image filter to control the position and size of a moving window to sequentially set moving windows within a cluster, and assigns information obtained by the image filter as pseudo labels to the features within the moving window.
[0037] The pseudo label assignment unit 13 may assign pseudo levels using an averaging filter, a weighted average filter, a median filter, or a Laplacian filter. The averaging filter is, for example, a filter that replaces the value of each pixel in an image with the average value of the values of its surrounding pixels. When the value of each pixel in an image is a feature, the pseudo label assignment unit 13 uses the averaging filter to sequentially set moving windows on clusters in the image and assign the average value of all pixel values included in the moving window as a pseudo label to the feature to be assigned.
[0038] The weighted average filter is 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 label assignment unit 13 uses the weighted average filter to sequentially set a moving window within a cluster on the image, calculate the average value of all pixel values included in the moving window, and assign the calculated value as a pseudo label to the feature to be assigned.
[0039] The median filter is a filter that calculates the median of the pixel values included 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 label assignment unit 13 uses the median filter to sequentially set moving windows within clusters on the image, calculate the median of the values of all pixels included in the moving window, and assign the calculated value as a pseudo label to the feature to be assigned.
[0040] The Laplacian filter, for example, is a filter that emphasizes edges or features in an image and detects sudden changes in the image using a two-dimensional differential operator. When the value of each pixel in the image is a feature, the pseudo label assignment unit 13 uses the Laplacian filter to sequentially set moving windows within clusters on the image, calculates values of pixels included in the moving windows that have suddenly changed, and assigns the calculated values as pseudo labels to the feature to be assigned.
[0041] The pseudo label assignment unit 13 may assign pseudo labels to features of graph data using a label propagation method or a label diffusion method. The label propagation method is a method of updating the labels of nodes in a graph based on the labels of surrounding nodes. Similarly to the label propagation method, the label diffusion method is a method of updating the labels of nodes in a graph, but in the label diffusion method, the labels are updated taking into account not only the node labels but also information such as edge weights and distances. For example, the pseudo label assignment unit 13 assigns an initial label to each node and updates the label using the mode or average value of the labels of adjacent nodes. This allows the labels to be propagated or diffused throughout the entire graph. The pseudo label assignment unit 13 assigns pseudo labels based on the labels of the feature included in the moving window. By repeating these processes until the label update converges, pseudo labels can be assigned to each feature point in the cluster.
[0042] (Inference Unit) The inference unit 14 calculates an inference value based on the feature quantities extracted from the data by the feature quantity extraction unit 11. For example, the inference unit 14 uses a model for calculating an inference value from the feature quantities. The model is a model of the relationship between the input feature quantities and the output inference value. Examples of the model include a neural network, a generalized linear model, a generalized additive model, a decision tree, a decision tree ensemble, a support vector machine, and a nearest neighbor model. The parameter values of the model are updated by the parameter update unit 15 (described later), and the model is trained so that it can generate an appropriate inference value 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 a neural network, the feature propagates from the input layer through a hidden layer to the output layer in the neural network, and a final inferred value is generated. In the fully connected layer, a bias is added to the dot product of the input and the weight, and an output value is calculated using an activation function. Examples of activation functions include ReLU (Rectified Linear Unit), Sigmoid, Softmax, and Tanh. Note that it is also possible to output a value obtained by adding a bias to the dot product of the input and the weight without using an activation function.
[0044] (Parameter Update Unit) The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo label and the inference value. For example, the parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 so that the inference value output from the inference unit 14 matches the pseudo label output from the pseudo label assignment unit 13.
[0045] For example, the parameter update unit 15 uses a loss function to evaluate the degree of agreement between the inferred value and the pseudo label. The loss function is an index that represents the difference between the inferred value and the pseudo label, and is used to evaluate the performance of the model. The value of the loss function becomes smaller as the inferred value and the pseudo label value become closer. Note that, when the inferred value is a category, the loss function may be cross entropy. Furthermore, when the inferred value is a numerical value, the loss function may be mean absolute error (MAE), mean squared error (MSE), or the like.
[0046] The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 so as to minimize the value of the loss function. For example, if the feature extraction unit 11 and the inference unit 14 are capable of gradient calculation using a neural network or the like, the parameter update unit 15 calculates the gradient of the loss function using gradient descent and calculates update amounts for each parameter of the feature extraction unit 11 and the inference unit 14 using the calculated gradient. The parameter update unit 15 performs learning by repeating the above procedure until the value of the loss function converges. As a result, the parameters are updated 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. Fig. 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 weights of a model for extracting features with random values or predefined values.
[0048] The information processing device 1 acquires data for learning (step ST2). The data acquired by the information processing device 1 is output to the feature extraction unit 11. The data set for learning is a data set for unsupervised learning to which no correct answer label is assigned.
[0049] Next, the information processing device 1 performs a learning process using a learning dataset (step ST3). For example, the feature extraction unit 11 extracts features from the data. The clustering unit 12 determines the cluster to which the feature belongs by clustering the features in the feature space. The pseudo label assignment unit 13 sequentially sets ranges within the cluster, generates pseudo labels based on cluster information corresponding to the features included in the range, and assigns the generated pseudo labels to at least one feature included in the range. 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] It is determined whether the learning conditions have been met (step ST4). If the learning conditions have been met (step ST4; YES), the process proceeds to step ST5. On the other hand, if the learning conditions have not been met (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, assignment of pseudo labels by the pseudo label assignment unit 13, inference by the inference unit 14, and parameter update by the parameter update unit 15 are repeatedly performed until the learning conditions are met. The learning conditions include, for example, whether a predetermined number of repetitions has been reached, or whether a predetermined learning time has been reached, etc.
[0051] The learning condition may be the following condition (1) or (2): (1) A condition that learning is terminated when the number of samples in which the pseudo label changes becomes equal to or less than a predetermined value. (2) The acquired data is divided into data for learning and data for verification, and the information processing device 1 updates the parameters of the feature extraction unit 11 and the inference unit 14 using the learning data in step ST3. The learning condition is a condition that, if the value of a loss function representing the difference between the inferred value and the pseudo label does not decrease a predetermined number of times consecutively using the verification data, the value of the loss function is considered to have converged and learning is terminated.
[0052] Furthermore, the information processing device 1 may perform clustering and pseudo-labeling, and inference and parameter updating at a ratio of 1:1, or may perform them at a different ratio. For example, the information processing device 1 may perform clustering and pseudo-labeling once, and then repeat inference and parameter updating 10 times according to the stochastic gradient descent method.
[0053] The inference unit 14 performs inference processing using the model trained in step ST4 (step ST5). Inference includes prediction, classification, regression, etc. for new data. When feature quantities of new data are input, the trained model outputs a prediction or classification result.
[0054] Next, a learning method according to the first embodiment will be described. Fig. 3 is a flowchart showing the learning method according to the first embodiment, illustrating detailed processing of step ST3 in Fig. 2. The feature extraction unit 11 extracts features from learning data (step ST1A). Fig. 4 is a diagram showing an outline of processing for extracting feature Z from data X. In Fig. 4, data X is divided into elements x i The feature value Z is one-dimensional data composed of the feature value z i The feature vector is composed of i, where i is an integer equal to or greater than 1. The feature extraction unit 11 extracts the feature z i into the relation z i =Feature(Neighbor(x i The feature extraction unit 11 calculates the feature using x included in the data X. i The neighborhood of element x i The set of other elements around element x. i The feature extraction unit 11 extracts the feature z using a feature function based on the neighborhood data. i The feature value z calculated using the Feature function is i is the value of each element of the data x i As a result, from one-dimensional data X, the feature z i A feature quantity Z including the following is extracted.
[0055] The clustering unit 12 determines the cluster to which the feature value belongs by clustering the feature value in the feature value space (step ST2A). Fig. 5 is a diagram showing an outline of clustering of the feature value Z. In Fig. 5, cluster C is a cluster of feature value z i is the cluster into which the feature z i Label c i The clustering unit 12 assigns the feature quantity z i are clustered into cluster C. Clustering algorithms include k-means, hierarchical clustering, and DBSCAN. These algorithms cluster the feature z i The clustering unit 12 determines which cluster C the relation c belongs to. i =Cluster(z i ) to obtain the feature z i The label c corresponding to i This assigns the feature z i The cluster C to which c belongs is determined. i The value of feature z i belongs to the cluster C.
[0056] The pseudo label assignment unit 13 sequentially sets ranges (moving windows) within the cluster, generates pseudo labels based on cluster information corresponding to the feature amounts included within the ranges, and assigns the pseudo labels to at least one feature amount included within the ranges (step ST3A). i 6 is a diagram showing an outline of the process of assigning a pseudo label A to a label c included in a cluster C. i The pseudo label a is assigned based on i The pseudo label assignment unit 13 is configured as follows: i ) and set a moving window W in the cluster C according to the iThis allows a set of labels for each element included in the moving window W to be obtained. Next, the pseudo label assignment unit 13 calculates the label c of each element in the moving window W according to the Aggregate function. i Based on the aggregated labels, a pseudo-label a i For example, the aggregated label c i The mode or average value of the pseudo label a i The pseudo label assignment unit 13 calculates the calculated pseudo label a i is assigned to the element to be assigned. As a result, the pseudo label a included in the pseudo label A is i A set of
[0057] The inference unit 14 calculates an inference value based on the feature amount (step ST4A). FIG. 7 is a diagram showing an outline of inference using the feature amount Z. In FIG. 7, the inference result Y is the result of inference using the feature amount Z, and the inference result Y is the result of inference using the feature amount Z. i Element y of the inference result based on i The inference unit 14 calculates the relation y i =Predict(z i For example, the inference unit 14 performs inference according to the feature quantity z i When input, the element y of the inferred value i The inference result Y is generated using an inference model that outputs the feature z i From this, it is possible to infer the desired information.
[0058] The parameter update unit 15 updates the parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo label and the inference value (step ST5A). FIG. 8 is a diagram showing an outline of the parameter update of the feature extraction unit 11 and the inference unit 14. In FIG. 8, the loss function Loss(a i , y i ) is the pseudo-label a i and the element y of the inference result i The parameter update unit 15 is a function that quantifies the difference between the two and is used to evaluate the degree of agreement between them. i , y iThe parameters of the feature extraction unit 11 and the inference unit 14 are updated in a direction that minimizes the value of the loss function. When the value of each parameter becomes equal to or less than a threshold value or when a certain number of iterations is reached, the parameter values are considered to have converged, and learning ends.
[0059] Next, a hardware configuration for realizing the functions of the information processing device 1 will be described. Fig. 9 is a block diagram showing the hardware configuration for realizing the functions of the information processing device 1. The functions of the feature extraction unit 11, clustering unit 12, pseudo label assignment unit 13, inference unit 14, and parameter update unit 15 provided in the information processing device 1 are realized by processing circuits. That is, the information processing device 1 includes a processing circuit for executing the processes of steps ST1A to ST5A shown in Fig. 3. The processing circuit may be a CPU (Central Processing Unit) that executes a program stored in a memory.
[0060] The feature extraction unit 11 acquires a learning dataset received from an external device by a communication unit included in the information processing device 1, for example, via the input interface 100. Furthermore, if the dataset is stored in a storage unit included in the information processing device 1, the feature extraction unit 11 reads and acquires the dataset from the storage unit via the input interface 100. In this case, the information processing device 1 does not need to be equipped with a communication unit.
[0061] The inference unit 14 outputs the inference result to an external device, for example, via the output interface 101. The inference unit 14 may also transmit the inference result to the external device by controlling the communication unit via the output interface 101.
[0062] The functions of the feature extraction unit 11, clustering unit 12, pseudo-label assignment unit 13, inference unit 14, and parameter update unit 15 included in the information processing device 1 are realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the 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, the clustering unit 12, the pseudo-label assignment unit 13, the inference unit 14, and the parameter update unit 15 included in the information processing device 1. For example, the information processing device 1 includes the memory 103 for storing programs that, when executed by the processor 102, result in the processing of steps ST1A to ST5A shown in FIG. 3 being executed. These programs cause a computer to execute the procedures or methods of the processes performed by the feature extraction unit 11, the clustering unit 12, the pseudo-label assignment unit 13, the inference unit 14, and the parameter update unit 15. The memory 103 may be a computer-readable storage medium that stores programs for causing a computer to function as the feature extraction unit 11, the clustering unit 12, the pseudo-label assignment unit 13, the inference unit 14, and the parameter update unit 15.
[0064] The memory 103 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (Electrically-EPROM) (registered trademark), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD.
[0065] Some of the functions of the feature extraction unit 11, clustering unit 12, pseudo label assignment unit 13, inference unit 14, and parameter update unit 15 included in the information processing device 1 may be realized by dedicated hardware, and the other functions may be realized by software or firmware. For example, the functions of the feature extraction unit 11, clustering unit 12, and pseudo label assignment unit 13 may be realized by a processing circuit that is dedicated hardware, and the functions of the inference unit 14 and parameter update unit 15 may be realized by the processor 102 reading and executing a program stored in the memory 103. In this way, the processing circuit can realize the above functions by hardware, software, firmware, or a combination of these.
[0066] As described above, the information processing device 1 according to the first embodiment includes a feature extraction unit 11 that extracts features from data, a clustering unit 12 that determines clusters to which features belong by clustering the features in a feature space, a pseudo-label assignment unit 13 that sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to the features included in the ranges, and assigns the generated pseudo labels to at least one feature included in the ranges, an inference unit 14 that calculates inferred values based on the features, and a parameter update unit 15 that updates parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo labels and the inferred values. This enables the information processing device 1 to perform learning by assigning pseudo labels to each feature point of a cluster. For example, if the learning data is image data, the information processing device 1 can assign a pseudo label to each pixel in the image, which can be applied to image segmentation.
[0067] In the information processing device 1 according to the first embodiment, the feature extraction unit 11 extracts features by a convolution operation, which enables the information processing device 1 to extract features that indicate local features of data.
[0068] In the information processing device 1 according to the first embodiment, the pseudo label is one of the mode, median, average, minimum, and maximum values of the cluster information corresponding to the feature amounts included in the range. Since the pseudo label can be generated by statistically considering the cluster information corresponding to the feature amounts included in the cluster, the information processing device 1 can more accurately represent the features or patterns of the data.
[0069] The learning method according to the first embodiment includes step ST1A in which a feature extraction unit 11 extracts features from data, step ST2A in which a clustering unit 12 determines a cluster to which a feature belongs by clustering the features in a feature space, step ST3A in which a pseudo label assignment unit 13 sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to the features included in the ranges, and assigns the generated pseudo labels to at least one feature included in the ranges, step ST4A in which an inference unit 14 calculates inference values based on the features, and step ST5A in which a parameter update unit 15 updates parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo labels and the inference values. By executing the above learning method, the information processing device 1 can perform learning in which pseudo labels are assigned to each point of the feature of a cluster.
[0070] A computer that executes a program according to the first embodiment functions as a feature extraction unit 11 that extracts features from data, a clustering unit 12 that determines a cluster to which a feature belongs by clustering the features in a feature space, a pseudo label assignment unit 13 that sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to the feature values included in the ranges, and assigns the generated pseudo labels to at least one feature value included in the ranges, an inference unit 14 that calculates inferred values based on the feature values, and a parameter update unit 15 that updates parameters of the feature extraction unit 11 and the inference unit 14 based on the pseudo labels and the inferred values. The computer that executes the program according to the first embodiment is capable of learning by assigning pseudo labels to each point of the feature values of a cluster.
[0071] Embodiment 2. Although the first embodiment does not mention the characteristics of the training data, an information processing device according to the second embodiment acquires data having spatial continuity as training data. As a result, the information processing device according to the second embodiment 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 Device) Fig. 10 is a block diagram showing an example configuration of an information processing device 1A according to embodiment 2. In Fig. 10, the information processing device 1A acquires data having spatial continuity and extracts features from the 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 these ranges, and assigns the pseudo labels to at least one feature included in the ranges.
[0073] The information processing device 1A includes a feature extraction unit 11A, a clustering unit 12A, a pseudo label assignment 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 realized by a computer. A memory included in the computer stores a program constituting an information processing application for realizing each function of the feature extraction unit 11A, the clustering unit 12A, the pseudo label assignment unit 13A, the inference unit 14A, the parameter update unit 15A, and the data acquisition unit 16. A processor included in the computer executes the information processing application read from the memory, thereby realizing each function of the feature extraction unit 11A, the clustering unit 12A, the pseudo label assignment 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 having spatial continuity. For example, the data acquisition unit 16 acquires data having spatial continuity by connecting to a sensor device or a server via a network using a communication unit (not shown in FIG. 10 ). Examples of data having spatial continuity include time series data, audio data, image data, video data, spectrograms, text data, three-dimensional point clouds, range Doppler, and graph data. Time series data and audio data are one-dimensional data having temporal continuity. Image data is two-dimensional data representing two-dimensional space. Video data is data representing two-dimensional space and also has a time dimension. Spectrograms have the dimensions of time and frequency. Text data is one-dimensional data having an order dimension. Three-dimensional point clouds are data of three-dimensional space. Range Doppler is data having the dimensions of distance and velocity. Graph data is data represented by node connections. Furthermore, feature points extracted from spatially continuous local data may be scalars or vectors. For example, features of univariate time-series data are represented by scalars, and features of multivariate time-series data are represented by vectors. Color image data is represented by a three-dimensional vector in which 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 to be extracted by convolution calculation 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, or graph convolution.
[0076] (Clustering Unit) The clustering unit 12A determines the cluster to which a feature belongs by clustering feature values having spatial continuity. For example, the clustering unit 12A may perform hard clustering or soft clustering. Hard clustering is a method of assigning each feature value point to only a unique cluster, and for example, a single cluster number (integer value) is assigned to each point in a cluster as cluster information. Examples of hard clustering include k-means clustering. Soft clustering is a method of allowing each feature value point to potentially belong to multiple clusters, and for example, a score (real value) for each cluster is assigned as cluster information. Examples of soft clustering include GMM.
[0077] (Pseudo Label Assignment Unit) The pseudo label assignment unit 13A sequentially sets ranges within a cluster, generates pseudo labels based on cluster information corresponding to feature quantities included within the range, and assigns a pseudo label to at least one feature quantity included within the range. For example, the pseudo label assignment unit 13A aggregates spatially continuous local cluster information within the range and assigns a pseudo label. In the case of hard clustering, the pseudo label assignment unit 13A assigns, for example, information aggregating cluster numbers (integer values) as pseudo labels. The aggregation may be the mode, median, mean, minimum, maximum, or quantile of cluster numbers assigned to feature quantity points included in the range set within the cluster. In the case of soft clustering, the pseudo label assignment unit 13A assigns, for example, information aggregating scores (real values) for the clusters as pseudo labels.
[0078] (Inference Unit) The inference unit 14A calculates an inferred value based on the feature extracted from the data by the feature extraction unit 11A. For example, the inference unit 14A calculates the inferred value using a neural network. When the feature is input to the input layer of the neural network, the feature propagates from the input layer to the output layer via the hidden layer, and a final inferred value is generated. In the fully connected layer, a bias is added to the inner product of the input and the weight, and an output value is calculated using an activation function. When the activation function is a sigmoid function, an inferred value for a binary category is output. When the activation function is a Softmax function, an inferred value for a multi-value category is output.
[0079] (Parameter Update Unit) The parameter update unit 15A updates the parameters of the feature extraction unit 11A and the inference unit 14A based on the pseudo label and the inference value. For example, the parameter update unit 15A updates the parameters of the feature extraction unit 11A and the inference unit 14A so that the inference value output from the inference unit 14A matches the pseudo label output from the pseudo label assignment unit 13A.
[0080] Next, a learning method according to the second embodiment will be described. FIG. 11 is a flowchart illustrating the learning method according to the second embodiment, showing detailed processing of step ST3 in FIG. 2. The data acquisition unit 16 acquires spatially continuous data (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 the feature belongs by clustering the features in the feature space (step ST3B). The pseudo label assignment unit 13A sequentially sets moving windows within the cluster, generates pseudo labels based on cluster information corresponding to the features included in the moving windows, and assigns the pseudo labels to at least one feature included within the range (step ST4B). The inference unit 14A calculates inference values 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 inference values (step ST6B).
[0081] FIG. 12A is a diagram illustrating an overview of a process for assigning pseudo labels to feature points within a cluster, which is time-series data. In FIG. 12A , the pseudo label assignment unit 13A sets a moving window W1 for a cluster D1, which is time-series data. The moving window W1 includes a point P1 to which a pseudo label is to be assigned and a nearby point PN. The pseudo label assignment unit 13A calculates a pseudo label by aggregating the label numbers of points P1 and PN included in the moving window W1. The pseudo label assignment unit 13A assigns the pseudo label to point P1, which is the target of assignment. By repeating this process, pseudo labels are assigned to all points included in cluster D1. This enables the information processing device 1A to perform learning by assigning pseudo labels to each feature point, which is time-series data.
[0082] FIG. 12B is a diagram illustrating an overview of a process for assigning pseudo labels to feature points within a cluster, which is two-dimensional data. In FIG. 12B, the pseudo label assignment unit 13A sets a moving window W2 for a cluster D2, which is two-dimensional data. The moving window W2 includes a point P2 to which a pseudo label is to be assigned and its neighboring points. The pseudo label assignment unit 13A aggregates the label numbers of the points included in the moving window W2 to calculate a pseudo label. The pseudo label assignment unit 13A assigns a pseudo label to the point P2 to which a pseudo label is to be assigned. By repeating this process, pseudo labels are assigned to all points included in the cluster D2. This enables the information processing device 1A to perform learning by assigning pseudo labels to each feature point, which is two-dimensional data.
[0083] FIG. 12C is a diagram illustrating an overview of a process for assigning pseudo labels to feature points within a cluster, which is three-dimensional data. In FIG. 12C, the pseudo label assignment unit 13A sets a moving window W3 within the cluster D3. The moving window W3 includes a point P3 to which a pseudo label is to be assigned and its neighboring points. The pseudo label assignment unit 13A calculates a pseudo label by aggregating the label numbers of the points included in the moving window W3. The pseudo label assignment unit 13A assigns the pseudo label to the point P3 to which the pseudo label is to be assigned. By repeating this process, pseudo labels are assigned to all points included in the cluster D3. This enables the information processing device 1A to perform learning by assigning pseudo labels to each feature point, which is three-dimensional data.
[0084] 12D is a diagram showing an overview of a process for assigning pseudo labels to points of feature quantities within a cluster, which is graph data. In FIG. 12D, the pseudo label assignment unit 13A sets a moving window W4 for cluster D4. The moving window W4 includes point P4, which is a target point for assigning a pseudo label, and points in its vicinity. The pseudo label assignment unit 13A calculates a pseudo label by aggregating the label numbers of the points included in the moving window W4. The pseudo label assignment unit 13A assigns the pseudo label to point P4, which is a target point for assignment. By repeating this process, pseudo labels are assigned to all points included in cluster D4. This enables the information processing device 1A to perform learning by assigning pseudo labels to each point of feature quantities, which is graph data.
[0085] (Variation 1) In Variation 1, the information processing device 1A acquires time-series data as a training dataset, performs hard clustering on each point of feature quantities extracted from the time-series data, and assigns cluster information, which is an integer value indicating a 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 by the type of movement, such as walking, running, or sitting, of the person wearing the sensor. Since the true value of the segment, i.e., the type of movement, is unknown, no training data is assumed. The operation of Variation 1 of the information processing device 1A will be described below with reference to the flowcharts of FIGS. 2 and 3.
[0086] The feature extraction unit 11A extracts features by one-dimensional convolutional calculation using a CNN. First, the information processing device 1A randomly initializes parameters of the one-dimensional convolutional layer of the CNN (step ST1). The data acquisition unit 16 acquires time-series data of acceleration and angular acceleration detected by sensors attached to the person's hands and feet (step ST2). This enables the information processing device 1A to perform learning by assigning pseudo-labels to each point of spatially continuous local features. Thereafter, the information processing device 1A uses the time-series data acquired by the data acquisition unit 16 as learning data and repeatedly executes the following learning process (steps ST1A to ST5A) a specified number of times (step ST3).
[0087] The feature extraction unit 11A extracts a time series of features from time series data using a one-dimensional convolutional layer of a CNN (step ST1A). The clustering unit 12A performs hard clustering of each point of the time series feature extracted by the feature extraction unit 11A using k-means with a cluster count of 10 (step ST2A). As a result, an integer value indicating a cluster number is assigned as cluster information to each point of the feature included in a cluster.
[0088] The pseudo-labeling unit 13A sequentially sets a moving window of size 5 within the cluster at each time point, converts the cluster information within the moving window into a pseudo-label by majority vote, and sequentially assigns the pseudo-label to the feature at the target time point (step ST3A).The inference unit 14A converts the feature at each time point into a 10-dimensional vector using a fully connected layer of a CNN and a Softmax function (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 by using the stochastic gradient descent method so as to minimize the value of the cross-entropy loss function calculated based on the pseudo label and the 10-dimensional vector at each time point (step ST5A). The processes from step ST1A to step ST5A are repeatedly executed until a 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 acquires a time series of features extracted from the time series data by the 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 a Softmax function. The inference unit 14A outputs, as a segment, the cluster in which the 10-dimensional vector is maximized at each time point. This allows the information processing device 1A to segment the time series data of acceleration and angular acceleration detected by sensors attached to the person's hands and feet by the type of movement, such as walking, running, or sitting, of the person wearing the sensor.
[0091] (Variation 2) In Variation 2, the information processing device 1A acquires image data, which is two-dimensional data, as a training dataset and performs soft clustering on each point of feature quantities extracted from the image data. The information processing device 1A segments the image data on a pixel-by-pixel basis. The information processing device 1A also uses a trained model trained in advance for segmentation, but performs segmentation in a target domain that is different from the pre-trained source domain. It is assumed that no training data is available in the target domain. The operation of Variation 2 of the information processing device 1A will be described below with reference to the flowcharts of FIGS. 2 and 3.
[0092] The feature extraction unit 11A extracts features by two-dimensional convolutional calculation using a CNN. First, the information processing device 1A randomly initializes parameters of the two-dimensional convolutional layer of the CNN (step ST1). The data acquisition unit 16 acquires image data (step ST2). Thereafter, the information processing device 1A uses the image data acquired by the data acquisition unit 16 as training data and repeatedly executes the following training process (steps ST1A to 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 a CNN (step ST1A). The clustering unit 12A performs soft clustering on the features of each pixel extracted from the image data by the feature extraction unit 11A using a GMM with 100 clusters (step ST2A). A cluster likelihood, which is a score for the cluster, is assigned to the feature of each pixel included in a cluster as cluster information.
[0094] The pseudo-labeling unit 13A sequentially sets a moving window, which is a 3x3 averaging filter, for each cluster, averages the cluster likelihoods of each pixel using the averaging filter, calculates the maximum cluster likelihood as a pseudo label, and sequentially assigns pseudo labels to the features of the target pixels (step ST3A).The inference unit 14A converts the features of each pixel into a 100-dimensional vector using a fully connected layer of a CNN and a Softmax function (step ST4A).
[0095] The parameter update unit 15A updates the parameters of the two-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 by using the stochastic gradient descent method 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 (step ST5A). The processes from step ST1A to step ST5A are repeatedly executed until a 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 acquires the feature values of each pixel extracted from the image data by the two-dimensional convolutional layer of the CNN, and converts the feature values of each pixel into a 100-dimensional vector using a fully connected layer and a Softmax function. The inference unit 14A outputs, as a segment, the cluster in which the 100-dimensional vector for each pixel is maximized. This allows the information processing device 1A to segment the image data in a target domain different from the pre-trained source domain.
[0097] As described above, the information processing device 1A according to the second embodiment includes the data acquisition unit 16 that acquires spatially continuous data, and the feature extraction unit 11A extracts feature vectors from spatially continuous local data among the acquired data. This enables the information processing device 1A to perform learning by assigning pseudo labels to each point of the spatially continuous local feature.
[0098] In the information processing device 1A according to the second embodiment, the data acquiring unit 16 acquires time-series data, which enables the information processing device 1A to perform learning by assigning a pseudo label to each point of the feature amount, which is the time-series data.
[0099] In the information processing device 1A according to the second embodiment, the clustering unit 12A determines clusters by hard clustering, which enables the information processing device 1A to perform learning by assigning, to each feature point in a cluster, a pseudo label calculated based on cluster information that is assigned only to a unique cluster.
[0100] In the information processing device 1A according to the second embodiment, the cluster information is an integer value indicating a cluster number, which enables the information processing device 1A to perform learning by assigning a pseudo label calculated based on the cluster number to each feature point in the cluster.
[0101] In the information processing device 1A according to the second embodiment, the clustering unit 12A determines clusters by soft clustering, which enables the information processing device 1A to perform learning by assigning pseudo labels calculated based on cluster information that can be assigned to multiple clusters to each feature value within a cluster.
[0102] In the information processing device 1A according to the second embodiment, the cluster information is a score for the cluster, which enables 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] It is possible to combine the embodiments, modify any of the components of the embodiments, or omit any of the components of the embodiments.
[0104] An information processing device according to the present disclosure can be used for various information processing operations that perform unsupervised learning, for example.
[0105] 1, 1A Information processing device, 11, 11A Feature extraction unit, 12, 12A Clustering unit, 13, 13A Pseudo label assignment 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.