A differentially private weighted graph publishing method under continuous monitoring

The differential privacy-preserving weighted graph publishing method, which employs node adaptive sampling and dynamic weight optimization, solves the privacy protection problem of dynamically weighted graph data, generates high-quality synthetic weighted graph snapshots, reduces computational scale and noise injection, and protects user privacy.

CN118427787BActive Publication Date: 2025-12-26JINAN UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410582004.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-11
Publication Date
2025-12-26
Estimated Expiration
2044-05-11

AI Technical Summary

Technical Problem

Existing differential privacy methods cannot properly handle the publication of dynamically evolving continuously weighted graph data, leading to the leakage of sensitive information.

Method used

A differential privacy-weighted graph publishing method under continuous monitoring is designed. Through node adaptive sampling, dynamic weight value optimization and community detection, a high-quality synthetic weighted graph snapshot is generated under privacy protection.

Benefits of technology

It significantly reduces computational scale and noise injection, optimizes the weights between sampling nodes, and can generate high-quality synthetic weighted graphs under DP conditions while protecting user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118427787B_ABST
    Figure CN118427787B_ABST
Patent Text Reader

Abstract

In view of the fact that sensitive graph data in actual systems is usually dynamically evolved and has weights, the application provides a differentially private weighted graph publishing method under continuous monitoring. Firstly, nodes are sampled according to the change of node data, secondly, the weight values on edges are optimized by using a noise maximum mechanism, then community detection is carried out based on predicted weighted topological information, and finally, a synthetic weighted graph snapshot with differential privacy at the current time step is generated. The application explores a series of continuous weighted graph snapshot publishing, which can analyze the dynamic weighted graph while protecting relevant users from the risk of privacy invasion.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to a differentially private weighted graph publishing method under continuous monitoring and belongs to the field of data privacy security. BACKGROUND

[0002] With the rapid development of big data and artificial intelligence, graph analysis is widely used in various complex systems in the real world, such as communication networks, social networks and epidemiological networks. These network data can help people gain a lot of valuable knowledge and further benefit people's lives, for example, graph data analysis has been used to improve digital contract tracking work. However, the graph data collected from the system is usually private, and publishing the graph data without adequate protection may lead to the exposure of sensitive personal information.

[0003] An advanced privacy protection technology is differential privacy (DP), which has become the gold standard for privacy analysis in academia and industry. Intuitively, for any DP-satisfying algorithm, its output on a dataset contains some random noise, making it impossible for an adversary with any background knowledge to infer the existence of any possible record in the dataset. So far, existing differential privacy graph analysis work has mainly focused on publishing static unweighted graph data. By protecting the relationship between two entities in the graph, accurate static graph statistics (such as degree distribution, subgraph count) and synthetic graphs can be published.

[0004] In fact, the graph data in real systems is usually dynamically evolving. The connections (edges) between entities (nodes) in these systems can be modeled over time, forming a series of consecutive graph snapshots. In addition, the edges in each graph snapshot can be associated with sensitive weights, which define additional information about the interaction between nodes at a time step, such as the frequency of user interaction and the volume of transactions between companies. Aggregated weighted graph snapshots can be mined for commercial interests (such as social recommendations) and public interests (such as disease transmission prediction).

[0005] However, when the topology of the graph and the edge weights in the time dimension are considered as private information, existing DP methods cannot correctly handle the publication of continuous weighted graphs. Therefore, the problem of publishing synthetic weighted graphs under continuous monitoring is studied, which aims to publish a series of consecutive synthetic weighted graph snapshots while providing the required privacy protection (i.e. protecting the structure of the graph and the weight values of the edges). Based on this, a differentially private weighted graph publishing method under continuous monitoring is designed to generate synthetic weighted graph snapshots at each time step. By designing this method, it is possible to analyze dynamic weighted graphs while protecting the privacy of related users from being violated. SUMMARY

[0006] The application discloses a differentially private weighted graph publishing method under continuous monitoring, which mainly aims at publishing the synthetic version of the weighted graph snapshot at each time step t under DP. The synthetic weighted graph snapshot is similar in semantics to the original graph snapshot and supports any downstream graph data analysis task.

[0007] According to the application background, the application discloses a differentially private weighted graph publishing method under continuous monitoring, which comprises the following steps:

[0008] Step one: establishing a current time step weighted graph snapshot model:

[0009] In the continuous monitoring scenario of the weighted graph data, the server continuously monitors the user data and divides the collected data into multiple graph snapshots. Each graph snapshot has the same number of nodes, but does not necessarily have the same structure and edge weight value. The graph snapshot at the current time step can be modeled as G t =(V,E t ,W t ), wherein V is a node set, E t is an edge set, and W t is an edge weight set.

