Data generation method and communication device
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 privacy and security.
Patent Information
- Application Number
- CN202410980096.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-20
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 collaboration between the first and second communication devices avoids sharing of the original data, protects privacy and security, and utilizes the strong computing power of the second communication device to calculate the weighting coefficients to optimize distributed training.
It improves the performance of distributed training, generates augmented data that is more suitable for the data distribution of training samples, protects the privacy and security of user data, and optimizes the use of computing power.
Smart Images

Figure CN121365697A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the field of communications, and more particularly, to a method for generating data and a communication apparatus. BACKGROUND
[0002] Most machine learning techniques, for example, learning algorithms based on deep neural networks, need to be trained using a large amount of initial data. These data often come from user devices, so users need to upload these data, and the uploading overhead of these data is large. Moreover, collecting and using these data may infringe on the privacy of users or violate privacy protection regulations.
[0003] Distributed learning is a way of training neural networks, in which the original data of users resides locally on user devices, avoiding direct sharing of the original data, thereby protecting the privacy and security of user data.
[0004] Since user devices usually store less data in local training sets that can be used for model training, training of the model through data in the local training set is prone to overfitting, affecting the performance of training. In existing solutions, a user device can randomly select two input data in the local training set and a fixed weighting coefficient λ to generate augmented data, which can be used for distributed training.
[0005] However, since λ is a randomly selected fixed constant, the distribution of the augmented data generated based on the above method cannot adapt to the data distribution of the training samples, and the generated augmented data is significantly different from the distribution of the original training samples, which ultimately leads to poor performance of the distributed training.
[0006] How to realize that the distribution of the augmented data adapts to the data distribution of the training samples and improves the performance of the distributed training is a problem to be solved. SUMMARY
[0007] Embodiments of the present application provide a method for generating data and a communication apparatus, which determines a weighting coefficient λ based on the calculation result of the hidden layer or the output layer of a neural network, and can realize generation of augmented data that adapts to the data distribution of the training samples, which is beneficial to improve the performance of the distributed training.
[0008] In a first aspect, a method for generating data is provided. The method can be performed by a first communication device. In the present application, the first communication device can refer to the first communication device itself (e.g., a network device or a terminal device), a component (e.g., a processor, a chip, or a chip system) in the first communication device, an AI entity (e.g., a server) serving the first communication device, or a logic module or software capable of implementing all or part of the functions of the first communication device. The communication between servers can be achieved through a communication link between the first communication device and a second communication device, or through other communication devices outside the servers, or through a wired link. The first communication device and the second communication device can cooperate to train a neural network. For ease of description, the following description takes the first communication device as an example.
[0009] The method includes determining a weighting coefficient, the weighting coefficient being determined according to a first value and a second value, the first value including a first feature obtained by taking the first data as an input of the neural network, and the second value including a second feature obtained by taking the second data as an input of the neural network; or the first value including a first output value obtained by taking the first data as an input of the neural network, and the second value including a second output value obtained by taking the second data as an input of the neural network; and generating third data according to the weighting coefficient, the first data, and the second data, the third data being used to train the neural network.
[0010] According to the scheme provided in the embodiments of the present application, the weighting coefficient used to generate augmented data is determined according to the output value or the feature of the neural network. On the one hand, the same weighting coefficient can be used for multiple data pairs (e.g., the first data and the second data as a data pair) in the same batch of data when data augmentation is performed on the same batch of data, which leads to the fact that the distribution of the generated augmented data cannot adapt to the data distribution of the training samples, and the distribution of the generated augmented data is quite different from that of the original training samples. On the other hand, the weighting coefficient used to generate the augmented data and the output value or the feature of the first data and the second data used to generate the augmented data have a correlation relationship, which can make the distribution of the generated augmented data more adapt to the data distribution of the original training samples used to train the neural network, and can improve the performance of distributed training.
[0011] In some possible implementation manners, the method further includes determining a third feature and / or a third output value obtained by taking the third data as an input of the neural network.
[0012] In some possible implementation manners, the method further includes sending the third feature and / or the third label.
[0013] Exemplarily, the third data can include a third input and a third label, the first communication device can send the third feature and / or the third label to the second communication device, and the third feature and / or the third label can be used to train a neural network (for example, a second neural network) deployed in the second communication device.
[0014] In some possible implementation manners, the method further includes determining the first value and / or the second value according to the first neural network. The first neural network is deployed in the first communication device.
[0015] In some possible implementation manners, the method further includes sending the first value and / or the second value.
[0016] Exemplarily, the first communication device can send the first value and the second value determined according to the first neural network to the second communication device, the second communication device can determine the weighting coefficient according to the first value and the second value, and can instruct the first communication device to the specific value of the weighting coefficient.
[0017] In some possible implementation manners, determining the weighting coefficient includes receiving first indication information, and the first indication information indicates the weighting coefficient.
[0018] Exemplarily, the second communication device can determine the weighting coefficient according to the first value and the second value determined according to the first neural network, and can also determine the weighting coefficient according to the first value and the second value determined according to a second neural network, and the second neural network is deployed in the second communication device. After determining the weighting coefficient, the second communication device can instruct the first communication device through the first indication information.
[0019] Exemplarily, an input of the second neural network includes an output of the first neural network.
[0020] Since the first neural network and the second neural network jointly constitute a neural network, the data output by the first neural network can be used as the data input of the second neural network. The data input of the second neural network can also include data stored in the second communication device or acquired through other means / devices.
[0021] Exemplarily, the first indication information includes the weighting coefficient.
[0022] Based on the scheme provided in the embodiments of the present application, the second communication device instructs the weighting coefficient through the first indication information, the weighting coefficient is determined by the second communication device according to the first value and the second value through calculation, and the computing power of the second communication device is stronger than that of the first communication device, so that the computing power of different communication devices can be reasonably allocated, which helps to optimize the use of computing power.
[0023] In some possible implementation manners, a hidden layer of a neural network corresponding to the first feature is the same as a hidden layer of a neural network corresponding to the second feature.
[0024] For example, the first feature and the second feature are calculation results of the same hidden layer output of the neural network.
[0025] In some possible implementation manners, determining the weighting coefficient comprises: receiving first indication information, the first indication information indicating the first value and / or the second value; and determining the first value and / or the second value according to the first indication information.
[0026] For example, the second communication device can determine the first value and the second value through the second neural network calculation, and the first communication device can determine the first value and the second value according to the first indication information. The first communication device can calculate the weighting coefficient by itself according to the first value and the second value.
[0027] For example, the first indication information comprises the first value and / or the second value.
[0028] In some possible implementation manners, before the first indication information is received, the method further comprises: sending second indication information, the second indication information indicating the first data and the second data.
[0029] For example, the second indication information comprises an index of the first data and an index of the second data.
[0030] For example, when the first communication device determines the first data and the second data used for generating the third data, and the second communication device determines the weighting coefficient, the first communication device can send the second indication information indicating the first data and the second data, and the second communication 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.
[0031] In order to make the determined weighting coefficient have a correlation relationship with the first data and the second data, the first communication device can indicate, through the second indication information, which two data in the original training sample used for training the neural network are used as the first data and the second data.
[0032] Based on the scheme provided in the embodiments of the present application, the first communication device indicates, through the second indication information, the first data and the second data used for generating the third data, so that the second communication device can determine the first data and the second data used for generating the third data according to the second indication information, and further can calculate the weighting coefficient having a correlation relationship with the first data and the second data used for generating the third data, and the effective data augmentation needed.
[0033] In some possible implementation manners, determining the weighting coefficient further comprises: determining the weighting coefficient according to the first value and the second value.
[0034] In some possible implementation manners, 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 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 is obtained according to the first neural network, and / or the first feature and / or the second feature is obtained according to the second neural network.
[0035] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0036] For example, the first indication information indicates the first value and / or the second value. When the first value and the second value are the first feature and / or the second feature obtained according to the first neural network, the first indication information can indicate an index of the first data and / or the second data, and the first communication device can determine, according to the index indicated by the first indication information, a feature corresponding to the index from a plurality of features corresponding to a plurality of original training samples as the first value and / or the second value, and the plurality of features corresponding to the plurality of original training samples are obtained by taking the plurality of original training samples as inputs of the first neural network. When the first value and the second value are obtained according to the second neural network, the first indication information can indicate specific values of the first value and the second value, and the first communication device can calculate the weighting coefficient according to the specific values of the first value and the second value.
[0037] Based on the scheme provided in the embodiments of the present application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of original data and protecting the privacy and security of user data; on the other hand, by using the stronger computing power of the second communication device than that of the first communication device, the first value or the second value obtained by the second neural network can more deeply represent the input data, thereby resulting in the weighting coefficient that is beneficial to generating augmented data that adapt to the data distribution of the training sample, and the performance of the distributed training can be improved.
[0038] In some possible implementation manners, determining the weighting coefficient further comprises: sending third indication information, the third indication information indicating a feature corresponding to an original training sample for training the neural network and a label, and the feature corresponding to the original training sample being obtained by taking the original training sample as an input of the first neural network.
[0039] In some possible implementation manners, the second communication device can determine the first value and / or the second value according to the second indication information. For example, a plurality of original training samples correspond to a plurality of features, the second communication device can determine the plurality of features according to the third indication information, and determine a certain feature in the plurality of features as the first feature or the second feature according to the second indication information.
[0040] In some possible implementation manners, the second indication information and the third indication information are sent simultaneously.
[0041] For example, the second indication information and the third indication information are included in the same piece of information.
[0042] In some possible implementation manners, the weighting coefficient λ r satisfies: λ r = K x d(p i , p j ) or λ r = K x d(q i , q j ), where K ≠ 0, r ≠ 0, d() represents a distance, q i represents a first feature obtained by taking the first data as input of the neural network, q j represents a second feature obtained by taking the second data as input of the neural network, p i represents a first output value obtained by taking the first data as input of the neural network, p j represents a second output value obtained by taking the second data as input of the neural network, i represents an index of the first data, j represents an index of the second data, and r represents an index of the weighting coefficient.
[0043] Based on the scheme provided in the embodiments of the present application, the weighting coefficient is determined based on the distance between the features corresponding to the first data and the second data or the distance between the output values, so that the distribution of the augmented data generated according to the weighting coefficient is more adaptive to the data distribution of the training samples, and the performance of the distributed training can be improved.
[0044] In some possible implementation manners, d() represents an L2 distance or a cosine similarity.
[0045] In some possible implementation manners, the method further includes: determining the first data and the second data, the first data and the second data belong to a first data set, the first data set includes a plurality of original training samples 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 determined randomly in the first data set; the first data and the second data are determined according to a mapping rule in the first data set; and the second data is determined randomly in a second data set, the second data set being 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.
[0046] Based on the scheme provided in the embodiments of the present application, the second data corresponding to the first data is determined in the second data set that satisfies the performance condition, so that the difference between the second data and the first data is not too large, the distribution of the generated augmented data is more adaptive to the data distribution of the training samples, and the performance of the distributed training can be improved.
[0047] In some possible implementation manners, the first indication information further indicates the second data, or the first indication information further indicates the first data and the second data.
[0048] Based on the scheme provided in the embodiments of the present application, the first communication device determines the first data and the second data based on the received first indication 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 indication information, and effectively data augmentation required by distributed learning is achieved.
[0049] In some possible implementation manners, the first indication information further includes an index of the second data.
[0050] In some possible implementation manners, the first indication information further includes an index of the first data.
[0051] In some possible implementation manners, 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.
[0052] Specifically, the first data can include at least one of the first input or the first label, the second data can include at least one of the second input or the second label, and the third data can include at least one of the third input or the third label. When the first data, the second data or the third data is input into the neural network, the neural network can be calculated to obtain the first feature and / or the first output value corresponding to the first input, the second feature and / or the second output value corresponding to the second input, or the third feature and / or the third output value corresponding to the third input.
[0053] For example, when the neural network is an auto-encoding neural network, the first data can include one of the first input or the first label, the second data can include one of the second input or the second label, and the third data can include one of the third input or the third label. The first input and the first label can be the same, the second input and the second label can be the same, and the third input and the third label can be the same.
[0054] In a second aspect, a method for generating data is provided. The method can be performed by a second communication device. In the absence of specific statements, the "second communication device" in the present application can refer to the second communication device itself (e.g., a network device or a terminal device), a component (e.g., a processor, a chip, or a chip system) in the second communication device, an AI entity (e.g., a server, such as an over the top (OTT) server) serving the second communication device, or a logic module or software capable of implementing all or part of the functions of the second communication device. The communication between servers can be realized through a communication link between the first communication device and the second communication device, or through other communication devices outside the servers, or through a wired link. The first communication device and the second communication device can cooperate to train the neural network. For ease of description, the following description takes the second communication device as an example.
[0055] The method comprises: determining a first value and a second value, the first value and the second value being used to determine a weighting coefficient, the first value comprising a first feature obtained by taking the first data as input of the neural network, and the second value comprising a second feature obtained by taking the second data as input of the neural network; or the first value comprising a first output value obtained by taking the first data as input of the neural network, and the second value comprising a second output value obtained by taking the second data as input of the neural network; and receiving a third feature and / or a third label obtained by taking third data as input of the neural network, the third data being generated according to the first data, the second data, and the weighting coefficient.
[0056] In some possible implementation manners, the first feature corresponds to a same hidden layer of the neural network as the second feature.
[0057] For example, the first feature and the second feature are calculation results of a same hidden layer output of the neural network.
[0058] In some possible implementation manners, the method further comprises: receiving the first value and / or the second value.
[0059] In some possible implementation manners, the method further comprises: 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.
[0060] For example, the first indication information comprises the first value and / or the second value.
[0061] In some possible implementation manners, before the first indication information is sent, the method further comprises: receiving second indication information, the second indication information indicating the first data and the second data.
[0062] In some possible implementation manners, 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 the second communication device; the first output value and the second output value are obtained according to the second neural network; and the first feature and / or the second feature are obtained according to the second neural network.
[0063] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0064] For example, when the first value and the second value are obtained according to the second neural network, the first indication information can indicate 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.
[0065] In some possible implementation manners, the method further comprises: receiving third indication information, the third indication information indicating a feature corresponding to an original training sample and a label corresponding to the original training sample, the feature corresponding to the original training sample being obtained by taking the original training sample as input of the first neural network.
[0066] For example, the second communication device can determine the weighting coefficient according to the third indication information. For example, the third indication information indicates a plurality of features corresponding to a plurality of original training samples, and the second communication device can determine the weighting coefficient according to some of the plurality of features or a plurality of output values obtained by inputting the plurality of features into the second neural network.
[0067] For example, the second communication device can determine the first data and the second data according to the second indication information, and determine the weighting coefficient corresponding to the first data and the second data according to the first feature and the second feature corresponding to the first data and the second data. For example, the second communication device can calculate a distance between the first feature and the second feature, and the calculation result is the weighting coefficient corresponding to the first data and the second data. The first feature and the second feature can be obtained by taking the original training sample as input of the first neural network, or the first feature and the second feature can be obtained by taking an output of the first neural network as input of the second neural network, the output of the first neural network being obtained by taking the first data and the second data as input of the first neural network.
[0068] For example, the second communication device can determine the first data and the second data according to the second indication information, and determine the weighting coefficient corresponding to the first data and the second data according to 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 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 taking 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 taking the first data and the second data as the input of the first neural network.
[0069] In some possible implementation manners, the second indication information and the third indication information are sent simultaneously.
[0070] For example, the second indication information and the third indication information are included in the same information.
[0071] In some possible implementation manners, the weighting coefficient λ r satisfies: λ r = K x d(p i , p j ) or λ r = K x d(q i , q j ), where K≠0, r≠0, d() represents a distance, q i represents the first feature obtained by taking the first data as the input of the neural network, q j represents the second feature obtained by taking the second data as the input of the neural network, p i represents the first output value obtained by taking the first data as the input of the neural network, p j represents the second output value obtained by taking the second data as the input of the neural network, 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.
[0072] In some possible implementation manners, d() represents an L2 distance or a cosine similarity.
[0073] In some possible implementation manners, the method further includes: determining the first data and the second data, the first data and the second data belonging to a first data set, the first data set including a plurality of original training samples used for training the neural network, the first data and the second data satisfying any one of the following conditions: the first data and the second data are determined randomly 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 determined randomly in a second data set, the second data set being 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 an input of the neural network satisfying: a distance between the fourth feature and the first feature being less than or equal to a first threshold, and / or a distance between the fourth output value and the first output value being less than or equal to a second threshold.
[0074] In some possible implementation manners, the first indication information further indicates the second data, or the first indication information further indicates the first data and the second data.
[0075] In some possible implementation manners, the first indication information further includes an index of the second data.
[0076] In some possible implementation manners, the first indication information further includes an index of the first data.
[0077] In some possible implementation manners, the first data includes the first input and / or the first label corresponding to the first input; the second data includes the second input and / or the second label corresponding to the second input; and the third data includes the third input and / or the third label corresponding to the third input.
[0078] Specifically, the first data can include at least one of the first input or the first label, the second data can include at least one of the second input or the second label, and the third data can include at least one of the third input or the third label. Inputting the first data, the second data or the third data into the neural network can be calculated through the neural network to obtain the first feature and / or the first output value corresponding to the first input, the second feature and / or the second output value corresponding to the second input, or the third feature and / or the third output value corresponding to the third input.
[0079] For example, when the neural network is an auto-encoding neural network, the first data can include one of the first input or the first label, the second data can include one of the second input or the second label, and the third data can include one of the third input or the third label. The first input and the first label can be the same, the second input and the second label can be the same, and the third input and the third label can be the same.
[0080] In a third aspect, a method for generating data is provided. The method can be performed by a first communication device. In the absence of special description, the "first communication device" in the present application can refer to the first communication device itself (e.g., a network device or a terminal device), a component (e.g., a processor, a chip, or a chip system) in the first communication device, an AI entity (e.g., a server) serving the first communication device, such as 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. The communication between servers can be realized through a communication link between the first communication device and a second communication device, or through other communication devices outside the servers, or through a wired link. The first communication device and the second communication device can cooperate to complete the training of the neural network. For ease of description, the following description takes the first communication device as an example.
[0081] The method comprises: determining second data corresponding to the first data in a plurality of original training samples, the second data being determined according to a first value and a second value, the first value comprising a first feature obtained by taking the first data as an input of the neural network, and the second value comprising a second feature obtained by taking the second data as an input of the neural network; or the first value comprising a first output value obtained by taking the first data as an input of the neural network, and the second value comprising a second output value obtained by taking the second data as an input of the neural network; generating third data according to the first data, the second data, and a weighting coefficient, the third data being used for training the neural network, and the weighting coefficient being determined according to a probability distribution.
[0082] For example, the first communication device can input a plurality of original training samples used for training the neural network into the neural network, and obtain a plurality of features and / or a plurality of output values corresponding to the plurality of original training samples through calculation of the neural network. The first communication device can determine second data corresponding to the first data in the plurality of original training samples according to the plurality of features and / or the plurality of output values.
[0083] For example, the second communication device can first determine the second value, and then determine data corresponding to the second value as the second data.
[0084] Based on the scheme provided in the embodiments of the present application, the second data used for generating augmented data is determined according to the output value or the feature of the neural network, which can make the selected second data more matched with the first data, and further make the distribution of the generated augmented data more adaptive to the data distribution of the training samples, thereby improving the performance of distributed training.
[0085] In some possible implementation manners, the method further comprises: determining a third feature and / or a third output value obtained by taking the third data as an input of the neural network.
[0086] In some possible implementation manners, the method further includes: sending the third feature and / or the third label.
[0087] For example, the first communication device can send the determined third feature and / or the third label to the second communication device, and the third feature and / or the third label can be used to train a neural network (for example, a second neural network) deployed in the second communication device.
[0088] In some possible implementation manners, the first data set includes a plurality of original training samples used for training the neural network, the second data belongs to a second data set, and the second data set is a subset of the first data set. A fourth feature obtained by taking data in the second data set as input of the neural network or a fourth output value 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.
[0089] For example, the first communication device can input the plurality of original training samples used for training the neural network into the neural network, and obtain a plurality of features and / or a plurality of output values corresponding to the plurality of original training samples through calculation of the neural network. The first communication device can determine, according to the plurality of features and / or the plurality of output values, second data corresponding to the first data from the plurality of original training samples. The second data belongs to a second data set. A feature obtained by taking data in the second data set as input of the neural network includes a fourth feature, and an output value obtained by taking data in the second data set as input of the neural network includes a fourth output value.
[0090] 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 data set and the first data can satisfy a performance condition that the second data and the first data do not satisfy a too large distribution difference.
[0091] Based on the scheme provided in the embodiments of the present application, by determining the second data corresponding to the first data in the second data set satisfying the performance condition, it can be avoided that the second data and the first data have a too large distribution difference, so that the distribution of the generated augmented data is more adaptive to the data distribution of the training samples, and the performance of the distributed training can be improved.
[0092] In some possible implementation manners, the second data is randomly determined in the second data set, or the second data is determined in the second data set according to a mapping rule.
[0093] In some possible implementation manners, the distance represents an L2 distance or a cosine similarity.
[0094] In some possible implementation manners, the hidden layer of the neural network corresponding to the first feature and the hidden layer of the neural network corresponding to the second feature are the same.
[0095] For example, the first feature and the second feature are calculation results of the same hidden layer output of the neural network.
[0096] In some possible implementation manners, the method further includes: receiving first indication information, where the first indication information indicates the second data.
[0097] For example, the first indication information indicates an index of the second data.
[0098] According to the scheme provided in the embodiments of the present application, the first communication device determines the second data used to generate the third data based on the first indication information, so that the first communication device can determine the second data according to the first indication information, and effective data augmentation required by distributed learning is achieved.
[0099] In some possible implementation manners, the method further includes: determining a first value and a second value; and determining the second data based on the first value and the second value.
[0100] For example, the first communication device can determine calculation results of a first neural network deployed on the first communication device as the first value and the second value; or the first communication device can determine calculation results of a second neural network deployed on a second communication device and coming from the second communication device as the first value and the second value.
[0101] According to the scheme provided in the embodiments of the present application, the first communication device determines the second data used to generate the third data based on the first value and the second value, so that the first communication device can determine the second data, and effective data augmentation required by distributed learning is achieved.
[0102] In some possible implementation manners, the neural network includes 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.
[0103] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0104] For example, the plurality of features and / or the plurality of output values corresponding to the plurality of original training samples can be obtained according to the first neural network or the second neural network.
[0105] Based on the scheme provided in the embodiments of the present application, on the one hand, the first communication device and the second communication device jointly perform distributed learning, avoiding direct sharing of raw data and protecting the privacy and security of user data; on the other hand, the first value or the second value calculated by the second neural network can more deeply represent the input data by using the stronger computing power of the second communication device than the first communication device, thereby causing the distribution of the generated augmented data to be more adaptive to the data distribution of the training samples and improving the performance of distributed training.
[0106] In some possible implementation manners, the first data includes the first input, and / or the first label corresponding to the first input; the second data includes the second input, and / or the second label corresponding to the second input; and the third data includes the third input, and / or the third label corresponding to the third input.
[0107] Specifically, the first data can include at least one of the first input or the first label, the second data can include at least one of the second input or the second label, and the third data can include at least one of the third input or the third label. When the first data, the second data or the third data is input into the neural network, the first input corresponding first feature and / or first output value, the second input corresponding second feature and / or second output value, or the third input corresponding third feature and / or third output value can be obtained by calculation of the neural network.
[0108] For example, when the neural network is a self-encoding neural network, the first data can include one of the first input or the first label, the second data can include one of the second input or the second label, and the third data can include one of the third input or the third label. The first input and the first label can be the same, the second input and the second label can be the same, and the third input and the third label can be the same.
[0109] In a fourth aspect, a method for generating data is provided. The method can be executed by the second communication device. In the absence of special description, the "second communication device" in the present application can refer to the second communication device itself (for example, a network device or a terminal device), a component (for example, a processor, a chip or a chip system) in the second communication device, an AI entity serving the second communication device side, for example, a server such as an over the top (OTT) server, or a logic module or software capable of realizing all or part of the functions of the second communication device. The communication between servers can be realized through a communication link between the first communication device and the second communication device, or through forwarding by other communication devices outside the server, or through a wired link. The first communication device and the second communication device can cooperate to complete the training of the neural network. For ease of description, the following describes the execution of the second communication device as an example.
[0110] The method comprises: determining a first value and a second value, the first value and the second value being used to determine second data corresponding to the first data in the plurality of original training samples, the first value comprising a first feature obtained by taking the first data as input of the neural network, and the second value comprising a second feature obtained by taking the second data as input of the neural network; or the first value comprising a first output value obtained by taking the first data as input of the neural network, and the second value comprising a second output value obtained by taking the second data as input of the neural network; and receiving a third feature obtained by taking third data as input of the 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.
[0111] For example, the second communication device can determine the first data based on a preset rule or random selection, and obtain the first value by taking the first data as input of the neural network. The second communication device can also determine the second data corresponding to the first data according to a plurality of features and / or a plurality of output values corresponding to the plurality of original training samples, and determine the second value corresponding to the second data as input of the neural network.
[0112] For example, the second communication device can first determine the second value, and then determine the data corresponding to the second value as the second data.
[0113] In some possible implementation manners, the first data set comprises a plurality of original training samples used for training the neural network, and the second data belongs to a second data set, the second data set being a subset of the first data set. 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.
[0114] In some possible implementation manners, the second data is randomly determined in the second data set; or the second data is determined in the second data set according to a mapping rule.
[0115] In some possible implementation manners, the distance represents an L2 distance or a cosine similarity.
[0116] In some possible implementation manners, the first feature corresponds to a same hidden layer of the neural network as the second feature.
[0117] For example, the first feature and the second feature are calculation results of a same hidden layer output of the neural network.
[0118] In some possible implementation manners, 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.
[0119] Exemplarily, the second communication device can send the first indication information, and the first indication information indicates that the second communication device calculates the feature or the output value.
[0120] In some possible implementation manners, 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 the second communication device; the first output value and the second output value are obtained according to the second neural network; and the first feature and / or the second feature are obtained according to the second neural network.
[0121] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0122] Exemplarily, the plurality of features and / or the plurality of output values corresponding to the plurality of original training samples can be obtained according to the first neural network or the second neural network.
[0123] In some possible implementation manners, the first data comprises the first input, and / or the first label corresponding to the first input; the second data comprises the second input, and / or the second label corresponding to the second input; and the third data comprises the third input, and / or the third label corresponding to the third input.
[0124] Specifically, the first data can comprise at least one of the first input or the first label, the second data can comprise at least one of the second input or the second label, and the third data can comprise at least one of the third input or the third label. When the first data, the second data or the third data is input into the neural network, the neural network can be calculated to obtain the first feature and / or the first output value corresponding to the first input, the second feature and / or the second output value corresponding to the second input, or the third feature and / or the third output value corresponding to the third input.
[0125] Exemplarily, when the neural network is a self-encoding neural network, the first data can comprise one of the first input or the first label, the second data can comprise one of the second input or the second label, and the third data can comprise one of the third input or the third label. The first input and the first label can be the same, the second input and the second label can be the same, and the third input and the third label can be the same.
[0126] In a fifth aspect, a communication apparatus is provided, which can be a network device / terminal device, or a server deployed on a network device / terminal device, or a chip or circuit or chip system configured in a network device / terminal device, and the embodiments of the present application are not limited thereto. In order to facilitate description, the apparatus is taken as a first communication device, and a device that jointly implements distributed learning with the apparatus is taken as a second communication device, and the embodiments are described below.
[0127] The apparatus comprises a processing unit configured to determine a weighting coefficient, the weighting coefficient being determined according to a first value and a second value, the first value comprising a first feature obtained by taking the first data as input of the neural network, the second value comprising a second feature obtained by taking the second data as input of the neural network; or the first value comprising a first output value obtained by taking the first data as input of the neural network, the second value comprising a second output value obtained by taking the second data as input of the neural network; and the processing unit is further configured to generate third data according to the weighting coefficient, the first data and the second data, the third data being used for training the neural network.
[0128] In some possible implementation manners, the processing unit is further configured to determine a third feature and / or a third output value obtained by taking the third data as input of the neural network.
[0129] In some possible implementation manners, the processing unit is further configured to determine the first value and / or the second value according to a first neural network. The first neural network is deployed on the first communication device.
[0130] In some possible implementation manners, the apparatus further comprises a transceiver configured to send the first value and / or the second value.
[0131] In some possible implementation manners, the transceiver is further configured to send the third feature and / or the third label.
[0132] In some possible implementation manners, the first feature corresponds to a same hidden layer of the neural network as the second feature.
[0133] In some possible implementation manners, the transceiver is further configured to receive first indication information, the first indication information indicating the weighting coefficient; and the processing unit is specifically configured to determine the weighting coefficient according to the first indication information.
[0134] In some possible implementation manners, the first indication information comprises the weighting coefficient.
[0135] In some possible implementation manners, before the transceiver receives the first indication information, the transceiver is further configured to send second indication information, the second indication information indicating the first data and the second data.
[0136] In some possible implementation manners, the first indication information indicates the first value and / or the second value.
[0137] In some possible implementation manners, the first indication information comprises the first value and / or the second value.
[0138] In some possible implementation manners, the processing unit is specifically configured to: determine the first value and the second value; and determine the weighting coefficient according to the first value and the second value.
[0139] In some possible implementation manners, 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 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 is obtained according to the first neural network, and / or the first feature and / or the second feature is obtained according to the second neural network.
[0140] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0141] In some possible implementation manners, the transceiver is further configured to send third indication information, the third indication information indicating a feature corresponding to an original training sample and a label corresponding to the original training sample, the feature corresponding to the original training sample being obtained by taking the original training sample as input of the first neural network.
[0142] In some possible implementation manners, the second communication device can determine the first value and / or the second value according to the second indication information. For example, a plurality of original training samples correspond to a plurality of features, and the second communication device can determine the plurality of features according to the third indication information, and determine a feature in the plurality of features as the first feature or the second feature according to the second indication information.
[0143] In some possible implementation manners, the second indication information and the third indication information are sent simultaneously.
[0144] For example, the second indication information and the third indication information are included in the same piece of information.
[0145] In some possible implementation manners, the weighting coefficient λ r satisfies: λ r = K × d(p i , p j ) or λ r = K × d(q i , q j ), where K ≠ 0, r ≠ 0, d() represents a distance, q i represents a first feature obtained by taking the first data as input of the neural network, q j represents a second feature obtained by taking the second data as input of the neural network, p i represents a first output value obtained by taking the first data as input of the neural network, p j represents a second output value obtained by taking the second data as input of the neural network, and i represents an index of the first data, j represents an index of the second data, and r represents an index of the weighting coefficient.
[0146] In some possible implementation manners, d() represents an L2 distance or a cosine similarity.
[0147] In some possible implementation manners, the processing unit is further configured to determine the first data and the second data, the first data and the second data belong to a first data set, the first data set includes a plurality of original training samples 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 determined randomly 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 determined randomly 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 an 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.
[0148] In some possible implementation manners, the first indication information further indicates the second data, and the processing unit is specifically configured to determine the second data according to the first indication information.
[0149] In some possible implementation manners, the first indication information further indicates the first data and the second data, and the processing unit is specifically configured to determine the first data and the second data according to the first indication information.
[0150] In some possible implementation manners, the first indication information further includes an index of the second data.
[0151] In some possible implementation manners, the first indication information further includes an index of the first data.
[0152] In some possible implementation manners, 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.
[0153] In some possible implementation manners, the processing unit includes a processor.
[0154] In some possible implementation manners, the transceiver unit includes a transceiver.
[0155] In a sixth aspect, a communication apparatus is provided. The apparatus can be a network device / terminal device, or a server deployed on a network device / terminal device, or a chip or circuit or chip system configured in a network device / terminal device. Embodiments of the present application are not limited thereto. For ease of description, the apparatus is taken as a second communication device, and a device that cooperates with the apparatus to implement distributed learning is taken as a first communication device, and the apparatus is described below.
[0156] The apparatus comprises: a processing unit, configured to determine a first value and a second value, the first value and the second value being used to determine a weighting coefficient, the first value comprising a first feature obtained by taking the first data as input of a neural network, the second value comprising a second feature obtained by taking the second data as input of the neural network; or the first value comprising a first output value obtained by taking the first data as input of the neural network, the second value comprising a second output value obtained by taking the second data as input of the neural network; and a receiving unit, configured to receive a third feature and / or a third label obtained by taking third data as input of the neural network, the third data being generated according to the first data, the second data and the weighting coefficient.
[0157] In some possible implementation manners, the apparatus further comprises a transceiving unit, configured to receive the first value and / or the second value.
[0158] In some possible implementation manners, the transceiving unit is further configured to send 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.
[0159] For example, the first indication information comprises the first value and / or the second value.
[0160] In some possible implementation manners, the first feature corresponds to a same hidden layer of the neural network as the second feature.
[0161] In some possible implementation manners, before the transceiving unit sends the first indication information, the transceiving unit is further configured to receive second indication information, the second indication information indicating the first data and the second data.
[0162] In some possible implementation manners, the neural network comprises 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; the first output value and the second output value being obtained according to the second neural network; and the first feature and / or the second feature being obtained according to the second neural network.
[0163] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0164] In some possible implementation manners, the transceiving unit is further configured to receive third indication information, the third indication information indicating a feature and a label corresponding to an original training sample used to train the neural network, the feature corresponding to the original training sample being obtained by taking the original training sample as input of the first neural network.
[0165] In some possible implementation manners, the second indication information and the third indication information are sent simultaneously.
[0166] For example, the second indication information and the third indication information are included in the same piece of information.
[0167] In some possible implementation manners, the weighted coefficient λ r satisfies: λ r = K × d(p i , p j ) or λ r = K × d(q i , q j ), where K ≠ 0, r ≠ 0, d() represents a distance, q i represents the first feature obtained by taking the first data as input of the neural network, q j represents the second feature obtained by taking the second data as input of the neural network, p i represents the first output value obtained by taking the first data as input of the neural network, p j represents the second output value obtained by taking the second data as input of the neural network, and i represents an index of the first data, j represents an index of the second data, and r represents an index of the weighted coefficient.
[0168] In some possible implementation manners, the d() represents an L2 distance or a cosine similarity.
[0169] In some possible implementation manners, the processing unit is further configured to: determine the first data and the second data, the first data and the second data belong to a first data set, the first data set includes a plurality of original training samples 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 determined randomly in the first data set; the first data and the second data are determined according to a mapping rule in the first data set; and the second data is determined randomly in a second data set, the second data set being 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, and / or a distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0170] In some possible implementation manners, the first indication information further indicates the second data, or the first indication information further indicates the first data and the second data.
[0171] In some possible implementation manners, the first indication information further includes an index of the second data.
[0172] In some possible implementation manners, the first indication information further includes an index of the first data.
[0173] In some possible implementation manners, 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.
[0174] In some possible implementation manners, the processing unit includes a processor.
[0175] In some possible implementation manners, the transceiving unit includes a transceiver.
[0176] In a seventh aspect, a communication apparatus is provided, which can be a network device / terminal device, or a server deployed at a network device / terminal device, or a chip or circuit or chip system configured in a network device / terminal device, and embodiments of the present application are not limited thereto. For ease of description, a first communication device is taken as an example in the following description, and a second communication device that cooperates with the first communication device to implement distributed learning is taken as an example.
[0177] The apparatus includes a processing unit, configured to determine second data corresponding to the first data in a plurality of original training samples, the second data being determined according to a first value and a second value, the first value including a first feature obtained by taking the first data as an input of a neural network, and the second value including a second feature obtained by taking the second data as the input of the neural network; or the first value including a first output value obtained by taking the first data as the input of the neural network, and the second value including a second output value obtained by taking the second data as the input of the neural network; and the processing unit is further configured to generate third data according to the first data, the second data and a weighting coefficient, the third data being used to train the neural network, and the weighting coefficient being determined according to a probability distribution.
[0178] In some possible implementation manners, the processing unit is further configured to determine a third feature and / or a third label obtained by taking the third data as the input of the neural network.
[0179] In some possible implementation manners, the first data set includes a plurality of original training samples used to train the neural network, and the second data belongs to a second data set, the second data set being 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 the input of the neural network satisfying: 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.
[0180] In some possible implementation manners, the second data is randomly determined in the second data set; or the second data is determined in the second data set according to a mapping rule.
[0181] In some possible implementation manners, the distance represents an L2 distance or a cosine similarity.
[0182] In some possible implementation manners, the first feature corresponds to a hidden layer of the neural network and the second feature corresponds to the hidden layer of the neural network.
[0183] In some possible implementation manners, the apparatus further includes a transceiver configured to receive the first indication information, and the processing unit is specifically configured to determine the second data according to the first indication information.
[0184] In some possible implementation manners, the transceiver is further configured to send the third feature and / or the third label.
[0185] In some possible implementation manners, the processing unit is further configured to: determine the first value and the second value; and determine the second data according to the first value and the second value.
[0186] In some possible implementation manners, the neural network includes 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 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.
[0187] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0188] In some possible implementation manners, the processing unit includes a processor.
[0189] In some possible implementation manners, the transceiver includes a transceiver.
[0190] In an eighth aspect, a communication apparatus is provided. The apparatus can be a network device / terminal device, or a server deployed on a network device / terminal device side, or a chip or circuit or chip system configured in a network device / terminal device. Embodiments of the present application do not limit this. For ease of description, the apparatus is taken as a second communication device, and a device that jointly implements distributed learning with the apparatus is taken as a first communication device, and the apparatus is described below.
[0191] The apparatus comprises: a processing unit, configured to determine a first value and a second value, the first value and the second value being used to determine second data corresponding to the first data in a plurality of original training samples, the first value comprising a first feature obtained by taking the first data as input of a neural network, and the second value comprising a second feature obtained by taking the second data as input of the neural network; or the first value comprising a first output value obtained by taking the first data as input of the neural network, and the second value comprising a second output value obtained by taking the second data as input of the neural network; and a transceiver, configured to receive a third feature obtained by taking third data as input of the 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.
[0192] In some possible implementation manners, the first data set comprises a plurality of original training samples used for training the neural network, and the second data belongs to a second data set, the second data set being 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, and / or a distance between the fourth output value and the first output value is less than or equal to a second threshold.
[0193] In some possible implementation manners, the second data is randomly determined in the second data set; or the second data is determined in the second data set according to a mapping rule.
[0194] In some possible implementation manners, the distance represents an L2 distance or a cosine similarity.
[0195] In some possible implementation manners, the first feature corresponds to a same hidden layer of the neural network as the second feature.
[0196] In some possible implementation manners, the transceiver is further configured to: send first indication information, the first indication information indicating the second data, or the first indication information indicating the first value.
[0197] In some possible implementation manners, the neural network comprises 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; the first output value and the second output value being obtained according to the second neural network; and the first feature and / or the second feature being obtained according to the second neural network.
[0198] Specifically, the first neural network and the second neural network jointly constitute the neural network.
[0199] In some possible implementation manners, the processing unit comprises a processor.
[0200] In some possible implementation manners, the transceiver comprises a transceiver.
[0201] In a ninth aspect, a communication apparatus is provided, the apparatus comprising: a processor configured to execute computer instructions to cause the apparatus to perform the method in the first aspect to the fourth aspect and any possible implementation thereof.
[0202] In some possible implementation, the apparatus further comprises a memory.
[0203] In some possible implementation, the apparatus further comprises a communication interface coupled to the processor, the communication interface configured to input and / or output information.
[0204] In a tenth aspect, a computer program product is provided, when a computer program in the computer program product is executed by a communication apparatus, the method in the first aspect to the fourth aspect and any possible implementation thereof is implemented.
[0205] In an eleventh aspect, a computer readable storage medium is provided, the computer readable storage medium stores a computer program or instructions, when the computer program or instructions is executed by a communication apparatus, the method in the first aspect to the fourth aspect and any possible implementation thereof is implemented.
[0206] In a twelfth aspect, a chip (or chip system) is provided, comprising at least one processor configured to run a computer program, so that the apparatus installed with the chip performs the method in the first aspect to the fourth aspect and any possible implementation thereof.
[0207] In some possible implementation, the chip comprises an output circuit or interface for sending information or data, and an input circuit or interface for receiving information or data.
[0208] In a thirteenth aspect, a communication system is provided, comprising: a network device and a terminal device, the terminal device configured to perform the method in the first aspect or the third aspect and any possible implementation thereof, and the network device configured to perform the method in the second aspect or the fourth aspect and any possible implementation thereof.
[0209] In a fourteenth aspect, a communication system is provided, comprising: a network device and a terminal device, the network device configured to perform the method in the first aspect or the third aspect and any possible implementation thereof, and the terminal device configured to perform the method in the second aspect or the fourth aspect and any possible implementation thereof.
[0210] In a fifteenth aspect, a communication system is provided, comprising: a first network device and a second network device, the first network device configured to perform the method in the first aspect or the third aspect and any possible implementation thereof, and the second network device configured to perform the method in the second aspect or the fourth aspect and any possible implementation thereof.
[0211] In a sixteenth aspect, a communication system is provided, including: a first terminal device configured to perform the method in the first aspect or the third aspect and any possible implementation thereof, and a second terminal device configured to perform the method in the second aspect or the fourth aspect and any possible implementation thereof. BRIEF DESCRIPTION OF DRAWINGS
[0212] Figure 1 is a schematic diagram of a wireless communication system suitable for embodiments of the present application.
[0213] Figure 2 is a schematic diagram of a possible application framework in a communication system.
[0214] Figure 3 is a schematic diagram of a possible application framework in a communication system.
[0215] Figure 4 is a schematic diagram of a structure of a deep neural network suitable for embodiments of the present application.
[0216] Figure 5 is a schematic diagram of a possible method of generating data provided by embodiments of the present application.
[0217] Figure 6 is a schematic diagram of another possible method of generating data provided by embodiments of the present application.
[0218] Figure 7 is a schematic diagram of a possible method of distributed training provided by embodiments of the present application.
[0219] Figure 8 is a schematic diagram of another possible method of distributed training provided by embodiments of the present application.
[0220] Figure 9 is a schematic block diagram of a communication apparatus provided by embodiments of the present application.
[0221] Figure 10 is a schematic block diagram of another communication apparatus provided by embodiments of the present application. DETAILED DESCRIPTION
[0222] The technical solutions in the present application will be described below with reference to the accompanying drawings.
[0223] The terminology used in the following description merely for the purpose of describing particular embodiments and is not intended to limit the application. As used in this description and the accompanying claims, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be understood that the terms "at least one," "one or more," and "multiple" are used interchangeably. The term "and / or" used in the applications refers to three possible relationships: A and / or B can mean A or B; A and / or B can mean both A and B; and A and / or B can mean neither A nor B. In the description of the application, the character " / " generally represents an "or" relationship between the front and rear associated objects. "At least one of the following" or the like refers to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b and c can mean a, or b, or c, or a and b, or a and c, or b and c, or a, b and c. Where a, b and c can be single or multiple.
[0224] The terms "first", "second", etc. used in the embodiments of the present application are used to distinguish a plurality of objects, and are not used to limit the size, content, order, time sequence, priority or importance of the plurality of objects. For example, the first indication information and the second indication information can be the same information or different information, and such names do not mean that the contents, sizes, application scenarios, sending / receiving ends, priorities or importance of the two messages are different. In addition, the numbering of steps in each embodiment introduced in the present application is only for the purpose of distinguishing different steps, and the numbering of steps is not used to limit the order between steps unless otherwise stated.
[0225] In the present application, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those clearly listed steps or units, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0226] In this application, “indication” can include direct indication and indirect indication. When describing that certain indication information indicates A, it can include that the indication information directly indicates A or indirectly indicates A, unless otherwise specified, and it does not mean that A must be carried in the indication information. Among them, direct indication information A means to include the information A; implicit indication information A means to indicate information A through the corresponding relationship between information A and information B and direct indication information B. Among them, the corresponding relationship between information A and information B can be pre-defined, pre-stored, pre-burned, or pre-configured.
[0227] In this specification, the phrase “one embodiment” or “some embodiments” or similar phrases means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. Thus, the appearances of the phrase “in one embodiment” or “in some embodiments” or similar phrases in various places in the specification are not necessarily all referring to the same embodiment, but can refer to one or more but not all embodiments, unless otherwise indicated. The terms “comprising,” “including,” “having” and their variants mean “including but not limited to,” unless otherwise indicated.
[0228] The technical solutions provided by the 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.
[0229] The technical solutions provided by the 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 by the application can also be applied to inter-satellite communication and satellite communication, and other non-terrestrial network (NTN) systems.
[0230] As an example, a satellite communication system includes a satellite base station and a terminal device. The satellite base station provides communication services for the terminal device. The satellite base station can also communicate with a base station. The satellite can act as a base station and also as a terminal device. The satellite can refer to a drone, a hot air balloon, a low earth orbit satellite, a medium earth orbit satellite, a high earth orbit satellite, etc. The satellite can also refer to a non-ground base station or a non-ground device, etc. As an example, V2X communication can include vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrain (V2P) communication, and vehicle-to-network (V2N) communication.
[0231] Figure 1 is a schematic diagram of a wireless communication system 100 applicable to embodiments of the present application. As shown in Figure 1 , the wireless communication system includes a radio access network 100. The radio access network 100 can be a next generation (e.g., future communication network or higher version) radio access network, or a conventional (e.g., 5G, 4G, 3G or 2G) radio access network. One or more terminal devices (120a-120j, collectively referred to as 120) can be connected to each other or to one or more network devices (110a, 110b, collectively referred to as 110) in the radio access network 100. Network elements in the wireless communication system are connected through interfaces (e.g., NG, Xn) or air interfaces.
[0232] Figure 1 The wireless communication system can also include other devices, such as core network (CN) devices, wireless relay devices, and / or wireless backhaul devices, etc., which are not shown in Figure 1 .
[0233] In actual applications, the wireless communication system can include multiple network devices at the same time, and can also include multiple terminal devices at the same time, which is not limited. One network device can serve one or more terminal devices at the same time. One terminal device can also access one or more network devices at the same time. Embodiments of the present application do not limit the number of terminal devices and network devices included in the wireless communication system.
[0234] The above-mentioned communication system applicable to embodiments of the present application is only an example, and the communication system applicable to embodiments of the present application is not limited thereto. Any communication system capable of realizing the functions of the above-mentioned devices is applicable to embodiments of the present application.
[0235] 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 to these specific types.
[0236] 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.
[0237] 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.
[0238] It should be understood that this application does not limit the specific form of the terminal device.
[0239] 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.).
[0240] 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.
[0241] 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.
[0242] 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.
[0243] 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).
[0244] 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.
[0245] 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).
[0246] 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.
[0247] To support machine learning capabilities in wireless communication systems, artificial intelligence (AI) nodes may also be introduced.
[0248] Optionally, the communication system also includes at least one AI node.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] 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.
[0253] 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.
[0254] For example, an AI node can be an AI network element or an AI module.
[0255] It should be understood that Figure 1 This is an example illustration of a communication system applicable to the embodiments of this application. It is a simplified diagram for ease of understanding only. The communication system described above may also include other network devices or other terminal devices. Figure 1The communication system used in this application is not limited to this. In practical applications, this application is applicable to any scenario where multiple devices perform data augmentation or distributed learning through the output of the model or the output of a certain hidden layer of the model.
[0256] It should also be understood that Figure 1 These are merely illustrative application scenarios for embodiments of this application, and this application does not limit the scenarios 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.
[0257] Figure 2 This is a schematic diagram of a possible application framework in a communication system. For example... Figure 2 As shown, network elements in a 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 (for clarity, ...). Figure 2 (Only one is shown in the image). The access network node can be a single RAN node or can include multiple RAN nodes, such as CU and DU. The CU and / or DU can also be configured 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.
[0258] 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.
[0259] 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.
[0260] Figure 3 This is a schematic diagram of a possible application framework in a communication system. For example... Figure 3 As shown, the communication system includes a RAN intelligent controller (RIC). For example, the RIC can be... Figure 2 The AI module shown is used to implement AI-related functions. The RIC includes near-real-time RIC (near-RT RIC) and non-real-time RIC (non-RT RIC). Non-real-time RIC primarily processes non-real-time information, such as data that is not sensitive to latency, with latency in the order of seconds. Real-time RIC primarily processes near-real-time information, such as data that is relatively sensitive to latency, with latency in the order of tens of milliseconds.
[0261] 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.
[0262] 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.
[0263] 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.
[0264] 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.
[0265] To facilitate understanding of the embodiments of this application, the terminology involved in the embodiments of this application will be briefly introduced below.
[0266] (1) Machine Learning
[0267] Machine learning can be divided into supervised learning, unsupervised learning, and reinforcement learning.
[0268] 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.
[0269] 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.
[0270] 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.
[0271] (2) Deep neural network (DNN)
[0272] 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.
[0273] 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.
[0274] Figure 4 This is a schematic diagram of a deep neural network structure applicable to embodiments of this application. Figure 4 (a) is a schematic diagram of a neuron structure. Figure 4 (b) is a schematic diagram of a neural network structure. The idea of DNN originates from the neuronal structure of the brain. Each neuron performs a weighted summation operation on its input values and outputs the result of the weighted summation through a function F(x), such as... Figure 4 As shown in (a). Specifically, assume the neural input is x = [x0, x1, ..., x...]. M-1 ,x MThe weight parameter corresponding to this input is d = [d0, d1, ..., d]. M-1 ,d M 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 hidden layers. Similarly, the final hidden layer passes the calculation results to the output layer, producing the final output of the DNN, such as... Figure 4 As shown in (b).
[0275] 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.
[0276] 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.
[0277] Based on the way the network is constructed, DNNs can be divided into feedforward neural networks (FNN), convolutional neural networks (CNN), and recurrent neural networks (RNN). Figure 4As shown in (b), there is an FNN network, which is characterized by the complete connection between neurons in adjacent layers. This makes FNNs typically require a large amount of storage space and result in high computational complexity.
[0278] 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.
[0279] 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.
[0280] 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}.
[0281] (3) AI Model
[0282] 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.
[0283] 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.
[0284] 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.
[0285] (4) Distributed learning
[0286] 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.
[0287] 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.
[0288] (5) Segmentation learning
[0289] 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.
[0290] 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.
[0291] For example, segmentation learning can utilize a local dataset {D1, D2, ..., D} with N child nodes. N-1 D NA 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 C The 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 ).
[0292] One possible training process for segmentation learning is as follows:
[0293] 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.
[0294] 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.
[0295] 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.
[0296] 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.
[0297]
[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 The diagram illustrates a possible method for generating data according to an embodiment of this application, such as... Figure 5 As shown, 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 this 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 this neural network.
[0376] In some possible implementations, x1 and x2 can be in D1 = {x0, x1, ..., x...} n-1 ,x n In 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 array 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,q1',...,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 D1'={x n}, where d1 is a possible implementation of the first threshold. x1 and x2 can be in D1' = {x n The mapping is selected according to a preset rule or randomly. D1' = {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,p1',...,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 D1"={x n}, where d2 is a possible implementation of the second threshold. x1 and x2 can be in D1”={x n The mapping is selected according to a preset rule or randomly. D1”={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 D1'={x n} or D1”={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 information to UE #1, which is used by UE #1 to correctly decode the content indicated by the first indication information.
[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]
[0387] 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 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.
[0388] 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:
[0389] Table 2
[0390]
[0391] 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:
[0392] Table 3
[0393] Sample index i Sample index j Sample weighting coefficient λ 1 2 0.5 3 1 0.6 7 9 0.3
[0394] 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.
[0395] 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.
[0396] The above text combined Figure 5 This application introduces a possible method 500 for generating data, as provided in an embodiment. The following section combines... Figure 6 This application provides another possible method 600 for generating data. Method 600 may include the following steps:
[0397] 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.
[0398] 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.
[0399] 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.
[0400] 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.
[0401] 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.
[0402] For example, probability distributions may include Belta distribution, binomial distribution, multinomial distribution, gamma distribution, etc.
[0403] 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.
[0404] 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.
[0405] In some possible implementations, the method also includes sending a third feature and / or a third tag.
[0406] 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.
[0407] 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.
[0408] 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.
[0409] 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.
[0410] 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.
[0411] In some possible implementations, distance is represented as L2 distance or cosine similarity.
[0412] 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.
[0413] For example, the first feature and the second feature are the computation results of the same hidden layer output of the neural network.
[0414] Among some possible implementations, the method also includes:
[0415] S630 receives the first instruction information and correspondingly sends the first instruction information, which in turn indicates the second data.
[0416] 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.
[0417] 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.
[0418] 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.
[0419] 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.
[0420] 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.
[0421] 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.
[0422] 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.
[0423] 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.
[0424] 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.
[0425] 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 array 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,q1',...,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 this neural network.
[0426] 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 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,p1',...,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 this neural network.
[0427] 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,q1',...,q'}. n-1 ,q' n} is sent to UE#1, UE#1 is based on Q1={q'0,q1',...,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.
[0428] The above text combined Figure 5 and Figure 6 This application introduces two possible methods for generating data, 500 and 600, as provided in embodiments of this application. The following description, in conjunction with... Figure 7 and Figure 8 This application introduces two possible distributed training methods, 700 and 800, according to embodiments of the present application. In these methods, the child nodes can be the first communication device in the above embodiments, and the central node can be the second communication device in the above embodiments. The child nodes and the central node can collaborate to train the AI model.
[0429] 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.
[0430] like Figure 7As shown, the method 700 may include the following steps:
[0431] 701, the central node sends model configuration information and model training information to the child nodes.
[0432] 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.
[0433] 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 momentum estimation (Adam), etc.), regularization penalty terms (e.g., L2 penalty terms), initial learning rate, and gradient update batch size.
[0434] 702, child nodes initialize local models.
[0435] 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.
[0436] 703, child node calculation characteristics.
[0437] Specifically, child node n initializes the local model. After that, you can use a local dataset. Data in As a model The input is used to perform forward propagation and calculate the features.
[0438] 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].
[0439] 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.
[0440] 704, the child node sends a feature to the central node. Child nodes can also send features to the central node. Corresponding tags
[0441] 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.
[0442] 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].
[0443] 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).
[0444] 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.
[0445] 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...
[0446] 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.
[0447] 706, the central node sends the sample pairing relationship and weighting coefficient to the child nodes.
[0448] 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.
[0449] 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.
[0450] 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.
[0451] 707, child nodes perform data augmentation to generate augmented data; update model parameters based on feature gradients.
[0452] 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.
[0453] 708, characteristics of augmented data computed by child nodes.
[0454] 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.
[0455] The child node n can also be used to calculate the labels of the augmented data.
[0456] 709, the child node sends the features and tags of augmented data to the central node.
[0457] 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.
[0458] 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.
[0459] 711, the central node sends gradients about the augmented features to the child nodes.
[0460] 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.
[0461] 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.
[0462] 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.
[0463] 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.
[0464] 712, child nodes update local model parameters using gradients with respect to augmented features.
[0465] 713, the child node sends the updated model parameters to the central node.
[0466] 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.
[0467] 714, parameters of the central node aggregated child node model.
[0468] 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.
[0469] 715, The central node sends the aggregated child node model parameters to one or more child nodes.
[0470] 716, Child nodes update local model parameters using aggregated child node model parameters.
[0471] 717, return to 703, until the model composed of child nodes and the central node converges globally.
[0472] 718. The central node sends the central node model to the child nodes for inference.
[0473] In the above 705, the central node can be based on and Distance calculation between and The corresponding weighting coefficients can be calculated, or the center node can also be determined based on... and Distance calculation between and The corresponding weighting coefficients are calculated.
[0474] 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 Will In the middle to satisfy 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.
[0475] Optional, j≠i.
[0476] 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.
[0477] The following text combines Figure 8 This application provides a possible method for distributed training 800.
[0478] like Figure 8 As shown, 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.
[0479] 803, child nodes calculate features; child nodes generate sample pairing relationships.
[0480] Specifically, child node n initializes the local model. After that, 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.
[0481] 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
[0482] 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.
[0483] 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
[0484] 806, the central node sends the weighting coefficients to the child nodes.
[0485] 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.
[0486] 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.
[0487] 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.
[0488] 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.
[0489] 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.
[0490] The above text combines Figures 4 to 8 The method provided in the embodiments of this application has been described in detail below, in conjunction with... Figure 9 , Figure 10 This application describes a communication device provided in an embodiment.
[0491] Figure 9 This is a schematic block diagram of a communication device provided in an embodiment of this application. Figure 9 As shown, 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 the terminal device or network device. The device 900 may include a processing unit 920.
[0492] 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.
[0493] 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.
[0494] Figure 10 This is a schematic block diagram of another communication device provided in an embodiment of this application. Figure 10 As shown, the device 1000 may include a processor 1010. The device 1000 may also include a memory 1020 and a transceiver 1030, the memory 1020 storing 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.
[0495] For example, the apparatus 1000 can be used to perform the data generation method 500 or method 600 described above.
[0496] Understandable, Figure 10 In the device 1000, 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 does not limit the scope of the embodiments.
[0497] 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.
[0498] 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.
[0499] 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.
[0500] 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.
[0501] Optionally, the communication device may include instructions (sometimes referred to as code or program) that can be executed on the processor.
[0502] 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.
[0503] 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.
[0504] 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.
[0505] 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.
[0506] 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.
[0507] 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.
[0508] 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.
[0509] 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.
[0510] 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.
[0511] 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.
[0512] 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.
[0513] 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.
[0514] 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.
[0515] 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
1. A method for generating data, characterized in that, Applied to a first communication device, including: The weighting coefficients are determined based on the first and second values. The first value includes a first feature obtained by using first data as input to the neural network, and the second value includes a second feature obtained by using second data as input to the neural network; 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; The third data is generated based on the weighting coefficients, the first data, and the second data, and the third data is used to train the neural network.
2. The method according to claim 1, characterized in that, The determination of the weighting coefficients includes: Receive first indication information, the first indication information indicating the weighting coefficient; or Determine the first value and the second value; The weighting coefficients are determined based on the first value and the second value.
3. The method according to claim 1 or 2, characterized in that, 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.
4. The method according to any one of claims 1 to 3, characterized in that, The neural network includes a first neural network and a second neural network, wherein the first neural network is deployed on the 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 based on the second neural network; The first feature and / or the 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.
5. The method according to any one of claims 1 to 4, characterized in that, 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 The second output value is 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.
6. The method according to claim 5, characterized in that, The d() represents the L2 distance or cosine similarity.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The first data and the second data are identified, and the first data and the second data belong to a first dataset, which includes data used to train the neural network. The first data and the second data satisfy any one of the following conditions: The first data and the second data were randomly determined from the first dataset; The first data and the second data are determined in the first dataset according to the mapping rules; The second data is randomly determined in the second dataset, which is a subset of the first dataset. 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.
8. The method according to claim 2, characterized in that, The first indication information also indicates the second data; or The first indication information also indicates the first data and the second data; or Before receiving the first indication information, the method further includes: Send a second instruction message, which indicates the first data and the second data.
9. The method according to any one of claims 1 to 8, characterized in that, 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 tag corresponding to the third input.
10. A method for generating data, characterized in that, Applied to a second communication device, including: Determine the first and second values, which are used to determine the weighting coefficients. The first value includes a first feature obtained by using first data as input to the neural network, and the second value includes a second feature obtained by using second data as input to the neural network; 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; The system receives a third feature and / or a third label obtained by using third data as input to the neural network, the third data being generated based on the first data, the second data, and the weighting coefficients.
11. A communication device, characterized in that, include: A processor for executing computer instructions stored in memory to cause the apparatus to perform: the method of any one of claims 1 to 9, or the method of claim 10.
12. The apparatus according to claim 11, characterized in that, The device is a chip.
13. A computer program product, characterized in that, When the computer program in the computer program product is executed by a communication device, it implements the method as described in any one of claims 1 to 9, or the method as described in claim 10.
14. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed by a communication device, implement the method as described in any one of claims 1 to 9, or the method as described in claim 10.
15. A communication system, characterized in that, The communication system includes a terminal device and a network device, the network device being configured to perform the method as described in any one of claims 1 to 9, and the terminal device being configured to perform the method as described in claim 10; or The communication system includes a terminal device and a network device, wherein the terminal device is configured to perform the method as described in any one of claims 1 to 9, and the network device is configured to perform the method as described in claim 10; or The communication system includes a first terminal device and a second terminal device, wherein the first terminal device is configured to perform the method as described in any one of claims 1 to 9, and the second terminal device is configured to perform the method as described in claim 10; or The communication system includes a first network device and a second network device, wherein the first network device is used to perform the method as described in any one of claims 1 to 9, and the second network device is used to perform the method as described in claim 10.