Learning program, generation program, learning method, and information processing device
Patent Information
- Application Number
- AU2022477771
- Authority / Receiving Office
- AU · AU
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-09-09
- Publication Date
- 2026-08-20
AI Technical Summary
Conventional technologies face challenges in accurately predicting machine tool failures due to synchronization of sensor information with NC control program commands, making it difficult to detect failures with high precision.
A learning program and information processing device that converts time-series numerical values from sensors into character strings, generates control instructions, and trains a machine learning model using labeled data to predict machine failures with high accuracy by integrating command and sensor data vectors.
Enables precise prediction of machine tool failures, improving production efficiency and safety by accurately associating sensor data with time-series changes and training a machine learning model to identify normal or failure conditions.
Smart Images

Figure 00000001_0000 
Figure 00000034_0000 
Figure 00000035_0000
Abstract
Description
Learning program, generation program, learning method, and information processing device
[0001] The present invention relates to a learning program and the like.
[0002] To alleviate labor shortages and improve operational efficiency at manufacturing sites, automation is being promoted for tasks that previously required human judgment, such as maintenance of machine tools and chemical plants, and line shutdowns. For example, manufacturing workers input numerically controlled (NC) programs into machine tools to operate them and improve manufacturing efficiency.
[0003] Furthermore, if a malfunction or other abnormality occurs in a machine tool, it could cause the production line to stop, leading to a decline in production efficiency or even to an accident, so there is a need to predict machine tool malfunctions before they occur.
[0004] For example, in conventional technology, a learning model is machine-learned using a training dataset consisting of information from multiple sensors and information on failures, and the information from multiple sensors is input into this machine-learned learning model to detect the occurrence of a failure in a machine tool.
[0005] Japanese Patent Application Laid-Open No. 2017-033526 Japanese Patent Application Laid-Open No. 2021-526250 Japanese Patent Application Laid-Open No. 2018-092428 Japanese Patent Application Laid-Open No. 2019-091367
[0006] However, the above-mentioned conventional techniques have the problem that they are unable to predict machine tool failures with high accuracy.
[0007] For example, in conventional technology, machine learning of a learning model is performed using information from multiple sensors, but the sensor information from a machine tool can change in synchronization with the control commands of an NC control program, making it difficult to predict failures using sensor information alone.
[0008] In one aspect, an object of the present invention is to provide a learning program, a generation program, a learning method, and an information processing device for a learning model that can predict machine failures with high accuracy.
[0009] In the first proposal, a computer is caused to execute the following process: The computer converts a plurality of time-series numerical values contained in sensing information from sensors installed on or around the machine into a character string representing the transition in the time series; The computer trains a machine learning model using training data including control instructions for controlling the machine, input data generated based on the character string information representing the transition in the time series, and a label indicating whether or not a sign of a failure has occurred in the machine.
[0010] Machine failures can be predicted with high accuracy.
[0011] FIG. 1 is a diagram illustrating an example of a system according to this embodiment. FIG. 2 is a diagram (1) illustrating processing in the preparation phase. FIG. 3 is a diagram (2) illustrating processing in the preparation phase. FIG. 4 is a diagram (1) illustrating processing in the learning phase. FIG. 5 is a diagram (2) illustrating processing in the learning phase. FIG. 6 is a diagram illustrating an example of the data structure of a training data table. FIG. 7 is a diagram illustrating processing in which an information processing device trains a machine learning model. FIG. 8 is a diagram illustrating processing in the inference phase. FIG. 9 is a functional block diagram illustrating a configuration of an information processing device according to this embodiment. FIG. 10 is a diagram illustrating an example of the data structure of a first vector dictionary. FIG. 11 is a diagram illustrating an example of the data structure of a second vector dictionary. FIG. 12 is a diagram illustrating an example of a machine control program. FIG. 13 is a flowchart (1) illustrating processing procedures in the preparation phase. FIG. 14 is a flowchart (2) illustrating processing procedures in the preparation phase. FIG. 15 is a flowchart (1) illustrating processing procedures in the learning phase. FIG. 16 is a flowchart (2) illustrating processing procedures in the learning phase. FIG. 17 is a flowchart (1) illustrating processing procedures in the inference phase. Fig. 18 is a flowchart (2) showing the processing procedure of the inference phase. Fig. 19 is a diagram explaining an example of the relationship between line shapes and PostScript programs. Fig. 20 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment.
[0012] Hereinafter, embodiments of the learning program, generation program, learning method, and information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments.
[0013] An example of a system according to the present embodiment will be described. FIG. 1 is a diagram showing an example of a system according to the present embodiment. As shown in FIG. 1, this system has a sensor 5, a machine tool 10, and an information processing device 100. The sensor 5 and the information processing device 100 are connected to each other wirelessly or by wire. The machine tool 10 and the information processing device 100 are connected to each other wirelessly or by wire. In this embodiment, the machine tool 10 and the information processing device 100 are described as separate devices, but they may also be a single device having the functions of the machine tool 10 and the functions of the information processing device 100.
[0014] The sensor 5 is a temperature sensor that measures the temperature of the machine tool 10 or the temperature around the machine tool 10. The sensor 5 may be installed on the machine tool 10 or in the vicinity of the machine tool 10. In this embodiment, the sensor 5 is described as a temperature sensor as an example, but it may also be another sensor such as a vibration sensor or a humidity sensor. Every time the sensor 5 measures the temperature, it outputs a value that is the measurement result to the information processing device 100.
[0015] Machine tool 10 is a machine that is driven based on a machine control program input from information processing device 100. For example, information processing device 100 inputs the command statements of each line included in the machine control program to machine tool 10 in order, and machine tool 10 executes the command statements in order.
[0016] Information processing device 100 predicts a failure of machine tool 10 based on character string information of a machine control program that controls machine tool 10 and information obtained by converting time-series numerical values output from sensor 5 into character strings that represent time-series transitions. For example, information processing device 100 performs processing in a preparation phase, a learning phase, and an inference phase. Below, the processing in the preparation phase, the learning phase, and the inference phase will be described in order.
[0017] The processing of the preparation phase will now be described. Figures 2 and 3 are diagrams for explaining the processing of the preparation phase. First, Figure 2 will be described. The information processing device 100 executes the following processing using a machine control program 50. The machine control program 50 is an example of a "control command." The machine control program 50 is a program that controls the machine tool 10, and is a program that is prepared in advance to generate a first vector dictionary D1, which will be described later. The machine control program 50 has multiple lines, each of which includes a command type, multiple arguments, etc. In the following description, the character strings on each line of the machine control program 50 will be referred to as a "command statement."
[0018] The information processing device 100 generates a plurality of command statements 51 and 52 by dividing the machine control program 50 into commands. For example, command statement 51 is the command statement on the first line of the machine control program 50, and has command type A, arguments a1 and a2, etc. Command statement 52 is the command statement on the second line of the machine control program 50, and has command type B, arguments b1 and b2, etc. For ease of explanation, command statements other than command statements 51 and 52 are omitted from Figure 2.
[0019] Next, the information processing device 100 divides each command statement into a plurality of tokens by tokenizing the command statement. For example, the information processing device 100 divides the command statement 51 into tokens 51a, 51b, and 51c. For example, the token 51a is "command type A." The token 51b is "argument a1." The token 51c is "argument a2."
[0020] The information processing apparatus 100 divides the command statement 52 into tokens 52a, 52b, and 52c. For example, the token 52a is "command type B." The token 52b is "argument b1." The token 52c is "argument b2."
[0021] The information processing apparatus 100 divides other command statements into tokens in the same manner.
[0022] After executing the token division, the information processing device 100 arranges the tokens in order. For example, the information processing device 100 arranges the tokens in order of tokens 51a, 51b, and 51c included in the command statement 51 on the first line, tokens 52a, 52b, and 52c included in the command statement on the second line, ..., and the tokens included in the command statement on the nth line.
[0023] The information processing device 100 applies algorithms such as CBoW or skip-gram (Word2vec) to each of the ordered tokens, treating each token as a word and calculating a vector for each token. The information processing device 100 registers the relationship between the tokens included in the command statement and the vectors of these tokens in a first vector dictionary D1. For example, the first vector dictionary D1 registers the vector of command type A, the vector of argument a1, the vector of argument a2, and the like, which are included in the command statement.
[0024] The information processing device 100 repeatedly executes the above process for other machine control programs, thereby registering the relationships between tokens and vectors included in the machine control programs in the first vector dictionary D1.
[0025] 3, the information processing device 100 executes the following process using the sensor data 60. The sensor data 60 is time-series information in which a value (for example, temperature) output from the sensor 5 is associated with a time T.
[0026] A graph 61 shows the relationship between time and value of the sensor data 60. In the graph 61, the horizontal axis corresponds to time, and the vertical axis corresponds to the value of the sensor 5. For example, the relationship between time and value of the sensor data 60 is shown as a line 61a on the graph 61.
[0027] The information processing device 100 generates a Postscript (registered trademark) program 62 based on the relationship between each time and value included in the sensor data 60. The Postscript program 62 corresponds to a "character string representing a time series transition." The Postscript program 62 is a page description language program that draws the line 61a of the graph 61, and has character strings used in Postscript. Values 0 to n conveniently indicate temperature values. Value 0 = 0.
[0028] The information processing apparatus 100 divides the Postscript program 62 into tokens. For example, the Postscript program 62 is divided into tokens 62a, 62b, 62c, 62d, 62e, 62f, 62g, 62h, 62i, 62j, ..., 62n, 62o, 62p, 62q, and 62r. T0 to Tn indicate time for convenience. Let T0=0.
[0029] Token 62a is "newpath". Token 62b is "T0". Token 62c is "value 0". Token 62d is "moveto". Token 62e is " <t1-t0>". Token 62f is "<value1-value0>". Token 62g is "lineto". Token 62h is " <t2-t1>". Token 62i is "<value2-value1>". Token 62j is "lineto". Token 62n is "<Tn-T(n-1)> ". The token 62o is "<value n-value(n-1)>". The token 62p is "lineto". The token 62q is "stroke". The token 62r is "showpage".
[0030] After performing the token division, the information processing device 100 arranges the tokens in order. For example, the information processing device 100 arranges the tokens 62a to 62l in the order of tokens 62a, 62b, 62c, 62d, 62e, 62f, 62g, 62h, 62i, 62j, ..., 62n, 62o, 62p, 62q, and 62r.
[0031] The information processing device 100 applies algorithms such as CBoW or skip-gram (Word2vec) to each of the ordered tokens 62a to 62r, treating each of the tokens 62a to 62r as a word, and calculates a vector for each token. The information processing device 100 registers the relationship between each token of the Postscript program 62 and the vector of this token in a second vector dictionary D2. For example, the second vector dictionary D2 registers vectors such as "newpath" and "lineto," vectors T1-T0, and vectors of value 1 and value 0.
[0032] The information processing apparatus 100 repeatedly executes the above process for other Postscript programs, thereby registering the relationships between tokens included in the Postscript programs and vectors in the second vector dictionary D2. Note that drawing may be similarly processed not only in a page description language such as Postscript, but also in a markup language such as SVG.
[0033] The information processing device 100 generates a first vector dictionary D1 and a second vector dictionary D2 by executing the above-mentioned preparation phase processing. Note that the information processing device 100 may acquire the already generated first vector dictionary D1 and second vector dictionary D2 from an external device or the like, and execute the subsequent learning phase processing and inference phase processing.
[0034] Next, the processing of the learning phase will be described. Figures 4 and 5 are diagrams for explaining the processing of the learning phase. First, Figure 4 will be described. For example, when information processing device 100 operates machine tool 10 using a machine control program, it outputs the command statements of each line in order to machine tool 10, and registers the time at which the command statements are output in association with the character strings of the command statements in command execution history table 70.
[0035] Furthermore, every time the information processing device 100 acquires a value (temperature) that is a measurement result from the sensor 5, it registers the value in the sensor value history table 80 in association with the time at which the value was acquired.
[0036] Based on the command execution history table 70 and the sensor value history table 80, the information processing device 100 associates command statements in the command execution history table 70 with the values of multiple sensors in the sensor value history table 80. For example, the information processing device 100 selects one command statement from the command execution history table 70. The command statement selected by the information processing device 100 is referred to as the "first command statement." The time of the first command statement is referred to as the "first time." The information processing device 100 identifies the time of the command statement executed next after the first command statement (hereinafter referred to as the "second command statement"). This predetermined time can be changed as appropriate.
[0037] The information processing device 100 extracts a plurality of values from a first time to a second time from the sensor values registered in the sensor value history table 80. Here, the information processing device 100 associates the "first command statement" with the "plurality of values from the first time to the second time" and registers them in the training data table 90. In addition, the production worker checks whether there are signs of a malfunction in the machine tool 10 between the first time and the second time, and sets a label of "normal" or "signs of malfunction present." The production worker may set a label in the training data table 90 at any time. Such values and settings can be changed as appropriate.
[0038] We now move on to the description of FIG. 5 . In graph 75 shown in FIG. 5 , the horizontal axis corresponds to time, and the vertical axis corresponds to the value of sensor 5. For example, the time of the first command is assumed to be "T=0." Furthermore, the time of the second command executed after the first command is assumed to be "T=1." Here, section ts1 is the time period during which machine tool 10 executes the first command. Section ts2 is the time period during which machine tool 10 executes the second command. "T=2" is the time of the command following the second command. Information processing device 100 associates the first command with multiple values measured by sensor 5 in section ts1 and registers them in training data table 90. Information processing device 100 associates the second command with multiple values measured by sensor 5 in section ts2 and registers them in training data table 90. When information processing device 100 registers multiple values measured by sensor 5 in training data table 90, it also registers the time at which each value was measured.
[0039] The information processing device 100 repeatedly executes the above process while changing the selected command statement, thereby associating the command statement with multiple sensor values corresponding to the command statement and a label, and registering them in the training data table 90.
[0040] 6 is a diagram showing an example of the data structure of a training data table 90. As shown in FIG. 6, this training data table 90 associates item numbers, command statements, command vectors, values, measurement times, script vectors, and labels. The item numbers are numbers that identify each record in the training data table 90.
[0041] The command statement is a command statement included in the command execution history table 70, and the value is a plurality of values included in the sensor value history table 80. A pair of a command statement and a value included in the same record in the training data table 90 corresponds to the pair of a "first command statement" and "a plurality of values from a first time to a second time" described in FIG. 5. The label is a label indicating whether the machine tool 10 is "normal" or "has signs of failure." For example, if the machine tool 10 is normal, the label is "0." If the machine tool has signs of failure, the label is "1." The measurement time is the time when each value was measured.
[0042] Here, the instruction vectors and script vectors included in the training data table 90 are calculated by the information processing device 100 executing the following process.
[0043] The process by which the information processing device 100 calculates an instruction vector will be described. The information processing device 100 acquires a command statement (for example, command type C, argument c1, argument c2) from the training data table 90 and divides the command statement into multiple tokens. The process by which the information processing device 100 divides a command statement into multiple tokens is the same as the process described in FIG. 2 .
[0044] The information processing device 100 compares each divided token with the first vector dictionary D1 to identify the vector of each token. The information processing device 100 calculates an instruction vector by integrating the vectors of each identified token, and registers the instruction vector in the training data table 90.
[0045] The information processing device 100 repeatedly executes the above process for each command statement included in the training data table 90 , calculates a command vector for each command statement, and registers it in the training data table 90 .
[0046] The process by which the information processing device 100 calculates a script vector will be described. The information processing device 100 acquires multiple values (e.g., value 1, value 2, value 3, ...) set in one record and a measurement time from the training data table 90, and generates a Postscript program based on the relationship between the acquired multiple values and the time. The information processing device 100 divides the generated Postscript program into tokens. The information processing device 100 compares each divided token with the second vector dictionary D2 to identify the vector of each token. The information processing device 100 calculates a script vector by integrating the vectors of each identified token and registers it in the training data table 90. The process by which the information processing device 100 generates a Postscript program based on the relationship between multiple values and the time and the process by which the information processing device 100 divides the Postscript program into tokens are similar to the process described in FIG. 3 .
[0047] The information processing device 100 repeatedly executes the above process for each value and measurement time included in the training data table 90 , calculates a script vector for each value, and registers it in the training data table 90 .
[0048] By executing the above processing, the information processing device 100 generates a training data table 90 for training a machine learning model.
[0049] 7 is a diagram illustrating a process in which an information processing device trains a machine learning model. The machine learning model M1 trained in this embodiment is a deep neural network (DNN) or the like.
[0050] The information processing device 100 selects one record (hereinafter, training data) from the training data table 90, and acquires the instruction vector, script vector, and label included in the selected training data. The information processing device 100 inputs the instruction vector and script vector to the machine learning model M1, calculates the difference between the output result of the machine learning model M1 and the label, and updates the parameters of the machine learning model M1 so as to reduce the difference.
[0051] The information processing device 100 repeatedly executes the above process based on a plurality of training data. For example, the information processing device 100 trains the machine learning model M1 based on the backpropagation method.
[0052] Next, the processing of the inference phase will be described. FIG. 8 is a diagram for explaining the processing of the inference phase. For example, information processing device 100 outputs command statement 55 included in the machine control program to machine tool 10 to drive machine tool 10. Information processing device 100 acquires a sensor value from sensor 5. For example, if the section in which command statement 55 is executed by machine tool 10 is defined as section ts55, information processing device 100 acquires the relationship between the value received from sensor 5 and the time (measurement time) in section ts55 as sensor data 66. The information processing device may also define section ts55 as a time period from the time command statement 55 is output to machine tool 10 until a predetermined time has elapsed.
[0053] The information processing device 100 divides the command statement 55 into a plurality of tokens. The process by which the information processing device 100 divides the command statement into a plurality of tokens is the same as the process described in FIG. 2. The information processing device 100 compares each divided token with the first vector dictionary D1 to identify the vector of each token. The information processing device 100 calculates the command vector SV1-55 by accumulating the vectors of each identified token.
[0054] The information processing device 100 generates a Postscript program 67 based on the relationship between multiple values included in the sensor data 66 and time. The information processing device 100 divides the generated Postscript program 67 into tokens. The information processing device 100 compares each divided token with the second vector dictionary D2 to identify the vector of each token. The information processing device 100 calculates a script vector WV2-66 by integrating the vectors of each identified token. The process by which the information processing device 100 generates a Postscript program based on the relationship between multiple values and time and the process by which the information processing device 100 divides the Postscript program into tokens are similar to the process described in FIG. 3 .
[0055] The information processing device 100 obtains an inference result by inputting the instruction vector SV1-55 and the script vector WV2-66 into the trained machine learning model M1. If the inference result is "0", the information processing device 100 determines that the machine tool 10 is normal. On the other hand, if the inference result is "1", the information processing device 100 determines that there is a sign of a malfunction in the machine tool 10 and outputs a warning.
[0056] As described above, information processing device 100 according to this embodiment generates a Postscript program capable of plotting time-series value variations based on information that associates values that are measurement results of sensors 5 set in machine tool 10 with time. Information processing device 100 calculates instruction vectors of instruction statements for machine tool 10 and script vectors of the Postscript program, and trains machine learning model M1 based on the instruction vectors and script vectors. By using this machine learning model M1, it is possible to predict failures of machine tool 10 with high accuracy.
[0057] The information processing device 100 first generates a Postscript program based on information that associates values that are measurement results of the sensor 5 with time, calculates script vectors based on character strings in the Postscript program, and trains the machine learning model M1 and predicts failures. This makes it possible to perform training and failure predictions using only the machine learning model M1 that targets natural language.
[0058] Next, an example of the configuration of an information processing device that executes the processes described in Figures 1 to 8 will be described. Figure 9 is a functional block diagram showing the configuration of an information processing device according to this embodiment. As shown in Figure 9, the information processing device 100 includes a timer 105, a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
[0059] The timer 105 outputs information about the current time to the control unit 150. Note that the control unit 150 may obtain information about the current time from an external device on the network.
[0060] The communication unit 110 is connected to the machine tool 10, the sensor 5, an external device, etc., via a wired or wireless connection, and performs data communication. For example, the communication unit 110 is a network interface card (NIC) or the like.
[0061] The input unit 120 is an input device that inputs various types of information to the information processing device 100. The input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.
[0062] The display unit 130 is a display device that displays information output from the control unit 150. The display unit 130 corresponds to a liquid crystal display, an organic EL (Electro Luminescence) display, a touch panel, or the like.
[0063] The storage unit 140 includes corpus data 40, a first vector dictionary D1, a second vector dictionary D2, an instruction execution history table 70, a sensor value history table 80, a training data table 90, a machine learning model M1, and a machine control program 141. The storage unit 140 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.
[0064] The corpus data 40 includes a machine control program 50, sensor data 60, etc., which are used when performing the preparation phase. The corpus data 40 is prepared in advance and is used when generating the first vector dictionary D1 and the second vector dictionary D2.
[0065] The first vector dictionary D1 is a dictionary that shows vectors of tokens (command types, arguments, etc.) included in statements of a machine control program. Fig. 10 is a diagram showing an example of the data structure of the first vector dictionary. As shown in Fig. 10, the first vector dictionary D1 associates tokens of statements with vectors.
[0066] The second vector dictionary D2 is a dictionary that shows the vectors of tokens included in a Postscript program. Fig. 11 is a diagram showing an example of the data structure of the second vector dictionary. As shown in Fig. 11, the second vector dictionary D2 associates tokens included in a Postscript program with vectors.
[0067] Command execution history table 70 stores command statements output by drive control unit 152 of control unit 150 to machine tool 10, in association with the times at which the command statements were output. Other explanations regarding command execution history table 70 correspond to the explanation of command execution history table 70 given in FIG. 4.
[0068] The sensor value history table 80 stores values acquired from the sensors 5 in association with the times at which the values were acquired. Other descriptions regarding the sensor value history table 80 correspond to those of the sensor value history table 80 described in FIG. 4 .
[0069] The training data table 90 is a table that holds the training data generated in the processing of the learning phase described above. The explanation of the training data table 90 corresponds to the explanation of the training data table 90 described in FIG.
[0070] When a command vector and a script vector are input, the machine learning model M1 outputs an estimation result as to whether or not the machine tool 10 is normal. The machine learning model M1 is a DNN or the like.
[0071] Machine control program 141 has statements for controlling machine tool 10 in the learning phase or the inference phase. Fig. 12 is a diagram showing an example of a machine control program. As shown in Fig. 12, the machine control program is made up of a plurality of statements, and each statement includes a command type, an argument, etc.
[0072] Returning to the description of Fig. 9, the control unit 150 includes an acquisition unit 151, a drive control unit 152, a sensor value acquisition unit 153, a preprocessing unit 154, a learning unit 155, and an inference unit 156. The control unit 150 is realized by, for example, a central processing unit (CPU) or a micro processing unit (MPU). The control unit 150 may also be implemented by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
[0073] The acquisition unit 151 acquires corpus data 40 from an external device or the like via a network, and registers the acquired corpus data 40 in the storage unit 140. The acquisition unit 151 may also acquire information on the first vector dictionary D1 and the second vector dictionary D2 from the external device and register the information in the storage unit 140.
[0074] In the learning phase and the inference phase, drive control unit 152 acquires a command statement from machine control program 141 and outputs the acquired command statement to machine tool 10, thereby driving machine tool 10. Drive control unit 152 also acquires the time at which the command statement is output to machine tool 10 from timer 105, associates the time with the command statement, and registers it in command execution history table 70. Drive control unit 152 repeatedly executes the above process every time it acquires a command statement from machine control program 141.
[0075] The drive control unit 152 may acquire a command statement from the machine control program 141 in the learning phase or the inference phase, or may acquire a command statement from different machine control programs in the learning phase and the inference phase.
[0076] In the learning phase and the inference phase, the sensor value acquisition unit 153 acquires sensor values from the sensor 5. The sensor value acquisition unit 153 acquires the time when the sensor value was acquired from the timer 105, associates the time with the sensor value, and registers the association in the sensor value history table 80. The sensor value acquisition unit 153 repeatedly executes the above process every time a value is acquired from the sensor 5.
[0077] The preprocessing unit 154 executes the preparatory phase processing described in Figures 2 and 3. For example, the preprocessing unit 154 acquires the machine control program 50 included in the corpus data 40 and performs instruction division and token division on the machine control program 50. The preprocessing unit 154 applies the CBoW or skip-gram (Word2vec) algorithm to each token to calculate the vector of each token. The preprocessing unit 154 registers the relationship between the token included in the command statement and the vector of this token in the first vector dictionary D1.
[0078] The preprocessing unit 154 acquires the sensor data 60 included in the corpus data 40 and generates a Postscript program 62 based on the relationship between each time and value included in the sensor data 60. The preprocessing unit 154 divides the Postscript program 62 into multiple tokens, applies the Word2vec algorithm to each token, and calculates the vector of each token. The preprocessing unit 154 registers the relationship between each token of the Postscript program 62 and the vector of this token in the second vector dictionary D2.
[0079] Other processes related to the pre-processing unit 154 are similar to those in the preparation phase described with reference to FIGS.
[0080] The learning unit 155 executes the learning phase processing described with reference to Figures 4 to 7. Based on the command execution history table 70 and the sensor value history table 80, the learning unit 155 associates command statements in the command execution history table 70 with multiple sensor values in the sensor value history table 80. The learning unit 155 acquires label information from the input unit 120 or the like. The learning unit 155 associates command statements with multiple sensor values corresponding to the command statements and labels, and registers them in the training data table 90.
[0081] The learning unit 155 performs the following process for each command statement registered in the training data table 90. The learning unit 155 divides the command statement into multiple tokens, compares each of the divided tokens with the first vector dictionary D1, and identifies the vector of each token. The learning unit 155 calculates an instruction vector by accumulating the vectors of each identified token, and registers the calculated instruction vector in the training data table 90.
[0082] The learning unit 155 performs the following process on the values of the sensor 5 and the measurement times of each value registered in the training data table 90. The learning unit 155 generates a Postscript program based on the relationships between multiple values and times. The learning unit 155 divides the Postscript program into tokens, compares each divided token with the second vector dictionary D2, and identifies the vector of each token. The learning unit 155 calculates a script vector by integrating the vectors of each identified token, and registers the script vector in the training data table 90.
[0083] By performing the above process, the learning unit 155 generates a training data table 90 for training the machine learning model M1.
[0084] The learning unit 155 selects training data from the training data table 90, and acquires the instruction vector, script vector, and label included in the selected training data. The learning unit 155 inputs the instruction vector and script vector to the machine learning model M1, calculates the difference between the output result of the machine learning model M1 and the label, and updates the parameters of the machine learning model M1 so as to reduce the difference.
[0085] The learning unit 155 repeatedly executes the above process based on a plurality of training data. For example, the learning unit 155 trains the machine learning model M1 based on the backpropagation method.
[0086] Other processes related to the learning unit 155 are similar to those in the learning phase described with reference to FIGS.
[0087] Inference unit 156 executes the processing of the inference phase described in Fig. 8. Inference unit 156 acquires a command statement (for example, command statement 55) output to machine tool 10 by drive control unit 152. In addition, inference unit 156 acquires information on the value of sensor 5 and the time in the section in which acquired command statement 55 is executed by machine tool 10 from sensor value history table 80. For example, if the section in which command statement 55 is executed by machine tool 10 is defined as section ts55, inference unit 156 acquires, as sensor data 66, from sensor value history table 80 the relationship between the value received from sensor 5 and the time (measurement time) in section ts55.
[0088] The inference unit 156 divides the command statement 55 into multiple tokens. The process by which the inference unit 156 divides the command statement into multiple tokens is the same as the process described in FIG. 2. The inference unit 156 compares each of the divided tokens with the first vector dictionary D1 to identify the vector of each token. The inference unit 156 calculates the command vector SV1-55 by accumulating the vectors of each identified token.
[0089] The inference unit 156 generates a Postscript program 67 based on the relationship between multiple values included in the sensor data 66 and time. The inference unit 156 divides the generated Postscript program 67 into tokens. The inference unit 156 compares each divided token with the second vector dictionary D2 to identify the vector of each token. The inference unit 156 calculates a script vector WV2-66 by integrating the vectors of each identified token. The process by which the inference unit 156 generates a Postscript program based on the relationship between multiple values and time, and the process by which the inference unit 156 divides the Postscript program into tokens are the same as the process described in FIG. 3 .
[0090] The inference unit 156 obtains an inference result by inputting the instruction vector SV1-55 and the script vector WV2-66 into the trained machine learning model M1. If the inference result is "0", the inference unit 156 determines that the machine tool 10 is normal. On the other hand, if the inference result is "1", the inference unit 156 determines that there is a sign of a malfunction in the machine tool 10, and outputs a warning to the display unit 130 or the like.
[0091] Next, an example of the processing procedure of the information processing device 100 according to this embodiment will be described. Fig. 13 is a flowchart (1) showing the processing procedure of the preparation phase. The pre-processing unit 154 of the information processing device 100 acquires a machine control program from the corpus data 40 (step S101). The pre-processing unit 154 performs instruction division on the machine control program (step S102).
[0092] The preprocessing unit 154 performs token division on each command statement (step S103).The preprocessing unit 154 applies the CBoW or skip-gram algorithm to calculate a vector for each token (step S104).
[0093] The preprocessing unit 154 associates the token with the vector of the token and registers the token in the first vector dictionary D1 (step S105).
[0094] If an unprocessed machine control program exists (step S106, Yes), the preprocessing unit 154 proceeds to step S101. On the other hand, if an unprocessed machine control program does not exist (step S106, No), the preprocessing unit 154 ends the process.
[0095] 14 is a flowchart (2) showing the processing procedure of the preparation phase. The preprocessing unit 154 of the information processing device 100 acquires sensor data from the corpus data 40 (step S111). The preprocessing unit 154 generates a Postscript program based on the relationship between each time and value included in the sensor data (step S112).
[0096] The preprocessing unit 154 performs tokenization on the Postscript program (step S113), and calculates the vector of each token by applying the CBoW or skip-gram algorithm (step S114).
[0097] The preprocessing unit 154 associates the token with the vector of the token and registers the token in the second vector dictionary D2 (step S115).
[0098] If unprocessed sensor data exists (step S116, Yes), the preprocessing unit 154 proceeds to step S111. On the other hand, if unprocessed sensor data does not exist (step S116, No), the preprocessing unit 154 ends the process.
[0099] 15 is a flowchart (1) showing the processing procedure of the learning phase. As shown in FIG. 15, the learning unit 155 of the information processing device 100 selects a first command statement from the command execution history table 70 (step S201). The learning unit 155 selects a second command statement that was executed one command after the first command statement from the command execution history table 70 (step S202).
[0100] The learning unit 155 identifies an interval in which the machine tool 10 executes the second command statement based on the time of the first command statement and the time of the second command statement (step S203). The learning unit 155 acquires a plurality of values and measurement times corresponding to the identified interval from the sensor value history table 80 (step S204). The learning unit 155 associates the second command with the plurality of values and measurement times corresponding to the interval, and registers them in the training data table 90 (step S205).
[0101] If an unselected command statement exists in the command execution history table 70 (step S206, Yes), the learning unit 155 proceeds to step S201. On the other hand, if an unselected command statement does not exist in the command execution history table 70 (step S206, No), the learning unit 155 proceeds to step S207.
[0102] The learning unit 155 divides the command sentences in the training data table 90 into tokens and identifies the vectors of each token based on each token and the first vector dictionary D1 (step S207). The learning unit 155 calculates the command vector by integrating the vectors of each token and registers it in the training data table 90 (step S208).
[0103] The learning unit 155 generates a Postscript program based on the multiple values and measurement times in the training data table 90 (step S209). The learning unit 155 divides the Postscript program into tokens and identifies the vectors of each token based on each token and the second vector dictionary D2 (step S210). The learning unit 155 calculates a script program by integrating the vectors of each token and registers it in the training data table 90 (step S211).
[0104] The learning unit 155 receives information about each label from the input unit 120 or the like, and sets the information in the training data table 90 (step S212).
[0105] 16 is a flowchart (2) showing the processing procedure of the learning phase. As shown in Fig. 16, the learning unit 155 of the information processing device 100 acquires sets of instruction vectors, script vectors, and labels as training data from the training data table 90 (step S251).
[0106] The learning unit 155 inputs the instruction vector and the script vector into the machine learning model and obtains the output result (step S252).
[0107] The learning unit 155 updates the parameters of the machine learning model M1 so as to reduce the error between the output result and the label (step S253).
[0108] If there is unselected training data (Yes at step S254), the learning unit 155 proceeds to step S251. On the other hand, if there is no unselected training data (No at step S254), the learning unit 155 ends the process.
[0109] 17 and 18 are flowcharts showing the processing steps of the inference phase. As shown in Fig. 17, the inference unit 156 of the information processing device 100 acquires a command statement output to the machine tool 10 (step S301). The inference unit 156 performs token division on the command statement (step S302). The inference unit 156 identifies the vector of each token based on each token of the command statement and the first vector dictionary (step S303). The inference unit 156 calculates the command vector by accumulating the vector of each token of the command statement (step S304).
[0110] The inference unit 156 registers sensor data including the sensor values and measurement times for the sections where the command statements are executed by the machine tool in a buffer (step S305). The inference unit 156 generates a Postscript program based on the relationship between the sensor values and measurement times included in the sensor data (step S306).
[0111] The inference unit 156 performs tokenization on the Postscript program (step S307). The inference unit 156 identifies the vector of each token based on each token of the Postscript program and the second vector dictionary D2 (step S308). The inference unit 156 calculates a script vector by integrating the vectors of each token of the Postscript program (step S309).
[0112] The inference unit 156 clears all information except the most recent sensor value and measurement time from the buffer (step S310), and proceeds to step S311 in FIG. 18 .
[0113] 18, the inference unit 156 inputs the instruction vector and the script vector to the machine learning model M1 (step S311). The inference unit 156 acquires the output result of the machine learning model M1 (step S312).
[0114] If the output result is "signs of a fault are present" (Yes at step S313), the inference unit 156 outputs a warning to the display unit 130 (step S314), and the process proceeds to step S301 in FIG.
[0115] If the output result is not "signs of failure present" (step S313, No), the inference unit 156 proceeds to step S301 in FIG.
[0116] Next, the effects of information processing device 100 according to this embodiment will be described. Based on information associating values resulting from measurements by sensors 5 set in machine tool 10 with time, information processing device 100 converts the progression of time-series numerical values into a renderable Postscript character string. Information processing device 100 calculates the command vector of a command statement for machine tool 10 and the script vector of a Postscript character string (Postscript program), and trains machine learning model M1 based on the command vector and the script vector. By using this machine learning model M1, it is possible to predict failures in machine tool 10 with high accuracy.
[0117] Although not described in the examples, the information processing device 100 may use a regression analysis technique such as linear interpolation to convert the buffered sensor data into a Postscript program that can accurately depict the time-series numerical transition of the sensor data. In such a case, such a Postscript program can be considered to correspond to data after noise has been removed. Therefore, the machine learning model M1 can be trained using a Postscript program that corresponds to data after noise has been removed.
[0118] When a machine executes a new command, its behavior changes, causing fluctuations in the sensor information. Furthermore, learning only the sensor information leaves insufficient information to determine whether the fluctuation is normal due to a change in behavior or abnormal, potentially signaling a malfunction. In response to this, the information processing device 100 can obtain the missing information by synchronizing with the command.
[0119] The information processing device 100 first generates a Postscript program based on information that associates values that are measurement results of the sensor 5 with time, calculates script vectors based on character strings in the Postscript program, and trains the machine learning model M1 and predicts failures. This makes it possible to perform training and failure predictions using only the machine learning model M1 that targets natural language.
[0120] The information processing device 100 divides a command statement into multiple tokens, calculates the vector of each token based on the first vector dictionary D1, and adds up the vectors of each token to calculate the command vector of the command statement. This makes it possible to generate a command vector that indicates the characteristics of the command statement.
[0121] The information processing device 100 generates a Postscript program from the relationship between the values of the sensor 5 and the measurement times, and divides the character strings of the Postscript program into multiple tokens. The information processing device 100 calculates the vector of each token based on the first vector dictionary D2, and calculates the script vector of the Postscript program by integrating the vectors of each token. This makes it possible to generate script vectors that indicate the characteristics of the time-series values of the sensor 5 from natural language.
[0122] The information processing device 100 inputs the command statement vector of the command statement to be output to the machine tool 10 and the script vector obtained from the sensor data of the section where the command statement is executed into the trained machine learning model M1, and obtains an output result. This makes it possible to predict failures of the machine tool 10 with high accuracy.
[0123] The information processing device 100 converts a plurality of time-series numerical values included in sensing information from sensors installed on a machine or in the vicinity of the machine into a character string representing a transition over time, divides the character string into a plurality of tokens, assigns vectors to the plurality of tokens, and generates a second vector dictionary D2 in which the tokens correspond to the vectors corresponding to the tokens. By using the second vector dictionary D2, it is possible to easily identify the vectors of the tokens of the Postscript program converted from the sensor data by comparing them with the tokens of the Postscript program converted from the sensor data.
[0124] In the above-described embodiment, the information processing apparatus 100 generates a Postscript program from the relationship between the value of the sensor 5 and the measurement time. Here, an example of the relationship between the shape of a line and a Postscript program will be described.
[0125] 19 is a diagram illustrating an example of the relationship between line shapes and Postscript programs. For example, the Postscript program for line information 160-1, which consists of straight lines and curves, becomes Postscript program 160-2. Note that A, B, C, and D in the line information indicate connection points, and α and β indicate control points. The same applies to other line information.
[0126] The Postscript program for line information 161-1 consisting of one straight line is Postscript program 161-2, and the Postscript program for line information 162-1 consisting of two straight lines is Postscript program 162-2.
[0127] The Postscript program for line information 163-1 corresponding to a Bezier curve is Postscript program 163-2, and the Postscript program for line information 164-1 consisting of two curves (Bezier curves) is Postscript program 164-2.
[0128] For example, the information processing device 100 stores in a table the relationship between the line information shown in Fig. 19 and the Postscript programs corresponding to the line information. The information processing device 100 identifies a combination of line information that fits a shape obtained from the values of the sensor 5 and the measurement times, and combines the Postscript programs corresponding to the identified line information to generate a final Postscript program. The information processing device 100 may also store in a table the relationship between line information other than that described in Fig. 19 and the Postscript programs.
[0129] Next, an example of the hardware configuration of a computer that realizes the same functions as the information processing device 100 described in the above embodiment will be described. Fig. 20 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.
[0130] 20, computer 200 has a CPU 201 that executes various types of arithmetic processing, an input device 202 that accepts data input from a user, and a display 203. Computer 200 also has a communication device 204 that exchanges data with machine tool 10, sensor 5, external devices, etc. via a wired or wireless network, and an interface device 205. Computer 200 also has a RAM 206 that temporarily stores various types of information, and a hard disk drive 207. Each of devices 201 to 207 is connected to a bus 208.
[0131] The hard disk drive 207 stores an acquisition program 207 a, a drive control program 207 b, a sensor value acquisition program 207 c, a preprocessing program 207 d, a learning program 207 e, and an inference program 207 f. The CPU 201 reads out each of the programs 207 a to 207 f and loads them into the RAM 206.
[0132] The acquisition program 207a functions as the acquisition process 206a. The drive control program 207b functions as the drive control process 206b. The sensor value acquisition program 207c functions as the sensor value acquisition process 206c. The preprocessing program 207d functions as the preprocessing process 206d. The learning program 207e functions as the learning process 206e. The inference program 207f functions as the inference process 206f.
[0133] The processing of the acquisition process 206a corresponds to the processing of the acquisition unit 151. The processing of the drive control process 206b corresponds to the processing of the drive control unit 152. The processing of the sensor value acquisition process 206c corresponds to the processing of the sensor value acquisition unit 153. The processing of the pre-processing process 206d corresponds to the processing of the pre-processing unit 154. The processing of the learning process 206e corresponds to the processing of the learning unit 155. The processing of the inference process 206f corresponds to the processing of the inference unit 156.
[0134] It should be noted that each of the programs 207a to 207f does not necessarily have to be stored in the hard disk drive 207 from the beginning. For example, each program may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207f.
[0135] 40 Corpus data 70 Command execution history table 80 Sensor value history table 90 Training data table 100 Information processing device 105 Timer 110 Communication unit 120 Input unit 130 Display unit 140 Storage unit 150 Control unit 151 Acquisition unit 152 Drive control unit 153 Sensor value acquisition unit 154 Preprocessing unit 155 Learning unit 156 Inference unit
Claims
1. A learning program that causes a computer to execute the following process: converting multiple time-series numerical values contained in sensing information from a machine or a sensor installed in the vicinity of the machine into a character string that represents the progression of the time series; and training a machine learning model using training data that includes control commands for controlling the machine, input data generated based on the information in the character string that represents the progression of the time series, and labels that indicate whether or not the machine is experiencing signs of a failure.
2. The learning program described in claim 1, characterized in that the conversion process converts the sensing information into a character string using a program that draws lines connecting multiple time series values contained in the sensing information with line segments or curves.
3. The learning program according to claim 1, further comprising causing the computer to execute a process of dividing the control command into tokens and accumulating the vectors of the divided tokens to calculate the vector of the control command.
4. The learning program described in claim 3, further comprising causing the computer to execute a process of dividing the character string converted by the conversion process into tokens and accumulating the vectors of the divided tokens to calculate the vector of the sensing information.
5. The learning program described in claim 4, characterized in that the process of calculating the vector of the control command calculates a first vector of the control command output to the machine, and the process of calculating the vector of the sensing information calculates a second vector of the sensing information corresponding to the control command output to the machine, and further causes the computer to execute a process of inferring whether or not a sign of a failure is occurring in the machine by inputting the first vector and the second vector into the trained machine learning model.
6. A learning method characterized by a computer executing a process of converting multiple time-series numerical values contained in sensing information from a machine or a sensor set in the vicinity of the machine into a character string representing the progression of the time series, and training a machine learning model using training data including control commands for controlling the machine, input data generated based on the information in the character string representing the progression of the time series, and labels indicating whether or not the machine is experiencing signs of a failure.
7. The learning method described in claim 6, characterized in that the conversion process converts the sensing information into a character string using a program that draws lines connecting multiple time series values contained in the sensing information with line segments or curves.
8. The learning method according to claim 6, further comprising causing the computer to execute a process of dividing the control command into tokens and accumulating the vectors of the divided tokens to calculate the vector of the control command.
9. The learning method described in claim 8, characterized in that the computer further executes a process of dividing the character string converted by the conversion process into tokens and accumulating the vectors of the divided tokens to calculate the vector of the sensing information.
10. The learning method described in claim 9, characterized in that the process of calculating the vector of the control command calculates a first vector of the control command output to the machine, and the process of calculating the vector of the sensing information calculates a second vector of the sensing information corresponding to the control command output to the machine, and further causes the computer to execute a process of inferring whether or not a sign of a failure is occurring in the machine by inputting the first vector and the second vector into the trained machine learning model.
11. An information processing device having a control unit that executes a process of converting multiple time series numerical values contained in sensing information from a machine or a sensor set in the vicinity of the machine into a character string representing the progression of the time series, and training a machine learning model using training data that includes control commands for controlling the machine, input data generated based on information on the character string representing the progression of the time series, and labels indicating whether or not the machine is experiencing signs of a failure.
12. The information processing device according to claim 11, characterized in that the conversion process converts the sensing information into a character string using a program that draws lines connecting multiple time-series values contained in the sensing information with line segments or curves.
13. The information processing apparatus according to claim 11, further comprising a process of dividing the control command into tokens and accumulating the vectors of the divided tokens to calculate the vector of the control command.
14. The information processing device according to claim 13, further comprising a process of dividing the character string converted by the conversion process into tokens and accumulating the vectors of the divided tokens to calculate the vector of the sensing information.
15. The information processing device described in claim 14, characterized in that the process of calculating the vector of the control command calculates a first vector of the control command output to the machine, and the process of calculating the vector of the sensing information calculates a second vector of the sensing information corresponding to the control command output to the machine, and further executes a process of inferring whether or not a sign of a failure is occurring in the machine by inputting the first vector and the second vector into the trained machine learning model.
16. A generation program that causes a computer to perform the following processes: converting multiple time-series numerical values contained in sensing information from a machine or a sensor set in the vicinity of the machine into a string representing the time-series progression; dividing the string into multiple tokens; assigning vectors to the multiple tokens; and generating dictionary data that associates the tokens with the vectors corresponding to the tokens.
Citation Information
Patent Citations
Fault indicator diagnostic system and fault indicator diagnostic method
EP3786748A1
Machine learning device and machine learning method for learning fault condition and fault prediction device and fault prediction system equipped with machine learning device
JP2017033526A
Classifier learning device, table type classifier, method, and program
JP2018077586A
Safety and reliability guarantees for laser fabrication
US20220066413A1