[0010] Step two, node adaptive sampling:

[0011] For each time step t, first, the change error of the neighbor list of all nodes in the current graph snapshot G t is calculated to determine the sampling rate of each node. Since the original neighbor list at the current time step is used to calculate the error, the edge privacy may be leaked. Therefore, a perturbation algorithm is designed to sample the nodes while protecting the privacy. The weighted topology structure between these sampled nodes can be represented as a subgraph

[0012] Step three, dynamic weight value optimization:

[0013] For the subgraph related to the sampled nodes of the previous stage, all edge weights of the subgraph are extracted to construct a weight sequence. Next, a threshold τ t is found for the weight sequence at the current time step by using the noisy max mechanism to optimize the error caused by noise and bias. Finally, τ t is used to truncate all edge weights greater than τ t in the subgraph. Since the sampled nodes and edge weights change with time steps, the threshold also changes dynamically.

[0014] Step four, prediction-based community detection:

[0015] According to the noise edge weight between the sampling nodes in the previously released synthetic graph snapshot, the edge weight between the sampling nodes in the current time step t is first predicted, and then the Louvain algorithm is used to divide the sampling nodes in G t into communities according to the predicted weight. t

[0016] Step five, current time step weighted graph snapshot generation:

[0017] Based on the community division result of the previous stage, the edges and weight values between the sampling nodes are generated. First, the edges between the sampling nodes are reconstructed. Since most of the large weight edges are located within the community, and the inter-community edges are mainly small weight edges, Laplace noise is added to the weight of each edge within the community and the sum of the weights between the community pairs. In addition, post-processing is performed on the edges and weights to calibrate the disturbance result. Then the noise weight is averaged to each edge between the communities. For the remaining edges and weights involving non-sampling nodes, the values in the synthetic graph generated at the last time are used to reconstruct them. At this time, a synthetic weighted graph is generated at the current time step t.

[0018] Compared with the prior art, the method has the following advantages:

[0019] 1. Adjusting the sampling rate of the nodes according to the data change can significantly reduce the calculation scale and noise injection;

[0020] 2. By using the truncation strategy to dynamically optimize the weight values between the sampling nodes, the noise of the edge weight values can be effectively reduced;

[0021] 3. According to the predicted information, the community division of the sampling nodes is performed, and different mechanisms are used to disturb and reconstruct the edges and weights within the community and between the communities, so that a high-quality synthetic weighted graph can be generated under the DP condition. BRIEF DESCRIPTION OF DRAWINGS

[0022] Figure 1 is a flowchart of the present application;

[0023] Figure 2 is a model of the current time step original weighted graph snapshot. DETAILED DESCRIPTION

[0024] As Figure 1 shown, the specific steps of the technical solution of the present application are:

[0025] Step one: establish a model of the current time step weighted graph snapshot:

[0026] ​In the context of continuous monitoring scenarios of weighted graph data, participating users (nodes) send their own edges and corresponding edge weights to a trusted server, which constantly monitors and partitions the collected data into multiple graph snapshots. Each graph snapshot has the same number of nodes, but not necessarily the same structure and edge weights. The graph snapshot at the current time step G t can be modeled as G t = (V, E t , W t ), where V is the set of nodes, E t is the set of edges, and W t is the set of edge weights. All graph snapshots share the same set of nodes V, which means that in each graph snapshot, V = {v i | i e [n]}, where n is the number of nodes and [n] = {1, 2, · · ·, n}. An edge (v i , v j ) e E t represents a relationship between a pair of nodes v i , v j e V at time step t. Let ω t (v i , v j ) e W t be the weight on edge (v i , v j ) at time step t.

[0027] For a snapshot at time step t, the degree d i (v t ) of a node v i is defined as the number of edges connected to the node. The corresponding weighted topology can be represented as a symmetric adjacency matrix A t e R n×n , where if (v i , v j ) e E t , then (A t ) ij = (A t ) ji = ω t (v i , v j ) > 1, otherwise (A t ) ji = (A t ) ji = 0. Then the neighbor list of node v i at time step t can be represented as (A t ) i e R n , i.e., the adjacency matrix A tThe i-th row. To protect the privacy of the graph snapshot, publish G. t A synthetic version, called Specifically, for the original weighted graph snapshot G at time step t t (like Figure 2 As shown), a representative synthetic weighted graph is generated. Make its edges and weights satisfy DP, and at the same time with G t They share similar graph properties.

[0028] Step 2, Node Adaptive Sampling:

