Simulation apparatus, program, and simulation method
The simulation device facilitates effective confirmation of supervised learning's effectiveness by using a chunk-based data setting approach, addressing data confidentiality and immediate analysis challenges in industrial machinery maintenance.
Patent Information
- Application Number
- JP2023215596
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2025-07-03
AI Technical Summary
Existing methods for confirming the effectiveness of supervised machine learning in condition-based maintenance of industrial machinery require actual machine usage, risking disclosure of confidential data and lacking immediate data analysis capabilities.
A simulation device and method that utilizes a chunk-based data setting approach for supervised learning, allowing data to be analyzed internally without external sharing, using a model storage unit, model calculation unit, and operation input unit to perform learning, inference, and comparison calculations.
Enables effective confirmation of AI effectiveness through supervised learning, reducing data disclosure risks and enabling immediate on-site data analysis, while ensuring appropriate AI parameter adjustment.
Smart Images

Figure 2025099158000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a simulation device.
Background Art
[0002] Conventionally, regarding the maintenance of factory facilities in the industrial machinery field, the application of AI (artificial intelligence) to the condition-based maintenance of mechanical systems has been progressing (for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
[0004] [Summary] When introducing AI into the above-mentioned condition-based maintenance, it is useful if the effect of AI can be confirmed without using an actual machine. As machine learning, so-called supervised learning using teacher data is known.
[0005] In view of the above situation, an object of the present disclosure is to provide a simulation device that can effectively confirm the effect of supervised machine learning.
[0006] A simulation device according to an aspect of the present disclosure includes a model storage unit that stores a machine learning model configured to perform learning and inference, a model calculation unit configured to perform calculation processing using the machine learning model, an operation input unit, a reading unit configured to read learning data and test data, a model setting unit configured to set the machine learning model based on an input by the operation input unit, and When sequentially supplying data to the machine learning model, a chunk of data for one time is referred to as a chunk. The model setting unit makes settings regarding a first chunk as a chunk of input data and a second chunk as a chunk of teacher data based on the loaded learning data, and makes settings regarding a third chunk as a chunk of test input data and a fourth chunk as a chunk of expected data based on the loaded test data. The model calculation unit performs a learning calculation using the machine learning model based on the first chunk and the second chunk, performs an inference calculation using the machine learning model based on the result of the learning and the third chunk, and is configured to calculate a comparison between the result of the inference and the fourth chunk.
[0007] Also, in a simulation method according to an aspect of the present disclosure, when sequentially supplying data to a machine learning model, a chunk of data for one time is referred to as a chunk. A first step of loading learning data. A second step of making settings regarding a first chunk as a chunk of input data and a second chunk as a chunk of teacher data based on the loaded learning data. A third step of loading test data. A fourth step of making settings regarding a third chunk as a chunk of test input data and a fourth chunk as a chunk of expected data based on the loaded test data. A fifth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk. A sixth step of performing an inference calculation using the machine learning model based on the result of the learning and the third chunk. A seventh step of calculating a comparison between the result of the inference and the fourth chunk.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
[0009] [Detailed Description] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.
[0010] [Configuration of Computer] FIG. 1 is a diagram showing the configuration of a computer 100 according to an exemplary embodiment of the present disclosure. The computer 100 functions as a simulation device according to the present disclosure described below. The computer 100 is, for example, a PC (personal computer). When the computer 100 is a PC, it does not matter whether it is a desktop type or a notebook type.
[0011] The computer 100 includes a CPU (Central Processing Unit) 100A, a memory 100B, an auxiliary storage device 100C, an operation input unit 100D, and a display unit 100E.
[0012] The CPU 100A has a control device and an arithmetic device (both not shown). The control device interprets program instructions and controls each part of the computer 100. The arithmetic device is a device that performs arithmetic processing.
[0013] Memory 100B is a semiconductor memory device that temporarily stores programs or data. The information stored in memory 100B is erased when the power of computer 100 is turned off.
[0014] Auxiliary storage device 100C is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), etc., and stores programs or data. The program stored in auxiliary storage device 100C is read into memory 100B. CPU 100A executes the program read into memory 100B.
[0015] Operation input unit 100D is composed of a keyboard or a mouse, etc., and is a device that gives operation input to computer 100. The information input from operation input unit 100D is sent to memory 100B.
[0016] Display unit 100E is composed of, for example, a liquid crystal display, etc., and converts the information acquired from memory 100B into an image and outputs it.
[0017] <Configuration of Simulation Device> Figure 2 is a diagram showing the configuration of simulation device 1 according to an exemplary embodiment of the present disclosure. Simulation device 1 is a device capable of simulating learning and inference by machine learning (AI).
[0018] Simulation device 1 includes a file storage unit 2, a file reading unit 3, a model storage unit 4, a model calculation unit 5, a model setting unit 6, a display control unit 7, an operation input unit 8, and a display unit 9. The program P (Figure 1) stored in the auxiliary storage device 100C of computer 100 is a program for causing computer 100 to function as simulation device 1.
[0019] The file storage unit 2 stores the learning file 21 and the test file 22, and is constituted by the auxiliary storage device 100C of the computer 100. The learning file 21 and the test file 22 are each configured as an Excel (registered trademark) file as an example. Note that the file may be stored in the auxiliary storage device 100C from the outside of the computer 100 via, for example, a USB interface or a network interface (both not shown in FIG. 1) in the computer 100.
[0020] The learning file 21 contains learning data 210. The learning data 210 contains input data 21A and teacher data 21B. The learning data 210 is data for performing so-called supervised learning by supplying the input data 21A and the teacher data 21B to the machine learning model 40 (described later) as input / output respectively.
[0021] The test file 22 contains test data 220. The test data 220 contains test input data 22A and expected data 22B. By inputting the test input data 22A to the machine learning model 40 to perform inference, inference data is output from the machine learning model 40. The output inference data is compared with the expected data (such as generation of abnormality degree described later).
[0022] The file reading unit 3 reads the learning file 21 and the test file 22 from the file storage unit 2.
[0023] The model storage unit 4 stores the machine learning model 40, and is constituted by the auxiliary storage device 100C of the computer 100. The machine learning model 40 is configured as a program P by, for example, MATLAB / Simulink (registered trademark). Specific examples of the machine learning model 40 will be described later.
[0024] The functions of the file reading unit 3, the model calculation unit 5, the model setting unit 6, and the display control unit 7 are realized by the CPU 100A executing the program P. Note that the operation input unit 8 and the display unit 9 correspond to the operation input unit 100D and the display unit 100E in the computer 100, respectively.
[0025] The model calculation unit 5 executes a simulation by performing arithmetic processing on the machine learning model 40 stored in the model storage unit 4. The model setting unit 6 makes settings regarding the machine learning model 40 stored in the model storage unit 4 (settings of data used for learning / inference, parameter settings, function type settings, etc.) according to the input from the operation input unit 8. The simulation by the model calculation unit 5 is performed according to the setting contents by the model setting unit 6. The display control unit 7 performs control to display various screens such as a setting screen described later on the display unit 9 according to the input from the operation input unit 8.
[0026] For example, in the maintenance of factory equipment in the industrial machinery field, the application of machine learning to the condition management and maintenance of mechanical systems is progressing. However, even if a user tries to use an AI algorithm that has caught their eye, it is necessary to provide data to the AI developer such as an AI vendor. In many cases, that data contains confidential information related to products and manufacturing processes, so it is difficult to disclose. Therefore, conventionally, it was only possible to refer to various cases such as those of AI vendors, or to solve open problems that are general AI performance benchmarks (for example, Boston housing price prediction, diesel fuel physical property estimation, etc.) to determine whether they are suitable for the user's problems and challenges. Naturally, since such open problems do not match the user's problems and challenges, it often happens that it becomes clear later that the selected AI algorithm is inappropriate or not very suitable when applied to the user's data. As a result, if the AI algorithm has to be reselected, it is disadvantageous for both the user and the AI vendor.
[0027] Even if one tries to use the data obtained by the user as described above with AI, it is necessary to share the data with an external party (such as an AI vendor or an IC manufacturer having an AI solution). That is, there is a risk of disclosing confidential data to the outside. Also, it is difficult to ensure that the data provided alone can be appropriately analyzed externally, and it is difficult to adjust appropriate AI parameters without advanced knowledge of the domain in which the user obtained the data. Communicating domain knowledge from the user to an AI vendor or the like is also very time-consuming, and communication errors are likely to occur due to differences in background knowledge. Also, the data obtained by the user cannot be analyzed on the spot immediately.
[0028] In view of the above situation, by using the simulation device 1 according to the present disclosure, it is possible to effectively confirm the AI effect by supervised learning using the data owned by the user. As a result, for example, the risk of disclosing confidential data to the outside is eliminated, and the acquired data can be analyzed on the spot. In particular, in the present disclosure, as will be described later, the concept of a chunk is introduced in setting input data and output data for a machine learning model, making it easy to set, for example, multiple types of input data in plural numbers.
[0029] <Supervised learning> Here, an outline of supervised learning will be described. FIG. 3 is a diagram for explaining supervised learning. In supervised learning, input data is given as input to a machine learning model (AI), and training data is given as output, and the parameters of the machine learning model are learned. Thereafter, test input data is input to the machine learning model, and inference data is output as a result inferred by the machine learning model. The output inference data is compared with expected data. In FIGS. 3 and 4, the inference data is illustrated as actual data as a comparison target with the expected data.
[0030] FIG. 4 is a diagram for explaining future prediction which is an example of a supervised learning task. Here, the original data is divided into input data for the first half of the time series and learning data for the second half. Then, learning is performed using the input data and the learning data by a machine learning model. After that, by inputting the test input data which is the first half of the time series into the machine learning model, the actual data (inference data) for the second half of the time series is output from the machine learning model. In this way, the data for the second half can be predicted based on the data for the first half of the time series. The output actual data is compared with the expected data.
[0031] <gui> Next, a GUI (Graphical User Interface) that enables settings related to the simulation in the simulation device 1 according to this embodiment will be described. Examples of various setting screens described below are displayed on the display unit 9 by the display control unit 7 (FIG. 2). Selections and settings on various setting screens, or switching between screens, are performed based on inputs from the operation input unit 8. The contents set on various setting screens are set by the model setting unit 6.
[0032] <<Loading of learning file>> When the program P is started, the first setting screen shown in FIG. 5 is displayed. The first setting screen is a screen for setting learning data. Tabs TB are displayed side by side horizontally at the upper part of the first setting screen. The setting screen can be switched by pressing the tab TB. FIG. 5 shows a state where the tab TB of "1.Training data" is pressed.
[0033] On the first setting screen, a selection button BT1 for selecting a learning file is displayed. By pressing the selection button BT1, the dialog box shown in FIG. 6 is displayed. In the dialog box, file names are listed in the selection part SA1. The file name selected in the selection part SA1 is displayed in the lower file name display part DA1. When the OK button BT2 is pressed in the dialog box, the file with the file name displayed in the file name display part DA1 is read by the file reading unit 3. Here, an Excel file with the extension xlsx can be selected.
[0034] Here, FIG. 7 is a diagram showing an example of data in a learning file. An example of data values written in cells of the learning file, which is an Excel file, is illustrated. The first column indicates the data No., the second column (column A) indicates a real random number greater than or equal to 0 and less than 1, the third column (column B) indicates a real random number greater than or equal to 0 and less than 1, the fourth column (column C) indicates the sum of the values in column A and column B in the same row, and the fifth column (column D) indicates the sum of the squares of the respective values in column A and column B in the same row. The data in column A and column B are input data, and the data in column C and column D are teacher data. As an example, the number of rows of both the input data and the teacher data is set to 500 rows. Hereinafter, it will be described assuming that such a learning file is read.
[0035] When the learning file is read, as shown in FIG. 8, in the learning data display section DA2 on the first setting screen, the data included in the read learning file is displayed in tabular form. In addition, when a variable name is entered in the first row of the learning file as shown in FIG. 7, the first row is ignored and the data is read. Thereby, the user can confirm whether the data is correctly read. Also, the number of rows of the read data is displayed in the row number display section DA3, and the number of columns of the read data is displayed in the column number display section DA4.
[0036] In the center of the first setting screen (FIG. 8), a chunk setting section ST1 is displayed. A chunk is a block of data for one time when sequentially supplied to the machine learning model 40. The chunk setting section ST1 includes an input data setting section ST11 and a teacher data setting section ST12.
[0037] The input data setting section ST11 includes a column number setting section ST111, a row number setting section ST112, and a column number display section ST113. In the column number setting section ST111, it is possible to input the column number in the read data indicating the first column of the input data. In the row number setting section ST112, it is possible to input the number of rows of one chunk of the input data in the read data. In the column number setting section ST113, it is possible to input the number of columns of one chunk of the input data in the read data.
[0038] In the example of FIG. 8, “2” is input to the column number setting unit ST111, “5” is input to the row number setting unit ST112, and “2” is input to the column number setting unit ST113. As a result, as shown in FIG. 9, the second column of the read data RDT is set as the leading column of the input data, and a block of 5 rows and 2 columns of data is set as one chunk.
[0039] The teacher data setting unit ST12 includes a column number setting unit ST121, a row number setting unit ST122, and a column number display unit ST123. The column number setting unit ST121 can input the column number in the read data indicating the leading column of the teacher data. The row number setting unit ST122 can input the number of rows of one chunk of the teacher data in the read data. The column number setting unit ST123 can input the number of columns of one chunk of the teacher data in the read data.
[0040] In the example of FIG. 10, “4” is input to the column number setting unit ST121, “5” is input to the row number setting unit ST122, and “2” is input to the column number setting unit ST123. As a result, as shown in FIG. 10, the fourth column of the read data RDT is set as the leading column of the teacher data, and a block of 5 rows and 2 columns of data is set as one chunk.
[0041] The chunk setting unit ST1 includes a chunk number setting unit ST13. The chunk number setting unit ST13 can input the number of chunks for each of the input data and the teacher data. The number of chunks for the input data and the teacher data needs to be the same. In the example of FIG. 8, the number of chunks is set to “100”. As a result, as shown in FIGS. 9 and 10, 100 chunks are set. Note that in FIG. 8, the values of the row number setting units ST112 and ST122 are the same, but different values may be set. Also, in FIG. 8, the values of the column number setting units ST113 and ST123 are the same, but different values may be set.
[0042] When the check button BT3 is pressed with a value input in the chunk setting unit ST1, the screen display as shown in FIG. 11 appears. Here, the first chunk of the input data set according to the setting content in the input data setting unit ST11 is displayed in the chunk display unit DA5. Also, the first chunk of the teacher data set according to the setting content in the teacher data setting unit ST12 is displayed in the chunk display unit DA6. Further, in the node number display unit DA7, the number of input nodes and output nodes of the machine learning model 40 are displayed. The number of input nodes is the number of data included in one chunk of the input data. The number of output nodes is the number of data included in one chunk of the teacher data. Thus, in the example of FIG. 11, both the number of input nodes and the number of output nodes are displayed as "10".
[0043] <<Loading of Test File>> When the tab TB of "2. Test data" is pressed on the first setting screen, the second setting screen as shown in FIG. 12 appears. On the second setting screen, a selection button BT4 for selecting a test file is displayed. By pressing the selection button BT4, the dialog box shown in FIG. 13 appears. In the dialog box, file names are listed in the selection unit SA2. The file name selected in the selection unit SA2 is displayed in the lower file name display unit DA8. When the OK button BT8 is pressed in the dialog box, the file with the file name displayed in the file name display unit DA8 is read by the file reading unit 3. Here, an Excel file with the extension xlsx can be selected.
[0044] Here, FIG. 14 is a diagram showing an example of data in a test practice file. An example of data values written in cells of a test file, which is an Excel file, is illustrated. The first column indicates the data No., the second column (column A) indicates a real random number greater than or equal to 0 and less than 1, the third column (column B) indicates a real random number greater than or equal to 0 and less than 1, the fourth column (column C) indicates the sum of the values in column A and column B in the same row, and the fifth column (column D) indicates the sum of the squares of the values in column A and column B in the same row. The data in column A and column B are the test input data, and the data in column C and column D are the expected data. As an example, the number of rows is set to 500 for both the test input data and the expected data. Hereinafter, it will be described assuming that such a test file is read.
[0045] When the test file is read, as shown in FIG. 15, in the test data display section DA9 on the second setting screen, the data included in the read test file is displayed in tabular form. If a variable name is entered in the first row of the test file as shown in FIG. 14, the first row is ignored and the data is read. Thereby, the user can confirm whether the data is correctly read. Also, the number of rows of the read data is displayed in the row number display section DA10, and the number of columns of the read data is displayed in the column number display section DA11.
[0046] In the center of the second setting screen (FIG. 15), a chunk setting section ST2 is displayed. The chunk setting section ST2 includes a test input data setting section ST21 and an expected data setting section ST22.
[0047] In the test input data setting unit ST21, a column number setting unit ST211, a row number setting unit ST212, and a column number display unit ST213 are included. In the column number setting unit ST211, the column number in the read data indicating the first column of the test input data can be input. In the row number setting unit ST212, the number of rows of one chunk of the test input data in the read data is displayed. The number of rows matches the set number of rows of one chunk of the input data (input to the row number setting unit ST112). In the column number setting unit ST213, the number of columns of one chunk of the test input data in the read data is displayed. The number of columns matches the set number of columns of one chunk of the input data (input to the column number setting unit ST113).
[0048] In the example of FIG. 15, "2" is input to the column number setting unit ST211, "5" is displayed in the row number setting unit ST212, and "2" is displayed in the column number setting unit ST213. As a result, as shown in FIG. 16, the second column of the read data RDT is set as the first column of the test input data, and a block of 5 rows and 2 columns of data is set as one chunk.
[0049] In the expected data setting unit ST22, a column number setting unit ST221, a row number setting unit ST222, and a column number display unit ST223 are included. In the column number setting unit ST221, the column number in the read data indicating the first column of the expected data can be input. In the row number setting unit ST222, the number of rows of one chunk of the expected data in the read data is displayed. In the column number setting unit ST223, the number of columns of one chunk of the expected data in the read data is displayed.
[0050] In the example of FIG. 15, "4" is input to the column number setting unit ST221, "5" is displayed in the row number setting unit ST222, and "2" is displayed in the column number setting unit ST223. As a result, as shown in FIG. 17, the fourth column of the read data RDT is set as the first column of the teacher data, and a block of 5 rows and 2 columns of data is set as one chunk.
[0051] The chunk setting unit ST2 includes a chunk number setting unit ST23. The chunk number setting unit ST23 can input the number of chunks for each of the test input data and the expected data. The number of chunks for the test input data and the expected data needs to be the same. In the example of FIG. 15, the number of chunks is set to "100". As a result, as shown in FIGS. 16 and 17, 100 chunks are set.
[0052] When the check button BT6 is pressed with a value input in the chunk setting unit ST2, the screen display as shown in FIG. 11 appears. Here, the first chunk of the test input data set according to the setting content in the test input data setting unit ST21 is displayed in the chunk display unit DA12. Also, the first chunk of the teacher data set according to the setting content in the expected data setting unit ST22 is displayed in the chunk display unit DA13. 。
[0053] <<Machine Learning Model Setting and Simulation>> When the tab TB of "3.AI Settings and Sim” is pressed on the second setting screen, the third setting screen as shown in FIG. 19 is displayed. The third setting screen is for parameter setting of the machine learning model (AI) 40, simulation execution, and confirmation of simulation results.
[0054] Here, an example of the machine learning model 40 will be described. As the AI model used in the machine learning model 40, for example, a three-layer neural network 10 as shown in FIG. 20 is used.
[0055] As shown in FIG. 20, the three-layer neural network 10 is an AI model having an input layer 10A, a hidden layer 10B, and an output layer 10C. Generally, in the three-layer neural network 10, for n-dimensional input data x∈R of batch size k k×n the n'-dimensional inference result y∈R k×n’ is obtained as y = G(x·α + b)β. Here, α∈R n×m is the weight that connects the input layer 10A and the hidden layer 10B, and β ∈ R m×n’ is the weight that connects the hidden layer 10B and the output layer 10C. Also, b ∈ R m is the bias of the hidden layer 10B, and G is the activation function of the hidden layer 10B
[0056] In this embodiment, an algorithm that can sequentially learn the three - layer neural network 10 with an arbitrary batch size is used. The batch size is k i The i - th training data {x i ∈ R ki×n , t i ∈ R ki×n’} is obtained, and it is necessary to find β that minimizes the error represented by the following formula (1). i
Equation
[0057] The optimized weight β i is calculated by the following formula (2). P i = P i-1 - P i-1 H i T (I + H i P i-1 H i T ) -1 H i P i-1 β i = β i-1 + P i H i T (t i - H i β i-1 ) (2)
[0058] Here, P0 and β0 are obtained by the following formula (3). P0 = (H0 T H0 -1 β0 = P0H0 T t0(3)
[0059] The learning algorithm is as follows. (1) Initialize the values of the weights α and the bias b with random numbers. (2) Calculate H0 for x0, and calculate P0 and β0. (3) For each i-th training data of the batch size k i obtained, sequentially calculate P i and β i . Instead of using the calculation formula of β0 in Equation (3), a value initialized with a random number may be used as β0.
[0060] On the third setting screen shown in FIG. 19, the AI parameter setting unit ST3 is displayed. The AI parameter setting unit ST3 includes an input node number setting unit ST31, a hidden layer node number setting unit ST32, and an output node number setting unit ST33. In the input node number setting unit ST31, the number of nodes in the input layer 10A (i.e., the value of n above) is displayed. The number of nodes in the input layer is calculated by multiplying the number of rows and columns of one chunk of the input data. The hidden layer node number setting unit ST33 can input the number of nodes in the hidden layer 10B (i.e., the value of m above). In the output node number setting unit ST33, the number of nodes in the output layer 10C (i.e., the value of n' above) is displayed. The number of nodes in the output layer is calculated by multiplying the number of rows and columns of one chunk of the teacher data. That is, the data of one chunk corresponds to the data with a batch size of 1.
[0061] The AI parameter setting unit ST3 also includes an activation function setting unit ST34, a loss function setting unit ST35, and a forgetting rate setting unit ST36. In the activation function setting unit ST34, the type of the activation function of the hidden layer 10B can be selected. The activation function can be set to, for example, Sigmoid or ReLU.
[0062] In the loss function setting unit ST35, the type of loss function used to calculate the anomaly degree in the machine learning model 40 can be selected. The loss function can be set to, for example, MAE or MSE. When the loss function is MAE, the loss function L is expressed as shown in the following equation (4). [Number] Also, when the loss function is MSE, the loss function L is expressed as shown in the following equation (5). [Number]
[0063] In the forgetting rate setting unit ST36, the value of the forgetting rate can be input. The forgetting rate is a parameter representing the degree of forgetting the learning result. Examples of methods that do not reflect the learning result include using past learning results and initializing the learning result. A forgetting rate of 1 means not forgetting the previous learning result at all, and a forgetting rate of 0 means forgetting everything.
[0064] When the settings for all setting items are completed through the above setting screen and the simulation start button BT7 is pressed, the model calculation unit 5 executes a simulation according to the content set by the model setting unit 6. Here, each chunk of the input data and the teacher data is sequentially supplied to the machine learning model 40, and β is sequentially updated by the above algorithm to perform learning. During learning, an inference is also performed when the input data is input to the machine learning model 40. The inference result is calculated for each chunk of the input data. Also, after all the input data is supplied and the learning is completed, an inference is also performed when the test input data is input to the machine learning model 40. The inference result is calculated for each chunk of the test input data. The inference result here is compared with the expected data.
[0065] After the simulation is completed, as shown in FIG. 19, the test result is displayed on the test result display unit TA1 on the third setting screen.
[0066] In the test result display unit TA1, the abnormality degree display units TA11 and TA12 are displayed. In the abnormality degree display unit TA11, the test No. and the test score are displayed in a tabular form in correspondence. The test No. corresponds to the chunk number of the expected data. That is, the maximum value of the test No. is the number of chunks. The test score corresponds to the abnormality degree and is the value of the loss function based on the inference result for each chunk of the expected data and the expected data. In the abnormality degree display unit TA12, the abnormality degree is displayed in a graph form with the test No. displayed in the abnormality degree display unit TA11 on the horizontal axis and the test score on the vertical axis.
[0067] Also, in the test result display unit TA1, the error display units TA13 and TA14 are also displayed. In the error display unit TA13, the row number (Row No.), the expected data (y_expected), the inference data (y_actual), and the error error are displayed in a tabular form. The row number is the row number of the expected data read when reading the test file, the expected data is the expected data corresponding to the row number, and the inference data is the inference result corresponding to the expected data. The error is the error between the inference data and the expected data and is calculated by the following formula (6). In the example of FIG. 19, error_1 and error_2 are displayed as the errors.
Equation
[0068] In the error display unit TA14, the abnormality degree is displayed in a graph form with the row number displayed in the error display unit TA13 on the horizontal axis and the error on the vertical axis.
[0069] On the third setting screen, by pressing the "Training" tab TB2, the display can be switched to the learning result display section TA2 (Fig. 21). In the learning result display section TA2, the abnormality degree (learning degree) display sections TA21 and TA22 are displayed. In the abnormality degree display section TA21, the learning No. (Training No.) and the learning score (Training SCORE) are displayed in a tabular format in correspondence. The learning No. corresponds to the chunk number of the teacher data. That is, the maximum value of the learning No. is the number of chunks. The learning score corresponds to the abnormality degree and is the value of the loss function based on the inference result for each chunk of the teacher data and the teacher data. In the abnormality degree display section TA22, the abnormality degree is displayed in a graph format with the learning No. displayed in the abnormality degree display section TA21 on the horizontal axis and the learning score on the vertical axis.
[0070] Also, in the learning result display section TA2, the error display sections TA23 and TA24 are also displayed. In the error display section TA23, the row number (Row No.), the teacher data (y_training), the inference data (y_actual), and the error error are displayed in a tabular format. The row number is the row number of the teacher data read when the learning file is read. The teacher data is the teacher data corresponding to the row number, and the inference data is the inference result corresponding to the teacher data. The error is the error between the inference data and the teacher data and is calculated by the following formula (7). In the example of Fig. 21, error_1 and error_2 are displayed as the errors.
Equation
[0071] In the error display section TA24, the abnormality degree is displayed in a graph format with the row number displayed in the error display section TA23 on the horizontal axis and the error on the vertical axis.
[0072] <<Saving of Simulation Results>> When the "Save" tab TB is pressed, a save screen for saving the simulation results is displayed as shown in Fig. 22. On the save screen, a file name setting section FA1 where the file name to be saved can be specified is displayed. In the file name setting section FA1, the first character of the file name can be input. In Fig. 22, as an example, the string after the first character is "_yymmdd_HHMM_SS_***". The file has an extension of.xlsx and is saved as an Excel file. In the example of Fig. 22, "data" is input in the file name setting section FA1.
[0073] On the save screen, the data content to be saved is displayed below. In Fig. 22, it is shown that in the file with the file name containing "_yymmdd_HHMM_SS_1", the row number (Row No.), teacher data (y_training), inference data (y_actual), and error error displayed in the aforementioned error display section TS23 are saved. Also, in the file with the file name containing "_yymmdd_HHMM_SS_2", it is shown that the row number (Row No.), expected data (y_expected), inference data (y_actual), and error error displayed in the aforementioned error display section TS13 are saved.
[0074] When the save button BT8 is pressed with the input in the file name setting section FA1, a dialog box as shown in Fig. 23 is displayed. In the dialog box, the folder names are listed in the selection section SA3. The folder name selected in the selection section SA3 is displayed in the folder name display section DA14 below. When the OK button BT9 is pressed in the dialog box, the file is saved in the folder with the folder name displayed in the folder name display section DA14.
[0075] As described above, in this embodiment, a GUI suitable for confirming the AI effect of supervised learning is realized, improving convenience for the user.
[0076] <Modification Example> FIG. 24 is a diagram showing a third setting screen according to a modified example. In this modified example, in the AI parameter setting unit ST3 on the third setting screen of FIG. 19 according to the above-described embodiment, a learning repetition number setting unit ST37 is added.
[0077] In the learning repetition number setting unit ST37, the number of times of repeating learning can be input. When the simulation start button BT7 is pressed with the state input to the learning repetition number setting unit ST37, learning using all chunks of the input data is repeated the number of times set in the learning repetition number setting unit ST37. That is, when the last chunk is used, learning resumes from the first chunk. As a result, as shown in FIG. 24, in the abnormality degree display unit TA22, the state of repeating learning is displayed. According to such a modified example, it is possible to learn so that the abnormality degree (learning degree) approaches a flat state without increasing the input data and the teacher data.
[0078] <Simulation of full charge capacity> Here, as an example of simulation using the simulation device 1, a deterioration simulation of the full charge capacity during the charge and discharge cycle test of the battery will be described. When performing the simulation, the following assumptions were made. Assumption 1: The full charge capacity FC of the battery linearly deteriorates (decreases) to about 80% at 500 cycles. Assumption 2: The higher the temperature T and the discharge current Ib, the faster the deterioration. Therefore, it was assumed that the full charge capacity FC is updated every 10 cycles by the following equation (8). FC = FC×(1 - 0.05×Rand() - Ib×0.01 - T×0.0003) (8) However, Rand() is a random function.
[0079] Under the conditions of the same temperature T and the same discharge current Ib, the full charge capacity FC1 for 100 cycles is obtained by the above formula (8), and the temperature T, discharge current Ib, cycle, and full charge capacity FC1 are used as the input data for one chunk. At this time, the full charge capacity FC2 for 500 cycles after 100 cycles is obtained by the above formula (8), and the full charge capacity FC2 is used as the teacher data for one chunk.
[0080] As an example, the temperature T is set to 0°C, 15°C, 25°C, 45°C, 60°C, and the discharge current Ib is set to 0.1 A, 0.2 A, 0.35 A. Input data is created in 15 combinations of temperature T and discharge current Ib, and teacher data corresponding to the input data is created. The learning data created in this way is shown in Fig. 25. The input data CH1 corresponds to the teacher data CH10, the input data CH2 corresponds to the teacher data CH20, and so on. The number of rows of one chunk of the input data is 10, the number of columns is 4, the number of rows of one chunk of the teacher data is 50, and the number of columns is 1. The number of chunks is 15.
[0081] Learning can be performed by supplying such learning data to the machine learning model 40. As test data, under the conditions of the same temperature T and the same discharge current Ib as the input data, the full charge capacity FC1 for 100 cycles is obtained by the above formula (8), and the temperature T, discharge current Ib, cycle, and full charge capacity FC1 are used as the test input data for one chunk. At this time, the full charge capacity FC2 for 500 cycles after 100 cycles is obtained by the above formula (8), and the full charge capacity FC2 is used as the expected data for one chunk.
[0082] By using the test data as described above, the test input data can be input to the machine learning model 40 for each chunk to infer the full charge capacity, and the inference result can be compared with the expected data. Therefore, as shown in Fig. 26, the full charge capacity for the future 500 cycles can be estimated from the full charge capacity for 100 cycles, and the estimation accuracy can be confirmed.
[0083] <Others> In addition, various technical features disclosed in this specification can be variously modified within the scope not departing from the gist of the technical creation, in addition to the above-described embodiments. That is, the above-described embodiments should be considered as illustrative in all respects and not restrictive, and the technical scope of the present invention is not limited to the above-described embodiments, but should be understood to include all modifications belonging to the meaning and scope equivalent to the claims.
[0084] For example, in the above-described embodiment, the chunks are set two-dimensionally by the number of rows and columns, but the chunks may be set in three or more dimensions.
[0085] <Supplementary Note> As described above, the simulation device (1) according to one aspect of the present disclosure includes a model storage unit (4) in which a machine learning model (40) configured to perform learning and inference is stored, a model calculation unit (5) configured to perform calculation processing using the machine learning model, an operation input unit (8), a reading unit (3) configured to read learning data (210) and test data (220), a model setting unit (6) configured to set the machine learning model based on an input from the operation input unit, and assuming that a block of data for one time when sequentially supplying data to the machine learning model is referred to as a chunk, the model setting unit sets the first chunk as the input data chunk and the second chunk as the teacher data chunk based on the read learning data, and sets the third chunk as the test input data chunk and the fourth chunk as the expected data chunk based on the read test data. The model calculation unit performs calculations for learning using the machine learning model based on the first chunk and the second chunk, performs calculations for inference using the machine learning model based on the result of the learning and the third chunk, and calculates a comparison between the result of the inference and the fourth chunk (first configuration).
[0086] Further, in the first configuration, the model setting unit may be configured to be able to set the first chunk and the second chunk by setting the column number, the number of rows, and the number of columns as the first column in the loaded learning data (second configuration).
[0087] Further, in the first or second configuration, the model setting unit may be configured to be able to set the number of chunks of the first chunk, and the number of chunks of the first chunk and the second chunk may be the same (third configuration).
[0088] Further, in any of the first to third configurations, the model setting unit may be configured to be able to set the third chunk and the fourth chunk by setting the column number, the number of rows, and the number of columns as the first column in the loaded test data (fourth configuration).
[0089] Further, in the fourth configuration, a first display control unit may be provided that is configured to perform control to automatically display the number of rows and the number of columns of the third chunk that respectively match the number of rows and the number of columns when the number of rows and the number of columns of the first chunk are set, and to automatically display the number of rows and the number of columns of the fourth chunk that respectively match the number of rows and the number of columns when the number of rows and the number of columns of the second chunk are set (fifth configuration).
[0090] Further, in any of the first to fifth configurations, the model setting unit may be configured to be able to set the number of chunks of the third chunk, and the number of chunks of the third chunk and the fourth chunk may be the same (sixth configuration).
[0091] Further, in any of the first to sixth configurations, the model setting unit may be configured to be able to set items related to the neural network of the machine learning model (seventh configuration).
[0092] Further, in the seventh configuration, the item may include a forgetting rate which is a parameter representing the degree of forgetting the learning result (eighth configuration).
[0093] Further, in any of the first to eighth configurations, it may be configured to include a second display control unit that performs control to display the value of the loss function based on the inference result during learning by the machine learning model and the teacher data for each second chunk (ninth configuration).
[0094] Further, in any of the first to ninth configurations, it may be configured to include a third display control unit that performs control to display the ratio of the difference between the inference result during learning by the machine learning model and the teacher data to the teacher data as an error (tenth configuration).
[0095] Further, in any of the first to tenth configurations, it may be configured to include a fourth display control unit that performs control to display the value of the loss function based on the inference result of the machine learning model using the test input data and the expected data for each fourth chunk (eleventh configuration).
[0096] Further, in any of the first to eleventh configurations, it may be configured to include a fifth display control unit that performs control to display the ratio of the difference between the inference result of the machine learning model using the test data and the expected data to the expected data as an error (twelfth configuration).
[0097] Further, in any of the first to twelfth configurations, the model setting unit may be configured to be able to set the number of repetitions for repeatedly performing learning using all of the first chunk and the second chunk (thirteenth configuration).
[0098] Further, in any one of the configurations from the first to the thirteenth, it may be configured to include a sixth display control unit configured to perform control to display the first chunk and the first chunk at the head of each of the second chunks that are set (the fourteenth configuration).
[0099] Further, in any one of the configurations from the first to the fourteenth, it may be configured to include a seventh display control unit configured to perform control to display the loaded learning data (the fifteenth configuration).
[0100] Further, in any one of the configurations from the first to the fifteenth, it may be configured to include an eighth display control unit configured to perform control to display the first chunk of each of the set third chunk and the fourth chunk (the sixteenth configuration).
[0101] Further, in any one of the configurations from the first to the sixteenth, it may be configured to include a ninth display control unit configured to perform control to display the loaded test data (the seventeenth configuration).
[0102] Further, in any one of the configurations from the first to the seventeenth, the learning data and the test data may each include temperature, discharge current, number of cycles, and full charge capacity as the input data and the test input data, and the learning data and the test data may each include the full charge capacity of the cycle after the number of cycles as the teacher data and the expected data (the eighteenth configuration).
[0103] Further, a program (P) according to an aspect of the present disclosure is a program for causing a computer (100) to function as a simulation device having any one of the configurations from the first to the eighteenth.
[0104] In addition, in the simulation method according to one aspect of the present disclosure, when sequentially supplying data to a machine learning model, a chunk of data for one time is referred to as a chunk, a first step of reading learning data; a second step of setting a first chunk as a chunk of input data and a second chunk as a chunk of teacher data based on the read learning data; a third step of reading test data; a fourth step of setting a third chunk as a chunk of test input data and a fourth chunk as a chunk of expected data based on the read test data; a fifth step of performing a learning operation using the machine learning model based on the first chunk and the second chunk; a sixth step of performing an inference operation using the machine learning model based on the result of the learning and the third chunk; and a seventh step of calculating a comparison between the result of the inference and the fourth chunk.
Industrial Applicability
[0105] The present disclosure can be used, for example, in supervised learning simulations for various applications. It can be used for.
Description of Reference Numerals
[0106] 1 Simulation device 2 File storage unit 3 File reading unit 4 Model storage unit 5 Model operation unit 6 Model setting unit 7 Display control unit 8 Operation input unit 9 Display unit 10 Three-layer neural network 10A Input layer 10B Hidden layer 10C Output layer 21 Learning file 21A Input Data 21B Teacher Data 22 Test File 22A Test Input Data 22B Expected Data 40 Machine Learning Model 100 Computer 100A CPU 100B Memory 100C Auxiliary Storage Device 100D Operation Input Unit 100E Display Unit 210 Learning Data 220 Test Data P Program< / gui>
Claims
1. A model storage unit storing a machine learning model configured to perform learning and inference; A model operation unit configured to perform arithmetic processing using the machine learning model; An operation input unit; A reading unit configured to read learning data and test data; A model setting unit configured to set the machine learning model based on an input from the operation input unit; comprising: When a block of data for one time when sequentially supplying data to the machine learning model is referred to as a chunk, the model setting unit sets settings regarding a first chunk as a chunk of input data and a second chunk as a chunk of teacher data based on the read learning data, and sets settings regarding a third chunk as a chunk of test input data and a fourth chunk as a chunk of expected data based on the read test data; the model operation unit performs learning operations using the machine learning model based on the first chunk and the second chunk, performs inference operations using the machine learning model based on the result of the learning and the third chunk, and calculates a comparison between the result of the inference and the fourth chunk. A simulation device.
2. The simulation device according to claim 1, wherein the model setting unit can set the first chunk and the second chunk by setting a column number, a number of rows, and a number of columns as the first column in the read learning data.
3. The simulation device according to claim 1, wherein the model setting unit can set the number of chunks of the first chunk, and the number of chunks of the first chunk and the second chunk are the same.
4. The simulation device according to claim 1, wherein the model setting unit can set the third chunk and the fourth chunk by setting a column number, a number of rows, and a number of columns as the first column in the read test data.
5. When the number of rows and columns of the first chunk are set, the number of rows and columns of the third chunk that respectively match the number of rows and columns are automatically displayed. When the number of rows and columns of the second chunk are set, control is performed to automatically display the number of rows and columns of the fourth chunk that respectively match the number of rows and columns. The simulation device according to claim 4, comprising a first display control unit configured to perform such control.
6. The model setting unit can set the number of chunks of the third chunk, and the number of chunks of the third chunk and the fourth chunk match. The simulation device according to claim 1.
7. The model setting unit can set items related to the neural network of the machine learning model. The simulation device according to claim 1.
8. The item includes a forgetting rate, which is a parameter representing the degree of forgetting the learning result. The simulation device according to claim 7.
9. The simulation device according to claim 1, comprising a second display control unit configured to perform control to display the value of a loss function based on the inference result during learning by the machine learning model and the teacher data for each second chunk.
10. The simulation device according to claim 1, comprising a third display control unit configured to perform control to display, as an error, the ratio of the difference between the inference result during learning by the machine learning model and the teacher data to the teacher data.
11. The simulation device according to claim 1, comprising a fourth display control unit configured to perform control to display the value of a loss function based on the inference result of the machine learning model using the test input data and the expected data for each fourth chunk.
12. The simulation device according to claim 1, comprising a fifth display control unit configured to perform control to display, as an error, the ratio of the difference between the inference result of the machine learning model using the test data and the expected data to the expected data.
13. The model setting unit can set the number of repetitions for repeatedly performing learning using all of the first chunks and the second chunks. The simulation device according to claim 1.
14. A program for causing a computer to function as the simulation device according to any one of claims 1 to 13.
15. Assuming that a chunk of data for one time when sequentially supplying data to a machine learning model is called a chunk, a first step of reading learning data, a second step of making settings regarding a first chunk as a chunk of input data and a second chunk as a chunk of teacher data based on the read learning data, a third step of reading test data, a fourth step of making settings regarding a third chunk as a chunk of test input data and a fourth chunk as a chunk of expected data based on the read test data, a fifth step of performing a learning operation using the machine learning model based on the first chunk and the second chunk, a sixth step of performing an inference operation using the machine learning model based on the result of the learning and the third chunk, a seventh step of calculating a comparison between the result of the inference and the fourth chunk, a simulation method comprising.
Citation Information
Patent Citations
Artificial intelligence algorithm
WO2019035279A1