Communication method and communication apparatus

CN123014257APending Publication Date: 2026-10-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510574404.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

但是,现有的分布式训练方法的通信开销较大

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123014257A_ABST
    Figure CN123014257A_ABST
Patent Text Reader

Abstract

The application provides a communication method and a communication device, and relates to the technical field of artificial intelligence. The method comprises the following steps: determining a representation value of a first dual variable, the representation value of the first dual variable being used to represent a difference between a second model and a first model, the second model being obtained by training the first model by a first node pair, the first dual variable comprising a dual variable used by the first node pair to train the first model to obtain the second model; in the case that the representation value is greater than or equal to a first difference threshold, determining that the first node transmits the second model; and / or in the case that the representation value is less than or equal to a second difference threshold, determining that the first node does not transmit the second model. The method in the application embodiment can reduce communication overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and more specifically, to a communication method and a communication device. Background Technology

[0002] With the rapid development of artificial intelligence (AI) technology, AI models are being applied in increasingly wider scenarios. For example, AI models can be introduced into certain communication systems to achieve network intelligence.

[0003] To protect user privacy and data security, AI models can be trained using distributed training methods in communication systems. However, existing distributed training methods incur significant communication overhead. Summary of the Invention

[0004] This application provides a communication method and a communication device that can reduce communication overhead. The various aspects involved in the embodiments of this application are described below.

[0005] In a first aspect, a communication method is provided, the method being applied to a first node or a second node, or to a component (e.g., a processor, chip, chip system, circuit, or a functional module, etc.) in the first node or the second node, the method comprising:

[0006] The representation value of the first dual variable is determined, which is used to represent the difference between the second model and the first model. The second model is obtained by the first node training the first model. The first dual variable includes the dual variable used by the first node to train the second model. If the representation value is greater than or equal to a first difference threshold, the first node is determined to send the second model. And / or, if the representation value is less than or equal to a second difference threshold, the first node is determined not to send the second model.

[0007] In the embodiments of this application, the representation value of the first dual variable is used to represent the difference between the second model and the first model. The representation value of the first dual variable is determined, and the first node is determined to send the second model and / or not send the second model based on the representation value. In this way, the second model can be monitored, instead of having to send the second model after the first node obtains it, thereby reducing communication overhead.

[0008] In some possible implementations, the method is applied to a first node, and if the representation value is greater than or equal to the first difference threshold, the method further includes sending the second model.

[0009] In this embodiment, when the representation value is greater than or equal to the difference threshold, the first node sends the second model, which helps the second node update the model based on the second model, thereby helping to improve the performance of model training.

[0010] In some possible implementations, the method further includes: receiving first information, the first information being used to indicate the first difference threshold and / or the second difference threshold.

[0011] In the embodiments of this application, the first information is used to indicate a first difference threshold and / or a second difference threshold. Receiving the first information helps to determine whether the first node should send the second model or not send the second model based on the first difference threshold and / or the second difference threshold, thereby helping to reduce communication overhead.

[0012] In some possible implementations, the method is applied to a second node, wherein determining the representation value of the first dual variable includes: receiving second information, the second information being used to indicate the representation value of the first dual variable.

[0013] In the embodiments of this application, the second information is used to indicate the representation value of the first dual variable. Receiving the second information helps the second node determine whether the first node should send the second model or not send the second model based on the representation value, thereby helping to reduce communication overhead.

[0014] In some possible implementations, if the representation value is greater than or equal to the first difference threshold, the method further includes: sending third information, the third information being used to instruct the first node to send the second model.

[0015] In this embodiment, the third information is used to instruct the first node to send the second model. Sending the third information when the representation value is greater than or equal to the first difference threshold helps the first node to report the second model when the representation value is greater than or equal to the first difference threshold, thereby helping to improve the performance of model training.

[0016] In some possible implementations, the first node is one of a plurality of first nodes, and the method further includes: determining the first difference threshold and / or the second difference threshold based on the characterization values ​​reported by the plurality of first nodes.

[0017] In this embodiment, determining a first difference threshold and / or a second difference threshold based on the characterization values ​​reported by multiple first nodes helps to control the model reporting of multiple first nodes, thereby helping to improve the performance of model training.

[0018] In a second aspect, a communication device is provided, comprising: the device can be used for a first node or a second node, the device can be a first node or a second node, or it can be a device in the first node or the second node (e.g., a chip, or a chip system, or a circuit, or a processor), or it can be a device that can be matched and used with the first node or the second node, or it can be a logic module or software that can implement all or part of the first node or the second node.

[0019] The device includes modules that perform the methods / operations / steps / actions described in the first aspect or any possible implementation of the first aspect. These modules can be hardware circuits, software, or a combination of hardware circuits and software.

[0020] Thirdly, a communication device is provided, comprising: a processor and a memory, the processor being coupled to the memory, the memory being used to store a computer program (also referred to as code or instructions), the computer program being executed by the processor causing the device to perform the method of the first aspect or any possible implementation thereof.

[0021] In some possible implementations, the device also includes a memory coupled to the processor.

[0022] In some possible implementations, there are one or more processors, and / or one or more memories.

[0023] In some possible implementations, the memory can be integrated with the processor, or the memory can be set up separately from the processor.

[0024] Fourthly, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the methods of any of the above aspects or any possible implementations thereof.

[0025] Fifthly, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the method in any of the above aspects or any possible implementations of any of the above aspects.

[0026] In a sixth aspect, a chip is provided, comprising: a processor and a memory, the memory for storing a computer program (also referred to as code or instructions), the processor for calling and running the computer program stored in the memory, such that a device or apparatus on which the chip is mounted performs the method of any of the above aspects or any possible implementation thereof. Attached Figure Description

[0027] Figure 1 This is a schematic diagram of a neural network structure according to this application.

[0028] Figure 2 This is a schematic structural diagram of a neuron in this application.

[0029] Figure 3 This is a schematic block diagram of a wireless communication system applicable to this application.

