Data transmission method and communication device
The data transmission method addresses the challenge of high overhead in IoT and AI-integrated communication systems by encoding data and transmitting index information, resulting in reduced overhead and improved processing efficiency.
Patent Information
- Application Number
- JP2024557704
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-31
- Filing Date
- 2023-03-27
- Publication Date
- 2025-04-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The increasing number of terminal devices in the Internet of Things and the integration of artificial intelligence in communication systems lead to higher data transmission overhead, necessitating a method to reduce this overhead.
A data transmission method that involves encoding data using a first encoding network and determining an index based on a first data codebook, where the first device sends information about the index instead of the raw data, thereby reducing transmission overhead.
This solution effectively reduces data transmission overhead by encoding data and transmitting index information, improving processing efficiency and accuracy while adapting to real channel conditions.
Smart Images

Figure 2025511053000001_ABST
Abstract
Description
[Technical field]
[0001] The present application relates to the field of communications, and more particularly to a data transmission method and a communication device. [Background technology]
[0002] This application claims priority to Chinese Patent Application No. 202210335179.0, filed with the State Intellectual Property Office of China on March 31, 2022, entitled "DATA TRANSMISSION METHOD AND COMMUNICATION APPARATUS," which is incorporated herein by reference in its entirety.
[0003] As the Internet of Things matures, the amount of terminal devices increases day by day, and data traffic also increases accordingly with more connections and lower latency. In addition, the rapid development of artificial intelligence (AI) technology plays an important role in promoting the development of communication network technology. AI technology is introduced into communication systems. In the training of AI models or model inference processing, the parameters of AI models, input data, output data, etc. usually need to be communicated. Therefore, the data transmission overhead also increases. How to reduce the data transmission overhead is a problem that needs to be considered now. Summary of the Invention
[0004] The present application provides a data transmission method and communication device to reduce data transmission overhead.
[0005] According to a first aspect, a data transmission method is provided. The method can be implemented by a first device or a component (e.g., a chip or chip system) configured in the first device. This is not limited in the present application. The first device can be a terminal device or a network device. The method includes: the first device obtains data; determines an index of the data based on a first encoding network and a first data codebook, where the first encoding network is for encoding the data, and the first data codebook includes a correspondence between the encoded data and the index; and sends information about the index of the data.
[0006] Based on the above solution, the first device performs an encoding process on the data, and searches the first data codebook for an index corresponding to the encoded data. The encoded data can be understood as data obtained through encoding. In the transmission process, the first device sends information about the index. Therefore, this solution can reduce data transmission overhead.
[0007] Regarding the first aspect, in some implementations of the first aspect, the information about the index of the data includes a bit sequence, the bit sequence is obtained by processing a floating-point sequence, and the floating-point sequence is obtained by processing the index of the data based on the first information protection network. In particular, the first device may process the index of the data based on the first information protection network to obtain a floating-point sequence, and further process the floating-point sequence to obtain a bit sequence, and send the bit sequence.
[0008] Based on the above solution, the first device processes the index of data based on the first information protection network. The processing can be to add redundancy and can be for error correction. Therefore, this solution can improve the accuracy of the index of the communicated data.
[0009] Regarding the first aspect, in some implementations of the first aspect, the information on the index of the data includes a bit sequence, and the bit sequence is determined based on a first channel codebook and the index of the data, and the first channel codebook includes a correspondence between the index of the data and the bit sequence. In particular, the first device may determine a bit sequence corresponding to the index of the data based on the first channel codebook and send the bit sequence, where the first channel codebook includes a correspondence between the index of the data and the bit sequence.
[0010] Based on the above solution, the first channel codebook includes the correspondence between the index of data and the bit sequence. Therefore, after determining the index of data, the first device can directly query the first channel codebook to find the bit sequence corresponding to the index of data, and send the bit sequence, so as to reduce the processing complexity of the first device and improve the processing efficiency. Optionally, the first channel codebook can be obtained through training based on channel noise, so that the interference of the channel to transmission can be avoided to a certain extent.
[0011] Regarding the first aspect, in some implementations of the first aspect, a first device obtains a first encoding network and a first data codebook.
[0012] It should be understood that the first encoding network and the first data codebook may be obtained by the first device through local training, or may be trained by the second device and sent to the first device.
[0013] Regarding the first aspect, in some implementations of the first aspect, the first device obtains a first information protection network or a first channel codebook.
[0014] It should be understood that the first information protection network or the first channel codebook may be obtained by the first device through local training, or may be trained by the second device and sent to the first device.
[0015] Regarding the first aspect, in some implementations of the first aspect, the first information protection network is obtained through training based on channel state information and an index of training data, where the index of training data is obtained based on the second encoding network and a second data codebook.
[0016] It should be understood that the second encoding network and the second data codebook can be obtained through initial training, or can be the first encoding network and the first data codebook that are not updated. During the training process, the encoding network and the data codebook are updated every time training is performed. In other words, the first encoding network and the first data codebook can be obtained by training and updating the second encoding network and the second data codebook. After the training data is input into the second encoding network, the encoded data is obtained. The index corresponding to the encoded data can be obtained by querying the second data codebook. The first information protection network is trained based on the index corresponding to the encoded data and the channel state information. The first information protection network obtained through training based on the channel state information can better adapt to real channel conditions.
[0017] Regarding the first aspect, in some implementations of the first aspect, the first information protection network is obtained through training based on channel state information, an index of training data, and a loss function, where the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing the first index based on the second information protection network, and the second floating-point sequence is obtained by processing the second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not processed based on the second information protection network and a third index obtained through processing based on the second information restoration network, where the second information restoration network corresponds to the second information protection network. The sequence distance loss is a loss of distance between the floating-point sequence and the bit sequence, the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook.
[0018] It should be understood that the second information protection network can be the first information protection network that has not been trained and updated. In other words, the first information protection network can be obtained by training and updating the second information protection network. The first index and the second index are obtained by processing different training data samples based on the second encoding network and the second data codebook. The third index can be the first index, the second index, or an index other than the first index and the second index. This is not limited in the present application. The information protection network and the information restoration network are trained together. Considering the loss function in the training process can improve the performance of information reconstruction, allowing the network to converge faster and have better anti-noise performance. In particular, considering the information reconstruction loss can reduce the error (or distance) between the index and the index obtained through processing based on the channel protection network and the information recovery network, considering the sequence distance loss can reduce the error (or distance) between the floating-point sequence obtained by processing the index based on the information protection network and the bit sequence closest to the index in the channel codebook, and considering the codeword distance loss can increase the distance between the floating-point sequences obtained by processing different indexes based on the channel protection network, avoiding obtaining the same or similar floating-point sequences by processing different indexes based on the channel protection network, which results in selecting the same bit sequence in the channel codebook, and thus the convergence, anti-noise performance, and performance of the network can be improved.
[0019] Regarding the first aspect, in some implementations of the first aspect, the first encoding network and the first data codebook are obtained through training based on training data, a first channel protection network, channel state information, a second encoding network, and a second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0020] In this solution, a first channel protection network is trained. The network parameters of the first channel protection network are nested in a second data task network. The second data task network is trained by using training data and channel state information (which may be channel state information before the second data task network is trained, or may be corresponding channel state information when the second data task network is trained, which is not limited in this application) to obtain a first data task network. The second data task network includes a second encoding network, a second data codebook, and a second task execution network. The first data task network includes a first encoding network, a first data codebook, and a first task execution network.
[0021] The data task network may be, for example, a data reconstruction network. The data reconstruction network includes an encoding network, a data codebook, and a decoding network. The data reconstruction network may be for processing data into an index based on the encoding network and the data codebook. The decoding network may be understood as a task execution network for data restoration, and may restore the data encoded in the data. Of course, the task execution network may alternatively be another network. For example, the task execution network may be for performing tasks such as data identification, classification, segmentation, and detection. That is, after receiving information about the index of the data, the second device may determine the index of the data based on the information about the index of the data, and determine the encoded data corresponding to the index based on the data codebook. The encoded data may be input to the task execution network to perform tasks such as identification, classification, segmentation, and detection.
[0022] With regard to the first aspect, in some implementations of the first aspect, the length of the codewords in the first data codebook and the quantity of codewords in the first data codebook are related to the dimension of the encoded data.
[0023] Regarding the first aspect, in some implementations of the first aspect, the amount of codewords is associated with at least one of the compression rate of the data task network, the storage resource of the first device, and the performance of the data task network. For example, the data is an intermediate feature. The intermediate feature is intended to represent the output of a network layer in an end-to-end network (e.g., a convolutional neural network). The intermediate feature can be understood as the output of any network layer in the end-to-end network. The intermediate feature output by the lower network layer can be more detailed information including texture information (texture information can be description information of a picture, for example, luminance information, color information, and line structure), and the intermediate feature output by the higher network layer can be more macro information including structure information (e.g., contour information).
[0024] With regard to the first aspect, in some implementations of the first aspect, the data task network is a first data reconstruction network, the first data reconstruction network includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0025] Regarding the first aspect, in some implementations of the first aspect, the first device sends first decoding network parameters and first data codebook information, where the first decoding network determined based on the first decoding network parameters corresponds to the first encoding network, and the first data codebook information is for determining the first data codebook.
[0026] Based on the above solution, the first device locally completes the training of the first data reconstruction network, and sends to the second device the network parameters used by the second device in subsequent data transmission processes.
[0027] Regarding the first aspect, in some implementations of the first aspect, the first device sends second decoding network parameters and second data codebook information, where the second decoding network determined based on the second decoding network parameters is for training to obtain the first decoding network, the first decoding network corresponds to the first encoding network, and the second data codebook information is for determining the second data codebook.
[0028] Based on the above solution, when the second decoding network, which can be determined based on the second decoding network parameters, and the second data codebook, which can be determined based on the second data codebook information, are obtained by the first device through the first training, the second decoding network and the second data codebook can be for training to obtain the first decoding network and the first data codebook.When the second decoding network and the second data codebook are an intermediate encoding network and an intermediate data codebook, whether the training is continued or terminated can be determined based on the test sample in real time. If it is determined based on the test sample that the intermediate coding network and the intermediate data codebook satisfy the condition (i.e., the intermediate coding network and the intermediate data codebook that are cyclically trained based on the second decoding network and the second data codebook do not necessarily satisfy the condition), the training is terminated; or if it is determined based on the test sample that the intermediate coding network and the intermediate data codebook do not satisfy the condition (i.e., the intermediate coding network and the intermediate data codebook that are cyclically trained based on the second decoding network and the second data codebook do not necessarily satisfy the condition), the training is continued until the trained coding network and the data codebook satisfy the condition. Satisfying the condition is, for example, that the calculated value of the loss function of the trained data task network is smaller than a first threshold value. Regarding the first aspect, in some implementations of the first aspect, the first device sends a first information recovery network parameter, where the first information recovery network determined based on the first information recovery network parameter corresponds to a first information protection network.
[0029] Based on the above solution, the first device locally completes the training of the first channel protection network, and sends to the second device the network parameters to be used by the second device in subsequent data transmission processes.
[0030] Regarding the first aspect, in some implementations of the first aspect, the first device sends second information restoration network parameters, where the second information restoration network determined based on the second information restoration network parameters is for training to obtain a first information restoration network, and the first information restoration network corresponds to the first information protection network.
[0031] Based on the above solution, when the second information restoration network, which can be determined based on the second information restoration network parameters, is obtained by the first device through initial training, the second information restoration network can be for training to obtain the first information restoration network. When the second information restoration network is an intermediate information restoration network during training processing, whether training is continued or terminated can be determined based on test samples in real time. When it is determined based on the test samples that the intermediate information restoration network satisfies a condition (i.e., the intermediate result of the cyclic training based on the second information restoration network does not necessarily satisfy the condition), training is terminated, or when it is determined based on the test samples that the intermediate information restoration network does not satisfy the condition (i.e., the intermediate result of the cyclic training based on the second information restoration network does not necessarily satisfy the condition), training is continued until the trained information restoration network satisfies the condition. Satisfying the condition is, for example, that the calculated value of the loss function or information reconstruction loss of the trained channel protection network is smaller than a second threshold value.
[0032] According to a second aspect, a data transmission method is provided. The method may be implemented by a second device or a component (e.g., a chip or chip system) configured in the second device. This is not limited in the present application. The second device may be a terminal device or a network device. The method includes: the second device receives information about an index of data, the information about the index of data is for determining the index of data, and determines coded data corresponding to the index of data based on a first data codebook, the first data codebook including a correspondence between the coded data and the index.
[0033] Based on the above solution, after receiving the information about the index of the data, the second device queries the first data codebook for the coded data corresponding to the information about the index. In this solution, the data is not directly communicated, but the information about the index is communicated. Therefore, this solution can reduce the data transmission overhead.
[0034] Regarding the second aspect, in some implementations of the second aspect, the second device receives the bit sequence and processes the bit sequence based on the first information recovery network to obtain an index of the data.
[0035] Based on the above solution, processing the bit sequence based on the first information recovery network to obtain an index of data can be understood as directly processing the received bit sequence based on the first information recovery network to obtain an index of data, or processing the received bit sequence to obtain a floating-point sequence, and processing the floating-point sequence based on the first information recovery network to obtain an index of data. The bit sequence received by the second device can be obtained by the first device through processing based on the first information protection network. The processing process can be to add redundancy and can be for error correction. Therefore, this solution can improve the accuracy of the communicated data and avoid noise interference from the channel as much as possible.
[0036] Regarding the second aspect, in some implementations of the second aspect, the second device decodes the encoded data based on the first decoding network to obtain decoded data.
[0037] It should be understood that the first decoding network is an example of a task execution network.After determining the encoded data based on the index of the data, the second device can decode the encoded data based on the first decoding network to obtain decoded data.The decoded data is data that is restored based on the decoding network and is not processed based on the encoding network.
[0038] Regarding the second aspect, in some implementations of the second aspect, the second device obtains a first decoding network and a first data codebook.
[0039] It should be understood that the first decoding network and the first data codebook may be obtained by the second device through local training, or may be trained by the first device and sent to the second device.
[0040] Regarding the second aspect, in some implementations of the second aspect, the second device acquires the first information restoration network.
[0041] It should be understood that the first information restoration network may be obtained by the second device through local training, or may be trained by the first device and sent to the second device.
[0042] Regarding the second aspect, in some implementations of the second aspect, the first information recovery network is obtained through training based on channel state information and an index of training data, where the index of training data is obtained based on the second encoding network and a second data codebook.
[0043] It should be understood that the second encoding network and the second data codebook can be the first encoding network and the first data codebook that are not updated. During the training process, the encoding network and the data codebook are updated every time training is performed. In other words, the first encoding network and the first data codebook can be obtained by training and updating the second encoding network and the second data codebook. After the training data is input into the second encoding network, the encoded data is obtained. The index corresponding to the encoded data can be obtained by querying the second data codebook. The first channel protection network is trained based on the index corresponding to the encoded data and the channel state information. The first channel protection network obtained through training based on the channel state information can better adapt to real channel conditions. The first channel protection network includes a first information protection network and a first information restoration network.
[0044] Regarding the second aspect, in some implementations of the second aspect, the first information recovery network is obtained through training based on uplink channel state information, an index of training data, and a loss function, where the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing the first index based on the second information protection network, and the second floating-point sequence is obtained by processing the second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not processed based on the second information protection network and a third index obtained through processing based on the second information recovery network, where the second information recovery network corresponds to the second information protection network. The sequence distance loss is a loss of distance between the floating-point sequence and the bit sequence, the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook.
[0045] It should be understood that the second information protection network can be the first information protection network that has not been trained and updated. In other words, the first information protection network can be obtained by training and updating the second information protection network. The first index and the second index are obtained by processing different training data samples based on the second encoding network and the second data codebook. The third index can be the first index, the second index, or an index other than the first index and the second index. This is not limited in the present application. The information protection network and the information restoration network are trained together. Considering the loss function in the training process can improve the performance of information reconstruction, allowing the network to converge faster and have better anti-noise performance. In particular, considering the information reconstruction loss can reduce the error (or distance) between the index and the index obtained through processing based on the channel protection network and the information recovery network, considering the sequence distance loss can reduce the error (or distance) between the floating-point sequence obtained by processing the index based on the information protection network and the bit sequence closest to the index in the channel codebook, and considering the codeword distance loss can increase the distance between the floating-point sequences obtained by processing different indexes based on the channel protection network, avoiding obtaining the same or similar floating-point sequences by processing different indexes based on the channel protection network, which results in selecting the same bit sequence in the channel codebook, and thus the convergence, anti-noise performance, and performance of the network can be improved.
[0046] Regarding the second aspect, in some implementations of the second aspect, the first decoding network and the first data codebook are obtained through training based on training data, channel state information, a first channel protection network, a second encoding network, and a second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0047] In this solution, a first channel protection network is trained. The network parameters of the first channel protection network are nested in a second data task network. The second data task network is trained by using training data and channel state information (which may be channel state information before the second data task network is trained, or may be corresponding channel state information when the second data task network is trained, which is not limited in this application) to obtain a first data task network. The second data task network includes a second encoding network, a second data codebook, and a second task execution network. The first data task network includes a first encoding network, a first data codebook, and a first task execution network.
[0048] The data task network may be, for example, a data reconstruction network. The data reconstruction network includes an encoding network, a data codebook, and a decoding network. The data reconstruction network may be for processing data into an index based on the encoding network and the data codebook. The decoding network may be understood as a task execution network for data restoration, and may restore the data encoded in the data. Of course, the task execution network may alternatively be another network. For example, the task execution network may be for performing tasks such as data identification, classification, segmentation, and detection. That is, after receiving information about the index of the data, the second device may determine the index of the data based on the information about the index of the data, and determine the encoded data corresponding to the index based on the data codebook. The encoded data may be input to the task execution network to perform tasks such as identification, classification, segmentation, and detection.
[0049] Regarding the second aspect, in some implementations of the second aspect, the length of the codewords in the first data codebook and the quantity of codewords in the first data codebook are related to the dimension of the encoded data.
[0050] With regard to the second aspect, in some implementations of the second aspect, the amount of codewords is related to at least one of a compression rate of the data task network, a storage resource of the second device, and a performance of the data task network.
[0051] For example, the data is intermediate features. The intermediate features are intended to represent the output of a network layer in an end-to-end network (e.g., a convolutional neural network). The intermediate features can be understood as the output of any network layer in an end-to-end network. The intermediate features output by lower network layers can be more detailed information including texture information (texture information can be picture description information, e.g., luminance information, color information, and line structure), and the intermediate features output by higher network layers can be more macro information including structure information (e.g., contour information).
[0052] With regard to the second aspect, in some implementations of the second aspect, the data task network is a first data reconstruction network, which includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0053] Regarding the second aspect, in some implementations of the second aspect, the second device receives first decoding network parameters and first data codebook information, where the first decoding network parameters and the first data codebook information are for determining the first decoding network and the first data codebook.
[0054] Based on the above solution, the first device locally completes the training of the first data reconstruction network, and sends to the second device the network parameters used by the second device in subsequent data transmission processes.
[0055] Regarding the second aspect, in some implementations of the second aspect, the second device receives second decoding network parameters and second data codebook information, where the second decoding network parameters are for determining the second decoding network, the second data codebook information is for determining the second data codebook, and the second decoding network and the second data codebook are for training to obtain the first decoding network and the first data codebook.
[0056] Based on the above solution, when the second decoding network, which can be determined based on the second decoding network parameters, and the second data codebook, which can be determined based on the second data codebook information, are obtained by the first device through the first training, the second decoding network and the second data codebook can be for training to obtain the first decoding network and the first data codebook.When the second decoding network and the second data codebook are an intermediate encoding network and an intermediate data codebook, whether the training is continued or terminated can be determined based on the test sample in real time. If it is determined based on the test sample that the intermediate coding network and the intermediate data codebook satisfy the condition (i.e., the intermediate coding network and the intermediate data codebook that are cyclically trained based on the second decoding network and the second data codebook do not necessarily satisfy the condition), the training is terminated; or if it is determined based on the test sample that the intermediate coding network and the intermediate data codebook do not satisfy the condition (i.e., the intermediate coding network and the intermediate data codebook that are cyclically trained based on the second decoding network and the second data codebook do not necessarily satisfy the condition), the training is continued until the trained coding network and the data codebook satisfy the condition. Satisfying the condition is, for example, that the calculated value of the loss function of the trained data task network is smaller than a first threshold value.
[0057] Regarding the second aspect, in some implementations of the second aspect, the second device receives a first information restoration network parameter, where the first information restoration network parameter is for determining the first information restoration network.
[0058] Based on the above solution, the first device locally completes the training of the first channel protection network, and sends to the second device the network parameters to be used by the second device in subsequent data transmission processes.
[0059] Regarding the second aspect, in some implementations of the second aspect, the second device receives second information restoration network parameters, where the second information restoration network determined based on the second information restoration network parameters is for training to obtain the first information restoration network.
[0060] Based on the above solution, when the second information restoration network, which can be determined based on the second information restoration network parameters, is obtained by the first device through initial training, the second information restoration network can be for training to obtain the first information restoration network. When the second information restoration network is an intermediate information restoration network during training processing, whether training is continued or terminated can be determined based on test samples in real time. When it is determined based on the test samples that the intermediate information restoration network satisfies a condition (i.e., the intermediate result of the cyclic training based on the second information restoration network does not necessarily satisfy the condition), training is terminated, or when it is determined based on the test samples that the intermediate information restoration network does not satisfy the condition (i.e., the intermediate result of the cyclic training based on the second information restoration network does not necessarily satisfy the condition), training is continued until the trained information restoration network satisfies the condition. Satisfying the condition is, for example, that the calculated value of the loss function or information reconstruction loss of the trained channel protection network is smaller than a second threshold value.
[0061] According to a third aspect, a communication device is provided. The device may be a first device or a component (e.g., a chip or chip system) configured in the first device. This is not limited in the present application. The first device may be a terminal device or a network device. The device includes a processing unit and a transceiver unit. The processing unit is configured to obtain data and determine an index of the data based on a first encoding network and a first data codebook, where the first encoding network is for encoding the data, and the first data codebook includes a correspondence between the encoded data and the index. The transceiver unit sends information about the index of the data.
[0062] With respect to the third aspect, in some implementations of the third aspect, the processing unit is further configured to process the index of data based on the first information protection network to obtain a floating-point sequence, and further process the floating-point sequence to obtain a bit sequence. The transceiver unit is further configured to send the bit sequence.
[0063] With respect to the third aspect, in some implementations of the third aspect, the processing unit is further configured to determine a bit sequence corresponding to an index of the data based on a first channel codebook, and the transceiver unit is further configured to send the bit sequence, where the first channel codebook includes a correspondence between the index of the data and the bit sequence.
[0064] With regard to the third aspect, in some implementations of the third aspect, the processing unit or the transceiver unit is further configured to obtain a first encoding network and a first data codebook.
[0065] With regard to the third aspect, in some implementations of the third aspect, the processing unit or the transceiver unit is further configured to obtain a first information protection network or a first channel codebook.
[0066] Regarding the third aspect, in some implementations of the third aspect, the first information protection network is obtained through training based on channel state information and an index of training data, where the index of data is obtained based on the second encoding network and a second data codebook.
[0067] Regarding the third aspect, in some implementations of the third aspect, the first information protection network is obtained through training based on channel state information, an index of training data, and a loss function, where the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing the first index based on the second information protection network, and the second floating-point sequence is obtained by processing the second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not processed based on the second information protection network and a third index obtained through processing based on the second information restoration network, where the second information restoration network corresponds to the second information protection network. The sequence distance loss is a loss of distance between the floating-point sequence and the bit sequence, the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook.
[0068] Regarding the third aspect, in some implementations of the third aspect, the first encoding network and the first data codebook are obtained through training based on training data, a first channel protection network, channel state information, a second encoding network, and a second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0069] With regard to the third aspect, in some implementations of the third aspect, the length of the codewords in the first data codebook and the quantity of codewords in the first data codebook are related to the dimension of the encoded data.
[0070] With regard to the third aspect, in some implementations of the third aspect, the amount of codewords is related to at least one of a compression rate of the data task network, a storage resource of the first device, and a performance of the data task network.
[0071] With regard to the third aspect, in some implementations of the third aspect, the data task network is a first data reconstruction network, the first data reconstruction network includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0072] With regard to the third aspect, in some implementations of the third aspect, the transceiver unit is further configured to send first decoding network parameters and first data codebook information, where the first decoding network determined based on the first decoding network parameters corresponds to the first encoding network, and the first data codebook information is for determining the first data codebook.
[0073] With regard to the third aspect, in some implementations of the third aspect, the transceiver unit is further configured to send second decoding network parameters and second data codebook information, where the second decoding network determined based on the second decoding network parameters is for training to obtain the first decoding network, the first decoding network corresponds to the first encoding network, and the second data codebook information is for determining the second data codebook.
[0074] With regard to the third aspect, in some implementations of the third aspect, the transceiver unit is further configured to send first information restoration network parameters, where the first information restoration network determined based on the first information restoration network parameters corresponds to the first information protection network.
[0075] With regard to the third aspect, in some implementations of the third aspect, the transceiver unit is further configured to send second information restoration network parameters, where the second information restoration network determined based on the second information restoration network parameters is for training to obtain a first information restoration network, and the first information restoration network corresponds to the first information protection network.
[0076] According to a fourth aspect, a communication device is provided. The device may be a second device or a component (e.g., a chip or chip system) configured in the second device. This is not limited in the present application. The second device may be a terminal device or a network device. The device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive information about an index of data, where the information about the index of data is for determining the index of data. The processing unit is configured to determine coded data corresponding to the index of data based on a first data codebook, where the first data codebook includes a correspondence between the coded data and the index.
[0077] Regarding the fourth aspect, in some implementations of the fourth aspect, the transceiver unit is further configured to receive the bit sequence, and the processing unit is further configured to process the bit sequence based on the first information recovery network to obtain an index of the data.
[0078] With regard to the fourth aspect, in some implementations of the fourth aspect, the processing unit is further configured to decode the encoded data based on the first decoding network to obtain decoded data.
[0079] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver unit or the processing unit is further configured to obtain a first decoding network and a first data codebook.
[0080] Regarding the fourth aspect, in some implementations of the fourth aspect, the transceiver unit or the processing unit is further configured to obtain a first information recovery network.
[0081] Regarding the fourth aspect, in some implementations of the fourth aspect, the first information recovery network is obtained through training based on channel state information and an index of training data, where the index of data is obtained based on the second encoding network and a second data codebook.
[0082] Regarding the fourth aspect, in some implementations of the fourth aspect, the first information recovery network is obtained through training based on uplink channel state information, an index of training data, and a loss function, where the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing the first index based on the second information protection network, and the second floating-point sequence is obtained by processing the second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not processed based on the second information protection network and a third index obtained through processing based on the second information recovery network, where the second information recovery network corresponds to the second information protection network. The sequence distance loss is a loss of distance between the floating-point sequence and the bit sequence, the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook.
[0083] Regarding the fourth aspect, in some implementations of the fourth aspect, the first decoding network and the first data codebook are obtained through training based on training data, channel state information, the first channel protection network, the second encoding network, and the second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0084] Regarding the fourth aspect, in some implementations of the fourth aspect, the length of the codewords in the first data codebook and the quantity of codewords in the first data codebook are related to the dimension of the encoded data.
[0085] With regard to the fourth aspect, in some implementations of the fourth aspect, the amount of codewords is related to at least one of a compression rate of the data task network, a storage resource of the second device, and a performance of the data task network.
[0086] With regard to the fourth aspect, in some implementations of the fourth aspect, the data task network is a first data reconstruction network, the first data reconstruction network includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0087] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver unit is configured to receive first decoding network parameters and first data codebook information, where the first decoding network parameters and the first data codebook information are for determining the first decoding network and the first data codebook.
[0088] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver unit is configured to receive second decoding network parameters and second data codebook information, where the second decoding network parameters are for determining the second decoding network, the second data codebook information is for determining the second data codebook, and the second decoding network and the second data codebook are for training to obtain the first decoding network and the first data codebook.
[0089] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver unit is configured to receive a first information restoration network parameter, where the first information restoration network parameter is for determining the first information restoration network.
[0090] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver unit is configured to receive second information restoration network parameters, where the second information restoration network determined based on the second information restoration network parameters is for training to obtain the first information restoration network.
[0091] According to a fifth aspect, a communication device is provided. The device includes a processor. The processor may be coupled to a memory and configured to execute instructions in the memory to implement a method according to any one of the first aspect, the second aspect, or possible implementations of the first aspect and the second aspect. Optionally, the device further includes a memory. The memory and the processor may be deployed separately or in a centralized manner. Optionally, the device further includes a communication interface. The processor is coupled to the communication interface.
[0092] In one implementation, the communication interface may be a transceiver or an input / output interface.
[0093] In another implementation, the device is a first device or a second device, or a chip configured in the first device or the second device. When the device is a chip, the communication interface can be an input / output interface, an interface circuit, an output circuit, an input circuit, a pin, or related circuitry on the chip or chip system. The processor can alternatively be implemented as a processing circuit or a logic circuit.
[0094] Optionally, the transceiver may be a transceiver circuit. Optionally, the input / output interface may be an input / output circuit.
[0095] In a particular implementation process, the processor may be one or more chips, the input circuits may be input pins, the output circuits may be output pins, the processing circuits may be transistors, gate circuits, triggers, various logic circuits, etc. The input signals received by the input circuits may be, but are not limited to, received and input by a receiver, and the signals output by the output circuits may be, but are not limited to, output to a transmitter and transmitted by the transmitter. Furthermore, the input circuits and the output circuits may be the same circuit, and the circuit is used as an input circuit and an output circuit at different moments. The particular implementation of the processor and various circuits is not limited to the embodiments of the present application.
[0096] According to a sixth aspect, there is provided a communications device, the device including a logic circuit and an input / output interface, the logic circuit coupled to the input / output interface and configured to communicate data through the input / output interface to perform a method according to any one of the first aspect, the second aspect, or possible implementations of the first and second aspects.
[0097] According to a seventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program (sometimes called code or instructions). When the computer program is executed on a computer, the computer is enabled to perform a method according to the first aspect, the second aspect, or any one of the possible implementations of the first and second aspects.
[0098] According to an eighth aspect, a computer program product is provided. The computer program product includes a computer program (sometimes referred to as code or instructions). When the computer program is executed, the computer is enabled to perform a method according to the first aspect, the second aspect, or any one of the possible implementations of the first and second aspects.
[0099] For the specific beneficial effects brought about by the third to eighth aspects, please refer to the description of the beneficial effects in the first and second aspects. Details will not be described again in this specification. [Brief description of the drawings]
[0100] [Figure 1] FIG. 1 is a diagram of a network architecture according to one embodiment of the present application. [Diagram 2] FIG. 2 is a diagram of interactions in a data transmission method according to an embodiment of the present application. [Diagram 3] FIG. 1 is a diagram of an overall network deployment according to one embodiment of the present application. [Figure 4] 1 is a schematic flowchart of training a first data reconstruction network according to an embodiment of the present application. [Diagram 5] 4 is a schematic flowchart of training a first channel protection network based on a first data reconstruction network according to an embodiment of the present application; [Figure 6] FIG. 2 is a diagram of interactions in unidirectional network training according to one embodiment of the present application. [Figure 7] FIG. 2 is a diagram of interactions in two-way interactive network training according to one embodiment of the present application. [Figure 8] 1 is a schematic flowchart of periodically training and updating a network according to an embodiment of the present application; [Figure 9] 11A-11C are diagrams of simulation results of different solutions according to an embodiment of the present application. [Figure 10] 1 is a diagram of a communication device according to an embodiment of the present application. [Figure 11] 1 is a diagram of a structure of a communication device according to an embodiment of the present application; [Figure 12] FIG. 2 is a diagram of the structure of another communication device according to an embodiment of the present application. [Figure 13] FIG. 2 is a diagram of the structure of yet another communication device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0101] The technical solutions of the present application are described below with reference to the accompanying drawings.
[0102] FIG. 1 is a diagram of a network architecture according to one embodiment of the present application.
[0103] The system 100 shown in Fig. 1 includes a network device 10 and a terminal device 20. The network device 10 and the terminal device 20 may communicate with each other through an uplink and a downlink. Of course, the system to which the embodiment of the present application is applicable may further include multiple (two or more) network devices and multiple terminal devices. The two terminal devices may communicate with each other through a sidelink. Fig. 1 is just an example. This is not limited in the present application.
[0104] The terminal device in the embodiment of the present application may be a wireless terminal device capable of receiving scheduling and display information of a network device. The terminal device may be a device that provides a user with voice and / or data connectivity, a handheld device with wireless connectivity, or another processing device connected to a wireless modem.
[0105] A terminal device may also be called a terminal, an access terminal, user equipment, subscriber unit, subscriber station, mobile station, remote station, remote terminal, mobile device, user terminal, wireless communications device, user agent, or user equipment. The terminal in the embodiment of the present application may be a mobile phone, a tablet computer (pad), a computer with a wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, a computing device or another processing device connected to a wireless modem, an in-vehicle device, a wearable device, a terminal in a 5G network, or a terminal in a post-5G evolved network, etc.
[0106] Wearable devices, sometimes called wearable intelligent devices, are a general term for wearable devices developed by applying wearable technology to the intelligent design of everyday wear, such as glasses, gloves, watches, clothes, and shoes. Wearable devices are portable devices that are worn directly or integrated into the user's clothes or accessories. Wearable devices are not only hardware devices, but also implement powerful functions through software support, data exchange, and cloud interaction. General-purpose wearable intelligent devices include full-function large-sized devices that can implement full or partial functions without relying on smartphones, such as smart watches or smart glasses, and devices that focus on only one type of application function and need to work with other devices such as smartphones, such as various smart bands or smart jewelry.
[0107] The network device in the embodiment of the present application is configured to communicate with user equipment and may be any communication device having wireless transceiver function, may be a network device deployed on a satellite, or may be a network device deployed on the ground. The network device includes, but is not limited to, an evolved NodeB (eNB), a radio network controller (RNC), a NodeB (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (e.g., a home evolved NodeB, HeNB, or home NodeB (HNB), a base band unit (BBU), an access point (AP) in a wireless fidelity (Wi-Fi) system, a wireless relay node, a wireless backhaul node, a transmission point (TP), or a transmission reception point (TRP), etc. The network device may alternatively be a gNB in a 5G system such as an NR system, or one antenna panel or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system, or a network node constituting a gNB or a transmission point, for example a baseband unit (BBU) or distributed unit (DU).
[0108] In some deployments, the gNB may include a central unit (CU) and a DU. The gNB may further include an active antenna unit (AAU).
[0109] The technical solutions in the embodiments of the present application are applicable to various communication systems, such as satellite communication systems, high altitude platform station (HAPS) communication, non-terrestrial network (NTN) systems such as unmanned aerial vehicles, integrated communication and navigation (IcaN) systems, global navigation satellite systems (GNSS), very high density low-orbit satellite communication systems, long term evolution (LTE) systems, LTE frequency division duplex (FDD), LTE time division duplex (TDD) systems, universal mobile telecommunications system (UMTS), 5th generation (5G) systems, post-5G evolved communication systems, vehicle-to-everything (V2X), long term evolution-vehicle (LTE-V), Internet of Vehicles, machine-type communication (machine-based communication), and the like. V2X may be applied to multi-vehicle type communication (MTC), Internet of things (IoT), long term evolution-machine (LTE-M), and machine to machine (M2M), where V2X may include vehicle to network (V2N), vehicle to vehicle (V2V), vehicle to infrastructure (V2I), and vehicle to pedestrian (V2P), etc.
[0110] In the embodiment of the present application, the terminal device may further have AI processing capabilities, and the network device may also have AI processing capabilities. For example, the terminal device may have neural network training capabilities, neural network inference capabilities, etc. Optionally, the network device may also have neural network training capabilities, neural network inference capabilities, etc.
[0111] The problem of high data transmission overhead occurs in the communication between terminal devices, between terminal devices and network devices, or between network devices in the above communication system. A device-cloud collaboration scenario is used as an example. The terminal device collects data, extracts intermediate features based on the AI task network on the terminal device side, and sends the intermediate features to the network device (the network device can be a cloud). The network device can input the intermediate features into the AI task network on the network device side to calculate, obtain the result, and feed the result back to the terminal device.
[0112] The intermediate features are intended to represent the output of a network layer in an end-to-end network (e.g., a convolutional neural network). The intermediate features can be understood as the output of any network layer in an end-to-end network. The intermediate features output by a lower network layer can be more detailed information including texture information (texture information can be picture description information, e.g., luminance information, color information, and line structure), and the intermediate features output by a higher network layer can be more macro information including structure information (e.g., contour information). The end-to-end network can be understood as a complete network from input to output, and the input and output can be deployed at two ends. For example, the end-to-end network can be understood as a process deployed at two ends (including the end of the terminal device and the end of the network device, the end of the terminal device, or the end of the network device) for the AI task network to train together.
[0113] In the process where the terminal device sends the intermediate features to the network device, the intermediate features may be compressed to avoid high transmission overhead of the intermediate features.
[0114] In a possible implementation, before sending the intermediate features to the network device, the terminal device may encode and compress the intermediate features, for example by using joint photographic experts group (JPEG), and further perform channel coding after encoding the intermediate features to avoid channel interference to the compressed intermediate features, for example by using JPEG, and may perform low-density parity check (LDPC) / Polar coding on the encoded intermediate features after encoding the intermediate features, and send the encoded intermediate features to the network device.
[0115] In this implementation, the performance of compressing and encoding the intermediate features depends on the distribution characteristics of the intermediate features, and there is error propagation in the entropy encoding in the compression process. Therefore, after receiving the encoded intermediate features, the network device decodes the encoded intermediate features, and then obtains inaccurate results by inputting the decoded intermediate features into the AI task network on the network device side for calculation. In other words, the encoding and compression implementation creates a cliff effect on the performance of the AI task network. That is, the performance of the AI task network drops sharply.
[0116] In another possible implementation, a noise layer is added to the process of training the AI task network to analogize the transmission. The trained AI task network is split. A feature encoding module is added to the AI task network on the terminal device side. The terminal device sends the encoded intermediate features to the network device. A feature decoding module is added to the AI task network on the network device side. The intermediate features sent by the terminal device are decoded, and the results are obtained from the calculation in the AI task network on the network device side, and the calculation results are fed back to the terminal device.
[0117] This implementation mainly focuses on adding analog noise training to the AI task network. Although this solution can reduce error propagation in the compression process, analog solutions usually have weaker anti-noise capabilities than digital solutions, are more likely to be interfered with by noise, have larger performance losses, and are difficult to combine with existing digital communication systems.
[0118] In view of this, the present application provides a codebook-based data transmission solution to implement data compression and reduce data transmission overhead.
[0119] 2 is a diagram of an interaction in a data transmission method according to an embodiment of the present application. The method is applicable to data transmission between a first device and a second device. The method 200 shown in FIG. 2 includes the following steps:
[0120] S210: The first device acquires data.
[0121] It should be understood that the data may be data collected by the first device, for example, downlink channel state information (CSI) data, or the data may be intermediate features extracted from an end-to-end network deployed at the first device side.
[0122] S220: The first device determines an index of the data.
[0123] In a possible implementation, the first device determines an index of the data based on a first encoding network and a first data codebook, where the first encoding network is for encoding the data, and the first data codebook includes a correspondence between the encoded data and the index.
[0124] For example, a first device processes data based on a first encoding network to obtain encoded data, and then, based on the encoded data, queries a first data codebook for an index corresponding to the encoded data.
[0125] The index of data may be understood as an index corresponding to encoded data, and the encoded data may be understood as data obtained through encoding.
[0126] Optionally, the first device processes the index of data by using a channel coding module, for example, by adding a parity bit to the index of data through an LDPC or a poller to resist jamming. The second device may correct errors in the index of data by using the parity bit.
[0127] In a possible implementation, the length of the codewords in the first data codebook and the amount of codewords in the first data codebook are related to the dimension of the data.
[0128] In a possible implementation, the amount of codewords is related to at least one of the compression rate of the data task network, the storage resources of the first device and / or the storage resources of the second device, and the performance of the data task network.
[0129] For example, the data task network may be a data reconstruction network. The data reconstruction network includes an encoding network, a data codebook, and a decoding network. The data reconstruction network may be for processing data into an index based on the encoding network and the data codebook. The decoding network may be understood as a task execution network for data restoration, and may restore data encoded in the data. The encoding network may be located on the first device side, and the decoding network may be located on the second device side. Optionally, the task execution network may alternatively be another network. For example, the task execution network is for performing tasks such as data identification, classification, segmentation, and detection. That is, after receiving information about the index of the data, the second device may determine the index of the data based on the information about the index of the data, and determine the encoded data corresponding to the index based on the codebook. The encoded data may be input to the task execution network to perform tasks such as identification, classification, segmentation, and detection.
[0130] S230: The first device sends information about the index of the data to the second device, so that the second device receives the information about the index of the data.
[0131] It should be understood that the information regarding the index of data may be understood as information that may be for determining the index of data, and may be the index of data or information related to the index of data, where the information related to the index may be for uniquely determining the index of data, which is not limited in the present application.
[0132] In a possible implementation, the information on the index of the data may be information on the index of the data and obtained through processing by using a channel encoding module. The first device may send information on the index of the data and obtained through processing by using a channel encoding module to the second device. Thus, the second device receives information on the index of the data and obtained through processing.
[0133] In a possible implementation, the information about the index of the data includes a bit sequence. In other words, S230 can be replaced with S230'. The first device sends the bit sequence to the second device. Thus, the second device receives the bit sequence.
[0134] Optionally, the bit sequence may be obtained by processing the floating-point sequence, and the floating-point sequence is obtained by processing an index of data based on the first information protection network. In particular, before the first device sends the bit sequence, the first device processes the index of data, which is determined in S220, based on the first information protection network to obtain a floating-point sequence, and further processes the floating-point sequence to obtain a bit sequence.
[0135] For example, the first device may process the floating-point sequence into a bit sequence in an approximation or codebook mapping processing manner.
[0136] It should be understood that the first information protection network can be for protecting data to be sent by the first device to the second device to reduce noise interference from the channel. The first information protection network can be a network that is trained by the first device or the second device in advance and deployed on the first device side.
[0137] For example, the first information protection network may be a multi-layer neural network, and may include a convolution layer, a fully connected layer, and an activation layer. The first information protection network may be for extending the dimension of the input data (i.e., index) to implement anti-jamming.
[0138] Optionally, the bit sequence is determined based on a first channel codebook and an index of the data. In particular, before the first device sends the bit sequence, the first device determines a bit sequence corresponding to the index of the data based on the first channel codebook. The first channel codebook includes a correspondence between the index of the data and the bit sequence. The first channel codebook is obtained by the first device or the second device through training based on the first information protection network. The floating-point sequence output by processing each index based on the first information protection network is close to or the same as the bit sequence found in the first channel codebook through a neighborhood search based on the index.
[0139] It should be understood that the first device processes the index into the bit sequence in two ways. In the first way, the first device processes the index based on the information protection network to obtain a floating-point sequence, and then processes the floating-point sequence into the bit sequence. In the second way, the first device obtains the bit sequence corresponding to the index based on the channel codebook. When the floating-point sequence output by processing each index based on the first information protection network is close to or the same as the bit sequence found in the first channel codebook through the index-based neighborhood search, in the subsequent data transmission process, the first device can directly obtain the bit sequence corresponding to the index based on the information protection network without processing based on the first channel codebook.
[0140] S240: The second device determines the encoded data.
[0141] After the second device receives information regarding the index of the data in S230, the second device determines encoded data corresponding to the index of the data based on the first data codebook, where the first data codebook includes correspondence between the encoded data and the index.
[0142] The first device encodes data according to a first encoding network to obtain encoded data, and queries the first data codebook for an index corresponding to the encoded data. After receiving information about the index of the data, the second device queries the first data codebook for encoded data corresponding to the information about the index.
[0143] In a possible implementation, when the received information regarding the index is a bit sequence, after the second device receives the bit sequence in S230', the second device processes the bit sequence to obtain a floating-point sequence, and processes the floating-point sequence based on the first information recovery network to obtain an index of the data.
[0144] For example, the bit sequence is obtained by the first device by processing the index of data based on the first information protection network, and the first information restoration network corresponds to the first information protection network. Thus, the second device can restore the bit sequence to the index of data based on the first information restoration network.
[0145] In a possible implementation, when the received information regarding the index is a bit sequence, after the second device receives the bit sequence in S230', the second device processes the bit sequence based on the first information recovery network to obtain an index of the data.
[0146] In this solution, the bit sequence does not need to be processed to obtain the floating-point sequence, and the bit sequence may be directly processed based on the first information recovery network to obtain the index of the data.
[0147] For example, after receiving the transmission sequence carried on the carrier, the second device performs hard-decision demodulation on the transmission sequence to obtain a bit sequence. For example, 0.9 can be regarded as 1 through hard decision, and 0.1 can be regarded as 0 through hard decision. The input to the first information recovery network can be a floating-point sequence or a bit sequence. Therefore, the bit sequence can be directly processed based on the first information recovery network to obtain the index of the data.
[0148] In a possible implementation, the first information protection network and the first information recovery network are obtained through training based on channel state information, an index of training data, and a loss function, the loss function being associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
[0149] The codeword distance loss is a distance loss between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing a first index based on a second information protection network, and the second floating-point sequence is obtained by processing a second index based on the second information protection network.
[0150] The information reconstruction loss is a loss of distance between a third index for which no processing is performed based on the second information protection network and a third index obtained through processing based on the second information restoration network, where the second information restoration network corresponds to the second information protection network.
[0151] The sequence distance loss is a distance loss between a floating-point sequence and a bit sequence, the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, the second channel codebook is obtained through training based on the second information protection network, and the first index, the second index, and the third index are obtained based on the second encoding network and the second data codebook.
[0152] Considering the loss function in the training process can improve the performance of information reconstruction, and can enable the network to converge faster and have better anti-noise performance. In particular, considering the information reconstruction loss can reduce the error (or distance) between the index and the index obtained through processing based on the channel protection network and the information restoration network, considering the sequence distance loss can reduce the error (or distance) between the floating-point sequence obtained by processing the index based on the information protection network and the bit sequence closest to the index in the channel codebook, and considering the codeword distance loss can increase the distance between the floating-point sequence obtained by processing different indexes based on the channel protection network, avoiding obtaining the same or similar floating-point sequence by processing different indexes based on the channel protection network, which results in selecting the same bit sequence in the channel codebook, and thus the convergence, anti-noise performance, and performance of the network can be improved.
[0153] It should be understood that the first information protection network, the first channel codebook, and the first information recovery network can be obtained through multiple rounds of training, and the second information protection network, the second channel codebook, and the second information recovery network can be obtained through a previous round of training for the first information protection network, the first channel codebook, and the first information recovery network. Similarly, the first encoding network and the first data codebook can be obtained through multiple rounds of training, and the second encoding network and the second data codebook can be obtained through a previous round of training for the first encoding network and the first data codebook. The training data in this application is the data used in the process of training the above network, and the type, dimension, and purpose of the training data can be the same as that of the data communicated after the above network is trained.
[0154] Optionally, the second device inputs the encoded data to a first task execution network for processing. For example, the first task execution network is a first decoding network, and the first decoding network corresponds to the first encoding network.
[0155] Optionally, the second device decodes, based on the first decoding network, the encoded data to obtain decoded data.
[0156] It should be understood that the decoded data is data that is restored based on the decoding network and is not processed based on the encoding network. The decoded data may be the same as the data that is not processed based on the encoding network (due to the processing of the same data), or the decoded data may be close to the data that is not processed based on the encoding network.
[0157] Optionally, the method 200 may further include the following steps.
[0158] S250: The second device inputs the decrypted data into the end-to-end network on the second device side, performs calculation, and obtains the calculation result, where the decrypted data is an intermediate feature in the end-to-end network.
[0159] It should be understood that the decoded data may be obtained by decoding the encoded data based on the first decoding network.
[0160] Optionally, the method 200 may further include the following steps.
[0161] S260: The second device feeds back the calculation result to the first device, so that the first device receives the calculation result.
[0162] S250 and S260 can be used in end-to-end network computing scenarios, such as device cloud collaboration, model segmentation, and edge computing.
[0163] It should be understood that the first device may be a terminal device. In this case, the second device is a network device. Alternatively, the first device is a network device. In this case, the second device is a terminal device. The following first device and second device are understood in the same way.
[0164] The first device and the second device may jointly implement a first data task network and an optional first channel protection network. The first data task network may implement, for example, a data reconstruction task. The first channel protection network may reduce channel interference to information communicated between the first device and the second device. A part of the first data task network may be deployed on the first device side, and another part of the first data task network may be deployed on the second device side.
[0165] In a possible implementation, the first data task network includes a first encoding network, a first data codebook, and a first task execution network. Optionally, when the first encoding network and the first data codebook are deployed on a first device, the first task execution network and the first data codebook are deployed on a second device, or when the first task execution network and the first data codebook are deployed on a first device, the first encoding network and the first data codebook are deployed on a second device.
[0166] In a possible implementation, the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network. Optionally, when the first information protection network and the first channel codebook are deployed on a first device, the first information recovery network is deployed on a second device, or when the first information recovery network is deployed on the first device, the first information protection network and the first channel codebook are deployed on a second device.
[0167] Figure 3 is a diagram of an overall network deployment according to one embodiment of the present application. Figure 3 only shows one of the above listed cases as an example, and other cases can be inferred. Details will not be described again.
[0168] The dashed box indicates the option. Specifically, only the encoding network and the data codebook can be deployed on the first device side, and only the data codebook and the task execution network can be deployed on the second device side.
[0169] Alternatively, the encoding network, the data codebook and the channel codebook may be deployed on the first device side, and the data codebook, the task execution network and the information recovery network may be deployed on the second device side.
[0170] Alternatively, the encoding network, the data codebook, the information protection network, and the channel codebook may be deployed on the first device side, and the information recovery network, the data codebook, and the task execution network may be deployed on the second device side.
[0171] The following describes the training process of the data task network by using an example where the data task network is a data reconstruction network. The training process can be on the first device side or on the second device side, which is not limited in this application.
[0172] 4 is a schematic flowchart of training a first data reconstruction network according to an embodiment of the present application. The method 400 shown in FIG. 4 includes, as an example, the following steps:
[0173] S410: Train a second data reconstruction network based on training data, where the second data reconstruction network includes a second encoding network, a second data codebook, and a second decoding network.
[0174] In a possible implementation, the second encoding network, the second data codebook, and the second decoding network (e.g., network layers, input or output dimensions, and initialized parameters) are designed based on compression rate and storage resources. More network layers indicate more storage resources required and better network performance (e.g., higher compression rate). Therefore, the network layers need to be designed with a compromise between storage resources and network performance. Optionally, the initialized parameters can be generated randomly during the initial network design.
[0175] For example, the dimension of the training data is (c1, a1), and the dimension of the encoded data obtained through encoding based on the second encoding network is (c2, a2), where c1 and c2 may represent the amount of channels (e.g., the amount of red green blue (RGB) channels), and a1 and a2 may represent the amount of feature values of a one-dimensional or two-dimensional feature map of each channel, respectively. In another example, the training data is intermediate features in an end-to-end network, the dimension of the intermediate features is (c1, a1, b1), and the dimension of the intermediate features obtained through encoding based on the second encoding network is (c2, a2, b2), where c1 and c2 may represent the amount of channels, a1 and a2 may represent the length of the feature map on the channel, and b1 and b2 may represent the width of the feature map on the channel, respectively. For example, the dimension of the intermediate feature is (2048*4*4), and the dimension of the intermediate feature obtained through encoding based on the second encoding network is (512*8*8). * in this application represents the operation symbol of "multiplication".
[0176] In a possible implementation, the structure of the second data codebook is (d1, k1). d1 is the length of each codeword in the second data codebook, and the length of the codeword in the second data codebook and the amount of the codeword in the second data codebook are associated with the dimension of the encoded data. When the training data is an intermediate feature, d1 may represent the amount of channels of the encoded data, and each codeword in the second data codebook may be approximately a data sequence whose length is the same as the first dimension value (e.g., the amount of channels) of the encoded data. k1 is the amount of codewords in the second data codebook, and k1 may be set based on one or more of the storage resource, the compression rate, and the performance. The storage resource may be the local storage resource of the first device and / or the local storage resource of the second device. The compression rate may be the ratio of the amount of integers or floating-point numbers of the training data to the amount of modulation symbols. Assuming that the training data are intermediate features and the dimensions of the intermediate features are (c1, a1, b1), the compression rate is the ratio of the amount of integer values of the feature map (e.g., the amount of pixel values of the feature map, i.e., c1*a1*b1) to the amount of modulation symbols (e.g., the amount of modulation symbols to which information on the index corresponding to the encoded intermediate features is mapped during the transmission process), and the performance can be the performance of the end-to-end network. For example, if the encoded data is two-dimensional and the dimensions of the encoded data are (c2, a2), the a2 data sequence needs to be mapped to a codeword adjacent to the a2 data sequence in the second data codebook. If the encoded data is three-dimensional and the dimensions of the encoded data are (c2, a2, b2), the a2*b2 data sequence needs to be mapped to a codeword adjacent to the a2*b2 data sequence in the second data codebook. k1 is usually 2 mwhere m is the bitstream length of the index corresponding to the encoded data in the second data codebook, and a larger value of m indicates a lower compression rate and a smaller performance loss. Therefore, the second data reconstruction network needs to be designed with a compromise between compression rate and performance.
[0177] It should be understood that a smaller value of k1 indicates a higher compression rate and a worse performance of the data reconstruction network, and more storage resources indicates a better performance of the data reconstruction network. Therefore, when the second encoding network and the second data codebook are designed, consideration is needed regarding the compromise between the compression rate, the storage resources (the storage resources at the first device end and / or the storage resources at the second device end) and the performance of the data reconstruction network or the end-to-end network (consideration is needed when the training data is an intermediate feature).
[0178] For example, the structure of the second data codebook is (512*256), i.e., the second data codebook includes 256 codewords, and the length of each codeword is 512. The dimension of the encoded intermediate feature is (512*8*8), where 512 (512 can be the amount of channels) in the dimension of the encoded intermediate feature corresponds to the length of the codeword in the second data codebook, i.e., 512, and the value of 8*8 in the dimension of the encoded intermediate feature corresponds to 64 codewords in the second data codebook. The index of the codeword in the second data codebook can be represented by using 8 bits.
[0179] S420: Train and update a second data reconstruction network based on a first loss function to obtain a first data reconstruction network, where the first data reconstruction network includes a first encoding network, a first data codebook, and a first decoding network.
[0180] In a possible implementation, the first loss function=α1*data reconstruction loss+β1*codeword distance loss+γ1*data distance loss. The training data X is encoded based on the second encoding network, an index corresponding to the encoded training data X is obtained, and the encoded data corresponding to the index in the second data codebook is queried;
[0181]
number
[0182] Suppose that the second decoding network is used to decode the encoded data, then the data reconstruction loss is given by X and
[0183]
number
[0184] The difference between, for example, X and
[0185]
number
[0186] The codeword distance loss is the loss caused by updating the codeword in the second data codebook, so that the updated codeword is close to the coded data coded based on the second coding network. For example, the codeword distance loss is the MSE between the updated codeword and the coded data. The data distance loss is the loss caused by fixing the second data codebook and training and updating the second coding network, so that the coded data coded based on the trained and updated second coding network is close to the codeword in the second data codebook. For example, the data distance loss is the MSE between the coded data obtained through coding after the second coding network is updated and the codeword in the second data codebook.
[0187] The data reconstruction loss can be understood as an example of the data task loss. The data task loss is based on the corresponding task. For example, when the task is data reconstruction, the data task loss is the data reconstruction loss. When the task is classification, the data task loss is the classification loss, i.e., the loss between the result obtained by inputting the coded data into the classification network and the classification indication. α1, β1, and γ1 can be set based on the actual application. During the setting, the weights occupied by the corresponding parts can be taken into account. Assume that α1+β1+γ1=1. When the data reconstruction loss is considered to be more important than the codeword neighborhood loss and the data neighborhood loss, α1 can be set to 0.4, and β1 and γ1 can be set to 0.3. The above is only an example. This is not limited in this application.
[0188] It should be understood that the process of training and updating the data reconstruction network can be repeated until the calculated value of the first loss function satisfies a condition. For example, the calculated value of the first loss function is less than a first threshold. The first threshold can be predefined or preconfigured, or can be indicated by using signaling. This is not limited in the present application. In other words, at least one training and updating process is required in the process of training and updating the second data reconstruction network to obtain the first data reconstruction network.
[0189] For the data task network obtained through training by using the method 400, only the information about the index corresponding to the data can be communicated in the actual transmission process, so the transmission bit overhead for the data is greatly reduced, the compression is high, and it is easy to combine with the existing digital communication system. Moreover, for the task-oriented neural network, the probability of occurrence of the index is not uniform, which provides a basis for implementing unequal message protection (UMP).
[0190] The process of training the first channel protection network is described below. The training process can be on the first device side or on the second device side. This is not limited in this application. In particular, the channel protection network can be trained based on the trained first data reconstruction network.
[0191] 5 is a schematic flowchart of training a first channel protection network based on a first data reconstruction network according to an embodiment of the present application. The method 500 shown in FIG. 5 includes, as an example, the following steps.
[0192] S510: Training a second channel protection network based on an index of the encoded data obtained based on the first encoding network and the first data codebook, where the second channel protection network includes a second information protection network, a second channel codebook, and a second information recovery network.
[0193] For example, the bit length of the index, which is of the encoded data and is obtained based on the first encoding network and the first data codebook, is m. The second information protection network can be designed based on the code rate (m, n). The second information protection network can be a process of adding redundancy and for error correction. The length of the floating-point sequence obtained by processing the index bit sequence with length m based on the second information protection network is n, where m is equal to or greater than n.
[0194] For example, the length of the floating-point sequence output by the second information protection network is n, and the floating-point sequence is mapped to the closest bit sequence in the second channel codebook (for example, the length of the codeword in the second channel codebook is n, and the amount of codewords in the second channel codebook is 2 n (It is.)
[0195] It should be understood that the second information recovery network can recover the index of the data based on the bit sequence. Through multiple trainings, the second information protection network and the second channel codebook can be updated. For example, when the amount of codewords is 2 m The second channel codebook is trained and updated until it changes to , that is, the second channel codebook stores only the codewords that have a one-to-one correspondence with the index bit sequence output based on the first encoding network and the first data codebook.
[0196] S520: Train and update a second channel protection network based on a second loss function to obtain a first channel protection network, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network.
[0197] Optionally, the second loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
[0198] For example, the second loss function == α2 * information reconstruction loss.
[0199] Alternatively, the second loss function == α2 * information reconstruction loss - γ2 * codeword distance loss.
[0200] Alternatively, the second loss function = α2 * information reconstruction loss - β2 * sequence distance loss - γ2 * codeword distance loss.
[0201] It should be understood that the second loss function is not limited to the above example. Other examples of the second loss function are not described one by one in this specification. α2, β2 and γ2 can be set based on actual application. During setting, the weights occupied by corresponding parts can be taken into account.
[0202] For example, α2+β2+γ2=1. When the information reconstruction loss is considered to be more important than the codeword distance loss and the sequence example loss, α2 can be set to 0.6, and β2 and γ2 can be set to 0.2. The above is only an example. This is not limited in this application.
[0203] The information reconstruction loss is a loss of distance between a third index for which no processing is performed based on the second information protection network and a third index obtained through processing based on the second information restoration network, where the second information restoration network corresponds to the second information protection network.
[0204] The codeword distance loss is a distance loss between a first floating-point sequence and a second floating-point sequence, where the first floating-point sequence is obtained by processing a first index based on a second information protection network, and the second floating-point sequence is obtained by processing a second index based on the second information protection network.
[0205] The sequence distance loss is a distance loss between a floating-point sequence and a bit sequence, where the floating-point sequence is obtained through processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, the second channel codebook is obtained through training based on the second information protection network, and the first index, the second index, and the third index are obtained based on the first encoding network and the first data codebook.
[0206] It should be understood that the first index and the second index are obtained by processing different training data samples according to the first encoding network and the first data codebook. The third index can be the first index, the second index, or an index other than the first index and the second index. This is not limited in the present application.
[0207] For example, two different samples in a batch are input to a second information protection network to obtain x i and x j (i and j ∈ 0 to 8, where 8 is the amount of samples in the batch, just as an example), and i and x j A distance d between the bit sequences to be mapped into the second channel codebook is calculated, and x i and x jThe distance loss between is weighted based on the inverse of d (when d=0, γ2=1) to avoid that the indexes of different training data samples input into the second information protection network correspond to the same bit sequence in the second channel codebook, and allows the indexes of different training data samples input into the second information protection network to have a longer distance between two corresponding bit sequences in the second channel codebook, thereby enabling the anti-interference ability to be stronger.
[0208] It should be understood that the process of training the channel prediction network can be repeated until the calculated value of the information reconstruction loss or the second loss function satisfies a condition. For example, the calculated value of the information reconstruction loss or the second loss function is less than a second threshold. The second threshold can be predefined or preconfigured, or can be indicated by using signaling. This is not limited in the present application. In other words, at least one training process is required in the process of training the second channel protection network to obtain the first data protection network.
[0209] In the actual transmission process of the index of data, the value of each m-length index bit sequence can be used to obtain or be used as the index of the bit sequence corresponding to the index bit sequence in the first channel codebook. That is, in the actual transmission process of data, the process based on the information protection network does not need to be implemented, and the bit sequence corresponding to the index of data and needs to be communicated can be directly obtained based on the first channel codebook. For example, if the index corresponding to data is 00000000 and the value of the index is 0, the bit sequence corresponding to 0 can be selected for transmission based on the correspondence in the first channel codebook.
[0210] Furthermore, it should be understood that after the first channel protection network is trained, the first channel protection network parameters are nested in the first data reconstruction network trained according to method 400 to obtain a data reconstruction network based on channel noise through training or updating. That is, the first data reconstruction network is trained and updated based on the channel protection network, and an index of the noisy data may be obtained based on the updated first data reconstruction network.
[0211] According to the method 500, since the probability of occurrence of the index bit sequence is unequal, the channel protection network provides unequal protection to the index bit sequence, and the codebook distance loss can successfully improve the reconstruction performance of the index bit sequence recovery.
[0212] The following describes methods for training a data task network (a data reconstruction network is used as an example) and / or a channel protection network, for example, one-way training and two-way interactive training.
[0213] 6 is a diagram of interactions in one-way training of a data reconstruction network and / or a channel protection network according to an embodiment of the present application. The method 600 shown in FIG. 6 includes the following steps.
[0214] S610: The first device sends an initial configuration to the second device, so that the second device receives the initial configuration.
[0215] For example, the first configuration includes related information of the second data reconstruction network. If the first device is a terminal device, the first configuration includes second decoding network parameters and second data codebook information, the second decoding network parameters can be for determining the second decoding network, and the second data codebook information can be for determining the second data codebook. Alternatively, if the first device is a network device, the first configuration includes second encoding network parameters and second data codebook information, and the second encoding network parameters can be for determining the second encoding network.
[0216] It should be understood that the second encoding network, the second decoding network and the second data codebook can be obtained by the first device through initial training.
[0217] Alternatively, for example, the initial configuration is of an end-to-end network and includes network parameter information at the second device side, such as information such as weights and biases in the network.
[0218] Alternatively, for example, the first configuration is of an end-to-end network and includes network parameter information at the second device side and related information of the second data reconfiguration network.
[0219] Alternatively, for example, the first configuration is of an end-to-end network and includes network parameter information at the second device side, related information of the second data reconstruction network, and a sample indication of the end-to-end network.
[0220] Optionally, S620: The first device trains a first channel protection network.
[0221] In a possible implementation, the first device obtains a first information protection network through training based on channel state information and an index of training data, where the index of training data is obtained based on a second encoding network and a second data codebook.
[0222] For example, the first device obtains the index of training data according to the second encoding network and the second data codebook, and trains the first information protection network based on channel noise according to the obtained channel state information.For specific training process, please refer to method 500.This specification will not describe the details again.
[0223] Optionally, before S620, the first device obtains channel state information.
[0224] For example, when the first device is a terminal device and the second device is a network device, the first device sends a channel measurement sequence to the second device (the channel measurement sequence may be sent via a signal such as a channel sounding reference signal (SRS), and the first device may send the channel measurement sequence via CSI in the case of an uplink-downlink symmetric channel), and the second device feeds back uplink channel state information to the first device. When the first device is a network device and the second device is a terminal device, the first device receives the channel measurement sequence from the second device and obtains downlink channel state information.
[0225] S630: The first device trains a first data reconstruction network.
[0226] In possible implementation, the first device trains the first data reconstruction network based on training data, the second encoding network, the second decoding network, the second data codebook, and channel state information. The second encoding network, the second decoding network, and the second data codebook can be obtained by the first device through initial training. For specific training process, please refer to the description of method 400. This specification will not describe the details again.
[0227] In possible implementation, the first device obtains a first channel protection network through training, nests the network parameters of the first channel protection network in the second data reconstruction network, and obtains the first data reconstruction network through training based on training data and channel state information, where the second data reconstruction network includes a second encoding network, a second decoding network, and a second data codebook, and can be obtained by the first device through initial training. For specific training process, please refer to the description of method 500. Details will not be described again in this specification.
[0228] The above channel state information may be the channel state information corresponding to when the second data reconstruction network is trained, or may be the channel state information corresponding to when the first data reconstruction network is trained, which is not limited in this application.
[0229] S640: The first device sends the network parameters and the codebook information to the second device, so that the second device receives the network parameters and the codebook information.
[0230] For example, assuming that the first device has completed training of the first data reconstruction network and the first device is a terminal device, the first data reconstruction network is divided into a first encoding network and a first decoding network, the network parameters may be first decoding network parameters for determining the first decoding network, and the codebook information may be first data codebook information for determining the first data codebook. Alternatively, if the initial configuration sent in 610 includes second decoding network parameters and second data codebook information, the network parameters may be deltas between the second decoding network parameters and the first decoding network parameters, and the codebook information may be deltas between the first data codebook information and the second data codebook information.
[0231] Alternatively, assuming that the first device is a network device, the first data reconstruction network is divided into a first encoding network and a first decoding network, the network parameters may be first encoding network parameters for determining the first encoding network, and the codebook information may be first data codebook information for determining the first data codebook. Alternatively, if the initial configuration sent in 610 includes second encoding network parameters and second data codebook information, the network parameters may be deltas between the second encoding network parameters and the first encoding network parameters, and the codebook information may be deltas between the first data codebook information and the second data codebook information.
[0232] Optionally, the network parameters include a first channel protection network parameter in addition to the first data reconstruction network parameter.
[0233] For example, assuming that the first device is a terminal device, the network parameters include a first information recovery network parameter in addition to the first data reconstruction network parameter, where the first information recovery network parameter is for determining the first information recovery network. Alternatively, assuming that the first device is a network device, the network parameters include a first information protection network parameter in addition to the first data reconstruction network parameter, where the first information protection network parameter is for determining the first information protection network, and the codebook information further includes first channel codebook information for determining a first channel codebook.
[0234] Optionally, when the first data reconstruction network and the first channel protection network are for communicating and restoring intermediate features extracted from the end-to-end network, the method 600 further includes the following steps.
[0235] S650: The first device sends information about an index of the intermediate feature to the second device, where the index of the intermediate feature, which can be determined based on the information about the index of the intermediate feature, is obtained through processing based on the first encoding network and the first data codebook. Thus, the second device receives the information about the index of the intermediate feature.
[0236] S660: The second device determines whether the first data reconstruction network and / or the first channel protection network satisfies a condition.
[0237] In a possible implementation, the second device recovers intermediate features corresponding to information regarding the indexes of the intermediate features based on the first decoding network, inputs the intermediate features into the end-to-end network to calculate a result, and compares the distance (i.e., the loss or performance of the end-to-end network) between the result and the sample indications included in the first configuration to determine whether the distance satisfies a condition.
[0238] S670: The second device sends feedback information to the first device, so that the first device receives the feedback information.
[0239] For example, if the end-to-end network loss satisfies the condition, i.e., the end-to-end network loss is less than or equal to a third threshold (which may be predefined or preconfigured, or may be indicated by using signaling, which is not limited in this application), the second device sends feedback information to the first device, where the feedback information indicates that the first data reconstruction network and / or the first channel protection network satisfies the condition, and the first device no longer continues training. Subsequent data transmissions may be processed based on the first data reconstruction network and / or the first channel protection network.
[0240] If the end-to-end network loss does not satisfy the condition, i.e., the end-to-end network loss is greater than the specified third threshold, the second device sends feedback information to the first device, where the feedback information indicates that the first data reconstruction network and / or the first channel protection network do not satisfy the condition. The second device receives the feedback information and continues to train the first data reconstruction network and / or the first channel protection network until the condition is satisfied (S620 and S630 are repeated). The feedback information may further indicate to the first device to continue to train the first data reconstruction network, indicate to the first device to continue to train the first channel protection network, or indicate to the first device to continue to train the first data reconstruction network and the first channel protection network.
[0241] Alternatively, there is another solution in parallel with S650+S660+S670. Specifically, the first device can determine whether the first data reconstruction network and / or the first channel protection network that are trained meet the condition. The determination method is similar to the above determination method of the second device. Details are not described again.
[0242] In the method 600, the process of training the first data reconstruction network and / or the first channel protection network is separated from the end-to-end network, and therefore the data reconstruction network and / or the channel protection network can be fine-tuned without adjusting the end-to-end network. Thus, training can be fast and network parameter transmission overhead can be reduced.
[0243] 7 is a diagram of interactions in two-way interactive training of a data reconstruction network and / or a channel protection network according to an embodiment of the present application. The method 700 shown in FIG. 7 includes the following steps.
[0244] S710: The first device sends an initial configuration to the second device, so that the second device receives the initial configuration.
[0245] For example, the first configuration includes related information of the second data reconstruction network. If the first device is a terminal device, the first configuration includes second decoding network parameters and second data codebook information, the second decoding network parameters can be for determining the second decoding network, and the second data codebook information can be for determining the second data codebook. Alternatively, if the first device is a network device, the first configuration includes second encoding network parameters and second data codebook information, and the second encoding network parameters can be for determining the second encoding network.
[0246] It should be understood that the second encoding network, the second decoding network and the second data codebook can be obtained by the first device through initial training.
[0247] Alternatively, for example, the first configuration is of an end-to-end network and includes network parameter information at the second device side, related information of the second data reconstruction network, and training data samples, and the network parameter information at the end-to-end network and at the second device side is, for example, weights and biases in the network.
[0248] Alternatively, for example, the first configuration is of an end-to-end network, and includes network parameter information on the second device side, related information of the second data reconstruction network, test sample indications of the end-to-end network (for testing the performance of the end-to-end network), training data sample indications (for calculating the data reconstruction loss of the data reconstruction network), and training sample indications (for ensuring that the samples for network training on the first device side and the second device side are the same).
[0249] Optionally, S720: The first device trains a second channel protection network.
[0250] In a possible implementation, the first device acquires a second information protection network through training based on channel state information and an index of training data, where the index of training data is acquired based on a second encoding network and a second data codebook.
[0251] For example, the first device obtains the index of training data according to the second encoding network and the second data codebook, and trains the second information protection network based on channel noise according to the obtained channel state information.For specific training process, please refer to method 500.This specification will not describe the details again.
[0252] Optionally, S721: the first device sends information about the index of the first training data to the second device. Thus, the second device receives the information about the index of the first training data.
[0253] It should be understood that the information about the index of the first data is obtained through processing based on the second encoding network, the second data codebook, and the second information protection network.
[0254] Optionally, S722: the first device sends information about the processed index of the first training data to the second device. Thus, the second device receives information about the processed index of the first training data.
[0255] It should be understood that the information regarding the processed index of the first training data is obtained based on the second encoding network, the second data codebook, and the channel to interference processing, and the information regarding the processed index of the first training data can avoid channel interference.
[0256] Optionally, S723: The second device updates a second channel protection network (eg, a second information restoration network) on the second device side based on the information reconstruction loss.
[0257] For example, the second device calculates an information reconstruction loss based on information about the index of the first training data and information about the processed index of the first training data, and updates a second channel protection network (e.g., a second information recovery network) at the second device side based on the information reconstruction loss.
[0258] It should be understood that before S723, the second device acquires the second channel protection network from the first device.
[0259] Optionally, in S724, the second device sends the intermediate result (for example, gradient) required by the second channel protection network (for example, the second information protection network) on the first device side to the first device to update network parameters. Thus, the first device receives the intermediate result.
[0260] For example, the intermediate result is obtained by the second device through calculating based on the information reconstruction loss and the information restoration network. The intermediate result may be gradient information or may be intermediate information for determining gradient information. This is not limited in the present application.
[0261] Optionally, S725: The first device determines gradient information based on the intermediate result, and updates a second channel protection network (e.g., a second information protection network) on the first device side to obtain a first channel protection network (e.g., a first information protection network).
[0262] It should be understood that the gradient information of the non-data reconstruction loss can be updated locally by the first device and does not need to be fed back by the second device, i.e., the steps between S721 and S724 may not be required.
[0263] S730: The first device trains a first data reconstruction network.
[0264] In possible implementation, the first device trains the first data reconstruction network based on the second encoding network, the second decoding network, and the second data codebook. The second encoding network, the second decoding network, and the second data codebook can be obtained by the first device through initial training. For specific training process, please refer to the description of method 400. This specification will not describe the details again.
[0265] In possible implementation, the first device obtains a first channel protection network through training, and nests the network parameters of the first channel protection network in the second data reconstruction network to obtain the first data reconstruction network through training, where the second data reconstruction network includes a second encoding network, a second decoding network, and a second data codebook, and can be obtained by the first device through the first training, or can be a data reconstruction network obtained by the first device through at least one training and satisfying a condition.For specific training process, please refer to the description of method 500.This specification will not describe details again.
[0266] S731: The first device sends information about the index of the second training data to the second device, so that the second device receives the information about the index of the second training data.
[0267] It should be understood that information regarding the index of the second training data is obtained through processing based on the first encoding network and the first data codebook obtained through training and updating in S730, and the updated second information protection network (i.e., the first information protection network) in S725.
[0268] S732: The second device updates a first data reconstruction network (eg, a first decoding network and a first data codebook) at the second device side based on the data reconstruction loss.
[0269] For example, the second device calculates a data reconstruction loss based on the training data sample indication included in the first configuration, information regarding the index of the second training data, and the second data restored based on the first decoding network and the first data codebook, and updates the first data reconstruction network on the second device side based on the data reconstruction loss.
[0270] S733: The second device sends the intermediate results (e.g., gradients) required by the first data reconstruction network (e.g., the first encoding network and the first data codebook) on the first device side to the first device to update the network parameters. Thus, the first device receives the intermediate results.
[0271] For example, the intermediate result is obtained by the second device through calculating based on the data reconstruction loss and the decoding network. The intermediate result may be gradient information, or may be intermediate information for determining gradient information. This is not limited in the present application.
[0272] S734: The first device updates the first data reconstruction network based on the intermediate result.
[0273] For example, the first device updates the second encoding network and the second data codebook based on the intermediate result to obtain the first encoding network and the first data codebook.
[0274] Optionally, the first device updates a local second encoding network and a second data codebook based on the first loss function to obtain a first encoding network and a first data codebook.
[0275] Optionally, when the first data reconstruction network and the first channel protection network are for communicating and restoring intermediate features extracted from the end-to-end network, and the initial configuration includes a test sample representation of the end-to-end network, the method 700 further includes the following steps:
[0276] S740: The first device sends information about an index of the intermediate feature to the second device, where the index of the intermediate feature, which can be determined based on the information about the index of the intermediate feature, is obtained through processing based on the first encoding network and the first data codebook. Thus, the second device receives the information about the index of the intermediate feature.
[0277] S750: The second device determines whether the first data reconstruction network and / or the first channel protection network satisfies a condition.
[0278] In a possible implementation, the second device recovers intermediate features corresponding to information regarding the indexes of the intermediate features based on the first decoding network, inputs the intermediate features into the end-to-end network to calculate results, and compares the distance (i.e., the loss or performance of the end-to-end network) between the results and the test sample indications included in the first configuration to determine whether the distance satisfies a condition.
[0279] S760: The second device sends feedback information to the first device, so that the first device receives the feedback information.
[0280] For example, if the end-to-end network loss satisfies the condition, i.e., the end-to-end network loss is less than or equal to a third threshold (which may be predefined or preconfigured, or may be indicated by using signaling, which is not limited in this application), the second device sends feedback information to the first device, where the feedback information indicates that the first data reconstruction network and / or the first channel protection network satisfies the condition, and the first device no longer continues training. Subsequent data transmissions may be processed based on the first data reconstruction network and / or the first channel protection network.
[0281] If the end-to-end network loss does not satisfy the condition, i.e., the end-to-end network loss is greater than the specified third threshold, the second device sends feedback information to the first device, where the feedback information indicates that the first data reconstruction network and / or the first channel protection network do not satisfy the condition. The second device receives the feedback information and continues to train the first data reconstruction network and / or the first channel protection network until the condition is satisfied (S720 to S725 and / or S730 and S734 are repeated). The feedback information may further indicate to the first device to continue to train the first data reconstruction network, indicate to the first device to continue to train the first channel protection network, or indicate to the first device to continue to train the first data reconstruction network and the first channel protection network.
[0282] Alternatively, there is another solution in parallel with S740+S750+S760. Specifically, the first device can determine whether the first data reconstruction network and / or the first channel protection network that are trained meet the condition. The determination method is similar to the above determination method of the second device. Details are not described again.
[0283] In the method 700, real channel conditions may be detected through real-time interaction, so that the data reconstruction network and / or the channel protection network obtained through training by the method 700 better adapt to the real channel conditions.
[0284] FIG. 8 is a schematic flow chart of periodically training and updating a data task network (a data reconstruction network is used as an example) and / or a channel protection network according to an embodiment of the present application. The initiator of the periodic training process may be the first device or the second device. This is not limited in the embodiment of the present application. FIG. 8 shows a method 800 used by the first device for periodically acquiring channel state information and updating the network at the first device end and the second device end as an example. Other things may be inferred and will not be listed one by one. The method 800 includes the following steps:
[0285] S810: A first device obtains channel state information.
[0286] For example, the first device and the second device have completed training of the first data reconstruction network and / or the first channel protection network according to the method 600 or 700 during time T. Assuming that the first device is a terminal device and the second device is a network device, the first device acquires channel state information during time 2T. That is, the first device sends a channel measurement sequence to the second device during time 2T (the channel measurement sequence may be sent via a signal such as SRS, and the first device may send the channel measurement sequence via CSI in the case of an uplink-downlink symmetric channel), and the second device feeds back uplink channel state information to the first device after acquiring the channel state information by measurement based on the channel measurement sequence.
[0287] S820: The first device determines whether to train / fine-tune the first data reconstruction network and / or the first channel protection network.
[0288] For example, the first device compares the channel fluctuation situation based on the channel state information acquired during time 2T with the channel state information during time T. If the fluctuation is below a certain threshold, the first data reconstruction network and / or the first channel protection network need / do not need to be retrained / fine-tuned. If the fluctuation is greater than a certain threshold, the first data reconstruction network and / or the first channel protection network need to be retrained / fine-tuned. For specific training methods, please refer to methods 600 and 700. Details will not be described again in this specification.
[0289] The first device may perform S810 and S820 once at an interval of time T. In other words, the periodicity with which the first device trains and updates the first data reconstruction network and / or the first channel protection network is T.
[0290] Alternatively, if an end-to-end network is deployed on the first device side and the second device side, in addition to method 800, the first device may send one batch of test set data to the second device periodically (the periodicity may be T), and the second device may determine the current channel condition based on the performance of the end-to-end network and calculated based on the batch of test set data.
[0291] For example, if the performance of the end-to-end network and the performance calculated by the second device based on the batch of test set data is below a certain threshold, the second device determines that the current channel state (time 2T) is less fluctuating than the previous channel state (time T), and there is no need to retrain / fine-tune the first data reconstruction network and / or the first channel protection network. If the performance of the end-to-end network and the performance calculated by the second device based on the batch of test set data is above a certain threshold, the second device determines that the current channel state (time 2T) is more fluctuating than the previous channel state (time T), and there is no need to retrain / fine-tune the first data reconstruction network and / or the first channel protection network. For specific training methods, please refer to methods 600 and 700. Details will not be described again in this specification.
[0292] The first data reconstruction network and / or the first channel protection network adjusted based on the periodic channel condition test better adapts to a changing channel environment.
[0293] With reference to a simulation example, the following illustrates the beneficial effects of using the communication method provided in this application.
[0294] Solution 1: Combination of a data reconstruction network with an analog noise layer, e.g., variational autoencoder (VAE), joint source and channel coding (JSCC), analog.
[0295] Solution 2: A combination of a data reconstruction network and conventional polar channel protection, for example digital single-codebook+pole.
[0296] Solution 3: A combination of data reconstruction network and channel protection network, for example, digital double-codebook JSCC.
[0297] The performance comparison among the above three solutions is simulated for different compression rates and different signal-to-noise ratios. The compression rates are 6× and 12×. In addition, in solution 1, two training signal-to-noise ratios (SNRs): -4 dB and 8 dB are set. In solution 2, two training SNRs: 6 dB, 7 dB and 8 dB (6× is optional). In solution 3, three training SNRs: -4 dB, 2 dB and 8 dB are set.
[0298] Baseline: end to end (E2E) 0.778 (this can be the identification accuracy of the end to end network); E2E + data network (6x): 0.773; and E2E + data network (12x): 0.7683.
[0299] Generalized compression rate: amount of integer values of original intermediate features (e.g. amount of pixel values of feature map, where amount of pixel values can be c1×a1×b1 if intermediate features have dimensions (c1,a1,b1)) / amount of modulation symbols (floating point values i.e. floats are mapped to modulation symbols in analog solution and bit values are mapped to modulation symbols in digital solution).
[0300] 6×: m=8, rate=0.5, and 12×, m=7, rate=0.4375, where m represents the length of the bit sequence, and the bit sequence represents the index value corresponding to each of the data in the codebook. The rate is the channel code rate (input / output obtained by processing based on the channel protection network), and represents the ratio of the length of each index bit sequence to the length of the bit sequence in the channel codebook.
[0301] Figure 9 shows the simulation results of the above three solutions under different conditions. Figure 9(a) shows the simulation results with a compression rate of 6x, and Figure 9(b) shows the simulation results with a compression rate of 12x. The horizontal coordinate is the test SNR. The vertical coordinate is the accuracy (ACC), which can represent the performance. A higher ACC indicates better performance.
[0302] The following can be seen from FIG.
[0303] The above three solutions are compared. When the channel condition is good, the two digital solutions (i.e., solution 2 and solution 3) outperform the analog solution (i.e., solution 1). When the channel condition is bad, solution 3 can maintain better performance, and the performance of solution 3 can even be close to that of solution 1.
[0304] The two aforementioned digital solutions are compared. The performance of solution 2 is close to that of solution 3 when SNR is high, and the SNR operating range can be extended by about 4 to 6 dB for solution 3 when SNR is low. It can be seen that the performance of solution 3 provided in this application is better than that of other digital solutions under low signal-to-noise ratio conditions, and the performance of solution 3 is better than that of analog solutions under high signal-to-noise ratio conditions.
[0305] For data, in the data reconstruction network provided in this application, the length of the bit sequence that can be obtained by compressing the float value (2048×4×4) of the data is 512 bits or 224 bits, and the length of the sequence obtained by compression implemented through traditional source coding JPEG / quantization and entropy coding is much more than 512 bits. Therefore, the data reconstruction network provided in this application can achieve better compression effect, reduce transmission bit overhead, and further maintain good performance based on high compression rate. In the case of the same compression rate, the performance of this solution is better than that of traditional source coding JPEG / quantization and entropy coding.
[0306] The dashed steps in the above flow chart are optional steps, and the sequence of these steps is determined based on the internal logic of the method. The sequence numbers shown in the above flow chart are merely examples and do not limit the sequence of steps in the present application.
[0307] It should be further understood that the methods provided in the embodiments of the present application may be used separately or in combination, which is not a limitation of the present application. The various implementations provided in the embodiments of the present application may be used separately or in combination, which is not a limitation of the present application.
[0308] The term "and / or" in this application should be understood to describe only the relational relationship between related objects and represent that three relations may exist. For example, A and / or B may represent three cases: only A is present, both A and B are present, and only B is present. A and B may be singular or plural. In addition, the character " / " in this specification generally represents an "or" relationship between related objects, or may represent an "and / or" relationship. The specific meaning depends on the context.
[0309] In this application, "at least one" means one or more, and "at least two" and "multiple" mean two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of singular or multiple items. For example, at least one of a, b, or c refers to a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, and c may be singular or plural.
[0310] It should be noted that the execution bodies shown in Figures 2 and 6 to 8 are merely examples, and the execution body may alternatively be a chip, a chip system, or a processor that supports the execution body in implementing the methods shown in Figures 2 and 6 to 8. This is not a limitation of the present application.
[0311] Above, the method embodiment in the embodiment of the present application is described with reference to the accompanying drawings. Hereinafter, the device embodiment in the embodiment of the present application is described. It can be understood that the description of the method embodiment and the description of the device embodiment can correspond to each other. Therefore, for the parts not described, please refer to the above method embodiment.
[0312] In the method embodiments described above, it may be understood that the methods and operations implemented by the first apparatus may alternatively be implemented by components (e.g., chips or circuits) of the first apparatus, and the methods and operations implemented by the second apparatus may alternatively be implemented by components (e.g., chips or circuits) of the second apparatus.
[0313] The above mainly describes the solutions provided in the embodiments of the present application from the perspective of the interaction between network elements. To implement the aforementioned functions, each network element, such as a transmitting end device or a receiving end device, may be understood to include a corresponding hardware structure and / or software module for implementing each function. Those skilled in the art should easily recognize that the present application can be implemented by hardware, or a combination of hardware and computer software, with reference to the example units and algorithm steps described in the embodiments disclosed herein. Whether the functions are implemented by hardware or by hardware driven by computer software depends on the design constraints of a specific application and technical solution. Those skilled in the art can use various methods to implement the functions for each specific application, and the implementation is not considered to go beyond the scope of the present application.
[0314] In the embodiment of the present application, the transmitting end device or the receiving end device may be divided into functional modules based on the above method example. For example, each functional module may be obtained by division corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. It should be noted that in the embodiment of the present application, the division into modules is an example, and is merely a logical functional division. Other division methods may be used during actual implementation. An example in which each functional module is obtained by division corresponding to each function is used below for description.
[0315] Fig. 10 is a schematic block diagram of a communication device according to an embodiment of the present application. The communication device 1000 shown in Fig. 10 includes a transceiver unit 1010 and a processing unit 1020. The transceiver unit 1010 can communicate with the outside, and the processing unit 1020 is configured to process data. The transceiver unit 1010 may also be referred to as a communication interface or a communication unit.
[0316] Optionally, the transceiver unit 1010 may include a sending unit and a receiving unit, the sending unit being configured to perform a sending operation in the aforementioned method embodiment, and the receiving unit being configured to perform a receiving operation in the aforementioned method embodiment.
[0317] It should be noted that the communication device 1000 may include a sending unit but not a receiving unit. Alternatively, the communication device 1000 may include a receiving unit but not a sending unit. This may depend in particular on whether the aforementioned solution implemented by the communication device 1000 includes a sending action and a receiving action.
[0318] Optionally, the communication device 1000 may further include a storage unit. The storage unit may be configured to store instructions and / or data. The processing unit 1020 may read the instructions and / or data in the storage unit.
[0319] In design, the communications device 1000 may be configured to perform the actions performed by the first device in the method embodiments described above.
[0320] Optionally, the communication device 1000 may be a first device. The transceiver unit 1010 is configured to perform a receiving operation or a sending operation of the first device in the above-mentioned method embodiment. The processing unit 1020 is configured to perform an internal processing operation of the first device in the above-mentioned method embodiment.
[0321] Optionally, the communication device 1000 may be a device including the first device. Alternatively, the communication device 1000 may be a component configured in the first device, for example a chip in the first device. In this case, the transceiver unit 1010 may be an interface circuit, a pin, etc. In particular, the interface circuit may include an input circuit and an output circuit, and the processing unit 1020 may include a processing circuit.
[0322] In a possible implementation, the processing unit 1020 is configured to obtain data; and to determine an index of the data based on a first encoding network and a first data codebook, the first encoding network being for encoding the data, and the first data codebook including a correspondence between the encoded data and the index. The transceiver unit 1010 sends information about the index of the data.
[0323] In a possible implementation, the processing unit 1020 is further configured to process the index of data based on the first information protection network to obtain a floating point sequence; and further process the floating point sequence to obtain a bit sequence. The transceiver unit 1010 is further configured to send the bit sequence.
[0324] In a possible implementation, the processing unit 1020 is further configured to determine a bit sequence corresponding to an index of the data based on a first channel codebook. The transceiver unit 1010 is further configured to send the bit sequence, where the first channel codebook includes a correspondence between the index of the data and the bit sequence.
[0325] In a possible implementation, the processing unit 1020 or the transceiver unit 1010 is further configured to obtain a first encoding network and a first data codebook.
[0326] In a possible implementation, the processing unit 1020 or the transceiver unit 1010 is further configured to obtain a first information protection network or a first channel codebook.
[0327] In a possible implementation, the first information protection network is obtained through training based on channel state information and an index of data, and the index of data is obtained based on the second encoding network and a second data codebook.
[0328] In a possible implementation, the first information protection network is obtained through training based on the channel state information, the index of the training data, and a loss function, and the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, the first floating-point sequence being obtained by processing a first index based on the second information protection network, and the second floating-point sequence being obtained by processing a second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not subjected to processing based on the second information protection network and a third index obtained by processing based on the second information restoration network, and the second information restoration network corresponds to the second information protection network. The sequence distance loss is a loss of distance between a floating-point sequence and a bit sequence, the floating-point sequence is obtained by processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook.
[0329] In a possible implementation, the first encoding network and the first data codebook are obtained through training based on training data, a first channel protection network, channel state information, a second encoding network, and a second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0330] In a possible implementation, the length of the codewords in the first data codebook and the amount of codewords in the first data codebook are related to the dimension of the encoded data.
[0331] In a possible implementation, the data is an intermediate feature and the amount of codewords is related to at least one of the following: the compression rate of the data task network, the storage resources of the first device, and the performance of the data task network.
[0332] In a possible implementation, the data task network is a first data reconstruction network, which includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0333] In a possible implementation, the transceiver unit 1010 is further configured to send first decoding network parameters and first data codebook information, where the first decoding network determined based on the first decoding network parameters corresponds to the first encoding network, and the first data codebook information is for determining the first data codebook.
[0334] In a possible implementation, the transceiver unit 1010 is further configured to send second decoding network parameters and second data codebook information, where the second decoding network determined based on the second decoding network parameters is for training to obtain the first decoding network, where the first decoding network corresponds to the first encoding network, and the second data codebook information is for determining the second data codebook.
[0335] In a possible implementation, the transceiver unit 1010 is further configured to send first information restoration network parameters, and the first information restoration network determined based on the first information restoration network parameters corresponds to the first information protection network.
[0336] In a possible implementation, the transceiver unit 1010 is further configured to send second information restoration network parameters, where the second information restoration network determined based on the second information restoration network parameters is for training to obtain a first information restoration network, where the first information restoration network corresponds to the first information protection network.
[0337] In another design, the communications device 1000 shown in FIG. 10 may be configured to perform operations performed by the second device in the method embodiments described above.
[0338] Optionally, the communication device 1000 may be a second device. The transceiver unit 1010 is configured to perform a receiving or sending operation of the second device in the above-mentioned method embodiment. The processing unit 1020 is configured to perform an internal processing operation of the second device in the above-mentioned method embodiment.
[0339] Optionally, the communication device 1000 may be a device including the second device. Alternatively, the communication device 1000 may be a component configured in the second device, for example a chip in the second device. In this case, the transceiver unit 1010 may be an interface circuit, a pin, etc. In particular, the interface circuit may include an input circuit and an output circuit, and the processing unit 1020 may include a processing circuit.
[0340] In a possible implementation, the transceiver unit 1010 is configured to receive information regarding an index of the data, the information regarding the index of the data is for determining the index of the data. The processing unit 1020 is configured to determine encoded data corresponding to the index of the data based on a first data codebook, the first data codebook including correspondence between the encoded data and the index.
[0341] In a possible implementation, the transceiver unit 1010 is further configured to receive the bit sequence. The processing unit 1020 is further configured to process the bit sequence based on the first information recovery network to obtain an index of the data.
[0342] In a possible implementation, the processing unit 1020 is further configured to decode the encoded data based on the first decoding network to obtain decoded data.
[0343] In a possible implementation, the transceiver unit 1010 or the processing unit 1020 is further configured to obtain a first decoding network and a first data codebook.
[0344] In a possible implementation, the transceiver unit 1010 or the processing unit 1020 is configured to obtain a first information recovery network.
[0345] In a possible implementation, the first information recovery network is obtained through training based on channel state information and an index of training data, and the index of training data is obtained based on the second encoding network and a second data codebook.
[0346] In a possible implementation, the first information recovery network is obtained through training based on the uplink channel state information, the index of the training data, and a loss function, and the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss. The codeword distance loss is a loss of distance between a first floating-point sequence and a second floating-point sequence, the first floating-point sequence being obtained by processing the first index based on the second information protection network, and the second floating-point sequence being obtained by processing the second index based on the second information protection network. The information reconstruction loss is a loss of distance between a third index not subjected to processing based on the second information protection network and a third index obtained by processing based on the second information recovery network, and the second information recovery network corresponds to the second information protection network. The sequence distance loss is a loss of distance between a floating-point sequence and a bit sequence, the floating-point sequence is obtained by processing based on a second information protection network, the bit sequence is a bit sequence included in a second channel codebook, and the second channel codebook is an unupdated first channel codebook. The second information protection network is an unupdated first information protection network, and the first index, the second index, and the third index are obtained based on a second encoding network and a second data codebook, the second encoding network is an unupdated first encoding network, and the second data codebook is an unupdated first data codebook. In a possible implementation, the first decoding network and the first data codebook are obtained through training based on the data, the channel state information, the first channel protection network, the second encoding network, and the second data codebook, where the first channel protection network includes a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
[0347] In a possible implementation, the length of the codewords in the first data codebook and the amount of codewords in the first data codebook are related to the dimension of the encoded data.
[0348] In a possible implementation, the data is an intermediate feature and the amount of codewords is related to at least one of the following: the compression rate of the data task network, the storage resources of the second device, and the performance of the data task network.
[0349] In a possible implementation, the data task network is a first data reconstruction network, which includes at least one of a first encoding network, a first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
[0350] In a possible implementation, the transceiver unit 1010 is further configured to receive first decoding network parameters and first data codebook information, the first decoding network parameters and the first data codebook information for determining the first decoding network and the first data codebook.
[0351] In a possible implementation, the transceiver unit 1010 is further configured to receive second decoding network parameters and second data codebook information, where the second decoding network parameters are for determining the second decoding network, where the second data codebook information is for determining the second data codebook, and where the second decoding network and the second data codebook are for training to obtain the first decoding network and the first data codebook.
[0352] In a possible implementation, the transceiver unit 1010 is further configured to receive a first information restoration network parameter, the first information restoration network parameter for determining the first information restoration network.
[0353] In a possible implementation, the transceiver unit 1010 is further configured to receive second information restoration network parameters, and the second information restoration network determined based on the second information restoration network parameters is for training to obtain the first information restoration network.
[0354] As shown in Fig. 11, an embodiment of the present application further provides a communication device 1100. The communication device 1100 includes a processor 1110. The processor 1110 is coupled to a memory 1120. The memory 1120 is configured to store computer programs or instructions and / or data. The processor 1110 is configured to execute the computer programs or instructions and / or data stored in the memory 1120 such that the method in the aforementioned method embodiment is performed.
[0355] Optionally, the communications apparatus 1100 includes one or more processors 1110 .
[0356] Optionally, as shown in FIG. 11, the communications device 1100 may further include a memory 1120.
[0357] Optionally, the communications device 1100 may include one or more memories 1120 .
[0358] Optionally, the memory 1120 and the processor 1110 may be integrated together or located separately.
[0359] Optionally, as shown in FIG. 11, the communication device 1100 may further include a transceiver 1130 and / or a communication interface. The transceiver 1130 and / or the communication interface are configured to receive and / or send signals. For example, the processor 1110 is configured to control the transceiver 1130 and / or the communication interface to receive and / or send signals.
[0360] Optionally, a component configured to implement a receiving function in the transceiver 1130 may be considered a receiving module, and a component configured to implement a transmitting function in the transceiver 1130 may be considered a transmitting module. That is, the transceiver 1130 includes a receiver and a transmitter. The transceiver may sometimes be referred to as a transceiver module, a transceiver circuit, etc. The receiver may sometimes be referred to as a receiving module, a receiving circuit, etc. The transmitter may sometimes be referred to as a transmitting module, a transmitting circuit, etc.
[0361] In the solution, the communications device 1100 is configured to implement the operations performed by the first device in the method embodiments described above. For example, the processor 1110 is configured to implement operations performed internally by the first device in the aforementioned method embodiments (e.g., operations S210, S220, S410, S420, S430, S510, S520, S530, S620, S630, S720, S725, S730, S734, S810, and S820), and the transceiver 1130 is configured to implement receiving or sending operations performed by the first device in the aforementioned method embodiments (e.g., operations S230, S230', S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760).
[0362] In the solution, the communication device 1100 is configured to implement the operations performed by the second device in the aforementioned method embodiments. For example, the processor 1110 is configured to implement the operations (e.g., operations of S240, S250, S410, S420, S430, S510, S520, S530, S660, S723, S732, S750, S810, and S820) performed internally by the second device in the aforementioned method embodiments, and the transceiver 1130 is configured to implement the receiving or sending operations (e.g., operations of S230, S230', S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760) performed by the second device in the aforementioned method embodiments.
[0363] The embodiment of the present application further provides a communication device 1200. The communication device 1200 may be a terminal device or a network device, or may be a chip in a terminal device or a network device. The communication device 1200 may be configured to perform the operations performed by the first device or the second device in the above-mentioned method embodiments.
[0364] FIG. 12 is a simplified structural diagram of a communication device. As shown in FIG. 12, the communication device 1200 includes a processor, a memory, a high-frequency circuit, an antenna, and an input / output device. The processor is mainly configured to process communication protocols and communication data, control the communication device 1200, execute software programs, process data of the software programs, and the like. The memory is mainly configured to store software programs and data. The high-frequency circuit is mainly configured to perform conversion between baseband signals and high-frequency signals, and process the high-frequency signals. The antenna is mainly configured to transmit and receive high-frequency signals in the form of electromagnetic waves. The input / output device, such as a touch screen, a display, or a keyboard, is mainly configured to receive data input by a user and output the data to the user.
[0365] When data needs to be sent, the processor performs baseband processing of the data to be sent and outputs a baseband signal to the high-frequency circuit. After performing high-frequency processing on the baseband signal, the high-frequency circuit sends the high-frequency signal in the form of electromagnetic waves through an antenna. When data is sent to the communication device 1200, the high-frequency circuit receives the high-frequency signal through an antenna, converts the high-frequency signal into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data. For ease of explanation, FIG. 12 shows only one memory and one processor. In an actual product, there may be one or more processors and one or more memories. The memory may also be referred to as a storage medium, a storage device, etc. The memory may be located independently of the processor or integrated with the processor. This is not limited in the embodiment of the present application.
[0366] In this embodiment of the present application, the antenna and the radio frequency circuit having the transceiver function may be considered as a transceiver unit of the communication device 1200, and the processor having the processing function may be considered as a processing unit of the communication device 1200.
[0367] 12, the communications device 1200 includes a transceiver unit 1210 and a processing unit 1220. The transceiver unit 1210 may also be referred to as a transceiver, a transceiver device, a transceiver circuit, etc. The processing unit 1220 may also be referred to as a processor, a processing board, a processing module, a processing device, etc.
[0368] Optionally, a component configured to implement a receiving function in the transceiver unit 1210 may be considered as a receiving unit, and a component configured to implement a sending function in the transceiver unit 1210 may be considered as a sending unit. That is, the transceiver unit 1210 includes a receiving unit and a sending unit. The receiving unit may be sometimes referred to as a receiver, a receiving device, a receiving circuit, etc. The sending unit may be sometimes referred to as a transmitter, a transmitting device, a transmitting circuit, etc.
[0369] In an implementation, the processing unit 1220 and the transceiver unit 1210 are configured to perform operations at the first device side.
[0370] For example, the processing unit 1220 is configured to perform the operations of S210, S220, S410, S420, S430, S510, S520, S530, S620, S630, S720, S725, S730, S734, S810, and S820. The transceiver unit 1210 is configured to perform the receive and send operations of S230, S230', S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760.
[0371] In another implementation, the processing unit 1220 and the transceiver unit 1210 are configured to perform operations at a second device.
[0372] For example, the processing unit 1220 is configured to perform the operations of S240, S250, S410, S420, S430, S510, S520, S530, S660, S723, S732, S750, S810, and S820. The transceiver unit 1210 is configured to perform the receive and send operations of S230, S230', S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760.
[0373] It should be understood that Figure 12 is merely an example and not a limitation, and the communications device 1200 including the transceiver unit and the processing unit may not rely on the structure shown in Figure 12.
[0374] When the communication device 1200 is a chip, the chip includes a transceiver unit and a processing unit. The transceiver unit may be an input / output circuit or a communication interface. The processing unit may be a processor, a microprocessor, or an integrated circuit integrated on a chip.
[0375] 13, an embodiment of the present application further provides a communication device 1300. The communication device 1300 includes a logic circuit 1310 and an input / output interface 1320.
[0376] The logic circuit 1310 may be a processing circuit in the communication device 1300. The logic circuit 1310 may be coupled and connected to a storage unit to invoke instructions in the storage unit so that the communication device 1300 can implement the methods and functions of the embodiments of the present application. The input / output interface 1320 may be an input / output circuit in the communication device 1300, and outputs information processed by the communication device 1300 or inputs data or signaling information to be processed to the communication device 1300 for processing.
[0377] In the solution, the communications device 1300 is configured to implement the operations performed by the first device in the method embodiments described above.
[0378] For example, logic circuitry 1310 is configured to implement processing related operations performed by the first device in the aforementioned method embodiments, e.g., processing operations of S210, S220, S410, S420, S430, S510, S520, S530, S620, S630, S720, S725, S730, S734, S810, and S820. Input / output interface 1320 is configured to implement operations performed by the first device in the aforementioned method embodiments in operations related to sending and / or receiving (e.g., first device receiving and sending operations in S230, S230′, S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760). For specific operations performed by the logic circuit 1310, please refer to the above description of the processing unit 1020. For operations performed by the input / output interface 1320, please refer to the above description of the transceiver unit 1010. Details will not be described again here.
[0379] In another solution, the communications device 1300 is configured to implement the operations performed by the second device in the method embodiments described above.
[0380] For example, logic circuitry 1310 is configured to implement the processing related operations performed by the second device in the method embodiments described above (e.g., processing related operations performed by the second device in the method embodiments). I / O interface 1320 is configured to implement operations performed by the second device in the method embodiments described above in operations related to sending and / or receiving (e.g., the receiving and sending operations of the second device in S230, S230', S610, S640, S650, S670, S710, S721, S722, S724, S731, S733, S740, and S760). For specific operations performed by the logic circuit 1310, please refer to the above description of the processing unit 920 (e.g., the second device processing operations at S240, S250, S410, S420, S430, S510, S520, S530, S660, S723, S732, S750, S810, and S820). For specific operations performed by the logic circuit 1310, please refer to the above description of the processing unit 1020. For operations performed by the input / output interface 1320, please refer to the above description of the transceiver unit 1010. Details will not be described again in this specification.
[0381] It should be understood that the communication device may be one or more chips, for example, the communication device may be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or another integrated chip.
[0382] In the implementation process, the steps of the aforementioned method may be completed by the integrated logic circuit of the hardware of the processor, or by using instructions in the form of software. The steps of the method disclosed with reference to the embodiments of the present application may be directly implemented and completed using a hardware processor, or may be implemented and completed using a combination of the hardware and software modules of the processor. The software modules may be installed in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is installed in the memory. The processor reads the information in the memory and completes the steps of the aforementioned method in combination with the hardware of the processor. To avoid repetition, the details will not be described again in this specification.
[0383] It should be noted that the processor of the embodiment of the present application may be an integrated circuit chip and has signal processing capabilities. In the implementation process, the steps of the above-mentioned method embodiment may be completed by the integrated logic circuit of the hardware of the processor or using instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor may implement or perform the method, steps, and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the method disclosed with reference to the embodiment of the present application may be directly performed and completed by the hardware decoding processor, or may be performed and completed using a combination of the hardware and software modules of the decoding processor. The software modules may be installed in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is installed in the memory. The processor reads the information in the memory and completes the steps of the method described above in combination with the processor's hardware.
[0384] It may be understood that the memory of the embodiments of the present application may be volatile or non-volatile memory, or may include volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM) used as an external cache. By way of example and not limitation, many forms of RAM may be used, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that memory in the systems and methods herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0385] According to the method provided in the embodiment of the present application, the present application further provides a computer-readable medium. The computer-readable medium stores a program code. When the program code is run on a computer, the computer can perform the method shown in the method embodiment. For example, when the computer program is executed by a computer, the computer can implement the method performed by the first device or the method performed by the second device in the above method embodiment.
[0386] An embodiment of the present application further provides a computer program product including instructions, which, when executed by a computer, enable the computer to implement the method performed by the first device or the method performed by the second device in the above-mentioned method embodiments.
[0387] For the description and beneficial effects of the related content of any communication device provided above, please refer to the corresponding method embodiments above, and the details will not be described again in this specification.
[0388] All or part of the above-mentioned embodiments may be implemented using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded into a computer and executed, the procedures or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wired (e.g., coaxial cable, fiber optics, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) techniques. A computer-readable storage medium may be any available medium accessible by a computer, or a data storage device (e.g., a server or a data center) incorporating one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), a semiconductor medium (e.g., a solid state drive (SSD)), etc.
[0389] The first device and the second device of the above device embodiment correspond to the first device and the second device of the method embodiment, and the corresponding module or unit performs the corresponding step. For example, a communication unit (transceiver) performs the receiving step or the sending step in the method embodiment. Steps other than sending and receiving can be performed by a processing unit (processor). For the function of a specific unit, please refer to the corresponding method embodiment. There can be one or more processors.
[0390] As used herein, terms such as "component," "module," and "system" refer to computer-related entities, hardware, firmware, a combination of hardware and software, software, or software being executed. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a computer. As shown using the figures, both computing devices and applications running on computing devices may be components. One or more components may reside within a process and / or thread of execution, and a component may be located on one computer and / or distributed among two or more computers. Additionally, these components may be executed by various computer-readable media that store various data structures. For example, components may communicate using local and / or remote processing based on signals having one or more data packets (e.g., data from two components interacting with one another in a local system, in a distributed system, and / or across a network such as the Internet that interacts with other systems using signals).
[0391] Those skilled in the art can recognize that the present application can be implemented by electronic hardware or by a combination of computer software and electronic hardware with reference to the units and algorithm steps in the examples described in the embodiments disclosed herein. Whether a function is implemented by hardware or software depends on the design constraints of a specific application and technical solution. Those skilled in the art can use different methods to implement a function for each specific application, but the implementation is not considered to go beyond the scope of the present application.
[0392] It may be clearly understood by those skilled in the art that for convenient and concise description, the detailed work processes of the above-mentioned systems, devices and units may be referred to the corresponding processes of the above-mentioned method embodiments, and the details will not be described again in this specification.
[0393] In some embodiments provided in the present application, it should be understood that the disclosed system, device and method may be implemented in other manners. For example, the device embodiments described above are merely examples. For example, the division into units is merely a logical division of functions, and other divisions may be possible during actual implementation. For example, multiple units or components may be combined or integrated to become another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in an electrical, mechanical, or other manner.
[0394] The units described as separate parts may or may not be physically separated, and the parts presented as units may or may not be physical units, i.e., they may be located in one location or distributed among multiple network units. Some or all of the units may be selected based on the actual requirements to achieve the objectives of the solutions of the embodiments.
[0395] In addition, the functional units of the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit.
[0396] When a function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, the essential technical solution of the present application, the part contributing to the prior art, or part of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method in the embodiments of the present application. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or a compact disk.
[0397] The above description is merely a specific implementation of the present application, and the protection scope of the present application is not limited thereto. Any variations or replacements that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application shall fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be determined by the protection scope of the claims.
Claims
1. 1. A data transmission method, comprising: acquiring data by a first device; determining, by the first device, an index of the data based on a first encoding network and a first data codebook, the first encoding network being for encoding the data, and the first data codebook comprising a correspondence between encoded data and the index; sending, by the first device, information regarding the index of the data; A data transmission method comprising:
2. 2. The method of claim 1, wherein the first encoding network and the first data codebook are obtained through training based on training data, a first channel protection network, channel state information, a second encoding network, and a second data codebook, where the first channel protection network comprises a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
3. 3. The method of claim 2, wherein the information regarding the index of the data comprises a bit sequence, the bit sequence being obtained by processing a floating point sequence, and the floating point sequence being obtained by processing the index of the data based on the first information protection network.
4. 3. The method of claim 2, wherein the information regarding the index of the data comprises a bit sequence, the bit sequence being determined based on the first channel codebook and the index of the data, the first channel codebook comprising a correspondence between the index of the data and the bit sequence.
5. The method comprises: obtaining, by the first device, the first encoding network and the first data codebook; The method of claim 1 , further comprising:
6. The method comprises: obtaining, by the first device, the first information security network or the first channel codebook; The method of claim 2 , further comprising:
7. 7. The method according to claim 2, wherein the first information protection network is obtained through training based on the channel state information and an index of the training data, and wherein the index of the training data is obtained based on the second encoding network and the second data codebook.
8. 7. The method according to claim 2, wherein the first information protection network is obtained through training based on the channel state information, the index of the training data, and a loss function, wherein the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
9. 9. The method of claim 1, wherein a length of the codewords in the first data codebook and a quantity of the codewords in the first data codebook are related to a dimension of the encoded data.
10. The amount of code words is the compression rate of the data task network, the storage resources of the first device, and the performance of the data task network; associated with at least one of 10. The method of claim 9.
11. 11. The method of claim 10, wherein the data task network comprises at least one of the first encoding network, the first data codebook, and a first decoding network, and the first encoding network corresponds to the first decoding network.
12. The method comprises: sending, by the first device, first decoding network parameters and first data codebook information, the first decoding network determined based on the first decoding network parameters corresponding to the first encoding network, and the first data codebook information for determining the first data codebook; The method of claim 1 , further comprising:
13. The method comprises: sending, by the first device, second decoding network parameters and second data codebook information, the second decoding network determined based on the second decoding network parameters for training to obtain the first decoding network, the first decoding network corresponding to the first encoding network, and the second data codebook information for determining the second data codebook; The method of claim 1 , further comprising:
14. The method comprises: sending, by the first device, a first information restoration network parameter, the first information restoration network determined based on the first information restoration network parameter corresponding to the first information protection network; The method of any one of claims 2 to 13, further comprising:
15. The method comprises: sending, by the first device, second information restoration network parameters, the second information restoration network determined based on the second information restoration network parameters for training to obtain the first information restoration network, the first information restoration network corresponding to the first information protection network; The method of any one of claims 2 to 13, further comprising:
16. 1. A data transmission method, comprising: receiving, by a second device, information regarding an index of data, the information regarding the index of the data for determining the index of the data; determining, by the second device, encoded data corresponding to the index of the data based on a first data codebook, the first data codebook comprising a correspondence between the encoded data and the index; A data transmission method comprising:
17. The information regarding the index of the data comprises a bit sequence, the method comprising: processing, by the second device, the bit sequence based on a first information recovery network to obtain the index of the data; 20. The method of claim 16, further comprising:
18. The method comprises: acquiring, by the second device, the first information recovery network; 20. The method of claim 17, further comprising:
19. 19. The method according to claim 17 or 18, wherein the first information recovery network is obtained through training based on channel state information and an index of training data, where the index of training data is obtained based on a second encoding network and a second data codebook.
20. 19. The method of claim 17 or 18, wherein the first information recovery network is obtained through training based on channel state information, an index of training data, and a loss function, where the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
21. The method comprises: Decoding, by the second device, the encoded data based on a first decoding network to obtain decoded data.
21. The method of any one of claims 16 to 20, further comprising:
22. The method comprises: obtaining, by the second device, the first decoding network and the first data codebook; 22. The method of claim 21 further comprising:
23. 23. The method of claim 21 or 22, wherein the first decoding network and the first data codebook are obtained through training based on the training data, the channel state information, a first channel protection network, the second encoding network, and the second data codebook, wherein the first channel protection network comprises a first information protection network and the first information recovery network, and the first information recovery network corresponds to the first information protection network.
24. 24. The method of claim 16, wherein a length of the codewords in the first data codebook and a quantity of codewords in the first data codebook are related to a dimension of the encoded data.
25. The amount of code words is the compression rate of the data task network, the storage resources of the second device, and the performance of the data task network. The method of claim 24, wherein the at least one of
26. 26. The method of claim 25, wherein the data task network comprises at least one of a first encoding network, the first data codebook, and the first decoding network, and the first encoding network corresponds to the first decoding network.
27. The method comprises: receiving, by the second device, first decoding network parameters and first data codebook information, the first decoding network parameters and the first data codebook information for determining the first decoding network and the first data codebook; 27. The method of any one of claims 21 to 26, further comprising:
28. The method comprises: receiving, by the second device, second decoding network parameters and second data codebook information, the second decoding network parameters for determining a second decoding network, the second data codebook information for determining the second data codebook, and the second decoding network and the second data codebook for training to obtain the first decoding network and the first data codebook; 27. The method of any one of claims 21 to 26, further comprising:
29. The method comprises: receiving, by the second device, first information restoration network parameters, the first information restoration network parameters for determining the first information restoration network; 29. The method of any one of claims 17 to 28, further comprising:
30. The method comprises: receiving, by the second device, second information recovery network parameters, the second information recovery network determined based on the second information recovery network parameters for training to obtain the first information recovery network; 29. The method of any one of claims 17 to 28, further comprising:
31. A data transmission device, comprising: a processing unit configured to acquire data, the processing unit is further configured to determine an index of the data based on a first encoding network and a first data codebook, the first encoding network being for encoding the data, and the first data codebook comprising a correspondence between encoded data and the index. A processing unit; a transceiver unit configured to send information regarding said index of said data; A data transmission device comprising:
32. 32. The apparatus of claim 31 , wherein the first encoding network and the first data codebook are obtained through training based on training data, a first channel protection network, channel state information, a second encoding network, and a second data codebook, where the first channel protection network comprises a first information protection network, a first channel codebook, and a first information recovery network, and the first information recovery network corresponds to the first information protection network.
33. 33. The apparatus of claim 32, wherein the processing unit is further configured to process the index of data based on the first information protection network to obtain a floating point sequence and further to process the floating point sequence to obtain a bit sequence, and the transceiver unit is further configured to send the bit sequence.
34. 33. The apparatus of claim 32, wherein the processing unit is further configured to determine a bit sequence corresponding to the index of the data based on the first channel codebook, and the transceiver unit is further configured to send the bit sequence, wherein the first channel codebook comprises a correspondence between the index of the data and the bit sequence.
35. 35. The apparatus of claim 31, wherein the processing unit or the transceiver unit is further configured to obtain the first encoding network and the first data codebook.
36. 36. The apparatus of claim 32, wherein the processing unit or the transceiver unit is further configured to obtain the first information protection network or the first channel codebook.
37. 37. The apparatus of claim 32, wherein the first information protection network is obtained through training based on the channel state information and an index of the training data, and wherein the index of the training data is obtained based on the second encoding network and the second data codebook.
38. 37. The apparatus of claim 32, wherein the first information protection network is obtained through training based on the channel state information, the index of the training data, and a loss function, wherein the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
39. 39. The apparatus of claim 31, wherein a length of the codewords in the first data codebook and a quantity of codewords in the first data codebook are related to a dimension of the encoded data.
40. The amount of code words is the compression rate of the data task network, the storage resources of the first device, and the performance of the data task network; 40. The apparatus of claim 39, wherein the apparatus is associated with at least one of:
41. 41. The apparatus of claim 40, wherein the data task network comprises at least one of the first encoding network, the first data codebook, and a first decoding network, the first encoding network corresponding to the first decoding network.
42. 42. The apparatus of claim 31, wherein the transceiver unit is further configured to send first decoding network parameters and first data codebook information, where the first decoding network determined based on the first decoding network parameters corresponds to the first encoding network, and the first data codebook information is for determining the first data codebook.
43. 42. The apparatus of claim 31, wherein the transceiver unit is further configured to send second decoding network parameters and second data codebook information, where a second decoding network determined based on the second decoding network parameters is for training to obtain the first decoding network, the first decoding network corresponding to the first encoding network, and the second data codebook information is for determining the second data codebook.
44. 44. The apparatus of claim 32, wherein the transceiver unit is further configured to send a first information restoration network parameter, the first information restoration network determined based on the first information restoration network parameter corresponding to the first information protection network.
45. 44. The apparatus of claim 32, wherein the transceiver unit is further configured to send second information recovery network parameters, the second information recovery network determined based on the second information recovery network parameters for training to obtain the first information recovery network, the first information recovery network corresponding to the first information protection network.
46. A data transmission device, comprising: a transceiver unit configured to receive information regarding an index of data, the information regarding the index of the data being for determining the index of the data; determining encoded data corresponding to the index of the data based on a first data codebook, the first data codebook comprising a correspondence between the encoded data and the index; and A data transmission device comprising:
47. 47. The apparatus of claim 46, wherein the transceiver unit is further configured to receive a bit sequence, and the processing unit is further configured to process the bit sequence based on a first information recovery network to obtain the index of the data.
48. 48. The apparatus of claim 47, wherein the transceiver unit or the processing unit is further configured to obtain the first information recovery network.
49. 49. The apparatus of claim 47 or 48, wherein the first information recovery network is obtained through training based on channel state information and an index of training data, where the index of training data is obtained based on a second encoding network and a second data codebook.
50. 49. The apparatus of claim 47 or 48, wherein the first information recovery network is obtained through training based on channel state information, an index of training data, and a loss function, wherein the loss function is associated with at least one of a codeword distance loss, an information reconstruction loss, and a sequence distance loss.
51. 51. The apparatus of any one of claims 46 to 50, wherein the processing unit is further configured to decode the encoded data based on a first decoding network to obtain decoded data.
52. 52. The apparatus of claim 51, wherein the transceiver unit or the processing unit is further configured to obtain the first decoding network and the first data codebook.
53. 53. The apparatus of claim 51 or 52, wherein the first decoding network and the first data codebook are obtained through training based on the training data, the channel state information, a first channel protection network, the second encoding network, and the second data codebook, wherein the first channel protection network comprises a first information protection network and the first information recovery network, and the first information recovery network corresponds to the first information protection network.
54. 54. An apparatus according to any one of claims 46 to 53, wherein a length of a codeword in the first data codebook and a quantity of codewords in the first data codebook are related to a dimension of the encoded data.
55. The amount of code words is the compression rate of the data task network, the storage resources of the second device, and the performance of the data task network.
55. The apparatus of claim 54, wherein the apparatus is associated with at least one of:
56. 56. The apparatus of claim 55, wherein the data task network comprises at least one of a first encoding network, the first data codebook, and the first decoding network, and the first encoding network corresponds to the first decoding network.
57. 57. The apparatus of claim 51, wherein the transceiver unit is further configured to receive first decoding network parameters and first data codebook information, the first decoding network parameters and the first data codebook information for determining the first decoding network and the first data codebook.
58. 57. The apparatus of claim 51, wherein the transceiver unit is further configured to receive second decoding network parameters and second data codebook information, the second decoding network parameters for determining a second decoding network, the second data codebook information for determining the second data codebook, and the second decoding network and the second data codebook for training to obtain the first decoding network and the first data codebook.
59. 59. The apparatus of any one of claims 47 to 58, wherein the transceiver unit is further configured to receive first information restoration network parameters, the first information restoration network parameters being for determining the first information restoration network.
60. 59. The apparatus of claim 47, wherein the transceiver unit is further configured to receive second information recovery network parameters, the second information recovery network determined based on the second information recovery network parameters for training to obtain the first information recovery network.
61. 1. A communications device comprising: a processor; the processor is coupled to a memory; the memory stores instructions that, when executed by the processor, The processor is enabled to carry out a method according to any one of claims 1 to 15, or The processor is enabled to carry out a method according to any one of claims 16 to 30, Communications equipment.
62. 31. A communications device, the device comprising logic circuitry coupled to an input / output interface and configured to communicate data through the input / output interface to perform a method according to any one of claims 1 to 15 or to perform a method according to any one of claims 16 to 30.
63. A computer readable storage medium, the computer readable storage medium being configured to store a computer program, the computer program being enabled, when executed on a computer, to perform the method according to any one of claims 1 to 15, or the computer being enabled to perform the method according to any one of claims 16 to 30.
64. 31. A computer program product comprising computer program code, the computer program product performing the method of any one of claims 1 to 15 or performing the method of any one of claims 16 to 30 when the computer program code is executed.
65. A communication system, said communication system comprising an apparatus according to any one of claims 31 to 45 and an apparatus according to any one of claims 46 to 60.
Citation Information
Patent Citations
Precoding in a Wireless Communication Network
US20160329942A1
Method for encoding and decoding LDPC code and communication apparatus therefor
US20220029637A1
Terminal device and feedback method
WO2009072408A1