Mobility and zone management in zone-based federated learning

By managing model updates and edge node training in the zone management device, the problems of non-IID data distribution and insufficient adaptability to user mobility in federated learning are solved, more efficient model updates and privacy protection are achieved, and model accuracy and device performance are improved.

CN118159987BActive Publication Date: 2025-09-16QUALCOMM TECHNOLOGIES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280071521.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-11-02
Filing Date
2022-10-06
Publication Date
2025-09-16
Estimated Expiration
2042-10-06

AI Technical Summary

Technical Problem

Existing federated learning methods suffer from insufficient model accuracy when dealing with non-independent and non-identical data distributions and lack adaptability to user mobility behavior, resulting in privacy trade-offs and degraded model performance.

Method used

By managing model updates in multiple zone management devices, transmitting and updating global models based on zone membership, using edge nodes to manage model training within the zone, and dynamically managing zone boundaries through cloud devices, zone-level joint learning and model coordination are achieved.

Benefits of technology

It improves the accuracy and adaptability of the model, reduces the latency and battery power consumption of mobile devices, reduces network bandwidth consumption, and provides better scalability and privacy protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118159987B_ABST
    Figure CN118159987B_ABST
Patent Text Reader

Abstract

A method for mobility and zone management in zone-based federated learning includes receiving, at a zone management device among a plurality of zone management devices, a global model from a first network device associated with a global model. Each of the plurality of zone management devices is associated with a corresponding zone model among a plurality of zone models. The zone management device transmits the global model to mobile devices in a first zone associated with the first zone model based on zone membership. The zone management device receives weights associated with the global model from each mobile device in the first zone. The zone management device updates the first zone model based on the received weights and the zone membership. The zone management device transmits the updated first zone model to each mobile device in the first zone.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application No. 17 / 517,633, filed on November 2, 2021, entitled “MOBILITY AND ZONE MANAGEMENT INZONE-BASED FEDERATED LEARNING,” the disclosure of which is expressly incorporated by reference in its entirety. Technical Field

[0003] Aspects of the present disclosure relate generally to neural networks, and more particularly to techniques and apparatus for mobility and zone management in zone-based federated learning. Background Art

[0004] Federated learning is a method for collaboratively training neural networks across multiple users without collecting data at a central location. Due to the decentralized data, federated learning is beneficial for applications where privacy is an important factor. Conventional federated learning solutions for mobile sensory data (e.g., data collected from smartphones) have problems with model accuracy due to their lack of adaptability to user mobility behavior. In large geographic areas (e.g., cities), user behavior and implicitly their mobile sensory data typically vary by zone (e.g., urban area). For example, users in a commercial district may have different behavior than users in a shopping district. Due to the non-independent and identically distributed (non-IID) data distribution across zones, the global model across all zones may be compromised. Using conventional methods to improve model accuracy for non-IID data may result in privacy trade-offs (e.g., data augmentation) and may still not be well adapted to localized mobile user behavior. Summary of the Invention

[0005] The present disclosure is set out in the independent claims. Some aspects of the present disclosure are described in the dependent claims.

[0006] In one aspect of the present disclosure, a method for managing model updates is provided. The method includes receiving a global model from a first network device associated with a global model at a zone management device among a plurality of zone management devices. Each zone management device among the plurality of zone management devices is associated with a corresponding zone model among a plurality of zone models. The method also includes transmitting the global model from the zone management device to a mobile device in a first zone associated with the first zone model based on zone membership. Additionally, the method includes receiving a weight associated with the global model from each mobile device in the first zone at the zone management device. The method also includes updating the first zone model at the zone management device based on the received weight and the zone membership. Furthermore, the method includes transmitting the updated first zone model from the zone management device to each mobile device in the first zone.

[0007] In one aspect of the present disclosure, a device for managing model updates is provided. The device includes a memory and one or more processors coupled to the memory. The processor is configured to receive a global model from a first network device associated with a global model at a zone management device among a plurality of zone management devices. Each of the plurality of zone management devices is associated with a corresponding zone model among a plurality of zone models. The processor is further configured to transmit the global model from the zone management device to a mobile device in a first zone associated with the first zone model based on zone membership. In addition, the processor is configured to receive weights associated with the global model from each mobile device in the first zone at the zone management device. The processor is further configured to update the first zone model at the zone management device based on the received weights and the zone membership. In addition, the processor is configured to transmit the updated first zone model from the zone management device to each mobile device in the first zone.

[0008] In one aspect of the present disclosure, a device for managing model updates is provided. The device includes a device for receiving a global model from a first network device associated with a global model at a zone management device among a plurality of zone management devices. Each zone management device among the plurality of zone management devices is associated with a corresponding zone model among a plurality of zone models. The device also includes a device for transmitting the global model from the zone management device to a mobile device in a first zone associated with the first zone model based on zone membership. Additionally, the device includes a device for receiving a weight associated with the global model from each mobile device in the first zone at the zone management device. The device also includes a device for updating the first zone model at the zone management device based on the received weight and the zone membership. In addition, the device includes a device for transmitting the updated first zone model from the zone management device to each mobile device in the first zone.

[0009] In one aspect of the present disclosure, a non-transitory computer-readable medium is provided. The computer-readable medium is encoded with program code for managing model updates. The program code is executed by a processor and includes code for receiving a global model from a first network device associated with a global model at a zone management device among a plurality of zone management devices. Each of the plurality of zone management devices is associated with a corresponding zone model among a plurality of zone models. The program code also includes code for transmitting the global model from the zone management device to mobile devices in a first zone associated with the first zone model based on zone membership. Additionally, the program code includes code for receiving, at the zone management device, weights associated with the global model from each mobile device in the first zone. The program code also includes code for updating the first zone model at the zone management device based on the received weights and the zone membership. Furthermore, the program code includes code for transmitting the updated first zone model from the zone management device to each mobile device in the first zone.

[0010] Aspects generally include methods, apparatus, systems, computer program products, non-transitory computer-readable media, user equipment, base stations, wireless communication devices, and processing systems substantially as described with reference to and as illustrated in the accompanying drawings and description.

[0011] The features and technical advantages of the examples according to the present disclosure have been outlined quite broadly above so that the following detailed description may be better understood. Additional features and advantages will be described. The concepts and specific examples disclosed may be readily used as a basis for modifying or designing other structures for achieving the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of protection of the appended claims. The characteristics of the disclosed concepts, both in terms of their organization and method of operation, and the associated advantages will be better understood by considering the following description in conjunction with the accompanying drawings. Each of the figures is provided for the purpose of illustration and description and not as a definition of limitations of the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The features, essence and advantages of the present disclosure will become more apparent when the following detailed description is read in conjunction with the accompanying drawings, in which like reference numerals are used to identify corresponding elements throughout.

[0013] Figure 1 An example implementation of designing a neural network using a system on a chip (SOC) including a general-purpose processor according to certain aspects of the present disclosure is illustrated.

[0014] Figure 2A 、 Figure 2B and Figure 2C is a diagram illustrating a neural network according to aspects of the present disclosure.

[0015] Figure 2D is a diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.

[0016] Figure 3 is a block diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.

[0017] Figure 4 is a block diagram illustrating an exemplary software architecture that can modularize artificial intelligence (AI) functionality according to aspects of the present disclosure.

[0018] Figure 5 is a diagram illustrating an example zone network topology according to aspects of the present disclosure.

[0019] Figure 6 is a diagram illustrating an example architecture for zone mobility management in accordance with aspects of the present disclosure.

[0020] Figure 7A and Figure 7B is a flow chart illustrating an example process for merging or splitting regions according to aspects of the present disclosure.

[0021] Figure 8 is a flow chart illustrating a method for mobility and zone management in zone-based federated learning according to aspects of the present disclosure. DETAILED DESCRIPTION

[0022] The detailed description set forth below in conjunction with the accompanying drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the described concepts may be practiced. In order to provide a comprehensive understanding of the various concepts, the detailed description includes specific details. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some cases, to avoid obscuring these concepts, well-known structures and components are shown in block diagram form.