[0029] 1. Calculate the node sampling probability: At time step t, consider the graph snapshot G. t The node information in the file. For nodes with a neighbor list (A) t ) i Each node v i ∈V, first define the change error as

[0030]

[0031] in It is node v at the previous time step t-1. i The list of noisy neighbors. For the first time step, directly use ||(A1). i ||2 represents the variation error.

[0032] To more effectively generate a snapshot of the current time step, nodes with larger variation errors should be sampled with higher probability. Therefore, for each node v i The sampling probability at time step t can be defined as follows:

[0033]

[0034] The exponential function guarantees The range is from 0 to 1. Since the variation error uses the current original neighbor list, directly performing node sampling based on the above formula would lead to privacy leaks.

[0035] 2. Sampling probability of disturbed nodes: To satisfy the privacy and adaptive sampling requirements, the sampling probability of noise nodes is... The settings are as follows:

[0036]

[0037] Where ε1 is the privacy budget allocated to this stage. With sampling probability Proportional. Thus, given a snapshot G... t Given a list of neighbors for n nodes and a privacy budget ε1, with probability... Sample each node with probability No sampling. Finally, return G t all sampled nodes in G and represent the weighted topology between them as a symmetric sub-adjacency matrix.

[0038] Step three, dynamic weight value optimization:

[0039] Given the sampled nodes from the previous phase, consider the edge weight values between these sampled nodes. To make the weights satisfy DP, the standard technique is to add noise proportional to the maximum weight, which leads to excessive perturbation of the weights. Therefore, use the Noisy Max mechanism to find the threshold of the weights τ t , which reduces the DP noise (by reducing the sensitivity of the weight values).

[0040] 1. Basic Noisy Max mechanism query: At time step t, these sampled nodes, the edges between them, and the weights on the edges can form a subgraph with a symmetric sub-adjacency matrix Then, by extracting all m t edge weights in build a sequence Based on the sequence Ω t and the privacy budget ε2, use the NM mechanism to estimate the threshold of the current time step weight τ t . For each value in the sequence Ω t and its estimated value first define a basic NM query. Consider the expected squared error of estimating

[0041]

[0042] where the bias variance Since there are m t values in the sequence Ω t to be estimated, the total expected squared error of estimating the edge weights in is

[0043]

[0044] where B t is the maximum possible value of the edge weight. In fact, a smaller bias will lead to a larger variance, and vice versa. Therefore, there will be an optimal τ t to minimize the above formula. However, since m t reflects The original number of edges in the data will lead to edge privacy leaks between sampled nodes. Furthermore, the query is highly sensitive: changing the value from 0 to B... t This will cause the above formula to increase by (B) t -τ t ) 2 This reduces the efficiency of NM.

[0045] 2. Final Noise Maximization Mechanism Query: To solve the above problem, first consider the number of noise edges involving the current sampling node in the first three time steps, and use their average value. Approximate m t This is done to protect edge privacy between currently sampled nodes. Then, sensitivity is effectively reduced using an approximate mean square error. Specifically, let... For sequence Ω t m t Among the values, those less than τ t The number of, i.e.

[0046]

[0047] The approximation method is as follows. First, replace the variance and squared deviation with their square roots (standard deviation and deviation). Second, use... approximate Where c is a constant. Third, multiply the standard deviation and bias by -1 / c. This is because adding an edge or increasing the weights will cause... The maximum increase is 1. Therefore, according to the above method, we can guarantee that the query sensitivity is Δq = 1, and the target has the highest query result. Finally, the final NM query can be defined as...

[0048]

[0049] The first term depends on τ. t However, independent of privacy data, the sensitivity of the second item is 1. Then, using [B] t ]={1,2,…,B t All integers in} are used as queries Possible τ t The set. In other words, through [B t Change τ within the range of ] t Run NM. This yields the threshold τ at the current time step t. t and will Medium greater than τ t Replace the edge weights with τ t The noise in the weights is now only related to τ. t It is directly proportional to the efficiency, thus increasing the effectiveness.

[0050] Step 4: Prediction-based community detection:

[0051] The Louvain community detection algorithm is employed to obtain appropriate node partitions. Intuitively, this approach balances noise perturbation and information loss by adding noise to communities rather than individual nodes. Prior to this, data from a previously published synthetic graph is used to predict the information of currently sampled nodes. Community partitioning is then performed based on these predictions, thus reducing privacy costs. At each time step t, community detection only considers… Node information in G (i.e., G) t (Sampling nodes in the data).

