Learning processing device and learning processing method for pooling hierarchical structure graphic data based on grouping matrix and method for training artificial intelligence model

By generating and decomposing the packet matrix based on paired node similarity packets, the difficulty of information aggregation and presetting of clusters in graph-level prediction tasks are solved, and the pooling framework for automatically determining the number of clusters is realized, which improves the accuracy of representation of graph data and model performance.

CN119234229APending Publication Date: 2024-12-31LG MANAGEMENT DEV INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380041178.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-11-17
Filing Date
2023-05-10
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The prior art is difficult to effectively aggregate information outside of local convolution in graph-level prediction tasks, and the number of clusters is required to pre-specify as hyperparameters, resulting in a degradation in the performance of the model when processing different graph data.

Method used

By generating a second-level grouping matrix based on paired node similarity packets and decomposing the matrix in a square root form to obtain a pooling operator, a pooling framework that automatically determines the number of clusters is realized, and pre-setting of the number of clusters is avoided .

Benefits of technology

It realizes the automatic distinction between the hierarchy of graph data without presetting the number of clusters, improving the accurate representation of graph data and the learning performance of model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119234229A_ABST
    Figure CN119234229A_ABST
Patent Text Reader

Abstract

Disclosed are a learning processing apparatus and method for pooling hierarchically structured graphic data based on a grouping matrix, and a method for training an artificial intelligence model. According to one embodiment of the present disclosure, a learning processing apparatus includes: a memory; a processor in communication with the memory, where the processor generates, when graphic data is input to a pre-trained first artificial intelligence model, a packet matrix in a secondary form grouped according to similarity of paired nodes, and decomposes the packet matrix to generate a pooled matrix, where the pooled matrix is pooled to the first artificial intelligence model, and where the pooled matrix is pooled to the second artificial intelligence model. And decomposing the grouping matrix into a square root form to obtain a pooling operator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method for pooling graph data. More specifically, the present disclosure relates to a learning processing device for pooling graph data of a hierarchical structure based on a grouping matrix, a learning processing method, and a method for learning an artificial intelligence model. Background Art

[0002] Graph Neural Networks (GNNs) are able to learn the representation of each node based on the connection structure of the input graph.

[0003] In the case of graph-level prediction tasks, the standard process may involve globally pooling all node features into a single graph representation without weight differences, and then feeding this representation to the final prediction layer. Since information is only propagated through edges between nodes, this process may make it difficult for the model to hierarchically aggregate information beyond local convolutions. Summary of the invention

[0004] Technical issues

[0005] The embodiments disclosed in the present disclosure are intended to provide a learning processing device, a learning processing method, and a method for learning an artificial intelligence model for pooling hierarchical graph data based on a grouping matrix that automatically determines the number of clusters in the graph data.

[0006] The problems to be solved by the present disclosure are not limited to those mentioned above, and those skilled in the art will clearly understand other problems not mentioned from the following description.

[0007] Means of solving the problem

[0008] In order to achieve the above technical problems, a learning processing device according to one aspect of the present disclosure includes: a memory; a processor, which communicates with the memory, and is characterized in that the processor generates a secondary grouping matrix based on similarity grouping of pairs of nodes by inputting graph data into a pre-learned artificial intelligence model; and decomposes the grouping matrix to generate a pooling matrix, and the grouping matrix is ​​decomposed in square root form to obtain a pooling operator.

[0009] In addition, a learning processing method according to one aspect of the present disclosure for achieving the above-mentioned technical problem may include the following steps: generating a secondary grouping matrix for grouping pairs of nodes based on similarities by inputting graph data into a pre-learned first artificial intelligence model; and decomposing the grouping matrix to generate a pooling matrix, wherein the grouping matrix is ​​decomposed in square root form to obtain a pooling operator.

[0010] In addition, a method for learning an artificial intelligence model according to one aspect of the present disclosure for achieving the above-mentioned technical problem may include the following steps: collecting graph data; and learning an artificial intelligence model using the collected graph data; wherein the step of learning an artificial intelligence model may include the following steps: using the collected graph data to generate a grouping matrix in a secondary form that groups pairs of nodes based on similarity; and decomposing the grouping matrix to generate and output a pooling matrix, wherein the grouping matrix is ​​decomposed in square root form to obtain a pooling operator.

[0011] Effects of the Invention

[0012] According to the above-mentioned means for solving the problem of the present disclosure, it is expected that the present disclosure has the effect of providing a pooling framework that automatically determines the number of clusters without requiring the general number of clusters to be set as a user hyperparameter in advance.

