Method, apparatus and computer readable medium for managing model updates

TWI942932BActive Publication Date: 2026-10-21QUALCOMM TECHNOLOGIES INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
TW111138238
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-11-02
Filing Date
2022-10-07
Publication Date
2026-10-21
Estimated Expiration
2042-10-06

AI Technical Summary

Technical Problem

Federated learning methods for mobile sensing data face challenges in model accuracy due to non-independent and identically distributed data across regions, leading to privacy trade-offs and inadequate adaptability to local user behavior.

Method used

Region-based federated learning partitions geographical areas into regions with similar user behaviors, using edge node management for joint training and dynamic management of region boundaries, enabling improved scalability, lower latency, and reduced power consumption.

Benefits of technology

Region-based federated learning enhances model accuracy by adapting to local user behaviors, providing improved scalability, lower latency, and reduced network bandwidth consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001916668_001
    Figure TWG2TB001916668_001
  • Figure TWG2TB001916668_002
    Figure TWG2TB001916668_002
  • Figure TWG2TB001916668_003
    Figure TWG2TB001916668_003
Patent Text Reader

Abstract

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

Description

Action-oriented and regional management in region-based joint learning This patent application claims priority to U.S. Patent Application No. 17 / 517,633, filed November 2, 2021, entitled "MOBILITY AND ZONE MANAGEMENT IN ZONE-BASED FEDERATED LEARNING," the disclosure of which is expressly incorporated herein by reference in its entirety. In general, the subject matter of this case concerns neural networks, and more specifically, the subject matter of this case concerns technologies and apparatuses for mobility and region management in region-based collaborative learning. Federation learning is a method for coordinating the training of neural networks across multiple users without the need for data collection at a central location. Due to the dispersed nature of the data, federated learning is advantageous for applications where privacy is a critical factor. General federated learning solutions for mobile-sensed data (e.g., data collected from smartphones) suffer from problems with model accuracy due to a lack of adaptation to user behavioral patterns. In large geographic areas (e.g., cities), user behavior and its underlying mobile-sensed data often vary by region (e.g., urban area). For example, users in a commercial area may behave differently than those in a shopping area. Global models across all regions may be affected by the non-independent and identically distributed (non-IID) data distribution across regions. Using general methods to improve model accuracy for non-IID data may result in privacy trade-offs (e.g., data augmentation) and may still not adapt well to localized mobile user behavior. The contents of this case are described in the separate independent claims. Some aspects of the contents of this case are described in the dependent claims. In one embodiment of this invention, 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 one of a plurality of regional management devices. Each of the plurality of regional management devices is associated with a corresponding regional model among the plurality of regional models. The method also includes: sending the global model from the regional management device to mobile devices in a first region associated with the first regional model based on regional membership. Additionally, the method includes: receiving weights associated with the global model from each mobile device in the first region at the regional management device. The method also includes: updating the first regional model at the regional management device based on the received weights and the regional membership. Furthermore, the method includes: sending the updated first regional model from the regional management device to each mobile device in the first region. In one embodiment of this invention, an apparatus for managing model updates is provided. The apparatus includes 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 the global model at one of a plurality of regional management devices. Each of the plurality of regional management devices is associated with a corresponding regional model among the plurality of regional models. The processor is also configured to send the global model from the regional management device to mobile devices in a first region associated with the first regional model based on regional membership. Furthermore, the processor is configured to receive weights associated with the global model from each mobile device in the first region at the regional management device. The processor is also configured to update the first regional model at the regional management device based on the received weights and the regional membership. Additionally, the processor is configured to send the updated first regional model from the regional management device to each mobile device in the first region. In one embodiment of this invention, an apparatus for managing model updates is provided. The apparatus includes: a unit for receiving a global model from a first network device associated with a global model at one of a plurality of regional management devices. Each of the plurality of regional management devices is associated with a corresponding regional model among the plurality of regional models. The apparatus also includes: a unit for transmitting the global model from the regional management device to mobile devices in a first region associated with the first regional model based on regional membership. Additionally, the apparatus includes: a unit for receiving weights associated with the global model from each mobile device in the first region at the regional management device. The apparatus also includes: a unit for updating the first regional model at the regional management device based on the received weights and the regional membership. Furthermore, the apparatus includes: a unit for transmitting the updated first regional model from the regional management device to each mobile device in the first region. In this embodiment, a non-transitory computer-readable medium is provided. The computer-readable medium has code encoded thereon for managing model updates. This code is executed by a processor and includes code for receiving a global model from a first network device associated with the global model at one of a plurality of regional management devices. Each of the plurality of regional management devices is associated with a corresponding regional model among the plurality of regional models. The code also includes code for sending the global model from the regional management device to mobile devices in a first region associated with the first regional model based on regional membership. Additionally, the code includes code for receiving weights associated with the global model from each mobile device in the first region at the regional management device. The code also includes code for updating the first regional model at the regional management device based on the received weights and the regional membership. Furthermore, the code includes code for sending the updated first regional model from the regional management device to each mobile device in the first region. Various types typically include methods, apparatuses, systems, computer program products, non-transitory computer-readable media, user equipment, base stations, wireless communication devices, and processing systems as generally described with reference to the accompanying drawings and specifications, and as shown in the accompanying drawings and specifications. To better understand the embodiments described below, the foregoing has broadly outlined the features and technical advantages of examples based on the present invention. Further features and advantages will be described. The disclosed concepts and specific examples can be readily used as a basis for modifications or the design of other structures to achieve the same purpose as the present invention. These equivalent structures do not depart from the scope of the appended claims. The characteristics of the disclosed concepts (their organization and operation) along with their associated advantages will be better understood from the following description when considered in conjunction with the accompanying drawings. Each of the drawings is provided for illustrative and descriptive purposes and not as a limitation of the claims. The embodiments described below with reference to the accompanying drawings are intended as a description of various configurations, and not as representing the only configuration in which the described concepts can be implemented. To provide a thorough understanding of the various concepts, the detailed description includes specific details. However, it will be apparent to those skilled in the art to which this invention pertains that these design concepts can be implemented without these specific details. In some cases, well-known structures and components are shown in block diagram form to avoid obscuring these concepts. Based on the teachings, those skilled in the art to which this invention pertains should understand that the scope of this application is intended to cover any form of the application, whether implemented independently of or in combination with any other form of the application. For example, any number of the described forms can be used to implement an apparatus or method. Furthermore, the scope of this application is intended to cover such an apparatus or method implemented using structures, functions, or structures and functions other than or different from the various forms of the described disclosure. It should be understood that any form of the disclosed application can be embodied by one or more elements in the claim. The term "exemplary" as used means "serving as an example, illustration, or explanation." Any state described as "exemplary" is not necessarily to be interpreted as preferred or superior to other states. Although specific configurations are described, various variations and substitutions of these configurations fall within the scope of this application. While some benefits and advantages of preferred configurations are mentioned, the scope of this application is not intended to be limited to specific benefits, uses, or objectives. Rather, the configurations described herein are intended to be broadly applicable to different technologies, system configurations, networks, and protocols, some of which are illustrated by way of example in the figures and in the following description of preferred configurations. The embodiments and figures are illustrative only and not restrictive, and the scope of this application is defined by the appended claims and their equivalents. As described, federated learning is a method for coordinating the training of neural networks across multiple users without the need for data collection at a central location. Because data is distributed, federated learning is advantageous for applications where privacy is a critical factor. General federated learning solutions for motion-sensing data (e.g., data collected from smartphones) suffer from problems with model accuracy due to a lack of adaptation to user behavioral patterns. In large geographic areas (e.g., cities), user behavior and its underlying motion-sensing data often vary by region (e.g., urban area). For example, users in a commercial area may behave differently than users in a shopping area. Global models across all regions may be affected by the non-independent and identically distributed (non-IID) data distribution across regions. Using general methods to improve model accuracy for non-IID data may result in privacy trade-offs (e.g., data augmentation) and may still not adapt well to localized user behavior. Region-based joint learning can divide a space (e.g., a geographic region) into multiple regions with similar user behaviors. A joint learning model can be trained for each defined region. Region-based joint learning can be implemented in a mobile edge cloud infrastructure, where edge nodes manage the joint training of the region-based joint learning model for each region. Edge nodes can host updated models for their regions, and mobile devices can download the region model when entering a region. In this way, mobile devices can participate in joint learning and can be referred to as participating devices. Cloud devices (e.g., servers) can dynamically manage regions across an entire space (e.g., a geographic region) and provide coordinator functionality to support load balancing and fault tolerance across edge nodes. Compared to other general federated learning methods, region-based federated learning models offer improved scalability. That is, instead of managing the model based on data distributed across a large number of devices, region-based federated learning models can manage edge nodes that manage each defined region, and the number of these regions is much smaller than the number of devices in the overall region-based federated learning model. Furthermore, region-based federated learning can beneficially provide lower latency for mobile service users, reduce battery power consumption on mobile devices, and can lead to reduced network bandwidth consumption in the network core. Region-based joint learning models are also widely applicable. For example, region-based joint learning can improve the performance of models for various location-based services and applications. In one instance, region-based joint learning can be applied to parking locator services. In this example, the model can provide recommendations for streets or street segments where drivers can find available parking spaces at a given time. This recommendation can be based on data collected from participating devices in the region, such as mobile devices, IoT devices, or electric vehicles. Parking conditions can vary significantly across regions and over time. In another example, region-based joint learning models can provide recommendations for locations (e.g., tourist attractions, shops, restaurants, etc.) or events within a region. For instance, in a shopping area, a user might receive recommendations for shops, while in a tourist area, the model might recommend tourist attractions. Similarly, region-based joint learning models can suggest local events (social events, concerts, sports, hobbies, etc.) and predict whether a user might be interested in attending these events. Event recommendations can be made based on the spatiotemporal relationship between learned events and user interests over time. Other applications of region-based joint learning models include advertising, health and wellness recommendations, and smartphone optimization. However, managing device mobility across regions and dynamically modifying or updating region boundaries is challenging due to the joint averaging and model aggregation performed at the region level. Therefore, in order to address these and other challenges, the nature of this case involves improving device mobility management in region-based federated learning. Figure 1 illustrates an example implementation of a System-on-Chip (SOC) 100, which may include a Central Processing Unit (CPU) 102 or a multi-core CPU configured to manage region configuration and model updates in region-based joint learning according to certain aspects of the present invention. Variables (e.g., neural signals and synaptic weights), system parameters associated with the computing device (e.g., weighted neural networks), 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 the program memory associated with the CPU 102 or from memory block 118. SOC 100 may also include additional processing blocks tailored for specific functions, such as GPU 104, DSP 106, and connectivity block 110, which may include 5G connectivity, 4G LTE connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, etc., and multimedia processor 112 that can, for example, detect and recognize gestures. In one implementation, the NPU is implemented in the CPU, DSP, and / or GPU. SOC 100 may also include sensor processor 114, image signal processor (ISP) 116, and / or navigation module 120, which may include a global positioning system. SOC 100 may be based on the ARM instruction set. In one embodiment of this invention, the instructions loaded into CPU 102 may include code for receiving a global model from a first network device associated with a global model at one of a plurality of regional management devices. Each of the plurality of regional management devices is associated with a corresponding regional model among the plurality of regional models. The instructions loaded into CPU 102 may also include code for sending the global model from the regional management device to a mobile device in a first region associated with the first regional model based on regional membership. The instructions loaded into CPU 102 may also include code for receiving weights associated with the global model from each mobile device in the first region at the regional management device. The instructions loaded into CPU 102 may also include code for updating the first regional model at the regional management device based on the received weights and regional membership. The instructions loaded into CPU 102 may also include code for sending the updated first regional model from the regional management device to each mobile device in the first region. Deep learning architectures can perform object recognition tasks by learning to represent inputs at progressively higher levels of abstraction in each layer, thereby constructing useful feature representations of the input data. In this way, deep learning addresses a major bottleneck in traditional machine learning. Before the advent of deep learning, machine learning methods for object recognition problems often relied heavily on human-engineered features, possibly combined with shallow classifiers. Shallow classifiers could be, for example, binary linear classifiers, where a weighted sum of feature vector components is compared to a threshold to predict which class the input belongs to. Human-engineered features could be templates or cores tailored for a specific problem domain by engineers with domain expertise. In contrast, deep learning architectures can learn features that are similar to those that human engineers might design, but require training. Furthermore, deep networks can learn to represent and recognize novel features that humans might not have considered. Deep learning architectures can learn hierarchical structures of features. For example, when presented with visual data, the first layer can learn to recognize relatively simple features in the input stream, such as edges. In another instance, when 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. Higher layers can also learn to recognize common visual objects or spoken phrases. Deep learning architectures can perform particularly well when applied to problems with a natural hierarchical structure. For example, classifying motor vehicles can benefit from first learning to identify features such as wheels, windshields, and others. These features can then be combined in different ways at higher levels to identify cars, trucks, and airplanes. Neural networks can be designed with a variety of connection patterns. In feedforward networks, information is passed from lower layers to higher layers, where each neuron in a given layer communicates with neurons in higher layers. As described above, hierarchical representations can be built in successive layers of a feedforward network. Neural networks can also have recurrent or feedback (also known as top-down) connections. In recurrent connections, the output of a neuron in a given layer can be fed to another neuron in the same layer. Recurrent architectures can help identify patterns across more than one block of input data that is sequentially passed to the neural network. Connections from neurons in a given layer to neurons in lower layers are called feedback (or top-down) connections. Networks with many feedback connections may be useful when the identification of higher-level concepts may help distinguish specific lower-level features of the input. The connections between layers of a neural network can be fully connected or partially connected. Figure 2A illustrates an example of a fully connected neural network 202. In a fully connected neural network 202, neurons in the first layer can transmit their outputs to each neuron in the second layer, such that each neuron in the second layer receives input from each neuron in the first layer. Figure 2B illustrates an example of a partially connected neural network 204. In a partially connected neural network 204, neurons in the first layer can connect to a limited number of neurons in the second layer. More typically, the locally connected layers of a partially connected neural network 204 can be configured such that each neuron in the layer will have the same or similar connection pattern, but the connection strength can have different values ​​(e.g., 210, 212, 214, and 216). The connection pattern of locally connected networks may produce spatially different receptive fields in higher layers because neurons in higher layers in a given region can receive inputs from a limited portion of the attributes of the total input tuned to the network through training. An example of a locally connected neural network is the spiral neural network. Figure 2C illustrates an example of a spiral neural network 206. The spiral neural network 206 can be configured such that the connection strength associated with the input of each neuron in the second layer is shared (e.g., 208). Spiral neural networks may be well-suited for problems where the spatial location of the input is meaningful. One type of spiral neural network is the deep spiral network (DCN). Figure 2D illustrates a detailed example of DCN 200, which is designed to recognize visual features from images 226 input from an image capture device 230 (e.g., an in-vehicle camera). The DCN 200 in this example can be trained to recognize traffic signs and the numbers provided on them. Of course, DCN 200 can be trained for other tasks, such as recognizing lane markings or traffic lights. Supervised learning can be used to train the DCN 200. During training, an image, such as image 226 of a speed limit sign, can be presented to the DCN 200, and then forward passes can be computed to produce output 222. The DCN 200 may include a feature extraction part and a classification part. Upon receiving image 226, the cyclotron layer 232 may apply a cyclotron kernel (not shown) to image 226 to produce a first feature map set 218. As an example, the cyclotron kernel of the cyclotron layer 232 may be a 5x5 kernel that produces a 28x28 feature map. In this example, because four different feature maps are produced in the first feature map set 218, four different cyclotron kernels are applied to image 226 at the cyclotron layer 232. The cyclotron kernel may also be referred to as a filter or a cyclotron filter. The first feature map set 218 can be double-sampled by a max-pooling layer (not shown) to generate a second feature map set 220. The max-pooling layer reduces the size of the first feature map set 218. That is, the size of the second feature map set 220 (e.g., 14x14) is smaller than the size of the first feature map set 218 (e.g., 28x28). The reduced size provides similar information to subsequent layers while reducing memory consumption. The second feature map set 220 can be further spiraled through one or more subsequent spiral layers (not shown) to generate one or more subsequent feature map sets (not shown). In the example of Figure 2D, the second feature map set 220 is spiraled to produce a first feature vector 224. Furthermore, the first feature vector 224 is spiraled further to produce a second feature vector 228. Each feature of the second feature vector 228 may include bits corresponding to possible features of the image 226, such as "sign", "60", and "100". A Softmax function (not shown) can convert the bits in the second feature vector 228 into probabilities. Thus, the output 222 of the DCN 200 is the probability that the image 226 includes one or more features. In this example, the probabilities of "symbol" and "60" in output 222 are higher than those of other probabilities 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 ground truth value of image 226 (e.g., "symbol" and "60"). The weights of DCN 200 can then be adjusted so that the output 222 of DCN 200 is closer to the aligned target output. To adjust the weights, the learning algorithm can compute the gradient vector of the weights. The gradient indicates how much the error will increase or decrease if the weights are adjusted. At the top layers, the gradient can directly correspond to the weight values ​​connecting the neurons activated in the penultimate layer to the neurons in the output layer. In lower layers, the gradient can depend on the weight values ​​and the error gradient computed in higher layers. The weights can then be adjusted to reduce the error. This method of adjusting weights can be called "backpropagation" because it involves "passing backward" through the neural network. In practice, the error gradient of the weights can be calculated on a small number of samples to make the calculated gradient approximate 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, new images (e.g., the speed limit signs in image 226) can be presented to the DCN, and the forward pass through the network can produce an output 222 that can be considered an inference or prediction of the DCN. Deep Belief Networks (DBNs) are probabilistic models comprising multiple layers of hidden nodes. DBNs can be used to extract hierarchical representations of training datasets. DBNs can be obtained by stacking layers of Restricted Boltzmann Machines (RBMs). An RBM is an artificial neural network that learns a probability distribution for a set of inputs. Because RBMs can learn a probability distribution without information about the class each input should be assigned to, they are often used for unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of a DBN can be trained unsupervised and used as a feature extractor, while the top RBM can be trained supervised (on the joint distribution of inputs from the previous layer and the target class) and used as a classifier. Deep spiral networks (DCNs) are spiral networks configured with additional pooling and normalization layers. DCNs have achieved state-of-the-art performance on many projects. DCNs can be trained using supervised learning, where the input and output targets are known for many instances and are used to modify the network weights via gradient descent. DCNs can be feedforward networks. Furthermore, as mentioned earlier, connections from neurons in the first layer of a DCN to a group of neurons in the next higher layer are shared among neurons in the first layer. The feedforward and shared connections of a DCN can be used for fast processing. For example, the computational cost of a DCN may be much smaller than that of a similarly sized neural network containing recurrent or feedback connections. The processing of each layer in a spiral network can be considered as a spatially invariant paradigm or fundamental projection. If the input is first decomposed into multiple channels, such as the red, green, and blue channels of a color image, then a spiral network trained on that input can be considered three-dimensional, with two spatial dimensions along the image's axes and a third dimension capturing color information. The output of the spiral connections can be considered as forming feature maps in subsequent layers, where each element of the feature map (e.g., 220) receives input from a series 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 nonlinearly, such as corrected, max(0,x). Values ​​from neighboring neurons can be further pooled, which corresponds to downsampling and can provide additional local invariance and dimensionality reduction. Regularization (corresponding to whitening) can also be applied via lateral inhibition between neurons in the feature map. The performance of deep learning architectures can be improved as more labeled data points become available or computational power increases. Modern deep neural networks are typically trained using thousands of times more computational resources than researchers typically had 15 years ago. New architectures and training paradigms can further enhance the performance of deep learning. Modified linear units can reduce the training problem known as vanishing gradients. New training techniques can reduce overfitting, enabling larger models to generalize better. Encapsulation techniques can abstract data within a given receptive field and further improve overall performance. Figure 3 is a block diagram illustrating a deep spiral network 350. The deep spiral network 350 may include multiple layers of different types based on connectivity and weight sharing. As shown in Figure 3, the deep spiral network 350 includes spiral blocks 354A and 354B. Each of spiral blocks 354A and 354B may be configured with a spiral layer (CONV) 356, a normalization layer (LNorm) 358, and a max pooling layer (MAX POOL) 360. The cyclotron layer 356 may include one or more cyclotron filters, which can be applied to the input data to generate a feature map. Although only two cyclotron blocks 354A and 354B are illustrated, the scope of this invention is not limited to this, and any number of cyclotron blocks 354A and 354B may be included in the deep cyclotron network 350 according to design preferences. The normalization layer 358 may normalize the output of the cyclotron filters. For example, the normalization layer 358 may provide whitening or lateral suppression. The max-pooling layer 360 may provide spatial downsampling aggregation for local invariance and dimensionality reduction. For example, the parallel filter bank of the deep cyclotron 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. Furthermore, the deep cyclotron network 350 can access other processing blocks that may exist on the SOC 100, such as the sensor processor 114 and navigation module 120, respectively dedicated to sensors and navigation. The deep spiral network 350 may also include one or more fully connected layers 362 (FC1 and FC2). The deep spiral network 350 may also include logistic regression (LR) layers 364. Between each layer 356, 358, 360, 362, and 364 of the deep spiral network 350 are weights to be updated (not shown). The output of each layer (e.g., 356, 358, 360, 362, and 364) can be used as input to a subsequent layer in the deep spiral network 350 (e.g., 356, 358, 360, 362, and 364) to learn hierarchical feature representations from the input data 352 (e.g., image, audio, video, sensor data, and / or other input data) provided at the first spiral block 354A in spiral block 354A. The output of the deep spiral 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 the probability that the input data includes features from the feature set. Figure 4 is a block diagram illustrating an exemplary software architecture 400 that can modularize artificial intelligence (AI) functions. According to the present invention, using this architecture, applications can be designed that enable various processing blocks of the SOC 420 (e.g., CPU 422, DSP 424, GPU 426, and / or NPU 428) to support self-adjusting rounding, such as the post-training quantization disclosed for AI application 402. AI application 402 can be configured to invoke functions defined in user space 404, which may, for example, provide detection and identification of a scene indicating the location of the device's current operation. AI application 402 can, for example, configure the microphone and camera differently depending on whether the identified scene is an office, lecture hall, restaurant, or outdoor environment (e.g., a lake). AI application 402 can request compiled code associated with libraries defined in the AI ​​Function Application Programming Interface (API) 406. For example, this request may ultimately rely on the output of a deep neural network configured to provide inference responses based on visual and location data. AI application 402 can also access runtime engine 408, which can be compiled code of a runtime framework. AI application 402 can cause runtime engine to request inference at specific time intervals or be triggered by events detected by the application's user interface. When prompted to provide an inference response, runtime engine can then send signals to the operating system in operating system (OS) space 410, such as the Linux kernel 412 running on SOC 420. The operating system can then cause sequential relaxation of quantization to be performed on CPU 422, DSP 424, GPU 426, NPU 428, or some combination thereof. CPU 422 can be directly accessed by the operating system, and other processing blocks can be accessed via drivers, such as drivers 414, 416, or 418 for DSP 424, GPU 426, or NPU 428, respectively. In an exemplary instance, the deep neural network can be configured to execute on a combination of processing blocks (such as CPU 422, DSP 424, and GPU 426) or on NPU 428. Application 402 (e.g., an AI application) can be configured to invoke functions defined in user space 404, which may, for example, provide detection and identification of a scene indicating the location of the device's current operation. Application 402 can, for example, configure the microphone and camera differently depending on whether the identified scene is an office, lecture hall, restaurant, or an outdoor environment (e.g., a lake). Application 402 can request compiled code associated with a library defined in the SceneDetect application programming interface (API) 406 to provide an estimate of the current scene. For example, this request may ultimately rely on the output of a differential neural network configured to provide scene estimates based on visual and location data. Application 402 may also access runtime engine 408, which may be compiled code of a runtime framework. Application 402 may cause runtime engine to request scene estimation at specific time intervals or be triggered by events detected by the application's user interface. When prompted to estimate a scene, runtime engine may then send a signal to operating system 410, such as the Linux kernel 412 running on SOC 420. Operating system 410 may then enable computation to be performed on CPU 422, DSP 424, GPU 426, NPU 428, or some combination thereof. CPU 422 may be directly accessed by the operating system, and other processing blocks may be accessed via drivers, such as drivers 414-418 for DSP 424, GPU 426, or NPU 428. In an exemplary instance, the differential neural network can be configured to execute on a combination of processing blocks (e.g., CPU 422 and GPU 426), or on an NPU 428 (if present). Based on certain aspects of the content of this case, each fully connected layer 362 can be configured to: determine the parameters of the model based on one or more desired functional features of the model, and develop one or more functional features toward the desired functional features as the determined parameters are further adapted, adjusted and updated. As indicated above, Figures 1-4 are provided as examples. Other examples may differ from those described for Figures 1-4. As described, region-based federated learning can divide a space (e.g., a geographic region) into multiple regions with similar user behaviors. A federated learning model can be trained for each defined region. Region-based federated learning can be implemented in a mobile edge cloud infrastructure, where edge nodes manage the federated training of the region-based federated learning model for each region. Edge nodes can host updated models for their regions, and mobile devices can download the region model when entering a region. Cloud devices (e.g., servers) can dynamically manage regions across the entire space (e.g., geographic regions) and can provide coordinator functionality to support load balancing and fault tolerance across edge nodes. Compared to other general federated learning methods, region-based federated learning models can provide improved scalability. That is, instead of managing the model based on data distributed across a large number of devices, region-based federated learning models can manage edge nodes that manage each defined region, the number of which is much smaller than the number of devices throughout the entire region-based federated learning model. Furthermore, region-based federated learning can beneficially provide lower latency for mobile service users, reduce battery power consumption on mobile devices, and reduce network bandwidth consumption in the network core. However, managing device mobility across regions and dynamically modifying or updating region boundaries is challenging due to the joint averaging and model aggregation performed at the region level. Therefore, this case addresses improving device mobility management in region-based joint learning. Figure 5 is a diagram illustrating an example local area network (LAN) topology 500 according to the present invention. Referring to Figure 5, the example LAN topology 500 includes two regions, region 1 504a and region 2 504b. For simplicity and ease of illustration, only two regions are shown; however, the LAN topology may include more than two regions. Each of regions 504a and 504b may include multiple participating devices 510a-510f. For example, each of the participating devices 510a-510f may be a mobile communication device (e.g., a smartphone or electric vehicle) or an Internet of Things (IoT) device. Based on one or more common attributes or settings, each of these participating devices may be included in a group corresponding to a region (e.g., 504a or 504b). In some instances, participating devices (e.g., 510a-510f) may be placed in more than one group (not shown in Figure 5). Supplementally or alternatively, two or more regions may overlap (not shown in Figure 5). As described, attributes and settings may include, but are not limited to, geographic location, preset language, or user interface theme. As an example, each region 504a or 504b may be based on the geographic location of participating devices 510a-510f. Each of the participating devices 510a-510f can interface and communicate with one or more communicator edge nodes (e.g., 506, 508a, and 508b). In some embodiments, the communicator edge nodes (e.g., 506, 508a, and 508b) can also act as aggregators for a given region. The aggregator can be configured to perform region-level joint averaging. That is, the aggregator can receive model updates computed for a region (e.g., 504a or 504b) at each participating device (e.g., 510a-510f) and can compute the average value for that region. For example, communicator edge node 508a can also be used as an aggregator for region 1 (504a). In another embodiment, communicator edge node 508b can also be used as an aggregator for region 2 (504b). In some embodiments, the communicator edge nodes (e.g., 506, 508a, and 508b) and the aggregator nodes can be base stations (e.g., gNode B). For example, in 5G NR and later deployments, mobile edge computing (MEC) devices can be used as aggregators (508a) or communicators (e.g., 506, 508a and 508b). Each region (e.g., 504a, 504b) may include one or more communicator edge nodes (e.g., 506) and aggregators (e.g., 508a, 508b). Aggregators (e.g., 508a, 508b) may receive a global model from cloud device 502. Aggregators may distribute the global model to each participating device in the region. The global model can be used to train each participating device to produce a local model. Since each device can collect data and manipulate the local model, each participating device can be retrained (e.g., according to a loss function) to produce local model updates. Each aggregator (e.g., 508a, 508b) may receive local model updates from devices in the corresponding region. For example, aggregator 508a may receive local model updates from devices 510a and 510b. Aggregator 508a may aggregate the local model updates and compute regional model updates, for example, using a joint averaging procedure. The aggregator (e.g., 508a) can then provide the regional model updates to each of the participating devices (e.g., 510a-510f) in the region. Additionally, the aggregator (e.g., 508a, 508b) can provide the regional model updates to the cloud device 502 that manages the global model. Figure 6 is a diagram illustrating an instance architecture 600 for regional mobility management according to the present invention. Referring to Figure 6, the instance architecture 600 can be divided into three domains: a cloud domain 602, an edge domain 604, and a mobility domain 606. The cloud domain 602 can be used as a central device for federated learning (e.g., cloud device 502 shown in Figure 5). The cloud domain 602 may include a region manager 608 responsible for maintaining the overall network topology. For example, the region manager 608 can handle region management tasks, such as creating new regions, combining regions, or dividing existing regions into multiple regions. Edge domain 604 may include management devices responsible for forming the region. For example, these management devices may include 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 serve as an aggregator manager 612, a distribution manager 608, and a configuration manager 604b. Action domain 606 may include participating devices (e.g., 510a-510f) that perform data collection and local training of the regional model. Each participating device 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 compute local model updates based on the corresponding participating device data from the data manager 612. The training manager 616 may send the local model updates to the aggregation manager 618 of edge domain 604. The aggregation manager 618 of edge domain 604 can calculate the region model update. For example, in some cases, aggregation manager 618 can calculate the region model update according to a joint averaging procedure. Aggregation manager 618 can then provide the region model update to distribution manager 614. Distribution manager 614 can then send the region model update to participating devices in the associated region. In addition, distribution manager 614 can provide the region model update to region manager 608 in cloud domain 602 to update the global model. As shown in Figure 6, configuration management can be distributed across each domain. Configuration managers 610a-610c can maintain and transmit relay data for device identification, device region membership (e.g., home region identifier), model identification, and training status information (e.g., training epoch, model-specific parameters). Furthermore, for example, configuration managers 610a-610c can also maintain and transmit relay data for home region and guest region discovery (e.g., when participating devices move to different regions in a geo-based application) and region management. Participating devices (e.g., 510a-510f) may be included in one or more regions (e.g., 504a or 504b). Each participating device may have a home region assignment. The home region may be the primary region in which the participating device is a member. For example, the home region may be the region in which the participating device has the most shared attributes. In one instance, the home region may be based on the geographical location of the participating device. However, region membership is not fixed and can be modified. Modification of region membership may be referred to as region mobility. Region membership can be managed via configuration managers 610a-610c. In some cases, home region membership can be selected by the user or set via participating device settings, user preferences, or a combination thereof. For example, home region membership can be selected via configuration manager 610a based on a user-specified language preference (e.g., English). In another instance, home region membership can be selected via configuration manager 610a when participating devices (e.g., 510a-510f) initially participate in federated training. For example, the home region can be determined based on the location where the participating device was purchased or the initial connection of the participating device to the service provider's network. Furthermore, configuration manager 510b for regions can set or modify the home region for participating devices, for example, based on the time spent in the region. The time spent in the region can correspond to the time spent connecting to or communicating with an edge communicator (e.g., 506) in that region (e.g., 504b). Participating devices (e.g., 510a-510f) may also access or migrate to other areas (e.g., geographical locations). Such areas, in addition to their home area, may be referred to as visitor areas. A visitor area can be an area in which participating devices have at least some shared attributes. However, if participating devices (e.g., 510a-510f) develop more shared attributes with participating devices in a visitor area, the regional membership of the participating devices can be updated, thereby setting the visitor area as the home area for such participating devices. In some configurations, participating devices (e.g., 510a-510f) can share their home region information with the nearest communicator node (e.g., 506, 508a, or 508b). For example, referring to Figure 5, participating device 510c may have a home region of region 2 504b. If participating device 510c travels to region 1 504a, it can transmit its home region identification information (e.g., region 2 610b) to the nearest communicator node, such as aggregator / communicator edge node 508a. A region configuration manager (e.g., 610b) can determine whether a participating device is a member of a local region (e.g., whether the current region is the participating device's home region). If the participating device is a visitor, a migration notification (e.g., access to the visitor's region) can be sent to the aggregator of the home region (e.g., 508b). Therefore, the behavior pattern between migrating devices between regions (e.g., 510a-510f) can be determined based on the home-visitor relationship. The region configuration manager (e.g., 610b) for home and visitor regions can independently determine whether to include the participating device in the region aggregation (e.g., calculating the joint average of the corresponding regions). Figures 7A and 7B are flowcharts illustrating example procedures for merging adjacent regions 700 or splitting regions 750 according to the content of this case. Referring to Figure 7A, procedure 700 begins at block 702. A region manager (e.g., 608) can initiate a region configuration evaluation to check the region configuration and manage the accuracy of the corresponding region models and the performance of the region-based joint learning model. In the example of Figure 7A, the region manager can determine whether two adjacent regions can be merged. At block 704, the region manager can identify two regions as merge candidates (e.g., region 1 504a and region 2 504b). At block 706, the region manager can determine (e.g., periodically) whether the accuracy of the region models of the candidate regions is within a threshold. For example, the region manager can instruct one or both aggregators of the candidate regions to determine whether the difference in accuracy of the region models is within a threshold (e.g., <5%). If the difference in accuracy of the region models of the candidate regions is greater than the threshold, the candidate regions can be not merged and the procedure ends at block 714. In another scenario, if the accuracy difference between candidate regions is less than a threshold, the program can continue at block 708. In some scenarios, candidate regions can be merged. At block 708, the region manager can select one or more participating devices from each region to evaluate the region model of another candidate region. For example, referring to Figure 5, the region manager of cloud device 502 can instruct participating device 510a of region 1 504a to evaluate the accuracy of the region model of region 2 504b. The region manager of cloud device 502 can also instruct participating devices 510c and 510f to evaluate the accuracy of the region model used for region 1 504a. At block 710, the region manager can determine whether the model accuracy of a candidate region is within a threshold. For example, if the model accuracy of region 2, evaluated by participating device 510, is within the threshold of the model accuracy of region 1, such as if evaluated by participating devices 510c and 510f, then the region manager can merge the candidate regions (e.g., region 1 and region 2). Conversely, if the model accuracy of region 2, evaluated by participating device 510, is not within the threshold of the model accuracy of region 1, such as if evaluated by participating devices 510c and 510f, then the region manager can determine that the candidate region may not be merged. In some cases, the zone manager can also generate zone configuration updates and provide them to the configuration manager (610b). For example, a zone configuration update can reassign one of the aggregators as a communicator node. The configuration manager (e.g., 610b) can instruct participating devices in each candidate zone to set their home zone to the merged zone. After that, at block 714, program 700 can end. It should be noted that although Figure 7A provides an example procedure for merging regions, other procedures can be used for merging regions. For example, in some cases, regions can be combined based on migration frequency or the number of devices migrating between regions (e.g., 510a-510f). For example, regions can be merged if the migration frequency or the number of participating devices exceeds a threshold. Figure 7B is a flowchart illustrating an example procedure 750 for region segmentation. Region segmentation can be beneficial if model accuracy in a particular region begins to decline relative to other regions. The procedure can begin at block 752. For example, a region manager can monitor the region configuration (e.g., the number of participating devices) and the performance of each region model in the region-based joint learning model. At block 754, the region manager can determine if the model accuracy of a region is below a threshold. In some cases, model accuracy can be evaluated relative to one or more other regions. If the model accuracy is above the threshold, the region configuration can be maintained (e.g., regions may not be segmented). In another case, if the model accuracy is below the threshold, at block 758, the region manager can identify edge nodes with that region to form candidate sub-regions. At block 760, the region manager can identify one or more edge devices in each sub-region. Each edge device identified in a sub-region can train a new model for the corresponding sub-region. At block 762, the model accuracy of the sub-region model can be evaluated. If the model accuracy of the sub-region model is not better than (e.g., less than) the model accuracy of the larger region, the region can remain unsegmented. However, if the model accuracy of the sub-region is better than (e.g., higher than) a certain threshold of the model accuracy of the larger region, then at block 764, the larger region can be segmented into the identified sub-regions. The region manager can generate a region configuration update indicating that the larger region should be segmented into sub-regions. The region configuration update can be sent to the aggregators of the sub-regions. Each aggregator can instruct edge devices within the sub-regions to update their home region to the corresponding sub-region. After that, at block 766, program 750 can end. Although Figure 7B provides an example procedure for segmenting or dividing regions, other procedures may also be used. For example, in some cases, a configuration manager for regions (e.g., 610b) can monitor device mobility within a region to determine whether segmentation can improve accuracy. For instance, if device mobility is very low between two sub-regions of a large region, the region manager can segment the large region into sub-regions if the segmentation improves overall accuracy. Figure 8 is a flowchart illustrating a method 800 for region management in region-based federated learning according to the present invention. In block 802, method 800 receives a global model from a first network device associated with a global model at one of a plurality of region management devices. Each of the plurality of region management devices is associated with a corresponding region model among a plurality of region models. For example, as shown in Figure 5, each region (e.g., 504a, 504b) may include an aggregator (e.g., 508a, 508b). The aggregator (e.g., 508a, 508b) may communicate with each participating device in the region. The aggregator may manage the region model for aggregating local updates from each participating device in the region. The aggregator may receive the global model from cloud device 502. The aggregator may distribute the global model to each participating device in the region. The global model may be used to train each participating device to produce a local model. At block 804, method 800 sends the global model from the region management device to the action devices in the first region associated with the first region model based on region membership. As described, the aggregator can distribute the global model to each participating device in the region. In some cases, the aggregator can restrict the distribution to participating devices that identify the corresponding region as their home region. At block 806, method 800 receives weights associated with the global model from each participating device in the first region at the region management device. As described with reference to Figure 5, the aggregator can communicate with each participating device in the region. The aggregator can receive local model updates from each participating device in the region. At block 808, method 800 updates the first region model at the region management device based on the received weights and region membership. The aggregator can receive local updates from each participating device in the region. The aggregator can aggregate the local model updates from the participating devices, indicating that the region is its home region. At block 810, method 800 sends an updated first region model from the region management device to each participating device in the first region. The aggregator can distribute the region model update to each participating device in the region. In some cases, the region model update can be distributed to devices that identify a region as their home region. Examples of implementation are provided in the following numbered clauses. 1. A method for managing model updates, comprising: receiving a global model from a first network device associated with a global model at a region management device among a plurality of region management devices, each of the plurality of region management devices being associated with a corresponding region model among the plurality of region models; transmitting the global model from the region management device to mobile devices in a first region associated with a first region model based on region membership; receiving weights associated with the global model from each mobile device in the first region at the region management device; updating the first region model at the region management device based on the received weights and the region membership; and transmitting the updated first region model from the region management device to each mobile device in the first region. 2. The method of clause 1, wherein the region membership is determined based on at least one of selections, settings, or preferences indicated by each mobile device. 3. The method of clause 1 or clause 2, wherein the first region is defined based on one or more first common characteristics of each mobile device. 4. The method according to any of the provisions 1-3, wherein at least one mobile device having membership in the first region of the first region also has membership in the second region of the second region. 5. The method according to any of the provisions 1-4, further comprising: determining the home region of the at least one mobile device; and updating the first region model based on the home region determination. 6. The method according to any of the provisions 1-5, wherein the first region and the second region are merged based on the difference between the accuracy of the first region model of the first region and the accuracy of the second region model of the second region. 7. The method according to any of the provisions 1-6, wherein the first region is divided into multiple sub-regions based on a comparison of the accuracy of the first model of the first region model and the accuracy of the second model of the sub-region models. 8. An apparatus for managing model updates, comprising: a memory; and at least one processor coupled to the memory, the at least one processor being configured to: receive, at a region management device of a plurality of region management devices, a global model associated with a first network device, each of the plurality of region management devices being associated with a corresponding region model among the plurality of region models; transmit the global model from the region management device to mobile devices in a first region associated with the first region model based on region membership; receive, at the region management device, weights associated with the global model from each mobile device in the first region; update the first region model at the region management device based on the received weights and the region membership; and transmit the updated first region model from the region management device to each mobile device in the first region.9. The apparatus according to Clause 8, wherein the at least one processor is also configured to: determine the region membership based on at least one of the selections, settings, or preferences indicated by each of the mobile devices. 10. The apparatus according to Clause 8 or Clause 9, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices. 11. The apparatus according to any of Clauses 8-10, wherein at least one mobile device having first region membership in the first region has second region membership in the second region. 12. The apparatus according to any of Clauses 8-11, wherein the at least one processor is also configured to: determine the home region of the at least one mobile device; and update the first region model based on the home region determination. 13. The apparatus according to any of Clauses 8-12, wherein the at least one processor is also configured to: merge the first region with the second region based on the difference between the accuracy of the first region model of the first region and the accuracy of the second region model of the second region. 14. The apparatus according to any of the provisions 8-13, wherein the at least one processor is also configured to: divide 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. 15. An apparatus for managing model updates, comprising: a unit for receiving a global model from a first network device associated with a global model at a region management device among a plurality of region management devices, each of the plurality of region management devices being associated with a corresponding region model among the plurality of region models; a unit for sending the global model from the region management device to mobile devices in a first region associated with the first region model based on region membership; a unit for receiving weights associated with the global model from each mobile device in the first region at the region management device; a unit for updating the first region model at the region management device based on the received weights and the region membership; and a unit for sending the updated first region model from the region management device to each mobile device in the first region. 16. The apparatus according to Clause 15 also includes a unit for determining regional membership based on at least one of selections, settings, or preferences indicated by each of the mobile devices. 17. The apparatus according to Clause 15 or Clause 16, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices. 18. The apparatus according to any of Clauses 15-17, wherein at least one mobile device having first region membership in the first region also has second region membership in the second region.19. The apparatus according to any of the provisions 15-18 further includes: a unit for determining the home region of the at least one mobile device; and a unit for updating the first region model based on the home region determination. 20. The apparatus according to any of the provisions 15-19 further includes: a unit for merging the first region and the second region based on the difference between the accuracy of the first region model and the accuracy of the second region model. 21. The apparatus according to any of the provisions 15-20 further includes: a unit for dividing the first region into multiple sub-regions based on a comparison of the accuracy of the first model of the first region model and the accuracy of the second model of the sub-region model. 22. A non-transitory computer-readable medium having encoded code for managing model updates, the code being executed by a processor and comprising: code for receiving, at a region management device of a plurality of region management devices, a global model associated with a first network device, each of the plurality of region management devices being associated with a corresponding region model of the plurality of region models; code for transmitting, based on region membership, the global model from the region management device to a mobile device in a first region associated with the first region model; code for receiving, at the region management device, weights associated with the global model from each mobile device in the first region; code for updating, at the region management device, the first region model based on the received weights and the region membership; and code for transmitting, from the region management device to each mobile device in the first region, the updated first region model. 23. The non-transitory computer-readable medium pursuant to Clause 22 also includes: code for determining regional membership based on at least one of selections, settings, or preferences indicated by each of the mobile devices. 24. The non-transitory computer-readable medium pursuant to Clause 21 or Clause 22, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices. 25. The non-transitory computer-readable medium pursuant to any of Clauses 22-24, wherein at least one mobile device having first region membership in the first region has second region membership in the second region. 26. The non-transitory computer-readable medium pursuant to any of Clauses 22-25 also includes: code for determining the home region of the at least one mobile device; and code for updating the first region model based on the home region determination. 27. The non-transitory computer-readable medium described in any of Clauses 22-26 also includes: code for merging the first region and the second region based on the difference between the accuracy of the first region model of the first region and the accuracy of the second region model of the second region.28. The non-transitory computer-readable medium described in any of Clauses 22-27 also includes: code for dividing the first region into multiple subregions by comparing the accuracy of a first model based on the first region model with the accuracy of a second model based on the subregion model. In one configuration, the receiving unit, the sending unit, the unit for receiving weights, the updating unit, and / or the unit for sending the updated first region may be a CPU 102, a program memory associated with the CPU 102, a dedicated memory block 118, a fully connected layer 362, and / or a routing connection processing unit 216 configured to perform the functions described herein. In another configuration, the aforementioned units may be any module or device configured to perform the functions described herein. The various operations described above can be performed by any suitable unit capable of performing the corresponding function. These units may include various hardware and / or software components and / or modules, including but not limited to circuits, application-specific integrated circuits (ASICs), or processors. Typically, in the presence of operations as shown in the accompanying drawings, those operations may have corresponding functional module components with similar component symbols. As used, the term "decision" encompasses a variety of actions. For example, "decision" can include calculation, operation, processing, deduction, investigation, examination (e.g., examining a table, database, or other data structure), assertion, and so on. Additionally, "decision" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and so on. Furthermore, "decision" can include parsing, selecting, choosing, building, and so on. The phrase "at least one" in the list of references refers to any combination of those items, including a single member. For example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc. The various illustrative logic blocks, modules, and circuits described herein can be implemented or executed using a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device (PLD), individual gate or transistor logic, individual hardware components, or any combination thereof, designed to perform the functions described herein. The general-purpose processor can be a microprocessor, or it can be any commercially available processor, controller, microcontroller, or state machine. The processor can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, a combination of one or more microprocessors with a DSP core, or any other such configuration. The steps of the methods or procedures described in connection with this case can be embodied directly in hardware, in a software module executed by a processor, or in a combination of both. The software module can reside in any form of storage medium known in the art to which this invention pertains. Some examples of storage media that can be used include random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, CD-ROMs, and so on. The software module can include a single instruction or a number of instructions and can be distributed across several different code segments, between different programs, and across multiple storage media. The storage medium can be coupled to the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium can be a component of the processor. The disclosed methods include one or more steps or actions for implementing the described methods. These method steps and / or actions may be interchanged without departing from the scope of the claim. 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 claim. The described functionality can be implemented using hardware, software, firmware, or any combination thereof. If implemented using hardware, the instance hardware configuration may include a processing system within the device. This processing system can be implemented using a bus architecture. The bus may include any number of interconnecting buses and bridges, depending on the specific application and overall design constraints of the processing system. The bus can connect various circuits together, including processors, machine-readable media, and bus interfaces. The bus interface can be used to connect network interface cards and others to the processing system via the bus. The network interface card can be used to implement signal processing functions. In some cases, user interfaces (e.g., buttons, displays, mice, joysticks, etc.) can also be connected to the bus. The bus can also connect various other circuits, such as timing sources, peripheral devices, voltage regulators, power management circuits, etc., which are well known in the art to which this invention pertains and will not be described further. A processor can be responsible for managing buses and general processing, including the execution of software stored on machine-readable media. A processor can be implemented using one or more general-purpose processors and / or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry capable of executing software. Software should be broadly interpreted as instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Machine-readable media can include, for example, random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), registers, magnetic disks, optical disks, hard disks, or any other suitable storage media, or any combination thereof. Machine-readable media can be embodied in a computer program product. A computer program product may include packaging materials. In hardware implementation, machine-readable media can be a separate part of the processing system from the processor. However, as will be readily understood by those skilled in the art to which this invention pertains, machine-readable media or any part thereof can be located outside the processing system. For example, machine-readable media may include transmission lines, data-modulated carrier waves, and / or computer products separate from the device, all of which can be accessed by the processor via a bus interface. Alternatively, or further, machine-readable media or any part thereof may be an integral part of the processor, such as in cases possibly related to cache memory and / or general-purpose temporary registers. Although the various components discussed may be described as having a specific location, such as cluster components, they may also be configured in various ways, such as certain components being configured as part of a distributed computing system. The processing system can be configured as a general-purpose processing system having one or more microprocessors providing processor functionality and external memory providing at least a portion of machine-readable medium, all connected together with other supporting circuitry via an external bus architecture. Alternatively, the processing system may include one or more neuromorphic processors for implementing the described neuron and nervous system models. As another option, the processing system can be implemented using application-specific integrated circuits (ASICs) having a processor, bus interface, user interface, supporting circuitry, and at least a portion of machine-readable medium integrated into a single chip, or using one or more field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, individual hardware components, or any other suitable circuitry, or any combination of circuitry capable of performing the various functions described throughout this invention. Those skilled in the art will recognize how the described functions for the processing system are best implemented, depending on the specific application and the overall design constraints imposed on the system. Machine-readable media may include multiple software modules. A software module includes instructions that, when executed by a processor, cause the processing system to perform various functions. A software module may include a transmit module and a receive module. Each software module may reside in a single storage device or may be distributed across multiple storage devices. For example, when a trigger event occurs, a software module may be loaded from a hard disk into RAM. During the execution of a software module, the processor may load some instructions into cache memory to improve access speed. Subsequently, one or more cache memory lines may be loaded into a general-purpose temporary register for execution by the processor. When referring to the functionality of a software module as described below, it should be understood that such functionality is implemented by the processor when executing instructions from that software module. Furthermore, it should be understood that the format of this document results in improvements to the functionality of a processor, computer, machine, or other system implementing these formats. If implemented in software, the function can be stored as one or more instructions or code on or transmitted on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, with communication media including any media that facilitates the transfer of computer programs from one location to another. Storage media can be any available media accessible to a computer. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other media that can be used to carry or store desired program code having an instruction or data structure and is accessible to a computer. Furthermore, any connection can be appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, optical fiber, twisted pair, digital subscriber line (DSL), or wireless technology (e.g., infrared (IR), radio, and microwave), the definition of media includes coaxial cable, optical fiber, twisted pair, DSL, or wireless technology (e.g., infrared, radio, and microwave). As used, magnetic disks and optical disks include CDs, laser discs, optical discs, DVDs, floppy disks, and Blu-ray® discs, where magnetic disks typically copy data magnetically, while optical discs use lasers to optically copy data. Therefore, in some cases, computer-readable media may include non-transitory computer-readable media (e.g., physical media). Furthermore, in other cases, computer-readable media may include transient computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media. Therefore, certain types may include computer program products for performing the provided operations. For example, such computer program products may include computer-readable media on which instructions are stored (and / or encoded) that can be executed by one or more processors to perform the described operations. For some types, the computer program product may include packaging material. Furthermore, it should be understood that, when appropriate, user terminals and / or base stations can download and / or otherwise obtain modules and / or other suitable units for performing the described methods and techniques. For example, such a device can be coupled to a server to facilitate the transmission of units for performing the described methods. Alternatively, the various methods described can be provided via storage units (e.g., RAM, ROM, physical storage media such as CDs or floppy disks) so that the user terminal and / or base station can obtain the various methods when coupled to or provided to the device. Additionally, any other suitable techniques for providing the described methods and techniques to the device can be used. It should be understood that the requested items are not limited to the precise configurations and components described above. Various modifications, alterations, and variations may be made to the arrangement, operation, and details of the methods and apparatus described above without departing from the scope of the requested items. 100: System-on-a-Chip (SOC) 102: Central Processing Unit (CPU) 104: Graphics Processing Unit (GPU) 106: Digital Signal Processor (DSP) 108: Neural Processing Unit (NPU) 110: Connectivity Block 112: Multimedia Processor 114: Sensor Processor 116: Image Signal Processor (ISP) 118: Dedicated Memory Block 120: Navigation Module 200: Deep Rotation Network (DCN) 202: Fully Connected Neural Network 204: Partially Connected Neural Network 206: Spiral Neural Network 208: Connection Strength 210: Value 212: Value 214: Value 216: Value 220: Second Feature Map Set 222: Output 224: First Feature Vector 226: Image 228: Second Feature Vector 230: Image Capture Device 232: Spiral Layer 350: Deep Spiral Network 352: Input Data 354A: Spiral Block 354B: Spiral Block 356: Spiral Layer (CONV) 358: Regularization Layer (LNorm) 360: Max Pooling Layer (MAX POOL) 362: Fully Connected Layer 364: Logistic Regression (LR) Layer 366: Classification Score 400: Software Architecture 402: AI Application 404: User Space 406: AI Function Application Programming Interface (API) 408: Execution Engine 410: Operating System (OS) Space 412: Linux Kernel 414: Driver 416: Driver 418: Driver 420: SOC 422: CPU 424: DSP 426: GPU 428: NPU 500: Instance Area Network Topology 502: Cloud Device 504a: Area 504b: Area 506: Edge Communicator 508a: Communicator Node 508b: Communicator Node 510a: Participating Device 510b: Participating Device 510c: Participating Device 510d: Participating Device 510e: Participating Device 510f: Participating Device 600: Architecture 602: Cloud Domain 604: Edge Domain 606: Action Domain 608: Area Manager 610a: Configuration Manager 610b: Configuration Manager 610c: Configuration 612: Location Manager; 614: Data Manager; 616: Distribution Manager; 618: Training Manager; 700: Adjacent Region; 702: Block; 704: Block; 706: Block; 708: Block; 710: Block; 712: Block; 714: Block; 750: Program; 752: Block; 754: Block; 756: Block; 758: Block; 760: Block; 762: Block; 764: Block; 766: Block; 800: Method; 802: Block; 804: Block; 806: Block; 808: Block; 810: Block The features, attributes, and advantages of this invention will become more apparent from the embodiments described below in conjunction with the accompanying drawings, in which the same component symbols are correspondingly identified throughout. Figure 1 illustrates an example implementation of a neural network designed using a system-on-a-chip (SoC) including a general-purpose processor, based on certain aspects of the content of this case. Figures 2A, 2B, and 2C are diagrams illustrating the neural networks in accordance with the content of this case. Figure 2D is a diagram illustrating an exemplary deep spiral network (DCN) according to the content of this case. Figure 3 is a block diagram illustrating an exemplary deep spiral network (DCN) according to the content of this case. Figure 4 is a block diagram illustrating an exemplary software architecture that allows for the modularization of artificial intelligence (AI) functions according to the content of this case. Figure 5 is a diagram illustrating an example area network topology based on the content of this case. Figure 6 is a diagram illustrating an example architecture for regional mobility management based on the content of this case. Figures 7A and 7B are flowcharts illustrating example procedures for merging or splitting regions according to the content of this case. Figure 8 is a flowchart illustrating a method for actionability and region management in region-based collaborative learning, based on the content of this case. Domestic storage information (please note in order of storage institution, date, and number): None. International storage information (please note in order of storage country, institution, date, and number): None. 500: Example Local Area Network Topology 502: Cloud device 504a: Area 504b: Area 506: Edge Communicator 508a: Communicator Node 508b: Communicator Node 510a: Participating equipment 510b: Participating equipment 510c: Participating equipment 510d: Participating equipment 510e: Participating equipment 510f: Participating equipment

