Data processing method and related equipment
Patent Information
- Application Number
- CN202280096662.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-20
- Publication Date
- 2025-01-10
AI Technical Summary
In the existing technology, the storage, transmission and calculation overhead of model parameters of machine learning models are large and difficult to effectively reduce, especially in federated learning scenarios, resulting in slow model training speed.
By calculating the Riemannian gradient in the data processing device, the data is updated to maintain its fixed-rank properties, thereby reducing storage, transmission and computational overhead, and utilizing singular value decomposition and stochastic precoding to optimize data transmission.
It effectively reduces the storage, transmission and computing overhead of the model, improves the model training speed, and ensures the convergence and fixed rank attributes of the model in federated learning scenarios.
Smart Images

Figure CN119301982A_ABST
Abstract
Description
Data processing method and related equipment Technical Field
[0001] The present application relates to the field of data processing, and in particular to a data processing method and related equipment. Background Art
[0002] Artificial intelligence (AI) is the theory, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0003] With the development of machine learning technology, machine learning models often have millions or even billions of model parameters, resulting in high storage, transmission, and / or computational overhead. Reducing the transmission and computational overhead of high-dimensional data, such as model parameters, is a hot topic for researchers in this field.
[0004] Summary of the Invention
[0005] The present application provides a data processing method and related equipment, which can effectively ensure the fixed rank property of data, and is conducive to reducing the storage overhead, transmission overhead and / or computing overhead of data.
[0006] In a first aspect, the present application provides a data processing method. The method is applied to a data processing device A in a data processing system (applied to data processing device A, it can be understood that the method is executed by data processing device A, or by a component in data processing device A, such as a chip (system), executing the method). The above-mentioned data processing system includes a first data processing device and multiple second data processing devices, and data processing device A is one of the multiple second data processing devices. Each of the multiple second data processing devices can execute the above-mentioned data processing method, and the specific execution process is the same as that of data processing device A.
[0007] Furthermore, the data processing method includes the following steps: determining a Riemann gradient of the first data based on first data in data processing device A and second data from the first data processing device. The first data and the second data exhibit Riemannian characteristics. Next, updating the first data based on the Riemann gradient.
[0008] Data with Riemannian characteristics can be understood as data on a fixed-rank Riemannian manifold. Specifically, it refers to data that satisfies the following properties: the data is an element of a fixed-rank Riemannian manifold, that is, the rank is X, where X is a positive integer. For example, if the data is in the form of a matrix, the rank of the corresponding matrix is X. When X is relatively small, the data is considered to be data on a low-rank Riemannian manifold.
[0009] In this solution, since the first data and the second data are data with Riemann characteristics, that is, the first data and the second data are data in a Riemann manifold of fixed rank, the gradient of the first data obtained based on the first data and the second data is the gradient on the Riemann manifold, that is, the Riemann gradient. Furthermore, updating the first data based on the Riemann gradient can ensure that the updated first data meets the fixed rank constraint, that is, has a fixed rank attribute, which is beneficial to reducing the storage overhead, transmission overhead and / or computational overhead of the first data. Exemplarily, when the data processing method of this solution is applied to a federated learning scenario, the first data can be understood as a local model and the second data as a global model. Using this solution can ensure the fixed rank attributes of the local model and the global model, ensure model convergence, and reduce the storage overhead, transmission overhead and / or computational overhead of the model, thereby helping to improve the model training speed.
[0010] In conjunction with the first aspect, in one embodiment, determining the Riemann gradient of the first data based on the first data in the data processing device A and the second data from the first data processing device specifically includes:
[0011] In the tth processing, according to the first data G in the data processing device A t and the second data W from the first data processing device t The first difference between the first data G t The first intermediate state calculates the first data G t The Riemann gradient Q t Among them, the first intermediate state is the first data G in the t-1th processing t-1 and the Riemann gradient Q t-1 The second difference between .
[0012] In this solution, the first data G is used t With the second data W t The first difference between the first data G t The first intermediate state is used to calculate the first data G t The Riemann gradient Q t , where the first intermediate state refers to the first data G in the tth processing t The corresponding intermediate state.
[0013] In conjunction with the first aspect, in one embodiment, updating the first data based on the Riemann gradient specifically includes:
[0014] Based on Riemann gradient Q t Update the first data G t , to obtain the first data G t+1 Among them, the first data G t+1 and the second data W t The distance between them is less than the first data G t and the second data W from the first data processing device in the t-1th processing t-1 The distance between; or, the first data G t+1 and the second data W from the first data processing device in the t+1th processing t+1 The distance between them is less than the first data G t and the second data W t The distance between them.
[0015] In this solution, the first data is updated based on the Riemann gradient so that the updated first data, i.e., the first data G t+1 Closer to the second data. Specifically, it can be the first data G t+1 and the second data W t The distance between them is less than the first data G t and the second data W t-1 The distance between; or, the first data G t+1 and the second data W t+1 The distance between them is less than the first data G t and the second data W t The distance between them.
[0016] For example, when the method of this solution is applied to a federated learning scenario, the local model can be understood as the first data and the global model as the second data. Then, using the method of this solution can not only ensure the fixed rank properties of the local model and the global model, ensure model convergence, and reduce the computational overhead of the model, but also make the local model close to the global model, thereby improving the model training speed.
[0017] In combination with the first aspect, in one embodiment, the above-mentioned Riemann gradient Q t Update the first data G t , to obtain the first data G t+1 , specifically including:
[0018] For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix. The second intermediate state is the first data G t and the Riemann gradient Q tThen, the first data G is obtained according to the second left singular matrix, the second diagonal matrix and the second right singular matrix. t+1 .
[0019] In this solution, the first data G t+1 The second intermediate state of the first data G is decomposed to realize the singular value decomposition of the first data G t Update, that is, get the first data G t+1 The singular value decomposition is a truncated singular value decomposition with a rank of X, where X is a positive integer. By performing the truncated singular value decomposition with a rank of X, it is ensured that the ranks of the first data before and after the update are the same, that is, the rank remains unchanged.
[0020] In combination with the first aspect, in one embodiment, the first data G is calculated according to the first difference, the first left singular matrix of the first intermediate state and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
[0021] In this scheme, the first intermediate state is first subjected to truncated singular value decomposition of rank X to obtain the first left singular matrix and the first right singular matrix of the first intermediate state, and then the first data G is obtained according to the first difference, the first left singular matrix and the first right singular matrix. t The Riemann gradient Q t .
[0022] In combination with the first aspect, in one embodiment, the first data G is calculated according to the standard gradient, the first difference, and the first intermediate state. t The Riemann gradient Q t , the standard gradient is the first data G t The derivative of the objective loss function corresponding to the task.
[0023] In this solution, the standard gradient can be calculated first, and then the first data G can be calculated based on the standard gradient, the first difference, and the first intermediate state. t The Riemann gradient Q t .
[0024] In combination with the first aspect, in one embodiment, the first data G is calculated according to the standard gradient, the first difference, the first left singular matrix of the first intermediate state and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
[0025] In this solution, the standard gradient, the first left singular matrix and the first right singular matrix can be calculated first, and then the first data G can be calculated based on the standard gradient, the first difference, the first left singular matrix and the first right singular matrix. t The Riemann gradient Q t .
[0026] In combination with the first aspect, in one embodiment, the data processing method further includes: sending third data to the first data processing device, the third data being based on the first data G t+1 Got it.
[0027] In this solution, the data processing device A obtains the first data G t+1 Then, the third data is sent to the first data processing device so that the first data processing device obtains the second data W according to the third data of the plurality of second data processing devices. t+1 For example, the first data processing device may process the second data W t+1 Send to multiple second data processing devices, so that the multiple second data processing devices respectively process the first data G t+1 and the second data W t+1 Perform the t+1th processing to obtain the next updated first data, that is, the first data G t+2 .
[0028] In combination with the first aspect, in one embodiment, the third data is any one of the following: the first data G t+1 itself, the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of the first random precoded data, the first random precoded data of the first singular matrix, the second random precoded data of the second singular matrix, the third random precoded data and the fourth random precoded data.
[0029] The third random precoding data is the product of the first random precoding data and a preset power parameter, and the fourth random precoding data is the product of the second random precoding data and a preset power parameter; the preset power parameter is determined by a preset power control strategy.
[0030] Specifically, for the third data being the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of the case is different from sending the first data G directly t+1 itself, respectively sends the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of can reduce the transmission overhead of the data processing device A. For example, the first data G t+1 If it is an M×N weight matrix with a rank of X, the transmission overhead of the data processing device A can be reduced from O(M×N) to O(X×(M+N)), where O() represents the time complexity.
[0031] In this solution, the data processing device A obtains the first data G t+1 Afterwards, the first data G can be transmitted by any of the above methods.t+1 data information, that is, delivering the third data to the first data processing device, so that the first data processing device can obtain new second data based on the third data of the plurality of second data processing devices.
[0032] In combination with the first aspect, in one embodiment, the third data is a first singular matrix and a second singular matrix; accordingly, the data processing method further includes:
[0033] For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix of the second intermediate state. The second intermediate state is the first data G t and the Riemann gradient Q t The first singular matrix is obtained according to the second left singular matrix and the second diagonal matrix, and the second singular matrix is obtained according to the second right singular matrix and the second diagonal matrix.
[0034] In this scheme, a truncated singular value decomposition of rank X is performed on the second intermediate state to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix of the second intermediate state. Then, the first singular matrix is obtained based on the second left singular matrix and the second diagonal matrix, and the second singular matrix is obtained based on the second left and right singular matrices and the second diagonal matrix.
[0035] In combination with the first aspect, in one embodiment, the third data is the first random precoded data and the second random precoded data; accordingly, the data processing method further includes:
[0036] The first singular matrix and the second singular matrix are randomly precoded respectively to obtain first randomly precoded data and second randomly precoded data.
[0037] In this solution, by performing random precoding on the first singular matrix and the second singular matrix respectively, first random precoding data corresponding to the first singular matrix and second random precoding data corresponding to the second singular matrix can be obtained.
[0038] In conjunction with the first aspect, in one embodiment, the third data is the first random precoded data and the second random precoded data. Accordingly, sending the third data to the first data processing device includes:
[0039] sending first random precoded data to the first data processing device via the same first wireless resource as the other second data processing devices, and sending second random precoded data to the first data processing device via the same second wireless resource as the other second data processing devices;
[0040] or,
[0041] The third data is the third random precoded data and the fourth random precoded data. Accordingly, sending the third data to the first data processing device includes:
[0042] The third random precoded data is sent to the first data processing device via the same first wireless resource as other second data processing devices, and the fourth random precoded data is sent to the first data processing device via the same second wireless resource as other second data processing devices.
[0043] In this solution, when the third data is the first random precoded data and the second random precoded data, or the third data is the third random precoded data and the fourth random precoded data, the data processing device A can send the third data to the first data processing device by air aggregation. The air aggregation method means that the data processing device A sends the third data through the same wireless resources as other second data processing devices. In other words, the data processing method of this solution innovatively proposes to first precode the data randomly, and then use the air aggregation method to send the random precoded data, so as to achieve compatibility between the data processing method and air aggregation. For example, when the data processing method of this solution is applied to a federated learning scenario, the use of this solution can not only ensure the fixed rank property of the model, which is conducive to reducing the storage overhead, transmission overhead and / or computing overhead of the model data, but also make full use of wireless resources.
[0044] In combination with the first aspect, in one embodiment, the above-mentioned first data includes at least one of the following: parameter data of the neural network model, a characteristic matrix of the channel matrix in a multi-input multi-output transmission scenario, and a principal component data matrix of the image.
[0045] In a second aspect, the present application also provides a data processing method. The method is applied to a first data processing device in a data processing system (applied to the first data processing device can be understood as the method being executed by the first data processing device, or by a component in the first data processing device, such as a chip (system), executing the method). The above-mentioned data processing system also includes multiple second data processing devices.
[0046] The data processing method includes the following steps:
[0047] In this solution, the first data processing device obtains the second data based on the third data of multiple second data processing devices, and then sends the second data to the multiple second data processing devices, so that the multiple second data processing devices update their respective first data based on the second data, ensuring that the updated first data has a fixed rank attribute, which is conducive to reducing the storage overhead, transmission overhead and / or computing overhead of the first data.
[0048] In conjunction with the second aspect, in one embodiment, the data processing method further includes:
[0049] Third data is received from a plurality of second data processing devices, wherein the third data is obtained based on first data in the second data processing devices, and the first data is data having Riemann characteristics.
[0050] In this solution, a first data processing device receives third data from a plurality of second data processing devices to obtain a plurality of third data, wherein the third data is obtained based on the first data from the second data processing devices.
[0051] In combination with the second aspect, in one embodiment, the above-mentioned third data is any one of the following: the first data itself, the first singular matrix of the first data and the second singular matrix of the first data, the first random precoded data of the first singular matrix and the second random precoded data of the second singular matrix, the third random precoded data and the fourth random precoded data.
[0052] Among them, the first random precoding data and the second random precoding data are obtained by randomly precoding the first singular matrix and the second singular matrix respectively; the third random precoding data is the product of the first random precoding data and the preset power parameter, and the fourth random precoding data is the product of the second random precoding data and the preset power parameter; the preset power parameter is determined by the preset power control strategy.
[0053] In conjunction with the second aspect, in one embodiment, the third data is the first data itself. Accordingly, obtaining the second data based on the third data from the plurality of second data processing devices specifically includes:
[0054] The average value is projected onto a fixed-rank manifold to obtain second data, where the average value is the average value of multiple first data.
[0055] In this solution, the second data is obtained by projecting the above average value onto a fixed-rank (rank is X) manifold, thereby obtaining the second data based on the third data of multiple second data processing devices.
[0056] In conjunction with the second aspect, in one embodiment, projecting the average value onto a fixed-rank manifold to obtain the second data specifically includes:
[0057] Performing singular value decomposition on the average value to obtain a third left singular matrix, a third diagonal matrix, and a third right singular matrix. Obtaining second data based on the third left singular matrix, the third diagonal matrix, and the third right singular matrix.
[0058] This solution provides a specific implementation method for projecting the average value onto a fixed-rank manifold to obtain the second data, that is, performing a truncated singular value decomposition of the average value with rank X, and then obtaining the second data based on the third left singular matrix, third diagonal matrix and third right singular matrix obtained by the decomposition.
[0059] In conjunction with the second aspect, in one embodiment, the third data is a first singular matrix and a second singular matrix. Accordingly, obtaining the second data based on the third data from the plurality of second data processing devices specifically includes:
[0060] The first product is projected onto a fixed-rank manifold to obtain second data, wherein the first product is a product of a first matrix and a second matrix, the first matrix being obtained based on first singular matrices of the plurality of second data processing devices, and the second matrix being obtained based on second singular matrices of the plurality of second data processing devices.
[0061] In this solution, the second data is obtained by projecting the first product onto a fixed-rank (rank is X) manifold, thereby obtaining the second data based on the third data of multiple second data processing devices.
[0062] In conjunction with the second aspect, in one embodiment, projecting the first product onto a fixed-rank manifold to obtain the second data specifically includes:
[0063] Performing singular value decomposition on the first product to obtain a fourth left singular matrix, a fourth diagonal matrix, and a fourth right singular matrix. Obtaining second data based on the fourth left singular matrix, the fourth diagonal matrix, and the fourth right singular matrix.
[0064] This solution provides a specific implementation method for projecting the first product onto a fixed-rank manifold to obtain the second data, that is, performing a truncated singular value decomposition of rank X on the first product, and then obtaining the second data based on the fourth left singular matrix, fourth diagonal matrix and fourth right singular matrix obtained by the decomposition.
[0065] In conjunction with the second aspect, in one embodiment, obtaining the second data based on the third data from the plurality of second data processing devices specifically includes:
[0066] A third aggregate signal and a fourth aggregate signal are obtained based on the first aggregate signal and the second aggregate signal, so that an expectation of the second product is equal to an expectation of the third product. Second data is obtained according to the third aggregate signal and the fourth aggregate signal.
[0067] The second product is the product of the third aggregate signal and the fourth aggregate signal, and the third product is the product of the sum of the first random precoded data of the plurality of second data processing devices and the sum of the second random precoded data of the plurality of second data processing devices.
[0068] The third data is the first random precoded data and the second random precoded data, the first aggregate signal carries the first random precoded data of multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the second random precoded data of multiple second data processing devices on the second wireless resource; or, the third data is the third random precoded data and the fourth random precoded data, the first aggregate signal carries the third random precoded data of multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the fourth random precoded data of multiple second data processing devices on the second wireless resource.
[0069] In this solution, when the second data processing device transmits third data using over-the-air aggregation, the first data processing device receives two aggregate signals, a first aggregate signal and a second aggregate signal. A third aggregate signal and a fourth aggregate signal are first derived from the first and second aggregate signals. The third and fourth aggregate signals can be understood as estimates of the sum of the first random precoded data from multiple second data processing devices and the sum of the second random precoded data from multiple second data processing devices, respectively. The second data can be derived from the estimated third and fourth aggregate signals.
[0070] In conjunction with the second aspect, in one embodiment, obtaining second data according to the third aggregate signal and the fourth aggregate signal includes:
[0071] A fifth aggregate signal is projected onto the fixed-rank manifold to obtain second data, where the fifth aggregate signal is obtained according to the third aggregate signal and the fourth aggregate signal.
[0072] In conjunction with the second aspect, in one embodiment, obtaining second data according to the third aggregate signal and the fourth aggregate signal includes:
[0073] Performing singular value decomposition on the fifth aggregate signal to obtain a fifth left singular matrix, a fifth diagonal matrix, and a fifth right singular matrix. Obtaining second data according to the fifth left singular matrix, the fifth diagonal matrix, and the fifth right singular matrix.
[0074] In combination with the second aspect, in one embodiment, the above-mentioned first data includes at least one of the following: parameter data of the neural network model, the characteristic matrix of the channel matrix in the multi-input multi-output transmission scenario, and the principal component data matrix of the image.
[0075] In a third aspect, the present application also provides a data processing method. The method is applied to a data processing device A in a data processing system (applied to data processing device A, it can be understood that the method is executed by data processing device A, or by a component in data processing device A, such as a chip (system), executing the method). The above-mentioned data processing system includes a first data processing device and multiple second data processing devices, and data processing device A is one of the multiple second data processing devices.
[0076] The data processing method includes the following steps:
[0077] Random precoding is performed on first data of data processing device A and second data of data processing device A to obtain first randomly precoded data of the first data and second randomly precoded data of the second data. The first randomly precoded data is sent to the first data processing device via the same first wireless resource as other second data processing devices, and the second randomly precoded data is sent to the first data processing device via the same second wireless resource as other second data processing devices.
[0078] In this solution, data processing device A randomly precodes the first data and the second data to obtain first random precoded data and second random precoded data, and then sends the first random precoded data and the second random precoded data to the first data processing device based on over-the-air aggregation, so that the expectation of the product of the first aggregate signal carrying the first random precoded data of multiple second data processing devices and the second aggregate signal carrying the second random precoded data of multiple second data processing devices received by the first data processing device is the same as the expectation of the sum of the products of the multiple second data processing devices, and the product of the above-mentioned second data processing device is the product of the first data and the second data of the second data processing device, thereby achieving unbiased data estimation.
[0079] In conjunction with the third aspect, in one embodiment, the data processing method further includes:
[0080] Singular value decomposition is performed on the third data from data processing device A to obtain a first left singular matrix, a first diagonal matrix, and a first right singular matrix of the third data. First data is obtained based on the first left singular matrix and the first diagonal matrix, and second data is obtained based on the first right singular matrix and the first diagonal matrix.
[0081] In a fourth aspect, the present application also provides a data processing method. The method is applied to a first data processing device in a data processing system (applied to the first data processing device can be understood as the method being executed by the first data processing device, or by a component in the first data processing device, such as a chip (system), executing the method). The above-mentioned data processing system also includes multiple second data processing devices.
[0082] The data processing method includes the following steps:
[0083] A first aggregate signal and a second aggregate signal are received, where the first aggregate signal carries first randomly precoded data for multiple second data processing devices on a first radio resource, and the second aggregate signal carries second randomly precoded data for multiple second data processing devices on a second radio resource. Fourth data is obtained based on the first aggregate signal and the second aggregate signal, where the fourth data is related to the first data of the multiple second data processing devices and the second data of the multiple second data processing devices.
[0084] In this solution, since the expectation of the product of the first aggregate signal and the second aggregate signal is the same as the expectation of the sum of the products of multiple second data processing devices, the product of the above-mentioned second data processing device is the product between the first data and the second data of the second data processing device. Therefore, according to the first aggregate signal and the second aggregate signal, fourth data related to multiple first data and multiple second data can be obtained.
[0085] In conjunction with the fourth aspect, in one embodiment, obtaining the fourth data according to the first aggregate signal and the second aggregate signal specifically includes:
[0086] A third aggregate signal and a fourth aggregate signal are obtained based on the first aggregate signal and the second aggregate signal, such that the expectation of the first product is equal to the expectation of the second product. Fourth data is then obtained based on the third aggregate signal and the fourth aggregate signal. The first product is the product of the third aggregate signal and the fourth aggregate signal, and the second product is the product of the first random precoded data carried by the first aggregate signal and the second random precoded data carried by the second aggregate signal.
[0087] In this solution, a third aggregate signal and a fourth aggregate signal are first obtained based on the first and second aggregate signals. The third and fourth aggregate signals can be understood as an estimated signal of the sum of first random precoded data from multiple second data processing devices corresponding to the first aggregate signal and an estimated signal of the sum of second random precoded data from multiple second data processing devices corresponding to the second aggregate signal, respectively. Fourth data can be obtained using the estimated third and fourth aggregate signals.
[0088] In conjunction with the fourth aspect, in one embodiment, obtaining the fourth data according to the third aggregate signal and the fourth aggregate signal specifically includes:
[0089] Performing singular value decomposition on the fifth aggregate signal to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix. The fifth aggregate signal is obtained based on the third aggregate signal and the fourth aggregate signal. Fourth data is obtained based on the second left singular matrix, the second diagonal matrix, and the second right singular matrix.
[0090] In this solution, a specific method for obtaining fourth data based on the third aggregate signal and the fourth aggregate signal is provided. Specifically, singular value decomposition is performed on the fifth aggregate signal to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix. Then, the fourth data can be obtained based on the second left singular matrix, the second diagonal matrix, and the second right singular matrix.
[0091] In combination with the fourth aspect, in one embodiment, the fourth data is data having Riemann characteristics.
[0092] In a fifth aspect, the present application provides a data processing device comprising a module for executing the method described in the first aspect.
[0093] In a sixth aspect, the present application provides a data processing device including a module for executing the method described in the second aspect.
[0094] In a seventh aspect, the present application provides a data processing device comprising a module for executing the method described in the third aspect.
[0095] In an eighth aspect, the present application provides a data processing device comprising a module for executing the method described in the fourth aspect.
[0096] In a ninth aspect, the present application provides a data processing device, comprising one or more processors. The one or more processors execute computer programs stored in one or more memories, so that the data processing device implements the method described in any of the first, second, third, and fourth aspects.
[0097] In combination with the ninth aspect, in one embodiment, the data processing device also includes the above-mentioned one or more memories.
[0098] In combination with the ninth aspect, in one embodiment, the data processing device is a chip or a chip system.
[0099] In a tenth aspect, the present application provides a computer-readable storage medium comprising instructions, which, when executed on a processor, implement the method as described in any of the first, second, third, and fourth aspects.
[0100] In an eleventh aspect, the present application provides a computer program product, which includes a computer program. When the computer program is executed, it implements the method described in any of the first, second, third and fourth aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0101] FIG1 is a schematic diagram of the structure of a data processing system provided in an embodiment of the present application;
[0102] FIG2 is a flow chart of a data processing method provided by an embodiment of the present application;
[0103] FIG3 is a schematic diagram of an interactive flow of a data processing method provided in an embodiment of the present application;
[0104] FIG4 is a flow chart of another data processing method provided by an embodiment of the present application;
[0105] FIG5 is a flow chart of another data processing method provided by an embodiment of the present application;
[0106] FIG6 is a schematic structural diagram of a data processing device provided in an embodiment of the present application;
[0107] FIG7 is a schematic structural diagram of another data processing device provided in an embodiment of the present application;
[0108] FIG8 is a schematic structural diagram of another data processing device provided in an embodiment of the present application;
[0109] FIG9 is a schematic structural diagram of another data processing device provided in an embodiment of the present application;
[0110] FIG10 is a schematic structural diagram of another data processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0111] The terms used in the following examples of the present application are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in the specification and appended claims of the present application, the singular expressions "a," "an," "said," "above," "the," and "this" are intended to include plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to and encompasses any or all possible combinations of one or more of the listed items.
[0112] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0113] Since the embodiments of the present application involve methods, in order to facilitate understanding, the relevant terms and concepts involved in the embodiments of the present application are first introduced below.
[0114] (1) Riemannian manifold
[0115] A Riemannian manifold is a differentiable manifold where the tangent space of each point p defines a dot product that varies smoothly with p. This allows us to define arc lengths, angles, areas, volumes, curvatures, function gradients, and the divergence of vector fields.
[0116] Riemannian manifolds have many uses, such as in Einstein's theory of general relativity. In optimization, they can be seen as transforming difficult constrained problems in Euclidean space into unconstrained problems on Riemannian manifolds.
[0117] (2) Rank
[0118] In linear algebra, the rank of a matrix is the highest order of its nonzero minors, and the rank of a vector group is the number of vectors contained in its largest independent group.
[0119] (3) Riemann gradient
[0120] In manifold optimization, the Riemannian gradient is the gradient defined on the Riemannian manifold. It can be thought of as the tangent vector at a point on the Riemannian manifold.
[0121] (4) Riemann distance (or Riemann metric, Riemann regularity)
[0122] The Riemann distance is a metric suitable for use on any differentiable manifold. For any such manifold, a symmetric, positive-definite bilinear form can be chosen at each point p: Among them, T p is the tangent space on p, → represents the mapping, represents the field of real numbers. For every differentiable path on this manifold, its length is defined as the integral of the length of the tangent vector at every point on the path, where this integral can be computed over the path parameters. Finally, to obtain a metric defined for every pair of points {x, y} on the manifold, we can take the minimum path length among all paths from x to y. In short, the Riemann distance is a generalization of the Euclidean distance on Riemannian manifolds.
[0123] (5) Data with Riemann characteristics
[0124] Data with Riemannian characteristics refers to data in a Riemannian manifold of fixed rank, that is, data belonging to The data in. Among them, M X represents the data set, Γ is the matrix An element in , and each element satisfies the property of rank X, the above Denotes the domain of real numbers, M×N is the dimension of the matrix, and M, N, and X are positive integers. For example, data exhibiting Riemannian characteristics include parameter data of a neural network model, a characteristic matrix of a channel matrix in a multiple-input, multiple-output (MIMO) transmission scenario, and a principal component data matrix of an image.
[0125] The parameter data of the neural network model refers to various data related to the neural network model, such as the parameters of each layer of the neural network and / or the weight data of the neural network model.
[0126] MIMO refers to a transmission system that uses multiple antenna elements at both the transmitting and receiving ends of a communication link. It can transform the multipath factor existing in traditional communication systems into a factor that is beneficial to user communication performance, thereby exponentially increasing the service transmission rate. Assume that the number of antenna elements at the transmitting end is i, the number of antenna elements at the receiving end is j, and the channel matrix H of the MIMO channel is an i×j matrix, that is,
[0127]
[0128] Among them, h ij represents the channel coefficient from antenna element i to antenna element j. In addition, feature extraction of the channel matrix H can obtain the corresponding feature matrix.
[0129] Principal component analysis (PCA) is a dimensionality reduction technique widely used in machine learning. PCA, also known as principal component analysis, is a multivariate statistical method that transforms correlated high-dimensional metrics into a small number of independent, low-dimensional composite metrics through linear transformation. Principal component analysis of an image can yield its principal component data, which is typically in the form of a matrix, similar to the principal component data matrix mentioned above.
[0130] (6) Singular value decomposition
[0131] Singular value decomposition (SVD) decomposes a matrix. Assuming that matrix B is an m×n matrix, the SVD of matrix B is:
[0132] B=U∑V T
[0133] Where U is an m×m matrix. Each column vector in U is called a left singular vector of B. U is also called a left singular matrix. ∑ is an m×n matrix with all elements except the elements on the main diagonal being 0. Each element on the main diagonal is called a singular value of B. ∑ is called a diagonal matrix. V is an n×n matrix. Each column vector in V is called a right singular vector of B. V is also called a right singular matrix. V T is the transpose of V. Both U and V are unitary matrices.
[0134] (7) Truncated SVD
[0135] Truncated SVD, also known as SVD X (.) refers to the SVD operation that only calculates the largest X singular values and the singular vectors corresponding to these X singular values.
[0136] (8) Aerial aggregation
[0137] Over-the-air aggregation: also known as over-the-air superposition / over-the-air computing, utilizes the free aggregation of gradients / model weights in the wireless channel, rather than aggregating gradients / model weights in the network (cloud) as in traditional training methods. Specifically, all IoT sensors share a common wireless resource block. In each round of communication, the network broadcasts the latest model weights to all sensors. The sensors use the model weights to calculate local gradients / model weights based on local raw data, and transmit the local gradients / model weights to the cloud via public wireless resources. The local gradients / model weights from different sensors are aggregated in the wireless channel, and the network can estimate the aggregated gradients / model weights based on the received signals. The advantage of over-the-air aggregation is that it not only effectively utilizes wireless resources, but also facilitates privacy protection (the original data does not need to be transmitted to the network).
[0138] (9) Federated Learning
[0139] Federated learning (FL) is a distributed machine learning technology. Its core idea is to build a global model based on virtual fused data by conducting distributed model training among multiple data sources with local data, without the need to exchange local individual or sample data, but only by exchanging model parameters or intermediate results. This achieves a balance between data privacy protection and data sharing and computing, that is, a new application paradigm of "data available but invisible" and "data fixed but model moving".
[0140] In the prior art, with the development of machine learning technology, machine learning models have millions or even billions of model parameters, and the transmission and / or computational overhead of the models are relatively large. Therefore, the embodiments of the present application provide a data processing method that can effectively ensure the fixed rank property of data, which is conducive to reducing the storage overhead, transmission overhead, and / or computational overhead of data.
[0141] Exemplarily, when the data processing method of this solution is applied to a federated learning scenario, the first data can be understood as a local model, and the second data can be understood as a global model. This solution can be used to ensure the fixed rank properties of the local model and the global model, ensure model convergence, and reduce the storage overhead, transmission overhead and / or computing overhead of the model, thereby helping to improve the model training speed.
[0142] The following describes the data processing method provided in the embodiments of the present application.
[0143] First, the data processing method of the embodiment of the present application is applied to a data processing system. Referring to Figure 1, Figure 1 is a schematic diagram of the structure of a data processing system provided by the embodiment of the present application. The data processing system includes a first data processing device 101 and a plurality of second data processing devices that are communicatively connected (wirelessly or by wire) to the first data processing device 101. The plurality of second data processing devices include a second data processing device 1, ... a second data processing device K, where K is greater than or equal to 2. In the embodiment of the present application, each second data processing device performs the same process of the data processing method. The following is a specific description using data processing device A as an example. Data processing device A is one of the plurality of second data processing devices.
[0144] Furthermore, the first data processing device 101 is a device with computing capabilities, including but not limited to a personal computer, a desktop computer, a server, a server cluster, a virtual machine, a virtual machine cluster, a cloud device, an access network device, a core network device, a terminal device, etc. The cloud is, for example, a public cloud, a private cloud, or a hybrid cloud.
[0145] Access network equipment refers to the radio access network (RAN) node (or device) that connects a terminal to a wireless network. It can also be called a base station. Some examples of RAN nodes include: evolved Node B (gNB), transmission reception point (TRP), evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved Node B, or HNB), base band unit (BBU), or wireless fidelity (Wi-Fi) access point (AP). In addition, in a network architecture, access network equipment can include centralized unit (CU) nodes, distributed unit (DU) nodes, or RAN equipment that includes both CU and DU nodes. The RAN equipment, including CU nodes and DU nodes, splits the protocol layer of the gNB in the NR system. Some protocol layer functions are centrally controlled by the CU, and the remaining part or all of the protocol layer functions are distributed in the DU, which is centrally controlled by the CU.
[0146] Core network equipment refers to equipment in the core network (CN) that provides service support for terminal equipment. At present, some examples of core network equipment are: access and mobility management function (AMF) entity, session management function (SMF) entity, user plane function (UPF) entity, etc., which are not listed here one by one. Among them, the AMF entity can be responsible for terminal access management and mobility management; the SMF entity can be responsible for session management, such as user session establishment, etc.; the UPF entity can be a functional entity of the user plane, mainly responsible for connecting to the external network. It should be noted that the entity in this application can also be referred to as a network element or a functional entity. For example, the AMF entity can also be referred to as an AMF network element or an AMF functional entity. For another example, the SMF entity can also be referred to as an SMF network element or an SMF functional entity, etc.
[0147] Terminal equipment may also be referred to as a terminal, user equipment (UE), mobile station (MS), or mobile terminal (MT). Examples of terminal equipment include mobile phones, tablet computers, media players, smart wearable devices, personal digital assistants (PDAs), devices with wireless transceiver capabilities, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals used in industrial control, self-driving vehicles, remote medical surgery, smart grids, transportation safety systems, smart cities, and smart homes. Terminal devices with wireless transceiver functions refer to terminal devices with wireless communication capabilities, such as wireless sensors. Wireless communications include wireless fidelity (Wi-Fi), Bluetooth, mobile communications (2G / 3G / 4G / 5G / 6G, etc.), ultra-wide band (UWB), ZigBee communications, etc.
[0148] The second data processing device includes but is not limited to personal computers, desktop computers, servers, server clusters, virtual machines, virtual machine clusters, cloud devices, access network devices, core network devices, terminal devices, etc.
[0149] Referring to Figures 2 and 3, Figure 2 is a flow chart of a data processing method provided in an embodiment of the present application; Figure 3 is a schematic diagram of an interactive flow of a data processing method provided in an embodiment of the present application. The data processing method includes:
[0150] 201. Determine a Riemann gradient of the first data based on first data in data processing device A and second data from the first data processing device.
[0151] Among them, the first data and the second data are data with Riemann characteristics. Data with Riemann characteristics can be understood as data in a fixed-rank Riemann manifold, specifically data that meets the following characteristics: the data is an element in a fixed-rank Riemann manifold, that is, the rank is X, X is a positive integer, and the specific value of X can be determined according to the actual situation. For example, it is determined based on the accuracy of the data combined with the computational overhead, transmission overhead, or storage overhead of the data. For example, when the data is in the form of a matrix, the rank of the corresponding matrix is X. When X is relatively small, the data is data in a low-rank Riemann manifold.
[0152] Exemplarily, the above-mentioned first data includes at least one of the following: parameter data of a neural network model, a characteristic matrix of a channel matrix in a multi-input multi-output transmission scenario, and a principal component data matrix of an image. Exemplarily, in the following description, the first data is illustrated by taking the weight data of a neural network model as an example. Exemplarily, when the first data is parameter data of a neural network model, the data processing method of this embodiment can be applied to a scenario where wireless sensors and cloud servers jointly perform machine learning, and the central server (cloud) and local sensors therein are implemented.
[0153] Accordingly, the data processing device A receives the second data from the first data processing device.
[0154] 202. Update the first data based on the Riemann gradient.
[0155] In this solution, since the first and second data exhibit Riemannian properties, i.e., they are data on a fixed-rank Riemannian manifold, the gradient of the first data obtained based on the first and second data is a gradient on the Riemannian manifold, i.e., a Riemannian gradient. Furthermore, updating the first data based on the Riemannian gradient ensures that the updated first data satisfies the fixed-rank constraint, i.e., possesses the fixed-rank property, which helps reduce the storage, transmission, and / or computational overhead of the first data.
[0156] Specifically, because fixed-rank constraints are difficult to solve in Euclidean space, convex relaxations are often used because they are non-convex. This means that the resulting solution may not necessarily satisfy the fixed-rank constraint. However, if these solutions are performed on a fixed-rank Riemannian manifold, the fixed-rank constraint can be strictly satisfied.
[0157] Exemplarily, with reference to FIG2 and FIG3 , the data processing method further includes:
[0158] 203. Send third data to the first data processing device; the third data is based on the first data G t+1 The first data G is obtained t+1 Refers to the first data updated in step 202.
[0159] Accordingly, the first data processing device receives the third data from the plurality of second data processing devices, obtains the second data based on the third data from the plurality of second data processing devices, and sends the second data to the plurality of second data processing devices.
[0160] In this solution, it is assumed that the data processing system performs data processing I times, and t is any one of the I times. t+1 According to the second data W t The second data W is obtained t It refers to the second data used to calculate the Riemann gradient during the t-th processing. t+1 Then, the third data is sent to the first data processing device so that the first data processing device obtains the second data W according to the third data of the plurality of second data processing devices. t+1 , the second data W t+1 Refers to the second data used to calculate the Riemann gradient during the t+1th processing. For example, the first data processing device can t+1 Send to multiple second data processing devices, so that the multiple second data processing devices respectively process the first data G t+1 and the second data W t+1 Perform the t+1th processing to obtain the next updated first data, that is, the first data G t+2 .
[0161] For example, when t is 1, the data processing device A obtains the second data W from the first data processing device. t A specific acquisition method may be that the first data processing device sends the second data W to multiple second data processing devices. t , the second data W received by the plurality of second data processing devices t Can be the same or different. For example, when t is 1, the data processing device A obtains the second data W t The method may also be to obtain a second data W according to the data generation rule set by the first data processing device. t , the second data W generated by the plurality of second data processing devices according to the rule t Can be the same or different. For example, when t is 1, the plurality of second data processing devices can also each randomly generate a second data W t .
[0162] Exemplarily, if a stopping condition for data processing is met, data processing device A stops data processing. The stopping condition may be that the total number of processing times reaches I, where the specific value of I can be set based on actual conditions. Alternatively, the stopping condition may be that the first data or the second data meets a preset condition, such as convergence of the target loss function corresponding to the task for the first data, or convergence of the target loss function corresponding to the task for the second data.
[0163] Exemplarily, the above step 201 specifically includes:
[0164] In the tth processing, according to the first data G in the data processing device A t and the second data W from the first data processing device t The first difference between the first data G t Calculate the first data G t The Riemann gradient Q t .
[0165] Specifically, using the existing gradient calculation method, the first data G can be calculated based on the first difference and the first data. t The Riemann gradient Q t , I will not go into details here.
[0166] As another example, the above step 201 specifically includes:
[0167] In the tth processing, according to the first data G in the data processing device A t and the second data W from the first data processing device t The first difference between the first data G t The first intermediate state calculates the first data G t The Riemann gradient Q t .
[0168] Among them, the first data G t is the first data in the t-th processing; the first intermediate state is the first data G in the t-1-th processing t-1 and the Riemann gradient Q t-1 The second difference between .
[0169] In this embodiment, the first data G is used t With the second data W t The first difference between the first data G t The first intermediate state is used to calculate the first data G t The Riemann gradient Q t , where the first intermediate state refers to the first data G in the tth processing tFurthermore, based on the first difference and the first intermediate state, the first data G can be calculated using the gradient calculation method. t The Riemann gradient Q t .
[0170] Furthermore, illustratively, the first intermediate state may also be the first data G t-1 With (Riemann gradient Q t-1 The specific value of the weighting coefficient can be set according to actual conditions.
[0171] As another example, the first data G is calculated according to the first difference, the first left singular matrix of the first intermediate state, and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
[0172] In this scheme, the first intermediate state is first subjected to truncated singular value decomposition of rank X to obtain the first left singular matrix and the first right singular matrix of the first intermediate state, and then the first data G is obtained according to the first difference, the first left singular matrix and the first right singular matrix using the gradient calculation method. t The Riemann gradient Q t .
[0173] As another example, the first data G is calculated according to the standard gradient, the first difference, and the first intermediate state. t The Riemann gradient Q t , the standard gradient is the first data G t The derivative of the objective loss function corresponding to the task.
[0174] In this solution, the standard gradient can be calculated first, and then the gradient calculation method is used to calculate the first data G according to the standard gradient, the first difference, and the first intermediate state. t The Riemann gradient Q t .
[0175] As another example, the first data G is calculated according to the standard gradient, the first difference, the first left singular matrix of the first intermediate state, and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
[0176] In this solution, the standard gradient, the first left singular matrix and the first right singular matrix can be calculated first, and then the gradient calculation method can be used to calculate the first data G according to the standard gradient, the first difference, the first left singular matrix and the first right singular matrix. t The Riemann gradient Q t .
[0177] Exemplarily, the above step 202 specifically includes:
[0178] Based on Riemann gradient Q t Update the first data G t , to obtain the first data G t+1 Among them, the first data G t+1 and the second data W t The distance between them is less than the first data G t and the second data W from the first data processing device in the t-1th processing t-1 The distance between; or, the first data G t+1 and the second data W from the first data processing device in the t+1th processing t+1 The distance between them is less than the first data G t and the second data W t The distance between them.
[0179] In this solution, the first data is updated based on the Riemann gradient so that the updated first data, i.e., the first data G t+1 Closer to the second data. Specifically, it can be the first data G t+1 and the second data W t The distance between them is less than the first data G t and the second data W t-1 The distance between; or, the first data G t+1 and the second data W t+1 The distance between them is less than the first data G t and the second data W t For example, the distance can be obtained by using the Euclidean distance or the Riemann distance between the first data and the second data.
[0180] For example, when the method of this solution is applied to a federated learning scenario, the local model can be understood as the first data and the global model as the second data. Then, using the method of this solution can not only ensure the fixed rank properties of the local model and the global model, ensure model convergence, and reduce the computational overhead of the model, but also make the local model close to the global model, thereby improving the model training speed.
[0181] As another example, the above step 202 specifically includes:
[0182] For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix. The second intermediate state is the first data G t and the Riemann gradient Q t The third difference between .
[0183] The first data G is obtained according to the second left singular matrix, the second diagonal matrix and the second right singular matrix t+1 .
[0184] In this solution, the first data G t+1 The second intermediate state of the first data G is decomposed to realize the singular value decomposition of the first data G t Update, that is, get the first data G t+1 The singular value decomposition is a truncated singular value decomposition with a rank of X, where X is a positive integer. By performing the truncated singular value decomposition with a rank of X, it is ensured that the ranks of the first data before and after the update are the same, that is, the rank remains unchanged.
[0185] Furthermore, illustratively, the second intermediate state may also be the first data G t With (Riemann gradient Q t The specific value of the weighting coefficient can be set according to actual conditions.
[0186] The following takes the first data G as the weight data (i.e., weight matrix) Θ of the neural network model as an example to specifically illustrate the calculation process of the Riemann gradient and the update process of the weight data:
[0187] In this embodiment, multiple local devices in the federated learning scenario can be understood as multiple second data processing devices, and the server can be understood as the first data processing device. This embodiment of the application proposes a local model update method based on Riemann gradient, which can update the local model in parallel on multiple local devices, that is, the weight matrix of a given global model The weight matrix Θ of the local model of each local device k k The update method is:
[0188]
[0189] Where local device k is any one of the K local devices, and arg min(z) represents the value of the variable when the equation z reaches the minimum value. The local data set D of each local device k k The cardinality is |D k |=;K is the total number of local devices, K is greater than or equal to 2. Θ k is the weight matrix of the local model of local device k, Θ k ∈M X . f(.) is the weight matrix Θ according to the local model k , from local dataset D k The lth data sample ζ k,l The optimized loss function. is a manifold of rank X. μ>0 is a weighting coefficient. ‖.‖ F Represents the Frobenius norm (F-norm) of the matrix. Represents the weight matrix of the global model. Formula 1 uses the right half of the equation to make the model of each local device k nearly identical.
[0190] However, the above optimization goal, that is, Formula 1, has no closed-form solution. Therefore, the embodiment of the present invention innovatively proposes a local model updating method based on Riemann gradient.
[0191] First, the Riemann gradient of the weight matrix of the local model needs to be calculated. In this embodiment, the first data G is calculated based on the standard gradient, the first difference, the first left singular matrix of the first intermediate state, and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t For example, the first intermediate state for For example, η (t-1) is the learning rate (used to adjust the training speed of the model during model training, and the learning rate can be understood as a weighted coefficient here). The specific value of the learning rate can be set according to the actual situation; that is, the Riemann gradient obtained in the t-1th processing and the learning rate η of the model in the t-1th treatment (t-1) The product of the first data in the t-1th processing The difference between them is taken as the first data in the tth processing The first intermediate state
[0192] The Riemann gradient of the weight matrix of the local model is:
[0193]
[0194] The superscript (t) indicates the tth treatment. Represents the pair Θ k Calculate the gradient, which can be understood as the above function The derivative of , the above gradient can be a European gradient or other gradients. and It is obtained by performing truncated SVD decomposition of the first intermediate state with rank X, that is [] is SVD X (.) calculation results, SVD X (.) means calculating the largest X singular values and the corresponding singular vectors of X singular values. is the diagonal matrix containing X largest singular values obtained after decomposition, is the left singular matrix obtained after decomposition, is the right singular matrix obtained after decomposition.
[0195] Then, after obtaining the Riemann gradient, the weight matrix of the local model is updated according to the Riemann gradient:
[0196]
[0197] in Represents Riemann retraction, by updating the weight matrix, i.e. the first data The second intermediate state Do the truncated SVD of rank X to get, that is [] is SVD X (.) calculation results, SVD X (.) means calculating the largest X singular values and the corresponding singular vectors of X singular values. is the diagonal matrix containing X largest singular values obtained after decomposition, is the left singular matrix obtained after decomposition, is the right singular matrix obtained after decomposition. Similarly, the second intermediate state is the Riemann gradient obtained in the tth processing and the learning rate η of the model in the tth treatment (t) The product of the first data in the tth processing The difference between .
[0198] Exemplarily, the third data is any one of the following: the first data G t+1 itself, the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of the first random precoded data, the first random precoded data of the first singular matrix, the second random precoded data of the second singular matrix, the third random precoded data and the fourth random precoded data.
[0199] The third random precoded data is the product of the first random precoded data and a preset power parameter, and the fourth random precoded data is the product of the second random precoded data and the preset power parameter. The preset power parameter is determined by a preset power control strategy. The preset power control strategy can be set based on actual conditions and is not particularly limited. For example, the preset power control strategy can be an inverse proportional relationship between the channel quality of the second data processing device and the transmit power of the second data processing device.
[0200] Specifically, for the third data being the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of the case is different from sending the first data G directly t+1itself, respectively sends the first data G t+1 The first singular matrix and the first data G t+1 The second singular matrix of can reduce the transmission overhead of the data processing device A. For example, the first data G t+1 If it is an M×N weight matrix with a rank of X, the transmission overhead of the data processing device A can be reduced from O(M×N) to O(X×(M+N)), where O() represents the time complexity.
[0201] In this solution, the data processing device A obtains the first data G t+1 Afterwards, the first data G can be transmitted by any of the above methods. t+1 data information, that is, delivering the third data to the first data processing device, so that the first data processing device can obtain new second data based on the third data of the plurality of second data processing devices.
[0202] Further illustratively, the third data is a first singular matrix and a second singular matrix; accordingly, the data processing method further includes:
[0203] For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix of the second intermediate state. The second intermediate state is the first data G t and the Riemann gradient Q t The third difference between .
[0204] A first singular matrix is obtained according to the second left singular matrix and the second diagonal matrix, and a second singular matrix is obtained according to the second right singular matrix and the second diagonal matrix.
[0205] In this solution, a truncated singular value decomposition of rank X is performed on the second intermediate state to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix of the second intermediate state. A first singular matrix is then obtained based on the second left singular matrix and the second diagonal matrix, and a second singular matrix is obtained based on the second left singular matrix and the second diagonal matrix. For example, the product of the second left singular matrix and the square root of the second diagonal matrix is used as the first singular matrix, and the product of the second right singular matrix and the square root of the second diagonal matrix is used as the second singular matrix.
[0206] For example, the first data G t+1 When it is the weight matrix of the neural network model, the first data G t+1 for Will The corresponding three matrices are split into two matrices for representation, so the first singular matrix The second singular matrix Among them, the above three matrices can be obtained by t+1 The second intermediate state Do the truncated singular value decomposition of rank X to get, that is
[0207] Exemplarily, the third data is the first random precoded data and the second random precoded data; accordingly, the data processing method further includes:
[0208] The first singular matrix and the second singular matrix are randomly precoded respectively to obtain first randomly precoded data and second randomly precoded data.
[0209] In this solution, by randomly precoding the first singular matrix and the second singular matrix respectively, the first random precoding data corresponding to the first singular matrix and the second random precoding data corresponding to the second singular matrix can be obtained. Specifically, in an embodiment of the present application, after the first singular matrix is multiplied by a precoding matrix, the first random precoding data can be obtained; and after the second singular matrix is multiplied by a precoding matrix, the second random precoding data can be obtained. Wherein, each element in the precoding matrix is a random number to achieve random coding. Exemplarily, the precoding matrix corresponding to the second data processing device k is Each element F k [i,j] can be obtained through Rademacher distribution, i and j are the precoding matrix F k The row and column coordinates of the elements in the equation, the probability P of each element satisfies Condition, each element is either Either X is the rank mentioned above. Furthermore, the precoding matrix used by each second data processing device may be the same or different.
[0210] Exemplarily, the third data is the first random precoded data and the second random precoded data. Accordingly, sending the third data to the first data processing device includes:
[0211] sending first random precoded data to the first data processing device via the same first wireless resource as the other second data processing devices, and sending second random precoded data to the first data processing device via the same second wireless resource as the other second data processing devices;
[0212] or,
[0213] The third data is the third random precoded data and the fourth random precoded data. Accordingly, sending the third data to the first data processing device includes:
[0214] The third random precoded data is sent to the first data processing device via the same first wireless resource as other second data processing devices, and the fourth random precoded data is sent to the first data processing device via the same second wireless resource as other second data processing devices.
[0215] The term "the same first wireless resource as the other second data processing device" means that data processing device A and the other second data processing device utilize the same wireless resource for data transmission, i.e., the same instant-frequency resource. Similarly, the term "the same second wireless resource as the other second data processing device" means that data processing device A and the other second data processing device utilize the same wireless resource for data transmission, i.e., the same instant-frequency resource.
[0216] Exemplarily, the first wireless resource and the second wireless resource may be two wireless resources with the same time domain resources but different frequency domain resources; or two wireless resources with different time domain resources.
[0217] In this solution, when the third data is the first random precoded data and the second random precoded data, or the third data is the third random precoded data and the fourth random precoded data, the data processing device A can send the third data to the first data processing device by air aggregation. The air aggregation method means that the data processing device A sends the third data through the same wireless resources as other second data processing devices. In other words, the data processing method of this solution innovatively proposes to first precode the data randomly, and then use the air aggregation method to send the random precoded data, so as to achieve compatibility between the data processing method and air aggregation. For example, when the data processing method of this solution is applied to a federated learning scenario, the use of this solution can not only ensure the fixed rank property of the model, which is conducive to reducing the storage overhead, transmission overhead and / or computing overhead of the model data, but also make full use of wireless resources.
[0218] The following takes the first data as weight data of the neural network model as an example to specifically describe the process of obtaining the first random precoded data, the second random precoded data, the third random precoded data, and the fourth random precoded data:
[0219] For the air aggregation scenario of federated learning, if the first singular matrix of each second data processing device is directly and the second singular matrix Performing over-the-air aggregation will cause the aggregated signal obtained by the first data processing device to become:
[0220]
[0221] This will produce cross terms Unable to directly obtain the required aggregation model Therefore, the embodiment of the present application innovatively proposes a transmission method based on precoding. Each second data processing device k specifically operates as follows:
[0222] (1) Obtaining first precoded data based on the precoder and the second precoded data
[0223] in, is the precoding matrix of the second data processing device k, each element F k [i,j] are independently obtained through Rademacher distribution, P stands for probability.
[0224] The effect of this is that the aggregate signal received by the first data processing device satisfies: in, Express expectations.
[0225] Among them, the second precoded data e is a value between 1 and K, and e and k are different. Because the second term The expected value of is 0 and can be eliminated, so the first data processing device can obtain the aggregation model
[0226] (2) Combining the preset power control strategy to transmit the signal, the third precoded data can be obtained and the fourth precoded data
[0227] The preset power parameters Determined based on a preset power control strategy, e.g. It can be inversely proportional to the channel fading h between the second data processing device and the first data processing device. k (It can be historical channel fading or estimated channel fading), is the transmission power gain, is the cutoff threshold, is a real number; It can also be based on other power control strategies, which are not limited. and the second precoded data Therefore, the superscript of the preset power parameter is (t+1).
[0228] Exemplarily, the third data is the first data G t+1The second data processing device can send the first data G to the first data processing device by means of time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA), random access, etc. t+1 .
[0229] Among them, TDMA is a communication technology for realizing shared transmission media (usually radio field) or network. It allows multiple users to use the same frequency in different time slices (time slots). Users transmit rapidly, one after another, and each user uses their own time slice. This allows multiple users to share the same transmission medium (for example: radio frequency). OFDMA is a communication technology that divides the transmission bandwidth into a series of orthogonal non-overlapping subcarrier sets and assigns different subcarrier sets to different users to achieve multiple access. Random access refers to the technology in which users send random access preamble codes to try to access the network. Random access is divided into competitive random access and non-competitive random access.
[0230] Accordingly, the first data processing device obtains the second data according to the third data from the plurality of second data processing devices, specifically including:
[0231] Project the average value onto the fixed rank manifold to obtain the second data, the average value of which is multiple first data G t+1 The average value of .
[0232] In the embodiment of the present application, when the second data processing device directly sends the first data G t+1 When , the first data processing device obtains the second data by projecting the above average value onto a fixed rank (rank is X) manifold, thereby obtaining the second data according to the third data of multiple second data processing devices.
[0233] Further illustratively, the projecting of the average value onto the fixed-rank manifold to obtain the second data specifically includes:
[0234] Perform singular value decomposition on the mean to obtain the third left singular matrix, the third diagonal matrix, and the third right singular matrix.
[0235] Second data is obtained according to the third left singular matrix, the third diagonal matrix and the third right singular matrix.
[0236] In an embodiment of the present application, a specific implementation method is provided for projecting the average value onto a fixed-rank manifold to obtain the second data, that is, performing a truncated singular value decomposition of the average value with a rank of X, and then obtaining the second data based on the third left singular matrix, the third diagonal matrix and the third right singular matrix obtained by the decomposition.
[0237] The following specifically describes the process of obtaining the second data based on the plurality of third data by the first data processing device, taking the first data as weight data of the neural network model as an example:
[0238] The third data is the updated local model The second data is the new global model The update formula of the global model is:
[0239]
[0240] in, Indicates the average value of multiple updated local models Projection onto the fixed rank manifold M X On the manifold, that is, the manifold of rank X. A specific projection method can be to perform a truncated SVD of rank X on the average of multiple updated local models, that is, in
[0241] As another example, the third data is a first singular matrix and a second singular matrix, and the second data processing device can send the first singular matrix and the second singular matrix to the first data processing device through, for example, TDMA, OFDMA, random access, etc.
[0242] Accordingly, the first data processing device obtains the second data according to the third data from the plurality of second data processing devices, specifically including:
[0243] The first product is projected onto a fixed-rank manifold to obtain second data, wherein the first product is a product of a first matrix and a second matrix, the first matrix being obtained based on first singular matrices of the plurality of second data processing devices, and the second matrix being obtained based on second singular matrices of the plurality of second data processing devices.
[0244] In this embodiment, the second data is obtained based on the third data of the plurality of second data processing devices by projecting the first product onto a fixed-rank (rank X) manifold. Exemplarily, the first matrix is (the sum of the first singular matrices of the plurality of second data processing devices) divided by (the square root of K), where K is the number of the plurality of second data processing devices. Similarly, the second matrix is (the sum of the second singular matrices of the plurality of second data processing devices) divided by (the square root of K), where K is the number of the plurality of second data processing devices.
[0245] Further illustratively, the projecting of the first product onto a fixed-rank manifold to obtain the second data specifically includes:
[0246] Performing singular value decomposition on the first product to obtain a fourth left singular matrix, a fourth diagonal matrix, and a fourth right singular matrix. Obtaining second data based on the fourth left singular matrix, the fourth diagonal matrix, and the fourth right singular matrix.
[0247] In an embodiment of the present application, a specific implementation method is provided for projecting the first product onto a fixed-rank manifold to obtain the second data, namely, performing a truncated singular value decomposition of rank X on the first product, and then obtaining the second data based on the fourth left singular matrix, fourth diagonal matrix and fourth right singular matrix obtained by the decomposition.
[0248] The following specifically describes the process of obtaining the second data based on the plurality of third data by the first data processing device, taking the first data as weight data of the neural network model as an example:
[0249] The third data is the first data G t+1 The first singular matrix of and the first data G t+1 The second singular matrix of The second data is the new global model The update formula of the global model is:
[0250]
[0251] Indicates that the first product Projection onto the fixed rank manifold M X On the manifold, which is the manifold of rank X. A specific projection method can be obtained by performing a truncated SVD of rank X on the first product, that is,
[0252] in
[0253] In another exemplary embodiment, the third data is the first random precoded data and the second random precoded data, or the third data is the third random precoded data and the fourth random precoded data. The first data processing device obtains the second data based on the third data from the plurality of second data processing devices, specifically including:
[0254] A third aggregate signal and a fourth aggregate signal are obtained based on the first aggregate signal and the second aggregate signal, so that an expectation of the second product is equal to an expectation of the third product. Second data is obtained according to the third aggregate signal and the fourth aggregate signal.
[0255] The second product is the product of the third aggregate signal and the fourth aggregate signal, and the third product is the product of the sum of the first random precoded data of the plurality of second data processing devices and the sum of the second random precoded data of the plurality of second data processing devices.
[0256] The third data is the first random precoded data and the second random precoded data, the first aggregate signal carries the first random precoded data of multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the second random precoded data of multiple second data processing devices on the second wireless resource; or, the third data is the third random precoded data and the fourth random precoded data, the first aggregate signal carries the third random precoded data of multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the fourth random precoded data of multiple second data processing devices on the second wireless resource.
[0257] In this embodiment, when the second data processing device transmits third data using over-the-air aggregation, the first data processing device receives two aggregate signals, a first aggregate signal and a second aggregate signal. A third aggregate signal and a fourth aggregate signal are first obtained based on the first and second aggregate signals, after removing the effects of channel fading and channel noise. The third aggregate signal and the fourth aggregate signal can be understood as an estimated signal of the sum of the first random precoded data from multiple second data processing devices and an estimated signal of the sum of the second random precoded data from multiple second data processing devices, respectively. The second data can be obtained using the estimated third aggregate signal and the estimated fourth aggregate signal.
[0258] Specifically, the method for estimating the third aggregate signal and the fourth aggregate signal based on the first aggregate signal and the second aggregate signal can be a least squares method (LS) estimation method, a minimum mean squared error (MMSE) estimation method, a weighted least squares (WLS) estimation method, etc.
[0259] Illustratively, the obtaining of the second data according to the third aggregate signal and the fourth aggregate signal includes:
[0260] A fifth aggregate signal is projected onto the fixed-rank manifold to obtain second data, where the fifth aggregate signal is obtained according to the third aggregate signal and the fourth aggregate signal.
[0261] Furthermore, the projecting of the fifth aggregate signal onto the fixed-rank manifold to obtain the second data specifically includes:
[0262] Performing singular value decomposition on the fifth aggregate signal to obtain a fifth left singular matrix, a fifth diagonal matrix, and a fifth right singular matrix.
[0263] Second data is obtained according to the fifth left singular matrix, the fifth diagonal matrix, and the fifth right singular matrix.
[0264] Among them, according to and The product of is obtained by multiplying Q3 and Q4 to obtain a fifth aggregate signal, Q3 is the third aggregate signal, Q4 is the fourth aggregate signal, and K is the total number of the second data processing devices.
[0265] The following specifically describes the process of obtaining the second data based on the plurality of third data by the first data processing device, taking the first data as weight data of the neural network model as an example:
[0266] The third data is third random precoded data and the fourth random precoded data The second data is the new global model
[0267] Assume that the k-th second data processing device uses the preset power parameter To transmit the first random precoded data and the second random precoded data After all second data processing devices perform over-the-air aggregation, the aggregated signal received by the first data processing device is:
[0268] First aggregate signal
[0269] Second aggregate signal
[0270] Among them, h k (t+1) represents channel fading between the k-th second data processing device and the first data processing device; and is the additive white Gaussian noise (AWGN) vector, and is a complex scalar. M and N are the dimensions of the above matrix, X is the rank, is a plural number, since the first random precoded data is transmitted and the second random precoded data Therefore, h k (t+1) 、 and The superscript of is (t+1). Therefore, and It is the received aggregate signal with channel fading and AWGN superimposed on it.
[0271] Next, a third aggregate signal is estimated based on the received aggregate signal and the fourth aggregate signal
[0272] The first data processing device may use a least squares estimation method based on the received first aggregate signal and the second aggregate signal Signaling to Aggregates and The estimated signal is:
[0273] The third aggregate signal
[0274] Fourth aggregate signal
[0275] Where Re represents the real part of the signal, ρ (t+1) is the received power coefficient under the unbiased power strategy, which can make the expectation of the second product equal to the expectation of the third product, that is, That is, the estimated third aggregate signal is equivalent to the sum of the first random precoding signals of the plurality of second data processing devices before over-the-air aggregate transmission, and the estimated fourth aggregate signal is equivalent to the sum of the second random precoding signals of the plurality of second data processing devices before over-the-air aggregate transmission.
[0276] Finally, based on the third aggregate signal and the fourth aggregate signal Update the global model
[0277] In obtaining and Afterwards, the second data processing device can obtain the global model through the aggregated models:
[0278] in Indicates projecting the contents in the brackets onto the fixed-rank manifold M X On the manifold, that is, the manifold of rank X. A specific projection method can be obtained by performing a truncated SVD of rank X on the content in the above brackets, that is, in
[0279] The present application also provides a data processing method. This method is applied to the data processing system shown in FIG1 . The data processing system includes a first data processing device 101 and multiple second data processing devices. In the present application, each second data processing device performs the same data processing method. The following description uses data processing device A as an example. Data processing device A is one of the multiple second data processing devices.
[0280] Referring to Figures 4 and 5, Figure 4 is a flow chart of another data processing method provided in an embodiment of the present application, and Figure 5 is a flow chart of another data processing method provided in an embodiment of the present application. The process shown in Figure 4 is the execution process of data processing device A, while the process shown in Figure 5 is the execution process of the first data processing device. Specifically, the above-mentioned data processing method includes the following steps:
[0281] 401. Perform random precoding on first data of data processing device A and second data of data processing device A to obtain first randomly precoded data of the first data and second randomly precoded data of the second data.
[0282] Exemplarily, the first data and the second data are data having Riemann characteristics. Alternatively, the first data and the second data are other data not having Riemann characteristics, and the specific details are not particularly limited.
[0283] There are many ways to perform random precoding on the first data and the second data, as long as the randomness of the coding is guaranteed.
[0284] 402. Send first random precoded data to the first data processing device via the same first wireless resource as other second data processing devices, and send second random precoded data to the first data processing device via the same second wireless resource as other second data processing devices.
[0285] Accordingly, the first data processing device receives a first aggregate signal and a second aggregate signal. The first aggregate signal carries first randomly precoded data from multiple second data processing devices on the first radio resource, and the second aggregate signal carries second randomly precoded data from multiple second data processing devices on the second radio resource. The first data processing device obtains fourth data based on the first and second aggregate signals. The fourth data is related to the first data from the multiple second data processing devices and the second data from the multiple second data processing devices.
[0286] The term "first wireless resource shared with other second data processing devices" means that data processing device A and the other second data processing devices utilize the same wireless resource for data transmission, i.e., the same instant-frequency resource. Similarly, the term "second wireless resource shared with other second data processing devices" means that data processing device A and the other second data processing devices utilize the same wireless resource for data transmission, i.e., the same instant-frequency resource. Furthermore, data processing device A may also, based on a preset power control strategy, send first randomly precoded data to the first data processing device via the same first wireless resource as the other second data processing devices; or, based on a preset power control strategy, send second randomly precoded data to the first data processing device via the same first wireless resource as the other second data processing devices.
[0287] Exemplarily, the first wireless resource and the second wireless resource may be two wireless resources with the same time domain resources but different frequency domain resources; or two wireless resources with different time domain resources.
[0288] In an embodiment of the present application, data processing device A randomly precodes first data and second data to obtain first random precoded data and second random precoded data. The data processing device A can then send the first random precoded data and the second random precoded data to the first data processing device based on over-the-air aggregation. This ensures that the expected product of the first aggregate signal and the second aggregate signal received by the first data processing device is the same as the expected sum of the products of multiple second data processing devices. The product of the second data processing device is the product of the first data and the second data of the second data processing device, thereby achieving unbiased data estimation. Furthermore, the first data processing device can obtain fourth data related to the multiple first data and the multiple second data based on the first aggregate signal and the second aggregate signal.
[0289] Specifically, assuming that the first data is S and the second data is D, the first data S is randomly precoded according to the precoding matrix F to obtain the first random precoded data SF. Similarly, the second data D is randomly precoded to obtain the second random precoded data (DF). T =F T D T The second random precoded data is in the form of F T D T To achieve S×D T Unbiased air aggregate data transmission; that is, the first random precoded data SF and the second random precoded data F are sent by air aggregation T D T Afterwards, the first aggregate signal received by the first data processing device (K is the number of second data processing devices) and the second aggregate signal Satisfy the following formula:
[0290]
[0291] Among them, e is a value between 1 and K, and e and k are different. The expectation of is 0 and can be eliminated.
[0292] For example, the solution of this embodiment is applicable to the following scenario: there are multiple second data processing devices monitoring data S and data D. The first data processing device needs to obtain the sum or average of the products of the multiple second data processing devices (i.e., the sum or average of the products of data S and data D). T The above product refers to the data S and data D of the second data processing device. TThe above-mentioned mean value can be obtained by dividing the sum of the multiple products by the number of second data processing devices. Specifically, the random precoded data of data S can be aggregated in the air to obtain a first aggregate signal, and the random precoded data of data D can be aggregated in the air to obtain a second aggregate signal. The two aggregate signals can be multiplied to obtain the estimated result of the sum of the products of multiple second data processing devices. Compared with the second data processing device multiplying S and D and then aggregating them, the multiplication complexity of the second data processing device can be reduced. If the sum of the dimensions of S and D is greater than S×D T The small dimension can also reduce the transmission overhead.
[0293] Exemplarily, the data processing method further includes:
[0294] Singular value decomposition is performed on the third data of the data processing device A to obtain a first left singular matrix U1, a first diagonal matrix Σ1, and a first right singular matrix V1 of the third data.
[0295] First data is obtained according to the first left singular matrix and the first diagonal matrix, and second data is obtained according to the first right singular matrix and the first diagonal matrix.
[0296] Specifically, the first data Second data
[0297] Exemplarily, a truncated singular value decomposition with a rank of X may be performed on the third data to obtain a first left singular matrix, a first diagonal matrix, and a first right singular matrix.
[0298] Accordingly, the first data processing device obtains fourth data according to the first aggregate signal and the second aggregate signal, specifically including:
[0299] A third aggregate signal and a fourth aggregate signal are derived based on the first aggregate signal and the second aggregate signal, such that an expectation of the first product is equal to an expectation of the second product.
[0300] Fourth data is obtained according to the third aggregate signal and the fourth aggregate signal.
[0301] Among them, the first product is the product of the third aggregate signal and the fourth aggregate signal, and the second product is the product of the first random precoded data carried by the first aggregate signal (that is, the sum of the first random precoded data of multiple second data processing devices) and the second random precoded data carried by the second aggregate signal (that is, the sum of the second random precoded data of multiple second data processing devices).
[0302] In this solution, a third and fourth aggregate signal are first generated based on the first and second aggregate signals. These third and fourth aggregate signals can be understood as estimates of the sum of first random precoded data from multiple second data processing devices corresponding to the first aggregate signal and second random precoded data from multiple second data processing devices corresponding to the second aggregate signal, respectively. After removing the effects of channel fading and noise from the first and second aggregate signals, the third and fourth aggregate signals are obtained. The fourth data can then be obtained using the estimated third and fourth aggregate signals.
[0303] Exemplarily, obtaining the fourth data according to the third aggregate signal and the fourth aggregate signal specifically includes:
[0304] Performing singular value decomposition on the fifth aggregate signal to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix. The fifth aggregate signal is obtained based on the third aggregate signal and the fourth aggregate signal. and The product of is obtained by multiplying Q3 and Q4 to obtain a fifth aggregate signal, Q3 is the third aggregate signal, Q4 is the fourth aggregate signal, and K is the total number of the second data processing devices.
[0305] Fourth data is obtained according to the second left singular matrix, the second diagonal matrix and the second right singular matrix.
[0306] In this embodiment, a specific method for obtaining fourth data based on the third aggregate signal and the fourth aggregate signal is provided. Specifically, singular value decomposition is performed on the fifth aggregate signal to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix. The fourth data can then be obtained based on the second left singular matrix, the second diagonal matrix, and the second right singular matrix.
[0307] Exemplarily, a truncated singular value decomposition of rank X may be performed on the fifth aggregate signal to obtain a second left singular matrix U2, a second diagonal matrix Σ2, and a second right singular matrix V2, namely:
[0308]
[0309] At this time, the fourth data is U2∑2(2) T , the fourth data is data with Riemann characteristics.
[0310] In the above embodiments, although the first singular matrix, the second singular matrix, the first aggregate signal, the second aggregate signal, the third aggregate signal, and the fourth aggregate signal have the same data names in different embodiments, the data represented by the same data names in different embodiments may be the same or different, without special limitation.
[0311] The above describes in detail the method of the embodiment of the present application. The following provides an apparatus of the embodiment of the present application.
[0312] The present application provides a data processing device, comprising a module for executing the method steps executed by the second data processing device A in the method shown in FIG2 .
[0313] For example, FIG6 is a schematic structural diagram of a data processing device provided in an embodiment of the present application.
[0314] The data processing device 600 includes:
[0315] The processing module 601 is configured to determine the Riemann gradient of the first data based on the first data in the data processing device and the second data from the first data processing device, wherein the first data and the second data are data having Riemann characteristics.
[0316] The updating module 602 is configured to update the first data based on the Riemann gradient.
[0317] Exemplarily, the data processing device 600 further includes:
[0318] The sending module is configured to send third data to the first data processing device.
[0319] It should be noted that the specific execution process of the data processing device and the corresponding beneficial effects can be referred to the relevant description of the data processing method shown in FIG2 above, and will not be repeated here.
[0320] The present application provides a data processing device, comprising a module for executing the method steps executed by the first data processing device in the method shown in FIG. 2 .
[0321] FIG7 is a schematic structural diagram of another data processing device provided in an embodiment of the present application.
[0322] The data processing device 700 includes:
[0323] The processing module 701 is configured to obtain second data according to third data from a plurality of second data processing devices, where the second data is data having Riemann characteristics.
[0324] The sending module 702 is configured to send second data to multiple second data processing devices.
[0325] The data processing device 700 further includes:
[0326] The receiving module is configured to receive third data from a plurality of second data processing devices, wherein the third data is obtained based on first data in the second data processing devices, and the first data is data having Riemann characteristics.
[0327] It should be noted that the specific execution process of the data processing device and the corresponding beneficial effects can be referred to the relevant description of the data processing method shown in FIG2 above, and will not be repeated here.
[0328] The present application also provides a data processing device, comprising a module for executing the method shown in FIG4 .
[0329] For example, FIG8 is a schematic structural diagram of another data processing device provided in an embodiment of the present application.
[0330] The data processing device 800 includes:
[0331] The encoding module 801 is configured to randomly precode first data of a data processing device and second data of the data processing device to obtain first randomly precoded data of the first data and second randomly precoded data of the second data.
[0332] The sending module 802 is configured to send first random precoded data to the first data processing device via the same first wireless resource as other second data processing devices, and send second random precoded data to the first data processing device via the same second wireless resource as other second data processing devices.
[0333] It should be noted that the specific execution process of the data processing device and the corresponding beneficial effects can be referred to the relevant description of the data processing method shown in FIG4 above, and will not be repeated here.
[0334] The present application also provides a data processing device, comprising a module for executing the method shown in FIG5 .
[0335] For example, FIG9 is a schematic structural diagram of another data processing device provided in an embodiment of the present application.
[0336] The data processing device 900 includes:
[0337] The receiving module 901 is used to receive a first aggregate signal and a second aggregate signal, where the first aggregate signal carries first random precoded data of multiple second data processing devices on the first wireless resource, and the second aggregate signal carries second random precoded data of multiple second data processing devices on the second wireless resource.
[0338] The processing module 902 is configured to obtain fourth data according to the first aggregate signal and the second aggregate signal, where the fourth data is related to the first data of the plurality of second data processing devices and the second data of the plurality of second data processing devices.
[0339] It should be noted that the specific execution process of the data processing device and the corresponding beneficial effects can be referred to the relevant description of the data processing method shown in FIG5 above, and will not be repeated here.
[0340] 10 is a schematic diagram of the structure of another data processing device provided in an embodiment of the present application. This embodiment of the present application also provides a data processing device 1000.
[0341] The data processing device 1000 includes a memory 1001, a processor 1002, a communication interface 1004, and a bus 1003. The memory 1001, the processor 1002, and the communication interface 1004 are connected to each other via the bus 1003. There may be one or more memories 1001 and one or more processors 1002.
[0342] Exemplarily, the data processing device 1000 may be a chip or a chip system.
[0343] The memory 1001 may be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1001 may store a program. When the program stored in the memory 1001 is executed by the processor 1002, the processor 1002 is configured to execute the steps of the data processing method described in any of the above embodiments.
[0344] The processor 1002 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits to execute relevant programs to implement the data processing method described in any of the above embodiments.
[0345] The processor 1002 may also be an integrated circuit chip with signal processing capabilities. During implementation, the various steps of the data processing method described in any embodiment of the present application may be completed by hardware integrated logic circuits or software instructions in the processor 1002. The above-mentioned processor 1002 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the data processing method described in any embodiment of the present application may be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, or the like. The storage medium is located in the memory 1001 , and the processor 1002 reads the information in the memory 1001 and completes the data processing method described in any of the above embodiments in combination with its hardware.
[0346] The communication interface 1004 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the data processing device 1000 and other devices or a communication network. For example, the data processing device 1000 can obtain second data through the communication interface 1004.
[0347] The bus 1003 may include a path for transmitting information between various components of the data processing device 1000 (eg, the memory 1001 , the processor 1002 , and the communication interface 1004 ).
[0348] It should be noted that although the data processing device 1000 shown in FIG10 only shows a memory, a processor, and a communication interface, during the specific implementation process, those skilled in the art will understand that the data processing device 1000 also includes other components necessary for normal operation. At the same time, according to specific needs, those skilled in the art will understand that the data processing device 1000 may also include hardware components that implement other additional functions. In addition, those skilled in the art will understand that the data processing device 1000 may also include only the components necessary to implement the embodiments of the present application, and does not necessarily include all the components shown in FIG10.
[0349] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0350] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0351] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0352] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk).
[0353] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A data processing method, characterized in that: A data processing device A is applied to a data processing system, wherein the data processing system includes a first data processing device and a plurality of second data processing devices, and the data processing device A is one of the plurality of second data processing devices. The method comprises the following steps: determining a Riemann gradient of the first data according to first data in the data processing device A and second data from the first data processing device, wherein the first data and the second data are data having Riemann characteristics; The first data is updated based on the Riemann gradient.
2. The method according to claim 1, characterized in that Determining the Riemann gradient of the first data according to the first data in the data processing device A and the second data from the first data processing device includes: In the tth processing, according to the first data G in the data processing device A t and the second data W from the first data processing device t The first difference between the first data G t The first intermediate state calculates the first data G t The Riemann gradient Q t ; Wherein, the first intermediate state is the first data G in the t-1th processing t-1 and the Riemann gradient Q t-1 The second difference between .
3. The method according to claim 2, characterized in that The updating of the first data based on the Riemann gradient includes: Based on the Riemann gradient Q t Update the first data G t , to obtain the first data G t+1 ; Wherein, the first data G t+1 and the second data W t The distance between them is less than the first data G t and the second data W from the first data processing device in the t-1th processing t-1 The distance between; or, the first data G t+1 and the second data W from the first data processing device in the t+1th processing t+1 The distance between them is less than the first data G t and the second data W t The distance between them.
4. The method according to claim 3, characterized in that The Riemann gradient Q t Update the first data G t , to obtain the first data G t+1 ,include: For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix. The second intermediate state is the first data G t and the Riemann gradient Q t The third difference between The first data G is obtained according to the second left singular matrix, the second diagonal matrix and the second right singular matrix t+1 .
5. The method according to any one of claims 2 to 4, characterized in that The first data G is calculated according to the first difference, the first left singular matrix of the first intermediate state and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
6. The method according to any one of claims 2 to 4, characterized in that Calculate the first data G according to the standard gradient, the first difference, and the first intermediate state t The Riemann gradient Q t , the standard gradient is the first data G t The derivative of the objective loss function corresponding to the task.
7. The method according to claim 6, characterized in that The first data G is calculated according to the standard gradient, the first difference, the first left singular matrix of the first intermediate state, and the first right singular matrix of the first intermediate state. t The Riemann gradient Q t .
8. The method according to any one of claims 3 to 7, characterized in that The method further comprises: Sending third data to the first data processing device, wherein the third data is based on the first data G t+1 Got it.
9. The method according to claim 8, characterized in that The third data is any one of the following: t+1 itself, the first data G t+1 The first singular matrix and the first data G t+1 a second singular matrix of , first random precoded data of the first singular matrix, and second random precoded data, third random precoded data, and fourth random precoded data of the second singular matrix; The third random precoding data is the product of the first random precoding data and a preset power parameter, and the fourth random precoding data is the product of the second random precoding data and the preset power parameter; the preset power parameter is determined by a preset power control strategy.
10. The method according to claim 9, characterized in that The third data is the first singular matrix and the second singular matrix; the method further includes: For the first data G t+1 The second intermediate state is subjected to singular value decomposition to obtain a second left singular matrix, a second diagonal matrix and a second right singular matrix of the second intermediate state, wherein the second intermediate state is the first data G t and the Riemann gradient Q t The third difference between The first singular matrix is obtained according to the second left singular matrix and the second diagonal matrix, and the second singular matrix is obtained according to the second right singular matrix and the second diagonal matrix.
11. The method according to claim 9 or 10, characterized in that The third data is the first random precoded data and the second random precoded data; The method further comprises: Random precoding is performed on the first singular matrix and the second singular matrix respectively to obtain the first random precoded data and the second random precoded data.
12. The method according to any one of claims 9 to 11, characterized in that The third data is the first randomly precoded data and the second randomly precoded data, and the sending the third data to the first data processing device includes: sending the first random precoded data to the first data processing device via the same first wireless resource as other second data processing devices, and sending the second random precoded data to the first data processing device via the same second wireless resource as other second data processing devices; or, The third data is the third randomly precoded data and the fourth randomly precoded data, and the sending the third data to the first data processing device includes: The third random precoded data is sent to the first data processing device via the same first wireless resource as other second data processing devices, and the fourth random precoded data is sent to the first data processing device via the same second wireless resource as other second data processing devices.
13. The method according to any one of claims 1 to 12, characterized in that The first data includes at least one of the following: parameter data of a neural network model, a feature matrix of a channel matrix in a multi-input multi-output transmission scenario, and a principal component data matrix of an image.
14. A data processing method, characterized in that: Applied to a first data processing device in a data processing system, the data processing system further comprising a plurality of second data processing devices, the method comprising the following steps: obtaining second data based on third data from the plurality of second data processing devices, wherein the second data is data having Riemann characteristics; The second data is transmitted to the plurality of second data processing devices.
15. The method according to claim 14, characterized in that The method further comprises: The third data is received from the plurality of second data processing devices; the third data is obtained based on the first data in the second data processing devices, and the first data is data having Riemann characteristics.
16. The method according to claim 14 or 15, characterized in that The third data is any one of the following: the first data itself, the first singular matrix of the first data and the second singular matrix of the first data, the first random precoded data of the first singular matrix and the second random precoded data of the second singular matrix, the third random precoded data and the fourth random precoded data, The first random precoding data and the second random precoding data are obtained by randomly precoding the first singular matrix and the second singular matrix respectively; the third random precoding data is the product of the first random precoding data and a preset power parameter, and the fourth random precoding data is the product of the second random precoding data and the preset power parameter; the preset power parameter is determined by a preset power control strategy.
17. The method according to claim 16, characterized in that The third data is the first data itself, and obtaining the second data according to the third data from the plurality of second data processing devices includes: The average value is projected onto a fixed-rank manifold to obtain the second data, where the average value is the average value of multiple first data.
18. The method according to claim 17, characterized in that The projecting the average value onto a fixed-rank manifold to obtain the second data includes: Performing singular value decomposition on the average value to obtain a third left singular matrix, a third diagonal matrix, and a third right singular matrix; The second data is obtained according to the third left singular matrix, the third diagonal matrix and the third right singular matrix.
19. The method according to claim 16, wherein The third data is the first singular matrix and the second singular matrix, and obtaining the second data according to the third data from the plurality of second data processing devices includes: The first product is projected onto a fixed-rank manifold to obtain the second data, wherein the first product is the product of a first matrix and a second matrix, the first matrix is obtained based on the first singular matrices of the multiple second data processing devices, and the second matrix is obtained based on the second singular matrices of the multiple second data processing devices.
20. The method according to claim 19, characterized in that The projecting the first product onto a fixed-rank manifold to obtain the second data includes: performing singular value decomposition on the first product to obtain a fourth left singular matrix, a fourth diagonal matrix, and a fourth right singular matrix; The second data is obtained according to the fourth left singular matrix, the fourth diagonal matrix and the fourth right singular matrix.
21. The method according to claim 16, wherein The obtaining of the second data according to the third data from the plurality of second data processing devices comprises: obtaining a third aggregate signal and a fourth aggregate signal based on the first aggregate signal and the second aggregate signal so that an expectation of a second product is equal to an expectation of a third product, wherein the second product is the product of the third aggregate signal and the fourth aggregate signal, and the third product is the product of a sum of the first random precoded data of the plurality of second data processing devices and a sum of the second random precoded data of the plurality of second data processing devices; The third data is the first random precoded data and the second random precoded data, the first aggregate signal carries the first random precoded data of the multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the second random precoded data of the multiple second data processing devices on the second wireless resource; or, the third data is the third random precoded data and the fourth random precoded data, the first aggregate signal carries the third random precoded data of the multiple second data processing devices on the first wireless resource, and the second aggregate signal carries the fourth random precoded data of the multiple second data processing devices on the second wireless resource; The second data is obtained according to the third aggregate signal and the fourth aggregate signal.
22. The method according to claim 21, characterized in that The obtaining the second data according to the third aggregate signal and the fourth aggregate signal includes: performing singular value decomposition on a fifth aggregate signal to obtain a fifth left singular matrix, a fifth diagonal matrix, and a fifth right singular matrix, wherein the fifth aggregate signal is obtained based on the third aggregate signal and the fourth aggregate signal; The second data is obtained according to the fifth left singular matrix, the fifth diagonal matrix and the fifth right singular matrix.
23. The method according to any one of claims 15 to 22, characterized in that The first data includes at least one of the following: parameter data of a neural network model, a feature matrix of a channel matrix in a multi-input multi-output transmission scenario, and a principal component data matrix of an image.
24. A data processing method, characterized in that: A data processing device A is applied to a data processing system, wherein the data processing system includes a first data processing device and a plurality of second data processing devices, and the data processing device A is one of the plurality of second data processing devices. The method comprises the following steps: Randomly precoding the first data of the data processing device A and the second data of the data processing device A to obtain first randomly precoded data of the first data and second randomly precoded data of the second data; The first random precoded data is sent to the first data processing device via the same first wireless resource as other second data processing devices, and the second random precoded data is sent to the first data processing device via the same second wireless resource as other second data processing devices.
25. The method according to claim 24, characterized in that The method further comprises: performing singular value decomposition on the third data of the data processing device A to obtain a first left singular matrix, a first diagonal matrix, and a first right singular matrix of the third data; The first data is obtained according to the first left singular matrix and the first diagonal matrix, and the second data is obtained according to the first right singular matrix and the first diagonal matrix.
26. A data processing method, characterized in that: Applied to a first data processing device in a data processing system, the data processing system further comprising a plurality of second data processing devices, the method comprising the following steps: receiving a first aggregate signal and a second aggregate signal, wherein the first aggregate signal carries first random precoded data of the plurality of second data processing devices on the first wireless resource, and the second aggregate signal carries second random precoded data of the plurality of second data processing devices on the second wireless resource; Fourth data is obtained according to the first aggregate signal and the second aggregate signal, and the fourth data is related to the first data of the plurality of second data processing devices and the second data of the plurality of second data processing devices.
27. The method according to claim 26, characterized in that The obtaining fourth data according to the first aggregate signal and the second aggregate signal includes: deriving a third aggregate signal and a fourth aggregate signal based on the first aggregate signal and the second aggregate signal, such that an expectation of a first product is equal to an expectation of a second product, where the first product is the product of the third aggregate signal and the fourth aggregate signal, and the second product is the product of first random precoded data carried by the first aggregate signal and second random precoded data carried by the second aggregate signal; The fourth data is obtained according to the third aggregate signal and the fourth aggregate signal.
28. The method according to claim 27, characterized in that The obtaining the fourth data according to the third aggregate signal and the fourth aggregate signal includes: performing singular value decomposition on a fifth aggregate signal to obtain a second left singular matrix, a second diagonal matrix, and a second right singular matrix, wherein the fifth aggregate signal is obtained based on the third aggregate signal and the fourth aggregate signal; The fourth data is obtained according to the second left singular matrix, the second diagonal matrix and the second right singular matrix.
29. The method according to claim 28, characterized in that The fourth data is data having Riemann characteristics.
30. A data processing device, characterized in that: Comprising means for performing the method according to any one of claims 1 to 13.
31. A data processing device, characterized in that: Comprising means for performing the method as claimed in any one of claims 14 to 23.
32. A data processing device, characterized in that: Comprising means for performing the method as claimed in any one of claims 24 to 25.
33. A data processing device, characterized in that: Comprising means for performing the method as claimed in any one of claims 26 to 29.
34. A data processing device, characterized in that: The data processing device includes one or more processors; wherein, the one or more processors are configured to execute computer programs stored in one or more memories, so that the data processing device implements the method according to any one of claims 1 to 29.
35. The data processing device according to claim 34, characterized in that The data processing apparatus further comprises the one or more memories.
36. The data processing device according to claim 34 or 35, characterized in that The data processing device is a chip or a chip system.
37. A computer-readable storage medium, characterized in that The computer-readable storage medium stores instructions, and when the instructions are executed by a processor, the method according to any one of claims 1 to 29 is implemented.
38. A computer program product, characterized in that The method comprises a computer program which, when executed, implements the method according to any one of claims 1 to 29.