[0023] Based on the teachings, it will be appreciated by those skilled in the art that the scope of the present disclosure is intended to encompass any aspect of the present disclosure, regardless of whether the aspect is implemented independently of any other aspect of the present disclosure or implemented in combination with any other aspect. For example, a device may be implemented or a method may be practiced using any number of aspects set forth. In addition, the scope of the present disclosure is intended to encompass such devices or methods practiced using other structures, functionality, or structure and functionality that are supplementary to or different from the various aspects of the present disclosure set forth. It should be understood that any aspect of the present disclosure disclosed may be embodied by one or more elements of a claim.

[0024] The word “exemplary” is used to mean “serving as an example, instance, or illustration.” Any aspect described as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0025] Although specific aspects have been described, numerous variations and permutations of these aspects fall within the scope of this disclosure. Although some benefits and advantages of preferred aspects have been mentioned, the scope of this disclosure is not intended to be limited to a particular benefit, use, or purpose. On the contrary, various aspects of this disclosure are intended to be broadly applicable to different technologies, system configurations, networks, and protocols, some of which are illustrated as examples in the accompanying drawings and the following description of preferred aspects. The detailed description and drawings are merely illustrative of the present disclosure and are not limiting, and the scope of protection of this disclosure is defined by the appended claims and their equivalents.

[0026] As described, federated learning is a method for collaboratively training neural networks across multiple users without collecting data at a central location. Due to the decentralized data, federated learning is beneficial for applications where privacy is an important factor. Conventional federated learning solutions for mobile sensory data (e.g., data collected from smartphones) have problems with model accuracy due to their lack of adaptability to user mobility behavior. In large geographic areas (e.g., cities), user behavior and implicitly their mobile sensory data typically vary by zone (e.g., urban area). For example, users in a commercial district may have different behavior than users in a shopping district. Due to the non-independent and identically distributed (non-IID) data distribution across zones, the global model across all zones may be compromised. Using conventional methods to improve model accuracy for non-IID data may result in privacy trade-offs (e.g., data augmentation) and may still not be well adapted to localized mobile user behavior.

[0027] Zone-based federated learning can divide space (e.g., a geographic area) into multiple zones with similar user behavior. A federated learning model can be trained for each of the defined zones. Zone-based federated learning can be implemented in a mobile-edge-cloud infrastructure, where edge nodes manage the federated training of zone-based federated learning models within each of the zones. Edge nodes can host updated models for their zones, and mobile devices can download zone models when entering a zone. Thus, mobile devices can participate in federated learning and can be referred to as participating devices.

[0028] A cloud device (e.g., a server) can dynamically manage zones throughout a space (e.g., a geographic area) and can provide coordinator functionality to support load balancing and fault tolerance across edge nodes. The zone-based federated learning model can provide improved scalability over other conventional federated learning approaches. That is, instead of managing a model based on data distributed across a large number of devices, the zone-based federated learning model can manage edge nodes that manage each of the defined zones, which are substantially smaller in number than the number of devices that run through the zone-based federated learning model. Additionally, zone-based federated learning can beneficially provide lower latency for mobile users, reduce battery power consumption on mobile devices, and can result in less network bandwidth consumption in the network core.

[0029] The zone-based federated learning model is also broadly applicable. For example, zone-based federated learning can improve model performance across a wide range of location-based services and applications. In one example, zone-based federated learning can be applied to a parking locator service. In this example, the model can provide recommendations for streets or street segments where drivers can find available parking spaces at a given time. These recommendations can be based on data collected from participating devices in the zone, such as mobile devices, IoT devices, or electric vehicles. Parking conditions can vary significantly across zones and over time.

[0030] In another example, a zone-based federated learning model can provide recommendations for places (e.g., tourist attractions, shops, restaurants, etc.) or events within the zone. For example, in a shopping zone, users can receive recommendations for shops, while in a tourist zone, the model can recommend tourist attractions. Alternatively, a zone-based federated learning model can suggest local events (social events, concerts, sports, hobbies, etc.) and predict whether the user is likely to be interested in attending these events. Event recommendations can be made based on learning the spatiotemporal relationships between events and user interests over time.

[0031] Additional examples of applications of zone-based federated learning models can be applied to advertising, health and wellness recommendations, and smartphone optimization. However, since federated averaging and model aggregation are performed at the zone level, managing device mobility between zones and dynamically modifying or updating zone boundaries is challenging.

[0032] Therefore, to address these and other challenges, aspects of the present disclosure are directed to improving management of device mobility in zone-based federated learning.

[0033] Figure 1An example implementation of a system on a chip (SOC) 100 according to certain aspects of the present disclosure is illustrated, which may include a central processing unit (CPU) 102 or a multi-core CPU configured to manage zone configuration and model updates in zone-based federated learning. Variables (e.g., neural signals and synaptic weights), system parameters associated with the computing device (e.g., a neural network with weights), latency, frequency information, and task information may be stored in a memory block associated with a neural processing unit (NPU) 108, a memory block associated with the CPU 102, a memory block associated with a graphics processing unit (GPU) 104, a memory block associated with a digital signal processor (DSP) 106, a memory block 118, or may be distributed across multiple blocks. Instructions executed at the CPU 102 may be loaded from a program memory associated with the CPU 102 or may be loaded from the memory block 118.

[0034] The SOC 100 may also include additional processing blocks tailored for specific functions, such as a GPU 104, a DSP 106, a connectivity block 110 (which may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, etc.), and a multimedia processor 112 that may, for example, detect and recognize gestures. In one embodiment, the NPU is implemented in the CPU, DSP, and / or GPU. The SOC 100 may also include a sensor processor 114, an image signal processor (ISP) 116, and / or a navigation module 120, which may include a global positioning system.

[0035] SOC 100 may be based on the ARM instruction set. In one aspect of the present disclosure, the instructions loaded into CPU 102 may include code for receiving, at one of a plurality of zone management devices, a global model from a first network device associated with the global model. Each of the plurality of zone management devices is associated with a corresponding zone model from a plurality of zone models. The instructions loaded into CPU 102 may also include code for transmitting, from the zone management device, the global model to mobile devices in a first zone associated with the first zone model based on zone membership. The instructions loaded into CPU 102 may additionally include code for receiving, at the zone management device, weights associated with the global model from each mobile device in the first zone. The instructions loaded into CPU 102 may also include code for updating, at the zone management device, the first zone model based on the received weights and zone membership. The instructions loaded into CPU 102 may also include code for transmitting, from the zone management device, the updated first zone model to each mobile device in the first zone.

[0036] Deep learning architectures can perform object recognition tasks by learning to represent inputs at successively higher levels of abstraction in each layer, thereby building useful feature representations of the input data. In this way, deep learning solves a major bottleneck of traditional machine learning. Before the advent of deep learning, machine learning approaches to object recognition problems may rely heavily on human-engineered features, possibly combined with shallow classifiers. A shallow classifier can be a two-class linear classifier, for example, where the weighted sum of the feature vector components can be compared to a threshold to predict which class the input belongs to. Human-engineered features can be templates or kernels customized for a specific problem domain by engineers with domain expertise. In contrast, deep learning architectures can learn to represent features similar to those that human engineers might design, but require training. In addition, deep networks can learn to represent and recognize new types of features that humans may not have considered yet.

[0037] Deep learning architectures can learn hierarchies of features. For example, if presented with visual data, the first layer can learn to recognize relatively simple features in the input stream, such as edges. In another example, if presented with auditory data, the first layer can learn to recognize spectral power at specific frequencies. The second layer, taking the output of the first layer as input, can learn to recognize combinations of features, such as simple shapes in visual data or combinations of sounds in auditory data. For example, higher layers can learn to represent complex shapes in visual data or words in auditory data. Still higher layers can learn to recognize common visual objects or spoken phrases.

[0038] Deep learning architectures can perform particularly well when applied to problems with a natural hierarchical structure. For example, the classification of motorized vehicles can benefit from first learning to recognize wheels, windshields, and other features. These features can then be combined in different ways at higher levels to identify cars, trucks, and airplanes.