[0030] Figure 4 This is a schematic flowchart of a communication method provided in one embodiment of this application.

[0031] Figure 5 This is a schematic flowchart of a communication method provided in another embodiment of this application.

[0032] Figure 6 This is a schematic flowchart of a communication method provided in another embodiment of this application.

[0033] Figure 7 This is a schematic structural diagram of a communication device provided in one embodiment of this application.

[0034] Figure 8 This is a schematic structural diagram of an apparatus provided in one embodiment of this application. Detailed Implementation

[0035] To better illustrate the technical solutions of the embodiments of this application, relevant knowledge will be introduced below.

[0036] Before describing the embodiments of this application, the relevant terms involved in this application will be introduced.

[0037] 1. Artificial Intelligence (AI): Artificial intelligence is about enabling machines to possess human-like intelligence. It uses computer hardware and software to simulate certain intelligent behaviors of humans, including machine learning and many other methods.

[0038] 2. Machine Learning (ML): Machine learning is one way to implement artificial intelligence. It's a method that empowers machines to perform functions that are impossible through direct programming. Machine learning involves learning models or rules from raw data and then using those models to make predictions. There are many different machine learning methods, such as neural networks, decision trees, and support vector machines.

[0039] 3. AI Model (or simply Model): An AI model can be understood as a function model that maps an input of a certain dimension to an output of a certain dimension. The parameters of an AI model can be obtained through machine learning training. For example, f(x) = ax 2 +b is a quadratic function that can be viewed as an AI model, where a and b correspond to the parameters of the AI ​​model and can be obtained through machine learning training.

[0040] 4. Neural network (NN): Here it refers to artificial neural network, which is a mathematical model that imitates the behavioral characteristics of animal neural networks to perform distributed parallel information processing. It is a special form of AI model.

[0041] Neural networks are a specific manifestation of machine learning methods. A neural network is a mathematical model that mimics the behavioral characteristics of animal neural networks to process information. For example... Figure 1 As shown, a neural network can be composed of three types of computational layers: input layer, hidden layer, and output layer. Each layer can have one or more logical decision units, which are called neurons. Each neuron can perform a weighted summation operation on its input values ​​and output the result through a nonlinear function. Therefore, the weights of the weighted summation operation of neurons in a neural network and the nonlinear function are called the parameters of the neural network. The connections between neurons in a neural network are called the weights of the neural network, and the weights of all neurons in a neural network constitute the parameters of the neural network (also called the weights of the neural network).

[0042] 5. Deep neural network (DNN): A neural network with multiple hidden layers.

[0043] 6. Deep learning (DL): Machine learning that utilizes deep neural networks.

[0044] 7. Dataset: The collection of data used for model training, validation, and testing in machine learning. The quantity and quality of data in the dataset will affect the effectiveness of machine learning.

[0045] 8. Model Training: By selecting an appropriate loss function, the model parameters are trained using optimization algorithms to minimize the loss function value.

[0046] 9. Loss function: Used to measure the difference between the model's predicted value and the true value.

[0047] 10. Model Testing: After model training, use test data to evaluate model performance.

[0048] 11. Model Application: Using the trained model to solve practical problems.

[0049] With the rapid development of AI technology, the application scenarios of AI models (such as neural network models) are becoming more and more widespread, including smart healthcare, finance, smart cities, and intelligent networks. For example, AI models can be introduced into some communication systems to achieve network intelligence.

[0050] Machine learning is an important technological approach to achieving artificial intelligence; the parameters of AI models can be obtained through machine learning training. Machine learning can include supervised learning, unsupervised learning, and reinforcement learning.

[0051] Supervised learning: Supervised learning uses machine learning algorithms to learn the mapping relationship between sample values ​​and sample labels based on collected sample values ​​and labels, and expresses the learned mapping relationship using a machine learning model (such as an AI model). The process of training the machine learning model is the process of learning this mapping relationship. For example, in signal detection, the noisy received signal is the sample, and the corresponding real constellation point is the label. Machine learning aims to learn the mapping relationship between samples and labels through training, that is, to enable the machine learning model to learn a signal detector. During training, the model parameters are optimized by calculating the error between the model's predicted values ​​and the real labels. Once the mapping relationship is learned, the learned mapping can be used to predict the sample label of each new sample. The mapping relationship learned in supervised learning can include linear mappings and nonlinear mappings. Based on the type of label, the learning task can be divided into classification tasks and regression tasks.

[0052] Unsupervised learning (also known as self-supervised learning): Unsupervised learning relies solely on collected sample values, allowing algorithms to discover inherent patterns within the samples themselves. One type of unsupervised learning algorithm uses the samples themselves as supervisory signals, meaning the model learns the mapping relationships from samples to samples; hence, it can also be called self-supervised learning. During model training, the model parameters are optimized by calculating the error between the model's predicted values ​​and the samples themselves. Unsupervised learning can be used for signal compression and decompression recovery applications. Common unsupervised learning algorithms include autoencoders and generative adversarial networks (GANs).

[0053] Reinforcement learning, unlike supervised learning, is a type of algorithm that learns problem-solving strategies through interaction with the environment. Unlike supervised and unsupervised learning, reinforcement learning algorithms do not have explicit "correct" action labels. They need to interact with the environment to obtain reward signals and adjust decision actions to obtain larger reward values. For example, in downlink power control, a reinforcement learning model can adjust the downlink transmission power of each user based on the total system throughput feedback from the wireless network, aiming to achieve higher system throughput. The goal of reinforcement learning is also to learn the mapping relationship between the environment state and the optimal decision action. However, because the label of the "correct action" cannot be obtained in advance, the network cannot be optimized by calculating the error between the action and the "correct action." Therefore, training a reinforcement learning-based model is achieved through iterative interaction with the environment.

