WO2024116608A1 - 計算機システム及び情報処理方法 - Google Patents

計算機システム及び情報処理方法 Download PDF

Info

Publication number
WO2024116608A1
WO2024116608A1 PCT/JP2023/036772 JP2023036772W WO2024116608A1 WO 2024116608 A1 WO2024116608 A1 WO 2024116608A1 JP 2023036772 W JP2023036772 W JP 2023036772W WO 2024116608 A1 WO2024116608 A1 WO 2024116608A1
Authority
WO
WIPO (PCT)
Prior art keywords
graph
rule
pooling layer
vertex
transformation
Prior art date
Application number
PCT/JP2023/036772
Other languages
English (en)
French (fr)
Inventor
大貴 森長
秀和 森田
彰規 淺原
晃一郎 八幡
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2024116608A1 publication Critical patent/WO2024116608A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to a technology for improving the accuracy of graph convolutional neural networks.
  • Graph convolutional neural networks are used, for example, to estimate material properties. It is known that GCNN suffers from a decrease in accuracy due to over-smoothing. For example, the background art of Patent Document 1 describes a problem with receptive fields, which prevents the accuracy of GCNN from improving significantly.
  • 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 the partition identified by a spectral algorithm that approximates the MAXCUT solution, then the selected nodes are connected 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 the GCNN.”
  • NDP Node Decimation Pooling
  • Non-Patent Document 1 describes reducing the vertices of a GCNN by solving a maximum cut problem.
  • the method in Non-Patent Document 1 has problems such as the deletion of vertices that are not desirable, and the inability to adjust the number of vertices to be deleted, so the graph does not necessarily improve prediction accuracy.
  • the present invention aims to provide a system that performs GCNN processing involving graph transformation while avoiding the problem of over-smoothing and maintaining high prediction accuracy.
  • a representative example of the invention disclosed in this application is as follows. That is, a computer system having at least one computer holds a graph convolutional neural network including multiple layers that perform calculations using a graph consisting of two or more vertices and at least one edge as input, the multiple layers including at least one convolutional layer and at least one pooling layer, the pooling layer performs calculations 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 executes a process to determine an operation of the pooling layer of the graph convolutional neural network when a target graph is input, calculates an output by inputting the target graph to the graph convolutional neural network including the pooling layer that performs the calculation determined by the process, and the at least one computer calculates an evaluation index based on the evaluation rule for the target graph transformed based on the transformation rule in the process, and determines an operation of the pooling layer based on the evaluation index.
  • the present invention provides a system that avoids the problem of over-smoothing and executes GCNN processing involving graph transformation while maintaining high prediction accuracy. Problems, configurations, and advantages other than those described above will become clear from the explanation of the following embodiment.
  • FIG. 1 is a block diagram showing an example of a functional configuration of an information processing apparatus according to a first embodiment
  • 1 is a block diagram showing an example of a hardware configuration of an information processing apparatus according to a first embodiment.
  • FIG. 1 is a diagram illustrating an example of a graph convolutional neural network according to a first embodiment.
  • 1 is a diagram illustrating an example of a data structure of graph management information stored in a graph database according to a first embodiment.
  • FIG. 1 is a diagram illustrating an example of a data structure of vertex information stored in the graph database of the first embodiment.
  • FIG. FIG. 13 is a diagram illustrating an example of a data structure of edge information stored in the graph database of the first embodiment.
  • FIG. 11 is a diagram illustrating an example of a data structure of rule management information stored in a rule database according to the first embodiment.
  • FIG. FIG. 13 is a diagram showing an example of a screen displayed by an input/output unit according to the first embodiment.
  • FIG. 13 is a diagram showing an example of a screen displayed by an input/output unit according to the first embodiment.
  • 11 is a flowchart illustrating an example of a pooling layer operation determination process executed by the information processing apparatus according to the first embodiment.
  • 11 is a flowchart illustrating an example of a learning process executed by the information processing apparatus according to the first embodiment.
  • 11 is a flowchart illustrating an example of an analysis process executed by the information processing apparatus according to the first embodiment.
  • 11 is a diagram illustrating a display example of a GCNN output by the information processing device according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 11A and 11B are diagrams illustrating an example of a display of a transformation result of a graph by the information processing apparatus according to the first embodiment.
  • 1 is a diagram illustrating an example of a display of statistical information of a graph displayed by the information processing apparatus according to the first embodiment.
  • Example 1 a graph convolutional neural network (GCNN) that estimates molecular properties will be described as an example.
  • the GCNN in 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 can be made more efficient.
  • the present invention is not limited to the use of the GCNN, the input to the GCNN, or the output of the GCNN.
  • FIG. 1 is a block diagram showing an example of the functional configuration of an information processing device according to a first embodiment.
  • FIG. 2 is a block diagram showing an example of the hardware configuration of an information processing device according to a first embodiment.
  • 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 has a processor 201, a main storage device 202, a secondary storage device 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.
  • the main storage device 202 is a memory or the like, and stores the 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) or solid state drive (SSD), etc., and stores data permanently.
  • the processor 201 executes a program stored in the main memory device 202.
  • the processor 201 executes processes according to the programs, thereby operating as the input/output unit 110, the information processing unit 120, and the memory unit 130.
  • this indicates that the processor 201 is executing a program that realizes that function.
  • the network interface 204 communicates with external devices via a network.
  • the input/output unit 110 accepts data input and outputs data.
  • the input/output unit 110 includes an input unit 111 and a display unit 112.
  • 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.
  • 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.
  • 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 computation decision process of the pooling layer described below.
  • the rule database stores rule management information.
  • FIG. 3 shows an example of a graph convolutional neural network in Example 1.
  • 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).
  • 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 for 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 the vertices or the edges.
  • the GCNN of Example 1 includes a layer that aggregates the vertices of the graph after all the calculations of the convolutional layer and pooling layer are completed.
  • the calculations of this exterior output a single vector that represents the embedding (representation) of the graph.
  • a GCNN that obtains the embedding of each vertex as output.
  • the GCNN instead of an aggregation process, the GCNN repeatedly executes the calculations of the unpooling layer and the convolution layer to restore the deformed graph. This makes it possible to obtain as output a graph that has the same structure as the input graph, with each vertex having a feature vector that is the embedding of the vertex.
  • Another possible application is clustering the vertices of a graph.
  • the GCNN obtains the embedding of the vertices as the output of the GCNN through the above-mentioned calculation, and then clusters the vertices using, for example, the k-means algorithm on the embedding of the vertices.
  • Another possible application is to estimate whether an edge exists between two specified vertices.
  • the GCNN calculates the probability that an edge exists between the two vertices by using, for example, a sigmoid function ⁇ with the embeddings z u and z v of the two vertices as variables.
  • FIG. 4 is a diagram showing an example of the data structure of graph management information stored in the graph database of the first embodiment.
  • Graph management information 400 is information for managing graphs, which are teaching data, and stores entries including a graph ID 401, a vertex information ID 402, an edge information ID 403, and features 404. 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 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.
  • Graph ID 401 is a field that stores the ID of the graph.
  • Vertex information ID 402 is a field that stores the ID of the vertex information of the graph.
  • Edge information ID 403 is a field that stores the ID of the edge information of the graph.
  • 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 whose components represent the characteristics of a molecule, such as internal energy and electric dipole moment.
  • vertex information may be held.
  • the graph management information that manages the graph which is the analysis data, stores entries that include a graph ID, a vertex information ID, and an edge information ID.
  • FIG. 5 is a diagram showing an example of the data structure of vertex information stored in the graph database of the first embodiment.
  • 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. One entry exists 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 fields described above, and may include other fields.
  • Vertex ID 501 is a field that stores the ID of a vertex.
  • Vertex type 502 is a field that stores information about the type of vertex. For example, a vector that is 1-hot encoded to indicate the type of atom corresponding to the vertex is stored.
  • FIG. 6 shows an example of the data structure of edge information stored in the graph database of the first embodiment.
  • 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 fields described above, and may include other fields.
  • Edge ID 601 is a field that stores the ID of an edge.
  • 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.
  • Connection vertex 603 is a field that stores information for identifying vertices connected by an edge. Connection vertex 603 stores, for example, a two-dimensional vector, an adjacency matrix, or a connection matrix whose components are the IDs of vertices connected by an edge.
  • FIG. 7 is a diagram showing an example of the data structure of rule management information stored in the rule database of the first embodiment.
  • 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 the entry are not limited to those described above. An entry may not include any of the above-mentioned fields, or may include other fields.
  • 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 the 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.
  • the rules applied to the pooling layer 702 include graph transformation rules and evaluation rules for evaluating information degradation due to graph transformation.
  • the transformation rules may be, for example, a transformation rule that transforms a graph by deleting vertices, and a transformation rule that transforms a graph by deleting edges.
  • the transformation rules may include, for example, the ratio of the number of vertices to be deleted.
  • the transformation rule that transforms a graph by deleting vertices is referred to as the first transformation rule
  • the transformation rule that transforms a graph by deleting edges is referred to as the second transformation rule.
  • transformation rules When there is no need to distinguish between the first and second transformation rules, they are referred to as transformation rules.
  • the evaluation rules are, for example, the importance of vertices and edges. Instead of setting the importance of each vertex, a function whose variables are information associated with the vertices, such as the vertex type, degree, type of connected edge, and type of adjacent vertex, may be set as the evaluation rule. Similarly, for edges, a function whose variables are information associated with the edges, such as the edge type and the types of vertices at both ends of the edge, may be set as the evaluation rule.
  • a pair of a pooling layer and a transformation rule or an evaluation rule may be managed as a single entry.
  • Figure 8 is a diagram showing an example of a screen displayed by the input/output unit 110 in Example 1.
  • Screen 800 is a user interface for setting rules to be applied to the pooling layer of GCNN.
  • Screen 800 includes a setting area 801 and a display area 802.
  • 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.
  • the graph ID input field 811 is a field for inputting the ID of the graph to be input to GCNN.
  • 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, a radio button for selecting either the first transformation rule or the second transformation rule is displayed.
  • 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.
  • the Apply button 813 is an operation button for executing the pooling layer calculation 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 calculation determination process under the set rule set for all graphs.
  • the display area 802 includes a table 821, a display button 822, and a learn button 823.
  • Table 821 is a table that displays rule sets. Table 821 stores entries including rule set ID 831, rule 832, and evaluation index 833. There is one entry for one rule set.
  • Rule set ID 831 is a field that stores the ID of a rule set.
  • Rules 832 is a field that stores a list of rules to be applied to the pooling layer.
  • Evaluation index 833 is a field that stores an evaluation index calculated in a learning process using a rule set. The evaluation index is, for example, the value of an error function. If a learning process using a rule set has not been executed, evaluation index 833 is blank.
  • 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 modify the rule set displayed in the rule setting field 812 as appropriate. Note that if there is information such as the output of GCNN using the selected rule set, this information may be displayed.
  • the learning button 823 is an operation button for instructing the execution of a learning process using teacher data. The user selects the rule set to be used from the table 821 and operates the learning button 823.
  • the input/output unit 110 of the first embodiment may display a screen 900 as shown in FIG. 9 to assist in setting rules.
  • FIG. 9 is a diagram showing an example of a screen displayed by the input/output unit 110 of the first embodiment.
  • the screen 900 includes a rule set display area 901 and an error function display area 902.
  • 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 method 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 those rule sets that are expected to have small predicted values of the evaluation index.
  • the input/output unit 110 displays details of the rule set. For example, the setting area 801 or table 821 is displayed.
  • a contour graph of the predicted value of the evaluation index for the parameter is displayed.
  • the parameter is, for example, the importance set for the vertex type and edge type.
  • the error function display area 902 may also display numerical values and bar graphs that compare the differences between transformation rules.
  • the contents of the graph such as 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. Also, the type of graph may be selectable by the user.
  • FIG. 10 is a flowchart illustrating an example of the calculation determination process for the pooling layer executed by the information processing device of the first embodiment.
  • the input/output unit 110 acquires the graph and rule set to be processed (step S101).
  • the storage unit 130 stores the graph information in a specified database.
  • step S102 to step S105 are repeatedly executed for each graph.
  • the pooling layer optimization unit 121 selects one pooling layer from among the pooling layers included in the GCNN (step S102).
  • the selected pooling layer will be referred to as the target pooling layer. Note that the pooling layer is selected in the order of the GCNN processing flow.
  • the pooling layer optimization unit 121 evaluates the information degradation caused by the transformation of the graph based on the transformation rules based on the evaluation rules, and determines the graph transformation method (step S103).
  • the evaluation method of the information degradation caused by the transformation of the graph based on the evaluation rules will be described.
  • a binary variable sequence ⁇ x v ⁇ is introduced, which is 0 when a vertex v of the graph is deleted and 1 when it is not deleted.
  • An objective function L for evaluating the information degradation of the graph transformation based on the first transformation rule is defined as a function of ⁇ x v ⁇ .
  • the objective function L is given, for example, as a linear sum of functions L 1 , L 2 , and L 3 defined below.
  • the function L1 is a function that evaluates the gain according to the number of vertices to be deleted, and is defined by the formula (1), where V represents the set of vertices in the graph. This function is used to adjust the transformation so that the number of vertices to be deleted is as large as possible.
  • the function L2 is a function for evaluating information degradation according to the importance of the vertex to be deleted, and is defined by the formula (2).
  • the function L2 is a function for quantifying the deletion of an important vertex as information degradation.
  • w v represents the importance of the vertex v.
  • the function L3 is a function that evaluates information degradation according to the importance of an edge whose both ends are deleted, and is defined by formula (3).
  • the function L3 is a function that quantifies the deletion of an important edge accompanying the deletion of a vertex as information degradation.
  • E represents a set of edges in the graph, and we represents the importance of edge e.
  • b e1 and b e2 represent the vertices at both ends of edge e.
  • the objective function L is a formulation of the problem of determining the combination of vertices to be deleted as unconstrained binary optimization (QUBO).
  • the pooling layer optimization unit 121 seeks a combination of values of the binary variable sequence that minimizes the objective function L or makes it as small as possible.
  • the combination of values of the binary variable sequence that minimizes the objective function L i.e., the combination of vertices to be deleted, can be processed quickly using simulated annealing and a quantum annealing machine, etc.
  • the definition of the objective function L is an example and is not limited thereto.
  • a third-order term or a higher-order term may be added to ⁇ x v ⁇ representing the interaction between three vertices. Even if a higher-order term is added, high-speed processing can be performed using Simulated Annealing or the like.
  • by introducing an auxiliary variable it can be formulated into QUBO and can be processed using a quantum annealing machine.
  • the objective function L may be defined as a linear sum of at least two functions, rather than a linear sum of functions L 1 , L 2 , and L 3 .
  • a binary variable sequence ⁇ x e ⁇ is introduced, which is 0 when an edge e of the graph is deleted and 1 when it is not deleted.
  • An objective function L for evaluating the information degradation of the graph transformation based on the second transformation rule is defined as a function of ⁇ x e ⁇ .
  • the objective function L is given, for example, as a linear sum of functions L 4 , L 5 , L 6 , and L 7 defined below.
  • Function L4 is a function that evaluates the gain according to the number of edges to be deleted, and is defined by formula (4), where C represents an arbitrary large real number, and Cv represents a set of edges connected to vertex v.
  • Formula (4) is a function for adjusting the transformation so that, as much as possible, at least one edge connected to each vertex is deleted.
  • 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 graph after transformation.
  • the function L5 is defined by formula (5).
  • d e represents the number of vertices (excluding the vertices at both ends of side e) that are connected to either of the vertices at both ends of side e.
  • c e_1e_2 represents the total 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 total 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 .
  • the function L6 is a function for evaluating the information degradation according to the importance of the edge to be deleted, and is defined by the formula (6).
  • the function L6 is a function for quantifying the deletion of an important edge as information degradation.
  • W e represents the importance of edge e.
  • the function L7 is a function that evaluates information degradation according to the importance of vertices that are integrated with the deletion of an edge, and is defined by formula (7).
  • the function L7 is a function that quantifies the integration of an important vertex with another vertex as information degradation.
  • w b_e1 and w b_e2 represent 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.
  • the objective function L is a formulation of the problem of determining the combination of edges to be deleted as unconstrained binary optimization (QUBO).
  • the pooling layer optimization unit 121 seeks a combination of values of the binary variable sequence that minimizes the objective function L or makes it as small as possible.
  • the combination of values of the binary variable sequence that minimizes the objective function L i.e., the combination of vertices to be deleted, can be processed quickly using simulated annealing and a quantum annealing machine, etc.
  • the definition of the objective function L is an example and is not limited thereto.
  • a third-order term or a higher-order term may be added to ⁇ x e ⁇ representing the interaction between three edges. Even if a higher-order term is added, high-speed processing can be performed using Simulated Annealing or the like.
  • by introducing an auxiliary variable it can be formulated into QUBO and can be processed using a quantum annealing machine.
  • the objective function L may be defined as a linear sum of at least two functions, rather than a linear sum of functions L 4 , L 5 , L 6 , and L 7 .
  • 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.
  • 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.
  • the graph is transformed by rearranging the edges using Kron contraction or similar.
  • a threshold can be set and components greater than the threshold replaced with 1 and components less than the threshold replaced with 0, or a function can be applied to the adjacency matrix values and the values written to the edge types.
  • the graph is transformed by merging the vertices at both ends of the edge and rearranging the edge connections.
  • 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 components.
  • the method of generating the feature vector may be, for example, to use the maximum value of each component of the feature vector of the vertices included in the connected components, or it may be to use the average value.
  • the feature vector of the combined vertex can be calculated using a function for the feature vectors of each of the combined vertices.
  • the above function can be configured as a neural network, and the parameters can be determined by learning.
  • an edge is connected between the vertex replacing the first connected component and the vertex replacing 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 reconnecting may be, for example, the maximum value for each component of the feature vectors of all edges existing between a vertex in the first connected component and a vertex in the second connected component, or it may be the average value.
  • the pooling layer optimization unit 121 determines whether processing has been completed for all pooling layers of the GCNN (step S105).
  • the pooling layer optimization unit 121 If the processing has not been completed for all pooling layers of the GCNN, the pooling layer optimization unit 121 returns to step S102. If the processing has been completed for all pooling layers of the GCNN, the pooling layer optimization unit 121 ends the pooling layer calculation determination processing.
  • 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 graph after transformation in association with each other.
  • FIG. 11 is a flowchart illustrating an example of a learning process executed by the information processing device 100 according to the first embodiment.
  • the information processing device 100 acquires the teacher data (graph) and the rule set (step S201).
  • the input/output unit 110 accepts the input of a graph representing a molecular structure.
  • the storage unit 130 adds an entry to the graph management information 400, and stores the vertex information 500 and edge information 600 in the graph database.
  • the input/output unit 110 also displays a screen 800 and accepts the input of a rule set.
  • the storage unit 130 adds an entry of the rule set to the rule management information 700.
  • the information processing device 100 executes the calculation determination process for the pooling layer (step S202).
  • the calculation determination process for the pooling layer has been described in FIG. 10 and is therefore omitted. Note that the calculation determination process for the pooling layer may be executed for each teacher data, or the calculation determination process for the pooling layer may be executed only for certain teacher data.
  • the information processing device 100 uses the teacher data to execute a learning process of the GCNN in which a pooling layer is set to perform the calculation determined in step S102 (step S203), and then terminates the learning process.
  • a learning process of the GCNN in which a pooling layer is set to perform the calculation determined in step S102 (step S203), and then terminates the learning process.
  • 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 teacher data, it is changed to the calculation result process of the pooling layer corresponding to the teacher data to be input, and then the teacher data is input to the GCNN.
  • the storage unit 130 may store not only the learning results such as the parameters of the GCNN, but also the final output of the GCNN and the intermediate output of each layer of the GCNN.
  • the input/output unit 110 may also display the results of the learning process.
  • FIG. 12 is a flowchart illustrating an example of an analysis process executed by the information processing device 100 according to the first embodiment.
  • the information processing device 100 acquires the analysis data (graph) and the rule set (step S301).
  • the process of step S301 is the same as the process of step S201.
  • the storage unit 130 stores the analysis data and the rule set in each database.
  • 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 described in FIG. 10 and will not be described here.
  • the information processing device 100 calculates the output of the analysis data using the GCNN (step S303). Specifically, the estimation unit 123 obtains the output by inputting the analysis data to a GCNN in which a pooling layer that performs the calculation determined in step S302 is set.
  • the storage unit 130 may store not only the final output of the GCNN, but also the intermediate output of each layer.
  • the information processing device 100 displays the output (step S304) and ends the analysis process.
  • the input/output unit 110 displays the output of the GCNN.
  • the input/output unit 110 may also display the transformed graph and the intermediate output of each layer, etc.
  • the output may be displayed together with the input graph.
  • the display is done in a way that makes it possible to see the embeddings of each vertex.
  • the clustering results may be displayed together with the input graph.
  • each vertex is displayed in a distinguishable manner according to the cluster to which it belongs.
  • a table storing entries including pairs of vertices and probabilities may be displayed.
  • the probability indicating the presence or absence 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.
  • FIG. 13 is a diagram showing an example of the display of GCNN output by the information processing device 100 of the first embodiment.
  • the input/output unit 110 displays, for example, a table 1300 to a user.
  • the table 1300 stores entries including a graph ID 1301, density 1302, dipole moment 1303, and 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 fields described above, or may include other fields.
  • 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 the output.
  • FIGS. 14, 15, 16A, 16B, 16C, 17, 18A, and 18B are diagrams showing examples of displaying the results of graph transformation by the information processing device 100 of the first embodiment.
  • the input/output unit 110 displays, for example, a screen 1400.
  • the screen 1400 is a user interface for displaying the results of transforming a graph, and includes a selection area 1401 and a graph display area 1402.
  • the selection area 1401 is an area for selecting the graph to be referenced (teaching data and analysis data), and includes an input field 1411, a search button 1412, and a list 1413.
  • the input field 1411 is a field for inputting conditions for searching for a graph to reference. For example, the user inputs the graph ID, the number of vertices, the number of edges, etc. into the input field 1411, and operates the search button 1412 to narrow down the graphs to reference.
  • List 1413 is a list that 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.
  • the graph display area 1402 is an area that displays information about the graphs input to the GCNN and the graphs of each layer. Here, we will explain the information displayed in the graph display area 1402.
  • the graph display area 1402 for example, as shown in FIG. 15, the layers of the GCNN and the graphs input and output in the layers are displayed.
  • the graph display area 1402 also displays the ID of the graph input to the GCNN, the number of vertices, and the number of edges. Note that due to space limitations in the drawing, this is shown in two rows, but in reality it is displayed in one row.
  • Graph display area 1402 displays a graph to be input to GCNN, for example, as shown in FIG. 16A.
  • Graph display area 1402 also displays graphs transformed in GCNN, for example, as shown in FIG. 16B and FIG. 16C.
  • FIG. 16B is a graph transformed based on the first transformation rule.
  • FIG. 16C is a graph transformed based on the second transformation rule.
  • the feature vectors of the vertices and edges may also be displayed.
  • a method is conceivable in which each component of the feature vector is displayed superimposed on the corresponding vertex or edge.
  • the color and line type of the vertices and edges may be changed according to the feature vector.
  • the graph after transformation may display the deleted vertices or deleted edges.
  • the display is done so that the deleted vertices or edges can be distinguished from the vertices and edges that have not been deleted.
  • the connected components of the vertices that were connected by the deleted edge may be considered as one vertex.
  • the state before input to the GCNN is stage (1)
  • the state after the calculation of the convolution layer (1) is stage (2)
  • the state after the calculation of the pooling layer (1) is stage (3)
  • the state after the calculation of the convolution layer (2) is stage (4).
  • Tables 1701, 1702, 1703, and 1704 are information showing the convolution state of the vertices in stages (1), (2), (3), and (4).
  • a convolution operation is performed to aggregate the feature vectors of adjacent vertices at one vertex.
  • the convolution state of each vertex is as shown in table 1702.
  • 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.
  • the convolution state of each vertex is as shown in table 1703. Since feature vectors are not aggregated in the pooling layer, the convolution state does not change before and after the pooling layer.
  • the convolution state of each vertex is as shown in table 1704.
  • the feature vectors of vertices (1), (3), and (5) are aggregated into vertex (2).
  • the feature vector of other vertex (3) is aggregated into vertices (1), (3), and (5) before being input to the convolution layer (2). Therefore, not only the feature vectors of vertices (1), (3), and (5) but also the feature vectors of other vertices aggregated into vertices (1), (3), and (5) are aggregated into vertex (2) at the same time.
  • the feature vectors of vertices (1), (2), (3), (5), (6), and (7) are aggregated into vertex (2).
  • the calculation of the convolution layer is just one example, and is not limited to this.
  • the feature vectors of the vertices two steps away may be aggregated, or the feature vectors of a vertex selected from among the adjacent vertices may be aggregated.
  • the input/output unit 110 may accept a vertex designation from the user during the display of FIG. 17, and as shown in FIG. 18A, highlight the vertex that is the origin of the feature vector aggregated at the designated vertex.
  • Vertex (2) is designated at stage (2).
  • the feature vector of vertex (3) is aggregated at vertex (2), so vertex (3) is highlighted.
  • Vertex (2) is designated at stage (3).
  • the feature vector of vertex (3) is aggregated at vertex (2), so vertex (3) is highlighted.
  • Vertex (2) is designated at stage (4).
  • the feature vectors of vertices (1), (3), (5), (6), and (7) are aggregated at vertex (2), so vertices (1), (3), (5), (6), and (7) are highlighted.
  • vertices can be specified for each stage, or for just one stage. If vertices are specified for just one stage, subsequent stages will also be displayed with the same vertices specified.
  • the input/output unit 110 may accept a vertex designation from the user during the display of FIG. 17, and highlight the vertex that aggregates the feature vectors of the designated vertices, as shown in FIG. 18B.
  • Vertex (2) is designated in stage (2).
  • the feature vector of vertex (2) is aggregated in vertex (3), so vertex (3) is highlighted.
  • Vertex (2) is designated in stage (3).
  • the feature vector of vertex (2) is aggregated in vertex (3), so vertex (3) is highlighted.
  • Vertex (2) is designated in stage (4).
  • the feature vector of vertex (2) is aggregated in vertex (1), (3), (4), and (5), so vertices (1), (3), (4), and (5) are highlighted.
  • vertices can be specified for each stage, or for just one stage. If vertices are specified for just one stage, subsequent stages will also be displayed with the same vertices specified.
  • FIG. 19 is a diagram showing an example of the display of statistical information of a graph displayed by the information processing device 100 of the first embodiment.
  • Screen 1900 is a user interface that displays statistical information about a graph.
  • Examples of statistical information about a graph include statistical information about the number of vertices, number of edges, and output of the graph. Also included is statistical information about the number of vertices that aggregate the feature vectors at each vertex of the graph in each layer.
  • Graphs such as histograms may be displayed as statistical information, or values calculated by statistical processing such as average values and standard deviations may be displayed as statistical information.
  • the information processing device 100 evaluates the information degradation that accompanies graph transformation, and determines the method of transforming the graph, i.e., the calculation of the pooling layer. This makes it possible to avoid the problem of over-smoothing in GCNN and maintain high prediction accuracy.
  • the evaluation of information degradation is formulated as QUBO, it can be processed at high speed using a quantum annealing machine, etc.
  • the present invention is not limited to the above-described embodiments, but includes various modified examples.
  • the above-described embodiments are provided to explain the present invention in detail, and are not necessarily limited to those that include all of the described configurations.
  • the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example by designing them as integrated circuits.
  • the present invention can also be realized by software program code that realizes the functions of the embodiments.
  • a storage medium on which the program code is recorded is provided to a computer, and a processor of the computer reads the program code stored in the storage medium.
  • the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention.
  • Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.
  • 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, Java, etc.
  • the program code of the software that realizes the functions of the embodiment may be distributed over 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.
  • a storage means such as a computer's hard disk or memory
  • a storage medium such as a CD-RW or CD-R
  • control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Generation (AREA)