[0039] Neural networks can be designed to have a variety of connection patterns. In a feedforward network, information is passed from a lower layer to a higher layer, wherein each neuron in a given layer communicates with a neuron in a higher layer. As described above, hierarchical representations can be constructed in successive layers of a feedforward network. Neural networks can also have loops or feedback (also known as top-down) connections. In a loop connection, the output from a neuron in a given layer can be conveyed to another neuron in the same layer. The loop architecture can help identify patterns that span more than one input data block in the input data blocks delivered sequentially to the neural network. The connection from a neuron in a given layer to a neuron in a lower layer is called a feedback (or top-down) connection. A network with many feedback connections may be helpful when the recognition of high-level concepts can assist in discerning specific low-level features of the input.

[0040] The connections between the layers of a neural network can be fully connected or partially connected. Figure 2A Illustrated is an example of a fully connected neural network 202. In a fully connected neural network 202, a neuron in a first layer may communicate its output to every neuron in a second layer, such that every neuron in the second layer will receive input from every neuron in the first layer. Figure 2B An example of a locally connected neural network 204 is illustrated. In the locally connected neural network 204, neurons in a first layer may be connected to a limited number of neurons in a second layer. More generally, the locally connected layers of the locally connected neural network 204 may be configured such that each neuron in a layer will have the same or similar connection pattern, but its connection strengths may have different values ​​(e.g., 210, 212, 214, and 216). The locally connected connection pattern may produce spatially different receptive fields in higher layers because higher layer neurons in a given area may receive input that is tuned through training to the properties of a limited portion of the network's total input.

[0041] An example of a locally connected neural network is a convolutional neural network. Figure 2C An example of a convolutional neural network 206 is illustrated. The convolutional neural network 206 can be configured such that the connection strengths associated with the inputs of each neuron in the second layer are shared (e.g., 208). Convolutional neural networks may be well suited for problems where the spatial location of the inputs is meaningful.

[0042] One type of convolutional neural network is a deep convolutional network (DCN). Figure 2D A detailed example of a DCN 200 designed to recognize visual features from an image 226 input from an image capture device 230 (such as a vehicle-mounted camera) is illustrated. The DCN 200 of the current example can be trained to identify traffic signs and numbers provided on traffic signs. Of course, the DCN 200 can be trained for other tasks, such as identifying lane markings or identifying traffic lights.

[0043] DCN 200 can be trained using supervised learning. During training, an image, such as image 226 of a speed limit sign, can be presented to DCN 200, and a forward pass can then be computed to produce output 222. DCN 200 can include a feature extraction portion and a classification portion. Upon receiving image 226, convolutional layer 232 can apply a convolution kernel (not shown) to image 226 to generate a first set of feature maps 218. As an example, the convolution kernel of convolutional layer 232 can be a 5x5 kernel that generates a 28x28 feature map. In this example, because four different feature maps are generated in first set of feature maps 218, four different convolution kernels are applied to image 226 at convolutional layer 232. Convolution kernels can also be referred to as filters or convolution filters.

[0044] The first set of feature maps 218 may be subsampled by a max pooling layer (not shown) to generate a second set of feature maps 220. The max pooling layer reduces the size of the first set of feature maps 218. That is, the size of the second set of feature maps 220, such as 14x14, is smaller than the size of the first set of feature maps 218, such as 28x28. The reduced size provides similar information to subsequent layers while reducing memory consumption. The second set of feature maps 220 may be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more subsequent sets of feature maps (not shown).

[0045] exist Figure 2D In the example of FIG200 , the second set of feature maps 220 is convolved to generate a first feature vector 224. In addition, the first feature vector 224 is further convolved to generate a second feature vector 228. Each feature of the second feature vector 228 may include a number corresponding to a possible feature of the image 226, such as "sign," "60," and "100." A softmax function (not shown) may convert the numbers in the second feature vector 228 into probabilities. Therefore, the output 222 of the DCN 200 is the probability that the image 226 includes one or more features.

[0046] In this example, the probabilities of "logo" and "60" in output 222 are higher than the probabilities of other numbers in output 222, such as "30," "40," "50," "70," "80," "90," and "100." Before training, output 222 generated by DCN 200 may be incorrect. Therefore, the error between output 222 and the target output can be calculated. The target output is the true value of image 226 (e.g., "logo" and "60"). The weights of DCN 200 can then be adjusted so that output 222 of DCN 200 is closer to the target output.

[0047] To adjust the weights, the learning algorithm can calculate a gradient vector for the weights. The gradient can indicate the amount by which the error will increase or decrease if the weights are adjusted. At the top layer, the gradient can directly correspond to the value of the weight connecting the activated neurons in the penultimate layer to the neurons in the output layer. In lower layers, the gradient can depend on the value of the weights and the calculated error gradient of the higher layers. The weights can then be adjusted to reduce the error. This way of adjusting weights can be called "backpropagation" because it involves a "backward pass" through the neural network.

[0048] In practice, the error gradient of the weights can be calculated over a small number of examples so that the calculated gradient is close to the true error gradient. This approximation method can be called stochastic gradient descent. Stochastic gradient descent can be repeated until the achievable error rate of the entire system stops decreasing or until the error rate reaches a target level. After learning, a new image (e.g., image 226 of a speed limit sign) can be presented to the DCN, and a forward pass through the network can produce output 222, which can be considered an inference or prediction of the DCN.

[0049] A deep belief network (DBN) is a probabilistic model that includes multiple layers of hidden nodes. A DBN can be used to extract a hierarchical representation of a training dataset. A DBN can be obtained by stacking layers of restricted Boltzmann machines (RBMs). RBMs are a type of artificial neural network that can learn a probability distribution over a set of inputs. Because RBMs can learn a probability distribution without information about the category to which each input should be classified, RBMs are often used for unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of a DBN can be trained in an unsupervised manner and can be used as a feature extractor, while the top RBM can be trained in a supervised manner (on the joint distribution of inputs from the previous layer and the target class) and can be used as a classifier.

[0050] A deep convolutional network (DCN) is a network of convolutional networks with additional pooling and normalization layers. DCNs have achieved state-of-the-art performance on many tasks. DCNs can be trained using supervised learning, where both the input and output targets are known for many examples and are used to modify the network's weights using gradient descent.

[0051] A DCN can be a feedforward network. Furthermore, as described above, connections from neurons in the first layer of a DCN to a set of neurons in the next higher layer are shared across the neurons in the first layer. The feedforward and shared connections of a DCN can be used for fast processing. For example, the computational burden of a DCN can be much smaller than that of a similarly sized neural network that includes recurrent or feedback connections.

[0052] The processing of each layer of the convolutional network can be thought of as a spatially invariant template or basis projection. If the input is first decomposed into multiple channels, such as the red, green, and blue channels of a color image, then the convolutional network trained on this input can be thought of as three-dimensional, where two spatial dimensions are along the axes of the image and the third dimension captures color information. The output of the convolutional connection can be thought of as forming a feature map in the subsequent layer, each element in which receives input from a range of neurons in the previous layer (e.g., feature map 218) and from each of the multiple channels. The values ​​in the feature map can be further processed with nonlinearities (e.g., rectification, max(0,x)). The values ​​from neighboring neurons can be further pooled, which corresponds to downsampling and can provide additional local invariance and dimensionality reduction. Normalization corresponding to whitening can also be applied by lateral inhibition between neurons in the feature map.

[0053] The performance of deep learning architectures can increase as more labeled data points become available or as computing power increases. Modern deep neural networks are often trained using computing resources that are thousands of times greater than those available to typical researchers just fifteen years ago. New architectures and training paradigms can further improve deep learning performance. Rectified linear units can alleviate the training problem known as vanishing gradients. New training techniques can reduce overfitting and, therefore, enable larger models to achieve better generalization. Encapsulation techniques can extract data within a given receptive field and further improve overall performance.