[0054] Deep Neural Networks (DNNs) are a specific implementation of machine learning. According to the general approximation theorem, neural networks can theoretically approximate any continuous function, thus enabling them to learn arbitrary mappings. Traditional communication systems rely on extensive expert knowledge to design communication modules, while DNN-based deep learning communication systems can automatically discover hidden pattern structures from large datasets, establish mapping relationships between data, and achieve performance superior to traditional modeling methods.

[0055] f(x) = ax 2 +b

[0056] The idea behind DNNs (Dual Neural Networks) originates from the neuronal structure of the brain. Each neuron performs a weighted summation of its input values, and the result is passed through a non-linear function to produce the output. For example, ... Figure 2 As shown, assume the input of the neuron is x = [x0, x1, ..., x2]. n The weights corresponding to the inputs are w = [w0, w1, ..., w] n The input is a weighted sum of its corresponding weights, with a bias of b. The nonlinear function can take many forms; for example, a possible example is the max{0,x} maximum value function, in which case the output of a neuron could be... Typically, DNNs can have multi-layered structures, for example, such as Figure 1 As shown, each layer of a DNN can contain multiple neurons. The input layer processes the received values ​​through neurons and then passes them to the hidden layers. Similarly, the hidden layers can then pass the computation results to the final output layer to obtain the output of the DNN.

[0057] DNNs typically have more than one hidden layer, and these hidden layers often directly affect the ability to extract information and fit functions. Increasing the number of hidden layers or widening the width of each layer can improve the function fitting ability of a DNN. The weights in each neuron are the parameters of the DNN network model. The model parameters are optimized through the training process, enabling the DNN network to extract data features and express mapping relationships. DNNs generally use supervised or unsupervised learning strategies to optimize model parameters.

[0058] Common DNNs can include feedforward neural networks (FNNs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs), all of which are based on neurons. Figure 1 The image shows an FNN network, characterized by complete pairwise connections between neurons in adjacent layers. This makes FNNs typically require a large amount of storage space and result in high computational complexity.

[0059] CNNs are a class of neural networks specifically designed to process data with a grid-like structure. For example, time-series data (discrete sampling along the time axis) and image data (two-dimensional discrete sampling) can both be considered grid-like data. CNNs do not use all the input information at once for computation; instead, they use a fixed-size window to extract a portion of the information for convolution operations, which significantly reduces the computational cost of model parameters. Furthermore, depending on the type of information extracted by the window (such as people and objects in an image representing different types of information), each window can use different convolution kernels, allowing CNNs to better extract features from the input data.

[0060] Recurrent Neural Networks (RNNs) are a type of distributed neural network (DNN) that utilizes feedback time-series information. The input to an RNN can include the current input value and its own output value from the previous time step. RNNs are well-suited for acquiring temporally correlated sequence features, and are particularly applicable to applications such as speech recognition and channel coding / decoding.

[0061] The FNN, CNN, and RNN mentioned above are common neural network structures, all built upon neurons. As explained above, each neuron performs a weighted summation of its input values ​​and outputs the result through a non-linear function. Therefore, the weights of the weighted summation operation and the non-linear function in the neural network are called the parameters of the neural network. For example, continuing with the example of a neuron with max{0,x} as the non-linear function, we will... The parameters of the operated neuron can include weights, biases, and nonlinear functions, where the weights are w = [w0, w1, ..., w...]. n The parameters of a neural network are: ], the bias of the weighted summation (for each neuron) is b, and the nonlinear function max{0,x}. The parameters of all neurons in a neural network constitute the parameters of that neural network.

[0062] As described above, most machine learning techniques, such as deep neural network-based learning algorithms, require centralized training with all available data. However, centralized training necessitates collecting a vast amount of data, often from user devices, requiring users to upload this data, which incurs significant upload overhead. Furthermore, concentrating massive amounts of training data on a single node limits training efficiency due to storage space constraints. Additionally, collecting user-side data may infringe on user privacy. Storing massive amounts of data for centralized training could raise serious concerns about privacy breaches among users. On the other hand, if users train machine learning algorithms using only their own existing data, the training effectiveness is often limited by the limited amount of local data available.

[0063] Distributed model training methods are an effective solution to the above problems. Federated learning (FL) is a distributed model training method that enables multiple terminal devices to collaboratively train AI models while protecting user privacy and data security.

[0064] One possible training method is a federated learning algorithm based on the alternating direction method of multipliers (ADMM), which can be called FedAND. In this algorithm, child nodes update their local models by solving a local optimization problem to obtain the optimal solution based on local data, and then update their local dual variables. The updated model is then fed back to the central node (also called the central compute node, central server node, etc.) to reduce the communication overhead caused by each gradient update requiring interaction between the child nodes (also called sub-compute nodes, etc.) and the central node.

[0065] For example, in the FedAND framework, K (K is a positive integer) child nodes and a central node can collaboratively train a global model (or, more accurately, a globally shared model). The central node aggregates the models sent by the child nodes, while the K child nodes update their local models by solving a local optimization problem and report the updated models, along with their local dual variables. Then, the central node performs model aggregation. After aggregation, the central node shares the aggregated model with the child nodes, and this process is repeated until the model converges. Because all local models are trained on locally stored data, the data privacy of the child nodes is protected.

[0066] The entire process within the FedAND framework can include local training, communication between child nodes and the central node, and model aggregation. In the local training phase, K child nodes train their own models independently and in parallel. The models used for local training by the child nodes can be any type of machine learning model. Currently, due to the proven power of DNNs across various domains, DNNs are typically used for the local models of child nodes to achieve optimal performance. In the communication phase (between child and central nodes), each communication between the child and central nodes transmits either the model trained by the child node or the model aggregated by the central node. To improve training efficiency, federated learning can select a subset of child nodes to upload their models. The central node aggregates the received models within a set time window. In the model aggregation phase, federated learning typically employs model averaging, where the central node performs a weighted average of the received child node models.

[0067] The above local training, communication, and model aggregation steps will be performed multiple times until the model at the central node converges.