[0013] In addition, according to the above-mentioned means for solving the problem of the present disclosure, regardless of the numbering sequence of the input data, an output graph reflecting the hierarchical structure of the input graph can be obtained.

[0014] In addition, according to the above-mentioned means for solving the problem of the present disclosure, even when there is a relationship between a plurality of groups and the boundaries between the groups are unclear, the number of groups can be automatically distinguished, thereby achieving accurate representation of the graph.

[0015] The effects of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a block diagram of the learning processing device of the present disclosure.

[0017] Figure 2 For detailed explanation Figure 1 Block diagrams of some configurations.

[0018] Figure 3 is a diagram showing the framework of the present disclosure.

[0019] Figure 4 2 is an exemplary diagram for explaining the learning processing method of the present disclosure.

[0020] Figure 5 is a flowchart for explaining the learning processing method of the present disclosure.

[0021] Figure 6 is a flowchart for explaining a method for learning an artificial intelligence model of the present disclosure. DETAILED DESCRIPTION

[0022] Throughout the present disclosure, the same reference numerals represent the same components. The present disclosure does not describe all elements of the embodiments, and omits the overlapping details between the overall content or the embodiments in the technical field to which the present disclosure belongs. The terms "unit", "module", "component" and "block" used in this specification can be implemented in software or hardware, and according to the embodiments, multiple "units", "modules", "components" and "blocks" can also be implemented as a single component, or one "unit", "module", "component" and "block" can include multiple components.

[0023] Throughout the specification, when one component is described as being “connected” to another component, this includes not only a case where they are directly connected but also a case where they are indirectly connected, and the indirect connection includes connection through a wireless communication network.

[0024] Furthermore, when it is stated that a component “includes” a certain component, it means that the one component may further include other components, rather than excluding other components, unless explicitly stated otherwise.

[0025] Throughout this specification, when it is mentioned that a member is "on" another member, this includes not only a case where the member is in contact with the other member but also a case where the other member exists between the two members.

[0026] Terms such as first, second, etc. are used to distinguish one component from another component, and the components are not limited by the above terms.

[0027] Unless the context clearly indicates otherwise, a singular expression includes a plural expression.

[0028] The identification symbols in each step are used for convenience of explanation and do not indicate the order of each step, and each step may be performed in a different order than specified unless the context clearly indicates a specific order.

[0029] Hereinafter, the operating principles and embodiments of the present disclosure will be described with reference to the accompanying drawings.

[0030] In this specification, "the learning processing device according to the present disclosure" includes all kinds of devices that can perform computational processing and provide results to the 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 be in any form.

[0031] Here, the computer may include, for example, a notebook computer, a desktop computer, a laptop computer, a tablet PC, a tablet computer, etc. equipped with a WEB browser.

[0032] A server device is a server that processes information by communicating with external devices, 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 network server, etc.

[0033] For example, a portable terminal is a wireless communication device that ensures portability and mobility, and includes 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 Communications)-2000, CDMA (Code Division Multiple Access)-2000, WCDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminals, smart phones, and wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted devices (HMD).

[0034] The graph pooling of the present disclosure can mean generating graphs that are simpler to draw charts than before by grouping complete graphs based on similarity according to downstream tasks. This graph pooling can be an important task to encode hierarchical structures in graphs.

[0035] The general graph pooling method can be treated as a node clustering task that effectively captures the graph topology. The general method allows the user to pre-specify the appropriate number of clusters as a hyperparameter, and then ensures that all input graphs share the same number of clusters.

[0036] Meanwhile, in the inductive setting where the number of clusters can vary, the AI ​​model should be able to apply different numbers of clusters to the pooling layer to learn appropriate clusters.

[0037] Therefore, the present disclosure may provide a differentiable graph pooling architecture (eg, GMPOOL) that automatically determines an appropriate number of clusters based on graph data as input data.

[0038] The hierarchical structure can encode the global topology of the graph, which is useful for the effective learning of long-range interactions. Therefore, designing pooling architectures that take into account the graph structure may be important for downstream tasks such as social network analysis and molecular property prediction.

[0039] As an alternative to the above global pooling, DiffPool can perform end-to-end differentiable pooling by first soft-classifying each node into a small number of clusters. Subsequently, gPool and SAGpool integrate attention mechanisms into pooling, while MinCutPool can group nodes into clusters by minimizing the relaxed K-way regularized minimum cut objective.

[0040] In most general inductive settings, there is no single number of clusters that works for all graphs in a dataset. In particular, in molecular graphs, the number of functional groups can vary significantly between molecules while determining useful properties and chemical behavior. General 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.

[0041] Therefore, the present disclosure proposes a pooling framework that can automatically determine the number of clusters without requiring the general number of clusters to be a user hyperparameter in advance, which will be described in detail later.