[0054] Figure 3 is a block diagram illustrating a deep convolutional network 350. The deep convolutional network 350 may include multiple different types of layers based on connections and weight sharing. Figure 3 As shown, the deep convolutional network 350 includes convolution blocks 354A and 354B. Each of the convolution blocks 354A and 354B can be configured with a convolution layer (CONV) 356, a normalization layer (LNorm) 358, and a maximum pooling layer (MAXPOOL) 360.

[0055] The convolution layer 356 may include one or more convolution filters that can be applied to the input data to generate a feature map. Although only two of the convolution blocks 354A, 354B are shown, the present disclosure is not limited thereto, but alternatively, any number of convolution blocks 354A, 354B may be included in the deep convolutional network 350 based on design preferences. The normalization layer 358 may normalize the output of the convolution filter. For example, the normalization layer 358 may provide whitening or lateral suppression. The maximum pooling layer 360 may provide downsampling aggregation in space for local invariance and dimensionality reduction.

[0056] For example, the parallel filter bank of the deep convolutional network can be loaded onto the CPU 102 or GPU 104 of the SOC 100 to achieve high performance and low power consumption. In an alternative embodiment, the parallel filter bank can be loaded onto the DSP 106 or ISP 116 of the SOC 100. In addition, the deep convolutional network 350 can access other processing blocks that may be present on the SOC 100, such as the sensor processor 114 and the navigation module 120 dedicated to sensors and navigation, respectively.

[0057] The deep convolutional network 350 may also include one or more fully connected layers 362 (FC1 and FC2). The deep convolutional network 350 may also include a logistic regression (LR) layer 364. Between each layer 356, 358, 360, 362, 364 of the deep convolutional network 350 are weights (not shown) to be updated. The output of each layer (e.g., 356, 358, 360, 362, 364) can be used as an input to a subsequent layer in the layers (e.g., 356, 358, 360, 362, 364) in the deep convolutional network 350 to learn a hierarchical feature representation from the input data 352 (e.g., image, audio, video, sensor data, and / or other input data) provided at the first convolutional block in the convolutional block 354A. The output of the deep convolutional network 350 is a classification score 366 for the input data 352. The classification score 366 can be a set of probabilities, where each probability is a probability that the input data includes a feature from a set of features.

[0058] Figure 4 4 is a block diagram illustrating an exemplary software architecture 400 that can modularize artificial intelligence (AI) functionality. According to aspects of the present disclosure, by using this architecture, applications can be designed that can enable various processing blocks (e.g., CPU 422, DSP 424, GPU 426, and / or NPU 428) of SoC 420 to support adaptive rounding for post-training quantization of AI application 402 as disclosed.

[0059] The AI ​​application 402 may be configured to call functions defined in the user space 404, which may, for example, provide detection and recognition of scenes indicating the current operating location of the device. For example, the AI ​​application 402 may configure the microphone and camera differently depending on whether the recognized scene is an office, a lecture hall, a restaurant, or an outdoor environment such as a lake. The AI ​​application 402 may make a request to compiled program code associated with a library defined in the AI ​​function application programming interface (API) 406. The request may ultimately rely on the output of a deep neural network configured to provide an inferred response based on, for example, video and positioning data.

[0060] Runtime engine 408 (which may be compiled code of the runtime framework) may further be accessible to AI application 402. For example, AI application 402 may cause the runtime engine to request inference at specific time intervals or triggered by an event detected by the application's user interface. Upon causing the runtime engine to provide an inference response, the runtime engine may in turn send a signal to an operating system (OS) space 410 running on SOC 420 (such as Linux kernel 412). The operating system may in turn cause continuous quantization relaxation to be executed on CPU 422, DSP 424, GPU 426, NPU 428, or some combination thereof. CPU 422 may be directly accessible to the operating system, while other processing blocks may be accessed through drivers (such as drivers 414, 416, or 418 for DSP 424, GPU 426, or NPU 428, respectively). In an illustrative example, a deep neural network may be configured to run on a combination of processing blocks such as CPU 422, DSP 424, and GPU 426, or may run on NPU 428.

[0061] Application 402 (e.g., an AI application) can be configured to call functions defined in user space 404 that, for example, can provide detection and recognition of a scene indicating the current operating location of the device. For example, application 402 can configure the microphone and camera differently depending on whether the identified scene is an office, a lecture hall, a restaurant, or an outdoor environment such as a lake. Application 402 can make a request to compiled program code associated with a library defined in a scene detection application programming interface (API) 406 to provide an estimate of the current scene. The request can ultimately rely on the output of a differential neural network configured to provide a scene estimate based on, for example, video and positioning data.

[0062] The runtime engine 408 (which may be compiled code of the runtime framework) may further be accessible to the application 402. For example, the application 402 may cause the runtime engine to request scene estimation at specific time intervals or triggered by an event detected by the application's user interface. When causing the runtime engine to estimate the scene, the runtime engine may in turn send a signal to the operating system 410 (such as the Linux kernel 412) running on the SOC 420. The operating system 410 may in turn cause the calculation to be performed on the CPU 422, DSP 424, GPU 426, NPU 428, or some combination thereof. The CPU 422 may be directly accessible by the operating system, while the other processing blocks may be accessed through drivers (such as drivers 414-418 for the DSP 424, GPU 426, or NPU 428, respectively). In the illustrative example, the differential neural network may be configured to run on a combination of processing blocks (such as the CPU 422 and GPU 426), or may run on the NPU 428 (if present).

[0063] According to certain aspects of the present disclosure, each fully connected layer 362 may be configured to determine parameters of the model based on one or more desired functional characteristics of the model, and to cause the one or more functional characteristics to evolve toward the desired functional characteristics as the determined parameters are further adapted, tuned, and updated.

[0064] As indicated above, Figures 1 to 4 Provided as an example. Other examples can be found in reference Figures 1 to 4 The examples described are different.

[0065] As described, zone-based federated learning can divide a space (e.g., a geographic area) into multiple zones with similar user behavior. A federated learning model can be trained for each of the defined zones. Zone-based federated learning can be implemented in a mobile-edge-cloud infrastructure, where edge nodes manage the joint training of zone-based federated learning models within each of the zones. Edge nodes can host updated models for their zones, and mobile devices can download zone models when entering a zone. Cloud devices (e.g., servers) can dynamically manage zones across the entire space (e.g., a geographic area) and can provide coordinator functionality to support load balancing and fault tolerance across edge nodes. Zone-based federated learning models can provide improved scalability over other conventional federated learning methods. That is, instead of managing models based on data distributed across a large number of devices, zone-based federated learning models can manage edge nodes that manage each of the defined zones, which are substantially smaller in number than the number of devices running through the zone-based federated learning model. Additionally, zone-based federated learning can beneficially provide lower latency for mobile users, reduce battery power consumption on mobile devices, and result in less network bandwidth consumption in the network core.

[0066] However, since federated averaging and model aggregation are performed at the zone level, managing device mobility between zones and modifying or updating zone boundaries in a dynamic manner is challenging. Therefore, aspects of the present disclosure are directed to improving the management of device mobility in zone-based federated learning.