Abstract

計算機システムは、少なくとも一つの畳み込み層と、少なくとも一つのプーリング層とを含むGCNNを保持する。プーリング層は、グラフを変形する演算を実行する。計算機システムは、プーリング層におけるグラフの変形ルール及びグラフの変形に伴う情報劣化を評価するための評価ルールを管理し、グラフが入力された場合、GCNNのプーリング層の演算を決定する処理を実行し、処理によって決定された演算を行うプーリング層を含むGCNNにグラフを入力することによって出力を算出する。処理では、変形ルールに基づいて変形されたグラフについて、評価ルールに基づいて評価指標を算出し、評価指標に基づいて、プーリング層の演算を決定する。

Description

計算機システム及び情報処理方法 参照による取り込み
 本出願は、2022年11月30日に出願された日本特許出願第2022-192255号の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、グラフ畳み込みニューラルネットワークの精度を向上させる技術に関する。
 グラフ畳み込みニューラルネットワーク(GCNN)は、例えば、材料特性を推定するために用いられる。GCNNでは、オーバースムージングに起因する精度の低下が知られている。例えば、特許文献1の背景技術には、レセプティブフィールドが問題となって、GCNNの精度があまり高まらないという問題があることが記載されている。
特開2020-87127号公報
Filippo Maria Bianchi, Daniele Grattarola, Lorenzo Livi, Cesare Alippi、「Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling」、2019年10月4日、[令和3年9月9日検索]、インターネット<URL: https://arxiv.org/abs/1910.11436>
 前述の課題に対して、非特許文献1に記載の技術が知られている。非特許文献1には、「ノードデシメーションプーリング(NDP)は、3つのステップで構成される。最初に、ノードデシメーションプロシージャは、MAXCUTソリューションを近似するスペクトルアルゴリズムによって識別されたパーティションの片側に属するノードを選択し、その後、選択したノードをKronリダクションで接続して、粗いグラフを形成し、最後に、GCNNの計算コストを削減するために、粗いグラフの隣接行列を削除するスパース化手順を適用する。」ことが記載されている。
 非特許文献1では、最大カット問題を解くことによってGCNNの頂点を削減することが記載されている。しかし、非特許文献1の手法では、削除が望ましくない頂点が削除される問題、及び削減する頂点の数を調整できない問題があり、必ずしも予測精度が向上するグラフとはなっていない。
 本発明は、オーバースムージングの問題を回避し、かつ、高い予測精度を維持したグラフ変形を伴うGCNNの処理を実行するシステムを提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一つの計算機を備える計算機システムであって、二つ以上の頂点及び少なくとも一つの辺から構成されるグラフを入力とし、演算を行う複数の層を含むグラフ畳み込みニューラルネットワークを保持し、前記複数の層は、少なくとも一つの畳み込み層と、少なくとも一つのプーリング層とを含み、前記プーリング層は、グラフを変形する演算を実行し、前記計算機システムは、前記プーリング層における前記グラフの変形ルール及び前記グラフの変形に伴う情報劣化を評価するための評価ルールを管理し、前記少なくとも一つの計算機は、ターゲットグラフが入力された場合、前記グラフ畳み込みニューラルネットワークの前記プーリング層の演算を決定する処理を実行し、前記処理によって決定された演算を行う前記プーリング層を含む前記グラフ畳み込みニューラルネットワークに、前記ターゲットグラフを入力することによって出力を算出し、前記少なくとも一つの計算機は、前記処理において、前記変形ルールに基づいて変形された前記ターゲットグラフについて、前記評価ルールに基づいて評価指標を算出し、前記評価指標に基づいて、前記プーリング層の演算を決定する。
 本発明によれば、オーバースムージングの問題を回避し、かつ、高い予測精度を維持したグラフ変形を伴うGCNNの処理を実行するシステムを提供できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の情報処理装置の機能構成の一例を示すブロック図である。 実施例1の情報処理装置のハードウェア構成の一例を示すブロック図である。 実施例1のグラフ畳み込みニューラルネットワークの一例を示す図である。 実施例1のグラフデータベースに格納されるグラフ管理情報のデータ構造の一例を示す図である。 実施例1のグラフデータベースに格納される頂点情報のデータ構造の一例を示す図である。 実施例1のグラフデータベースに格納される辺情報のデータ構造の一例を示す図である。 実施例1のルールデータベースに格納されるルール管理情報のデータ構造の一例を示す図である。 実施例1の入力/出力部が表示する画面の一例を示す図である。 実施例1の入力/出力部が表示する画面の一例を示す図である。 実施例1の情報処理装置が実行するプーリング層の演算決定処理の一例を説明するフローチャートである。 実施例1の情報処理装置が実行する学習処理の一例を説明するフローチャートである。 実施例1の情報処理装置が実行する解析処理の一例を説明するフローチャートである。 実施例1の情報処理装置によるGCNNの出力の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置によるグラフの変形結果の表示例を示す図である。 実施例1の情報処理装置が表示するグラフの統計情報の表示の一例を示す図である。
 以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
 以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
 本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
 実施例1では、分子の特性を推定するグラフ畳み込みニューラルネットワーク(GCNN)を一例として説明する。実施例1のGCNNは、材料及び薬等を構成する分子が持つ物理的性質及び生理学的性質等に関する値を出力する。当該出力を用いることによって、材質及び薬の開発等の効率化が期待できる。なお、本発明は、GCNNの用途、GCNNへの入力、及びGCNNの出力に限定されない。
 図1は、実施例1の情報処理装置の機能構成の一例を示すブロック図である。図2は、実施例1の情報処理装置のハードウェア構成の一例を示すブロック図である。
 情報処理装置100は、機能として入力/出力部110、情報処理部120、及び記憶部130を備える。また、情報処理装置100は、ハードウェアとして、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を備える。なお、情報処理装置100は、キーボード、マウス、及びタッチパネル等の入力装置、並びに、ディスプレイ等の出力装置を備えてもよい。
 主記憶装置202は、メモリ等であり、プロセッサ201が実行するプログラム及び情報を格納する。主記憶装置202は、一時的にデータを格納するワークエリアとして用いられる。副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。
 プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、入力/出力部110、情報処理部120、及び記憶部130として動作する。以下の説明では、機能を主語に処理を説明する場合、プロセッサ201が当該機能を実現するプログラムを実行していることを示す。
 ネットワークインタフェース204は、ネットワークを介して外部装置と通信する。
 入力/出力部110は、データの入力を受け付け、また、データの出力を行う。入力/出力部110は、入力部111及び表示部112を含む。
 情報処理部120は、GCNNを用いた処理を実行する。情報処理部120は、プーリング層最適化部121、学習部122、及び推定部123を含む。
 記憶部130は、各種データを管理する。具体的には、記憶部130は、モデルデータベース、グラフデータベース、及びルールデータベースを管理する。
 モデルデータベースは、GCNNに関する情報を管理するためのデータベースである。モデルデータベースには、GCNNの構造情報及びハイパーパラメータ等が格納される。グラフデータベースは、GCNNに入力されるグラフを管理するためのデータベースである。グラフデータベースでは、グラフ管理情報、頂点情報、及び辺情報等が格納される。なお、グラフデータベースは、教師データに対応するグラフを管理するデータベースと、解析データに対応するグラフを管理するデータベースとに分けてもよい。ルールデータベースは、後述するプーリング層の演算決定処理で用いるルールを管理するためのデータベースである。ルールデータベースには、ルール管理情報が格納される。
 図3は、実施例1のグラフ畳み込みニューラルネットワークの一例を示す図である。
 GCNNのアーキテクチャは様々なタイプが存在する。実施例1のGCNNは、少なくとも一つの畳み込み層及び少なくとも一つのプーリング層を含む。図3に示すGCNNは、二つの畳み込み層(1)、(2)と、一つのプーリング層(1)を含む。
 畳み込み層は、頂点及び辺の少なくともいずれか一方に特徴ベクトルが設定されたグラフを入力として受け取り、各頂点について畳み込み演算を実行し、新たな特徴ベクトルが設定されたグラフが生成する。畳み込み演算は、例えば、隣接する頂点の特徴ベクトルの集約である。プーリング層は、入力されたグラフの頂点及び辺のいずれかを削除することによってグラフを変形する。
 実施例1のGCNNは、畳み込み層及びプーリング層の演算を全て終えた後にグラフの頂点を集約する処理を行う層を含む。当外装の演算によって、グラフの埋め込み(表現)を表す一つのベクトルが出力として得られる。
 なお、各頂点の埋め込みを出力として得るGCNNでもよい。この場合、GCNNは、集約処理の代わりに、変形したグラフを元に戻すためのアンプーリング層及び畳み込み層の演算を繰り返し実行する。これによって、入力されたグラフと同じ構造であり、各頂点が頂点の埋め込みである特徴ベクトルを持つグラフを出力として得ることができる。
 グラフの頂点のクラスタリングを行う用途も考えられる。この場合、GCNNは、頂点の埋め込みを前述の演算によってGCNNの出力として得た後に、頂点の埋め込みに対して、例えば、k-平均法を用いて頂点をクラスタリングする。
 指定した二つの頂点間に辺が存在するかどうかを推定する用途も考えられる。この場合、GCNNは、頂点の埋め込みを前述の演算によってGCNNの出力として得た後に、例えば、二つの頂点の埋め込みz、zを変数とするシグモイド関数σを用いて、二つの頂点間に辺が存在する確率を算出する。
 図4は、実施例1のグラフデータベースに格納されるグラフ管理情報のデータ構造の一例を示す図である。
 グラフ管理情報400は、教師データであるグラフを管理するための情報であり、グラフID401、頂点情報ID402、辺情報ID403、及び特徴量404を含むエントリを格納する。一つのグラフに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。例えば、グラフのIDの代わりに、グラフの名称を格納するフィールドを含んでもよい。
 グラフID401は、グラフのIDを格納するフィールドである。頂点情報ID402は、グラフの頂点情報のIDを格納するフィールドである。辺情報ID403は、グラフの辺情報のIDを格納するフィールドである。特徴量404は、グラフの特徴量を格納するフィールドである。グラフの特徴量は、例えば、分子の特性を表す、内部エネルギー及び電気双極子モーメント等を成分とする特徴量ベクトルである。
 なお、頂点情報及び辺情報の両方を保持しなくてもよい。例えば、頂点情報のみを保持してもよい。
 なお、解析データであるグラフを管理するグラフ管理情報は、グラフID、頂点情報ID、及び辺情報IDを含むエントリを格納する。
 図5は、実施例1のグラフデータベースに格納される頂点情報のデータ構造の一例を示す図である。
 頂点情報500は、頂点情報IDが付与された情報であり、頂点ID501及び頂点種別502を含むエントリを格納する。一つの頂点に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
 頂点ID501は、頂点のIDを格納するフィールドである。頂点種別502は、頂点の種別に関する情報を格納するフィールドである。例えば、頂点に対応する原子の種別を1-hot encodingしたベクトルが格納される。
 図6は、実施例1のグラフデータベースに格納される辺情報のデータ構造の一例を示す図である。
 辺情報600は、辺情報IDが付与された情報であり、辺ID601、辺種別602、及び接続頂点603を含むエントリを格納する。一つの辺に対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
 辺ID601は、辺のIDを格納するフィールドである。辺種別602は、辺の種別に関する情報を格納するフィールドである。例えば、辺に対応する原子間の化学結合の種別を1-hot encodingしたベクトルが格納される。接続頂点603は、辺によって接続される頂点を特定するための情報を格納するフィールドである。接続頂点603には、例えば、辺によって接続される頂点のIDを成分とする2次元ベクトル、隣接行列、又は接続行列等が格納される。
 図7は、実施例1のルールデータベースに格納されるルール管理情報のデータ構造の一例を示す図である。
 ルール管理情報700は、ルールセットID701、プーリング層702、ルールID703、及びルール704を含むエントリを格納する。プーリング層及びルールセットの組みに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
 ルールセットID701は、プーリング層に適用するルールの組合せであるルールセットのIDを格納するフィールドである。プーリング層702は、ルールを適用するプーリング層のIDを格納するフィールドである。ルールID703は、プーリング層に適用するルールのIDを格納するフィールドである。ルール704は、プーリング層に適用するルールの内容を格納するフィールドである。
 プーリング層702に適用するルールには、グラフの変形ルールと、グラフの変形による情報劣化を評価するための評価ルールとがある。
 変形ルールは、例えば、頂点を削除してグラフを変形する変形ルールと、辺を削除してグラフを変形する変形ルールとが考えられる。変形ルールには、例えば、削除する頂点の数の割合等を含めることができる。以下の説明では、頂点を削除してグラフを変形する変形ルールを第1変形ルールと記載し、辺を削除してグラフを変形する変形ルールを第2変形ルールと記載する。第1変形ルール及び第2変形ルールを区別しない場合、変形ルールと記載する。
 評価ルールは、例えば、頂点及び辺の重要度である。なお、各頂点の重要度を設定する代わりに、頂点の種別、次数、接続される辺の種別、及び隣接する頂点の種別等、頂点に付随する情報を変数とする関数を評価ルールとして設定してもよい。辺についても同様に、辺の種別、及び辺の両端の頂点の種別等、辺に付随する情報を変数とする関数を評価ルールとして与えてもよい。
 なお、プーリング層及び変形ルール又は評価ルールのペアを一つのエントリとして管理してもよい。
 ここで、ルールセットの設定方法について説明する。図8は、実施例1の入力/出力部110が表示する画面の一例を示す図である。
 画面800は、GCNNのプーリング層に適用するルールを設定するためのユーザインタフェイスである。画面800は、設定領域801及び表示領域802を含む。
 設定領域801は、グラフID入力欄811、ルール設定欄812、適用ボタン813、及び全適用ボタン814を含む。
 グラフID入力欄811は、GCNNに入力するグラフのIDを入力する欄である。
 ルール設定欄812は、プーリング層に適用するルールを設定するための欄である。ルール設定欄812は、GCNNに含まれるプーリング層の数だけ表示される。ルール設定欄812には、プーリング層のIDを表示する欄が含まれる。ルール設定欄812には、ルールのIDを設定するための欄、及び、変形ルールを選択するための欄が含まれる。変形ルールを選択するための欄では、第1変形ルール及び第2変形ルールのいずれかを選択するためのラジオボタンが表示される。ルール設定欄812には、評価ルールを設定するための欄が含まれる。図8では、頂点の種別及び辺の種別に対して重要度が設定される。
 適用ボタン813は、グラフID入力欄811にて指定されたグラフに対して、設定したルールセットの下、プーリング層の演算決定処理を実行させるための操作ボタンである。全適用ボタン814は、全てのグラフに対して、設定したルールセットの下、プーリング層の演算決定処理を実行させるための操作ボタンである。
 適用ボタン813又は全適用ボタン814が操作された場合、ルール設定欄812にて設定したルールセットに対応するエントリがルール管理情報700に追加される。これに伴って、後述するテーブル821に新たなエントリが表示される。
 表示領域802は、テーブル821、表示ボタン822、及び学習ボタン823を含む。
 テーブル821は、ルールセットを表示するテーブルである。テーブル821は、ルールセットID831、ルール832、及び評価指標833を含むエントリを格納する。一つのルールセットに対して一つのエントリが存在する。
 ルールセットID831は、ルールセットのIDを格納するフィールドである。ルール832は、プーリング層に適用するルールのリストを格納するフィールドである。評価指標833は、ルールセットを用いた学習処理において算出された評価指標を格納するフィールドである。評価指標は、例えば、誤差関数の値である。ルールセットを用いた学習処理が実行されていない場合、評価指標833は空欄である。
 表示ボタン822は、ルールセットを表示するための操作ボタンである。ユーザは、テーブル821からルールセットを選択し、表示ボタン822を操作する。これによって、ルール設定欄812にルールセットが表示される。ユーザは、ルール設定欄812に表示されたルールセットを適宜修正できる。なお、選択されたルールセットを用いたGCNNの出力等の情報が存在する場合、当該情報を表示してもよい。
 学習ボタン823は、教師データを用いた学習処理の実行を指示するための操作ボタンである。ユーザは、テーブル821から使用するルールセットを選択し、学習ボタン823を操作する。
 実施例1の入力/出力部110は、ルールの設定を支援するために、図9に示すような画面900を表示してもよい。図9は、実施例1の入力/出力部110が表示する画面の一例を示す図である。
 画面900は、ルールセット表示領域901及び誤差関数表示領域902を含む。
 ルールセット表示領域901にはテーブル910が表示される。テーブル910は、ルールセットID911及び予測評価指標912を含むエントリを格納する。ルールセットID911は、ルールセットのIDを格納するフィールドである。予測評価指標912は、評価指標の予測値を格納するフィールドである。評価指標の予測値は、各ルールセットを用いた学習処理の評価指標を用いた回帰分析等の手法を用いて算出される。入力/出力部110は、評価指標の予測値が小さくなることが期待されるルールセットのみをテーブル910に表示してもよい。
 ユーザがテーブル910に表示されるルールセットを選択した場合、入力/出力部110はルールセットの詳細を表示する。例えば、設定領域801又はテーブル821が表示される。
 誤差関数表示領域902には、パラメータに対する評価指標の予測値の等高線グラフが表示される。パラメータは、例えば、頂点の種別及び辺の種別に対して設定された重要度である。なお、誤差関数表示領域902には、変形ルールの違いを比較する数値及び棒グラフ等が表示されてもよい。
 なお、ルールセット表示領域901において選択されたルールセットに応じて、誤差関数表示領域902に表示するグラフのプロット範囲等、グラフの内容を変化させてもよい。また、グラフの種類をユーザが選択できるようにしてもよい。
 図10は、実施例1の情報処理装置が実行するプーリング層の演算決定処理の一例を説明するフローチャートである。
 入力/出力部110は、処理対象のグラフ及びルールセットを取得する(ステップS101)。なお、ユーザによって新たなグラフが入力された場合、記憶部130はグラフの情報を所定のデータベースに格納する。
 ここでは、一つのグラフが取得されたものとする。複数のグラフが取得された場合、各グラフに対してステップS102からステップS105の処理が繰り返し実行される。
 プーリング層最適化部121は、GCNNに含まれるプーリング層の中から一つのプーリング層を選択する(ステップS102)。以下では、選択されたプーリング層をターゲットプーリング層と記載する。なお、GCNNの処理の流れ順にプーリング層は選択される。
 プーリング層最適化部121は、変形ルールに基づくグラフの変形による情報劣化を評価ルールに基づいて評価し、グラフの変形方法を決定する(ステップS103)。ここで、評価ルールに基づくグラフの変形による情報劣化の評価方法について説明する。
 (パターン1)まず、頂点を削除する変形ルール(第1変換ルール)に基づくグラフ変形の情報劣化の評価方法について説明する。
 グラフの頂点vが削除される場合に0となり、削除されない場合に1となる二値変数列{x}を導入する。第1変形ルールに基づくグラフの変形の情報劣化を評価する目的関数Lを{x}の関数として定義する。目的関数Lは、例えば、以下で定義する関数L、L、Lの線形和として与える。
 関数Lは、削除する頂点の数に応じた利得を評価する関数であり、式(1)で定義される。ここで、Vはグラフの頂点の集合を表す。これは、削除する頂点の数ができるだけ多くなる変形となるように調整するための関数である。
