Computer system and information processing method
The computer system addresses over-smoothing in GCNNs by managing graph transformation with a pooling layer and evaluation rule, enhancing prediction accuracy through optimized operations.
Patent Information
- Application Number
- JP2022192255
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2042-11-30
AI Technical Summary
Graph convolutional neural networks (GCNNs) suffer from over-smoothing, leading to a loss of accuracy due to the receptive field, and existing methods like Node Decimation Pooling (NDP) fail to effectively adjust the number of vertices to be deleted, resulting in suboptimal prediction accuracy.
A computer system that manages graph transformation through a pooling layer with a transformation rule and evaluation rule, determining operations based on an evaluation index to avoid over-smoothing and maintain high prediction accuracy.
The system effectively performs GCNN processing with graph transformation, avoiding over-smoothing and maintaining high prediction accuracy by optimizing the pooling layer operations.
Smart Images

Figure 0007758649000008 
Figure 0007758649000009 
Figure 0007758649000010
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for improving the accuracy of graph convolutional neural networks. [Background technology]
[0002] Graph convolutional neural networks (GCNNs) are used, for example, to estimate material properties. It is known that GCNNs suffer from a loss of accuracy due to over-smoothing. For example, the background art of Patent Document 1 describes a problem in which the accuracy of GCNNs is not significantly improved due to a receptive field. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-87127 [Non-patent literature]
[0004] [Non-Patent Document 1] Filippo Maria Bianchi, Daniele Grattarola, Lorenzo Livi, Cesare Alippi, "Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling", October 4, 2019, [Retrieved September 9, 2021], Internet<URL: https: / / arxiv.org / abs / 1910.11436> Summary of the Invention [Problem to be solved by the invention]
[0005] To address the above-mentioned problem, a technique described in Non-Patent Document 1 is known. Non-Patent Document 1 describes that "Node Decimation Pooling (NDP) consists of three steps. First, the node decimation procedure selects nodes that belong to one side of a partition identified by a spectral algorithm that approximates the MAXCUT solution, then connects the selected nodes by Kron reduction to form a coarse graph, and finally, a sparsification procedure is applied that removes the adjacency matrix of the coarse graph to reduce the computational cost of GCNN."
[0006] Non-Patent Document 1 describes reducing the vertices of GCNN by solving the max-cut problem. However, the method in Non-Patent Document 1 has problems such as deleting vertices that are not desirable to delete and not being able to adjust the number of vertices to be deleted, and therefore does not necessarily result in a graph that improves prediction accuracy.
[0007] The present invention aims to provide a system that executes GCNN processing involving graph transformation while avoiding the problem of over-smoothing and maintaining high prediction accuracy. [Means for solving the problem]
[0008] A representative example of the invention disclosed in the present application is as follows: That is, a computer system including at least one computer holds a graph convolutional neural network including a plurality of layers that perform operations on an input graph consisting of two or more vertices and at least one edge, the plurality of layers including at least one convolutional layer and at least one pooling layer, the pooling layer performing an operation to transform the graph, the computer system managing a transformation rule for the graph in the pooling layer and an evaluation rule for evaluating information degradation accompanying the transformation of the graph, the at least one computer, when inputting a target graph, performing a process to determine an operation of the pooling layer of the graph convolutional neural network, and calculating an output by inputting the target graph to the graph convolutional neural network including the pooling layer that performs the operation determined by the process, the at least one computer, in the process, calculating an evaluation index based on the evaluation rule for the target graph transformed based on the transformation rule, and determining an operation of the pooling layer based on the evaluation index. [Effects of the Invention]
[0009] According to the present invention, it is possible to provide a system that performs GCNN processing with graph transformation while avoiding the problem of over-smoothing and maintaining high prediction accuracy. Problems, configurations, and effects other than those described above will be made clear by the following description of the embodiments. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a block diagram showing an example of a functional configuration of an information processing apparatus according to a first embodiment; [Figure 2] 1 is a block diagram illustrating an example of a hardware configuration of an information processing apparatus according to a first embodiment. [Figure 3] FIG. 1 is a diagram illustrating an example of a graph convolutional neural network according to a first embodiment. [Figure 4]FIG. 2 is a diagram illustrating an example of a data structure of graph management information stored in the graph database according to the first embodiment. [Figure 5] FIG. 10 is a diagram illustrating an example of a data structure of vertex information stored in the graph database according to the first embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of a data structure of edge information stored in the graph database according to the first embodiment. [Figure 7] FIG. 2 is a diagram illustrating an example of a data structure of rule management information stored in a rule database according to the first embodiment. [Figure 8] FIG. 10 is a diagram showing an example of a screen displayed by an input / output unit according to the first embodiment. [Figure 9] FIG. 10 is a diagram showing an example of a screen displayed by an input / output unit according to the first embodiment. [Figure 10] 10 is a flowchart illustrating an example of a pooling layer operation determination process executed by the information processing apparatus according to the first embodiment. [Figure 11] 10 is a flowchart illustrating an example of a learning process executed by the information processing apparatus according to the first embodiment. [Figure 12] 10 is a flowchart illustrating an example of an analysis process executed by the information processing apparatus according to the first embodiment. [Figure 13] FIG. 10 is a diagram illustrating a display example of an output of GCNN by the information processing device according to the first embodiment. [Figure 14] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 15] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 16A] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 16B] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 16C] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 17] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 18A] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 18B] 10 is a diagram showing an example of display of a graph transformation result by the information processing apparatus of the first embodiment. FIG. [Figure 19] FIG. 10 is a diagram illustrating an example of display of statistical information of a graph displayed by the information processing apparatus according to the first embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the spirit or intent of the present invention.
[0012] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations will be omitted.
[0013] In this specification, the terms "first," "second," "third," etc. are used to identify components and do not necessarily limit the number or order. [Example]
[0014] In Example 1, a graph convolutional neural network (GCNN) that estimates molecular properties will be described as an example. The GCNN of Example 1 outputs values related to the physical properties and physiological properties of molecules that make up materials, drugs, etc. By using this output, it is expected that the development of materials and drugs will become more efficient. Note that the present invention is not limited to the use of the GCNN, the input to the GCNN, and the output of the GCNN.
[0015] Fig. 1 is a block diagram illustrating an example of a functional configuration of an information processing apparatus according to a first embodiment, and Fig. 2 is a block diagram illustrating an example of a hardware configuration of the information processing apparatus according to the first embodiment.
[0016] The information processing device 100 has, as its functions, an input / output unit 110, an information processing unit 120, and a storage unit 130. The information processing device 100 also has, as its hardware, a processor 201, a main storage unit 202, a secondary storage unit 203, and a network interface 204. The information processing device 100 may also have input devices such as a keyboard, a mouse, and a touch panel, as well as an output device such as a display.
[0017] The main storage device 202 is a memory or the like, and stores programs and information executed by the processor 201. The main storage device 202 is used as a work area for temporarily storing data. The secondary storage device 203 is a hard disk drive (HDD), solid state drive (SSD), or the like, and permanently stores data.
[0018] The processor 201 executes a program stored in the main memory device 202. The processor 201 executes processing in accordance with the program, thereby operating as the input / output unit 110, the information processing unit 120, and the storage unit 130. In the following description, when a process is described using a function as the subject, it indicates that the processor 201 is executing a program that realizes the function.
[0019] The network interface 204 communicates with external devices over a network.
[0020] The input / output unit 110 receives input of data and outputs data. The input / output unit 110 includes an input unit 111 and a display unit 112.
[0021] The information processing unit 120 executes processing using GCNN. The information processing unit 120 includes a pooling layer optimization unit 121, a learning unit 122, and an estimation unit 123.
[0022] The storage unit 130 manages various types of data. Specifically, the storage unit 130 manages a model database, a graph database, and a rule database.
[0023] The model database is a database for managing information related to GCNN. The model database stores structural information and hyperparameters of GCNN. The graph database is a database for managing graphs input to GCNN. The graph database stores graph management information, vertex information, edge information, etc. The graph database may be divided into a database for managing graphs corresponding to training data and a database for managing graphs corresponding to analysis data. The rule database is a database for managing rules used in the calculation determination process of the pooling layer, which will be described later. The rule database stores rule management information.
[0024] FIG. 3 is a diagram illustrating an example of a graph convolutional neural network according to the first embodiment.
[0025] There are various types of GCNN architectures. The GCNN of Example 1 includes at least one convolutional layer and at least one pooling layer. The GCNN shown in Figure 3 includes two convolutional layers (1) and (2) and one pooling layer (1).
[0026] The convolutional layer receives as input a graph in which feature vectors are set for at least one of the vertices and edges, performs a convolution operation on each vertex, and generates a graph in which a new feature vector is set. The convolution operation is, for example, the aggregation of feature vectors of adjacent vertices. The pooling layer transforms the input graph by deleting either vertices or edges.
[0027] The GCNN of Example 1 includes a layer that aggregates the vertices of the graph after completing all the operations of the convolutional layer and pooling layer. The operation of this exterior outputs a vector that represents the embedding (representation) of the graph.
[0028] Alternatively, GCNN may output the embedding of each vertex. In this case, instead of aggregation, GCNN repeatedly performs unpooling and convolutional layer operations to restore the deformed graph. This allows the output to be a graph with the same structure as the input graph, with each vertex having a feature vector that is the vertex embedding.
[0029] Another possible application is clustering of graph vertices. In this case, GCNN obtains the embedding of the vertices as the output of GCNN by the above-mentioned operation, and then clusters the vertices using, for example, k-means algorithm on the embedding of the vertices.
[0030] Another possible application is to estimate whether an edge exists between two specified vertices. In this case, after obtaining the vertex embedding as the output of GCNN by the above operation, for example, the embedding z u , z v The probability that an edge exists between two vertices is calculated using a sigmoid function σ with the variable
[0031] FIG. 4 is a diagram illustrating an example of a data structure of graph management information stored in the graph database according to the first embodiment.
[0032] The graph management information 400 is information for managing graphs, which are training data, and stores entries including a graph ID 401, a vertex information ID 402, an edge information ID 403, and a feature value 404. One entry exists for one graph. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the fields described above, or may include other fields. For example, instead of the graph ID, a field for storing the name of the graph may be included.
[0033] The graph ID 401 is a field that stores the ID of the graph. The vertex information ID 402 is a field that stores the ID of the vertex information of the graph. The edge information ID 403 is a field that stores the ID of the edge information of the graph. The feature amount 404 is a field that stores the feature amount of the graph. The feature amount of the graph is, for example, a feature amount vector that represents the characteristics of a molecule and has components such as internal energy and electric dipole moment.
[0034] It is not necessary to store both the vertex information and the edge information. For example, only the vertex information may be stored.
[0035] The graph management information for managing the graph, which is the analysis data, stores entries including a graph ID, a vertex information ID, and an edge information ID.
[0036] FIG. 5 is a diagram illustrating an example of a data structure of vertex information stored in the graph database according to the first embodiment.
[0037] The vertex information 500 is information to which a vertex information ID is assigned, and stores entries including a vertex ID 501 and a vertex type 502. There is one entry for one vertex. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above-described fields, or may include other fields.
[0038] A vertex ID 501 is a field that stores the ID of a vertex. A vertex type 502 is a field that stores information about the type of a vertex. For example, a vector that is 1-hot encoded to indicate the type of atom corresponding to the vertex is stored.
[0039] FIG. 6 is a diagram illustrating an example of a data structure of edge information stored in the graph database according to the first embodiment.
[0040] The edge information 600 is information to which an edge information ID is assigned, and stores entries including an edge ID 601, an edge type 602, and a connection vertex 603. There is one entry for one edge. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.
[0041] The edge ID 601 is a field that stores the ID of an edge. The edge type 602 is a field that stores information about the type of edge. For example, a vector that is 1-hot encoded to indicate the type of chemical bond between atoms corresponding to the edge is stored. The connection vertex 603 is a field that stores information for identifying the vertices connected by the edge. The connection vertex 603 stores, for example, a two-dimensional vector, an adjacency matrix, or a connection matrix whose components are the IDs of the vertices connected by the edge.
[0042] FIG. 7 is a diagram illustrating an example of a data structure of rule management information stored in the rule database according to the first embodiment.
[0043] The rule management information 700 stores entries including a rule set ID 701, a pooling layer 702, a rule ID 703, and a rule 704. There is one entry for each combination of a pooling layer and a rule set. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.
[0044] Rule Set ID 701 is a field that stores the ID of a rule set, which is a combination of rules to be applied to a pooling layer. Pooling Layer 702 is a field that stores the ID of the pooling layer to which the rule is applied. Rule ID 703 is a field that stores the ID of the rule to be applied to the pooling layer. Rule 704 is a field that stores the content of the rule to be applied to the pooling layer.
[0045] The rules applied to the pooling layer 702 include graph transformation rules and evaluation rules for evaluating information degradation due to graph transformation.
[0046] The transformation rule may be, for example, a transformation rule that transforms a graph by deleting vertices, or a transformation rule that transforms a graph by deleting edges. The transformation rule may include, for example, the ratio of the number of vertices to be deleted. In the following description, a transformation rule that transforms a graph by deleting vertices will be referred to as a first transformation rule, and a transformation rule that transforms a graph by deleting edges will be referred to as a second transformation rule. When there is no need to distinguish between the first transformation rule and the second transformation rule, they will be referred to as transformation rules.
[0047] The evaluation rules are, for example, the importance of vertices and edges. Instead of setting the importance of each vertex, a function with variables for information associated with the vertex, such as the type of the vertex, its degree, the type of the connected edge, and the type of the adjacent vertex, may be set as the evaluation rule. Similarly, for edges, a function with variables for information associated with the edge, such as the type of the edge and the types of the vertices at both ends of the edge, may be set as the evaluation rule.
[0048] A pair of a pooling layer and a transformation rule or an evaluation rule may be managed as one entry.
[0049] Here, a method for setting a rule set will be described. Fig. 8 is a diagram showing an example of a screen displayed by the input / output unit 110 of the first embodiment.
[0050] The screen 800 is a user interface for setting rules to be applied to the pooling layer of GCNN. The screen 800 includes a setting area 801 and a display area 802.
[0051] The setting area 801 includes a graph ID input field 811 , a rule setting field 812 , an apply button 813 , and an apply all button 814 .
[0052] The graph ID input field 811 is a field for inputting the ID of the graph to be input to GCNN.
[0053] The rule setting field 812 is a field for setting a rule to be applied to the pooling layer. The number of rule setting fields 812 displayed is the same as the number of pooling layers included in the GCNN. The rule setting field 812 includes a field for displaying the ID of the pooling layer. The rule setting field 812 includes a field for setting the ID of the rule and a field for selecting a transformation rule. In the field for selecting the transformation rule, radio buttons are displayed for selecting either the first transformation rule or the second transformation rule. The rule setting field 812 includes a field for setting an evaluation rule. In FIG. 8, importance is set for the type of vertex and the type of edge.
[0054] The Apply button 813 is an operation button for executing the pooling layer operation determination process under the set rule set for the graph specified in the graph ID input field 811. The Apply All button 814 is an operation button for executing the pooling layer operation determination process under the set rule set for all graphs.
[0055] When the apply button 813 or the apply all button 814 is operated, an entry corresponding to the rule set set in the rule setting field 812 is added to the rule management information 700. Accordingly, a new entry is displayed in a table 821, which will be described later.
[0056] The display area 802 includes a table 821 , a display button 822 , and a learn button 823 .
[0057] Table 821 is a table that displays rule sets. Table 821 stores entries including rule set ID 831, rules 832, and evaluation indexes 833. There is one entry for one rule set.
[0058] The rule set ID 831 is a field that stores the ID of the rule set. The rule 832 is a field that stores a list of rules to be applied to the pooling layer. The evaluation index 833 is a field that stores an evaluation index calculated in the learning process using the rule set. The evaluation index is, for example, the value of an error function. If the learning process using the rule set has not been executed, the evaluation index 833 is blank.
[0059] The display button 822 is an operation button for displaying a rule set. The user selects a rule set from the table 821 and operates the display button 822. This causes the rule set to be displayed in the rule setting field 812. The user can appropriately modify the rule set displayed in the rule setting field 812. Note that if there is information such as the output of GCNN using the selected rule set, this information may be displayed.
[0060] The learn button 823 is an operation button for instructing the execution of a learning process using training data. The user selects a rule set to be used from the table 821 and operates the learn button 823.
[0061] To assist in setting rules, the input / output unit 110 of the first embodiment may display a screen 900 as shown in Fig. 9. Fig. 9 is a diagram showing an example of a screen displayed by the input / output unit 110 of the first embodiment.
[0062] The screen 900 includes a rule set display area 901 and an error function display area 902 .
[0063] A table 910 is displayed in the rule set display area 901. The table 910 stores entries including a rule set ID 911 and a predicted evaluation index 912. The rule set ID 911 is a field that stores the ID of the rule set. The predicted evaluation index 912 is a field that stores the predicted value of the evaluation index. The predicted value of the evaluation index is calculated using a technique such as regression analysis that uses the evaluation index of the learning process that uses each rule set. The input / output unit 110 may display in the table 910 only rule sets that are expected to have small predicted values of the evaluation index.
[0064] When the user selects a rule set displayed in table 910, input / output section 110 displays details of the rule set, such as setting area 801 or table 821.
[0065] The error function display area 902 displays a contour graph of predicted values of the evaluation index for the parameters. The parameters are, for example, the importance assigned to the types of vertices and edges. The error function display area 902 may also display numerical values and bar graphs that compare the differences between transformation rules.
[0066] The plot range of the graph displayed in the error function display area 902 may be changed depending on the rule set selected in the rule set display area 901. The type of graph may also be selectable by the user.
[0067] FIG. 10 is a flowchart illustrating an example of the operation determination process of the pooling layer executed by the information processing apparatus according to the first embodiment.
[0068] The input / output unit 110 acquires a graph and a rule set to be processed (step S101). When a new graph is input by the user, the storage unit 130 stores the information of the graph in a predetermined database.
[0069] Here, it is assumed that one graph has been acquired. If multiple graphs have been acquired, the processes from step S102 to step S105 are repeatedly executed for each graph.
[0070] The pooling layer optimization unit 121 selects one pooling layer from the pooling layers included in the GCNN (step S102). Hereinafter, the selected pooling layer will be referred to as the target pooling layer. The pooling layer is selected in the order of the GCNN processing flow.
[0071] The pooling layer optimization unit 121 evaluates the information degradation due to the graph transformation based on the transformation rule based on the evaluation rule and determines the graph transformation method (step S103). Here, the evaluation method of the information degradation due to the graph transformation based on the evaluation rule will be described.
[0072] (Pattern 1) First, a method for evaluating information degradation caused by graph transformation based on a transformation rule that deletes vertices (first transformation rule) will be described.
[0073] A binary variable sequence {x v We introduce the objective function L for evaluating the information degradation of graph transformations based on the first transformation rule as {x v The objective function L is given as a linear sum of the functions L1, L2, and L3 defined below.
[0074] The function L1 is a function that evaluates the gain according to the number of vertices to be deleted, and is defined by equation (1). Here, V represents the set of vertices in the graph. This function adjusts the transformation so that the number of vertices to be deleted is as large as possible.
[0075]
number
[0076] The function L2 is a function that evaluates the information degradation according to the importance of the vertex to be deleted, and is defined by equation (2). The function L2 is a function that quantifies the deletion of an important vertex as information degradation. Here, w v represents the importance of vertex v.
[0077]
number
[0078] The function L3 is a function that evaluates the information degradation according to the importance of the edge whose both vertices are deleted, and is defined by formula (3). The function L3 is a function that quantifies the deletion of an important edge that accompanies the deletion of a vertex as information degradation. Here, E represents the set of edges in the graph, and w e represents the importance of edge e. e1 and b e2 represents the vertices at both ends of edge e.
[0079]
number
[0080] The objective function L is a combination problem of vertices to be deleted formulated as Unconstrained Binary Optimization (QUBO). The pooling layer optimization unit 121 finds a combination of values of binary variable sequences that minimizes the objective function L or makes it as small as possible.
[0081] The combination of values of the binary variable sequence that minimizes the objective function L, that is, the combination of vertices to be deleted, can be processed at high speed using Simulated Annealing, a quantum annealing machine, or the like.
[0082] The definition of the objective function L is an example and is not limited to this. For example, v}, a third-order term or a higher-order term may be added. Even when a higher-order term is added, high-speed processing is possible using simulated annealing, etc. Furthermore, by introducing auxiliary variables, it can be formulated as a QUBO and can be processed using a quantum annealing machine. Furthermore, the objective function L may be defined as a linear sum of at least two functions, rather than a linear sum of functions L1, L2, and L3.
[0083] (Pattern 2) Next, a method for evaluating information degradation caused by graph transformation based on a transformation rule for deleting edges (second transformation rule) will be described.
[0084] A binary variable sequence {x e} is introduced. The objective function L for evaluating the information degradation of graph transformations based on the second transformation rule is defined as {x e The objective function L is given as a linear sum of the functions L4, L5, L6, and L7 defined below.
[0085] The function L4 is a function that evaluates the gain according to the number of edges to be deleted, and is defined by equation (4). Here, C represents an arbitrary large real number, and C v represents the set of edges connected to vertex v. Formula (4) is a function for adjusting each vertex so that the transformation deletes at least one edge connected to the vertex as much as possible.
[0086]
number
[0087] It is considered that the greater the number W of graphs before transformation that can be considered from the transformed graph, the more information is degraded. Therefore, the function L5 is defined as log(W) as a function that evaluates the information degradation according to the number W of graphs before transformation that can be considered from the transformed graph. For example, when the types of each vertex are all different, the function L5 is defined by equation (5). Here, d erepresents the number of vertices (excluding the vertices at both ends of edge e) that are connected to either of the vertices at both ends of edge e. e_1e_2 represents the sum of the number of vertices at both ends of side e1 that are connected to either of the vertices at both ends of side e2, and the number of vertices at both ends of side e2 that are connected to either of the vertices at both ends of side e1. θ(x) is a function that is 0 when x is 0 or less, and 1 when x is greater than 0. Note that e_1 represents e1.
[0088]
number
[0089] The function L6 is a function that evaluates the information degradation according to the importance of the edge to be deleted, and is defined by equation (6). The function L6 is a function that quantifies the deletion of an important edge as information degradation. Here, W e represents the importance of edge e.
[0090]
number
[0091] The function L7 is a function that evaluates the information degradation according to the importance of the vertices that are integrated with the deletion of an edge, and is defined by equation (7). The function L7 is a function that quantifies the integration of an important vertex with another vertex as information degradation. Here, w b_e1 , w b_e2 represents the importance of the vertices at both ends of edge e. The function f(x, y) is an increasing function that is symmetric with respect to x and y.
[0092]
number
[0093] The objective function L is a combination problem of edges to be deleted formulated as Unconstrained Binary Optimization (QUBO). The pooling layer optimization unit 121 finds a combination of values of binary variable sequences that minimizes the objective function L or makes it as small as possible.
[0094] The combination of values of the binary variable sequence that minimizes the objective function L, that is, the combination of vertices to be deleted, can be processed at high speed using Simulated Annealing, a quantum annealing machine, or the like.
[0095] The definition of the objective function L is an example and is not limited to this. For example, e}, a third-order term or a higher-order term may be added. Even when a higher-order term is added, high-speed processing is possible using simulated annealing, etc. Furthermore, by introducing auxiliary variables, it can be formulated as a QUBO and can be processed using a quantum annealing machine. Furthermore, the objective function L may be defined as a linear sum of at least two functions, rather than a linear sum of functions L4, L5, L6, and L7.
[0096] This concludes the description of the process in step S103.
[0097] The pooling layer optimization unit 121 performs calculations on the pooling layer and transforms the graph from which the vertices or edges have been deleted (step S104). At this time, the storage unit 130 associates the graph ID, the rule set ID, and the pooling layer ID, and stores the transformed graph in the graph database.
[0098] The pooling layer optimization unit 121 deletes vertices or edges from the graph according to the graph transformation method determined in step S103. The pooling layer optimization unit 121 transforms the graph from which the vertices or edges have been deleted by reconnecting the edges and integrating the vertices.
[0099] When a vertex is deleted, the graph is transformed by rearranging the edges using Kron contraction, etc. For the adjacency matrix generated after Kron contraction, for example, a threshold may be set and components greater than the threshold may be replaced with 1 and components less than the threshold may be replaced with 0, or a function may be applied to the values of the adjacency matrix and the result may be written to the edge type.
[0100] When an edge is deleted, the graph is transformed by integrating the vertices at both ends of the edge and reconnecting the edge.
[0101] In vertex integration, for example, the pooling layer optimization unit 121 calculates the connected components of the vertices connected by the deleted edge, and replaces each of the calculated connected components with a vertex having one feature vector using the feature vectors of the vertices included in the connected component. The feature vector may be generated by using, for example, the maximum value or the average value of each feature vector component of the vertices included in the connected component.
[0102] More generally, the feature vector of the combined vertex can be calculated using a function for the feature vectors of each combined vertex. The above function can be configured as a neural network, and the parameters can be determined by learning.
[0103] In the edge reconnection after the vertex replacement, an edge is connected between the vertex that replaces the first connected component and the vertex that replaces the second connected component only if the vertex in the first connected component before the replacement has an edge with another vertex in the second connected component. The feature vector of the edge after the reconnection may be, for example, the maximum value or average value of each component of the feature vectors of all edges existing between the vertices in the first connected component and the vertices in the second connected component.
[0104] The pooling layer optimization unit 121 determines whether or not the processing has been completed for all pooling layers of the GCNN (step S105).
[0105] If the processing has not been completed for all pooling layers of GCNN, the pooling layer optimization unit 121 returns to step S102. If the processing has been completed for all pooling layers of GCNN, the pooling layer optimization unit 121 ends the pooling layer operation determination process.
[0106] The storage unit 130 assigns an ID to the rule set, an ID to the pooling layer, and an ID to the transformed graph, and stores the ID of the graph before transformation, the ID of the graph after transformation, and the transformed graph in association with each other.
[0107] FIG. 11 is a flowchart illustrating an example of the learning process executed by the information processing apparatus 100 according to the first embodiment.
[0108] The information processing device 100 acquires training data (graph) and a rule set (step S201).
[0109] Specifically, the input / output unit 110 accepts input of a graph representing a molecular structure. The storage unit 130 adds an entry to graph management information 400 and stores vertex information 500 and edge information 600 in the graph database. The input / output unit 110 also displays a screen 800 and accepts input of a rule set. The storage unit 130 adds an entry of the rule set to rule management information 700.
[0110] The information processing device 100 executes the operation determination process for the pooling layer (step S202). The operation determination process for the pooling layer has been explained in Fig. 10 and will not be described here. Note that the operation determination process for the pooling layer may be executed for each teacher data, or may be executed only for predetermined teacher data.
[0111] The information processing device 100 uses the training data to execute a GCNN learning process in which a pooling layer that performs the calculation determined in step S102 is set (step S203), and then terminates the learning process. In the GCNN learning process, parameters related to the convolution layer, aggregation, etc. are determined. Note that if the pooling layer calculation determination process is executed for each training data, it is changed to the calculation result process of the pooling layer corresponding to the training data to be input, and then the training data is input to the GCNN.
[0112] The storage unit 130 may store not only the learning results of the GCNN parameters, etc., but also the final output of the GCNN and the intermediate output of each layer of the GCNN. The input / output unit 110 may display the results of the learning process.
[0113] FIG. 12 is a flowchart illustrating an example of the analysis process executed by the information processing apparatus 100 according to the first embodiment.
[0114] The information processing device 100 acquires analysis data (graphs) and a rule set (step S301). The process of step S301 is the same as the process of step S201. At this time, the storage unit 130 stores the analysis data and the rule set in each database.
[0115] The information processing device 100 executes the operation determination process for the pooling layer (step S302). The operation determination process for the pooling layer has been explained in FIG.
[0116] The information processing device 100 calculates the output of the analysis data using GCNN (step S303). Specifically, the estimation unit 123 obtains the output by inputting the analysis data to GCNN, which has a pooling layer configured to perform the calculation determined in step S302. The storage unit 130 may store not only the final output of GCNN, but also intermediate outputs of each layer.
[0117] The information processing device 100 displays the output (step S304) and ends the analysis process. Specifically, the input / output unit 110 displays the output of GCNN. Note that the input / output unit 110 may also display the transformed graph and intermediate outputs of each layer.
[0118] When GCNN calculates vertex embeddings as output, the output may be displayed together with the input graph. In this case, the display is done in a way that makes it clear the embedding of each vertex.
[0119] When GCNN calculates the clustering results of vertices as output, the clustering results may be displayed together with the input graph. In this case, each vertex is displayed in a distinguishable manner according to the cluster to which it belongs.
[0120] When GCNN calculates the probability of an edge between vertices as an output, a table storing entries including vertex pairs and probabilities may be displayed. The probability of an edge between vertices may be displayed together with the input graph. The display of edges may also be changed depending on the probability.
[0121] FIG. 13 is a diagram illustrating a display example of the output of GCNN by the information processing apparatus 100 according to the first embodiment.
[0122] The input / output unit 110 displays, for example, a table 1300 to the user. The table 1300 stores entries including a graph ID 1301, a density 1302, a dipole moment 1303, and a melting point 1304. There is one entry for one graph. Note that the fields included in an entry are not limited to those described above. An entry may not include any of the above fields, or may include other fields.
[0123] A graph ID 1301 is a field that stores the ID of the graph. Density 1302, dipole moment 1303, and melting point 1304 are fields that store outputs.
[0124] 14, 15, 16A, 16B, 16C, 17, 18A, and 18B are diagrams showing display examples of the results of graph transformation by the information processing apparatus 100 according to the first embodiment.
[0125] The input / output unit 110 displays, for example, a screen 1400. The screen 1400 is a user interface for displaying the results of graph transformation, and includes a selection area 1401 and a graph display area 1402.
[0126] The selection area 1401 is an area for selecting a graph (teaching data and analysis data) to be referenced, and includes an input field 1411, a search button 1412, and a list 1413.
[0127] An input field 1411 is a field for inputting conditions for searching for a graph to be referenced. The user inputs, for example, the graph ID, the number of vertices, the number of edges, etc. into the input field 1411 and operates a search button 1412 to narrow down the graphs to be referenced.
[0128] List 1413 displays information about graphs that match the conditions entered in input field 1411. The list displays entries including the graph ID, number of vertices, and number of edges. The user selects the graph to reference by clicking an entry in list 1413.
[0129] The graph display area 1402 is an area for displaying information about the graph input to the GCNN and the graph of each layer. Here, the information displayed in the graph display area 1402 will be described.
[0130] The graph display area 1402 displays the layers of GCNN and the graphs input and output at the layers, as shown in Fig. 15. The graph display area 1402 also displays the ID of the graph input to GCNN, the number of vertices, and the number of edges. Note that due to space limitations, the graph is shown in two rows, but is actually displayed in one row.
[0131] The graph display area 1402 displays a graph to be input to GCNN, as shown in Fig. 16A, for example. The graph display area 1402 also displays graphs transformed in GCNN, as shown in Fig. 16B and Fig. 16C, for example. Fig. 16B shows a graph transformed based on the first transformation rule. Fig. 16C shows a graph transformed based on the second transformation rule.
[0132] In addition to the vertices and edges, the feature vectors of the vertices and edges may also be displayed. For example, each component of the feature vector may be displayed superimposed on the corresponding vertex or edge. Furthermore, the color and line type of the vertices and edges may be changed depending on the feature vector.
[0133] Note that the graph after transformation may display deleted vertices or deleted edges. In this case, the display is performed so that deleted vertices or edges can be distinguished from vertices and edges that are not deleted. The connected components of vertices connected by deleted edges may be regarded as one vertex.
[0134] The graph display area 1202 may display information indicating the convolution state of each layer of GCNN together with the graph, as shown in Fig. 17. Here, the state before input to GCNN is stage (1), the state after calculation of convolution layer (1) is stage (2), the state after calculation of pooling layer (1) is stage (3), and the state after calculation of convolution layer (2) is stage (4).
[0135] Tables 1701, 1702, 1703, and 1704 are information indicating the convolution states of the vertices in stages (1), (2), (3), and (4). In the convolution layer of the first embodiment, a convolution operation is performed to aggregate the feature vectors of adjacent vertices at one vertex.
[0136] In stage (1), no convolution operation is performed, so each vertex has only its own feature vector. Therefore, the convolution state of each vertex is as shown in table 1701.
[0137] As a result of the calculations in the convolution layer (1), the convolution state of each vertex is as shown in table 1702. For example, the feature vector of the adjacent vertex (3) is aggregated at vertex (2). A new feature vector calculated from the aggregated feature vector is set at each vertex.
[0138] As a result of the operations in the pooling layer (1), the convolution state of each vertex is as shown in table 1703. Because the pooling layer does not aggregate feature vectors, the convolution state does not change before and after the pooling layer.
[0139] As a result of the operations in the convolutional layer (2), the convolutional state of each vertex is as shown in table 1704. For example, the feature vectors of vertex (1), vertex (3), and vertex (5) are aggregated in vertex (2). The feature vectors of other vertices (3) are aggregated in vertices (1), (3), and (5) before being input to the convolutional layer (2). Therefore, not only the feature vectors of vertices (1), (3), and (5) but also the feature vectors of other vertices aggregated in vertices (1), (3), and (5) are aggregated in vertex (2). As a result, the feature vectors of vertices (1), (2), (3), (5), (6), and (7) are aggregated in vertex (2).
[0140] Note that the calculation of the convolution layer is merely an example and is not limited to this. For example, the feature vectors of the vertices two steps ahead may be aggregated, or the feature vectors of vertices selected from the adjacent vertices may be aggregated.
[0141] The input / output unit 110 may accept a vertex designation from the user during the display of FIG. 17, and highlight the vertex that is the origin of the feature vector aggregated at the designated vertex, as shown in FIG. 18A. Vertex (2) is designated in stage (2). As a result of the operation of convolutional layer (1), the feature vector of vertex (3) is aggregated at vertex (2), and therefore vertex (3) is highlighted. Vertex (2) is designated in stage (3). The feature vector of vertex (3) is aggregated at vertex (2), and therefore vertex (3) is highlighted. Vertex (2) is designated in stage (4). The feature vectors of vertices (1), (3), (5), (6), and (7) are aggregated at vertex (2), and therefore vertices (1), (3), (5), (6), and (7) are highlighted.
[0142] Note that vertices may be specified for each stage, or for only one stage. If a vertex is specified for only one stage, subsequent stages will also be displayed assuming that the same vertex has been specified.
[0143] The input / output unit 110 may accept a vertex specification from the user during the display of FIG. 17, and highlight the vertex into which the feature vectors of the specified vertex are aggregated, as shown in FIG. 18B. Vertex (2) is specified in stage (2). As a result of the operation of convolutional layer (1), the feature vector of vertex (2) is aggregated in vertex (3), so vertex (3) is highlighted. Vertex (2) is specified in stage (3). The feature vector of vertex (2) is aggregated in vertex (3), so vertex (3) is highlighted. Vertex (2) is specified in stage (4). The feature vector of vertex (2) is aggregated in vertices (1), (3), (4), and (5), so vertices (1), (3), (4), and (5) are highlighted.
[0144] Note that vertices may be specified for each stage, or for only one stage. If a vertex is specified for only one stage, subsequent stages will also be displayed assuming that the same vertex has been specified.
[0145] FIG. 19 is a diagram illustrating an example of the display of statistical information of a graph displayed by the information processing apparatus 100 according to the first embodiment.
[0146] Screen 1900 is a user interface that displays statistical information about a graph. Examples of statistical information about a graph include the number of vertices, the number of edges, and output of the graph. Also, statistical information about the number of vertices that aggregate feature vectors at each vertex of the graph in each layer is also possible.
[0147] A graph such as a histogram may be displayed as the statistical information, or a numerical value calculated by statistical processing such as an average value and a standard deviation may be displayed as the statistical information.
[0148] The information processing device 100 evaluates the information degradation caused by graph transformation and determines the graph transformation method, i.e., the operation of the pooling layer. This avoids the problem of over-smoothing in GCNN and maintains high prediction accuracy. In addition, since the evaluation of information degradation is formulated as QUBO, it can be processed at high speed using a quantum annealing machine or the like.
[0149] The present invention is not limited to the above-described embodiments, but includes various modifications. For example, the above-described embodiments are provided to explain the present invention in detail, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.
[0150] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, solid-state drives (SSDs), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.
[0151] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, Python, and Java (registered trademark).
[0152] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.
[0153] In the above-described embodiment, the control lines and information lines are shown as those considered necessary for the explanation, and not all control lines and information lines are necessarily shown in the product. All components may be interconnected. [Explanation of symbols]
[0154] 100 Information processing device 110 Input / Output Section 111 Input section 120 Information Processing Department 121 Pooling layer optimization part 122 Learning Department 123 Estimation Department 130 Storage section 201 processor 202 Main storage 203 Secondary storage device 204 Network Interface 400 Graph Management Information 500 Vertex Information 600 Side Information 700 Rule Management Information 800, 900, 1400, 1900 screen
Claims
1. A computer system comprising at least one computer, A graph convolutional neural network is provided that receives a graph consisting of two or more vertices and at least one edge as input and includes a plurality of layers that perform operations; the plurality of layers includes at least one convolutional layer and at least one pooling layer; The pooling layer performs an operation to transform the graph, the computer system manages a transformation rule for the graph in the pooling layer and an evaluation rule for evaluating information degradation accompanying the transformation of the graph; The at least one computer When a target graph is input, a process of determining an operation of the pooling layer of the graph convolutional neural network is performed; Calculating an output by inputting the target graph into the graph convolutional neural network including the pooling layer that performs the operation determined by the process; In the process, the at least one computer calculating an evaluation index based on the evaluation rule for the target graph transformed based on the transformation rule; A computer system that determines an operation of the pooling layer based on the evaluation index.
2. 2. The computer system of claim 1, The computer system is characterized in that the evaluation rules are rules for formulating a combinatorial problem regarding the reduction of at least one of the vertices and edges of the graph as an unconstrained binary optimization.
3. 3. The computer system according to claim 2, The evaluation rule is a function defined using a binary variable that represents whether or not the vertex needs to be deleted, the function is a function that quantifies information degradation according to at least one of the importance of the vertex to be deleted and the importance of an edge to be deleted by deleting the vertex, A computer system characterized in that the evaluation index is a value of the function.
4. 3. The computer system according to claim 2, The evaluation rule is a function defined using a binary variable that represents whether or not the edge needs to be deleted, the function is a function that quantifies information degradation according to at least one of the importance of the edge to be deleted, the importance of the vertex to be integrated in association with the deletion of the edge, and the number of graphs before transformation that can be considered from the graph after transformation, A computer system characterized in that the evaluation index is a value of the function.
5. 3. The computer system according to claim 2, The computer system is characterized in that the at least one computer presents an interface for setting the transformation rules and the evaluation rules.
6. 2. The computer system of claim 1, The at least one computer displays information about the operations of the plurality of layers included in the graph convolutional neural network.
7. 7. The computer system of claim 6, The information about the operations of the plurality of layers includes results of the operations of the convolutional layer.
8. An information processing method executed by a computer system including at least one computer, comprising: The computer system has a graph convolutional neural network including a plurality of layers that receives an input of a graph composed of two or more vertices and at least one edge and performs an operation; the plurality of layers includes at least one convolutional layer and at least one pooling layer; The pooling layer performs an operation to transform the graph, the computer system manages a transformation rule for the graph in the pooling layer and an evaluation rule for evaluating information degradation accompanying the transformation of the graph; The information processing method includes: a first step in which the at least one computer executes a process to determine an operation of the pooling layer of the graph convolutional neural network when a target graph is input; a second step in which the at least one computer calculates an output by inputting the target graph into the graph convolutional neural network including the pooling layer that performs the operation determined by the process; The second step includes: a step of calculating, by the at least one computer, an evaluation index based on the evaluation rule for the target graph transformed based on the transformation rule; and determining an operation of the pooling layer based on the evaluation index.
9. 9. The information processing method according to claim 8, The information processing method, wherein the evaluation rule is a rule for formulating a combinatorial problem regarding the reduction of at least one of the vertices and edges of the graph as an unconstrained binary optimization.
10. 10. The information processing method according to claim 9, The evaluation rule is a function defined using a binary variable that represents whether or not the vertex needs to be deleted, the function is a function that quantifies information degradation according to at least one of the importance of the vertex to be deleted and the importance of an edge to be deleted by deleting the vertex, The information processing method, wherein the evaluation index is a value of the function.
11. 10. The information processing method according to claim 9, The evaluation rule is a function defined using a binary variable that represents whether or not the edge needs to be deleted, the function is a function that quantifies information degradation according to at least one of the importance of the edge to be deleted, the importance of the vertex to be integrated in association with the deletion of the edge, and the number of graphs before transformation that can be considered from the graph after transformation, The information processing method, wherein the evaluation index is a value of the function.
12. 10. The information processing method according to claim 9, An information processing method comprising a step of presenting an interface for setting the transformation rules and the evaluation rules by the at least one computer.
13. 9. The information processing method according to claim 8, 10. An information processing method comprising: displaying, by the at least one computer, information relating to the operations of the plurality of layers included in the graph convolutional neural network.
14. 9. The information processing method according to claim 8, The information processing method, wherein the information regarding the operations of the plurality of layers includes the results of the operations of the convolutional layer.
Citation Information
Patent Citations
Behavior recognition method and device, storage medium and electronic equipment
CN113887501A
Program related to encoding data containing graph structure, information processing method, and information processing system
JP2020087127A