[0067] Figure 5 is a diagram illustrating an example zone network topology 500 according to aspects of the present disclosure. Figure 5, the example zone network topology 500 includes two zones, namely zone 1 504a and zone 2 504b. For the sake of brevity and simplicity of illustration, two zones are shown, however, the zone network topology may include more than two zones. Each of the zones 504a, 504b may include a plurality of participating devices 510a-510f. Each of the participating devices 510a-510f may be a mobile communication device, such as, for example, a smart phone or an electric vehicle, or an Internet of Things (IoT) device. Each of the participating devices may be included in a group corresponding to a zone (e.g., 504a or 504b) based on one or more common attributes or settings. In some examples, participating devices (e.g., 510a-510f) may be placed in more than one group ( Figure 5 Additionally or alternatively, two or more regions may overlap ( Figure 5 As described, properties and settings may include, but are not limited to, geographic location, default language, or user interface theme. As an example, each zone 504a or 504b may be based on the geographic location of participating devices 510a-510f.

[0068] Each of the participating devices 510a-510f can interface with and communicate with one or more communicator edge nodes (e.g., 506, 508a, and 508b). In some aspects, the communicator edge nodes (e.g., 506, 508a, and 508b) can also serve as an aggregator for a given zone. The aggregator can be configured to perform zone-level joint averaging. That is, the aggregator can receive model updates calculated at each of the participating devices (e.g., 510a-510f) in a zone (e.g., 504a or 504b) and can calculate the average value for that zone. For example, the communicator edge node 508a can also serve as an aggregator for zone 1 504a. On the other hand, the communicator edge node 508b can also serve as an aggregator for zone 2 (504b). In some aspects, the communicator edge nodes (e.g., 506, 508a, and 508b) and the aggregator node can be base stations (e.g., gNode Bs). For example, in 5G NR and later deployments, mobile edge computing (MEC) devices may function as aggregators (508a) or communicators (e.g., 506, 508a, and 508b).

[0069] Each zone (e.g., 504a, 504b) may include one or more communicator edge nodes (e.g., 506) and aggregators (e.g., 508a, 508b). The aggregators (e.g., 508a, 508b) may receive a global model from the cloud device 502. The aggregator may distribute the global model to each of the participating devices in the zone. Each of the participating devices may be trained with the global model to generate a local model. Since each device may collect data and operate a local model, each of the participating devices may be retrained (e.g., based on a loss function), thereby generating a local model update. Each of the aggregators (e.g., 508a, 508b) may receive a local model update from the devices in the corresponding zone. For example, aggregator 508a may receive a local model update from devices 510a and 510b. Aggregator 508a may aggregate the local model updates and calculate the zone model update, for example, using a joint averaging process. The aggregator (eg, 508a) may then provide the zone model updates to each of the participating devices (eg, 510a-510f) in the zone. Additionally, the aggregator (eg, 508a, 508b) may provide the zone model updates to the cloud device 502 that manages the global model.

[0070] Figure 6 is a diagram illustrating an example architecture 600 for zone mobility management according to aspects of the present disclosure. Figure 6 , the example architecture 600 can be divided into three domains, including a cloud domain 602, an edge domain 604, and a mobile domain 606. The cloud domain 602 can serve as a central device for federated learning (e.g., Figure 5 Cloud domain 602 may include a zone manager 608 that is responsible for maintaining the global network topology. Zone manager 608 may handle zone management tasks such as, for example, creating new zones, combining zones, or splitting existing zones into multiple zones.

[0071] Edge domain 604 may include management devices responsible for forming zones. These management devices may include, for example, an aggregator (e.g., 508a or 508b) and one or more communicator edge devices (e.g., 506, 508a, or 508b). One or more of these management devices may function as aggregation manager 612, distribution manager 608, and configuration manager 604b.

[0072] The mobile domain 606 may include participating devices (e.g., 510a-510f) that perform data collection and local training of the zone model. Each of the participating devices may include a training manager 616, a data manager 612, and a configuration manager 610a. The data manager 612 may maintain data separately on each participating device (e.g., 510a-510f) to protect data privacy. The training manager 616 of each participating device may calculate local model updates based on the corresponding participating device data from the data manager 612. The training manager 616 may transmit the local model updates to the aggregation manager 618 of the edge domain 604.

[0073] Aggregation manager 618 in edge domain 604 can calculate zone model updates. In some aspects, aggregation manager 618 can calculate zone model updates, for example, based on a federated averaging process. Aggregation manager 618 can then provide the zone model updates to distribution manager 614. In turn, distribution manager 614 can transmit the zone model updates to participating devices in the associated zones. Additionally, distribution manager 614 can provide the zone model updates to zone managers 608 in cloud domain 602 for updating into the global model.

[0074] like Figure 6 As shown, configuration management can be decentralized across each domain in the domain. Configuration managers 610a-610c can maintain and communicate metadata for device identification, device zone membership (e.g., home zone identification), model identification, and training state information (e.g., training rounds, model-specific parameters). Additionally, configuration managers 610a-610c can also maintain and communicate metadata for, for example, home and visitor zone discovery (e.g., when participating devices travel to different zones in geo-based applications) and zone management.

[0075] Participating devices (e.g., 510a-510f) may be included in one or more zones (e.g., 504a or 504b). Each participating device may have a home zone assigned. A home zone may be the primary zone of which the participating device is a member. For example, a home zone may be the zone in which the participating devices have the most shared attributes. In one example, a home zone may be based on the geographic location of the participating devices. However, zone membership is not fixed and may be modified. Modification of zone membership may be referred to as zone mobility. Zone membership may be managed via configuration managers 610a-610c.

[0076] In some aspects, home zone membership may be selected by the user or may be set via, for example, participating device settings, user preferences, or a combination thereof. For example, home zone membership may be selected via configuration manager 610a based on a user's specified language preference (e.g., English). In another example, home zone membership may be selected via configuration manager 610a when participating devices (e.g., 510a-510f) initially participate in joint training. For example, a home zone may be determined based on the location where the participating device was purchased or the initial connection of the participating device to the service provider network. Additionally, the configuration manager 510b of the zone may set or modify the home zone of a participating device, for example, based on the time spent in the zone. The time spent in the zone may correspond to the time that an edge communicator (e.g., 506) connected to the zone (e.g., 504b) or communicating with the edge communicator.

[0077] Participating devices (e.g., 510a-510f) may also visit or migrate to other zones (e.g., geographic locations). Such zones, in addition to the home zone, may be referred to as visitor zones. A visitor zone may be a zone with which participating devices have at least some shared attributes. However, if a participating device (e.g., 510a-510f) forms more shared attributes with participating devices in the visitor zone, the participating device's zone membership may be updated so that the visitor zone may be set as the home zone for such participating device.

[0078] In some aspects, participating devices (e.g., 510a-510f) may share their home zone information with the nearest communicator node (e.g., 506, 508a, or 508b). Figure 5 , participating device 510c may have a home zone of zone 2 504b. If participating device 510c travels to zone 1 504a, participating device 510c may transmit its home zone identification information (e.g., zone 2 610b) with the nearest communicator node, such as aggregator / communicator edge node 508a.

[0079] The zone configuration manager (e.g., 610b) can determine whether the participating device is a member of the local zone (e.g., whether the current zone is the participating device's home zone). If the participating device is a visitor, the aggregator of the home zone (e.g., 508b) can be notified of the migration (e.g., visiting the visitor zone). Thus, the behavioral patterns between devices (e.g., 510a-510f) migrating between zones can be determined based on the home-visitor relationship. The zone configuration managers (e.g., 610b) for the home zone and the visitor zone can independently determine whether to include the participating device in the zone aggregation (e.g., calculating the joint average for the corresponding zones).

[0080] Figure 7A and Figure 7Bis a flow chart illustrating an example process for merging adjacent regions 700 or splitting regions 750 according to aspects of the present disclosure. Figure 7A , process 700 begins at block 702. The zone manager (e.g., 608) may initiate a zone configuration evaluation to check the zone configuration and manage the accuracy of the corresponding zone model and manage the performance of the zone-based federated learning model. Figure 7A In the example of FIG, the region manager may determine whether two adjacent regions can be merged. At block 704, the region manager may identify two regions as merge candidates (e.g., region 1 504a and region 2 504b). At block 706, the region manager may determine (e.g., periodically) whether the accuracy of the region models for the candidate regions is within a threshold. For example, the region manager may instruct one or both of the aggregators of the candidate regions to determine whether the difference in the accuracy of the region models is within a threshold (e.g., less than 5%). If the difference in the accuracy of the region models for the candidate regions is greater than the threshold, the candidate regions may not be merged, and the process may end at block 714. On the other hand, if the difference in the accuracy of the candidate regions is less than the threshold, the process may continue at block 708. In some aspects, the candidate regions may be merged.

[0081] At block 708, the zone manager may select one or more participating devices from each zone to evaluate the zone model of another candidate zone. Figure 5 The zone manager of the cloud device 502 may instruct the participant device 510a of zone 1 504a to evaluate the accuracy of the zone model of zone 2 504b. The zone manager of the cloud device 502 may also instruct the participant devices 510c and 510f to evaluate the accuracy of the zone model of zone 1 504a.

[0082] At block 710, the zone manager may determine whether the model accuracy of the candidate zones is within a threshold. For example, if the model accuracy of zone 2 as evaluated via participating device 510 is within a threshold of the model accuracy of zone 1 as evaluated via participating devices 510c and 510f, the zone manager may merge the candidate zones (e.g., zone 1 and zone 2). Conversely, if the model accuracy of zone 2 as evaluated via participating device 510 is within a threshold of the model accuracy of zone 1 as evaluated via participating devices 510c and 510f, the zone manager may determine that the candidate zones may not be merged.

[0083] In some aspects, the zone manager can further generate and provide a zone configuration update to the configuration manager (610b). The zone configuration update can reassign one of the aggregators as, for example, a communicator node. The configuration manager (e.g., 610b) can instruct participating devices in each of the candidate zones to set their home zone to the merged zone.

[0084] Thereafter, at block 714, process 700 may end.

[0085] It should be noted that although Figure 7A An example process for merging zones is provided, but other processes for merging zones may be employed. For example, in some aspects, zones may be combined based on the frequency of migration or the number of devices (e.g., 510a-510f) that migrate between zones. For example, if the frequency of migration or the number of participating devices exceeds a threshold, zones may be merged.

[0086] Figure 7B 7 is a flow chart illustrating an example process 750 for splitting a zone. If the model accuracy in a particular zone begins to decrease relative to other zones, it may be beneficial to split the zone. At box 752, the process may begin. For example, the zone manager may monitor the zone configuration (e.g., the number of participating devices) and the performance of each zone model in the zone-based federated learning model. At box 754, the zone manager may determine whether the model accuracy of the zone is below a threshold. In some aspects, the model accuracy may be evaluated relative to one or more other zones. If the model accuracy is above the threshold, the zone configuration may be maintained (e.g., the zone may not be split). On the other hand, if the model accuracy is below the threshold, at box 758, the zone manager may identify edge nodes with the zone to form candidate sub-zones. At box 760, the zone manager may identify one or more edge devices in each sub-zone. Each of the identified edge devices in the sub-zone may train a new model for the corresponding sub-zone.

[0087] At block 762, the model accuracy of the sub-zone model may be evaluated. If the model accuracy of the sub-zone model is not better than (e.g., less than) the model accuracy of the larger zone, the zone may not be split. However, if the model accuracy of the sub-zone is better than (e.g., higher than) the model accuracy of the larger zone by a threshold, then at block 764, the larger zone may be split into the identified sub-zones. The zone manager may generate a zone configuration update indicating the splitting of the larger zone into sub-zones. The zone configuration update may be transmitted to the aggregators of the sub-zones. Each of the aggregators may instruct the edge devices in the sub-zones to update the home zone to the corresponding sub-zone.

[0088] Thereafter, at block 766, process 750 may end.

[0089] although Figure 7B An example process for splitting or partitioning a zone is provided, but other processes may be employed. For example, in some aspects, a configuration manager for the zone (e.g., 610b) may monitor device mobility within the zone to determine whether splitting may improve accuracy. For example, if there is very little device mobility between two sub-zones of a large zone, the zone manager may split the large zone into sub-zones if splitting improves overall accuracy.

[0090] Figure 8is a flow chart illustrating a method 800 for zone management in zone-based federated learning according to aspects of the present disclosure. In block 802, the method 800 receives a global model from a first network device associated with a global model at a zone management device in a plurality of zone management devices. Each zone management device in the plurality of zone management devices is associated with a corresponding zone model in a plurality of zone models. For example, Figure 5 As shown, each zone (e.g., 504a, 504b) may include an aggregator (e.g., 508a, 508b). The aggregator (e.g., 508a, 508b) may communicate with each of the participating devices in the zone. The aggregator may manage the zone by aggregating locally updated zone models from each of the participating devices in the zone. The aggregator may receive a global model from the cloud device 502. The aggregator may distribute the global model to each of the participating devices in the zone. Each of the participating devices may be trained with the global model to generate a local model.

[0091] At block 804, method 800 transmits a global model from the zone management device to a mobile device in a first zone associated with a first zone model based on zone membership. As described, the aggregator can distribute the global model to each of the participating devices in the zone. In some aspects, the aggregator can limit the distribution to participating devices that identify the corresponding zone as a home zone.

[0092] At block 806, method 800 receives, at the zone management device, weights associated with the global model from each mobile device in the first zone. Figure 5 As described, the aggregator can communicate with each of the participating devices in the zone. The aggregator can receive local model updates from each of the participating devices in the zone.

[0093] At block 808, method 800 updates the first zone model at the zone management device based on the received weights and zone membership. The aggregator may receive local updates from each of the participating devices in the zone. The aggregator may aggregate local model updates from the participating devices indicating that the zone is their home zone.

[0094] At block 810, method 800 transmits the updated first zone model from the zone management device to each mobile device in the first zone. The aggregator may distribute the zone model update to each of the participating devices in the zone. In some aspects, the zone model update may be distributed to devices that identify the zone as a home zone.

[0095] Specific implementation examples are provided in the following numbered clauses.

[0096] 1. A method for managing model updates, comprising:

[0097] receiving, at a zone management device of a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device of the plurality of zone management devices being associated with a corresponding zone model of a plurality of zone models;

[0098] transmitting the global model from the zone management device to a mobile device in a first zone associated with a first zone model based on zone membership;

[0099] receiving, at the zone management device, a weight associated with the global model from each mobile device in the first zone;

[0100] updating, at the zone management device, the first zone model based on the received weights and the zone membership; and

[0101] The updated first zone model is transmitted from the zone management device to each mobile device in the first zone.

[0102] 2. The method of clause 1, wherein the zone membership is determined based on at least one of a selection, a setting, or a preference indicated via each of the mobile devices.

[0103] 3. The method of clause 1 or 2, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices.

[0104] 4. A method according to any of clauses 1 to 3, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

[0105] 5. The method of any of clauses 1 to 4, further comprising: determining a home zone for the at least one mobile device; and updating the first zone model based on the home zone determination.

[0106] 6. A method according to any of clauses 1 to 5, wherein the first zone is merged with the second zone based on a difference between a first zone model accuracy of the first zone and a second zone model accuracy of the second zone.

[0107] 7. A method according to any of clauses 1 to 6, wherein the first region is divided into a plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of the sub-region models.

[0108] 8. An apparatus for managing model updates, comprising:

[0109] Memory; and

[0110] at least one processor coupled to the memory, the at least one processor configured to:

[0111] receiving, at a zone management device of a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device of the plurality of zone management devices being associated with a corresponding zone model of a plurality of zone models;

[0112] transmitting the global model from the zone management device to a mobile device in a first zone associated with a first zone model based on zone membership;

[0113] receiving, at the zone management device, a weight associated with the global model from each mobile device in the first zone;

[0114] updating, at the zone management device, the first zone model based on the received weights and the zone membership; and

[0115] The updated first zone model is transmitted from the zone management device to each mobile device in the first zone.

[0116] 9. The apparatus of clause 8, wherein the at least one processor is further configured to determine the zone membership based on at least one of a selection, a setting, or a preference indicated via each of the mobile devices.

[0117] 10. The apparatus of clause 8 or 9, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices.

[0118] 11. Apparatus according to any of clauses 8 to 10, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

[0119] 12. An apparatus according to any of clauses 8 to 11, wherein the at least one processor is further configured to:

[0120] determining a home zone of the at least one mobile device; and

[0121] The first zone model is updated based on the home zone determination.

[0122] 13. An apparatus according to any of clauses 8 to 12, wherein the at least one processor is further configured to merge the first zone with the second zone based on a difference between a first zone model accuracy of the first zone and a second zone model accuracy of the second zone.

[0123] 14. An apparatus according to any of clauses 8 to 13, wherein the at least one processor is further configured to divide the first zone into a plurality of sub-zones based on a comparison of a first model accuracy of the first zone model and a second model accuracy of the sub-zone model.

[0124] 15. A device for managing model updates, comprising:

[0125] means for receiving, at a zone management device of a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device of the plurality of zone management devices being associated with a corresponding zone model of a plurality of zone models;

[0126] means for transmitting the global model from the zone management device to a mobile device in a first zone associated with a first zone model based on zone membership;

[0127] means for receiving, at the zone management device, a weight associated with the global model from each mobile device in the first zone;

[0128] means for updating, at the zone management device, the first zone model based on the received weights and the zone membership; and

[0129] Means for transmitting the updated first zone model from the zone management device to each mobile device in the first zone.

[0130] 16. The apparatus of clause 15, further comprising means for determining the zone membership based on at least one of a selection, a setting, or a preference indicated via each of the mobile devices.

[0131] 17. The apparatus of clause 15 or 16, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices.

[0132] 18. Apparatus according to any of clauses 15 to 17, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

[0133] 19. The apparatus of any one of clauses 15 to 18, further comprising means for:

[0134] determining a home zone for the at least one mobile device; and updating the first zone model based on the home zone determination.

[0135] 20. Apparatus according to any of clauses 15 to 19, further comprising means for merging the first zone with the second zone based on a difference between a first zone model accuracy of the first zone and a second zone model accuracy of the second zone.

[0136] 21. Apparatus according to any of clauses 15 to 20, further comprising means for dividing the first region into a plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of a sub-region model.

[0137] 22. A non-transitory computer-readable medium having encoded thereon program code for managing model updates, the program code being executed by a processor and comprising:

[0138] program code for receiving, at a zone management device in a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device in the plurality of zone management devices being associated with a corresponding zone model in a plurality of zone models;

[0139] program code for transmitting the global model from the zone management device to a mobile device in a first zone associated with a first zone model based on zone membership;

[0140] program code for receiving, at the zone management device, a weight associated with the global model from each mobile device in the first zone;

[0141] program code for updating, at the zone management device, the first zone model based on the received weights and the zone membership; and

[0142] Program code is provided for transmitting, from the zone management device to each mobile device in the first zone, the updated first zone model.

[0143] 23. The non-transitory computer-readable medium of clause 22, further comprising program code for determining the zone membership based on at least one of a selection, setting, or preference indicated via each of the mobile devices.

[0144] 24. The non-transitory computer-readable medium of clause 21 or 22, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices.

[0145] 25. The non-transitory computer-readable medium of any of clauses 22 to 24, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

[0146] 26. The non-transitory computer-readable medium of any one of clauses 22 to 25, further comprising:

[0147] Program code for determining a home zone of the at least one mobile device; and

[0148] Program code for updating the first zone model based on the home zone determination.

[0149] 27. The non-transitory computer-readable medium of any of clauses 22 to 26, further comprising program code for merging the first zone with the second zone based on a difference in a first zone model accuracy for the first zone and a second zone model accuracy for the second zone.

[0150] 28. The non-transitory computer-readable medium of any one of clauses 22 to 27, further comprising program code for dividing the first region into a plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of the sub-region model.

[0151] In one aspect, the receiving means, the transmitting means, the means for receiving the weights, the updating means, and / or the means for transmitting the updated first region may be the CPU 102, a program memory associated with the CPU 102, the dedicated memory block 118, the fully connected layer 362, and / or the routing connection processing unit 216 configured to perform the recited functions. In another configuration, the aforementioned means may be any module or any device configured to perform the functions recited by the aforementioned means.

[0152] The various operations of the above methods may be performed by any suitable device capable of performing the corresponding functions. These devices may include various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs), or processors. Generally speaking, where operations are illustrated in the accompanying drawings, these operations may have corresponding paired device-plus-function components with similar numbers.

[0153] As used herein, the term "determine" encompasses a wide variety of actions. For example, "determine" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, database, or another data structure), ascertaining, and the like. Additionally, "determine" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Furthermore, "determine" may include resolving, selecting, choosing, establishing, and the like.

[0154] As used, a phrase referring to "at least one of" a list of items refers to any combination of those items, including single members. As an example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc.

[0155] The various illustrative logical blocks, modules, and circuits described in conjunction with this disclosure may be implemented or performed using a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic components, discrete hardware components, or any combination thereof, designed to perform the functions described. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.

[0156] The steps of the method or process described in conjunction with the present disclosure can be implemented directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module can reside in any form of storage medium known in the art. Some examples of usable storage media include random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, CD-ROMs, etc. The software module may include a single instruction, perhaps multiple instructions, and may be distributed over several different code segments, distributed between different programs, and distributed across multiple storage media. A storage medium may be coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. In an alternative, the storage medium may be integral with the processor.

[0157] The disclosed methods include one or more steps or actions for achieving the described method. The method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.

[0158] The functions described herein can be implemented using hardware, software, firmware, or any combination thereof. If implemented in hardware, an example hardware configuration may include a processing system in a device. The processing system may be implemented using a bus architecture. Depending on the specific application and overall design constraints of the processing system, the bus may include any number of interconnecting buses and bridges. The bus may link various circuits together, including a processor, a machine-readable medium, and a bus interface. In addition, a bus interface may be used to connect a network adapter, etc., to the processing system via the bus. The network adapter may be used to implement signal processing functions. For certain aspects, a user interface (e.g., a keypad, a display, a mouse, a joystick, etc.) may also be connected to the bus. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and will not be described further.

[0159] The processor may be responsible for managing the bus and general processing, including executing software stored on the machine-readable medium. The processor may be implemented using one or more general-purpose processors and / or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits that can execute software. Software should be broadly interpreted as representing instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or other. As an example, the machine-readable medium may include random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. The machine-readable medium may be embodied in a computer program product. The computer program product may include packaging materials.

[0160] In a hardware implementation, the machine-readable medium may be part of a processing system separate from the processor. However, as will be readily appreciated by those skilled in the art, the machine-readable medium or any portion thereof may be external to the processing system. As an example, the machine-readable medium may include a transmission line, a carrier wave modulated by data, and / or a computer product separate from the device, all of which may be accessed by the processor via a bus interface. Alternatively or in addition, the machine-readable medium or any portion thereof may be integrated into the processor, such as in the case of a cache and / or general register file. Although the various components discussed may be described as having specific locations, such as local components, they may also be configured in various ways, such as with certain components being configured as part of a distributed computing system.

[0161] The processing system can be configured as a general processing system having one or more microprocessors providing processor functionality and an external memory providing at least a portion of a machine-readable medium, all of which are linked together with other support circuits via an external bus architecture. Alternatively, the processing system can include one or more neuromorphic processors for implementing the described neuron model and neural system model. As another alternative, the processing system can be implemented using an application specific integrated circuit (ASIC) having a processor, a bus interface, a user interface, support circuits, and at least a portion of a machine-readable medium integrated in a single chip, or implemented using one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gating logic, discrete hardware components, or any other suitable circuits, or circuits capable of performing the various functionalities described throughout this disclosure. Those skilled in the art will recognize how best to implement the functionality of the processing system depending on the specific application and the overall design constraints imposed on the entire system.

[0162] The machine-readable medium may include multiple software modules. These software modules include instructions that, when executed by a processor, cause a processing system to perform various functions. The software modules may include a transmission module and a reception module. Each software module may reside in a single storage device or be distributed across multiple storage devices. By way of example, when a triggering event occurs, a software module may be loaded from a hard drive into RAM. During execution of the software module, the processor may load some of the instructions into a cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor. When reference is made below to the functionality of a software module, it will be understood that such functionality is implemented by the processor when executing instructions from the software module. Furthermore, it should be understood that aspects of the present disclosure result in improvements to the functionality of a processor, computer, machine, or other system implementing such aspects.

[0163] If implemented in software, each function can be stored on a computer-readable medium as one or more instructions or codes or transmitted therethrough. Computer-readable media includes both computer storage media and communication media, and communication media includes any medium that facilitates a computer program to be transmitted from one place to another. Storage media can be any available medium that a computer can access. Exemplarily and not restrictively, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of an instruction or data structure and can be accessed by a computer. In addition, any connection is also appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared (IR), radio, and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the definition of medium. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc. ) optical disks, where magnetic disks typically reproduce data magnetically, while optical disks reproduce data optically using lasers. Thus, in some aspects, computer-readable media may include non-transitory computer-readable media (e.g., tangible media). Moreover, for other aspects, computer-readable media may include transitory computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media.

[0164] Thus, some aspects may include a computer program product for performing the operations presented. For example, such a computer program product may include a computer-readable medium having stored (and / or encoded) thereon instructions, which are executable by one or more processors to perform the described operations. For some aspects, the computer program product may include packaging materials.

[0165] In addition, it should be understood that the modules and / or other appropriate means for performing the described methods and techniques can be downloaded and / or otherwise obtained by the user terminal and / or base station when applicable. For example, such a device can be coupled to a server to facilitate the transfer of the means for performing the described methods. Alternatively, the various methods described can be provided via a storage device (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or a floppy disk, etc.) so that once the storage device is coupled to or provided to the device, the user terminal and / or base station can obtain the various methods. In addition, any other suitable technology suitable for providing the described methods and techniques to the device can be utilized.

[0166] It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.

Claims

1. A method for managing model updates, comprising: receiving, at a zone management device in a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device in the plurality of zone management devices being associated with one of the plurality of zones and a corresponding zone model in the plurality of zone models; transmitting the global model from the zone management device to a mobile device in a first zone of the plurality of zones, the first zone being associated with a first zone model; receiving, at the zone management device, from each mobile device in the first zone, a weight associated with a local model update of the global model; updating, at the zone management device, the first zone model based on the received weights and a zone membership of each of the mobile devices, the zone membership of each mobile device being determined at least in part based on zone mobility of each of the mobile devices between the first zone and other zones of the plurality of zones, respectively; and The updated first zone model is transmitted from the zone management device to each mobile device in the first zone. 2 . The method of claim 1 , wherein the zone membership is determined based on at least one of a selection, a setting, or a preference indicated via each of the mobile devices. 3 . The method of claim 1 , wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices. The method of claim 3 , wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

5. The method according to claim 4, further comprising: determining a home zone for the at least one mobile device; and updating the first zone model based on the home zone determination.

6. The method of claim 1, wherein the first zone is merged with the second zone based on a comparison of a difference between a first zone model accuracy of the first zone of the plurality of zones and a second zone model accuracy of the second zone of the plurality of zones and a predefined threshold. 7 . The method of claim 1 , wherein the first region among the plurality of regions is segmented into the plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of a sub-region model corresponding to one of the plurality of sub-regions.

8. An apparatus for managing model updates, comprising: Memory; and at least one processor coupled to the memory, the at least one processor configured to: receiving, at a zone management device in a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device in the plurality of zone management devices being associated with one of the plurality of zones and a corresponding zone model in the plurality of zone models; transmitting the global model from the zone management device to a mobile device in a first zone of the plurality of zones, the first zone being associated with a first zone model; receiving, at the zone management device, from each mobile device in the first zone, a weight associated with a local model update of the global model; updating, at the zone management device, the first zone model based on the received weights and a zone membership of each of the mobile devices, the zone membership of each mobile device being determined at least in part based on zone mobility of each of the mobile devices between the first zone and other zones of the plurality of zones, respectively; and The updated first zone model is transmitted from the zone management device to each mobile device in the first zone.

9. The apparatus of claim 8, wherein the at least one processor is further configured to determine the zone membership based on at least one of a selection, a setting, or a preference indicated via each of the mobile devices.

10. The apparatus of claim 8, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices. 11 . The apparatus of claim 10 , wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

12. The apparatus of claim 11 , wherein the at least one processor is further configured to: determining a home zone of the at least one mobile device; and The first zone model is updated based on the home zone determination.

13. The apparatus of claim 8, wherein the at least one processor is further configured to merge the first zone with the second zone based on a comparison of a difference between a first zone model accuracy of the first zone among the plurality of zones and a second zone model accuracy of the second zone among the plurality of zones with a predefined threshold.

14. The apparatus of claim 8, wherein the at least one processor is further configured to divide the first of the plurality of regions into the plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of a sub-region model corresponding to one of the plurality of sub-regions.

15. A device for managing model updates, comprising: means for receiving the global model from a first network device associated with the global model at a zone management device of a plurality of zone management devices, each zone management device of the plurality of zone management devices being associated with a zone of the plurality of zones and a corresponding zone model of the plurality of zone models; means for transmitting the global model from the zone management device to a mobile device in a first zone of the plurality of zones, the first zone being associated with a first zone model; means for receiving, at the zone management device, from each mobile device in the first zone, a weight associated with a local model update of the global model; means for updating, at the zone management device, the first zone model based on the received weights and a zone membership of each of the mobile devices, the zone membership of each mobile device being determined at least in part based on zone mobility of each of the mobile devices between the first zone and other zones of the plurality of zones, respectively; and Means for transmitting the updated first zone model from the zone management device to each mobile device in the first zone.

16. The apparatus according to claim 15, further comprising: Means for determining the zone membership based on at least one of a selection, setting, or preference indicated via each of the mobile devices.

17. The device of claim 15, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices.

18. The apparatus of claim 17, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

19. The apparatus according to claim 18, further comprising: Means for determining a home zone for the at least one mobile device; and updating the first zone model based on the home zone determination.

20. The apparatus of claim 15, further comprising: Means for merging the first zone with the second zone of the plurality of zones based on a comparison of a difference between a first zone model accuracy of the first zone of the plurality of zones and a second zone model accuracy of a second zone of the plurality of zones and a predefined threshold.

21. The apparatus of claim 15, further comprising: Means for dividing the first of the plurality of regions into the plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of a sub-region model corresponding to one of the plurality of sub-regions.

22. A non-transitory computer-readable medium having encoded thereon program code for managing model updates, the program code being executed by a processor and comprising: program code for receiving, at a zone management device in a plurality of zone management devices, the global model from a first network device associated with the global model, each zone management device in the plurality of zone management devices being associated with a zone in the plurality of zones and a corresponding zone model in the plurality of zone models; program code for transmitting the global model from the zone management device to a mobile device in a first zone of the plurality of zones, the first zone being associated with a first zone model; program code for receiving, at the zone management device, from each mobile device in the first zone, a weight associated with a local model update of the global model; program code for updating, at the zone management device, the first zone model based on the received weights and a zone membership of each of the mobile devices, the zone membership of each mobile device being determined at least in part based on zone mobility of each of the mobile devices between the first zone and other zones of the plurality of zones, respectively; and Program code is provided for transmitting, from the zone management device to each mobile device in the first zone, the updated first zone model.

23. The non-transitory computer-readable medium of claim 22, further comprising: Program code is provided for determining the zone membership based on at least one of a selection, setting, or preference indicated via each of the mobile devices.

24. The non-transitory computer-readable medium of claim 22, wherein the first zone is defined based on one or more first common characteristics of each of the mobile devices.

25. The non-transitory computer-readable medium of claim 24, wherein at least one mobile device having a first zone membership of the first zone has a second zone membership of a second zone.

26. The non-transitory computer readable medium of claim 25, further comprising: program code for determining a home zone of the at least one mobile device; and Program code for updating the first zone model based on the home zone determination.

27. The non-transitory computer-readable medium of claim 22, further comprising: Program code for merging the first zone with a second zone of the plurality of zones based on a comparison of a difference between a first zone model accuracy of the first zone of the plurality of zones and a second zone model accuracy of the second zone of the plurality of zones and a predefined threshold.

28. The non-transitory computer-readable medium of claim 22, further comprising: Program code for dividing the first of the plurality of regions into the plurality of sub-regions based on a comparison of a first model accuracy of the first region model and a second model accuracy of a sub-region model corresponding to one of the plurality of sub-regions.