Figure JPOXMLDOC01-appb-M000001
 関数Lは、削除される頂点の重要度に応じた情報劣化を評価する関数であり、式(2)で定義される。関数Lは、重要な頂点の削除を、情報劣化として定量化する関数である。ここで、wは頂点vの重要度を表す。
Figure JPOXMLDOC01-appb-M000002
 関数Lは、両端の頂点が削除される辺の重要度に応じた情報劣化を評価する関数であり、式(3)で定義される。関数Lは、頂点の削除に伴う重要な辺の削除を、情報劣化として定量化する関数である。ここで、Eはグラフの辺の集合を表し、wは辺eの重要度を表す。また、be1及びbe2は、辺eの両端の頂点を表す。
Figure JPOXMLDOC01-appb-M000003
 目的関数Lは、削除する頂点の組合せ問題を、制限なし二値最適化(QUBO)として定式化したものである。プーリング層最適化部121は、目的関数Lを最小化、又は、できるだけ小さくする二値変数列の値の組合せを求める。
 目的関数Lを最小化する二値変数列の値の組合せ、すなわち、削除する頂点の組合せは、Simulated Annealing及び量子アニーリングマシン等を用いて高速に処理することができる。
 なお、目的関数Lの定義は一例であってこれに限定されない。例えば、三つの頂点間の相互作用を表す{x}について、3次の項又は高次の項を加えてもよい。高次の項を加えた場合でも、Simulated Annealing等を用いて高速に処理することができる。また、補助変数を導入することによって、QUBOに定式化することができ、量子アニーリングマシンを用いて処理することもできる。また、目的関数Lは、関数L、L、Lの線形和ではなく、少なくとも二つの関数の線形和として定義してもよい。
 (パターン2)次に、辺を削除する変形ルール(第2変形ルール)に基づくグラフ変形の情報劣化の評価方法について説明する。
 グラフの辺eが削除される場合に0となり、削除されない場合に1となる二値変数列{x}を導入する。第2変形ルールに基づくグラフの変形の情報劣化を評価する目的関数Lを{x}の関数として定義する。目的関数Lは、例えば、以下で定義する関数L、L、L、Lの線形和として与える。
 関数Lは、削除する辺の数に応じた利得を評価する関数であり、式(4)で定義される。ここで、Cは任意の大きな実数を表し、Cは、頂点vにつながっている辺の集合を表す。式(4)は、各頂点において、できる限り、頂点につながっている辺を少なくとも一つ削除する変形となるように調整するための関数である。
