Information processing method, information processing device, and program
The method improves learning efficiency in manufacturing processes by using an inference model with an Attention mechanism to focus on upstream data contributions, addressing inefficiencies in existing methods that include irrelevant data combinations.
Patent Information
- Application Number
- PCT/JP2024/039921
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-17
- Filing Date
- 2024-11-11
- Publication Date
- 2025-07-24
AI Technical Summary
Existing learning methods for inferring relationships among a large number of variables in a manufacturing process are inefficient due to including combinations where one variable does not affect another, leading to decreased accuracy and increased learning time.
An information processing method that uses an inference model with an Attention mechanism to infer target data from data obtained in upstream processes, excluding downstream data to improve learning efficiency by focusing on relevant contributions of each data point.
Enhances learning efficiency by suppressing the inclusion of irrelevant data combinations, thereby improving the accuracy and reducing learning time for inference tasks.
Smart Images

Figure JP2024039921_24072025_PF_FP_ABST
Abstract
Description
Information processing method, information processing device, and program
[0001] The present disclosure relates to an information processing method, an information processing device, and a program.
[0002] A method is known for inferring variables such as sensor values (e.g., temperature or pressure) acquired during a product manufacturing process in a factory or the like using mechanistic learning (also simply referred to as learning) with an attention mechanism (see Patent Literature 1). The sensor values may contribute to the occurrence of defects in the factory. Note that "inference" may be replaced with "estimation."
[0003] A conventional learning technique is a technique for detecting anomalies in specific elements of a plurality of data (see Patent Document 1).
[0004] In the learning process for anomaly detection, regression, classification, or the like for a single inference target, it may not be realistic in terms of time to comprehensively infer the relationships between a large number of variables across the entire factory.
[0005] In the field of natural language processing, a method for comprehensively learning the interrelationships of words as variables within a sentence is known (see Non-Patent Document 1). This method proposes a learning method in which input is randomly masked (i.e., hidden) and the original value of the masked part (i.e., the value before masking) is inferred.
[0006] Japanese Patent Application Laid-Open No. 2020-149601
[0007] Jacob Devlin et al., "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding," [online], [Retrieved December 1, 2023], Internet <URL: https: / / arxiv.org / abs / 1810.04805>
[0008] The present disclosure provides an information processing method and the like that can improve the efficiency of learning for inference.
[0009] An information processing method according to one aspect of the present disclosure is an information processing method that acquires data rows containing multiple data related to a product obtained in multiple processes in the manufacture of the product, acquires inference data output by inputting target data from the acquired multiple data into an inference model as an inference target, and acquires the contribution of each of the multiple data to the inference data, and outputs the contribution of each of the acquired multiple data, wherein the inference model is a trained model that has been trained so that when multiple training data rows related to the product in the multiple processes are input to the inference model, the inference model takes training target data from the multiple training data included in each of the multiple training data rows as an inference target, outputs the training target data inferred from one or more training data obtained in a process upstream of the process where the training target data was obtained, and outputs the contribution of each of the one or more training data to the training target data to be output.
[0010] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, and a recording medium.
[0011] The information processing method of the present disclosure can improve the efficiency of learning for inference.
[0012] 1 is a schematic diagram showing an example of a data analysis system according to an embodiment; FIG. 2 is a configuration diagram showing the hardware configuration of a data analysis device according to an embodiment; FIG. 3 is an explanatory diagram showing an example of a dataset according to an embodiment; FIG. 4 is an explanatory diagram showing an example of process sequence data according to an embodiment; FIG. 5 is an explanatory diagram showing an example of a process sequence according to an embodiment; FIG. 6 is an explanatory diagram showing an example of variable explanation data according to an embodiment; FIG. 7 is a configuration diagram showing the functional configuration of a data analysis device according to an embodiment; FIG. 8 is a flow diagram showing processing of a data analysis device according to an embodiment; FIG. 9 is a first flow diagram showing processing for creating learning input data and processing for selecting a learning target according to an embodiment; FIG. 10 is a second flow diagram showing processing for creating learning input data and processing for selecting a learning target according to an embodiment; FIG. 11 is an explanatory diagram showing a first example of a list according to an embodiment; FIG. 12 is an explanatory diagram showing a second example of a list according to an embodiment; FIG. 13 is an explanatory diagram showing an example of a reachable process list according to an embodiment; FIG. 14 is a flow diagram showing data analysis processing according to an embodiment.
[0013] (Findings that Form the Basis of the Present Disclosure) In the learning for inferring the mask part in Non-Patent Document 1, all combinations using multiple data are allowed.
[0014] On the other hand, among all combinations of multiple data such as multiple sensor values acquired in the manufacturing process of a product in a factory, etc., there are combinations in which one does not affect the other. For example, generally, among multiple processes involved in manufacturing a product, the result of a subsequent process (in other words, a downstream process) does not affect the result of an earlier process (in other words, an upstream process).
[0015] Therefore, when using learning that allows all combinations using multiple pieces of data, such as the learning of the mask part in Non-Patent Document 1, the efficiency of learning may decrease, and more specifically, this may result in a decrease in the accuracy of inference or an increase in learning time. This is because all combinations using the above multiple pieces of data actually include combinations in which one piece does not affect the other, and such combinations do not contribute to the convergence of parameters included in the model.
[0016] Therefore, the present disclosure provides an information processing method and the like that can improve the efficiency of learning for inference.
[0017] Below, examples of inventions that can be obtained from the disclosure of this specification will be given, and the effects and the like that can be obtained from these inventions will be explained.
[0018] (1) An information processing method comprising: acquiring data rows containing multiple data related to a product obtained in multiple processes in the manufacture of the product; inputting target data from the acquired multiple data into an inference model as an inference target; acquiring inference data output by inputting the multiple data and the contribution of each of the multiple data to the inference data; and outputting the contribution of each of the acquired multiple data; wherein the inference model is a trained model that has been trained so that, when multiple training data rows related to the product in the multiple processes are input into the inference model, the inference model takes training target data from the multiple training data included in each of the multiple training data rows as an inference target, outputs the training target data inferred from one or more training data obtained in a process upstream of the process where the training target data was obtained, and outputs the contribution of each of the one or more training data to the training target data to be output.
[0019] According to the above aspect, inferring target data from data obtained in a process upstream of the process in which the target data was obtained is suppressed. In other words, inferring target data from data obtained in the process in which the target data was obtained or in a process downstream of the process in which the target data was obtained is suppressed. In reality, data obtained in a certain process is expected to be influenced by processes upstream of that process, but not by processes downstream of that process. Therefore, if data obtained in a process downstream of the process in which the target data was obtained were included in the basis for inference, the efficiency of learning may decrease. According to the above aspect, it is possible to suppress such a decrease in learning efficiency. Furthermore, since the contribution of each of multiple data to the inference result can be output using a trained model obtained by training in which the decrease in learning efficiency is suppressed, the efficiency of outputting the contribution can be improved. In this way, the above information processing method can improve the efficiency of learning for inference.
[0020] (2) The information processing method described in (1), wherein the inference model is a machine learning model using an attention mechanism, and the contribution of each of the multiple data to the inference data is the weight of each of the multiple data with respect to the inference data output by the attention mechanism.
[0021] According to the above aspect, by using the weights output by the attention mechanism as contributions, it is possible to more easily improve the efficiency of learning for inference.
[0022] (3) An information processing method comprising: acquiring a plurality of rows of training data containing a plurality of training data related to a product obtained in a plurality of processes in the manufacture of the product; training an inference model using the acquired plurality of rows of training data; in training the inference model, using training target data among the plurality of training data included in each of the plurality of rows of training data as an inference target; inferring the training target data from one or more training data obtained in a process upstream of the process in which the training target data was obtained; and training the inference model to infer the contribution of each of the one or more training data to the training target data to be inferred.
[0023] According to the above aspect, inferring target data from data obtained in a process upstream of the process in which the target data was obtained is suppressed. In other words, inferring target data from data obtained in the process in which the target data was obtained or in a process downstream of the process in which the target data was obtained is suppressed. In fact, data obtained in a certain process is expected to be influenced by processes upstream of that process, but not by processes downstream of that process. Therefore, if data obtained in a process downstream of the process in which the target data was obtained were included as the basis for inference, the efficiency of learning may decrease. According to the above aspect, it is possible to suppress such a decrease in learning efficiency. In this way, the above information processing method can improve the efficiency of learning for inference.
[0024] (4) The information processing method described in (3), wherein the plurality of training data rows include identifiers of the processes at which the plurality of training data were obtained, and in the training of the inference model, order information indicating the order of the plurality of processes is used to identify the one or more training data by excluding (a) the process at which the training target data was obtained and (b) the process downstream of the process at which the training target data was obtained from the plurality of training data, and the inference model is trained using the identified one or more training data.
[0025] According to the above aspect, by using the order information to exclude the process in which the training data was obtained and the processes downstream of that process, it is possible to more easily identify the training data to be used for training the inference model from among multiple training data, thereby more easily improving the efficiency of training for inference.
[0026] (5) The inference model is a machine learning model using an attention mechanism, and the contribution of each of the one or more learning data to the learning target data to be inferred is the weight of each of the multiple learning data to the learning target data to be inferred, output by the attention mechanism. Information processing method described in (3) or (4).
[0027] According to the above aspect, by using the weights output by the attention mechanism as contributions, it is possible to more easily improve the efficiency of learning for inference.
[0028] (6) An information processing device comprising: an acquisition unit that acquires data rows containing multiple data related to a product obtained in multiple processes in the manufacture of the product; and an inference unit that acquires inference data output by inputting target data from the multiple data acquired by the acquisition unit into an inference model as an inference target, and the contribution of each of the multiple data to the inference data, and outputs the contribution of each of the acquired multiple data; wherein the inference model is a trained model that has been trained so that when multiple training data rows related to the product in the multiple processes are input to the inference model, the inference model takes training target data from the multiple training data included in each of the multiple training data rows as an inference target, inputs one or more training data obtained in a process upstream of the process where the training target data was obtained into the inference model, and outputs the training target data and outputs the contribution of each of the one or more training data to the training target data to be output.
[0029] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0030] (7) An information processing device comprising: an acquisition unit that acquires multiple rows of training data containing multiple training data related to a product obtained in multiple processes in the manufacture of the product; and a learning unit that trains an inference model using the multiple rows of training data related to the product in the multiple processes, wherein the learning unit, in training the inference model, uses training target data among the multiple training data included in each of the multiple training data rows as an inference target, and when one or more training data obtained in a process upstream of the process in which the training target data was obtained is input to the inference model, infers the training target data and trains the inference model to infer the contribution of each of the one or more training data to the training target data to be inferred.
[0031] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0032] (8) A program that causes a computer to execute the information processing method described in (1).
[0033] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0034] (9) A program that causes a computer to execute the information processing method described in (3).
[0035] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0036] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, or a recording medium.
[0037] Hereinafter, embodiments will be described with reference to the drawings.
[0038] First Embodiment [Hardware Configuration] FIG. 1 is a schematic diagram showing an example of a data analysis system 900 according to this embodiment.
[0039] The data analysis system 900 in this embodiment includes a data analysis device 1 and a manufacturing management device 500 .
[0040] The manufacturing management device 500 is installed in, for example, a manufacturing factory and manages a manufacturing system that manufactures products. The manufacturing management device 500 transmits a data set Ds obtained by the manufacturing system to the data analysis device 1 via a network such as the Internet. Details of the data set Ds will be described later using FIGS. 3 and 4.
[0041] The data analysis device 1 is configured with a personal computer or the like and receives a data set Ds from the above-described manufacturing control device 500. Then, the data analysis device 1 in this embodiment performs calculations based on the data set Ds to learn a model that performs inference for each data item using data other than the data item. In other words, the data analysis device 1 performs calculations to learn a model that performs inference for each data item included in the data set Ds from variables other than the data item.
[0042] FIG. 2 is a configuration diagram showing the hardware configuration of the data analysis device 1 according to this embodiment.
[0043] The data analysis device 1 includes an input unit 101 , an arithmetic circuit 102 , a memory 103 , an output unit 104 , a storage unit 105 , a database 106 , and a communication unit 107 .
[0044] The communication unit 107 communicates with devices external to the data analysis apparatus 1. The communication may be wireless or wired. The wireless communication method may be Wi-Fi (registered trademark), Bluetooth (registered trademark), ZigBee (registered trademark), or another method. For example, the communication unit 107 communicates with the manufacturing management apparatus 500 and receives a data set Ds from the manufacturing management apparatus 500.
[0045] The input unit 101 functions as an HMI (Human Machine Interface) that accepts input operations by a user, and includes, for example, a keyboard, a mouse, a touch sensor, a touch pad, and the like.
[0046] The output unit 104 has a display that displays images, characters, etc., and the display is, for example, a liquid crystal display, a plasma display, an organic EL (Electro-Luminescence) display, etc. The output unit 104 may have a printer that prints images, characters, etc., and may have a function of storing data output from the arithmetic circuit 102 in the storage unit 105 in a file format.
[0047] The storage unit 105 stores a program (i.e., a computer program) 105a in which instructions to the arithmetic circuit 102 are written. The storage unit 105 may also store temporary data 105b temporarily generated by the processing of the arithmetic circuit 102. The storage unit 105 is a non-volatile recording medium, such as a magnetic storage device such as a hard disk, an optical disk, or a semiconductor memory. The program 105a is provided to the data analysis apparatus 1 via, for example, removable media or a network, and stored in the storage unit 105. Examples of removable media include CD-ROMs (Compact Disc Read Only Memory) and flash memories. Therefore, the communication unit 107 may include an interface for reading the program 105a from removable media.
[0048] The memory 103 temporarily stores a program 105a that is read and expanded by the arithmetic circuit 102. Such memory 103 is, for example, a volatile RAM (Random Access Memory).
[0049] The arithmetic circuit 102 is a circuit that executes the program 105 a loaded in the memory 103, and is, for example, a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). When executing the program 105 a, the arithmetic circuit 102 may use each piece of temporary data 105 b stored in the storage unit 105.
[0050] The database 106 is a non-volatile recording medium, similar to the storage unit 105, and is, for example, a magnetic storage device such as a hard disk, an optical disk, a semiconductor memory, etc. For example, the arithmetic circuit 102 acquires a data set Ds from the manufacturing control apparatus 500 via the network and the communication unit 107, and stores the data set Ds in the database 106.
[0051] In this embodiment, the storage unit 105 and the database 106 are different recording media, but the storage unit 105 and the database 106 may be configured as a single recording medium that includes them.
[0052] [Data Set] FIG. 3 is an explanatory diagram showing an example of a data set Ds in this embodiment.
[0053] 3 is a raw data set transmitted from the manufacturing management device 500. The data set Ds includes a plurality of data items, such as setting values indicating physical properties or conditions in the manufacturing process of the above-described manufacturing system, sensor values acquired by measurement in the manufacturing process, and the quality of products produced by the manufacturing process.
[0054] Specifically, the data set Ds includes, for each ID (Identifier) that is an identifier for an individual product, the names of multiple processes a, b, c, and d in the manufacture of the product, and the names and variables of multiple variables A, B, C, D, E, F, and G. The multiple variables A to G indicate, for example, force, voltage, current, temperature, irradiation time, dimensions, or feature vectors obtained from an inspection image.
[0055] The data may be any type as long as it indicates at least one of a character, a character string, a numeric value, a numeric string, and a special symbol defined separately to indicate a missing value. The first row of the dataset Ds contains the process names of the multiple variables, and the second row of the dataset Ds contains the names of the respective variables. From the third row onwards, each row of the dataset Ds contains data rows containing data for the multiple variables. With regard to process names, different process names are assigned to actually different processes. With regard to variables, different variable names are assigned to actually different variables (for example, variables with different information sources such as sensors).
[0056] Fig. 4 is an explanatory diagram showing an example of process sequence data Do in this embodiment. Fig. 5 is an explanatory diagram showing an example of the process sequence in this embodiment.
[0057] 5 shows diagrams representing multiple steps a, b, c, and d, connected by arrows. The arrows indicate an order in which the step connected to the start point of the arrow is executed after the step connected to the end point of the arrow is executed.
[0058] The process order data Do shown in Fig. 4 is data indicating the order of the plurality of processes shown in Fig. 5. The process order data Do is an example of order information indicating the order of the plurality of processes.
[0059] 4, as an example of process sequence data Do, "processes to be executed first" are shown arranged vertically, and processes to be executed after the "processes to be executed first" are shown arranged horizontally as "processes to be executed later." In the manufacture of a product, if process 2 is sometimes executed after process 1, a 1 is shown at the position where the "process to be executed first" is process 1 and the "process to be executed later" is process 2. In addition, if process 2 is never executed after process 1, a 0 is shown at the position where the "process to be executed first" is process 1 and the "process to be executed later" is process 2.
[0060] The process sequence data Do shown in FIG. 4 can also be said to be an adjacency matrix for the graph (more specifically, directed graph) showing the sequence of the multiple processes shown in FIG.
[0061] For example, as shown in Fig. 5, the process sequence data Do for the case where the processes proceed in the order of process a followed by process c, process b followed by process c, and process c followed by process d is shown in Fig. 4. In this embodiment, process c is a process in which the product is manufactured by combining the parts obtained in process a and process b.
[0062] FIG. 6 is a diagram showing an example of the variable explanation data De in this embodiment.
[0063] The variable explanation data De shown in Figure 6 stores, for each of all variables A, B, C, D, E, F, and G, the variable name (in other words, a variable name that may be duplicated), a unique process name, a process name (in other words, a process name that may be duplicated), the data type of the variable, and information indicating whether it should be a learning target.
[0064] The information indicating whether or not a variable should be a learning target indicates whether or not the variable should be a learning target in the overall learning process by the data analysis apparatus 1. For example, a variable for which the information indicating whether or not a variable should be a learning target is "Yes" is a variable that should be a learning target by the data analysis apparatus 1, and a variable for which the information indicating whether or not a variable should be a learning target is "No" is a variable that should not be a learning target by the data analysis apparatus 1.
[0065] The variable explanation data does not have to include variable names that may be duplicated or process names that may be duplicated. Furthermore, when all variables are to be learned, the variable explanation data does not have to include information indicating whether or not a variable should be learned. Furthermore, when both process names and variable names are indicated in the dataset, the variable explanation data does not have to include process names. Furthermore, when the variable explanation data includes process names, the dataset does not have to include process names.
[0066] [Configuration of Data Analysis Apparatus] The configuration and processing of a data analysis apparatus 1 according to this embodiment will be described.
[0067] The data analysis device 1 acquires training data rows containing multiple pieces of training data related to a product obtained in multiple processes in the manufacture of the product, and trains an inference model using the acquired multiple training data rows. In training the inference model, the inference model is trained to use training target data from the multiple pieces of training data included in each of the multiple training data rows as an inference target, infer training target data from one or more pieces of training data obtained in processes upstream of the process in which the training target data was obtained, and infer the contribution of each of the one or more pieces of training data to the training target data to be inferred.
[0068] The plurality of training data rows may include identifiers of processes in which the plurality of training data were obtained. In training the inference model, order information indicating the order of the processes may be used to identify the one or more training data by excluding, from the plurality of training data, (a) the process in which the training target data was obtained and (b) a process downstream of the process in which the training target data was obtained, and the inference model may be trained using the identified one or more training data.
[0069] The inference model may be a machine learning model using an attention mechanism, and the contribution of each of the one or more pieces of training data to the training target data to be inferred may be a weight of each of the plurality of pieces of training data to the training target data to be inferred, output by the attention mechanism.
[0070] The configuration and processing of the data analysis device 1 according to this embodiment will be described with reference to FIGS. 7 and 8. FIG.
[0071] FIG. 7 is a configuration diagram showing the functional configuration of the data analysis device 1 according to this embodiment.
[0072] As shown in FIG. 7 , the data analysis apparatus 1 includes an acquisition unit 110 , a storage unit 120 , a model saving unit 130 , a preprocessing unit 140 , a model learning unit 150 , and an inference unit 160 .
[0073] The acquiring unit 110 acquires performance data, process sequence data, and variable explanation data. The acquiring unit 110 acquires data set Ds (see FIG. 3 ), which is an example of performance data, process sequence data Do (see FIG. 4 ), and variable explanation data De (see FIG. 6 ), as variable explanation data. The acquiring unit 110 can acquire the above data using the communication unit 107.
[0074] The storage unit 120 stores the data (i.e., performance data, process sequence data, and variable explanation data) acquired by the acquisition unit 110. The storage unit 120 can store the data acquired by the acquisition unit 110 in the database 106.
[0075] The model storage unit 130 stores a machine learning model (e.g., a Transformer) that uses an attention mechanism. The machine learning model may be initialized by random numbers or may be pre-trained. The machine learning model is, for example, a neural network that generates feature attention using an attention mechanism, and may be configured by a CNN (Convolutional Neural Network) or the like.
[0076] The attention mechanism is a function that receives as input a third-order tensor K with dimensions (B, L, D1), a third-order tensor Q with dimensions (B, L, D1), and a third-order tensor V with dimensions (B, L, D2). The attention mechanism calculates the similarity between tensor K and tensor Q as B similarity matrices with dimensions (B, L, L), and treats the calculated similarity matrices as attention weights. Here, B indicates the batch size, L indicates the number of variables (= the number of tokens per data row), and D1 and D2 indicate the number of dimensions determined by the model. Note that the attention weights can be said to indicate the contribution of the data used in the inference to the inferred data.
[0077] The machine learning model stored in the model storage unit 130 can be updated by the model learning unit 150.
[0078] The preprocessing unit 140 performs a conversion process on the performance data stored in the accumulation unit 120 based on the data types of the variables described in the variable explanation data. The conversion process may be, for example, a conversion that brings the distribution of real values closer to a normal distribution, or a dimensional compression process for vectors.
[0079] The model learning unit 150 updates the machine learning model stored in the model storage unit 130 through learning. The learning is performed based on the performance data, process sequence data, and variable explanation data stored in the accumulation unit 120.
[0080] The model learning unit 150 acquires, for example, a data set Ds (see Figure 3) as performance data stored in the accumulation unit 120, process sequence data Do (see Figure 4), and variable explanation data De (see Figure 6).
[0081] The model learning unit 150 repeats the following process one or more times.
[0082] The model training unit 150 shuffles the dataset, divides it into batch sizes (i.e., B), and processes each divided dataset. The model training unit 150 creates training input data based on the data types of variables described in the variable explanation data. The model training unit 150 also creates a random training input mask based on the process sequence data. The model training unit 150 then uses randomly selected data as the training target, partially masks the training input data with the training input mask, and inputs the masked data into the model stored in the model storage unit 130. The model training unit 150 then compares the data selected as the training target data, the data inferred and output by the model, with the data previously selected as the training target data, using a loss function, and updates the model parameters so that the two data are closer to each other. The processing performed by the model training unit 150 will be described in detail below.
[0083] The inference unit 160 intentionally applies the mask to all or part of the data set stored in the accumulation unit 120 and inputs it to the machine learning model stored in the model storage unit 130. The inference unit 160 also outputs data and the contribution of each piece of data to the data inferred and output by the machine learning model as a result of inputting all or part of the data set into the machine learning model.
[0084] [Learning Processing Procedure] Fig. 8 is a flow diagram showing the processing of the data analysis device 1 in this embodiment. Figs. 9A and 9B are flow diagrams showing the processing of creating learning input data and selecting a learning target in this embodiment. The learning processing procedure in this embodiment will be described with reference to Figs. 8, 9A, and 9B.
[0085] In step S10, the acquisition unit 110 acquires performance data (see FIG. 3), process order data (see FIG. 4), and variable explanation data (see FIG. 6), and stores the acquired performance data, process order data, and variable explanation data in the storage unit 120. The performance data, process order data, and variable explanation data correspond to a learning data set. The storage unit 120 temporarily saves the performance data, process order data, and variable explanation data.
[0086] In step S11, the preprocessing unit 140 performs preprocessing on the performance data based on the variable explanation data stored in the storage unit 120, and stores the newly obtained data in the storage unit 120. As one specific example of preprocessing, the preprocessing unit 140 creates data (also referred to as integer value data) in which unique integer values are assigned to integer values, characters, and character strings included in the performance data. The integer values are set to 2 or greater. The integer value data is also referred to as tokens.
[0087] At this time, if there is missing data in the performance data, the preprocessing unit 140 assigns a predetermined value (also called a mask value, which is set to 0 here) to the missing data. Note that missing data in the performance data can be considered as a specific value (also called a missing value) existing at that position. In this case, the preprocessing unit 140 can be expressed as assigning 0 to the missing value.
[0088] Furthermore, the preprocessing unit 140 assigns 1 to data in the performance data that is not an integer value, character, or character string. As one specific example of preprocessing, the preprocessing unit 140 creates data in which items included in the performance data that are not real values or vectors are replaced with 0 or 0 vectors. This data consisting of real values and vectors is also called real number data.
[0089] In step S12, the model learning unit 150 starts a loop A in which the processes of steps S13 to S20, which will be described later, are repeatedly executed. In loop A, the processes of steps S13 to S20 are controlled so as to be repeatedly executed a sufficient number of times.
[0090] Repeating the processes of steps S13 to S20 a sufficient number of times may mean, for example, repeating the processes of steps S13 to S20 a predetermined number of times until a change in a loss function (described later) or a change in a model parameter (described later) becomes sufficiently small. Alternatively, repeating the processes of steps S13 to S20 a sufficient number of times may mean, for example, repeating the processes of steps S13 to S20 until the model learning unit 150 determines that a change in the loss function (described later) has become sufficiently small.
[0091] In step S13, the model learning unit 150 randomly shuffles the order of the performance data stored in the accumulation unit 120 and divides the performance data into batches of the number set as the batch size. Note that the performance data divided into batches is called a batch.
[0092] In step S14, the model learning unit 150 starts a loop B, which repeatedly executes steps S15 to S19 (described later). In loop B, the unit focuses on each batch of performance data divided in step S13, executes processing using the focused batch, and is controlled so that processing using all batches is ultimately performed. The focused batch is also referred to as the "target batch." The processing in steps S15 to S19 included in loop B may be performed sequentially for each target batch, or may be performed simultaneously for multiple target batches in parallel.
[0093] In step S15, the model learning unit 150 creates learning input data and selects a learning target for the target batch. The learning target is a variable to be minimized as an error in step S17.
[0094] In step S15, the model learning unit 150 creates a token list dtl, a real number list dnl, a process list dsl, and a factor list dfl as learning input data. The token list is a list of integer value data (i.e., tokens) included in data rows included in the target batch, and has the same number of integer values as the number of tokens, arranged in the same order as the tokens included in the data rows. The real number list is a list of real values or vectors that are real number data included in data rows included in the target batch, and has the same number of real values or vectors as the number of real values or vectors included in the data rows. The process list is a list of unique process names listed in the performance data or variable explanation data. The factor list is a list of unique variable names listed in the performance data or variable explanation data. The model learning unit 150 also creates a learning target list ll, which is a list indicating learning targets. Specific processing included in step S15 will be described later.
[0095] In step S16, the inference unit 160 infers data using the model stored in the model storage unit 130. Specifically, the inference unit 160 inputs the token list dtl, real number list dnl, process list dsl, and factor list dfl created in step S15 to the model stored in the model storage unit 130, and acquires data output by the model through forward propagation based on the above inputs (i.e., the inferred value of the data) and the contribution of each piece of data to the inferred value of the data.
[0096] In step S17, the model training unit 150 compares the tokens in the training target list 11 among the data included in the target batch with the inferred values obtained in step S16 for the tokens in the training target list 11, and calculates the magnitude of the difference between them as the loss Lt. The magnitude of the difference can be the distance between them, and cross-entropy or the LP norm may be used. The model training unit 150 also compares the tokens in the training target list 11 among the tokens included in the target batch with the inferred values obtained in step S16 for the tokens in the training target list 11, and calculates the magnitude of the difference between them as the loss Ld. The magnitude of the difference can be the distance between them, and the LP norm or a weighted sum of multiple different LP norms may be used. The model training unit 150 then obtains the weighted sum of the loss Lt and the loss Ld as the loss L.
[0097] In step S18, the model learning unit 150 calculates the gradients of the parameters included in the model by back propagation using the gradient data recorded in the model during the forward propagation in step S16 and the loss L calculated in step S17. The calculation of the gradients of the parameters included in the model can be performed by, for example, back propagation.
[0098] In step S19, the model learning unit 150 updates the model parameters using the loss calculated in step S17 and the gradient calculated in step S18. The updating method may be an evolutionary algorithm or a gradient method using backpropagation. Note that if the processes in steps S15 to S19 are performed simultaneously for multiple batches of interest, the sum or average of the losses for each batch of interest calculated simultaneously can be used as the loss in step S19.
[0099] In step S20, the model learning unit 150 performs the termination process of loop B. Specifically, the model learning unit 150 determines whether the processes of steps S15 to S19 have been executed for all batches, and if not, controls the execution of the processes by focusing on batches that have not yet been executed.
[0100] In step S21, the model learning unit 150 performs the process of ending loop A. Specifically, the model learning unit 150 determines whether the processes of steps S13 to S20 have been repeated a sufficient number of times, and if not, controls the process so that they are repeated a sufficient number of times.
[0101] [Processing for Creating Learning Input Data and Processing for Selecting a Learning Target in Step S15] The processing for creating learning input data and processing for selecting a learning target according to this embodiment will be described with reference to Fig. 9A and Fig. 9B. The processing shown in Fig. 9A and Fig. 9B is a detailed processing included in step S15 in Fig. 8.
[0102] The model learning unit 150 performs the following process on each data row included in the target batch.
[0103] In step S50 (see FIG. 9A), the model learning unit 150 initializes the learning target list 11. Initializing the learning target list 11 means that the learning target list 11 is set to a state indicating that there are no variables to be learned.
[0104] In step S51, the model learning unit 150 stores the integer value data included in the data row included in the target batch in the token list dtl.
[0105] In step S52, the model learning unit 150 stores the real number data included in the data row included in the target batch in the real number list dnl.
[0106] In step S53, the model learning unit 150 stores the process ID in the process list dsl. The process ID may be an integer value that uniquely indicates a process name included in the performance data (for example, the data set Ds (see FIG. 3)) or a unique process name included in the variable explanation data (see FIG. 6).
[0107] In step S54, the model learning unit 150 stores the factor ID in the factor list dfl. The factor ID may be an integer value that uniquely indicates a variable name included in the performance data (e.g., data set Ds (see FIG. 3)) or a unique variable name included in the variable explanation data (see FIG. 6).
[0108] In step S55, the model learning unit 150 randomly selects one process ID from among the multiple process IDs. The model learning unit 150 assigns the selected process ID to the variable rs. The process indicated by the process ID selected by the model learning unit 150 is also referred to as the selected process.
[0109] In step S56, the model learning unit 150 stores the process IDs of processes that can reach the selected process in the reachable process list msl in association with the process ID of the selected process. Processes that can reach the selected process are all processes that are executed before the selected process, in other words, do not include processes that are executed after the selected process. The process IDs of processes that can reach the selected process can be obtained using the process order data Do (see FIG. 4) stored in the accumulation unit 120. Specifically, for example, if the selected process is process d, the processes that can reach the selected process d are processes a, b, and c.
[0110] In step S57, the model learning unit 150 stores each process ID in a random mask process list rmsl with a predetermined probability (e.g., 5%). The random mask process list rmsl is used to select randomly selected process data as noise for learning. Adding noise can have the effect of suppressing overlearning of the machine learning model, for example.
[0111] In step S58 (see FIG. 9B), the model learning unit 150 starts a loop C in which the processes of steps S59 to S72, which will be described later, are repeatedly executed. In loop C, control is exercised so that at least some of the processes of steps S59 to S72 are repeatedly executed the same number of times as the number of data items included in the performance data (i.e., the number of tokens included in the token list). A variable i is used to indicate the number of times the execution is repeated. The variable i is 0 in the first execution, and is incremented by 1 each time the execution is repeated.
[0112] In step S59, the model learning unit 150 generates a random number in the range of 0 to 1 and assigns it to a variable r1. The variable r1 is used to probabilistically select one processing pattern from among a plurality of processing patterns as a subsequent processing pattern.
[0113] In step S60, the model learning unit 150 determines whether the element dsl[i] is included in the reachable process list msl. If it is determined that the element dsl[i] is included in the reachable process list msl (Yes in step S60), the process proceeds to step S61. If it is not (No in step S60), the process proceeds to step S68.
[0114] In step S61, the model learning unit 150 determines whether the element dsl[i] is included in the random mask process list rmsl. If it is determined that the element dsl[i] is included in the random mask process list rmsl (Yes in step S61), the process proceeds to step S65. If not (No in step S61), the process proceeds to step S62.
[0115] In step S62, the model learning unit 150 determines whether the variable r1 is smaller than 0.150. If it is determined that the variable r1 is smaller than 0.150 (Yes in step S62), the process proceeds to step S63; otherwise (No in step S62), the process proceeds to step S73.
[0116] In step S63, the model learning unit 150 determines whether the variable r1 is smaller than 0.120. If it is determined that the variable r1 is smaller than 0.120 (Yes in step S63), the process proceeds to step S65; otherwise (No in step S63), the process proceeds to step S64.
[0117] In step S64, the model learning unit 150 determines whether the variable r1 is smaller than 0.135. If it is determined that the variable r1 is smaller than 0.135 (Yes in step S64), the process proceeds to step S70; otherwise (No in step S64), the process proceeds to step S67.
[0118] In other words, in steps S60 to S64, the model learning unit 150 branches the process to one of the subsequent processing patterns. Specifically, the subsequent processing patterns are branched according to the following conditions (1) to (6). Note that in the following, element dsl[i] means the i-th element of the process list dsl. The same applies to elements of other lists (for example, token list dtl, real number list dnl, alternative token list adtl, and alternative real number list adnl).
[0119] (1) The element dsl[i] is included in the reachable process list msl, and the element dsl[i] is not included in the random mask process list rmsl, and the variable r1 is smaller than 0.120. (2) The element dsl[i] is included in the reachable process list msl, and the element dsl[i] is not included in the random mask process list rmsl, and the variable r1 is 0.120 or more and smaller than 0.135. (3) The element dsl[i] is included in the reachable process list msl, and the element dsl[i] is not included in the random mask process list rmsl, and the variable r1 is 0.135 or more and smaller than 0.150. (4) The element dsl[i] is included in the reachable process list msl, and the element dsl[i] is not included in the random mask process list rmsl, and the variable r1 is 0.150 or more. (5) When the element dsl[i] is included in the reachable process list msl and the element dsl[i] is included in the random mask process list rmsl (6) When the i-th element dsl[i] of the process list dsl is not included in the reachable process list msl In the case of (1) or (5), the model learning unit 150 executes the processes of steps S65 to S67. In the processes of steps S65 to S67, the model learning unit 150 executes the processes of masking the data and using the masked data as the learning target.
[0120] Specifically, the model learning unit 150 executes the following steps: assigning 0 to the i-th element dtl[i] of the token list as a mask value representing a missing value in the performance data (step S65); assigning 0 to the i-th element dnl[i] of the real number list (step S66); and adding the value of the variable i to the learning target list 11 (step S67). Then, the process proceeds to step S73.
[0121] In the case of (2), the model learning unit 150 executes the processes of steps S70 to S72. In the processes of steps S70 to S72, the model learning unit 150 performs a substitution process using randomly selected data rows included in the batch as noise. Adding noise can have the effect of suppressing overlearning of the machine learning model, for example.
[0122] Specifically, the model learning unit 150 executes the following steps: selects a random data row from among the multiple data rows included in the data set Ds, assigns a list of tokens included in the selected data row to the alternative token list adtl, assigns a list of real values or vectors of real data included in the data row (real number list) to the alternative real number list adnl (step S70), assigns the element adtl[i] to the element dtl[i] (step S71), and assigns the element adnl[i] to the element dnl[i] (step S72). Then, the process proceeds to step S73.
[0123] In the case of (3), the model learning unit 150 executes the process of step S67. In the process of step S67, the model learning unit 150 executes a process of using the data as the learning target. Specifically, the model learning unit 150 executes a process of adding the value of the variable i to the learning target list 11. Then, the process proceeds to step S73.
[0124] In the case of (4), the process proceeds to step S73. At this time, the model learning unit 150 does not execute processing using the i-th element dtl[i] of the token list or the i-th element dnl[i] of the real number list.
[0125] In the case of (6), the model learning unit 150 executes the processes of steps S68 to S69. In the processes of steps S68 to S69, a process of masking the data is executed. Note that the processes of steps S68 to S69 differ from the processes of steps S65 to S67 in that the masked data is not used as the learning target.
[0126] Specifically, the model learning unit 150 executes a process of substituting 0 into the i-th element dtl[i] of the token list as a mask value representing a missing value in the performance data (step S68), and a process of substituting 0 into the i-th element dnl[i] of the real number list (step S69).Then, the process proceeds to step S73.
[0127] In step S73, the model learning unit 150 performs the process of ending loop C. Specifically, the model learning unit 150 determines whether or not at least some of the processes of steps S59 to S72 have been repeatedly executed the same number of times as the number of variables included in the performance data (i.e., the number of tokens included in the token list), and if the processes have not been executed the above number of times, the model learning unit 150 controls the processes to be executed the above number of times.
[0128] Hereinafter, the process of creating learning input data and the process of selecting a learning target (see step S15 in Figure 8, Figures 9A and 9B) performed by the model learning unit 150 will be explained with reference to specific lists (Figures 10 to 12).
[0129] 10 and 11 are explanatory diagrams showing examples of lists (specifically, a learning target list, a token list, a real number list, a process list, and a factor list) in this embodiment. Fig. 12 is an explanatory diagram showing an example of a reachable process list in this embodiment.
[0130] FIG. 10 shows the list before the above processing is performed, and FIG. 11 shows the list after the above processing is performed.
[0131] Figure 10 shows the contents of the learning target list ll, token list dtl, real number list dnl, process list dsl, and factor list dfl corresponding to each of seven data (data #0, #1, ..., #6) as examples of data contained in the data row to be processed.
[0132] Learning target list 11 shows data that has been selected as a learning target by this update process (i.e., the series of processes shown in FIG. 8 that are executed for this update) from among the data that should be the learning target in the overall learning process by data analysis device 1 (corresponding to the variables for which "Should be a learning target?" is Yes in FIG. 6). Specifically, data in learning target list 11 with an element of 1 is data that has been selected as a learning target, and data in learning target list 11 with an element of 0 is data that has not been selected as a learning target. Learning target list 11 shown in FIG. 10 has all elements of 0, indicating that all data #0 to #6 have not been selected as learning targets.
[0133] The token list dtl indicates tokens corresponding to data included in the data row to be processed. The token list dtl shown in Fig. 10 indicates that the token corresponding to data #0 is 12. This corresponds to, for example, the case where data #0 is the integer value 12. Also, it indicates that the token corresponding to data #2 is 1. This corresponds to, for example, the case where data #2 is real number data.
[0134] The real number list dnl indicates the real number values contained in the data row to be processed. The real number list dnl shown in Figure 10 indicates that the real number value corresponding to data #2 is 0.31. This corresponds to the case where data #2 is the real number value 0.31, for example, and in this case, the token corresponding to data #2 in the token list dtl is 1.
[0135] The process list dsl indicates the process ID of the process where the data included in the data row to be processed was obtained. The process list dsl shown in Figure 10 indicates that the process ID of the process where data #0 and #1 were obtained is 0. It also indicates that the process ID of the process where data #2 to #5 were each obtained is 1.
[0136] The factor list dfl indicates numerical values as identifiers corresponding to the data names of the data included in the data row to be processed. The factor list dfl shown in Figure 10 indicates, for example, that the numerical value corresponding to the data name of data #0 is 0, and the numerical value corresponding to the data name of data #1 is 1. Note that the data names 0 and 1 correspond to, for example, variables A and B shown in Figure 6, respectively. The same applies to the numerical values as other data names.
[0137] The process of creating learning input data and the process of selecting learning targets are executed for each of the data #0 to #6 shown in Fig. 10, resulting in each list being as shown in Fig. 11. In Fig. 11, data that has been changed by the above process is shown by shading the frame containing the data.
[0138] Here, an example will be described in which the model learning unit 150 selects 2 as the process ID in step S55. Also, here, it is assumed that the processes that can reach the process with process ID 2 are the process with process ID 0 and the process with process ID 1. In this case, in step S56, the model learning unit 150 stores the process IDs 0 and 1 that can reach the process with process ID 2 in the reachable process list msl in association with the process ID 2 (see FIG. 12 ).
[0139] Also, an example will be described in which the model learning unit 150 stores 0 as the process ID in the random mask process list rmsl in step S57, and does not store any other process IDs in the random mask process list rmsl.
[0140] First, in step S58, variable i is set to 0, and processing is performed on data #0. In this case, the element dsl[0] (0) is included in the reachable process list msl, and the element dsl[0] (0) is included in the random mask process list rmsl, so the condition (5) above is met, and processing in steps S65 to S67 is performed. As a result, the token corresponding to data #1 (i.e., element dtl[0]) is changed to the mask value 0, and the real value corresponding to data #1 (i.e., element dnl[0]) is changed to 0. In addition, data #0 is changed to the learning target.
[0141] Next, in step S58, variable i is set to 1, and processing is performed on data #1. In this case, since the element dsl[1] (0) is included in the reachable process list msl and the element dsl[1] (0) is included in the random mask process list rmsl, the condition (5) above is met, and the processing of steps S65 to S67 is performed. As a result, the token corresponding to data #1 (i.e., element dtl[1]) is changed to the mask value 0, and the real value corresponding to data #1 (i.e., element dnl[1]) is changed to 0. In addition, data #1 is changed to the learning target.
[0142] Next, in step S58, variable i is set to 2, and processing is performed on data #2. In this case, element dsl[2] (1) is included in the reachable process list msl, and element dsl[2] (1) is not included in the random mask process list rmsl. At this time, assume that a random number value greater than or equal to 0.150 (e.g., 0.30) is set to variable r1 in step S59. In this case, the above condition (4) is satisfied, and the list elements are not changed.
[0143] Next, in step S58, variable i is set to 3, and processing is performed on data #3. In this case, the element dsl[3], 1, is included in the reachable process list msl, and the element dsl[3], 1, is not included in the random mask process list rmsl. At this time, assume that a random number value smaller than 0.120 (e.g., 0.100) is set to variable r1 in step S59. In this case, the above condition (1) is satisfied, and the processing of steps S65 to S67 is performed. As a result, the token corresponding to data #3 (i.e., element dtl[3]) is changed to the mask value 0, and the real number value corresponding to data #3 (i.e., element dnl[3]) is changed to 0. In addition, data #3 is changed to the learning target.
[0144] Next, in step S58, variable i is set to 4, and processing for data #4 is executed. In this case, the element dsl[4], 1, is included in the reachable process list msl, and the element dsl[4], 1, is not included in the random mask process list rmsl. At this time, assume that a random number value greater than or equal to 0.120 and less than 0.135 (e.g., 0.130) is set to variable r1 in step S59. In this case, the above condition (2) is satisfied, and the processing of steps S70 to S72 is executed. As a result, the token corresponding to data #4 (i.e., element dtl[4]) is changed to 1, and the real number value corresponding to data #4 (i.e., element dnl[4]) is changed to 0.78.
[0145] Next, in step S58, variable i is set to 5, and processing is performed on data #5. In this case, element dsl[5], 1, is included in the reachable process list msl, and element dsl[5], 1, is not included in the random mask process list rmsl. At this time, assume that a random number value greater than or equal to 0.135 and less than 0.150 (e.g., 0.140) is set to variable r1 in step S59. In this case, the above condition (3) is satisfied, and processing in step S67 is performed. As a result, data #5 is changed to the learning target.
[0146] Next, in step S58, variable i is set to 6, and processing is performed on data #6. In this case, the element dsl[6], 2, is not included in the reachable process list msl. In this case, the above condition (6) is met, and processing in steps S68 to S69 is performed. As a result, the token corresponding to data #6 (i.e., element dtl[6]) is changed to the mask value 0, and the real value corresponding to data #6 (i.e., element dnl[6]) is changed to 0.
[0147] In this manner, the lists shown in FIG. 11 (specifically, the learning object list, token list, real number list, process list, and factor list) are obtained.
[0148] Next, a data analysis process executed by the data analysis device 1 in this embodiment will be described.
[0149] The data analysis device 1 acquires data rows containing multiple data related to a product obtained in multiple processes in the manufacture of the product, acquires inference data output by inputting the multiple data into an inference model using target data from the acquired multiple data as an inference target, and acquires the contribution of each of the multiple data to the inference data, and outputs the contribution of each of the acquired multiple data. Here, the inference model is a trained model that, when multiple training data rows related to a product in multiple processes are input to the inference model, uses training target data from the multiple training data included in each of the multiple training data rows as an inference target, outputs training target data inferred from one or more training data obtained in a process upstream of the process from which the training target data was obtained, and outputs the contribution of each of the one or more training data to the output training target data.
[0150] The inference model may be a machine learning model using an attention mechanism, and the contribution of each of the plurality of data to the inference data may be a weight of each of the plurality of data with respect to the inference data, output by the attention mechanism.
[0151] The analysis process can be performed using the acquisition unit 110, the accumulation unit 120, the model storage unit 130, and the inference unit 160, which are components included in the data analysis device 1. Therefore, any device that includes at least the acquisition unit 110, the accumulation unit 120, the model storage unit 130, and the inference unit 160 can be used as the data analysis device 1 that performs the analysis process.
[0152] FIG. 13 is a flow diagram showing the data analysis process according to this embodiment.
[0153] In step S110, the acquisition unit 110 acquires a data row containing multiple data obtained in a process in the manufacture of a product. The acquisition unit 110 also acquires process sequence data (see FIG. 4) and variable explanation data (see FIG. 6). The acquisition unit 110 stores the acquired data row, process sequence data, and variable explanation data in the storage unit 120. The storage unit 120 temporarily saves the performance data, process sequence data, and variable explanation data.
[0154] In step S111, the preprocessing unit 140 performs preprocessing on the data rows based on the variable explanation data stored in the storage unit 120, and stores the data rows newly obtained by performing the preprocessing in the storage unit 120. The preprocessing is the same as the preprocessing described in step S11.
[0155] In step S112, the inference unit 160 infers data using the model stored in the model storage unit 130, and obtains the inferred data and the contribution of each piece of data to the inferred data.
[0156] In step S113, the inference unit 160 outputs the contribution degree acquired in step S112.
[0157] 13, the data analysis device 1 can output the contribution of each piece of data to a plurality of pieces of data obtained in a process of manufacturing a product. Furthermore, the data analysis device 1 can improve the efficiency of learning for inference to output the contribution.
[0158] In the above-described embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the software that realizes the information processing device of the above-described embodiments is the following program.
[0159] In other words, this program is a program that executes an information processing method in which data rows containing multiple data related to a product obtained in multiple processes in the manufacture of the product are acquired, target data from the acquired multiple data are used as inference targets, and inference data output by inputting the multiple data into an inference model, as well as the contribution of each of the multiple data to the inference data, and output the contribution of each of the acquired multiple data, and the inference model is trained so that when multiple training data rows related to the product in the multiple processes are input to the inference model, the inference model uses training target data from the multiple training data included in each of the multiple training data rows as inference targets, outputs the training target data inferred from one or more training data obtained in a process upstream of the process in which the training target data was obtained, and outputs the contribution of each of the one or more training data to the training target data to be output.
[0160] In addition, this program is a program that executes an information processing method for training the inference model, which acquires multiple training data rows containing multiple training data related to a product obtained in multiple processes in the manufacture of the product, trains an inference model using the acquired multiple training data rows, and in training the inference model, uses training target data from the multiple training data included in each of the multiple training data rows as an inference target, infers the training target data from one or more training data obtained in a process upstream of the process in which the training target data was obtained, and infers the contribution of each of the one or more training data to the training target data to be inferred.
[0161] While the information processing method according to one or more aspects has been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as it does not deviate from the spirit of the present disclosure, various modifications conceivable by a person skilled in the art to the present embodiments and forms constructed by combining components of different embodiments may also be included within the scope of one or more aspects.
[0162] The present disclosure is applicable to an apparatus that performs analysis to identify variables in the manufacturing process of a product.
[0163] 1 Data analysis device 101 Input unit 102 Arithmetic circuit 103 Memory 104 Output unit 105 Storage unit 105a Program 105b Temporary data 106 Database 107 Communication unit 110 Acquisition unit 120 Accumulation unit 130 Model saving unit 140 Preprocessing unit 150 Model learning unit 160 Inference unit 500 Manufacturing management device 900 Data analysis system Ds Data set
Claims
1. Obtain a data row including a plurality of data regarding the product obtained in a plurality of processes in the manufacture of the product, take target data among the obtained plurality of data as an inference target, and obtain inference data output by inputting the plurality of data into an inference model and the contribution degree of each of the plurality of data to the inference data, output the contribution degree of each of the obtained plurality of data, and the inference model is a learned model that is learned to output the learning target data inferred from one or more learning data obtained in a process upstream of the process in which the learning target data was obtained, taking the learning target data among the plurality of learning data included in each of the plurality of learning data rows as an inference target when the plurality of learning data rows regarding the product in the plurality of processes are input into the inference model, and output the contribution degree of each of the one or more learning data to the output learning target data. Information processing method.
2. The inference model is a machine learning model using an Attention mechanism, and the contribution degree of each of the plurality of data to the inference data is the weight of each of the plurality of data with respect to the inference data output by the Attention mechanism. The information processing method according to claim 1.
3. Obtain a plurality of learning data rows including a plurality of learning data regarding the product obtained in a plurality of processes in the manufacture of the product, train an inference model using the obtained plurality of learning data rows, and in the training of the inference model, take the learning target data among the plurality of learning data included in each of the plurality of learning data rows as an inference target, infer the learning target data from one or more learning data obtained in a process upstream of the process in which the learning target data was obtained, and train the inference model to infer the contribution degree of each of the one or more learning data to the inferred learning target data. Information processing method.
4. Each of the plurality of learning data rows includes an identifier of the process in which each of the plurality of learning data was obtained. In the training of the inference model, using the order information indicating the order of the plurality of processes, (a) the process in which the learning target data was obtained and (b) the processes downstream of the process in which the learning target data was obtained are excluded from the plurality of learning data, and the one or more learning data are specified. The inference model is trained using the specified one or more learning data. The information processing method according to claim 3.
5. The inference model is a machine learning model using an Attention mechanism, and the contribution degree of each of the one or more learning data to the learning target data to be inferred is the weight of each of the plurality of learning data with respect to the learning target data to be inferred, which is output by the Attention mechanism. The information processing method according to claim 3 or 4.
6. An acquisition unit that acquires a data row including a plurality of data related to the product, obtained in a plurality of processes in the manufacture of the product; an inference unit that, taking the target data among the plurality of data acquired by the acquisition unit as an inference target, acquires inference data output by inputting the plurality of data into an inference model, and the contribution degree of each of the plurality of data to the inference data, and outputs the contribution degree of each of the acquired plurality of data; the inference model is a learned model that is learned to, when a plurality of learning data rows related to the product in the plurality of processes are input into the inference model, take the learning target data among the plurality of learning data included in each of the plurality of learning data rows as an inference target, input one or more learning data obtained in the processes upstream of the process in which the learning target data was obtained into the inference model, output the learning target data, and output the contribution degree of each of the one or more learning data to the output learning target data. Information processing apparatus.
7. An acquisition unit that acquires a plurality of learning data rows including a plurality of learning data regarding the product obtained in a plurality of steps in the manufacture of the product; and a learning unit that trains an inference model using the plurality of learning data rows regarding the product in the plurality of steps, wherein in training the inference model, the learning unit uses, as an inference target, learning target data among the plurality of learning data included in each of the plurality of learning data rows, and when one or more learning data obtained in a step upstream of the step in which the learning target data is obtained are input to the inference model, the learning unit infers the learning target data and trains the inference model so as to infer the contribution degree of each of the one or more learning data with respect to the learning target data to be inferred. Information processing apparatus.
8. A program for causing a computer to execute the information processing method according to claim 1.
9. A program for causing a computer to execute the information processing method according to claim 3.
Citation Information
Patent Citations
Manufacturing production line product quality prediction method based on federal learning
CN115700597A
Learning device, evaluation device, evaluation system, learning method, learning program, evaluation method, and evaluation program
JP2022135769A
Systems and methods for self-supervised learning based on naturally-occurring patterns of missing data
WO2023150428A1