Claims

1. A method for managing model updates, comprising the steps of: receiving a global model from a first network device associated with a global model at a region management device among a plurality of region management devices, each of the plurality of region management devices being associated with a region among a plurality of regions and a corresponding region model among the plurality of region models; sending the global model from the region management device to an action device in a first region among the plurality of regions, the first region being associated with a first region model; receiving weights associated with the global model from each action device in the first region at the region management device; updating the first region model at the region management device based on the received weights and a region membership of each of the action devices, the region membership of each action device being determined at least in part based on a region mobility of each action device in the first region among the plurality of regions with other regions; and sending the updated first region model from the region management device to each action device in the first region.

2. The method according to claim 1, wherein the membership in the region is determined based on at least one of a selection, a setting, or a preference indicated by each of the mobile devices.

3. The method of claim 1, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices.

4. According to the method of claim 3, at least one mobile device having a first region membership in the first region has a second region membership in the second region.

5. The method according to claim 4 also includes the following steps: determining a home region of the at least one mobile device; and updating the first region model based on the home region determination.

6. According to the method of claim 1, wherein the first region and the second region are merged based on a comparison of a difference between the accuracy of a first region model of the first region and the accuracy of a second region model of the second region of the plurality of regions and a predetermined threshold.

7. According to the method of request item 1, wherein a comparison of a first model accuracy based on the first region model and a second model accuracy based on a sub-region model corresponds to one of the plurality of sub-regions, wherein the first region of the plurality of regions is divided into the plurality of sub-regions.