Figure JPOXMLDOC01-appb-M000004
 変形後のグラフから考えられる変形前のグラフの数Wが大きいほど情報が劣化していると考えられる。そこで、関数Lは、変形後のグラフから考えられる変形前のグラフの数Wに応じた情報劣化を評価する関数として、log(W)と定義する。例えば、各頂点の種類が全て異なる場合、関数Lは式(5)で定義される。ここで、dは辺eの両端の頂点のいずれかとつながる頂点(辺eの両端の頂点を除く)の数を表す。ce_1e_2は、辺eの両端の頂点のうち、辺eの両端の頂点のいずれかとつながっているものの数と、辺eの両端の頂点のうち、辺eの両端の頂点のいずれかとつながっているものの数との合計を表す。θ(x)はxが0以下の場合0となり、xが0より大きい場合1となる関数である。なお、e_1はeを表す。
Figure JPOXMLDOC01-appb-M000005
 関数Lは、削除される辺の重要度に応じた情報劣化を評価する関数であり、式(6)で定義される。関数Lは、重要な辺の削除を、情報劣化として定量化する関数である。ここで、Wは辺eの重要度を表す。
Figure JPOXMLDOC01-appb-M000006
 関数Lは、辺の削除に伴って統合される頂点の重要度に応じた情報劣化を評価する関数であり、式(7)で定義される。関数Lは、重要な頂点が他の頂点と統合されることを、情報劣化として定量化する関数である。ここで、wb_e1、wb_e2は、辺eの両端の頂点の重要度を表す。関数f(x、y)はx及びyについて対称な増加関数である。
