Method for generating data, and communication apparatus
By determining weighting coefficients based on neural network calculations in distributed learning, augmented data that adapts to the data distribution of training samples is generated. This solves the problem of large differences in the distribution of augmented data in existing technologies, improves distributed training performance, and protects user privacy.
Patent Information
- Application Number
- PCT/CN2025/109368
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2025-07-18
- Publication Date
- 2026-01-22
AI Technical Summary
In existing distributed learning, because the weighting coefficients are randomly selected fixed constants, the distribution of the generated augmented data differs significantly from that of the original training samples, affecting the performance of distributed training.
Weighting coefficients are determined by the calculation results of the hidden or output layers of a neural network, and augmented data that adapts to the data distribution of the training samples is generated. The weighting coefficients are calculated using the powerful computing capabilities of the second communication device, and distributed learning is performed in collaboration with the first communication device to avoid sharing of the original data.
It improves the performance of distributed training, ensures that the generated augmented data is more closely matched to the data distribution of the original training samples, and protects the privacy and security of user data.
Smart Images

Figure CN2025109368_22012026_PF_FP_ABST
Abstract
Description
A method for generating data and a communication device
[0001] This application claims priority to Chinese Patent Application No. 202410980096.6, filed on July 19, 2024, entitled "A Method for Generating Data and a Communication Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more specifically, to a method for generating data and a communication apparatus. Background Technology
[0003] Most machine learning techniques, such as deep neural network-based learning algorithms, require a large amount of initial data for training. This data often comes from user devices, requiring users to upload it, which incurs significant upload costs. Furthermore, collecting and using this data may infringe on user privacy or violate privacy regulations.
[0004] Distributed learning is a method for training neural networks. In distributed learning, the user's original data resides locally on the user's device, avoiding direct sharing of the original data and thus protecting the privacy and security of the user's data.
[0005] Since user devices typically store limited local training data suitable for model training, training models using local training data is prone to overfitting, impacting training performance. Existing solutions involve user devices randomly selecting two input data points from their local training set and a fixed weighting coefficient λ to generate augmented data, which can then be used for distributed training.
[0006] However, since λ is a randomly selected fixed constant, the distribution of the augmented data generated by the above method cannot match the data distribution of the training samples. The distribution of the generated augmented data differs greatly from that of the original training samples, which ultimately leads to poor performance of distributed training.
[0007] How to adapt the augmented data distribution to the data distribution of the training samples and improve the performance of distributed training is an urgent problem to be solved. Summary of the Invention
[0008] This application provides a method and communication device for generating data. The weighting coefficient λ is determined based on the calculation results of the hidden layer or output layer of the neural network, which can generate augmented data that adapts to the data distribution of the training samples, thereby improving the performance of distributed training.
[0009] Firstly, a method for generating data is provided. This method can be executed by a first communication device. Unless otherwise specified, the "first communication device" in this application can refer to the first communication device itself (e.g., a network device, or a terminal device), a component within the first communication device (e.g., a processor, chip, or chip system), an AI entity serving the first communication device, such as a server, like an over-the-top (OTT) server, or a logic module or software capable of implementing all or part of the functions of the first communication device. Communication between servers can be achieved through a communication link between the first and second communication devices, through forwarding via other communication devices outside the servers, or through a wired link. The first and second communication devices can collaborate to train a neural network. For ease of description, the following explanation uses the execution by the first communication device as an example.
[0010] The method includes: determining weighting coefficients, which are determined based on a first value and a second value, wherein the first value includes a first feature obtained by using first data as input to a neural network, and the second value includes a second feature obtained by using second data as input to a neural network; or the first value includes a first output value obtained by using first data as input to a neural network, and the second value includes a second output value obtained by using second data as input to a neural network; and generating third data based on the weighting coefficients, the first data, and the second data, wherein the third data is used to train the neural network.
[0011] Based on the solution provided in this application, the weighting coefficients for generating augmented data are determined according to the output value or features of the neural network. On the one hand, this avoids the situation where multiple data pairs (e.g., the first data and the second data as a data pair) in the same batch of data use the same weighting coefficients when augmenting the same batch of data, which would cause the distribution of the generated augmented data to fail to match the data distribution of the training samples, resulting in a large difference between the distribution of the generated augmented data and the original training samples. On the other hand, the weighting coefficients for generating augmented data are related to the output values or features of the first and second data used to generate augmented data, which makes the distribution of the generated augmented data more suitable for the data distribution of the original training samples used to train the neural network, thereby improving the performance of distributed training.
[0012] In some possible implementations, the method also includes: determining a third feature and / or a third output value obtained by using third data as input to the neural network.
[0013] In some possible implementations, the method also includes sending a third feature and / or a third tag.
[0014] For example, the third data may include a third input and a third label, and the first communication device may send the third feature and / or the third label to the second communication device. The third feature and / or the third label may be used to train a neural network (e.g., a second neural network) deployed in the second communication device.
[0015] In some possible implementations, the method further includes: determining a first value and / or a second value based on a first neural network. The first neural network is deployed on a first communication device.
[0016] In some possible implementations, the method also includes sending a first value and / or a second value.
[0017] For example, the first communication device can send a first value and a second value determined according to the first neural network to the second communication device. The second communication device can determine a weighting coefficient based on the first value and the second value, and can instruct the first communication device on the specific value of the weighting coefficient.
[0018] In some possible implementations, determining the weighting coefficients includes: receiving first indication information, which indicates the weighting coefficients.
[0019] For example, the second communication device can determine weighting coefficients based on the first and second values determined by the first neural network. The second communication device can also determine weighting coefficients based on the first and second values determined by the second neural network, which is deployed on the second communication device. After determining the weighting coefficients, the second communication device can instruct the first communication device through first indication information.
[0020] For example, the input to the second neural network includes the output of the first neural network.
[0021] Since the first neural network and the second neural network together form a neural network, the data output by the first neural network can be used as the input data for the second neural network. The input data for the second neural network may also include data stored on the second communication device or acquired through other means / devices.
[0022] For example, the first indication information includes weighting coefficients.
[0023] Based on the solution provided in the embodiments of this application, the second communication device indicates the weighting coefficient through the first indication information. The weighting coefficient is determined by the second communication device through calculation based on the first value and the second value. By utilizing the computing power of the second communication device, which is stronger than that of the first communication device, the computing power of different communication devices can be reasonably allocated, which helps to optimize the use of computing power.
[0024] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0025] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0026] In some possible implementations, determining the weighting coefficients includes: receiving first indication information, which indicates a first value and / or a second value; and determining the first value and / or the second value based on the first indication information.
[0027] For example, the second communication device can determine the first value and the second value through a second neural network calculation, and the first communication device can determine the first value and the second value according to the first instruction information. The first communication device can calculate the weighting coefficient itself based on the first value and the second value.
[0028] For example, the first indication information includes a first value and / or a second value.
[0029] In some possible implementations, before receiving the first indication information, the method further includes: sending a second indication information, the second indication information indicating the first data and the second data.
[0030] For example, the second indication information includes the index of the first data and the index of the second data.
[0031] For example, when the first data and the second data used to generate the third data are determined by the first communication device and the weighting coefficient is determined by the second communication device, the first communication device can send a second indication message. The second indication message indicates the first data and the second data. The second communication device can determine the first data and the second data according to the second indication message and determine the weighting coefficient according to the first data and the second data.
[0032] In order to establish a correlation between the determined weighting coefficients and the first and second data, the first communication device can use the second instruction information to indicate which two data points from the original training samples used to train the neural network will be used as the first and second data points.
[0033] Based on the solution provided in the embodiments of this application, the first communication device indicates the first and second data used to generate the third data through the second indication information, so that the second communication device can determine the first and second data used to generate the third data according to the second indication information, and then calculate the weighting coefficients that are related to the first and second data used to generate the third data, and the required effective data augmentation.
[0034] In some possible implementations, determining the weighting coefficients also includes: determining the weighting coefficients based on the first value and the second value.
[0035] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0036] Specifically, the first neural network and the second neural network together form a neural network.
[0037] For example, the first indication information indicates a first value and / or a second value. When the first value and the second value are first features and / or second features obtained from a first neural network, the first indication information may indicate an index of the first data and / or the second data. The first communication device may, based on the index indicated by the first indication information, determine the feature corresponding to the index as the first value and / or the second value from among the multiple features corresponding to multiple original training samples. The multiple features corresponding to multiple original training samples are obtained by using multiple original training samples as input to the first neural network. When the first value and the second value are obtained from a second neural network, the first indication information may indicate the specific values of the first value and the second value. The first communication device may calculate a weighting coefficient based on the specific values of the first value and the second value.
[0038] Based on the solution provided in the embodiments of this application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of the original data and protecting the privacy and security of user data; on the other hand, by utilizing the computing power of the second communication device which is stronger than that of the first communication device, the first or second value calculated by the second neural network can more deeply represent the input data, thereby resulting in the weighting coefficients being beneficial for generating augmented data that adapts to the data distribution of the training samples, which can improve the performance of distributed training.
[0039] In some possible implementations, determining the weighting coefficients also includes sending a third instruction message that indicates the features and labels corresponding to the original training samples used to train the neural network, wherein the features corresponding to the original training samples are obtained by using the original training samples as input to the first neural network.
[0040] In some possible implementations, the second communication device can determine the first value and / or the second value based on the second indication information. For example, multiple original training samples correspond to multiple features, and the second communication device can determine the multiple features based on the third indication information, and determine one of the multiple features as the first feature or the second feature based on the second indication information.
[0041] In some possible implementations, the second and third instruction messages are sent simultaneously.
[0042] For example, the second and third instruction messages are included in the same message.
[0043] In some possible implementations, the weighting coefficients λr satisfy: λ r =K×d(p i ,p j ) or λ r =K×d(q) i ,q j ), where K≠0, r≠0, d() represents distance, q i q represents the first feature obtained by using the first data as input to the neural network. j p represents the second feature obtained by using the second data as input to the neural network. i p represents the first output value obtained by using the first data as input to the neural network. j This represents the second output value obtained by using the second data as input to the neural network, where i represents the index of the first data, j represents the index of the second data, and r represents the index of the weighting coefficient.
[0044] Based on the solution provided in the embodiments of this application, the weighting coefficient is determined by the distance between the features corresponding to the first data and the second data or the distance between the output values. This enables the distribution of augmented data generated based on the weighting coefficient to better match the data distribution of the training samples, thereby improving the performance of distributed training.
[0045] In some possible implementations, d() represents L2 distance or cosine similarity.
[0046] In some possible implementations, the method further includes: determining first data and second data, the first data and second data belonging to a first dataset, the first dataset including multiple original training samples for training the neural network, the first data and second data satisfying any one of the following conditions: the first data and second data are randomly determined in the first dataset; the first data and second data are determined in the first dataset according to a mapping rule; the second data are randomly determined in the second dataset, the second dataset being a subset of the first dataset, and the fourth feature or fourth output value obtained by using data from the second dataset as input to the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or, the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0047] Based on the solution provided in the embodiments of this application, by determining the second data corresponding to the first data in the second dataset that meets the performance conditions, it is possible to avoid the second data and the first data having too large a difference in distribution, so that the distribution of the generated augmented data is more adapted to the data distribution of the training samples, thereby improving the performance of distributed training.
[0048] In some possible implementations, the first instruction information also indicates the second data, or the first instruction information also indicates both the first data and the second data.
[0049] Based on the solution provided in the embodiments of this application, the first communication device determines the first data and the second data by receiving the first instruction information, so that the first communication device can determine the first data and the second data used to generate the third data according to the first instruction information, thereby realizing the effective data augmentation required for distributed learning.
[0050] In some possible implementations, the first indication information also includes an index of the second data.
[0051] In some possible implementations, the first instruction information may also include an index of the first data.
[0052] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0053] Specifically, the first data may include at least one of a first input or a first label, the second data may include at least one of a second input or a second label, and the third data may include at least one of a third input or a third label. Inputting the first data, second data, or third data into a neural network allows the network to perform calculations to obtain a first feature and / or a first output value corresponding to the first input, a second feature and / or a second output value corresponding to the second input, or a third feature and / or a third output value corresponding to the third input.
[0054] For example, when the neural network is an autoencoder neural network, the first data may include either a first input or a first label, the second data may include either a second input or a second label, and the third data may include either a third input or a third label. The first input and the first label may be the same, the second input and the second label may be the same, and the third input and the third label may be the same.
[0055] Secondly, a method for generating data is provided. This method can be executed by a second communication device. Unless otherwise specified, the "second communication device" in this application can refer to the second communication device itself (e.g., a network device, or a terminal device), a component within the second communication device (e.g., a processor, chip, or chip system), an AI entity serving the second communication device, such as a server, like an over-the-top (OTT) server, or a logic module or software capable of implementing all or part of the functions of the second communication device. Communication between servers can be achieved through a communication link between the first and second communication devices, through forwarding via other communication devices outside the servers, or through a wired link. The first and second communication devices can collaborate to train a neural network. For ease of description, the following explanation uses the execution by the second communication device as an example.
[0056] The method includes: determining a first value and a second value, the first value and the second value being used to determine weighting coefficients, the first value including a first feature obtained by using first data as input to a neural network, and the second value including a second feature obtained by using second data as input to a neural network; or the first value including a first output value obtained by using first data as input to a neural network, and the second value including a second output value obtained by using second data as input to a neural network; and receiving a third feature and / or a third label obtained by using third data as input to a neural network, the third data being generated based on the first data, the second data, and the weighting coefficients.
[0057] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0058] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0059] In some possible implementations, the method also includes receiving a first value and / or a second value.
[0060] In some possible implementations, the method further includes: sending a first indication message that indicates a weighting coefficient, or the first indication message that indicates a first value and / or a second value.
[0061] For example, the first indication information includes a first value and / or a second value.
[0062] In some possible implementations, before sending the first instruction information, the method further includes: receiving a second instruction information, the second instruction information indicating the first data and the second data.
[0063] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the second neural network.
[0064] Specifically, the first neural network and the second neural network together form a neural network.
[0065] For example, when the first value and the second value are obtained according to the second neural network, the first indication information can indicate the specific values of the first value and the second value, and the second communication device can send the specific values of the first value and the second value according to the first indication information.
[0066] In some possible implementations, the method further includes: receiving third indication information, which indicates the features and labels corresponding to the original training samples used to train the neural network, wherein the features corresponding to the original training samples are obtained by using the original training samples as input to the first neural network.
[0067] For example, the second communication device can determine the weighting coefficients based on the third indication information. For instance, the third indication information indicates multiple features corresponding to multiple original training samples. The second communication device can determine the weighting coefficients based on the multiple features, or by inputting the multiple features into the second neural network to obtain multiple output values, and based on two of the multiple features or multiple output values.
[0068] For example, the second communication device can determine the first data and the second data based on the second instruction information, and determine the weighting coefficients corresponding to the first data and the second data based on the first features and the second features corresponding to them. For instance, the second communication device can calculate the distance between the first features and the second features, and the calculation result is the weighting coefficient corresponding to the first data and the second data. The first features and the second features can be obtained by using the original training samples as input to the first neural network, or the first features and the second features can be obtained by using the output of the first neural network as input to the second neural network, where the output of the first neural network is obtained by using the first data and the second data as input to the first neural network.
[0069] For example, the second communication device can determine the first data and the second data based on the second instruction information, and determine the weighting coefficient corresponding to the first data and the second data based on the first output value and the second output value corresponding to the first data and the second data. For example, the second communication device can calculate the distance between the first output value and the second output value, and the calculation result is the weighting coefficient corresponding to the first data and the second data. The first output value and the second output value can be obtained by using the output of the first neural network as the input of the second neural network, and the output of the first neural network is obtained by using the first data and the second data as the input of the first neural network.
[0070] In some possible implementations, the second and third instruction messages are sent simultaneously.
[0071] For example, the second and third instruction messages are included in the same message.
[0072] In some possible implementations, the weighting coefficients λr satisfy: λ r =K×d(p i ,p j ) or λ r =K×d(q) i ,q j ), where K≠0, r≠0, d() represents distance, q i q represents the first feature obtained by using the first data as input to the neural network. j p represents the second feature obtained by using the second data as input to the neural network. i p represents the first output value obtained by using the first data as input to the neural network. j This represents the second output value obtained by using the second data as input to the neural network, where i represents the index of the first data, j represents the index of the second data, and r represents the index of the weighting coefficient.
[0073] In some possible implementations, d() represents L2 distance or cosine similarity.
[0074] In some possible implementations, the method further includes: determining first data and second data, the first data and second data belonging to a first dataset, the first dataset including multiple original training samples for training the neural network, the first data and second data satisfying any one of the following conditions: the first data and second data are randomly determined in the first dataset; the first data and second data are determined in the first dataset according to a mapping rule; the second data are randomly determined in the second dataset, the second dataset being a subset of the first dataset, and the fourth feature or fourth output value obtained by using data from the second dataset as input to the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or, the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0075] In some possible implementations, the first instruction information also indicates the second data, or the first instruction information also indicates both the first data and the second data.
[0076] In some possible implementations, the first indication information also includes an index of the second data.
[0077] In some possible implementations, the first instruction information may also include an index of the first data.
[0078] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0079] Specifically, the first data may include at least one of a first input or a first label, the second data may include at least one of a second input or a second label, and the third data may include at least one of a third input or a third label. Inputting the first data, second data, or third data into a neural network allows the network to perform calculations to obtain a first feature and / or a first output value corresponding to the first input, a second feature and / or a second output value corresponding to the second input, or a third feature and / or a third output value corresponding to the third input.
[0080] For example, when the neural network is an autoencoder neural network, the first data may include either a first input or a first label, the second data may include either a second input or a second label, and the third data may include either a third input or a third label. The first input and the first label may be the same, the second input and the second label may be the same, and the third input and the third label may be the same.
[0081] Thirdly, a method for generating data is provided. This method can be executed by a first communication device. Unless otherwise specified, the "first communication device" in this application can refer to the first communication device itself (e.g., a network device, or a terminal device), a component within the first communication device (e.g., a processor, chip, or chip system), an AI entity serving the first communication device, such as a server, like an over-the-top (OTT) server, or a logic module or software capable of implementing all or part of the functions of the first communication device. Communication between servers can be achieved through a communication link between the first and second communication devices, through forwarding via other communication devices outside the servers, or through a wired link. The first and second communication devices can collaborate to train a neural network. For ease of description, the following explanation uses the execution by the first communication device as an example.
[0082] The method includes: determining second data corresponding to first data from a plurality of original training samples, the second data being determined based on a first value and a second value, the first value including a first feature obtained by using the first data as input to a neural network, and the second value including a second feature obtained by using the second data as input to a neural network; or the first value including a first output value obtained by using the first data as input to a neural network, and the second value including a second output value obtained by using the second data as input to a neural network; generating third data based on the first data, the second data, and weighting coefficients, the third data being used to train the neural network, the weighting coefficients being determined based on a probability distribution.
[0083] For example, the first communication device can input multiple original training samples for training the neural network into the neural network, and the neural network can calculate multiple features and / or multiple output values corresponding to the multiple original training samples. The first communication device can determine the second data corresponding to the first data from the multiple original training samples based on the multiple features and / or multiple output values.
[0084] For example, the second communication device may first determine the second value, and then determine the data corresponding to the second value as the second data.
[0085] Based on the solution provided in the embodiments of this application, the second data used to generate augmented data is determined according to the output value or features of the neural network. This makes the selected second data more compatible with the first data, thereby making the distribution of the generated augmented data more suitable for the data distribution of the training samples, which can improve the performance of distributed training.
[0086] In some possible implementations, the method also includes: determining a third feature and / or a third output value obtained by using third data as input to the neural network.
[0087] In some possible implementations, the method also includes sending a third feature and / or a third tag.
[0088] For example, the first communication device may send a determined third feature and / or third label to the second communication device, which may be used to train a neural network (e.g., a second neural network) deployed in the second communication device.
[0089] In some possible implementations, the first dataset includes multiple original training samples for training the neural network, the second dataset is a subset of the first dataset, and the fourth feature or fourth output value obtained by using the data in the second dataset as input to the neural network satisfies the following: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0090] For example, the first communication device can input multiple original training samples for training the neural network into the neural network, and through the calculation of the neural network, multiple features and / or multiple output values corresponding to the multiple original training samples can be obtained. The first communication device can determine second data corresponding to the first data from the multiple original training samples based on the multiple features and / or multiple output values. The second data belongs to a second dataset, and the features obtained by using data from the second dataset as input to the neural network include a fourth feature, and the output values obtained by using data from the second dataset as input to the neural network include a fourth output value.
[0091] Since the distance between the fourth feature and the first feature is less than or equal to the first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to the second threshold, the data in the second dataset and the first data can meet the performance conditions: the second data and the first data do not meet the condition of excessive distribution difference.
[0092] Based on the solution provided in the embodiments of this application, by determining the second data corresponding to the first data in the second dataset that meets the performance conditions, it is possible to avoid the second data and the first data having too large a difference in distribution, so that the distribution of the generated augmented data is more adapted to the data distribution of the training samples, thereby improving the performance of distributed training.
[0093] In some possible implementations, the second data is randomly determined from the second dataset; or the second data is determined from the second dataset according to a mapping rule.
[0094] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0095] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0096] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0097] In some possible implementations, the method further includes: receiving first indication information, which indicates second data.
[0098] For example, the first indication information indicates the index of the second data.
[0099] Based on the solution provided in the embodiments of this application, the first communication device determines the second data for generating the third data through the first instruction information, so that the first communication device can determine the second data according to the first instruction information and realize the effective data augmentation required for distributed learning.
[0100] In some possible implementations, the method also includes: determining a first value and a second value; and determining second data based on the first value and the second value.
[0101] For example, the first communication device may determine the calculation result output by the first neural network deployed on the first communication device as the first value and the second value; the first communication device may also determine the calculation result output by the second neural network deployed on the second communication device as the first value and the second value.
[0102] Based on the solution provided in the embodiments of this application, the first communication device determines the second data used to generate the third data through the first value and the second value, so that the first communication device can determine the second data and realize the effective data augmentation required for distributed learning.
[0103] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0104] Specifically, the first neural network and the second neural network together form a neural network.
[0105] For example, multiple features and / or multiple output values corresponding to multiple original training samples can be obtained based on a first neural network or a second neural network.
[0106] Based on the solution provided in the embodiments of this application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of the original data and protecting the privacy and security of user data; on the other hand, by utilizing the computing power of the second communication device which is stronger than that of the first communication device, the first or second value calculated by the second neural network can more deeply represent the input data, thereby making the distribution of the generated augmented data more suitable to the data distribution of the training samples, which can improve the performance of distributed training.
[0107] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0108] Specifically, the first data may include at least one of a first input or a first label, the second data may include at least one of a second input or a second label, and the third data may include at least one of a third input or a third label. Inputting the first data, second data, or third data into a neural network allows the network to perform calculations to obtain a first feature and / or a first output value corresponding to the first input, a second feature and / or a second output value corresponding to the second input, or a third feature and / or a third output value corresponding to the third input.
[0109] For example, when the neural network is an autoencoder neural network, the first data may include either a first input or a first label, the second data may include either a second input or a second label, and the third data may include either a third input or a third label. The first input and the first label may be the same, the second input and the second label may be the same, and the third input and the third label may be the same.
[0110] Fourthly, a method for generating data is provided. This method can be executed by a second communication device. Unless otherwise specified, the "second communication device" in this application can refer to the second communication device itself (e.g., a network device, or a terminal device), a component within the second communication device (e.g., a processor, chip, or chip system), an AI entity serving the second communication device, such as a server, like an over-the-top (OTT) server, or a logic module or software capable of implementing all or part of the functions of the second communication device. Communication between servers can be achieved through a communication link between the first and second communication devices, through forwarding via other communication devices outside the servers, or through a wired link. The first and second communication devices can collaborate to train a neural network. For ease of description, the following explanation uses the execution by the second communication device as an example.
[0111] The method includes: determining a first value and a second value, the first value and the second value being used to determine second data corresponding to first data in a plurality of original training samples, the first value including a first feature obtained by using the first data as input to a neural network, and the second value including a second feature obtained by using the second data as input to a neural network; or the first value including a first output value obtained by using the first data as input to a neural network, and the second value including a second output value obtained by using the second data as input to a neural network; and receiving a third feature obtained by using third data as input to a neural network, the third data being generated based on the first data, the second data and weighting coefficients, the weighting coefficients being determined based on a probability distribution.
[0112] For example, the second communication device may determine the first data based on preset rules or random selection, and use the first data as the input of the neural network to obtain the first value. The second communication device may also determine the second data corresponding to the first data based on multiple features and / or multiple output values corresponding to multiple original training samples, and determine the second value corresponding to using the second data as the input of the neural network.
[0113] For example, the second communication device may first determine the second value, and then determine the data corresponding to the second value as the second data.
[0114] In some possible implementations, the first dataset includes multiple original training samples for training the neural network, the second dataset is a subset of the first dataset, and the fourth feature or fourth output value obtained by using the data in the second dataset as input to the neural network satisfies the following: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0115] In some possible implementations, the second data is randomly determined from the second dataset; or the second data is determined from the second dataset according to a mapping rule.
[0116] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0117] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0118] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0119] In some possible implementations, the method further includes: sending a first indication message that indicates second data, or the first indication message indicating a first value and / or a second value.
[0120] For example, the second communication device may send a first instruction message, which instructs the second communication device to calculate a feature or output value.
[0121] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the second neural network.
[0122] Specifically, the first neural network and the second neural network together form a neural network.
[0123] For example, multiple features and / or multiple output values corresponding to multiple original training samples can be obtained based on a first neural network or a second neural network.
[0124] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0125] Specifically, the first data may include at least one of a first input or a first label, the second data may include at least one of a second input or a second label, and the third data may include at least one of a third input or a third label. Inputting the first data, second data, or third data into a neural network allows the network to perform calculations to obtain a first feature and / or a first output value corresponding to the first input, a second feature and / or a second output value corresponding to the second input, or a third feature and / or a third output value corresponding to the third input.
[0126] For example, when the neural network is an autoencoder neural network, the first data may include either a first input or a first label, the second data may include either a second input or a second label, and the third data may include either a third input or a third label. The first input and the first label may be the same, the second input and the second label may be the same, and the third input and the third label may be the same.
[0127] Fifthly, a communication device is provided. This device can be a network device / terminal device, or a server deployed on the network device / terminal device side, or a chip, circuit, or chip system configured in the network device / terminal device. The embodiments of this application do not limit this. For ease of description, the following description uses this device as a first communication device and a device that jointly implements distributed learning with this device as a second communication device.
[0128] The device includes: a processing unit configured to determine weighting coefficients, the weighting coefficients being determined based on a first value and a second value, the first value including a first feature obtained by using first data as input to a neural network, and the second value including a second feature obtained by using second data as input to a neural network; or the first value including a first output value obtained by using first data as input to a neural network, and the second value including a second output value obtained by using second data as input to a neural network; the processing unit is further configured to generate third data based on the weighting coefficients, the first data, and the second data, the third data being used to train the neural network.
[0129] In some possible implementations, the processing unit is also used to determine a third feature and / or a third output value obtained by using the third data as input to the neural network.
[0130] In some possible implementations, the processing unit is also used to determine a first value and / or a second value based on the first neural network. The first neural network is deployed on the first communication device.
[0131] In some possible implementations, the apparatus further includes a transceiver unit for transmitting a first value and / or a second value.
[0132] In some possible implementations, the transceiver unit is also used to send a third feature and / or a third tag.
[0133] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0134] In some possible implementations, the transceiver unit is also used to receive first indication information, which indicates weighting coefficients; the processing unit is specifically used to determine the weighting coefficients based on the first indication information.
[0135] In some possible implementations, the first indication information includes weighting coefficients.
[0136] In some possible implementations, before receiving the first indication information, the transceiver unit is also used to send a second indication information, which indicates the first data and the second data.
[0137] In some possible implementations, the first indication information indicates a first value and / or a second value.
[0138] For example, the first indication information includes a first value and / or a second value.
[0139] In some possible implementations, the processing unit is specifically used to: determine a first value and a second value; and determine a weighting coefficient based on the first value and the second value.
[0140] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0141] Specifically, the first neural network and the second neural network together form a neural network.
[0142] In some possible implementations, the transceiver unit is also used to send third indication information, which indicates the features and labels corresponding to the original training samples used to train the neural network. The features corresponding to the original training samples are obtained by using the original training samples as input to the first neural network.
[0143] In some possible implementations, the second communication device can determine the first value and / or the second value based on the second indication information. For example, multiple original training samples correspond to multiple features, and the second communication device can determine the multiple features based on the third indication information, and determine one of the multiple features as the first feature or the second feature based on the second indication information.
[0144] In some possible implementations, the second and third instruction messages are sent simultaneously.
[0145] For example, the second and third instruction messages are included in the same message.
[0146] In some possible implementations, the weighting coefficients λr satisfy: λ r =K×d(p i ,p j ) or λ r =K×d(q) i ,q j ), where K≠0, r≠0, d() represents distance, q i q represents the first feature obtained by using the first data as input to the neural network. j p represents the second feature obtained by using the second data as input to the neural network. i p represents the first output value obtained by using the first data as input to the neural network. j This represents the second output value obtained by using the second data as input to the neural network, where i represents the index of the first data, j represents the index of the second data, and r represents the index of the weighting coefficient.
[0147] In some possible implementations, d() represents L2 distance or cosine similarity.
[0148] In some possible implementations, the processing unit is further configured to determine first data and second data, which belong to a first dataset. The first dataset includes multiple original training samples used to train the neural network. The first data and second data satisfy any one of the following conditions: the first data and second data are randomly determined in the first dataset; the first data and second data are determined in the first dataset according to a mapping rule; the second data are randomly determined in the second dataset, which is a subset of the first dataset; and the fourth feature or fourth output value obtained by using data from the second dataset as input to the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0149] In some possible implementations, the first instruction information also indicates the second data, and the processing unit is specifically used to determine the second data based on the first instruction information.
[0150] In some possible implementations, the first instruction information also indicates first data and second data, and the processing unit is specifically used to determine the first data and second data based on the first instruction information.
[0151] In some possible implementations, the first indication information also includes an index of the second data.
[0152] In some possible implementations, the first instruction information may also include an index of the first data.
[0153] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0154] In some possible implementations, the processing unit includes a processor.
[0155] In some possible implementations, the transceiver unit includes a transceiver.
[0156] Sixthly, a communication device is provided. This device can be a network device / terminal device, or a server deployed on the network device / terminal device side, or a chip, circuit, or chip system configured in the network device / terminal device. The embodiments of this application do not limit this. For ease of description, the following description will use the device as a second communication device and the device that jointly implements distributed learning with the device as a first communication device.
[0157] The device includes: a processing unit for determining a first value and a second value, the first value and the second value being used to determine weighting coefficients, the first value including a first feature obtained by using first data as input to a neural network, and the second value including a second feature obtained by using second data as input to a neural network; or the first value including a first output value obtained by using first data as input to a neural network, and the second value including a second output value obtained by using second data as input to a neural network; and receiving a third feature and / or a third label obtained by using third data as input to a neural network, the third data being generated based on the first data, the second data, and the weighting coefficients.
[0158] In some possible implementations, the apparatus further includes a transceiver unit for receiving a first value and / or a second value.
[0159] In some possible implementations, the transceiver unit is also used to send first indication information, which indicates a weighting coefficient, or indicates a first value and / or a second value.
[0160] For example, the first indication information includes a first value and / or a second value.
[0161] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0162] In some possible implementations, before sending the first indication information, the transceiver unit is also used to receive the second indication information, which indicates the first data and the second data.
[0163] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the second neural network.
[0164] Specifically, the first neural network and the second neural network together form a neural network.
[0165] In some possible implementations, the transceiver unit is also used to receive third indication information, which indicates the features and labels corresponding to the original training samples used to train the neural network. The features corresponding to the original training samples are obtained by using the original training samples as input to the first neural network.
[0166] In some possible implementations, the second and third instruction messages are sent simultaneously.
[0167] For example, the second and third instruction messages are included in the same message.
[0168] In some possible implementations, the weighting coefficients λr satisfy: λ r =K×d(p i ,p j ) or λ r =K×d(q) i ,q j ), where K≠0, r≠0, d() represents distance, q i q represents the first feature obtained by using the first data as input to the neural network. j p represents the second feature obtained by using the second data as input to the neural network. i p represents the first output value obtained by using the first data as input to the neural network. j This represents the second output value obtained by using the second data as input to the neural network, where i represents the index of the first data, j represents the index of the second data, and r represents the index of the weighting coefficient.
[0169] In some possible implementations, d() represents L2 distance or cosine similarity.
[0170] In some possible implementations, the processing unit is further configured to: determine first data and second data, the first data and second data belonging to a first dataset, the first dataset including multiple original training samples for training the neural network, the first data and second data satisfying any one of the following conditions: the first data and second data are randomly determined in the first dataset; the first data and second data are determined in the first dataset according to a mapping rule; the second data is randomly determined in the second dataset, the second dataset being a subset of the first dataset, and the fourth feature or fourth output value obtained by using data from the second dataset as input to the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or, the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0171] In some possible implementations, the first instruction information also indicates the second data, or the first instruction information also indicates both the first data and the second data.
[0172] In some possible implementations, the first indication information also includes an index of the second data.
[0173] In some possible implementations, the first instruction information may also include an index of the first data.
[0174] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0175] In some possible implementations, the processing unit includes a processor.
[0176] In some possible implementations, the transceiver unit includes a transceiver.
[0177] In a seventh aspect, a communication device is provided. This device can be a network device / terminal device, or a server deployed on the network device / terminal device side, or a chip, circuit, or chip system configured in the network device / terminal device. The embodiments of this application do not limit this. For ease of description, the following description will use this device as a first communication device and a device that jointly implements distributed learning with this device as a second communication device.
[0178] The device includes: a processing unit configured to determine second data corresponding to first data from a plurality of original training samples, the second data being determined based on a first value and a second value, the first value including a first feature obtained by using the first data as input to a neural network, and the second value including a second feature obtained by using the second data as input to a neural network; or the first value including a first output value obtained by using the first data as input to a neural network, and the second value including a second output value obtained by using the second data as input to a neural network; the processing unit is further configured to generate third data based on the first data, the second data, and weighting coefficients, the third data being used to train the neural network, the weighting coefficients being determined based on a probability distribution.
[0179] In some possible implementations, the processing unit is also used to determine a third feature and / or a third label obtained by using the third data as input to the neural network.
[0180] In some possible implementations, the first dataset includes multiple original training samples for training the neural network, the second dataset is a subset of the first dataset, and the fourth feature or fourth output value obtained by using the data in the second dataset as input to the neural network satisfies the following: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0181] In some possible implementations, the second data is randomly determined from the second dataset; or the second data is determined from the second dataset according to a mapping rule.
[0182] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0183] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0184] In some possible implementations, the device further includes a transceiver unit for receiving first instruction information, and a processing unit specifically for determining second data based on the first instruction information.
[0185] In some possible implementations, the transceiver unit is also used to send a third feature and / or a third tag.
[0186] In some possible implementations, the processing unit is also used to: determine a first value and a second value; and determine second data based on the first value and the second value.
[0187] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0188] Specifically, the first neural network and the second neural network together form a neural network.
[0189] In some possible implementations, the processing unit includes a processor.
[0190] In some possible implementations, the transceiver unit includes a transceiver.
[0191] Eighthly, a communication device is provided. This device can be a network device / terminal device, or a server deployed on the network device / terminal device side, or a chip, circuit, or chip system configured in the network device / terminal device. The embodiments of this application do not limit this. For ease of description, the following description will use the device as a second communication device and the device that jointly implements distributed learning with the device as a first communication device.
[0192] The device includes: a processing unit for determining a first value and a second value, the first value and the second value being used to determine second data corresponding to first data among a plurality of original training samples, the first value including a first feature obtained by using the first data as input to a neural network, and the second value including a second feature obtained by using the second data as input to a neural network; or the first value including a first output value obtained by using the first data as input to a neural network, and the second value including a second output value obtained by using the second data as input to a neural network; and a transceiver unit for receiving a third feature obtained by using third data as input to a neural network, the third data being generated based on the first data, the second data and weighting coefficients, the weighting coefficients being determined based on a probability distribution.
[0193] In some possible implementations, the first dataset includes multiple original training samples for training the neural network, the second dataset is a subset of the first dataset, and the fourth feature or fourth output value obtained by using the data in the second dataset as input to the neural network satisfies the following: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0194] In some possible implementations, the second data is randomly determined from the second dataset; or the second data is determined from the second dataset according to a mapping rule.
[0195] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0196] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0197] In some possible implementations, the transceiver unit is also used to: send first indication information, which indicates second data, or the first indication information indicates a first value.
[0198] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the second neural network.
[0199] Specifically, the first neural network and the second neural network together form a neural network.
[0200] In some possible implementations, the processing unit includes a processor.
[0201] In some possible implementations, the transceiver unit includes a transceiver.
[0202] Ninthly, a communication device is provided, the device comprising: a processor for executing computer instructions to cause the device to perform the methods of the first to fourth aspects and any possible implementation thereof.
[0203] In some possible implementations, the device also includes a memory.
[0204] In some possible implementations, the device also includes a communication interface coupled to the processor, which is used for inputting and / or outputting information.
[0205] In a tenth aspect, a computer program product is provided, which, when executed by a communication device, implements the methods of the first to fourth aspects and any possible implementation thereof.
[0206] In an eleventh aspect, a computer-readable storage medium is provided, which stores a computer program or instructions that, when executed by a communication device, implement the methods of the first to fourth aspects and any possible implementation thereof.
[0207] In a twelfth aspect, a chip (or chip system) is provided, including at least one processor for running a computer program that causes a device having the chip mounted to perform the methods described in the first to fourth aspects and any possible implementation thereof.
[0208] The chip may include an output circuit or interface for transmitting information or data, and an input circuit or interface for receiving information or data.
[0209] In a thirteenth aspect, a communication system is provided, comprising: a network device and a terminal device, wherein the terminal device is configured to perform the methods of the first or third aspect and any possible implementation thereof, and the network device is configured to perform the methods of the second or fourth aspect and any possible implementation thereof.
[0210] In a fourteenth aspect, a communication system is provided, comprising: a network device and a terminal device, wherein the network device is configured to perform the methods of the first or third aspect and any possible implementation thereof, and the terminal device is configured to perform the methods of the second or fourth aspect and any possible implementation thereof.
[0211] In a fifteenth aspect, a communication system is provided, comprising: a first network device and a second network device, wherein the first network device is configured to perform the methods described in the first or third aspect and any possible implementation thereof, and the second network device is configured to perform the methods described in the second or fourth aspect and any possible implementation thereof.
[0212] In a sixteenth aspect, a communication system is provided, comprising: a first terminal device and a second terminal device, wherein the first terminal device is configured to perform the methods described in the first or third aspect and any possible implementation thereof, and the second terminal device is configured to perform the methods described in the second or fourth aspect and any possible implementation thereof. Attached Figure Description
[0213] Figure 1 is a schematic diagram of a wireless communication system applicable to an embodiment of this application.
[0214] Figure 2 is a schematic diagram of a possible application framework in a communication system.
[0215] Figure 3 is a schematic diagram of a possible application framework in a communication system.
[0216] Figure 4 is a schematic diagram of a deep neural network structure applicable to an embodiment of this application.
[0217] Figure 5 is a schematic diagram of a possible method for generating data provided in an embodiment of this application.
[0218] Figure 6 is a schematic diagram of another possible method for generating data provided in an embodiment of this application.
[0219] Figure 7 is a schematic diagram of a possible distributed training method provided in an embodiment of this application.
[0220] Figure 8 is a schematic diagram of another possible distributed training method provided in the embodiments of this application.
[0221] Figure 9 is a schematic block diagram of a communication device provided in an embodiment of this application.
[0222] Figure 10 is a schematic block diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0223] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0224] The terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, "a plurality of" or "multiple" means two or more; the singular expressions "a," "an," "the," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of this application, "at least one" and "one or more" refer to one, two, or more. "And / or" describes the relationship between related objects, indicating that three relationships may exist, for example, A and / or B, which can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can represent: a, or b, or c, or a and b, or a and c, or b and c, or a, b, and c. Here, a, b, and c can be a single term or multiple terms.
[0225] The ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the size, content, order, timing, priority, or importance of the multiple objects. For example, the first instruction information and the second instruction information can be the same information or different information, and such names do not indicate that the two messages are different in content, size, application scenario, sender / receiver, priority, or importance. In addition, the step numbers in the various embodiments described in this application are only for distinguishing different steps, and unless otherwise stated, the step numbers are not used to limit the order of steps.
[0226] In this application, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or apparatus.
[0227] In this application, "instruction" can include direct instruction and indirect instruction. When describing an instruction information A, it can include either direct instruction A or indirect instruction A, unless otherwise stated, which does not imply that the instruction information necessarily carries A. Direct instruction information A means that information A is included; implicit instruction information A means that information A is indicated through the correspondence between information A and information B and the direct instruction information B. The correspondence between information A and information B can be predefined, pre-stored, pre-burned, or pre-configured.
[0228] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0229] The technical solutions provided in this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5th Generation (5G) or New Radio (NR) systems, and future communication networks, etc.
[0230] The technical solutions provided in this application can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems or other communication systems. The technical solutions provided in this application can also be applied to non-terrestrial network (NTN) systems such as inter-satellite communication and satellite communication.
[0231] As an example, a satellite communication system includes a satellite base station and terminal equipment. The satellite base station provides communication services to the terminal equipment. The satellite base station can also communicate with other base stations. A satellite can act as a base station or as a terminal device. The satellite can refer to unmanned aerial vehicles (UAVs), hot air balloons, low-Earth orbit (LEO) satellites, medium-Earth orbit (MEO) satellites, high-Earth orbit (HEO) satellites, etc. A satellite can also refer to non-terrestrial base stations or non-terrestrial equipment. As an example, V2X communication can include: vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, and vehicle-to-network (V2N) communication.
[0232] Figure 1 is a schematic diagram of a wireless communication system 100 applicable to an embodiment of this application. As shown in Figure 1, the wireless communication system includes a wireless access network 100. The wireless access network 100 may be a next-generation (e.g., future communication network or higher) wireless access network, or a traditional (e.g., 5G, 4G, 3G, or 2G) wireless access network. One or more terminal devices (120a-120j, collectively referred to as 120) may be interconnected or connected to one or more network devices (110a, 110b, collectively referred to as 110) in the wireless access network 100. Network elements in the wireless communication system are connected through interfaces (e.g., NG, Xn) or air interfaces.
[0233] Figure 1 is just a schematic diagram. The wireless communication system may also include other devices, such as core network (CN) devices, wireless relay devices and / or wireless backhaul devices, which are not shown in Figure 1.
[0234] In practical applications, this wireless communication system can include multiple network devices and multiple terminal devices simultaneously, without limitation. A network device can serve one or more terminal devices simultaneously. A terminal device can also access one or more network devices simultaneously. The embodiments of this application do not limit the number of terminal devices and network devices included in the wireless communication system.
[0235] The communication system described above for use in the embodiments of this application is merely an example. The communication system applicable to the embodiments of this application is not limited to this. Any communication system capable of implementing the functions of the above-described devices is applicable to the embodiments of this application.
[0236] In this application, the terminal device can refer to user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The terminal device can also be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device, or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal device in a 5G network, or terminal device in a future public land mobile network (PLMN), etc. This application does not limit the scope of the terminal device.
[0237] Wearable devices, also known as wearable smart devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices; they achieve powerful functions through software support, data interaction, and cloud interaction. Broadly defined, wearable smart devices include those with comprehensive functions, large sizes, and the ability to perform complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses. They also include devices focused on a specific application function that require the use of other devices, such as smart bracelets and smart jewelry for vital sign monitoring.
[0238] Furthermore, terminal devices can also be terminal devices in Internet of Things (IoT) systems. IoT is an important component of future information technology development, and its main technical feature is connecting objects to networks through communication technologies, thereby realizing an intelligent network that enables human-machine interconnection and machine-to-machine interconnection.
[0239] It should be understood that this application does not limit the specific form of the terminal device.
[0240] Network devices can be devices within a wireless network. For example, a network device can be a device deployed in a wireless network to provide wireless communication capabilities for terminal devices. For instance, a network device can be a radio access network (RAN) node that connects terminal devices to the wireless network. The RAN can be connected to the core network (e.g., the core network of Long Term Evolution (LTE) or the core network of 5G, etc.).
[0241] The network devices in this application embodiment can be access network devices, including but not limited to: various base stations, such as next-generation node B (gNodeB, gNB), evolved node B (eNB), or base station equipment in future evolved communication systems; they can also be servers, wearable devices, vehicle-mounted devices, wireless relay nodes, wireless backhaul nodes, transmission points (TP), or transmission and reception points (TRP), etc.; they can also be one or a group of antenna panels (including multiple antenna panels) of a base station; or they can be network nodes constituting a base station, such as a baseband unit (BBU) or a distributed unit (DU), etc. The base station can be a macro base station, micro base station, pico base station, small cell, relay station, or balloon station, etc.
[0242] The network device in this application embodiment can also be a core network device, including but not limited to: access and mobility management function (AMF) network element, session management function (SMF) network element, user plane function (UPF) network element, policy control function (PCF) network element, or unified data management (UDM) network element, etc.
[0243] Application layer network elements refer to network devices in a computer network that are responsible for processing application layer protocols, including but not limited to: data collection application function (DCAF) network elements, provisioning application function (PAF) network elements, event consumer application function (ECAF) network elements, etc.
[0244] It is understood that all or part of the functions of the network device or terminal device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (such as a cloud platform).
[0245] In some deployments, the network devices mentioned in the embodiments of this application may be devices including centralized units (CU), DU, or devices including CU and DU, or devices with control plane CU nodes (central unit-control plane (CU-CP)) and user plane CU nodes (central unit-user plane (CU-UP)) and DU nodes. For example, the network devices may include gNB-CU-CP, gNB-CU-UP, and gNB-DU.
[0246] In some deployments, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be CUs, DUs, CU-CPs, CU-UPs, or radio units (RUs). CUs and DUs can be configured separately or included in the same network element, such as a BBU. RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna systems (AAUs), or remote radio heads (RRHs).
[0247] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.
[0248] To support machine learning capabilities in wireless communication systems, artificial intelligence (AI) nodes may also be introduced.
[0249] Optionally, the communication system also includes at least one AI node.
[0250] Optionally, the AI node may be deployed on one or more of the following: network devices, terminal devices, core network, or positioning devices; alternatively, the AI node may be deployed independently, such as in a location other than any of the aforementioned devices. The AI node may communicate with other devices in the communication system, which may be, for example, one or more of the following: network devices, terminal devices, core network elements, or sensing devices.
[0251] Optionally, the AI node is used to perform AI-related operations. As an example, AI-related operations may include one or more of the following: model failure testing, model performance testing, model training testing, or data acquisition.
[0252] For example, a network device can forward AI model-related data reported by a terminal device to an AI node, which then performs AI-related operations. As another example, a network device or terminal device can forward AI model-related data to an AI node, which then performs AI-related operations. As yet another example, an AI node can send one or more of the outputs of AI-related operations, such as a trained neural network model, model evaluation, or test results, to a network device and / or a terminal device. For example, an AI node can directly send the outputs of AI-related operations to a network device and a terminal device. As yet another example, an AI node can send the outputs of AI-related operations to a terminal device through a network device. As yet another example, an AI node can send the outputs of AI-related operations to a network device through a terminal device.
[0253] It is understood that this application does not limit the number of AI nodes. For example, when there are multiple AI nodes, these nodes can be divided based on function, such as different AI nodes being responsible for different functions.
[0254] It can also be understood that AI nodes can be independent devices, or they can be integrated into the same device to achieve different functions. Alternatively, they can be network elements in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., a cloud platform). This application does not limit the specific form of the aforementioned AI nodes.
[0255] For example, an AI node can be an AI network element or an AI module.
[0256] It should be understood that Figure 1 is an example illustration of a communication system applicable to the embodiments of this application, and is a simplified schematic diagram for ease of understanding only. The above communication system may also include other network devices or other terminal devices, which are not shown in Figure 1. The communication system applied in the embodiments of this application is not limited to this. In practical applications, the embodiments of this application are applicable to any scenario where multiple devices perform data augmentation or distributed learning through the output of a model or the output of a certain hidden layer of the model.
[0257] It should also be understood that Figure 1 is merely an example application scenario of an embodiment of this application, and this application does not limit the scenario in which the method is applied. This application can be applied to communication between network devices, communication between network devices and terminal devices, communication between terminal devices, etc., and the embodiments of this application do not limit this.
[0258] Figure 2 illustrates a possible application framework in a communication system. As shown in Figure 2, network elements in the communication system are connected via interfaces (e.g., next-generation (NG) interfaces, Xn interfaces) or air interfaces. These network element nodes, such as core network equipment, access network nodes or equipment (RAN nodes or equipment), terminals, or one or more devices in operation administration and maintenance (OAM), are equipped with one or more AI modules (only one is shown in Figure 2 for clarity). The access network node can be a single RAN node or can include multiple RAN nodes, for example, including CU and DU. The CU and / or DU can also be equipped with one or more AI modules. Optionally, the CU can also be split into CU-CP and CU-UP. One or more AI models are configured in CU-CP and / or CU-UP.
[0259] The AI module is used to implement corresponding AI functions. AI modules deployed in different network elements can be the same or different. Depending on the parameter configuration, the AI module can implement different functions. The AI module model can be configured based on one or more of the following parameters: structural parameters (e.g., at least one of the following: number of neural network layers, neural network width, inter-layer connections, neuron weights, neuron activation function, or bias in the activation function), input parameters (e.g., type and / or dimension of input parameters), or output parameters (e.g., type and / or dimension of output parameters). The bias in the activation function can also be referred to as the neural network bias.
[0260] An AI module can have one or more models. A model can infer an output, which includes one or more parameters. The learning, training, or inference processes of different models can be deployed on different nodes or devices, or they can be deployed on the same node or device.
[0261] Figure 3 illustrates a possible application framework in a communication system. As shown in Figure 3, the communication system includes a RAN intelligent controller (RIC). For example, the RIC can be the AI module shown in Figure 2, used to implement AI-related functions. The RIC includes near-real-time RICs (near-RT RICs) and non-real-time RICs (non-RT RICs). Non-real-time RICs primarily process non-real-time information, such as data that is not sensitive to latency, with latency in the order of seconds. Real-time RICs primarily process near-real-time information, such as data that is relatively sensitive to latency, with latency in the order of tens of milliseconds.
[0262] The near real-time RIC is used for model training and inference. For example, it is used to train an AI model and then use that AI model for inference. The near real-time RIC can obtain network-side and / or terminal-side information from RAN nodes (e.g., CU, CU-CP, CU-UP, DU, and / or RU) and / or terminals. This information can be used as training data or inference data. Optionally, the near real-time RIC can deliver the inference results to the RAN nodes and / or terminals. Optionally, inference results can be exchanged between CU and DU, and / or between DU and RU. For example, the near real-time RIC delivers the inference results to the DU, and the DU then sends the inference results to the RU.
[0263] The non-real-time RIC is also used for model training and inference. For example, it can be used to train an AI model and then use that model for inference. The non-real-time RIC can obtain network-side and / or terminal-side information from RAN nodes (e.g., CU, CU-CP, CU-UP, DU, and / or RU) and / or terminals. This information can be used as training data or inference data, and the inference results can be delivered to RAN nodes and / or terminals. Optionally, inference results can be exchanged between CU and DU, and / or between DU and RU. For example, the non-real-time RIC delivers the inference results to the DU, and the DU then sends the inference results to the RU.
[0264] The near real-time RIC and non-real-time RIC can also be set up as separate network elements. Optionally, the near real-time RIC and non-real-time RIC can also be part of other devices. For example, the near real-time RIC can be set in the RAN node (e.g., in CU, DU), while the non-real-time RIC can be set in the OAM, cloud server, core network device, or other network device.
[0265] The embodiments shown below are for ease of understanding and illustration only, and the method provided by the embodiments of this application is described in detail using the interaction between network devices and terminal devices as an example.
[0266] To facilitate understanding of the embodiments of this application, the terminology involved in the embodiments of this application will be briefly introduced below.
[0267] (1) Machine Learning
[0268] Machine learning can be divided into supervised learning, unsupervised learning, and reinforcement learning.
[0269] Supervised learning, based on collected sample values and labels, uses machine learning algorithms to learn the mapping relationship between sample values and labels, and expresses this learned mapping relationship using a machine learning model. The process of training the machine learning model is the process of learning this mapping relationship. For example, in signal detection, the noisy received signal is the sample, and the corresponding real constellation point is the label. Machine learning aims to learn the mapping relationship between samples and labels through training, that is, to enable the machine learning model to learn a signal detector. During training, the model parameters are optimized by calculating the error between the model's predicted values and the real labels. Once the mapping relationship is learned, it can be used to predict the label of each new sample. The mapping relationship learned in supervised learning can include linear mappings and nonlinear mappings. Based on the type of label, the learning task can be divided into classification tasks and regression tasks.
[0270] Unsupervised learning relies solely on collected sample values, using algorithms to discover inherent patterns within the samples. One type of unsupervised learning algorithm uses the samples themselves as supervisory signals; that is, the model learns the mapping relationship from sample to sample, which is called self-supervised learning. During training, model parameters are optimized by calculating the error between the model's predictions and the samples themselves. Self-supervised learning can be used for signal compression and decompression recovery applications; common algorithms include autoencoders and generative adversarial networks.
[0271] Reinforcement learning, unlike supervised learning, is a type of algorithm that learns problem-solving strategies through interaction with the environment. Unlike supervised and unsupervised learning, reinforcement learning problems do not have explicit "correct" action labels. The algorithm needs to interact with the environment to obtain reward signals from the environment, and then adjust its decision actions to obtain a larger reward signal value. For example, in downlink power control, the reinforcement learning model adjusts the downlink transmission power of each user based on the total system throughput feedback from the wireless network, aiming to achieve a higher system throughput. The goal of reinforcement learning is also to learn the mapping relationship between the environment state and the optimal decision action. However, because the label of the "correct action" cannot be obtained in advance, the network cannot be optimized by calculating the error between the action and the "correct action." Reinforcement learning training is achieved through iterative interaction with the environment.
[0272] (2) Deep neural network (DNN)
[0273] Deep neural networks (DNNs) are a specific implementation of machine learning, which in turn is a method of implementing artificial intelligence (AI). According to the general approximation theorem, neural networks can theoretically approximate any continuous function, thus enabling them to learn arbitrary mappings. Traditional communication systems rely on extensive expert knowledge to design communication modules, while DNN-based deep learning communication systems can automatically discover hidden pattern structures from large datasets, establish mapping relationships between data, and achieve performance superior to traditional modeling methods.
[0274] Deep neural networks, also known as multilayer neural networks, can be understood as neural networks with multiple hidden layers. Based on the position of different layers, the internal neural network of a DNN can be divided into three categories: input layer, hidden layer, and output layer. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. The layers are fully connected, meaning that any neuron in the m-th layer is connected to any neuron in the (m+1)-th layer.
[0275] Figure 4 is a schematic diagram of a deep neural network structure applicable to an embodiment of this application. Figure 4(a) is a schematic diagram of a neuron structure, and Figure 4(b) is a schematic diagram of a neural network structure. The idea of DNN originates from the neuron structure of brain tissue. Each neuron performs a weighted summation operation on its input values and generates an output through a function F(x) of the weighted summation operation, as shown in Figure 4(a). Specifically, assume that the input of the neuron is x = [x0, x1, ..., x...]. M-1 ,x M The weight parameter corresponding to this input is d = [d0, d1, ..., d]. M-1 ,dM The bias of the weighted summation is b. The function can take many forms; for example, when the function F(x) is a maximum function max{0,x}, the result of executing a neuron could be... DNNs typically have a multi-layered structure, with each layer containing multiple neurons. The input layer processes the received values through neurons and then passes them to the intermediate hidden layers. Similarly, the final hidden layer passes the calculation results to the output layer, producing the final output of the DNN, as shown in Figure 4(b).
[0276] For example, taking a DNN with three hidden layers as an example, let's denote the hidden layers between the input layer and the output layer as hidden layer #1, hidden layer #2, and hidden layer #3, respectively. The input layer passes the computation result to hidden layer #1; hidden layer #1 performs computation based on the data sent by the input layer and passes the result to hidden layer #2; hidden layer #2 performs computation based on the data sent by hidden layer #1 and passes the result to hidden layer #3; and hidden layer #3, as the last hidden layer (which can also be understood as the hidden layer closest to the output layer), performs computation based on the data sent by hidden layer #2 and passes the result to the final output layer; the output layer performs computation based on the data sent by hidden layer #3, and the result is the final output of the DNN. The input layer or hidden layer performs computation based on the received data, and the result can be a feature; the output layer performs computation based on the received data, and the result can be the output of the DNN.
[0277] DNNs typically have more than one hidden layer, and these hidden layers often directly affect the ability to extract information and fit functions. Increasing the number of hidden layers or widening the width of each layer can improve the function fitting ability of a DNN. The weights in each neuron are the parameters of the DNN network model. The model parameters are optimized through the training process, enabling the DNN network to extract data features and express mapping relationships. DNNs generally use supervised or unsupervised learning strategies to optimize model parameters.
[0278] Based on the way the network is constructed, DNNs can be divided into feedforward neural networks (FNNs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs). Figure 4(b) shows an FNN network, which is characterized by complete pairwise connections between neurons in adjacent layers. This makes FNNs typically require a large amount of storage space, resulting in high computational complexity.
[0279] CNNs are neural networks specifically designed to process data with a grid-like structure. For example, time-series data (discrete sampling along the time axis) and image data (two-dimensional discrete sampling) can both be considered grid-like data. CNNs do not use all the input information at once for computation; instead, they use a fixed-size window to extract a portion of the information for convolution operations, which significantly reduces the computational cost of model parameters. Furthermore, depending on the type of information extracted by the window (such as people and objects in an image representing different types of information), each window can use different convolution kernels, allowing CNNs to better extract features from the input data.
[0280] Recurrent Neural Networks (RNNs) are a type of distributed neural network (DNN) that utilizes feedback time-series information. Their input includes the current input value and their own output value from the previous time step. RNNs are well-suited for acquiring temporally correlated sequence features, and are particularly applicable to applications such as speech recognition and channel coding / decoding.
[0281] The FNN, CNN, and RNN mentioned above are common neural network structures, all built upon neurons. As introduced above, each neuron performs a weighted summation operation on its input values, and the result is output through a function. The weights and the function used in the weighted summation operation of neurons in a neural network are called the parameters of the neural network. Taking a neuron with max{0,x} as an example, the execution... The parameters of the operated neuron include: weights d = [d0, d1, ..., d2]. M-1 ,d M The parameters of a neural network consist of the parameters of all neurons, including the weighted summation bias b and the function max{0,x}.
[0282] (3) AI Model
[0283] An AI model is an algorithm or computer program that enables AI functionality. An AI model represents the mapping relationship between the model's input and output; in other words, it's a function model that maps an input of a certain dimension to an output of a certain dimension. The parameters of this function model can be obtained through machine learning training. For example, f(x) = mx 2 +m' is a quadratic function model, which can be viewed as an AI model. m' and m are the parameters of this AI model, and m' and m can be obtained through machine learning training.
[0284] It is understood that AI models can be implemented using hardware circuits, software, or a combination of both; there are no restrictions. Non-restrictive examples of software include: program code, program, subroutine, instructions, instruction sets, code, code segments, software modules, application programs, or software applications, etc.
[0285] The AI module is a module with machine learning computing capabilities. In wireless communication systems, the AI module can be located in operations, administration and maintenance (OAM), or in a gNB (e.g., in a separate architecture, it can be located in the CU / DU), in terminal equipment, or as a standalone network element entity, the RAN intelligent controller (RIC). The main function of the AI module in a wireless communication system is to perform a series of AI calculations based on input data (e.g., network operation data provided by access network equipment, or network operation data monitored by OAM, such as network load, channel quality, etc., or user plane data transmission information provided by the core network, or data collected by communication equipment), including model building, training approximation, and reinforcement learning. Currently, the trained models provided by the AI module have predictive capabilities for changes in the RAN side network and can be used for load prediction, terminal equipment path prediction, CSI prediction, optimal beam prediction, and positioning prediction. Furthermore, the AI module can also perform policy reasoning from the perspectives of network energy saving and mobility optimization based on the predicted RAN network performance results of the trained models, to obtain reasonable and efficient energy-saving strategies and mobility optimization strategies. When the AI model resides in the CU, and the CU's control plane and user plane are separated, the CP can be responsible for receiving the AI model and subsequent AI inference and policy generation functions. When the CU-CP is further divided into CU-CP1 and CU-CP2, CU-CP1 can be responsible for receiving the AI model and subsequent AI model inference functions, and generating specific interactive signaling, which is then sent by CU-CP2. When the AI module is located in the OAM, its communication with the RAN-side gNB can reuse the current northbound interface. When the AI module is located in the gNB or CU, the current F1, Xn, Uu, etc. interfaces can be reused; when the AI module becomes an independent network entity, a new communication link needs to be established with the OAM and RAN sides, for example, based on a wired link or a wireless link.
[0286] (4) Distributed learning
[0287] Most machine learning techniques, such as deep neural network-based learning algorithms, require centralized, readily available data for training. However, centralized training necessitates collecting a large amount of data, often from user devices, requiring users to upload this data, which incurs significant upload overhead. Furthermore, the collection and use of this data may infringe on user privacy (e.g., this data might include user location, movement routes, and photos). Therefore, training machine learning models by collecting data from other devices could raise significant concerns among users about privacy data breaches.
[0288] Distributed learning is a method for training neural networks that inherently provides privacy protection for user data, thus helping to solve the aforementioned problems. In distributed learning, training typically involves multiple child nodes and a central node. The user's original data resides locally, and the user collaborates with the central node to complete the training using their local computing power, avoiding direct sharing of the original data and thereby protecting the privacy and security of user data.
[0289] (5) Segmentation learning
[0290] Segmentation learning is a distributed learning framework in which a deep neural network is divided into two parts, trained separately by the user (or child nodes) and the server (or central node). Since child nodes only undertake the training of a portion of the network, segmentation learning is more user-friendly for computationally limited devices. In the segmentation learning framework, the user sends intermediate variables (e.g., features output from hidden layers) and labels calculated by their local child nodes to the central node. The central node then calculates the loss function, uses the loss function to calculate the gradient of its neural network parameters, and updates its model accordingly. Furthermore, the central node can calculate the gradient of the intermediate variables transmitted by the child nodes based on the loss function and feed this gradient back to the child nodes to update their neural network parameters. Throughout this process, different child nodes, and between child nodes and the central node, do not share raw data, thus protecting the privacy of the child nodes.
[0291] Child nodes can also be called child computing nodes, and the central node can also be called the central computing node. It is understood that the names of the nodes used for neural network training are not limiting, and the embodiments of this application do not impose such limitations. For ease of understanding, the following description uses child nodes and the central node as examples to illustrate some possible implementations of segmentation learning.
[0292] For example, segmentation learning can utilize a local dataset {D1, D2, ..., D} with N child nodes. N-1 D N A central node and one or more child nodes collaborate to train an N... L A deep neural network with layers {L1,L2,...,L...} NL-1 ,L NL}, where child node n (n∈[0,N]) has a local dataset D n D n ∈{D1,D2,...,D N-1 D N}. The N L A neural network with layer N can CThe layer is divided into two parts, of which the first N C Layered neural network {L1,L2,...,L} NC} is held by child nodes and can be called a child node neural network / child node model f(·,w) u The remaining part of the neural network {L NC+1 ,L NC+2 ,...,L NL} is held by the central node and can be called a central node neural network / central node model g(·,w) c ).
[0293] One possible training process for segmentation learning is as follows:
[0294] First, a child node n randomly draws a batch of data without replacement from its local training set. in, B n The number of data points to be extracted in a batch. It can be used as input to the neural network of child node n. It can be used as input to a neural network with child node n. The corresponding label. The neural network with child node n can be based on the input... Perform calculations to obtain Corresponding features Then, child node n can carry out the features Or features and corresponding tags Send it to the central node. The central node can then determine the characteristics of the received data. Perform forward propagation calculations to obtain the results. ( It can also be called the output of the model) and output the calculation results. satisfy The central node can also calculate the loss value according to the preset loss function L(p,y), where, The central node can also calculate information about parameter w. c gradient and the gradient g with respect to the feature z ,in, satisfy: g z satisfy: The central node can use gradients Perform backpropagation to update its own parameters; the central node can also transmit the gradient g with respect to the features. z Feedback is sent to child node n. Child node n receives the gradient g.z After that, it can be based on g z Calculate the gradient with respect to its own parameters satisfy: Child node n can be determined based on gradient Perform backpropagation to update its own parameters. This process can be repeated until the local training set D of child node n is reached. n The process is iterated through once. Then, child node n can send its own parameters to another child node n+1, which can repeat the above steps similar to those of child node n, until the model composed of N child nodes and the central node converges.
[0295] It is understandable that the superscripts of data such as x, y, z, p, q are used to represent their corresponding indices. The superscript does not indicate that exponentiation or other operations are performed on the data with the superscript.
[0296] Because child nodes typically store limited local training data suitable for model training, training their models using local training data is prone to overfitting, ultimately leading to distributed training performing worse than centralized training. Existing solutions involve child nodes randomly selecting two inputs from their local training set. Based on these two inputs, their corresponding labels, and linear interpolation (e.g., MixUp data augmentation), a new input and its corresponding label are generated. This newly generated input and its label can then be used as augmented data for distributed training. The weighting coefficient λ used for linear interpolation is sampled from a fixed probability distribution (e.g., a Belta distribution). For example, λ ~ β(α, α), where α is the parameter of the Belta distribution. Each time a child node extracts a batch of data for generating augmented data, a value of λ is sampled from the Belta distribution. This parameter λ is fixed for the same batch of data extracted by the child node for generating augmented data.
[0297] For example, child node n randomly selects a batch of data from its local training set. Select one of them and As a pair of inputs for generating augmented data (i∈[1,B) n ];j∈[1,B n ]), and For generating augmented data, a pair of inputs and The corresponding tags. Based on MixUp data augmentation, child node n can perform the following linear interpolation operation to generate augmented data.
[0298] However, since the weighting coefficient λ is a fixed constant for the same batch of data, and λ is obtained through random sampling, the sampled weighting coefficients do not depend on the distribution of multiple original training samples. Therefore, it is impossible to achieve adaptive adaptation to multiple original training samples. Data augmentation based on the above method to generate augmented data cannot adapt to the data distribution of the training samples. The distribution of the generated augmented data differs significantly from that of the original training samples, ultimately leading to poor performance of distributed training.
[0299] This application provides a method and apparatus for generating data. The weighting coefficient λ is determined based on the calculation results of the hidden layer or output layer of the neural network, which can generate augmented data that adapts to the data distribution of the training samples, thereby improving the performance of distributed training.
[0300] The data generation method provided in this application can be applied between a network device and one or more terminal devices, or between multiple network devices, or between multiple terminal devices. Any communication device capable of performing distributed training can implement the data generation method provided in this application. For ease of description, the following uses a network device (e.g., base station #1) as the central node of the distributed training and a terminal device (e.g., UE #1) as a child node of the distributed training as an example to describe in detail the possible implementations of the data generation method 500 provided in this application.
[0301] Figure 5 illustrates a possible method for generating data according to an embodiment of this application. As shown in Figure 5, the method 500 for generating data may include the following steps:
[0302] S510, determine the weighting coefficients, which are determined based on a first value and a second value. The first value includes a first feature and / or a first output value obtained by using the first data as input to the neural network, and the second value includes a second feature and / or a second output value obtained by using the second data as input to the neural network.
[0303] S520 generates third data based on weighting coefficients, first data, and second data. The third data is used to train the neural network.
[0304] Specifically, after determining the weighting coefficients, the terminal device can perform linear interpolation on the first and second data based on the weighting coefficients to generate third data. This third data can be used as augmented data for training the neural network. The weighting coefficients are determined based on the first and second values. The first value includes a first feature obtained by using the first data as input to the neural network, and the second value includes a second feature obtained by using the second data as input to the neural network; and / or, the first value includes a first output value obtained by using the first data as input to the neural network, and the second value includes a second output value obtained by using the second data as input to the neural network.
[0305] For example, in the multiple original training samples used to train a neural network, two data points can form a data pair, and a data pair and a weighting coefficient can generate an augmented data through weighted calculation.
[0306] For example, the first value includes a first feature, and the second value includes a second feature; or, the first value includes a first output value, and the second value includes a second output value; or, the first value includes a first feature and a first output value, and the second value includes a second feature and a second output value.
[0307] It is understood that the weighting coefficients can be determined based on features, the output values, or both features and output values. This application does not limit this approach.
[0308] For example, weighting coefficient #1 is determined based on the feature, weighting coefficient #2 is determined based on the output value, and the average value of weighting coefficient #1 and weighting coefficient #2 is taken. The result represents the weighting coefficient determined based on the first value and the second value.
[0309] Based on the solution provided in this application, the weighting coefficients for generating augmented data are determined according to the output value or features of the neural network. On the one hand, this avoids the situation where multiple data pairs in the same batch of data use the same weighting coefficients when augmenting the same batch of data, resulting in the distribution of the generated augmented data failing to adapt to the data distribution of the training samples, and the distribution of the generated augmented data differing significantly from that of the original training samples. On the other hand, the weighting coefficients used to generate augmented data are correlated with the output values or features of the first and second data used to generate augmented data, which enables the distribution of the generated augmented data to better adapt to the data distribution of the original training samples used to train the neural network, thereby improving the performance of distributed training.
[0310] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0311] Specifically, the terminal device and the network device jointly perform distributed learning. The distributed learning training neural network includes a first neural network and a second neural network. The first neural network is deployed on the terminal device, and the second neural network is deployed on the network device. The first output value and the second output value are calculated by the second neural network deployed on the network device. The first feature and / or the second feature are calculated by the first neural network deployed on the terminal device, and / or the first feature and / or the second feature are calculated by the second neural network deployed on the network device.
[0312] For example, a first neural network may include an input layer and a hidden layer, while a second neural network may include a hidden layer and an output layer. The input layer or hidden layer can output the calculated features, and the output layer can output the calculated output value of the neural network. The features calculated by the first neural network are generally shallow features of the input, while the features calculated by the second neural network are generally deep features of the input, capable of representing the input data in greater depth.
[0313] In distributed learning, a first neural network and a second neural network can together form a neural network. The last hidden layer of the first neural network can be considered its output layer, and the first hidden layer of the second neural network can be considered its input layer. The output of the first neural network's output layer can be used as the input of the second neural network's input layer.
[0314] Based on the solution provided in the embodiments of this application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of the original data and protecting the privacy and security of user data; on the other hand, by utilizing the computing power of the second communication device which is stronger than that of the first communication device, the first or second value calculated by the second neural network can more deeply represent the input data, thereby resulting in the weighting coefficients being beneficial for generating augmented data that adapts to the data distribution of the training samples, which can improve the performance of distributed training.
[0315] In some possible implementations, the method also includes: determining a third feature obtained by using third data as input to the neural network.
[0316] For example, after the terminal device determines the third data, it can input the third data into the first neural network, and the output of the first neural network can be used as the third feature and / or the third output value.
[0317] For example, the terminal device can also send the output of the first neural network to the network device. The network device can use the output of the first neural network as the input of the second neural network and calculate the result of the hidden layer or the output layer of the second neural network. The output result of the hidden layer of the second neural network can be used as a third feature, and the output result of the output layer of the second neural network can be used as a third output value.
[0318] In some possible implementations, the method also includes sending a third feature and / or a third tag.
[0319] For example, the first communication device may send a determined third feature and / or third label to the second communication device, which may be used to train a neural network (e.g., a second neural network) deployed in the second communication device.
[0320] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0321] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0322] In some possible implementations, the method also includes: determining a first value and / or a second value based on a first neural network.
[0323] In some possible implementations, the method also includes: sending a first value and / or a second value; correspondingly, receiving the first value and / or the second value.
[0324] For example, after determining the first value and / or the second value, the terminal device can determine the weighting coefficients based on the features calculated by the first neural network. Alternatively, the terminal device can send the features calculated by the first neural network to the network device, which can then determine the weighting coefficients based on the features calculated by the first neural network.
[0325] For example, the terminal device sends a first feature and a second feature to the network device, and the network device can determine the weighting coefficient based on the first feature and the second feature; or, the terminal device sends a first feature or a second feature to the network device, and the network device can determine the weighting coefficient based on the first feature or the second feature, and the second feature or the first feature output by the second neural network.
[0326] In some possible implementations, determining the weighting coefficients includes: receiving first indication information, and correspondingly, sending the first indication information, which indicates the weighting coefficients.
[0327] Specifically, the terminal device can receive a first indication information sent by the network device, which indicates the weighting coefficients determined by the network device.
[0328] For example, the first indication information includes weighting coefficients.
[0329] Based on the solution provided in the embodiments of this application, the second communication device indicates the weighting coefficient through the first indication information. The weighting coefficient is determined by the second communication device through calculation based on the first value and the second value. By utilizing the computing power of the second communication device, which is stronger than that of the first communication device, the computing power of different communication devices can be reasonably allocated, which helps to optimize the use of computing power.
[0330] In some possible implementations, determining the weighting coefficients includes: receiving first indication information, correspondingly sending first indication information, the first indication information indicating a first value and / or a second value; and determining the first value and / or the second value based on the first indication information.
[0331] Specifically, the terminal device can receive first indication information sent by the network device, the first indication information indicating a first value and / or a second value, and the terminal device can determine the first value and / or the second value based on the first indication information.
[0332] For example, the first indication information indicates a first value and / or a second value. When the first value and the second value are first features and / or second features obtained from a first neural network, the first indication information may indicate an index of the first data and / or the second data. The first communication device may, based on the index indicated by the first indication information, determine the feature corresponding to the index as the first value and / or the second value from among the multiple features corresponding to multiple original training samples. The multiple features corresponding to multiple original training samples are obtained by using multiple original training samples as input to the first neural network. When the first value and the second value are obtained from a second neural network, the first indication information may indicate the specific values of the first value and the second value. The first communication device may calculate a weighting coefficient based on the specific values of the first value and the second value.
[0333] For example, the first indication information includes a first value and / or a second value.
[0334] In some possible implementations, before receiving the first indication information, the method further includes: sending a second indication information, and correspondingly receiving the second indication information, wherein the second indication information indicates the first data and the second data.
[0335] For example, when the first data and the second data used to generate the third data are determined by the terminal device and the weighting coefficient is determined by the network device, the terminal device can send a second indication information. The second indication information indicates the first data and the second data. The network device can determine the first data and the second data according to the second indication information and determine the weighting coefficient according to the first data and the second data.
[0336] To establish a correlation between the weighting coefficients and the first and second data, and further, to ensure that the distribution of the third data generated from the first, second, and weighting coefficients is more closely aligned with the data distribution of the original training samples used to train the neural network, the terminal device can send a second instruction to the network device. The network device can then determine the first and second data based on this second instruction. After determining the first and second data, the network device can calculate the weighting coefficients corresponding to the first and second data based on their respective features or output values (e.g., first and second features, or first and second output values).
[0337] Based on the solution provided in the embodiments of this application, the first communication device indicates the first and second data used to generate the third data through the second indication information, so that the second communication device can determine the first and second data used to generate the third data according to the second indication information, and then calculate the weighting coefficients that are related to the first and second data used to generate the third data, thereby realizing the effective data augmentation required for distributed learning.
[0338] In some possible implementations, determining the weighting coefficients also includes sending a third instruction message that indicates the features and labels corresponding to the original training samples used to train the neural network, wherein the features corresponding to the original training samples are obtained by using the original training samples as input to the first neural network.
[0339] In some possible implementations, the second communication device can determine the first value and / or the second value based on the second indication information. For example, multiple original training samples correspond to multiple features, and the second communication device can determine the multiple features based on the third indication information, and determine one of the multiple features as the first feature or the second feature based on the second indication information.
[0340] In some possible implementations, the second and third instruction messages are sent simultaneously.
[0341] For example, the second and third instruction messages are included in the same message.
[0342] For example, the second indication information includes the index of the first data and the index of the second data.
[0343] In some possible implementations, determining the weighting coefficients also includes: determining the weighting coefficients based on the first value and the second value.
[0344] Specifically, the terminal device can determine the weighting coefficient by calculation based on the first and second values.
[0345] For example, the first indication information includes a first value and a second value, and the terminal device can determine the weighting coefficient based on the first value and the second value; or, the first indication information includes either the first value or the second value, and the terminal device can determine the weighting coefficient based on the second value or the first value output by the first neural network and the first value or the second value included in the first indication information.
[0346] For example, the network device can determine the weighting coefficients based on the first feature and the second feature sent by the terminal device. The network device can also determine the weighting coefficients based on the first feature sent by the terminal device and the second feature calculated by the second neural network.
[0347] In some possible implementations, the weighting coefficient λ r Satisfy: λ r =K×d(p i ,p j ) or λ r =K×d(q) i ,q j ), where K≠0, r≠0, d() represents distance, q i q represents the first feature obtained by using the first data as input to the neural network. j p represents the second feature obtained by using the second data as input to the neural network. i p represents the first output value obtained by using the first data as input to the neural network. j This represents the second output value obtained by using the second data as input to the neural network, where i represents the index of the first data, j represents the index of the second data, and r represents the index of the weighting coefficient.
[0348] For example, K = 1.
[0349] It is understood that the range of values for r can be different from that of i. For example, a dataset contains 10 data points. Based on these 10 data points, 10 weighting coefficients can be determined. Alternatively, weighting coefficients with a quantity greater than or less than 10 can also be determined based on these 10 data points. This application does not limit this aspect.
[0350] Based on the solution provided in the embodiments of this application, the weighting coefficient is determined by the distance between the features corresponding to the first data and the second data or the distance between the output values. This enables the distribution of augmented data generated based on the weighting coefficient to better match the data distribution of the training samples, thereby improving the performance of distributed training.
[0351] In some possible implementations, d() represents L2 distance or cosine similarity.
[0352] L2 distance, also known as Euclidean distance, is used to measure the straight-line distance between two points in multidimensional space. It is based on the Pythagorean theorem and represents the direct length between two points.
[0353] In some possible implementations, the method further includes: determining first data and second data, the first data and second data belonging to a first dataset, the first dataset including multiple original training samples for training the neural network, the first data and second data satisfying any one of the following conditions: the first data and second data are randomly determined in the first dataset; the first data and second data are determined in the first dataset according to a mapping rule; the second data are randomly determined in the second dataset, the second dataset being a subset of the first dataset, and the fourth feature or fourth output value obtained by using data from the second dataset as input to the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or, the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0354] Specifically, the first and second data used to generate the third data can be randomly determined from multiple original training samples used to train the neural network; the first and second data used to generate the third data can be determined according to a mapping rule; the second data used to generate the third data can be randomly determined from data that meets performance conditions, and the fourth feature or fourth output value obtained by using the data that meets performance conditions as input to the neural network is less than a threshold distance from the first feature or first output value obtained by using the first data as input to the neural network.
[0355] For example, a terminal device or network device can determine the first data and the second data corresponding to the first data based on a preset mapping rule.
[0356] It is understood that the mapping rule described in the embodiments of this application can be any kind of mapping rule, and the embodiments of this application do not limit it.
[0357] For example, the mapping rule could be a correspondence between data with indices R and R+1, a correspondence between data with indices R and R-1, or a correspondence between data with indices R and R+2. These mapping rules are merely illustrative examples and do not constitute a limitation of this application.
[0358] For example, the first dataset may be a collection of all data used to train the neural network stored on the terminal device, or the first dataset may be a collection of all data used to train the neural network that the terminal device can obtain from other devices.
[0359] For example, a terminal device may store multiple datasets (or the terminal device may be able to access multiple datasets through other devices), and these datasets can be used to train multiple different AI models. The first dataset can be the union of multiple datasets, or it can be a collection of data used to train a first neural network.
[0360] Taking images as an example when inputting data into a neural network, if a second data point corresponding to the first data point is randomly selected, and a third data point is generated based on the first and second data points, the data distributions of the first and second data points may differ too much, or even represent two completely different categories of data (e.g., a dog and a car in the same image, leading to semantic confusion). The resulting augmented data will have a significantly different distribution from the original training samples, affecting the performance of distribution training. This problem can be avoided by selecting data that meets a threshold requirement as the second data point for generating augmented data.
[0361] Based on the solution provided in the embodiments of this application, by determining the second data corresponding to the first data in the second dataset that meets the performance conditions, it is possible to avoid the second data and the first data having too large a difference in distribution, so that the distribution of the generated augmented data is more adapted to the data distribution of the training samples, thereby improving the performance of distributed training.
[0362] In some possible implementations, the first instruction information also indicates the second data, or the first instruction information also indicates both the first data and the second data.
[0363] For example, when the first data, second data, and weighting coefficients used to generate the third data are determined by the network device, the first indication information may also indicate the second data, or it may also indicate the first data and the second data. The terminal device can generate the third data based on the first data, second data, and weighting coefficients indicated by the first indication information.
[0364] For example, the first indication information may indicate a weighting coefficient and first data and second data corresponding to that weighting coefficient. The terminal device can determine the first data, second data and weighting coefficient based on the first indication information, and generate third data through weighted calculation.
[0365] Based on the solution provided in the embodiments of this application, the first communication device determines the first data and the second data by receiving the first instruction information, so that the first communication device can determine the first data and the second data used to generate the third data according to the first instruction information, thereby realizing the effective data augmentation required for distributed learning.
[0366] In some possible implementations, the first indication information also includes an index of the second data.
[0367] In some possible implementations, the first instruction information may also include an index of the first data.
[0368] In some possible implementations, the first data includes a first input and / or a first label corresponding to the first input; the second data includes a second input and / or a second label corresponding to the second input; and the third data includes a third input and / or a third label corresponding to the third input.
[0369] Specifically, the first data may include at least one of a first input or a first label, the second data may include at least one of a second input or a second label, and the third data may include at least one of a third input or a third label. Inputting the first data, second data, or third data into a neural network allows the network to perform calculations to obtain a first feature and / or a first output value corresponding to the first input, a second feature and / or a second output value corresponding to the second input, or a third feature and / or a third output value corresponding to the third input.
[0370] For example, when the neural network is an autoencoder neural network, the first data may include either a first input or a first label, the second data may include either a second input or a second label, and the third data may include either a third input or a third label. The first input and the first label may be the same, the second input and the second label may be the same, and the third input and the third label may be the same.
[0371] The following describes in detail one possible implementation of the method 500 provided in the embodiments of this application, taking UE#1 as the first communication device and base station#1 as the second communication device.
[0372] Specifically, UE#1 stores a dataset D1 that can be used for distributed training, where D1 = {x0, x1, ..., x...} n-1 ,x n D1 is one possible implementation of the first dataset. When UE#1 and base station #1 collaborate to train the deep neural network, UE#1 can perform data augmentation based on the data in D1 and the collaboratively trained deep neural network, and the augmented data is used to train the neural network.
[0373] For example, UE#1 can use x1 and x2 in D1 as the original data for data augmentation, and use the weighting coefficient λ as the weighting coefficient for data augmentation to perform data augmentation, in order to generate augmented data. Here, λ is obtained from the output values p1 and p2 obtained by inputting x1 and x2 into the neural network, or from the features q1 and q2. p1 is a possible implementation of the third data, p2 is a possible implementation of the first output value, p2 is a possible implementation of the second output value, q1 is a possible implementation of the first feature, and q2 is a possible implementation of the second feature.
[0374] For example, inputting x1 into the neural network will cause its output layer to output the value p1 corresponding to x1. Inputting x2 will cause the output layer to output the value p2 corresponding to x2. UE#1 or base station #1 can calculate the distance between p1 and p2 based on L2 distance or cosine similarity, and the result can be represented as d(p1,p2). Let λ = K × d(p1,p2), where K ≠ 0. When K = 1, λ = d(p1,p2). UE#1 can then perform data augmentation based on x1, x2, and λ = d(p1,p2) to obtain augmented data. Correspondingly, the label for x1 is denoted as y1, and the label for x2 is denoted as y2, augmenting the data. tags satisfy: Augmented data and corresponding tags It can be used to train the neural network.
[0375] For example, inputting x1 into the neural network will cause its hidden layer to output the feature q1 corresponding to x1. Similarly, inputting x2 will cause its hidden layer to output the feature q2 corresponding to x2. UE#1 or base station #1 can calculate the distance between q1 and q2 based on L2 distance or cosine similarity, and the result can be represented as d(q1,q2). Let λ = K × d(q1,q2), where K ≠ 0. When K = 1, λ = d(q1,q2). UE#1 can then perform data augmentation based on x1, x2, and λ = d(q1,q2) to obtain augmented data. Correspondingly, x1 is labeled y1, and x2 is labeled y2, augmenting the data. tags satisfy: Augmented data and corresponding tags It can be used to train the neural network.
[0376] In some possible implementations, x1 and x2 can be in D1 = {x0, x1, ..., x...} n -1,x nIn method 500, x2 can be selected according to a preset mapping rule or randomly; as one possible implementation of method 500, x2 can be based on the mapping of D1 = {x0, x1, ..., x...}. n-1 ,x n The data in the input field is used to obtain the output value of the neural network, or the data obtained from the features.
[0377] For example, first, x1 is selected as the original data for data augmentation. x1 is input into the neural network, and the hidden layer of the neural network can output the feature q1 corresponding to x1. Let D1 = {x0, x1, ..., x...} n-1 ,x n The data in the formula {} is input into this neural network, and the hidden layers of this neural network can output a set of corresponding features, denoted as Q1={q'0,q'1,...,q'}. n-1 ,q' n UE#1 can calculate the distance between each term in q1 and Q1 based on L2 distance or cosine similarity. It then selects q' that satisfies d(q1,Q1)≤d1. n Corresponding x n denoted as D'1={x n}, where d1 is a possible implementation of the first threshold. x1 and x2 can be in D'1 = {x n The mapping is selected according to a preset rule or randomly. D'1 = {x} n} is one possible implementation of the second dataset.
[0378] For example, first, x1 is selected as the original data for data augmentation. x1 is input into the neural network, and the output layer of the neural network can output the corresponding output value p1. Let D1 = {x0, x1, ..., x...} n-1 ,x n The data in the array is input into this neural network, and the output layer of this neural network can output a set of corresponding output values, denoted as P1={p'0,p'1,...,p'}. n -1,p' n UE#1 can calculate the distance between each term in p1 and P1 based on L2 distance or cosine similarity. It then selects p' that satisfies d(p1,P1)≤d2. n Corresponding x n , denoted as D”1={x n}, where d2 is a possible implementation of the second threshold. x1 and x2 can be in D”1={x n The mapping is selected according to a preset rule or randomly. D”1={x n} represents another possible implementation of the second dataset.
[0379] In some possible implementations, base station #1 may send a first indication information to UE #1, the first indication information being used to indicate x1 and x2, or the first indication information being used to indicate x2.
[0380] When the first indication information is also used to indicate λ, UE#1 can also determine λ based on the first indication information.
[0381] For example, x1 and x2 are base station #1 in D1 = {x0, x1, ..., x2} n-1 ,x n} or D'1={x n} or D”1={x n According to a preset mapping rule or when randomly selected, base station #1 can send a first indication information to UE #1. The first indication information is used to indicate that the indices of the two data as the original data for data augmentation are 1 and 2, that is, the data pair used for data augmentation is x1 and x2.
[0382] In some possible implementations, base station #1 can send a fourth indication message to UE #1, which is used by UE #1 to correctly decode the content indicated by the first indication message.
[0383] For example, base station #1 sends a fourth indication information to UE #1, the fourth indication information indicating that the value indicated by the first indication information corresponds to the index and λ of the original data as data augmentation.
[0384] For example, the content indicated by the fourth instruction information can be represented as follows:
[0385] Table 1
[0386] UE#1 can correctly parse the content indicated by the first indication information based on the fourth indication information. For example, the content indicated by the first indication information includes: 1, 2, 0.5. UE#1 can determine that the first indication information indicates that the indices of the original data used for data augmentation are 1 and 2 (i.e., the sample pairing relationship indicates that the data with indices 1 and 2 are a data pair), λ = 0.5. UE#1 can then perform data augmentation using x1, x2, and λ = 0.5.
[0387] For example, UE#1 indicates to base station #1 via the third indication information that the index numbers of the features corresponding to the original training samples are 1, 3, and 7. Base station #1 can indicate the indices of the original data to be used for data augmentation according to the order of these index numbers transmitted by UE#1. In this case, the data with index numbers 1, 3, and 7 can be assumed to be the original data for data augmentation. The content indicated by the fourth indication information can be represented as follows:
[0388] Table 2
[0389] UE#1 can correctly parse the content indicated by the first indication information based on the fourth indication information. For example, the content indicated by the first indication information includes: 2,0.5; 1,0.6; 9,0.3. UE#1 can determine that the index of the data used as the original data for data augmentation indicated by the first indication information and λ satisfy the correspondence shown in Table 3:
[0390] Table 3
[0391] UE#1 can be augmented with x1, x2 and λ = 0.5; or, UE#1 can be augmented with x1, x3 and λ = 0.6; or, UE#1 can be augmented with x7, x9 and λ = 0.3.
[0392] Understandably, when a neural network has multiple hidden layers, features q1 and q2 can be values calculated by one of these hidden layers and output to the next hidden layer. The hidden layer that outputs features q1 and q2 can be deployed at UE#1 or at base station#1. When λ is determined based on the features output by the hidden layer deployed at base station#1, base station#1 can send the features q1 and q2 output by the hidden layer to UE#1.
[0393] The foregoing, with reference to Figure 5, described a possible method 500 for generating data according to an embodiment of this application. The following, with reference to Figure 6, describes another possible method 600 for generating data according to an embodiment of this application. Method 600 may include the following steps:
[0394] S610, determine the second data corresponding to the first data among multiple original training samples. The second data is determined based on the first value and the second value. The first value includes a first feature obtained by using the first data as the input of the neural network, and the second value includes a second feature obtained by using the second data as the input of the neural network; or the first value includes a first output value obtained by using the first data as the input of the neural network, and the second value includes a second output value obtained by using the second data as the input of the neural network.
[0395] S620 generates third data based on the first data, the second data, and the weighting coefficients. The third data is used to train the neural network, and the weighting coefficients are determined based on the probability distribution.
[0396] Specifically, after determining the first data used to generate the third data, the first communication device can determine the second data corresponding to the first data from multiple original training samples based on the first value and the second value.
[0397] For example, the first communication device can input multiple original training samples for training the neural network into the neural network, and the neural network can calculate multiple features and / or multiple output values corresponding to the multiple original training samples. The first communication device can determine the second data corresponding to the first data from the multiple original training samples based on the multiple features and / or multiple output values.
[0398] For example, the second communication device may first determine the second value, and then determine the data corresponding to the second value as the second data.
[0399] For example, probability distributions may include Belta distribution, binomial distribution, multinomial distribution, gamma distribution, etc.
[0400] Based on the solution provided in the embodiments of this application, the second data used to generate augmented data is determined according to the output value or features of the neural network. This makes the selected second data more compatible with the first data, thereby making the distribution of the generated augmented data more suitable for the data distribution of the training samples, which can improve the performance of distributed training.
[0401] In some possible implementations, the method also includes: determining a third feature and / or a third output value obtained by using third data as input to the neural network.
[0402] In some possible implementations, the method also includes sending a third feature and / or a third tag.
[0403] For example, the first communication device may send a determined third feature and / or third label to the second communication device, which may be used to train a neural network (e.g., a second neural network) deployed in the second communication device.
[0404] In some possible implementations, the first dataset includes multiple original training samples for training the neural network, the second dataset is a subset of the first dataset, and the fourth feature or fourth output value obtained by using the data in the second dataset as input to the neural network satisfies the following: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0405] For example, the first communication device can input multiple original training samples for training the neural network into the neural network, and through the calculation of the neural network, multiple features and / or multiple output values corresponding to the multiple original training samples can be obtained. The first communication device can determine second data corresponding to the first data from the multiple original training samples based on the multiple features and / or multiple output values. The second data belongs to a second dataset, and the features obtained by using data from the second dataset as input to the neural network include a fourth feature, and the output values obtained by using data from the second dataset as input to the neural network include a fourth output value.
[0406] Based on the solution provided in the embodiments of this application, by determining the second data corresponding to the first data in the second dataset that meets the performance conditions, it is possible to avoid the second data and the first data having too large a difference in distribution, so that the distribution of the generated augmented data is more adapted to the data distribution of the training samples, thereby improving the performance of distributed training.
[0407] In some possible implementations, the second data is randomly determined from the second dataset; or the second data is determined from the second dataset according to a mapping rule.
[0408] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0409] In some possible implementations, the hidden layers of the neural network corresponding to the first feature are the same as the hidden layers of the neural network corresponding to the second feature.
[0410] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0411] Among some possible implementations, the method also includes:
[0412] S630 receives the first instruction information and correspondingly sends the first instruction information, which in turn indicates the second data.
[0413] Based on the solution provided in the embodiments of this application, the first communication device determines the second data for generating the third data through the first instruction information, so that the first communication device can determine the second data according to the first instruction information and realize the effective data augmentation required for distributed learning.
[0414] In some possible implementations, the method also includes: determining a first value and a second value; and determining second data based on the first value and the second value.
[0415] For example, the first communication device may determine the calculation result of the neural network deployed on the first communication device as a first value and a second value; the first communication device may also determine the calculation result of the neural network deployed on the second communication device from the second communication device as a first value and a second value.
[0416] Based on the solution provided in the embodiments of this application, the first communication device determines the second data used to generate the third data through the first value and the second value, so that the first communication device can determine the second data and realize the effective data augmentation required for distributed learning.
[0417] In some possible implementations, the neural network includes a first neural network and a second neural network, the first neural network being deployed on a first communication device and the second neural network being deployed on a second communication device; a first output value and a second output value are obtained based on the second neural network; a first feature and / or a second feature are obtained based on the first neural network, and / or, the first feature and / or the second feature are obtained based on the second neural network.
[0418] For example, multiple features and / or multiple output values corresponding to multiple original training samples can be obtained based on a first neural network or a second neural network.
[0419] Based on the solution provided in the embodiments of this application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of the original data and protecting the privacy and security of user data; on the other hand, by utilizing the computing power of the second communication device which is stronger than that of the first communication device, the first or second value calculated by the second neural network can more deeply represent the input data, thereby making the distribution of the generated augmented data more suitable to the data distribution of the training samples, which can improve the performance of distributed training.
[0420] The following describes in detail one possible implementation of the method 600 provided in the embodiments of this application, taking UE#1 as the first communication device and base station#1 as the second communication device.
[0421] Specifically, UE#1 can use two data points x1 and x2 from D1 as the original data for data augmentation, and use a weighting coefficient λ as the weighting coefficient for data augmentation to generate augmented data. Where λ can be a fixed value, or a value that is related to x1 and x2, and x2 is determined by the relationship between D1 = {x0, x1, ..., x2}. n-1 ,x n The data in the input field is used to obtain the output value of the neural network, or the data obtained from the features.
[0422] For example, first select x1 as the original data for data augmentation. Input x1 into the neural network, and the hidden layer of the neural network can output the feature q1 corresponding to x1. Let D1 = {x0, x1, ..., x...} n-1 ,x n The data in the formula {} is input into this neural network, and the hidden layers of this neural network can output a set of corresponding features, denoted as Q1={q'0,q'1,...,q'}. n-1 ,q' n UE#1 can calculate the distance between terms in q1 and Q1 based on L2 distance or cosine similarity. It selects any q' that satisfies d(q1,Q1)≤d1. n Corresponding x n As the second data corresponding to the first data, where d1 is a possible implementation of the first threshold, UE#1 can perform data augmentation based on x1, x2, and λ to obtain augmented data. Correspondingly, x1 is labeled y1, and x2 is labeled y2, augmenting the data. tags satisfy: Augmented data and corresponding tags It can be used to train the neural network.
[0423] For example, first select x1 as the original data for data augmentation. Input x1 into the neural network, and the output layer of the neural network can output the corresponding output value p1. Let D1 = {x0, x1, ..., x...} n-1 ,x n The data in the array is input into this neural network, and the output layer of this neural network can output a set of corresponding output values, denoted as P1={p'0,p'1,...,p'}. n-1 ,p' n UE#1 can calculate the distance between items in p1 and P1 based on L2 distance or cosine similarity. Choose any p' that satisfies d(p1,P1)≤d2. n Corresponding x n As the second data corresponding to the first data, where d2 is a possible implementation of the second threshold, UE#1 can perform data augmentation based on x1, x2, and λ to obtain augmented data. Correspondingly, x1 is labeled y1, and x2 is labeled y2, augmenting the data. tags satisfy: Augmented data and corresponding tags It can be used to train the neural network.
[0424] Understandably, when a neural network has multiple hidden layers, each term in features q1 and Q1 can be a value calculated by one of these hidden layers and output to the next hidden layer. The hidden layer that outputs features q1 and Q1 can be deployed at UE#1 or at base station#1. When x2 is determined based on the features output by the hidden layer deployed at base station#1, base station#1 can output Q1 = {q'0,q'1,...,q'}. n-1 ,q' n} is sent to UE#1, UE#1 is based on Q1={q'0,q'1,...,q' n-1 ,q' n} Determine x2 as the original data for data augmentation; or, base station #1 may determine x2 as the original data for data augmentation and send indication information to UE #1 to indicate x2.
[0425] The preceding text, with reference to Figures 5 and 6, describes a possible data generation method 500 and method 600 provided by embodiments of this application. The following text, with reference to Figures 7 and 8, describes a possible distributed training method 700 and method 800 provided by embodiments of this application. In this method, the child node can be a first communication device in the above method embodiments, and the central node can be a second communication device in the above method embodiments. The child node and the central node can collaborate to complete the training of the AI model.
[0426] The child nodes can be devices on the terminal device side or devices on the network device side. The terminal device side can include at least one of a terminal device or an AI entity on the terminal device side. The AI entity on the terminal device side can be the terminal device itself or an AI entity serving the terminal device, such as a server, like an over-the-top (OTT) server or a cloud server. The network device side can include at least one of a network device or an AI entity on the network device side. The AI entity on the network device side can be the network device itself or an AI entity serving the network device, such as a radio access network (RAN) intelligent controller (RIC), operation administration and maintenance (OAM), or a server, such as an OTT server or a cloud server. Communication between servers can be achieved through a communication link between the first and second communication devices, through forwarding via other communication devices outside the servers, or through a wired link.
[0427] As shown in Figure 7, the method 700 may include the following steps:
[0428] 701, the central node sends model configuration information and model training information to the child nodes.
[0429] Specifically, let's take a neural network jointly trained by a central node (base station) and child nodes (UE) as an example of an AI model. The AI model training is deployed on both the UE side (child node side) and the base station side (central node side), with the training completed collaboratively by the UE and the base station. After training, the AI model can be deployed to the UE side. The AI output can be divided into two categories: discrete values (in which case the AI model performs a classification task) and continuous values (in which case the AI model performs a regression task). When model training begins, the base station, as the central node, needs to send model configuration information, model training information, and the correlation between the mean and variance of the batch normalization layer of the AI model to the child nodes.
[0430] The central node can broadcast model configuration and training information to one or more child nodes. The model configuration information sent by the central node to multiple child nodes is identical. Model configuration information includes, but is not limited to: the type of machine learning model (e.g., DNN, CNN, Transformer), structural information (e.g., the number of hidden layers in the DNN, the number of neurons and activation functions in each or some layers, and the location of the batch normalization layer), and corresponding model parameters. The type and structural data of the machine learning model sent by the central node can be represented as configuration text or as code scripts that can be compiled to produce the corresponding machine learning model. Model parameters are generated by the central node using a strategy, including but not limited to random generation, pre-training generation, or acquisition from other third-party entities. Model training information includes the optimizer used by the child nodes to perform gradient updates (e.g., stochastic gradient descent (SGD), root mean square propagation (RMSprop), adaptive moment estimation (Adam), etc.), regularization penalty terms (e.g., L2 penalty terms), initial learning rate, and gradient update batch size.
[0431] 702, child nodes initialize local models.
[0432] Distributed learning can include multiple child nodes; the following explanation uses child node n as an example. After receiving the information sent by the central node, child node n can initialize its local model based on this information.
[0433] 703, child node calculation characteristics.
[0434] Specifically, child node n initializes the local model. Then, you can use a local dataset. Data in As a model The input is used to perform forward propagation and calculate the features.
[0435] Here, both the subscript n and the superscript n are used to represent child node n, and 1 to B1 are used to represent the indexes of each data in the local dataset of child node n, i∈[1,B1].
[0436] It's understandable that superscripts for data like x, y, z, p, and q are used to represent their respective indices. Superscripts do not indicate operations such as exponentiation on the data with superscripts.
[0437] 704, the child node sends a feature to the central node. Child nodes can also send features to the central node. Corresponding tags
[0438] 705, the central node generates sample pairing relationships and weighting coefficients; the central node calculates the loss function and gradient with respect to the features based on the labels, and updates the model parameters.
[0439] Specifically, the central node can determine the data sent by the child nodes. calculate Corresponding output value The central node can be based on Determine and corresponding Alternatively, the central node can be based on Determine the weighting coefficients, j∈[1,B1].
[0440] For example, in the above method embodiments, the first data and the second data can be possible implementations of a data pair that satisfies the sample pairing relationship (i.e., the sample pairing relationship is: data pairing with index 1 and index 2).
[0441] In some possible implementations, the central node can be determined according to any one of the possible implementations of method 500 or method 600 described above. corresponding Or determine the weighting coefficients.
[0442] For example, the central node can be each corresponding Match one The correspondence between i and j can represent the sample pairing relationship. As a model The input is used to calculate the features. The central node can obtain and Corresponding output value and Alternatively, the central node can obtain and The corresponding feature output of a hidden layer of the central node and The central node can be based on and Calculation and and The corresponding weighting coefficients can be calculated, or the center node can also be determined based on... and Calculation and and The corresponding weighting coefficients are calculated. The weighting coefficients can be expressed as... or
[0443] If a child node in 704 sends a label, the central node can calculate the loss value based on the label, and perform backpropagation to calculate the gradient with respect to the parameters and the gradient with respect to the features. The central node then updates the neural network deployed on the central node based on the gradient with respect to the parameters.
[0444] 706, the central node sends the sample pairing relationship and weighting coefficient to the child nodes.
[0445] If the central node in 705 calculates the gradient of the feature, the central node can also send the gradient of the feature to its child nodes.
[0446] It is understandable that the gradient sent by the central node at this time is the gradient of the features of the original training samples.
[0447] Prior to 707, the central node could also send sample pairing relationships and weighting coefficients in a format shown in Table 1 or Table 2.
[0448] 707, child nodes perform data augmentation to generate augmented data; update model parameters based on feature gradients.
[0449] Specifically, child nodes can perform data augmentation to generate augmented data based on the received sample pairings and weighting coefficients. This augmented data can then be used as input and labels for new training samples. Augmented data is one possible implementation of third-party data. If the child node also receives gradients about the features from the central node, it can update the parameters of its local model using the training configuration information in section 701.
[0450] 708, characteristics of augmented data computed by child nodes.
[0451] Specifically, the child node n can be determined according to the model. Augmented data is then propagated forward to calculate the features of the augmented data.
[0452] The child node n can also be used to calculate the labels of the augmented data.
[0453] 709, the child node sends the features and tags of augmented data to the central node.
[0454] 710. Calculate the loss value, perform backpropagation to calculate the gradient with respect to the parameters and the gradient with respect to the augmented features, and update the model based on the gradient with respect to the parameters.
[0455] Specifically, the central node can aggregate the features and corresponding labels of the augmented data fed back by the child nodes, perform forward propagation to calculate the loss value, perform backpropagation to calculate the gradient with respect to the parameters and the gradient with respect to the augmented features (i.e., the features of the augmented data), and update the central node model based on the gradient with respect to the parameters.
[0456] 711, the central node sends gradients about the augmented features to the child nodes.
[0457] Optionally, in step 706 above, the central node sends gradients about the features to the child nodes, which can be performed simultaneously with step 711.
[0458] For example, in step 706 above, the central node does not send gradients about the features of the original training samples to the child nodes, while in step 711, the central node sends gradients about the augmented features and gradients about the features of the original training samples to the child nodes.
[0459] In some possible implementations, the gradients of the augmented features and the gradients of the features of the original training samples are sent simultaneously by the central node. For example, the gradients of the augmented features and the gradients of the features of the original training samples are in the same data packet.
[0460] In some possible implementations, the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples are sent separately by the central node. For example, the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples are in different data packets, and the central node sends different data packets to send the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples, respectively.
[0461] 712, child nodes update local model parameters using gradients with respect to augmented features.
[0462] 713, the child node sends the updated model parameters to the central node.
[0463] Specifically, after the child node updates the model parameters, it can determine whether the model meets condition C. Condition C can be that the number of updates t is a multiple of a constant T, where T is any positive integer, such as T = 10. If condition C is met, the child node can send the updated model parameters to the central node.
[0464] 714, parameters of the central node aggregated child node model.
[0465] Specifically, after receiving model parameters from one or more child nodes, the central node can perform model aggregation based on the parameters. The aggregation method can include average or weighted average.
[0466] 715, The central node sends the aggregated child node model parameters to one or more child nodes.
[0467] 716, the child node updates its local model parameters using the aggregated child node model parameters.
[0468] 717, return to 703, until the model composed of child nodes and the central node converges globally.
[0469] 718. The central node sends the central node model to the child nodes for inference.
[0470] In the above 705, the central node can be based on and Distance calculation between and and The corresponding weighting coefficients can be calculated, or the center node can also be determined based on... and Distance calculation between and and The corresponding weighting coefficients are calculated.
[0471] In the above 705, the central node can randomly select an index j from the index list [1, B1], and the central node can also... corresponding calculate or Will or Satisfying and or The set of data whose distance is less than a threshold is used as a possible implementation of the second dataset mentioned above, and an index is randomly selected as j in the second dataset.
[0472] Optional, j≠i.
[0473] Steps 712 to 716 above are optional and can be omitted. When not executed, due to differences in local data distribution among child nodes, the local models possessed by the child nodes will also differ. During the inference phase when using the model for reasoning, the child nodes need to first complete the calculation of the features locally and send the features to the central node. The central node can calculate the corresponding output based on the features and send the output results to the child nodes.
[0474] The following describes, with reference to Figure 8, a possible method 800 for distributed training provided by an embodiment of this application.
[0475] As shown in Figure 8, steps 803 to 806 of method 800 differ from steps 703 to 706 compared to method 700. The remaining steps are similar. For ease of description, the descriptions of steps 801, 802, 807 to 816 of method 800 can be found in the descriptions of steps 701, 702, 707 to 716 of method 700, and will not be repeated here.
[0476] 803, child nodes calculate features; child nodes generate sample pairing relationships.
[0477] Specifically, child node n initializes the local model. Then, you can use a local dataset. Data in As a model The input is used to perform forward propagation and calculate the features. The child node n can also determine the sample pairing relationship according to any of the possible implementations of method 500 or method 600 above, for example, determining the indexes of the first and second data with corresponding relationships.
[0478] 804, the child node sends the sample pairing relationship and features to the central node. Child nodes can also send features to the central node. Corresponding tags
[0479] 805, the central node generates weighted coefficients based on sample pairing relationships; the central node can also calculate the loss function and gradient with respect to features based on the labels, and update the model parameters.
[0480] For example, after the child nodes i and j are determined, weighting coefficients can be generated, and the weighting coefficients can be expressed as follows: or
[0481] 806, the central node sends the weighting coefficients to the child nodes.
[0482] If the central node in 805 calculates the gradient of the feature, the central node can also send the gradient of the feature to the child nodes.
[0483] Optionally, in step 806 above, the central node sends gradients about the features to the child nodes, which can be performed simultaneously with step 811.
[0484] For example, in step 806 above, the central node does not send gradients about the features of the original training samples to the child nodes, while in step 811, the central node sends gradients about the augmented features and gradients about the features of the original training samples to the child nodes.
[0485] In some possible implementations, the gradients of the augmented features and the gradients of the features of the original training samples are sent simultaneously by the central node. For example, the gradients of the augmented features and the gradients of the features of the original training samples are in the same data packet.
[0486] In some possible implementations, the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples are sent separately by the central node. For example, the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples are in different data packets, and the central node sends different data packets to send the gradients with respect to the augmented features and the gradients with respect to the features of the original training samples, respectively.
[0487] The method provided by the embodiments of this application has been described in detail above with reference to Figures 4 to 8. The communication device provided by the embodiments of this application is described below with reference to Figures 9 and 10.
[0488] Figure 9 is a schematic block diagram of a communication device provided in an embodiment of this application. As shown in Figure 9, the device 900 can be a terminal device or a network device, or a component (e.g., a unit, module, chip, or chip system) configured in a terminal device or network device. The device 900 may include a processing unit 920.
[0489] The processing unit 920 can be used to perform processing-related operations performed by the terminal device or network device in the above method embodiments. For example, the processing unit 920 can be used to determine weighting coefficients; or, it can be used to generate third data; or, it can be used to determine second data; or, it can be used to determine a first value or a second value; or, it can be used to determine a third feature and / or a third label.
[0490] The device 900 may further include a transceiver unit 910, which can be used to perform the transmission and reception related operations performed by the terminal device or network device in the above method embodiments. For example, the transceiver unit 910 can be used to send or receive first indication information, second indication information, third indication information, or fourth indication information; or, it can be used to send or receive a first value or a second value; or, it can be used to send or receive a third feature and / or a third tag.
[0491] Figure 10 is a schematic block diagram of another communication device provided in an embodiment of this application. As shown in Figure 10, the device 1000 may include a processor 1010. The device 1000 may also include a memory 1020 and a transceiver 1030. The memory 1020 stores one or more programs that, when executed by the processor 1010, cause a method for generating data as described in any of the possible implementations above to be executed.
[0492] For example, the apparatus 1000 can be used to perform the data generation method 500 or method 600 described above.
[0493] It is understood that in the device 1000 of FIG10, the processor 1010 may include one or more processors; the memory 1020 may include one or more memories; and the transceiver 1030 may include one or more transceivers. This application embodiment does not limit this.
[0494] The processor, also referred to as a processing unit or processing module, can implement certain control functions. The processor can be a general-purpose processor or a special-purpose processor, etc. For example, it includes: a central processing unit (CPU), an application processor, a modem processor, a graphics processor, an image signal processor, a digital signal processor, a video codec processor, a controller, a memory, and / or a neural network processor, etc. The CPU can be used to control the communication device, execute software programs, and / or process data. Different processors can be independent devices or integrated into one or more processors, for example, integrated on one or more application-specific integrated circuits (ASICs). It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0495] The transceiver can be referred to as a transceiver unit, transceiver module, transceiver, transceiver circuit, transceiver, input / output interface, etc. The transceiver is used to realize the transmission and reception functions of the communication device through the antenna.
[0496] Optionally, the communication device includes one or more memories for storing instructions that can be executed on the processor. The memory and processor are coupled; this coupling, in this invention, is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, for information exchange between devices, units, or modules.
[0497] Optionally, the memory may also store data. The processor and memory may be configured separately or integrated together. The memory may be non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or it may be volatile memory, such as random-access memory (RAM). In the embodiments of this application, the processor may also be flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art.
[0498] Optionally, the communication device may include instructions (sometimes referred to as code or program) that can be executed on the processor.
[0499] Optionally, the communication device may also include a transceiver and an antenna. The transceiver may be referred to as a transceiver unit, transceiver module, transceiver, transceiver circuit, transceiver, input / output interface, etc., and is used to realize the transmission and reception functions of the communication device through the antenna.
[0500] This application also provides a chip, which includes a processor and a communication interface. The communication interface is used to receive signals and transmit the signals to the processor. The processor processes the signals so that the method for generating data as described in any of the possible implementations above is executed.
[0501] This application also provides a chip system, which may consist of chips or include chips and other discrete devices, and the chip system enables the data generation method as described in any of the possible implementations above to be executed.
[0502] This embodiment also provides a computer storage medium storing computer instructions. When the computer instructions are executed on an electronic device, the electronic device performs the aforementioned method steps to implement the data generation method in the above embodiment.
[0503] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the data generation method described in the above embodiment.
[0504] In addition, embodiments of this application also provide an apparatus, which may specifically be a chip, component, or module. The apparatus may include a connected processor and a memory; wherein the memory is used to store computer execution instructions, and when the apparatus is running, the processor may execute the computer execution instructions stored in the memory to cause the chip to execute the data generation method in the above-described method embodiments.
[0505] In this embodiment, the electronic device, computer storage medium, computer program product or chip are all used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding method provided above, and will not be repeated here.
[0506] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0507] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0508] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0509] The units described as separate components may or may not be physically separate. 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 the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0510] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0511] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory (RAM), magnetic disks, or optical disks.
[0512] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
A method of generating data, characterized by The method is applied to a first communication device, and comprises: determining a weighting coefficient, wherein the weighting coefficient is determined according to a first value and a second value, the first value comprises a first feature obtained by taking first data as input of a neural network, and the second value comprises a second feature obtained by taking second data as input of the neural network; or the first value comprises a first output value obtained by taking the first data as input of the neural network, and the second value comprises a second output value obtained by taking the second data as input of the neural network; generating third data according to the weighting coefficient, the first data, and the second data, wherein the third data is used for training the neural network. The method of claim 1, wherein The determining of the weighting coefficient comprises: receiving first indication information, wherein the first indication information indicates the weighting coefficient; or determining the first value and the second value; determining the weighting coefficient according to the first value and the second value. The method according to any one of claims 1 or 2, wherein the first feature corresponds to a same hidden layer of the neural network as the second feature. The method according to any one of claims 1 to 3, wherein the neural network comprises a first neural network and a second neural network, the first neural network is deployed on the first communication device, and the second neural network is deployed on a second communication device; the first output value and the second output value are obtained according to the second neural network; the first feature and / or the second feature are obtained according to the first neural network, and / or the first feature and / or the second feature are obtained according to the second neural network. The method according to any one of claims 1 to 4, characterized in that The weighting factor λ r satisfies: λ r = K x d(p i , q j ) or λ r = K x d(q i , p j ), where K≠0, r≠0, d() denotes a distance, q i denotes a first feature obtained by taking the first data as input of a neural network, q j denotes a second feature obtained by taking the second data as input of the neural network, p i denotes a first output value obtained by taking the first data as input of the neural network, p j denotes a second output value obtained by taking the second data as input of the neural network, i denotes an index of the first data, j denotes an index of the second data, and r denotes an index of the weighting coefficient. The method according to claim 5, wherein the d() represents an L2 distance or a cosine similarity. The method according to any one of claims 1 to 6, characterized in that The method further comprises: determining the first data and the second data, wherein the first data and the second data belong to a first data set, the first data set comprises data used for training the neural network, and the first data and the second data satisfy any one of the following conditions: the first data and the second data are randomly determined in the first data set; the first data and the second data are determined according to a mapping rule in the first data set; the second data is randomly determined in a second data set, the second data set is a subset of the first data set, and a fourth feature or a fourth output value obtained by taking data in the second data set as input of the neural network satisfies: a distance between the fourth feature and the first feature is less than or equal to a first threshold value, and / or a distance between the fourth output value and the first output value is less than or equal to a second threshold value. The method according to claim 2, wherein the first indication information further indicates the second data; or the first indication information further indicates the first data and the second data; or before the receiving of the first indication information, the method further comprises: sending second indication information, wherein the second indication information indicates the first data and the second data. The method according to any one of claims 1 to 8, wherein The first data includes a first input, and / or a first label corresponding to the first input; The second data includes a second input, and / or a second label corresponding to the second input; The third data includes a third input, and / or a third label corresponding to the third input. The method of claim 8, wherein The determining the weighting coefficient further includes: sending third indication information, the third indication information indicating a feature corresponding to data used for training a neural network and a label corresponding to the data, the feature corresponding to the data being obtained by taking the data as an input of a first neural network, and the first neural network being deployed on the first communication device. The method of claim 10, wherein The second indication information and the third indication information are sent simultaneously. The method according to any one of claims 2 or 8 or 10 or 11, characterized in that, The determining the first value and the second value includes: receiving first indication information, the first indication information indicating the first value and the second value; determining the first value and the second value according to the first indication information. The method of any one of claims 2 or 8 or 10-12, wherein The first indication information further includes an index of the first data; and / or The first indication information further includes an index of the second data. The method according to any one of claims 1 to 13, characterized in that The method further includes: determining a third feature and / or a third output value obtained by taking the third data as an input of a neural network. The method of claim 14, wherein The method further includes: sending the third feature and / or a third label, the third data including the third label. The method according to any one of claims 1 to 15, characterized in that The method further includes: determining the first value and / or the second value according to a first neural network, the first neural network being deployed on the first communication device. The method according to any one of claims 1 to 16, characterized in that The method further includes: sending the first value and the second value. A method of generating data, characterized by The method applied to a second communication device includes: determining a first value and a second value, the first value and the second value being used for determining a weighting coefficient, The first value includes a first feature obtained by taking first data as an input of a neural network, and the second value includes a second feature obtained by taking second data as the input of the neural network; or The first value includes a first output value obtained by taking first data as an input of a neural network, and the second value includes a second output value obtained by taking second data as the input of the neural network; receiving a third feature and / or a third label obtained by taking third data as the input of the neural network, the third data being generated according to the first data, the second data, and the weighting coefficient. The method of claim 18, wherein The method further includes: sending first indication information, the first indication information indicating the weighting coefficient, or the first indication information indicating the first value and / or the second value; or receiving the first value and the second value. The method of claim 18 or 19, wherein The hidden layer of the neural network corresponding to the first feature is the same as the hidden layer of the neural network corresponding to the second feature. The method of any one of claims 18-20, wherein The neural network comprises a first neural network and a second neural network, the first neural network is deployed on a first communication device, and the second neural network is deployed on the second communication device; The first output value and the second output value are obtained according to the second neural network; The first feature and / or the second feature are obtained according to the first neural network, and / or the first feature and / or the second feature are obtained according to the second neural network. The method according to any one of claims 18 to 21, characterized in that The weighting factor λ r satisfies: λ r = K x d(p i , q j ) or λ r = K x d(q i , p j ), where K≠0, r≠0, d() denotes a distance, q i denotes a first feature obtained by taking the first data as input of a neural network, q j denotes a second feature obtained by taking the second data as input of the neural network, p i denotes a first output value obtained by taking the first data as input of the neural network, p j denotes a second output value obtained by taking the second data as input of the neural network, i denotes an index of the first data, j denotes an index of the second data, and r denotes an index of the weighting coefficient. The method according to claim 22, wherein The d() represents an L2 distance or a cosine similarity. The method according to any one of claims 18 to 23, characterized in that The method further comprises: determining the first data and the second data, wherein the first data and the second data belong to a first data set, the first data set comprises data used for training the neural network, and the first data and the second data satisfy any one of the following conditions: The first data and the second data are randomly determined in the first data set; The first data and the second data are determined according to a mapping rule in the first data set; The second data is randomly determined in a second data set, the second data set is a subset of the first data set, and a fourth feature or a fourth output value obtained by taking data in the second data set as input of the neural network satisfies: a distance between the fourth feature and the first feature is less than or equal to a first threshold value, and / or a distance between the fourth output value and the first output value is less than or equal to a second threshold value. The method according to claim 19, wherein The first indication information further indicates the second data; or The first indication information further indicates the first data and the second data; or Before the first indication information is sent, the method further comprises: receiving second indication information, wherein the second indication information indicates the first data and the second data. The method according to any one of claims 18 to 25, wherein The first data comprises a first input, and / or the first input corresponds to a first label; The second data comprises a second input, and / or the second input corresponds to a second label; The third data comprises a third input, and / or the third input corresponds to a third label. The method of claim 25, wherein The method further comprises: receiving third indication information, wherein the third indication information indicates a feature and a label corresponding to data used for training the neural network, the feature corresponding to the data is obtained by taking the data as input of a first neural network, and the first neural network is deployed on a first communication device. The method according to claim 27, wherein The second indication information and the third indication information are sent simultaneously. The method according to any one of claims 19, 25, 27 or 28, wherein The first indication information further comprises an index of the first data; and / or The first indication information further comprises an index of the second data. A method of generating data, characterized by Applied to a first communication device, comprising: determining second data corresponding to the first data in a plurality of data, wherein the second data is determined according to a first value and a second value, The first value comprises a first feature obtained by taking the first data as input of a neural network, and the second value comprises a second feature obtained by taking the second data as input of the neural network. The first value comprises a first output value obtained by taking the first data as input of a neural network, and the second value comprises a second output value obtained by taking the second data as input of the neural network. Third data is generated according to the first data, the second data, and a weighting coefficient, the third data being used for training a neural network, and the weighting coefficient being determined according to a probability distribution. The method of claim 30, wherein The first feature corresponds to a same hidden layer of the neural network as the second feature. The method of any one of claims 30-31, wherein The neural network comprises a first neural network and a second neural network, the first neural network being deployed on the first communication device, and the second neural network being deployed on a second communication device. The first output value and the second output value are obtained according to the second neural network. The first feature and / or the second feature are obtained according to the first neural network, and / or the first feature and / or the second feature are obtained according to the second neural network. The method of any one of claims 30-32, wherein The second data belongs to a second data set, the second data set being a subset of a first data set, the first data set comprising a plurality of data used for training a neural network, and a fourth feature or a fourth output value obtained by taking data in the second data set as input of the neural network satisfies: a distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or a distance between the fourth output value and the first output value is less than or equal to a second threshold. The method of claim 33, wherein The second data is randomly determined in the second data set; or The second data is determined according to a mapping rule in the second data set. The method of claim 33 or 34, wherein The distance represents an L2 distance or a cosine similarity. The method according to any one of claims 30 to 35, characterized in that The method further comprises: receiving first indication information, the first indication information indicating the second data, or the first indication information indicating the first value and / or the second value. The method according to any one of claims 30 to 36, characterized in that The method further comprises: determining the first value and the second value; determining the second data according to the first value and the second value. The method according to any one of claims 30 to 37, characterized in that The method further comprises: determining a third feature and / or a third output value obtained by taking the third data as input of a neural network. The method of claim 38, wherein The method further comprises: sending the third feature and / or a third label, the third data comprising the third label. The method of any one of claims 30-39, wherein The first data comprises a first input, and / or a first label corresponding to the first input; The second data comprises a second input, and / or a second label corresponding to the second input; The third data comprises a third input, and / or the third input corresponds to a third label. A method of generating data, characterized by Applied to a second communication device, comprising: determining a first value and a second value, the first value and the second value being used to determine second data corresponding to first data in a plurality of data, The first value comprises a first feature obtained by taking the first data as the input of a neural network, and the second value comprises a second feature obtained by taking the second data as the input of the neural network; or The first value comprises a first output value obtained by taking the first data as the input of a neural network, and the second value comprises a second output value obtained by taking the second data as the input of the neural network. Receiving a third feature obtained by taking third data as the input of a neural network, the third data being generated according to the first data, the second data and a weighting coefficient, and the weighting coefficient being determined according to a probability distribution. According to the method of claim 41, wherein The hidden layer of the neural network corresponding to the first feature is the same as the hidden layer of the neural network corresponding to the second feature. According to any one of claims 41 to 42, wherein The neural network comprises a first neural network and a second neural network, the first neural network is deployed on a first communication device, and the second neural network is deployed on the second communication device; The first output value and the second output value are obtained according to the second neural network; The first feature and / or the second feature are obtained according to the first neural network, and / or the first feature and / or the second feature are obtained according to the second neural network. According to any one of claims 41 to 43, wherein The second data belongs to a second data set, the second data set is a subset of a first data set, the first data set comprises a plurality of data used to train a neural network, and a fourth feature or a fourth output value obtained by taking data in the second data set as the input of the neural network satisfies: the distance between the fourth feature and the first feature is less than or equal to a first threshold, and / or the distance between the fourth output value and the first output value is less than or equal to a second threshold. According to the method of claim 44, wherein The second data is randomly determined in the second data set; or The second data is determined according to a mapping rule in the second data set. According to the method of claim 44 or 45, wherein The distance represents L2 distance or cosine similarity. The method according to any one of claims 41 to 46, characterized in that The method further comprises: sending first indication information, the first indication information indicating the second data, or the first indication information indicating the first value and / or the second value. According to any one of claims 41 to 47, wherein The first data comprises a first input, and / or the first input corresponds to a first label; The second data comprises a second input, and / or the second input corresponds to a second label; The third data comprises a third input, and / or the third input corresponds to a third label. A communication device, characterized by Comprising: A processor configured to execute computer program instructions stored in a memory to cause the apparatus to perform the method of any of claims 1-17, or the method of any of claims 18-29, or the method of any of claims 30-40, or the method of any of claims 41-48. The apparatus of claim 49, wherein The apparatus is a chip. A computer program product, characterized in that The computer program instructions in the computer program product, when executed by the communication apparatus, implement the method of any of claims 1-17, or the method of any of claims 18-29, or the method of any of claims 30-40, or the method of any of claims 41-48. A computer-readable storage medium, characterized by The computer program instructions in the computer program product, when executed by the communication apparatus, implement the method of any of claims 1-17, or the method of any of claims 18-29, or the method of any of claims 30-40, or the method of any of claims 41-48. A communication system, comprising: The communication system comprises a terminal device and a network device, wherein the network device is configured to perform the method of any of claims 1-17, and the terminal device is configured to perform the method of any of claims 18-29; or The communication system comprises a terminal device and a network device, wherein the network device is configured to perform the method of any of claims 1-17, and the terminal device is configured to perform the method of any of claims 18-29; or The communication system comprises a first terminal device and a second terminal device, wherein the first terminal device is configured to perform the method of any of claims 1-17, and the second terminal device is configured to perform the method of any of claims 18-29; or The communication system comprises a first network device and a second network device, wherein the first network device is configured to perform the method of any of claims 1-17, and the second network device is configured to perform the method of any of claims 18-29. A communication system, comprising: The communication system comprises a terminal device and a network device, wherein the network device is configured to perform the method of any of claims 30-40, and the terminal device is configured to perform the method of any of claims 41-48; or The communication system comprises a terminal device and a network device, wherein the network device is configured to perform the method of any of claims 30-40, and the terminal device is configured to perform the method of any of claims 41-48; or The communication system comprises a first terminal device and a second terminal device, wherein the first terminal device is configured to perform the method of any of claims 30-40, and the second terminal device is configured to perform the method of any of claims 41-48; or The communication system comprises a first network device configured to perform the method according to any one of claims 30 to 40 and a second network device configured to perform the method according to any one of claims 41 to 48.
Citation Information
Patent Citations
Data generation method and device
CN107885877A
Video classification method and device and computer readable storage medium
CN111444878A
Model training method and device
CN112580720A
Training data augmentation method and device, equipment and storage medium
CN114548229A
Data augmentation method, learning device, and recording medium
US20230267713A1