[0042] It can be assumed that all representation spaces described later in this disclosure are based on Euclidean space.

[0043] Figure 1 is a block diagram of a learning processing device disclosed herein, Figure 2 For detailed explanation Figure 1 Block diagrams of some configurations.

[0044] Next, we will refer to Figure 3 and Figure 4 Describe, Figure 3 The framework of the present disclosure is shown. Figure 4 It is an exemplary diagram for explaining the learning processing method of the present disclosure.

[0045] Reference Figure 1 , the learning processing device 100 includes a processor 110, a memory 130, and a communication unit 150. In this case, the processor 110 may include a plurality of artificial intelligence models for learning processing, and may control the operation of each of the components. Figure 1 The components shown are not essential for implementing the learning processing device 100 according to the present disclosure, and thus the learning processing device 100 described in this specification may have more or fewer components than those listed above.

[0046] Reference Figure 1, the processor 110 can generate a grouping matrix in a secondary form by inputting the graph data into the pre-learned first artificial intelligence model, which groups the nodes based on the similarity of the pairs. In this case, the grouping criteria can be determined according to the downstream tasks.

[0047] For example, the graphic data may be in the form of SMILES (Simplified Molecular Input Line Entry System), but is not limited thereto.

[0048] The first artificial intelligence model may be a model that is learned to group nodes based on correlations between them.

[0049] Specifically, the processor 110 may generate a grouping matrix of a second format defined as a pooling operator that induces the use of binary classification probabilities for pairwise combinations of nodes in the input graph data.

[0050] Reference Figure 4 , when generating the grouping matrix, the processor 110 can group the multiple nodes in the graph data and the connection relationships between the multiple nodes by assigning the multiple nodes in the graph data to identifiers of 0 or greater or 1 or less based on similarity according to a preset grouping standard (B1, B2, B3). In other words, the processor 110 can group the multiple nodes in the graph data and the connection relationships between the multiple nodes by assigning the multiple nodes in the graph data to identifiers of any one of 0, 1, and 0 to 1 (0~1).

[0051] In this case, 0 may represent different groups, 1 may represent the same group, and 0 to 1 ([0, 1]) may represent different values ​​depending on the degree to which they are judged to be the same group.

[0052] Figure 3 is a diagram illustrating a framework of the present disclosure, showing the entire framework of GMPool as an example.

[0053] Reference Figure 3 When the processor 110 receives graph data (input graph), ie, input data, a grouping matrix (grouping M) may be formed to encode the clustering similarity between each pair of nodes (1 to 6) of the graph data.

[0054] In this case, the grouping matrix may include a grouping block B1 including node 1 , node 2 , and node 3 ; a grouping block B2 including node 4 and node 5 ; and a grouping block B3 including node 6 .

[0055] The input data may include all graph data having a hierarchical structure. The graph data having a hierarchical structure may include multiple nodes and edges representing connection relationships between nodes. For example, the graph data may represent a molecular formula or social network data, etc.

[0056] exist Figure 3 In , the product of the pooling matrix itself can form a grouping matrix. In this case, each (i, j)th entry can represent the pairwise clustering similarity, such as whether node i and node j are pooled into the same cluster.

[0057] The processor 110 may parameterize the clustering similarity of the grouping matrix through the classification layer of each graph data.

[0058] Processor 110 may assume an inductive graph-level prediction setting, where the goal is to learn a function f that maps a graph G∈g to an attribute label y∈Y θ :g→Y.

[0059] Each graph data including a plurality of nodes may be formed as a triplet including graph adjacency, node features and edge features. Based on this, the processor 110 may consider graph adjacency, node features and edge features when determining the similarity of pairs of nodes in the graph data.

[0060] For example, a graph data G with n nodes can be represented as having graph adjacency A∈{0,1} n×n , node feature X∈R n×dn and edge features E∈R n×n×de The triplet G = (A, X, E).

[0061] In the present disclosure, X can be used i and E ij to represent the functions of node i and edge (i, j) respectively.

[0062] The above grouping matrix can be based on a binary classification system of paired node combinations. Therefore, before generating the grouping matrix, the processor 110 can use a GNN model to obtain node representations. In this case, a DMPNN (Directed Message Passing Neural Network) can be used as an encoder.

[0063] The processor 110 may extract node features from graph data as input data.

[0064] In this case, refer to Figure 2 , the processor 110 may apply a DMPNN that aggregates messages through directed edges as a backbone GNN, but is not limited thereto.