[0068] During the training process described above, the central node lacks monitoring of the local models of its child nodes. In each training round, all child nodes capable of participating in the training need to upload their local models after completing their local training, resulting in significant communication overhead. In actual training, there may be situations where the updated local models of child nodes are very similar to the global models distributed by the central node. In such cases, uploading local models by child nodes may not significantly contribute to the updating of the global model but will still cause unnecessary communication overhead.

[0069] Another possible training approach is the distributed training method based on ADMM. This framework consists of a set of child nodes, where one or more child nodes have a machine learning model and perform two iterative steps: 1) local update: local model update and local dual variable update, 2) inter-node aggregate update: inter-node model aggregate update.

[0070] Specifically, one or more child nodes solve their local optimization problem, update their local model, and update their dual variables in the local update step. Then, in the inter-node aggregation update step, one child node shares its model parameters with another randomly selected child node. These steps are repeated until all child nodes converge to a consensus model. Compared to the FedAND method described above, this method can achieve distributed learning without a fixed central node, thus the ADMM-based distributed training method has stronger scalability.

[0071] This training method is similar to the FedAND method mentioned above. All child nodes participating in the training need to transmit their local models, which will cause unnecessary communication overhead.

[0072] To address at least one of the aforementioned technical problems, this application provides a new technical solution. The technical solution in the embodiments of this application will be described below with reference to the accompanying drawings.

[0073] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application merely describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or order of execution, and that "first," "second," etc., do not necessarily imply that they are different. It should be understood that in this application, descriptions such as "in the case of," "if," "when," "if," etc., can be used interchangeably.

[0074] The wireless communication system in this application can be various wireless communication systems, such as 5th generation (5G) systems, new radio (NR) systems, long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, satellite and other non-terrestrial communication systems, and communication systems that integrate terrestrial and non-terrestrial communication. The technical solution provided in this application can also be applied to future communication systems.

[0075] To facilitate understanding of the embodiments of this application, firstly, in conjunction with Figure 3 This describes a wireless communication system applicable to embodiments of this application. For example... Figure 3 As shown, the wireless communication system includes a wireless access network 100. The wireless access network 100 may include at least one network device (such as...). Figure 3 110 in the text may also include at least one terminal device (such as...) Figure 3 (120a to 120e).

[0076] The scheme in this application embodiment can be applied to a distributed training system. This distributed training system may include a central node and child nodes, and the child nodes and the central node can transmit data to each other. This data can be carried on physical channels, such as a physical downlink control channel (PDCCH), a physical downlink shared channel (PDSCH), a physical uplink shared channel (PUSCH), or a physical uplink control channel (PUCCH), or even, for example, a physical sidelink control channel (PSCCH) or a physical sidelink shared channel (PSSCH).

[0077] In some embodiments, the network device can act as a central node, and the terminal device can act as a child node. Both the network device and the terminal device may further include a processing module based on a machine learning model, such as a neural network module. For example, for the network device, the processing module may be located within the network device, or it may be separate from the network device; this is not limited in the embodiments of this application. For the terminal device, the processing module may be located within the terminal device, and the processing module can access the user's local data. The processing module can implement feature extraction, feature analysis, classification, and regression based on machine learning algorithms. In the embodiments of this application, the machine learning model trained by the distributed training system can be oriented towards non-wireless communication services, such as image recognition and natural language processing, or it can be oriented towards wireless communication services, such as beam selection based on environmental information.

[0078] For example, such as Figure 3 As shown, when the central node is a network device (such as...) Figure 3 (110 in the middle), the child nodes are terminal devices (such as...) Figure 3 In the case of UEs 120a to 120e, network device 100 and UEs 120a to 120e can form a distributed training system. In this communication system, UEs 120a to 120e can send data to network device 110. Network device 110 needs to receive uplink data sent by UEs 120a to 120e. The uplink data can be parameters representing model differences and / or model parameters calculated by the sub-nodes, or feedback quantities containing their state information. Simultaneously, network device 110 can send configuration information to UEs 120a to 120e. The configuration information can be global model parameters used by the central node to synchronize the various sub-nodes, or control information instructing the sub-nodes on their training methods.

[0079] The terminal device in this application embodiment may refer to user equipment (UE), station, access terminal, user unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile terminal (MT), user terminal, terminal (or terminal device), wireless communication equipment, user agent or user device, etc., or a device used to provide voice or data connectivity to users, or an Internet of Things device. For example, terminal devices include handheld devices with wireless connection functions, vehicle-mounted devices, etc., but this application embodiment does not limit this. The terminal device in this application embodiment may be a mobile phone, cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication function, computing device or other processing device connected to a wireless modem, large screen, vehicle-mounted device (e.g., car, bicycle, electric vehicle, airplane, ship, train, high-speed rail, etc.), wearable device (e.g., smartwatch, smart bracelet, pedometer, smart glasses, etc.), machine type communication (MTC) terminal device, terminal device in 5G network, or terminal device in future evolved public land mobile network (PLMN), etc., and is not limited to this in this application embodiment.The terminal device in the embodiments of this application may also be a tablet computer, a laptop computer, a handheld computer, a mobile internet device (MID), a virtual reality (VR) device, an augmented reality (AR) device, a point of sale (POS) machine, customer-premises equipment (CPE), a light UE, a reduced capability UE (RedCap UE), a wireless terminal in industrial control, a smart home device (e.g., a refrigerator, a television, an air conditioner, an electricity meter, etc.), a smart robot, a robotic arm, workshop equipment, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, or a flying device (e.g., a smart robot, a hot air balloon, a drone, an airplane), etc. Terminal devices can also be vehicle devices, such as vehicle devices, vehicle modules, vehicle chips, on-board units (OBU), or telematics boxes (T-BOX). Terminal devices can also be other devices with terminal functions. For example, a terminal device can also be a device that plays a terminal function in device-to-device (D2D) communication.