8. An apparatus for managing model updates, comprising: One memory; and at least one processor coupled to the memory, the at least one processor being configured to: receive, at a region management device among a plurality of region management devices, the global model associated with a first network device, each of the plurality of region management devices being associated with a region among a plurality of regions and a corresponding region model among the plurality of region models; transmit the global model from the region management device to an action device in a first region among the plurality of regions, the first region being associated with a first region model; receive, at the region management device, weights associated with the global model from each action device in the first region; update the first region model at the region management device based on the received weights and a region membership of each of the action devices, the region membership of each action device being determined at least in part based on a region mobility of each action device in the plurality of regions between the first region and other regions; and transmit the updated first region model from the region management device to each action device in the first region.

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

10. The apparatus according to claim 8, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices.

11. The apparatus according to claim 10, wherein at least one mobile device having a first region membership in the first region has a second region membership in the second region.

12. The apparatus according to claim 11, wherein the at least one processor is also configured to: determine a home region of the at least one mobile device; and update the first region model based on the home region determination.

13. The apparatus according to claim 8, wherein the at least one processor is also configured to: merge the first region and the second region based on a comparison of a difference between a first region model accuracy of the first region and a second region model accuracy of the second region of the plurality of regions and a predetermined threshold.

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

15. An apparatus for managing model updates, comprising: A unit for receiving a global model from a first network device associated with a global model at a region management device among a plurality of region management devices, each of the plurality of region management devices being associated with a region among a plurality of regions and a corresponding region model among the plurality of region models; a unit for sending the global model from the region management device to an action device in a first region among the plurality of regions, the first region being associated with a first region model; a unit for receiving weights associated with the global model from each action device in the first region at the region management device; a unit for updating the first region model at the region management device based on the received weights and a region membership of each of the action devices, the region membership of each action device being determined at least in part based on a region mobility of each action device in the first region among the plurality of regions with other regions; and a unit for sending the updated first region model from the region management device to each action device in the first region.

