Patent Publication Number: US-2022222536-A1

Title: Trusted graph data node classification method, system, computer device and application

Description:
CROSS REFERENCE TO THE RELATED APPLICATIONS 
     This application is based upon and claims priority to Chinese Patent Application No. 202110028476.6, filed on Jan. 11, 2021, the entire contents of which are incorporated herein by reference. 
     TECHNICAL FIELD 
     The present invention pertains to the technical field of network analysis in deep learning applications, and more particularly, relates to a trusted graph data node classification method, system, computer device and application. 
     BACKGROUND 
     Currently, the advancement in computer hardware equipment and the explosive growth in computing power enable deep learning and neural network technologies to achieve breakthroughs constantly. The emergence of graph neural networks (GNNs) introduces deep learning and neural networks into the analysis of non-Euclidean data such as graphs. Based on the definition of the frequency spectrum in graph signal processing, researchers have solved, by using the graph Laplacian, the problem that it is difficult to define local convolution operators and aggregation operators when the convolutional neural network (CNN) is transplanted from the field of images and texts to the field of graph data. Since then, GNNs are developing rapidly and have attained remarkable progresses in scientific research and industrial applications. 
     However, deep learning inevitably faces security issues of attacks from adversarial examples not only in the field of images and texts, but also in the field of graph data. Taking the most widely used graph convolutional network (GCN) as an example, a minor perturbation caused by adding or deleting some edges in the topological graph can dramatically reduce the performance of the classification system. For example, when the adversarial example generation model Mettack is used to add a 5% perturbation to the original graph data, it can cause a reduction of 13% or higher in the classification accuracy of the GCN. Other adversarial example techniques, including targeted attacks such as Nettack, add perturbations to the target node to fool the model to misjudge the specified node. The existence of adversarial examples has seriously hindered the application of GNNs in some areas that require high security and stability. For example, in the credit prediction system of a bank, some people with low credit can disguise themselves by adding some friends with high credit. In a recommender system, some spammers may create fake followers to increase the influence of fake news. 
     At present, the research on the defense against adversarial examples in graph data or trusted graph neural network systems is still in its infancy. The prior art includes the following technical solutions. The first existing technique uses feature similarity of nodes to clean the topology of the input graph data, in which a new topological structure is constructed by removing the edges between nodes with low similarity, and then input to a given GNN model for training and prediction. The second existing technique extracts topological information by means of singular value decomposition, uses the high-order characteristics of adversarial examples and low-order singular values to perform low-rank approximation on the classification results to avoid attacks from the adversarial examples. The third existing technique uses an attention mechanism and a probability theory model to express the Gaussian distribution as the hidden layer node features of the GNN, and relies on the attention mechanism to assign weights to neighboring nodes. The fourth existing technique uses the low-order and sparse characteristics of natural graph data to perform training on a stack topology to learn a new topology to replace the original topology under attack. The fifth existing technique uses a large number of adversarial examples to perform adversarial training on the model. 
     In summary, the prior art has the following problems: (1) The existing data cleaning techniques (the first existing technique and the fourth existing technique) use node feature similarity or low-order characteristics of graph data, which causes the following two problems. On one hand, for some graph data analysis tasks that only contain topological structures, the classification system based on node feature similarity is completely unavailable. On the other hand, if the low-order characteristics of the graph data are used to clean the adversarial examples, then it may introduce new perturbations and cause secondary contamination to the data, and the performance of the model under lower perturbation rates cannot be guaranteed as a result. (2) The existing trusted graph data classification system and the adversarial training technique (the second existing technique, the fourth existing technique and the fifth existing technique) need to know the technical details of the adversarial examples in advance, or need to generate a large number of adversarial examples for targeted improvement in robustness. This process will waste a considerable amount of time in the data construction stage due to the high complexity of their adversarial example generation algorithms. Moreover, this targeted improvement cannot defend against unknown perturbations effectively. (3) The third existing technique is based on a probability theory model, in which the GNN produces a certain defense against attacks from a high proportion of adversarial examples. In an environment with a low perturbation rate, however, the classification system has an unstable performance, which is even inferior to that of a typical GNN classification system. 
     The above analysis has identified the problems and shortcomings in the prior art as follows. 
     (1) The existing data cleaning techniques use node feature similarity or low-order characteristics of graph data, which causes the following two problems. On one hand, for some graph data analysis tasks that only contain topological structures, the classification system based on node feature similarity is completely unavailable. On the other hand, if the low-order characteristics of the graph data are used to clean the adversarial examples, then it may introduce new perturbations and cause secondary contamination to the data, and the performance of the model under lower perturbation rates cannot be guaranteed as a result. 
     (2) The existing trusted graph data classification system and the adversarial training technique will waste a considerable amount of time in the data construction stage due to the high complexity of their adversarial example generation algorithms. Moreover, this targeted improvement cannot defend against unknown perturbations effectively. 
     (3) In the technique based on a probability theory model, the GNN produces a certain defense against attacks from a high proportion of adversarial examples. In an environment with a low perturbation rate, however, the classification system has an unstable performance, which is even inferior to that of a typical GNN classification system. 
     The difficulty of solving the above-mentioned problems and shortcomings is: how to improve the robustness of the system without knowing the technical details of adversarial examples; how to shorten the processing time in the data preparation stage to improve the efficiency of the system; how to improve the applicability of the system to avoid excessive reliance on a certain feature of the graph data; and how to enable the system to maintain a high accuracy at a relatively low perturbation rate close to that of the real environment or on data without adversarial examples, while ensuring its robustness. 
     The significance of solving the above-mentioned problems and shortcomings is: to improve the robustness and security of the classification system, and to accelerate the promotion and application of graph neural networks in the industrial field, especially in some areas that require high security. Additionally, it can improve the stability and reliability of existing applications, and make full use of the powerful expressiveness of graph neural networks to promote production progress. Furthermore, it can improve the applicability of the system and reduce the application limitations of graph neural networks, which is conducive to exploring the application potential of graph neural networks and expanding the application range of graph neural networks. 
     SUMMARY 
     In view of the problems identified in the prior art, the present invention provides a trusted graph data node classification method, system, computer device and application. 
     The present invention is achieved by providing a trusted graph data node classification method, including: 
     inputting an adjacency matrix and a node feature matrix of a graph, and calculating a discrete Ricci curvature of the discrete topological graph to extract topological information; compared with feature similarity, the attention mechanism and other mechanisms, the discrete Ricci curvature can more clearly distinguish adversarial examples; since a curvature model does not rely on features, a curvature-driven network is capable of running on some graph data without features, and thus has a wider range of applications; 
     preprocessing of the curvature and node features: preprocessing an original curvature and normalizing the node feature matrix for subsequent reconstruction and aggregation of features, and reconstructing the features by using a residual network to reduce the over-smoothing problem in a model sub-fitting process; 
     mapping and normalizing the curvature by using a multilayer perceptron (MLP), reconstructing original features by using a feature reconstruction model, performing a semi-supervised training by using the mapped curvature matrix and an original feature vector, and extracting and aggregating the node features; and 
     performing a classification prediction on nodes in graph data by using a node classification model. 
     Further, according to the trusted graph data node classification method, the discrete Ricci curvature is calculated specifically by the following Ricci-Ollivier curvature calculation formula: 
     
       
         
           
             
               
                 k 
                 
                   x 
                   ⁢ 
                   y 
                 
               
               = 
               
                 1 
                 - 
                 
                   
                     W 
                     ⁡ 
                     
                       ( 
                       
                         
                           m 
                           x 
                         
                         , 
                         
                           m 
                           y 
                         
                       
                       ) 
                     
                   
                   
                     d 
                     ⁡ 
                     
                       ( 
                       
                         x 
                         , 
                         y 
                       
                       ) 
                     
                   
                 
               
             
             ; 
           
         
       
     
     wherein x and y represent the nodes in the topological graph, k xy  represents an edge e(x, y) between the node x and the node y, W(m x , m y ) represents a Wasserstein distance, and d(x, y) represents a shortest distance between the node x and the node y, that is, a weight of the edge e(x, y); and 
     
       
         
           
             
               
                 m 
                 x 
                 α 
               
               ⁡ 
               
                 ( 
                 
                   x 
                   i 
                 
                 ) 
               
             
             ⁢ 
             
               { 
               
                 
                   
                     
                       α 
                     
                     
                       
                         
                           x 
                           i 
                         
                         = 
                         x 
                       
                     
                   
                   
                     
                       
                         
                           ( 
                           
                             1 
                             - 
                             α 
                           
                           ) 
                         
                         / 
                         k 
                       
                     
                     
                       
                         x 
                         ∈ 
                         
                           N 
                           ⁡ 
                           
                             ( 
                             x 
                             ) 
                           
                         
                       
                     
                   
                   
                     
                       0 
                     
                     
                       
                         
                           x 
                           ∉ 
                           
                             N 
                             ⁡ 
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         , 
                         
                           
                             x 
                             i 
                           
                           ≠ 
                           x 
                         
                       
                     
                   
                 
                 ; 
               
             
           
         
       
     
     wherein α represents a hyperparameter and α∈[0,1], α is generally set to 0.5; m x   α (x i ) represents a probability measure at the node x; and if G=(V, E) represents a set of vertices and edges in an undirected graph, then for each node xϵV, N(x)={x 1 , x 2 , x 4 , . . . , x k } represents first-order neighboring nodes of the node x; 
     the Wasserstein distance between the node x and the node y is calculated by solving the following linear programs: 
       min Σ i,j   d ( x   i   ,y   i ) M ( x   i   ,y   i );
 
         s.t.Σ   j   M ( x   i   ,y   i )= m   x   α ( x   i ),∀ i ;
 
       Σ i   M ( x   i   ,y   i )= m   x   α ( y   i ),∀ j .
 
     Further, according to the trusted graph data node classification method, the preprocessing of the curvature specifically includes: preprocessing a curvature with a relatively low value according to the following calculation formula: 
     
       
         
           
             { 
             
               
                 
                   
                     
                       t 
                       = 
                       
                         percentile 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                             K 
                             , 
                             p 
                           
                           ) 
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         { 
                         
                           
                             
                               
                                 
                                   
                                     k 
                                     xy 
                                   
                                   ⁢ 
                                   
                                     k 
                                     xy 
                                   
                                 
                                 ≥ 
                                 t 
                               
                             
                           
                           
                             
                               
                                 
                                   
                                     - 
                                     1 
                                   
                                   ⁢ 
                                   
                                     k 
                                     xy 
                                   
                                 
                                 &lt; 
                                 t 
                               
                             
                           
                         
                       
                     
                   
                 
               
               ; 
             
           
         
       
     
     wherein p is a hyperparameter and represents a percentage, and percentile(K, p) represents calculating a p th  value in all curvature values sorted in ascending order. 
     Further, according to the trusted graph data node classification method, the original feature matrix is normalized by calculating a sum of feature vectors of each row and dividing each eigenvalue by the sum, so that the sum of eigenvalues of all feature vectors in the processed feature matrix is 1; and 
     based on a node feature reconstruction module with a residual network, feature vectors of the first-order neighboring nodes x i ∈N(x) of each node feature x∈   f  are extracted from the feature matrix, the feature vectors are vertically stacked into a new matrix M, the node x is vertically stacked into a same matrix, these matrices are concatenated to obtain a matrix {tilde over (M)}∈   f×f , a Mask of the stacked matrix is calculated by using the MLP, and the reconstructed feature matrix is {tilde over (X)}, wherein each feature vector   is aggregated as: 
         = x   i +sum(Mask× M ,axis=1)
 
     wherein the sum function represents calculating the sum of matrices column-wise. 
     Further, a curvature mapping module for the trusted graph data node classification method is the MLP with a bias of 1, uses a leaky rectifier linear unit (LeakyRelu) activation function with α=0.2, and normalizes a final curvature matrix row-wise to obtain the mapped curvature matrix ψ; 
     a curvature aggregation module is a curvature-based hidden layer node feature aggregation module, replaces a Laplacian matrix in a traditional graph convolutional network (GCN) by a mapped curvature value, and uses an inter-layer aggregation formula as follows: 
         H   x   l+1 =σ l (Σ y∈ N(x)   diag(ψ xy   l ) W   l   H   y   l ); and
 
     network parameters of each module in the graph neural network (GNN) model are updated synchronously by using a backpropagation algorithm during the semi-supervised learning and training process. 
     Further, a node prediction model for the trusted graph data node classification method uses a node feature vector output from the last layer of the network to pass through a fully-connected layer network, uses softmax as an activation function to obtain a probability distribution of the nodes, and takes a class with a largest predicted probability as a predicted result of the nodes. 
     Another objective of the present invention is to provide a computer device, including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the following steps: 
     inputting an adjacency matrix and a node feature matrix of a graph, and calculating a discrete Ricci curvature of the discrete topological graph to extract topological information; 
     preprocessing of the curvature and node features: preprocessing an original curvature and normalizing the node feature matrix; 
     mapping and normalizing the curvature by using an MLP, reconstructing original features by using a feature reconstruction model, performing a semi-supervised training by using the mapped curvature matrix and an original feature vector, and extracting and aggregating the node features; and 
     performing a classification prediction on nodes in graph data by using a node classification model. 
     Another objective of the present invention is to provide a computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the processor executes the following steps: 
     inputting an adjacency matrix and a node feature matrix of a graph, and calculating a discrete Ricci curvature of the discrete topological graph to extract topological information; 
     preprocessing of the curvature and node features: preprocessing an original curvature and normalizing the node feature matrix; 
     mapping and normalizing the curvature by using an MLP, reconstructing original features by using a feature reconstruction model, performing a semi-supervised training by using the mapped curvature matrix and an original feature vector, and extracting and aggregating the node features; and 
     performing a classification prediction on nodes in graph data by using a node classification model. 
     Another objective of the present invention is to provide a trusted graph data node classification system for implementing the trusted graph data node classification method, and the trusted graph data node classification system includes: 
     a topological information extraction module, configured for inputting a topological graph and node features, and calculating a discrete Ricci curvature of the discrete topological graph to extract topological information; 
     a normalization preprocessing module, configured for performing a normalization preprocessing on the curvature and node features; 
     a semi-supervised training module, configured for performing a semi-supervised training on graph data containing adversarial examples by using the curvature and a residual network model; and 
     a classification prediction module, configured for performing a classification prediction on unlabeled nodes. 
     Another objective of the present invention is to provide a computer hardware device for implementing the trusted graph data node classification method. 
     With a combination of all the above technical solutions, the present invention has the following advantages. The present invention does not need to know the technical details of the adversarial examples, does not need to clean the original topology, and does not require a large number of adversarial examples for adversarial training. In this way, the system has strong applicability and high accuracy. 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 Comparison between experimental results 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
            
               
                 Data set\ 
                   
                   
                   
                   
                   
                   
                   
                   
                   
               
               
                 Comparative 
               
               
                 scheme 
                 PtbEdge 
                 GCN 
                 GCNJaccard 
                 GCNSVD 
                 RGCN 
                 CURV_GN 
                 GAT 
                 ProGNN 
                 Our_Model 
               
               
                   
               
               
                 Cora 
                 1 
                 77.78 ± 
                 77.85 ± 
                 76.18 ± 
                 75.63 ± 
                 76.81 ± 
                 74.72 ± 
                 78.06 ± 
                 81.25 ± 
               
               
                   
                   
                 0.62 
                 0.88 
                 0.44 
                 0.71 
                 0.75 
                 1.84 
                 0.71 
                 0.89 
               
               
                   
                 2 
                 65.76 ± 
                 68.54 ± 
                 67.43 ± 
                 64.51 ± 
                 63.19 ± 
                 64.79 ± 
                 66.67 ± 
                 75.42 ± 
               
               
                   
                   
                 1.06 
                 0.62 
                 1.14 
                 1.26 
                 2.44 
                 2.32 
                 0.99 
                 1.33 
               
               
                   
                 3 
                 53.82 ± 
                 65.35 ± 
                 60.90 ± 
                 52.22 ± 
                 55.21 ± 
                 53.68 ± 
                 54.10 ± 
                 69.58 ± 
               
               
                   
                   
                 0.70 
                 1.00 
                 1.35 
                 0.86 
                 2.91 
                 2.45 
                 0.74 
                 2.37 
               
               
                   
                 4 
                 42.78 ± 
                 58.54 ± 
                 49.44 ± 
                 40.83 ± 
                 42.29 ± 
                 44.44 ± 
                 43.82 ± 
                 61.25 ± 
               
               
                   
                   
                 1.33 
                 1.70 
                 1.15 
                 1.50 
                 4.91 
                 2.34 
                 1.98 
                 1.04 
               
               
                   
                 5 
                 32.99 ± 
                 48.96 ± 
                 41.94 ± 
                 31.32 ± 
                 36.39 ± 
                 30.97 ± 
                 31.74 ± 
                 52.50 ± 
               
               
                   
                   
                 1.62 
                 1.42 
                 0.46 
                 1.16 
                 4.61 
                 1.84 
                 0.44 
                 1.64 
               
               
                 Cora_ml 
                 1 
                 74.43 ± 
                 75.29 ± 
                 74.47 ± 
                 73.65 ± 
                 73.98 ± 
                 76.55 ± 
                 78.39 ± 
                 80.64 ± 
               
               
                   
                   
                 0.44 
                 1.02 
                 0.59 
                 0.70 
                 0.89 
                 0.99 
                 0.65 
                 0.26 
               
               
                   
                 2 
                 64.42 ± 
                 66.50 ± 
                 69.20 ± 
                 62.09 ± 
                 63.85 ± 
                 65.85 ± 
                 68.30 ± 
                 73.28 ± 
               
               
                   
                   
                 1.40 
                 0.56 
                 1.03 
                 0.87 
                 0.95 
                 1.43 
                 0.66 
                 0.50 
               
               
                   
                 3 
                 55.31 ± 
                 57.03 ± 
                 60.83 ± 
                 50.20 ± 
                 50.12 ± 
                 55.19 ± 
                 56.41 ± 
                 65.20 ± 
               
               
                   
                   
                 1.30 
                 0.64 
                 0.77 
                 1.48 
                 3.95 
                 2.21 
                 1.03 
                 0.88 
               
               
                   
                 4 
                 42.40 ± 
                 45.06 ± 
                 52.21 ± 
                 37.17 ± 
                 36.81 ± 
                 40.07 ± 
                 41.91 ± 
                 59.31 ± 
               
               
                   
                   
                 2.14 
                 1.07 
                 1.62 
                 1.95 
                 4.70 
                 2.24 
                 1.22 
                 1.68 
               
               
                   
                 5 
                 30.31 ± 
                 34.84 ± 
                 41.46 ± 
                 26.92 ± 
                 25.94 ± 
                 29.17 ± 
                 29.17 ± 
                 46.81 ± 
               
               
                   
                   
                 2.24 
                 0.99 
                 2.42 
                 1.96 
                 3.00 
                 1.45 
                 1.53 
                 1.41 
               
               
                 Citeseer 
                 1 
                 62.07 ± 
                 63.69 ± 
                 68.02 ± 
                 56.40 ± 
                 63.51 ± 
                 63.06 ± 
                 63.06 ± 
                 70.81 ± 
               
               
                   
                   
                 0.58 
                 1.44 
                 1.10 
                 1.92 
                 1.07 
                 3.39 
                 1.78 
                 1.15 
               
               
                   
                 2 
                 54.14 ± 
                 59.37 ± 
                 56.13 ± 
                 49.37 ± 
                 49.91 ± 
                 54.32 ± 
                 55.86 ± 
                 64.86 ± 
               
               
                   
                   
                 1.14 
                 1.48 
                 1.34 
                 1.11 
                 1.49 
                 2.47 
                 1.70 
                 1.49 
               
               
                   
                 3 
                 47.57 ± 
                 51.53 ± 
                 43.42 ± 
                 41.89 ± 
                 40.18 ± 
                 40.99 ± 
                 45.59 ± 
                 56.76 ± 
               
               
                   
                   
                 1.36 
                 0.74 
                 0.74 
                 1.46 
                 2.68 
                 4.64 
                 0.97 
                 1.21 
               
               
                   
                 4 
                 37.39 ± 
                 44.05 ± 
                 36.40 ± 
                 29.19 ± 
                 29.01 ± 
                 30.18 ± 
                 33.24 ± 
                 45.95 ± 
               
               
                   
                   
                 1.41 
                 1.97 
                 1.94 
                 0.99 
                 3.69 
                 1.80 
                 1.64 
                 0.85 
               
               
                   
                 5 
                 26.76 ± 
                 37.84 ± 
                 28.56 ± 
                 21.44 ± 
                 23.24 ± 
                 22.61 ± 
                 22.25 ± 
                 40.54 ± 
               
               
                   
                   
                 1.02 
                 2.09 
                 1.05 
                 1.70 
                 4.91 
                 4.07 
                 1.38 
                 1.30 
               
               
                 Polblogs 
                 1 
                 87.55 ± 
                 / 
                 93.54 ± 
                 90.14 ± 
                 90.99 ± 
                 95.92 ± 
                 96.09 ± 
                 97.96 ± 
               
               
                   
                   
                 1.93 
                   
                 0.76 
                 0.96 
                 8.13 
                 1.18 
                 0.92 
                 0.51 
               
               
                   
                 2 
                 77.65 ± 
                 / 
                 91.67 ± 
                 77.89 ± 
                 75.51 ± 
                 94.56 ± 
                 94.22 ± 
                 95.92 ± 
               
               
                   
                   
                 1.40 
                   
                 1.09 
                 1.40 
                 13.38 
                 3.32 
                 0.76 
                 0.00 
               
               
                   
                 3 
                 58.16 ± 
                 / 
                 91.33 ± 
                 56.46 ± 
                 64.97 ± 
                 92.18 ± 
                 88.27 ± 
                 95.92 ± 
               
               
                   
                   
                 1.88 
                   
                 1.64 
                 0.48 
                 15.69 
                 2.33 
                 0.98 
                 0.59 
               
               
                   
                 4 
                 52.35 ± 
                 / 
                 85.54 ± 
                 43.03 ± 
                 62.24 ± 
                 91.33 ± 
                 81.80 ± 
                 93.88 ± 
               
               
                   
                   
                 5.46 
                   
                 3.51 
                 2.39 
                 7.88 
                 0.78 
                 1.90 
                 1.44 
               
               
                   
                 5 
                 41.22 ± 
                 / 
                 72.45 ± 
                 28.74 ± 
                 57.48 ± 
                 81.63 ± 
                 74.49 ± 
                 94.90 ± 
               
               
                   
                   
                 6.13 
                   
                 2.12 
                 1.60 
                 16.23 
                 11.42 
                 1.56 
                 1.09 
               
               
                   
               
            
           
         
       
     
     In the present invention, the Laplacian matrix in the convolutional graph neural network is replaced by the mapped curvature matrix. The importance of each feature is learned by using the MLP. The features are reconstructed on the original feature matrix. In this way, the node features and topological information of the graph data are fully utilized to improve the robustness of the model while avoiding secondary contamination caused by cleaning the original topological information. This multi-dimensional aggregation method effectively improves the adaptability and accuracy of the system. The above Table shows the experimental results of using the adversarial example generation model Nettack on four data sets, and compared with seven mainstream schemes, the accuracy of the system of the present invention is higher than that of each of these schemes. 
     When used in graph data without adversarial examples, the system of the present invention achieves an average accuracy that is 1.33% to 5.41% higher than those of other approaches. When used in graph data containing adversarial examples, the system significantly outperforms other approaches in terms of accuracy. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to explain the technical solutions of the embodiments of the present invention more clearly, the drawings used in the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts. 
         FIG. 1  is a flow chart of a trusted graph data node classification method according to an embodiment of the present invention. 
         FIG. 2  is a structural schematic diagram of a trusted graph data node classification system according to an embodiment of the present invention. 
       In  FIG. 2 :  1  represents topological information extraction module;  2  represents normalization preprocessing module;  3  represents semi-supervised training module; and  4  represents classification prediction module. 
         FIG. 3  is a schematic diagram of the structure of each module and the overall system of the trusted graph data node classification method according to an embodiment of the present invention. 
         FIG. 4  is a graph showing the experimental results according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     In order to make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. 
     In view of the problems identified in the prior art, the present invention provides a trusted graph data node classification method, system, computer device and application. The present invention will be described in detail below with reference to the drawings. 
     As shown in  FIG. 1 , the trusted graph data node classification method includes the following steps: 
     S 101 : an adjacency matrix and a node feature matrix of a graph are input, and a discrete Ricci curvature of the discrete topological graph is calculated to extract topological information; 
     S 102 : preprocessing of the curvature and node features: the original curvature is preprocessed and the node feature matrix is normalized; 
     S 103 : the curvature is mapped and normalized by using an MLP, original features are reconstructed by using a feature reconstruction model, semi-supervised training is performed by using the mapped curvature matrix and an original feature vector, and the node features are extracted and aggregated; and 
     S 104 : a classification prediction is performed on nodes in the graph data by using a node classification model. 
     Those of ordinary skill in the art can also implement the trusted graph data node classification method of the present invention by using other steps.  FIG. 1  only illustrates a specific embodiment of the trusted graph data node classification method of the present invention. 
     As shown in  FIG. 2 , a trusted graph data node classification system according to the present invention includes: 
     the topological information extraction module  1 , configured for inputting a topological graph and node features, and calculating a discrete Ricci curvature of the discrete topological graph to extract topological information; 
     the normalization preprocessing module  2 , configured for performing a normalization preprocessing on the curvature and node features; 
     the semi-supervised training module  3 , configured for performing a semi-supervised training on graph data containing adversarial examples by using the curvature and a residual network model; and 
     the classification prediction module  4 , configured for performing a classification prediction on unlabeled nodes. 
     The technical solution of the present invention will be further described below in conjunction with the drawings. 
     As shown in  FIG. 3 , in the present invention, a discrete curvature is introduced into the graph neural network, and the original features are reconstructed. In this way, the topological information of the graph data and the original features of the nodes are fully and reasonably utilized, thereby improving the applicability and stability of the classification model. 
     The discrete Ricci curvature is calculated specifically by the following Ricci-Ollivier curvature calculation formula: 
     
       
         
           
             
               
                 k 
                 
                   x 
                   ⁢ 
                   y 
                 
               
               = 
               
                 1 
                 - 
                 
                   
                     W 
                     ⁡ 
                     
                       ( 
                       
                         
                           m 
                           x 
                         
                         , 
                         
                           m 
                           y 
                         
                       
                       ) 
                     
                   
                   
                     d 
                     ⁡ 
                     
                       ( 
                       
                         x 
                         , 
                         y 
                       
                       ) 
                     
                   
                 
               
             
             ; 
           
         
       
     
     wherein x and y represent the nodes in the topological graph, k xy  represents an edge e(x, y) between the node x and the node y, W(m x , m y ) represents a Wasserstein distance, and d(x, y) represents a shortest distance between the node x and the node y, that is, a weight of the edge e(x, y); and 
     
       
         
           
             
               
                 m 
                 x 
                 α 
               
               ⁡ 
               
                 ( 
                 
                   x 
                   i 
                 
                 ) 
               
             
             ⁢ 
             
               { 
               
                 
                   
                     
                       α 
                     
                     
                       
                         
                           x 
                           i 
                         
                         = 
                         x 
                       
                     
                   
                   
                     
                       
                         
                           ( 
                           
                             1 
                             - 
                             α 
                           
                           ) 
                         
                         / 
                         k 
                       
                     
                     
                       
                         x 
                         ∈ 
                         
                           N 
                           ⁡ 
                           
                             ( 
                             x 
                             ) 
                           
                         
                       
                     
                   
                   
                     
                       0 
                     
                     
                       
                         
                           x 
                           ∉ 
                           
                             N 
                             ⁡ 
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         , 
                         
                           
                             x 
                             i 
                           
                           ≠ 
                           x 
                         
                       
                     
                   
                 
                 ; 
               
             
           
         
       
     
     wherein α represents a hyperparameter and α∈[0,1], α is generally set to 0.5; m x   α  (x i ) represents a probability measure at the node x; and if G=(V, E) represents a set of vertices and edges in an undirected graph, then for each node xϵV, N(x)={x 1 , x 2 , x 4 , . . . , x k } represents first-order neighboring nodes of the node x. 
     The Wasserstein distance between the node x and the node y is calculated by solving the following linear programs: 
       min Σ i,j   d ( x   i   ,y   i ) M ( x   i   ,y   i );
 
         s.t.Σ   j   M ( x   i   ,y   i )= m   x   α ( x   i ),∀ i ;
 
       Σ i   M ( x   i   ,y   i )= m   x   α ( y   i ),∀ j .
 
     The preprocessing of the curvature specifically includes: preprocessing some curvatures with relatively low values to reduce the influence of adversarial examples according to the following calculation formula: 
     
       
         
           
             { 
             
               
                 
                   
                     
                       t 
                       = 
                       
                         percentile 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                             K 
                             , 
                             p 
                           
                           ) 
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         { 
                         
                           
                             
                               
                                 
                                   
                                     k 
                                     xy 
                                   
                                   ⁢ 
                                   
                                     k 
                                     xy 
                                   
                                 
                                 ≥ 
                                 t 
                               
                             
                           
                           
                             
                               
                                 
                                   
                                     - 
                                     1 
                                   
                                   ⁢ 
                                   
                                     k 
                                     xy 
                                   
                                 
                                 &lt; 
                                 t 
                               
                             
                           
                         
                       
                     
                   
                 
               
               ; 
             
           
         
       
     
     wherein p is a hyperparameter and represents a percentage, and percentile(K, p) represents calculating a p th  value in all curvature values sorted in ascending order. 
     The original feature matrix is normalized specifically by calculating a sum of feature vectors of each row and dividing each eigenvalue by the sum, so that the sum of eigenvalues of all feature vectors in the processed feature matrix is 1. 
     Specifically, based on a node feature reconstruction module with a residual network, feature vectors of the first-order neighboring nodes x i ∈N(x) of each node feature x∈   f  are extracted from the feature matrix, the feature vectors are vertically stacked into a new matrix M, the node x is also vertically stacked into a same matrix, and these matrices are concatenated to obtain a matrix {tilde over (M)}∈   f×f . A Mask of the stacked matrix is calculated by using the MLP, and the reconstructed feature matrix is {tilde over (X)}, wherein each feature vector   is aggregated as: 
         = x   i +sum(Mask× M ,axis=1)
 
     wherein the sum function represents calculating the sum of matrices column-wise. 
     The curvature mapping module is the MLP with a bias of 1, uses a leaky rectifier linear unit (LeakyRelu) activation function with α=0.2, and normalizes a final curvature matrix row-wise to obtain the mapped curvature matrix ψ. 
     The curvature aggregation module is a curvature-based hidden layer node feature aggregation module, replaces a Laplacian matrix in a traditional GCN by a mapped curvature value, and uses an inter-layer aggregation formula as follows: 
         H   x   l+1 =σ l (Σ y∈ N(x)   diag(ψ xy   l ) W   l   H   y   l ).
 
     Network parameters of each module in the GNN model are updated synchronously by using a backpropagation algorithm during the semi-supervised learning and training process. 
     The node prediction model uses a node feature vector output from the last layer of the network to pass through a fully-connected layer network, uses softmax as an activation function to obtain a probability distribution of the nodes, and takes a class with a largest predicted probability as a predicted result of the nodes. 
     The technical effects of the present invention will be described in detail below in conjunction with an experiment. 
     As shown in  FIG. 4 , the experiment implements the model through the well-known open-source deep learning platform Pytorch and its derived graph neural network framework Torch_geometric, the curvature calculation-associated open-source library GraphRicciCurvature, and the network analysis open-source library networkx, and is based on the hardware platform NVIDIARTX2080. Four real data sets Cora, Citeseer, Polblogs, Pumbed and four mainstream adversarial example generation models are used to validate and evaluate the performance of the model and existing methods. The data sets and the existing methods are evaluated by using the accuracy of the model as an evaluation indicator. During the semi-supervised training, the proportion of the training set to the validation set to the test set is 0.1:0.1:0.8, and the number of training iterations for all methods is 200. 
     The result of using the targeted attack adversarial example generation model Nettack to perform a perturbation test on the data shows that when used in the data containing adversarial examples with different degrees, the model achieves an accuracy that is at least 1.87%-20.41% higher than those of the existing methods, and especially when used in the data set Polblogs, the model maintains an accuracy of more than 90% at the highest perturbation rate. 
     The result of using the non-targeted attack adversarial example generation model Mettack and Dice to perform a perturbation test on the data shows that when the entire data set contains 5%, 10%, 15%, 20%, 25%, and 30% of adversarial examples, the accuracy of the model is improved by at least 2.98%, 7.64%, 13.71%, 17.86%, and 23.27%, respectively, compared with the existing methods. 
     The result of using the non-targeted attack random adversarial example generation model Random to perform a perturbation test on the data shows that when the entire data set contains 5%, 10%, 15%, 20%, 25%, and 30% of adversarial examples, the accuracy of the model is improved by at least 1.45%, 3.66%, 5.77%, 8.45%, and 9.91%, respectively, compared with the existing methods. 
     It should be noted that the embodiments of the present invention can be implemented by hardware, software, or a combination of software and hardware. The hardware part can be implemented by dedicated logic. The software part can be stored in a memory, and the system can be executed by appropriate instructions, for example, the system can be executed by a microprocessor or dedicated hardware. Those of ordinary skill in the art can understand that the above-mentioned devices and methods can be implemented by using computer-executable instructions and/or control codes included in a processor. Such codes are provided, for example, on a carrier medium such as a magnetic disk, compact disc (CD) or digital video disk read-only memory (DVD-ROM), a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The device and its modules of the present invention can be implemented by very large-scale integrated circuits or gate arrays, semiconductors such as logic chips and transistors, or programmable hardware devices such as field programmable gate arrays and programmable logic devices, and other hardware circuits. Optionally, the device and its modules of the present invention can be implemented by software executed by various types of processors, or can be implemented by a combination of the hardware circuit and the software as mentioned above, such as firmware. 
     The above only describes the specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications, equivalent replacements, improvements and others made by any person skilled in the art within the technical scope disclosed in the present invention and the spirit and principle of the present invention shall fall within the scope of protection of the present invention.