[0080] In some implementations, the terminal device can be used to act as a base station. Optionally, the terminal device can act as a scheduling entity to provide sidelink signals between terminal devices in vehicle-to-everything (V2X) or device-to-device (D2D) scenarios. For example, cellular phones and cars can communicate using sidelink signals, or cellular phones and smart home devices can communicate using sidelink signals without relaying communication signals through a base station.

[0081] The network device (or communication device) in this application embodiment can refer to a radio access network (RAN) node (or device) that connects a terminal device to a wireless network, and can also be called a base station (BS). For example, the network device can be a NodeB, an evolved NodeB (eNodeB), a next-generation NodeB (gNB) in a 5G mobile communication system, a transmission reception point (TRP), an access point (AP), a network device (such as a satellite) in a nonterrestrial network (NTN) system, a base station in a future mobile communication system or an access point (AP) in a WiFi system, a wireless controller, relay station, access point, vehicle-mounted equipment, wearable device, or network device in other future evolved communication systems, etc.

[0082] In some implementations, multiple RAN nodes can collaborate to assist terminal devices in achieving wireless access, with different RAN nodes each implementing some of the functions of a base station. For example, a RAN node (i.e., the network device in this application) can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. CUs and DUs can be set up separately or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). In different systems, CUs (or CU-CPs and CU-UPs), DUs, or RUs may have different names, but those skilled in the art will understand their meaning. For example, in an open radio access network (O-RAN) system, a CU can also be called an open CU (O-CU), a DU can also be called an open DU (O-DU), a CU-CP can also be called an O-CU-CP, a CU-UP can also be called an O-CU-UP, and a RU can also be called an O-RU. Any of the units among the CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. It should be understood that this application does not limit the specific technology or specific device form used in the network equipment.

[0083] In some implementations, the network device can be fixed or mobile, and this application does not limit this. For example, a helicopter or drone can be configured as a mobile network device, and one or more cells can move according to the location of the mobile network device. In other examples, a helicopter or drone can be configured as a device to communicate with another network device.

[0084] In some implementations, network devices can be deployed on land or in the air, and this application does not limit this. For example, network devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites.

[0085] In this embodiment, the terminal device or network device may include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Furthermore, this embodiment does not specifically limit the specific structure of the execution entity of the method provided in this embodiment, as long as it can communicate according to the method provided in this embodiment by running a program that records the code of the method provided in this embodiment.

[0086] Furthermore, various aspects or features of this application can be implemented as methods, apparatus, or articles of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" as used herein encompasses a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). Additionally, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.

[0087] To address one or more of the aforementioned technical problems, this application proposes a communication method and a communication device that can monitor the second model and reduce communication overhead. The following is a detailed explanation... Figure 4 The communication methods in the embodiments of this application are illustrated in detail.

[0088] Figure 4This is a schematic flowchart of a communication method provided in one embodiment of this application. The method 400 can be applied to a first node or a second node, or to components within the first node or second node (e.g., a processor, chip, chip system, circuit, or a functional module). For example, the first node can be a child node, and the second node can be a central node; or, both the first node and the second node can be child nodes (as in the distributed training architecture without a fixed central node described in the foregoing embodiments).

[0089] Figure 4 The method 400 shown may include steps S410 and S420, as detailed below:

[0090] S410, determine the representation value of the first dual variable.

[0091] The representation value of the first dual variable can be used to characterize the difference between the second model and the first model.

[0092] In some embodiments, the second model can be obtained by training the first model on the first node. Optionally, the first node can be a global model issued by the second node. The types of the first and second models are not limited in this application embodiment. For example, the first model can be a DNN, CNN, RNN, random forest model, etc., and the second model can also be a DNN, CNN, RNN, random forest model, etc.

[0093] In some embodiments, the first dual variable may include the dual variable used by the second model obtained by training the first model with the first node.

[0094] For example, in the FedAND framework, the first node can receive the global model sent by the second node and update the local model by solving a local optimization problem based on the global model. At the same time, the local dual variables will also be updated. In this case, the global model sent by the second node can be the first model, the local model obtained by the first node after local update can be the second model, and the local dual variables obtained by the first node after local update can be the first dual variables.

[0095] In some embodiments, the representation value of the first dual variable can refer to a certain measure of the numerical magnitude of the first dual variable, or in other words, the representation value of the first dual variable can refer to a quantity that measures the numerical magnitude of the first dual variable. For example, the representation value of the first dual variable can be the L1 norm or L2 norm of the first dual variable, etc.

[0096] The following example, using the ADMM method, further illustrates the representation of the first dual variable.

[0097] For example, child nodes can update the local model based on the ADMM method by solving the following optimization problem:

[0098]

[0099] in, Let x represent the local model obtained by the t-th child node in the (k+1)-th iteration. t This represents the local model obtained by the t-th child node in the k-th iteration. This represents the global model obtained in the k-th iteration. Let L represent the dual variable obtained by the t-th child node in the k-th iteration. t ρ represents the local loss function, and ρ represents the penalty coefficient specified by the ADMM method.

[0100] The update method for the local dual variable is as follows:

[0101]

[0102] in, Let represent the dual variable obtained by the t-th child node in the (k+1)-th iteration. Let represent the dual variable obtained by the t-th child node in the k-th iteration. This represents the local model obtained by the t-th child node in the (k+1)-th iteration. This represents the global model obtained in the k-th iteration.

[0103] After analyzing the above update process, the applicant determined that the difference between the updated dual variable and the original dual variable can represent the difference between the updated local model and the global model, i.e. By summing according to the superscript k, we can obtain:

[0104]

[0105] The dual variable of the Kth iteration can be found. It can characterize the cumulative error of the local model and the global model in the first K iterations. Therefore, in the embodiments of this application, the representation value of the first dual variable can be used to represent the difference between the second model and the first model.

[0106] S420, if the characterization value is greater than or equal to the first difference threshold, determine that the first node sends the second model; and / or, if the characterization value is less than or equal to the second difference threshold, determine that the first node does not send the second model.