[0052] 1. Sampling node information prediction: For each node set up Let be the list of its child neighbors at time step t, representing the node. and Weighted connections to other nodes in the network. Let (k) L ,k L-1 (k1, ..., k1) are nodes The first L sampling time steps. In these time steps, The corresponding list of child neighbors is First, predict each node at the current time step t. The list of child neighbors is

[0053]

[0054] This reflects the involvement of nodes. The predicted edge weights.

[0055] 2. Community Detection: Using the Louvain method, based on the predicted sub-adjacency matrix... (i.e., the predicted subgraph) ),Will Nodes in the cluster are aggregated into communities. The Louvain method is a greedy optimization approach that attempts to maximize modularity:

[0056]

[0057] Where ∑in represents the sum of edge weights within community C, ∑tot represents the sum of edge weights connecting to nodes in community C, and x is... The sum of all edge weights in the interval. The quality of the community partitioning is evaluated modularly. This results in the final community partitioning at time step t.

[0058] Step 5: Generate a weighted graph snapshot at the current time step:

[0059] In the community partition where sampling nodes are obtained Then, considering information within and between communities respectively, a composite subgraph is generated at time step t, denoted as... Since edges are denser or have larger weights in one community, both types of information can be perturbed and reconstructed differently. First, the edges in the subgraph are recovered, and then the weights on the edges are recovered.

[0060] 1. Reconstruct edges in the subgraph: For each node record its degree in its own community and extract the degree sequence within the community For edges between community pairs, record the sum of these edges, which can form an edge vector r t Note that and r t are both information in the original subgraph Then, Laplacian noise is injected into and r t to provide DP protection. Since the presence or absence of an edge at most affects the degrees of two nodes, or at most changes the sum of edges between community pairs to 1, and r t are sensitive to Δf d = 2 and Δf r = 1, respectively. In addition, because and r t are disjoint subsets, they can share the same privacy budget. Therefore, for a given privacy budget ε3, the noisy degree sequence and the noisy edge vector are and Since and may have negative values, a post-processing optimization method is used to avoid it. Specifically, given the noisy degree sequence The goal of the post-processing method is to find a feasible solution that minimizes the squared L2 distance to while satisfying the constraint K:

[0061]

[0062]

[0063] where c t is the sum of all elements in at time step t. Then, a projected gradient descent algorithm is used to solve the above optimization problem. Similarly, the edge vector is post-processed using this post-processing optimization method. After consistent post-processing, the calibrated degree sequence and the calibrated edge vector

[0064] Based on and the connection probability of nodes in the same community C can be obtained as:

[0065]

[0066] Community C a and C b The connection probability between nodes in C

[0067]

[0068] where and are the number of nodes in C a and C b respectively, and is the sum of perturbed edges between C a and C b . Thus, all edges in the synthetic subgraph are obtained.

[0069] 2. Reconstruct the weight values on edges: The edge weight values within and between communities at different granularities are perturbed to reduce the perturbation error introduced in the edges with small weight values. Specifically, let be the set of generated edges in the synthetic subgraph at time step t. For each edge is its weight in the original subgraph . Note that if there is no edge in the corresponding weight value is set to 0. At each time step t, the generated edge weight values in are composed of two parts: the intra-community edge weight generation and the inter-community edge weight generation. Since all the weight values in t are truncated by the threshold τ ω , the sensitivity of the weight values is Δf t = τ a . Given a privacy budget ε4, the edge weight values within a community C (i.e., fine-grained perturbation) are perturbed individually:

[0070]

[0071] for and Then, a consistency post-processing is performed to obtain the calibrated edge weight values for each community C. For the edge weight values between different communities, first, the sum of edge weight values between each pair of communities is perturbed (i.e., coarse-grained perturbation):

[0072]

[0073] for Then, the edge weight values between communities C a and Cb The weight of each perturbed edge is computed as The average value of

[0074]

[0075] Similarly, since the edge weights inside and outside the community are disjoint, they can share the privacy budget. After reconstructing the edges and weights between all sampled nodes, the resulting synthetic subgraph

[0076] 3. Reconstruct the entire graph: For the remaining edges and weights on the edges related to non-sampled nodes, their values are approximated by the corresponding values in the last published synthetic graph. The final synthetic weighted graph at time step t is thus obtained

Claims