[0065] specifically refer to Figure 2 When the processor 110 receives the graphic data as input data, it can ij ) and the second characteristic (X i ) to initialize the hidden state of each edge (i,j).

[0066] Processor 110 may collect the hidden state from the incident edge in each directional edge as a message at each time step t And update the hidden state to As shown in Equation 1 and Equation 2. In this case, the incident edge may represent a relationship between a node and an edge connected to the node.

[0067] [Equation 1]

[0068]

[0069] [Equation 2]

[0070]

[0071] Among them, N(i) is the set of adjacent nodes of node i, W e Can be a learnable weight.

[0072] Referring to Equations 3 and 4 described later, when aggregating the hidden state of the incident edge into the message and will be combined with the node feature X i After the connection is passed to the linear layer, the hidden state of the node can be updated through the nonlinearity of the ReLU (Rectified Linear Unit) function. In this case, if the input value is less than 0, the ReLU function outputs 0, and if the input value is greater than 0, the input value is output as is.

[0073] [Equation 3]

[0074]

[0075] [Equation 4]

[0076]

[0077] W n It can be a learnable weight. Assuming that the DMPNN runs for T time steps, the processor 110 can use (X out ,E out )=GNN(A,X,E) represents the output representation matrix containing the hidden state of each node and edge, as shown below.

[0078]

[0079] The processor 110 may learn a pooling operator that will coarsen the graph data, which is the input data after the GNN, in each hierarchical layer.

[0080] At each hierarchical level, the processor 110 may construct node representations through a GNN and form a coarsened graph, which is used as an input to the next hierarchical level through a pooling layer.

[0081] In this case, coarsening the graph data may mean grouping similar nodes into a single cluster and using them again as nodes to form a graph with a reduced number of nodes.

[0082] Specifically, if the first layer is Then the pooling layer can generate n1 nodes pooled into n l+1 An assignment matrix for clusters Then, the graph G (l) =(A (l) , X (l) , E (l) ) can be coarsened as This hierarchical process can be reused depending on the task.

[0083] Hereinafter, hierarchical operations based on relationships between node pairs will be described.

[0084] The processor 110 may form a grouping matrix containing cluster similarities between pairs of nodes.

[0085] The processor 110 may perform the task of classifying whether each node pair belongs to the same group. In this case, the group may also be named a cluster.

[0086] In the present disclosure, the processor 110 may omit the process of presetting the number of clusters.

[0087] The above classification can traverse all node combination pairs to ensure permutation invariance.

[0088] [Equation 5]

[0089]

[0090] Here, M (l) ∈R N×N It may be possible that f can be a commutative function.

[0091] [Equation 6]

[0092]

[0093] Here, X,Y∈R N Can be possible.

[0094] Processor 110 may map two input vectors to one output vector.

[0095] Although there are many options for f, to simplify the classification task, the Euclidean distance between the input vectors can be used. Each matrix index corresponds to a node number, and each element can contain the probability value of each pair of nodes, regardless of whether the pair of nodes belongs to the same group.

[0096] As an example, the processor 110 may consider a set of different clusters that have no overlapping nodes.

[0097] In this case, refer to Figure 4 , the grouping matrix M can be reconstructed into a block diagonal form with elements of 0 and 1. The number of blocks (B1, B2, B3) corresponds to the number of groups after pooling, and nodes assigned to the same block can correspond to the same group.

[0098] For example, if there are three different groups, and the size of each group is k1, k2, k3, it can be as shown in Equation 7.

[0099] [Equation 7]

[0100]

[0101] Each element of the grouping matrix in Equation 7 can be a soft cluster with overlapping nodes, with a continuous number between [0, 1].

[0102] The grouping matrix can be based on a binary classification system of paired node combinations. Therefore, it can start from obtaining node representations using a GNN model. The present disclosure can apply DMPNN as an encoder.

[0103] The processor 110 may preferentially calculate a rank-2 tensor of paired node combinations of the input graph data to form a grouping matrix. The rank-2 tensor may represent nine components (nodes) representing magnitude and two directions.

[0104] In this case, the order of the nodes is irrelevant, so the tensor must be symmetric and a swap function can be used in the program. The present disclosure can focus on the Euclidean distance between pairs of nodes to simplify classification.

[0105] [Equation 8]

[0106]

[0107] in, It can be graphic data as input data, F (node) γ hi Can be a node feature. μv p can be defined as a generalized adjacency tensor as shown in Equation 9. μ,v can represent the tensor component index, h i Indicators that can represent hidden dimensions.

[0108] [Equation 9]

[0109]

[0110] In order to avoid the overfitting problem, the binary classifier of the present disclosure can be set to be simple. In addition, the present disclosure can use a single layer with softmax activation to extract the probability of each pair of nodes.