[0107] The first difference threshold and the second difference threshold can be the same or different.

[0108] In the embodiments of this application, the representation value of the first dual variable is used to represent the difference between the second model and the first model. The representation value of the first dual variable is determined, and the first node is determined to send the second model and / or not send the second model based on the representation value. In this way, the second model can be monitored, instead of having to send the second model after the first node obtains it, thereby reducing communication overhead.

[0109] The above method 400 can be applied to the first node, whereby the first node can determine whether or not to send the second model. An embodiment applied to the first node is described below.

[0110] In some embodiments, if the representation value is greater than or equal to a first difference threshold, the first node may send a second model to the second node.

[0111] In this embodiment, when the representation value is greater than or equal to the difference threshold, the first node sends the second model, which helps the second node update the model based on the second model, thereby helping to improve the performance of model training.

[0112] Optionally, if the representation value is less than or equal to the second difference threshold, the first node may not send the second model to the second node. This reduces communication overhead.

[0113] In some embodiments, prior to step S420 described above, the first node may receive first information from the second node.

[0114] The first information can be used to indicate a first difference threshold and / or a second difference threshold.

[0115] In this embodiment of the application, the first information is used to indicate a first difference threshold and / or a second difference threshold. The first node receives the first information, which helps to determine whether the first node should send the second model and / or not send the second model based on the first difference threshold and / or the second difference threshold, thereby helping to reduce communication overhead.

[0116] The method 400 described above can also be applied to the second node, in which case the second node can determine whether the first node sends or does not send the second model. An embodiment applied to the second node is described below.

[0117] In some embodiments, in step S410 described above, the second node may receive second information from the first node.

[0118] The second information can be used to indicate the representation value of the first dual variable.

[0119] In the embodiments of this application, the second information is used to indicate the representation value of the first dual variable. The second node receives the second information, which helps the second node determine whether the first node should send the second model and / or not send the second model based on the representation value, thereby helping to reduce communication overhead.

[0120] In some embodiments, after step S420 described above, the second node may send third information to the first node.

[0121] The third piece of information can be used to instruct the first node to send the second model.

[0122] In this embodiment, the third information is used to instruct the first node to send the second model. When the representation value is greater than or equal to the first difference threshold, the second node sends the third information to the first node, which helps the first node to report the second model when the representation value is greater than or equal to the first difference threshold, thereby helping to improve the performance of model training.

[0123] In some embodiments, the first node can be one of a plurality of first nodes.

[0124] In some embodiments, the second node may determine a first difference threshold and / or a second difference threshold based on the characterization values ​​reported by a plurality of first nodes.

[0125] In this embodiment, the second node determines a first difference threshold and / or a second difference threshold based on the representation values ​​reported by multiple first nodes, which helps to control the model reporting of multiple first nodes and thus helps to improve the performance of model training.

[0126] In some embodiments, the second node may send the first model to the first node so that the first node can perform local training based on the first model.

[0127] The following is combined with Figure 5 Taking the first node as a child node and the second node as the center node as an example, an embodiment in which the first node determines whether to send or not send the second model is illustrated.

[0128] Figure 5 This is a schematic flowchart of a communication method provided in one embodiment of this application. Figure 5 The method 500 shown may include steps S501 to S512, as follows:

[0129] S501, the central node sends the initial global model and the representation value threshold t1 to the child nodes.

[0130] The central node can broadcast the initial global model and the representation value threshold t1 to its child nodes. The initial global model can refer to the global model distributed by the central node during the first round of training.

[0131] The central node can also send initialization information of the child node's machine learning model to the child node. For example, the initialization information may include: the model type (such as DNN, CNN, random forest model, etc.), the model's structural information (such as the number of hidden layers in the DNN, the number of neurons and activation functions in each or some layers), and other model parameters and training configuration information.

[0132] The central node can broadcast the same information to all child nodes participating in the training, such as the initial global model, the representation value threshold t1, and initialization information.

[0133] The aforementioned threshold t1 is the initial threshold for the representation value of the dual variable. Therefore, t1 can be set to a very small value (such as 0) to ensure that all child nodes participating in the training upload the local model in the first round of training.

[0134] S502, child nodes update local model and local dual variables.

[0135] Child nodes can use the local dataset to update the local model based on the initial global model, and also update the local dual variables.

[0136] The method for child nodes to update the local model and local dual variables can be found in the description of child nodes updating the local model and local dual variables based on the ADMM method in Method 400 above, and will not be repeated here.

[0137] S503, child nodes calculate the representation values ​​of local dual variables.

[0138] The representation value of the local dual variable can be the L1 norm or L2 norm of the local dual variable, as long as it can be used to measure the numerical magnitude of the local dual variable.

[0139] S504, the child node determines whether the local model needs to be uploaded.

[0140] The child node compares the representation value of its local dual variable with the representation value threshold t1. For example, if the representation value of the local dual variable is less than the representation value threshold t1, the child node does not need to upload its local model to the central node; if the representation value of the local dual variable is greater than the representation value threshold t1, the child node can upload its local model to the central node.

[0141] When uploading a local model to the central node, child nodes can also upload representations of dual variables to the central node.

[0142] If the representation value of the local dual variable is less than the representation value threshold t1, then the child node does not need to upload the local model to the central node.

[0143] S505, the central node aggregates the local models uploaded by each child node.

[0144] The central node can aggregate local models uploaded by each child node and update the global model according to the ADMM algorithm. Simultaneously, the central node can also calculate the threshold t2 for the next round of representation values.

[0145] For example, the central node can update the global model based on the ADMM method using the following formula:

[0146]

[0147] in, This represents the global model obtained in the (k+1)th training round. This represents the local model obtained by the t-th child node in the (k+1)th round of training. Let represent the local dual variable obtained by the t-th child node in the (k+1)th round of training. ρ represents the proportion of the local dataset of the t-th child node to the global dataset (the global dataset can include the local datasets of all child nodes participating in training), and ρ represents the penalty coefficient specified by the ADMM method.

