Training approach related to channel state information feedback
A training approach using a KD method with VQ-VAE framework addresses performance degradation and complexity issues in UE-side CSI feedback by sharing a distillated dataset, enhancing encoder performance and reducing model complexity for efficient CSI feedback.
Patent Information
- Application Number
- PCT/CN2023/112647
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-11
- Publication Date
- 2026-02-26
Smart Images

Figure CN2023112647_26022026_PF_FP_ABST
Abstract
Description
TRAINING APPROACH RELATED TO CHANNEL STATE INFORMATION FEEDBACKFIELD
[0001] Various example embodiments relate to the field of communication, and in particular, to devices, methods, apparatuses, and a computer readable medium for a training approach related to channel state information (CSI) feedback, especially a separate training (ST) approach.BACKGROUND
[0002] The accurate feedback of CSI is important for the efficient transmission of Frequency Division Duplexing (FDD) Multiple Input Multiple Output (MIMO) , but the delivery of the original CSI to the base station consumes massive uplink resources. With the great success of AI-based feature extraction and image compression, many researchers have made great breakthroughs in CSI feedback enhancement by using AI / ML methods. As such, 3GPP approved a new study item (SI) in Release 18 to explore the benefits of enhancing the CSI feedback by AI / ML techniques.
[0003] Under the AI-based CSI feedback framework, the optimization of the quantizer is categorized into two types in 3GPP Release 18, that is, quantization-unaware training and quantization-aware training. The quantization-unaware training approach excludes the quantization operation from the training of the autoencoder, leading to a reduced end-to-end performance compared to the quantization-aware training.SUMMARY
[0004] In general, example embodiments of the present disclosure provide a solution for a training approach (e.g., a separate training approach) for CSI feedback.
[0005] In a first aspect, there is provided a network device. The network device comprises at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the network device at least to: generate a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and transmit, to a terminal device, the dataset for training an encoder at the terminal device.
[0006] In a second aspect, there is provided a terminal device. The terminal device comprises at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the terminal device at least to: receive, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; generate a second dataset based on the first dataset and a hard representation of the logits vector; and train the encoder at the terminal device based on the second dataset.
[0007] In a third aspect, there is provided a method. The method comprises: generating, at a network device, a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and transmitting, to a terminal device, the dataset for training an encoder at the terminal device.
[0008] In a fourth aspect, there is provided a method. The method comprises: receiving, at a terminal device and from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; generating a second dataset based on the first dataset and a hard representation of the logits vector; and training the encoder at the terminal device based on the second dataset.
[0009] In a fifth aspect, there is provided an apparatus. The apparatus comprises: means for generating, at a network device, a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and means for transmitting, to a terminal device, the dataset for training an encoder at the terminal device.
[0010] In a sixth aspect, there is provided an apparatus. The apparatus comprises: means for receiving, at a terminal device and from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; means for generating a second dataset based on the first dataset and a hard representation of the logits vector; and means for training the encoder at the terminal device based on the second dataset.
[0011] In a seventh aspect, there is provided a non-transitory computer-readable storage medium comprising program instructions. The program instructions, when executed by an apparatus, cause the apparatus to perform at least the following: generating a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and transmitting, to a terminal device, the dataset for training an encoder at the terminal device.
[0012] In an eighth aspect, there is provided a non-transitory computer-readable storage medium comprising program instructions. The program instructions, when executed by an apparatus, cause the apparatus to perform at least the following: receiving, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; generating a second dataset based on the first dataset and a hard representation of the logits vector; and training the encoder at the terminal device based on the second dataset.
[0013] In a ninth aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus at least to: generate a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and transmit, to a terminal device, the dataset for training an encoder at the terminal device.
[0014] In a tenth aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus at least to: receive, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; generate a second dataset based on the first dataset and a hard representation of the logits vector; and train the encoder at the terminal device based on the second dataset.
[0015] In an eleventh aspect, there is provided a network device. The network device comprises generating circuity configured to generate a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and transmitting circuity configured to transmit, to a terminal device, the dataset for training an encoder at the terminal device.
[0016] In a twelfth aspect, there is provided a terminal device. The terminal device comprises receiving circuity configured to receive, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; generating circuity configured to generate a second dataset based on the first dataset and a hard representation of the logits vector; and training circuity configured to train the encoder at the terminal device based on the second dataset.
[0017] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Some example embodiments will now be described with reference to the accompanying drawings, in which:
[0019] FIG. 1 illustrates an example communication environment in which embodiments of the present disclosure may be implemented;
[0020] FIG. 2 illustrates an example autoencoder architecture for CSI compression and reconstruction in accordance with some example embodiments of the present disclosure;
[0021] FIG. 3 illustrates an example NW-side training model of hypothetical encoder and decoder in accordance with some example embodiments of the present disclosure;
[0022] FIG. 4 illustrates an example of a process flow in accordance with some example embodiments of the present disclosure;
[0023] FIG. 5 illustrates an example framework of the proposed knowledge-distillation (KD) and Vector Quantized Variational Autoencoder (VQ-VAE) based separate training approach for light weighted UE-side CSI encoder network deployment in accordance with some example embodiments of the present disclosure;
[0024] FIG. 6 illustrates an example NW-side training model with VQ-VAE in accordance with some example embodiments of the present disclosure;
[0025] FIG. 7 illustrates an example UE-side training model in accordance with some example embodiments of the present disclosure;
[0026] FIG. 8 illustrates an example procedure for KD aided separate training VQ-VAE scheme in accordance with some example embodiments of the present disclosure;
[0027] FIG. 9 illustrates a flowchart of an example method implemented at a network device in accordance with some other embodiments of the present disclosure;
[0028] FIG. 10 illustrates a flowchart of an example method implemented at a terminal device in accordance with some other embodiments of the present disclosure;
[0029] FIG. 11 illustrates a simplified block diagram of a device that is suitable for implementing some example embodiments of the present disclosure; and
[0030] FIG. 12 illustrates a block diagram of an example of a computer-readable medium in accordance with some example embodiments of the present disclosure.
[0031] Throughout the drawings, the same or similar reference numerals represent the same or similar elements.DETAILED DESCRIPTION
[0032] Principles of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.
[0033] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0034] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0035] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0036] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0037] As used in this application, the term “circuitry” may refer to one or more or all of the following:
[0038] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and
[0039] (b) combinations of hardware circuits and software, such as (as applicable) :
[0040] (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and
[0041] (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and
[0042] (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (for example, firmware) for operation, but the software may not be present when it is not needed for operation.
[0043] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0044] As used herein, the term “network” , “communication network” or “data network” refers to a network following any suitable communication standards, such as long term evolution (LTE) , LTE-advanced (LTE-A) , wideband code division multiple access (WCDMA) , high-speed packet access (HSPA) , narrow band Internet of things (NB-IoT) , wireless fidelity (Wi-Fi) and so on. Furthermore, the communications between a terminal device and a network device / element in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the fourth generation (4G) , 4.5G, the future fifth generation (5G) , IEEE 802.11 communication protocols, and / or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.
[0045] As used herein, the term “network device” refers to a node in a communication network via which a terminal device receives services (e.g., positioning services) therefrom. The network device may refer to a core network device or access network device, such as base station (BS) or an access point (AP) or a transmission and reception point (TRP) , for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , a NR NB (also referred to as a gNB) , a remote radio unit (RRU) , a radio header (RH) , a remote radio head (RRH) , a WiFi device, a relay, a low power node such as a femto, a pico, and so forth, depending on the applied terminology and technology. In the following description, the terms “network device” , “AP device” , “AP” and “access point” may be used interchangeably.
[0046] The term “terminal device” refers to any end device that may be capable of wireless communication. By way of example rather than limitation, a terminal device may also be referred to as a communication device, user equipment (UE) , a Subscriber Station (SS) , a Portable Subscriber Station, a Mobile Station (MS) , a station (STA) or station device, or an Access Terminal (AT) . The terminal device may include, but not limited to, a mobile phone, a cellular phone, a smart phone, voice over IP (VoIP) phones, wireless local loop phones, a tablet, a wearable terminal device, a personal digital assistant (PDA) , portable computers, desktop computer, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, vehicle-mounted wireless terminal devices, wireless endpoints, mobile stations, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , USB dongles, smart devices, wireless customer-premises equipment (CPE) , an Internet of Things (IoT) device, a watch or other wearable, a head-mounted display (HMD) , a vehicle, a drone, a medical device and applications (for example, remote surgery) , an industrial device and applications (for example, a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts) , a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like. In the following description, the terms “station” , “station device” , “STA” , “terminal device” , “communication device” , “terminal” , “user equipment” and “UE” may be used interchangeably.
[0047] As discussed above, under the AI-based CSI feedback framework, the optimization of the quantizer is categorized into two types in 3GPP Release 18, that is, quantization-unaware training and quantization-aware training. The quantization-unaware training approach excludes the quantization operation from the training of the autoencoder, leading to a reduced end-to-end performance compared to the quantization-aware training. Nevertheless, the advantage of the former lies in the fact that updates to the quantization scheme don’t require the autoencoder to be retrained, making it easier to be used in practical deployment.
[0048] Furthermore, the common quantization methods include scalar quantization and vector quantization. The former is designed to be simple and easy to implement but has relatively poor performance, while the latter exhibits superior performance but relies on the data characteristics and requires complex codebook design. It has been agreed that the quantization-aware and quantization-unaware training associated with the vector quantization and scalar quantization are all important candidates for possible inclusion into further standard.
[0049] Regarding the training framework, 3GPP defined three types of training frameworks, Type 1, Type 2, and Type 3. Type 1 and Type 2 training rely on the end-to-end gradient propagation from the decoder back to the encoder to simultaneously update the encoder and decoder. Moreover, Type 3 training assumes the UE-side training for encoder and NW-side training for decoder completed in a separate training session, so the NW-side decoder training would not require the detailed model parameters of the UE encoder for its own training, and vice versa. Recently, separate training for two-sided models has been agreed as a critical topic in designing AI / ML enabled CSI feedback solution.
[0050] However, considering the limited computational resources and power constraints at UE, it would be challenging to deploy complex AI models at UE side directly. Therefore, how to facilitate the lightweight AI-based CSI feedback model at UE side under the separate training collaboration framework becomes a critical problem in real-world deployment. On the other hand, 3GPP also mentioned more aspects in two-sided CSI compression model use cases including feasibility and extendibility in real-world deployment need further study.
[0051] Therefore, some embodiments of the present disclosure propose a solution for a training approach for CSI feedback, particularly to support a separate training approach for light weighted CSI feedback. In this solution, a dataset at least comprising a CSI data sample and a logits vector corresponding to the CSI data sample is shared by the NW-side entity with the UE for training the UE-side encoder. By implementing the example embodiments of the present disclosure, the performance of the UE-side encoder can be enhanced, and the model complexity of the UE-side encoder can be reduced.
[0052] For illustrative purposes, principles and example embodiments of the present disclosure will be described below with reference to FIG. 1 to FIG. 12. However, it is to be noted that these embodiments are given to enable the skilled in the art to understand inventive concepts of the present disclosure and implement the solution as proposed herein, and not intended to limit scope of the present application in any way.
[0053] Fig. 1 illustrates an example communication environment 100 in which example embodiments of the present disclosure may be implemented. The communication environment 100, which may be a part of a communication system, comprises terminal devices and network devices.
[0054] As illustrated in Fig. 1, the communication environment 100 may comprise a network device 110 (hereinafter may also be referred to as NW 110) . The communication environment 100 may further comprise a terminal device 120 (hereinafter may also be referred to as UE 120) . The network device 110 and the terminal device 120 may communicate data and control information to each other within a coverage of a cell.
[0055] In the communication environment 100, a link from the network device 110 to the terminal device 120 is referred to as a downlink (DL) , while a link from the terminal device 120 to the network device 110 is referred to as an uplink (UL) . In downlink, the network device 110 is a transmitting (TX) device (or a transmitter) and the terminal device 120 is a receiving (RX) device (or a receiver) . In uplink, the terminal device 120 is a transmitting (TX) device (or a transmitter) and the network device 110 is a RX device (or a receiver) .
[0056] The network 102 may be implemented according to any proper wireless or wired communication protocol (s) , comprising, but not limited to, cellular communication protocols and core network communication protocols of the fourth generation (4G) and the fifth generation (5G) and the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.
[0057] It is to be understood that the number of devices and their connection relationships and types shown in FIG. 1 are for illustrative purposes without suggesting any limitation. The communication environment 100 may comprise any suitable number of devices adapted for implementing embodiments of the present disclosure.
[0058] FIG. 2 illustrates an example autoencoder architecture 200 for CSI compression and reconstruction in accordance with some example embodiments of the present disclosure, where the overall structure of the AI-based CSI feedback scheme is shown in FIG. 2. The UE-side entity includes an encoder 124 compressing the original CSI data into a latent feature vector and a quantizer 126 transforming the float-type latent vector into fixed-point codeword for feedback. The NW-side entity conversely includes a dequantizer 112 transforming the fixed-point codeword into the latent vector and a decoder 114 reconstructing the original CSI data.
[0059] FIG. 3 illustrates an example NW-side training model 300 of hypothetical encoder and decoder in accordance with some example embodiments of the present disclosure, where a codebook-aware separate training approach for vector quantization enabled CSI feedback is supported.
[0060] As illustrated in FIG. 3, regarding NW-first separate training, based on the training dataset, UE (not shown in FIG. 3) needs to learn an encoder network to imitate NW-side’s hypothetical encoder 310. Such imitation learning procedure is carried out in a way of approximating the output of a UE-side model to that of NW-side (i.e., codeword indies in Fig. 3) for a same given input data. However, two problems have been identified, one related to learning performance (in terms of e.g., squared generalized cosine similarity (SGCS) ) and the other related to model complexity (in terms of e.g., a number of parameters) .
[0061] The first problem of performance degradation is nontrivial especially in vector quantization case, e.g., as shown in Table 1, ~2.5%SGCS drop is noticed at 81.5%reduction of the number of parameters for AI-model. To trace the root cause of performance drop, as illustrated in FIG. 3, input of CSI and output of codeword indies for hypothetical encoder 310 are used as supervised learning dataset in consequential UE-side encoder training. Hereafter, codeword indies of e.g., {3, 4, …, B} are represented as one-hot hard representation. When compared to the soft latent vector before Softmax operation, the rich information, which is contained in the relative distance to all codewords in the Vector Quantized Variational Autoencoder (VQ-VAE) codebook 320, gets lost when only hard representation is used for UE-side encoder training. The second problem relates to AI-model complexity: compared to NW 110, UE 120 is more sensitive to AI-model computational complexity (mainly in terms of the number of parameters) .
[0062] Table 1. Performance drop from Type 1 joint training to Type 3 separate training (ST) at a gain of model complexity reduction
[0063] FIG. 4 illustrates an example of a process flow 400 in accordance with some example embodiments of the present disclosure. For ease of understanding, the process flow 400 will be described with reference to FIG. 1. It would be appreciated that although the process flow 400 has been described referring to the communication environment 100 of FIG. 1, this process flow 400 may be likewise applied to other similar communication scenarios.
[0064] As shown in FIG. 4, the network device 110 may generate 402 a dataset 406 at least based on a CSI data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample. In some embodiments, prior to generating 402 the dataset 406, the network device 110 may train an encoder, a codebook, and a decoder at the network device 110 based on the set of CSI data samples. For illustrative purposes, further reference will be made to FIGS. 5-7 to describe several related example aspects, where the proposed KD and VQ-VAE based separate training approach for light weighted CSI feedback network deployment consists of three primary phases, which include NW-side training model (FIG. 6) , training dataset generating and sharing, and UE-side training model (FIG. 7) .
[0065] For example, FIG. 5 illustrates an example framework 500 of the proposed KD and VQ-VAE based separate training approach for light weighted UE-side CSI encoder network deployment in accordance with some example embodiments of the present disclosure, and FIG. 6 illustrates an example NW-side training model 600 with VQ-VAE in accordance with some example embodiments of the present disclosure.
[0066] For example, as described in connection with FIG. 5, in step-1 of NW-side training of hypothetical encoder 510 and decoder 530, NW-side entity generates a KD-oriented training dataset, which consists of original CSI data and its corresponding logits vector. The corresponding logits vector is a 2-dimensional matrix with a size of W×B, where W represents the number of segmentations of latent vector, and B represents the number of codewords in the codebook. The corresponding logits vector is calculated by the reciprocal (e.g., Euclidian) distances between the compressed latent vector and each and every codeword in the VQ-VAE codebook 520.
[0067] For example, the NW-side training adopts the VQ-VAE scheme, which includes the following modules as depicted in FIG. 6.
[0068] An encoder 610 is configured to compress CSI data χ into the latent feature vector ξ. The encoder 610 takes CSI data χ as input and outputs the compressed latent feature vector ξ. Most common deep network architectures (including fully connected (FC) layers, convolutional layers, transformer networks and long short-term memory (LSTM) networks, etc. ) can be adopted as the encoder network.
[0069] A segmentizer is configured to divide the long latent vector ξ into multiple segments ξk. In case the dimension of the latent vector ξ is divided into W segments ξk with a size of S as shown in FIG. 6, all these segments are parallelly or sequentially fed into the quantizer to produce a codeword index i∈ {1, ... B} .
[0070] A vector quantizer is configured to generate codeword indies i by identifying the nearest codebook vector in codebook 620 given each segmented latent vector ξk. Assuming the presence of codebook 620 consisting of B codebook vectors with a dimension of S, the vector quantizer first measures the distance between each codebook vector vi and the given segment ξk. Then it outputs the index element ik with the minimum distance. This operation can be written as: zk=argmini∈ {1, …, B} f (ξk, vi) , k∈ {1, …, W} ,
[0071] where f (·) represents the distance metric, which can be the Euclidian distance, cosine similarity, etc. All index elements corresponding to W segments constitute the codeword indies i= (i1, …, iW) for feedback.
[0072] A vector dequantizer is configured to generate each segmented codeword vk by referring to the codebook and codeword index i∈ {1, ... B} . The vector dequantizer maintains the same codebook 620 with the quantizer, so it can generate the segmented codeword by referring to codebook 620 given the codeword index i.
[0073] A combiner is configured to concatenate all codeword segments vk into a complete codeword v . The combiner concatenates all segmented codeword to form the complete codeword v.
[0074] A decoder 630 is configured to reconstruct the CSI data by taking the codeword v as input. The decoder 630 takes v as input and reconstructs the CSI data The decoder 630 can employ various deep network architectures like fully connected (FC) layers, convolutional layers, transformer networks and long short-term memory (LSTM) networks.
[0075] To train the encoder 610, codebook 620, and decoder 630 in an end-to-end manner, for example, the loss function can be written as:
[0076] wherein R (·) denotes the reconstruction loss between the true CSI χ and the reconstructed CSI at the decoder output χ. The reconstruction loss can be measured in terms of normalized mean squared error (NMSE) or cosine similarity. As mentioned above, the segmented latent vector ξk is mapped to the closest codebook vector which acts as the input to the decoder 630. Therefore, the second term, called quantization loss, optimizes the codebook 620 such that it becomes as close as possible to the encoder output. The encoder output is in this case, treated as a constant using the stop-gradient operator sg [·] . Specifically, the codebook 620 can be updated by the dictionary learning algorithm with the L2-norm error. The last term is the commitment loss which in turn optimizes the encoder 610 such that the output ξk commits to the codebook 620.
[0077] Referring back to FIG. 4, in some embodiments, prior to generating 402 the dataset 406, the network device 110 may be inquired by the terminal device 120 about whether the network device 110 supports generating and sharing dataset for knowledge-distillation (KD) training.
[0078] For example, as described in connection with FIG. 5, per request triggered either by UE or NW, if NW is capable of providing KD-based sequential training for AI-CSI, NW shares with UE the KD-oriented training dataset {χ, z (χ) } before step-2 of UE-side sequential training. If NW is incompatible to KD-service, then only legacy Type 3 / ST is supported.
[0079] Referring back to FIG. 4, in some embodiments, the dataset 406 at least comprises the CSI data sample of the set of CSI data samples and the logits vector corresponding to the CSI data sample, and the network device 110 is caused to generate the dataset 406 by: compressing the CSI data sample into a latent vector by an encoder at the network device 110; dividing the latent vector into a plurality of segment vectors; and calculating the logits vector based on the plurality of segment vectors.
[0080] Furthermore, in some embodiments, the network device 110 is caused to calculate the logits vector based on the plurality of segment vectors by: generating a distance matrix by calculating a distance between each of the plurality of segment vectors and each codeword in a trained codebook; applying a normalized exponential function to the distance matrix D to calculate a logits matrix; and reshaping the logits matrix to obtain the logits vector.
[0081] Furthermore, in some embodiments, the logits matrix is denoted as Z and is calculated as follows:
[0082] wherein the SoftMax operation is the normalized exponential function and is used to obtain a probability distribution across codewords in the trained codebook given each of the plurality of segment vectors, and the temperature parameter is predefined at network-side and is used to control an entropy of the probability distribution.
[0083] In some embodiments, the distance is a Euclidean distance or a cosine similarity, the logits matrix is a 2-dimensional matrix with a size of W×B, W represents a number of the plurality of segment vectors, and B represents a number of the codewords in the trained codebook.
[0084] For example, in order for training dataset generating and sharing, after NW-side model training, a special training dataset which contains distillated knowledge of NW-side model is generated with the scheme of KD. Then, the training dataset need to be delivered to UE-side for encoder training.
[0085] Regarding training dataset generating, for example, the entire or a subset of the pre-stored CSI dataset may be selected as the shared CSI dataset Each CSI data sample χ therein is firstly compressed into a latent vector ξ by the pre-trained encoder, and then ξ is divided into W segments {ξ1, ξ2, …, ξW} . Given the finalized codebook C with B vectors {v1, v2, …, vB} , a distance matrix D∈W×B can be generated by calculating the distance (Euclidean distance or cosine similarity) between each segment vectors (ξk with k∈W) and each codeword (vi with i∈B) in the pretrained codebook. Then, the logits matrix can be calculated by applying SoftMax operation across codewords, which can be written as The SoftMax operation here is to obtain a distribution across codewords of length B given each ξk. With the logits matrix, the one-hot hard label can also be obtained by identifying the element with highest probability. The logits matrix is then reshaped to a logits vector with a size of W·B for sharing.
[0086] Moreover, regarding training dataset sharing, for example, since the index vector is uniquely mapped to the quantized latent vector given a finalized codebook, and meanwhile the UE-side entity is not responsible for CSI reconstruction, the main objective of the UE-side model is to precisely locate the designated codebook vector rather than replicating the NW-side latent vector. As a result, the UE-side encoder can be trained in a classification manner with the aim of finding the codewords with the highest logits. Thus, unlike other approaches that require sharing latent vector or only one-hot label, may be shared to UEs. Two major benefits can be achieved: (1) the UE-side vendor is completely unaware of the NW-side model and the NW-proprietary codebook C; (2) with the distillated as the training label, UE-side can achieve a comparable compression performance with a light-weighted network structure.
[0087] Referring back to FIG. 4, in some embodiments, the network device 110 may transmit 404, to the terminal device 120, the dataset 406 for training an encoder at the terminal device 120.
[0088] Thereafter, in some embodiments, the terminal device 120 may receive 408, from the network device 110, a first dataset (i.e., the dataset 406) for training the encoder at the terminal device 120, and the first dataset (i.e., the dataset 406) at least comprises a CSI data sample and a logits vector corresponding to the CSI data sample.
[0089] Thereafter, in some embodiments, the terminal device 120 may generate 410 a second dataset based on the first dataset (i.e., the dataset 406) and a hard representation of the logits vector, and the terminal device 120 may train 412 the encoder at the terminal device 120 based on the second dataset.
[0090] Furthermore, in some embodiments, the terminal device 120 is caused to train 412 the encoder by: compressing the CSI data sample into a latent vector by the encoder; and transforming the latent vector to a predicted logits vector by segmenting the latent vector.
[0091] Furthermore, in some embodiments, the second dataset at least comprises the first dataset (i.e., the dataset 406) and the hard representation of the logits vector, the hard representation of the logits vector is a one-hot vector corresponding to the logits vector, and the terminal device 120 is further caused to obtain the one-hot vector by: generating an all-zero vector with a same dimension of the logits vector; identifying index in each segment of the logits vector with a highest value; and setting every elements corresponding to the index to 1 in the all-zero vector.
[0092] For example, as described in connection within FIG. 5, in step-2, UE-side entity first creates a special 2-dimensional soft classifier ∈ W*B according to the matrix size received from NW, where B represents the class number and W represents segment number of the latent vector. Then UE-side entity creates a hard label matrix H (χ) based on z (χ) . Note that, as described in connection with FIG. 5, one CSI inputs χ1 is encoded into latent vector ξ, then segmented into a set of codewords {ξ1, ξ2, …ξW, } with corresponding likelihood value of each codeword {p1, 1, p1, 2, …p1, B} . A loss function is defined as a hybrid loss consisting of cross entropy between H (χ) to {p1, 1, p1, 2, …p1, B} and cross entropy between z (χ) to {p1, 1, p1, 2, …p1, B} . Based on the weighted summed loss function, UE calculates gradient and updates encoder 540 network accordingly.
[0093] FIG. 7 illustrates an example UE-side training model 700 in accordance with some example embodiments of the present disclosure, where the overall architecture for the UE-side model is depicted herein. For example, an encoder 710 compresses CSI data χinto the latent feature vector η, which is then segmented and transformed to a predicted logits vector with a size of W·B. Then, network parameters are upgraded through Neural network (NN) backpropagation with the logits vector as the soft label.
[0094] Referring back to FIG. 4, in some embodiments, the terminal device 120 is caused to train the encoder by: training the encoder with a classification-like approach using a combined loss function, the combined loss function is a combination of f1 (z (χ) ′, z (χ) ) and f2 (z (χ) ′, H (χ) ) given an output z (χ) ′, χ represents the CSI data sample, z (χ) represents the logits vector, H (χ) represents the one-hot vector, and z (χ) ′represents a predicted logits vector by the encoder at the terminal device.
[0095] Furthermore, in some embodiments, the combined loss function is represented as follows: L= αf1 (z (χ) ′, z (χ) ) + (1-α) f2 (z (χ) ′, H (χ) ) ,
[0096] where α is a hyper-parameter determined by the terminal device, f1 (z (χ) ′, z (χ) ) represents a Kullback-Leibler divergence or a cross entropy between the predicted logits vector z (χ) ′and the logits vector z (χ) , and f2 (z (χ) ′, H (χ) ) represents a cross entropy between the predicted logits vector z (χ) ′and the one-hot vector H (χ) .
[0097] For example, as described in connection with FIG. 7, the loss function is composed of the Kullback-Leibler divergence or the cross entropy between the encoder output and the soft label, and the cross entropy between the output and the hard label (one-hot vector calculated as described above) . And the loss function can be written as:
[0098] where for example: f1 (a, b) =KL Divergence (a, b) , f2 (a, b) =CrossEntropy (a, b) .
[0099] α~ (0, 1) is a hyper-parameter here to balance the distillated knowledge and the accurate knowledge. Normally, α should be close to 1 at the beginning of the training stage to ensure the “student network” learning as much knowledge as possible from the teacher and should be close to 0 at the end of the training stage to make sure that the output of the “student network” is close to the target output (one-hot label here) .
[0100] Referring back to FIG. 4, in some embodiments, the procedure of the generating 402 and the transmitting 404 at the network device 110, and the receiving 408, the generating 410, and the training 412 at the terminal device 120 is repeated for training the encoder at the terminal device 120 until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder being less than a predefined threshold or an iteration times reaching a maximum value.
[0101] For example, as described in connection with FIG. 5, if the validation loss (e.g., cross-entropy or cosine similarity) , validated on the dataset χ, exceeds a predefined threshold, the UE-side entity initiates a request to the NW for further training dataset, until the iteration condition is satisfied.
[0102] Thereafter, for example, in step-3, the inference of UE-side encoder 540 is carried out according to the legacy solution.
[0103] FIG. 8 illustrates an example procedure 800 for KD aided separate training VQ-VAE scheme in accordance with some example embodiments of the present disclosure. The procedure of FIG. 8 is described further in connection with FIG. 4 as follows.
[0104] As illustrated in FIG. 4, in some embodiments, prior to generating 402 the dataset 406, the network device 110 may train the encoder, the codebook, and the decoder at the network device 110 based on the set of CSI data samples. For example, as illustrated in FIG. 8, at 810, the NW-side entity may train the encoder, the proprietary codebook, and the decoder with the pre-stored CSI dataset.
[0105] Referring back to FIG. 4, in some embodiments, prior to generating 402 the dataset 406, the network device 110 is inquired by the terminal device 120 about whether the network device 110 supports generating and sharing dataset for knowledge-distillation (KD) training. For example, as illustrated in FIG. 8, at 820, the UE may inquire whether NW supports generating and sharing dataset for KD training. If a NACK is received by the UE, the procedure may be switched to a legacy mode, where the NW-side only shares hard labels (code words indices) to the UE. Otherwise, if an ACK is received by the UE, the procedure here may continue.
[0106] Referring back to FIG. 4, in some embodiments, the network device 110 may generate 402 the dataset 406 at least based on the CSI data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample. For example, as illustrated in FIG. 8, at 830, the NW-side entity may generate the training dataset by feeding each CSI data sample χ to the NW-side encoder to obtain the latent vector, and then calculating the logits vector z (χ) .
[0107] Referring back to FIG. 4, in some embodiments, the network device 110 may transmit 404, to the terminal device 120, the dataset 406 for training an encoder at the terminal device 120. For example, as illustrated in FIG. 8, at 840, the NW-side entity shares with UE the training dataset1 (X, z (X) ) for UE-side encoder training.
[0108] Referring back to FIG. 4, in some embodiments, the terminal device 120 may receive 408, from the network device 110, the first dataset (i.e., the dataset 406) for training the encoder at the terminal device 120, and the first dataset (i.e., the dataset 406) at least comprises the CSI data sample and the logits vector corresponding to the CSI data sample.
[0109] Thereafter, in some embodiments, the terminal device 120 may generate 410 the second dataset based on the first dataset (i.e., the dataset 406) and the hard representation of the logits vector, and the terminal device 120 may train 412 the encoder at the terminal device 120 based on the second dataset.
[0110] For example, as illustrated in FIG. 8, at 850, each UE may extend the shared dataset1 (X, z (X) ) to dataset2 (X, z (X) , H (X) ) by identifying the element with the highest probability to obtain the corresponding one-hot vector H (X) , and at 860, each UE may train the encoder separately using a classification-like approach with the training dataset2 (X, z (X) , H (X) ) . For example, the loss function is a combination of f1 (z (χ) ′, z (χ) ) and f2 (z (χ) ′, H (χ) ) given the output written as L= αf1 (z (χ) ′, z (χ) ) + (1-α) f2 (z (χ) ′, H (χ) ) , where α is a hyper-parameter determined by each UE to balance the reconstruction performance, training time, and complexity of Neural network (NN) .
[0111] Referring back to FIG. 4, in some embodiments, the procedure of the generating 402 and the transmitting 404 at the network device 110, and the receiving 408, the generating 410, and the training 412 at the terminal device 120 is repeated for training the encoder at the terminal device until the iteration condition is satisfied. For example, as illustrated in FIG. 8, at 870, if the combined loss L, computed on the shared dataset2, exceeds a predefined threshold, repeat 802-806 until iteration condition (the validation loss is smaller than a predefined threshold or the iteration time reaches the maximum) is verified.
[0112] The proposed KD approach is verified by simulations. The NW-side model is trained under the vector-quantization-aware framework by adopting the VQ-VAE training scheme as described above. The simulation datasets are generated according to Table 7.7.1-3 in 3GPP TR 38.901.
[0113] The configurations for dataset generation are given in following table 1. The configurations for dataset generation are given in following Table 2.
[0114] Table 2. Dataset configurations
[0115] In this simulation, there are 100000 eigenvector samples as CSI data for training and validation, wherein 80000 samples are used for training and 20000 samples are used for validation. Each sample includes N=832 real numbers, which corresponds to a large eigenvector concatenated by 13 sub-bands as: χ= [x1, x2, ..., x13]
[0116] where xk (1≤k≤13) is the eigenvector for the k-th sub-band channel. Each xk has been processed as the following format: xk= [Re {xk, 1} , Im {xk, 1} , Re {xk, 2} , Im {xk, 2} , …, Re {xk, 32} , Im {xk, 32} ]
[0117] where Re {. } and Im {. } are the real and imaginary parts.
[0118] The simulation results comparison is based on baseline-1 and baseline-2, where baseline-1 corresponds to vector-quantization-aware joint training (with transformer NN structure) , and baseline-2 corresponds to vector-quantization-aware separate training with only hard label (one-hot vector) at UE-side (With CSINet encoder NN structure) . And the SGCS between the original CSI data and the reconstructed CSI data is used herewith as the performance metric.
[0119] Simulation result in Table 3 presents the CSI reconstruction performance of different schemes in terms of the SGCS. There are two observations from this simulation result: (1) the proposed KD based separate training approach only experiences slightly performance degradation with a significantly light-weighted network compared with the joint training approach with Transformer neural network structure at the NW-side; and (2) the KD based training scheme noticeable performance gain over the only hard-label based training scheme.
[0120] Table 3. CSI reconstruction performance of different models
[0121] Above simulation results demonstrate the advantages of the proposed KD based separate training scheme with vector quantization for light-weighted deployment. The proposed approach can achieve a comparable performance with joint training approach (0.7969 vs 0.8124) . The proposed approach can achieve a higher performance compared with separate training approach with only hard label (0.0103 higher in terms of SGCS) . The proposed approach significantly reduces the network complexity (The network complexity decreases 81.53%compare with the NW-side model) for light-weighted deployment.
[0122] FIG. 9 illustrates a flowchart of an example method 900 implemented at a network device in accordance with some other embodiments of the present disclosure. For ease of understanding, the method 900 will be described from the perspective of the network device 110 with reference to FIG. 1.
[0123] At block 910, the network device 110 may generate a dataset at least based on a CSI data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample. In some embodiments, prior to generating the dataset, the network device 110 may train an encoder, a codebook, and a decoder at the network device 110 based on the set of CSI data samples. In some embodiments, prior to generating the dataset, the network device 110 may be inquired by the terminal device 120 about whether the network device 110 supports generating and sharing dataset for knowledge-distillation (KD) training.
[0124] In some embodiments, the dataset at least comprises the CSI data sample of the set of CSI data samples and the logits vector corresponding to the CSI data sample, and wherein the network device 110 is caused to generate the dataset by: compressing the CSI data sample into a latent vector by an encoder at the network device 110; dividing the latent vector into a plurality of segment vectors; and calculating the logits vector based on the plurality of segment vectors.
[0125] In some embodiments, the network device 110 is caused to calculate the logits vector based on the plurality of segment vectors by: generating a distance matrix by calculating a distance between each of the plurality of segment vectors and each codeword in a trained codebook; applying a normalized exponential function to the distance matrix D to calculate a logits matrix; and reshaping the logits matrix to obtain the logits vector.
[0126] In some embodiments, the logits matrix is denoted as Z and is calculated as follows: wherein the SoftMax operation is the normalized exponential function and is used to obtain a probability distribution across codewords in the trained codebook given each of the plurality of segment vectors, and the temperature parameter is predefined at network-side and is used to control an entropy of the probability distribution.
[0127] In some embodiments, the distance is a Euclidean distance or a cosine similarity, the logits matrix is a 2-dimensional matrix with a size of W×B, W represents a number of the plurality of segment vectors, and B represents a number of the codewords in the trained codebook.
[0128] At block 920, the network device 110 may transmit, to the terminal device 120, the dataset for training an encoder at the terminal device 120.
[0129] In some embodiments, a procedure of the generating and the transmitting of the dataset is repeated for training the encoder at the terminal device 120 until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder at the terminal device 120 being less than a predefined threshold or an iteration times reaching a maximum value.
[0130] FIG. 10 illustrates a flowchart of an example method 1000 implemented at a terminal device in accordance with some other embodiments of the present disclosure. For ease of understanding, the method 1000 will be described from the perspective of the terminal device 120 with reference to FIG. 1.
[0131] At block 1010, the terminal device 120 may receive, from the network device 110, a first dataset for training an encoder at the terminal device 120, wherein the first dataset at least comprises a CSI data sample and a logits vector corresponding to the CSI data sample. In some embodiments, prior to receiving the first dataset, the terminal device 120 is further caused to: inquire the network device about whether the network device supports generating and sharing dataset for knowledge-distillation (KD) training.
[0132] At block 1020, the terminal device 120 may generate a second dataset based on the first dataset and a hard representation of the logits vector. In some embodiments, the second dataset at least comprises the first dataset and the hard representation of the logits vector, the hard representation of the logits vector is a one-hot vector corresponding to the logits vector, and the terminal device 120 is further caused to obtain the one-hot vector by: generating an all-zero vector with a same dimension of the logits vector; identifying index in each segment of the logits vector with a highest value; and setting every elements corresponding to the index to 1 in the all-zero vector.
[0133] At block 1030, the terminal device 120 may train the encoder at the terminal device 120 based on the second dataset. In some embodiments, the terminal device 120 is caused to train the encoder by: compressing the CSI data sample into a latent vector by the encoder; and transforming the latent vector to a predicted logits vector by segmenting the latent vector.
[0134] In some embodiments, the terminal device 120 is caused to train the encoder by: training the encoder with a classification-like approach using a combined loss function, the combined loss function is a combination of f1 (z (χ) ′, z (χ) ) and f2 (z (χ) ′, H (χ) ) given an output z (χ) ′, χ represents the CSI data sample, z (χ) represents the logits vector, H (χ) represents the one-hot vector, and z (χ) ′represents a predicted logits vector by the encoder at the terminal device.
[0135] In some embodiments, the combined loss function is represented as follows: L= αf1 (z (χ) ′, z (χ) ) + (1-α) f2 (z (χ) ′, H (χ) ) , wherein α is a hyper-parameter determined by the terminal device, f1 (z (χ) ′, z (χ) ) represents a Kullback-Leibler divergence or a cross entropy between the predicted logits vector z (χ) ′and the logits vector z (χ) , and f2 (z (χ) ′, H (χ) ) represents a cross entropy between the predicted logits vector z (χ) ′and the one-hot vector H (χ) .
[0136] In some embodiments, a procedure of the receiving, the generating, and the training is repeated for training the encoder at the terminal device 120 until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder being less than a predefined threshold or an iteration times reaching a maximum value.
[0137] In some embodiments, an apparatus capable of performing the method 900 (for example, the network device 110) may comprise means for performing the respective steps of the method 900. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.
[0138] In some embodiments, the apparatus comprises: means for generating a dataset at least based on a CSI data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; and means for transmitting, to the terminal device 120, the dataset for training an encoder at the terminal device 120.
[0139] In some embodiments, the apparatus further comprises: means for training an encoder, a codebook, and a decoder at the apparatus based on the set of CSI data samples prior to generating the dataset.
[0140] In some embodiments, prior to generating the dataset, the apparatus is inquired by the terminal device 120 about whether the apparatus supports generating and sharing dataset for knowledge-distillation (KD) training.
[0141] In some embodiments, the dataset at least comprises the CSI data sample of the set of CSI data samples and the logits vector corresponding to the CSI data sample, and the means for generating the dataset comprises: means for compressing the CSI data sample into a latent vector by an encoder at the apparatus; means for dividing the latent vector into a plurality of segment vectors; and means for calculating the logits vector based on the plurality of segment vectors.
[0142] In some embodiments, the means for calculating the logits vector based on the plurality of segment vectors comprises: means for generating a distance matrix by calculating a distance between each of the plurality of segment vectors and each codeword in a trained codebook; means for applying a normalized exponential function to the distance matrix D to calculate a logits matrix; and means for reshaping the logits matrix to obtain the logits vector.
[0143] In some embodiments, the logits matrix is denoted as Z and is calculated as follows: wherein the SoftMax operation is the normalized exponential function and is used to obtain a probability distribution across codewords in the trained codebook given each of the plurality of segment vectors, and the temperature parameter is predefined at network-side and is used to control an entropy of the probability distribution.
[0144] In some embodiments, the distance is a Euclidean distance or a cosine similarity, the logits matrix is a 2-dimensional matrix with a size of W×B, W represents a number of the plurality of segment vectors, and B represents a number of the codewords in the trained codebook.
[0145] In some embodiments, wherein a procedure of the generating and the transmitting of the dataset is repeated for training the encoder at the terminal device 120 until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder at the terminal device 120 being less than a predefined threshold or an iteration times reaching a maximum value.
[0146] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 900. In some embodiments, the means comprises at least one processor and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
[0147] In some embodiments, an apparatus capable of performing the method 1000 (for example, the terminal device 120) may comprise means for performing the respective steps of the method 1000. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.
[0148] In some embodiments, the apparatus comprises: means for receiving, from the network device 110, a first dataset for training an encoder at the apparatus, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample; means for generating a second dataset based on the first dataset and a hard representation of the logits vector; and means for training the encoder at the apparatus based on the second dataset.
[0149] In some embodiments, the apparatus further comprises: means for inquiring the network device 110 about whether the network device 110 supports generating and sharing dataset for knowledge-distillation (KD) training prior to receiving the first dataset.
[0150] In some embodiments, the means for training the encoder comprises: means for compressing the CSI data sample into a latent vector by the encoder; and means for transforming the latent vector to a predicted logits vector by segmenting the latent vector.
[0151] In some embodiments, the second dataset at least comprises the first dataset and the hard representation of the logits vector, the hard representation of the logits vector is a one-hot vector corresponding to the logits vector, and the means for obtaining the one-hot vector comprises: means for generating an all-zero vector with a same dimension of the logits vector; means for identifying index in each segment of the logits vector with a highest value; and means for setting every elements corresponding to the index to 1 in the all-zero vector.
[0152] In some embodiments, the means for training the encoder comprises: means for training the encoder with a classification-like approach using a combined loss function, the combined loss function is a combination of f1 (z (χ) ′, z (χ) ) and f2 (z (χ) ′, H (χ) ) given an output z (χ) ′, χ represents the CSI data sample, z (χ) represents the logits vector, H (χ) represents the one-hot vector, and z (χ) ′represents a predicted logits vector by the encoder at the apparatus.
[0153] In some embodiments, the combined loss function is represented as follows: L= αf1 (z (χ) ′, z (χ) ) + (1-α) f2 (z (χ) ′, H (χ) ) , wherein α is a hyper-parameter determined by the apparatus, f1 (z (χ) ′, z (χ) ) represents a Kullback-Leibler divergence or a cross entropy between the predicted logits vector z (χ) ′and the logits vector z (χ) , and f2 (z (χ) ′, H (χ) ) represents a cross entropy between the predicted logits vector z (χ) ′and the one-hot vector H (χ) .
[0154] In some embodiments, a procedure of the receiving, the generating, and the training is repeated for training the encoder at the apparatus until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder being less than a predefined threshold or an iteration times reaching a maximum value.
[0155] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 1000. In some embodiments, the means comprises at least one processor and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
[0156] FIG. 11 illustrates a simplified block diagram of a device 1100 that is suitable for implementing some example embodiments of the present disclosure. The device 1100 may be provided to implement a communication device, for example, the network device 110 or the terminal device 120 as shown in FIG. 1. As shown, the device 1100 includes one or more processors 1110, one or more memories 1120 coupled to the processor 1110, and one or more communication modules 1140 coupled to the processor 1110.
[0157] The communication module 1140 is for bidirectional communications. The communication module 1140 has at least one antenna to facilitate communication. The communication interface may represent any interface that is necessary for communication with other network elements.
[0158] The processor 1110 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 1100 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
[0159] The memory 1120 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 1124, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random access memory (RAM) 1122 and other volatile memories that will not last in the power-down duration.
[0160] A computer program 1130 includes computer executable instructions that are executed by the associated processor 1110. The program 1130 may be stored in the ROM 1124. The processor 1110 may perform any suitable actions and processing by loading the program 1130 into the RAM 1122.
[0161] The embodiments of the present disclosure may be implemented by means of the program 1130 so that the device 1100 may perform any process of the disclosure as discussed with reference to FIGS. 9 and 10. The embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0162] In some example embodiments, the program 1130 may be tangibly contained in a computer-readable medium which may be included in the device 1100 (such as in the memory 1120) or other storage devices that are accessible by the device 1100. The device 1100 may load the program 1130 from the computer-readable medium to the RAM 1122 for execution. The computer-readable medium may include any types of tangible non-volatile storage, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like.
[0163] FIG. 12 illustrates a block diagram of an example of a computer-readable medium 1100 in accordance with some example embodiments of the present disclosure. The computer-readable medium 1200 has the program 1130 stored thereon. It is noted that although the computer-readable medium 1200 is depicted in form of CD or DVD in FIG. 12, the computer-readable medium 1200 may be in any other form suitable for carry or hold the program 1130.
[0164] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0165] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the method 900 or 1000 as described above with reference to FIG. 9 or 10. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0166] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0167] In the context of the present disclosure, the computer program codes or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer-readable medium, and the like.
[0168] The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .
[0169] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0170] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.A network device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the network device at least to:generate a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; andtransmit, to a terminal device, the dataset for training an encoder at the terminal device.2.The network device of claim 1, wherein the network device is further caused to:prior to generating the dataset, train an encoder, a codebook, and a decoder at the network device based on the set of CSI data samples.3.The network device of claim 1, wherein prior to generating the dataset, the network device is inquired by the terminal device about whether the network device supports generating and sharing dataset for knowledge-distillation (KD) training.4.The network device of any of claims 1-3, wherein the dataset at least comprises the CSI data sample of the set of CSI data samples and the logits vector corresponding to the CSI data sample, and wherein the network device is caused to generate the dataset by:compressing the CSI data sample into a latent vector by an encoder at the network device;dividing the latent vector into a plurality of segment vectors; andcalculating the logits vector based on the plurality of segment vectors.5.The network device of claim 4, wherein the network device is caused to calculate the logits vector based on the plurality of segment vectors by:generating a distance matrix by calculating a distance between each of the plurality of segment vectors and each codeword in a trained codebook;applying a normalized exponential function to the distance matrix D to calculate a logits matrix; andreshaping the logits matrix to obtain the logits vector.6.The network device of claim 5, wherein the logits matrix is denoted as Z and is calculated as follows: wherein the SoftMax operation is the normalized exponential function and is used to obtain a probability distribution across codewords in the trained codebook given each of the plurality of segment vectors, and the temperature parameter is predefined at network-side and is used to control an entropy of the probability distribution.7.The network device of claim 5 or 6, wherein the distance is a Euclidean distance or a cosine similarity, the logits matrix is a 2-dimensional matrix with a size of W×B, W represents a number of the plurality of segment vectors, and B represents a number of the codewords in the trained codebook.8.The network device of any of claims 1-7, wherein a procedure of the generating and the transmitting of the dataset is repeated for training the encoder at the terminal device until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder at the terminal device being less than a predefined threshold or an iteration times reaching a maximum value.9.A terminal device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the terminal device at least to:receive, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample;generate a second dataset based on the first dataset and a hard representation of the logits vector; andtrain the encoder at the terminal device based on the second dataset.10.The terminal device of claim 9, wherein prior to receiving the first dataset, the terminal device is further caused to:inquire the network device about whether the network device supports generating and sharing dataset for knowledge-distillation (KD) training.11.The network device of claim 9, wherein the terminal device is caused to train the encoder by:compressing the CSI data sample into a latent vector by the encoder; andtransforming the latent vector to a predicted logits vector by segmenting the latent vector.12.The terminal device of claim 9, wherein the second dataset at least comprises the first dataset and the hard representation of the logits vector, the hard representation of the logits vector is a one-hot vector corresponding to the logits vector, and the terminal device is further caused to obtain the one-hot vector by:generating an all-zero vector with a same dimension of the logits vector;identifying index in each segment of the logits vector with a highest value; andsetting every elements corresponding to the index to 1 in the all-zero vector.13.The terminal device of claim 9, wherein the terminal device is caused to train the encoder by:training the encoder with a classification-like approach using a combined loss function, the combined loss function is a combination of f1 (z (χ) ′, z (χ) ) and f2 (z (χ) ′, H (χ) ) given an output z (χ) ′, χ represents the CSI data sample, z (χ) represents the logits vector, H (χ) represents the one-hot vector, and z (χ) ′ represents a predicted logits vector by the encoder at the terminal device.14.The terminal device of claim 13, wherein the combined loss function is represented as follows: L= αf1 (z (χ) ′, z (χ) ) + (1-α) f2 (z (χ) ′, H (χ) ) ,wherein α is a hyper-parameter determined by the terminal device, f1 (z (χ) ′, z (χ) ) represents a Kullback-Leibler divergence or a cross entropy between the predicted logits vector z (χ) ′ and the logits vector z (χ) , and f2 (z (χ) ′, H (χ) ) represents a cross entropy between the predicted logits vector z (χ) ′ and the one-hot vector H (χ) .15.The terminal device of any of claims 9-14, wherein a procedure of the receiving, the generating, and the training is repeated for training the encoder at the terminal device until an iteration condition is satisfied, wherein the iteration condition comprises a validation loss of a loss function for training the encoder being less than a predefined threshold or an iteration times reaching a maximum value.16.A method comprising:generating, at a network device, a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; andtransmitting, to a terminal device, the dataset for training an encoder at the terminal device.17.A method comprising:receiving, at a terminal device and from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample;generating a second dataset based on the first dataset and a hard representation of the logits vector; andtraining the encoder at the terminal device based on the second dataset.18.An apparatus comprising:means for generating, at a network device, a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; andmeans for transmitting, to a terminal device, the dataset for training an encoder at the terminal device.19.An apparatus comprising:means for receiving, at a terminal device and from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample;means for generating a second dataset based on the first dataset and a hard representation of the logits vector; andmeans for training the encoder at the terminal device based on the second dataset.20.A non-transitory computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform at least:generating a dataset at least based on a channel state information (CSI) data sample of a set of CSI data samples and a logits vector corresponding to the CSI data sample; andtransmitting, to a terminal device, the dataset for training an encoder at the terminal device.21.A non-transitory computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform at least:receiving, from a network device, a first dataset for training an encoder at the terminal device, wherein the first dataset at least comprises a channel state information (CSI) data sample and a logits vector corresponding to the CSI data sample;generating a second dataset based on the first dataset and a hard representation of the logits vector; andtraining the encoder at the terminal device based on the second dataset.