[0111] [Equation 10]

[0112]

[0113] M (μv) can be a grouping matrix, Can be the weight of the layer.

[0114] Since the input data as 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. If the activation function f is element-wise, then Equation 8 and Equation 9 can be replaced by using the permutation operator P μ v permutation equivariant.

[0115] In the case of ideal grouping, no pair of nodes is assigned to multiple groups at the same time, and the elements of the grouping matrix can only contain 0,1.

[0116] By using appropriate permutations, pairs of nodes in the same group can be collected in adjacent ranges and form a grouping matrix on the block diagonal.

[0117] In the block diagonal matrix, the number of blocks may correspond to the number of groups after pooling, and the same group in the pooling process may contain the node pairs assigned to it. For example, if there are three different groups of size k1, k2, and k3, the grouping matrix is ​​as shown in Equation 11.

[0118] [Equation 11]

[0119]

[0120] The processor 110 may decompose the grouping matrix to generate a pooling matrix, wherein the grouping matrix is ​​decomposed in a square root form to obtain a pooling operator. In other words, the processor 110 decomposes the grouping matrix to obtain a pooling matrix in a Carsen form of a graph.

[0121] The processor 110 may generate the pooling matrix through a second artificial intelligence model. At this time, the second artificial intelligence model may be a pre-learning model to generate a pooling matrix based on the grouping matrix.

[0122] Reference Figure 3 and Figure 4 , according to the pooling operator (S) and the transpose of the pooling operator (S T ) is equal to the grouping matrix (M)(SS T ≡M), we can get the pooling matrix (pooling S).

[0123] The processor 110 may generate a pooling operator including the number of groups after pooling and the nodes allocated in the same group.

[0124] Reference Figure 3 , it can be confirmed that the number of groups in the pooling matrix is ​​three, 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. The pooling matrix can then be output in the form of an output graph.

[0125] Reference Figure 4 ,The pooling matrix can be represented by an identifier between greater than or equal to 0 and less than or equal to 1, indicating the node distribution of each group.

[0126] The above grouping matrix itself can play a limited role in the pooling operation. Therefore, the processor 110 can generate a pooling operator based on the grouping matrix.

[0127] The processor 11 may decompose the grouping matrix into its square root form as shown in Equation 12, thereby obtaining a pooling operator.

[0128] The pooling operator can be shown as in Equation 12. For the grouping matrix of Equation 7, each element can be generalized to a continuous number in the range of [0,1], indicating a soft clustering situation.

[0129] [Equation 12]

[0130]

[0131] The processor 110 may generate a pooling operator according to Equation 13 and Equation 16, which will be described later. The pooling operator may take the form of a transition matrix including node states of each group.

[0132] Specifically, the grouping matrix may not be used for pooling as is, but since it is equal to the product of the pooling operator and the transpose, as shown in Equation 13, it can be encoded in a similar way to how each node pair is pooled.

[0133] The (i,j)th entry of the grouping matrix is ​​equal to when the nodes are fully pooled into the same cluster When nodes are vertically pooled into different clusters, it is equal to Therefore, by factorizing the grouping matrix into square root form, it can be interpreted as the pooling operator of the model.

[0134] [Equation 13]

[0135] S (1) S (l)T =M (l)

[0136] S (l) is the pooling operator of layer l, the pooling operator Yes l+1 ≤n l By multiplying the pooling operator S in reverse order, the degree matrix of the pooling space can be obtained As shown in Equation 14.

[0137] [Equation 14]

[0138] S (l)T S (l) =D (l)

[0139] Referring to Equation 13, the pooling operator interacts with the pooling index to fully reconstruct the grouping matrix. In addition, the pooling operator S can be interpreted as a weight matrix for each node to form a proper substructure.

[0140] As an example, the processor 110 may perform the decomposition using eigendecomposition as shown in Equation 15. Eigendecomposition may be used to decompose a given matrix into its orthonormal basis: and eigen value

[0141] [Equation 15]

[0142] M (l) =OAO T

[0143] As long as the determinant of the given matrix is ​​non-zero, the above eigendecomposition method can be used.

[0144] In Equation 15, when set to n l+1 =n l When , the right side (RHS) of the equation can be rearranged as a square pooling operator, resulting in Equation 16.

[0145] [Equation 16]

[0146]

[0147] M (l) can be the grouping matrix of the first layer, and O can be an orthogonal basis of a given matrix. Λ can be as a feature value.

[0148] The pooling operator S is a size n l ×n l The eigenvalue Λ can be used to limit the unnecessary rank in the matrix by multiplying each column of the orthogonal basis by 0. Since this eigendecomposition can be applied to all matrices with non-zero determinants, we can expect it to perform perfectly in practical situations.