[0148] S506, the central node sends the global model and the representation value threshold t2 to the child nodes.

[0149] The central node can broadcast the global model and the representation value threshold t2 to all child nodes participating in the training.

[0150] S507, child nodes update the local model and local dual variables.

[0151] Child nodes can use the local dataset to update the local model based on the global model (issued by the central node in step S506) and update the local dual variables.

[0152] S508, child nodes calculate the representation values ​​of local dual variables.

[0153] S509, child nodes determine whether the local model needs to be uploaded.

[0154] The child node compares the representation value of the local dual variable (calculated in step S506) with the representation value threshold t2. For example, if the representation value of the local dual variable is less than the representation value threshold t2, the child node does not need to upload the local model to the central node; if the representation value of the local dual variable is greater than the representation value threshold t2, the child node can upload the local model to the central node.

[0155] If the representation value of the local dual variable is greater than the representation value threshold t2, then the following step S510 can be executed (i.e., the child node uploads the local model to the central node).

[0156] S510, child nodes upload local models to the central node.

[0157] When uploading a local model to the central node, child nodes can also upload representations of dual variables to the central node.

[0158] S511, the central node aggregates the local models uploaded by each child node.

[0159] The central node can aggregate the local models uploaded by each child node and update the global model according to the ADMM algorithm. Simultaneously, the central node can also calculate the representation value threshold t3 for the next round.

[0160] S512, the central node sends the global model and the representation value threshold t3 to the child nodes.

[0161] The central node can broadcast the global model and the representation value threshold t3 to all child nodes participating in the training.

[0162] The above steps can be repeated until training is complete, that is, the model of the central node converges.

[0163] The following is combined with Figure 6 Taking the first node as a child node and the second node as the central node as an example, an exemplary embodiment is given in which the second node determines whether the first node sends or does not send the second model.

[0164] Figure 6 This is a schematic flowchart of a communication method provided in one embodiment of this application. Figure 6 The method 600 shown may include steps S601 to S611, as follows:

[0165] S601, the central node sends the initial global model to the child nodes.

[0166] The central node can broadcast the initial global model to its child nodes. The initial global model can refer to the global model distributed by the central node during the first round of training.

[0167] The central node can also send initialization information of the child node's machine learning model to the child node. For example, the initialization information may include: the model type (such as DNN, CNN, random forest model, etc.), the model's structural information (such as the number of hidden layers in the DNN, the number of neurons and activation functions in each or some layers), and other model parameters and training configuration information.

[0168] The central node can broadcast the same information to all child nodes participating in the training, such as the initial global model and initialization information mentioned above.

[0169] S602, child nodes update local model and local dual variables.

[0170] Child nodes can use the local dataset to update the local model based on the initial global model, and also update the local dual variables.

[0171] The method for child nodes to update the local model and local dual variables can be found in the description of child nodes updating the local model and local dual variables based on the ADMM method in Method 400 above, and will not be repeated here.

[0172] S603, the child node calculates the representation value of the local dual variable.

[0173] The representation value of the local dual variable can be the L1 norm or L2 norm of the local dual variable, as long as it can be used to measure the numerical magnitude of the local dual variable.

[0174] S604, the child node reports the representation value of the local dual variable to the central node.

[0175] S605, the central node aggregates the representation values ​​of each child node.

[0176] The central node aggregates the representation values ​​of the local dual variables uploaded by each child node, determines a representation value threshold t1, and checks whether the representation values ​​of the local dual variables reported by each child node are greater than the representation value threshold t1. If it is determined that the representation value of the local dual variable of a child node is less than the representation value threshold t1, the child node can be instructed not to upload its local model to the central node; if the representation value of the local dual variable of a child node is greater than the representation value threshold t1, the child node can be instructed to upload its local model to the central node.

[0177] If the representation value of the local dual variable is less than the representation value threshold t1, then the child node can be instructed not to upload the local model to the central node. In some embodiments, the child node can be notified when it needs to upload the local model to the central node, and no information can be sent to the child node when it does not need to upload the local model. This reduces communication overhead.

[0178] S606, the central node updates the global model.

[0179] The central node can update the global model based on the received local model and broadcast the updated global model to all child nodes participating in the training.

[0180] S607, child nodes update local model and local dual variables.

[0181] Child nodes can use the local dataset to update the local model based on the global model (issued by the central node in step S606) and update the local dual variables.

[0182] S608, the child node calculates the representation value of the local dual variable.

[0183] S609, the child node reports the representation value of the local dual variable to the central node.

[0184] S610, the central node aggregates the representation values ​​of each child node.

[0185] The central node aggregates the representation values ​​of the local dual variables uploaded by each child node, determines a representation value threshold t2, and checks whether the representation values ​​of the local dual variables reported by each child node are greater than the representation value threshold t2. If it is determined that the representation value of the local dual variable of a child node is less than the representation value threshold t2, the child node can be instructed not to upload its local model to the central node; if the representation value of the local dual variable of a child node is greater than the representation value threshold t2, the child node can be instructed to upload its local model to the central node.

[0186] If the representation value of the local dual variable is greater than the representation value threshold t2, then the child node can be instructed to upload the local model to the central node.

[0187] Accordingly, child nodes can upload the local model (obtained in step S607) to the central node.

[0188] S611, the central node updates the global model.

[0189] The central node can update the global model based on the received local model and broadcast the updated global model to all child nodes participating in the training.

[0190] The above steps can be repeated until training is complete, that is, the model of the central node converges.

[0191] The above text combined Figures 1 to 6 The method embodiments of this application are described in detail below, in conjunction with... Figure 7 and Figure 8 The present application provides a detailed description of the apparatus embodiments. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments; therefore, any parts not described in detail can be found in the foregoing method embodiments.

