Neural network model training method and communication apparatus
By exchanging information in the communication system between the transmitting and receiving devices, the parameters of the neural network model are updated, thus solving the problem of low adaptability between the neural network model and the communication channel and improving the performance of the wireless communication system.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2026-04-02
AI Technical Summary
In existing technologies, neural network models have low compatibility with communication channels, which affects the performance of wireless communication systems.
By exchanging information in the communication system between the sending and receiving devices, the model parameters of the neural network model are updated using the feedback results, thereby improving the model's adaptability to the actual communication scenario.
This improves the adaptability of neural network models to real-world communication scenarios, thereby optimizing the performance of wireless communication systems.
Smart Images

Figure CN2023115476_02042026_PF_FP_ABST
Abstract
Description
A neural network model training method and a communication device TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, in particular to a neural network model training method and a communication device. BACKGROUND
[0002] Combining a wireless communication system with a neural network, that is, training a neural network model in the wireless communication system through data driving, is beneficial to improving the performance of the wireless communication system. The neural network model can be applied to each device (including a receiving end device or a sending end device, etc.) in the wireless communication system. For example, the neural network model is applied to a channel decoding module in the receiving end device, and is trained through data driving, which is beneficial to improving the performance of channel decoding of the receiving end device.
[0003] Generally, the neural network model applied to the wireless communication system is trained in the training system and then deployed in the device of the wireless communication system. The neural network model obtained through such a training method has a low degree of adaptation with the communication environment (or understood as the communication channel in the communication environment), which will affect the performance of the wireless communication system applying the neural network model. How to improve the degree of adaptation between the neural network model and the communication channel is a problem to be solved.
[0004] SUMMARY
[0005] The present application provides a neural network model training method and a communication device. The neural network model deployed in the device is updated and trained through the training data of the communication network, which is beneficial to improving the degree of adaptation between the neural network model and the communication channel, and thus is beneficial to optimizing the performance of the wireless communication system applying the neural network model.
[0006] In a first aspect, the present application provides a neural network model training method. The method is applied to a sending device, or a module (such as a chip or a chip system, etc.) in the sending device. In the case of being applied to the sending device, the method comprises: the sending device sends a first forward inference result to a receiving device. The first forward inference result is obtained by a first neural network model based on first model parameters, and is obtained by performing forward inference on training data included in a first training process. The first training process is any one of at least one training process corresponding to the first neural network model. The first neural network model is a model deployed in the sending device; the sending device receives a first feedback result from the receiving device for the first forward inference result; the sending device obtains a first intermediate result. The first intermediate result is generated when performing forward inference on the training data included in the first training process; the sending device calculates the gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result; further, the sending device updates the first model parameters to second model parameters according to the gradient corresponding to the first training process.
[0007] Based on the method described in the first aspect, after the first neural network model is deployed in the sending device, the sending device and the receiving device interact information through a communication system (or understood as a real channel of an actual communication environment). That is, after the sending device performs forward inference on the training data through the first neural network model, the sending device sends the forward inference result to the receiving device through the channel of the actual communication network; when the receiving device receives the forward inference result through the channel, the forward inference result will be affected by the transmission environment of the channel (that is, it can be understood as carrying information of the real channel). Therefore, the feedback result obtained based on such forward inference result can also be understood as carrying information of the real channel; the sending device subsequently receives the feedback result, and updates the model parameters of the first neural network model deployed in the sending device based on the feedback result, which is beneficial to improve the adaptability of the neural network model to the actual communication scenario, thereby optimizing the performance of the wireless communication system applying the neural network model.
[0008] In a possible implementation, the sending device obtains the first intermediate result from a parameter cache space corresponding to the first training process. By implementing this possible implementation, the sending device directly obtains the first intermediate result from the parameter cache space, which is beneficial to save the computing resources of the sending device.
[0009] In a possible implementation, after the sending device calculates the gradient of the first training process according to the first feedback result, the first forward inference result, and the first intermediate result, the sending device clears the first intermediate result from the parameter buffer space corresponding to the first training process. By implementing the possible implementation, the sending device clears the first intermediate result from the parameter buffer space after using the first intermediate result, which is beneficial to saving the buffer resource of the sending device.
[0010] In a possible implementation, the sending device can perform forward inference again according to the training data included in the first training process to obtain the first intermediate result.
[0011] In a possible implementation, the first training process includes at least one sub-process, each sub-process includes at least one training data, the first forward inference result includes a forward inference result of each training data included in the first training process, the first intermediate result includes an intermediate result corresponding to the forward inference result of each training data, the first feedback result includes a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data is obtained based on the first model parameter.
[0012] In a possible implementation, at least one of the following is determined according to at least one of the capability of the sending device, the capability of the receiving device, and / or the channel condition: the number of training data included in the first training process; or, the number of sub-processes included in the first training process; or, the number of training data included in each sub-process. By implementing the possible implementation, the adaptability between the training process of the neural network model and the communication device is improved, and the training effect is improved.
[0013] In a possible implementation, the sending device updates the first model parameter to a third model parameter according to a gradient corresponding to a second training process; the second training process is any one of the at least one training process except the first training process, the gradient of the second training process is obtained by performing backward gradient calculation according to a second feedback result, a second forward inference result, and a second intermediate result, the second forward inference result is obtained by performing forward inference on training data included in the second training process based on the first model parameter, the second intermediate result is generated when performing forward inference on the training data included in the first training process, and the second feedback result is a feedback result for the second forward inference result; further, the sending device updates the model parameter of the first neural network model to a fourth model parameter according to the second model parameter and the third model parameter. By implementing the possible implementation, the sending device can perform parallel updates on the model parameter of the first neural network model through multiple training processes in parallel, and finally update the model parameter of the first neural network model based on the model parameters obtained through the multiple training processes, which is beneficial to improving the training speed of the first neural network model.
[0014] In a possible implementation, the number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of a capability of the sending device, a capability of the receiving device, and / or a channel condition.
[0015] In a possible implementation, the capability of the sending device includes one or more of a calculation speed of the sending device, a size of a cache space of the sending device, a forward inference time and / or a backward gradient calculation time of the sending device for the reference model; the capability of the receiving device includes one or more of a calculation speed of the receiving device, a size of a cache space of the receiving device, a forward inference time and / or a backward gradient calculation time of the receiving device for the reference model; and the channel condition includes one or more of a wireless resource, a channel quality, a communication rate, and / or a communication delay for the sending device to communicate with the receiving device.
[0016] In a possible implementation, the sending device receives capability information from the receiving device, and the capability information is used to indicate the capability of the receiving device.
[0017] In a possible implementation, different training processes of the first neural network model correspond to different parameter cache spaces. By implementing the possible implementation, the training processes can be distinguished by the parameter cache spaces, which is beneficial to improving the efficiency of the sending device in obtaining the intermediate results of the training processes.
[0018] In a possible implementation, different sub-processes in the first training process correspond to different parameter cache spaces. By implementing the possible implementation, each sub-process can be distinguished by the parameter cache space, which facilitates improving the efficiency of the sending end device in obtaining the intermediate results of each sub-process.
[0019] In a second aspect, the present application provides a neural network model training method. The method is applied to a receiving end device, or a module (such as a chip or a chip system, etc.) in the receiving end device. Taking the receiving end device as an example, the method comprises the following steps: the receiving end device receives a first forward inference result from a sending end device, the first forward inference result being obtained by a first neural network model based on first model parameters and by performing forward inference on training data included in a first training process, the first training process being any one of at least one training process corresponding to the first neural network model, the first neural network model being a model deployed in the sending end device; and the receiving end device sends a first feedback result to the sending end device based on the first forward inference result.
[0020] Based on the method described in the second aspect, after the first neural network model is deployed in the sending end device, the receiving end device receives the forward inference result through a channel of a communication system. It can be understood that the forward inference result will be affected by the transmission environment of the channel (i.e., carrying information of the real channel), and therefore the feedback result obtained based on the forward inference result can also be understood as carrying information of the real channel. In this case, the receiving end device sends the feedback result to the sending end device, which facilitates improving the degree of adaptation of the feedback result to the actual communication scenario, thereby facilitating optimizing the performance of the wireless communication system to which the first neural network model is applied. The beneficial effects of other implementations described in the second aspect can refer to the beneficial effects of the implementations described in the first aspect, which will not be described in detail hereinafter.
[0021] In a possible implementation, the first training process includes at least one sub-process, each sub-process includes at least one training data, the first forward inference result includes a forward inference result of each training data included in the first training process, the first intermediate result includes an intermediate result corresponding to the forward inference result of each training data, the first feedback result includes a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data is obtained based on the first model parameters.
[0022] In a possible implementation, at least one of the following is determined according to at least one of the capability of the sending end device, the capability of the receiving end device, and / or the channel condition: the number of training data included in the first training process; or, the number of sub-processes included in the first training process; or, the number of training data included in each sub-process.
[0023] In a possible implementation, the receiving end device receives a second forward inference result from the sending end device, the second forward inference result being obtained by performing forward inference on training data included in a second training process based on the first model parameters, the second training process being any one of the at least one training process other than the first training process; the receiving end device performs backward gradient calculation based on the second forward inference result to obtain a second feedback result; and sends the second feedback result to the sending end device, the second feedback result being used to update the model parameters of the first neural network model in combination with the first feedback result.
[0024] In a possible implementation, the number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of a capability of the sending end device, a capability of the receiving end device, and / or a channel condition.
[0025] In a possible implementation, the capability of the sending end device includes one or more of a calculation speed of the sending end device, a size of a cache space of the sending end device, a forward inference time of the sending end device for the reference model, and / or a backward gradient calculation time of the sending end device; the capability of the receiving end device includes one or more of a calculation speed of the receiving end device, a size of a cache space of the receiving end device, a forward inference time of the receiving end device for the reference model, and / or a backward gradient calculation time of the receiving end device; and the channel condition includes one or more of a wireless resource used by the sending end device to communicate with the receiving end device, a channel quality, a communication rate, and / or a communication latency.
[0026] In a possible implementation, the receiving end device is deployed with a second neural network model, the receiving end device updates a fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result, and updates the fifth model parameter of the second neural network model to a seventh model parameter based on the second forward inference result; and further, obtains an eighth model parameter based on the sixth model parameter and the seventh model parameter. By implementing this possible implementation, the receiving end device can perform parallel update on the model parameters of the second neural network model based on the forward inference results of multiple training processes, and finally update the model parameters of the second neural network model based on the model parameters obtained by the multiple training processes, which is beneficial to improving the training speed of the second neural network model.
[0027] In a possible implementation, the receiving end device is deployed with a second neural network model, and the receiving end device updates a fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result.
[0028] In a third aspect, the present application provides a communication device, which can be a sending device, a device in the sending device, or a device that can be used in conjunction with the sending device. The communication device can also be a chip system. The communication device can execute the method of the first aspect. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the above functions. The units or modules can be software and / or hardware. The operations and advantages of the communication device can be found in the method of the first aspect and the advantages.
[0029] In a fourth aspect, the present application provides a communication device, which can be a receiving device, a device in the receiving device, or a device that can be used in conjunction with the receiving device. The communication device can also be a chip system. The communication device can execute the method of the second aspect. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the above functions. The units or modules can be software and / or hardware. The operations and advantages of the communication device can be found in the method of the second aspect and the advantages.
[0030] In a fifth aspect, the present application provides a communication device, which includes a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices outside the communication device and transmit the signals to the processor or send signals from the processor to other communication devices outside the communication device. The processor is used to implement the method of the first aspect or the method of the second aspect through logic circuit or execution of code instructions.
[0031] In a sixth aspect, the present application provides a computer-readable storage medium, which stores a computer program or instructions. When the computer program or instructions are executed by a communication device, the method of the first aspect or the method of the second aspect is implemented.
[0032] In a seventh aspect, the present application provides a computer program product including instructions, which, when read and executed by a communication device, cause the communication device to execute the method of the first aspect or the method of the second aspect.
[0033] In an eighth aspect, the present application provides a communication system, which includes a communication device for executing the method of the first aspect and a communication device for executing the method of the second aspect. BRIEF DESCRIPTION OF DRAWINGS
[0034] FIG. 1a is a schematic diagram of an architecture of a communication system according to an embodiment of the present application;
[0035] FIG. 1b is another schematic diagram of a wireless communication system suitable for use with embodiments of the present application;
[0036] FIG. 2 is a schematic diagram of a wireless communication system based on neural network transmitter and receiver according to an embodiment of the present application;
[0037] FIG. 3 is a schematic diagram of several neural network models optimizing different modules of a transceiver according to an embodiment of the present application;
[0038] FIG. 4 is a schematic diagram of a training procedure of an intelligent air interface according to an embodiment of the present application;
[0039] FIG. 5 is a schematic diagram of a neural network model training method according to an embodiment of the present application;
[0040] FIG. 6 is a schematic diagram of another neural network model training method according to an embodiment of the present application;
[0041] FIG. 7 is a schematic diagram of yet another neural network model training method according to an embodiment of the present application;
[0042] FIG. 8 is a schematic diagram of a structure of a communication apparatus according to an embodiment of the present application;
[0043] FIG. 9 is a schematic diagram of another structure of a communication apparatus according to an embodiment of the present application. DETAILED DESCRIPTION
[0044] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings.
[0045] The terms "first" and "second" and the like in the description, claims and drawings of the present application are intended to distinguish different objects, rather than to describe a particular sequence. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of operations or units is not limited to the listed operations or units, but can optionally include other operations or units not listed or can optionally include other operations or units inherent to the process, method, product or device.
[0046] Reference to“an embodiment” herein means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase“in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily all directed to the same embodiment, nor are they necessarily all mutually exclusive or alternative embodiments. It is expressly understood that any of the embodiments described herein can be incorporated into any other embodiments even though it can not be explicitly described within the other embodiments. It is expressly understood that combinations of the above-described embodiments can be obvious to those skilled in the art and the present application can include those combinations.
[0047] To facilitate a specific understanding of the embodiments of the present application, the system architecture related to the embodiments of the present application is introduced first as follows.
[0048] FIG. 1a is a schematic diagram of an architecture of a communication system 1000 to which embodiments of the present application are applied. As shown in FIG. 1a, the communication system includes a radio access network (RAN) 100 and a core network 200. Optionally, the communication system 1000 can also include an Internet 300. The RAN 100 includes at least one RAN node (e.g., 110a and 110b in FIG. 1a, collectively referred to as 110) and at least one terminal (e.g., 120a-120j in FIG. 1a, collectively referred to as 120). The RAN 100 can also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in FIG. 1a). The terminals 120 are connected to the RAN nodes 110 in a wireless manner, and the RAN nodes 110 are connected to the core network 200 in a wireless or wired manner. The core network devices in the core network 200 and the RAN nodes 110 in the RAN 100 can be independent and different physical devices, or can be the same physical device integrating the logical functions of the core network devices and the logical functions of the RAN nodes. Terminals and terminals, and RAN nodes and RAN nodes can be connected to each other in a wired or wireless manner.
[0049] The RAN 100 can be an evolved universal terrestrial radio access (E-UTRA) system, a new radio (NR) system, and a future wireless access system defined in the 3rd generation partnership project (3GPP). The RAN 100 can also include two or more different wireless access systems described above. The RAN 100 can also be an open RAN (O-RAN).
[0050] A RAN node, also referred to as a radio access network device, a RAN entity, or an access node, can hereinafter also be referred to as a network device, to help a terminal access a communication system through wireless means. In one application scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next generation NodeB (gNB) in a 5th generation (5G) mobile communication system, a next generation NodeB in a 6th generation (6G) mobile communication system, or a base station in a future mobile communication system. The RAN node can be a macro base station (e.g., 110a in FIG. 1a), a micro base station or an indoor station (e.g., 110b in FIG. 1a), or a relay node or a donor node.
[0051] In another application scenario, a terminal can access a communication system through wireless means by cooperation of multiple RAN nodes, each of which implements part of functions of a base station. For example, the RAN node can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU here implements functions of a radio resource control protocol and a packet data convergence protocol (PDCP) of a base station, and can also implement functions of a service data adaptation protocol (SDAP). The DU implements functions of a radio link control layer and a medium access control (MAC) layer of a base station, and can also implement part of functions or all functions of a physical layer. For details of the protocol layers, refer to relevant technical specifications of 3GPP. The RU can be configured to implement functions of transceiving radio frequency signals. The CU and the DU can be two independent RAN nodes, or can be integrated in the same RAN node, such as a baseband unit (BBU). The RU can be included in a radio frequency device, such as a remote radio unit (RRU) or an active antenna unit (AAU). The CU can be further divided into two types of RAN nodes, CU-control plane and CU-user plane.
[0052] The RAN node can support one or more types of fronthaul interfaces, different fronthaul interfaces respectively corresponding to DUs and RUs having different functions. If the fronthaul interface between the DU and the RU is a common public radio interface (CPRI), the DU is configured to implement one or more of baseband functions, and the RU is configured to implement one or more of radio frequency functions. If the fronthaul interface between the DU and the RU is an enhanced common public radio interface (eCPRI), compared with the CPRI, part of the baseband functions of the downlink and / or uplink are moved from the DU to the RU for implementation. The splitting manner between the DU and the RU is different, corresponding to different categories (Cat) of eCPRI, such as eCPRI Cat A, B, C, D, E, and F.
[0053] Taking eCPRI Cat A as an example, for downlink transmission, layer mapping is split, the DU is configured to implement one or more of the functions before layer mapping (i.e., one or more of encoding, rate matching, scrambling, modulation, and layer mapping), and other functions after layer mapping (e.g., one or more of RE mapping, digital beamforming (BF), or inverse fast Fourier transform (IFFT) / adding a cyclic prefix (CP)) are moved to the RU for implementation. For uplink transmission, de-RE mapping is split, the DU is configured to implement one or more of the functions before de-mapping (i.e., one or more of decoding, de-rate matching, de-scrambling, de-modulation, inverse discrete Fourier transform (IDFT), channel equalization, and de-RE mapping), and other functions after de-mapping (e.g., one or more of digital BF or fast Fourier transform (FFT) / CP removal) are moved to the RU for implementation. It can be understood that the function description of the DU and the RU corresponding to various types of eCPRI can refer to the eCPRI protocol, and will not be described here.
[0054] In a possible design, the processing unit in the BBU for implementing baseband functions is referred to as a base band high (BBH) unit, and the processing unit in the RRU / AAU / RRH for implementing baseband functions is referred to as a base band low (BBL) unit.
[0055] The RAN node can have different names in different systems, for example, in an O-RAN system, the CU can be referred to as an open CU (O-CU), the DU can be referred to as an open DU (O-DU), and the RU can be referred to as an open RU (O-RU). The RAN node in the embodiments of the present application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module. For example, the RAN node can be a server loaded with a corresponding software module. The embodiments of the present application do not limit the specific technology and specific device form of the RAN node. For ease of description, a base station is described as an example of the RAN node in the following.
[0056] A terminal is a device with wireless transceiving function, which can send a signal to a base station or receive a signal from a base station. The terminal can also be referred to as a terminal device, user equipment (UE), mobile station, mobile terminal, etc. The terminal can be widely applied in various scenarios, such as device-to-device (D2D) communication, vehicle to everything (V2X) communication, machine-type communication (MTC), internet of things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, remote medical treatment, smart power grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal can be a mobile phone, tablet computer, computer with wireless transceiving function, wearable device, vehicle, airplane, ship, robot, mechanical arm, smart home device, etc. The embodiments of the present application do not limit the specific technology and specific device form of the terminal.
[0057] The base station and the terminal can be fixed in position or movable. The base station and the terminal can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on water surface; can also be deployed on an airplane, balloon and artificial satellite. The embodiments of the present application do not limit the application scenarios of the base station and the terminal.
[0058] The roles of the base station and the terminal can be relative. For example, the helicopter or the drone 120i in FIG. 1a can be configured as a mobile base station, and for the terminal 120j that accesses the wireless access network 100 through the 120i, the terminal 120i is a base station; but for the base station 110a, the 120i is a terminal, that is, the 110a and the 120i communicate through a wireless air interface protocol. Of course, the 110a and the 120i can also communicate through a base station-to-base station interface protocol, and in this case, the 120i is also a base station relative to the 110a. Therefore, the base station and the terminal can be collectively referred to as a communication device, and the 110a and the 110b in FIG. 1a can be referred to as a communication device with a base station function, and the 120a-120j in FIG. 1a can be referred to as a communication device with a terminal function.
[0059] The base station and the terminal, the base station and the base station, and the terminal and the terminal can communicate through a licensed spectrum, or through an unlicensed spectrum, or through both the licensed spectrum and the unlicensed spectrum; can communicate through a spectrum below 6 gigahertz (GHz), or through a spectrum above 6 GHz, or through both the spectrum below 6 GHz and the spectrum above 6 GHz. The embodiments of the present application do not limit the spectrum resources used for wireless communication.
[0060] In the embodiments of the present application, the functions of the base station can also be performed by a module (such as a chip) in the base station, or by a control subsystem containing base station functions. The control subsystem containing base station functions herein can be a control center in the above-mentioned application scenarios such as smart grid, industrial control, intelligent transportation, and smart city. The functions of the terminal can also be performed by a module (such as a chip or a modem) in the terminal, or by a device containing terminal functions.
[0061] Referring to FIG. 1b, FIG. 1b is another schematic diagram of a wireless communication system suitable for embodiments of the present application.
[0062] As shown in FIG. 1b, the wireless communication system includes a RAN intelligent controller (RIC). As an example, the RIC can be used to implement AI-related functions. As an example, the RIC includes a near-real time RIC (near-RT RIC) and a non-real time RIC (Non-RT RIC). Among them, the non-real time RIC mainly processes non-real-time information, such as data that is not sensitive to delay, and the delay of the data can be seconds. The real-time RIC mainly processes near-real-time information, such as data that is relatively sensitive to delay, and the delay of the data is tens of milliseconds.
[0063] The near real-time RIC is used for model training and inference. For example, the AI model is trained and inference is performed using the AI model. The near real-time RIC can obtain network side and / or terminal side information from the RAN node (e.g., CU, CU-CP, CU-UP, DU, and / or RU) and / or the terminal. The information can be used as training data or inference data. Optionally, the near real-time RIC can deliver the inference result to the RAN node and / or the terminal. Optionally, the inference result can be exchanged between the CU and the DU, and / or between the DU and the RU. For example, the near real-time RIC delivers the inference result to the DU, and the DU sends it to the RU.
[0064] The non-real-time RIC is also used for model training and inference. For example, the AI model is trained and inference is performed using the model. The non-real-time RIC can obtain network side and / or terminal side information from the RAN node (e.g., CU, CU-CP, CU-UP, DU, and / or RU) and / or the terminal. The information can be used as training data or inference data, and the inference result can be delivered to the RAN node and / or the terminal. Optionally, the inference result can be exchanged between the CU and the DU, and / or between the DU and the RU. For example, the non-real-time RIC delivers the inference result to the DU, and the DU sends it to the RU.
[0065] The near real-time RIC and the non-real-time RIC can also be separately set as a network element. Optionally, the near real-time RIC and the non-real-time RIC can also be part of other devices. For example, the near real-time RIC is set in the RAN node (e.g., CU, DU), and the non-real-time RIC is set in the OAM, the cloud server, the core network device, or other network devices.
[0066] In actual application, the wireless communication system can include multiple network devices (also referred to as access network devices) at the same time, and can also include multiple terminal devices at the same time, without limitation. One network device can serve one or more terminal devices at the same time. One terminal device can access one or more network devices at the same time. The number of terminal devices and network devices included in the wireless communication system is not limited in the embodiments of the present application.
[0067] To facilitate understanding of the embodiments of the present application, the following points are explained:
[0068] (1) In embodiments of the present application, "sending" and "receiving" represent the direction of signal transmission. For example, "sending information to XX" can be understood as the destination of the information being XX, which can include direct transmission over the air interface, or indirect transmission over the air interface by other units or modules. "Receiving information from YY" can be understood as the source of the information being YY, which can include direct reception from YY over the air interface, or indirect reception from YY over the air interface by other units or modules. "Sending" can also be understood as the "output" of the chip interface, and "receiving" can also be understood as the "input" of the chip interface.
[0069] In other words, sending and receiving can be between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules or hardware modules within a device via a bus, wire or interface.
[0070] It can be understood that the information may be processed as necessary between the source and destination of the information transmission, such as encoding, modulation, etc., but the destination can understand the valid information from the source. Similar expressions in this application can be similarly understood and will not be repeated.
[0071] (2) In embodiments of the present application, "indication" can include direct indication and indirect indication, and can also include explicit indication and implicit indication. The information indicated by a certain information (indication information as described below) is referred to as the information to be indicated. In the implementation process, there are many ways to indicate the information to be indicated, such as but not limited to, directly indicating the information to be indicated, such as the information to be indicated itself or an index of the information to be indicated. It can also be indirectly indicated by indicating other information, where the other information and the information to be indicated have an association relationship. It can also only indicate a part of the information to be indicated, and the other part of the information to be indicated is known or agreed in advance. For example, the arrangement order of each information can be used to indicate a specific information, thereby reducing the indication overhead to a certain extent. The present application does not limit the specific manner of indication. It can be understood that for the sender of the indication information, the indication information can be used to indicate the information to be indicated, and for the receiver of the indication information, the indication information can be used to determine the information to be indicated.
[0072] In order to facilitate the understanding of the related content of the embodiments of the present application, the following will explain some of the terms involved in the embodiments of the present application. This part is only for easy understanding and cannot be regarded as a disclosure or specific limitation of the technical solutions of the present application.
[0073] 1. Neural network
[0074] The neural network can be composed of neural units, which can refer to operation units taking x s as input, and the output of the operation unit can be shown in equation (1).
[0075] where s = 1, 2, … n, n is a natural number greater than 1, W s is the weight of x s , b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce non-linear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of the activation function can be used as the input of the next layer of convolution layer. The activation function can be a sigmoid function. The neural network is a network formed by connecting many single neural units as described above, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, and the local receptive field can be a region composed of several neural units.
[0076] It should be noted that the neural network model mentioned in the present application can be one or more of the network model of the neural network, the network model of the deep neural network (DNN), the network model of the convolutional neural network (CNN), the network model of the recurrent neural network (RNN), the network model of the generative adversarial network, or a combination of the above or a variant thereof, which is not limited in the present application.
[0077] 2. Intelligent air interface technology
[0078] The intelligent air interface technology can be understood as a technology that applies a neural network model in a wireless communication system to optimize the performance of the wireless communication system. Please refer to FIG. 2, which is a wireless communication system based on a neural network transmitter and receiver (hereinafter referred to as transceiver) provided by the present application. In the system shown in FIG. 2, the transceiver applying the neural network model can optimize the performance of the transceiver signal through data-driven training.
[0079] It can be understood that the performance of the transceiver is optimized by applying the neural network model, that is, the channel coding, modulation, waveform, pilot and the like used for signal processing in the transceiver are optimized by the neural network model. For example, refer to FIG. 3, which is a schematic diagram of several neural network models optimizing different modules in the transceiver provided by the embodiments of the present application. In FIG. 3, 3a is a schematic diagram of optimizing the modulation module and the waveform by the neural network model; 3b is a schematic diagram of optimizing the coding module and the modulation module by the neural network model; and 3c is a schematic diagram of optimizing the reference signal by the neural network model.
[0080] In FIG. 3a, after the to-be-transmitted bits are subjected to forward error correction (FEC) coding to obtain coded bits, the coded bits are modulated by a modulation neural network model (i.e., the NN-Mod module in FIG. 3a), mapped to a physical resource, subjected to inverse fast fourier transform (IFFT) to a time domain signal, and then sent after being processed by a time signal neural network model (i.e., the T-NN module in FIG. 3a). The received signal is first processed by the time signal neural network model, then subjected to fast fourier transform (FFT) to a frequency domain signal, and then sent to the FEC decoding after being demodulated by a demodulation neural network model (i.e., the NN-DeMod module in FIG. 3a).
[0081] In FIG. 3b, after the to-be-transmitted bits are processed by a coding and modulation neural network model (i.e., the NN-CoMo module in FIG. 3b), modulation symbols are obtained, and then sent after being processed by an IFFT module and the like. The signal processed by the FFT module and the like at the receiving end is directly sent to a demodulation and decoding neural network model (i.e., the NN-DeCoMo module in FIG. 3b) for processing to obtain estimated transmission bits.
[0082] In FIG. 3c, the reference signal is generated at the sending end based on a reference signal neural network model (i.e., the NN-RS module in FIG. 3c), and the received signal is processed at the receiving end based on the reference signal and a corresponding channel estimation neural network model (i.e., the NN-CE module in FIG. 3c) to obtain an estimated channel.
[0083] 3. Training of intelligent air interface
[0084] The training of the intelligent air interface can be understood as the training of a neural network model applied in a wireless communication system. Referring to FIG. 4, which is a schematic diagram of a training process of an intelligent air interface provided by the present application, the sending neural network model performs forward inference on the training data and sends the forward inference result to the receiving neural network model; the receiving neural network model performs forward inference and backward gradient calculation according to the forward inference result to obtain a feedback result; the receiving neural network model sends the feedback result to the sending neural network model; and the sending neural network model performs backward gradient calculation according to the feedback result and updates the model parameters of the sending neural network model according to the gradient obtained by the backward gradient calculation. For example, the update of the sending neural network model in the tth round is as shown in formula (2).
[0085] wherein w t+1 is the parameter in the t+1th round, i.e., the parameter after the update in the tth round; w t is the parameter in the tth round; z k is the output of the sending neural network model corresponding to the kth training sample, l k is the loss function corresponding to the tth round, K is the number of samples in the current round of training; η t is the learning rate; is the gradient of the loss function with respect to the output of the sending neural network model.
[0086] That is, in any round of training, the sending neural network model first performs forward inference to obtain a forward inference result and an intermediate result; the intermediate inference result is cached; then the loss function is calculated from the last layer, and the gradient is calculated layer by layer according to the chain rule, and the gradient calculation process needs to use the result of the forward inference of each layer. The gradients calculated from multiple training data are added and used for the model parameter update of the sending neural network model.
[0087] Generally, the training process shown in FIG. 4 is performed offline, i.e., the neural network model is trained in a training system using a large amount of simulation data or offline data collected from the air interface, and after the training is completed, the neural network model is deployed in the device. However, the difference between the way of interacting information between the sending neural network model and the receiving neural network model in the training process and the way of interacting information between the sending neural network model and the receiving neural network model in the actual application will affect the performance of the wireless communication system applying the neural network model.
[0088] The present application provides a neural network model training method, which is beneficial to improve the adaptability of the neural network model to the actual application scenario, thereby improving the performance of the wireless communication system applying the neural network model. The neural network model training method and the communication device provided by the present application are further described below with reference to the accompanying drawings:
[0089] Please refer to FIG. 5, which is a flow diagram of a neural network model training method according to an embodiment of the present application. As shown in FIG. 5, the neural network model training method comprises the following S501-S505. The method execution subject shown in FIG. 5 can be a sending end device and a receiving end device, or the method execution subject shown in FIG. 5 can be a module in the sending end device and a module in the receiving end device, or the method execution subject shown in FIG. 5 can be a chip in the sending end device and a chip in the receiving end device. FIG. 5 takes the sending end device and the receiving end device as the method execution subject for example. It should be noted that the sending end device (or the receiving end device) mentioned in the present application can be the network device shown in FIG. 1a, or the terminal device shown in FIG. 1a, which is not limited specifically in the present application. Wherein:
[0090] S501, the sending end device sends a first forward inference result to the receiving end device, the first forward inference result is obtained by the first neural network model based on the first model parameter for forward inference on the training data included in the first training process, the first training process is any one of at least one training process corresponding to the first neural network model, and the first neural network model is a model deployed in the sending end device.
[0091] It needs to be understood that the neural network model deployed in the sending end device in the present application is referred to as a first neural network model, which corresponds to at least one training process. The sending end device can update the model parameters of the first neural network model based on the training data included in (or understood to correspond to) each training process. In the specific embodiments of S501-S505, only an example of updating the model parameters of the first neural network model based on the training data included in a certain training process (referred to as the first training process in the present application) in the at least one training process is described. The first model parameter is the initial model parameter in the model parameter updating process based on the training data of the first training process. Wherein, the training data can be understood as data used for neural network model training; for example, the training data can be training data with labels (or referred to as annotations), which is used for model parameter updating of the neural network model (including the first neural network model or the second neural network model mentioned in the present application). When the training data has labels, the labels are related to the task of the neural network model, and the labels can be understood as the result expected to be obtained by the neural network model after processing the training data. For example, if the neural network model is used for data recovery (i.e., the task of the neural network model is a data recovery task), the label of the training data is the true value of the training data (or understood as the data to be recovered); if the neural network model is used for data classification (i.e., the task of the neural network model is a data classification task), the label of the training data is the true category of the training data (or understood as the data to be classified). The specific form of the training data is not limited in the present application.
[0092] That is, the sending end device obtains the training data included in the first training process, and obtains the first forward inference result and the first intermediate result by performing forward inference on the training data through the first neural network model. Wherein, the first intermediate result is generated when the training data included in the first training process is forward inferred, that is, the first intermediate result can be understood as the general term of the information generated by the first neural network model in the process of generating the first forward inference result. Further, the sending end device sends the first forward inference result to the receiving end device.
[0093] It should be noted that the forward inference result mentioned in the present application is a result to be sent to a receiving end device after being calculated (or understood as being inferred) by the first neural network model; or understood as a calculation result obtained by the last layer of the neural network in the first neural network model in the process of calculating the forward inference result. The forward inference result mentioned in the present application can also be referred to as a calculation result or an inference result in other schemes, and the name thereof is not limited in the present application. The intermediate result mentioned in the present application is information generated in the process of calculating the forward inference result by the first neural network model based on training data, or is also understood as a calculation result obtained by other layers of the neural network in the first neural network model except the last layer of the neural network in the process of calculating the forward inference result.
[0094] In a possible implementation, after the sending end device generates the first intermediate result, the sending end device caches the first intermediate result; that is, stores the first intermediate result in the parameter cache space corresponding to the first training process.
[0095] S502, the sending end device receives the first feedback result for the first forward inference result from the receiving end device.
[0096] That is, after the receiving end device receives the first forward inference result from the sending end device, the receiving end device obtains the first feedback result by calculating (for example, at least one of forward inference, loss function calculation or reverse gradient calculation) the first forward inference result through the second neural network model deployed in the receiving end device, and feeds back the first feedback result to the sending end device. The first feedback result can be a loss result of the inference calculation of the neural network model of the receiving end device (that is, the second neural network model mentioned in the present application), or a gradient obtained by the reverse gradient calculation of the second neural network model, which is not limited in the present application.
[0097] In a possible implementation, the first training process includes at least one sub-process, and each sub-process includes at least one training data. In this case, the first forward inference result includes a forward inference result of each training data included in the first training process, the first intermediate result includes an intermediate result corresponding to the forward inference result of each training data, the first feedback result includes a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data is obtained based on the first model parameter.
[0098] For example, the first training process includes a sub-process 1 and a sub-process 2, the sub-process 1 includes training data 1 and training data 2, and the sub-process 2 includes training data 3 and training data 4. The intermediate result, the forward inference result and the feedback result corresponding to each training data are shown in Table 1.
[0099] Table 1
[0100] In this case, the first forward inference result includes forward inference result 1 to forward inference result 4, the first intermediate result includes intermediate result 1 to intermediate result 4, and the first feedback result includes feedback result 1 to feedback result 4.
[0101] In a possible implementation, at least one of the following is determined according to at least one of a capability of the sending device, a capability of the receiving device, and / or a channel condition: a quantity of training data included in the first training process; or, a quantity of sub-processes included in the first training process; or, a quantity of training data included in each sub-process. The capability of the sending device includes one or more of a computing speed of the sending device, a size of a cache space of the sending device, a forward inference time of the sending device for the reference model, and / or a backward gradient calculation time of the sending device. The capability of the receiving device includes one or more of a computing speed of the receiving device, a size of a cache space of the receiving device, a forward inference time of the receiving device for the reference model, and / or a backward gradient calculation time of the receiving device. The channel condition includes one or more of a wireless resource, a channel quality, a communication rate, and / or a communication latency for the sending device to communicate with the receiving device. It should be noted that the reference model mentioned in the present application is a model used to measure the computing time (e.g., the forward inference time and / or the backward gradient calculation time) of the sending device, and the name of the reference model is not limited in the present application, and the specific model structure of the reference model is also not limited in the present application.
[0102] That is, a certain device (e.g., the sending device, the receiving device, or a network device) obtains at least one of the capability of the sending device, the capability of the receiving device, and / or the channel condition, and then determines the quantity of training data included in the first training process, or the quantity of sub-processes included in the first training process, or the quantity of training data included in each sub-process of the first training process according to at least one of the capability of the sending device, the capability of the receiving device, and / or the channel condition. For ease of understanding, the quantity of training data included in the first training process is exemplarily described below according to the capability of the sending device and the capability of the receiving device, which should not be regarded as a specific limitation of the present application.
[0103] In example 1, the sending device receives the capability of the receiving device, and determines the quantity of training data included in the first training process according to the capability of the sending device and the capability of the receiving device. Further, the sending device sends, to the receiving device, indication information indicating the quantity of training data included in the first training process.
[0104] For example, the sending device is a network device N, and the receiving device is a terminal device B. In this case, the network device N acquires the capability of the terminal device B, and determines the number of training data included in the first training process according to the capability of the network device N and the capability of the terminal device B. Further, the network device N sends indication information to the terminal device B, where the indication information is used to indicate the number of training data included in the first training process.
[0105] In example 2, the receiving device receives the capability of the sending device, and determines the number of training data included in the first training process according to the capability of the sending device and the capability of the receiving device. Further, the receiving device sends indication information to the sending device, where the indication information is used to indicate the number of training data included in the first training process.
[0106] For example, the sending device is a terminal device A, and the receiving device is a network device N. In this case, the network device N acquires the capability of the terminal device A, and determines the number of training data included in the first training process according to the capability of the terminal device A and the capability of the network device N. Further, the network device N sends indication information to the terminal device A, where the indication information is used to indicate the number of training data included in the first training process.
[0107] In example 3, a device having a communication connection with the sending device and the receiving device is configured to acquire the capability of the sending device and the capability of the receiving device, and determine the number of training data included in the first training process according to the capability of the sending device and the capability of the receiving device. Further, the device sends indication information to the sending device and the receiving device, where the indication information is used to indicate the number of training data included in the first training process.
[0108] For example, the sending device is a terminal device A, and the receiving device is a terminal device B. In this case, a network device N serving the terminal device A and the terminal device B acquires the capability of the terminal device A and the capability of the terminal device B, and determines the number of training data included in the first training process according to the capability of the terminal device A and the capability of the terminal device B. Further, the network device N sends indication information to the terminal device A and the terminal device B respectively, where the indication information is used to indicate the number of training data included in the first training process.
[0109] S503, the sending device acquires a first intermediate result, where the first intermediate result is generated when the training data included in the first training process is subjected to forward inference.
[0110] It can be understood that if the first intermediate result is cached after the sending end device generates the first intermediate result in S501, the sending end device can obtain the first intermediate result from the parameter cache space corresponding to the first training process. If the first intermediate result is not cached after the sending end device generates the first intermediate result in S501, the sending end device can perform forward inference again according to the training data included in the first training process to obtain the first intermediate result.
[0111] In a possible implementation, in order to improve the efficiency of the sending end device in obtaining the intermediate result corresponding to each forward inference result, the intermediate results of different training processes can be distinguished according to the parameter cache space. That is, different training processes corresponding to the first neural network model correspond to different parameter cache spaces, that is, the intermediate results of the training data belonging to the same sub-process are stored in the same parameter cache space, and the intermediate results of the training data belonging to different sub-processes are stored in different parameter cache spaces.
[0112] S504, the sending end device calculates the gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result.
[0113] It can be understood that the first forward inference result generated by the sending end device does not carry the information of the real channel; but the first forward inference result received by the receiving end device is transmitted through the real channel, that is, the first forward inference result received by the receiving end device will be affected by the transmission environment of the real channel in the transmission process (that is, carrying the information of the real channel), so the first feedback result obtained by the receiving end device based on such first forward inference result can also be understood as carrying the information of the real channel. Further, after the receiving end device sends the first feedback result to the sending end device, the sending end device calculates the gradient of the first training process according to the first feedback result (containing the information of the real channel), the first forward inference result (not containing the information of the real channel) and the first intermediate result.
[0114] In a possible implementation, if the first intermediate result is cached after the sending end device generates the first intermediate result in S501, after the sending end device performs S504, in order to save the cache resources of the sending end device, the sending end device can clear the first intermediate result from the parameter cache space corresponding to the first training process.
[0115] S505, the sending end device updates the first model parameter to the second model parameter according to the gradient corresponding to the first training process.
[0116] After the sending end device obtains the gradient corresponding to the first training process, the sending end device updates the model parameter of the first neural network model to the second model parameter. It can be understood that the first model parameter is the parameter of the first neural network model before the sending end device performs the first training process, and the second model parameter is the parameter of the first neural network model after the sending end device performs the first training process.
[0117] It should be understood that the first neural network model corresponds to at least one training process, and the sending end device obtains the gradient corresponding to each training process according to the manner of obtaining the gradient corresponding to the first training process (i.e., S501-S504 described above), and updates the model parameter of the first neural network model according to the gradient of all training processes corresponding to the first neural network model.
[0118] The specific manner in which the sending end device updates the model parameter of the first neural network model according to the gradient of all training processes corresponding to the first neural network model will be described below.
[0119] Method one: iterative updating manner of each training process.
[0120] Please refer to FIG. 6, the first neural network model corresponds to N training processes, where N is a positive integer greater than 1. The first training process described in FIG. 5 is one of the N training processes, and the third training process is any one of the N training processes except the first training process. In FIG. 6, the third training process is taken as an example to illustrate the next training process of the first training process, which should not be regarded as a specific limitation of the present application.
[0121] That is, the sending end device performs forward inference on the training data of the first training process based on the first neural network model corresponding to W t (i.e., the first model parameter), obtains the first forward inference result, and sends the first forward inference result to the receiving end device. Further, the sending end device receives the first feedback result from the receiving end device for the first forward inference result, and calculates the gradient of the first training process based on the first feedback result. Further, the sending end device updates W t to W t+1 (i.e., the second model parameter) according to the gradient corresponding to the first training process. Then, the sending end device performs forward inference on the training data of the third training process based on W t+1corresponding to the second model parameter, performs forward inference on the training data of the third training process to obtain a third forward inference result, and sends the third forward inference result to the receiving end device. Further, the sending end device receives a third feedback result from the receiving end device for the third forward inference result, and calculates the gradient of the third training process based on the third feedback result. Further, the sending end device updates W t+1 corresponding to the second model parameter, is W t+2 .
[0122] Method two: the mixed updating (including parallel updating and iterative updating) of each training process.
[0123] Please refer to FIG. 7, the first neural network model corresponds to N training processes, where N is a positive integer greater than 1. The first training process described in FIG. 5 is one of the N training processes, and the second training process is any one of the N training processes except the first training process. In FIG. 7, the first training process and the second training process are taken as examples of the training processes of the neural network model based on the same initial model parameter to exemplarily illustrate method two.
[0124] That is, the sending end device performs forward inference on the training data of the first training process based on the first neural network model corresponding to W t corresponding to the first model parameter, obtains a first forward inference result, and sends the first forward inference result to the receiving end device. Then, the sending end device performs forward inference on the training data of the second training process based on the first neural network model corresponding to W t corresponding to the first model parameter, obtains a second forward inference result, and sends the second forward inference result to the receiving end device. Further, the sending end device receives a first feedback result from the receiving end device for the first forward inference result, and calculates the gradient of the first training process based on the first feedback result, the first forward inference result and the first intermediate result (the intermediate result generated when performing forward inference on the training data included in the first training process). Further, the sending end device updates W t corresponding to the first model parameter, to W t+1 corresponding to the second model parameter. The sending end device receives a second feedback result from the receiving end device for the second forward inference result, and calculates the gradient of the second training process based on the second feedback result, the second forward inference result and the second intermediate result (the intermediate result generated when performing forward inference on the training data included in the second training process). Further, the sending end device updates W t corresponding to the first model parameter, to W t+1' corresponding to the third model parameter. Further, the sending end device calculates the gradient of the second training process based on the second model parameter (i.e.t+1 ) and the third model parameter (i.e. W) t+1' The model parameters of the first neural network model are obtained (or understood as updated) as the fourth model parameters.
[0125] It should be noted that the second model parameter (i.e., W) mentioned in this application is based on the second model parameter. t+1 ) and the third model parameter (i.e. W) t+1' This yields the fourth model parameters, which can be interpreted in either of the following two ways:
[0126] ① The transmitting device fuses the second model parameters (i.e., W). t+1 ) and the third model parameter (i.e. W) t+1' This yields the fourth model parameter. For example, the fourth model parameter is the weighted average of the second and third model parameters.
[0127] ② The transmitting device iterates the model parameters of the first neural network model multiple times based on the training data from multiple training processes, using the second model parameters as the basis for iteration, to obtain the model parameters W after multiple iterations. Furthermore, the transmitting device iterates the model parameters of the first neural network model multiple times based on the training data from multiple training processes, using the third model parameters as the basis for iteration, to obtain the model parameters W' after multiple iterations. Finally, the model parameters W and W' are fused to obtain the fourth model parameters. For example, the transmitting device, after obtaining the second model parameters (i.e., W... t+1 ) and the third model parameter (i.e. W) t+1' After that, based on the training data of training process P1 among the N training processes (i.e., at least one training process corresponding to the first neural network model), the second model parameters (i.e., W) of the first neural network model are updated. t+1 ) represents the model parameters W t+2 Based on the training data of training process P2 out of N training processes, update the third model parameters (i.e., W) of the first neural network model. t+1' ) represents the model parameters W t+2' Furthermore, the transmitting device can fuse model parameters W. t+2 and model parameters W t+2' Thus, the fourth model parameters are obtained.
[0128] It can be seen that, by implementing the neural network model training method described in FIG. 5, after the first neural network model is deployed on the sending end device, the sending end device performs forward inference on the training data through the first neural network model, and sends the forward inference result to the receiving end device through the channel of the communication system. The forward inference result is affected by the transmission environment of the channel (i.e., carries information of the real channel), so the feedback result obtained based on such forward inference result can also be understood as carrying information of the real channel. When the sending end device updates the model parameters of the first neural network model based on the feedback result, it is beneficial to improve the adaptation of the neural network model to the communication system, thereby optimizing the performance of the wireless communication system that applies the neural network model.
[0129] It should be noted that, in the neural network model training method shown in FIG. 5, only the updating process of the neural network model deployed on the sending end device (i.e., the aforementioned first neural network model) is described, and the updating process of the neural network model deployed on the receiving end device (i.e., the second neural network model mentioned in the present application) is not limited. That is, in the updating process of the first neural network model, the receiving end device can update the model parameters of the second neural network model according to the forward inference results (including the aforementioned first forward inference result to the third forward inference result) from the sending end device; the receiving end device can also not update the model parameters of the second neural network model; the present application does not make specific limitation thereon. Moreover, in the case where the receiving end device updates the model parameters of the second neural network model according to the forward inference results from the sending end device, the present application does not make specific limitation on the way the receiving end device updates the model parameters of the second neural network model. For ease of understanding, the present application provides two examples of the receiving end device updating the model parameters of the second neural network model.
[0130] In one possible implementation, the receiving end device updates the model parameters of the second neural network model according to each forward inference result from the sending end device, and performs hybrid updating (including parallel updating and iterative updating) based on the forward inference results of multiple training processes. In the following examples, the model parameters of the second neural network model before updating are taken as the fifth model parameters as an example to exemplarily explain the updating process of the second neural network model.
[0131] For example, taking the example corresponding to FIG. 7 in the preceding text. After receiving the first forward inference result, the receiving end device calculates the first feedback result based on the second neural network model corresponding to the fifth model parameter, and updates the fifth model parameter of the second neural network model to the sixth model parameter according to the first forward inference result. After receiving the second forward inference result, the receiving end device calculates the second feedback result based on the second neural network model corresponding to the fifth model parameter, and updates the fifth model parameter of the second neural network model to the seventh model parameter according to the second forward inference result. Further, the receiving end device obtains (or understands to update) the model parameter of the second neural network model to the eighth model parameter based on the sixth model parameter and the seventh model parameter. Specifically, for the understanding of the receiving end device obtaining the eighth model parameter based on the sixth model parameter and the seventh model parameter, reference can be made to the understanding of the sending end device obtaining the fourth model parameter based on the second model parameter (i.e., W t+1 ) and the third model parameter (i.e., W t+1' ) in FIG. 7, which will not be repeated here.
[0132] In a possible implementation, the receiving end device updates the model parameter of the second neural network model according to the forward inference result from the sending end device each time, and iteratively updates based on the forward inference results of multiple training processes in turn.
[0133] For example, taking the example corresponding to FIG. 6 in the preceding text. In the first training process, after receiving the first forward inference result, the receiving end device calculates the first feedback result based on the second neural network model corresponding to the fifth model parameter, and updates the fifth model parameter of the second neural network model to the sixth model parameter according to the first forward inference result. In the third training process, after receiving the third forward inference result, the receiving end device calculates the third feedback result based on the second neural network model corresponding to the sixth model parameter, and updates the sixth model parameter of the second neural network model to the ninth model parameter according to the third forward inference result.
[0134] It should be further noted that, in the embodiments of the present application, one training process includes the following processes: the process that the first neural network model performs forward reasoning on a set of training data (i.e., the training data of the training process), the process that the feedback result corresponding to the set of training data is received, the process that the gradient is calculated according to the forward reasoning result, the intermediate result and the feedback result of the set of training data, and the process that the model parameter of the first neural network model is updated according to the gradient. In the embodiments of the present application, one sub-process includes the following processes: the process that the first neural network model performs forward reasoning on a set of training data (i.e., the training data of the sub-process), the process that the feedback result corresponding to the set of training data is received, and the process that the gradient is calculated according to the forward reasoning result, the intermediate result and the feedback result of the set of training data. The present application does not specifically limit the names of the training process and the sub-process.
[0135] For example, in an application scenario, different services of the sending device correspond to different neural network models, in which case, one service can be referred to as one training process, and the process of updating the model parameter of the neural network model of a certain service once can be referred to as one sub-process (i.e., the training process mentioned in the present application).
[0136] For another example, as shown in FIG. 7, the sending device regards the end of the fourth model parameter as the end of one training process, and regards the process of updating the first neural network model based on the feedback result each time as the end of one sub-process (i.e., the training process mentioned in the present application).
[0137] Please refer to FIG. 8, which shows a structural schematic diagram of a communication apparatus 800 according to an embodiment of the present application. The communication apparatus shown in FIG. 8 can be a sending device, or a device in the sending device, or a device that can be used in matching with the sending device. The communication apparatus shown in FIG. 8 can include a communication unit 801 and a processing unit 802. The communication apparatus shown in FIG. 8 can be a receiving device, or a device in the receiving device, or a device that can be used in matching with the receiving device. The communication apparatus shown in FIG. 8 can include a communication unit 801 and a processing unit 802. Specifically, the processing unit 802 is configured to process data, which can be data received by the communication unit 801, and the processed data can also be transmitted by the communication unit 801.
[0138] In an implementation, when the communication apparatus 800 is a sending device, a device in the sending device, or a device that can be used in matching with the sending device, the processing unit 802 is configured to:
[0139] The communication unit 801 is configured to send, to a receiving end device, a first forward inference result, the first forward inference result being obtained by performing forward inference on training data included in a first training process by a first neural network model based on first model parameters, the first training process being any one of at least one training process corresponding to the first neural network model, the first neural network model being a model deployed on the sending end device; the communication unit 801 is further configured to receive, from the receiving end device, a first feedback result corresponding to the first forward inference result; the processing unit 802 is configured to obtain a first intermediate result, the first intermediate result being generated when performing forward inference on the training data included in the first training process; the processing unit 802 is configured to calculate a gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result; and the processing unit 802 is further configured to update the first model parameters to second model parameters according to the gradient corresponding to the first training process.
[0140] In a possible implementation, the processing unit 802 is further configured to obtain the first intermediate result from a parameter cache space corresponding to the first training process.
[0141] In a possible implementation, after calculating the gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result, the processing unit 802 is further configured to clear the first intermediate result from the parameter cache space corresponding to the first training process.
[0142] In a possible implementation, the processing unit 802 is further configured to perform forward inference again on the training data included in the first training process to obtain the first intermediate result.
[0143] In a possible implementation, the first training process includes at least one sub-process, each sub-process including at least one training data, the first forward inference result including a forward inference result of each training data included in the first training process, the first intermediate result including an intermediate result corresponding to the forward inference result of each training data, the first feedback result including a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data being obtained based on the first model parameters.
[0144] In a possible implementation, at least one of the following is determined according to at least one of a capability of the sending end device, a capability of the receiving end device and / or a channel condition: a number of training data included in the first training process; or, a number of sub-processes included in the first training process; or, a number of training data included in each sub-process.
[0145] In a possible implementation, the processing unit 802 is further configured to update the first model parameter to a third model parameter according to a gradient corresponding to a second training process, wherein the second training process is any one of the at least one training process except the first training process, the gradient of the second training process is obtained by performing a backward gradient calculation according to a second feedback result, a second forward inference result, and a second intermediate result, the second forward inference result is obtained by performing a forward inference on training data included in the second training process based on the first model parameter, the second intermediate result is generated when performing the forward inference on the training data included in the first training process, and the second feedback result is a feedback result for the second forward inference result; and the processing unit 802 is further configured to update the model parameter of the first neural network model to a fourth model parameter according to the second model parameter and the third model parameter.
[0146] In a possible implementation, the number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of a capability of the sending-end device, a capability of the receiving-end device, and / or a channel condition.
[0147] In a possible implementation, the capability of the sending-end device includes one or more of a computing speed of the sending-end device, a size of a cache space of the sending-end device, a forward inference time of the sending-end device for the reference model, and / or a backward gradient calculation time of the sending-end device; the capability of the receiving-end device includes one or more of a computing speed of the receiving-end device, a size of a cache space of the receiving-end device, a forward inference time of the receiving-end device for the reference model, and / or a backward gradient calculation time of the receiving-end device; and the channel condition includes one or more of a wireless resource used by the sending-end device to communicate with the receiving-end device, a channel quality, a communication rate, and a communication delay.
[0148] In a possible implementation, the communication unit 801 is configured to receive capability information of the receiving-end device, where the capability information is used to indicate the capability of the receiving-end device.
[0149] In a possible implementation, different training processes of the first neural network model correspond to different parameter cache spaces.
[0150] In a possible implementation, different sub-processes in the first training process correspond to different parameter cache spaces.
[0151] In an embodiment, the communication apparatus 800 is a receiving-end device, an apparatus in a receiving-end device, or an apparatus capable of being used in matching with a receiving-end device, and in this case, the processing unit 802 is configured to perform the following operations:
[0152] The communication unit 801 is configured to receive a first forward inference result from the sending-end device, the first forward inference result being obtained by performing forward inference on training data included in a first training process by a first neural network model based on first model parameters, the first training process being any one of at least one training process corresponding to the first neural network model, the first neural network model being a model deployed on the sending-end device; and the communication unit 801 is further configured to send a first feedback result to the sending-end device based on the first forward inference result.
[0153] In a possible implementation, the first training process includes at least one sub-process, each sub-process including at least one training data, the first forward inference result includes a forward inference result of each training data included in the first training process, the first intermediate result includes an intermediate result corresponding to the forward inference result of each training data, the first feedback result includes a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data is obtained based on the first model parameters.
[0154] In a possible implementation, at least one of the following is determined according to at least one of a capability of the sending-end device, a capability of the receiving-end device, and / or a channel condition: a number of training data included in the first training process; or, a number of sub-processes included in the first training process; or, a number of training data included in each sub-process.
[0155] In a possible implementation, the communication unit 801 is further configured to receive a second forward inference result from the sending-end device, the second forward inference result being obtained by performing forward inference on training data included in a second training process by the first neural network model based on the first model parameters, the second training process being any one of the at least one training process except the first training process; and the communication unit 801 is further configured to send a second feedback result to the sending-end device based on the second forward inference result, the second feedback result being used to update model parameters of the first neural network model in combination with the first feedback result.
[0156] In a possible implementation, a number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of a capability of the sending-end device, a capability of the receiving-end device, and / or a channel condition.
[0157] In a possible implementation, the capability of the sending device includes one or more of a computing speed of the sending device, a size of a cache space of the sending device, a forward inference time and / or a backward gradient calculation time of the sending device for the reference model; the capability of the receiving device includes one or more of a computing speed of the receiving device, a size of a cache space of the receiving device, a forward inference time and / or a backward gradient calculation time of the receiving device for the reference model; and the channel condition includes one or more of a wireless resource, a channel quality, a communication rate, and / or a communication latency for the sending device to communicate with the receiving device.
[0158] In a possible implementation, the receiving device is deployed with a second neural network model, and the processing unit 802 is further configured to update a fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result; update the fifth model parameter of the second neural network model to a seventh model parameter based on the second forward inference result; and obtain an eighth model parameter based on the sixth model parameter and the seventh model parameter.
[0159] In a possible implementation, the receiving device is deployed with a second neural network model, and the processing unit 802 is further configured to update a fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result.
[0160] For more details of the communication unit 801 and the processing unit 802, refer to the description of the sending device or the receiving device in the method embodiment shown in FIG. 5.
[0161] As shown in FIG. 9, the communication apparatus 900 includes a processor 910 and an interface circuit 920. The processor 910 and the interface circuit 920 are coupled to each other. It can be understood that the interface circuit 920 can be a transceiver or an input / output interface. Optionally, the communication apparatus 900 can further include a memory 930 for storing instructions executed by the processor 910 or storing input data required by the processor 910 to run instructions or storing data generated after the processor 910 runs instructions.
[0162] When the communication apparatus 900 is used to implement the method shown in FIG. 5, the processor 910 is configured to implement the functions of the processing unit 802, and the interface circuit 920 is configured to implement the functions of the communication unit 801.
[0163] When the communication device is a chip applied to a sending terminal device, the terminal chip implements the functions of the sending terminal device in the method embodiments. The sending terminal device chip receives information from a receiving terminal device, which can be understood as the information being first received by other modules (such as a radio frequency module or an antenna) in the sending terminal device and then being sent to the sending terminal device chip by the modules. The sending terminal device chip sends information to the receiving terminal device, which can be understood as the information being first sent to other modules (such as a radio frequency module or an antenna) in the sending terminal device and then being sent to the receiving terminal device by the modules.
[0164] When the communication device is a chip applied to a receiving terminal device, the receiving terminal device chip implements the functions of the receiving terminal device in the method embodiments. The receiving terminal device chip receives information from a sending terminal device, which can be understood as the information being first received by other modules (such as a radio frequency module or an antenna) in the receiving terminal device and then being sent to the receiving terminal device chip by the modules. The receiving terminal device chip sends information to the sending terminal device, which can be understood as the information being first sent to other modules (such as a radio frequency module or an antenna) in the receiving terminal device and then being sent to the sending terminal device by the modules.
[0165] In this application, entity A sending information to entity B can be A directly sending to B or A indirectly sending to B through other entities. Similarly, entity B receiving information from entity A can be entity B directly receiving the information sent by entity A or entity B indirectly receiving the information sent by entity A through other entities. Here, entity A and B can be RAN nodes or terminals, or modules inside RAN nodes or terminals. The sending and receiving of information can be the information interaction between RAN nodes and terminals, for example, the information interaction between a base station and a terminal; the sending and receiving of information can also be the information interaction between two RAN nodes, for example, the information interaction between a CU and a DU; the sending and receiving of information can also be the information interaction between different modules inside one device, for example, the information interaction between a terminal chip and other modules of the terminal, or the information interaction between a base station chip and other modules of the base station.
[0166] It is to be understood that the processor in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor.
[0167] The method steps in the embodiments of the present application can be implemented in hardware or in software instructions executable by a processor. The software instructions can be composed of corresponding software modules, which can be stored in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from and write information to the storage medium. The storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a base station or a terminal. The processor and the storage medium can also exist as discrete components in the base station or the terminal.
[0168] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer programs or instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments are performed. The computer can be a general purpose computer, a special purpose computer, a computer network, a network device, a user equipment or other programmable apparatus. The computer programs or instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer programs or instructions can be transferred from one website site, computer, server or data center to another website site, computer, server or data center through wired or wireless manner. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center and the like integrated with one or more available media. The available media can be a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape; or an optical medium, such as a digital video disc; or a semiconductor medium, such as a solid state disk. The computer readable storage medium can be a volatile or non-volatile storage medium, or can include both volatile and non-volatile storage media.
[0169] In various embodiments of the present application, the terms and / or descriptions of different embodiments are consistent and can be referred to each other if there is no special description and logical conflict. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0170] In the present application, "at least one" means one or more, and "multiple" means two or more. The association relationship between the associated objects is described, which means that there can be three kinds of relationships, for example, A and / or B, which can represent the following cases: A exists alone, A and B exist together, B exists alone, where A and B can be singular or plural. In the literal description of the present application, the character " / ", generally represents that the associated objects before and after are in an "or" relationship; in the formula of the present application, the character " / ", represents that the associated objects before and after are in a "division" relationship. "Including at least one of A, B and C" can mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B and C.
[0171] It can be understood that various numerical numbers involved in the embodiments of the present application are only distinguished for convenience of description, and do not limit the scope of the embodiments of the present application. The size of the serial number of the above processes does not mean the order of execution, and the execution order of the processes should be determined according to its function and inherent logic.
Claims
1. A method for training a neural network model, characterized in that, The method comprises: sending a first forward inference result to a receiving end device, the first forward inference result being obtained by performing forward inference on training data included in a first training process by a first neural network model based on first model parameters, the first training process being any one of at least one training process corresponding to the first neural network model, the first neural network model being a model deployed on a sending end device; receiving a first feedback result from the receiving end device for the first forward inference result; obtaining a first intermediate result, the first intermediate result being generated when performing forward inference on the training data included in the first training process; calculating a gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result; updating the first model parameters to second model parameters according to the gradient corresponding to the first training process.
2. The method of claim 1, wherein, The obtaining of the first intermediate result comprises: obtaining the first intermediate result from a parameter cache space corresponding to the first training process.
3. The method of claim 2, wherein, After the calculating of the gradient of the first training process according to the first feedback result, the first forward inference result and the first intermediate result, the method further comprises: clearing the first intermediate result from the parameter cache space corresponding to the first training process.
4. The method of claim 1, wherein, The obtaining of the first intermediate result comprises: performing forward inference again on the training data included in the first training process to obtain the first intermediate result.
5. The method according to any one of claims 1 to 4, characterized in that, The first training process comprises at least one sub-process, each sub-process comprising at least one training data, the first forward inference result comprising a forward inference result of each training data included in the first training process, the first intermediate result comprising an intermediate result corresponding to the forward inference result of each training data, the first feedback result comprising a feedback result corresponding to the forward inference result of each training data, the forward inference result of each training data being obtained based on the first model parameters.
6. The method of claim 5, wherein, At least one of the following is determined according to at least one of a capability of the sending end device, a capability of the receiving end device and / or a channel condition: a number of training data included in the first training process; or, a number of sub-processes included in the first training process; or, a number of training data included in the sub-processes.
7. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: updating the first model parameters to third model parameters according to a gradient corresponding to a second training process, wherein the second training process is any one of the at least one training process other than the first training process, the gradient of the second training process being obtained by performing backward gradient calculation according to a second feedback result, a second forward inference result and a second intermediate result, the second forward inference result being obtained by performing forward inference on training data included in the second training process based on the first model parameters, the second intermediate result being generated when performing forward inference on the training data included in the first training process, the second feedback result being a feedback result for the second forward inference result. According to the second model parameter and the third model parameter, the model parameter of the first neural network model is updated as a fourth model parameter.
8. The method of claim 7, wherein, The number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of a capability of the sending end device, a capability of the receiving end device, and / or a channel condition.
9. The method of claim 6 or 8, wherein, The capability of the sending end device includes one or more of a calculation speed of the sending end device, a size of a cache space of the sending end device, a forward inference time of the sending end device for a reference model, and / or a backward gradient calculation time of the sending end device; the capability of the receiving end device includes one or more of a calculation speed of the receiving end device, a size of a cache space of the receiving end device, a forward inference time of the receiving end device for the reference model, and / or a backward gradient calculation time of the receiving end device; and the channel condition includes one or more of a wireless resource, a channel quality, a communication rate, and / or a communication latency of the sending end device and the receiving end device in communication.
10. The method according to any one of claims 6-9, characterized in that, The method further includes: receiving capability information from the receiving end device, the capability information being used to indicate the capability of the receiving end device.
11. The method according to any one of claims 1 to 10, characterized in that, Different training processes of the first neural network model correspond to different parameter cache spaces.
12. The method of any one of claims 5-10, wherein, Different sub-processes in the first training process correspond to different parameter cache spaces.
13. A neural network model training method, characterized by, The method includes: receiving a first forward inference result from the sending end device, the first forward inference result being obtained by performing forward inference on training data included in a first training process by the first neural network model based on a first model parameter, the first training process being any one of at least one training process corresponding to the first neural network model, and the first neural network model being a model deployed on the sending end device; sending the first feedback result to the sending end device based on the first forward inference result.
14. The method of claim 13, wherein, The first training process includes at least one sub-process, each sub-process including at least one training data, the first forward inference result including a forward inference result of each training data included in the first training process, the first intermediate result including an intermediate result corresponding to the forward inference result of each training data, the first feedback result including a feedback result corresponding to the forward inference result of each training data, and the forward inference result of each training data being obtained based on the first model parameter.
15. The method of claim 13 or 14, wherein, At least one of the following is determined according to at least one of a capability of the sending end device, a capability of the receiving end device, and / or a channel condition: a number of training data included in the first training process; or, a number of sub-processes included in the first training process; or, a number of training data included in the sub-process.
16. The method according to any one of claims 13-15, characterized in that, The method further includes: receiving a second forward inference result from the sending end device, the second forward inference result being obtained by performing forward inference on training data included in a second training process based on the first model parameter, the second training process being any one of the at least one training process other than the first training process. The second feedback result is sent to the sending end device based on the second forward inference result, and the second feedback result is used to update the model parameters of the first neural network model in combination with the first feedback result.
17. The method of claim 16, wherein, The number of training processes of the at least one training process corresponding to the first neural network model is determined according to at least one of the capability of the sending end device, the capability of the receiving end device, and / or channel conditions.
18. The method of claim 15 or 17, wherein, The capability of the sending end device includes one or more of the computing speed of the sending end device, the size of the cache space of the sending end device, the forward inference time of the sending end device for the reference model, and / or the backward gradient calculation time of the sending end device; the capability of the receiving end device includes one or more of the computing speed of the receiving end device, the size of the cache space of the receiving end device, the forward inference time of the receiving end device for the reference model, and / or the backward gradient calculation time of the receiving end device; and the channel conditions include one or more of the wireless resources, the channel quality, the communication rate, and / or the communication delay of the sending end device and the receiving end device in communication.
19. The method of claim 16, wherein, The receiving end device is deployed with a second neural network model, and the method further includes: updating the fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result; updating the fifth model parameter of the second neural network model to a seventh model parameter based on the second forward inference result; obtaining an eighth model parameter based on the sixth model parameter and the seventh model parameter.
20. The method of claim 13, wherein, The receiving end device is deployed with a second neural network model, and the method further includes: updating the fifth model parameter of the second neural network model to a sixth model parameter based on the first forward inference result.
21. A communications device, characterized by The method includes a module for executing the method of any one of claims 1-12, or a module for executing the method of any one of claims 13-20.
22. A communications device, characterized by The communication device includes a processor and an interface circuit for receiving signals from other communication devices outside the communication device and transmitting the signals to the processor or sending signals from the processor to other communication devices outside the communication device, and the processor is used to implement the method of any one of claims 1-12 through a logic circuit or code instructions, or the processor is used to implement the method of any one of claims 13-20 through a logic circuit or code instructions.
23. The method of claim 22, wherein, The communication device is a chip or a chip system.
24. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by the communication device, implement the method of any one of claims 1-12 or the method of any one of claims 13-20.
25. A computer program product, characterised in that, The computer program product includes a computer program or instructions, which, when executed by the communication device, cause the communication device to implement the method of any one of claims 1-12 or the method of any one of claims 13-20.