[0149] Furthermore, all symmetric real matrices are guaranteed to have real eigenvalues, just like vectors. Therefore, the square root of the grouping matrix can be interpreted as a transformation operator that forms subgroups from nodes.

[0150] The above continuous real-valued elements allow nodes to be softly clustered into subgroups. In general clustering, it may be difficult to properly cluster the above structure. The soft clustering of the present disclosure is naturally incorporated into the algorithm, making it easier to handle linker structures.

[0151] While the nodes can be in the base representation, the edge features and adjacency matrix can be in the adjoint representation. This can be represented by the conversion rules in Equations 17 to 19.

[0152] [Equation 17]

[0153]

[0154] [Equation 18]

[0155]

[0156] [Equation 19]

[0157]

[0158] If the grouping is correct, then an eigenvalue matrix with zero (or near-zero) components can be generated.

[0159] As another example, the processor 110 may perform a singular value decomposition (SVD) on the grouping matrix to obtain a pooling matrix such that the overall ranking represents an appropriate number of clusters.

[0160] For example, when the vectors in matrices U and V are called singular vectors, all singular vectors can have the property of being orthogonal to each other. Σ is a diagonal matrix, and only the values ​​on the main diagonal of the matrix can be non-zero, and the values ​​at all other positions can be zero.

[0161] As another example, refer to Figure 2, the processor 110 may perform pooling without decomposing the grouping matrix (skip connection). In other words, the processor 110 may apply a single pooling variant (NGMPool) that uses the grouping matrix as is without performing a decomposition.

[0162] The processor 110 may provide an effect such as pooling by multiplying the grouping matrices without decomposing the grouping matrices based on the fact that the square of the grouping matrix and the pooling operator are the same.

[0163] Specifically, the processor 110 may maintain the pooling depth as 1, and apply a weighted aggregation vector in the pooling space based on the aggregated weight.

[0164] The weighted aggregate vector can be converted into a Euclidean 1 (one) vector by applying a pooling matrix obtained by decomposing the grouping matrix, as shown in Equation 20.

[0165] [Equation 20]

[0166]

[0167] The final form of the transformation can be shown as Equation 21 and Equation 22.

[0168] [Equation 21]

[0169]

[0170] [Equation 22]

[0171]

[0172] Reference Figure 2 , the processor 110 can finally combine the grouping matrix formed by the first artificial intelligence model based on the graph data and the pooling matrix formed by the second artificial intelligence model or the skip connection process, and apply them to the feedforward network (FFN) model.