[0192] Figure 7 This is a schematic structural diagram of a communication device provided in an embodiment of this application. Figure 7The communication device 700 shown can be used in the first node or the second node in the foregoing embodiments. The communication device 700 can be the first node or the second node, or it can be a device in the first node or the second node (e.g., a chip, a chip system, or a circuit), or a device that can be matched with the first node or the second node, or it can be a logic module or software that can implement all or part of the first node or the second node.

[0193] like Figure 7 As shown, the communication device 700 includes a first determining unit 710 and a second determining unit 720, as detailed below:

[0194] The first determining unit 710 is configured to: determine the representation value of the first dual variable, the representation value of the first dual variable being used to characterize the difference between the second model and the first model, the second model being obtained by the first node training the first model, and the first dual variable including the dual variable used by the second model obtained by the first node training the first model;

[0195] The second determining unit 720 is configured to: determine that the first node sends the second model if the characterization value is greater than or equal to a first difference threshold; and / or determine that the first node does not send the second model if the characterization value is less than or equal to a second difference threshold.

[0196] In some possible implementations, the communication device 700 is used for the first node, and when the characterization value is greater than or equal to the first difference threshold, the communication device 700 further includes a transmitting unit 730 for transmitting the second model.

[0197] In some possible implementations, the communication device 700 further includes a receiving unit 740 for: receiving first information, the first information being used to indicate the first difference threshold and / or the second difference threshold.

[0198] In some possible implementations, the communication device 700 is used as a second node, and the first determining unit 710 is specifically used to: receive second information, the second information being used to indicate the representation value of the first dual variable.

[0199] In some possible implementations, if the characterization value is greater than or equal to the first difference threshold, the communication device 700 further includes a sending unit 730 for: sending third information, the third information being used to instruct the first node to send the second model.

[0200] In some possible implementations, the first node is one of a plurality of first nodes, and the communication device 700 further includes a third determining unit 750, configured to: determine the first difference threshold and / or the second difference threshold based on the characterization values ​​reported by the plurality of first nodes.

[0201] Figure 8 This is a schematic structural diagram of a device provided in an embodiment of this application. Figure 8 The dashed lines in the diagram indicate that the unit or module is optional. The device 800 can be used to implement the methods described in the above method embodiments. The device 800 can be a chip or a communication device.

[0202] The device 800 may include one or more processors 810. The processor 810 may support the device 800 in implementing the methods described in the preceding method embodiments. The processor 810 may be a general-purpose processor or a special-purpose processor. For example, the processor may be a central processing unit (CPU). Alternatively, the processor may be other general-purpose processors, microprocessor units (MPUs), microcontroller units (MCUs), graphics processing units (GPUs), artificial intelligence processors (AI processors) or neural processing units (NPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0203] The device 800 may also include one or more memories 820. The memories 820 store a program that can be executed by the processor 810, causing the processor 810 to perform the methods described in the preceding method embodiments. The memories 820 may be independent of the processor 810 or integrated within the processor 810. In this embodiment, the memories 820 may include, but are not limited to, cache, read-only memory (ROM), random access memory (RAM), synchronous dynamic random access memory (SDRAM), hard disk drive (HDD) or solid-state drive (SSD), erasable programmable read-only memory (EPROM), or compact discread-only memory (CD-ROM), etc.

[0204] The device 800 may also include a transceiver 830. The processor 810 can communicate with other devices or chips via the transceiver 830. For example, the processor 810 can send and receive data with other devices or chips via the transceiver 830.

[0205] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0206] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0207] This application also provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the steps described in the various method embodiments above.

[0208] This application also provides a computer program product, which includes a computer program that, when run on a computer, causes the computer to perform the steps described in the various method embodiments above.

[0209] This application also provides a chip, which includes a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so that a device or equipment (such as a communication device) with the chip installed performs the steps in the above-described method embodiments.

[0210] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include at least: any entity or device capable of carrying computer program code to a device / app, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, a computer-readable storage medium may not be an electrical carrier signal or a telecommunication signal.

[0211] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0212] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0213] In the embodiments provided in this application, it should be understood that the disclosed apparatus / devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0214] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0215] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A communication method, characterized in that, include: Determine the representation value of the first dual variable, which is used to represent the difference between the second model and the first model. The second model is obtained by the first node training the first model. The first dual variable includes the dual variable used by the second model obtained by the first node training the first model. If the characterization value is greater than or equal to a first difference threshold, the first node is determined to send the second model. And / or, if the characterization value is less than or equal to the second difference threshold, determine that the first node does not send the second model.

2. The method according to claim 1, characterized in that, The method is applied to the first node, and when the representation value is greater than or equal to the first difference threshold, the method further includes: Send the second model.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Receive first information, which is used to indicate the first difference threshold and / or the second difference threshold.

4. The method according to claim 1, characterized in that, The method is applied to the second node, and determining the representation value of the first dual variable includes: Receive second information, which is used to indicate the representation value of the first dual variable.

5. The method according to claim 1 or 4, characterized in that, If the characterization value is greater than or equal to the first difference threshold, the method further includes: Send a third message, which instructs the first node to send the second model.

6. The method according to any one of claims 1, 4, or 5, characterized in that, The first node is one of a plurality of first nodes, and the method further includes: The first difference threshold and / or the second difference threshold are determined based on the characterization values ​​reported by the plurality of first nodes.

7. A communication device, characterized in that, include: A module or unit for performing the method as described in any one of claims 1 to 6.

8. A communication device, characterized in that, include: A processor and a memory, the processor being coupled to the memory, the memory being used to store a computer program, which, when executed by the processor, causes the apparatus to perform the method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1 to 6.

10. A computer program product, characterized in that, include: A computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1 to 6.

11. A chip, characterized in that, include: A processor and a memory, the memory for storing a computer program, the processor for calling and running the computer program stored in the memory, causing a device or apparatus on which the chip is mounted to perform the method as described in any one of claims 1 to 6.