Figure JPOXMLDOC01-appb-M000007
 目的関数Lは、削除する辺の組合せ問題を、制限なし二値最適化(QUBO)として定式化したものである。プーリング層最適化部121は、目的関数Lを最小化、又は、できるだけ小さくする二値変数列の値の組合せを求める。
 目的関数Lを最小化する二値変数列の値の組合せ、すなわち、削除する頂点の組合せは、Simulated Annealing及び量子アニーリングマシン等を用いて高速に処理することができる。
 なお、目的関数Lの定義は一例であってこれに限定されない。例えば、三つの辺間の相互作用を表す{x}について、3次の項又は高次の項を加えてもよい。高次の項を加えた場合でも、Simulated Annealing等を用いて高速に処理することができる。また、補助変数を導入することによって、QUBOに定式化することができ、量子アニーリングマシンを用いて処理することもできる。また、目的関数Lは、関数L、L、L、Lの線形和ではなく、少なくとも二つの関数の線形和として定義してもよい。
 以上がステップS103の処理の説明である。
 プーリング層最適化部121は、プーリング層の演算を行い、頂点又は辺が削除されたグラフを変形する(ステップS104)。このとき、記憶部130は、グラフのID、ルールセットのID、及びプーリング層のIDを対応づけて、変形後のグラフをグラフデータベースに保存する。
 プーリング層最適化部121は、ステップS103において決定されたグラフの変形方法にしたがって、グラフから頂点又は辺を削除する。プーリング層最適化部121は、頂点又は辺が削除されたグラフについて、辺のつなぎ変え及び頂点の統合等を行うことによってグラフを変形する。
 頂点の削除が行われた場合、Kron縮約等を用いて、辺のつなぎ変えることによってグラフの変形が行われる。Kron縮約が行われた後に生成される隣接行列に関しては、例えば、閾値を設け、閾値より大きい成分を1に置き換え、閾値以下の成分を0に置き換える処理を行ってもよいし、隣接行列の値に関数を作用させた値を辺種別に書き込むこともできる。
 辺の削除が行われた場合、辺の両端の頂点の統合及び辺のつなぎ変えによってグラフの変形が行われる。
 頂点の統合では、例えば、プーリング層最適化部121は、削除された辺で連結された頂点の連結成分を算出し、算出された連結成分のそれぞれを、連結成分に含まれる頂点の特徴ベクトルを用いて、一つの特徴ベクトルをもつ頂点に置き換える。特徴ベクトルの生成方法としては、例えば、連結成分に含まれる頂点の特徴ベクトル成分ごとの最大値としてもよいし、平均値とすることもできる。
 より一般には、統合される頂点それぞれのもつ特徴ベクトルについての関数を用いて、統合後の頂点の特徴ベクトルを算出すればよい。前述の関数をニューラルネットワークとして構成し、パラメータを学習によって決定してもよい。
 頂点の置き換えが行われた後の辺のつなぎ変えでは、置き換えを行う前の第一の連結成分の中の頂点が、他の第二の連結成分の中の頂点との間に辺を持つ場合にのみ、第一の連結成分を置き換える頂点と第二の連結成分を置き換える頂点との間を辺でつなぐ。つなぎ変えを行った後の辺の特徴ベクトルについては、例えば、第一の連結成分内の頂点と第二の連結成分内の頂点の間に存在する全ての辺の特徴ベクトルの成分ごとの最大値としてもよいし、平均値とすることもできる。
 プーリング層最適化部121は、GCNNの全てのプーリング層について処理が完了したか否かを判定する(ステップS105)。
 GCNNの全てのプーリング層について処理が完了していない場合、プーリング層最適化部121はステップS102に戻る。GCNNの全てのプーリング層について処理が完了した場合、プーリング層最適化部121はプーリング層の演算決定処理を終了する。
 なお、記憶部130は、ルールセットのID、プーリング層のID、変形後のグラフにIDを付与し、変形前のグラフのID、変形後のグラフのID、及び変形後のグラフを対応づけて記憶する。
 図11は、実施例1の情報処理装置100が実行する学習処理の一例を説明するフローチャートである。
 情報処理装置100は、教師データ(グラフ)及びルールセットを取得する(ステップS201)。
 具体的には、入力/出力部110は、分子構造を表現するグラフの入力を受け付ける。記憶部130は、グラフ管理情報400にエントリを追加し、グラフデータベースに、頂点情報500及び辺情報600を保存する。また、入力/出力部110は、画面800を表示し、ルールセットの入力を受け付ける。記憶部130は、ルール管理情報700にルールセットのエントリを追加する。
 情報処理装置100は、プーリング層の演算決定処理を実行する(ステップS202)。プーリング層の演算決定処理は図10で説明しているため省略する。なお、各教師データについてプーリング層の演算決定処理が実行されてもよいし、所定の教師データにのみプーリング層の演算決定処理が実行されてもよい。
 情報処理装置100は、教師データを用いて、ステップS102で決定された演算を行うプーリング層が設定されたGCNNの学習処理を実行し(ステップS203)、その後、学習処理を終了する。GCNNの学習処理では、畳み込み層、集約等に関するパラメータが決定される。なお、教師データごとにプーリング層の演算決定処理が実行されている場合、入力する教師データに対応するプーリング層の演算結果処理に変更され、その後、GCNNに教師データが入力される。
 記憶部130は、GCNNのパラメータ等の学習結果だけではなく、GCNNの最終的な出力、及びGCNNの各層の中間出力を保存してもよい。また、入力/出力部110は、学習処理の結果を表示してもよい。
 図12は、実施例1の情報処理装置100が実行する解析処理の一例を説明するフローチャートである。
 情報処理装置100は、解析データ(グラフ)及びルールセットを取得する(ステップS301)。ステップS301の処理はステップS201の処理と同様である。このとき、記憶部130は、解析データ及びルールセットを各データベースに格納する。
 情報処理装置100は、プーリング層の演算決定処理を実行する(ステップS302)。プーリング層の演算決定処理は図10で説明しているため省略する。
 情報処理装置100は、GCNNを用いて解析データの出力を算出する(ステップS303)。具体的には、推定部123が、ステップS302で決定された演算を行うプーリング層が設定されたGCNNに解析データを入力することによって出力を得る。記憶部130は、GCNNの最終的な出力だけではなく、各層の中間出力を保存してもよい。
 情報処理装置100は、出力を表示し(ステップS304)、解析処理を終了する。具体的には、入力/出力部110は、GCNNの出力を表示する。なお、入力/出力部110は、変形されたグラフ及び各層の中間出力等を表示してもよい。
 なお、GCNNが頂点の埋め込みを出力として算出する場合、入力されたグラフとともに出力を表示してもよい。この場合、各頂点の埋め込みが分かる態様で表示が行われる。
 なお、GCNNが頂点のクラスタリング結果を出力として算出する場合、入力されたグラフとともにクラスタリング結果を表示してもよい。この場合、各頂点は、頂点が属するクラスタに応じて区別可能な態様で表示が行われる。
 なお、GCNNが頂点間の辺の有無を表す確率を出力として算出する場合、頂点のペアと確率とを含むエントリを格納するテーブルを表示してもよい。なお、入力されたグラフとともに、頂点間の辺の有無を表す確率を表示してもよい。また、確率に応じて辺の表示を変更してもよい。
 図13は、実施例1の情報処理装置100によるGCNNの出力の表示例を示す図である。
 入力/出力部110は、例えば、ユーザに対してテーブル1300を表示する。テーブル1300は、グラフID1301、密度1302、双極子モーメント1303、及び融点1304を含むエントリを格納する。一つのグラフに対して一つのエントリが存在する。なお、エントリに含まれるフィールドは前述したものに限定されない。前述したフィールドのいずれかを含まなくてもよいし、また、他のフィールドを含んでもよい。
 グラフID1301は、グラフのIDを格納するフィールドである。密度1302、双極子モーメント1303、及び融点1304は、出力を格納するフィールド群である。
 図14、図15、図16A、図16B、図16C、図17、図18A、及び図18Bは、実施例1の情報処理装置100によるグラフの変形結果の表示例を示す図である。
 入力/出力部110は、例えば、画面1400を表示する。画面1400は、グラフの変形結果を表示するためのユーザインタフェイスであり、選択領域1401及びグラフ表示領域1402を含む。
 選択領域1401は、参照するグラフ(教師データ及び解析データ)を選択するための領域であり、入力欄1411、検索ボタン1412、及びリスト1413を含む。
 入力欄1411は、参照するグラフを検索するための条件を入力するための欄である。ユーザは、例えば、グラフのID、頂点の数、及び辺の数等を入力欄1411に入力し、検索ボタン1412を操作することによって、参照するグラフの絞り込みを行う。
 リスト1413は、入力欄1411に入力された条件に合致するグラフに関する情報を表示するリストである。リストには、グラフのID、頂点の数、及び辺の数を含むエントリが表示される。ユーザは、リスト1413のエントリをクリックすることによって参照するグラフを選択する。
 グラフ表示領域1402は、GCNNに入力されるグラフ及び各層のグラフに関する情報を表示する領域である。ここで、グラフ表示領域1402に表示される情報について説明する。
 グラフ表示領域1402には、例えば、図15に示すように、GCNNの層と、層において入出力されるグラフとが表示される。グラフ表示領域1402には、GCNNに入力されるグラフのID、頂点の数、及び辺の数も合わせて表示される。なお、図面のスペースの関係で、二段に分けて記載しているが、実際は一段に表示される。
 グラフ表示領域1402には、例えば、図16Aに示すように、GCNNに入力されるグラフが表示される。また、グラフ表示領域1402には、例えば、図16B及び図16Cに示すように、GCNNにおいて変形されたグラフが表示される。図16Bは、第1変形ルールに基づいて変形されたグラフである。図16Cは、第2変形ルールに基づいて変形されたグラフである。
 なお、頂点及び辺だけではなく、頂点及び辺の特徴ベクトルが表示されてもよい。例えば、特徴ベクトルの各成分を、対応する頂点又は辺に重畳して表示する方法が考えられる。また、特徴ベクトルに応じて頂点及び辺の色及び線種等を変えてもよい。
 なお、変形後のグラフについては、削除された頂点又は削除された辺を表示してもよい。この場合、削除された頂点又は辺と、削除されていない頂点及び辺とが区別できるように表示が行われる。削除された辺でつながっていた頂点の連結成分を一つの頂点と見なすこととしてもよい。
 グラフ表示領域1202には、図17に示すように、グラフとともに、GCNNの各層の畳み込みの状態を示す情報を表示してもよい。ここで、GCNNに入力前の状態をステージ(1)、畳み込み層(1)の演算後の状態をステージ(2)、プーリング層(1)の演算後の状態をステージ(3)、畳み込み層(2)の演算後の状態をステージ(4)とする。
 テーブル1701、1702、1703、1704は、ステージ(1)、(2)、(3)、(4)の頂点の畳み込みの状態を示す情報である。実施例1の畳み込み層では、一つの頂点に、隣接する頂点の特徴ベクトルを集約する畳み込み演算が行われるものとする。
 ステージ(1)では、畳み込み演算が行われていないため、各頂点は自分の特徴ベクトルのみを持つ。したがって、各頂点の畳み込みの状態はテーブル1701のようになる。
 畳み込み層(1)の演算が行われた結果、各頂点の畳み込みの状態はテーブル1702のようになる。例えば、頂点(2)には、隣接する頂点(3)の特徴ベクトルが集約される。各頂点には集約された特徴ベクトルから算出される新たな特徴ベクトルが設定される。
 プーリング層(1)の演算が行われた結果、各頂点の畳み込みの状態はテーブル1703のようになる。プーリング層では特徴ベクトルの集約は行われないため、プーリング層の前後では畳み込みの状態は変化しない。
 畳み込み層(2)の演算が行われた結果、各頂点の畳み込みの状態はテーブル1704のようになる。例えば、頂点(2)には、頂点(1)、頂点(3)、及び頂点(5)が持つ特徴ベクトルが集約されている。頂点(1)、(3)、(5)には、畳み込み層(2)に入力される前の段階で他の頂点(3)の特徴ベクトルが集約されている。したがって、頂点(2)には、頂点(1)、(3)、(5)の特徴ベクトルだけではなく、頂点(1)、(3)、(5)に集約された他の頂点の特徴ベクトルも同時に集約される。その結果、頂点(2)は、頂点(1)、頂点(2)、頂点(3)、頂点(5)、頂点(6)、頂点(7)の特徴ベクトルが集約される。
 なお、畳み込み層の演算は一例であって、これに限定されない。例えば、二つ先の頂点の特徴ベクトルを集約してもよいし、隣接する頂点の中から選択された頂点の特徴ベクトルを集約してもよい。
 入力/出力部110は、図17の表示中にユーザから頂点の指定を受け付け、図18Aに示すように、指定された頂点に集約された特徴ベクトルの起源となる頂点を強調表示してよい。ステージ(2)において頂点(2)が指定されている。畳み込み層(1)の演算の結果、頂点(2)には頂点(3)の特徴ベクトルが集約されているため、頂点(3)が強調表示される。ステージ(3)において頂点(2)が指定されている。頂点(2)には頂点(3)の特徴ベクトルが集約されているため、頂点(3)が強調表示される。ステージ(4)において頂点(2)が指定されている。頂点(2)には、頂点(1)、(3)、(5)、(6)、(7)の特徴ベクトルが集約されているため、頂点(1)、(3)、(5)、(6)、(7)が強調表示される。
 なお、頂点の指定はステージごとに行ってもよいし、一つのステージについてのみ行ってもよい。一つのステージについてのみ頂点の指定を行った場合、後続のステージも同じ頂点が指定されているものとして表示が行われる。
 入力/出力部110は、図17の表示中にユーザから頂点の指定を受け付け、図18Bに示すように、指定された頂点の特徴ベクトルを集約した頂点を強調表示してもよい。ステージ(2)において頂点(2)が指定されている。畳み込み層(1)の演算の結果、頂点(3)に頂点(2)の特徴ベクトルが集約されているため、頂点(3)が強調表示される。ステージ(3)において頂点(2)が指定されている。頂点(3)に頂点(2)の特徴ベクトルが集約されているため、頂点(3)が強調表示される。ステージ(4)において頂点(2)が指定されている。頂点(1)、(3)、(4)、(5)に頂点(2)の特徴ベクトルが集約されているため、頂点(1)、(3)、(4)、(5)が強調表示される。
 なお、頂点の指定はステージごとに行ってもよいし、一つのステージについてのみ行ってもよい。一つのステージについてのみ頂点の指定を行った場合、後続のステージも同じ頂点が指定されているものとして表示が行われる。
 図19は、実施例1の情報処理装置100が表示するグラフの統計情報の表示の一例を示す図である。
 画面1900は、グラフの統計情報を示すユーザインタフェイスである。グラフの統計情報としては、例えば、グラフの頂点の数、辺の数、及び出力に関する統計情報が考えられる。また、各層のグラフの各頂点における特徴ベクトルを集約した頂点の数に関する統計情報が考えられる。
 ヒストグラム等のグラフを統計情報として表示してもよいし、平均値及び標準偏差等の統計処理によって算出される数値を統計情報として表示してもよい。
 情報処理装置100は、グラフの変形に伴う情報劣化を評価することによって、グラフを変形方法、すなわち、プーリング層の演算を決定する。これによって、GCNNのオーバースムージングの問題を回避し、かつ、高い予測精度を保つことができる。また、情報劣化の評価はQUBOとして定式化されるため、量子アニーリングマシン等を用いて高速に処理することができる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
 また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
 さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
 上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (14)

  1.  少なくとも一つの計算機を備える計算機システムであって、
     二つ以上の頂点及び少なくとも一つの辺から構成されるグラフを入力とし、演算を行う複数の層を含むグラフ畳み込みニューラルネットワークを保持し、
     前記複数の層は、少なくとも一つの畳み込み層と、少なくとも一つのプーリング層とを含み、
     前記プーリング層は、グラフを変形する演算を実行し、
     前記計算機システムは、前記プーリング層における前記グラフの変形ルール及び前記グラフの変形に伴う情報劣化を評価するための評価ルールを管理し、
     前記少なくとも一つの計算機は、
     ターゲットグラフが入力された場合、前記グラフ畳み込みニューラルネットワークの前記プーリング層の演算を決定する処理を実行し、
     前記処理によって決定された演算を行う前記プーリング層を含む前記グラフ畳み込みニューラルネットワークに、前記ターゲットグラフを入力することによって出力を算出し、
     前記少なくとも一つの計算機は、前記処理において、
     前記変形ルールに基づいて変形された前記ターゲットグラフについて、前記評価ルールに基づいて評価指標を算出し、
     前記評価指標に基づいて、前記プーリング層の演算を決定することを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記評価ルールは、前記グラフの頂点及び辺の少なくともいずれかの削減に関する組合せ問題を、制限なし二値最適化として定式化するためのルールであることを特徴とする計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記評価ルールは、前記頂点の削除の要否を表現する二値変数を用いて定義される関数であって、
     前記関数は、削除される前記頂点の重要度、及び前記頂点の削除によって削除される辺の重要度の少なくともいずれかに応じた情報劣化を定量化する関数であり、
     前記評価指標は、前記関数の値であることを特徴とする計算機システム。
  4.  請求項2に記載の計算機システムであって、
     前記評価ルールは、前記辺の削除の要否を表現する二値変数を用いて定義される関数であって、
     前記関数は、削除される前記辺の重要度、前記辺の削除に伴って統合される前記頂点の重要度、変形後のグラフから考えられる変形前のグラフの数の少なくともいずれかに応じた情報劣化を定量化する関数であり、
     前記評価指標は、前記関数の値であることを特徴とする計算機システム。
  5.  請求項2に記載の計算機システムであって、
     前記少なくとも一つの計算機は、前記変形ルール及び前記評価ルールを設定するためのインタフェースを提示することを特徴とする計算機システム。
  6.  請求項1に記載の計算機システムであって、
     前記少なくとも一つの計算機は、前記グラフ畳み込みニューラルネットワークに含まれる前記複数の層の演算に関する情報を表示することを特徴とする計算機システム。
  7.  請求項6に記載の計算機システムであって、
     前記複数の層の演算に関する情報は、前記畳み込み層の演算の結果を含むことを特徴とする計算機システム。
  8.  少なくとも一つの計算機を含む計算機システムが実行する情報処理方法であって、
     前記計算機システムは、二つ以上の頂点及び少なくとも一つの辺から構成されるグラフを入力とし、演算を行う複数の層を含むグラフ畳み込みニューラルネットワークを保持し、
     前記複数の層は、少なくとも一つの畳み込み層と、少なくとも一つのプーリング層とを含み、
     前記プーリング層は、グラフを変形する演算を実行し、
     前記計算機システムは、前記プーリング層における前記グラフの変形ルール及び前記グラフの変形に伴う情報劣化を評価するための評価ルールを管理し、
     前記情報処理方法は、
     前記少なくとも一つの計算機が、ターゲットグラフが入力された場合、前記グラフ畳み込みニューラルネットワークの前記プーリング層の演算を決定する処理を実行する第1のステップと、
     前記少なくとも一つの計算機が、前記処理によって決定された演算を行う前記プーリング層を含む前記グラフ畳み込みニューラルネットワークに、前記ターゲットグラフを入力することによって出力を算出する第2のステップと、を含み、
     前記第2のステップは、
     前記少なくとも一つの計算機が、前記変形ルールに基づいて変形された前記ターゲットグラフについて、前記評価ルールに基づいて評価指標を算出するステップと、
     前記評価指標に基づいて、前記プーリング層の演算を決定するステップと、を含むことを特徴とする情報処理方法。
  9.  請求項8に記載の情報処理方法であって、
     前記評価ルールは、前記グラフの頂点及び辺の少なくともいずれかの削減に関する組合せ問題を、制限なし二値最適化として定式化するためのルールであることを特徴とする情報処理方法。
  10.  請求項9に記載の情報処理方法であって、
     前記評価ルールは、前記頂点の削除の要否を表現する二値変数を用いて定義される関数であって、
     前記関数は、削除される前記頂点の重要度、及び前記頂点の削除によって削除される辺の重要度の少なくともいずれかに応じた情報劣化を定量化する関数であり、
     前記評価指標は、前記関数の値であることを特徴とする情報処理方法。
  11.  請求項9に記載の情報処理方法であって、
     前記評価ルールは、前記辺の削除の要否を表現する二値変数を用いて定義される関数であって、
     前記関数は、削除される前記辺の重要度、前記辺の削除に伴って統合される前記頂点の重要度、変形後のグラフから考えられる変形前のグラフの数の少なくともいずれかに応じた情報劣化を定量化する関数であり、
     前記評価指標は、前記関数の値であることを特徴とする情報処理方法。
  12.  請求項9に記載の情報処理方法であって、
     前記少なくとも一つの計算機が、前記変形ルール及び前記評価ルールを設定するためのインタフェースを提示するステップを含むことを特徴とする情報処理方法。
  13.  請求項8に記載の情報処理方法であって、
     前記少なくとも一つの計算機が、前記グラフ畳み込みニューラルネットワークに含まれる前記複数の層の演算に関する情報を表示するステップを含むことを特徴とする情報処理方法。
  14.  請求項8に記載の情報処理方法であって、
     前記複数の層の演算に関する情報は、前記畳み込み層の演算の結果を含むことを特徴とする情報処理方法。