[0173] Thus, the processor 110 can obtain an output graph ( Figure 3 The above pooling matrix can be obtained by decomposing the grouping matrix or without decomposing the grouping matrix.

[0174] For example, when the input graphic data is a thermally activated delayed fluorescence (TADF) molecule with a hierarchical structure including donors and acceptors, the learning process of the present disclosure can automatically determine the number of clusters, which can improve the accuracy of molecular property prediction. In this case, the graphic data can be input in the form of a simplified molecular input line input system (SMILES).

[0175] Specifically, TADF molecules can have different numbers of structures depending on the size of the molecule, and since the present disclosure can automatically determine the number of clusters without pre-setting the number of clusters (groups), it can be expected that the effect of distinguishing each molecule into a different number of groups can be achieved.

[0176] At the same time, when the graphic data is input, the processor 110 of the learning processing device 100 can generate a grouping matrix in a secondary form by setting the input graphic data as a data set, and learn an artificial intelligence model to decompose the grouping matrix, and generate and output a pooling matrix. In this case, the artificial intelligence model may refer to an artificial intelligence model implemented in the present disclosure, including the above-mentioned first artificial intelligence model and the second artificial intelligence model.

[0177] Specifically, the processor 110 may collect graphic data. In this case, the graphics may be plural.

[0178] The processor 110 may use the collected graph data to learn an artificial intelligence model.

[0179] More specifically, the processor 110 can use the collected graph data to generate a grouping matrix in a secondary form that groups pairs of nodes based on similarity. In addition, the processor 110 can decompose the grouping matrix to generate and output a pooling matrix, wherein the grouping matrix is ​​decomposed in a square root form to obtain a pooling operator.

[0180] 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 driven 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.

[0181] The memory 130 may store data supporting various functions of the learning processing device 100, programs for the operation of the processor 110, input / output data, a plurality of or one application programs executed by the learning processing device 100, data for the operation of the learning processing device 100, and commands. At least a part of these application programs may be downloaded from an external server through wireless communication.

[0182] The memory 130 may include at least one type of storage medium selected from the group consisting of a flash memory type, a hard disk type, a solid state disk type (SSD type), a silicon disk drive type (SDD type), a multimedia card micro type, a card memory (e.g., SD, XD memory, etc.), a RAM (random access memory), a static random access memory (SRAM), a ROM (read-only memory), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory may be a database separated from the device but connected by wire or wirelessly.

[0183] The communication unit 150 may include one or more components capable of communicating with an external device, for example, may include at least one of a broadcast receiving module, a wired communication module, a wireless communication module, a near field communication module, or a location information module.

[0184] Although not shown, the learning processing device 100 of the present disclosure may further include an output unit and an input unit.

[0185] The output unit may display a user interface (UI) to provide the result of the learning process, etc., including the graph pooling data. The output unit may output any form of information generated or determined by the processor 110 and any form of information received by the communication unit 150.

[0186] The output unit 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, or a 3D display. Some of these display modules may be configured to be transparent or light-transmissive so that the outside can be observed through them. These are called transparent display modules, and a representative example of a transparent display module is a transparent OLED (TOLED) and the like.

[0187] The input unit can receive information input by the user. The input unit may include keys and / or buttons on a user interface for receiving information input by the user, or physical keys and / or buttons. A computer program for controlling display according to an embodiment of the present disclosure may be executed based on user input through the input unit.

[0188] Graph pooling typically allows the number of clusters to be predefined as a hyperparameter per layer. This can be inconsistent in inductive settings such as molecular property prediction, where each graph can have a different number of useful substructures.

[0189] Since the present disclosure pools the model into different numbers of clusters based on graph data, the learning performance of graph data with a hierarchical structure, including molecular property prediction, can be improved. The GMPool of the present disclosure can allow variability in the number of clusters mentioned above through the rank of the grouping matrix. In other words, the present disclosure can omit the process of manually adjusting the number of clusters through additional hyperparameter tuning.

[0190] Figure 5 is a flowchart for explaining the learning processing method of the present disclosure.

[0191] Reference Figure 5 , the processor 110 of the learning processing device 100 can receive the graphic data 1100.

[0192] Then, the processor 110 may generate a grouping matrix in a secondary form that groups pairs of nodes based on similarities by inputting the graph data into the pre-learned first artificial intelligence model 1200 .

[0193] The processor 110 may group the plurality of nodes in the graph data and the connection relationships between the plurality of nodes by assigning the plurality of nodes in the graph data to identifiers of 0 or greater or 1 or less based on similarity according to a preset grouping standard. In other words, the processor 110 may group the plurality of nodes in the graph data and the connection relationships between the plurality of nodes by assigning the plurality of nodes in the graph data to identifiers of any one of 0, 1, and 0 to 1 (0-1).

[0194] In this case, 0 may represent different groups, 1 may represent the same group, and 0 to 1 ([0, 1]) may represent different values ​​depending on the degree to which they are judged to be the same group.

[0195] The processor 110 then decomposes the grouping matrix to generate a pooling matrix, wherein the grouping matrix is ​​decomposed in square root form to obtain a pooling operator 1300. The pooling operator may take the form of a transition matrix containing node states for each group.

[0196] The processor 110 generates a pooling operator, including the number of groups after pooling and the nodes assigned to the same group.

[0197] The processor 110 may generate a pooling operator according to Equation 13 and Equation 16.

[0198] The processor 110 may then obtain the output graph 1400 .

[0199] The output graph allows a group to act as a node.

[0200] Figure 6is a flowchart for explaining a method for learning an artificial intelligence model of the present disclosure, and will be described as learning Figure 1 and Figure 5 An example of the method of the above-mentioned artificial intelligence model mentioned in. In the following, the above-mentioned first artificial intelligence model and the second artificial intelligence model are collectively referred to as artificial intelligence models.

[0201] First, the processor 110 of the learning processing device 100 may collect the graph data 2100. In this case, the graph data may be plural.

[0202] The processor 110 may then use the collected graphics data 2200 - 2300 to learn an artificial intelligence model.

[0203] Specifically, the processor 110 may use the collected graph data 2200 to generate a grouping matrix in a secondary form that groups pairs of nodes based on similarities.

[0204] The processor 110 may then decompose the grouping matrix to generate a pooling matrix and output it, wherein the grouping matrix is ​​decomposed in square root form to obtain the pooling operator 2300 .

[0205] That is, the artificial intelligence model of the present disclosure can be learned so that when graph data is input, it is set as a data set to generate a grouping matrix in a secondary form, and the grouping matrix is ​​decomposed to generate and output a pooling matrix.

[0206] At the same time, although for the sake of convenience, Figure 6 , but naturally, AI models are learned to perform additional Figure 1 and Figure 5 The roles of the first artificial intelligence model and the second artificial intelligence model.

[0207] The present disclosure described above can be applied to all graph data having a hierarchical structure, including social data, author data, and molecular data.

[0208] Meanwhile, the above method according to the present disclosure may be implemented as a program (or application program) executed in conjunction with a hardware server and stored in a medium.

[0209] The disclosed embodiments may be implemented in the form of a recording medium storing computer executable commands. The commands may be stored in the form of program codes, and when executed by a processor, a program module may be generated to perform the operations of the disclosed embodiments. The recording medium may be implemented as a computer readable recording medium.

[0210] The computer-readable recording medium includes all types of recording media that store instructions that can be interpreted by a computer, such as ROM (read-only memory), RAM (random access memory), magnetic tapes, magnetic disks, flash memory, optical data storage devices, etc.

[0211] The disclosed embodiments have been described with reference to the above-mentioned drawings. Those skilled in the art to which the present disclosure belongs will understand that the present disclosure can be practiced in other forms than 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 as limiting.

Claims

1. A learning processing device, the learning processing device comprising: Memory; a processor in communication with the memory, Wherein, the processor: By inputting the graph data into a pre-learned artificial intelligence model, a grouping matrix in a secondary form is generated for grouping pairs of nodes based on similarity; and The grouping matrix is ​​decomposed to generate a pooling matrix, wherein the grouping matrix is ​​decomposed in a square root form to obtain a pooling operator.

2. The learning processing device according to claim 1, wherein: When generating the grouping matrix, the processor The plurality of nodes in the graph data and the connection relationships between the plurality of nodes are grouped by assigning the plurality of nodes in the graph data to identifiers of 0 or greater or 1 or less based on similarity according to a preset grouping standard.

3. The learning processing device according to claim 1, wherein: The processor generates A pooling operator, wherein the pooling operator includes the number of groups after pooling and the nodes allocated in the same group.

4. The learning processing device according to claim 1, wherein: The processor The pooling operator is generated based on the following equations 1 and 2: (Equation 1) S (l) S (l)T =M (l) (Equation 2) Among them, S (l) represents the pooling operator of the first layer, M (l) represents the grouping matrix of the first layer, O represents the orthogonal basis of the given matrix Λ represents the characteristic value 5. The learning processing device according to claim 1, wherein: The pooling operator is in the form of a transition matrix that includes the node states of each group.

6. A learning processing method, the learning processing method being executed by a learning processing device, the learning processing method comprising the following steps: By inputting the graph data into a pre-learned first artificial intelligence model, a grouping matrix in a secondary form is generated, which groups the nodes based on the similarity of the pairs of nodes; as well as The grouping matrix is ​​decomposed to generate a pooling matrix, wherein the grouping matrix is ​​decomposed in a square root form to obtain a pooling operator.

7. The learning processing method according to claim 6, wherein: The steps of generating the grouping matrix include the following steps: The plurality of nodes in the graph data and the connection relationships between the plurality of nodes are grouped by assigning the plurality of nodes in the graph data to identifiers of 0 or greater or 1 or less based on similarity according to a preset grouping standard.

8. The learning processing method according to claim 6, wherein: The step of obtaining the pooling operator includes the following steps: The pooling operator is generated, and the pooling operator includes the number of groups after pooling and the nodes allocated in the same group.

9. The learning processing method according to claim 6, wherein: The step of obtaining the pooling operator includes the following steps: The pooling operator is generated based on the following equations 1 and 2: (Equation 1) s (l) S (l)T = M(l) (Equation 2) Among them, S (l) represents the pooling operator of the first layer, M (l) represents the grouping matrix of the first layer, O represents the orthogonal basis of the given matrix and Λ represents the characteristic value 10. The learning processing method according to claim 6, wherein: The pooling operator is The form of a transition matrix that includes the node states for each group.

11. A program stored on a computer-readable recording medium connected to a computer, for executing the learning processing method according to any one of claims 6 to 10.

12. A method for learning an artificial intelligence model, the method being performed by a learning processing device, the method comprising the following steps: Collecting graphical data; as well as Use the collected graph data to learn AI models, Among them, the steps of learning the artificial intelligence model include the following steps: Using the collected graph data, generating a grouping matrix in a secondary form that groups nodes based on similarities of pairs of nodes; and The grouping matrix is ​​decomposed to generate and output a pooling matrix, wherein the grouping matrix is ​​decomposed in a square root form to obtain a pooling operator.