1. A method for publishing differential privacy-weighted graphs under continuous monitoring, characterized in that, Based on the original weighted graph snapshot at each time step, the synthetic weighted graph is published under differential privacy, comprising at least the following steps. Step 1: Establish the current time step Weighted graph snapshot at the location ,in It is a set of nodes. It is an edge set. It is a set of edge weights; Step 2, Node Adaptive Sampling: Define the change error as ,in It is a time step node The list of neighbors, It is the previous time step node Noisy neighbor list; weighted graph snapshot Nodes with larger variation errors are sampled with higher probability to obtain... All sampling nodes; Step 3: Optimize dynamic weight values: For the edge weights between sampling nodes, the noise maximization mechanism is used to estimate the threshold of the weights. ; Step 4: Prediction-based community detection: Use data from the synthetic weighted graph published at the previous time step to predict the current time step. The information between the sampling nodes is used, and then community detection is performed on the sampling nodes based on this prediction information to obtain community partitions. ; Step 5: Generate a weighted graph snapshot at the current time step: In obtaining community zone Then, a weight-based threshold. First, Laplace noise is added to the edge weights within a community, followed by a consistency post-processing step to obtain the calibrated edge weights for each community. For edge weights between different communities, Laplace noise is first added to the sum of the edge weights between each community, and then the weight of each perturbed edge between communities is calculated as the average of this noise sum. Thus, at time step... The edge weights between the sampled nodes are reconstructed; the edges and edge weights between non-sampled nodes are approximated using the corresponding values ​​in the previously published composite weighted graph to obtain the composite weighted graph. .

2. The differential privacy-weighted graph publishing method under continuous monitoring according to claim 1, characterized in that, Node adaptive sampling includes at least the following steps: Step 1: Calculate the node sampling probability: time step Consider weighted graph snapshots. The node information in the table, for nodes with a neighbor list Each node First, the variation error is defined as... ; For the first time step, directly use As a measure of variation error; to more effectively generate a snapshot of the current time step, nodes with larger variation errors should be sampled with higher probability, therefore each node At time step The sampling probability at point is defined as The exponential function guarantees The range is from 0 to 1; Step 2, sampling probability of perturbed nodes: To satisfy the requirements of privacy and adaptive sampling, the noise sampling probability is... The settings are as follows: , in This is the privacy budget allocated to this phase. With sampling probability Proportional; given a weighted graph snapshot middle Neighbor list and privacy budget for each node With probability Sample each node with probability. No sampling, return last. All sampling nodes are represented in the matrix, and the weighted topology between them is represented as a symmetric sub-adjacency matrix.

3. The differential privacy-weighted graph publishing method under continuous monitoring according to claim 1, characterized in that, Prediction-based community detection includes at least the following steps: Step 1: Prediction of sampling node information: At time step place, The sampled nodes, the edges between them, and the weights of the edges form a symmetric subadjacency matrix. subgraph For each node ,set up For it in time step The list of child neighbors of a node represents the node's child neighbors. and Weighted connections of other nodes in the middle; let For nodes The former Each sampling time step, in which... The corresponding list of child neighbors is Predicting the current time step At each node The list of child neighbors is This reflects the involvement of nodes. The predicted edge weights; Step Two: Community Testing Using the Louvain method, based on the predicted sub-adjacency matrix ,Will Nodes in the cluster are aggregated into communities; the Louvain method is a greedy optimization method that attempts to maximize modularity. , in Indicates community The sum of the edge weights within, Indicates to the community The sum of the edge weights connecting the middle nodes. yes The sum of all edge weights in the interval, thus at time step The final community zoning is formed at this location. .

4. The differential privacy-weighted graph publishing method under continuous monitoring according to claim 1, characterized in that, The weights on the edges are reconstructed by perturbing the edge weights within and between communities at different granularities to reduce the perturbation error introduced in edges with smaller weights; let... For time step Combination subgraph The generated edge set in the middle, for each edge, , It is in the original subgraph The weights in, if in There is no border in the middle Then the corresponding weight ; at each time step place, The generated edge weights consist of two parts: edge weight generation within communities and edge weight generation between communities; because All values ​​in the data are thresholded. The weights are truncated, so the sensitivity of the weights is... Given a privacy budget Disturbing the community alone Inner edge weights: , for and Then, after consistency post-processing, the community consensus is obtained. Each calibrated edge weight For the edge weights between different communities, first perturb the sum of the edge weights between each community pair: , for Then, the community and The weight of each perturbation edge is calculated as follows: Average value: , in yes and The sum of perturbation edges between them; since the edge weights inside and outside the community are disjoint, they share the privacy budget; after reconstructing the edges and weights between all sampled nodes, a synthetic subgraph is obtained. .

5. The differential privacy-weighted graph publishing method under continuous monitoring according to claim 1, characterized in that, Reconstructing the entire graph, for the remaining edges and their weights associated with the non-sampled nodes, their values ​​approximate the corresponding values ​​in the previously published composite weighted graph, thus at time step... The final composite weighted graph is obtained. .