WO2025126251A1 - Information processing device and information processing method - Google Patents
Information processing device and information processing method Download PDFInfo
- Publication number
- WO2025126251A1 WO2025126251A1 PCT/JP2023/044123 JP2023044123W WO2025126251A1 WO 2025126251 A1 WO2025126251 A1 WO 2025126251A1 JP 2023044123 W JP2023044123 W JP 2023044123W WO 2025126251 A1 WO2025126251 A1 WO 2025126251A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- graph
- edge
- information
- nodes
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Definitions
- This disclosure relates to an information processing device and an information processing method.
- the present disclosure aims to solve the above problem by providing an information processing device and information processing method that can suppress degradation of graph information.
- the information processing device includes a graph data acquisition unit that acquires first graph data indicating a first graph having an original node having first information and second information, a first edge associated with the first information and connected to the original node, and a second edge associated with the second information and connected to the original node, and a graph generation unit that generates second graph data indicating a second graph in which the original node has been replaced with a subgraph having a plurality of nodes in the first graph, including a first node corresponding to the first information and a second node corresponding to the second information, and edges connecting the plurality of nodes to each other, and the graph generation unit generates the second graph data such that in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.
- a node in a graph has multiple pieces of information
- data is generated that shows a graph in which the node has been replaced with a subgraph having multiple nodes that correspond to the multiple pieces of information, thereby suppressing degradation of information when processing the graph.
- FIG. 1 is a block diagram showing a configuration of an information processing device according to a first embodiment.
- FIG. 2 is a block diagram showing an example of a hardware configuration of the information processing device according to the first embodiment.
- FIG. 2 is a block diagram showing an example of a hardware configuration of the information processing device according to the first embodiment.
- 4 is a flowchart showing a process performed by the information processing device according to the first embodiment. 4 is a flowchart showing an example of processing performed by the information processing device according to the first embodiment.
- FIG. 6A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 1
- FIG. 6B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 1.
- FIG. 11 is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to the first embodiment.
- 11 is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to the first embodiment.
- FIG. 9A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 1
- FIG. 9B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 1.
- 10A and 10B are diagrams showing a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 1.
- FIG. 10C is a second graph as a modified example of the graph network of FIG.
- FIG. 10B shown by the second graph data generated by the information processing device according to the first embodiment.
- 9C is a second graph as a modified example of the graph network of FIG. 9B shown by second graph data generated by the information processing device according to embodiment 1.
- 9C is a second graph as a modified example of the graph network of FIG. 9B shown by second graph data generated by the information processing device according to embodiment 1.
- FIG. 14A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 1
- FIG. 14B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 1.
- FIG. 15A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 1, and FIG.
- FIG. 15B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 1.
- 11 is a flowchart showing an example of processing performed by an information processing device according to the second embodiment.
- FIG. 17A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2, and
- FIG. 17B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2.
- FIG. 18A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2
- FIG. 18B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2.
- FIG. 17A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2
- FIG. 18B shows a second graph as an example of a graph network represented by second graph data generated
- FIG. 19A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2
- FIG. 19B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2.
- 10 is a flowchart showing an example of processing performed by an information processing device according to a modification of the first embodiment.
- FIG. 21A is a first graph as an example of a graph network represented by first graph data acquired by an information processing device
- FIG. 21B is a second graph as an example of a graph network represented by second graph data generated by an information processing device.
- FIG. 22A is a first graph as an example of a graph network represented by first graph data acquired by an information processing device
- FIG. 22A is a first graph as an example of a graph network represented by first graph data acquired by an information processing device
- 22B is a second graph as an example of a graph network represented by second graph data generated by an information processing device.
- 13 is a flowchart showing a process performed by an information processing device according to a third embodiment.
- 24A is a circuit diagram shown by a netlist acquired by an information processing device according to embodiment 3, and FIG. 24B is a netlist acquired by the information processing device according to embodiment 3.
- FIG. A table showing the number of circuits, the average number of nodes, the average number of edges, and the average number of node types contained in the netlist used as the dataset.
- 26A is a circuit diagram showing an electrical circuit having a multi-element component
- FIG. 26B is a graph network showing the electrical circuit of FIG. 26A.
- FIG. 1 is a circuit diagram showing an example of a block diagram inside a semiconductor device.
- FIG. 35A is a circuit diagram showing an electrical circuit having a multi-element component
- FIG. 35B is a graph network showing the electrical circuit of FIG. 35A
- 31 is a graph showing the inference results for test data in a graph neural network in which the conditions and all other than the input data are the same as in FIG. 30 .
- FIG. 13 is a schematic diagram in which node attribute information is assigned to each of a virtual node and a decomposition node.
- FIG. 13 is a schematic diagram in which node attribute information is assigned to each of a virtual node and a decomposition node, and shows an example in which the node attribute information is an average value of attribute information of connected decomposition nodes.
- FIG. 41A is a graph network showing a multi-element component with three terminals
- FIG. 41B is a schematic diagram in which unique numerical values are assigned to one or more pieces of node attribute information of virtual nodes and decomposition nodes based on domain information or terminal information.
- FIG. 13 is a schematic diagram showing that the number of elements of attribute information at a two-terminal decomposition point is equal.
- 11 is a schematic diagram showing how different values are assigned to the input side and the output side of at least one element of node attribute information at a two-terminal decomposition point.
- Fig. 1 is a block diagram showing the configuration of the information processing device 100 according to the first embodiment.
- the information processing device 100 according to the first embodiment is a device that acquires graph data indicating a graph, and generates graph data indicating another graph based on the graph data.
- the information processing device 100 according to the first embodiment is a device that converts graph data indicating a graph into graph data indicating another graph.
- the information processing device 100 includes a graph data acquisition unit 10, a node extraction unit 20, and a graph generation unit 30.
- the graph data acquisition unit 10 acquires graph data indicating a graph network as a graph.
- the graph data acquisition unit 10 acquires graph data from an input device (not shown) that accepts an input operation by an operator and inputs information to the information processing device 100, from an external device connected to the information processing device 100 so as to be able to communicate by wire or wirelessly, or by reading information stored in a storage unit (not shown) provided in the information processing device 100.
- the graph data acquisition unit 10 acquires, as graph data, data sets such as geometric data, text data, and tabular data indicating graph networks consisting of nodes (points) and edges (lines), such as neural networks, molecular structures, electric circuits, social networks, and computer networks.
- a graph network indicating an electric circuit may be a graph network in which components are indicated by nodes and wiring connecting the components is indicated by edges.
- a graph network showing a social network a graph network in which individuals are represented by nodes and relationships between individuals are represented by edges, or a graph network in which companies and users are represented by nodes and the products of specific companies are represented by edges, thereby associating companies and users with the products they use.
- the node extraction unit 20 extracts specific nodes as original nodes that match a specific condition set in advance from among the nodes in the graph network represented by the graph data based on the graph data acquired by the graph data acquisition unit 10. For example, the node extraction unit 20 extracts specific nodes based on information held by the nodes in the graph network represented by the graph data. Also, for example, the node extraction unit 20 extracts specific nodes having a number of edges connected thereto that is within a specific range from among the nodes in the graph network represented by the graph data.
- the graph data acquired by the graph data acquisition unit 10 is also referred to as first graph data
- the graph network represented by the first graph data is also referred to as the first graph. Details of specific nodes will be described later.
- the graph generation unit 30 generates graph data indicating a new graph network based on the first graph data and information related to the nodes extracted by the node extraction unit 20.
- the graph generation unit 30 has a node decomposition unit 31 and an edge modification unit 32.
- the information processing device 100 may have a display control unit (not shown) that displays the graph data generated by the graph generation unit 30 on a display device such as a liquid crystal panel, and may have an output unit (not shown) that outputs the graph data generated by the graph generation unit 30 to an external device.
- the node decomposition unit 31 decomposes the node extracted by the node extraction unit 20 into multiple nodes. In other words, the node decomposition unit 31 generates multiple new nodes based on the node extracted by the node extraction unit 20, and deletes the specific node extracted by the node extraction unit 20.
- the edge modification unit 32 modifies the edges of the graph network represented by the first graph data according to the result of the node decomposition by the node decomposition unit 31. For example, the edge modification unit 32 generates an edge that connects to the new node generated by the node decomposition unit 31, and deletes the node that is connected to the specific node extracted by the node extraction unit 20. For example, the edge modification unit 32 changes the connection destination of the edge so that the existing edge is connected to the new node generated by the node decomposition unit 31.
- the graph generation unit 30 generates graph data indicating a new graph network in which a subgraph having a plurality of new nodes and new edges connecting the plurality of new nodes to each other is replaced with the specific node extracted by the node extraction unit 20 in the first graph.
- the new graph data generated by the graph generation unit 30 based on the first graph data is also referred to as second graph data
- the graph network represented by the second graph data is also referred to as the second graph. Details of the graph generation unit 30 will be described later.
- Fig. 2 is a block diagram showing an example of the hardware configuration of the information processing device 100 according to the first embodiment
- Fig. 3 is a block diagram showing an example of a hardware configuration of the information processing device 100 according to the first embodiment, which is different from that shown in Fig. 2.
- the information processing device 100 has a processor 100a, a memory 100b, and an I/O port 100c, and is configured so that the processor 100a reads and executes a program stored in the memory 100b.
- the memory 100b is composed of, for example, a non-volatile or volatile semiconductor memory such as a RAM, a ROM, a flash memory, an EPROM, an EEPROM, or a combination of these.
- the memory 100b may also be a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD, or the like.
- the memory 100b may also be an HDD or an SSD.
- the information processing device 100 has a processing circuit 100d, which is dedicated hardware, and an I/O port 100c.
- the processing circuit 100d is configured, for example, by a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a system LSI (Large-Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these.
- Each function of the information processing device 100 is realized by the processor 100a or the processing circuit 100d, which is dedicated hardware, executing a program that is software, firmware, or a combination of software and firmware.
- Fig. 4 is a flowchart showing the process performed by the information processing device 100 according to embodiment 1.
- the information processing device 100 when the information processing device 100 starts the process, it acquires graph data (step ST11).
- the information processing device 100 acquires graph data indicating a graph network having a plurality of nodes and a plurality of edges connecting these plurality of nodes to each other, by using the graph data acquisition unit 10.
- the information processing device 100 After performing the process of step ST11, the information processing device 100 extracts specific nodes that meet a specific condition set in advance from among the nodes in the first graph shown by the first graph data acquired in the process of step ST11 (step ST12). For example, based on the first graph data acquired by the graph data acquisition unit 10, the information processing device 100 extracts, as specific nodes, nodes from the nodes in the first graph that have multiple pieces of information and are connected to edges associated with each of the multiple pieces of information, using the node extraction unit 20.
- the information processing device 100 extracts, as specific nodes, from the first graph, nodes that have multiple pieces of information including the first information and the second information and are connected to multiple edges including a first edge associated with the first information and a second edge associated with the second information.
- the information processing device 100 determines whether or not a specific node has been extracted from the first graph in the processing of step ST12 (step ST13). In other words, after performing the processing of step ST12, the information processing device 100 determines whether or not the first graph represented by the first graph data acquired in the processing of step ST11 has a specific node that meets a specific condition that has been set in advance.
- the information processing device 100 If the first graph has a specific node (YES in step ST13), the information processing device 100 generates multiple new nodes based on the information held by any of the extracted specific nodes (step ST14). For example, if any of the extracted specific nodes has multiple pieces of information and is a node to which edges associated with each of the multiple pieces of information are connected, in this process, the information processing device 100 generates multiple new nodes including nodes corresponding to each piece of information held by the specific node by the node decomposition unit 31.
- the information processing device 100 generates multiple new nodes including a second node corresponding to the first information and a third node corresponding to the second information by the node decomposition unit 31.
- the information processing device 100 After performing the processing of step ST14, the information processing device 100 connects edges to the new multiple nodes generated in the processing of step ST14 (step ST15). For example, in this processing, the information processing device 100 generates a new edge by the edge modification unit 32 and connects between the new multiple nodes generated in the processing of step ST14. Also, for example, in this processing, the information processing device 100 generates a new edge by the edge modification unit 32 and connects a node that was connected via an edge to the specific node extracted in the processing of step ST12 to one of the new multiple nodes generated.
- the information processing device 100 generates multiple edges including a new edge having one end connected to the same as the first edge and the other end connected to the first node corresponding to the first information, and a new edge having one end connected to the same as the second edge and the other end connected to the second node corresponding to the second information.
- the information processing device 100 deletes unnecessary edges (step ST16). For example, in this processing, the information processing device 100 deletes edges that have become unnecessary as a result of generating multiple nodes in the processing of step ST15. Specifically, in this processing, the information processing device 100 deletes edges that are connected to the specific node extracted in the processing of step ST12.
- step ST16 the information processing device 100 deletes the specific node extracted in the processing of step ST12 (step ST17).
- second graph data is generated that indicates a new second graph in which a subgraph having a plurality of new nodes and new edges connecting the plurality of new nodes to each other in the first graph is replaced with the specific node extracted by the node extraction unit 20.
- step ST17 If the processing of step ST17 has been performed, or if the first graph represented by the first graph data does not have a specific node (NO in step ST13), the information processing device 100 ends the processing. Note that if the first graph has multiple specific nodes, the information processing device 100 may be configured to perform the processing of steps ST14 to ST17 for each specific node, or may be configured to perform the processing of steps ST14 to ST17 for multiple specific nodes in parallel.
- FIG. 5 is a flowchart showing an example of the processing performed by the information processing device according to the first embodiment.
- the information processing device 100 extracts, as specific nodes, nodes to which three or more edges are connected from the first graph represented by the first graph data acquired in the processing of step ST11 (step ST22).
- FIG. 6A shows a first graph G1 as an example of a graph network represented by the first graph data acquired by the information processing device 100 according to the first embodiment.
- node n13 represents a company
- nodes n11, n12, and n14 represent users
- nodes representing a plurality of users are connected to node n13 representing the company via edges.
- the first graph G1 shown in FIG. 6A may be the entire graph network represented by the graph data acquired by the graph data acquisition unit 10, or may be a part of the graph network represented by the graph data acquired by the graph data acquisition unit 10.
- 6B is a second graph as an example of a graph network shown by the second graph data generated by the information processing device according to the first embodiment.
- the information processing device 100 when node n13 having first information corresponding to edge e11, second information corresponding to edge e12, and third information corresponding to edge e13 is extracted as a specific node, the information processing device 100 generates new nodes including node n15, which is a decomposition node corresponding to the first information held by node n13, node n16, which is a decomposition node corresponding to the second information, and node n17, which is a decomposition node corresponding to the third information, and node n18, which is a virtual node for connecting these multiple decomposition nodes to each other, by the node decomposition unit 31.
- the multiple pieces of information held by the specific node may be information indicating which edge the specific node is connected to, or information indicating which node the specific node is connected to via a specific edge, or, if the first graph is a graph network indicating an electric circuit and the specific node is a node indicating a component of the electric circuit having multiple terminals, may be information for identifying the terminals, or may be information indicating the weight of the connection between the specific node and another node connected via an edge.
- the information processing device 100 After performing the processing of step ST24, the information processing device 100 connects edges to the new multiple nodes generated in the processing of step ST24 (step ST25). For example, in this processing, the information processing device 100 generates new edges by the edge changing unit 32, and connects between the multiple decomposition nodes generated in the processing of step ST24 and the virtual node. Also, for example, in this processing, the information processing device 100 connects nodes n11, n12, and n14, which were connected via edges to node n13 extracted in the processing of step ST22, to any of the multiple decomposition nodes generated.
- the information processing device 100 uses the edge change unit 32 to generate a new edge e15 to connect node n18 and node n15, generate an edge e16 to connect node n18 and node n16, and generate an edge e17 to connect node n18 and node n17. Also, in this process, the information processing device 100 connects node n15 and node n11 with edge e11, connects node n16 and node n12 with edge e12, and connects node n17 and node n14 with edge e13.
- the information processing device 100 in the processing of step ST24, the information processing device 100 generates node n18, which is a virtual node that abstractly represents the company, and generates nodes n15, n16, and n17, which are decomposition nodes that decompose the company into each domain, which is multiple pieces of information that the company possesses, and in the processing of step ST25, connects node n18 to node n15, node n16, and node n17, and connects each user that was connected to node n13 in the first graph G1 to node n18, node n15, and node n16 via edges.
- the information processing device 100 may be configured to generate the edge connecting node n15 and node n11, the edge connecting node n16 and node n12, and the edge connecting node n17 and node n14 separately from edges e11, e12, and e13.
- the information processing device 100 performs the processing of step ST25, it deletes the edge connecting node n11 and node n13, the edge connecting node n12 and node n13, and the edge connecting node n14 and node n13 in the first graph G1 as unnecessary edges (step ST26).
- step ST17 the information processing device 100 deletes node n13, which is a specific node (step ST17).
- second graph data is generated that indicates a second graph G1' in which node n13 is replaced with a subgraph g1' having a plurality of nodes including nodes n15, n16, n17, and n18 in the first graph G1, and edges e15, e16, and e17 that connect these plurality of nodes to each other.
- a graph network is generated in which node n13 indicating a company is replaced with a subgraph g1' that is decomposed for each domain (field) that the company has.
- nodes n15, n16, and n17 indicate product 1, product 2, and product 3 of the company indicated by node n13, respectively.
- the second graph shown by the second graph data generated based on the first graph data showing the first graph in FIG. 6A is not limited to that in FIG. 6B.
- the number of new nodes generated based on the information held by a specific node may be one, or any number equal to or greater than two, and may be the same as or different from the number of edges connected to the specific node.
- the edges connected to the new nodes may be edges connecting multiple decomposition nodes, or edges connecting one decomposition node to multiple nodes.
- FIG. 7 shows a second graph G1'' as an example different from FIG. 6B of a graph network represented by second graph data generated by the information processing device 100 according to embodiment 1.
- node n15 which is a decomposition node generated based on node n13, which is a specific node (see FIG. 6A)
- node n18 which is a virtual node
- edge e15 node n16, which is a decomposition node
- node n18 are connected by edge e16
- node n17 which is a decomposition node
- node n18 are connected by edge e17
- node n15 and node n16 are connected by edge e19.
- node n15 is connected to node n11 by edge e11 and is connected to node n12 by edge e18.
- node n12 is connected to node n15 by edge e18 and is connected to node n16 by edge e12.
- one decomposition node may be connected to multiple existing nodes, or a specific existing node may be connected to multiple decomposition nodes.
- the second graph G1'' is a graph network representing a social network
- one decomposition node may be connected to multiple users, or a node representing a specific user may be connected to multiple decomposition nodes.
- the first and second graphs are not limited to the relationship between one company and multiple users, but may be graph networks showing the relationship between multiple companies and multiple users.
- the multiple companies may be connected to each other by edges.
- decomposition nodes and multiple edges can be set between them.
- these multiple connections may be aggregated as one connection if they can be considered as similar information.
- these multiple connections may not be considered as similar information, by subdividing the domains as different domains, the occurrence of multiple edges can be suppressed even in various graph networks.
- the first graph and the second graph may be static graph networks, or may be dynamic graph networks in which the nodes of the graph network and the connections between the nodes change over time, such as SNS (Social Networking Service) or traffic information.
- SNS Social Networking Service
- the first graph and the second graph are dynamic graph networks, even if one user and one domain of a specific company are connected multiple times, there is only one connection in the time direction, and these connections do not become multiple edges.
- the second graph may be a graph network in which multiple similar decomposition nodes are combined into one decomposition node so as to prevent self-loops and multiple edges from occurring, and multiple users are connected to one decomposition node. By forming the second graph in this way, it is possible to suppress the occurrence of multiple edges and self-loops that cause information degradation, and reduce the processing time in a graph neural network, etc.
- FIG. 8 shows a second graph G1''' as an example of a graph network shown by second graph data generated by the information processing device 100 according to embodiment 1, different from those shown in FIGS. 6B and 7.
- node n15 which is a decomposition node generated based on node n13, which is a specific node (see FIG. 6A)
- node n18 which is a virtual node
- edge e15
- node n17 which is a decomposition node
- node n18 are connected by edge e17
- node n15 is connected to node n11 by edge e11, and is connected to node n12 by edge e12. In this way, one decomposition node may be connected to multiple users in the second graph G1'''.
- the first graph is a graph network showing the citation relationships between papers and books.
- papers are written to specialize in a particular technology, whereas a book may systematically compile multiple papers and cite multiple papers.
- the first graph by showing papers or books as nodes and showing that a paper or book is cited as an edge, it becomes possible to show the citation relationships between papers and books.
- the second graph G1''' shown in FIG. 8 by connecting node n18, which is a virtual node indicating a book, with nodes n15 and n17, which are decomposition nodes generated according to the chapters of the book, which are the multiple pieces of information (domains) that a book has, with edges, the citation relationships between papers and books divided by domain can be represented in a graph network. Therefore, the second graph G1''' shown in FIG.
- the domain of a book is not limited to a chapter, but may be, for example, a section or an article.
- a graph network without self-loops and multiple edges can be generated by subdividing the node representing the book in the second graph according to the book's domain and providing one or more book decomposition nodes for each paper.
- the extent to which the nodes are decomposed is set appropriately based on the content of the process (graph network processing, graph neural network processing, etc.), the type of graph network, the content of the graph data (dataset) to be acquired, etc. For example, in a dataset for generating a learning model that predicts the citation relationship between a paper and a corresponding part of a book using a graph neural network, it is desirable to decompose the nodes finely, but in a process for simply finding the relationship between citations and cited, it may not be necessary to decompose the nodes finely.
- the information processing device 100 In conventional graph networks, information from multiple domains is consolidated into a single node, so the relationship between the domain of the node and surrounding nodes cannot be maintained as a graph network, or becomes unclear, which causes information degradation.
- the information processing device 100 according to embodiment 1 generates one decomposition node for each edge connected to a specific node, so relationships with surrounding nodes can be maintained separately for each domain.
- the information processing device 100 according to embodiment 1 maintains multiple pieces of information held by a specific node as information for multiple decomposition nodes, so domain information is not lost even when graph processing is performed, and information degradation can be suppressed.
- a self-loop can be considered to represent a relationship between domains.
- a self-loop means a connection from all domains to all domains that a node has, and cannot have information on a connection from a specific domain to a specific domain as in the first embodiment.
- a self-loop can be represented by information that connects one end and the other end of an edge between different decomposition nodes generated based on one specific node, so that it is possible to hold the relationship between domains as a graph network.
- the graph network can be structured to have no self-loop, so that it is possible to hold the connection information from a specific domain to another domain that a node has as a graph network.
- edges in a graph network mean that two nodes are connected by two or more edges, but in the first embodiment, a specific node is decomposed into decomposition nodes with the same number as the edges connected to it, so that the graph network can have a graph structure that does not have multiple edges.
- a graph network has a first specific node and a second specific node
- the first specific node has domain A and domain C
- the second specific node has domain B and domain D
- there are connections between domain A and domain B and domain C and domain D as multiple edges it was necessary to aggregate the information connecting the first specific node and the second specific node.
- domain A and domain B, and domain C and domain D are represented as decomposition nodes, so that each connection can be represented by a graph structure. This makes it possible to suppress the information degradation that occurred in the past.
- the occurrence of self-loops and multiple edges can also be suppressed by forming a complete graph in which all decomposition nodes are connected to each other by edges without using virtual nodes.
- a self-loop in a single node is converted to multiple edges after converting a single node into a complete graph, resulting in information degradation.
- the relationship between decomposition nodes is a black box, a complete graph is required to maintain the relationship between the decomposition nodes.
- the number of edges when forming a complete graph is proportional to the square of the number of decomposition nodes, the number of edges increases as the number of decomposition nodes increases, and the amount of calculation increases exponentially.
- a virtual node is provided and a structure is created in which multiple decomposition nodes are connected via the virtual node, so that the edges between decomposition nodes can be expressed with 1,000 edges, the same as the number of decomposition nodes.
- This allows for a significant reduction in calculation cost, calculation time, and memory, making it possible to process a large-scale graph network having multiple nodes that was previously difficult to calculate.
- a self-loop at a single node is equivalent to connecting the decomposition nodes with an edge, so there are no multiple edges as in a complete graph, and no information degradation occurs.
- the graph generation unit 30 is not limited to generating the above-mentioned second graph based on the first graph data acquired by the graph data acquisition unit 10.
- the graph generation unit 30 may generate second graph data indicating a second graph in which a specific node as an original node is replaced with a subgraph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information based on the first graph acquired by the graph data acquisition unit 10, and may generate the second graph data so that the first edge is connected to the first node and the second edge is connected to the second node in the second graph.
- Other examples of second graphs generated by the graph generation unit 30 based on the first graph data acquired by the graph data acquisition unit 10 are shown below.
- FIG. 9A shows a first graph G0 as an example of a graph network represented by the first graph data acquired by the information processing device 100 according to embodiment 1.
- the first graph G0 shown in FIG. 9A may be the entire graph network represented by the graph data acquired by the graph data acquisition unit 10, or may be a part of the graph network represented by the graph data acquired by the graph data acquisition unit 10.
- the graph generation unit 30 when the graph data acquisition unit 10 acquires first graph data indicating a first graph G0 having a node n10 as a specific node having the first information and the second information, an edge e11 as a first edge associated with the first information and connected to the node n10, and an edge e12 as a second edge associated with the second information and connected to the node n10, the graph generation unit 30 generates second graph data indicating a second graph G0' in which the node n10 has been replaced with a subgraph g0' including a node n15 as a first node corresponding to the first information and a node n16 as a second node corresponding to the second information. At this time, the graph generation unit 30 generates the second graph data so that the edge e11 is connected to the node n15 and the edge e12 is connected to the node n16 in the second graph G0'.
- the graph generating unit 30 may generate the second graph data such that in the second graph, the first edge is divided into a first-1 edge and a first-2 edge, one end of the first-1 edge is connected to the first node, and one end of the first-2 edge is connected to the second node.
- the graph generation unit 30 may generate second graph data showing the second graph G0' shown in FIG. 10A, or may generate second graph data showing the second graph G0'' shown in FIG. 10B.
- the second graph G0'' is a graph in which the edge e11 in the first graph G0 is divided into edge e11-1 as the 1-1 edge and edge e11-2 as the 1-2 edge, one end of edge e11-1 is connected to node n15 as the first node, and one end of edge e11-2 is connected to node n16 as the second node.
- FIG. 11 shows a second graph as a modified example of the graph network of FIG. 10B, which is shown by the second graph data generated by the information processing device 100 according to the first embodiment.
- the edges e11-1 and e11-2 in the second graph G0'' may be edges having directionality.
- the graph generation unit 30 may generate second graph data showing the second graph G0'' in which the edge e11-2 is an edge having directionality, as shown in FIG. 11.
- FIG. 12 is a diagram showing another example in which the first node and the second node are connected by a new edge in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the information processing device 100 according to the first embodiment.
- the graph generation unit 30 when the graph data acquisition unit 10 acquires the first graph data showing the first graph G0 in FIG. 9A, the graph generation unit 30 generates the second graph data so that the second graph G0''' is a graph having a new edge e10 with one end connected to node n15 as the first node and the other end connected to n16 as the second node, as shown in FIG. 12.
- FIG. 13 is a diagram showing another example in which the first node and the second node are connected by a new edge and a new node in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the information processing device 100 according to the first embodiment.
- the graph generation unit 30 when the first graph data showing the first graph G0 in FIG. 9A is acquired by the graph data acquisition unit 10, the graph generation unit 30 generates the second graph data so that the second graph G0'''' has node n18 as a connecting node for connecting node n15 and node n16, as shown in FIG. 13.
- FIG. 14A and 14B are diagrams showing another example in which a specific node as an original node has first information, second information, and third information, in which FIG. 14A is a first graph as an example of a graph network shown by first graph data acquired by information processing device 100 according to embodiment 1, and FIG. 14B is a second graph as an example of a graph network shown by second graph data generated by information processing device 100 according to embodiment 1.
- first graph data showing a first graph having an original node having N pieces of information, where N is a natural number equal to or greater than 2 is acquired by graph data acquisition unit 10
- graph generation unit 30 generates second graph data showing a second graph in which the original node in the first graph is replaced with a subgraph having N nodes different from each other and associated with each of the N pieces of information.
- the graph generation unit 30 when the graph data acquisition unit 10 acquires first graph data indicating a first graph G9 having a node n13 as a specific node having the first information, the second information, and the third information, an edge e11 as a first edge associated with the first information and connected to the node n13, and an edge e12 as a second edge associated with the second information and connected to the node n13, the graph generation unit 30 generates second graph data indicating a second graph G9' in which the node n13 has been replaced with a subgraph g9' including a node n15 as a first node corresponding to the first information, a node n16 as a second node corresponding to the second information, and a node n17 as a third node corresponding to the third information.
- the graph generation unit 30 generates the second graph data so that the edge e11 is connected to the node n15 and the edge e12 is connected to the node
- FIGS. 15A and 15B are diagrams showing another example in which a specific node as an original node has first information, second information, and third information, in which Fig. 15A is a first graph as an example of a graph network shown by first graph data acquired by information processing device 100 according to embodiment 1, and Fig. 15B is a second graph as an example of a graph network shown by second graph data generated by information processing device 100 according to embodiment 1.
- graph generation unit 30 when first graph data showing a first graph having an original node connected to N edges, where N is a natural number equal to or greater than 2, is acquired by graph data acquisition unit 10, graph generation unit 30 generates second graph data showing a second graph in which the original node in the first graph has been replaced with a subgraph having N nodes different from each other corresponding to each of the N edges.
- the graph generation unit 30 may be configured to generate second graph data indicating a second graph in which the original node in the first graph has been replaced with a subgraph having N nodes that are different from each other and correspond to each of the N or fewer edges.
- the graph generation unit 30 when first graph data indicating a first graph G1 having node n13 as a specific node having first information, second information, and third information by the graph data acquisition unit 10, edge e11 as a first edge associated with the first information and connected to node n13, edge e12 as a second edge associated with the second information and connected to node n13, and edge e13 as a third edge associated with the third information and connected to node n13, the graph generation unit 30 generates second graph data indicating a second graph G1'''' in which node n13 has been replaced with a subgraph g1'''' including node n15 as a first node corresponding to the first information, node n16 as a second node corresponding to the second information, and node n17 as a third node corresponding to the third information.
- the graph generation unit 30 generates the second graph data so that in the second graph G9', edge e11 is connected to node n15, edge e12 is connected to node n16, and edge e13 is connected to node n17.
- the information constituting the graph network can be written as text data as follows. Node 1; Edge 1, Edge 2, Edge 3 Node 2; Edge 3, Edge 4 From this information, it is known that three edges are connected to node 1, and two edges are connected to node 2. It is also known that node 1 and node 2 are connected by edge 3.
- the information processing device 100 defines, for example, one or more new virtual nodes for node 1 to which three edges are connected, and defines new decomposition nodes in the same number as the number of edges connected to node 1. Therefore, the above text data becomes as follows. Node 1; Edge 1, Edge 2, Edge 3 Node 2; Edge 3, Edge 4 Virtual node 1-1; Decomposition node 1-1; Decomposition node 1-2; Decomposition nodes 1-3; In this case, the naming of the virtual nodes and decomposition nodes can be freely determined as long as they are different from the names of other nodes in the graph network. In the above, they are named virtual node 1-1, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3.
- the information processing device 100 connects the edges connected to the specific node to each of the decomposition nodes.
- the above text data becomes as follows. Node 1; Edge 1, Edge 2, Edge 3 Node 2; Edge 3, Edge 4 Virtual node 1-1; Decomposition node 1-1; edge 1 Decomposition node 1-2; edge 2 Decomposition node 1-3; edge 3
- the information processing apparatus 100 defines new edges (edge 1-1, edge 1-2, edge 1-3) that connect the decomposition nodes and the virtual nodes.
- edge 1 Edge 1, Edge 2, Edge 3 Node 2; Edge 3, Edge 4 Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1; edge 1, edge 1-1 Decomposition node 1-2; edge 2, edge 1-2 Decomposition node 1-3; edge 3, edge 1-3
- the information processing device 100 removes connections between edges and specific nodes to which three or more edges are connected.
- the above text data becomes as follows. Node 1; Node 2; Edge 3, Edge 4 Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1; edge 1, edge 1-1 Decomposition node 1-2; edge 2, edge 1-2 Decomposition node 1-3; edge 3, edge 1-3
- the information processing device 100 removes a specific node to which three or more unnecessary edges are connected.
- the above text data becomes as follows. Node 2; Edge 3, Edge 4 Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1; edge 1, edge 1-1 Decomposition node 1-2; edge 2, edge 1-2 Decomposition node 1-3; edge 3, edge 1-3
- the information of the specific node to which the three edges were connected is transferred to the virtual node, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3, and the processing related to the first embodiment is completed.
- This processing makes it possible to convert the specific node into a node that does not have multiple edges, which are the main cause of information degradation, between two nodes, and a self-loop that starts at one node and ends at the same node without passing through other nodes.
- multiple edges and self-loops cause information degradation when learning and inferring with a graph neural network, which is a method of deep learning.
- each node forms a self-loop even for nodes that do not have a self-loop in order to propagate the node attributes that indicate the characteristics of its own node to the next hidden layer.
- the information of the self-loop that existed in the graph network does not remain, or the amount of information contained in the self-loop in the graph network decreases (the amount of information decreases relatively because the presence or absence of a self-loop is greater than the difference between one or two self-loops).
- the graph neural network sets up an activation function that is sensitive to real numbers between 0 and 1 or -1 and 1 after setting up a weight matrix, so while the difference between 0 with no edge and 1 with an edge is 1, the difference in the output of the activation function for one edge and two edges that are multiple edges will be small, for example, 0 and 0.1.
- an adjacency matrix is used for the input as a method of representing a graph network.
- An adjacency matrix is expressed as a square matrix with the same number of rows and columns as the number of nodes, and a node ID is assigned to each column and row.
- elements where connected nodes and node IDs intersect are expressed as 1, and elements between nodes with no connection are expressed as 0.
- an adjacency matrix with no self-loops has diagonal elements of 0.
- the elements between nodes can be 2 or 3 depending on the number of multiple edges.
- the attribute information between adjacent nodes is combined (embedding or contraction) based only on the presence or absence of connections, making it difficult to take the number of connections into account. For this reason, for example, when the number of connections is 2, the node attribute information of the multiple edges is not weighted twice and embedded in the adjacent node, but the weighting of the node attribute information between adjacent nodes is determined by the weight matrix obtained by learning.
- the weight matrix obtained by learning.
- molecules with double and triple bonds can be considered as molecules with multiple edges.
- the bond energies of ethane, ethylene, and acetylene are 331 kJ/mol, 591 kJ/mol, and 827 kJ/mol, respectively, and do not double or triple depending on the number of bonds. For this reason, even in the case of multiple edges, the bond strength must be acquired by learning using a data set. With conventional methods, it was difficult to have multiple edges, but with the first embodiment, multiple edges can be expressed as a simple graph without using multiple edges.
- the graph network in the first embodiment is assumed to be an adjacency matrix or text information, specifically, a relational database or JSON (JavaScript Object Notation), XML, a table format, etc., but any format may be used as long as it can be expressed as a graph network regardless of human readability, such as a unique storage format (binary data) specific to a language such as Matlab or Python.
- JSON JavaScript Object Notation
- XML Object Notation
- table format etc.
- any format may be used as long as it can be expressed as a graph network regardless of human readability, such as a unique storage format (binary data) specific to a language such as Matlab or Python.
- a graph network can be expressed as follows using text data with nodes as the basis: Node 1; Edge 1, Edge 2 Node 2; Edge 1, Edge 3
- Graph networks can also be written in terms of edges as follows: Edge 1; Node 1, Node 2 Edge 2; Node 1 Edge 3; Node 2
- nodes Since these are mutually reversible, in the first embodiment, they are represented based on nodes, which are easy to understand. Note that nodes and edges are represented by separating them with a ";”, but any other specified notation method, such as spaces or other characters, can be used.
- the information processing device 100 extracts nodes to which three or more edges are connected and performs processing to decompose the nodes, but may be configured not to perform processing to decompose nodes to which two or fewer edges are connected, or may be configured to perform processing to decompose nodes in the same way as nodes to which three or more edges are connected.
- the information processing device 100 is configured to generate three or less virtual nodes.
- edges are connected to one specific node and the specific node is decomposed into 10 decomposition nodes, 10 edges are required when there is one virtual node, 20 edges are required when there are two virtual nodes, and 30 edges are required when there are three virtual nodes. Furthermore, when there are four virtual nodes, 40 edges are required, which is about the same as 45 edges (the number of combinations in which 2 are selected from 10) when no virtual nodes are used. Furthermore, considering the amount of calculation due to an increase in four virtual nodes, in the above example, the amount of calculation is about the same when four virtual nodes are used and when no virtual nodes are used, and the effect of using virtual nodes is reduced. Therefore, to take advantage of the feature that virtual nodes can achieve by reducing the amount of calculations and memory usage, there is an upper limit to the number of virtual nodes that can be used for one node.
- the feature refers to a set of values that serve as a clue for predicting the correct label of the learning data or test data among the input learning data or test data.
- This feature can be acquired within the framework of a graph neural network, and a classification problem can be realized by inputting these feature values to a fully connected layer, outputting the same number of values as the number of classes, and applying an activation function used in classification, such as a log softmax function or a softmax function, immediately before the output layer.
- a regression problem can be realized by inputting these feature values to a fully connected layer and outputting them as a single numerical value.
- a graph neural network that extracts features can be combined with deep learning that restores input data from features, or self-supervised learning, which is unsupervised learning that hides (masks) node attributes or edge attributes and predicts the hidden value, can also be performed.
- features are a group of numbers that abstractly represent the characteristics of the input data obtained by applying a nonlinear function to the input data within the framework of deep learning.
- the number of decomposition nodes is the same as the number of edges connected to a specific node.
- decomposition nodes that can be considered as a common domain to the domains of specific nodes may be aggregated into one decomposition node if self-loops and multiple edges do not occur.
- chapters 2 and 3 of a book may be expressed as one decomposition node.
- decomposition nodes that are not connected to nodes other than virtual nodes via edges may be defined, for example, corresponding to chapters with no citations.
- the names of the decomposition nodes are Product 1, Product 2, Product 3, and in the case of citing a paper, Chapters 3 and 4.
- names correspond to real numbers or integers and assigning them to part of the elements of the node attribute information of the decomposition nodes, and replacing them with real numbers or integers, and by assigning information that can determine the domain information, such as Product 1, to part of the name of the decomposition node, the information degradation when converting to a graph network can be further reduced.
- the virtual nodes and decomposition nodes are connected, for example, by newly defined edges.
- the decomposition nodes are connected to each other by edges.
- a graph network is represented as an adjacency matrix or connectivity matrix, it can be represented by real numbers or integers other than 0, so it does not necessarily have to be data that can be illustrated.
- two or more virtual nodes do not have to be connected by edges, but if they are connected by edges, the number of edges between virtual nodes increases exponentially, so the number of virtual nodes should be four or less, preferably three or less.
- connection between a specific node and an edge is removed after the edge connected to the specific node is connected to the decomposition node, or at the same time as the connection.
- all edges connected to the specific node are connected to the decomposition node, so the information between the specific node and the edge is transferred to the information between the decomposition node and the edge without any information degradation. Therefore, the information between the specific node and the edge is no longer necessary, and even if that information is deleted, no information degradation occurs.
- a specific node is deleted after the connection between the specific node and an edge has been removed. Once the connection between the specific node and an edge has been removed, the specific node will no longer have any edges connected to it, so no information degradation will occur even if a specific node that has no connections to edges is removed.
- a domain refers to each class in data that can be classified into classes.
- each product can be classified into a class, i.e., product 1, product 2, and product 3, so it becomes a domain.
- product 1, product 2, and product 3 so it becomes a domain.
- an orthogonal coordinate system for indicating data that belongs to a different type or dimension from the systems in the first embodiment it is not possible to mix the magnitudes of the x-axis, y-axis, and z-axis into one system, so it is possible to have three domains, with one system for the x-axis, one system for the y-axis, and one system for the z-axis. Also, with regard to products, it is not possible to mix the domain related to price and the domain related to inventory into one system, so it is possible to have one domain for price and one system for inventory.
- the virtual node and the decomposition node are in a star graph relationship
- the information processing device 100 is configured to convert a specific node to which multiple edges are connected into a star graph representation.
- a star graph is composed of multiple virtual nodes corresponding to information for identifying each terminal of a multi-terminal component having N (e.g., a natural number equal to or greater than 3) terminals, a decomposition node as a connection node, and multiple edges connecting them.
- N e.g., a natural number equal to or greater than 3
- the graph structure of the star graph generated based on the specific node is a structure in which the virtual node and the decomposition node are connected by one edge, and multiple decomposition nodes are not connected to each other.
- the information processing device 100 includes a graph data acquisition unit 10 that acquires first graph data representing a first graph having a specific node having first information and second information, a first edge associated with the first information and connected to the first node, and a second edge associated with the second information and connected to the first node, and a graph generation unit 30 that generates second graph data representing a second graph in which the specific node has been replaced with a subgraph having a plurality of nodes in the first graph, including a first node that is a decomposition node corresponding to the first information and a second node that is a decomposition node corresponding to the second information, and edges that connect the plurality of nodes to each other.
- the graph generation unit 30 generates the second graph data such that in the second graph, the first edge is connected to the first node and the second edge is connected to the second node, resulting in a graph network.
- the information processing device 100 When configured in this manner, the information processing device 100 generates data indicating a graph network in which, when a node of a graph network has multiple pieces of information, the node is replaced with a subgraph having multiple nodes including a decomposition node corresponding to the multiple pieces of information, thereby making it possible to suppress degradation of information when processing the graph network.
- the subgraph is not limited to one formed of a single graph in which all nodes are connected to each other, but may be formed of multiple graphs that are independent of each other.
- Embodiment 2 Next, an information processing device 100 according to embodiment 2 will be described with reference to Fig. 16 to Fig. 22.
- the information processing device 100 according to embodiment 2 differs from the information processing device 100 according to embodiment 1 in some of the processes performed on graph data, but the configuration is the same, and the same reference numerals and names are used for the same configuration as in embodiment 1, and description thereof will be omitted.
- FIG. 16 is a flowchart showing an example of processing performed by the information processing device 100 according to embodiment 2.
- the information processing device 100 according to embodiment 1 After acquiring the first graph data in the processing of step ST11, the information processing device 100 according to embodiment 1 extracts a node to which three or more edges are connected from the first graph as a specific node, whereas after acquiring the first graph data in the processing of step ST11, the information processing device 100 according to embodiment 2 extracts a node to which two edges are connected (two-terminal connection point) from the first graph as a specific node (step ST32).
- FIG. 17A shows a first graph G2 as an example shown by the first graph data acquired by the information processing device 100 according to embodiment 2.
- the information processing device 100 determines whether or not a specific node has been extracted from the first graph in the processing of step ST32 (step ST33). If the first graph has a specific node (YES in step ST33), the information processing device 100 generates multiple new nodes based on information held by any of the extracted specific nodes (step ST34).
- 17B is a second graph as an example of a graph network represented by the second graph data generated by the information processing device 100 according to the second embodiment.
- the information processing device 100 generates nodes n22 and n23, which are decomposition nodes, based on information corresponding to edges e21 and e22 connected to the node n21, which the node n21 has, as shown in FIG. 17B.
- the information processing device 100 connects edges to the nodes n22 and n23, which are decomposition nodes (step ST35).
- the information processing device 100 connects nodes n22 and n23 with a new edge e23, connects edge e21 to node n22, and connects edge e22 to node n23.
- steps ST36 and ST17 below are the same as those of the first embodiment, and therefore will not be described.
- connection information when a graph network is obtained as connection information by a text or an adjacency matrix, two-terminal connection points to which two or more edges are connected can be extracted from the connection information.
- node 1 and node 2 each become two-terminal connection points to which two or more edges are connected, so that, for example, node 1 can be two-terminal connection point 1 and node 2 can be two-terminal connection point 2.
- edge 4 2-terminal decomposition point 1-1; Edge 1, Edge 2 2-terminal decomposition point 1-2; edge 3 2-terminal decomposition point 2-1; edge 3 2-terminal decomposition point 2-2; edge 4
- edges 1 and 2 are assumed to connect to the domain of two-terminal decomposition point 1-1. This is true when two-terminal connection point 1 has two inputs and one output, or two outputs and one input, and the input and output can be read from the text data.
- edge 1-1, edge 2-1 new edges are defined between the two divided two-terminal decomposition points, and the nodes are connected as follows.
- the third edge e213 may have a directionality input to the second node, and the fourth edge e212 may have a directionality input to the first node.
- the first graph may be a graph showing an electric circuit
- the node n211 as the original node may be a diode or a battery (DC power source) included in the electric circuit, or a directional coupler, or a transmitting/receiving antenna
- the third edge e213 may have a direction of input to the first node
- the fourth edge e212 may have a direction of input to the second node.
- the third edge e213 may have a direction from the node n212 to the first node n213, and the fourth edge e212 may have a direction from the node n210 to the second node n214.
- citation information propagates via the first edge e210, the first node n213, and the third edge e213, and cited information propagates via the second edge e211, the second node n214, and the fourth edge e212, so by assigning different attribute information to the first node n213 and the second node n214, an asymmetric relationship can be represented in the graph network.
- FIG. 19A shows a first graph G22 as an example different from FIGS. 17A and 18A of a graph network shown by first graph data acquired by information processing device 100 according to embodiment 2
- FIG. 19B shows a second graph G22' as an example different from FIGS. 17B and 18B of a graph network shown by second graph data generated by information processing device 100 according to embodiment 2.
- a first graph G22 is acquired that has node n210, a specific node n220 as an original node, a specific node n230 as an original node, node n212, an edge e220 connecting node n210 and specific node n220, an edge e221 connecting specific node n220 and specific node n230, and an edge e222 connecting specific node n230 and node n212.
- FIG. 19A in the processing of step ST11, a first graph G22 is acquired that has node n210, a specific node n220 as an original node, a specific node n230 as an original node, node n212, an edge e220 connecting node n210 and specific node n220, an edge e221 connecting specific node n220 and specific node n230, and an edge e222 connecting specific node n230 and node n212.
- FIG. 19A in the processing of step ST
- the information processing device 100 divides two decomposition nodes, a first node n221 and a second node n222, into two decomposition nodes, based on the information held by the specific node n220. n222, and generates two decomposition nodes, a first node n231 and a second node n232, based on information held by the specific node n230.
- an edge e224 connecting the node n212 and the first node n231, an edge e223 connecting the node n210 and the second node n222, an edge e225 connecting the first node n221 and the first node n231, and an edge e226 connecting the second node n222 and the second node n232 are generated, and the edge e220 connects the node n210 and the first node n221, and the edge e222 connects the node n212 and the second node n232.
- first node n221 and the second node n222, and the first node n231 and the second node n232 may be configured to be connected in parallel, respectively.
- the new edges e225 and e226 are generated as directional edges.
- edge e211 has a bidirectional relationship of citing and being cited. Node n220; edge e211, edge e220 Node n230; edge e211, edge e222
- a decomposition node is defined for each node, and the directionality of the edge e211 is also defined.
- a signal entering a node is represented by (IN)
- a signal leaving the node is represented by (OUT).
- IN and OUT can be represented as directed graphs, and edges without direction can be considered as bidirectional directed graphs, so that an adjacency matrix that mathematically describes a graph network can be considered to be the same as an undirected graph.
- edges e220 and e222 connected to the nodes n220 and n230 are respectively defined as edges e220 and e223, and edges e224 and e222, then the following is obtained.
- the nodes n220 and n230, and the edges e211, e220, and e222 are unnecessary because they have been replaced by the decomposition nodes and the edges e225, e226, e220, e223, e224, and e222 without information degradation. Therefore, the final result is as follows.
- nodes may be connected by edges.
- FIG. 20 is a flowchart showing an example of processing performed by the information processing device 100 according to a modified example of the first embodiment. Specifically, FIG. 20 shows processing performed by the information processing device 100 when extracting node n31 to which four edges are connected from the first graph.
- the graph network shown in FIG. 21A can be converted into the graph network shown in FIG. 21B.
- FIG. 21A is a first graph as an example of a graph network shown by the first graph data acquired by the information processing device 100. Specifically, FIG.
- FIG. 21A is a graph network in which a specific node to which three or more edges are connected and a two-terminal connection point are connected by two edges, i.e., multiple edges.
- FIG. 21B is a second graph as an example of a graph network shown by the second graph data generated by the information processing device 100.
- the information processing device 100 generates four decomposition nodes, node n33, node n33, node n33, and node n33, based on node n31 to which four edges are connected, and node n37, which is a virtual node, and generates two decomposition nodes, node n38 and node n39, based on node n32 to which two edges are connected.
- Node 1 is a specific node to which four edges are connected, and node 2 is a two-terminal connection point connected to the specific node by two edges.
- node 1 a specific node and node 2 a two-terminal connection point. Note that changing the definition of the names does not change the information in the graph network, so there is no degradation of information.
- Specific node Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal connection point: edge 3, edge 4
- edge 1-1 If the two-terminal decomposition points are connected with a new edge (edge 1-1), the result is as follows. Specific node: Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal connection point: edge 3, edge 4 2-terminal decomposition point 1; edge 3, edge 1-1 2-terminal decomposition point 2; edge 4, edge 1-1
- the two-terminal connection point is a specific node connected by two edges.
- the two-terminal connection point may have an input or an output, or both an input and an output.
- the two-terminal connection point can be considered as a node with an input and an output.
- the time when one user cites another user can be considered as an input, and the time when the paper is cited by another user can be considered as an output.
- a specific node connected by three or more edges and a two-terminal connection point connected by two or more edges may occur due to the time difference between when a paper is published on the web and when it becomes a journal, the time difference due to the difference in the edition of the book, etc., and the paper may be cited and cited by each other.
- a two-terminal connection point also occurs when a citation and a citation occur between a company and a user.
- a two-terminal decomposition point is generated by defining two two-terminal decomposition points for one two-terminal connection point. If one of the two-terminal decomposition points is considered as an input and the other as an output, the two-terminal connection point could not distinguish the input/output relationship, whereas the two-terminal decomposition point can clarify the input/output relationship with an undirected graph without using a directed graph. In particular, it has a special effect when there is a difference between the forward and reverse directions, that is, the signal propagating from the input to the output and the signal propagating from the output to the input.
- the relationship between the input and output of the two-terminal decomposition point it is also desirable to hold the relationship between the input and output as data in the name of the two-terminal decomposition point or in at least one element of the matrix that is the node attribute information of the two-terminal decomposition point.
- xx the edge number
- this can be realized by setting the input to xx-0 and the output to xx-1.
- the information can be held by setting the node attribute information in the first column of the input side of the two-terminal decomposition point in an N-column matrix to 0 and the first column on the output side to 1.
- the input and output can be defined by giving attribute information to the attribute information of the two-terminal decomposition point with a one-hot vector.
- attribute information of the node is represented by a three-column matrix
- this can be realized by defining the input attribute information as 0, 0, 1 and the output attribute information as 0, 1, 0 as follows.
- a two-terminal decomposition point with input and output when included in the target data set, it can be divided into input and output by defining it as 1, 0, 0, for example.
- 0, 1, 1, which is the sum of each element of input 0, 0, 1 and output 0, 1, 0, can be assigned as node attribute information. This reduces the number of columns, thereby reducing the amount of calculation, calculation time, and memory required for graph processing.
- it is expressed as 0 or 1, it can be defined in any way, such as real numbers, integers, strings, and complex numbers, as long as the two can be distinguished by information processing.
- a value representing each characteristic can be assigned to the element.
- an edge connects the two two-terminal decomposition points. It does not have to be a specific edge, but in a graph network, any representation that can be converted reversibly can be used, such as an adjacency matrix, a connection matrix, a Laplacian matrix, or describing the two connections as text data.
- edge 3 is connected as an input to two-terminal decomposition point 1
- edge 4 is connected as an output to two-terminal decomposition point 2
- information that would be discarded during processing in conventional methods can be retained in the second embodiment, thereby suppressing information degradation.
- conventional two-terminal connection points cannot retain the input/output relationship in processing such as graph neural networks
- such information can be retained as two-terminal decomposition points, such as matrix elements that become node attribute information and names of two-terminal decomposition points, thereby preventing information degradation.
- FIG. 22A shows a first graph G4 as an example of a graph network shown by the first graph data acquired by the information processing device 100
- FIG. 22B shows a second graph G4' as an example of a graph network shown by the second graph data generated by the information processing device 100.
- the information processing device 100 extracts node n41, which is a multi-element component connected to six edges, as a specific node to which three or more edges are connected, from among the nodes showing the components of the electric circuit.
- the information processing device 100 generates nodes n42, n43, n44, n45, n46, and n47, which are terminal components serving as decomposition nodes corresponding to each of the six edges, and generates node n48, which is a virtual component serving as a virtual node for connecting these nodes n42 to n47 to each other.
- Embodiment 3 Next, an information processing device 100 according to embodiment 3 will be described with reference to Fig. 23 to Fig. 31.
- the information processing device 100 according to embodiment 3 differs from the information processing device 100 according to embodiment 1 in some of the processes performed on graph data, but has the same configuration, and the same reference numerals and names are used for the same configuration as in embodiment 1, and description thereof will be omitted.
- FIG. 23 is a flowchart showing an example of processing performed by the information processing device 100 according to embodiment 3.
- the processing performed by the information processing device 100 according to embodiment 3 will be described below, taking as an example a case where the information processing device 100 acquires a parts list and inter-parts connection list of an electric circuit as the first graph data.
- the information processing device 100 acquires a parts list and inter-parts connection list of an electric circuit as the first graph data in the processing of step ST11 (step ST51).
- the information processing device 100 acquires the parts list and inter-parts connection list of the electric circuit as a netlist, which is text information.
- FIG. 24A is a circuit diagram shown by a netlist acquired by the information processing device 100 according to the third embodiment
- FIG. 24B is a netlist acquired by the information processing device 100 according to the third embodiment.
- the circuit components the auxiliary information (node attribute information) such as the model numbers and circuit constants of the circuit components, and the connection information between the circuit components, which are essential for forming a circuit, are included, and are in a reversible conversion relationship. Therefore, it is possible to extract from the netlist a component list describing the component names and an inter-component connection list describing the connection information between the components.
- the circuit and netlist for embedding in a printed circuit board are described, but the same applies to the circuit design between the logic design and layout design for designing a semiconductor.
- the netlist instead of the model numbers and circuit constants of the circuit components, the netlist includes auxiliary information such as physical dimensions at the time of layout, physical properties of materials, parasitic capacitance, residual inductance, residual resistance, and leakage current, and connection information between the components having the auxiliary information.
- active elements are multi-element components because they have three or more terminals.
- the simplest active element such as the simplest power supply IC
- the simplest power supply IC has three terminals: an input terminal, an output terminal, and a GND terminal that serves as the reference potential.
- all active elements such as ASICs, CPUs, FPGAs, memories, switching power supply elements, and communication elements, have three or more terminals, and some active elements have more than 2,000 terminals.
- Passive circuit components such as common mode choke coils have four terminals, two input terminals and two output terminals, so they can be treated the same as the active elements listed above.
- single-phase transformers, three-phase transformers, motors (electric motors), and compressors, diode arrays, and resistor arrays can also be considered as multi-element components with three or more terminals.
- transformers, diode arrays, resistor arrays, etc. if the wiring connection information is clear and the parasitic components between adjacent components are clear, they may be broken down into multiple two-terminal components.
- passive elements such as normal mode choke coils, capacitors, resistors, and diodes are two-terminal components and are therefore not subject to processing in embodiment 3.
- one or more virtual nodes are newly defined for each multi-element component as virtual components and added to the components list.
- the terminals of the multi-element component are extracted from the netlist, and the same number of terminal components as the number of terminals are added to the components list as decomposition nodes (step ST54).
- non-connected (NC) terminals may or may not be added as terminal components.
- wiring is not connected to the NC terminals, so only virtual components are connected to the terminal components representing the NC terminals.
- step ST56 connections are made between the defined virtual components and terminal components (step ST56), and the connection information is added to the inter-component connection list.
- the wiring connected to each terminal of the multi-element component the wiring is connected to each terminal component, and the connection information is added to the inter-component connection list (step ST55).
- a terminal through which a large current flows has a mechanism for inputting or outputting the same signal to multiple terminals to ensure the rated current value, but these terminals may be combined into one.
- the above process replaces the multi-element components with virtual components and terminal components, and all the wires connected to the multi-element components are connected to the terminal components.
- the information of the multi-element components is transferred to the virtual components, terminal components, and wires connected to the terminal components without information degradation. Therefore, the wires connected to the multi-element components are removed from the inter-component connection list (step ST57), and the multi-element components are removed from the component list (step ST58), and information on the virtual components, terminal components, wires connected to the terminal components, and components other than the multi-element components that are not the processing targets is output (step ST59).
- the third embodiment provides two unprecedented advantages.
- the first is that the multiple edges and self-loops described in the first embodiment can be eliminated, preventing information degradation.
- the second is that the terminal numbers can be held as a graph network.
- the multi-element components will be written as follows, for example. XU1; N002 N003 IN 0 N001 IN N002 N004
- the wiring names from N002 to N004 mean the terminal numbers of the semiconductor in order. Even if the definition and the expression method change, all netlists have the above information because it is information for connecting terminals and wiring and is essential information for the circuit. In the above example, it means that N002 is connected to terminal number 1 of semiconductor XU1, N003 is connected to terminal number 2, IN is terminal number 3, GND at 0 is terminal number 4, N001 is terminal number 5, IN is terminal number 6, N002 is terminal number 7, and N004 is terminal number 8. Conventionally, since it is not possible to hold information about terminal numbers because it is not broken down into terminal parts, it is information that is lost by processing such as graph neural networks, which causes information degradation.
- the third embodiment it is broken down into terminal parts, and the terminal number can be held as part of the name of the terminal parts or as one element in the matrix of the node attribute information representing the terminal parts, so the above information degradation does not occur. For this reason, the above special effect can be obtained in the third embodiment.
- a netlist is created by directly writing circuit information into a circuit CAD or text data.
- netlists There are more than 10 known formats for netlists, such as the Allegro format and the ExpressPCB format, and all formats include wiring between circuit components, model numbers of circuit components, and circuit constants.
- An example of the notation of the netlist in Fig. 24B is shown below.
- D1 indicates the name of the component
- D2 indicates the wiring to be connected
- D3 indicates the model number of the component
- D4 indicates the circuit constants.
- V1 is the power supply
- XU1 is the semiconductor
- L1 is the coil
- D1 is the diode
- C1 and C2 are capacitors
- R1, R2 and Rload are resistors
- Rload represents the load resistor which is the output.
- the parts list is the circuit parts before the ";"
- the inter-parts connection list can be created by focusing on the wiring name after the ";”. For example, if you select N001 as the wiring name for the inter-parts connection list, the circuit parts that use N001 are XU1, L1, and D1, so it can be written as N001; XU1, L1, D1. If you write down the other wiring in the same way, you get the following.
- (XU1, L1), (XU1, D1), and (L1, D1) which correspond to the wiring between the components.
- the inter-component connection list only indicates the presence or absence of a connection, so the order does not matter in the undirected graph shown in the third embodiment.
- (XU1, L1) and (L1, XU1) mean the same information, so either can be used.
- XU1 is defined as OUT and L1 as IN
- XU1, L1) is defined as an edge from XU1 to L1.
- an edge without direction information can be represented as a bidirectional edge by two, (XU1, L1) and (L1, XU1), to have the same effect as an edge in an undirected graph.
- an inter-component connection list can be created. As described above, if there is a netlist, an inter-component connection list can be created uniquely.
- the inter-component connection list is as shown below, but since it has a large number of elements and is easy for an information processing device to process, it is difficult for a human to understand. Therefore, the third embodiment will be described using a method for updating a netlist written as text data.
- semiconductor XU1 which is represented as follows: XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
- N002 to N004 represent wiring
- LT3489 is the model number of a switching semiconductor from Analog Devices (registered trademark).
- the model number of the semiconductor and the circuit constants of the passive components may not be included in the netlist and may be written on a different line, but because of the reversible conversion relationship, the third embodiment will explain the method of writing them all together on one line.
- the number of virtual components is described as one, but two or more virtual components may be used, as in the first embodiment. However, since the number of terminals in a semiconductor is limited and this would lead to an increase in the amount of calculations, it is desirable to limit the number of virtual components to three, as in the first embodiment.
- the name of the virtual component can be freely determined, but in the third embodiment, the name is set to XU1_virtual, and the netlist is updated as follows: XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual;
- the terminal parts are the wiring "N002 N003 IN 0 N001 IN N002 N004 LT3489" of XU1 in the above semiconductor netlist, since LT3489 is the part model number, N002 N003 IN 0 N001 IN N002 N004 are the wirings.
- This method of defining the netlist indicates that wirings with wiring names N002 are connected to terminal 1 of the semiconductor, N003 to terminal 2, IN to terminal 3, 0 to terminal 4, N001 to terminal 5, IN to terminal 6, N002 to terminal 7, and N004 to terminal 8. Therefore, eight terminal parts are defined for eight wirings.
- terminal 3 and terminal 6 to which IN is connected may be treated as one terminal part, as shown in embodiment 1.
- N002s there are also two N002s, but since this is a wiring that forms a closed self-loop connecting the terminals of a multi-element component, it cannot be combined into one terminal.
- the fact that it is a self-loop can be determined from the fact that N002 is not used in connections to other components in the netlist of the entire circuit.
- NC terminal it is preferable to define the NC terminal as a terminal component.
- the NC terminal in cases where the same semiconductor is used in different electric circuits and the NC terminal is also connected to wiring and used in the other electric circuits, by defining the NC terminal as a terminal component, the number of terminal components for one semiconductor can be constant regardless of the circuit configuration around the semiconductor. As a result, it is possible to fix the virtual components and terminal components for each model number of the component, and the effect is obtained that it is possible to uniformly handle electric circuits with different circuit topologies for one model number. However, it is preferable not to define NC terminals that are not used regardless of how the semiconductor is used, such as when there is no wiring inside the semiconductor, as terminal components in order to reduce the amount of calculations in the graph network processing.
- the netlist based on the above method is as follows, but the names of the terminal components in the netlist may be any names as long as they are different from the names of the other terminal components and circuit components.
- each wiring of the multi-element parts is assigned to the terminal parts.
- the netlist is updated as follows: XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual; XU1-1;N002 XU1-2;N003 XU1-3;IN XU1-4;0 XU1-5;N001 XU1-6;IN XU1-7;N002 XU1-8;N004
- the connection between the virtual component and the terminal component defines the wiring between the virtual component and the terminal component.
- the name of the wiring can be any name as long as it is not the same as the name of other wiring used in the circuit. For example, in the third embodiment, if the names of the wiring are Line1 to Line8, the netlist will be as follows.
- the netlist is updated, but it is preferable to perform the processing using the parts list and inter-parts connection list. Updating the netlist is easy for people to understand, but for information processing devices, it involves rewriting text data, which makes it more likely for human or mechanical errors to occur, such as encoding errors or errors due to escape sequences. On the other hand, replacing characters with numbers, IDs, etc. and processing as matrix or list data makes it harder for people to understand, but makes it less likely for exceptions to occur and processing errors to occur for information processing devices.
- the information processing device 100 first extracts a parts list and an inter-parts connection list from the netlist in the process shown in FIG. 23. Then, one virtual part is added to the parts list, and the same number of terminal parts as the number of wires connected to the multi-element part or the same number as the number of terminals of the multi-element part are added to the parts list. At this time, since the number of wires will not be more than the number of terminals of the multi-element part, the number of wires will be less, and terminals to which no wires are connected will be NC terminals.
- FIG. 23 shows the case where the number of wires is the same as the number of wires connected to the multi-element part.
- the number of terminal parts is equal to the number of wires, one wire can be connected to one terminal part.
- new wires are defined between the terminal parts and the virtual parts and added to the inter-parts connection list, the connections between the multi-element part and the wires are removed from the inter-parts connection list, and the multi-element part after the information transfer is completed is removed from the parts list, and the parts list and the inter-parts connection list are output.
- a method for converting text data including a netlist into a graph network with reversibility is shown.
- a netlist of an electric circuit is converted into a graph network and then the converted graph network is converted back into a netlist, if the characteristics of the original electric circuit can be expressed using the inverse converted netlist, then it can be determined that there is no information degradation when converted into a graph network.
- conversion from a netlist to a graph network and conversion from a graph network to a netlist are not reversible processes, and therefore different algorithms must be constructed. For this reason, it is difficult to evaluate only the conversion or the inverse conversion. It is also possible to compare and evaluate the characteristics of the electric circuit before conversion and that generated by inverse conversion using the output results of a circuit simulation.
- a method in which a graph network is input into a graph neural network and the accuracy of the conversion is confirmed based on the inference accuracy of the graph neural network. This is because it is believed that if there is little information degradation when converting to a graph network, the inference accuracy of the graph neural network will be high, and conversely, if information degradation occurs during conversion, the inference accuracy of the graph neural network will be low.
- the structure of the graph neural network (the number of hidden layers and the number of channels in each hidden layer), the number of epochs which is the number of repetitions, the number of mini-batches which is the number of data divisions, the optimization algorithm, etc. are not changed, and the combination of training data and test data is fixed so as not to change for each calculation.
- the training data and test data were divided randomly to ensure equal numbers to avoid bias. Furthermore, because graph neural networks experience variability in learning due to the initial random number values, the initial values were changed 10 times to change the average of the inference values for testing, reducing the variability in learning.
- the data set consisted of 3,308 electric circuits included in the Analog Devices circuit simulator LTspice. Of the 3,308, 2,315 (70%) were used as training data, and the remaining 993 were used as test data. The training data and test data were fixed. As shown in Figure 25, seven types of circuit components were used in the data set, and a netlist was extracted from the electric circuit, creating a seven-class graph classification problem.
- Figure 25 is a table showing the number of electric circuits (Circuits), the average number of nodes (Nodes), the average number of edges (Edges), and the average number of node types (Node Features) included in the netlist used as the data set. The number of power circuits (Power Products) was the largest, accounting for 70% of the total.
- the type of node refers to semiconductors, resistors, capacitors, coils, etc., and even if multiple capacitors are used in one circuit, it is counted as one.
- a semiconductor is divided into terminal components, it is possible to assign the type of terminal component from the semiconductor's spec sheet.
- the semiconductor is treated as a complete black box, so no terminal information is given and all terminals are defined as the same type of node.
- the graph neural network was constructed with a network having three hidden layers. GraphSage was used as the reduction algorithm, as it provided the highest inference accuracy under all conditions. A three-layer network using GraphSage and the ReLU activation function was used, and a seven-value classification was performed using the Softmax activation function before the output layer. Note that a three-layer network was used for this dataset because it provided the highest inference accuracy compared to two-layer and four to six-layer networks under all conditions. However, it is acceptable to change the layer structure and neural network algorithm according to the dataset, as with general neural networks, by using a network with three or more layers when the scale of the electrical circuit is larger than that of the dataset in Figure 25, or a two-layer network when the scale of the electrical circuit is smaller.
- Fig. 26A is a circuit diagram showing an electric circuit including a multi-element component
- Fig. 26B is a graph network showing the electric circuit of Fig. 26A.
- a plurality of edges including edge e51 and edge e52 are connected to the multi-element component X
- edge e51 is a self-loop
- edge e52 is a multiple edge.
- Fig. 27 is a graph network showing the inference accuracy when learning is performed under the condition that the multi-element component is not decomposed into virtual components and terminal components, and inference is performed using test data.
- Fig. 28 is a graph network showing the inference accuracy when all terminal components are connected using only terminal components without using virtual components in the electric circuit of Fig. 26A, and a complete graph is formed.
- Fig. 29 is a graph network showing the inference accuracy when learning is performed using the graph network of Fig. 28 and inference is performed using test data.
- Fig. 30 shows a graph network in which terminal components are connected via virtual components in the electric circuit of Fig. 26A to form a star graph
- Fig. 31 shows a graph network showing the inference accuracy obtained by learning with the graph network of Fig. 30 and performing inference with test data.
- a specific node (original node) in the first graph may be a single node showing a component in the electric circuit and a wiring connected to the component.
- the learning was performed over 4,000 epochs, and the average of the maximum values of 10 trials was used as the inference accuracy.
- the maximum inference accuracy was 97.20%.
- the inference accuracy for the test data was calculated as 96.89% when the average of the maximum values of 10 trials was calculated, and the inference accuracy was lower than before the division into terminal components.
- the inference accuracy for the test data was calculated as 97.72% when the average of the maximum values of 10 trials was calculated. From this, it can be seen that the inference accuracy drops by 0.5% when learning and inferring using only terminal components without using virtual components, whereas the inference accuracy improves by using virtual components and terminal components, and it is considered that the improvement was achieved by reducing information degradation.
- the adjacency matrix generated based on the third embodiment can be used for graph classification (classifying the type of graph network), graph regression (predicting a real number sequence from a graph network), link prediction (predicting the presence or absence of an edge), node prediction (predicting the presence or absence of a node), and node characteristic prediction (predicting the type of node or the numerical value of a node) by a graph neural network.
- Graph features can be extracted using a graph VAE (Variational Autoencoder), and a graph network that satisfies desired conditions can be generated using a graph GAN (Generative Adversarial Network). These can be performed in the same way as general graph neural network processing, so details will not be explained.
- the input and output nodes can be multi-element components, which has the characteristic that calculations including input and output can be performed; however, since the direction of the input and output is clear, it is not necessarily necessary to divide these components into virtual components and terminal components. Also, depending on the purpose of use of the information processing device, such as when there is no need to reverse convert the results after graph processing as in the graph classification example above, it is not necessary to divide all of the multi-element components in the graph network. It is possible to divide only those that meet certain conditions, such as dividing only multi-element components with 10 or more terminals, or multi-element components that have self-loops or multiple edges.
- Embodiment 4 an information processing device 100 according to embodiment 4 will be described with reference to Fig. 32 and Fig. 33.
- the information processing device 100 according to embodiment 4 differs from the information processing device 100 according to embodiment 1 in some of the processes performed on graph data, but has the same configuration, and the same reference numerals and names are used for the same configuration as in embodiment 1, and description thereof will be omitted.
- circuit diagrams which are essential for creating electric circuits on a printed circuit board.
- this method can be applied not only to circuits for designing printed circuit boards, but also to circuits for designing the inside of semiconductors. This is because inside semiconductors, in addition to transistors, the same circuit components as on a printed circuit board, such as resistors, coils, capacitors, and diodes, can be created.
- circuit diagrams on a printed circuit board there are no model numbers, so by adding parameters such as component dimensions, coating thickness, and material constants as node attribute information, processing equivalent to that of the third embodiment can also be used for semiconductor design.
- processing similar to that of embodiment 3 can be used in semiconductor design.
- the block diagram may be converted into a graph network and incorporated into the circuit diagram of the printed circuit board as a circuit component. Note that for blocks in the block diagram with three or more wire connections, virtual components can be defined, and terminal components according to the number of wires can be defined to perform the same processing as for multi-terminal components.
- Figure 32 shows an example of a block diagram inside a semiconductor. In cases like this where some of the internal information of the semiconductor is known, it is acceptable to connect terminal components with strong relationships with new edges. This is also common to all multi-element components, not just semiconductors.
- Figure 33 shows a graph network of a multi-element component in which edges have been added between terminal components. It is also acceptable to define new virtual components between the terminal components and connect the above X:1 and X:4, X:2 and X:3, and X:5 and X:6 via each virtual component.
- virtual parts 1, 2, and 3 are defined, and connections are made as follows: X:1 -> virtual part 1 -> X:4, X:2 -> virtual part 2 -> X:3, and X:5 -> virtual part 3 -> X:6, and connections are made between virtual parts 1 and 2, between virtual parts 2 and 3, and between virtual parts 3 and 1.
- each terminal part the terminal information of the multi-element part as node attribute information
- Embodiment 5 Next, an information processing device 100 according to embodiment 5 will be described with reference to Fig. 34 to Fig. 37.
- the information processing device 100 according to embodiment 5 differs from the information processing device 100 according to embodiment 1 in some of the processes performed on graph data, but has the same configuration, and the same reference numerals and names are used for the same configuration as in embodiment 1, and description thereof will be omitted.
- the information processing device 100 is applied to a two-terminal component to which two or more wires are connected in a netlist of an electric circuit or a graph network that can be created from the netlist.
- the effect can be obtained even when used alone, but by combining the method according to the third embodiment, it is possible to particularly reduce information degradation.
- the terminology will be explained using the netlist according to FIG. 24B shown in the third embodiment as an example.
- the netlist in FIG. 24B is republished as follows.
- a two-terminal circuit component is a component that consists of an input terminal and an output terminal.
- all components except XU1 are two-terminal circuit components, so the two-terminal circuit components are V1, L1, D1, C1, R1, R2, C2, and Rload.
- Wires also have physical entities and can be considered as nodes, but while circuit components have complex physical properties, wiring only has connection information between circuit components, so in embodiment 5, circuit components are considered as nodes and wiring is considered as edges that connect nodes.
- GND is the reference potential of an electric circuit, as a node, as this reduces multiple edges.
- a two-terminal disassembled component can be thought of as the two-terminal circuit component described above disassembled into two circuit components.
- the names of the disassembled components can be any as long as they are unique and not the same as other circuit component names.
- V1 is V1-1 and V1-2
- L1 is L1-1 and L1-2
- D1 is D1-1 and D1-2
- C1 is C1-1 and C1-2
- R1 is R1-1 and R1-2
- R2 is R2-1 and R2-2
- C2 is C2-1 and C2-2
- Rload is Rload-1 and Rload-2.
- the power supply does not necessarily have to be divided into two-terminal disassembled components.
- connection between a 2-terminal disassembled component and wiring means that the wiring connected to the 2-terminal circuit component is connected to each of the 2-terminal disassembled components that have been disassembled into two, and each wiring is assigned to the 2-terminal disassembled component.
- the netlist it is as follows. V1;IN 0 3.3 XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 L1;IN N001 2.2u D1;N001 OUT 1N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2;N004 0.
- connection between 2-terminal decomposition components connects 2-terminal decomposition components with newly defined wires, and any wire name can be used as long as it is different from other wire names used in the graph network.
- Wire1 to Wire8 are used. V1;IN 0 3.3 XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 L1;IN N001 2.2u D1;N001 OUT 1N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2;N004 0.
- the power supply is defined as the same value as the voltage or current of the two-terminal component, regardless of whether it is divided or not. This is because if the voltage or current is halved or doubled, it may not work below the minimum voltage, or it may be destroyed by exceeding the rated voltage, so it is undesirable to change it regardless of whether it is divided or not.
- a graph network with directionality can be created by decomposing the nodes in parallel and giving a direction to at least one edge for each decomposed node, as shown in FIG. 34.
- DC voltage sources and DC current sources it can also be applied to circuit components with directionality such as diodes and directional couplers. At this time, by assigning different characteristic values to the node attributes of each decomposed node, information on different characteristics can be propagated in the forward and reverse directions.
- FIG. 35A is a circuit diagram showing an electric circuit including a multi-element component
- FIG. 35B is a graph network showing the electric circuit of FIG. 35A.
- the characteristics in the forward and reverse directions can be obtained by decomposing for each terminal as in FIG. 35B, but when it is known that the characteristics in the forward and reverse directions are different, it is preferable to decompose in parallel.
- the weight matrix of the graph neural network and the activation function which is a nonlinear function
- the characteristics in the reverse direction are different from those of G, V:2, V:1, and X:1 due to the effect of the activation function. Therefore, different characteristics in the forward and reverse directions can be obtained by learning.
- the characteristics in the forward and reverse directions can be explicitly changed without relying on learning, which is desirable because it not only reduces the amount of calculations but also improves the inference accuracy.
- nodes such as circuit constants
- the features of nodes can be stored as a graph network by assigning them as real numbers to one element of a one-hot vector that holds node attribute information.
- the dynamic range of the feature is large and it will be rounded by computer, it is desirable to assign a value obtained by applying a logarithmic function to the feature to one element of the one-hot vector.
- the netlist is as follows: V1;IN 0 3.3 XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 L1;IN N001 2.2u D1;N001 OUT 1N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2;N004 0.
- the decomposition of a two-terminal connection point into a two-terminal decomposition point was described, but the same processing can be performed by treating the two-terminal connection point as a two-terminal circuit component and the two-terminal decomposition point as a two-terminal decomposition component.
- the circuit constants are based on circuit theory, and resistors and coils must be halved and capacitors must be doubled.
- processing diodes and directional couplers with a graph network they generally need to be processed as directed graphs, but as in the fifth embodiment, by making at least one element of the node attribute information a different element for the anode and cathode, they can be processed as undirected graphs.
- anodes and cathodes can be explicitly created by using directed graphs and decomposing components in parallel.
- avalanche diodes and Zener diodes that also use reverse bias, if a directed graph is used with a single node, the reverse bias cannot be taken into account. Therefore, by converting the graph using the method according to embodiment 5 and adding information as node attribute information and processing the undirected graph or the nodes decomposed in parallel as a directed graph, processing can be performed with fewer exceptions and reduced information degradation.
- the terminal number can be used as one element of a matrix that is the node attribute information of the terminal component or two-terminal decomposition component to retain information.
- This information would disappear in the conventional method of defining a multi-element component as a single node, and the ability to retain this information is a special effect of the fifth embodiment.
- the input-output relationship usually disappears when converted to a graph network, but as a two-terminal decomposition component, the information can be retained by leaving the input or output as a numerical value in at least one element of each node attribute information.
- negative circuit constants such as negative resistance and negative inductance can occur, but when decomposing into two-terminal decomposition components, just as with resistance and inductance (coils) that have positive circuit constants, the node attribute information can be set to half the circuit constant.
- FIG. 35B is a graph network obtained by applying the method of embodiment 5 to the graph network of the circuit shown in FIG. 30 of embodiment 3.
- the two-terminal components of the power supply V, coil L, capacitor C, and resistor R are divided into two terminals.
- FIG. 36 is a graph showing the inference results for test data in a graph neural network with the same conditions as FIG. 30 except for the input data. Under these conditions, the average of the maximum inference results obtained by 10 learnings was 97.50%. This is 0.2% lower than the 97.72% shown in FIG. 30 and 0.3% lower than the 97.82% shown in FIG.
- the inference accuracy is 0.3% higher than the 97.20% of the conventional method that does not include virtual components or two-terminal decomposition components shown in FIG. 26B.
- the calculation time was 12 minutes, which was longer than in Figures 26B and 30 due to the increased number of nodes, but was less than twice that of the conventional example in Figure 26B, a small increase compared to the improvement in accuracy.
- This improvement in accuracy can be attributed to the reduction in information degradation during conversion from a netlist to a graph network by using two-terminal decomposition components.
- components such as coils, capacitors, resistors, and diodes have the characteristic that, when subjected to AC signals, the coil, resistor, and diode have floating capacitance (also called parasitic capacitance) in parallel, and the capacitor has residual inductance in series.
- floating capacitance also called parasitic capacitance
- the same processing can be achieved by breaking down the circuit components into multiple two-terminal components, for example by giving the capacitor a structure with residual inductance in series, and attaching a capacitor that acts as floating capacitance in parallel to the coil as a node.
- the circuit components and ground are nodes and the wiring is edges, but as shown in Figure 37, it is also desirable to treat the wiring including the circuit components and ground as nodes and connect related nodes with edges.
- the number of decomposition nodes X:1 to X:6 is equal to the number of edges connected to the decomposition nodes.
- the decomposition nodes are connected only to virtual nodes and wiring nodes, and even if this conversion is performed, the circuit information can be converted to a graph network without loss.
- the inference accuracy for the test data is 97.22%, and although the inference accuracy drops by about 0.5% due to the inclusion of wiring nodes that are unrelated to the inference, a high inference accuracy is obtained.
- the reason for the drop in inference accuracy is that in this experiment, a three-layer graph neural network was used, so it was possible to consider up to the node attributes of the circuit components three steps away, whereas the presence of wiring nodes meant that only the characteristics of the node of the circuit component one step away could be considered, which is thought to have reduced the inference accuracy.
- learning and inference can be performed using a graph neural network with five or more layers, but the time required for learning and memory usage increase exponentially, so it may not be possible to use it depending on the size of the circuit.
- Fig. 38 is a schematic diagram in which the node attribute information n15d, n16d, n17d, and n18d are assigned to the virtual node and decomposition node shown in the first embodiment, respectively, taking the first embodiment as an example.
- the node attribute information is a matrix with 1 row and N columns, or a tensor that can be reversibly transformed into a matrix with 1 row and N columns, and the characteristics of the node are defined by assigning values such as numerical values or character strings to the N matrix elements.
- the fifth embodiment is characterized in that the number of elements of the virtual node and the decomposition node is equal. This is equivalent to the fact that the virtual node and the decomposition node each have N elements, where N is a natural number.
- N is a natural number.
- the text data of the first embodiment is as follows: Virtual node; virtual node-decomposition node 1, virtual node-decomposition node 2, virtual node-decomposition node 3 Decomposition node 1; edge 1, virtual node - decomposition node 1 Decomposition node 2; edge 2, virtual node - decomposition node 2 Decomposition node 3; edge 3, virtual node - decomposition node 3
- Virtual nodes a1, a2, a3, a4, a5 Decomposition node 1: b1, b2, b3, b4, b5 Decomposition node 2: c1, c2, c3, c4, c5 Decomposition node 3: d1, d2, d3, d4, d5
- the weight matrix is multiplied for each column and combined for each element, so it is desirable to provide node attribute information as a one-hot vector. This is because unrelated elements in a one-hot vector are 0, so multiplication will be 0 regardless of what elements the weight matrix contains, and even after combining, the multiplication between unrelated elements, i.e. the Hadamard product, will be 0.
- the decomposition node has specific elements such as domain information in the first embodiment, and terminal numbers, circuit constants, and part model numbers in the third embodiment, but the virtual node can be freely defined. It is desirable to enter user and company information in the social network dataset in the first embodiment, and book information in the paper citation dataset in the virtual node.
- the node attribute information of the virtual node can be any type, such as an integer, real number, or character string. However, when processing with a graph neural network, only numeric values are accepted, so non-numeric character strings must be replaced with unique numeric values.
- each element of the node attribute information it is desirable to normalize to a real number between 0 and 1. This is because activation functions such as the ReLU (Rectified Linear Unit) function and the tanh function, which are used for nonlinear processing after the weight matrix, are often designed to be sensitive to 0 to 1 or -1 to +1. Also, when the node attribute information of the decomposition node is clear, it is desirable to set the node attribute information of the virtual node to the average value (additive average) of the attribute information of the connected decomposition node, as shown in Figure 39.
- ReLU Rectified Linear Unit
- tanh function which are used for nonlinear processing after the weight matrix
- the node attribute information of the virtual nodes it is possible to set all the node attribute information of the virtual nodes to 0, which is desirable because the node attribute information and graph features of the virtual nodes can be obtained without prior knowledge provided by a human.
- 1 or a random number other than 0 may be used as the initial value, but if one-hot vectors are used for even a portion of the attribute information columns, using 1 or a random number will result in loss of orthogonality and even non-existent elements will be generated, so using 0 or the average value of the node attribute information of adjacent decomposition nodes is a desirable method for reducing information degradation.
- Figure 40A is a graph network showing a multi-element component with three terminals
- Figure 40B is a schematic diagram in which unique numerical values are assigned to one or more node attribute information of virtual nodes and decomposition nodes based on domain information and terminal information.
- 0 is assigned to the virtual nodes
- 1 to 3 corresponding to the terminal numbers of the specific nodes are assigned to the decomposition nodes, which reduces information degradation of the terminal numbers.
- the terminal numbers are 1 to 3, but they can be defined in any way as long as they correspond to the terminal numbers of the specific nodes.
- FIG. 41 is a schematic diagram showing that the number of elements of the node attribute information n22d and n23d at the two-terminal decomposition point described in the second embodiment is equal.
- the processing as a graph network can be averaged and processing can be performed by a graph neural network.
- FIG. 42 is a schematic diagram showing how different values are assigned to the input and output sides of at least one element of node attribute information at a two-terminal decomposition point. For example, as shown in FIG. 42, by setting the input side of the attribute information to 0 and the output side to 1, the characteristics of the two-terminal decomposition point can be retained as graph information.
- FIG. 43 is a schematic diagram showing how to equalize the number of elements in the matrices forming the attribute information of the nodes in a graph network.
- the attribute information of the virtual nodes, decomposition nodes, and two-terminal decomposition points was explained individually, but as shown in FIG. 43, by making the number of node attribute information n01d, n02d, and n03d in the graph network equal, it is possible to eliminate the need for exception handling when processing information on the graph network.
- the information processing device can be used, for example, to convert graph data showing an electrical circuit into another graph structure and suppress degradation of information when performing graph processing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本開示は、情報処理装置及び情報処理方法に関する。 This disclosure relates to an information processing device and an information processing method.
従来、複数のノードとノード間を接続する複数のエッジとを含むグラフデータを取得し、ノードに接続されたエッジの数に基づいてグラフの簡略化を行う方法が開示されている(特許文献1参照)。 A method has been disclosed in which graph data including multiple nodes and multiple edges connecting the nodes is acquired, and the graph is simplified based on the number of edges connected to the nodes (see Patent Document 1).
一般に、グラフの変換、最適化、隣接ノード間の平均化等、グラフに対する処理において当該グラフのノードが、接続されている複数のエッジに対応する複数の情報を有している場合、グラフが有する一部の情報が失われることで、情報が劣化する場合があるという課題がある。 Generally, when processing a graph, such as transforming, optimizing, or averaging adjacent nodes, if a node in the graph has multiple pieces of information corresponding to the multiple edges to which it is connected, there is a problem that some of the information contained in the graph may be lost, resulting in degradation of the information.
本開示は、上記課題を解決するものであって、グラフの情報の劣化を抑制できる情報処理装置及び情報処理方法を提供することを目的とする。 The present disclosure aims to solve the above problem by providing an information processing device and information processing method that can suppress degradation of graph information.
本開示に係る情報処理装置は、第1情報及び第2情報を有する原ノードと、第1情報に関連付けられて原ノードに接続された第1エッジと、第2情報に関連付けられて原ノードに接続された第2エッジと、を有する第1グラフを示す第1グラフデータを取得するグラフデータ取得部と、第1グラフにおいて、第1情報に対応する第1ノードと、第2情報に対応する第2ノードと、を含む複数のノードと、複数のノードを互いに接続するエッジと、を有する部分グラフに、原ノードが置換された第2グラフを示す第2グラフデータを生成するグラフ生成部と、を備え、グラフ生成部は、第2グラフにおいて、第1エッジが第1ノードに接続され、第2エッジが第2ノードに接続されたグラフになるように、第2グラフデータを生成することを特徴とする。 The information processing device according to the present disclosure includes a graph data acquisition unit that acquires first graph data indicating a first graph having an original node having first information and second information, a first edge associated with the first information and connected to the original node, and a second edge associated with the second information and connected to the original node, and a graph generation unit that generates second graph data indicating a second graph in which the original node has been replaced with a subgraph having a plurality of nodes in the first graph, including a first node corresponding to the first information and a second node corresponding to the second information, and edges connecting the plurality of nodes to each other, and the graph generation unit generates the second graph data such that in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.
本開示によれば、グラフのノードが複数の情報を有している場合に、当該ノードを、当該複数の情報に対応する複数のノードを有する部分グラフに置換したグラフを示すデータを生成するので、グラフに対する処理を行った際の情報の劣化を抑制できる。 According to the present disclosure, when a node in a graph has multiple pieces of information, data is generated that shows a graph in which the node has been replaced with a subgraph having multiple nodes that correspond to the multiple pieces of information, thereby suppressing degradation of information when processing the graph.
以下、本開示に係る実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
まず、図1を参照して、実施の形態1に係る情報処理装置100の構成について説明する。図1は、実施の形態1に係る情報処理装置100の構成を示すブロック図である。実施の形態1に係る情報処理装置100は、グラフを示すグラフデータを取得し、当該グラフデータに基づいて、他のグラフを示すグラフデータを生成する装置である。言い換えると、実施の形態1に係る情報処理装置100は、グラフを示すグラフデータを、他のグラフを示すグラフデータに変換する装置である。図1に示すように、情報処理装置100は、グラフデータ取得部10と、ノード抽出部20と、グラフ生成部30と、を備えている。
Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
First, the configuration of an
グラフデータ取得部10は、グラフとしてのグラフネットワークを示すグラフデータを取得する。例えば、グラフデータ取得部10は、操作者による入力操作を受付けて情報処理装置100に対し情報の入力を行う図示しない入力装置から、情報処理装置100と有線若しくは無線によって通信可能に接続された外部の装置から、又は情報処理装置100が備える図示しない記憶部に記憶されている情報を読込むことによって、グラフデータを取得する。また、例えば、グラフデータ取得部10は、グラフデータとして、ニューラルネットワーク、分子構造、電気回路、ソーシャルネットワーク(Social Networks)、コンピュータネットワーク等、ノード(点)とエッジ(線)とによって構成されるグラフネットワークを示す、幾何データ、テキストデータ、表形式データ等のデータセットを取得する。具体的には、電気回路を示すグラフネットワークとしては、部品をノードで示し、部品間を接続する配線をエッジで示すグラフネットワークが考えられる。また、ソーシャルネットワークを示すグラフネットワークとしては、個人をノードで示し、個人間の関係をエッジで示すグラフネットワーク、又は企業とユーザをノードで示し、特定の企業の製品をエッジで示すことで、企業とユーザとを使用している製品によって関連付けるグラフネットワークが考えられる。
The graph
ノード抽出部20は、グラフデータ取得部10によって取得されたグラフデータに基づいて、当該グラフデータによって示されるグラフネットワークが有するノードのうち、予め設定されている特定の条件に合致する原ノードとしての特定ノードを抽出する。例えば、ノード抽出部20は、当該グラフデータによって示されるグラフネットワークが有するノードのうち、ノードが有する情報に基づいて特定ノードを抽出する。また、例えば、ノード抽出部20は、当該グラフデータによって示されるグラフネットワークが有するノードのうち、接続されているエッジの数が特定の範囲である特定ノードを抽出する。なお、実施の形態1において、グラフデータ取得部10によって取得されたグラフデータを第1グラフデータともいい、第1グラフデータによって示されるグラフネットワークを第1グラフともいう。特定ノードの詳細については、後述する。
The
グラフ生成部30は、第1グラフデータと、ノード抽出部20によって抽出されたノードに関する情報に基づいて、新たなグラフネットワークを示すグラフデータを生成する。グラフ生成部30は、ノード分解部31と、エッジ変更部32と、を有している。なお、情報処理装置100は、グラフ生成部30が生成したグラフデータを液晶パネル等の表示装置に表示させる図示しない表示制御部を備えていてもよいし、グラフ生成部30が生成したグラフデータを外部の装置に向けて出力する図示しない出力部を備えていてもよい。
The
ノード分解部31は、ノード抽出部20によって抽出されたノードを、複数のノードに分解する。言い換えると、ノード分解部31は、ノード抽出部20によって抽出されたノードに基づいて複数の新たなノードを生成し、かつノード抽出部20によって抽出された特定ノードを削除する。
The node decomposition unit 31 decomposes the node extracted by the
エッジ変更部32は、ノード分解部31によるノードの分解の結果に応じて、第1グラフデータによって示されるグラフネットワークのエッジを変更する。例えば、エッジ変更部32は、ノード分解部31によって生成された新たなノードに接続するエッジを生成し、かつノード抽出部20によって抽出された特定ノードに接続されているノードを削除する。また、例えば、エッジ変更部32は、ノード分解部31によって生成された新たなノードに既存のエッジが接続されるように、エッジの接続先を変更する。このように、グラフ生成部30は、第1グラフにおいて、複数の新たなノードとこれら複数の新たなノードを互いに接続する新たなエッジとを有する部分グラフと、ノード抽出部20によって抽出された特定ノードと、が置換された新たなグラフネットワークを示すグラフデータを生成する。なお、実施の形態1において、グラフ生成部30によって第1グラフデータに基づいて生成された新たなグラフデータを第2グラフデータともいい、第2グラフデータによって示されるグラフネットワークを第2グラフともいう。グラフ生成部30の詳細については、後述する。
The
次に、図2及び図3を参照して、情報処理装置100のハードウェア構成について説明する。図2は、実施の形態1に係る情報処理装置100のハードウェア構成の一例を示すブロック図であり、図3は、実施の形態1に係る情報処理装置100の図2とは異なるハードウェア構成の一例を示すブロック図である。例えば、図2に示すように、情報処理装置100は、プロセッサ100a、メモリ100b及びI/Oポート100cを有し、メモリ100bに格納されているプログラムをプロセッサ100aが読み出して実行するように構成されている。メモリ100bは、例えば、RAM、ROM、フラッシュメモリ、EPROM、EEPROM等の、不揮発性又は揮発性の半導体メモリ、又はこれらの組合せによって構成されている。また、メモリ100bは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等であってもよい。さらにメモリ100bは、HDD又はSSDであってもよい。
Next, the hardware configuration of the
また、例えば、図3に示すように、情報処理装置100は、専用のハードウェアである処理回路100d及びI/Oポート100cを有している。処理回路100dは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、システムLSI(Large-Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらの組み合わせによって構成されている。情報処理装置100の各機能は、これらプロセッサ100a又は専用のハードウェアである処理回路100dがソフトウェア、ファームウェア又はソフトウェアとファームウェアとの組合せであるプログラムを実行することによって実現される。
Also, for example, as shown in FIG. 3, the
次に、図4乃至図15を参照して、実施の形態1に係る情報処理装置100が、第1グラフデータに基づいて第2グラフデータを生成する処理の詳細について説明する。図4は、実施の形態1に係る情報処理装置100が行う処理を示すフローチャートである。図4に示すように、情報処理装置100は、処理を開始すると、グラフデータを取得する(ステップST11)。例えば、この処理において、情報処理装置100は、グラフデータ取得部10によって、複数のノードと、これら複数のノードを互いに接続する複数のエッジと、を有するグラフネットワークを示すグラフデータを取得する。
Next, with reference to Figs. 4 to 15, the details of the process in which the
ステップST11の処理を行うと、情報処理装置100は、ステップST11の処理で取得した第1グラフデータによって示される第1グラフが有するノードのうち、予め設定されている特定の条件に合致する特定ノードを抽出する(ステップST12)。例えば、情報処理装置100は、グラフデータ取得部10によって取得された第1グラフデータに基づいて、第1グラフが有するノードのうち、複数の情報を有すると共に、当該複数の情報のそれぞれに関連付けられたエッジが接続されているノードを、ノード抽出部20によって特定ノードとして抽出する。言い換えると、ステップST12の処理において、情報処理装置100は、第1情報及び第2情報を含む複数の情報を有し、第1情報に関連付けられた第1エッジと第2情報に関連付けられた第2エッジとを含む複数のエッジが接続されたノードを、第1グラフから特定ノードとして抽出する。
After performing the process of step ST11, the
ステップST12の処理を行うと、情報処理装置100は、ステップST12の処理において第1グラフから特定ノードを抽出できたか否かを判定する(ステップST13)。言い換えると、ステップST12の処理を行うと、情報処理装置100は、ステップST11の処理において取得した第1グラフデータによって示される第1グラフが、予め設定されている特定の条件に合致する特定ノードを有しているか否かを判定する。
After performing the processing of step ST12, the
第1グラフが特定ノードを有していた場合(ステップST13のYES)、情報処理装置100は、抽出したいずれかの特定ノードが有する情報に基づいて、複数の新たなノードを生成する(ステップST14)。例えば、抽出したいずれかの特定ノードが、複数の情報を有すると共に、当該複数の情報のそれぞれに関連付けられたエッジが接続されているノードであった場合、この処理において、情報処理装置100は、当該特定ノードが有する各情報に対応するノードを含む新たな複数のノードを、ノード分解部31によって生成する。言い換えると、抽出したいずれかの特定ノードが、第1情報及び第2情報を含む複数の情報を有し、第1情報に関連付けられた第1エッジと第2情報に関連付けられた第2エッジとを含む複数のエッジが接続されたノードであった場合、この処理において、情報処理装置100は、第1情報に対応する第2ノードと、第2情報に対応する第3ノードと、を含む新たな複数のノードを、ノード分解部31によって生成する。
If the first graph has a specific node (YES in step ST13), the
ステップST14の処理を行うと、情報処理装置100は、ステップST14の処理で生成した新たな複数のノードにエッジを接続する(ステップST15)。例えば、この処理において、情報処理装置100は、エッジ変更部32によって新たなエッジを生成し、ステップST14の処理で生成した新たな複数のノード間を接続する。また、例えば、この処理において、情報処理装置100は、エッジ変更部32によって新たなエッジを生成し、ステップST12の処理で抽出した特定ノードにエッジを介して接続されていたノードと、生成した新たな複数のノードのうちいずれかのノードと、を接続する。具体的には、抽出したいずれかの特定ノードが、第1情報及び第2情報を含む複数の情報を有し、第1情報に関連付けられた第1エッジと第2情報に関連付けられた第2エッジとを含む複数のエッジが接続されたノードであった場合、この処理において、情報処理装置100は、一端の接続先が第1エッジと同一でかつ他端の接続先が第1情報に対応する第1ノードである新たなエッジと、一端の接続先が第2エッジと同一でかつ他端の接続先が第2情報に対応する第2ノードである新たなエッジと、を含む複数のエッジを生成する。
After performing the processing of step ST14, the
ステップST15の処理を行うと、情報処理装置100は、不要なエッジを削除する(ステップST16)。例えば、この処理において、情報処理装置100は、ステップST15の処理で複数のノードを生成したことによって不要になったエッジを削除する。具体的には、この処理において、情報処理装置100は、ステップST12の処理で抽出した特定ノードに接続されているエッジを削除する。
After performing the processing of step ST15, the
ステップST16の処理を行うと、情報処理装置100は、ステップST12の処理で抽出した特定ノードを削除する(ステップST17)。これにより、第1グラフにおいて、複数の新たなノードとこれら複数の新たなノードを互いに接続する新たなエッジとを有する部分グラフと、ノード抽出部20によって抽出された特定ノードと、が置換された新たな第2グラフを示す第2グラフデータが生成される。
After performing the processing of step ST16, the
ステップST17の処理を行った場合、及び第1グラフデータによって示される第1グラフが特定ノードを有していない場合(ステップST13のNO)、情報処理装置100は、処理を終了する。なお、第1グラフが複数の特定ノードを有している場合、情報処理装置100は、各特定ノードに対してステップST14からステップST17の処理を行うように構成されていてもよいし、複数の特定ノードに対するステップST14からステップST17の処理を並行して行うように構成されていてもよい。
If the processing of step ST17 has been performed, or if the first graph represented by the first graph data does not have a specific node (NO in step ST13), the
次に、実施の形態1に係る情報処理装置100が行う処理の具体例について説明する。図5は、実施の形態1に係る情報処理装置が行う処理の一例を示すフローチャートである。例えば、情報処理装置100は、ステップST11の処理において取得した第1グラフデータによって示される第1グラフから、特定ノードとして3つ以上のエッジが接続されているノードを抽出する(ステップST22)。
Next, a specific example of the processing performed by the
図6Aは、実施の形態1に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフG1である。例えば、ノードn13を企業、ノードn11、ノードn12及びノードn14をユーザとした場合、企業と複数のユーザとの繋がりが形成されていることを示すグラフネットワークにおいて、企業を示すノードn13には、複数のユーザを示すノードがエッジを介して接続される。なお、図6Aに示す第1グラフG1は、グラフデータ取得部10によって取得されたグラフデータによって示されるグラフネットワークの全体であってもよいし、グラフデータ取得部10によって取得されたグラフデータによって示されるグラフネットワークの一部であってもよい。
FIG. 6A shows a first graph G1 as an example of a graph network represented by the first graph data acquired by the
例えば、ステップST11の処理において、図6Aに示す第1グラフG1を示す第1グラフデータを取得した場合、ステップST22の処理において、情報処理装置100は、特定ノードとして、エッジe11、エッジe12及びエッジe13の3つのエッジが接続されているノードn13を抽出する。
For example, if the first graph data indicating the first graph G1 shown in FIG. 6A is acquired in the processing of step ST11, then in the processing of step ST22, the
ステップST22の処理を行うと、情報処理装置100は、ステップST22の処理において第1グラフG1から特定ノードを抽出できたか否かを判定する(ステップST23)。言い換えると、ステップST22の処理を行うと、情報処理装置100は、ステップST12の処理において取得した第1グラフデータによって示される第1グラフが、3つ以上のエッジが接続されている特定ノードを有しているか否かを判定する。
After performing the processing of step ST22, the
第1グラフG1が特定ノードを有していた場合(ステップST23のYES)、情報処理装置100は、抽出したいずれかの特定ノードが有する情報に基づいて、複数の新たなノードとして、仮想ノードと複数の分解ノードとを生成する(ステップST24)。例えば、ステップST22の処理において、特定ノードとしてノードn13を抽出した場合、情報処理装置100は、ノードn13が有する複数の情報のそれぞれに対応する複数の分解ノードと、これら複数の分解ノードを互いに接続するための接続ノードとしての仮想ノードと、を含む新たな複数のノードを、ノード分解部31によって生成する。言い換えると、ステップST22の処理において、特定ノードとして第1情報及び第2情報を有するノードn13を抽出した場合、情報処理装置100は、第1情報に対応する分解ノード及び第2情報に対応する分解ノードを含む複数の分解ノードと、これら複数の分解ノードを互いに接続するための仮想ノードと、を含む新たな複数のノードを、ノード分解部31によって生成する。
If the first graph G1 has a specific node (YES in step ST23), the
図6Bは、実施の形態1に係る情報処理装置によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフである。図6Bに示すように、例えば、ステップST22の処理において、特定ノードとして、エッジe11に対応する第1情報、エッジe12に対応する第2情報及びエッジe13に対応する第3情報を有するノードn13を抽出した場合、情報処理装置100は、ノードn13が有する第1情報に対応する分解ノードであるノードn15、第2情報に対応する分解ノードであるノードn16及び第3情報に対応する分解ノードであるn17と、これら複数の分解ノードを互いに接続するための仮想ノードであるノードn18と、を含む新たな複数のノードを、ノード分解部31によって生成する。例えば、特定ノードが有する複数の情報は、いずれのエッジと接続されているかを示す情報であってもよいし、特定のエッジを介していずれのノードと接続されているかを示す情報であってもよいし、第1グラフが電気回路を示すグラフネットワークで、かつ特定ノードが複数の端子を有する電気回路の部品を示すノードである場合、端子を識別するための情報であってもよいし、エッジを介して接続された他のノードとの間の接続の重みを示す情報であってもよい。
6B is a second graph as an example of a graph network shown by the second graph data generated by the information processing device according to the first embodiment. As shown in FIG. 6B, for example, in the process of step ST22, when node n13 having first information corresponding to edge e11, second information corresponding to edge e12, and third information corresponding to edge e13 is extracted as a specific node, the
ステップST24の処理を行うと、情報処理装置100は、ステップST24の処理で生成した新たな複数のノードにエッジを接続する(ステップST25)。例えば、この処理において、情報処理装置100は、エッジ変更部32によって新たなエッジを生成し、ステップST24の処理で生成した複数の分解ノードと、仮想ノードと、の間を接続する。また、例えば、この処理において、情報処理装置100は、ステップST22の処理で抽出したノードn13にエッジを介して接続されていたノードn11、ノードn12及びノードn14と、生成した複数の分解ノードのうちいずれかのノードと、を接続する。
After performing the processing of step ST24, the
図6Bに示すように、具体的には、この処理において、情報処理装置100は、エッジ変更部32によって新たなエッジe15を生成してノードn18とノードn15とを接続し、エッジe16を生成してノードn18とノードn16とを接続し、エッジe17を生成してノードn18とノードn17とを接続する。また、この処理において、情報処理装置100は、エッジe11によってノードn15とノードn11とを接続し、エッジe12によってノードn16とノードn12とを接続し、エッジe13によってノードn17とノードn14とを接続する。
As shown in FIG. 6B, specifically, in this process, the
例えば、企業とユーザとの関係において、一般に、ステークホルダである個々のユーザは、企業が有する複数の情報として、製品及び売上げ等の側面(ドメイン)に着目する。例えば、第1グラフG1が企業とユーザとをノードとするソーシャルネットワークを示すグラフネットワークである場合において、企業を示すノードに対して3つのエッジを介して3つのユーザが接続されている場合、ステップST24の処理において、情報処理装置100は、企業を抽象的に表す仮想ノードであるノードn18を生成すると共に、企業が有する複数の情報である各ドメインに分解した分解ノードであるノードn15、ノードn16及びノードn17を生成し、ステップST25の処理において、ノードn18と、ノードn15、ノードn16及びノードn17と、を接続し、ノードn18と、ノードn15、ノードn16には、第1グラフG1においてノードn13に接続されていた各ユーザをエッジで接続する。
For example, in the relationship between a company and a user, generally, individual users who are stakeholders focus on aspects (domains) such as products and sales as multiple pieces of information that a company possesses. For example, if the first graph G1 is a graph network representing a social network with companies and users as nodes, and three users are connected to the node representing the company via three edges, in the processing of step ST24, the
なお、情報処理装置100は、ノードn15とノードn11とを接続するエッジ、ノードn16とノードn12とを接続するエッジ、及びノードn17とノードn14とを接続するエッジを、エッジe11、エッジe12及びエッジe13とは別に生成するように構成されていてもよい。このように構成されている場合、情報処理装置100は、ステップST25の処理を行うと、第1グラフG1においてノードn11とノードn13とを接続していたエッジ、ノードn12とノードn13とを接続していたエッジ、及びノードn14とノードn13とを接続していたエッジを不要なエッジであるものとして、これらのエッジを削除する(ステップST26)。
In addition, the
ステップST26の処理を行うと、情報処理装置100は、特定ノードであるノードn13を削除する(ステップST17)。これにより、第1グラフG1において、ノードn15、ノードn16、ノードn17及びノードn18を含む複数のノードと、これら複数のノードを互いに接続するエッジe15、エッジe16及びエッジe17と、を有する部分グラフg1’に、ノードn13が置換された第2グラフG1’を示す第2グラフデータが生成される。例えば、企業とユーザとをノードとするソーシャルネットワークを示す第1グラフG1において、企業を示すノードn13が、企業が有するドメイン(分野)ごとに分解された部分グラフg1’に置換されたグラフネットワークが生成される。例えば、ノードn15、ノードn16及びノードn17は、それぞれノードn13によって示される企業の製品1、製品2及び製品3を示す。
After performing the process of step ST26, the
なお、図6Aの第1グラフを示す第1グラフデータに基づいて生成される第2グラフデータによって示される第2グラフは、図6Bのものに限定されない。例えば、特定ノードが有する情報に基づいて生成される新たなノードの数は、1つでもよいし、2以上の任意の数であってもよく、特定ノードに接続されているエッジの数と同じであってもよいし、異なっていてもよい。また、新たなノードに接続されるエッジは、複数の分解ノード間を接続するエッジであってもよいし、1つの分解ノードと複数のノードとを接続するエッジであってもよい。 Note that the second graph shown by the second graph data generated based on the first graph data showing the first graph in FIG. 6A is not limited to that in FIG. 6B. For example, the number of new nodes generated based on the information held by a specific node may be one, or any number equal to or greater than two, and may be the same as or different from the number of edges connected to the specific node. In addition, the edges connected to the new nodes may be edges connecting multiple decomposition nodes, or edges connecting one decomposition node to multiple nodes.
次に、図7及び図8を参照して、図6Bで示される第2グラフの他の例について説明する。図7は、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの図6Bとは異なる一例としての第2グラフG1’’である。
Next, another example of the second graph shown in FIG. 6B will be described with reference to FIG. 7 and FIG. 8. FIG. 7 shows a second graph G1'' as an example different from FIG. 6B of a graph network represented by second graph data generated by the
図7に示すように、第2グラフG1’’の部分グラフg1’’は、特定ノードであるノードn13(図6A参照)に基づいて生成された分解ノードであるノードn15と仮想ノードであるノードn18とがエッジe15によって接続され、分解ノードであるノードn16とノードn18とがエッジe16によって接続され、分解ノードであるノードn17とノードn18とがエッジe17によって接続され、ノードn15とノードn16とがエッジe19によって接続されている。また、ノードn15は、エッジe11によってノードn11と接続されると共に、エッジe18によってノードn12と接続されている。また、ノードn12は、エッジe18によってノードn15と接続されると共に、エッジe12によってノードn16と接続されている。このように、第2グラフG1’’において、1つの分解ノードと複数の既存のノードとが接続されていてもよいし、特定の既存のノードが複数の分解ノードと接続されていてもよい。例えば、第2グラフG1’’がソーシャルネットワークを示すグラフネットワークである場合、1つの分解ノードと複数のユーザとが接続されていてもよいし、特定のユーザを示すノードが複数の分解ノードと接続されていてもよい。 7, in the subgraph g1'' of the second graph G1'', node n15, which is a decomposition node generated based on node n13, which is a specific node (see FIG. 6A), and node n18, which is a virtual node, are connected by edge e15, node n16, which is a decomposition node, and node n18 are connected by edge e16, node n17, which is a decomposition node, and node n18 are connected by edge e17, and node n15 and node n16 are connected by edge e19. Furthermore, node n15 is connected to node n11 by edge e11 and is connected to node n12 by edge e18. Furthermore, node n12 is connected to node n15 by edge e18 and is connected to node n16 by edge e12. In this way, in the second graph G1'', one decomposition node may be connected to multiple existing nodes, or a specific existing node may be connected to multiple decomposition nodes. For example, if the second graph G1'' is a graph network representing a social network, one decomposition node may be connected to multiple users, or a node representing a specific user may be connected to multiple decomposition nodes.
また、第1グラフ及び第2グラフは、1つの企業と複数のユーザとの関係に限らず、複数の企業と複数のユーザとの関係を示すグラフネットワークであってもよく、このような場合、複数の企業間が互いにエッジで接続されていてもよい。このような企業間の関係においても、これらの間に分解ノードと複数のエッジとを設定することができる。また、例えば、第1グラフ及び第2グラフにおいて、1人のユーザと特定の企業の1つのドメインとが複数回接続された場合であっても、これら複数回の接続を類似の情報とみなせる場合には、1つの接続として集約してもよい。また、例えば、第1グラフ及び第2グラフにおいて、1人のユーザと特定の企業の1つのドメインとが複数回接続された場合に、これら複数回の接続を類似の情報とはみなせない場合には、ドメインが異なるものとしてドメインを細分化することで、多様なグラフネットワークにおいても多重辺の発生を抑制することができる。 The first and second graphs are not limited to the relationship between one company and multiple users, but may be graph networks showing the relationship between multiple companies and multiple users. In such cases, the multiple companies may be connected to each other by edges. In such relationships between companies, decomposition nodes and multiple edges can be set between them. For example, even if one user and one domain of a specific company are connected multiple times in the first and second graphs, these multiple connections may be aggregated as one connection if they can be considered as similar information. For example, if one user and one domain of a specific company are connected multiple times in the first and second graphs, these multiple connections may not be considered as similar information, by subdividing the domains as different domains, the occurrence of multiple edges can be suppressed even in various graph networks.
また、実施の形態1において、第1グラフ及び第2グラフは、静的なグラフネットワークであってもよいし、SNS(Social Networking Service)又は交通情報のように、グラフネットワークのノード及びノード間の接続が時間の経過と共に変化する動的なグラフネットワークであってもよい。第1グラフ及び第2グラフが動的なグラフネットワークである場合、1人のユーザと特定の企業の1つのドメインとが複数回接続された場合であっても時間方向には1つの接続となるため、これらの接続は多重辺とはならない。更に、第2グラフは、自己ループ及び多重辺を発生させないように、複数の類似の分解ノードを1つの分解ノードに結合されて、1つの分解ノードに対して複数のユーザが接続されているグラフネットワークであってもよい。このように第2グラフを形成することにより、情報劣化の原因となる多重辺及び自己ループの発生を抑制し、グラフニューラルネットワークなどにおける処理時間を低減させることができる。 In addition, in the first embodiment, the first graph and the second graph may be static graph networks, or may be dynamic graph networks in which the nodes of the graph network and the connections between the nodes change over time, such as SNS (Social Networking Service) or traffic information. When the first graph and the second graph are dynamic graph networks, even if one user and one domain of a specific company are connected multiple times, there is only one connection in the time direction, and these connections do not become multiple edges. Furthermore, the second graph may be a graph network in which multiple similar decomposition nodes are combined into one decomposition node so as to prevent self-loops and multiple edges from occurring, and multiple users are connected to one decomposition node. By forming the second graph in this way, it is possible to suppress the occurrence of multiple edges and self-loops that cause information degradation, and reduce the processing time in a graph neural network, etc.
図8は、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの図6B及び図7とは異なる一例としての第2グラフG1’’’である。図8に示すように、第2グラフG1’’’の部分グラフg1’’’は、特定ノードであるノードn13(図6A参照)に基づいて生成された分解ノードであるノードn15と仮想ノードであるノードn18とがエッジe15によって接続され、分解ノードであるノードn17とノードn18とがエッジe17によって接続されている。また、ノードn15は、エッジe11によってノードn11と接続されると共に、エッジe12によってノードn12と接続されている。このように、第2グラフG1’’’において、1つの分解ノードと複数のユーザとが接続されていてもよい。
FIG. 8 shows a second graph G1''' as an example of a graph network shown by second graph data generated by the
以下、第1グラフが、論文及び本の引用関係を示すグラフネットワークである場合について説明する。一般に、論文は、特定の技術に特化して書かれたものであるのに対し、本は、複数の論文を体系的にまとめて、複数の論文を引用することがある。第1グラフにおいて、論文又は本をノードで示し、論文又は本が引用されていることをエッジで示すことにより、論文及び本の引用関係を示すことが可能になる。 Below, we will explain the case where the first graph is a graph network showing the citation relationships between papers and books. Generally, papers are written to specialize in a particular technology, whereas a book may systematically compile multiple papers and cite multiple papers. In the first graph, by showing papers or books as nodes and showing that a paper or book is cited as an edge, it becomes possible to show the citation relationships between papers and books.
例えば、図8に示す第2グラフG1’’’において、本を示す仮想ノードであるノードn18と、本が有する複数の情報(ドメイン)である本の章(チャプター)に応じて生成された分解ノードであるノードn15及びノードn17と、をエッジで接続することにより、ドメインごとに分けられた論文と本との引用関係をグラフネットワークで表すことができる。したがって、図8に示す第2グラフG1’’’は、ノードn18によって示される本の、ノードn15によって示される特定の章(例えば、第4章)をノードn11によって示される論文とノードn12によって示される論文とが共に引用していることを示しており、ノードn17によって示される他の章をノードn14によって示される論文が引用していることを示している。 For example, in the second graph G1''' shown in FIG. 8, by connecting node n18, which is a virtual node indicating a book, with nodes n15 and n17, which are decomposition nodes generated according to the chapters of the book, which are the multiple pieces of information (domains) that a book has, with edges, the citation relationships between papers and books divided by domain can be represented in a graph network. Therefore, the second graph G1''' shown in FIG. 8 indicates that both the paper indicated by node n11 and the paper indicated by node n12 cite a specific chapter (e.g., chapter 4) indicated by node n15 of the book indicated by node n18, and that the paper indicated by node n14 cites another chapter indicated by node n17.
なお、論文及び本の引用関係を示すグラフネットワークにおいて、本が有するドメインは、章に限らず、例えば、節又は項であってもよい。このように、第1グラフにおいて自己ループ及び多重辺が発生している場合であっても、第2グラフにおいて本のドメインに応じて本を示すノードを細分化し、本の分解ノードを1つの論文に対して1つまたは1つ以上設けることにより、自己ループ及び多重辺を有しないグラフネットワークを生成することができる。 In addition, in a graph network showing the citation relationships between papers and books, the domain of a book is not limited to a chapter, but may be, for example, a section or an article. In this way, even if a self-loop and multiple edges occur in the first graph, a graph network without self-loops and multiple edges can be generated by subdividing the node representing the book in the second graph according to the book's domain and providing one or more book decomposition nodes for each paper.
また、ノードを分解する際にどの程度細分化するかについては、グラフネットワーク処理、グラフニューラルネットワーク処理等の処理の内容、グラフネットワークの種類、取得するグラフデータ(データセット)の内容等に基づいて適宜設定される。例えば、グラフニューラルネットワークにより論文と本の該当箇所との引用関係を予測する学習モデルを生成するためのデータセットにおいては、ノードの分解を細かくすることが望ましく、単に引用及び被引用の関係を知るための処理においては、ノードの分解を細かくしなくてもよい場合がある。また、データセットに含まれる情報量が限られている場合、かつこのような場合において追加の情報を入手することが難しい場合には、データセットに含まれる情報以上に分解することなく、ノードに接続されるエッジと同数の分解ノードにノードを分解することが望ましい。 The extent to which the nodes are decomposed is set appropriately based on the content of the process (graph network processing, graph neural network processing, etc.), the type of graph network, the content of the graph data (dataset) to be acquired, etc. For example, in a dataset for generating a learning model that predicts the citation relationship between a paper and a corresponding part of a book using a graph neural network, it is desirable to decompose the nodes finely, but in a process for simply finding the relationship between citations and cited, it may not be necessary to decompose the nodes finely. Also, if the amount of information contained in the dataset is limited, and if it is difficult to obtain additional information in such a case, it is desirable to decompose the node into decomposition nodes with the same number of edges connected to the node, without decomposing it beyond the information contained in the dataset.
従来のグラフネットワークは、複数のドメインの情報を1つのノードにまとめるため、当該ノードが持つドメインと周囲のノードとの関係をグラフネットワークとして保持できない、または不明確になるため情報劣化の要因となっていた。これに対し、実施の形態1に係る情報処理装置100は、特定ノードに接続される各エッジに対して1つの分解ノードを生成するため、周囲のノードとの関係をドメインごとに分けて保持することができる。実施の形態1に係る情報処理装置100は、特定ノードが有する複数の情報を、複数の分解ノードの情報として保持するため、グラフ処理を行ってもドメインの情報が失われず、情報劣化を抑制することができる。
In conventional graph networks, information from multiple domains is consolidated into a single node, so the relationship between the domain of the node and surrounding nodes cannot be maintained as a graph network, or becomes unclear, which causes information degradation. In contrast, the
実施の形態1に係るグラフネットワークにおいて、自己ループは、ドメイン間の関係性を表すものと考えることができる。これに対し、従来のグラフネットワークにおいて、自己ループは、ノードが持つ全てのドメインから全てのドメインへの接続を意味することになり、実施の形態1のように特定のドメインから特定のドメインへの接続となる情報を持たせることができない。一方、実施の形態1では、自己ループは、エッジの一方の端部と他方の端部とは1つの特定ノードに基づいて生成される異なる分解ノード間を接続した情報で表すことができるため、ドメイン間の関係性をグラフネットワークとして保持することが可能になる。また、実施の形態1においては、グラフネットワークを、自己ループを持たない構造にすることができるため、1つのノードが持つ特定のドメインから別のドメインへの接続情報をグラフネットワークとして保持することが可能となる。 In the graph network according to the first embodiment, a self-loop can be considered to represent a relationship between domains. In contrast to this, in conventional graph networks, a self-loop means a connection from all domains to all domains that a node has, and cannot have information on a connection from a specific domain to a specific domain as in the first embodiment. On the other hand, in the first embodiment, a self-loop can be represented by information that connects one end and the other end of an edge between different decomposition nodes generated based on one specific node, so that it is possible to hold the relationship between domains as a graph network. Also, in the first embodiment, the graph network can be structured to have no self-loop, so that it is possible to hold the connection information from a specific domain to another domain that a node has as a graph network.
グラフネットワークにおける多重辺は、2つのノード間を2つ以上のエッジで接続することを意味するが、実施の形態1では、特定ノードを接続されているエッジと同数の分解ノードに分解するため、グラフネットワークを、多重辺を持たないグラフ構造にすることができる。例えば、従来においては、グラフネットワークが第1特定ノードと第2の特定ノードとを有し、第1特定ノードがドメインAとドメインC、第2特定ノードがドメインBとドメインDを有し、多重辺としてドメインAとドメインB、ドメインCとドメインD間の接続を有している場合、第1特定ノードと第2の特定ノードとを接続した情報として集約する必要があった。一方、実施の形態1では、ドメインAとドメインB、ドメインCとドメインDを分解ノードとして表すため、各接続をグラフ構造によって表現できる。このため、従来発生していた情報劣化を抑制することができる。 Multiple edges in a graph network mean that two nodes are connected by two or more edges, but in the first embodiment, a specific node is decomposed into decomposition nodes with the same number as the edges connected to it, so that the graph network can have a graph structure that does not have multiple edges. For example, in the past, when a graph network has a first specific node and a second specific node, the first specific node has domain A and domain C, and the second specific node has domain B and domain D, and there are connections between domain A and domain B and domain C and domain D as multiple edges, it was necessary to aggregate the information connecting the first specific node and the second specific node. On the other hand, in the first embodiment, domain A and domain B, and domain C and domain D are represented as decomposition nodes, so that each connection can be represented by a graph structure. This makes it possible to suppress the information degradation that occurred in the past.
なお、このような情報劣化を抑制する他の方法として、仮想ノードを用いず全ての分解ノード間を互いにエッジで接続する完全グラフとする方法によっても、自己ループ及び多重辺の発生を抑制することができる。しかしながら、単一のノードにおける自己ループは、単一のノードを完全グラフに変換した後では多重辺に変換されるため情報劣化になる。更に分解ノード間の関係はブラックボックスであるため分解ノード間の関係を維持するために完全グラフにする必要があるが、完全グラフにする際のエッジの数は分解ノードの数の2乗に比例するため、分解ノードの数が増えるにしたがってエッジの数が多くなり、計算量は、指数関数的に増大する。例えば、接続されるエッジの数が1,000本と比較的少ないノードにおいても、分解ノード間のエッジは49,950本必要となる。これに対し、実施の形態1では、仮想ノードを設け、複数の分解ノード間が仮想ノードを経由して接続される構造とすることで、分解ノード間のエッジを分解ノードの数と同じ1,000本のエッジで表現できる。このため、計算コスト、計算時間及びメモリを大幅に削減することができ、従来では計算困難だった複数のノードを有する大規模なグラフネットワークの処理が可能となる。仮想ノードと分解ノードとすることで、単一のノードでの自己ループは分解ノード間をエッジで接続することに相当するため完全グラフのように多重辺を発生させないため情報劣化が起こらない。 As another method for suppressing such information degradation, the occurrence of self-loops and multiple edges can also be suppressed by forming a complete graph in which all decomposition nodes are connected to each other by edges without using virtual nodes. However, a self-loop in a single node is converted to multiple edges after converting a single node into a complete graph, resulting in information degradation. Furthermore, since the relationship between decomposition nodes is a black box, a complete graph is required to maintain the relationship between the decomposition nodes. However, since the number of edges when forming a complete graph is proportional to the square of the number of decomposition nodes, the number of edges increases as the number of decomposition nodes increases, and the amount of calculation increases exponentially. For example, even for a node with a relatively small number of connected edges of 1,000, 49,950 edges between decomposition nodes are required. In contrast, in the first embodiment, a virtual node is provided and a structure is created in which multiple decomposition nodes are connected via the virtual node, so that the edges between decomposition nodes can be expressed with 1,000 edges, the same as the number of decomposition nodes. This allows for a significant reduction in calculation cost, calculation time, and memory, making it possible to process a large-scale graph network having multiple nodes that was previously difficult to calculate. By using virtual nodes and decomposition nodes, a self-loop at a single node is equivalent to connecting the decomposition nodes with an edge, so there are no multiple edges as in a complete graph, and no information degradation occurs.
なお、グラフ生成部30は、グラフデータ取得部10によって取得された第1グラフデータに基づいて上述した第2グラフを生成するものに限定されない。グラフ生成部30は、グラフデータ取得部10によって取得された第1グラフに基づいて、第1情報に対応する第1ノードと、第2情報に対応する第2ノードと、を含む複数のノードを有する部分グラフに、原ノードとしての特定ノードが置換された第2グラフを示す第2グラフデータを生成し、かつ当該第2グラフデータを、第2グラフにおいて、第1エッジが第1ノードに接続され、第2エッジが第2ノードに接続されたグラフになるように生成するものであればよい。以下に、グラフ生成部30が、グラフデータ取得部10によって取得された第1グラフデータに基づいて生成する第2グラフの他の例を示す。
The
図9Aは、実施の形態1に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフG0である。なお、図9Aに示す第1グラフG0は、グラフデータ取得部10によって取得されたグラフデータによって示されるグラフネットワークの全体であってもよいし、グラフデータ取得部10によって取得されたグラフデータによって示されるグラフネットワークの一部であってもよい。
FIG. 9A shows a first graph G0 as an example of a graph network represented by the first graph data acquired by the
例えば、図9Aに示すように、グラフデータ取得部10によって第1情報及び第2情報を有する特定ノードとしてのノードn10と、第1情報に関連付けられてノードn10に接続された第1エッジとしてのエッジe11と、第2情報に関連付けられてノードn10に接続された第2エッジとしてのエッジe12と、を有する第1グラフG0を示す第1グラフデータが取得された場合、グラフ生成部30は、第1情報に対応する第1ノードとしてのノードn15と、第2情報に対応する第2ノードとしてのノードn16と、を含む部分グラフg0’に、ノードn10が置換された第2グラフG0’を示す第2グラフデータを生成する。このとき、グラフ生成部30は、第2グラフG0’において、エッジe11がノードn15に接続され、エッジe12がノードn16に接続されたグラフになるように当該第2グラフデータを生成する。
9A, when the graph
図10A及び図10Bは、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの他の例としての第2グラフである。グラフ生成部30は、第2グラフにおいて、第1エッジが第1-1エッジと第1-2エッジに分割され、第1-1エッジの一端が第1ノードに接続され、第1-2エッジの一端が第2ノードに接続されたグラフになるように、第2グラフデータを生成するものであってもよい。
10A and 10B show a second graph as another example of a graph network represented by the second graph data generated by the
例えば、グラフデータ取得部10によって図9Aの第1グラフG0を示す第1グラフデータが取得された場合、グラフ生成部30は、図10Aに示す第2グラフG0’を示す第2グラフデータを生成してもよいし、図10Bに示す第2グラフG0’’を示す第2グラフデータを生成してもよい。第2グラフG0’’は、第1グラフG0におけるエッジe11が第1-1エッジとしてのエッジe11-1と第1-2エッジとしてのエッジe11-2に分割され、エッジe11-1の一端が第1ノードとしてのノードn15に接続され、エッジe11-2の一端が第2ノードとしてのノードn16に接続されたグラフである。
For example, when the graph
図11は、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示される図10Bのグラフネットワークの変形例としての第2グラフである。例えば、第2グラフG0’’におけるエッジe11-1及びエッジe11-2のいずれか一方又は両方のエッジは、方向性を有するエッジであってもよい。具体的には、グラフデータ取得部10によって図9Aの第1グラフG0を示す第1グラフデータが取得された場合、グラフ生成部30は、図11に示すように、エッジe11-2が方向性を有するエッジである第2グラフG0’’を示す第2グラフデータを生成してもよい。
FIG. 11 shows a second graph as a modified example of the graph network of FIG. 10B, which is shown by the second graph data generated by the
図12は、第2グラフにおいて、第1ノードと第2ノードとが新たなエッジによって接続されている他の例を示す図であって、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示される図9Bのグラフネットワークの変形例としての第2グラフである。例えば、グラフデータ取得部10によって図9Aの第1グラフG0を示す第1グラフデータが取得された場合、グラフ生成部30は、図12に示すように、第2グラフG0’’’において、一方の端部が第1ノードとしてのノードn15に接続され、他方の端部が第2ノードとしてのn16に接続された新たなエッジe10を有するグラフになるように、第2グラフデータを生成する。
FIG. 12 is a diagram showing another example in which the first node and the second node are connected by a new edge in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the
図13は、第2グラフにおいて、第1ノードと第2ノードとが新たなエッジ及び新たなノードによって接続されている他の例を示す図であって、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示される図9Bのグラフネットワークの変形例としての第2グラフである。例えば、グラフデータ取得部10によって図9Aの第1グラフG0を示す第1グラフデータが取得された場合、グラフ生成部30は、図13に示すように、第2グラフG0’’’’において、ノードn15とノードn16とを接続するための接続ノードとしてのノードn18を有するように、第2グラフデータを生成する。
FIG. 13 is a diagram showing another example in which the first node and the second node are connected by a new edge and a new node in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the
また、図14A及び図14Bは、原ノードとしての特定ノードが第1情報、第2情報及び第3情報を有している場合の他の例を示す図であって、図14Aは、実施の形態1に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフ、図14Bは、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフである。グラフ生成部30は、グラフデータ取得部10によって2以上の自然数であるN個の情報を有する原ノードを有する第1グラフを示す第1グラフデータが取得された場合、第1グラフにおいて、N個の情報のそれぞれに関連付けられた互いに異なるN個のノードを有する部分グラフに、原ノードが置換された第2グラフを示す第2グラフデータを生成する。
14A and 14B are diagrams showing another example in which a specific node as an original node has first information, second information, and third information, in which FIG. 14A is a first graph as an example of a graph network shown by first graph data acquired by
具体的には、グラフ生成部30は、図14Aに示すように、グラフデータ取得部10によって第1情報、第2情報及び第3情報を有する特定ノードとしてのノードn13と、第1情報に関連付けられてノードn13に接続された第1エッジとしてのエッジe11と、第2情報に関連付けられてノードn13に接続された第2エッジとしてのエッジe12と、を有する第1グラフG9を示す第1グラフデータが取得された場合、グラフ生成部30は、第1情報に対応する第1ノードとしてのノードn15と、第2情報に対応する第2ノードとしてのノードn16と、第3情報に対応する第3ノードとしてのノードn17と、を含む部分グラフg9’に、ノードn13が置換された第2グラフG9’を示す第2グラフデータを生成する。このとき、グラフ生成部30は、第2グラフG9’において、エッジe11がノードn15に接続され、エッジe12がノードn16に接続されたグラフになるように当該第2グラフデータを生成する。
Specifically, as shown in FIG. 14A, when the graph
また、図15A及び図15Bは、原ノードとしての特定ノードが第1情報、第2情報及び第3情報を有している場合の他の例を示す図であって、図15Aは、実施の形態1に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフ、図15Bは、実施の形態1に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフである。例えば、グラフ生成部30は、グラフデータ取得部10によって2以上の自然数であるN個のエッジが接続された原ノードを有する第1グラフを示す第1グラフデータが取得された場合、第1グラフにおいて、N個のエッジのそれぞれに対応して互いに異なるN個のノードを有する部分グラフに、原ノードが置換された第2グラフを示す第2グラフデータを生成する。なお、グラフ生成部30は、グラフデータ取得部10によって2以上の自然数であるN個のエッジが接続された原ノードを有する第1グラフを示す第1グラフデータが取得された場合、第1グラフにおいて、N個以下のエッジのそれぞれに対応して互いに異なるN個のノードを有する部分グラフに、原ノードが置換された第2グラフを示す第2グラフデータを生成するように構成されていてもよい。
15A and 15B are diagrams showing another example in which a specific node as an original node has first information, second information, and third information, in which Fig. 15A is a first graph as an example of a graph network shown by first graph data acquired by
具体的には、グラフ生成部30は、図15Aに示すように、グラフデータ取得部10によって第1情報、第2情報及び第3情報を有する特定ノードとしてのノードn13と、第1情報に関連付けられてノードn13に接続された第1エッジとしてのエッジe11と、第2情報に関連付けられてノードn13に接続された第2エッジとしてのエッジe12と、第3情報に関連付けられてノードn13に接続された第3エッジとしてのエッジe13と、を有する第1グラフG1を示す第1グラフデータが取得された場合、グラフ生成部30は、第1情報に対応する第1ノードとしてのノードn15と、第2情報に対応する第2ノードとしてのノードn16と、第3情報に対応する第3ノードとしてのノードn17と、を含む部分グラフg1’’’’に、ノードn13が置換された第2グラフG1’’’’を示す第2グラフデータを生成する。このとき、グラフ生成部30は、第2グラフG9’において、エッジe11がノードn15に接続され、エッジe12がノードn16に接続され、エッジe13がノードn17に接続されたグラフになるように当該第2グラフデータを生成する。
Specifically, as shown in FIG. 15A, when first graph data indicating a first graph G1 having node n13 as a specific node having first information, second information, and third information by the graph
以下、実施の形態1に係る情報処理装置100が行う処理についての具体例を示す。実施の形態1において、例えば、グラフネットワークを構成する情報はテキストデータとして以下のように記載できる。
ノード1;エッジ1,エッジ2,エッジ3
ノード2;エッジ3,エッジ4
この情報から、ノード1は、3つのエッジが接続されていること、及びノード2は、2つのエッジが接続されていることが分かる。また、ノード1とノード2とはエッジ3で接続されていることが分かる。
Below, a specific example of the process performed by the
From this information, it is known that three edges are connected to
また、実施の形態1に係る情報処理装置100は、例えば、3つのエッジが接続されているノード1に対して1つ以上の仮想ノードを新たに定義するとともに、ノード1に接続されているエッジと同じ数の分解ノードを新たに定義する。このため、上記のテキストデータは、以下となる。
ノード1;エッジ1,エッジ2,エッジ3
ノード2;エッジ3,エッジ4
仮想ノード1-1;
分解ノード1-1;
分解ノード1-2;
分解ノード1-3;
この時、仮想ノード及び分解ノードの名前の付け方は、グラフネットワーク内の他のノードの持つ名前と異なる限りにおいて自由に決めることができ、上記では、仮想ノード1-1、分解ノード1-1、分解ノード1-2、分解ノード1-3としている。
Furthermore, the
Virtual node 1-1;
Decomposition node 1-1;
Decomposition node 1-2;
Decomposition nodes 1-3;
In this case, the naming of the virtual nodes and decomposition nodes can be freely determined as long as they are different from the names of other nodes in the graph network. In the above, they are named virtual node 1-1, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3.
次に、情報処理装置100は、特定ノードに接続されているエッジを、各分解ノードとそれぞれ接続する。その結果、上記のテキストデータは、以下となる。
ノード1; エッジ1, エッジ2, エッジ3
ノード2; エッジ3, エッジ4
仮想ノード1-1;
分解ノード1-1; エッジ1
分解ノード1-2; エッジ2
分解ノード1-3; エッジ3
Next, the
Virtual node 1-1;
Decomposition node 1-1;
Decomposition node 1-2;
Decomposition node 1-3;
更に、情報処理装置100は、分解ノードと仮想ノードを接続する新たなエッジ(エッジ1-1, エッジ1-2, エッジ1-3)を定義する。これにより、上記のテキストデータは、以下となる。
ノード1; エッジ1, エッジ2, エッジ3
ノード2; エッジ3, エッジ4
仮想ノード1-1; エッジ1-1, エッジ1-2, エッジ1-3
分解ノード1-1; エッジ1, エッジ1-1
分解ノード1-2; エッジ2, エッジ1-2
分解ノード1-3; エッジ3, エッジ1-3
Furthermore, the
Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
Decomposition node 1-1;
Decomposition node 1-2;
Decomposition node 1-3;
この接続情報から、情報処理装置100は、3つ以上のエッジが接続されている特定ノードとエッジとの接続を除去する。これにより、上記のテキストデータは、以下となる。
ノード1;
ノード2; エッジ3, エッジ4
仮想ノード1-1; エッジ1-1, エッジ1-2, エッジ1-3
分解ノード1-1; エッジ1, エッジ1-1
分解ノード1-2; エッジ2, エッジ1-2
分解ノード1-3; エッジ3, エッジ1-3
From this connection information, the
Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
Decomposition node 1-1;
Decomposition node 1-2;
Decomposition node 1-3;
更に、情報処理装置100は、不要である3つ以上のエッジが接続されていた特定ノードを除去する。これにより、上記のテキストデータは、以下となる。
ノード2; エッジ3, エッジ4
仮想ノード1-1; エッジ1-1, エッジ1-2, エッジ1-3
分解ノード1-1; エッジ1, エッジ1-1
分解ノード1-2; エッジ2, エッジ1-2
分解ノード1-3; エッジ3, エッジ1-3
Furthermore, the
Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
Decomposition node 1-1;
Decomposition node 1-2;
Decomposition node 1-3;
以上の処理によって、3つのエッジが接続されていた特定ノードの情報が、仮想ノードと分解ノード1-1,分解ノード1-2,分解ノード1-3に移され、実施の形態1に係る処理は完了する。この処理により特定ノードを、情報劣化の主な原因である2つのノード間に複数のエッジがある多重辺と、1つのノードを起点として他のノードを経由せずに同じノードを終点とする自己ループを持たないノードに変換することができる。特に、多重辺や自己ループは、深層学習の一手法であるグラフニューラルネットワークで学習及び推論する際、情報劣化の原因となる。 By the above processing, the information of the specific node to which the three edges were connected is transferred to the virtual node, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3, and the processing related to the first embodiment is completed. This processing makes it possible to convert the specific node into a node that does not have multiple edges, which are the main cause of information degradation, between two nodes, and a self-loop that starts at one node and ends at the same node without passing through other nodes. In particular, multiple edges and self-loops cause information degradation when learning and inferring with a graph neural network, which is a method of deep learning.
これは、グラフニューラルネットワーク処理において、各ノードが自分自身のノードの特徴を示すノード属性を次の隠れ層に伝搬させるために自己ループを持たないノードに対しても自己ループを形成するためである。このため、グラフネットワークとして存在していた自己ループの情報は、残らないか、グラフネットワーク内の自己ループが持つ情報量が低下(自己ループが1つか2つの違いよりも、自己ループの有無の方が情報量として大きいため、相対的に情報量が低下)する。また多重辺において、グラフニューラルネットワークは、重み行列を設けた後に0から1の間、または-1から1の間の実数に反応しやすい活性化関数を設けるため、エッジがない0とエッジがある1の差は1となるのに対して、多重辺である1つのエッジと2つのエッジの活性化関数の出力の差は例えば0と0.1のように差が小さくなる。 This is because in graph neural network processing, each node forms a self-loop even for nodes that do not have a self-loop in order to propagate the node attributes that indicate the characteristics of its own node to the next hidden layer. As a result, the information of the self-loop that existed in the graph network does not remain, or the amount of information contained in the self-loop in the graph network decreases (the amount of information decreases relatively because the presence or absence of a self-loop is greater than the difference between one or two self-loops). Also, for multiple edges, the graph neural network sets up an activation function that is sensitive to real numbers between 0 and 1 or -1 and 1 after setting up a weight matrix, so while the difference between 0 with no edge and 1 with an edge is 1, the difference in the output of the activation function for one edge and two edges that are multiple edges will be small, for example, 0 and 0.1.
グラフニューラルネットワークでの処理を具体的に述べると、入力にはグラフネットワークを表現する一手法として隣接行列が用いられる。隣接行列は、ノードの数と同数の行と列を持つ正方行列で表現され、各列及び各行にノードのIDが割り振られる。隣接行列において接続があるノードとノードのIDが交差する要素は1、接続がないノード間の要素は0として表現される。このため、自己ループがない隣接行列は、対角成分が0となる。また、多重辺の場合のノード間の要素は、多重辺の数に応じて2や3とすることもできる。 To be more specific about processing in a graph neural network, an adjacency matrix is used for the input as a method of representing a graph network. An adjacency matrix is expressed as a square matrix with the same number of rows and columns as the number of nodes, and a node ID is assigned to each column and row. In an adjacency matrix, elements where connected nodes and node IDs intersect are expressed as 1, and elements between nodes with no connection are expressed as 0. For this reason, an adjacency matrix with no self-loops has diagonal elements of 0. Also, in the case of multiple edges, the elements between nodes can be 2 or 3 depending on the number of multiple edges.
しかしながら、多くのグラフニューラルネットワークのアルゴリズムでは、接続の有無のみで隣接するノード間の属性情報を組み合わせる(埋め込みや縮約)処理が行われるため、接続数を考慮するのは困難である。このため、例えば、接続数が2の場合、多重辺のノード属性情報を2倍の重みを施して隣のノードに埋め込むような操作はせず、学習によって得られる重み行列によって隣接するノード間のノード属性情報の重み付けが決められる。技術的には、接続数2の多重辺の結合を2倍強くするなど恣意的に強めることが可能であるが、人の先入観を入れることになるため望ましくない。これは、例えば、分子構造をグラフネットワークとして考え、炭素と水素をノード、各原子間の結合をエッジとしたとき、1重結合のエタンと、2重結合のエチレン、3重結合のアセチレンを比較したとき、2重結合と3重結合を持つ分子は多重辺を持つ分子として考えられる。 However, in many graph neural network algorithms, the attribute information between adjacent nodes is combined (embedding or contraction) based only on the presence or absence of connections, making it difficult to take the number of connections into account. For this reason, for example, when the number of connections is 2, the node attribute information of the multiple edges is not weighted twice and embedded in the adjacent node, but the weighting of the node attribute information between adjacent nodes is determined by the weight matrix obtained by learning. Technically, it is possible to arbitrarily strengthen the bonds of multiple edges with a connection number of 2, for example by making them twice as strong, but this is not desirable as it introduces human preconceptions. For example, when considering a molecular structure as a graph network, with carbon and hydrogen as nodes and bonds between each atom as edges, when comparing ethane with a single bond, ethylene with a double bond, and acetylene with a triple bond, molecules with double and triple bonds can be considered as molecules with multiple edges.
このとき、エタン、エチレン、アセチレンの結合エネルギーにおいても331kJ/mol,591kJ/mol,827kJ/molと結合の数に応じて2倍、3倍とはならなないことからも明らかである。このため、多重辺においても結合の強さはデータセットを用いた学習によって習得される必要がある。従来の方法では多重辺を持たせることが困難であったが、実施の形態1では、多重辺を用いずに単純グラフとして多重辺を表現できる。 In this case, it is also clear that the bond energies of ethane, ethylene, and acetylene are 331 kJ/mol, 591 kJ/mol, and 827 kJ/mol, respectively, and do not double or triple depending on the number of bonds. For this reason, even in the case of multiple edges, the bond strength must be acquired by learning using a data set. With conventional methods, it was difficult to have multiple edges, but with the first embodiment, multiple edges can be expressed as a simple graph without using multiple edges.
また、自己ループについては、グラフニューラルネットワークでは、隣接するノードの間を重み付き平均でノード属性情報を更新する処理が行われるが、その際、次の隠れ層に自分自身のノードの属性値を伝搬させる必要がある。このような処理のため、自己ループを全てのノードに対して設ける必要があり、自己ループのないノードについても処理時に自己ループを形成する。つまり、すでに自己ループがあるノードについては2つ以上の自己ループを形成するが、多重辺同様、自己ループの数が2つ以上になってもノードの属性の要素を恣意的に2倍以上とする技術的な根拠はないため、自己ループを持つグラフネットワークの情報をグラフニューラルネットワークで情報劣化なく処理することは困難である。 In addition, regarding self-loops, graph neural networks update node attribute information between adjacent nodes using a weighted average, but in doing so, it is necessary to propagate the attribute value of the node itself to the next hidden layer. For this type of processing, self-loops must be created for all nodes, and self-loops are also formed during processing for nodes that do not have self-loops. In other words, two or more self-loops are formed for nodes that already have self-loops, but just as with multiple edges, there is no technical basis for arbitrarily doubling or more the element of a node's attributes even if the number of self-loops becomes two or more, so it is difficult for a graph neural network to process information from a graph network with self-loops without information degradation.
特に、隠れ層が1層の場合には、自己ループや多重辺に対して特別な処理を加え、情報劣化を起こしにくくすることが比較的容易であるが、隠れ層が2層以上になると隣接ノードとの組み合わせの数が増大し、特別な処理結果も平均化されていくため特別な処理が困難となり情報劣化を防ぐことは難しい。このように、自己ループや多重辺はグラフニューラルネットワークでは情報劣化を起こす原因になる。以上の理由により、自己ループや多重辺を隣接行列とする前に仮想ノードと分解ノードに分解する実施の形態1で示す方法はグラフネットワークやグラフニューラルネットワークを含むグラフ処理において情報劣化を起こしにくくする顕著な効果を有する。
In particular, when there is one hidden layer, it is relatively easy to apply special processing to self-loops and multiple edges to make information degradation less likely to occur, but when there are two or more hidden layers, the number of combinations with adjacent nodes increases and the results of special processing are averaged out, making special processing difficult and making it hard to prevent information degradation. In this way, self-loops and multiple edges cause information degradation in graph neural networks. For the above reasons, the method shown in
グラフネットワークとして表現されるデータとして、上記の分子構造の例以外にも、例えば、以下のようなものが考えられる。
・ソーシャルネットワーク(Social Networks)
・論文の引用(Citation Networks)
・Webページのハイパーリンク関係(Web Networks)
・商品と購買者の関係(Online Review Networks)
・交通網(Road Networks, Traffic Networks)
・知識グラフ(Knowledge Graph)
In addition to the above molecular structure examples, the following data can be considered as data that can be expressed as a graph network.
・Social Networks
・Citation of papers (Citation Networks)
- Hyperlink relationships between Web pages (Web Networks)
・Relationship between products and buyers (Online Review Networks)
・Road Networks, Traffic Networks
・Knowledge Graph
また、グラフネットワークとして表現される電気工学に関するデータとして、以下のようなものが考えられる
・電気回路
・モデルベース開発
・有限要素法や差分法などのメッシュ構造を用いた物理シミュレーション
In addition, examples of electrical engineering data that can be expressed as graph networks include: Electrical circuits Model-based development Physical simulations using mesh structures such as finite element methods and finite difference methods
例えば、ソーシャルネットワークにおいて、ユーザをノード、ユーザ間の繋がりをエッジとすると、ノード属性情報は、ユーザ情報である名前、性別、国籍などの情報と考えられる。論文の引用においては、論文をノード、論文の引用及び被引用をエッジとすると、ノード属性情報は各論文の内容やキーワードと考えられる。Webページにおいてはホームページをノード、ホームページ間のハイパーリンクをエッジとすると、ノード属性情報は、Webページの内容や更新情報となる。商品と購買者の関係においては、商品や購買者をノード、商品と購買者の関係をエッジとすると、ノードは、商品の情報や、ユーザの購入履歴となる。交通網においては交差点をノード、交差点間の道路をエッジとすると、ノード属性情報は、交差点の待ち時間や交通量となる。知識グラフにおいては、固有名詞をノード、固有名詞間の繋がりをエッジとすると、ノード属性情報は、キーワードとなる。また、回路においては、回路部品をノード、回路部品間の配線をエッジとすると、ノード属性情報は、回路部品の型番や回路定数となる。モデルベース開発においては、各開発ブロックをノード、各開発ブロック間を接続するフローをエッジとすると、ノード属性情報は、各開発ブロックの進捗や物理特性となる。メッシュ構造を用いた物理シミュレーションにおいては、メッシュの頂点をノード、頂点間の接続をエッジとすると、ノード属性情報は、頂点の座標や材料定数となる。 For example, in a social network, if users are nodes and connections between users are edges, node attribute information can be considered as user information such as name, gender, and nationality. In the case of citing papers, if papers are nodes and citing and cited papers are edges, node attribute information can be considered as the contents and keywords of each paper. In the case of web pages, if homepages are nodes and hyperlinks between homepages are edges, node attribute information is the contents and update information of the web pages. In the case of the relationship between products and purchasers, if products and purchasers are nodes and the relationship between products and purchasers is edges, nodes are product information and user purchase history. In a transportation network, if intersections are nodes and roads between intersections are edges, node attribute information is the waiting time and traffic volume at the intersection. In a knowledge graph, if proper nouns are nodes and connections between proper nouns are edges, node attribute information is keywords. In a circuit, if circuit components are nodes and wiring between circuit components is edges, node attribute information is the model number and circuit constants of the circuit components. In model-based development, if each development block is considered a node and the flows connecting each development block are considered edges, then the node attribute information represents the progress and physical properties of each development block. In physical simulations using mesh structures, if the vertices of the mesh are considered nodes and the connections between the vertices are considered edges, then the node attribute information represents the coordinates of the vertices and material constants.
また、グラフネットワークは、非ユークリッド空間での処理を可能にするものであるため、非ユークリッド空間の部分集合であるユークリッド空間情報である画像や音声、自然言語などの処理も全てグラフネットワークとして表現することが可能である。このため、これらのデータに対してグラフネットワークに変換する処理を加え、実施の形態1で示す方法を適用してもよい。例えば、音声や自然言語においては、一つの単語が他の単語と密接に関係していることをアテンション(Attention)やトランスフォーマー(Transformer)などの技術を用いることで算出することができる。これらの技術により、1つの単語が3つ以上の単語と関係を持つとき、実施の形態1で示した方法を用いることができる。
In addition, because graph networks enable processing in non-Euclidean space, it is possible to represent all processing of Euclidean space information, such as images, voice, and natural language, which are subsets of non-Euclidean space, as graph networks. For this reason, processing to convert this data into a graph network may be added, and the method shown in
なお、実施の形態1において、上述した例に限らず、名詞として定義できるものであれば、多様な要素をノードで示すことができる。また、2つ以上のノードが存在するグラフネットワークにおいて、これらノード間に関連がある場合に、当該関連性をエッジで示すことができる。特に、論文の引用及び被引用の関係のように、2つのノード間に一方向の関係がある場合、エッジに向きを持たせる有向グラフとして定義してもよい。 In the first embodiment, various elements can be represented by nodes, not limited to the above examples, as long as they can be defined as nouns. Furthermore, in a graph network having two or more nodes, if there is a relationship between these nodes, the relationship can be represented by an edge. In particular, if there is a unidirectional relationship between two nodes, such as the relationship between citing and being cited of a paper, the edge may be defined as a directed graph, giving direction to the edge.
なお、実施の形態1におけるグラフネットワークは、隣接行列、又はテキスト情報、具体的には、リレーショナルデータベース又はJSON(JavaScript Object Notation)、XML、表形式等を想定しているが、Matlab、Python等の言語に固有の独自の保存形式(バイナリデータ)等、人の可読性を問わず最終的にグラフネットワークとして表現できるものであれば、どのような形式であっても構わない。また、それらをUSBメモリ、ハードディスク、SSD等の記憶媒体にデータベースとして保存し、処理時にDRAM、GPU上のメモリ(グラフィックスメモリ(VRAM))に読み込み、CPUやGPU、ASIC、FPGAなどの処理装置によってグラフネットワークに変換して処理する。また、処理結果をメモリに格納し、データベースとして保存することや、人が理解できるように視覚的にグラフネットワークや出力結果を表示すること、他の情報処理装置に送付することなどによって出力する。これらデータの保存方法は、互いに可逆変換の関係にあるため、実施の形態1では可読性を重視し、テキストとして保存される場合を想定している。例えば、グラフネットワークは、ノードを基準としてテキストデータによって以下のように表記することができる。
ノード1;エッジ1,エッジ2
ノード2;エッジ1,エッジ3
In addition, the graph network in the first embodiment is assumed to be an adjacency matrix or text information, specifically, a relational database or JSON (JavaScript Object Notation), XML, a table format, etc., but any format may be used as long as it can be expressed as a graph network regardless of human readability, such as a unique storage format (binary data) specific to a language such as Matlab or Python. In addition, they are stored as a database in a storage medium such as a USB memory, a hard disk, or an SSD, and are read into a memory on a DRAM or a GPU (graphics memory (VRAM)) during processing, and are converted into a graph network and processed by a processing device such as a CPU, a GPU, an ASIC, or an FPGA. In addition, the processing results are stored in a memory and output by saving as a database, visually displaying a graph network or output results so that a person can understand, or sending them to another information processing device. Since these data saving methods are in a reversible conversion relationship with each other, in the first embodiment, it is assumed that the data is saved as text, with emphasis on readability. For example, a graph network can be expressed as follows using text data with nodes as the basis:
また、グラフネットワークは、エッジを基準にして以下のように表記することもできる。
エッジ1;ノード1,ノード2
エッジ2;ノード1
エッジ3;ノード2
Graph networks can also be written in terms of edges as follows:
これらは互いに可逆変換の関係にあるため、実施の形態1では理解が容易なノードを基準として表記する。なお、ノードとエッジとの間を”;”によって区切って表記するが、これはスペースや他の文字など、決められた記載方法であればどのようなものであっても構わない。 Since these are mutually reversible, in the first embodiment, they are represented based on nodes, which are easy to understand. Note that nodes and edges are represented by separating them with a ";", but any other specified notation method, such as spaces or other characters, can be used.
また、実施の形態1に係る情報処理装置100は、3つ以上のエッジが接続されているノードを抽出し、当該ノードを分解する処理を行うが、2つ以下のエッジが接続されたノードについては、ノードを分解する処理を行わないように構成されていてもよいし、3つ以上のエッジが接続されているノードと同様に、分解する処理を行うように構成されていてもよい。
In addition, the
また、仮想ノードは、1つ以上設けることが望ましい。例えば、グラフニューラルネットワークにおいては、仮想ノードを増やすことで、重み行列が乱数で生成され、仮想ノードごとの特徴を示すことが可能になるため、グラフネットワークが持つ表現力を向上させることができる。一方、仮想ノードの数が増加することでエッジの数が増加し、情報処理装置100の計算量が増大するため、多くの場合、情報処理装置100は、生成する仮想ノードを3点以下にするように構成されていることが望ましい。例えば、1つの特定ノードに10本のエッジが接続されており、当該特定ノードを10個の分解ノードに分解する場合、仮想ノードが1つの場合には10本のエッジ、2つの場合には20本のエッジ、3つの場合には30本のエッジが必要となる。また、仮想ノードが4つの場合には40本のエッジが必要となり、仮想ノードを用いない場合の45本(10個から2個を選択する組合せ数)と同程度のエッジが必要となる。更に、仮想ノードが4つ増えることによる計算量を考慮すると、上記の例では計算量は4つの仮想ノードを用いた場合と、仮想ノードを用いない場合と、が同程度となり、仮想ノードを用いる効果が低減する。そのため、仮想ノードによって実現できる計算量やメモリ使用量を小さくできる特徴を生かすには一つのノードに対する仮想ノードの上限の個数が存在する。
Furthermore, it is desirable to provide one or more virtual nodes. For example, in a graph neural network, by increasing the number of virtual nodes, the weight matrix is generated by random numbers, and it is possible to show the characteristics of each virtual node, so that the expressive power of the graph network can be improved. On the other hand, since the number of edges increases as the number of virtual nodes increases, and the amount of calculation of the
一般に、特定ノードに接続されるエッジの数をN本、仮想ノードの数をK個とすると、Kは、N×(N-1)/2>>K×N+K×(K-1)/2 となるように設定されることが望ましい。また、”>>”は10倍以上であることが望ましい。ただし、ノード数が4個以下である場合には、10倍以上にはできないものの仮想ノードを1つとして良い。この式は、仮想ノードを用いずに分解したN×(N-1)/2本のエッジの数が、仮想ノードと分解ノードとの間の接続K×Nと、仮想ノード間の接続K×(K-1)/2よりも十分に小さくなることを意味する。例えば分解ノードが100個の場合には4550>>100×K+K×(K-1)/2となり、“>>”を10倍とするとKが4の場合は100×K+K×(K-1)/2は406となり、Kが5の場合は510であるため、Kは4まで選択可能となる。ただし、連結グラフにおいては、計算量は、Kが大きくなるほど指数関数的に大きくなるため、Kは可能な限り小さいことが望ましい。また、仮想ノード間を接続することで分解ノード間の経路数が増えるためグラフニューラルネットワークの収束が早くなり、学習が高速化するメリットがある。一方で、特に特定ノードが複数のドメイン情報を有するとき仮想ノードごとの特徴が失われ、表現力が低下しやすくなるデメリットがある。このため各特定ノードが多くのドメイン情報が複数ある場合や、分解ノードの数が例えば100以上となる場合には、仮想ノード間は必ずしも接続する必要はなく、上記のKをN×(N-1)/2 >>K×N を満たすようにすればよく、その際には連結グラフが生じないため計算量を大幅に低減することができる。 In general, if the number of edges connected to a specific node is N and the number of virtual nodes is K, then it is desirable to set K so that N x (N-1)/2 >> K x N + K x (K-1)/2. It is also desirable that ">>" is 10 times or more. However, if the number of nodes is four or less, it is acceptable to have one virtual node, although it cannot be 10 times or more. This formula means that the number of N x (N-1)/2 edges decomposed without using virtual nodes is sufficiently smaller than the K x N connections between virtual nodes and decomposition nodes and the K x (K-1)/2 connections between virtual nodes. For example, if there are 100 decomposition nodes, then 4550 >> 100 x K + K x (K-1)/2. If ">>" is 10 times, then 100 x K + K x (K-1)/2 is 406 when K is 4, and 510 when K is 5, so K can be selected up to 4. However, in a connected graph, the amount of calculation increases exponentially as K increases, so it is desirable to make K as small as possible. In addition, by connecting virtual nodes, the number of paths between decomposition nodes increases, which has the advantage of accelerating the convergence of the graph neural network and speeding up learning. On the other hand, there is a disadvantage that the characteristics of each virtual node are lost, especially when a specific node has multiple domain information, and the expressiveness is likely to decrease. For this reason, when each specific node has multiple domain information, or when the number of decomposition nodes is, for example, 100 or more, it is not necessary to connect virtual nodes, and it is sufficient to set the above K to satisfy N x (N-1)/2 >> K x N, in which case a connected graph is not generated and the amount of calculation can be significantly reduced.
上記において、仮想ノード間を接続する場合、及び仮想ノード間を接続しない場合は、いずれも多重辺及び自己ループを抑制し、従来にない特別な効果を奏する。特に仮想ノードの数が1の場合には、計算量を最も低減させることができるため、多くのデータセットにおいて計算量低減と情報劣化低減とを同時に実現できる顕著な効果を得ることができる。また、仮想ノードが2つの場合には、一つの分解ノードから第1仮想ノードと第2仮想ノードとを伝搬する閉路が作られる特徴があり、外部のノードやエッジの接続に依存せず一つのノードに基づいて生成される仮想ノードと分解ノードとで閉じた特性を分析することもできる。これは、例えばグラフニューラルネットワークにおいて、1つのノードが持つ情報がグラフネットワークの特徴量を表現する上で支配的になる場合に顕著な効果を得ることができる。
なお、特徴量とは、入力した学習用データまたはテスト用データの中で、学習用データまたはテスト用データが持つ正解ラベルを予測するための手掛かりとなる数値群を指す。この特徴量はグラフニューラルネットワークの枠組みの中で獲得でき、クラス分類問題は、これらの特徴量を全結合層に入力してクラス数と同じ数の値を出力して、logソフトマックス関数またはソフトマックス関数のようなクラス分類で用いる活性化関数を出力層直前に施すことで実現できる。回帰問題は、これらの特徴量を全結合に入力して1つの数値として出力することで実現できる。また、クラス分類または回帰問題のように正解ラベルを持つ場合だけでなく、オートエンコーダのように特徴量を抽出するグラフニューラルネットワークと特徴量から入力データを復元する深層学習とを組み合わせること、あるいはノード属性またはエッジ属性を隠して(マスクして)、隠した値を予測する教師なし学習である自己教師あり学習もできる。このように、特徴量は入力したデータに対して深層学習の枠組みで非線形関数を施すことで得た入力データの特徴を抽象的に表した数値群であり、特徴量自体は人が理解できないものの、正解との差を出力する損失関数と組み合わせて学習することにより、データから入力データの特徴を捉えることができる。
In the above, when the virtual nodes are connected and when the virtual nodes are not connected, multiple edges and self-loops are suppressed, and a special effect not seen in the past is achieved. In particular, when the number of virtual nodes is one, the amount of calculation can be reduced the most, so that a remarkable effect can be obtained in which the amount of calculation and information degradation can be reduced simultaneously in many data sets. In addition, when there are two virtual nodes, there is a feature that a closed path is created that propagates from one decomposition node to the first virtual node and the second virtual node, and it is also possible to analyze the characteristics closed with the virtual node and the decomposition node generated based on one node without relying on the connection of external nodes or edges. This can have a remarkable effect, for example, in a graph neural network, when the information possessed by one node becomes dominant in expressing the feature amount of the graph network.
The feature refers to a set of values that serve as a clue for predicting the correct label of the learning data or test data among the input learning data or test data. This feature can be acquired within the framework of a graph neural network, and a classification problem can be realized by inputting these feature values to a fully connected layer, outputting the same number of values as the number of classes, and applying an activation function used in classification, such as a log softmax function or a softmax function, immediately before the output layer. A regression problem can be realized by inputting these feature values to a fully connected layer and outputting them as a single numerical value. In addition to cases where a correct label is present, such as in a classification or regression problem, a graph neural network that extracts features, such as an autoencoder, can be combined with deep learning that restores input data from features, or self-supervised learning, which is unsupervised learning that hides (masks) node attributes or edge attributes and predicts the hidden value, can also be performed. In this way, features are a group of numbers that abstractly represent the characteristics of the input data obtained by applying a nonlinear function to the input data within the framework of deep learning. Although the features themselves cannot be understood by humans, by learning them in combination with a loss function that outputs the difference from the correct answer, it is possible to capture the characteristics of the input data from the data.
また、分解ノードは、特定ノードに接続されているエッジの本数と同数であることが望ましい。なお、上記の論文及び本の例で示したように、ドメインごとに異なる分解ノードを用いることが目的であるため、特定ノードが持つドメインに対して共通のドメインとみなせる分解ノードは、自己ループ及び多重辺が発生しない場合には、1つの分解ノードとして集約してもよい。例えば、本の2章と3章とを一つの分解ノードとして表現してもよい。また、エッジを介して仮想ノード以外のノードと接続されていない分解ノードを定義してもよく、例えば、これは引用のない章に対応する。分解ノードの名称は、例えば、上記のソーシャルネットワークの場合、製品1、製品2、製品3、論文の引用の場合には3章、4章を有するとしたが、分解ノードが持つノード属性情報の要素の一部に、名称と実数または整数とが対応した表を定義し、実数または整数に置き換えて付与すること、及び分解ノードの名前の一部に製品1などとドメイン情報が判定できる情報を付与することで、グラフネットワークに変換する際の情報劣化を更に減らすことができる。これは、本を例にすれば、論文を引用していない5章を分解ノードとしてもよいことを示しており、これにより、5章を引用する他の論文や本が出版されたときに、本の仮想ノードと分解ノードを新たに定義し直す必要がないという効果が得られる。また、本が5章を持つことがグラフ構造のみから抽出できる。このことは、グラフを回路として半導体を対象とした場合において半導体は端子番号が機能を表すため、配線接続のない分解ノードにも情報がある。そのため、このような配線接続のない端子をノードとして残すことで半導体をグラフ構造のみから再現できる従来にない顕著な効果が得られる。
Furthermore, it is desirable that the number of decomposition nodes is the same as the number of edges connected to a specific node. As shown in the above examples of papers and books, since the purpose is to use different decomposition nodes for each domain, decomposition nodes that can be considered as a common domain to the domains of specific nodes may be aggregated into one decomposition node if self-loops and multiple edges do not occur. For example,
仮想ノードと分解ノードとの接続は、例えば、新たに定義したエッジによって行う。仮想ノードが2つ以上ある場合には、分解ノードとそれぞれの仮想ノードとの間をエッジで接続する。ただし、グラフネットワークは、隣接行列や接続行列で表現したとき、0と0以外の実数または整数で表すことができるため、必ずしも図示可能なデータである必要はない。また、2つ以上の仮想ノード間は、エッジで接続しなくてもよいが、エッジで接続する場合は、仮想ノード間のエッジが指数関数的に増加するため、仮想ノードの数は4点以下、望ましくは3点以下とするのがよい。 The virtual nodes and decomposition nodes are connected, for example, by newly defined edges. When there are two or more virtual nodes, the decomposition nodes are connected to each other by edges. However, when a graph network is represented as an adjacency matrix or connectivity matrix, it can be represented by real numbers or integers other than 0, so it does not necessarily have to be data that can be illustrated. Also, two or more virtual nodes do not have to be connected by edges, but if they are connected by edges, the number of edges between virtual nodes increases exponentially, so the number of virtual nodes should be four or less, preferably three or less.
例えば、特定ノードとエッジとの接続除去は、特定ノードに接続されているエッジを分解ノードと接続した後、または接続と同時に行う。この場合、特定ノードに接続されているエッジは全て分解ノードに接続されるため、特定ノードとエッジとの情報は、情報劣化なく分解ノードとエッジとの情報に移される。このため、特定ノードとエッジとの情報は不要となり、当該情報を削除しても情報劣化は起こらない。 For example, the connection between a specific node and an edge is removed after the edge connected to the specific node is connected to the decomposition node, or at the same time as the connection. In this case, all edges connected to the specific node are connected to the decomposition node, so the information between the specific node and the edge is transferred to the information between the decomposition node and the edge without any information degradation. Therefore, the information between the specific node and the edge is no longer necessary, and even if that information is deleted, no information degradation occurs.
例えば、特定ノードの削除は、特定ノードとエッジとの接続除去が完了した後に行う。特定ノードとエッジとの接続除去が完了すると、特定ノードにはエッジが1つも接続されていない状態となるため、エッジとの接続がない特定ノードを除去しても情報劣化は発生しない。 For example, a specific node is deleted after the connection between the specific node and an edge has been removed. Once the connection between the specific node and an edge has been removed, the specific node will no longer have any edges connected to it, so no information degradation will occur even if a specific node that has no connections to edges is removed.
例えば、ドメインは、クラスに分類可能なデータにおいて各クラスを指す。このとき実施の形態1のグラフネットワークの企業の例においては、製品ごと、すなわち製品1、製品2、製品3としてクラスに分類できるためドメインとなる。更に製品と売り上げの2つの系統がある場合、製品に関するドメインと、売り上げに関するドメインとに分けて考えることで、系統が異なるドメインごとに分解ノードを分けてもよい。また、例えば、実施の形態1における系統とは異なる種類または次元に属するデータを示すための直交座標系において、x軸とy軸とz軸の大小を混ぜて一つの系統とすることはできないため、ドメインを、x軸を1系統、y軸を1系統、z軸を1系統とする3つの系統としてもよい。また、製品に関しては、値段に関するドメインと在庫に関するドメインとを混ぜて一つの系統とすることはできないため、ドメインを、値段を1系統、在庫を1系統としてもよい。
For example, a domain refers to each class in data that can be classified into classes. In the example of a company in the graph network of the first embodiment, each product can be classified into a class, i.e.,
なお、実施の形態1において、仮想ノードと分解ノードとはスターグラフ(Star graph)の関係にあり、実施の形態1に係る情報処理装置100は、複数のエッジが接続された特定ノードをスターグラフ表現に変換する処理を行うように構成されているものであるといえる。例えば、このようなスターグラフは、N(例えば、3以上の自然数)個の端子を持つ多端子部品の各端子を識別するための情報に対応する複数の仮想ノードと、接続ノードとしての分解ノードと、これらを接続する複数のエッジと、によって構成される。このように特定ノードに基づいて生成されるスターグラフのグラフ構造は、仮想ノードと分解ノードとが1本のエッジで接続され、かつ複数の分解ノード間は接続されない構造となる。このため、1つの分解ノードから異なる分解ノードにノード属性情報が移動するには仮想ノードを経由する必要があり、更に仮想ノードには分解ノードのみが接続された構造となる特徴がある。
In the first embodiment, the virtual node and the decomposition node are in a star graph relationship, and the
以上、実施の形態1に係る情報処理装置100は、第1情報及び第2情報を有する特定ノードと、第1情報に関連付けられて第1ノードに接続された第1エッジと、第2情報に関連付けられて第1ノードに接続された第2エッジと、を有する第1グラフを示す第1グラフデータを取得するグラフデータ取得部10と、第1グラフにおいて、第1情報に対応する分解ノードである第1ノードと、第2情報に対応する分解ノードである第2ノードと、を含む複数のノードと、複数のノードを互いに接続するエッジと、を有する部分グラフに、特定ノードが置換された第2グラフを示す第2グラフデータを生成するグラフ生成部30と、を備え、グラフ生成部30は、第2グラフにおいて、第1エッジが第1ノードに接続され、第2エッジが第2ノードに接続されたグラフネットワークになるように、第2グラフデータを生成する。
As described above, the
このように構成されて、情報処理装置100は、グラフネットワークのノードが複数の情報を有している場合に、当該ノードを、当該複数の情報に対応する分解ノードを含む複数のノードを有する部分グラフに置換したグラフネットワークを示すデータを生成するので、グラフネットワークに対する処理を行った際の情報の劣化を抑制することができる。なお、当該部分グラフは、全てのノードが互いに接続されている1つのグラフによって構成されているものに限らず、互いに独立した複数のグラフによって構成されていてもよい。
When configured in this manner, the
実施の形態2.
次に、図16乃至図22を参照して、実施の形態2に係る情報処理装置100について説明する。実施の形態2に係る情報処理装置100は、実施の形態1に係る情報処理装置100と比較してグラフデータに対して行う一部の処理が異なるが、構成については同様であり、実施の形態1と同様の構成については、同一の符号及び同一の名称を付して説明を省略する。
Next, an
図16は、実施の形態2に係る情報処理装置100が行う処理の一例を示すフローチャートである。実施の形態1に係る情報処理装置100は、ステップST11の処理において第1グラフデータを取得後、第1グラフから、3つ以上のエッジが接続されているノードを特定ノードとして抽出するが、実施の形態2に係る情報処理装置100は、ステップST11の処理において第1グラフデータを取得後、第1グラフから、2つのエッジが接続されているノード(2端子接続点)を特定ノードとして抽出する(ステップST32)。
FIG. 16 is a flowchart showing an example of processing performed by the
図17Aは、実施の形態2に係る情報処理装置100によって取得される第1グラフデータによって示される一例としての第1グラフG2である。ステップST32の処理を行うと、情報処理装置100は、ステップST32の処理において第1グラフから特定ノードを抽出できたか否かを判定する(ステップST33)。第1グラフが特定ノードを有していた場合(ステップST33のYES)、情報処理装置100は、抽出したいずれかの特定ノードが有する情報に基づいて、複数の新たなノードを生成する(ステップST34)。
FIG. 17A shows a first graph G2 as an example shown by the first graph data acquired by the
図17Bは、実施の形態2に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフである。例えば、図17Aに示すように、第1グラフG2が、2つのエッジが接続されているノードn21を有していた場合、ステップST34の処理において、情報処理装置100は、図17Bに示すように、当該ノードn21が有する、ノードn21に接続されているエッジe21及びエッジe22に対応する情報に基づいて、分解ノードであるノードn22及びノードn23を生成する。ステップST34の処理を行うと、情報処理装置100は、分解ノードであるノードn22及びノードn23にエッジを接続する(ステップST35)。例えば、この処理において、情報処理装置100は、ノードn22とノードn23とを新たなエッジe23で接続すると共に、エッジe21をノードn22に接続し、エッジe22をノードn23に接続する。以下のステップST36及びステップST17の処理は、実施の形態1と同様であるため、説明を省略する。
17B is a second graph as an example of a graph network represented by the second graph data generated by the
実施の形態2においても、実施の形態1同様に、グラフネットワークがテキストまたは隣接行列による接続情報として得られている場合、当該接続情報から2つ以上のエッジが接続された2端子接続点を抽出することができる。例えば、テキスト形式において以下の接続情報があった時、ノード1とノード2はそれぞれ2つ以上のエッジが接続された2端子接続点となるため、例えばノード1を2端子接続点1、ノード2を2端子接続点2とできる。
ノード1; エッジ1, エッジ2, エッジ3
ノード2; エッジ3, エッジ4
In the second embodiment, similarly to the first embodiment, when a graph network is obtained as connection information by a text or an adjacency matrix, two-terminal connection points to which two or more edges are connected can be extracted from the connection information. For example, when the following connection information is in text format,
次に、それぞれの2端子接続点に対して、2つの2端子分解点を定義する。その結果、以下となる。
2端子接続点1; エッジ1, エッジ2, エッジ3
2端子接続点2; エッジ3, エッジ4
2端子分解点1-1;
2端子分解点1-2;
2端子分解点2-1;
2端子分解点2-2;
Next, for each two-terminal connection point, we define two two-terminal decomposition points, which results in:
2-
2-
2-terminal decomposition point 1-1;
2-terminal decomposition point 1-2;
2-terminal decomposition point 2-1;
2-terminal decomposition point 2-2;
そして、2端子接続点に接続されているエッジを2端子分解点と接続することで以下となる。
2端子接続点1; エッジ1, エッジ2, エッジ3
2端子接続点2; エッジ3, エッジ4
2端子分解点1-1; エッジ1, エッジ2
2端子分解点1-2; エッジ3
2端子分解点2-1; エッジ3
2端子分解点2-2; エッジ4
Then, by connecting the edges connected to the two-terminal connection points to the two-terminal decomposition points, we get the following:
2-
2-
2-terminal decomposition point 1-1;
2-terminal decomposition point 1-2;
2-terminal decomposition point 2-1;
2-terminal decomposition point 2-2;
この時、エッジ1とエッジ2は2端子分解点1-1のドメインに接続するとした。これは2端子接続点1が2つの入力、1つの出力、または2つの出力、1つの入力を持っている条件で成り立つものであり、入力と出力はテキストデータから読み取ることができる。ただし、入力であるか出力であるかが判定できないデータセットの場合は、実施の形態1で説明したように3つのエッジが繋がった特定ノードとして処理するのが望ましい。例えば、引用と被引用の関係のように入力と出力との関連付けが決まっていない場合においては、引用を入力、被引用を出力と定義してデータセットに対して定義に基づきグラフネットワークを生成すればよい。
In this case, edges 1 and 2 are assumed to connect to the domain of two-terminal decomposition point 1-1. This is true when two-
次に、2つに分割した2端子分解点間を新たなエッジ(エッジ1-1、エッジ2-1)を定義して、ノードの間を接続すると以下となる。
2端子接続点1; エッジ1, エッジ2, エッジ3
2端子接続点2; エッジ3, エッジ4
2端子分解点1-1; エッジ1, エッジ2, エッジ1-1
2端子分解点1-2; エッジ3, エッジ1-1
2端子分解点2-1; エッジ3, エッジ2-1
2端子分解点2-2; エッジ4, エッジ2-1
Next, new edges (edge 1-1, edge 2-1) are defined between the two divided two-terminal decomposition points, and the nodes are connected as follows.
2-
2-
2-terminal decomposition point 1-1;
2-terminal decomposition point 1-2;
2-terminal decomposition point 2-1;
2-terminal decomposition point 2-2;
この結果、2端子接続点とエッジとの情報は2端子分解点とエッジの情報に情報劣化なく移されたため2端子接続点とエッジとの情報を除去しても情報劣化にはならず以下となる。
2端子接続点1;
2端子接続点2;
2端子分解点1-1; エッジ1, エッジ2, エッジ1-1
2端子分解点1-2; エッジ3, エッジ1-1
2端子分解点2-1; エッジ3, エッジ2-1
2端子分解点2-2; エッジ4, エッジ2-1
As a result, since the information on the two-terminal connection points and edges is transferred to the information on the two-terminal decomposition points and edges without information degradation, removing the information on the two-terminal connection points and edges does not result in information degradation, as follows.
2-
2-
2-terminal decomposition point 1-1;
2-terminal decomposition point 1-2;
2-terminal decomposition point 2-1;
2-terminal decomposition point 2-2;
上記の処理により、2端子接続点にはエッジが繋がっていない状態となるため、2端子接続点を除去し、以下の最終的な出力を得る。
2端子分解点1-1; エッジ1, エッジ2, エッジ1-1
2端子分解点1-2; エッジ3, エッジ1-1
2端子分解点2-1; エッジ3, エッジ2-1
2端子分解点2-2; エッジ4, エッジ2-1
As a result of the above process, the two-terminal connection point is no longer connected to an edge, so the two-terminal connection point is removed, and the following final output is obtained.
2-terminal decomposition point 1-1;
2-terminal decomposition point 1-2;
2-terminal decomposition point 2-1;
2-terminal decomposition point 2-2;
なお、情報処理装置100は、実施の形態1で示した3以上のエッジが接続されている特定ノードに対する処理と、実施の形態2で示した2つのエッジが接続されている特定ノードに対する処理と、を共に行うように構成されていてもよい。例えば、情報処理装置100は、3つ以上のエッジが接続され、入力と出力の関係がグラフデータから抽出できない場合においては、実施の形態1で示した処理と、実施の形態2で示した処理と、を組み合わせた処理を行うように構成されていることが望ましい。
In addition, the
また、上述したステップST35の処理において生成した新たなエッジは、ステップST34の処理において生成した2つの分解ノードを互いに接続するエッジに限定されない。言い換えると、グラフ生成部30によって生成される部分グラフは、当該部分グラフが有する複数のノードがエッジを介して互いに直接接続されているものに限定されない。例えば、ステップST35の処理において生成した新たなエッジは、ステップST34の処理において生成した2つの分解ノードを互いに直接接続することなく、これら2つの分解ノードを並列的に接続するエッジであってもよい。
Furthermore, the new edge generated in the processing of step ST35 described above is not limited to an edge connecting the two decomposition nodes generated in the processing of step ST34 to each other. In other words, the subgraph generated by the
図18Aは、実施の形態2に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの、図17Aとは異なる一例としての第1グラフG21、図18Bは、実施の形態2に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの図17Bとは異なる一例としての第2グラフG21’である。例えば、図18Aに示すように、ステップST11の処理において、ノードn210、原ノードとしての特定ノードn211、ノードn212、ノードn210と特定ノードn211とを接続する第1エッジe210、及び特定ノードn211とノードn212とを接続する第2エッジe211を有する第1グラフG21を取得した場合において、情報処理装置100は、図18Bに示すように、ステップST34の処理において、特定ノードn211が有する情報に基づいて2つの分解ノードである第1ノードn213及び第2ノードn214を生成し、ステップST35の処理において、ノードn212と第1ノードn213とを接続する新たな第3エッジe213、及びノードn210と第2ノードn214とを接続する新たな第4エッジe212を生成し、第1エッジe210によってノードn210と第1ノードn213とを接続し、第2エッジe211によってノードn212と第2ノードn214とを接続するように、第1ノードn213と第2ノードn214とを並列的に接続するように構成されていてもよい。言い換えると、グラフ生成部30は、特定ノードn211が部分グラフg21’に置換された第2グラフG21’において、第1エッジe210が第1-1エッジとしての第1エッジe210と第1-2エッジとしての第4エッジe212に分割され、第2エッジe211が第2-2エッジとしての第2エッジe211と第2-1エッジとしての第3エッジe213に分割され、第1エッジe210の一端が第1ノードn213に接続され、第4エッジe212の一端が第2ノードn214に接続され、第1エッジe210の他端と第4エッジe212の他端とが共通のノードn210に接続され、第2エッジe211の一端が第2ノードn214に接続され、第3エッジe213の一端が第1ノードn213に接続され、第2エッジe211の他端と第3エッジe213の他端とが共通のノードn212に接続されたグラフになるように、第2グラフデータを生成するように構成されていてもよい。例えば、新たなエッジである第3エッジe213及び第4エッジe212は、方向性を有するエッジとして生成される。具体的には、第3エッジe213は第2ノードに入力する方向性を有し、第4エッジe212は第1ノードに入力する方向性を有していてもよい。なお、第1グラフが、電気回路を示すグラフであり、原ノードとしてのノードn211が、電気回路が有するダイオードまたは電池(直流電源)、または方向性結合器、または送受信アンテナであり、第3エッジe213が第1ノードに入力する方向性を有し、第4エッジe212が第2ノードに入力する方向性を有していてもよい。言い換えると、第3エッジe213がノードn212から第1ノードn213へ向かう向きを有し、第4エッジe212がノードn210から第2ノードn214へ向かう向きを有していてもよい。
18A shows a first graph G21 as an example different from FIG. 17A of a graph network shown by first graph data acquired by
例えば、情報処理装置100によって生成される第2グラフが、エッジの方向性を有しない無向グラフである場合、電気回路で方向性のある逆バイアスを含むダイオードを明示的に表現できず、グラフニューラルネットワークの学習に頼らなければならないという課題があった。このようなダイオードを扱うときに第1エッジを入力、第2エッジを出力とする信号と、第2エッジを入力として第1エッジを出力とする信号は異なる特性となることが期待される。しかし、第2グラフが無向グラフである場合、グラフを処理するグラフニューラルネットワークにおいて第1ノードから第2ノードに流れる信号と、第2ノードから第1ノードに流れる信号間では、第1ノードと第2ノードの通る順番が異なるためグラフニューラルネットワーク内の活性化関数による非線形関数の効果で、学習により原ノードのみで表すよりは方向性を考慮できる。ただし、これはグラフニューラルネットワークの学習によって取得が必要な知識で、明示的に与えてない分、より多くの学習データと学習時間が必要であった。
For example, when the second graph generated by the
これに対し、図18Bに示す第2グラフは、第3エッジe213の影響で第1エッジe210には左から右への信号しか流れない。また、第4エッジe212の影響で第2エッジe211には右から左への信号が流れない。このため、明示的にデータを与えていることでグラフニューラルネットワークの学習によって知識を習得する必要がなく、グラフネットワークへの変換時の情報劣化を抑えることができる。そのため、より少ないデータで、より正確な推論を行うことができる。なお、このとき、第1エッジe210及び第2エッジe211の一方または両方に方向性が合ってもよく、更に、第1エッジe210及び第2エッジe211の一方または両方に方向性がある場合には、第3エッジe213及び第4エッジe212の一方または両方に方向性が無くてもよい。なお、原ノードn211がダイオードを示す場合、第1ノードn213と第2ノードn214は、アノードとカソードに相当する。また、例えば、原ノードが電池を示す場合、第1ノードn213と第2ノードn214は、電池の正極と負極に相当する。また例えば、原ノードがアンテナを示す場合、第1ノードn213と第2ノードn214は、アンテナの送信と受信に相当する。 In contrast, in the second graph shown in FIG. 18B, only signals flow from left to right through the first edge e210 due to the influence of the third edge e213. Also, signals do not flow from right to left through the second edge e211 due to the influence of the fourth edge e212. Therefore, by explicitly providing data, there is no need to acquire knowledge through learning of the graph neural network, and information degradation during conversion to a graph network can be suppressed. Therefore, more accurate inference can be performed with less data. Note that at this time, one or both of the first edge e210 and the second edge e211 may have a directionality, and further, if one or both of the first edge e210 and the second edge e211 have a directionality, one or both of the third edge e213 and the fourth edge e212 may not have a directionality. Note that when the original node n211 represents a diode, the first node n213 and the second node n214 correspond to an anode and a cathode. For example, if the original node represents a battery, the first node n213 and the second node n214 correspond to the positive and negative poles of the battery. For example, if the original node represents an antenna, the first node n213 and the second node n214 correspond to the transmitting and receiving poles of the antenna.
また、例えば、本と論文の引用関係を考えたとき、論文が本を引用した場合、論文が引用、本が被引用の関係になり、これはグラフネットワークにおいては向きを有するグラフとなるため有向グラフとして表現できる。例えば、本を改定する際に引用されていた論文を引用すると、本が引用、論文が被引用の関係になり、論文と本が相互に関係し合うこととなる。しかしながら、例えば本を1つのノードとして表すと引用と被引用の関係が曖昧になる。また、有向グラフの場合には引用と被引用の一方の関係しか表すことができ、2つの向きを持つエッジで表現する場合には、隣接行列で表すと向きを持たない一つのエッジと同じとなるため情報劣化となる。そこで、図18Bに示すように引用と被引用を別々のノードに分解し、各ノードに接続する少なくとも一つのエッジに向きを持たせることで、この課題は解決できる。これにより、引用の情報は第1エッジe210と第1ノードn213と第3エッジe213を経由して伝搬し、被引用の情報は第2エッジe211と第2ノードn214と第4エッジe212を経由して伝搬するため、第1ノードn213と第2ノードn214に異なる属性情報を付与することで非対称な関係をグラフネットワークの中で表現できる。 Also, for example, when considering the citation relationship between a book and a paper, if a paper cites a book, the paper cites and the book is cited, and this can be expressed as a directed graph in a graph network. For example, if a cited paper is cited when revising a book, the book cites and the paper is cited, and the paper and the book are mutually related. However, if a book is represented as a single node, the relationship between citation and citation becomes ambiguous. Also, in the case of a directed graph, only one relationship between citation and citation can be represented, and if it is represented by edges with two directions, it will be the same as a single edge with no direction when represented in an adjacency matrix, resulting in information degradation. Therefore, this problem can be solved by decomposing citation and citation into separate nodes as shown in Figure 18B and giving direction to at least one edge connecting to each node. As a result, citation information propagates via the first edge e210, the first node n213, and the third edge e213, and cited information propagates via the second edge e211, the second node n214, and the fourth edge e212, so by assigning different attribute information to the first node n213 and the second node n214, an asymmetric relationship can be represented in the graph network.
図19Aは、実施の形態2に係る情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの、図17A及び図18Aとは異なる一例としての第1グラフG22、図19Bは、実施の形態2に係る情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの図17B及び図18Bとは異なる一例としての第2グラフG22’である。
FIG. 19A shows a first graph G22 as an example different from FIGS. 17A and 18A of a graph network shown by first graph data acquired by
例えば、図19Aに示すように、ステップST11の処理において、ノードn210、原ノードとしての特定ノードn220、原ノードとしての特定ノードn230、ノードn212、ノードn210と特定ノードn220とを接続するエッジe220、特定ノードn220と特定ノードn230とを接続するエッジe221、特定ノードn230とノードn212とを接続するエッジe222を有する第1グラフG22を取得した場合において、情報処理装置100は、図19Bに示すように、ステップST34の処理において、特定ノードn220が有する情報に基づいて2つの分解ノードである第1ノードn221及び第2ノードn222を生成し、特定ノードn230が有する情報に基づいて2つの分解ノードである第1ノードn231及び第2ノードn232を生成し、ステップST35の処理において、ノードn212と第1ノードn231とを接続するエッジe224と、ノードn210と第2ノードn222とを接続するエッジe223と、第1ノードn221と第1ノードn231とを接続するエッジe225と、第2ノードn222と第2ノードn232とを接続するエッジe226と、を生成し、エッジe220によってノードn210と第1ノードn221とを接続し、エッジe222によってノードn212と第2ノードn232とを接続する。更に、第1ノードn221と第2ノードn222、第1ノードn231と第2ノードn232を、それぞれ並列的に接続するように構成されていてもよい。例えば、新たなエッジであるエッジe225及びエッジe226は、方向性を有するエッジとして生成される。
For example, as shown in FIG. 19A, in the processing of step ST11, a first graph G22 is acquired that has node n210, a specific node n220 as an original node, a specific node n230 as an original node, node n212, an edge e220 connecting node n210 and specific node n220, an edge e221 connecting specific node n220 and specific node n230, and an edge e222 connecting specific node n230 and node n212. In this case, as shown in FIG. 19B, in the processing of step ST34, the
例えば、本の引用において、ノードn220を本、ノードn230を論文とするとき、テキストデータとして以下のように記述できる。なお、下記の表現においてエッジe211が引用、被引用の双方向の関係を持っているものとする。
ノードn220;エッジe211、エッジe220
ノードn230;エッジe211、エッジe222
において、各ノードに対して分解ノードを定義し、エッジe211が持つ方向性を含めて定義する。以下の例ではノードに入っていく信号を(IN)で表し、出ていく信号を(OUT)で表している。グラフネットワークにおいては、IN,OUTは有向グラフとして表せ、向きを持たないエッジは双方向の有向グラフと考えることで、グラフネットワークを数学的に記述した隣接行列では無向グラフと同じとみなせる。
ノードn220;エッジe211、エッジe220
ノードn230;エッジe211、エッジe222
ノードn221;エッジe225(IN)
ノードn222;エッジe226(OUT)
ノードn231;エッジe225(OUT)
ノードn232;エッジe226(IN)
For example, in citing a book, when node n220 is a book and node n230 is a paper, the following can be written as text data: In the following expression, edge e211 has a bidirectional relationship of citing and being cited.
Node n220; edge e211, edge e220
Node n230; edge e211, edge e222
In the above, a decomposition node is defined for each node, and the directionality of the edge e211 is also defined. In the following example, a signal entering a node is represented by (IN), and a signal leaving the node is represented by (OUT). In a graph network, IN and OUT can be represented as directed graphs, and edges without direction can be considered as bidirectional directed graphs, so that an adjacency matrix that mathematically describes a graph network can be considered to be the same as an undirected graph.
Node n220; edge e211, edge e220
Node n230; edge e211, edge e222
Node n221; edge e225 (IN)
Node n 222; edge e 226 (OUT)
Node n231; edge e225 (OUT)
Node n 232; edge e 226 (IN)
更に、ノードn220とノードn230に繋がっているエッジe220とエッジe222をそれぞれ、エッジe220とエッジe223、エッジe224とエッジe222とすると以下となる。
ノードn220;エッジe211、エッジe220
ノードn230;エッジe211、エッジe222
ノードn221;エッジe225(IN)、エッジe220
ノードn222;エッジe226(OUT)、エッジe223
ノードn231;エッジe225(OUT)、エッジe224
ノードn232;エッジe226(IN)、エッジe222
Furthermore, if the edges e220 and e222 connected to the nodes n220 and n230 are respectively defined as edges e220 and e223, and edges e224 and e222, then the following is obtained.
Node n220; edge e211, edge e220
Node n230; edge e211, edge e222
Node n221; edge e225 (IN), edge e220
Node n222; edge e226 (OUT), edge e223
Node n231; edge e225 (OUT), edge e224
Node n232; edge e226 (IN), edge e222
このとき、ノードn220とノードn230、及びエッジe211、エッジe220、エッジe222は分解ノードとエッジe225、エッジe226、エッジe220、エッジe223、エッジe224、エッジe222によって情報劣化なく置き換えられているため不要である。そのため、最終的な結果は以下となる。
ノードn221;エッジe225(IN)、エッジe220
ノードn222;エッジe226(OUT)、エッジe223
ノードn231;エッジe225(OUT)、エッジe224
ノードn232;エッジe226(IN)、エッジe222
なお、ノードn221とノードn222は関係があり、ノードn231とノードn232には関係があるため、各ノード間をエッジで接続してもよい。
At this time, the nodes n220 and n230, and the edges e211, e220, and e222 are unnecessary because they have been replaced by the decomposition nodes and the edges e225, e226, e220, e223, e224, and e222 without information degradation. Therefore, the final result is as follows.
Node n221; edge e225 (IN), edge e220
Node n222; edge e226 (OUT), edge e223
Node n231; edge e225 (OUT), edge e224
Node n232; edge e226 (IN), edge e222
Since there is a relationship between node n221 and node n222, and there is a relationship between node n231 and node n232, the nodes may be connected by edges.
図20は、実施の形態1の変形例に係る情報処理装置100が行う処理の一例を示すフローチャートである。具体的には、図20は、情報処理装置100が行う、第1グラフから4つのエッジが接続されたノードn31を抽出する場合の処理である。図20に示すような実施の形態1に係る処理と、実施の形態2で示した処理と、を組合わせることで、図21Aに示すグラフネットワークを、図21Bに示すグラフネットワークに変換することができる。図21Aは、情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフである。具体的には、図21Aは、3本以上のエッジが接続された特定ノードと2端子接続点とが2本のエッジ、すなわち多重辺で接続されたグラフネットワークである。図21Bは、情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフである。
20 is a flowchart showing an example of processing performed by the
例えば、図20、図21A及び図21Bに示すように、情報処理装置100は、4つのエッジが接続されているノードn31に基づいて4つの分解ノードであるノードn33、ノードn33、ノードn33及びノードn33と、仮想ノードであるノードn37と、を生成し、2つのエッジが接続されているノードn32に基づいて、2つの分解ノードであるノードn38及びノードn39を生成する。
For example, as shown in Figures 20, 21A, and 21B, the
以下に、実施の形態1で示した処理と、実施の形態2で示した処理と、を組み合わせた処理を行う場合におけるグラフデータの具体例を示す。ノード1は4つのエッジが接続されている特定ノードであり、ノード2は当該特定ノードと2つのエッジで接続されている2端子接続点である。
ノード1;エッジ1,エッジ2,エッジ3,エッジ4
ノード2;エッジ3,エッジ4
Below is a specific example of graph data in a case where a process is performed by combining the process shown in the first embodiment and the process shown in the second embodiment.
この時、分かりやすさのためノード1を特定ノード、ノード2を2端子接続点と呼ぶことにする。なお、呼び方の定義を変えてもグラフネットワークの情報は変わらないため情報劣化にはならない。
特定ノード;エッジ1,エッジ2,エッジ3,エッジ4
2端子接続点;エッジ3,エッジ4
For ease of understanding, we will call node 1 a specific node and node 2 a two-terminal connection point. Note that changing the definition of the names does not change the information in the graph network, so there is no degradation of information.
Specific node:
Two-terminal connection point:
2端子接続点を2つに分解した2端子分解点を追加すると以下のようになる。
特定ノード;エッジ1,エッジ2,エッジ3,エッジ4
2端子接続点;エッジ3,エッジ4
2端子分解点1;
2端子分解点2;
If a two-terminal decomposition point is added, which is a decomposition of a two-terminal connection point into two, the result will be as follows.
Specific node:
Two-terminal connection point:
2-
2-
特定ノードと2端子接続点間の接続を、特定ノードと2端子分解点の接続に移すと以下のようになる。
特定ノード;エッジ1,エッジ2,エッジ3,エッジ4
2端子接続点;エッジ3,エッジ4
2端子分解点1;エッジ3
2端子分解点2;エッジ4
If the connection between a specific node and a two-terminal connection point is transferred to the connection between a specific node and a two-terminal decomposition point, the result is as follows.
Specific node:
Two-terminal connection point:
2-
2-
2端子分解点間を新たなエッジ(エッジ1-1)で接続すると以下のようになる。
特定ノード;エッジ1,エッジ2,エッジ3,エッジ4
2端子接続点;エッジ3,エッジ4
2端子分解点1;エッジ3,エッジ1-1
2端子分解点2;エッジ4,エッジ1-1
If the two-terminal decomposition points are connected with a new edge (edge 1-1), the result is as follows.
Specific node:
Two-terminal connection point:
2-
2-
ここで、特定ノードと2端子接続点間の情報は、2つの2端子分解点の情報に劣化なく移ったため、特定ノードと2端子接続点間のエッジを除去すると共に、前記2端子接続点を除去する。その結果、以下が最終的な出力となる。
特定ノード;エッジ1,エッジ2,エッジ3,エッジ4
2端子分解点1;エッジ3,エッジ1-1
2端子分解点2;エッジ4,エッジ1-1
Here, since the information between the specific node and the two-terminal connection point has been transferred to the information of the two two-terminal decomposition points without degradation, the edge between the specific node and the two-terminal connection point is removed, and the two-terminal connection point is also removed. As a result, the following is the final output.
Specific node:
2-
2-
なお、実施の形態2において、2端子接続点は、2つのエッジが繋がった特定ノードである。2端子接続点は、入力若しくは出力または入出力の両方を有していてもよい。例えば、実施の形態1で示した論文の引用を例にすると、論文は引用するか、引用されるかの関係であるため、引用するときを入力、引用される時を出力と考えると、2端子接続点は、入出力を持つノードと考えることができる。同様に、SNSを例にすると、1人のユーザが他のユーザを引用した場合を入力、他のユーザに引用された場合を出力と考えることができる。また、3本以上のエッジと繋がっている特定ノードと、2本以上のエッジで繋がっている2端子接続点は、論文の引用を例にとれば、論文がWeb上で発表されてから雑誌となるまでの時間差、本の版の違いによる時間差等によって生じ、相互に引用、被引用されることがある。ソーシャルネットワークにおいても、2端子接続点は、企業とユーザ間で引用と被引用が起こった場合に生じる。これらの例は特殊な場合であるが、後述する実施の形態3で説明する電気回路において数多く生じるため、発生の頻度は、データセットに依存する。このように、実施の形態2に係る情報処理装置100は、いずれのデータセットに対しても多重辺を回避することができるため、情報劣化を抑制することができる。
In the second embodiment, the two-terminal connection point is a specific node connected by two edges. The two-terminal connection point may have an input or an output, or both an input and an output. For example, in the case of citing a paper shown in the first embodiment, since a paper has a relationship of either citing or being cited, if the time when the paper is cited is considered as an input and the time when the paper is cited is considered as an output, the two-terminal connection point can be considered as a node with an input and an output. Similarly, in the case of an SNS, the time when one user cites another user can be considered as an input, and the time when the paper is cited by another user can be considered as an output. In addition, in the case of citing a paper, a specific node connected by three or more edges and a two-terminal connection point connected by two or more edges may occur due to the time difference between when a paper is published on the web and when it becomes a journal, the time difference due to the difference in the edition of the book, etc., and the paper may be cited and cited by each other. In a social network, a two-terminal connection point also occurs when a citation and a citation occur between a company and a user. These examples are special cases, but they occur many times in the electric circuit described in the third embodiment described later, so the frequency of occurrence depends on the data set. In this way, the
2端子分解点は、1つの2端子接続点に対して、2つの2端子分解点を定義することで生成される。2端子分解点の一方を入力、もう一方を出力として考えると、2端子接続点では入出力の関係を区別できなかったのに対して、2端子分解点では有向グラフを用いなくても無向グラフで入出力の関係を明確にすることができる。特に、順方向と逆方向つまり、入力から出力に伝搬する信号と、出力から入力に伝搬する信号に違いがある場合に特別な効果を有する。入力と出力の関係がある場合には、一方向のみに強制的に信号が流れる有向グラフで表現することが考え得るが、有向グラフにおいては逆方向に信号が伝搬しないので逆方向にも特性がある従来の方法では実現することができない。それに対して、実施の形態2においては入力と出力に異なるノード属性情報を与え、無向グラフで処理することで順方向と逆方向の特性が大きく異なるものであっても、それぞれ別の特性を持つデータとして学習することができる従来ない顕著な特性を有することを示すものである。 A two-terminal decomposition point is generated by defining two two-terminal decomposition points for one two-terminal connection point. If one of the two-terminal decomposition points is considered as an input and the other as an output, the two-terminal connection point could not distinguish the input/output relationship, whereas the two-terminal decomposition point can clarify the input/output relationship with an undirected graph without using a directed graph. In particular, it has a special effect when there is a difference between the forward and reverse directions, that is, the signal propagating from the input to the output and the signal propagating from the output to the input. When there is a relationship between the input and the output, it is possible to express it with a directed graph in which signals flow forcibly in only one direction, but since signals do not propagate in the reverse direction in a directed graph, this cannot be realized by the conventional method in which there is a characteristic in the reverse direction as well. In contrast, in the second embodiment, different node attribute information is given to the input and output, and by processing with an undirected graph, even if the characteristics in the forward and reverse directions are significantly different, it is possible to learn them as data with different characteristics. This shows that it has a remarkable characteristic that has not been seen before.
また、2端子分解点の入力と出力の関係を保持できるために2端子分解点の名前、または2端子分解点のノード属性情報となる行列の少なくとも一つの要素に入力と出力の関係をデータとして保有することも望ましい。具体的には、名前として付与する場合には仮にxxをエッジの番号とすると入力をxx-0、出力xx-1とすることで実現できる。また、ノード属性情報として付与する場合には、N列の行列で入力側の2端子分解点の1列目のノード属性情報を0、出力側の1列目を1とすることで情報を保持することができる。例えば、2端子分解点の属性情報に、ワンホットベクトルで属性情報を付与することで入力と出力を定義することができる。例えば、ノードの属性情報を3列の行列で表すとして、入力の属性情報を0,0,1、出力の属性情報を0,1,0とすることで以下のように定義することで実現できる。
2端子分解点1;0,0,1(入力)
2端子分解点2;0,1,0(出力)
In addition, in order to hold the relationship between the input and output of the two-terminal decomposition point, it is also desirable to hold the relationship between the input and output as data in the name of the two-terminal decomposition point or in at least one element of the matrix that is the node attribute information of the two-terminal decomposition point. Specifically, when giving it as a name, assuming that xx is the edge number, this can be realized by setting the input to xx-0 and the output to xx-1. When giving it as node attribute information, the information can be held by setting the node attribute information in the first column of the input side of the two-terminal decomposition point in an N-column matrix to 0 and the first column on the output side to 1. For example, the input and output can be defined by giving attribute information to the attribute information of the two-terminal decomposition point with a one-hot vector. For example, assuming that the attribute information of the node is represented by a three-column matrix, this can be realized by defining the input attribute information as 0, 0, 1 and the output attribute information as 0, 1, 0 as follows.
2-
2-
他にも、入出力を持つ2端子分解点が対象となるデータセットに含まれる場合においては、例えば1,0,0と定義することで、入力と出力と分けることができる。ただし、入出力の場合にはワンホットベクトルではなく、入力0,0,1と出力0,1,0の要素ごとの和である0,1,1をノード属性情報として付与しても構わない。これにより、列の数を減らすことができるためグラフ処理に必要な計算量や計算時間、メモリ量などを低減することができる。0または1で表したが、実数や整数、文字列、複素数など、情報処理によって両者を区別ができれば、どのように定義しても構わない。例えばダイオードのように順バイアス特性と逆バイアス特性がそれぞれ分かっている場合には、それぞれの特性を表す値を要素に付与することができる。また1つの2端子部品から分解するため、順方向と逆方向の特性が未知の場合には入力と出力に係る情報以外は2端子分解点のノード属性情報は同じ値にするのが望ましく、また、入力と出力に係るノード属性情報以外のノード属性情報(本や論文の例においてはキーワードや出版年、出版社など)をワンホットベクトルとして保持しても構わない。
In addition, when a two-terminal decomposition point with input and output is included in the target data set, it can be divided into input and output by defining it as 1, 0, 0, for example. However, in the case of input and output, instead of one-hot vectors, 0, 1, 1, which is the sum of each element of
2つの2端子分解点は入力と出力、または双方向を意味する入出力の関係を持つため、2つの2端子分解点間をエッジで接続される。具体的なエッジでなくても、グラフネットワークにおいては、隣接行列で表現することや接続行列で表現すること、ラプラシアン行列で表現すること、テキストデータで2つの接続を記載することなど、可逆変換可能な表現方法であれば、どのようなものであっても構わない。 Since the two two-terminal decomposition points have an input-output relationship, meaning input and output, or bidirectional, an edge connects the two two-terminal decomposition points. It does not have to be a specific edge, but in a graph network, any representation that can be converted reversibly can be used, such as an adjacency matrix, a connection matrix, a Laplacian matrix, or describing the two connections as text data.
特定ノードと2端子接続点間の情報を特定ノードと2端子分解点との接続に移すために、特定ノードと2端子分解点をそれぞれ接続する。これにより、特定ノードと2端子接続点間の接続情報は情報劣化なく、特定ノードと2端子分解点間の接続情報として保持される。例えば、以下によって表されるグラフデータにおいて、1つ目のエッジが入力、2つ目のエッジが出力と定めると、従来の2端子接続点のままでは入力と出力の情報をグラフネットワークの情報として保持することができない。
2端子接続点;エッジ3,エッジ4
In order to transfer the information between a specific node and a two-terminal connection point to the connection between the specific node and the two-terminal decomposition point, the specific node and the two-terminal decomposition point are connected. As a result, the connection information between the specific node and the two-terminal connection point is maintained as the connection information between the specific node and the two-terminal decomposition point without information degradation. For example, in the graph data represented by the following, if the first edge is defined as the input and the second edge is defined as the output, the input and output information cannot be maintained as graph network information with the conventional two-terminal connection point.
Two-terminal connection point:
一方、実施の形態2では、2端子分解点1にエッジ3が入力として接続され、2端子分解点2にエッジ4が出力として接続されると判定でき、従来の方法では処理時に捨てられる情報を、実施の形態2では保持することができるため、情報劣化を抑制することができる。また、従来の2端子接続点では入出力の関係はグラフニューラルネットワークなどの処理において保持できないが、2端子分解点として、ノード属性情報となる行列の要素や2端子分解点の名称としてそれらの情報を保持できるため、情報劣化を防ぐことができる。
On the other hand, in the second embodiment, it can be determined that
図22Aは、情報処理装置100によって取得される第1グラフデータによって示されるグラフネットワークの一例としての第1グラフG4、図22Bは、情報処理装置100によって生成される第2グラフデータによって示されるグラフネットワークの一例としての第2グラフG4’である。例えば、グラフデータによって示されるグラフネットワークが電気回路を示すグラフネットワークである場合、図22Aに示すように、情報処理装置100は、電気回路が有する部品を示すノードのうち、3つ以上のエッジが接続されている特定ノードとして、6つのエッジが接続されている多素子部品であるノードn41を抽出する。この場合、例えば、情報処理装置100は、6つのエッジのそれぞれに対応する分解ノードとしての端子部品である、ノードn42、ノードn43、ノードn44、ノードn45、ノードn46及びノードn47を生成し、これらノードn42~n47を互いに接続するための仮想ノードとしての仮想部品であるノードn48を生成する。
22A shows a first graph G4 as an example of a graph network shown by the first graph data acquired by the
実施の形態3.
次に、図23乃至図31を参照して、実施の形態3に係る情報処理装置100について説明する。実施の形態3に係る情報処理装置100は、実施の形態1に係る情報処理装置100と比較してグラフデータに対して行う一部の処理が異なるが、構成については同様であり、実施の形態1と同様の構成については、同一の符号及び同一の名称を付して説明を省略する。
Next, an
図23は、実施の形態3に係る情報処理装置100が行う処理の一例を示すフローチャートである。以下、実施の形態3に係る情報処理装置100が、第1グラフデータとして電気回路の部品リスト及び部品間接続リストを取得する場合を例に、情報処理装置100が行う処理について説明する。情報処理装置100は、ステップST11の処理において第1グラフデータとしての電気回路の部品リスト及び部品間接続リストを取得する(ステップST51)。例えば、情報処理装置100は、電気回路の部品リスト及び部品間接続リストをテキスト情報であるネットリストとして取得する。
FIG. 23 is a flowchart showing an example of processing performed by the
図24Aは、実施の形態3に係る情報処理装置100によって取得されるネットリストによって示される回路図であり、図24Bは、実施の形態3に係る情報処理装置100によって取得されるネットリストである。一般に、ネットリストは数10種類のフォーマットが知られているが、いずれのフォーマットにおいても、回路を形成するために不可欠な、回路部品、回路部品の型番や回路定数などの付帯情報(ノード属性情報)、及び回路部品間の接続情報が含まれており、可逆変換の関係にある。このため、ネットリストから部品名を記載した部品リストと、部品間の接続情報を記載した部品間接続リストを抽出することができる。実施の形態3では、プリント基板に落とし込むための回路とネットリストについて説明するが、半導体を設計するための論理設計とレイアウト設計の間にある回路設計についても同様に成り立つ。この場合、回路部品の型番や回路定数に代わり、レイアウト時の物理寸法や材料の物性値や寄生容量や残留インダクタンス、残留抵抗、漏れ電流などの付帯情報と、付帯情報を有する部品間の接続情報が含まれるネットリストとなる。
24A is a circuit diagram shown by a netlist acquired by the
特に半導体などの能動素子を含む回路を考える場合、能動素子は3つ以上の端子を有するため多素子部品である。具体的には最も単純な能動素子、例えば最も単純な電源ICであっても入力端子と出力端子と基準電位となるGND端子の3つを有する。このほかにも能動素子はASICやCPU、FPGA、メモリ、スイッチング電源素子、通信用素子など、全ての能動素子は3端子以上の端子を有しており、2,000端子以上持つ能動素子も存在する。また、受動回路部品においても例えばコモンモードチョークコイルは、2つの入力端子と、2つの出力端子の4つの端子を有するため上記の能動素子と同じ扱いができる。 In particular, when considering circuits that include active elements such as semiconductors, active elements are multi-element components because they have three or more terminals. Specifically, even the simplest active element, such as the simplest power supply IC, has three terminals: an input terminal, an output terminal, and a GND terminal that serves as the reference potential. In addition to this, all active elements, such as ASICs, CPUs, FPGAs, memories, switching power supply elements, and communication elements, have three or more terminals, and some active elements have more than 2,000 terminals. Passive circuit components such as common mode choke coils have four terminals, two input terminals and two output terminals, so they can be treated the same as the active elements listed above.
3端子コンデンサや単相変圧器、3相変圧器やモータ(電動機)、圧縮機の他、ダイオードアレイ、抵抗アレイにおいても3端子以上の多素子部品と考えることができる。ただし、変圧器やダイオードアレイ、抵抗アレイなどにおいて配線接続の情報が明らかであり、隣接する部品間の寄生成分が明らかな場合は、複数の2端子部品として分解しても構わない。一方、ノーマルモードチョークコイルやコンデンサ、抵抗、ダイオードなどの受動素子は2端子部品となるため実施の形態3における処理の対象にはならない。
In addition to three-terminal capacitors, single-phase transformers, three-phase transformers, motors (electric motors), and compressors, diode arrays, and resistor arrays can also be considered as multi-element components with three or more terminals. However, in the case of transformers, diode arrays, resistor arrays, etc., if the wiring connection information is clear and the parasitic components between adjacent components are clear, they may be broken down into multiple two-terminal components. On the other hand, passive elements such as normal mode choke coils, capacitors, resistors, and diodes are two-terminal components and are therefore not subject to processing in
このような多素子部品に着目したとき、図22A及び図22Bに示すように、1つの多素子部品に対して1つ以上の仮想部品としての仮想ノードを新しく定義し、部品リストに追加する。また、多素子部品の持つ端子をネットリストから抽出し、端子の数と同じ数の端子部品を分解ノードとして部品リストに追加する(ステップST54)。この時、未接続(NC:Non Connection)端子は、端子部品として追加してもよいし、追加しなくてもよい。しかし、半導体パッケージを共通化するために半導体内部で結線されていない端子など特別な理由を除き、追加することが望ましい。これにより、同じ半導体で異なる回路構成を持つ回路においても同じ回路部品と端子部品の組み合わせによって表現できる。このとき、実施の形態1同様に、NC端子には配線が接続されないため、NC端子を表す端子部品に接続するのは仮想部品のみとなる。 When focusing on such multi-element components, as shown in Figures 22A and 22B, one or more virtual nodes are newly defined for each multi-element component as virtual components and added to the components list. In addition, the terminals of the multi-element component are extracted from the netlist, and the same number of terminal components as the number of terminals are added to the components list as decomposition nodes (step ST54). At this time, non-connected (NC) terminals may or may not be added as terminal components. However, it is desirable to add them except for special reasons such as terminals that are not wired inside the semiconductor in order to standardize the semiconductor package. This allows circuits with different circuit configurations on the same semiconductor to be expressed by the same combination of circuit components and terminal components. At this time, as in the first embodiment, wiring is not connected to the NC terminals, so only virtual components are connected to the terminal components representing the NC terminals.
上記のネットリストから抽出できる多素子部品に着目すると、1つの多素子部品から仮想部品と端子部品を定義し、定義した仮想部品と端子部品間を接続するとともに(ステップST56)、その接続情報を部品間接続リストに追加する。また、多素子部品の各端子に接続されている配線について、配線をそれぞれの端子部品に接続し、その接続情報を部品間接続リストに追加する(ステップST55)。ただし、一つの端子に一つの配線だけが接続されている必要はなく、一つの端子に複数の配線が接続されるように部品間接続リストに追加しても良い。例えば、電流が多く流れる端子は定格電流値を確保するために複数の端子に対して同じ信号を入力、または出力する機構を備えるが、それらの端子は1つにまとめても構わない。 Focusing on multi-element components that can be extracted from the above netlist, virtual components and terminal components are defined from one multi-element component, connections are made between the defined virtual components and terminal components (step ST56), and the connection information is added to the inter-component connection list. In addition, for the wiring connected to each terminal of the multi-element component, the wiring is connected to each terminal component, and the connection information is added to the inter-component connection list (step ST55). However, it is not necessary for only one wiring to be connected to one terminal, and multiple wirings may be added to the inter-component connection list so that they are connected to one terminal. For example, a terminal through which a large current flows has a mechanism for inputting or outputting the same signal to multiple terminals to ensure the rated current value, but these terminals may be combined into one.
また、上記の処理により多素子部品は仮想部品と端子部品に代替され、多素子部品に接続されている配線は全て端子部品に接続される。これによって、多素子部品の情報が仮想部品と端子部品と、端子部品に接続される配線に情報劣化なく移されることになる。そこで、多素子部品に接続されていた配線を部品間接続リストから取り除く(ステップST57)と共に、多素子部品を部品リストから取り除き(ステップST58)、仮想部品と端子部品と、端子部品に接続される配線及び、処理対象ではない多素子部品以外の部品情報を出力する(ステップST59。実施の形態3により従来にない2つの効果が得られる。一つ目が、実施の形態1で述べた多重辺及び自己ループをなくすことができ情報劣化が防げることである。2つ目が端子番号をグラフネットワークとして保持できることである。2つ目について詳しく説明するため、多素子部品を例えば下記のように書くことにする。
XU1; N002 N003 IN 0 N001 IN N002 N004
Furthermore, the above process replaces the multi-element components with virtual components and terminal components, and all the wires connected to the multi-element components are connected to the terminal components. As a result, the information of the multi-element components is transferred to the virtual components, terminal components, and wires connected to the terminal components without information degradation. Therefore, the wires connected to the multi-element components are removed from the inter-component connection list (step ST57), and the multi-element components are removed from the component list (step ST58), and information on the virtual components, terminal components, wires connected to the terminal components, and components other than the multi-element components that are not the processing targets is output (step ST59). The third embodiment provides two unprecedented advantages. The first is that the multiple edges and self-loops described in the first embodiment can be eliminated, preventing information degradation. The second is that the terminal numbers can be held as a graph network. To explain the second advantage in detail, the multi-element components will be written as follows, for example.
XU1; N002 N003 IN 0 N001 IN N002 N004
このとき、各ネットリストの定義にもよるが、N002からN004までの配線名が順番に半導体の端子番号を意味する。なお、定義が変わって表現方法が変わっても端子と配線を接続するための情報であり回路に不可欠な情報であるためいずれのネットリストも上記の情報を有する。上記の例の場合、N002が半導体XU1の端子番号1に接続、N003が端子番号2に接続、INが端子番号3、0であるGNDが端子番号4、N001が端子番号5、INが端子番号6、N002が端子番号7、N004が端子番号8に接続されることを意味する。従来は端子部品に分解しないため端子番号に関する情報を保持しておくことができないためグラフニューラルネットワークなどの処理によって失われる情報であり、情報劣化の原因となっていた。一方、実施の形態3においては端子部品に分解し、端子部品の名前の一部、または端子部品を表すノード属性情報の行列内の一つの要素に端子番号を保持することができるため上記の情報劣化が起こらない。このため、実施の形態3においては上記の特別な効果が得られる。
At this time, depending on the definition of each netlist, the wiring names from N002 to N004 mean the terminal numbers of the semiconductor in order. Even if the definition and the expression method change, all netlists have the above information because it is information for connecting terminals and wiring and is essential information for the circuit. In the above example, it means that N002 is connected to
実施の形態1と実施の形態2では特定ノード、仮想ノード、エッジ、分解ノード、2端子接続点、2端子分解点について説明したが、実施の形態3においては、特定ノードが多素子部品、仮想ノードが仮想部品、エッジが配線、分解ノードが端子部品、2端子接続点が2端子部品、2端子分解点が2端子分解部品に対応する。以下、図24Aに示す回路図を例として、実施の形態3の具体例について説明する。 In the first and second embodiments, specific nodes, virtual nodes, edges, decomposition nodes, two-terminal connection points, and two-terminal decomposition points were described, but in the third embodiment, specific nodes correspond to multi-element components, virtual nodes correspond to virtual components, edges correspond to wiring, decomposition nodes correspond to terminal components, two-terminal connection points correspond to two-terminal components, and two-terminal decomposition points correspond to two-terminal decomposition components. Below, a specific example of the third embodiment will be described using the circuit diagram shown in FIG. 24A as an example.
例えば、回路CADまたはテキストデータに直接回路情報を書き込むことで、ネットリストが作成される。ネットリストは、Allegro形式やExpressPCB形式など10以上のフォーマットが知られているが、いずれのフォーマットにおいても回路部品と回路部品間の配線、回路部品の型番や回路定数を含んでいる。図24Bにおけるネットリストの表記の一例を以下に記す。なお、図24Bにおいて、D1は部品名を、D2は接続される配線を、D3は部品の型番を、D4は回路定数を示している。
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload;OUT 0 13
For example, a netlist is created by directly writing circuit information into a circuit CAD or text data. There are more than 10 known formats for netlists, such as the Allegro format and the ExpressPCB format, and all formats include wiring between circuit components, model numbers of circuit components, and circuit constants. An example of the notation of the netlist in Fig. 24B is shown below. In Fig. 24B, D1 indicates the name of the component, D2 indicates the wiring to be connected, D3 indicates the model number of the component, and D4 indicates the circuit constants.
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
このネットリストでは、”;”の前が回路部品、”;”の後が配線と型番または回路定数を示すものと定義している。ネットリストにおいて、V1が電源、XU1が半導体、L1がコイル、D1がダイオード、C1とC2がコンデンサ、R1とR2とRloadが抵抗であり、Rloadは出力である負荷抵抗を表している。 In this netlist, the part before the ";" is defined as the circuit component, and the part after the ";" is defined as the wiring and model number or circuit constant. In the netlist, V1 is the power supply, XU1 is the semiconductor, L1 is the coil, D1 is the diode, C1 and C2 are capacitors, R1, R2 and Rload are resistors, and Rload represents the load resistor which is the output.
ネットリストから以下の部品リストと、部品間接続リストを得ることができる。部品リストは”;”の前の回路部品であり、部品間接続リストは”;”の後の配線名に着目することで作成できる。例えば部品間接続リストの配線名としてN001を選んだとするとN001を使っている回路部品はXU1とL1とD1であるから、N001; XU1, L1, D1と書くことができる。同様に他の配線についても書き下すと、以下となる。
IN;V1,XU1,L1
OUT;D1,C1,R1,Rload
0;V1,XU1,C1,R2,C2,Rload
N001;XU1,L1,D1
N002;XU1
N003;XU1,R1,R2
N004;XU1,C2
From the netlist, the following parts list and inter-parts connection list can be obtained. The parts list is the circuit parts before the ";", and the inter-parts connection list can be created by focusing on the wiring name after the ";". For example, if you select N001 as the wiring name for the inter-parts connection list, the circuit parts that use N001 are XU1, L1, and D1, so it can be written as N001; XU1, L1, D1. If you write down the other wiring in the same way, you get the following.
IN; V1, XU1, L1
OUT; D1, C1, R1, Rload
0; V1, XU1, C1, R2, C2, Rload
N001;XU1,L1,D1
N002;XU1
N003;XU1,R1,R2
N004;XU1,C2
配線N001に繋がっている部品間を2つずつの組み合わせとすると(XU1,L1),(XU1,D1),(L1,D1)と3つの組み合わせで書くことができ、これが部品間の配線に対応する。なお、部品間接続リストは接続の有無のみを表すため実施の形態3で示す無向グラフにおいて順番は問わない、つまり、(XU1,L1)と(L1,XU1)は同じ情報を意味するため、どちらを用いても構わない。ただし、図18Bや図19Bで示すように有向グラフとする場合は、例えばXU1をOUT、L1をINと定義し、XU1,L1)をXU1からL1に向かうエッジとする。そして、向き情報を持たないエッジは双方向のエッジとして、(XU1,L1)と(L1,XU1)の2つによって表すことで無向グラフにおけるエッジと同じ効果を持たせることができる。この処理を全ての配線に対して行うことで部品間接続リストを作ることができる。以上のようにネットリストがあると部品間接続リストを一意に作成することができる。なお、部品間接続リストは以下のようになるが要素数が多く、情報処理装置にとっては処理しやすくても人にとっては理解しにくくなるため、テキストデータとして書かれたネットリストを更新する方法で実施の形態3を説明する。
部品リスト:[V1,XU1,L1,D1,C1,R1,R2,C2,Rload]
部品間接続リスト:[(V1,XU1),(V1,L1),(XU1,L1),(D1,C1),(D1,R1),(D1,Rload),(C1,R1),(C1,Rload),(R1,Rload),(V1,XU1),(V1,C1),(V1,R2),(V1,C2),(V1,Rload),(XU1,C1),(XU1,R2),(XU1,C2),(XU1,Rload),(C1,R2),(C1,C2),(C1,Rload),(R2,C2),(R2,Rload),(C2,Rload),(XU1,L1),(XU1,D1),(L1,D1),(XU1,R1),(XU1,R2),(R1,R2),(XU1,C2),(XU1,L1),(XU1,D1),(L1,D1)]
If the components connected to the wiring N001 are combined in pairs, three combinations can be written: (XU1, L1), (XU1, D1), and (L1, D1), which correspond to the wiring between the components. The inter-component connection list only indicates the presence or absence of a connection, so the order does not matter in the undirected graph shown in the third embodiment. In other words, (XU1, L1) and (L1, XU1) mean the same information, so either can be used. However, in the case of a directed graph as shown in FIG. 18B or FIG. 19B, for example, XU1 is defined as OUT and L1 as IN, and XU1, L1) is defined as an edge from XU1 to L1. Then, an edge without direction information can be represented as a bidirectional edge by two, (XU1, L1) and (L1, XU1), to have the same effect as an edge in an undirected graph. By performing this process for all the wiring, an inter-component connection list can be created. As described above, if there is a netlist, an inter-component connection list can be created uniquely. The inter-component connection list is as shown below, but since it has a large number of elements and is easy for an information processing device to process, it is difficult for a human to understand. Therefore, the third embodiment will be described using a method for updating a netlist written as text data.
Parts list: [V1, XU1, L1, D1, C1, R1, R2, C2, Rload]
Inter-part connection list: [(V1,XU1), (V1,L1), (XU1,L1), (D1,C1), (D1,R1), (D1,Rload), (C1,R1), (C1,Rload), (R1,Rload), (V1,XU1), (V1,C1), (V1,R2), (V1,C2), (V1,Rload), (XU1,C1), (XU1,R2), (XU1, C2), (XU1, Rload), (C1, R2), (C1, C2), (C1, Rload), (R2, C2), (R2, Rload), (C2, Rload), (XU1, L1 ), (XU1, D1), (L1, D1), (XU1, R1), (XU1, R2), (R1, R2), (XU1, C2), (XU1, L1), (XU1, D1), (L1, D1)]
多素子部品は、上記のネットリストにおいては半導体XU1のみであり、以下で表されている。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
The only multi-element component in the above netlist is semiconductor XU1, which is represented as follows:
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
N002からN004は配線を表し、LT3489はAnalog Devices(登録商標)社のスイッチング半導体の型番を示している。ネットリストのフォーマットの違いによって、ネットリスト内に半導体の型番や受動部品の回路定数を含めず、異なる行に記載する場合もあるが、可逆変換の関係にあるため実施の形態3では1行にまとめて記載する方法で説明する。 N002 to N004 represent wiring, and LT3489 is the model number of a switching semiconductor from Analog Devices (registered trademark). Depending on the format of the netlist, the model number of the semiconductor and the circuit constants of the passive components may not be included in the netlist and may be written on a different line, but because of the reversible conversion relationship, the third embodiment will explain the method of writing them all together on one line.
仮想部品は、実施の形態3では1つであるとして説明するが実施の形態1と同様、2つ以上あっても構わない。ただし、半導体においては端子数が限られていること及び計算量増加を招くことから、仮想部品は実施の形態1同様、3つを上限にするのが望ましい。また仮想部品を定義する際、仮想部品の名称は自由に決めることができるが、実施の形態3ではXU1_virtualとし、ネットリストを以下のように更新する。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
In the third embodiment, the number of virtual components is described as one, but two or more virtual components may be used, as in the first embodiment. However, since the number of terminals in a semiconductor is limited and this would lead to an increase in the amount of calculations, it is desirable to limit the number of virtual components to three, as in the first embodiment. When defining a virtual component, the name of the virtual component can be freely determined, but in the third embodiment, the name is set to XU1_virtual, and the netlist is updated as follows:
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
端子部品は、上記の半導体のネットリストのXU1の配線「N002 N003 IN 0 N001 IN N002 N004 LT3489」の内、LT3489は部品の型番であるため、N002 N003 IN 0 N001 IN N002 N004が配線となる。このネットリストの定義方法においては、半導体の端子1にN002、端子2にN003、端子3にIN、端子4に0、端子5にN001、端子6にIN、端子7にN002、端子8にN004の配線名の配線が接続されていることを示している。このため、8つの配線に対して8つの端子部品を定義する。ただし、この例においてはINが2つ存在するため実施の形態1で示したように、INが繋がっている端子3と端子6を1つの端子部品としても良い。
The terminal parts are the wiring "N002 N003 IN 0 N001 IN N002 N004 LT3489" of XU1 in the above semiconductor netlist, since LT3489 is the part model number, N002 N003 IN 0 N001 IN N002 N004 are the wirings. This method of defining the netlist indicates that wirings with wiring names N002 are connected to
一方、N002も2つ存在しているが、これは多素子部品の端子間を接続する閉じた自己ループとなる配線であるため、1つの端子にまとめることはできない。自己ループであることは、回路全体のネットリストの中でN002が他の部品との接続で使われていないことから判定することができる。また、図24Aの例には含まれていないがNCが含まれる場合においては、NC端子を端子部品とするのが望ましい。特に同一の半導体が異なる電気回路で用いられ、他の電気回路ではNC端子も配線が接続され利用される場合においてはNC端子を端子部品と定義することで、半導体周囲の回路構成に依らず一つの半導体に対して端子部品の数を一定にできる。その結果、部品の型番ごとに仮想部品と端子部品を固定することが可能となり、一つの型番に対して異なる回路トポロジーとなる電気回路に対しても統一的に扱うことができる効果が得られる。ただし、半導体内部で結線がないなど、いかなる半導体の使い方による場合も使用しないNC端子についてはグラフネットワークの処理における計算量を削減するために端子部品と定義しない方が望ましい。 On the other hand, there are also two N002s, but since this is a wiring that forms a closed self-loop connecting the terminals of a multi-element component, it cannot be combined into one terminal. The fact that it is a self-loop can be determined from the fact that N002 is not used in connections to other components in the netlist of the entire circuit. In addition, although it is not included in the example of FIG. 24A, in cases where NC is included, it is preferable to define the NC terminal as a terminal component. In particular, in cases where the same semiconductor is used in different electric circuits and the NC terminal is also connected to wiring and used in the other electric circuits, by defining the NC terminal as a terminal component, the number of terminal components for one semiconductor can be constant regardless of the circuit configuration around the semiconductor. As a result, it is possible to fix the virtual components and terminal components for each model number of the component, and the effect is obtained that it is possible to uniformly handle electric circuits with different circuit topologies for one model number. However, it is preferable not to define NC terminals that are not used regardless of how the semiconductor is used, such as when there is no wiring inside the semiconductor, as terminal components in order to reduce the amount of calculations in the graph network processing.
上記の方法を踏まえたネットリストは以下のようになるが、ネットリストにおける端子部品の名称は他の端子部品や回路部品と異なるものであれば、どのようなものであっても構わない。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
XU1-1;
XU1-2;
XU1-3;
XU1-4;
XU1-5;
XU1-6;
XU1-7;
XU1-8;
The netlist based on the above method is as follows, but the names of the terminal components in the netlist may be any names as long as they are different from the names of the other terminal components and circuit components.
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
XU1-1;
XU1-2;
XU1-3;
XU1-4;
XU1-5;
XU1-6;
XU1-7;
XU1-8;
端子部品と配線との接続は、上記で定義した端子部品と多素子部品の配線の数は等しいため、多素子部品のそれぞれの配線を端子部品に当てはめる。その処理によってネットリストは以下のように更新される。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
XU1-1;N002
XU1-2;N003
XU1-3;IN
XU1-4;0
XU1-5;N001
XU1-6;IN
XU1-7;N002
XU1-8;N004
Regarding the connection between the terminal parts and the wiring, since the number of wirings of the terminal parts and the multi-element parts defined above is equal, each wiring of the multi-element parts is assigned to the terminal parts. Through this process, the netlist is updated as follows:
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;
XU1-1;N002
XU1-2;N003
XU1-3;IN
XU1-4;0
XU1-5;N001
XU1-6;IN
XU1-7;N002
XU1-8;N004
仮想部品と端子部品との接続は、仮想部品と端子部品間に配線を定義するものである。配線の名前は回路内で用いられる他の配線名と同じ名称とならないようにすればどのようなものでも構わない。例えば実施の形態3においては配線の名称をLine1~Line8とすると、ネットリストは以下となる。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual;Line1,Line2,Line3,Line4,Line5,Line6,Line7,Line8
XU1-1;N002,Line1
XU1-2;N003,Line2
XU1-3;IN,Line3
XU1-4;0,Line4
XU1-5;N001,Line5
XU1-6;IN,Line6
XU1-7;N002,Line7
XU1-8;N004,Line8
The connection between the virtual component and the terminal component defines the wiring between the virtual component and the terminal component. The name of the wiring can be any name as long as it is not the same as the name of other wiring used in the circuit. For example, in the third embodiment, if the names of the wiring are Line1 to Line8, the netlist will be as follows.
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
XU1_virtual; Line1, Line2, Line3, Line4, Line5, Line6, Line7, Line8
XU1-1; N002,
XU1-2; N003,
XU1-3; IN,
XU1-4;0, Line4
XU1-5; N001,
XU1-6; IN,
XU1-7; N002, Line7
XU1-8; N004, Line 8
部品リストから多素子部品の除去、及び部品間接続リストからの除去は、多素子部品である半導体XU1に含まれる情報は、全てXU1_virtualとXU1-1~XU1-8に移されたので不要となる。このため、多素子部品と配線を部品間接続リストから削除すると共に、多素子部品を部品リストから削除する。ただし、部品の型番が情報として残っているため、仮想部品のノード属性情報、または仮想部品と端子部品のノード属性情報として保持する。以上の処理により、処理対象外であるため処理を加えていない2端子部品を加えたネットリストは以下のようになり、これを最終的な出力とする。
V1;IN 0 3.3
XU1_virtual;Line1,Line2,Line3,Line4,Line5,Line6,Line7,Line8 LT3489
XU1-1;N002,Line1
XU1-2;N003,Line2
XU1-3;IN,Line3
XU1-4;0,Line4
XU1-5;N001,Line5
XU1-6;IN,Line6
XU1-7;N002,Line7
XU1-8;N004,Line8
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload; OUT 0 13
Removing multi-element components from the components list and from the inter-component connection list is no longer necessary because all information contained in the multi-element component semiconductor XU1 has been moved to XU1_virtual and XU1-1 to XU1-8. For this reason, the multi-element components and wiring are deleted from the inter-component connection list, and the multi-element components are deleted from the components list. However, because the component model numbers remain as information, they are retained as node attribute information for the virtual components, or node attribute information for the virtual components and terminal components. Through the above processing, the netlist that includes the two-terminal components that were not processed because they were not subject to processing will look like the one below, and this is the final output.
V1;IN 0 3.3
XU1_virtual; Line1, Line2, Line3, Line4, Line5, Line6, Line7, Line8 LT3489
XU1-1; N002,
XU1-2; N003,
XU1-3; IN,
XU1-4;0, Line4
XU1-5; N001,
XU1-6; IN,
XU1-7; N002, Line7
XU1-8; N004, Line 8
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
実施の形態3では、説明の都合、ネットリストの更新によって説明したが処理においては部品リスト及び部品間接続リストによって行うのが望ましい。ネットリストの更新は人にとっては理解しやすいものであるが、情報処理装置にとってはテキストデータを書き換えるため、エンコーディングによるエラーやエスケープシーケンスなどによるエラーなど人為的または機械的エラーが発生しやすくなるためである。一方、文字を数字、IDなどに置き換え、行列またはリストデータとして処理することで人には理解しにくくなるが、情報処理装置にとっては例外が発生しにくく、処理誤りが発生しにくくできる。この時、実施の形態3のように部品や配線を名称で定義するのではなく、また、個別の部品にユニークな番号に置き換えることで機械的に処理しやすく、それらの置き換えた定義をデータベースとして保持しておけば、処理後の結果から人にとって分かりやすい名称に置き換えることができる。 In the third embodiment, for convenience of explanation, the netlist is updated, but it is preferable to perform the processing using the parts list and inter-parts connection list. Updating the netlist is easy for people to understand, but for information processing devices, it involves rewriting text data, which makes it more likely for human or mechanical errors to occur, such as encoding errors or errors due to escape sequences. On the other hand, replacing characters with numbers, IDs, etc. and processing as matrix or list data makes it harder for people to understand, but makes it less likely for exceptions to occur and processing errors to occur for information processing devices. In this case, rather than defining parts and wiring by name as in the third embodiment, replacing each part with a unique number makes it easier to process mechanically, and if these replaced definitions are stored as a database, the names can be replaced with more easily understandable names from the results of processing.
このように、実施の形態3に係る情報処理装置100は、図23に示す処理において、最初にネットリストから部品リストと部品間接続リストを抽出する。そして、各々1つずつの仮想部品を部品リストに追加すると共に、多素子部品に接続される配線の数と同数、または多素子部品の端子の数と同数の端子部品を部品リストに追加する。このとき、配線の数が多素子部品の端子の数以上にはならないため、配線の数の方が少なくなると共に、配線が接続されない端子はNC端子とする。図23では多素子部品に接続される配線の数と同数の場合について示している。端子部品の数が配線の数と等しいため、一つの端子部品に対して1つの配線を接続することができる。また、端子部品と仮想部品間に新たな配線を定義して、部品間接続リストに追加し、多素子部品と配線間の接続を部品間接続リストから除去すると共に、情報を移し終えた後の多素子部品を部品リストから除去し、部品リストと部品間接続リストを出力する。
In this way, the
実施の形態3では、可逆性を持ってネットリストを含むテキストデータをグラフネットワークに変換する方法を示すものである。電気回路のネットリストをグラフネットワークに変換してから、変換したグラフネットワークをネットリストに逆変換した際に、逆変換したネットリストを用いて元の電気回路の特性を表現できればグラフネットワークに変換した際に情報劣化が無いと判定できる。しかしながら、ネットリストからグラフネットワークへの変換と、グラフネットワークからネットリストへの変換は可逆的な処理ではないため異なるアルゴリズムを構築する必要がある。このため変換、または逆変換のみの評価をすることが困難である。また、変換前と、逆変換で生成した電気回路の特性を回路シミュレーションの出力結果で比較評価することが考えられる。 In the third embodiment, a method for converting text data including a netlist into a graph network with reversibility is shown. When a netlist of an electric circuit is converted into a graph network and then the converted graph network is converted back into a netlist, if the characteristics of the original electric circuit can be expressed using the inverse converted netlist, then it can be determined that there is no information degradation when converted into a graph network. However, conversion from a netlist to a graph network and conversion from a graph network to a netlist are not reversible processes, and therefore different algorithms must be constructed. For this reason, it is difficult to evaluate only the conversion or the inverse conversion. It is also possible to compare and evaluate the characteristics of the electric circuit before conversion and that generated by inverse conversion using the output results of a circuit simulation.
しかしながら、ネットリストにおける小さな情報劣化であっても、逆変換した後のネットリストが回路シミュレータで計算可能、すなわちエラーが発生せずに計算を終える保証はない。一例として半導体の端子に対して誤った配線が一つでも追加されると他の情報は全て正しく逆変換できても回路シミュレーションでは正しい結果を出力することはできない。また、上記の変換前と逆変換後のネットリストを比較することも考えられるが、ネットリストの部品の各順番や配線名などは任意であるため変換前のネットリストと逆変換により生成したネットリストを比較するのは困難であるため適切な評価はできない。 However, even with small degradations in information in the netlist, there is no guarantee that the netlist after reverse conversion can be calculated in a circuit simulator, i.e. that the calculations will be completed without errors. As an example, if even one incorrect wiring is added to a semiconductor terminal, the circuit simulation will not be able to output correct results even if all other information can be correctly reverse converted. It is also possible to compare the netlists before and after the above conversion, but because the order of components in the netlist and the names of the wiring are arbitrary, it is difficult to compare the netlist before conversion with the netlist generated by reverse conversion, and therefore an appropriate evaluation cannot be made.
このため、実施の形態3においては、グラフネットワークへの変換の精度評価のため、グラフネットワークをグラフニューラルネットワークに入力し、グラフニューラルネットワークの推論精度によって変換の精度を確認する方法を提案する。これは、グラフネットワークに変換する際の情報劣化が少なければグラフニューラルネットワークの推論精度は高くなり、逆に変換の際に情報劣化が発生していればグラフニューラルネットワークの推論精度は低くなるものと考えられるためである。公平な条件で比較するために仮想部品や端子部品の追加によって変化するノードの数を除いて、グラフニューラルネットワークの構造(隠れ層の数や各隠れ層のチャネル数)や繰り返し回数であるエポック数、データの分割個数であるミニバッチ数、最適化アルゴリズム等は変えず、学習用データとテスト用データの組み合わせは計算ごとに変化しないように固定した。 For this reason, in the third embodiment, in order to evaluate the accuracy of conversion to a graph network, a method is proposed in which a graph network is input into a graph neural network and the accuracy of the conversion is confirmed based on the inference accuracy of the graph neural network. This is because it is believed that if there is little information degradation when converting to a graph network, the inference accuracy of the graph neural network will be high, and conversely, if information degradation occurs during conversion, the inference accuracy of the graph neural network will be low. In order to compare under fair conditions, except for the number of nodes, which changes due to the addition of virtual parts and terminal parts, the structure of the graph neural network (the number of hidden layers and the number of channels in each hidden layer), the number of epochs which is the number of repetitions, the number of mini-batches which is the number of data divisions, the optimization algorithm, etc. are not changed, and the combination of training data and test data is fixed so as not to change for each calculation.
また、学習用データとテスト用データの分割においては偏りが出ないように均等な数となるよう無作為に分割した。更に、グラフニューラルネットワークは乱数の初期値により学習にばらつきが発生するため、初期値を10回変えた学習によるテスト用の推論値の平均を取り、学習のばらつきを軽減した。 In addition, the training data and test data were divided randomly to ensure equal numbers to avoid bias. Furthermore, because graph neural networks experience variability in learning due to the initial random number values, the initial values were changed 10 times to change the average of the inference values for testing, reducing the variability in learning.
データセットはAnalog Devices社の回路シミュレータLTspiceに付属の3,308個の電気回路を用い3,308個の内、70%の2,315個を学習用データ、残りの993個をテスト用データとし、学習用データとテスト用データは固定した。データセットには図25に示すように7種類の回路部品を用い電気回路からネットリストを抽出し、7クラスのグラフ分類問題とした。図25は、データセットとして用いたネットリストに含まれる電気回路(Circuit)の数、ノード(Node)の平均数、エッジ(Edge)の平均数、ノードの種類(Node Feature)の平均数を示す表である。電源回路(Power Products)の数が最も多くなっており全体の70%を占めている。なお、ノードの種類とは、半導体、抵抗、コンデンサ、コイルなどを指し、例えば一つの回路に複数のコンデンサが用いられていても1つと数える。また、半導体を端子部品に分割したとき、半導体のスペックシートから、端子部品の種類を付与することも可能である。本実施形態では半導体は完全なブラックボックスとするため、端子情報も与えず全ての端子が同じ種類のノードであると定義した。 The data set consisted of 3,308 electric circuits included in the Analog Devices circuit simulator LTspice. Of the 3,308, 2,315 (70%) were used as training data, and the remaining 993 were used as test data. The training data and test data were fixed. As shown in Figure 25, seven types of circuit components were used in the data set, and a netlist was extracted from the electric circuit, creating a seven-class graph classification problem. Figure 25 is a table showing the number of electric circuits (Circuits), the average number of nodes (Nodes), the average number of edges (Edges), and the average number of node types (Node Features) included in the netlist used as the data set. The number of power circuits (Power Products) was the largest, accounting for 70% of the total. The type of node refers to semiconductors, resistors, capacitors, coils, etc., and even if multiple capacitors are used in one circuit, it is counted as one. In addition, when a semiconductor is divided into terminal components, it is possible to assign the type of terminal component from the semiconductor's spec sheet. In this embodiment, the semiconductor is treated as a complete black box, so no terminal information is given and all terminals are defined as the same type of node.
グラフニューラルネットワークは、3層の隠れ層を持つネットワークで構成した。また、縮約となるアルゴリズムには、いずれの条件においても最も高い推論精度が得られたGraphSageを使用した。GraphSageと活性化関数であるReLU関数による3層のネットワークで、出力層前の活性化関数としてSoftmax関数を用いて7値分類とした。なお、本データセットにおいては、いずれの条件においても2層や4層~6層のネットワークに比べて、3層のネットワークが最も推論精度が高くなることから3層を採用したが、電気回路の規模が図25のデータセットに比べて大きくなる場合には3層以上のネットワーク、電気回路の規模が小さくなる場合には2層のネットワークなど、データセットに応じて層構成やニューラルネットワークのアルゴリズムを変更するのは、一般のニューラルネットワークと同じとして構わない。 The graph neural network was constructed with a network having three hidden layers. GraphSage was used as the reduction algorithm, as it provided the highest inference accuracy under all conditions. A three-layer network using GraphSage and the ReLU activation function was used, and a seven-value classification was performed using the Softmax activation function before the output layer. Note that a three-layer network was used for this dataset because it provided the highest inference accuracy compared to two-layer and four to six-layer networks under all conditions. However, it is acceptable to change the layer structure and neural network algorithm according to the dataset, as with general neural networks, by using a network with three or more layers when the scale of the electrical circuit is larger than that of the dataset in Figure 25, or a two-layer network when the scale of the electrical circuit is smaller.
次に、図26乃至図31を参照して、実施の形態3の効果について説明する。図26Aは、多素子部品を含む電気回路を示す回路図であり、図26Bは、図26Aの電気回路を示すグラフネットワークである。図26Bに示すように、多素子部品Xにはエッジe51及びエッジe52を含む複数のエッジが接続されており、エッジe51が自己ループになっており、エッジe52が多重辺になっている。図27は、多素子部品を仮想部品と端子部品に分解しない条件で学習し、テスト用データで推論を行った推論精度を示すグラフネットワークである。また、図28は、図26Aの電気回路において仮想部品を用いず端子部品のみで端子部品間を全て接続し、完全グラフとしたグラフネットワークであり、図29は、図28のグラフネットワークで学習し、テスト用データで推論を行った推論精度を示すグラフネットワークである。また、図30は、図26Aの電気回路において仮想部品を介して端子部品間を接続し、スターグラフとしたグラフネットワークであり、図31は、図30のグラフネットワークで学習し、テスト用データで推論を行った推論精度を示すグラフネットワークである。なお、第1グラフにおける特定ノード(原ノード)は、電気回路が有する部品及び当該部品に接続されている配線を示す1つのノードであってもよい。 Next, the effect of the third embodiment will be described with reference to Figs. 26 to 31. Fig. 26A is a circuit diagram showing an electric circuit including a multi-element component, and Fig. 26B is a graph network showing the electric circuit of Fig. 26A. As shown in Fig. 26B, a plurality of edges including edge e51 and edge e52 are connected to the multi-element component X, edge e51 is a self-loop, and edge e52 is a multiple edge. Fig. 27 is a graph network showing the inference accuracy when learning is performed under the condition that the multi-element component is not decomposed into virtual components and terminal components, and inference is performed using test data. Fig. 28 is a graph network showing the inference accuracy when all terminal components are connected using only terminal components without using virtual components in the electric circuit of Fig. 26A, and a complete graph is formed. Fig. 29 is a graph network showing the inference accuracy when learning is performed using the graph network of Fig. 28 and inference is performed using test data. Also, Fig. 30 shows a graph network in which terminal components are connected via virtual components in the electric circuit of Fig. 26A to form a star graph, and Fig. 31 shows a graph network showing the inference accuracy obtained by learning with the graph network of Fig. 30 and performing inference with test data. Note that a specific node (original node) in the first graph may be a single node showing a component in the electric circuit and a wiring connected to the component.
上記いずれの例においても、学習は、4,000回のエポックとして、10回の試行の最大値の平均値を推論精度とした。図26A、図26B及び図27に示す結果では、推論精度の最大値は97.20%であった。また、図28及び図29に示す、図26Aの電気回路において仮想部品を用いず端子部品のみで端子部品間を全て接続した場合、10回の試行の最大値の平均を算出するとテストデータに対する推論精度は、96.89%であり、端子部品に分割する前と比べて推論精度が低下した。図30及び図31に示す、実施の形態3に係るグラフネットワークを学習し推論した場合、10回の試行の最大値の平均を算出するとテストデータに対する推論精度は97.72%であった。このことから、仮想部品を用いず端子部品のみで学習及び推論する場合は推論精度が0.5%低下するのに対して、仮想部品と端子部品を用いることで推論精度が向上しており、情報劣化が低減されたことで改善できたと考えられる。 In all of the above examples, the learning was performed over 4,000 epochs, and the average of the maximum values of 10 trials was used as the inference accuracy. In the results shown in Figures 26A, 26B, and 27, the maximum inference accuracy was 97.20%. In addition, in the electric circuit of Figure 26A shown in Figures 28 and 29, when all terminal components are connected using only terminal components without using virtual components, the inference accuracy for the test data was calculated as 96.89% when the average of the maximum values of 10 trials was calculated, and the inference accuracy was lower than before the division into terminal components. In the case of learning and inference using the graph network according to the third embodiment shown in Figures 30 and 31, the inference accuracy for the test data was calculated as 97.72% when the average of the maximum values of 10 trials was calculated. From this, it can be seen that the inference accuracy drops by 0.5% when learning and inferring using only terminal components without using virtual components, whereas the inference accuracy improves by using virtual components and terminal components, and it is considered that the improvement was achieved by reducing information degradation.
なお、学習にかかる計算時間はCPU(Intel(登録商標)社i9-11950H)、GPU(Nvidia(登録商標)社 RTX A5000)を用いると図27が7分、図29が30分、図31が10分であり、図31は、図29よりも高い水準にあることが分かる。 In addition, when using a CPU (Intel (registered trademark) i9-11950H) and a GPU (Nvidia (registered trademark) RTX A5000), the calculation time required for learning is 7 minutes for Figure 27, 30 minutes for Figure 29, and 10 minutes for Figure 31, and it can be seen that Figure 31 is at a higher level than Figure 29.
また、図26Bに示すように端子に分解しない従来法の場合と、図30に示すように仮想部品と端子部品とに分解した実施の形態3と、を比較すると、配線の有無を予測するリンク予測は、従来法では多重辺が存在するため困難であったのに対して、実施の形態3では、多重辺を意味する2つのノード間の2つ以上のエッジを単純グラフとして予測することができる。また、部品定数や部品の型番を予測するノード予測においても、部品の方向性や部品の端子数などの制御ができるため従来よりも優れた結果を得ることができる。なお、実施の形態3では基準電位(GND)をノードとして定義するが、これにより多重辺の発生を低減できる。
Furthermore, comparing the conventional method in which there is no decomposition into terminals as shown in FIG. 26B with
また、実施の形態3に基づき生成した隣接行列をグラフニューラルネットワークによってグラフ分類(グラフネットワークの種類を分類)や、グラフ回帰(グラフネットワークから実数値が実数列を予測)、リンク予測(エッジの有無を予測)、ノード予測(ノードの有無を予測)、ノード特性予測(ノードの種類やノードの持つ数値を予測)などに用いる。また、graph VAE(Variational Autoencoder)でグラフ特徴量を抽出することや、graph GAN(Generative Adversarial Network)で所望の条件を満たすグラフネットワークを生成することができるが、これらは一般的なグラフニューラルネットワークの処理と同様に行うことができるため詳細は説明しない。 The adjacency matrix generated based on the third embodiment can be used for graph classification (classifying the type of graph network), graph regression (predicting a real number sequence from a graph network), link prediction (predicting the presence or absence of an edge), node prediction (predicting the presence or absence of a node), and node characteristic prediction (predicting the type of node or the numerical value of a node) by a graph neural network. Graph features can be extracted using a graph VAE (Variational Autoencoder), and a graph network that satisfies desired conditions can be generated using a graph GAN (Generative Adversarial Network). These can be performed in the same way as general graph neural network processing, so details will not be explained.
GNDと同様に入力電圧、出力電圧もノードとして定義すると、入力ノードと出力ノードは多素子部品となり得るため入出力を含めた計算をすることができる特徴を有するが、入力や出力の向きは明確であるため、それらの部品を仮想部品と端子部品に分割する必要は必ずしもない。また、上記のグラフ分類の例のようにグラフ処理後の結果を逆変換する必要ないなど、情報処理装置の使用目的によってはグラフネットワーク内の多素子部品の全ての部品を分割する必要はなく、例えば端子数が10個以上の多素子部品や、自己ループや多重辺を有する多素子部品のみ分割するなど、特定の条件を満たすもののみを分割しても構わない。 If input and output voltages are also defined as nodes in the same way as GND, the input and output nodes can be multi-element components, which has the characteristic that calculations including input and output can be performed; however, since the direction of the input and output is clear, it is not necessarily necessary to divide these components into virtual components and terminal components. Also, depending on the purpose of use of the information processing device, such as when there is no need to reverse convert the results after graph processing as in the graph classification example above, it is not necessary to divide all of the multi-element components in the graph network. It is possible to divide only those that meet certain conditions, such as dividing only multi-element components with 10 or more terminals, or multi-element components that have self-loops or multiple edges.
実施の形態4.
次に、図32及び図33を参照して、実施の形態4に係る情報処理装置100について説明する。実施の形態4に係る情報処理装置100は、実施の形態1に係る情報処理装置100と比較してグラフデータに対して行う一部の処理が異なるが、構成については同様であり、実施の形態1と同様の構成については、同一の符号及び同一の名称を付して説明を省略する。
Next, an
実施の形態3ではプリント基板で電気回路を作成するために不可欠な回路図に対する処理を説明した。ただし、この方法はプリント基板設計用の回路だけでなく、半導体内部の設計用の回路にも適用することができる。半導体内部でもトランジスタ以外にも抵抗やコイル、コンデンサ、ダイオードなどプリント基板上と同じ回路部品ができるためである。ただし、プリント基板上での回路図と異なり、型番が存在しないので部品の寸法や被膜厚、材料定数などのパラメータをノード属性情報として付与することで、実施の形態3と同等の処理を半導体設計に対しても用いることができる。 In the third embodiment, the processing of circuit diagrams, which are essential for creating electric circuits on a printed circuit board, was explained. However, this method can be applied not only to circuits for designing printed circuit boards, but also to circuits for designing the inside of semiconductors. This is because inside semiconductors, in addition to transistors, the same circuit components as on a printed circuit board, such as resistors, coils, capacitors, and diodes, can be created. However, unlike circuit diagrams on a printed circuit board, there are no model numbers, so by adding parameters such as component dimensions, coating thickness, and material constants as node attribute information, processing equivalent to that of the third embodiment can also be used for semiconductor design.
また、回路定数も同様に、寸法や被膜厚、材料定数などのパラメータを属性情報として付与することで、実施の形態3と同様の処理を半導体設計にも用いることができる。更に、プリント回路基板での設計においても半導体内部の回路構成や、部品の性能を概略図で示したブロック図がスペックシートで公開される場合には、ブロック図をグラフネットワークに変換して回路部品としてプリント基板の回路図に組み込んでも良い。なお、ブロック図においても3つ以上の配線の接続があるブロックについては仮想部品を定義し、配線数に応じた端子部品を定義することで多端子部品と同じ処理をすることができる。
Similarly, by adding parameters such as dimensions, coating thickness, and material constants as attribute information for circuit constants, processing similar to that of
図32に、半導体内部のブロックダイアグラムの一例を示す。このように半導体の内部情報の一部が分かっている場合においては、関係が強い端子部品間を新たなエッジで接続しても良い。また、半導体だけに関わらず多素子部品全てに対して共通である。図32のブロックダイアグラムの例において、X:1とX:4、X:2とX:3、X:5とX:6が単一の部品を介して接続されていることが分かるので、それらの端子部品間を接続する。図33に端子部品間にエッジを追加した多素子部品のグラフネットワークを示す。更に端子部品間に新たな仮想部品を定義して、各仮想部品を経由して上記のX:1とX:4、 X:2とX:3、X:5とX:6間を接続しても構わない。 Figure 32 shows an example of a block diagram inside a semiconductor. In cases like this where some of the internal information of the semiconductor is known, it is acceptable to connect terminal components with strong relationships with new edges. This is also common to all multi-element components, not just semiconductors. In the example block diagram in Figure 32, it can be seen that X:1 and X:4, X:2 and X:3, and X:5 and X:6 are connected via a single component, so these terminal components are connected. Figure 33 shows a graph network of a multi-element component in which edges have been added between terminal components. It is also acceptable to define new virtual components between the terminal components and connect the above X:1 and X:4, X:2 and X:3, and X:5 and X:6 via each virtual component.
具体的には実施の形態3で示した仮想部品に加えて、仮想部品1、仮想部品2、仮想部品3を定義し、X:1->仮想部品1->X:4, X:2->仮想部品2->X:3、X:5->仮想部品3->X:6と接続し、仮想部品1と仮想部品2、仮想部品2と仮想部品3、仮想部品3と仮想部品1間を接続する。これにより、半導体の特性が含まれたグラフネットワークとなるため従来の単一のノードに比べると、電気回路の情報をより多く含むグラフネットワークとできるため電気回路からグラフネットワークに変換したときの情報劣化を少なくすることができる。更に、各端子部品には多素子部品の端子情報をノード属性情報として付与するのに加えて、各仮想部品の属性情報には隣接する端子情報をノード属性情報とするのが望ましい。これは、グラフニューラルネットワークの縮約等によって得る隣接する端子情報の重み付け平均に近い加算平均を初期条件として与えることで解に近い値から学習できるため計算時間の短縮と極小値への落ち込む可能性を低減することができる。
Specifically, in addition to the virtual parts shown in the third embodiment,
実施の形態5.
次に、図34乃至図37を参照して、実施の形態5に係る情報処理装置100について説明する。実施の形態5に係る情報処理装置100は、実施の形態1に係る情報処理装置100と比較してグラフデータに対して行う一部の処理が異なるが、構成については同様であり、実施の形態1と同様の構成については、同一の符号及び同一の名称を付して説明を省略する。
Next, an
情報処理装置100は、電気回路のネットリストまたはネットリストから作成できるグラフネットワークにおいて、2つ以上の配線が接続された2端子部品に対して適用されるものである。実施の形態5においては、実施の形態2と同様に、単独で用いても効果が得られるが、実施の形態3による手法を組み合わせることで情報劣化を特に減らすことが可能となる。実施の形態3で示した図24Bに係るネットリストを例に、用語を説明する。図24Bのネットリストを再掲すると以下となる。
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload;OUT 0 13
The
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
2端子回路部品は、入力端子と出力端子で構成された部品となる。上記のネットリストにおいては、XU1以外は2端子回路部品に該当するため2端子回路部品はV1とL1, D1, C1, R1, R2, C2, Rloadとなる。配線も物理的な実態を持つためノードとして考えることもできるが、回路部品が複雑な物理特性を有するのに対して、配線は回路部品間の接続情報だけを持っているため、実施の形態5においては回路部品をノードとし、配線はノード間を接続するエッジとする。ただし、電気回路の基準電位であるGNDはノードとして定義することで多重辺を減らすことができるため望ましい。
A two-terminal circuit component is a component that consists of an input terminal and an output terminal. In the above netlist, all components except XU1 are two-terminal circuit components, so the two-terminal circuit components are V1, L1, D1, C1, R1, R2, C2, and Rload. Wires also have physical entities and can be considered as nodes, but while circuit components have complex physical properties, wiring only has connection information between circuit components, so in
2端子分解部品は、上記の2端子回路部品を2つの回路部品に分解したものと考えることができる。分解した部品の名前は他の回路部品名と同一にならない(ユニーク)である限りにおいて任意である。実施の形態5ではV1はV1-1,V1-2、L1はL1-1,L1-2,D1はD1-1とD1-2,C1はC1-1とC1-2,R1はR1-1とR1-2,R2はR2-1とR2-2,C2はC2-1とC2-2,RloadはRload-1とRload-2とする。ただし、電源は必ずしも2端子分解部品に分割しなくても構わない。 A two-terminal disassembled component can be thought of as the two-terminal circuit component described above disassembled into two circuit components. The names of the disassembled components can be any as long as they are unique and not the same as other circuit component names. In the fifth embodiment, V1 is V1-1 and V1-2, L1 is L1-1 and L1-2, D1 is D1-1 and D1-2, C1 is C1-1 and C1-2, R1 is R1-1 and R1-2, R2 is R2-1 and R2-2, C2 is C2-1 and C2-2, and Rload is Rload-1 and Rload-2. However, the power supply does not necessarily have to be divided into two-terminal disassembled components.
2端子分解部品と配線との接続は、2端子回路部品に接続されていた配線を、2つに分解した2端子分解部品にそれぞれ接続することを意味し、各配線を2端子分解部品に割り当てる。上記のネットリストの例では以下となる。
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload;OUT 0 13
V1-1;IN
V1-2;0
L1-1;IN
L1-2;N001
D1-1;N001
D1-2;OUT
C1-1;OUT
C1-2;0
R1-1;OUT
R1-2;N003
R2-1;N003
R2-2;0
C2-1;N004
C2-2;0
Rload-1;OUT
Rload-2;0
The connection between a 2-terminal disassembled component and wiring means that the wiring connected to the 2-terminal circuit component is connected to each of the 2-terminal disassembled components that have been disassembled into two, and each wiring is assigned to the 2-terminal disassembled component. In the above example of the netlist, it is as follows.
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
V1-1;IN
V1-2;0
L1-1;IN
L1-2; N001
D1-1; N001
D1-2;OUT
C1-1;OUT
C1-2;0
R1-1;OUT
R1-2; N003
R2-1; N003
R2-2;0
C2-1; N004
C2-2;0
Rload-1; OUT
Rload-2;0
2端子分解部品間の接続]は、2端子分解部品間を新しく定義した配線で接続するものであり、グラフネットワーク内で使用される他の配線名とは異なる配線名を使用する限りにおいてはどのようなものを用いても構わない。下記の例ではWire1~Wire 8を用いることにする。
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload;OUT 0 13
V1-1;IN Wire1
V1-2;0 Wire
L1-1;IN Wire2
L1-2;N001 Wire2
D1-1;N001 Wire3
D1-2;OUT Wire3
C1-1;OUT Wire4
C1-2;0 Wire4
R1-1;OUT Wire5
R1-2;N003 Wire5
R2-1;N003 Wire6
R2-2;0 Wire6
C2-1;N004 Wire7
C2-2;0 Wire7
Rload-1;OUT Wire8
Rload-2;0 Wire8
"Connection between 2-terminal decomposition components" connects 2-terminal decomposition components with newly defined wires, and any wire name can be used as long as it is different from other wire names used in the graph network. In the following example, Wire1 to Wire8 are used.
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
V1-1;IN Wire1
V1-2;0 Wire
L1-1;IN Wire2
L1-2;N001 Wire2
D1-1;N001 Wire3
D1-2; OUT Wire3
C1-1; OUT Wire4
C1-2;0 Wire4
R1-1; OUT Wire5
R1-2; N003 Wire5
R2-1; N003 Wire6
R2-2;0 Wire6
C2-1;N004 Wire7
C2-2;0 Wire7
Rload-1; OUT Wire8
Rload-2;0 Wire8
回路定数について抵抗、コイル、コンデンサにおいては回路理論に従い、抵抗とコイルは2端子部品の半分の値、コンデンサは2端子部品の2倍の値をノード属性情報として付与するのが望ましい。また電源は分割の有無に関わらず2端子部品の電圧または電流と同じ値で定義する。これは電圧や電流を半分や2倍すると最小電圧を下回り動作しないことや、定格耐圧を超えることで破壊されることがあるため分割の有無に関わらず変更が望ましくないためである。直流電圧源や直流電流源のように電流の向きに方向性がある場合には、図34に示すように、ノードを並列に分解して、各分解したノードに対して少なくとも一つのエッジに向きを持たせることで方向性を持つグラフネットワークを作ることができる。直流電圧源や直流電流源以外にもダイオードや方向性結合器のような方向性を持つ回路部品に適用できる。この時、分解した各ノードのノード属性に異なる特性値を付与することで順方向と逆方向で異なる特性の情報を伝搬させることができる。この時、図30のグラフに対して方向性を持つ回路部品を並列に分割し、それぞれの回路部品に異なる種類のノード属性をワンホットベクトルで付与することで、10回の試行の最大値の平均を算出するとテストデータに対する推論精度は97.82%と、図30の97.72%よりも推論精度が平均0.1%向上する。
図35Aは、多素子部品を含む電気回路を示す回路図であり、図35Bは、図35Aの電気回路を示すグラフネットワークである。このように順方向と逆方向が異なる特性は、図35Bのように端子ごとに分解しても得ることができるが、順方向と逆方向の特性が異なることが分かっている場合には、並列に分解する方が望ましい。なお、図35Bのように直列にノードを分解した場合、V:1とV:2に着目するとグラフニューラルネットワークの重み行列と非線形関数である活性化関数がX:1、V:1、V:2、Gの順番に施されるため、活性化関数の効果で逆方向のG、V:2、V:1、X:1の特性とは異なるものとなる。そのため、順方向と逆方向で異なる特性が学習によって得られる。しかし、方向性を有する回路部品は並列に分割し、向きを持つエッジと組み合わせることで学習に頼ることなく明示的に順方向と逆方向の特性を変えることができるため計算量を減らすことができるだけでなく、推論精度が向上するため望ましい。
Regarding circuit constants, for resistors, coils, and capacitors, it is desirable to assign half the value of the two-terminal component for resistors and coils, and twice the value of the two-terminal component for capacitors, as node attribute information according to circuit theory. In addition, the power supply is defined as the same value as the voltage or current of the two-terminal component, regardless of whether it is divided or not. This is because if the voltage or current is halved or doubled, it may not work below the minimum voltage, or it may be destroyed by exceeding the rated voltage, so it is undesirable to change it regardless of whether it is divided or not. In the case where the direction of the current is directional, such as a DC voltage source or a DC current source, a graph network with directionality can be created by decomposing the nodes in parallel and giving a direction to at least one edge for each decomposed node, as shown in FIG. 34. In addition to DC voltage sources and DC current sources, it can also be applied to circuit components with directionality such as diodes and directional couplers. At this time, by assigning different characteristic values to the node attributes of each decomposed node, information on different characteristics can be propagated in the forward and reverse directions. In this case, by dividing the circuit components with directionality in the graph in Figure 30 in parallel and assigning different types of node attributes to each circuit component using a one-hot vector, the inference accuracy for the test data is calculated as the average of the maximum values of 10 trials, which is 97.82%, an average improvement of 0.1% from the 97.72% in Figure 30.
FIG. 35A is a circuit diagram showing an electric circuit including a multi-element component, and FIG. 35B is a graph network showing the electric circuit of FIG. 35A. The characteristics in the forward and reverse directions can be obtained by decomposing for each terminal as in FIG. 35B, but when it is known that the characteristics in the forward and reverse directions are different, it is preferable to decompose in parallel. In addition, when the nodes are decomposed in series as in FIG. 35B, when focusing on V:1 and V:2, the weight matrix of the graph neural network and the activation function, which is a nonlinear function, are applied in the order of X:1, V:1, V:2, and G, and the characteristics in the reverse direction are different from those of G, V:2, V:1, and X:1 due to the effect of the activation function. Therefore, different characteristics in the forward and reverse directions can be obtained by learning. However, by dividing circuit components having directionality in parallel and combining them with edges having direction, the characteristics in the forward and reverse directions can be explicitly changed without relying on learning, which is desirable because it not only reduces the amount of calculations but also improves the inference accuracy.
詳細は後述するが回路定数などのノードの持つ特徴量は、ノード属性情報を保持するワンホットベクトルの1の要素に実数として付与することで特徴量をグラフネットワークとして保持できる。また、特徴量のダイナミックレンジが大きく、計算機で丸め込まれる場合には特徴量に対数関数を施した値をワンホットベクトルの1の要素に付与するのが望ましい。 Details will be given later, but the features of nodes, such as circuit constants, can be stored as a graph network by assigning them as real numbers to one element of a one-hot vector that holds node attribute information. In addition, if the dynamic range of the feature is large and it will be rounded by computer, it is desirable to assign a value obtained by applying a logarithmic function to the feature to one element of the one-hot vector.
ダイオードは2端子分解部品のノード属性情報にアノードを0、カソードを1と定義することで特性が異なることをグラフネットワーク情報として保持できる。なお、0と1は逆であっても良く、判別できるものであれば0、1以外の整数や実数であっても良い。また方向性結合器については3端子以上となるものの、ダイオードと同様、入力と出力となる2端子分解部品の属性情報に異なる値を定めることで、信号が流れる向きを定義することができる。ダイオードや方向性結合器を型番として定義する場合には型番をノード属性情報の一要素として保持し、それ以外のノード属性情報にワンホットベクトルで0と1を定義することで実現できる。ネットリストは以下となる。
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;OUT 0 20u
R1;OUT N003 28.7K
R2;N003 0 5.23K
C2;N004 0 .001u
Rload;OUT 0 13
V1-1;IN Wire1 3.3
V1-2;0 Wire1 3.3
L1-1;IN Wire2 1.1u
L1-2;N001 Wire2 1.1u
D1-1;N001 Wire3 1N5818
D1-2;OUT Wire3 1N5818
C1-1;OUT Wire4 40u
C1-2;0 Wire4 40u
R1-1;OUT Wire5 14.35K
R1-2;N003 Wire5 14.35K
R2-1;N003 Wire6 2.615K
R2-2;0 Wire6 2.615K
C2-1;N004 Wire7 0.002u
C2-2;0 Wire7 0.002u
Rload-1;OUT Wire8 6.5
Rload-2;0 Wire8 6.5
Diodes can have different characteristics as graph network information by defining the anode as 0 and the cathode as 1 in the node attribute information of the two-terminal decomposition component. Note that 0 and 1 can be reversed, and any integer or real number other than 0 or 1 can be used as long as they can be distinguished. Although directional couplers have three or more terminals, the direction of signal flow can be defined by setting different values in the attribute information of the two-terminal decomposition component that serves as the input and output, just like diodes. When defining diodes and directional couplers as model numbers, this can be achieved by storing the model number as one element of the node attribute information and defining 0 and 1 as one-hot vectors for the other node attribute information. The netlist is as follows:
V1;IN 0 3.3
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
L1;IN N001 2.2u
D1;N001 OUT 1N5818
C1;
R1; OUT N003 28.7K
R2;
C2;
Rload;
V1-1;IN Wire1 3.3
V1-2;0 Wire1 3.3
L1-1; IN Wire2 1.1u
L1-2;N001 Wire2 1.1u
D1-1;N001 Wire3 1N5818
D1-2; OUT Wire3 1N5818
C1-1; OUT Wire4 40u
C1-2;0 Wire4 40u
R1-1; OUT Wire5 14.35K
R1-2; N003 Wire5 14.35K
R2-1; N003 Wire6 2.615K
R2-2;0 Wire6 2.615K
C2-1;N004 Wire7 0.002u
C2-2;0 Wire7 0.002u
Rload-1; OUT Wire8 6.5
Rload-2;0 Wire8 6.5
2端子回路部品の部品リスト及び部品間接続リストからの除去では、上記の処理により2端子回路部品の情報は2端子分解部品に全て移されたため2端子回路部品を除去しても情報劣化は発生しない。そこで、2端子回路部品に接続されていた配線を切断し、2端子回路部品を除去した以下のネットリストを最終的な出力とする。なお、上記の処理は実施の形態3で説明した通り、分かりやすさのためネットリストを用いて説明したが、ネットリストから一意に作られる部品リストと部品間接続リストを用いても同じ結果が得られる。
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
V1-1;IN L1 3.3
V1-2;0 L1 3.3
L1-1;IN L2 1.1u
L1-2;N001 L2 1.1u
D1-1;N001 L3 1N5818
D1-2;OUT L3 1N5818
C1-1;OUT L4 40u
C1-2;0 L4 40u
R1-1;OUT L5 14.35K
R1-2;N003 L5 14.35K
R2-1;N003 L6 2.615K
R2-2;0 L6 2.615K
C2-1;N004 L7 0.002u
C2-2;0 L7 0.002u
Rload-1;OUT L8 6.5
Rload-2;0 L8 6.5
When removing two-terminal circuit components from the component list and inter-component connection list, all information about the two-terminal circuit components has been transferred to two-terminal disassembled components by the above process, so removing the two-terminal circuit components does not cause information degradation. Therefore, the wiring connected to the two-terminal circuit components is disconnected, and the following netlist from which the two-terminal circuit components have been removed is the final output. Note that, as explained in the third embodiment, the above process has been explained using a netlist for ease of understanding, but the same results can be obtained using a component list and inter-component connection list that are uniquely created from the netlist.
XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
V1-1; IN L1 3.3
V1-2;0 L1 3.3
L1-1;IN L2 1.1u
L1-2; N001 L2 1.1u
D1-1;N001 L3 1N5818
D1-2; OUT L3 1N5818
C1-1; OUT L4 40u
C1-2;0 L4 40u
R1-1; OUT L5 14.35K
R1-2; N003 L5 14.35K
R2-1; N003 L6 2.615K
R2-2;0 L6 2.615K
C2-1; N004 L7 0.002u
C2-2;0 L7 0.002u
Rload-1; OUT L8 6.5
Rload-2;0 L8 6.5
実施の形態2では、2端子接続点を2端子分解点に分解する説明を行ったが、2端子接続点を2端子回路部品、2端子分解点を2端子分解部品とすることで同じ処理とすることができる。ただし、実施の形態2では2端子分解点のノード属性情報に同じ要素を入力すればよいが、実施の形態5では回路定数は回路理論に基づき、抵抗やコイルは半分、コンデンサは2倍とする必要がある違いがある。特に、ダイオードや方向性結合器をグラフネットワークで処理する場合、一般には有向グラフとして処理する必要があるが、実施の形態5のようにノード属性情報の少なくとも1つの要素に、アノードとカソードで異なる要素とすることで、無向グラフとして処理することができる。また有向グラフを使い、部品を並列に分解することでアノードとカソードを明示的に作ることができる。更に、逆方向バイアスも利用するアバランシェダイオードやツェナーダイオードなどにおいては単一のノードで有向グラフを用いると逆方向バイアスを考慮することができないため、実施の形態5に従う方法でグラフ変換し、ノード属性情報として情報を付与して無向グラフまたは並列に分解したノードを有向グラフとして処理することで例外処理が少なく、かつ情報劣化を低減した処理ができる。
In the second embodiment, the decomposition of a two-terminal connection point into a two-terminal decomposition point was described, but the same processing can be performed by treating the two-terminal connection point as a two-terminal circuit component and the two-terminal decomposition point as a two-terminal decomposition component. However, while in the second embodiment, it is sufficient to input the same elements into the node attribute information of the two-terminal decomposition point, in the fifth embodiment, the circuit constants are based on circuit theory, and resistors and coils must be halved and capacitors must be doubled. In particular, when processing diodes and directional couplers with a graph network, they generally need to be processed as directed graphs, but as in the fifth embodiment, by making at least one element of the node attribute information a different element for the anode and cathode, they can be processed as undirected graphs. In addition, anodes and cathodes can be explicitly created by using directed graphs and decomposing components in parallel. Furthermore, in avalanche diodes and Zener diodes that also use reverse bias, if a directed graph is used with a single node, the reverse bias cannot be taken into account. Therefore, by converting the graph using the method according to
端子番号については、実施の形態3で説明のとおり、多端子部品の場合においても2端子部品においても端子番号を端子部品または2端子分解部品のノード属性情報となる行列の1要素とすることで情報を保持できる。これは、多素子部品を一つのノードとして定義していた従来の手法では消えてしまう情報であり、この情報を保持可能であることは実施の形態5による特別な効果である。また、2端子部品についても通常、入力と出力の関係はグラフネットワークに変換すると消えるが2端子分解部品として、それぞれのノード属性情報の少なくとも一つの要素に入力や出力であることを数値で残すことで情報を保持することができる。また、負性抵抗や負性インダクタンスなど負の回路定数が生じることがあるが、正の回路定数を持つ抵抗やインダクタンス(コイル)と同様に2端子分解部品に分解する際には回路定数を半分にしたものをノード属性情報とすればよい。 As explained in the third embodiment, for both multi-terminal and two-terminal components, the terminal number can be used as one element of a matrix that is the node attribute information of the terminal component or two-terminal decomposition component to retain information. This information would disappear in the conventional method of defining a multi-element component as a single node, and the ability to retain this information is a special effect of the fifth embodiment. In addition, for two-terminal components, the input-output relationship usually disappears when converted to a graph network, but as a two-terminal decomposition component, the information can be retained by leaving the input or output as a numerical value in at least one element of each node attribute information. In addition, negative circuit constants such as negative resistance and negative inductance can occur, but when decomposing into two-terminal decomposition components, just as with resistance and inductance (coils) that have positive circuit constants, the node attribute information can be set to half the circuit constant.
図35Bは、実施の形態3の図30で示した回路のグラフネットワークに対し、実施の形態5の手法を適用したグラフネットワークである。図35Bにおいては、2端子部品である電源V、コイルL、コンデンサC、抵抗Rを2端子に分割している。図36は、図30の条件と入力データ以外を全て同一としたグラフニューラルネットワークにおけるテストデータに対する推論結果を示すグラフである。この条件において、10回の学習によって得られた推論結果の最大値の平均値は、97.50%となった。これは、図30で示した97.72%よりは0.2%低くなり、図34で示した97.82%よりは0.3%低くなるものの図26Bで示した仮想部品や2端子分解部品を含まない従来の手法である97.20%よりも0.3%以上高い推論精度が得られていることを意味している。また、このときの計算時間は、12分と、図26Bや図30よりもノード数が増える分増大する結果になったが、図26Bの従来例の2倍以下と精度向上に対して小さな増加となった。この精度向上の結果は、2端子分解部品とすることでネットリストからグラフネットワークへの変換における情報劣化が減少したことが原因と考えることができる。
FIG. 35B is a graph network obtained by applying the method of
なお、実際の電気回路を模擬する場合には、コイルやコンデンサ、抵抗、ダイオードなどの部品は交流信号において、コイルや抵抗、ダイオードにおいては並列に浮遊容量(寄生容量とも呼ばれる)、コンデンサにおいては直列に残留インダクタンスを持つ特性となる。そのような場合、回路部品を複数の2端子部品に分解すること、例えば、コンデンサには直列に残留インダクタンスが付いた構造、コイルには並列に浮遊容量となるコンデンサをノードとして取り付けることによって、同様の処理を行うことができる。 When simulating an actual electric circuit, components such as coils, capacitors, resistors, and diodes have the characteristic that, when subjected to AC signals, the coil, resistor, and diode have floating capacitance (also called parasitic capacitance) in parallel, and the capacitor has residual inductance in series. In such cases, the same processing can be achieved by breaking down the circuit components into multiple two-terminal components, for example by giving the capacitor a structure with residual inductance in series, and attaching a capacitor that acts as floating capacitance in parallel to the coil as a node.
また、上記では回路部品とグラウンドをノードとし、配線をエッジとすることで説明を行ったが、図37に示すように、回路部品とグラウンドを含む配線をノードとして、関係するノード間をエッジで接続することも望ましい。このようにすることで分解ノードX:1~X:6の数と分解ノードに接続するエッジの数は等しくなる特徴を持つ。その結果、分解ノードは仮想ノードと配線ノードのみに接続することになり、このような変換をしても回路情報を損失なくグラフネットワークに変換することができる。更に、このように変化したときのテスト用データに対する推論精度は97.22%と、推論に無関係な配線ノードが入るため推論精度は0.5%程度落ちるものの、高い推論精度が得られる。なお、推論精度が落ちる理由は、今回の実験においては3層のグラフニューラルネットワークを使用しているため、3つ隣の回路部品のノード属性まで考慮することができるのに対し、配線ノードがあることによって1つ隣の回路部品のノードの特性しか考慮できないため、推論精度が低下したと考えられる。これを解決するためには、5層以上のグラフニューラルネットワークで学習及び推論すれば良いが、学習にかかる時間やメモリ使用量が指数関数的に増大するため、回路の規模によっては使用することができる。 In the above, the circuit components and ground are nodes and the wiring is edges, but as shown in Figure 37, it is also desirable to treat the wiring including the circuit components and ground as nodes and connect related nodes with edges. By doing so, the number of decomposition nodes X:1 to X:6 is equal to the number of edges connected to the decomposition nodes. As a result, the decomposition nodes are connected only to virtual nodes and wiring nodes, and even if this conversion is performed, the circuit information can be converted to a graph network without loss. Furthermore, when changed in this way, the inference accuracy for the test data is 97.22%, and although the inference accuracy drops by about 0.5% due to the inclusion of wiring nodes that are unrelated to the inference, a high inference accuracy is obtained. The reason for the drop in inference accuracy is that in this experiment, a three-layer graph neural network was used, so it was possible to consider up to the node attributes of the circuit components three steps away, whereas the presence of wiring nodes meant that only the characteristics of the node of the circuit component one step away could be considered, which is thought to have reduced the inference accuracy. To solve this problem, learning and inference can be performed using a graph neural network with five or more layers, but the time required for learning and memory usage increase exponentially, so it may not be possible to use it depending on the size of the circuit.
次に、図38乃至図43を参照して、実施の形態1乃至5で示したノード属性情報について説明する。図38は、実施の形態1を例に、実施の形態1で示した仮想ノード及び分解ノードのそれぞれに対してノード属性情報n15d、n16d、n17d及びn18dを付与した概略図である。例えば、ノード属性情報は、1行N列の行列、または1行N列の行列に可逆変換できるテンソルであり、N個の行列の要素に数値または文字列などの値を付与することでノードの特徴を定義するものである。そして特に、実施の形態5では仮想ノードと分解ノードの要素数が等しいことを特徴としている。これは、Nを自然数とすると、仮想ノードと分解ノードがそれぞれN個の要素を持っていることと同義である。図38においてNが5でノード属性情報の要素をa1~a5,b1~b5,c1~c5,d1~d5とすると、実施の形態1のテキストデータは、
仮想ノード;仮想ノード-分解ノード1、仮想ノード-分解ノード2、仮想ノード-分解ノード3
分解ノード1;エッジ1、仮想ノード-分解ノード1
分解ノード2;エッジ2、仮想ノード-分解ノード2
分解ノード3;エッジ3、仮想ノード-分解ノード3
に加えて、以下の情報によって表現できる。
仮想ノード;a1,a2,a3,a4,a5
分解ノード1;b1,b2,b3,b4,b5
分解ノード2;c1,c2,c3,c4,c5
分解ノード3;d1,d2,d3,d4,d5
Next, the node attribute information shown in the first to fifth embodiments will be described with reference to Figs. 38 to 43. Fig. 38 is a schematic diagram in which the node attribute information n15d, n16d, n17d, and n18d are assigned to the virtual node and decomposition node shown in the first embodiment, respectively, taking the first embodiment as an example. For example, the node attribute information is a matrix with 1 row and N columns, or a tensor that can be reversibly transformed into a matrix with 1 row and N columns, and the characteristics of the node are defined by assigning values such as numerical values or character strings to the N matrix elements. In particular, the fifth embodiment is characterized in that the number of elements of the virtual node and the decomposition node is equal. This is equivalent to the fact that the virtual node and the decomposition node each have N elements, where N is a natural number. In Fig. 38, if N is 5 and the elements of the node attribute information are a1 to a5, b1 to b5, c1 to c5, and d1 to d5, the text data of the first embodiment is as follows:
Virtual node; virtual node-
In addition, it can be expressed by the following information:
Virtual nodes: a1, a2, a3, a4, a5
Decomposition node 1: b1, b2, b3, b4, b5
Decomposition node 2: c1, c2, c3, c4, c5
Decomposition node 3: d1, d2, d3, d4, d5
なお、グラフニューラルネットワークにおいては接続されたノード間のノード属性情報を学習で得られる重み行列を用いて縮約や結合、埋め込みすることで学習する処理方法であるため重要な要素である。特に、グラフニューラルネットワークにおいては、列ごとに重み行列が掛け合わされて要素ごとに結合する処理を行うため、ノード属性情報はワンホットベクトルで与えることが望ましい。これは、ワンホットベクトルであれば無関係な要素は0であるため、重み行列にどのような要素を含んでいても掛け算は0となり、結合後においても関係ない要素間の掛け算、つまりアダマール積は0となる。逆にワンホットベクトルで1を持つ成分があれば、その情報は複数の隠れ層で0以外の要素を持つ重み行列を掛け算されても、0以外の要素として伝搬していくため情報劣化しにくい。これは直交性があることを意味する。 In addition, this is an important element in graph neural networks, as the processing method involves learning by contracting, combining, and embedding node attribute information between connected nodes using a weight matrix obtained through learning. In particular, in graph neural networks, the weight matrix is multiplied for each column and combined for each element, so it is desirable to provide node attribute information as a one-hot vector. This is because unrelated elements in a one-hot vector are 0, so multiplication will be 0 regardless of what elements the weight matrix contains, and even after combining, the multiplication between unrelated elements, i.e. the Hadamard product, will be 0. Conversely, if there is a component with a value of 1 in a one-hot vector, even if that information is multiplied by a weight matrix with non-zero elements in multiple hidden layers, it will propagate as a non-zero element, so the information is less likely to degrade. This means that there is orthogonality.
次に、仮想ノードの属性情報について説明する。分解ノードは実施の形態1ではドメイン情報、実施の形態3では端子番号や回路定数、部品型番などにより特定の要素を有するが、仮想ノードは自由に定義することができる。仮想ノードに実施の形態1におけるソーシャルネットデータセットおけるユーザや企業情報、論文の引用データセットにおける本の情報を記載することは望ましいことである。ただし、仮想ノードのノード属性情報は整数、または実数または文字列など、どのようなものであっても構わない。ただし、グラフニューラルネットワークで処理する際には、数値以外は受け付けないため数値以外の文字列はユニークな数値に置き換える必要がある。 Next, the attribute information of the virtual node will be explained. The decomposition node has specific elements such as domain information in the first embodiment, and terminal numbers, circuit constants, and part model numbers in the third embodiment, but the virtual node can be freely defined. It is desirable to enter user and company information in the social network dataset in the first embodiment, and book information in the paper citation dataset in the virtual node. However, the node attribute information of the virtual node can be any type, such as an integer, real number, or character string. However, when processing with a graph neural network, only numeric values are accepted, so non-numeric character strings must be replaced with unique numeric values.
また、重み行列が取り得る要素の幅を小さくするため、ノード属性情報の各要素は0から1の実数に正規化しておくことが望ましい。これは、重み行列の後に非線形処理とするために用いるReLU(Rectified Linear Unit)関数やtanh関数などの活性化関数は0から1や-1から+1に反応しやすく設計されることが多いためである。また、分解ノードの持つノード属性情報が明確な場合には図39に示す通り、仮想ノードのノード属性情報は接続された分解ノードの持つ属性情報の平均値(加算平均)とするのが望ましい。ただし、仮想ノードであることや仮想ノード固有の情報がある場合には、全ての要素を平均化するとそれらの要素は失われてしまうため、その場合は、一部の仮想ノード固有の情報を持つ列以外のみ平均値とするのも望ましい。これは、グラフニューラルネットワークの計算において、重み行列を施して和を取るが、あらかじめ和に近い要素を入れておくことで計算を高速化でき、極小値に落ち込みにくくする効果がある。 Also, in order to reduce the range of elements that the weight matrix can take, it is desirable to normalize each element of the node attribute information to a real number between 0 and 1. This is because activation functions such as the ReLU (Rectified Linear Unit) function and the tanh function, which are used for nonlinear processing after the weight matrix, are often designed to be sensitive to 0 to 1 or -1 to +1. Also, when the node attribute information of the decomposition node is clear, it is desirable to set the node attribute information of the virtual node to the average value (additive average) of the attribute information of the connected decomposition node, as shown in Figure 39. However, when it is a virtual node or there is information specific to the virtual node, these elements will be lost if all elements are averaged, so in that case it is desirable to set only the average value except for some columns that have information specific to the virtual node. This is because in the calculation of the graph neural network, a weight matrix is applied to take the sum, but by entering elements close to the sum in advance, the calculation can be speeded up and it is less likely to fall into a minimum value.
また、計算の高速化や極小値に落ち込みにくいデータセットに対しては、仮想ノードのノード属性情報を全て0としておくことができ、仮想ノードのノード属性情報やグラフ特徴量を人が与える前提知識なしで得られるため望ましい。また、0以外の1や乱数を初期値としても良いが、属性情報の一部の列だけでもワンホットベクトルを用いる場合には1や乱数を用いると直交性を失い、存在しない要素まで発生させることになるため、0や隣接する分解ノードのノード属性情報の平均値を用いる方が情報劣化を減らせる望ましい方法である。更に、図40Aは、端子数が3である多素子部品を示すグラフネットワークであり、図40Bは、仮想ノード及び分解ノードの1つ以上のノード属性情報にドメイン情報や端子情報によって固有の数値を付与した概略図である。この図においては、仮想ノードに0、分解ノードに特定ノードが有していた端子番号に対応する1~3を付与しているが、これによって端子番号の情報劣化を低減できる。図40Bの例では端子番号は1~3としたが、特定ノードが持つ端子番号に対応すれば、どのように定義しても構わない。 Also, for faster calculations and data sets that are not prone to falling into a minimum value, it is possible to set all the node attribute information of the virtual nodes to 0, which is desirable because the node attribute information and graph features of the virtual nodes can be obtained without prior knowledge provided by a human. In addition, 1 or a random number other than 0 may be used as the initial value, but if one-hot vectors are used for even a portion of the attribute information columns, using 1 or a random number will result in loss of orthogonality and even non-existent elements will be generated, so using 0 or the average value of the node attribute information of adjacent decomposition nodes is a desirable method for reducing information degradation. Furthermore, Figure 40A is a graph network showing a multi-element component with three terminals, and Figure 40B is a schematic diagram in which unique numerical values are assigned to one or more node attribute information of virtual nodes and decomposition nodes based on domain information and terminal information. In this figure, 0 is assigned to the virtual nodes, and 1 to 3 corresponding to the terminal numbers of the specific nodes are assigned to the decomposition nodes, which reduces information degradation of the terminal numbers. In the example of Figure 40B, the terminal numbers are 1 to 3, but they can be defined in any way as long as they correspond to the terminal numbers of the specific nodes.
図41は、実施の形態2で説明した2端子分解点におけるノード属性情報n22d及びn23dの要素数が等しいことを示す概略図である。図38の仮想ノードと分解ノードの関係同様、属性情報の数を等しくしておくことでグラフネットワークとしての処理を平均化できると共に、グラフニューラルネットワークで処理することができる。 FIG. 41 is a schematic diagram showing that the number of elements of the node attribute information n22d and n23d at the two-terminal decomposition point described in the second embodiment is equal. As with the relationship between the virtual node and the decomposition node in FIG. 38, by making the number of pieces of attribute information equal, the processing as a graph network can be averaged and processing can be performed by a graph neural network.
また、図42は、2端子分解点におけるノード属性情報の少なくとも1要素に入力側と出力側に異なる値を付与することを示す概略図である。例えば、図42に示すように、属性情報の入力側を0、出力側を1としておくことで2端子分解点の特徴をグラフ情報として保持することができる。 FIG. 42 is a schematic diagram showing how different values are assigned to the input and output sides of at least one element of node attribute information at a two-terminal decomposition point. For example, as shown in FIG. 42, by setting the input side of the attribute information to 0 and the output side to 1, the characteristics of the two-terminal decomposition point can be retained as graph information.
図43は、グラフネットワーク内のノードの持つ属性情報を形成する行列の要素数を等しくすることを示す概略図である。図38乃至図42では、仮想ノード、分解ノード、及び2端子分解点の属性情報を個別に説明したが、図43に示すように、グラフネットワーク内のノード属性情報n01d、n02d及びn03dの数を等しくすることで、グラフネットワークを情報処理するときに例外処理が不要にすることができる。また、グラフニューラルネットワークにおいてグラフ分類などを行う際、複数のグラフネットワークを用いる必要があるが、用いる全てのグラフネットワークが持つノード属性情報の要素数を共通化し、各列の持つ情報を定義しておくことで、一度に複数のグラフネットワークを並列に処理できるようになるため、計算時間短縮や処理の簡略化の観点で優れており、従来にない特別な効果を有する。 FIG. 43 is a schematic diagram showing how to equalize the number of elements in the matrices forming the attribute information of the nodes in a graph network. In FIGS. 38 to 42, the attribute information of the virtual nodes, decomposition nodes, and two-terminal decomposition points was explained individually, but as shown in FIG. 43, by making the number of node attribute information n01d, n02d, and n03d in the graph network equal, it is possible to eliminate the need for exception handling when processing information on the graph network. In addition, when performing graph classification in a graph neural network, it is necessary to use multiple graph networks, but by standardizing the number of elements of the node attribute information held by all graph networks used and defining the information held by each column, it becomes possible to process multiple graph networks in parallel at once, which is excellent in terms of reducing calculation time and simplifying processing, and has a special effect not seen in the past.
なお、本開示は、各実施の形態の自由な組合せ、あるいは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 Note that this disclosure allows for free combinations of each embodiment, modifications to any of the components of each embodiment, or the omission of any of the components of each embodiment.
本開示に係る情報処理装置は、例えば、電気回路を示すグラフデータを他のグラフ構造に変換し、グラフ処理を行う際の情報の劣化を抑制することに利用することができる。 The information processing device according to the present disclosure can be used, for example, to convert graph data showing an electrical circuit into another graph structure and suppress degradation of information when performing graph processing.
10 グラフデータ取得部、20 ノード抽出部、30 グラフ生成部、31 ノード分解部、32 エッジ変更部、100 情報処理装置、G1 第1グラフ、G1’ 第2グラフ、G1’’ 第2グラフ、G1’’’ 第2グラフ、g1’ 部分グラフ、g1’’ 部分グラフ、g1’’’ 部分グラフ、e11 第1エッジ、e12 第2エッジ、e15 エッジ、e16 エッジ、n13 原ノード(特定ノード)、n15 第1ノード、n16 第2ノード、n18 接続ノード(仮想ノード)。 10 graph data acquisition unit, 20 node extraction unit, 30 graph generation unit, 31 node decomposition unit, 32 edge modification unit, 100 information processing device, G1 first graph, G1' second graph, G1'' second graph, G1'' second graph, g1' subgraph, g1'' subgraph, g1''' subgraph, e11 first edge, e12 second edge, e15 edge, e16 edge, n13 original node (specific node), n15 first node, n16 second node, n18 connecting node (virtual node).
Claims (15)
前記第1グラフにおいて、前記第1情報に対応する第1ノードと、前記第2情報に対応する第2ノードと、を含む複数のノードを有する部分グラフに、前記原ノードが置換された第2グラフを示す第2グラフデータを生成するグラフ生成部と、を備え、
前記グラフ生成部は、前記第2グラフにおいて、前記第1エッジが前記第1ノードに接続され、前記第2エッジが前記第2ノードに接続されたグラフになるように、前記第2グラフデータを生成する
ことを特徴とする情報処理装置。 a graph data acquisition unit that acquires first graph data indicating a first graph having an original node having first information and second information, a first edge associated with the first information and connected to the original node, and a second edge associated with the second information and connected to the original node;
a graph generating unit configured to generate second graph data representing a second graph in which the original node is replaced with a subgraph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information in the first graph,
the graph generation unit generates the second graph data such that, in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.
ことを特徴とする請求項1記載の情報処理装置。 2. The information processing device according to claim 1, wherein the graph generation unit divides the first edge into a 1-1 edge and a 1-2 edge in the second graph, and generates the second graph data so as to form a graph in which one end of the 1-1 edge is connected to the first node and one end of the 1-2 edge is connected to the second node.
ことを特徴とする請求項2記載の情報処理装置。 3. The information processing apparatus according to claim 2, wherein the first-second edge is an edge having directionality.
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 4. The information processing device according to claim 1, wherein the graph generation unit generates the second graph data so that the second graph has a new edge having one end connected to the first node and the other end connected to the second node.
前記接続ノードは前記部分グラフの一部である
ことを特徴とする請求項1乃至4のいずれか1項記載の情報処理装置。 the graph generation unit generates the second graph data such that the plurality of nodes of the subgraph have a connection node for connecting the first node and the second node to each other;
The information processing apparatus according to claim 1 , wherein the connection node is a part of the subgraph.
ことを特徴とする請求項5記載の情報処理装置。 6. The information processing device according to claim 5, wherein the graph generation unit generates the second graph data so that the number of nodes, excluding the connection node, among the plurality of nodes in the subgraph is equal to the number of edges, including the first edge and the second edge, connected to the original node in the first graph.
ことを特徴とする請求項5又は6記載の情報処理装置。 7. The information processing device according to claim 5, wherein the graph generation unit generates the second graph data such that, among the plurality of nodes in the subgraph, each node other than the connecting node and the connecting node are connected to each other by one edge.
ことを特徴とする請求項1記載の情報処理装置。 2. The information processing device according to claim 1, wherein, when first graph data indicating a first graph having an original node having N pieces of information, where N is a natural number equal to or greater than two, is acquired by the graph data acquisition unit, the graph generation unit generates second graph data indicating a second graph in which the original node in the first graph is replaced with a subgraph having N nodes different from each other and associated with each of the N pieces of information.
ことを特徴とする請求項1記載の情報処理装置。 2. The information processing device according to claim 1, wherein, when first graph data indicating a first graph having an original node to which N edges, where N is a natural number equal to or greater than two, are connected, is acquired by the graph data acquisition unit, the graph generation unit generates second graph data indicating a second graph in which the original node in the first graph is replaced with a subgraph having N nodes different from each other corresponding to each of the N or less edges.
前記原ノードは、前記電気回路が有する部品を示すノードであり、
前記第1情報及び前記第2情報は、前記部品の端子を識別するための情報であり、
前記第1エッジ及び前記第2エッジは、前記部品に接続された配線である
ことを特徴とする請求項1乃至9のいずれか1項記載の情報処理装置。 the first graph is a graph showing an electric circuit,
the original node is a node indicating a component included in the electric circuit,
the first information and the second information are information for identifying a terminal of the component,
The information processing device according to claim 1 , wherein the first edge and the second edge are wirings connected to the component.
前記原ノードは、前記電気回路が有する部品及び配線を示すノードであり、
前記第1情報及び前記第2情報は、前記部品の端子を識別するための情報であり、
前記第1エッジ及び前記第2エッジは、前記部品及び配線を示すノード間を接続する線である
ことを特徴とする請求項1乃至9のいずれか1項記載の情報処理装置。 the first graph is a graph showing an electric circuit,
the original nodes are nodes that indicate components and wiring included in the electric circuit,
the first information and the second information are information for identifying a terminal of the component,
10. The information processing apparatus according to claim 1, wherein the first edge and the second edge are lines connecting nodes indicating the components and wiring.
前記原ノードは、電気回路が有する半導体を含む3端子以上N個の端子を持つ多端子部品であり、
前記N個の端子は、前記多端子部品の端子を識別するための情報であり、
前記多端子部品を構成する部分グラフは、接続ノードを中心としたスターグラフである
ことを特徴とする請求項6乃至9のいずれか1項記載の情報処理装置。 the first graph is a graph showing an electric circuit,
The original node is a multi-terminal component having three or more terminals (N terminals) including a semiconductor included in an electric circuit,
the N terminals are information for identifying terminals of the multi-terminal component,
10. The information processing apparatus according to claim 6, wherein the subgraph constituting the multi-terminal component is a star graph with a connection node at its center.
前記原ノードは、前記電気回路が有するダイオードまたは電池であり、
前記第1情報及び前記第2情報は、前記ダイオードまたは前記電池の正極及び負極を識別するための情報であり、
前記第1エッジ及び前記第2エッジは、前記ダイオードまたは前記電池に接続された配線である
ことを特徴とする請求項1乃至6のいずれか1項記載の情報処理装置。 the first graph is a graph showing an electric circuit,
The original node is a diode or a battery included in the electric circuit,
the first information and the second information are information for identifying a positive electrode and a negative electrode of the diode or the battery,
7. The information processing device according to claim 1, wherein the first edge and the second edge are wirings connected to the diode or the battery.
前記原ノードは、電気回路が有するダイオードまたは電池であり、
前記第1エッジを第1-1エッジと第1-2エッジに分割し、
前記第2エッジを第2-1エッジと第2-2エッジに分割し、
第1-1エッジの一端が前記第1ノードに接続され、第1-2エッジの一端が前記第2ノードに接続され、前記第1-1エッジの他端と前記第1-2エッジの他端が共通のノード1に接続され、
第2-1エッジの一端が前記第1ノードに接続され、第2-2エッジの一端が前記第2ノードに接続され、前記第2-1エッジの他端と前記第2-2エッジの他端が共通のノード2に接続され、
前記第1-2エッジは前記共通のノード1から前記第2ノードへ向かう向きを有し、
前記第2-1エッジは前記共通のノード2から前記第1ノードへ向かう向きを有する
ことを特徴とする請求項3に記載の情報処理装置。 the first graph is a graph showing an electric circuit,
The original node is a diode or a battery in an electric circuit;
Dividing the first edge into a 1-1 edge and a 1-2 edge;
Dividing the second edge into a second-1 edge and a second-2 edge;
one end of the 1-1 edge is connected to the first node, one end of the 1-2 edge is connected to the second node, and the other end of the 1-1 edge and the other end of the 1-2 edge are connected to a common node 1;
one end of the 2-1 edge is connected to the first node, one end of the 2-2 edge is connected to the second node, and the other end of the 2-1 edge and the other end of the 2-2 edge are connected to a common node 2;
the first-second edge has a direction from the common node 1 to the second node,
4. The information processing apparatus according to claim 3, wherein the 2-1 edge has a direction from the common node 2 to the first node.
前記グラフデータ取得部が、第1情報及び第2情報を有する原ノードと、前記第1情報に関連付けられて前記原ノードに接続された第1エッジと、前記第2情報に関連付けられて前記原ノードに接続された第2エッジと、を有する第1グラフを示す第1グラフデータを取得するステップと、
前記グラフ生成部が、前記第1グラフにおいて、前記第1情報に対応する第1ノードと、前記第2情報に対応する第2ノードと、を含む複数のノードを有する部分グラフに、前記原ノードが置換された第2グラフを示す第2グラフデータを生成するステップと、を備え、
前記グラフ生成部は、前記第2グラフにおいて、前記第1エッジが前記第1ノードに接続され、前記第2エッジが前記第2ノードに接続されたグラフになるように、前記第2グラフデータを生成する
ことを特徴とする情報処理方法。 An information processing method performed by an apparatus including a graph data acquisition unit and a graph generation unit,
a step of the graph data acquisition unit acquiring first graph data indicating a first graph having an original node having first information and second information, a first edge associated with the first information and connected to the original node, and a second edge associated with the second information and connected to the original node;
a step of generating second graph data indicating a second graph in which the original node in the first graph is replaced with a subgraph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information,
the graph generation unit generates the second graph data such that, in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024520844A JPWO2025126251A1 (en) | 2023-12-11 | 2023-12-11 | |
| PCT/JP2023/044123 WO2025126251A1 (en) | 2023-12-11 | 2023-12-11 | Information processing device and information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/044123 WO2025126251A1 (en) | 2023-12-11 | 2023-12-11 | Information processing device and information processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025126251A1 true WO2025126251A1 (en) | 2025-06-19 |
Family
ID=96056917
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/044123 Pending WO2025126251A1 (en) | 2023-12-11 | 2023-12-11 | Information processing device and information processing method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2025126251A1 (en) |
| WO (1) | WO2025126251A1 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1011486A (en) * | 1996-06-21 | 1998-01-16 | Sharp Corp | Logic circuit division method and device |
| JP2011028754A (en) * | 2009-07-27 | 2011-02-10 | Xerox Corp | Phrase-based statistical machine translation as generalized traveling sales person problem |
| JP2013501270A (en) * | 2009-07-31 | 2013-01-10 | 株式会社エヌ・ティ・ティ・ドコモ | Resource allocation protocol for virtualized infrastructure with guaranteed reliability |
| JP2020140452A (en) * | 2019-02-28 | 2020-09-03 | 富士通株式会社 | Node information estimation method, node information estimation program and information processing device |
| WO2020229927A1 (en) * | 2019-05-15 | 2020-11-19 | 株式会社半導体エネルギー研究所 | Search method, search device, and search system |
| JP2023124389A (en) * | 2022-02-25 | 2023-09-06 | 株式会社東芝 | Information processing device, information processing method and information processing program |
-
2023
- 2023-12-11 JP JP2024520844A patent/JPWO2025126251A1/ja active Pending
- 2023-12-11 WO PCT/JP2023/044123 patent/WO2025126251A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1011486A (en) * | 1996-06-21 | 1998-01-16 | Sharp Corp | Logic circuit division method and device |
| JP2011028754A (en) * | 2009-07-27 | 2011-02-10 | Xerox Corp | Phrase-based statistical machine translation as generalized traveling sales person problem |
| JP2013501270A (en) * | 2009-07-31 | 2013-01-10 | 株式会社エヌ・ティ・ティ・ドコモ | Resource allocation protocol for virtualized infrastructure with guaranteed reliability |
| JP2020140452A (en) * | 2019-02-28 | 2020-09-03 | 富士通株式会社 | Node information estimation method, node information estimation program and information processing device |
| WO2020229927A1 (en) * | 2019-05-15 | 2020-11-19 | 株式会社半導体エネルギー研究所 | Search method, search device, and search system |
| JP2023124389A (en) * | 2022-02-25 | 2023-09-06 | 株式会社東芝 | Information processing device, information processing method and information processing program |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2025126251A1 (en) | 2025-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Vaughan et al. | Explainable neural networks based on additive index models | |
| PAWLAK | Rough classification | |
| US7315305B2 (en) | Method for visualizing data | |
| CN111340661B (en) | An automatic problem solving method for applied problems based on graph neural network | |
| CN110427486B (en) | Body condition text classification method, device and equipment | |
| CN110515986B (en) | Processing method and device of social network diagram and storage medium | |
| CN115270705B (en) | Design rule violation prediction method, device, equipment and storage medium | |
| CN108780525A (en) | System and method for generating study | |
| Adhikari et al. | Propagation-based temporal network summarization | |
| CN112529743A (en) | Contract element extraction method, contract element extraction device, electronic equipment and medium | |
| CN112487803A (en) | Contract auditing method and device based on deep learning and electronic equipment | |
| JPH06317631A (en) | Method for developing test plan for analog integrated circuit | |
| WO2025126251A1 (en) | Information processing device and information processing method | |
| Chauhan | Sentiment analysis of customer reviews using deep learning techniques | |
| JP7442246B1 (en) | Program, information processing method, and information processing device | |
| CN116010599B (en) | Text emotion observation method, computer device, and storage medium | |
| Huang et al. | The minority’s success under majority rule | |
| TWI807905B (en) | Total interaction method and device for feature interaction modeling in recommendation systems | |
| JP7762251B2 (en) | Report evaluation method, and information processing device and program for executing said method | |
| CN114238551B (en) | Knowledge simplification and display method, device, electronic device and readable medium | |
| CN115114902B (en) | Sentence component recognition method, device, computer equipment and storage medium | |
| US12511467B2 (en) | Integrated circuit layout validation using machine learning | |
| CN114880462B (en) | Medical document analysis method, device, equipment and storage medium | |
| CN114077820B (en) | Text encoding device, system and method for network planning | |
| CN116663473A (en) | Crosstalk analysis method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2024520844 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024520844 Country of ref document: JP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23961321 Country of ref document: EP Kind code of ref document: A1 |