Learning processing apparatus and method for pooling hierarchically structured graph data based on grouping matrix, and method for training ai model
Patent Information
- Application Number
- KR1020220154579
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-05-17
- Filing Date
- 2022-11-17
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2042-11-17
Smart Images

Figure 112022122734298-PAT00111_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a method for pooling graph data. More specifically, the present disclosure relates to a learning processing apparatus and method for pooling graph data of a hierarchical structure based on a grouping matrix, and a method for training an artificial intelligence model. Background Technology
[0003] Graph neural networks (GNNs) can learn the representation of individual nodes based on the connection structure of the input graph.
[0004] For graph-level prediction tasks, the standard procedure can globally pool all node features into a single graph representation without weight differences and then provide that representation to the final prediction layer. However, this procedure may make it difficult for the model to hierarchically aggregate information beyond local convolutions because information is propagated only through edges between nodes. Prior art literature
[0006] Republic of Korea Published Patent Application No. 10-2021-0040316 (April 13, 2021) The problem to be solved
[0007] The embodiments disclosed in this disclosure aim to provide a learning processing apparatus and method for pooling graph data of a hierarchical structure based on a grouping matrix that automatically determines the number of clusters in graph data, and a method for training an artificial intelligence model.
[0008] The problems that this disclosure aims to solve are not limited to those mentioned above, and other unmentioned problems will be clearly understood by a person skilled in the art from the description below. means of solving the problem
[0009] A learning processing device according to one aspect of the present disclosure for achieving the technical problem described above includes a memory; and a processor that communicates with the memory, wherein the processor generates a second-order grouping matrix based on the similarity of pairwise nodes as graph data is input into a pre-trained artificial intelligence model, and generates a pooling matrix by decomposing the grouping matrix, wherein the grouping matrix can be decomposed into a square root form to obtain a pooling operator.
[0010] When generating the grouping matrix, the processor can group multiple nodes within the graph data and the connection relationships between the multiple nodes by designating them as identifiers of 0 or more to 1 or less based on similarity according to a pre-set grouping criterion.
[0011] The processor above can generate the pooling operator including the number of groups after pooling and the nodes assigned within the same group.
[0012] The above processor generates the pooling operator based on the following mathematical formulas 1 and 2, and (mathematical formula 1) , (Mathematical Formula 2) The above is the pooling operator of the l-th layer, and the above is the grouping matrix of the l-th layer, and the above is based on the orthogonality of the given matrix and, and the above is an eigenvalue It could be.
[0013] The above pooling operator may be in the form of a transformation matrix containing the node status for each group.
[0014] Additionally, a learning processing method according to another aspect of the present disclosure may include, in a method performed by a learning processing device, the step of generating a second-order grouping matrix based on the similarity of pairwise nodes by inputting graph data into a first artificial intelligence model that has been trained in advance; and the step of generating a pooling matrix by decomposing the grouping matrix, wherein the grouping matrix is decomposed into a square root form to obtain a pooling operator.
[0015] In the step of generating the grouping matrix, the above learning processing method can group a plurality of nodes within the graph data and the connection relationships between the plurality of nodes by designating them as identifiers of 0 or more to 1 or less based on similarity according to a pre-set grouping criterion.
[0016] The above learning processing method can generate the pooling operator by including the number of groups after pooling and the nodes assigned within the same group in the step of obtaining the pooling operator.
[0017] The above learning processing method, in the step of obtaining the pooling operator, generates the pooling operator based on the following mathematical formulas 1 and 2, and (mathematical formula 1) , (Mathematical Formula 2) , above is the pooling operator of the l-th layer, and the above is the grouping matrix of the l-th layer, and the above is based on the orthogonality of the given matrix and, and the above is an eigenvalue It could be.
[0018] The above pooling operator may be in the form of a transformation matrix containing the node status for each group.
[0019] Additionally, a method for training an artificial intelligence model according to another aspect of the present disclosure comprises, in a method performed by a learning processing device, a step of collecting graph data; and a step of training an artificial intelligence model using the collected graph data; wherein the step of training the artificial intelligence model may include a step of generating a second-order grouping matrix based on the similarity of pairwise nodes using the collected graph data, and a step of decomposing the grouping matrix to generate and output a pooling matrix, wherein the grouping matrix is decomposed into a square root form to obtain a pooling operator.
[0020] In addition to this, a computer program stored on a computer-readable recording medium for executing the present disclosure may be further provided.
[0021] In addition, a computer-readable recording medium for recording a computer program for executing a method for implementing the present disclosure may be further provided. Effects of the invention
[0022] According to the aforementioned means for solving the problem of the present disclosure, the present disclosure can expect the effect of providing a pooling framework that can automatically determine the number of clusters without requiring a universal number of clusters as a user hyperparameter in advance.
[0023] In addition, according to the above-described means for solving the problem of the present disclosure, an output graph reflecting the hierarchical structure of an input graph can be obtained regardless of the numbering order of the input data.
[0024] In addition, according to the aforementioned means for solving the problem of the present disclosure, even when the boundaries of multiple groups are unclear due to association between them, the number of groups can be automatically distinguished to enable accurate representation of the graph.
[0025] The effects of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below. Brief explanation of the drawing
[0026] FIG. 1 is a block diagram of a learning processing device of the present disclosure. FIG. 2 is a block diagram for explaining in detail a part of the configuration of FIG. 1. FIG. 3 is a drawing showing the framework of the present disclosure. FIG. 4 is an illustrative diagram for explaining the learning processing method of the present disclosure. FIG. 5 is a flowchart illustrating the learning processing method of the present disclosure. FIG. 6 is a flowchart illustrating a method for training an artificial intelligence model of the present disclosure. Specific details for implementing the invention
[0027] Throughout this disclosure, the same reference numerals denote the same components. This disclosure does not describe all elements of the embodiments, and general content in the art to which this disclosure pertains or content that overlaps between embodiments is omitted. The terms 'part, module, component, block' as used in the specification may be implemented in software or hardware, and depending on the embodiments, a plurality of 'parts, modules, components, blocks' may be implemented as a single component, or a single 'part, module, component, block' may include a plurality of components.
[0028] Throughout the specification, when a part is described as being "connected" to another part, this includes not only cases where they are directly connected but also cases where they are indirectly connected, and indirect connections include connections made via a wireless communication network.
[0029] Furthermore, when it is stated that a part "includes" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0030] Throughout the specification, when it is stated that a component is located "on" another component, this includes not only cases where a component is in contact with another component, but also cases where another component exists between the two components.
[0031] The terms first, second, etc. are used to distinguish one component from another, and the components are not limited by the aforementioned terms.
[0032] Singular expressions include plural expressions unless there is an obvious exception in the context.
[0033] In each step, identification codes are used for convenience of explanation and do not describe the order of the steps; the steps may be performed differently from the specified order unless a specific order is clearly indicated in the context.
[0034] The operating principles and embodiments of the present disclosure will be described below with reference to the attached drawings.
[0035] In this specification, the term "learning processing device according to the present disclosure" includes all various devices capable of performing computational processing and providing results to a user. For example, the learning processing device according to the present disclosure may include all of a computer, a server device, and a portable terminal, or may take the form of any one of them.
[0036] Here, the computer may include, for example, a notebook, desktop, laptop, tablet PC, slate PC, etc. equipped with a web browser.
[0037] The above server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.
[0038] The above portable terminal may include, for example, all types of handheld-based wireless communication devices such as PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminals, smartphones, etc., as well as wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted devices (HMDs).
[0040] The graph pooling of the present disclosure may mean generating a graph that is simpler than before by grouping the full graph based on similarity according to a downstream task. Such graph pooling may be an important operation for encoding the hierarchical structure within the graph.
[0041] A common graph pooling approach can be handled as a node clustering task that effectively captures the graph topology. This general method involves the user specifying an appropriate number of clusters in advance as hyperparameters, ensuring that all input graphs share the same number of clusters.
[0042] Meanwhile, in an inductive setting where the number of clusters can vary, the artificial intelligence model must be able to apply various cluster numbers to the pooling layer to learn suitable clusters.
[0043] Accordingly, the present disclosure can provide a differentiable graph pooling architecture (e.g., GMPOOL) that automatically determines an appropriate number of clusters based on graph data, which is input data.
[0044] Hierarchical structures can encode the global topology of a graph, which is useful for the effective learning of long-range interactions. Accordingly, designing pooling architectures that consider graph structure can be important for downstream tasks such as social network analysis and molecular property prediction.
[0045] As an alternative to the aforementioned global pooling, DiffPool may perform end-to-end differentiable pooling by first soft-classifying each node into a smaller number of clusters. Subsequently, gPool and SAGpool have incorporated attention mechanisms into pooling, and MinCutPool can group nodes into clusters by minimizing the relaxed K-way normalization minimum cut objective.
[0046] In most common inductive setups, there is no single number of clusters suitable for all graphs in a dataset. In particular, while the number of functional groups in molecular graphs determines useful properties and chemical behavior, it can vary significantly from molecule to molecule. Conventional pooling methods require the number of clusters as a hyperparameter and operate under the assumption that all graphs share the same number of clusters. This not only requires additional hyperparameter tuning but can also impose strong inductive biases that degrade downstream performance.
[0047] Accordingly, the present disclosure proposes a pooling framework capable of automatically determining the number of clusters without requiring a universal number of clusters as a user hyperparameter in advance, and a detailed description will be provided later.
[0048] All representation spaces of the present disclosure described below can be assumed to be based on Euclidean space.
[0049] FIG. 1 is a block diagram of a learning processing device of the present disclosure, and FIG. 2 is a block diagram for explaining in detail some configurations of FIG. 1.
[0050] Hereinafter, the following description will be made with reference to FIG. 3, which illustrates the framework of the present disclosure, and FIG. 4, which is an example diagram for explaining the learning processing method of the present disclosure.
[0051] Referring to FIG. 1, the learning processing device (100) includes a processor (110), a memory (130), and a communication unit (150). At this time, the processor (110) may include a plurality of artificial intelligence models for learning processing and control the operation of each of the corresponding components. The components illustrated in FIG. 1 are not essential for implementing the learning processing device (100) according to the present disclosure, so the learning processing device (100) described in this specification may have more or fewer components than the components listed above.
[0052] Referring to FIG. 1, the processor (110) can generate a 2D grouping matrix based on the similarity of pairwise nodes as graph data is input into a first artificial intelligence model that has been trained in advance. At this time, the grouping criteria can be determined according to a downstream task.
[0053] For example, graph data may be in the form of SMILES (simplified molecular-input line-entry system), but is not limited thereto.
[0054] The above first artificial intelligence model may be a model trained to group based on the correlation between nodes.
[0055] Specifically, the processor (110) can generate a grouping matrix defined in the quadratic form of a pooling operator that induces the use of binary classification probabilities of pairwise combinations of nodes of the input graph data.
[0056] Referring to FIG. 4, when the processor (110) generates a grouping matrix, it can group multiple nodes and the connection relationships between multiple nodes within the graph data by designating them as identifiers ranging from 0 to 1 based on similarity according to a pre-set grouping criterion (B1, B2, B3). That is, the processor (110) can group multiple nodes and the connection relationships between multiple nodes within the graph data by designating them as identifiers ranging from 0, 1, and between 0 and 1 (0~1).
[0057] In this case, 0 represents different groups, 1 represents the same group, and values between 0 and 1 ([0, 1]) may represent different values depending on the degree to which they are judged to be the same group.
[0058] FIG. 3 is a drawing showing the framework of the present disclosure, illustrating the entire framework of GMPool as an example.
[0059] Referring to FIG. 3, when the processor (110) receives input data, which is input graph data, it can form a grouping matrix (Grouping M) that encodes the clustering similarity between each pair of nodes (1 to 6) of the graph data.
[0060] At this time, the grouping matrix may include a group block of B1 containing nodes 1, 2 and 3, a group block of B2 containing nodes 4 and 5, and a group block of B3 containing node 6.
[0061] The above input data may include all graph data having a hierarchical structure. The graph data having a hierarchical structure may include multiple nodes and edges, which are connection relationships between nodes. For example, the graph data may be molecular chemical formulas, social network data, etc.
[0062] In Figure 3, the product of pooling matrices can itself form a grouping matrix. In this case, each (i, j)th item can represent pairwise clustering similarity, such as whether node i and node j are pooled into the same cluster.
[0063] For each graph data, the processor (110) can parameterize the clustering similarity of the grouping matrix through a classification layer.
[0064] The processor (110) is a graph is the attribute label A function that maps to We can assume an inductive graph-level prediction setup where the goal is to learn.
[0065] Each graph data containing multiple nodes can be formed into a triplet including graph adjacency, node features, and edge features. Based on this, the processor (110) can consider graph adjacency, node features, and edge features when determining the similarity of pairwise nodes of the graph data.
[0066] For example, graph data G with n nodes is graph adjacency , node features and edge features triplet including It can be represented as.
[0067] In this disclosure, to respectively indicate the functions of node i and edge (i, j). and You can use .
[0068] The aforementioned grouping matrix can be based on a binary classification system of pairwise node combinations. Accordingly, the processor (110) can obtain node representations using a GNN model prior to generating the grouping matrix. At this time, a Directed Message Passing Neural Network (DMPNN) can be applied as an encoder.
[0069] The processor (110) can extract node features from graph data, which is input data.
[0070] At this time, referring to FIG. 2, the processor (110) may be a backbone GNN and may apply a DMPNN that aggregates messages through directional edges, but is not limited thereto.
[0071] Specifically, referring to FIG. 2, when the processor (110) receives graph data as input data, the first feature (which is an edge feature) ) and the second feature, which is a feature of the source node ( The hidden state of each edge (i, j) can be initialized based on ).
[0072] The processor (110) sends a message at each incident edge to each direction edge at each time step t. Collect the hidden state using, and the hidden state as in Equation 1 and Equation 2 It can be updated to. In this case, incident edges can refer to the relationship between a node and the edges connected to that node.
[0073] (Mathematical Formula 1)
[0074]
[0075] (Mathematical Formula 2)
[0076]
[0077] Here, is the set of adjacent nodes of node i, and can be a learnable weight.
[0078] Referring to mathematical equations 3 and 4 described below, the hidden state of the node is the hidden state of the incident edge as a message Aggregated as node features After passing the connection to a linear layer, it can be updated through the non-linearity of the ReLU (rectified linear unit) function. In this case, the ReLU function outputs 0 if the input value is less than 0, and outputs the input value as is if the input value is greater than 0.
[0079] (Mathematical Formula 3)
[0080]
[0081] (Mathematical Formula 4)
[0082]
[0083] can be a learnable weight. Assuming that the DMPNN runs for T time steps, the processor (110) Using this, the output representation matrix containing the hidden state of each node and edge can be represented as follows.
[0084]
[0085]
[0086] The processor (110) can learn a pooling operator that coarsens graph data, which is input data after the GNN, in each hierarchical layer.
[0087] In each hierarchical layer, the processor (110) can construct a node representation through the GNN and form a coarsened graph that is used as input to the next hierarchical layer through a pooling layer.
[0088] In this context, coarsening graph data can mean grouping similar nodes into a single cluster and using this cluster as a node to form a graph with a reduced number of nodes.
[0089] Specifically, the lth layer If so, the pooling layer is nodes assignment matrix that pools into clusters You can generate. Then, the graph Is
[0090] It can be reduced to this. This hierarchical process can be utilized repeatedly depending on the task.
[0091] Below, we will explain the grouping process based on the relationship between pairs of nodes.
[0092] The processor (110) can form a grouping matrix that includes the clustering similarity of pairwise nodes.
[0093] The processor (110) can perform the task of classifying whether each pair of nodes is included in the same group. At this time, the group may also be named a cluster.
[0094] In the present disclosure, the processor (110) may omit the procedure of setting the number of clusters in advance.
[0095] The above classification can iterate through all pairs of node combinations to ensure permutation invariance.
[0096] (Mathematical Formula 5)
[0097]
[0098] At this time, And, can be a commutative function.
[0099] (Mathematical Formula 6)
[0100]
[0101] At this time, It could be.
[0102] The processor (110) can map two input vectors into one output vector.
[0103] Although there are many options available for this, the Euclidean distance between input vectors can be used to simplify the classification task. Each matrix index corresponds to a node number, and each element can contain probability values for each pair of nodes, regardless of whether the pair of nodes belongs to the same group.
[0104] For example, the processor (110) may consider a set of separate clusters without overlapping nodes.
[0105] At this time, referring to Fig. 4, the grouping matrix M can be reconstructed into a block diagonal form containing 0 and 1 as elements. The number of blocks (B1, B2, B3) corresponds to the number of groups after pooling, and nodes assigned to the same block may belong to the same group.
[0106] For example, if there are 3 different groups and the sizes of each group are k1, k2, and k3, it can be like Equation 7.
[0108] (Mathematical Formula 7)
[0109]
[0111] Each element of the grouping matrix in mathematical formula 7 can be a soft-clustering where nodes overlap as consecutive numbers within [0, 1].
[0112] The above grouping matrix may be based on a binary classification system of pairwise node combinations. Accordingly, it may begin by obtaining node representations using a GNN model. The present disclosure may apply DMPNN as an encoder.
[0113] The processor (110) may first calculate a tensor of rank 2 of pairwise node combinations of input graph data to form a grouping matrix. The rank 2 tensor may mean nine components (nodes) representing size and two directions.
[0114] In this case, since the order of the nodes is irrelevant, the tensor must be symmetric, and an exchange function can be used in the procedure. In this disclosure, emphasis may be placed on the Euclidean distance between pairs of nodes to simplify classification.
[0115] (Mathematical Formula 8)
[0116]
[0117] The above is graph data as input data, can be a node feature. can be defined as a generalized adjacency tensor as shown in Equation 9. is tensor component indices, can mean indices for hidden dimension.
[0118] (Mathematical Formula 9)
[0119]
[0120] The binary classifier of the present disclosure may be configured to be simple to avoid the overfitting problem. Additionally, the present disclosure may use a single layer with softmax activation to extract the probability for each pair of nodes.
[0121] (Mathematical Formula 10)
[0122]
[0123] The above is a grouping matrix, can be the weight of the layer.
[0124] Since the input graph data is symmetric under the index, the grouping matrix can also be symmetric. All steps of the calculation are based on the node level, and the activation function If is an element-wise operation, mathematical expressions 8 and 9 are permutation operators. A permutation using can be an equivariate.
[0125] In the case of ideal grouping where pairs of nodes are not simultaneously assigned to multiple groups, the grouping matrix can contain only 0 and 1 for the elements.
[0126] By using appropriate permutations, pairs of nodes of the same group within adjacent ranges can be collected and the grouping matrix formed as a block diagonal.
[0127] In a block diagonal matrix, the number of blocks may correspond to the number of groups after pooling, and the same group at the time of pooling may contain pairs of nodes assigned to itself. For example, in the case where there are three different groups and each group size is k1, k2, k3, the grouping matrix may be as shown in Equation 11.
[0129] (Mathematical Formula 11)
[0130]
[0132] The processor (110) decomposes the grouping matrix to generate a pooling matrix, and can obtain a pooling operator by decomposing the grouping matrix into a square root form. That is, the processor (110) decomposes the grouping matrix to obtain a pooling matrix in the form of a carsen graph.
[0133] The processor (110) described above can generate the pooling matrix described above through a second artificial intelligence model. At this time, the second artificial intelligence model may be a model that has been pre-trained to generate a pooling matrix based on a grouping matrix.
[0134] Referring to FIGS. 3 and 4, the pooling matrix (pooling S) comprises a pooling operator (S) and the transpose of the pooling operator (S T The product of ) is equal to the grouping matrix (M) It can be obtained based on )
[0135] The processor (110) can generate the pooling operator including the number of groups after pooling and the nodes assigned within the same group.
[0136] Referring to FIG. 3, it can be seen that the number of groups in the pooling matrix is 3, the first group (group index 1) includes nodes 1, 2, and 3, the second group (group index 2) includes nodes 4 and 5, and the third group (group index 3) includes node 6. This pooling matrix can then be output in the form of an output graph.
[0137] Referring to FIG. 4, the pooling matrix can be represented by an identifier of 0 or more to 1 or less, which includes the status of nodes for each group.
[0138] The aforementioned grouping matrix itself can play a limited role in the pooling operation. Accordingly, the processor (110) can generate a pooling operator based on the grouping matrix.
[0139] The processor (11) can obtain a pooling operator by decomposing the grouping matrix into a square-root form as in Equation 12.
[0140] The pooling operator can be as shown in Equation 12. Every single element can be generalized to a sequence of numbers in the range [0, 1] for the grouping matrix of Equation 7, which represents the soft clustering case.
[0141] (Mathematical Formula 12)
[0142]
[0143] The processor (110) can generate a pooling operator based on mathematical formulas 13 and 16 described below. The pooling operator may be in the form of a transformation matrix containing the status of nodes for each group.
[0144] Specifically, although the grouping matrix cannot be used directly for pooling, as shown in Equation 13, it is equal to the value obtained by multiplying the pooling operator and the transpose, so it can be encoded in a manner similar to how each pair of nodes is pooled.
[0145] The (i, j)-th item of the grouping matrix is the case where the nodes are exactly pooled into the same cluster. It is the same as, and is the case where pooling is orthogonal to other clusters. It can be like this. Accordingly, if the grouping matrix is decomposed into a square root form, it can be interpreted as a pooling operator for the model.
[0146] (Mathematical Formula 13)
[0147]
[0148] The above is the pooling operator of the l-th layer, and the pooling operator Is It can be a matrix in. Multiplying by the pooling operator S in reverse order yields the degree matrix of the pooling space as in Equation 14. You can obtain.
[0149] (Mathematical Formula 14)
[0150]
[0151] Referring to Equation 13, the pooling operator can completely reconstruct the grouping matrix by interacting with the pooling index. Additionally, the pooling operator S can be interpreted as a weight matrix for each node to form an appropriate substructure.
[0152] For example, the processor (110) can decompose using eigendecomposition as in Equation 15. The eigendecomposition is a given matrix based on an orthonormal basis and the eigenvalue It can be applied to decomposition.
[0153] (Mathematical Formula 15)
[0154]
[0155] The aforementioned eigenvalue decomposition method can always be applied as long as the determinant of a given matrix is not zero.
[0156] In mathematical formula 15 When set to , the right-hand side (RHS) of the equation can be rearranged using a squared pooling operator to obtain mathematical expression 16.
[0157] (Mathematical Formula 16)
[0158]
[0160] The above is the grouping matrix of the l-th layer, and the above is based on the orthogonality of the given matrix and, and the above is an eigenvalue It could be.
[0161] The pooling operator S has a size Although it is a square matrix, the eigenvalue Λ can limit unnecessary ranks in the matrix by multiplying each column of the orthonormal basis by 0. Since this eigendecomposition can be applied to any matrix with a non-zero determinant, one can expect the effect that it can be perfectly performed in real-world situations.
[0162] In addition, all symmetric and real matrices can be guaranteed to have real eigenvalues, just like vectors. Accordingly, the square root of a grouping matrix can be interpreted as a transformation operator that forms subgroups at the nodes.
[0163] The aforementioned continuous real-valued elements can be soft-clustered into nodes subgroups. In general clustering, it may be difficult to properly cluster the aforementioned structure. Since the soft clustering of the present disclosure is naturally incorporated into the algorithm, linker structures can be easily processed.
[0164] Nodes are in the fundamental representation, while edge features and the adjacency matrix may be in the adjoint representation. This can be represented by the transformation rules of Equations 17 to 19.
[0165] (Mathematical Formula 17)
[0166]
[0167] (Mathematical Formula 18)
[0168]
[0169] (Mathematical Formula 19)
[0170]
[0171] If grouping is done properly, an eigenvalue matrix can be generated in which the zero (or near-zero) components are decomposed.
[0172] As another example, the processor (110) can perform Singular Value Decomposition (SVD) on the grouping matrix to obtain a pooling matrix such that the overall rank represents the appropriate number of clusters.
[0173] For example, when vectors in matrices U and V are called singular vectors, all singular vectors can have the property of being orthogonal to each other. Sigma (∑) is a diagonal matrix, in which only the values located on the main diagonal are not zero, and all values in other positions can be zero.
[0174] As another example, referring to FIG. 2, the processor (110) can perform pooling without decomposing the grouping matrix (skip connection). That is, the processor (110) can apply a single pooling variant (NGMPool) that uses the grouping matrix as is without decomposition.
[0175] The processor (110) can provide an effect similar to pooling by multiplying the grouping matrix without decomposing the grouping matrix, based on the fact that the square of the grouping matrix and the pooling operator are the same.
[0176] Specifically, the processor (110) can maintain the pooling depth at 1 and apply a weighted aggregation vector as an aggregation basis in the pooling space.
[0177] The above weighted aggregate vector can be converted into a Euclidean one vector by applying a pooling matrix obtained by decomposing the grouping matrix, as shown in Equation 20.
[0178] (Mathematical Formula 20)
[0179]
[0180] The final form of the transformation may be as shown in mathematical formulas 21 and 22.
[0181] (Mathematical Formula 21)
[0182]
[0183] (Mathematical Formula 22)
[0184]
[0185] Referring to FIG. 2, the processor (110) can apply the final combination of a grouping matrix formed based on graph data through a first artificial intelligence model and a pooling matrix formed through a second artificial intelligence model or a skip connection procedure to a Feed-Forward Network (FFN) model.
[0186] Through this, the processor (110) can obtain an output graph (output graph of FIG. 3) in which one group acts as one node. The aforementioned pooling matrix can be obtained by decomposing the grouping matrix or by not decomposing it.
[0187] For example, if the input graph data is a TADF (Thermally Activated Delayed Fluorescence) molecule having a hierarchical structure including donors and acceptors, the accuracy of molecular property prediction can be improved through the learning processing of the present disclosure, which can automatically determine the number of clusters. In this case, the graph data may be input in the form of SMILES (simplified molecular-input line-entry system).
[0188] Specifically, the number of structures in TADF may vary depending on the size of the molecule, but since the present disclosure automatically determines the number of clusters without setting the number of clusters (groups) in advance, it is possible to expect the effect of being able to distinguish between different numbers of groups for each molecule.
[0189] Meanwhile, when graph data is input, the processor (110) of the learning processing device (100) can train an artificial intelligence model that sets the data as a data set to generate a second-order grouping matrix, and decomposes the grouping matrix to generate and output a pooling matrix. At this time, the artificial intelligence model may include the first and second artificial intelligence models described above, as well as the artificial intelligence models implemented in the present disclosure.
[0190] Specifically, the processor (110) can collect graph data. At this time, the graph data may be multiple.
[0191] The processor (110) can train an artificial intelligence model using collected graph data.
[0192] More specifically, the processor (110) can generate a 2D grouping matrix based on the similarity of pairwise nodes using collected graph data. Additionally, the processor (110) can decompose the grouping matrix to generate and output a pooling matrix, and can obtain a pooling operator by decomposing the grouping matrix into a square root form.
[0193] The memory (130) may store a computer program for providing the learning processing method of the present disclosure, and the stored computer program may be read and executed by the processor (110). The memory (130) may store any form of information generated or determined by the processor (110) and any form of information received by the communication unit (150).
[0194] The memory (130) can store data supporting various functions of the learning processing unit (100) and programs for the operation of the processor (110), and can store input / output data, and can store a number of application programs (or applications) running on the learning processing unit (100), data for the operation of the learning processing unit (100), and instructions. At least some of these application programs can be downloaded from an external server via wireless communication.
[0195] The memory (130) may include at least one type of storage medium among flash memory type, hard disk type, SSD type (Solid State Disk type), SSD type (Silicon Disk Drive type), multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM (Random access memory; RAM), SRAM (Static random access memory), ROM (Read-only memory; ROM), EEPROM (Electrically erasable programmable read-only memory), PROM (Programmable read-only memory), magnetic memory, magnetic disk, and optical disk. Additionally, the memory may be a database that is separated from the device but connected via wired or wireless connection.
[0196] The communication unit (150) may include one or more components that enable communication with an external device, for example, at least one of a broadcast receiving module, a wired communication module, a wireless communication module, a short-range communication module, and a location information module.
[0197] Although not illustrated, the learning processing device (100) of the present disclosure may further include an output unit and an input unit.
[0198] The output unit may display a user interface (UI) for providing graph pooling data and learning processing results. The output unit may output information of any form generated or determined by the processor (110) and information of any form received by the communication unit (150).
[0199] The output section may include at least one of a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display, and a 3D display. Some of these display modules may be configured to be transparent or light-transmitting so that the outside can be seen through them. This may be referred to as a transparent display module, and representative examples of such transparent display modules include TOLED (Transparent OLED).
[0200] The input unit can receive information entered by a user. The input unit may be equipped with keys and / or buttons on a user interface or physical keys and / or buttons for receiving information entered by a user. A computer program for controlling a display according to embodiments of the present disclosure may be executed in accordance with user input through the input unit.
[0201] Graph pooling typically allows the number of clusters to be predefined as a hyperparameter for each layer. This may not be suitable for inductive settings, such as molecular property prediction, where each graph can have a varying number of useful substructures.
[0202] Since the present disclosure pools models into varying numbers of clusters based on graph data, learning performance for graph data with hierarchical structures, including molecular feature prediction, can be improved. The GMPool of the present disclosure can allow for the aforementioned diversity of cluster numbers through the rank of the grouping matrix. That is, the present disclosure can eliminate the process of manually adjusting the number of clusters through additional hyperparameter tuning.
[0204] FIG. 5 is a flowchart illustrating the learning processing method of the present disclosure.
[0205] Referring to FIG. 5, the processor (110) of the learning processing unit (100) can receive graph data (1100).
[0206] Next, the processor (110) can generate a second-order grouping matrix based on the similarity of pairwise nodes as graph data is input into a first artificial intelligence model that has been trained in advance (1200).
[0207] The processor (110) can group multiple nodes and the connection relationships between multiple nodes within the graph data by designating them as identifiers ranging from 0 to 1 based on similarity according to a pre-set grouping criterion. That is, the processor (110) can group multiple nodes and the connection relationships between multiple nodes within the graph data by designating them as identifiers ranging from 0, 1, and between 0 and 1 (0 to 1).
[0208] In this case, 0 represents different groups, 1 represents the same group, and values between 0 and 1 ([0, 1]) may represent different values depending on the degree to which they are judged to be the same group.
[0209] Next, the processor (110) can decompose the grouping matrix to generate a pooling matrix, and can obtain a pooling operator by decomposing the grouping matrix into a square root form (1300). The pooling operator may be in the form of a transformation matrix containing the status of nodes for each group.
[0210] The processor (110) can generate a pooling operator including the number of groups after pooling and the nodes assigned within the same group.
[0211] The processor (110) can generate a pooling operator based on mathematical formula 13 and mathematical formula 16.
[0212] Next, the processor (110) can obtain an output graph (1400).
[0213] In the output graph above, one group can function as a single node.
[0215] FIG. 6 is a flowchart for explaining a method for training an artificial intelligence model of the present disclosure, and the method for training an artificial intelligence model mentioned in FIG. 1 and FIG. 5 above will be explained as an example. Hereinafter, both the first and second artificial intelligence models described above will be referred to as artificial intelligence models.
[0216] First, the processor (110) of the learning processing unit (100) can collect graph data (2100). At this time, the graph data may be multiple.
[0217] Next, the processor (110) can train an artificial intelligence model using the collected graph data (2200~2300).
[0218] Specifically, the processor (110) can generate a 2D grouping matrix based on the similarity of pairwise nodes using the collected graph data (2200).
[0219] Next, the processor (110) can decompose the grouping matrix to generate and output a pooling matrix, and can decompose the grouping matrix into a square root form to obtain a pooling operator (2300).
[0220] That is, the artificial intelligence model of the present disclosure can be trained such that when graph data is input, it sets it as a data set to generate a grouping matrix of the second order, and decomposes the grouping matrix to generate and output a pooling matrix.
[0221] Meanwhile, although not disclosed in FIG. 6 for convenience of explanation, it is natural to assume that the artificial intelligence model is trained to additionally perform the roles of the first and second artificial intelligence models of FIG. 1 and FIG. 5.
[0223] The above-described disclosure may be applied to all graph data having a hierarchical structure, including social data, authorship data, and molecules.
[0224] Meanwhile, the method according to the present disclosure described above may be implemented as a program (or application) and stored on a medium to be executed in combination with a server, which is hardware.
[0225] The disclosed embodiments may be implemented in the form of a recording medium that stores instructions executable by a computer. The instructions may be stored in the form of program code and, when executed by a processor, may generate a program module to perform the operation of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.
[0226] Computer-readable recording media include all types of recording media that store instructions that can be decoded by a computer. Examples include ROM (Read Only Memory), RAM (Random Access Memory), magnetic tape, magnetic disk, flash memory, optical data storage devices, etc.
[0227] As described above, the disclosed embodiments have been explained with reference to the attached drawings. Those skilled in the art will understand that the present disclosure may be practiced in forms different from the disclosed embodiments without changing the technical spirit or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be interpreted restrictively. Explanation of the symbols
[0228] 100: Learning Processing Unit 110: Processor 130: Memory 150: Communications Department
Claims
Claim 1 A learning processing device comprising: a memory; a processor that communicates with the memory; wherein the processor determines the similarity of pairwise nodes of the graph data as graph data is input into a pre-trained artificial intelligence model, generates a second-order grouping matrix grouped based on the similarity of the pairwise nodes, and generates a pooling matrix by decomposing the grouping matrix, wherein the grouping matrix is decomposed into a square root form to obtain a pooling operator. Claim 2 A learning processing device according to claim 1, wherein the processor, when generating the grouping matrix, groups a plurality of nodes within the graph data and the connection relationships between the plurality of nodes by designating them as identifiers of 0 or more to 1 or less based on similarity according to a pre-set grouping criterion. Claim 3 In claim 1, the processor is a learning processing device that generates the pooling matrix including the number of groups after pooling and the nodes assigned within the same group. Claim 4 In claim 1, the processor generates the pooling matrix based on the following mathematical formulas 1 and 2, and (mathematical formula 1) (Mathematical Formula 2) The above is the pooling operator of the l-th layer, and the above is the grouping matrix of the l-th layer, and the above is based on the orthogonality of the given matrix and, and the above is an eigenvalue In, learning processing unit. Claim 5 A learning processing device according to claim 1, wherein the pooling matrix is in the form of a transformation matrix including the node status for each group. Claim 6 A learning processing method performed by a learning processing device, comprising: a step of determining the similarity of pairwise nodes of graph data by inputting graph data into a first artificial intelligence model that has been trained in advance, and generating a second-order grouping matrix based on the similarity of the pairwise nodes; and a step of decomposing the grouping matrix to generate a pooling matrix, wherein the grouping matrix is decomposed into a square root form to obtain a pooling operator. Claim 7 A learning processing method according to claim 6, wherein the step of generating the grouping matrix comprises the step of grouping a plurality of nodes within the graph data and the connection relationships between the plurality of nodes by designating them as identifiers of 0 or more to 1 or less based on similarity according to a pre-set grouping criterion. Claim 8 A learning processing method according to claim 6, wherein the step of generating the pooling matrix includes the step of generating the pooling matrix including the number of groups after pooling and the nodes assigned within the same group. Claim 9 In claim 6, the step of generating the pooling matrix includes the step of generating the pooling operator based on the following mathematical formulas 1 and 2, (mathematical formula 1) (Mathematical Formula 2) The above is the pooling operator of the l-th layer, and the above is the grouping matrix of the l-th layer, and the above is based on the orthogonality of the given matrix and, and the above is an eigenvalue In, learning processing method. Claim 10 In claim 6, the above pooling matrix is in the form of a transformation matrix including the node status for each group, a learning processing method. Claim 11 A program stored on a computer-readable recording medium to execute the learning processing method of any one of claims 6 through 10, combined with a computer. Claim 12 A method for training an artificial intelligence model, performed by a learning processing device, comprising: a step of collecting graph data; and a step of training an artificial intelligence model using the collected graph data; wherein the step of training the artificial intelligence model comprises: a step of determining the similarity of pairwise nodes of the collected graph data and generating a second-order grouping matrix based on the similarity of the pairwise nodes; and a step of decomposing the grouping matrix to generate and output a pooling matrix, wherein the grouping matrix is decomposed into a square root form to obtain a pooling operator.
Citation Information
Patent Citations
A method and apparatus for discovering higher-order associations in graph structure representation and for fine-grained image recognition.
CN113222041B
Systems and methods for hardware-based pooling
KR1020200100812A
Taxonomy Construction via Graph-Based Cross-domain Knowledge Transfer
US20210383205A1
