Differential privacy-based data processing method, device, equipment and medium to be shared
By generating a covariance matrix through singular value decomposition and Gaussian random transformation of the original data matrix, the problem of balancing privacy protection and data availability in differential privacy data publishing is solved, achieving efficient data availability under high privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-15
- Publication Date
- 2026-03-27
AI Technical Summary
Existing differential privacy data publishing methods struggle to balance privacy protection with data availability, especially under high levels of privacy protection where data availability is significantly affected.
By performing singular value decomposition on the original data matrix, perturbing the diagonal matrix based on a preset perturbation value, and performing random transformation using a Gaussian random matrix, a covariance matrix is generated to publish the data. Combining the finite isochronous property of Gaussian random transformation, the usability of the data is improved.
While meeting the requirements of differential privacy, it improves the availability of data and ensures the effectiveness of subsequent algorithms and the reliability of data.
Smart Images

Figure CN114912140B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of privacy information protection, and in particular to a to-be-shared data processing method and device based on differential privacy, an equipment and a computer readable medium. BACKGROUND
[0002] In recent years, with the widespread application of data mining technology, digital information collected by some manufacturers, organizations and governments has formed a large number of data sets, and the speed of such data collection has greatly increased in recent years. Generally, data collectors are responsible for publishing data for further analysis. However, most of the collected data sets contain private or sensitive information. Even if the data collector can apply several simple anonymization techniques, sensitive personal information can still be exposed. Therefore, privacy protection has become an urgent problem to be solved.
[0003] Researchers have proposed various methods to protect personal privacy and defined these methods and their privacy standards as a privacy model. The privacy model is located between a trusted data collector (Curator) and an untrusted public user (User). Differential privacy is such a new and promising privacy model. Differential privacy can ensure that an adversary (adversary) has substantially the same ability to harm any individual in the data set, regardless of any individual's choice to enter or exit the data set. Compared with previous privacy models, the differential privacy model can successfully resist most privacy attacks and provide provable privacy protection.
[0004] When applying differential privacy to data publishing, how to ensure the usability of the published data while meeting differential privacy, that is, how to balance data privacy protection and data usability, is a problem to be explored and solved. SUMMARY
[0005] The embodiments of the present specification provide a to-be-shared data processing method and device based on differential privacy, an equipment and a computer readable medium, to solve the problem that data privacy protection and data usability are difficult to balance when existing differential privacy is applied to data publishing.
[0006] To solve the above technical problems, the embodiments of the present specification are implemented as follows:
[0007] The to-be-shared data processing method based on differential privacy provided by the embodiments of the present specification comprises:
[0008] obtaining an original data matrix; the original data matrix contains to-be-shared data; the to-be-shared data contains private information;
[0009] perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix;
[0010] perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix;
[0011] perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix;
[0012] perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix.
[0013] An apparatus for processing data to be shared based on differential privacy provided by an embodiment of the present specification comprises:
[0014] An original data matrix acquisition module is configured to acquire an original data matrix; the original data matrix contains data to be shared; the data to be shared contains private information;
[0015] A singular value decomposition module is configured to perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix.
[0016] A singular value perturbation module is configured to perturb the diagonal matrix based on a preset perturbation value to obtain a perturbed diagonal matrix.
[0017] A matrix recovery module is configured to obtain a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix.
[0018] A random transformation module is configured to use a preset Gaussian random matrix to perform random transformation on the perturbed data matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0019] An apparatus for processing data to be shared based on differential privacy provided by an embodiment of the present specification comprises:
[0020] at least one processor; and
[0021] a memory in communication with the at least one processor; wherein
[0022] the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to:
[0023] acquire an original data matrix; the original data matrix contains data to be shared; the data to be shared contains private information;
[0024] Singular value decomposition is performed on the original data matrix to obtain a left singular matrix, a diagonal matrix, and a right singular matrix;
[0025] Based on a preset perturbation value, the diagonal matrix is perturbed to obtain a perturbed diagonal matrix;
[0026] Based on the left singular matrix, the perturbed diagonal matrix, and the right singular matrix, the perturbed data matrix is obtained;
[0027] The perturbed data matrix is randomly transformed using a preset Gaussian random matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0028] This specification provides an embodiment of a computer-readable medium storing computer-readable instructions that can be executed by a processor to implement a method for processing shared data based on differential privacy.
[0029] One embodiment of this specification can achieve at least the following beneficial effects: by perturbing the input matrix at the singular value level in the process of sharing data based on differential privacy, and then performing random transformation using a Gaussian random matrix, the characteristics of Gaussian random transformation and the positive definiteness of the covariance matrix itself are utilized, thereby improving the usability of the results while satisfying the differential privacy requirements. Attached Figure Description
[0030] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 This is a schematic diagram illustrating an application scenario of a data sharing method as described in the embodiments of this specification.
[0032] Figure 2 A flowchart illustrating a method for processing shared data based on differential privacy, provided in an embodiment of this specification.
[0033] Figure 3 This is a flowchart illustrating a method for processing shared data based on differential privacy in a practical application scenario provided by an embodiment of this specification.
[0034] Figure 4 The embodiments provided in this specification correspond to Figure 2 A schematic diagram of a data processing device for sharing based on differential privacy;
[0035] Figure 5 A structure diagram of a differential privacy-based data processing device to be shared is provided for an embodiment of the present specification. Figure 2 DETAILED DESCRIPTION
[0036] With the promulgation and implementation of the Personal Information Protection Law of the People's Republic of China, the privacy protection of individual data has attracted great attention from the academic and industrial circles. Differential privacy is an important means of protecting data privacy in traditional databases. Recent research and application have applied this means to the artificial intelligence scene to protect the privacy of individual data after massive data.
[0037] Differential privacy (Differential Privacy) is a data sharing method that can achieve sharing of only some statistical characteristics for describing a database without specifically disclosing information to individuals. The intuitive idea behind differential privacy is that if a record in the database is randomly modified, the statistical characteristics obtained cannot be used to infer the content of a single record; this feature can be used to protect privacy.
[0038] In the process of data sharing, differential privacy can be used to protect the privacy of individual data. Therefore, when the data sharing party publishes data, it needs to perform differential privacy processing on the data to be shared to meet the privacy protection needs of individual data.
[0039] To make the purposes, technical solutions, and advantages of one or more embodiments of the present specification clearer, the technical solutions of one or more embodiments of the present specification will be described clearly and completely below in conjunction with specific embodiments of the present specification and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present specification, rather than all the embodiments. Based on the embodiments in the present specification, all other embodiments obtained by those of ordinary skill in the art without making creative efforts fall within the scope of protection of one or more embodiments of the present specification.
[0040] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other.
[0041] The technical solutions provided by the embodiments of the present specification will be described in detail below in conjunction with the drawings.
[0042] In the prior art, when differential privacy publishing of to-be-shared data is performed, a covariance matrix of the to-be-shared data (an input matrix) is first calculated, and then a Gaussian random matrix of the same size is directly added to the covariance matrix for perturbation, and then publishing. In the Gaussian random matrix, the mean of the elements is S 2 sigma 2 where S is a sensitivity, specifically, a two-norm of the input matrix; and sigma is a noise amplitude calculated based on a privacy protection parameter. When the method is applied, when the strength of privacy protection is greater, that is, when the privacy protection parameter is smaller, the value of sigma is greater, and therefore, the introduction of randomness has a greater impact on the data, which affects the usability of the data and affects the execution of downstream computing tasks by a data user.
[0043] To solve the defects in the prior art, in the embodiments of the present specification, a mechanism of a covariance matrix security method is proposed according to Gaussian random transformation. On the one hand, by introducing appropriate randomness in the covariance matrix, the distribution of the output covariance matrix meets the requirements of differential privacy; on the other hand, due to the limited isometry property (Restricted Isometry Property) of Gaussian random transformation, the usability of subsequent algorithms can be guaranteed. The following is specifically explained.
[0044] Figure 1 A schematic diagram of an application scenario of a data sharing method in the embodiments of the present specification.
[0045] The data sharing scheme of the embodiments of the present specification can be applied to a two-party or multi-party scenario. The two-party scenario can refer to a scenario of one data sharing party and one data user, specifically, one data sharing party publishes its own data to one data user for calculation by means of privacy protection. The multi-party scenario can refer to a scenario of multiple data sharing parties and / or multiple data users, specifically, one or more parties in the multi-party publish their own data by means of privacy protection, and perform calculation on the remaining one or more parties. Although Figure 1 one data sharing party is shown in the Figure 1 data users a and b are shown, but this is not limited, and the data user can also be one or more.
[0046] As Figure 1The data sharing scheme of the embodiments of the present specification can be applied to various data application scenarios for protecting data privacy. Specifically, the data sharer can first perform differential privacy processing on the data to be shared and then publish the data; then, the data user can apply the data published by the data sharer to, for example, a secure recommendation scenario, a secure identification scenario, and the like. The data user can use the data published by differential privacy to perform subsequent algorithms, for example, perform deep matrix decomposition methods in a recommendation scenario, automatic speech recognition (ASR) and speech language understanding (SLU) in a voice scenario, and the like, without being limited to these examples.
[0047] In the embodiments of the present specification, the data sharer and the data user can belong to the same or different institutions. For example, the data sharer can be an institution such as a bank, a third-party payment institution, an application software operating institution, and the like, and the data user can also be an institution such as a bank, a third-party payment institution, an application software operating institution, and the like, without being limited thereto. The data sharing platform can be a platform trusted by the data sharer and the data user, for example, can be a public database platform, a blockchain platform, and the like, without being limited thereto.
[0048] Next, a differential privacy-based data processing method to be shared provided by the embodiments of the present specification will be specifically described in combination with the accompanying drawings.
[0049] Figure 2 A flowchart of a differential privacy-based data processing method to be shared provided by the embodiments of the present specification. From the program perspective, the execution subject of the flow can be a program loaded on an application server or an application terminal.
[0050] In actual application, Figure 2 The execution subject of the method can be a data sharer as shown in Figure 1 In actual application, the steps shown in Figure 2 in the embodiments of the present specification can be performed by a data processing model. Specifically, the data to be shared is input into the data processing model, and the encrypted data to be shared is obtained after being processed by the data processing model, for use in publishing. In the embodiments of the present specification, the input into the data processing model can be an input matrix, and the output from the data processing model can be a covariance matrix obtained by processing. The following will be specifically described.
[0051] As shown in Figure 2 The flow can include the following steps:
[0052] Step 202: obtaining an original data matrix; the original data matrix contains data to be shared; the data to be shared contains private information.
[0053] In actual application, before the data holder shares the data, the data to be shared can be processed with differential privacy to avoid directly publishing the original data, thereby playing a role in protecting private information. The private information can include information that can be directly or indirectly obtained based on the original data to be shared, and is used to reflect the user or data sharing party, which is not desired to be known by others (including the data user).
[0054] In the embodiments of the present specification, the data to be shared can be in the form of a matrix or can be in a non-matrix form. If the data to be shared is in a non-matrix form, the data to be shared can be preprocessed and reshaped into a two-dimensional tensor to obtain an original data matrix.
[0055] In the embodiments of the present specification, the original data matrix, also known as the input matrix, can be denoted as matrix A. The input matrix can be (n*d) dimensional.
[0056] As an example, in a promotion information recommendation scenario, for example, the data to be shared can reflect the historical click operation information of the user on different page information, in which case, optionally, the rows in the original data matrix can represent the item information clicked by the user, the columns can represent the user information, and the elements in the original data matrix can represent whether the corresponding user has clicked the corresponding item.
[0057] Step 204: Singular value decomposition is performed on the original data matrix to obtain a left singular matrix, a diagonal matrix, and a right singular matrix.
[0058] Singular value decomposition (SVD) is an algorithm widely used in the field of machine learning. It can not only be used for feature decomposition in dimensionality reduction algorithms, but also be used in recommendation systems, natural language processing, etc. Through the processing of SVD on the data, a much smaller data set can be used to represent the original data set. This actually removes noise and redundant information, thereby achieving the purpose of optimizing data and optimizing data processing results.
[0059] Optionally, singular value decomposition of the original data matrix can be achieved by the following formula (1):
[0060] A = UDV formula (1).
[0061] Wherein, A can be an original data matrix of (n*d) dimension, U can be a left singular matrix of (n*d) dimension, D can be a diagonal matrix of (d*d) dimension, and V can be a right singular matrix of (d*d) dimension.
[0062] In practice, if the number of rows of the original data matrix is much larger than the number of columns (i.e., n » d), by using the above singular value decomposition scheme, the storage space of each data matrix obtained by decomposition can be saved. As the example given above, in the promotion information recommendation scenario, for example, the number of item information is usually much larger than the number of user information, then by using the above (n*d), (d*d), (d*d) matrix decomposition method, the storage space can be saved.
[0063] In another alternative embodiment, the dimensions of the decomposed matrix UDV can also be (n*n), (n*d) and (d*d) respectively.
[0064] Through singular value decomposition, the diagonal matrix D operates in a low-dimensional "feature space", which provides a good method for compressing and collecting data information.
[0065] In practice, step 204 can be performed using the calculation function for SVD decomposition in the commonly used calculation package; or an algorithm for SVD decomposition can be written, for example, power method, to perform step 204.
[0066] In an alternative embodiment, in order to facilitate calculation, the original data matrix can be standardized before performing step 204 and subsequent steps. Specifically, before the singular value decomposition of the original data matrix to obtain the left singular matrix, the diagonal matrix and the right singular matrix, the original data matrix can also be standardized to obtain a standardized data matrix.
[0067] Optionally, the standardization of the original data matrix can be implemented according to the following formula (2):
[0068] A1 = A - 1 / n * II T A formula (2).
[0069] Wherein, A1 is the standardized data matrix, A is the original data matrix, and I is a diagonal matrix with diagonal elements of 1 (identity matrix). If A is (n*d) dimensional, I can be (n*n) dimensional.
[0070] Therefore, step 204 can specifically include singular value decomposition of the standardized data matrix. After standardization, the characteristics of the matrix become easier to calculate, which is beneficial to improve the efficiency of subsequent data processing.
[0071] Step 206: based on a preset perturbation value, perturbing the diagonal matrix to obtain a perturbed diagonal matrix.
[0072] In the embodiments of the present disclosure, unlike the traditional direct noise adding manner, according to the characteristics of the Gaussian random transformation and the positive definiteness of the covariance matrix itself, perturbation is performed at the singular value level, and then random transformation is performed on the reorganized data matrix after perturbation, thereby meeting the differential privacy requirement and improving the usability of the result according to the restricted isometry property of the Gaussian random transformation.
[0073] Optionally, the perturbation at the singular value level can be implemented by using the following formula (3):
[0074] D' = D + wI formula (3).
[0075] wherein D is a diagonal matrix, w is a perturbation value, I is a diagonal matrix of the same size as D with diagonal elements being 1, and D' is a perturbed diagonal matrix. For example, D is a (d*d)-dimensional diagonal matrix, and I is a (d*d)-dimensional diagonal matrix with diagonal elements being 1.
[0076] In the embodiments of the present disclosure, the preset perturbation value can be calculated based on a preset hyperparameter. Specifically, before the diagonal matrix is perturbed based on the preset perturbation value to obtain a perturbed diagonal matrix, the method can further include: obtaining a preset privacy hyperparameter; and then calculating a preset perturbation value based on the preset privacy hyperparameter.
[0077] The preset privacy hyperparameter can include a subspace sparsity degree parameter and a privacy threshold parameter. Specifically, the calculation of the preset perturbation value based on the preset privacy hyperparameter can include: first calculating a subspace dimension based on the subspace sparsity degree parameter; and then calculating the preset perturbation value based on the subspace dimension and the privacy threshold parameter.
[0078] The subspace sparsity degree parameter can include eta(H, η) and nu(N, v), which are used to reflect the subspace sparsity degree, i.e., the sparsity degree of the space in which the data matrix after random transformation exists.
[0079] In actual application, eta(H, η) and nu(N, v) are usually empirical values and can be set as needed, for example, they can be set to 0.1-0.3.
[0080] Optionally, the subspace dimension r can be calculated based on the subspace sparsity degree parameter according to the following formula (4):
[0081] r = 8ln(1 / v) / η / η formula (4).
[0082] The privacy threshold parameter can include epsilon (E, e) and delta (D, d) for reflecting the privacy strength. Specifically, the smaller the epsilon (E, e) and delta (D, d) are, the greater the privacy protection strength is, and vice versa.
[0083] In actual application, the privacy threshold parameter can be obtained according to the preset privacy threshold during training of the data processing model. Specifically, a privacy threshold can be preset during the training process. When the cumulative privacy loss of the training process reaches the privacy threshold, the training is stopped, and when the cumulative privacy loss does not reach the privacy threshold, the training continues. The smaller the privacy threshold is, the more strict the restriction on the training is (the number of training times is small, and the noise volume is large), but the privacy protection is good. The larger the privacy threshold is, the looser the restriction on the training is (the number of training times is large, and the noise volume is small), and the privacy protection is poor. In practice, the process of training the data model can be a machine learning or deep learning process, and the training data can include but is not limited to fields, pictures, texts, voices, and videos.
[0084] Optionally, the perturbation value w can be calculated based on the privacy threshold parameter and the subspace dimension according to the following formula (5):
[0085]
[0086] Step 208: obtaining a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix, and the right singular matrix.
[0087] In the embodiments of the present disclosure, after perturbation at the singular value level, the perturbed data matrix is recovered based on the perturbed diagonal matrix.
[0088] Specifically, the perturbed data matrix can be recovered according to the following formula (6):
[0089] A' = UD'V formula (6).
[0090] Wherein, U is the left singular matrix obtained in step 204, V is the right singular matrix obtained in step 204; D' is the perturbed diagonal matrix obtained in step 206; A' is the perturbed data matrix.
[0091] For example, U is (n*d) dimension, D' is (d*d) dimension, and V is (d*d) dimension, then A' is (n*d) dimension.
[0092] Step 210: using a preset Gaussian random matrix to perform random transformation on the perturbed data matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0093] In the embodiments of the present disclosure, a Gaussian random transform is defined by a Gaussian random matrix, each element of which is independently and identically distributed according to a standard Gaussian distribution.
[0094] Specifically, the covariance matrix that is securely published can be obtained based on the perturbed data matrix by the following formula (7):
[0095] C = 1 / r*(A') T M T MA' formula (7).
[0096] Wherein, A' is the perturbed data matrix, M is the Gaussian random matrix, r is the subspace dimension, and C is the covariance matrix that can be securely published.
[0097] According to the scheme of the embodiments of the present disclosure, the random transform can be realized by fast and efficient matrix multiplication. Specifically, compared with the scheme in the prior art, the complexity of matrix multiplication is reduced from O(mn) to O(n ln(n)), which is more efficient.
[0098] In an optional embodiment, the preset Gaussian random matrix can be randomly generated. Specifically, before the random transform of the perturbed data matrix is performed using the preset Gaussian random matrix to obtain the covariance matrix, the method can further include: randomly generating a Gaussian random matrix; each element in the Gaussian random matrix is subject to an independent and identically distributed Gaussian distribution; the number of rows of the Gaussian random matrix is the subspace dimension, and the number of columns of the Gaussian random matrix is the same as the number of rows of the original data matrix.
[0099] For example, if the subspace dimension is r and the original data matrix is (n*d) dimensional, a Gaussian random matrix of (r*n) dimensions can be randomly generated.
[0100] In practice, the Gaussian random matrix can be generated by using existing tools, and the scheme in the prior art can be used, and the generation process of the Gaussian random matrix will not be described here.
[0101] In a specific application, after the covariance matrix is obtained, the covariance matrix can be securely published to complete data sharing, so that the published data can be used by data users.
[0102] The Gaussian random transform has a restricted isometry property. The restricted isometry property (Restricted Isometry Property) describes that the observation matrix does not map two different K sparse signals to the same set (ensures one-to-one mapping relationship from the original space to the sparse space), and requires that the matrix composed of every M column vectors extracted from the observation matrix is non-singular.
[0103] In the scheme of the embodiments of the present specification, the perturbation is first performed at the level of singular values, and then a random transformation is performed on the reorganized data matrix after the perturbation. According to the characteristics of Gaussian random transformation and the positive definiteness of the covariance matrix itself, the usability of the result can be improved while meeting the requirement of differential privacy.
[0104] It should be understood that in the method described in one or more embodiments of the present specification, the order of some steps can be adjusted according to actual needs, or some steps can be omitted.
[0105] In order to meet the definition requirement of differential privacy protection, it can be proved by the score matrix that the probability distribution of the result output by the random mechanism of the embodiments of the present specification is very close in the case of high probability. The proof process is briefly described below.
[0106] First, the probability distribution function of the random vector obtained by the random mechanism in the case of one element difference corresponding to the score vector of one user can be calculated respectively. According to the fact that the random transformation is independently and identically distributed from the standard Gaussian distribution, the probability distribution of the random vector obtained by the random mechanism can be expressed by the linear combination of several standard Gaussian distributions. Then, according to the upper and lower bounds of rank 1 perturbation in Lindskii theorem, the difference range of the exponential terms of two conditional distribution functions can be reached, and then the upper bound of the difference range of the exponential terms is given, and the upper bound is made to satisfy the preset privacy threshold. By solving the inequality, the perturbation term in the algorithm can be obtained, which makes the algorithm satisfy (ε, δ)-DP.
[0107] Figure 2 The method in the above embodiment provides a differential privacy secure data publishing method based on Gaussian random transformation. Specifically, by utilizing the characteristics of Gaussian random transformation, the covariance matrix to be published is acted on to make the result of secure publishing meet the requirement of differential privacy, and the perturbation is performed at the level of singular values. Compared with the scheme of directly adding noise, the performance of the data is guaranteed, and the usability of the shared data in subsequent algorithms is ensured.
[0108] According to the above description, a flowchart of a differential privacy-based shared data processing method in an actual application scenario is provided by the embodiments of the present specification, as shown in Figure 3 .
[0109] In actual application, before performing differential privacy processing on the data, related hyperparameters (epsilon, delta, eta and nu) need to be set, and an (n*d) dimensional input matrix corresponding to the shared data is provided.
[0110] The specific data processing can be as shown in Figure 3 , including the following steps:
[0111] Step 302: parameter calculation.
[0112] The subspace dimension r and the perturbation value w are calculated by inputted random hyperparameters (epsilon, delta, eta and nu).
[0113] Optionally, r = 8ln(1 / ν) / η / η,
[0114] Step 304: singular value decomposition.
[0115] The inputted data matrix A is normalized, A1 = A-1 / n*II T A, wherein A is an input matrix and I is a diagonal matrix with diagonal elements being 1.
[0116] The normalized data matrix is subjected to singular value decomposition, A1 = UDV, wherein D represents a matrix with singular values as diagonal elements.
[0117] Step 306: singular value perturbation.
[0118] The singular values are perturbed, and then restored into the original matrix, i.e., A' = U(D+wI)V.
[0119] Step 308: random transformation.
[0120] A Gaussian random matrix M of size (r*n) is randomly generated, and each element obeys independent and identically distributed Gaussian distribution.
[0121] Step 310: secure release.
[0122] The covariance matrix C is securely and randomly released, C = 1 / r*(A') T M T MA'.
[0123] Based on the scheme of the embodiments of the present specification, a random transformation-based covariance matrix data secure release method is provided, the data release standard conforms to the definition of differential privacy, and the data usability is improved.
[0124] Based on the same idea, the embodiments of the present specification also provide a device corresponding to the above method.
[0125] Figure 4 The embodiments of the present specification provide a structure schematic diagram of a differential privacy-based to-be-shared data processing device corresponding to Figure 2 the above method.
[0126] As shown in Figure 4 , the device can include:
[0127] The original data matrix acquisition module 402 is configured to acquire an original data matrix; the original data matrix contains data to be shared; the data to be shared contains privacy information;
[0128] The singular value decomposition module 404 is configured to perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix, and a right singular matrix.
[0129] The singular value perturbation module 406 is configured to perturb the diagonal matrix based on a preset perturbation value to obtain a perturbed diagonal matrix.
[0130] The matrix recovery module 408 is configured to obtain a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix, and the right singular matrix.
[0131] The random transformation module 410 is configured to perform random transformation on the perturbed data matrix using a preset Gaussian random matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0132] Optionally, the device can further include a standardization processing module configured to perform standardization processing on the original data matrix to obtain a standardized data matrix.
[0133] Optionally, the device can further include a perturbation value calculation module configured to acquire a preset privacy hyperparameter; and calculate a preset perturbation value based on the preset privacy hyperparameter.
[0134] Optionally, the preset privacy hyperparameter includes a subspace sparsity degree parameter and a privacy threshold parameter. The perturbation value calculation module can be specifically configured to calculate a subspace dimension based on the subspace sparsity degree parameter; and calculate a preset perturbation value based on the privacy threshold parameter and the subspace dimension.
[0135] Optionally, the device can further include a Gaussian random matrix generation module configured to randomly generate a Gaussian random matrix; each element in the Gaussian random matrix is subject to independent and identically distributed Gaussian distribution; the number of rows of the Gaussian random matrix is the subspace dimension, and the number of columns of the Gaussian random matrix is the same as the number of rows of the original data matrix.
[0136] Optionally, the original data matrix acquisition module can be specifically configured to reconstruct data to be shared to obtain an original data matrix.
[0137] It can be understood that each of the above modules refers to a computer program or program segment for executing one or more specific functions. In addition, the division of each of the above modules does not mean that the actual program code must also be separated.
[0138] Based on the same idea, the embodiments of the present specification also provide a device corresponding to the above method.
[0139] Figure 5 The embodiments of the present specification provide a structure diagram of a differential privacy-based data to be shared processing device corresponding to Figure 2 as shown in the figure. As shown in the figure, the device 500 can include: Figure 5
[0140] at least one processor 510; and
[0141] a memory 530 in communication connection with the at least one processor; wherein
[0142] the memory 530 stores instructions 520 executable by the at least one processor 510, and the instructions are executed by the at least one processor 510 to enable the at least one processor 510 to:
[0143] obtain an original data matrix; the original data matrix contains data to be shared; the data to be shared contains privacy information;
[0144] singular value decomposition is performed on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix;
[0145] based on a preset perturbation value, perturbing the diagonal matrix to obtain a perturbed diagonal matrix;
[0146] based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix, a perturbed data matrix is obtained;
[0147] using a preset Gaussian random matrix, the perturbed data matrix is randomly transformed to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0148] Based on the same idea, the embodiments of the present specification also provide a computer readable medium corresponding to the above method. The computer readable medium stores computer readable instructions executable by a processor to implement the following method:
[0149] obtain an original data matrix; the original data matrix contains data to be shared; the data to be shared contains privacy information;
[0150] singular value decomposition is performed on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix;
[0151] based on a preset perturbation value, perturbing the diagonal matrix to obtain a perturbed diagonal matrix;
[0152] obtaining a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix;
[0153] performing random transformation on the perturbed data matrix using a preset Gaussian random matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
[0154] The above describes specific embodiments of the present specification, and in some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multi-task processing and parallel processing are possible or can be advantageous.
[0155] Each of the embodiments in the specification is described in a progressive manner, and the same or similar parts between each of the embodiments can be referred to each other.
[0156] The device, equipment and method provided by the embodiments of the present specification are corresponding, therefore, the device and equipment also have similar beneficial technical effects as the corresponding method, since the beneficial technical effects of the method have been described in detail above, therefore, the beneficial technical effects of the corresponding device and equipment will not be described here.
[0157] In the 1990s, it was quite obvious to distinguish whether an improvement in a technology was in hardware (e.g., improvement in circuit structures of diodes, transistors, switches, etc.) or in software (improvement in method flow). However, as technology has evolved, many improvements in method flow today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A designer programs a digital system "integrated" on a PLD by himself, without having to ask a chip manufacturer to design and manufacture a special integrated circuit chip. Moreover, instead of manually manufacturing integrated circuit chips, this programming is now mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing programs, and the original code before compilation also has to be written in a specific programming language, which is called a hardware description language (HDL), and there are many types of HDL, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also be aware that it is quite easy to obtain hardware circuits that implement the logic method flow by only logically programming the method flow in the above-mentioned hardware description languages and programming it into an integrated circuit.
[0158] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can also be implemented to perform the same functions in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers and embedded microcontrollers, etc. by logically programming the method steps. Therefore, such a controller can be considered as a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can even be considered as both a software module implementing a method and a structure within a hardware component.
[0159] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0160] For the sake of description, the above apparatuses are described in functional division and are described respectively. Of course, the functions of the units can be implemented in the same or multiple software and / or hardware in the implementation of the present application.
[0161] Those skilled in the art will understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
[0162] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.
[0163] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.
[0164] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.
[0165] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0166] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory. The memory is an example of computer-readable media.
[0167] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0168] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusions, so that a process, method, article or apparatus that includes a list of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.
[0169] The present application can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including storage devices.
[0170] The above only describes the embodiments of the present application and is not intended to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the scope of claims of the present application.
Claims
1. A differential privacy-based data processing method to be shared, comprising: obtaining an original data matrix; the original data matrix contains data to be shared; the data to be shared contains privacy information; singular value decomposition is performed on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix; based on a preset perturbation value, the diagonal matrix is perturbed to obtain a perturbed diagonal matrix; based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix, a perturbed data matrix is obtained; a preset Gaussian random matrix is used to randomly transform the perturbed data matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
2. The method of claim 1, before the singular value decomposition of the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix, further comprising: standardizing the original data matrix to obtain a standardized data matrix.
3. The method of claim 1, before the perturbation of the diagonal matrix based on the preset perturbation value to obtain the perturbed diagonal matrix, further comprising: obtaining a preset privacy hyperparameter; according to the preset privacy hyperparameter, a preset perturbation value is calculated.
4. The method of claim 3, the preset privacy hyperparameter includes a subspace sparsity degree parameter and a privacy threshold parameter; the preset perturbation value is calculated according to the preset privacy hyperparameter, specifically including: according to the subspace sparsity degree parameter, the subspace dimension is calculated; according to the subspace dimension and the privacy threshold parameter, the preset perturbation value is calculated.
5. The method of claim 4, before the random transformation of the perturbed data matrix using a preset Gaussian random matrix to obtain a covariance matrix, further comprising: randomly generating a Gaussian random matrix; each element in the Gaussian random matrix follows an independent and identically distributed Gaussian distribution; the number of rows of the Gaussian random matrix is the subspace dimension, and the number of columns of the Gaussian random matrix is the same as the number of rows of the original data matrix.
6. The method of claim 1, the original data matrix is obtained by reconstructing the data to be shared.
7. A differential privacy-based data processing device to be shared, comprising: an original data matrix acquisition module for acquiring an original data matrix; the original data matrix contains data to be shared; the data to be shared contains privacy information; a singular value decomposition module for singular value decomposition of the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix; a singular value perturbation module for perturbing the diagonal matrix based on a preset perturbation value to obtain a perturbed diagonal matrix; a matrix recovery module for obtaining a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix; a random transformation module, configured to perform random transformation on the perturbed data matrix by using a preset Gaussian random matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
8. The apparatus of claim 7, further comprising a standardization processing module, configured to: perform standardization processing on the original data matrix to obtain a standardized data matrix.
9. The apparatus of claim 7, further comprising a perturbation value calculation module, configured to: obtain a preset privacy hyperparameter; calculate a preset perturbation value according to the preset privacy hyperparameter.
10. The apparatus of claim 9, wherein the preset privacy hyperparameter comprises a subspace sparsity degree parameter and a privacy threshold parameter; and the perturbation value calculation module is specifically configured to: calculate a subspace dimension according to the subspace sparsity degree parameter; and calculate a preset perturbation value according to the privacy threshold parameter and the subspace dimension.
11. The apparatus of claim 10, further comprising a Gaussian random matrix generation module, configured to: randomly generate a Gaussian random matrix; each element in the Gaussian random matrix is subject to independent and identically distributed Gaussian distribution; the number of rows of the Gaussian random matrix is the subspace dimension, and the number of columns of the Gaussian random matrix is the same as the number of rows of the original data matrix.
12. The apparatus of claim 7, wherein the original data matrix acquisition module is specifically configured to: reconstruct data to be shared to obtain an original data matrix.
13. A device for processing data to be shared based on differential privacy, comprising: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to: obtain an original data matrix; the original data matrix contains data to be shared; the data to be shared contains private information; perform singular value decomposition on the original data matrix to obtain a left singular matrix, a diagonal matrix and a right singular matrix; perturb the diagonal matrix based on a preset perturbation value to obtain a perturbed diagonal matrix; obtain a perturbed data matrix based on the left singular matrix, the perturbed diagonal matrix and the right singular matrix; perform random transformation on the perturbed data matrix by using a preset Gaussian random matrix to obtain a covariance matrix; the covariance matrix is used to publish the data to be shared.
14. A computer readable medium having computer readable instructions stored thereon, the computer readable instructions being executable by a processor to implement the method for processing data to be shared based on differential privacy according to any one of claims 1 to 6.