PCT/JP2023/036772 2022-11-30 2023-10-10 計算機システム及び情報処理方法 WO2024116608A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-192255 2022-11-30
JP2022192255A JP2024079356A (ja) 2022-11-30 2022-11-30 計算機システム及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2024116608A1 true WO2024116608A1 (ja) 2024-06-06

Family

ID=91323627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/036772 WO2024116608A1 (ja) 2022-11-30 2023-10-10 計算機システム及び情報処理方法

Country Status (2)

Country Link
JP (1) JP2024079356A (ja)
WO (1) WO2024116608A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113887501A (zh) * 2021-10-21 2022-01-04 泰康保险集团股份有限公司 行为识别方法、装置、存储介质及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113887501A (zh) * 2021-10-21 2022-01-04 泰康保险集团股份有限公司 行为识别方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP2024079356A (ja) 2024-06-11

Similar Documents

Publication Publication Date Title
JP7169369B2 (ja) 機械学習アルゴリズムのためのデータを生成する方法、システム
Lin et al. Deep learning for missing value imputation of continuous data and the effect of data discretization
Beretta et al. Learning the structure of Bayesian Networks: A quantitative assessment of the effect of different algorithmic schemes
JP2005276225A (ja) テーブルを使用したツリーの学習
Hamdani et al. Hierarchical genetic algorithm with new evaluation function and bi-coded representation for the selection of features considering their confidence rate
CN111178532B (zh) 一种量子线路匹配的方法、装置、存储介质和电子装置
US11556785B2 (en) Generation of expanded training data contributing to machine learning for relationship data
US11037073B1 (en) Data analysis system using artificial intelligence
Rivero et al. Dome: a deterministic technique for equation development and symbolic regression
US20240185025A1 (en) Flexible Parameter Sharing for Multi-Task Learning
JP2023052555A (ja) 対話型機械学習
CN114416105B (zh) 一种量子操作的编译方法、系统、存储介质和电子设备
CN114880482A (zh) 一种基于图嵌入的关系图谱关键人员分析方法及系统
Kumar et al. Community-enhanced Link Prediction in Dynamic Networks
Voke et al. A Framework for Feature Selection using Data Value Metric and Genetic Algorithm
Santos et al. An information theory framework for two-stage binary image operator design
Mulderij et al. A polynomial size model with implicit swap gate counting for exact qubit reordering
US20220027739A1 (en) Search space exploration for deep learning
CN112951420A (zh) 利用原型来操纵深度序列模型
Tayal et al. A new MapReduce solution for associative classification to handle scalability and skewness in vertical data structure
WO2024116608A1 (ja) 計算機システム及び情報処理方法
Villacorta et al. Sensitivity analysis in the scenario method: A multi-objective approach
Jarquin et al. Combining phenotypic and genomic data to improve prediction of binary traits
Ou-Yang et al. An Integrated mining approach to discover business process models with parallel structures: towards fitness improvement
JP2019159918A (ja) クラスタリングプログラム、クラスタリング方法およびクラスタリング装置