Prediction program, prediction method and information processing device
By processing stiffness and load vectors using distinct models and aggregating their outputs, the method improves the accuracy of structural displacement predictions in structural analysis, addressing the limitations of conventional AI-based methods.
Patent Information
- Application Number
- JP2024032281
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-09-17
AI Technical Summary
Conventional AI-based structural analysis methods suffer from low accuracy in predicting structural displacements due to biased feature matrices and repeated errors in nonlinear problems.
The proposed solution involves processing the stiffness matrix using a Graph Neural Network (GNN) and the load vector using a separate Neural Network (NN), aggregating their output results to improve prediction accuracy.
This approach enhances the accuracy of predicted structural displacements by training separate models for data with different characteristics, reducing errors and improving convergence to match training data.
Smart Images

Figure 2025134398000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a prediction program and the like. [Background technology]
[0002] Structural analysis is used in fields such as engineering and architecture. Its purpose is to analyze how an object or structure responds to external forces or loads. Techniques such as the Finite Element Method (FEM) are used in structural analysis.
[0003] Fig. 23 is a diagram for explaining structural analysis. In the example shown in Fig. 23, a case where an external force 11 is applied to a cantilever beam 10 will be described. In the finite element method, the cantilever beam 10 is divided into finite elements, and the displacement etc. of each element is approximately calculated.
[0004] In the finite element method, an equation such as that shown in formula (1) is created using initial conditions and boundary conditions. In formula (1), "A" is a coefficient matrix (stiffness matrix) calculated from the material of the object, etc., and is shown as in definition 1. "b" is a load vector due to boundary conditions, and is shown as in definition 2. "x" is a displacement vector (unknown), and is shown as in definition 3.
[0005]
number
[0006]
number
number
number
[0007] When solving the equation shown in formula (1) (for example, the governing equation), a direct method or an iterative method is used. The direct method is a method of finding the inverse matrix of A and directly calculating x. The iterative method is a method of iteratively calculating x until, for example, "b-Ax" becomes equal to or less than a set value, thereby bringing x closer to the exact solution.
[0008] Here, an example of the stiffness matrix A and the load vector b included in formula (1) will be described. Fig. 24 is a diagram for explaining the stiffness matrix A and the load vector b. For example, when member 12 is divided, it becomes two triangles, and four vertices are set. The vertices are designated as node n1, node n2, node n3, and node n4.
[0009] Information regarding the stiffness, connectivity, etc. of each node is set in the stiffness matrix A. For example, the stiffness of node n1 is set in each cell of area An1-1 corresponding to "node n1" and "node n1" in the stiffness matrix A. The stiffness of node n1 and node n2 is set in each cell of areas An2-1 and An1-2 corresponding to "node n1" and "node n2" in the stiffness matrix A. Note that since node n2 and node n4 are not adjacent, "0" is set in each cell of areas An2-4 and An4-2 corresponding to "node n2" and "node n4" in the stiffness matrix A. The stiffness (connectivity) of other pairs of nodes is set in the stiffness matrix A in the same way.
[0010] Information about the load vector for each node is set in load vector b. For example, information about the x, y, and z directions of the load vector for node n1 is set in area b-n1. Information about the x, y, and z directions of the load vector for node n2 is set in area b-n2. Information about the x, y, and z directions of the load vector for node n3 is set in area b-n3. Information about the x, y, and z directions of the load vector for node n4 is set in area b-n4.
[0011] Next, the characteristics of linear problems and nonlinear problems used in configuration analysis will be described. Figure 25 is a diagram for explaining the characteristics of linear problems and nonlinear problems.
[0012] As shown in Figure 25, linear problems are used for relatively simple problem settings, and the governing equations are solved once. On the other hand, for nonlinear equations, the state to be found is divided into infinitesimal steps that can be considered as linear analysis, and the governing equations are solved multiple times (for example, n times).
[0013] Unlike the conventional simulations described above that find solutions based on physics, there is a conventional technology that trains an AI (Artificial Intelligence) model to learn a solution-finding method and predicts the output. This conventional technology is called an AI surrogate model.
[0014] Fig. 26 is a diagram for explaining the AI surrogate model. In a conventional physics-based simulation, when input (initial conditions, boundary conditions) is given, a stiffness matrix A and a load vector b are set using FEM, and "Ax = b" is solved.
[0015] On the other hand, in an AI surrogate model, an output x is obtained by inputting an input into a trained AI 13. The AI 13 is a GNN (Graph Neural Network) or the like. A GNN is a neural network that takes a graph structure based on graph theory as input. Graph theory deals with a data structure made up of nodes and edges, where nodes that are related to each other are connected by edges, and nodes have multiple features.
[0016] FIG. 27 is a diagram for explaining a mathematical representation of a graph structure. In the example shown in FIG. 27, nodes n1, n2, and n3 are used to explain a graph structure H1. The feature quantities of nodes n1, n2, and n3 are assumed to be feature quantities f1, f2, and f3, respectively. Nodes n1 to n3 have five feature quantities. Node n1 and node n2 are connected by an edge. Node n2 and node n3 are connected by an edge.
[0017] The graph structure H1 is represented by two matrices ma1 and ma2. The matrix ma1 is a feature matrix and represents nodes. The matrix ma2 is an adjacency matrix and represents edges. In the matrix ma2, "1" indicates that nodes are connected to each other. [Prior art documents] [Patent documents]
[0018] [Patent Document 1] Japanese Patent Publication No. 2023-9904 Summary of the Invention [Problem to be solved by the invention]
[0019] However, the above-mentioned conventional technology has a problem in that the accuracy of the solutions predicted by AI is low.
[0020] In one aspect, the present invention aims to provide a prediction program, a prediction method, and an information processing device that can improve the accuracy of solutions predicted by AI. [Means for solving the problem]
[0021] In the first proposal, the computer executes the following process. The computer inputs the stiffness matrix of the structure into a first learning model, thereby obtaining a first output result output from the first learning model. The computer inputs the vector of the load applied to the structure into a second learning model, thereby obtaining a second output result output from the second learning model. The computer predicts the displacement of the structure due to the application of the load, based on the first output result and the second output result. [Effects of the Invention]
[0022] The accuracy of solutions predicted by AI can be improved. [Brief explanation of the drawings]
[0023] [Figure 1]FIG. 1 is a diagram showing an example of the configuration of a surrogate model according to the prior art. [Figure 2] FIG. 2 is a flowchart showing the calculation procedure for the surrogate model. [Figure 3] FIG. 3 is a diagram for explaining preprocessing for the stiffness matrix A. In FIG. [Figure 4] FIG. 4 is a diagram for explaining preprocessing for the load vector b. [Figure 5] FIG. 5 is a diagram for explaining the process of performing PCA on stiffness matrix A (Reshaped A). [Figure 6] FIG. 6 is a diagram for explaining the process of creating an input matrix. [Figure 7] FIG. 7 is a diagram for explaining a process of predicting a solution using a GNN. [Figure 8] FIG. 8 is a diagram for explaining the difficulty of a nonlinear problem. [Figure 9] FIG. 9 is a diagram for explaining the cause of performance degradation in the conventional technology. [Figure 10] FIG. 10 shows a loss graph for a prior art surrogate model. [Figure 11] FIG. 11 is a diagram (1) showing the results of comparison of the displacement with the training data. [Figure 12] FIG. 12 is a diagram (2) showing the results of comparison with the training data regarding displacement. [Figure 13] FIG. 13 is a diagram for explaining the processing of the information processing device according to the present embodiment. [Figure 14] FIG. 14 is a diagram for explaining Flatten executed by the preprocessing unit. [Figure 15] FIG. 15 is a diagram for explaining the GNN according to this embodiment. [Figure 16] FIG. 16 is a diagram for explaining the NN according to this embodiment. [Figure 17] FIG. 17 is a diagram illustrating the counting unit according to the present embodiment. [Figure 18]FIG. 18 shows a loss graph for this example. [Figure 19] FIG. 19 is a diagram showing the results of comparison of the displacement with the training data in this embodiment. [Figure 20] FIG. 20 is a functional block diagram illustrating the configuration of an information processing device according to this embodiment. [Figure 21] FIG. 21 is a flowchart illustrating a processing procedure of the information processing device according to the present embodiment. [Figure 22] FIG. 22 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment. [Figure 23] FIG. 23 is a diagram for explaining the structural analysis. [Figure 24] FIG. 24 is a diagram illustrating the stiffness matrix A and the load vector b. [Figure 25] FIG. 25 is a diagram for explaining the characteristics of linear problems and nonlinear problems. [Figure 26] FIG. 26 is a diagram for explaining the AI surrogate model. [Figure 27] FIG. 27 is a diagram for explaining the mathematical expression of a graph structure. DETAILED DESCRIPTION OF THE INVENTION
[0024] Hereinafter, embodiments of the prediction program, prediction method, and information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments. [Example]
[0025] Before describing this embodiment, a more specific description of the prior art of the AI surrogate model will be given. In the following description, a device that executes the processing of the prior art will be referred to as a "conventional device."
[0026] For example, conventional devices treat nodes decomposed into finite elements as a graph structure, organize the stiffness matrix A and load vector b, and assign features related to each node. As the stiffness matrix A is a large matrix, conventional devices perform principal component analysis (PCA) to assign features by removing the dimensions that contain information about the entire graph.
[0027] In conventional systems, the solution of "Ax = b," which can often be a bottleneck, is replaced with a surrogate model. Because only a portion of the equation is replaced, once the calculations converge, a solution comparable to that of a simulation can be expected.
[0028] 1 is a diagram showing an example of the configuration of a conventional surrogate model. As shown in FIG. 1, a conventional surrogate model 50 includes preprocessing units 51a and 51b, a connection unit 52, and a GNN 53.
[0029] 2 is a flowchart showing the calculation procedure of the surrogate model. As shown in FIG. 2, the conventional device performs preprocessing on the stiffness matrix A and the load vector b (step S11).
[0030] The conventional device performs PCA on the stiffness matrix A (step S12). The conventional device creates an input matrix (step S13). The conventional device predicts a solution using the GNN 53 (step S14).
[0031] Next, the processing of each step explained in FIG. 2 will be explained in more detail.
[0032] The following describes the preprocessing of the stiffness matrix A and the load vector b described in step S11 of Fig. 2. Fig. 3 is a diagram for explaining the preprocessing of the stiffness matrix A. The preprocessing of the stiffness matrix A is performed by the preprocessing unit 51a of Fig. 1.
[0033] For example, the stiffness matrix A shown in Figure 3 is a stiffness matrix corresponding to the graph structure H2. The graph structure H2 includes nodes n1, n2, n3, and n4. The node n1 is connected to nodes n2, n3, and n4. The node n2 is connected to node n3. The node n3 is connected to node n4.
[0034] Preprocessing unit 51a generates information for the first row of Reshaped A by rearranging each cell included in the row corresponding to node n1 of stiffness matrix A. Preprocessing unit 51a generates information for the second row of Reshaped A by rearranging each cell included in the row corresponding to node n2 of stiffness matrix A. Preprocessing unit 51a generates information for the third row of Reshaped A by rearranging each cell included in the row corresponding to node n3 of stiffness matrix A. Preprocessing unit 51a generates information for the fourth row of Reshaped A by rearranging each cell included in the row corresponding to node n4 of stiffness matrix A.
[0035] The preprocessing unit 51a rearranges the cells according to a predetermined rule. For example, the preprocessing unit 51a may rearrange the cells in the same manner as the technique described in Patent Document 1. The preprocessing unit 51a also normalizes each feature amount for each column of Reshaped A. Reshaped A can be regarded as a feature amount matrix.
[0036] 4 is a diagram for explaining pre-processing for the load vector b. The pre-processing for the load vector b is executed by the pre-processing unit 51b in FIG.
[0037] For example, the load vector b shown in FIG. 4 is determined from the load vector applied to the target member.
[0038] Preprocessing unit 51b places each cell in region b-n1 of load vector b in the first row of Reshaped b. Preprocessing unit 51b places each cell in region b-n2 of load vector b in the second row of Reshaped b. Preprocessing unit 51b places each cell in region b-n3 of load vector b in the third row of Reshaped b. Preprocessing unit 51b places each cell in region b-n4 of load vector b in the fourth row of Reshaped b.
[0039] The feature amounts in each column of Reshaped b indicate loads in the x, y, and z directions from the left. The preprocessing unit 51b normalizes each column of Reshaped b for each load.
[0040] Next, a description will be given of the process of performing PCA on the stiffness matrix A (Reshaped A) described in step S12 of Fig. 2. Fig. 5 is a diagram for explaining the process of performing PCA on the stiffness matrix A (Reshaped A). The process of performing PCA on Reshaped A is executed by the pre-processing unit 51a in Fig. 1.
[0041] As shown in FIG. 5, the preprocessing unit 51a performs PCA on Reshaped A to reduce the dimensions and generate PCA(A). Here, the array of PCA(A) is assumed to have 4 rows and 4 columns. The first row of PCA(A) stores the dimension-reduced features of node n1 (features of the first to fourth components). The second row of PCA(A) stores the dimension-reduced features of node n2. The third row of PCA(A) stores the dimension-reduced features of node n3. The fourth row of PCA(A) stores the dimension-reduced features of node n4.
[0042] Next, we will explain the process of creating the input matrix explained in step 13 of Fig. 2. Fig. 6 is a diagram for explaining the process of creating the input matrix. The process of creating the input matrix is executed by the connection unit 52 of Fig. 1.
[0043] As shown in FIG. 6, the concatenation unit 52 generates an input matrix by concatenating PCA(A) and Reshaped b.
[0044] Next, the process of predicting a solution using the GNN 53, which was described in step 14 of Fig. 2, will be described. Fig. 7 is a diagram for explaining the process of predicting a solution using the GNN. As shown in Fig. 7, the GNN 53 has a GCN (Graph Convolution Network) layer 53a, an activation layer 53b, and a fully connected layer 53c.
[0045] When an input matrix is input to the GNN 53, processing by the GCN 53a and activation layer 53b is repeated n times, and finally, in the fully connected layer 53c, the shape of the output x is adjusted to match the shape of a preset matrix.
[0046] The surrogate model related to the conventional technology has been described above. Next, the problems related to the conventional technology will be described in more detail.
[0047] In conventional technology, nonlinear problems are solved using AI such as surrogate models. However, since nonlinear problems are solved repeatedly, errors in the AI affect the results of the next calculation.
[0048] Figure 8 is a diagram to explain the difficulty of nonlinear problems. Figure 8 explains the effect of errors in linear analysis by comparing them with the effect of errors in nonlinear analysis. In linear analysis, the number of iterations from the start of calculation is one, so even if an error ε1 occurs in the first iteration, it is not much of a problem.
[0049] In contrast, in nonlinear analysis, the error in the first iteration affects the calculation in the second iteration, and the error gradually accumulates. For example, in the nth iteration, the error is: error ε1 + ε2 + + ε n Therefore, in order for the calculation to complete successfully without divergence, an AI model with higher performance than that for linear problems is required.
[0050] In contrast, with conventional technology, the information in the feature matrix input to the GNN is biased, resulting in low prediction accuracy.
[0051] Fig. 9 is a diagram for explaining the cause of performance degradation in the prior art. The feature matrix ma3 shown in Fig. 9 is an input matrix input to the GNN (GNN 53 described in Fig. 1). The feature matrix ma3 is a matrix formed by concatenating a matrix ma3-1 calculated from the stiffness matrix A and a matrix ma3-2 calculated from the load vector b. As the problem scale increases, the number of rows and columns of matrix ma3-1 increases, but the number of columns of matrix ma3-2 always remains three (loads in the x, y, and z directions).
[0052] Here, local changes in the boundary conditions (weight vector b) affect the global solution, but in the feature matrix ma3 input to the GNN, the proportion of matrix ma3-2 is small compared to matrix ma3-1, making it difficult to capture local changes in the boundary conditions. This tendency becomes more pronounced as the problem becomes larger. In the example shown in Figure 9, matrix ma3-1 is a matrix of "2142 x 1640" and matrix ma3-2 is a matrix of "2142 x 3".
[0053] Image 5 in Figure 9 visualizes the load vector b. A value other than 0 is set only in region 5a of image 5, and the values in other regions are 0 (the areas where the values are not 0 are local).
[0054] Fig. 10 shows a loss graph for a conventional surrogate model. The horizontal axis of graph G1 in Fig. 10 corresponds to Epochs (number of learning epochs), and the vertical axis corresponds to Train / Val Loss (error). As shown in Fig. 10, with the conventional technology, even after repeated learning, learning does not progress beyond an error of about 0.001.
[0055] Figure 11 is a diagram (1) showing the results of a comparison of displacement with training data. Graphs G2x, G2y, and G2z in Figure 11 are graphs showing the displacement of each node (displacement in the x, y, and z directions) at a certain timing T1. Line l1 is a line showing the predicted solution by the surrogate model. Line l2 is a line showing the training data (correct answer data).
[0056] For example, the vertical axis of graph G2x indicates displacement in the x direction, and the horizontal axis of graph G2x corresponds to the identification number of each node. The vertical axis of graph G2y indicates displacement in the y direction, and the horizontal axis of graph G2y corresponds to the identification number of each node. The vertical axis of graph G2z indicates displacement in the z direction, and the horizontal axis of graph G2z corresponds to the identification number of each node.
[0057] As shown in FIG. 11, the predicted solution (line l2) oscillates with respect to the training data (line l1), indicating that the accuracy of the prediction results of the surrogate model is not good.
[0058] Figure 12 is a diagram (2) showing the results of a comparison of displacement with training data. Graphs G2x, G2y, and G2z in Figure 12 are graphs showing the displacement of each node (displacement in the x, y, and z directions) at a certain timing T2. Line l1 is a line showing the predicted solution by the surrogate model. Line l2 is a line showing the training data (correct answer data).
[0059] The explanation regarding the vertical and horizontal axes of the graphs G2x, G2y, and G2z is the same as that given in FIG.
[0060] As shown in Figure 12, the accuracy may drop significantly depending on the timing. For example, in G2z, the training data (line l1) and the predicted solution (line l2) diverge.
[0061] The above describes the issues with the conventional technology. As explained in Figure 8, when performing nonlinear analysis using AI, it is necessary to improve the accuracy of the predicted solution. However, with the conventional technology, as explained in Figure 9, there is a bias in the information in the feature matrix input to the GNN, making it difficult to improve the accuracy of the predicted solution.
[0062] Next, we move on to a description of an information processing device according to this embodiment. In the following description, the information processing device according to this embodiment will be referred to as an "information processing device 100." In conventional technology, the stiffness matrix A and the load vector b are processed together using a GNN. In contrast, the information processing device 100 processes the stiffness matrix A using a GNN, and processes the load vector b using a separate model such as an NN. The information processing device 100 aggregates the output results of the GNN and the NN to obtain a final predicted solution x.
[0063] This allows data with different characteristics, such as the stiffness matrix A and the load vector b, to be trained using separate, appropriate models, improving the accuracy of the solutions predicted by the AI.
[0064] 13 is a diagram for explaining the processing of the information processing device according to this embodiment. As shown in FIG. 13, the information processing device 100 includes a teacher data DB 141, preprocessing units 151a and 151b, a GNN 152, an NN 153, and an aggregation unit 154.
[0065] The teacher data DB 141 stores a plurality of teacher data (teacher data sets). The teacher data includes a set of a stiffness matrix A, a load vector b, and correct answer data. For example, the information processing device 100 selects teacher data, inputs the stiffness matrix A of the selected teacher data to the preprocessing unit 151a, and inputs the load vector b to the preprocessing unit 151b. The information processing device 100 trains the parameters of the GNN 152 and the NN 153 based on the backpropagation algorithm so that the difference between the solution x output from the aggregation unit 154 (described later) and the correct answer data of the selected teacher data becomes small.
[0066] The preprocessing unit 151a receives the stiffness matrix A and performs preprocessing. The preprocessing performed by the preprocessing unit 151a is the same as the processing performed by the preprocessing unit 51a described with reference to FIG.
[0067] For example, the preprocessing unit 151a generates Reshaped A by rearranging the cells of the stiffness matrix A in the same manner as in the process described with reference to Fig. 3. The preprocessing unit 151a performs PCA on Reshaped A to generate PCA(A) in the same manner as in the process described with reference to Fig. 5. The preprocessing unit 151a inputs PCA(A), which is the result of the preprocessing, to the GNN 152.
[0068] The preprocessing unit 151b receives the weight vector b and executes preprocessing, which is called "Flatten."
[0069] 14 is a diagram for explaining the flattening performed by the preprocessing unit. As shown in FIG. 14, the preprocessing unit 151b converts a weight vector b of 2142×3 rows and 1 column into a weight vector b of 1 row and 2142×3 columns. The preprocessing unit 151b inputs the weight vector b, which is the result of the preprocessing, to the NN 153.
[0070] Upon receiving input of PCA(A), which is the preprocessing result, the GNN 152 outputs an intermediate feature A'. FIG. 15 is a diagram for explaining a GNN according to this embodiment. As shown in FIG. 15, the GNN 152 has a GCN layer 152a, an activation layer 152b, and a fully connected layer 152c. For example, the matrix of PCA(A) input to the GNN 152 is assumed to have 2142 rows and 1640 columns. The GNN 152 is an example of a "first learning model." The intermediate feature A' is an example of a "first output result."
[0071] When PCA(A) is input to the GNN 152, the GCN layer 152a and the activation layer 152b repeat the process n times. Finally, the fully connected layer 152c adjusts the shape of the output (intermediate feature A') to a predetermined matrix shape (2142 rows, 3 columns). The intermediate feature A' output from the GNN 152 is input to the aggregation unit 154.
[0072] When the NN153 receives an input of a weight vector b, which is a result of preprocessing, it outputs an intermediate feature b'. FIG. 16 is a diagram for explaining the NN according to this embodiment. As shown in FIG. 16, the NN153 has a fully connected layer 153a and an activation layer 153b. For example, the matrix of the weight vector b input to the NN153 is a 1-row, 2142×3 matrix. The NN153 is an example of a "second learning model." The intermediate feature b' is an example of a "second output result."
[0073] When the weight vector b is input to the NN 153, the process by the fully connected layer 153a and the activation layer 153b is repeated n times, and an intermediate feature b' is output. For example, the intermediate feature b' is assumed to be a matrix with 1 row and 3 columns. The intermediate feature b' output from the NN 153 is input to the aggregation unit 154.
[0074] The counting unit 154 counts the intermediate feature A' and the intermediate feature b' and outputs a predicted solution x. FIG. 17 is a diagram for explaining the counting unit according to this embodiment. As shown in FIG. 17, the counting unit 154 generates an intermediate feature B' by performing broadcast on the intermediate feature b'. For example, the intermediate feature B' is a matrix with 2142 rows and 3 columns.
[0075] The aggregation unit 154 calculates the solution matrix X by calculating the element product of the intermediate feature A' and the intermediate feature B'. For example, the solution matrix X is a matrix with 2142 rows and 3 columns. The aggregation unit 154 performs flattening on the solution matrix X so that the shape of the output x becomes the shape of a preset matrix (2142 × 3 rows, 1 column), and calculates the final solution x. The solution x includes information on displacements in the x, y, and z directions.
[0076] The information processing device 100 selects teacher data from the teacher data DB 141, inputs the selected teacher data to the preprocessing unit 151a and the preprocessing unit 151b, and repeatedly executes a process of training the parameters of the GNN 152 and the NN 153 so that the difference between the solution x output from the aggregation unit 154 and the correct answer data becomes small.
[0077] FIG. 18 is a diagram showing a loss graph related to this embodiment. The horizontal axis of graph G3 in FIG. 18 corresponds to Epochs (number of learning epochs), and the vertical axis corresponds to Train / Val Loss (error). As shown in FIG. 18, according to this embodiment, the error decreases to 1.0e -6 It can be seen that the accuracy of the predicted solution is improved compared to the conventional technique shown in FIG.
[0078] Fig. 19 is a diagram showing the results of a comparison of displacement with training data for this embodiment. Graphs G4x, G4y, and G4z in Fig. 19 are graphs showing the displacement (displacement in the x, y, and z directions) of each node at a certain timing T. Line l1 is a line showing a predicted solution by the information processing device 100. Line l2 is a line showing training data (correct answer data).
[0079] For example, the vertical axis of graph G4x indicates displacement in the x direction, and the horizontal axis of graph G4x corresponds to the identification number of each node. The vertical axis of graph G4y indicates displacement in the y direction, and the horizontal axis of graph G4y corresponds to the identification number of each node. The vertical axis of graph G4z indicates displacement in the z direction, and the horizontal axis of graph G4z corresponds to the identification number of each node. As shown in Figure 19, it can be seen that the predicted solution almost matches the training data.
[0080] Next, a configuration example of an information processing device 100 according to this embodiment will be described. Fig. 20 is a functional block diagram showing the configuration of the information processing device according to this embodiment. As shown in Fig. 20, this information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
[0081] The communication unit 110 executes data communication with an external device, etc. via a network. For example, the communication unit 110 may receive teacher data from an external device.
[0082] The input unit 120 inputs various types of information to the control unit 150 of the information processing device 100. The input unit 120 is an input device or the like.
[0083] The display unit 130 displays information output from the control unit 150. The display unit 130 is a display device or the like.
[0084] The storage unit 140 includes a teacher data DB 141. The storage unit 140 is a storage device such as a memory.
[0085] A plurality of sets of teacher data (teacher data sets) are stored in the teacher data DB 141. The teacher data includes a set of a stiffness matrix A, a load vector b, and correct answer data.
[0086] The control unit 150 includes a preprocessing unit 151a, a preprocessing unit 151b, a GNN 152, an NN 153, an aggregation unit 154, a learning execution unit 155, and an inference processing unit 156. The control unit 150 is a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.
[0087] The preprocessing unit 151a receives the stiffness matrix A and performs preprocessing. The preprocessing performed by the preprocessing unit 151a is similar to the processing performed by the preprocessing units 51a and 151a described with reference to FIGS.
[0088] The preprocessing unit 151b receives the weight vector b and performs preprocessing. The preprocessing performed by the preprocessing unit 151b is a process called "Flatten." The preprocessing performed by the preprocessing unit 151b is the same as the process described with reference to FIG. 14 and the like.
[0089] The GNN 152 is a machine learning model that outputs an intermediate feature A' when PCA(A) is input. The explanation regarding the GNN 152 is the same as that explained with reference to FIG.
[0090] The NN 153 is a machine learning model that outputs an intermediate feature value b' when a preprocessed weight vector b is input. The explanation regarding the NN 153 is the same as that explained with reference to FIG.
[0091] The counting unit 154 counts the intermediate feature amount A' and the intermediate feature amount b' and outputs the predicted solution x. The explanation regarding the counting unit 154 is the same as that explained with reference to FIG.
[0092] The learning execution unit 155 controls learning for the GNN 152 and the NN 153. For example, the learning execution unit 155 selects teacher data from the teacher data DB 141, inputs the stiffness matrix A of the selected teacher data to the preprocessing unit 151a, and inputs the load vector b to the preprocessing unit 151b. Thereafter, the learning execution unit 155 trains the parameters of the GNN 152 and the NN 153 based on the backpropagation algorithm so that the difference between the solution x output from the aggregation unit 154 and the correct answer data of the selected teacher data becomes small.
[0093] The learning execution unit 155 repeatedly executes the above process until a predetermined termination condition is met, such as the number of learning times exceeding a predetermined number, or the difference becoming less than a threshold value.
[0094] The inference processing unit 156 executes inference based on the trained GNN 152 and NN 153. For example, when the inference processing unit 156 receives a stiffness matrix A and a load vector b to be inferred from the input unit 120 or the like, the inference processing unit 156 inputs the stiffness matrix A to the preprocessing unit 151a and the load vector b to the preprocessing unit 151b. Thereafter, the inference processing unit 156 outputs the solution x output from the aggregation unit 154 to the display unit 130 or the like as a predicted solution.
[0095] Next, an example of a processing procedure of the information processing device 100 according to this embodiment will be described. Fig. 21 is a flowchart showing the processing procedure of the information processing device according to this embodiment. As shown in Fig. 21, the learning execution unit 155 of the information processing device 100 acquires training data from the training data DB 141 (step S101).
[0096] The learning execution unit 155 inputs the stiffness matrix A of the training data to the preprocessing unit 151a (step S102a). The preprocessing unit 151a of the information processing device 100 executes preprocessing based on the stiffness matrix A (step S103a). The preprocessing unit 151a inputs the preprocessing result to the GNN 152 and calculates the intermediate feature A' (step S104a).
[0097] Meanwhile, the learning execution unit 155 inputs the weight vector b of the teacher data to the preprocessing unit 151b (step S102b). The preprocessing unit 151b of the information processing device 100 executes preprocessing based on the weight vector b (step S103b). The preprocessing unit 151b inputs the preprocessing result to the NN 153 and calculates the intermediate feature b' (step S104b).
[0098] The aggregation unit 154 of the information processing device 100 calculates a solution x based on the intermediate feature A' and the intermediate feature b' (step S105). The learning execution unit 155 updates the parameters of the GNN 152 and the NN 153 so that the difference between the solution x and the correct answer data is not small (step S106).
[0099] If the termination condition is not satisfied (step S107, No), the learning execution unit 155 proceeds to step S101. On the other hand, if the termination condition is satisfied (step S107, Yes), the learning execution unit 155 ends the process.
[0100] Next, the effects of the information processing device 100 according to this embodiment will be described. The information processing device 100 processes the stiffness matrix A using a GNN, and processes the load vector b using another model such as an NN. The information processing device 100 aggregates the output results of the GNN and the NN to obtain a final predicted solution x. This makes it possible to train data with different characteristics, such as the stiffness matrix A and the load vector b, using separate, appropriate models, thereby improving the accuracy of the solution predicted by AI.
[0101] The information processing device 100 acquires the correct data of the displacement corresponding to the stiffness matrix A and the load vector b, and updates the parameters of the GNN and NN so that the difference between the displacement predicted by the prediction process and the correct data becomes small. This makes it possible to train data with different characteristics, such as the stiffness matrix A and the load vector b, using separate appropriate models.
[0102] The information processing device 100 predicts the displacement of the structure by the element product of the output result of the GNN and the output result of the NN, thereby making it possible to accurately predict the displacement of the structure.
[0103] The output results of the GNN and the NN are matrices, and the information processing device 100 matches the number of rows of the output result of the NN to the number of rows of the output result of the GNN, thereby making it possible to perform element multiplication.
[0104] The information processing device 100 reduces the dimensions of the stiffness matrix A by performing principal component analysis on the stiffness matrix A, and inputs the stiffness matrix A with reduced dimensions to the GNN to obtain an output result, thereby reducing the amount of calculation.
[0105] Next, a description will be given of an example of a hardware configuration of a computer that realizes the same functions as the above-described information processing device 100. Fig. 22 is a diagram showing an example of a hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.
[0106] 22, computer 200 has CPU 201 that executes various types of arithmetic processing, input device 202 that accepts data input from a user, and display 203. Computer 200 also has communication device 204 that exchanges data with external devices via a wired or wireless network, and interface device 205. Computer 200 also has RAM 206 that temporarily stores various types of information, and hard disk drive 207. Each of devices 201 to 207 is connected to bus 208.
[0107] The hard disk drive 207 stores a preprocessing program 207a, a GNN program 207b, an NN program 207c, a counting program 207d, a learning execution program 207e, and an inference processing program 207f. The CPU 201 reads out each of the programs 207a to 207f and loads them into the RAM 206.
[0108] The pre-processing program 207a functions as the pre-processing process 206a. The GNN program 207b functions as the GNN process 206b. The NN program 207c functions as the NN process 206c. The counting program 207d functions as the counting process 206d. The learning execution program 207e functions as the learning execution process 206e. The inference processing program 207f functions as the inference processing process 206f.
[0109] The processing of the pre-processing process 206a corresponds to the processing of the pre-processing units 151a and 151b. The processing of the GNN process 206b corresponds to the processing of the GNN 152. The processing of the NN process 206c corresponds to the processing of the NN 153. The processing of the aggregation process 206d corresponds to the processing of the aggregation unit 154. The processing of the learning execution process 206e corresponds to the processing of the learning execution unit 155. The processing of the inference processing process 206f corresponds to the processing of the inference processing unit 156.
[0110] It should be noted that each of the programs 207a to 207f does not necessarily have to be stored in the hard disk drive 207 from the beginning. For example, each of the programs may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207f.
[0111] The following supplementary notes are further disclosed regarding the embodiments including the above examples.
[0112] (Supplementary Note 1) A stiffness matrix of the structure is input to a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; A displacement of the structure caused by the application of the load is predicted based on the first output result and the second output result. A prediction program that causes a computer to execute a process.
[0113] (Supplementary Note 2) Acquire correct data of the displacement corresponding to the stiffness matrix and the load vector, A prediction program as described in Appendix 1, characterized in that the computer is further caused to execute a process of updating the parameters of the first learning model and the second learning model so that the difference between the displacement predicted by the prediction process and the correct data is reduced.
[0114] (Appendix 3) The prediction program according to appendix 1, wherein the process of predicting the displacement predicts the displacement of the structure by an element product of the first output result and the second output result.
[0115] (Appendix 4) The prediction program described in Appendix 3, characterized in that the first output result and the second output result are matrices, and the prediction program further causes the computer to execute a process of adjusting the number of rows of the second output result to the number of rows of the first output result.
[0116] (Appendix 5) The prediction program described in Appendix 1, characterized in that the process of obtaining the first output result comprises performing principal component analysis on the stiffness matrix to reduce the dimension of the stiffness matrix, inputting the dimension-reduced stiffness matrix into the first learning model, and obtaining the first output result.
[0117] (Appendix 6) A stiffness matrix of the structure is input to a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; A displacement of the structure caused by the application of the load is predicted based on the first output result and the second output result. A prediction method characterized in that the processing is performed by a computer.
[0118] (Supplementary Note 7) Acquire correct data of the displacement corresponding to the stiffness matrix and the load vector, The prediction method described in Appendix 6, characterized in that the computer further performs a process of updating the parameters of the first learning model and the second learning model so that the difference between the displacement predicted by the prediction process and the correct data is reduced.
[0119] (Appendix 8) The prediction method according to appendix 6, wherein the process of predicting the displacement predicts the displacement of the structure by an element product of the first output result and the second output result.
[0120] (Appendix 9) The prediction method described in Appendix 8, wherein the first output result and the second output result are matrices, and the computer further executes a process of adjusting the number of rows of the second output result to the number of rows of the first output result.
[0121] (Appendix 10) The prediction method described in Appendix 6, characterized in that the process of obtaining the first output result comprises performing principal component analysis on the stiffness matrix to reduce the dimension of the stiffness matrix, inputting the dimension-reduced stiffness matrix into the first learning model, and obtaining the first output result.
[0122] (Appendix 11) A stiffness matrix of the structure is input into a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; A displacement of the structure caused by the application of the load is predicted based on the first output result and the second output result. An information processing device having a control unit that executes processing.
[0123] (Supplementary Note 12) The control unit acquires correct data of the displacement corresponding to the stiffness matrix and the vector of the load, An information processing device as described in Appendix 11, further characterized in that it performs a process of updating the parameters of the first learning model and the second learning model so that the difference between the displacement predicted by the prediction process and the correct data is reduced.
[0124] (Supplementary Note 13) The information processing device according to Supplementary Note 11, wherein the process of predicting the displacement predicts the displacement of the structure by an element product of the first output result and the second output result.
[0125] (Appendix 14) The information processing device described in Appendix 13, characterized in that the control unit further performs a process in which the first output result and the second output result are matrices, and the number of rows of the second output result is adjusted to match the number of rows of the first output result.
[0126] (Appendix 15) The information processing device described in Appendix 11, characterized in that the process of obtaining the first output result comprises reducing the dimension of the stiffness matrix by performing principal component analysis on the stiffness matrix, inputting the stiffness matrix with reduced dimension into the first learning model, and obtaining the first output result. [Explanation of symbols]
[0127] 100 Information processing device 110 Communications Department 120 Input section 130 Display section 140 Storage section 141 Teacher Data DB 150 control section 151a, 151b Pre-processing section 152 GNN 153 NN 154 Counting Department 155 Learning Execution Department 156 Inference processing unit
Claims
1. inputting a stiffness matrix of the structure into a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; Based on the first output result and the second output result, a displacement of the structure due to the application of the load is predicted. A prediction program that causes a computer to execute a process.
2. Acquire correct data of the displacement corresponding to the stiffness matrix and the vector of the load; The prediction program described in claim 1, characterized in that the computer is further caused to execute a process of updating the parameters of the first learning model and the second learning model so that the difference between the displacement predicted by the prediction process and the correct data is reduced.
3. 2. The prediction program according to claim 1, wherein the process of predicting the displacement predicts the displacement of the structure by an element product of the first output result and the second output result.
4. 4. The prediction program according to claim 3, wherein the first output result and the second output result are matrices, and the program further causes the computer to execute a process of adjusting the number of rows of the second output result to the number of rows of the first output result.
5. The prediction program described in claim 1, characterized in that the process of obtaining the first output result comprises reducing the dimension of the stiffness matrix by performing principal component analysis on the stiffness matrix, and inputting the dimension-reduced stiffness matrix into the first learning model to obtain the first output result.
6. inputting a stiffness matrix of the structure into a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; Based on the first output result and the second output result, a displacement of the structure due to the application of the load is predicted. A prediction method characterized in that the processing is performed by a computer.
7. inputting a stiffness matrix of the structure into a first learning model to obtain a first output result output from the first learning model; inputting a vector of the load applied to the structure into a second learning model to obtain a second output result output from the second learning model; Based on the first output result and the second output result, a displacement of the structure due to the application of the load is predicted. An information processing device having a control unit that executes processing.
Citation Information
Patent Citations
Program, deduction method, and information processing device
JP2023009904A