16. The apparatus according to claim 15 also includes: A unit for determining membership in the region based on at least one of a selection, a setting, or a preference indicated by each of the mobile devices.

17. The apparatus according to claim 15, wherein the first region is defined based on one or more first common characteristics of each of the mobile devices.

18. The apparatus according to claim 17, wherein at least one mobile device having a first region membership in the first region has a second region membership in the second region.

19. The apparatus according to claim 18 also includes: Used to determine the home area of ​​the at least one mobile device; And the unit that updates the first region model based on the region it belongs to.

20. The apparatus according to claim 15 also includes: A unit for merging the first region and the second region based on a comparison of a difference between the accuracy of a first region model of the first region and the accuracy of a second region model of the second region of the plurality of regions and a predetermined threshold.

21. The apparatus according to claim 15 also includes: A comparison of a first model accuracy based on the first region model with a second model accuracy based on a sub-region model corresponds to one of the plurality of sub-regions, dividing the first region of the plurality of regions into units of the plurality of sub-regions.

22. A non-transitory computer-readable medium having code encoded thereon for managing model updates, the code being executed by a processor and comprising: Code for receiving, at a region management device among a plurality of region management devices, code for receiving a global model associated with a first network device of a global model, each of the plurality of region management devices being associated with a region among a plurality of regions and a corresponding region model among the plurality of region models; code for sending the global model from the region management device to a mobile device in a first region among the plurality of regions, the first region being associated with a first region model; code for receiving, at the region management device, weights associated with the global model from each mobile device in the first region; code for updating, at the region management device, the first region model based on the received weights and a region membership of each of the mobile devices, the region membership of each mobile device being determined at least in part based on a region mobility of each mobile device in the plurality of regions between the first region and other regions; and code for sending the updated first region model from the region management device to each mobile device in the first region.

23. The non-transitory computer-readable media pursuant to claim 22 also includes: Code for determining membership in the region based on at least one of a selection, a setting, or a preference indicated by each of the mobile devices.

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

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

26. The non-transitory computer-readable media pursuant to claim 25 also includes: Code used to determine the home region of the at least one mobile device; And the code used to update the first region model based on the region of affiliation decision.

27. The non-transitory computer-readable media pursuant to claim 22 also includes: Code for merging the first region and the second region by comparing a difference between the accuracy of a first region model of the first region and the accuracy of a second region model of the second region of the plurality of regions with a predetermined threshold.

28. The non-transitory computer-readable media pursuant to claim 22 also includes: Code for dividing the first region into multiple subregions by comparing the accuracy of a first model based on the first region model with the accuracy of a second model based on a subregion model.

Citation Information

Patent Citations

  • Model updating method, working node and model updating system

    CN112651510A

  • Federal learning method, device and system

    CN113469367A

  • Wireless-based localization using a zonal framework

    US20150237471A1