Simulation device, program, and simulation method
The simulation device and method allow users to evaluate AI algorithms efficiently by setting data chunks and performing simulations, addressing data confidentiality and analysis challenges, ensuring appropriate AI selection and parameter adjustment.
Patent Information
- Application Number
- JP2024107487
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-03
- Publication Date
- 2026-01-16
AI Technical Summary
Users in the industrial machinery field face challenges in testing AI algorithms without disclosing confidential data, ensuring proper analysis, and adjusting parameters appropriately, leading to inefficiencies and inappropriate algorithm selection.
A simulation device and method that utilizes chunks of data for setting input and output data in machine learning models, allowing on-the-spot analysis and evaluation of AI effectiveness without sharing confidential data, using a GUI for setting parameters and performing simulations with various calculation accuracies.
Enables effective confirmation of AI effectiveness using user-owned data, reducing risks of data disclosure and enabling immediate analysis, facilitating appropriate parameter adjustment and suitable algorithm selection.
Smart Images

Figure 2026007540000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a simulation device, a program, and a simulation method. [Background technology]
[0002] Conventionally, in the field of industrial machinery, the application of AI (artificial intelligence) to condition-based maintenance of machine systems has been progressing with regard to factory equipment maintenance (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2019 / 035279
[0004] [overview] When introducing AI into the above-mentioned condition management maintenance, it would be useful to be able to confirm the effectiveness of AI without using actual equipment. A well-known form of machine learning is so-called supervised learning, which uses training data.
[0005] In general, in machine learning, there is a trade-off between improving calculation accuracy (improving the accuracy of the calculation results obtained) and reducing calculation time. In order to achieve a compromise between improving calculation accuracy and reducing calculation time, Bfloat16 has been proposed in recent years as a calculation accuracy (floating-point format) suitable for use in machine learning.
[0006] However, when considering actual applications, Bfloat16 is not necessarily suitable for all machine learning calculations.
[0007] A simulation device according to one embodiment of the present disclosure includes a model storage unit storing a machine learning model configured to perform learning and inference, a model calculation unit configured to perform calculations using the machine learning model, an operation input unit, a reading unit configured to read training data and test data, and a model setting unit configured to configure the machine learning model based on input from the operation input unit. A chunk is a set of data that is sequentially supplied to the machine learning model. The model setting unit is configured to configure a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the read training data, and to configure a third chunk as a test input data chunk and a fourth chunk as an expected data chunk based on the read test data. The model calculation unit is configured to perform a learning calculation using the machine learning model based on the first chunk and the second chunk, perform an inference calculation using the machine learning model based on the learning result and the third chunk, and compare the inference result with the fourth chunk. The model setting unit is configured to perform settings related to the calculation accuracy of the machine learning model.
[0008] Furthermore, a program according to one embodiment of the present disclosure is a program for causing a computer to execute the following steps, where a chunk refers to a single block of data when sequentially supplying data to a machine learning model: a first step of reading training data; a second step of configuring the first chunk as an input data chunk and the second chunk as a teacher data chunk based on the loaded training data; a third step of reading test data; a fourth step of configuring the third chunk as a test input data chunk and the fourth chunk as an expected data chunk based on the loaded test data; a fifth step of configuring the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the result of the learning and the third chunk; and an eighth step of calculating a comparison between the result of the inference and the fourth chunk.
[0009] Furthermore, a simulation method according to one embodiment of the present disclosure includes a first step of reading training data, where a chunk refers to a single block of data when data is sequentially supplied to a machine learning model; a second step of configuring the first chunk as an input data chunk and the second chunk as a teacher data chunk based on the loaded training data; a third step of reading test data; a fourth step of configuring the third chunk as a test input data chunk and the fourth chunk as an expected data chunk based on the loaded test data; a fifth step of configuring the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the learning result and the third chunk; and an eighth step of calculating a comparison between the inference result and the fourth chunk. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a computer according to an exemplary embodiment of the present disclosure. [Figure 2] FIG. 2 is a diagram illustrating a configuration of a simulation device according to an exemplary embodiment of the present disclosure. [Figure 3] FIG. 3 is a diagram for explaining supervised learning. [Figure 4] FIG. 4 is a diagram illustrating future prediction, which is an example of a task of supervised learning. [Figure 5] FIG. 5 is a diagram showing the first setting screen. [Figure 6] FIG. 6 is a diagram showing the dialog box. [Figure 7] FIG. 7 is a diagram showing an example of data in a learning file. [Figure 8] FIG. 8 is a diagram showing the first setting screen. [Figure 9] FIG. 9 is a diagram illustrating an example of setting chunks of input data. [Figure 10] FIG. 10 is a diagram illustrating an example of setting chunks of training data. [Figure 11] FIG. 11 is a diagram showing the first setting screen. [Figure 12] FIG. 12 is a diagram showing the second setting screen. [Figure 13] FIG. 13 is a diagram showing the dialog box. [Figure 14] FIG. 14 is a diagram showing an example of data in a test practice file. [Figure 15] FIG. 15 is a diagram showing the second setting screen. [Figure 16] FIG. 16 illustrates an example of setting chunks of test input data. [Figure 17] FIG. 17 is a diagram showing an example of setting chunks of expected data. [Figure 18] FIG. 18 is a diagram showing the second setting screen. [Figure 19] FIG. 19 is a diagram showing the third setting screen. [Figure 20]FIG. 20 is a diagram illustrating a three-layer neural network. [Figure 21] FIG. 21 is a diagram showing the state in which the tab TB2 is switched on the third setting screen. [Figure 22] FIG. 22 shows the save screen. [Figure 23] FIG. 23 shows the dialog box. [Figure 24] FIG. 24 is a diagram showing a third setting screen according to a modified example. [Figure 25] FIG. 25 is a diagram showing an example of learning data for full charge capacity simulation. [Figure 26] FIG. 26 is a graph showing an example of a future prediction of a full charge capacity.
[0011] [Detailed explanation] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.
[0012] <Computer configuration> 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, which will be described later. 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 computer or a notebook computer.
[0013] 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.
[0014] The CPU 100A has a control device and an arithmetic device (neither of which are 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.
[0015] The memory 100B is a semiconductor storage device that temporarily stores programs or data. The information stored in the memory 100B is erased when the computer 100 is powered off.
[0016] The auxiliary storage device 100C is configured with a hard disk drive (HDD) or a solid state drive (SSD), and stores programs or data. The programs stored in the auxiliary storage device 100C are loaded into the memory 100B. The CPU 100A executes the programs loaded into the memory 100B.
[0017] The operation input unit 100D is configured with a keyboard, a mouse, or the like, and is a device that provides operation input to the computer 100. Information input from the operation input unit 100D is sent to the memory 100B.
[0018] The display unit 100E is configured by, for example, a liquid crystal display, and converts the information acquired from the memory 100B into an image and outputs it.
[0019] <Configuration of the simulation device> 2 is a diagram illustrating a configuration of a simulation device 1 according to an exemplary embodiment of the present disclosure. The simulation device 1 is a device capable of simulating learning and inference using machine learning (AI).
[0020] The 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.
[0021] The file storage unit 2 stores a learning file 21 and a test file 22, and is configured as an 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, for example. The files may be stored in the auxiliary storage device 100C from outside the computer 100, for example, via a USB interface or a network interface in the computer 100 (neither of which is shown in FIG. 1).
[0022] The training file 21 includes training data 210. The training data 210 includes input data 21A and training data 21B. The training data 210 is data for performing so-called supervised learning by supplying the input data 21A and the training data 21B to a machine learning model 40 (described later) as input and output, respectively.
[0023] The test file 22 includes test data 220. The test data 220 includes test input data 22A and expected data 22B. The test input data 22A is input to a machine learning model 40 to perform inference, and inference data is output from the machine learning model 40. The output inference data is compared with the expected data (e.g., to generate an anomaly degree, which will be described later).
[0024] The file reading unit 3 reads the learning file 21 and the test file 22 from the file storage unit 2 .
[0025] The model storage unit 4 stores a machine learning model 40, and is configured by an auxiliary storage device 100C of the computer 100. The machine learning model 40 is configured as a part of the program P using, for example, MATLAB / Simulink (registered trademark). A specific example of the machine learning model 40 will be described later.
[0026] 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. 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.
[0027] The model calculation unit 5 executes a simulation by performing calculation processing on the machine learning model 40 stored in the model storage unit 4. The model setting unit 6 performs settings related to the machine learning model 40 stored in the model storage unit 4 (setting of data to be used for learning and inference, setting of parameters, setting of function types, etc.) in response to input from the operation input unit 8. The simulation by the model calculation unit 5 is performed in accordance with the settings made by the model setting unit 6. The display control unit 7 controls the display of various screens, such as a setting screen (described later), on the display unit 9 in response to input from the operation input unit 8.
[0028] For example, in the industrial machinery field, machine learning is increasingly being applied to the condition management and maintenance of machinery systems in factory equipment maintenance. However, when users try out a specific AI algorithm, they must provide data to the AI developer, such as an AI vendor. In many cases, this data contains confidential information related to the product and manufacturing process, making it difficult to disclose. Therefore, in the past, users had no choice but to refer to various case studies from AI vendors or have the AI solve open problems that generally serve as benchmarks for AI performance (e.g., predicting housing prices in Boston or estimating the physical properties of diesel fuel) to determine whether the algorithm is suitable for solving the user's problem or issue. Naturally, these open problems do not match the user's problem or issue, so when the selected AI algorithm is applied to the user's data, it often turns out to be inappropriate or not very suitable. This can lead to having to reselect the AI algorithm, which is detrimental to both the user and the AI vendor.
[0029] As mentioned above, even if users want to test what AI can do using the data they have acquired, they need to share the data externally (with an AI vendor or an IC manufacturer with AI solutions, etc.). This means there is a risk that confidential data will be released to the outside world. Furthermore, even if the data is provided alone, it is difficult to ensure that it will be properly analyzed externally, and it is difficult to adjust the AI parameters appropriately without advanced knowledge of the domain in which the user acquired the data. It is also extremely time-consuming for users to convey domain knowledge to AI vendors, etc., and communication errors are likely to occur due to differences in background knowledge. Furthermore, the data acquired by users cannot be analyzed on the same day, on the spot.
[0030] In view of the above situation, by using the simulation device 1 according to the present disclosure, it becomes possible to effectively confirm the AI effect of supervised learning using data owned by the user. This has the advantage of eliminating the risk of disclosing confidential data to the outside and enabling on-the-spot analysis of acquired data, for example. In particular, the present disclosure introduces the concept of chunks to the setting of input data and output data for machine learning models, as described below, making it easy to set up input data of multiple types in multiples.
[0031] <Supervised learning> Here, we will provide an overview of supervised learning. 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. Test input data is then input to the machine learning model, and inference data is output as the result of inference by the machine learning model. The output inference data is compared with expected data. Note that in FIGS. 3 and 4, the inference data is illustrated as actual data to be compared with the expected data.
[0032] FIG. 4 is a diagram illustrating future prediction, an example of a supervised learning task. Here, original data is divided into input data for the first half of a time series and training data for the second half. Then, learning is performed using a machine learning model using the input data and training data. After that, test input data for the first half of the time series is input to the machine learning model, and actual data for the second half of the time series (inference data) is output from the machine learning model. In this way, the data for the second half of the time series can be predicted based on the data for the first half of the time series. The output actual data is compared with expected data.
[0033] <gui> Next, a description will be given of a GUI (Graphical User Interface) that enables settings related to simulation in the simulation device 1 according to this embodiment. Examples of various setting screens described below are displayed on the display unit 9 by the display control unit 7 (FIG. 2). Selection and setting on the various setting screens, or screen switching, are performed based on input from the operation input unit 8. The contents set on the various setting screens are set by the model setting unit 6.
[0034] <<Loading the training file>> When program P is started, the first setting screen shown in Figure 5 is displayed. The first setting screen is a screen for setting training data. Tabs TB are displayed side by side at the top of the first setting screen. You can switch setting screens by pressing tab TB. Figure 5 shows the state when the "1. Training data" tab TB is pressed.
[0035] The first setting screen displays a selection button BT1 for selecting a learning file. Pressing the selection button BT1 displays the dialog box shown in FIG. 6. In the dialog box, a list of file names is displayed in a selection section SA1. The file name selected in the selection section SA1 is displayed in a file name display section DA1 below. When the decision button BT2 is pressed in the dialog box, the file with the file name displayed in the file name display section DA1 is read by the file reading section 3. Here, an Excel file with the extension xlsx can be selected.
[0036] FIG. 7 shows an example of data in a training file. The figure shows an example of data values written in cells of the training file, which is an Excel file. The first column indicates the data number, 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 columns A and B on the same row, and the fifth column (column D) indicates the sum of the squares of the values in columns A and B on the same row. The data in columns A and B are input data, and the data in columns C and D are training data. For example, the number of rows in both the input data and training data is 500. The following description will be given assuming that such a training file is read.
[0037] When a learning file is loaded, the data contained in the loaded learning file is displayed in a table format in the learning data display area DA2 on the first setting screen, as shown in Figure 8. If a variable name is entered in the first line of the learning file, as shown in Figure 7, the first line is ignored when the data is loaded. This allows the user to confirm that the data has been loaded correctly. The number of lines of the loaded data is displayed in the line number display area DA3, and the number of columns of the loaded data is displayed in the column number display area DA4.
[0038] A chunk setting unit ST1 is displayed in the center of the first setting screen (FIG. 8). A chunk is a block of data for one batch when sequentially supplying it to the machine learning model 40. The chunk setting unit ST1 includes an input data setting unit ST11 and a teacher data setting unit ST12.
[0039] The input data setting unit ST11 includes a column number setting unit ST111, a row number setting unit ST112, and a column number display unit ST113. A column number in the read data indicating the first column of the input data can be input into the column number setting unit ST111. The number of rows in one chunk of input data in the read data can be input into the row number setting unit ST112. The number of columns in one chunk of input data in the read data can be input into the column number setting unit ST113.
[0040] In the example of Fig. 8, "2" is input to column number setting unit ST111, "5" to row number setting unit ST112, and "2" to 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 first column of the input data, and a block of data with 5 rows and 2 columns is set as one chunk.
[0041] 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 in the loaded data indicating the first column of the teacher data can be input into the column number setting unit ST121. The number of rows in one chunk of teacher data in the loaded data can be input into the row number setting unit ST122. The number of columns in one chunk of teacher data in the loaded data can be input into the column number setting unit ST123.
[0042] 10, "4" is input to column number setting unit ST121, "5" to number of rows setting unit ST122, and "2" to number of columns setting unit ST123. As a result, as shown in Fig. 10, the fourth column of the read data RDT is set as the first column of the training data, and a block of data with 5 rows and 2 columns is set as one chunk.
[0043] 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 both the input data and the training data. The number of chunks must be the same for the input data and the training data. In the example of FIG. 8, the number of chunks is set to "100." As a result, 100 chunks are set, as shown in FIGS. 9 and 10. 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.
[0044] When the check button BT3 is pressed after a value has been entered in the chunk setting section ST1, a screen such as that shown in FIG. 11 is displayed. Here, the first chunk of the input data set according to the settings in the input data setting section ST11 is displayed in the chunk display section DA5. Also, the first chunk of the training data set according to the settings in the training data setting section ST12 is displayed in the chunk display section DA6. Also, the number of input nodes and the number of output nodes of the machine learning model 40 are displayed in the node number display section DA7. The number of input nodes is the number of data contained in one chunk of input data. The number of output nodes is the number of data contained in one chunk of training data. As a result, in the example of FIG. 11, both the number of input nodes and the number of output nodes are displayed as "10."
[0045] <<Loading test files>> When the "2. Test data" tab TB is pressed on the first setting screen, the second setting screen as shown in FIG. 12 is displayed. A selection button BT4 for selecting a test file is displayed on the second setting screen. Pressing the selection button BT4 displays the dialog box shown in FIG. 13. In the dialog box, a list of file names is displayed in the selection section SA2. The file name selected in the selection section SA2 is displayed in the file name display section DA8 below. When the decision button BT5 is pressed in the dialog box, the file with the file name displayed in the file name display section DA8 is read by the file reading section 3. Here, an Excel file with the extension xlsx can be selected.
[0046] FIG. 14 shows an example of data in a test training file. The figure shows an example of data values written in cells of a test file, which is an Excel file. The first column indicates the data number, 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 columns A and B on the same row, and the fifth column (column D) indicates the sum of the squares of the values in columns A and B on the same row. The data in columns A and B constitute the test input data, and the data in columns C and D constitute the expected data. Both the test input data and the expected data have, as an example, 500 rows. The following description will be given assuming that such a test file is read.
[0047] When a test file is loaded, the data contained in the loaded test file is displayed in a table format in the test data display area DA9 on the second setting screen, as shown in Figure 15. If a variable name is entered in the first line of the test file, as shown in Figure 14, the first line is ignored and the data is loaded. This allows the user to confirm whether the data has been loaded correctly. The number of lines of the loaded data is displayed in the line number display area DA10, and the number of columns of the loaded data is displayed in the column number display area DA11.
[0048] A chunk setting section ST2 is displayed in the center of the second setting screen (FIG. 15). The chunk setting section ST2 includes a test input data setting section ST21 and an expected data setting section ST22.
[0049] The test input data setting section ST21 includes a column number setting section ST211, a row count setting section ST212, and a column count display section ST213. A column number in the read data indicating the first column of the test input data can be input into the column number setting section ST211. The row count setting section ST212 displays the number of rows in one chunk of test input data in the read data. This row count matches the set number of rows in one chunk of input data (input into the row count setting section ST112). The column count setting section ST213 displays the number of columns in one chunk of test input data in the read data. This column count matches the set number of columns in one chunk of input data (input into the column count setting section ST113).
[0050] In the example of FIG. 15, "2" is input in the column number setting section ST211, "5" is displayed in the number of rows setting section ST212, and "2" is displayed in the number of columns setting section 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 data with 5 rows and 2 columns is set as one chunk.
[0051] The expected data setting section ST22 includes a column number setting section ST221, a row number setting section ST222, and a column number display section ST223. The column number setting section ST221 allows input of a column number in the read data indicating the first column of the expected data. The row number setting section ST222 displays the number of rows in one chunk of expected data in the read data. The column number setting section ST223 displays the number of columns in one chunk of expected data in the read data.
[0052] 15, "4" is input in column number setting section ST221, "5" is displayed in number of rows setting section ST222, and "2" is displayed in number of columns setting section 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 training data, and a block of data with 5 rows and 2 columns is set as one chunk.
[0053] The chunk setting section ST2 includes a chunk number setting section ST23. The chunk number setting section 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 must be the same. In the example of FIG. 15, the number of chunks is set to "100." As a result, 100 chunks are set, as shown in FIGS. 16 and 17.
[0054] When the check button BT6 is pressed after values have been entered in the chunk setting section ST2, the screen shown in Fig. 11 appears. Here, the first chunk of the test input data set according to the settings in the test input data setting section ST21 is displayed in the chunk display section DA12. Also, the first chunk of the teacher data set according to the settings in the expected data setting section ST22 is displayed in the chunk display section DA13. .
[0055] <<Machine learning model configuration and simulation>> When the "3. AI Settings and Sim" tab TB is pressed on the second setting screen, the third setting screen shown in Fig. 19 is displayed. The third setting screen is a screen for setting parameters for the machine learning model (AI) 40, running a simulation, and checking the simulation results.
[0056] Here, we will explain an example of the machine learning model 40. As an AI model used in the machine learning model 40, for example, a three-layer neural network 10 as shown in FIG.
[0057] 20, a three-layer neural network 10 is an AI model having an input layer 10A, a hidden layer 10B, and an output layer 10C. In general, in the three-layer neural network 10, n-dimensional input data x∈R with a batch size k is input. k×n For n'-dimensional inference result y∈R k×n’ is obtained as y=G(x·α+b)β, where α∈R n×m is the weight connecting the input layer 10A and the hidden layer 10B, and β∈R m×n’ is the weight connecting the hidden layer 10B and the output layer 10C. Also, b∈R m is the bias of hidden layer 10B, and G is the activation function of hidden layer 10B.
[0058] In this embodiment, an algorithm is used that can sequentially train the three-layer neural network 10 with an arbitrary batch size. i The i-th training data {x i ∈R ki×n , t i ∈R ki×n’ } is obtained, β that minimizes the error shown in the following equation (1) i It is necessary to seek.
number
[0059] Optimized weight β i is calculated using 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)
[0060] Here, P0 and β0 are obtained by the following equation (3). P0=(H0 T H0) -1 β0=P0H0 T t0(3)
[0061] The learning algorithm is as follows: (1) The weight α and bias b are initialized with random numbers. (2) Calculate H0 for x0, and calculate P0 and β0. (3) Batch size k i Each time the i-th training data of P is obtained, i and β i It should be noted that instead of using the formula for calculating β0 in equation (3), a value initialized by a random number may be used as β0.
[0062] The third setting screen shown in FIG. 19 displays an AI parameter setting unit ST3. 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. The input node number setting unit ST31 displays the number of nodes in the input layer 10A (i.e., the value of n above). The number of nodes in the input layer is calculated by multiplying the number of rows and the number of columns in one chunk of 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). The output node number setting unit ST33 displays the number of nodes in the output layer 10C (i.e., the value of n' above). The number of nodes in the output layer is calculated by multiplying the number of rows and the number of columns in one chunk of training data. In other words, one chunk of data corresponds to data with a batch size of 1.
[0063] 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. The activation function setting unit ST34 can select the type of activation function for the hidden layer 10B. The activation function can be, for example, Sigmoid or ReLU.
[0064] The loss function setting unit ST35 can select the type of loss function used to calculate the degree of anomaly in the machine learning model 40. For example, the loss function can be set to MAE or MSE. When the loss function is MAE, the loss function L is expressed as in the following equation (4).
number
number
[0065] In the forgetting rate setting section ST36, a value of the forgetting rate can be input. The forgetting rate is a parameter that indicates the degree to which learning results are forgotten. Methods for not reflecting learning results include, for example, using past learning results or initializing the learning results. A forgetting rate of 1 indicates that previous learning results are not forgotten at all, and a forgetting rate of 0 indicates that they are completely forgotten.
[0066] The AI parameter setting unit ST3 also displays a checkbox BX1. When the checkbox BX1 is checked, Bfloat16 is selected as the setting for the calculation precision of the machine learning model 40. Bfloat16 is a floating-point format that allocates 7 bits to the mantissa, which indicates the precision of the floating-point, and 8 bits to the exponent, which indicates the dynamic range of the numeric value.
[0067] On the other hand, when the checkbox BX1 is not checked, double is selected as the setting for the calculation precision of the machine learning model 40. Double is a floating-point format that allocates 52 bits to the mantissa, which indicates the precision of the floating-point, and 11 bits to the exponent, which indicates the dynamic range of the numerical value.
[0068] That is, the model setting unit 6 sets the calculation accuracy of the machine learning model 40. Setting the calculation accuracy of the machine learning model 40 makes it possible to try out multiple calculation accuracies, which makes it easier to find a calculation accuracy that is more suitable for the problem, issue, application, etc. to which AI is applied.
[0069] The settings regarding the calculation accuracy of the machine learning model 40 made by the model setting unit 6 are applied to both the learning calculation and the estimation calculation of the machine learning model 40. Therefore, the CPU 100A, which is a single processor, performs the estimation calculation using the trained machine learning model 40 with the same calculation accuracy as the learning calculation.
[0070] In the present embodiment, the setting for the calculation accuracy of the machine learning model 40 was either Bfloat16 or double, but for example, the model setting unit 6 may select the setting for the calculation accuracy of the machine learning model 40 from a plurality of options including at least one of double, float32, float16, and Bfloat16. For example, the AI parameter setting unit ST5 may be provided with four checkboxes corresponding to double, float32, float16, and Bfloat16, respectively, and the setting for the calculation accuracy of the machine learning model 40 that has the corresponding checkbox checked may be selected from among double, float32, float16, and Bfloat16.
[0071] When all setting items have been set using the above setting screens and the simulation start button BT7 is pressed, the model calculation unit 5 executes a simulation in accordance with the contents set by the model setting unit 6. Here, chunks of input data and training data are sequentially supplied to the machine learning model 40, and β is sequentially updated using the algorithm described above to perform learning. During learning, inference is also performed for the case where the input data is input to the machine learning model 40. The inference result is calculated for each chunk of input data. After all input data has been supplied and learning is complete, inference is also performed for the case where test input data is input to the machine learning model 40. The inference result is calculated for each chunk of test input data. This inference result is compared with expected data.
[0072] After the simulation is completed, the test results are displayed in the test result display section TA1 on the third setting screen as shown in FIG.
[0073] The test result display section TA1 displays the anomaly degree display sections TA11 and TA12. The anomaly degree display section TA11 displays the test number and test score in a table format. The test number corresponds to the chunk number of the expected data. In other words, the maximum value of the test number is the number of chunks. The test score corresponds to the anomaly degree and is the value of the loss function based on the inference results for each chunk of expected data and the expected data. The anomaly degree display section TA12 displays the anomaly degree in a graph format with the test number displayed in the anomaly degree display section TA11 on the horizontal axis and the test score on the vertical axis.
[0074] The test result display section TA1 also displays error display sections TA13 and TA14. The error display section TA13 displays the row number (Row No.), expected data (y_expected), inferred data (y_actual), and error in a table format. The row number is the row number of the expected data read when the test file was read, the expected data is the expected data corresponding to the row number, and the inferred data is the inference result corresponding to the expected data. The error is the difference between the inferred data and the expected data, and is calculated using the following formula (6). In the example of Figure 19, the errors are displayed as error_1 and error_2.
number
[0075] The error display unit TA14 displays the degree of abnormality in a graph format with the row number displayed in the error display unit TA13 on the horizontal axis and the error on the vertical axis.
[0076] On the third setting screen, pressing the "Training" tab TB2 can switch to the training result display section TA2 (Figure 21). The training result display section TA2 displays the anomaly degree (learning degree) display sections TA21 and TA22. The anomaly degree display section TA21 displays the training number (Training No.) and training score (Training SCORE) in a table format. The training number corresponds to the chunk number of the training data. In other words, the maximum value of the training number is the number of chunks. The training score corresponds to the anomaly degree and is the inference result for each chunk of the training data and the value of the loss function based on the training data. The anomaly degree display section TA22 displays the anomaly degree in a graph format with the training number displayed in the anomaly degree display section TA21 on the horizontal axis and the training score on the vertical axis.
[0077] The learning result display section TA2 also displays error display sections TA23 and TA24. The error display section TA23 displays the row number (Row No.), training data (y_training), inference data (y_actual), and error in a table format. The row number is the row number of the training data read when the training file was read, the training data is the training data corresponding to the row number, and the inference data is the inference result corresponding to the training data. The error is the difference between the inference data and the training data, and is calculated using the following formula (7). In the example of Figure 21, the errors are displayed as error_1 and error_2.
number
[0078] The error display unit TA24 displays the degree of abnormality in a graph format with the row number displayed in the error display unit TA23 on the horizontal axis and the error on the vertical axis.
[0079] <<Saving simulation results>> When the "Save" tab TB is pressed, a save screen for saving the simulation results is displayed as shown in FIG. 22. The save screen displays a file name setting section FA1 where the name of the file to be saved can be specified. In the file name setting section FA1, the first character of the file name can be entered. In FIG. 22, as an example, the string of characters after the first character is "_yymmdd_HHMM_SS_***". The file has the extension .xlsx and is saved as an Excel file. In the example of FIG. 22, "data" is entered in the file name setting section FA1.
[0080] On the save screen, the contents of the data to be saved are displayed at the bottom. Fig. 22 shows that a file with a file name containing "_yymmdd_HHMM_SS_1" will save the row number (Row No.), training data (y_training), inference data (y_actual), and error displayed in the error display section TS23 described above. Also, a file with a file name containing "_yymmdd_HHMM_SS_2" will save the row number (Row No.), expected data (y_expected), inference data (y_actual), and error displayed in the error display section TS13 described above.
[0081] When the Save button BT8 is pressed with the file name entered in the file name setting section FA1, a dialog box such as the one shown in Fig. 23 is displayed. In the dialog box, a list of folder names is displayed in a selection section SA3. The folder name selected in the selection section SA3 is displayed in a folder name display section DA14 below. When the Confirm 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.
[0082] As described above, in this embodiment, a GUI suitable for checking the AI effects of supervised learning is realized, improving convenience for users.
[0083] <Modification> 24 is a diagram showing a third setting screen according to a modified example. In this modified example, a learning repetition number setting section ST37 is added to the AI parameter setting section ST3 in the third setting screen of FIG. 19 according to the embodiment described above.
[0084] The number of times learning is to be repeated can be input in the learning repetition number setting unit ST37. When the simulation start button BT7 is pressed with the number of times input in the learning repetition number setting unit ST37, learning using all chunks of input data is repeated the number of times set in the learning repetition number setting unit ST37. In other words, when the last chunk has been used, learning resumes from the first chunk. As a result, as shown in FIG. 24, the anomaly level display unit TA22 displays how the learning is being repeated. According to this modification, learning can be performed so that the degree of anomaly (learning degree) approaches a flat state without increasing the input data and teacher data.
[0085] <Full charge capacity simulation> Here, a simulation of deterioration of full charge capacity during a charge / discharge cycle test of a battery will be described as an example of a simulation using the simulation device 1. In performing the simulation, the following assumptions were made. Assumption 1: The battery's full charge capacity FC linearly deteriorates (decreases) to about 80% after 500 cycles. Assumption 2: The larger the temperature T and the discharge current Ib, the faster the degradation. Therefore, the full charge capacity FC is updated every 10 cycles using the following equation (8). FC=FC×(1-0.05×Rand()-Ib×0.01-T×0.0003) (8) where Rand() is a random function.
[0086] The full charge capacity FC1 for 100 cycles under the same conditions of temperature T and discharge current Ib is calculated using equation (8), and the temperature T, discharge current Ib, cycle, and full charge capacity FC1 are used as input data for one chunk. The full charge capacity FC2 for 500 cycles after 100 cycles is calculated using equation (8), and this full charge capacity FC2 is used as training data for one chunk.
[0087] As an example, input data was created using 15 combinations of temperature T and discharge current Ib, with temperatures T set to 0°C, 15°C, 25°C, 45°C, and 60°C, and discharge current Ib set to 0.1A, 0.2A, and 0.35A, and training data corresponding to the input data was then created. The training data created in this way is shown in Figure 25. Input data CH1 corresponds to training data CH10, input data CH2 corresponds to training data CH20, and so on. One chunk of input data has 10 rows and 4 columns, and one chunk of training data has 50 rows and 1 column. The total number of chunks is 15.
[0088] Learning can be performed by supplying such learning data to the machine learning model 40. For test data, the full charge capacity FC1 for 100 cycles is calculated using the above formula (8) under the same conditions of temperature T and discharge current Ib as the input data, and the temperature T, discharge current Ib, cycles, and full charge capacity FC1 are used as test input data for one chunk. The full charge capacity FC2 for 500 cycles after 100 cycles is calculated using the above formula (8), and the full charge capacity FC2 is used as expected data for one chunk.
[0089] By using the test data 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 Figure 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.
[0090] <Other> In addition to the above-described embodiments, the various technical features disclosed in this specification can be modified in various ways without departing from the spirit of the technical creation. In other words, the above-described embodiments should be considered to be illustrative and not restrictive in all respects, and the technical scope of the present invention should not be limited to the above-described embodiments, but should be understood to include all modifications that fall within the meaning and scope equivalent to the claims.
[0091] For example, in the above embodiment, chunks are set two-dimensionally by the number of rows and the number of columns, but chunks may be set three or more dimensionally.
[0092] <Additional Notes> As described above, the simulation device (1) according to one aspect of the present disclosure: a model storage unit (4) storing a machine learning model (40) configured to perform learning and inference; 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 training 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; Equipped with When data is sequentially supplied to the machine learning model, a single chunk of data is called a chunk. the model setting unit is configured to perform settings related to a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the loaded learning data, and to perform settings related to a third chunk as a test input data chunk and a fourth chunk as an expected data chunk based on the loaded test data; the model calculation unit is configured to perform a learning calculation using the machine learning model based on the first chunk and the second chunk, perform an inference calculation using the machine learning model based on a result of the learning and the third chunk, and calculate a comparison between the result of the inference and the fourth chunk; The model setting unit is configured to perform settings related to the calculation accuracy of the machine learning model (first configuration).
[0093] In addition, in the simulation device of the first configuration, the model setting unit may be configured to be able to set the first chunk and the second chunk by setting a column number as the first column, the number of rows, and the number of columns in the loaded learning data (second configuration).
[0094] In addition, in the simulation device of the first or second configuration, the model setting unit may be configured to be able to set the number of chunks in the first chunk, and the number of chunks in the first chunk and the second chunk may be the same (third configuration).
[0095] Furthermore, in a simulation device of any of the first to third configurations described above, the model setting unit may be configured to be able to set the third chunk and the fourth chunk by setting the column number as the first column, the number of rows, and the number of columns in the loaded test data (fourth configuration).
[0096] Furthermore, the simulation device of the fourth configuration may be configured to include a first display control unit configured to control the device so that, when the number of rows and the number of columns of the first chunk are set, the number of rows and the number of columns of the third chunk that match the number of rows and the number of columns, respectively, are automatically displayed, and, when the number of rows and the number of columns of the second chunk are set, the number of rows and the number of columns of the fourth chunk that match the number of rows and the number of columns, respectively, are automatically displayed (fifth configuration).
[0097] Furthermore, in the simulation device of any of the first to fifth configurations above, 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 configured to match (sixth configuration).
[0098] In addition, in the simulation device of any one 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).
[0099] In the simulation device of the seventh configuration, the items may include a forgetting rate, which is a parameter indicating the degree to which a learning result is forgotten (eighth configuration).
[0100] Furthermore, in the simulation device of any of the first to eighth configurations, a configuration may be provided in which a second display control unit is configured to control the display of the inference results during learning by the machine learning model and the value of a loss function based on the teacher data for each second chunk (ninth configuration).
[0101] Furthermore, in the simulation device of any of the first to ninth configurations, the device may be configured to include a third display control unit configured to control the display of 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).
[0102] Furthermore, in the simulation device of any of the first to tenth configurations, the device may be configured to include a fourth display control unit configured to control the display of the inference results of the machine learning model using the test input data and the value of a loss function based on the expected data for each of the fourth chunks (eleventh configuration).
[0103] Furthermore, in the simulation device of any of the first to eleventh configurations above, it may be configured to include a fifth display control unit configured to control the display of 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).
[0104] Furthermore, in the simulation device of any of the first to twelfth configurations above, the model setting unit may be configured to be able to set the number of iterations for repeating learning using all of the first chunks and the second chunks (13th configuration).
[0105] Furthermore, in a simulation device of any of the first to thirteenth configurations above, it may be configured to include a sixth display control unit configured to control the display of the first chunk of each of the set first chunk and second chunk (fourteenth configuration).
[0106] Furthermore, the simulation device of any one of the first to fourteenth configurations may be configured to include a seventh display control unit configured to control the display of the learning data that has been read (fifteenth configuration).
[0107] In addition, in a simulation device of any of the first to fifteenth configurations above, it may be configured to include an eighth display control unit configured to control the display of the first chunk of each of the set third chunk and fourth chunk (16th configuration).
[0108] Furthermore, the simulation device of any one of the first to sixteenth configurations may be configured to include a ninth display control unit configured to control the display of the read test data (seventeenth configuration).
[0109] In addition, in the simulation device of any one of the first to seventeenth configurations, the learning data and the test data may include, as the input data and the test input data, a temperature, a discharge current, a number of cycles, and a full charge capacity, respectively; The learning data and the test data may be configured to include, as the teacher data and the expected data, the full charge capacity of the cycle after the number of cycles (18th configuration).
[0110] Furthermore, in the simulation device of any of the first to eighteenth configurations, the model setting unit may be configured to select a setting regarding the calculation accuracy of the machine learning model from a plurality of options including at least one of double, float32, float16, and Bfloat16 (19th configuration).
[0111] Furthermore, in the program (P) according to one embodiment of the present disclosure, a chunk is a set of data that is sequentially supplied to a machine learning model, and the program (P) performs the following steps: The first step is to load the training data, a second step of setting a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the read learning data; The third step is to load the 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 setting the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the learning result and the third chunk; an eighth step of computing a comparison between the result of the inference and the fourth chunk; It is a program for causing a computer to execute the above.
[0112] Furthermore, in a simulation method according to an embodiment of the present disclosure, a chunk is a set of data that is sequentially supplied to a machine learning model, and the following steps are performed: The first step is to load the training data, a second step of setting a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the read learning data; The third step is to load the 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 setting the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the learning result and the third chunk; and an eighth step of computing a comparison between the result of the inference and the fourth chunk. [Industrial Applicability]
[0113] The present disclosure can be used, for example, in supervised learning simulations for a variety of applications. [Explanation of symbols]
[0114] 1 Simulation device 2 File storage section 3 File reading section 4 Model storage section 5 Model calculation section 6 Model setting section 7 Display control section 8 Operation input section 9 Display section 10 Three-layer neural network 10A Input Layer 10B Hidden Layer 10C output layer 21 Study Files 21A Input Data 21B Teacher Data 22 Test files 22A Test Input Data 22B Expected Data 40 Machine Learning Models 100 computers 100A CPU 100B memory 100C auxiliary storage 100D Operation input section 100E Display section 210 Training 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 calculation unit configured to perform calculation processing using the machine learning model; an operation input unit; a reading unit configured to read training data and test data; a model setting unit configured to perform settings related to the machine learning model based on input from the operation input unit; Equipped with When data is sequentially supplied to the machine learning model, a single chunk of data is called a chunk. the model setting unit is configured to perform settings related to a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the loaded learning data, and to perform settings related to a third chunk as a test input data chunk and a fourth chunk as an expected data chunk based on the loaded test data; the model calculation unit is configured to perform a learning calculation using the machine learning model based on the first chunk and the second chunk, perform an inference calculation using the machine learning model based on a result of the learning and the third chunk, and calculate a comparison between the result of the inference and the fourth chunk; The simulation device, wherein the model setting unit is configured to perform settings related to the calculation accuracy of the machine learning model.
2. 2. The simulation device according to claim 1, wherein the model setting unit is configured to select a setting related to the calculation accuracy of the machine learning model from a plurality of options including at least one of double, float32, float16, and Bfloat16.
3. When data is sequentially supplied to a machine learning model, a single chunk of data is called a chunk. The first step is to read the training data; a second step of setting a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the read learning data; A third step of loading 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 setting the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the learning result and the third chunk; an eighth step of computing a comparison between the result of the inference and the fourth chunk; A program that causes a computer to execute the following.
4. When data is sequentially supplied to a machine learning model, a single chunk of data is called a chunk. The first step is to read the training data; a second step of setting a first chunk as an input data chunk and a second chunk as a teacher data chunk based on the read learning data; A third step of loading 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 setting the calculation accuracy of the machine learning model; a sixth step of performing a learning calculation using the machine learning model based on the first chunk and the second chunk; a seventh step of performing an inference calculation using the machine learning model based on the learning result and the third chunk; and an eighth step of calculating a comparison between the result of the inference and the fourth chunk.
Citation Information
Patent Citations
Artificial intelligence algorithm
WO2019035279A1