Convolutional network model optimization method for Internet of Things equipment, computer readable storage medium and electronic device

By initializing and optimizing the global shared weights and local dedicated weights of the convolutional network model on the Internet of Things devices, the performance problems and training complexity of the model under resource constraints are solved, and the adaptive optimization of the model and the improvement of resource efficiency are achieved.

CN119940419APending Publication Date: 2025-05-06QINGDAO HAIER TECH +3
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510033183.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In the prior art, when the convolutional network model is applied on the Internet of Things device, it is difficult to maintain good performance due to resource limitations, and the model cannot be adjusted in time to adapt to changes in device type and task requirements, resulting in complex training, time-consuming and waste of human resources.

Method used

By determining the parameters of the convolutional network model based on the data information and computing resources of the Internet of Things devices, and initializing the global shared weights and local dedicated weights, the model is trained using the data set to optimize the parameter weights, and the adaptive optimization of the model is achieved.

Benefits of technology

While ensuring the performance of the model, the optimization and adjustment process of the model is simplified, the computing volume and storage needs are reduced, and the dynamic changes of IoT devices are adapted to.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119940419A_ABST
    Figure CN119940419A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of smart home / smart home, and discloses a convolutional network model optimization method for Internet of Things equipment, comprising the following steps: determining parameters of a convolutional network model according to data information and computing resources of the Internet of Things equipment; initializing a parameter weight of the convolutional network model; wherein the weight of each parameter comprises a global sharing weight and a local exclusive weight; and training the initialized convolutional network model by using the data set to optimize the parameter weight so as to obtain a trained convolutional network model. According to the method, optimization and adjustment of the model can be realized in a complex dynamic environment, so that the calculated amount and storage requirements of the model are maintained while the performance of the model is ensured. The invention further discloses a computer readable storage medium and an electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of smart home / intelligent family technology, for example, to a method for optimizing a convolutional network model for an Internet of Things device, a computer-readable storage medium, and an electronic device. Background Art

[0002] Usually, efficient neural network models require a lot of computing resources and storage space. This means that when neural network models, especially convolutional network models, are applied to IoT devices, they cannot maintain good performance due to device resource limitations. In IoT applications, the types of IoT devices and task requirements may change over time. In order for the convolutional network model to adapt to these changing requirements and optimize its performance, it is necessary to design and adjust the model specifically, which consumes a lot of time and manpower.

[0003] The related technology discloses an adaptive personalized federated learning method that supports heterogeneous models. The method initializes the parameters of the global shared model by the central server; the central server sends the global shared model parameters to each participant of the federated learning. After receiving the global shared model parameters, the participant uses the parameters to update the global shared model held by itself; the participant performs adaptive learning to update the weights of the private model; the participant uses the newly acquired private training data to simultaneously train the private model and the global shared model based on the stochastic gradient descent algorithm; the participant uploads the global shared model parameters after a round of iterative training to the central server; after the central server collects enough global shared model parameters, it aggregates these model parameters to obtain new global shared model parameters, and then sends the new global shared model parameters to each participant, and repeats this cycle until the loss functions of all models converge or the maximum number of iterations is reached.

[0004] In the process of implementing the embodiments of the present disclosure, it is found that there are at least the following problems in the related art:

[0005] In the related art, the global shared model and private model of each participant are trained, and all shared models are trained using private training data, which complicates model training.

[0006] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present application, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0007] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical components or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.

[0008] The embodiments of the present disclosure provide a method, a computer-readable storage medium, and an electronic device for optimizing a convolutional network model for an Internet of Things device, so as to achieve optimization and adjustment of the model in a relatively simple manner, thereby ensuring the model performance while maintaining the model's computational complexity and storage requirements.

[0009] In some embodiments, the method includes: determining the parameters of the convolutional network model based on the data information and computing resources of the Internet of Things device; initializing the parameter weights of the convolutional network model; wherein each parameter weight includes a global shared weight and a local dedicated weight, and using the data set to train the initialized convolutional network model to optimize each parameter weight of the convolutional network model to obtain a trained convolutional network model.

[0010] In some embodiments, the device includes: a processor and a memory storing program instructions, and the processor is configured to execute the convolutional network model optimization method for IoT devices as described above through a computer program.

[0011] In some embodiments, the computer-readable storage medium stores program instructions, which, when executed, enable the computer to execute the convolutional network model optimization method for Internet of Things devices as described above.

[0012] The method, computer-readable storage medium, and electronic device for optimizing a convolutional network model for an IoT device provided by the embodiments of the present disclosure can achieve the following technical effects:

[0013] Based on the data information and computing resources of networked devices, a convolutional network model is constructed. In order to capture features in shared parameters and meet the specific task requirements of target type devices, global shared weights and local dedicated weights are initialized for each parameter. When using the training set for model training, the weights of the parameters are optimized, so that global data can be considered and the specific data of the target type device can be fully utilized to adapt to the task requirements of the target type device. The optimization and adjustment of the model can be achieved in a relatively simple way, thereby maintaining the model's computing and storage requirements while ensuring model performance.

[0014] The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] One or more embodiments are exemplarily described by corresponding drawings, which do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings do not constitute a scale limitation, and wherein:

[0016] Figure 1It is a schematic diagram of a convolutional network model optimization method for an Internet of Things device provided by an embodiment of the present disclosure;

[0017] Figure 2 is a schematic diagram of another convolutional network model optimization method for an Internet of Things device provided by an embodiment of the present disclosure;

[0018] Figure 3 is a schematic diagram of another convolutional network model optimization method for an Internet of Things device provided by an embodiment of the present disclosure;

[0019] Figure 4 is a schematic diagram of another convolutional network model optimization method for an Internet of Things device provided by an embodiment of the present disclosure;

[0020] Figure 5 is a schematic diagram of an electronic device provided by an embodiment of the present disclosure;

[0021] Figure 6 It is a schematic diagram of a server provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0022] In order to be able to understand the features and technical contents of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.

[0023] The terms "first", "second", etc. in the specification and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so that the embodiments of the embodiments of the present disclosure described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.

[0024] Unless otherwise stated, the term "plurality" means two or more.

[0025] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B indicates: A or B.

[0026] The term "and / or" is a description of the association relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or, A and B.

[0027] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.

[0028] IoT devices refer to physical devices that are connected to the Internet and can collect, send and receive data through sensors, network connections and other technical means. These devices can be inanimate objects such as household appliances, industrial machines, vehicles, and even various systems in buildings, which are made intelligent through embedded technology components.

[0029] Among them, household appliances include smart home appliances. Smart home appliances refer to home appliances that are formed by introducing microprocessors, sensor technology, and network communication technology into home appliances. They have the characteristics of intelligent control, intelligent perception, and intelligent application. The operation process of smart home appliances often relies on the application and processing of modern technologies such as the Internet of Things, the Internet, and electronic chips. For example, Internet of Things devices have certain data processing capabilities, can perform simple computing tasks, and even run complex artificial intelligence algorithms on the device.

[0030] Combination Figure 1 As shown, the embodiment of the present disclosure provides a convolutional network model optimization method for an Internet of Things device, including:

[0031] S101, the server determines the parameters of the convolutional network model based on the data information and computing resources of the IoT device.

[0032] S102, the server initializes the parameter weights of the convolutional network model, wherein the weight of each parameter includes a global shared weight and a local dedicated weight. The global shared weight is a weight shared by all IoT devices, and the local dedicated weight is a weight specific to the IoT device of the target type.

[0033] S103, the server uses the data set to train the initialized convolutional network model to optimize the weight of each parameter in the convolutional network model to obtain an optimized convolutional network model.

[0034] Here, the data information of the IoT device depends on the task type of the IoT device. For example, the data information for image classification tasks includes image data features, image resolution, etc. The computing resources of the IoT device include parameters such as processor resources, memory type, and storage space. The parameters of the convolutional network model (hereinafter referred to as the model) include the depth of the model, the size of the convolution kernel, the step size, and padding. The data information and computing resources of the IoT device affect the parameters of the convolutional network model. It can be understood that the higher the complexity of the data information of the IoT device, the higher the parameter requirements for the model. For example, if the data information includes more details and complex features, the depth of the model is determined to be deeper and the convolution kernel is smaller. The lower the computing resources of the IoT device, the greater the impact on the computing efficiency and real-time performance of the model. For example, if the computing resources are low, the step size of the model is determined to be larger and the model depth is shallower.

[0035] After determining the parameters of the model, two weights are assigned to each parameter of the model. One is the global shared weight and the other is the local dedicated weight. Among them, the global shared weight is the weight shared by all IoT devices, and the local dedicated weight is the weight that is exclusive to the target type of IoT device. Initializing each parameter weight means assigning an initial value to the weight, and then optimizing the weight through model training to obtain the optimal weight value. In detail, if the global shared weight of a parameter weight is greater than the local dedicated weight, it indicates that the parameter is a common parameter for IoT devices. If the local dedicated weight is greater than the global shared weight, it indicates that the parameter is a unique / specific parameter of the device.

[0036] After the parameter weights of the model are initialized, the model is trained using the data set to optimize the parameter weights of the model. In the process of training the model using the data set, optimizing the parameter weights allows the IoT device to obtain data information and optimize it from both global and specific aspects. While the target type of device retains the common features of all IoT devices, it also allows the optimization of features of specific value of different types of devices. In this way, the features of the target type of device are obtained, and the model achieves good performance.

[0037] In addition, the IoT device and the target type of IoT device are selected based on the demand. As an example, the IoT device is a smart home appliance device, and the target type of IoT device is an air conditioner device.

[0038] The convolutional network model optimization method for IoT devices provided by the embodiment of the present disclosure is adopted to construct a convolutional network model based on the data information and computing resources of the networked devices. In order to capture features in shared parameters and meet the specific task requirements of the target type of device, the global shared weights and local dedicated weights are initialized for each parameter weight. When using the training set for model training, the parameter weights are optimized, so that global data can be considered and the specific data of the target type of device can be fully utilized to adapt to the task requirements of the target type of device. The training optimization of the model is realized in a relatively simple way, and the optimized model is made adaptive to complex dynamic environments, thereby maintaining the computational amount and storage requirements of the model while ensuring the performance of the model.

[0039] Optionally, in step S101, the data information of the IoT device includes:

[0040] One or more of data complexity, data feature type, image data resolution, and data edge information.

[0041] Here, the higher the data complexity, the more model layers are required, that is, the deeper the model depth is, in order to extract sufficient features. Data feature types include speech, image, etc. When the data feature type includes image, the data information also includes the resolution of the image data. The higher the resolution requirement, the more attention is paid to details, and the size of the convolution kernel is required to be a smaller convolution kernel. The edge information of the data affects the filling parameters of the model, and the filling includes zero filling and edge filling. If the edge information of the data is important to the IoT device, one of the parameters of the model is filled with edge filling. If the edge information of the data is not important to the IoT device, one of the parameters of the model is filled with zero filling. The way of filling the parameters of the model is determined by whether to pay attention to the edge information of the data. In this way, various parameters of the model can be determined by the data information of the IoT device, such as data complexity, and / or data feature type, and / or resolution of image data, and / or edge information of data.

[0042] Optionally, in step S102, the server initializes the parameter weights of the convolutional network model, including:

[0043] The server assigns the maximum value to each global shared weight and the minimum value to each local dedicated weight.

[0044] Here, the maximum value of the weight is 1 and the minimum value is 0. The reason why the weights of each parameter are initialized in this way is that in the early stage of model training, the model mainly learns common features through global shared weights, and the model does not yet understand the unique / specific features of the device. As the training progresses, the model gradually comes into contact with data from different devices. At this time, the local dedicated weights begin to play a role, and the model gradually learns the unique / specific features of the IoT device. Therefore, the initial value of the global shared weight is the maximum value, and the initial value of the local dedicated weight is the minimum value. As the training continues, the values ​​of the weights of each parameter are optimized.

[0045] Optionally, in step S103, the server uses the data set to train the initialized convolutional network model to optimize the parameter weights of the convolutional network model to obtain the optimized convolutional network model, including:

[0046] During the model training process, the server determines the error calculation method based on the task type of the data.

[0047] The server uses a determined error calculation method to calculate the global error of the global shared weight set of each layer parameter in the convolutional network model and the dedicated error of the local dedicated weight set.

[0048] The server calculates the gradient of the global error of all IoT devices and the gradient of the local error of IoT devices of the target type to optimize the weights of updating the parameters of the corresponding layer.

[0049] Among them, the global shared weights of each layer parameter constitute the global shared weight set, and the local dedicated weights constitute the local dedicated weight set.

[0050] Here, the task type of the data in the training set is adapted with a corresponding error calculation method. As an example, if the task type of the data is a classification task, the error calculation method is calculated by the cross entropy formula. If the task type of the data is a regression task, the error calculation method is calculated by the mean square error loss function. Based on the determined error calculation method, the global error and the special error are calculated separately. Specifically, the error calculation method is the cross entropy formula, then the global error Eg = -∑(y×log(p)). Where y is the true label and p is the predicted probability. The mean error calculation method is the square error loss function, then the global error Eg = ∑(y-y_pred)^2 / n. Where y is the true label, y_pred is the predicted probability, and n is the number of samples.

[0051] Similarly, the above error calculation method is also applicable to the calculation of dedicated errors. However, in the global error calculation, the data samples are the data of all IoT devices (the global shared weights corresponding to this part of data constitute the shared weight set), and the data samples in the dedicated error Ed calculation are the data of the target type of IoT devices (the local dedicated weights corresponding to this part of data constitute the local dedicated weight set). That is, in multi-classification tasks, the calculation of the global error will consider the prediction accuracy of all types of IoT devices, while the dedicated error is calculated for the prediction accuracy of each category in the target type of IoT devices.

[0052] After obtaining the global error and the dedicated error, the gradient of the global error and the gradient of the local error are calculated. Specifically, assuming that the parameter weights include w (global dedicated weight) and v (local dedicated weight), taking the stochastic gradient descent algorithm as an example, their update formulas are:

[0053]

[0054] Here, η is the learning rate, and its size needs to be adjusted according to the training situation of the model. In the early stage of training, a larger learning rate such as 0.1 can be set to speed up the convergence of the model. As the training progresses, the learning rate is gradually reduced (such as reduced to 1 / 10 of the initial rate) to prevent the model from oscillating near the optimal solution. λ is the regularization weight, which is used to control the strength of the regularization term to prevent overfitting. The regularization term Reg usually uses the Euclidean norm, that is, Reg = ∑(w^2), which serves to constrain the parameters of the model. This prevents the parameters of the model from being too large, thereby improving the generalization ability of the model.

[0055] At each iteration step, the following updates are performed:

[0056] w_t+1=w_t+delta w

[0057] v_t+1=v_t+delta v

[0058] Where t is the number of iterations.

[0059] In this way, the optimized weights take into account the balance between the global and local aspects, so that the model can achieve the expected performance. At the same time, based on the error and error gradient (calculated based on the data characteristics of the data set and the performance of the target type of equipment), the weights of the model parameters are fine-tuned to improve the generalization ability and stability of the model.

[0060] Combination Figure 2 As shown, the embodiment of the present disclosure provides another convolutional network model optimization method for an IoT device, including:

[0061] S101, the server determines the parameters of the convolutional network model based on the data information and computing resources of the IoT device.

[0062] S102, the server initializes the parameter weights of the convolutional network model; wherein each parameter weight includes a global shared weight and a local dedicated weight.

[0063] S103, the server uses the data set to train the initialized convolutional network model to optimize the weight of each parameter in the convolutional network model to obtain an optimized convolutional network model.

[0064] S204: The server sets the priority of each convolution kernel according to the influence of the convolution kernel on the training result during the model training process.

[0065] S205: The server adjusts the status of corresponding parameters according to the priority of each convolution kernel.

[0066] Here, for all convolution kernels connected to the middle layer of the model, the size of the output change caused by the sample data during the model training process is calculated, that is, the degree of influence on the training results. And based on the degree of influence on the training results, the priority of each convolution kernel is set. Then, based on the priority of the convolution kernel, the state of the corresponding parameter is adjusted. It can be understood that the higher the priority of the convolution kernel, the greater the degree of influence on the training results, so the convolution kernel can be globally shared. That is, the corresponding parameter state should be a globally shared state. Conversely, the lower the priority of the convolution kernel, the smaller the degree of influence on the training results, so the convolution kernel is suitable for fine-tuning on the target type of IoT device. That is, the corresponding parameter state should be a local dedicated state.

[0067] This helps retain common features that are valuable to all IoT devices, while also allowing for the retention and optimization of features that are uniquely valuable to different types of devices. That is, on the one hand, global shared parameters can achieve good results on multiple tasks; on the other hand, device-specific parameters focus on optimizing the effect for a single task. In this way, shared convolution kernels and device-specific convolution kernels are effectively distinguished and managed, thereby further improving model performance.

[0068] Optionally, in step S204, the server sets the priority of each convolution kernel according to the influence of the convolution kernel on the training result during the model training process, including:

[0069] The server obtains the average value of the influence of each convolution kernel on the training results during the model training process.

[0070] The server sets a higher priority to the convolution kernel with a larger average value.

[0071] Here, during the model training process, the influence of each convolution kernel on the training results is recorded at each update. Assuming that the influence on the training results is represented by Δo, the influence of a certain convolution kernel on the training results at the tth update is Δo t , then the average value of the influence of the convolution kernel on the training results is:

[0072]

[0073] Where N is the total number of updates.

[0074] Compare the average values ​​of the convolution kernels and set the priority of the convolution kernel with a larger average value to a higher level.

[0075] Optionally, in S205, the server adjusts the state of corresponding parameters according to the priority of each convolution kernel, including:

[0076] When the convolution kernel priority corresponding to the parameter in the local dedicated state is greater than the first threshold, the server adjusts the state of the parameter to the global shared state. Or,

[0077] When the convolution kernel priority corresponding to the parameter in the global shared state is less than the second threshold, the server adjusts the state of the parameter to a local dedicated state.

[0078] Here, priority thresholds, a first threshold and a second threshold are set to define the priority of the convolution kernel. Specifically, if the convolution kernel priority corresponding to the parameter of the local dedicated state is greater than the first threshold, the state of the parameter is adjusted from the local dedicated state to the global shared state. That is, the parameter is promoted from the local dedicated state to the global shared state. Similarly, if the convolution kernel priority corresponding to the parameter of the global shared state is less than the second threshold, the state of the parameter is adjusted from the global shared state to the local dedicated state. That is, the parameter is reduced from the global shared state to the local dedicated state.

[0079] Optionally, in S205, the server adjusts the state of the corresponding parameter according to the priority of each convolution kernel, further comprising:

[0080] The server determines the parameter weight adjustment range corresponding to the parameter according to the difference between the priority and the corresponding first threshold or second threshold.

[0081] As mentioned above, each parameter has two weights in the initial stage. With continuous training, the parameter weights gradually tend to be stable. Based on the parameter weights, the state of the parameter can be determined. Therefore, adjusting the state of the corresponding parameter based on the priority of the convolution kernel is essentially adjusting the weight value corresponding to the parameter. For example, promoting a parameter from a local dedicated state to a global shared state means increasing the global shared weight of the parameter. Specifically, the adjustment amplitude of the weight is determined based on the difference between the priority of the convolution kernel and the threshold. Take the example that the priority of the convolution kernel is greater than the first threshold. Assume that the priority of the convolution kernel is Priority and the first threshold is P. t hres, then the adjustment amplitude Δalpha is:

[0082] Δalpha=k×(Priority-P t hres)

[0083] Wherein, k is an adjustment coefficient, and the size of the adjustment coefficient can be set based on demand.

[0084] Optionally, in S205, the server adjusts the state of the corresponding parameter according to the priority of each convolution kernel, further comprising:

[0085] The server determines the weight adjustment frequency corresponding to the parameters based on the model training situation.

[0086] Here, the adjustment frequency can be determined based on the period of model training. For example, in the early stage of model training, the adjustment frequency is determined to be the first frequency. In the late stage of training, the adjustment frequency is determined to be the second frequency. Among them, the first frequency is greater than the second frequency. In the early stage of training, the model is in a stage of rapid learning. At this time, the parameters can be adjusted more frequently to accelerate the convergence of the model. As the training progresses, the model gradually becomes stable. At this time, the frequency of adjustment can be reduced to avoid unnecessary interference with the model performance.

[0087] Alternatively, the adjustment frequency may be determined based on the number of iterations or training steps or epochs (i.e., the process in which the entire data set is completely traversed once) of model training, for example, the weights may be adjusted once every several iterations.

[0088] Combination Figure 3 As shown, the embodiment of the present disclosure provides another convolutional network model optimization method for an IoT device, including:

[0089] S101, the server determines the parameters of the convolutional network model based on the data information and computing resources of the IoT device.

[0090] S102, the server initializes the parameter weights of the convolutional network model; wherein each parameter weight includes a global shared weight and a local dedicated weight.

[0091] S103, the server uses the data set to train the initialized convolutional network model to optimize each parameter weight of the convolutional network model to obtain an optimized convolutional network model.

[0092] S204: The server sets the priority of each convolution kernel according to the influence of the convolution kernel on the training result during the model training process.

[0093] S251, when the priority of the convolution kernel meets the parameter state adjustment condition, the server determines whether the convolution kernel meets the migration condition during multiple traversals of the data set.

[0094] S252: When the migration conditions are met, the server adjusts the state of the corresponding parameters of the convolution kernel.

[0095] Here, the parameter state adjustment condition refers to the relationship between the priority of the convolution kernel and the first threshold and the second threshold in the previous text. When the priority of the convolution kernel meets the previous conditions, the parameter corresponding to the convolution kernel is determined to be a candidate parameter for adjustment. Further, it is determined whether the convolution kernel meets the migration condition. Specifically, in the subsequent training process, additional constraints are added when the previous update rules are used to promote the convolution kernel to gradually meet the migration condition. The additional constraint can be a regularization constraint on the convolution kernel parameter, such as using L1 regularization (i.e., Lasso regularization) or L2 regularization (i.e., Ridge regularization) to limit the range of variation of the convolution kernel parameter. And in multiple traversal processes of the data set, it is determined whether the priority of the convolution kernel is basically unchanged, and whether the performance index of the model is improved in the new state (such as the convolution kernel is proposed to be promoted from the current local dedicated state to the global shared state). If the priority of the convolution kernel remains unchanged and the model performance index is improved in the new state, it is determined that the migration condition is met. Then adjust the state of the corresponding parameter of the convolution kernel. If the migration condition is not met, the adjustment candidate of the parameter is cancelled.

[0096] Combination Figure 4 As shown, the embodiment of the present disclosure provides another convolutional network model optimization method for an IoT device, including:

[0097] S101, the server determines the parameters of the convolutional network model based on the data information and computing resources of the IoT device.

[0098] S102, the server initializes the parameter weights of the convolutional network model; wherein each parameter weight includes a global shared weight and a local dedicated weight.

[0099] S103, the server uses the data set to train the initialized convolutional network model to optimize the weight of each parameter in the convolutional network model to obtain an optimized convolutional network model.

[0100] S204: The server sets the priority of each convolution kernel according to the influence of the convolution kernel on the training result during the model training process.

[0101] S205: The server adjusts the status of corresponding parameters according to the priority of each convolution kernel.

[0102] S306: After each model training, the server adaptively fine-tunes various parameters and weights based on a dynamic learning mechanism.

[0103] Here, a dynamic learning mechanism is introduced to enable the model to self-adapt to adjust parameters and weights. Specifically, with the help of reinforcement learning technology, the reinforcement learning model is used to evaluate and learn the optimal strategy after each round of training, that is, how to fine-tune the weights of each parameter and the parameter state. More specifically, a reinforcement learning agent (hereinafter referred to as the agent) is constructed, and the corresponding state, action and reward function are designed. The state includes the specific indicators of the model, the number of trained batches, the current optimal effect, the complexity of the model and the consumption of computing resources. Among them, the specific indicators include the accuracy, recall rate, F1 value, etc. evaluated on the data validation set or test set. At the same time, the comparison of these indicators with the indicators after several rounds of training is recorded to reflect the performance change trend of the model. The current optimal effect includes the highest historical accuracy, the lowest loss value, etc., as well as the specific rounds in which these optimal effects appear. The complexity of the model includes the number of layers and the number of parameters of the model. The consumption of computing resources includes the CPU, memory, GPU and other resource usage during the training process.

[0104] Actions include adjusting parameter weights, such as the weight adjustment range mentioned above. Alternatively, the weights of multiple layers are adjusted according to preset rules. Alternatively, the learning rate is dynamically adjusted according to the performance indicators of the model. When the accuracy rate has not improved for several consecutive rounds, the learning rate is reduced by a certain percentage. Regularization parameters are dynamically adjusted according to changes in the loss function.

[0105] The reward function includes positive rewards and negative rewards. In the image classification task, if the categories of the data set are unbalanced, a higher reward, i.e., a positive reward, can be given for correctly classifying the minority class. At the same time, a lower reward, i.e., a negative reward, can be given for incorrectly classifying the class, and other actions can be tried in the next training process.

[0106] As an example, for the image classification task, training is performed on the CIFAR-10 dataset. During the training process, every 10 rounds of training constitute a cycle, and the agent determines the reward of the action based on the accuracy, recall rate and other indicators of the model on the validation set. If the accuracy rate increases by 2%, a positive reward of +1 is given, and the agent continues to take similar actions. If the accuracy rate does not improve or even decreases, a negative reward of -1 is given, and the agent tries other actions. At the same time, according to the complexity of the model and the consumption of computing resources, the choice of action is adjusted to ensure that the model achieves a balance between performance and resource utilization.

[0107] Combination Figure 5 As shown, an embodiment of the present disclosure provides an electronic device 100, including a processor 101 and a memory 102. Optionally, the device may also include a communication interface 103 and a bus 104. Among them, the processor 101, the communication interface 103, and the memory 102 can communicate with each other through the bus 104. The communication interface 103 can be used for information transmission. The processor 101 can call the logic instructions in the memory 102 to execute the convolutional network model optimization method for the Internet of Things device of the above embodiment.

[0108] In addition, the logic instructions in the memory 102 described above may be implemented in the form of software functional units and when sold or used as independent products, may be stored in a computer-readable storage medium.

[0109] The memory 102 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 101 executes functional applications and data processing by running the program instructions / modules stored in the memory 102, that is, implementing the convolutional network model optimization method for IoT devices in the above embodiment.

[0110] The memory 102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 102 may include a high-speed random access memory and may also include a non-volatile memory.

[0111] like Figure 6As shown, an embodiment of the present disclosure provides a server 200, including: a server body, and the above-mentioned electronic device 100. The electronic device is installed on the server body. The installation relationship described here is not limited to placement inside the product body, but also includes installation connections with other components of the server, including but not limited to physical connections, electrical connections or signal transmission connections, etc. It can be understood by those skilled in the art that the electronic device can be adapted to a feasible product body, thereby realizing other feasible embodiments.

[0112] An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned convolutional network model optimization method for an Internet of Things device.

[0113] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and other media that can store program codes.

[0114] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible changes. Unless explicitly required, separate components and functions are optional, and the order of operation may vary. The parts and features of some embodiments may be included in or replace the parts and features of other embodiments. Moreover, the words used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and the claims, unless the context clearly indicates, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of listings containing one or more associated ones. In addition, when used in the present application, the term "comprise" and its variants "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, the elements defined by the sentence "comprising a ..." do not exclude the presence of other identical elements in the process, method or device comprising the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the various embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.

[0115] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods for each specific application to implement the described functions, but such implementations should not be considered to exceed the scope of the embodiments of the present disclosure. The technicians may clearly understand that, for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above may refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.

[0116] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units can be only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, each functional unit in the embodiment of the present disclosure may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit.

[0117] The flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to the embodiment of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and the block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.

Claims

1. A convolutional network model optimization method for Internet of Things devices, characterized in that: include: Determine the parameters of the convolutional network model based on the data information and computing resources of the IoT devices; Initialize the parameter weights of the convolutional network model; each parameter weight includes a global shared weight and a local dedicated weight; The initialized convolutional network model is trained using the data set to optimize the parameter weights and obtain a trained convolutional network model.

2. The convolutional network model optimization method for Internet of Things devices according to claim 1, characterized in that: The data information of IoT devices includes: One or more of data complexity, data feature type, image data resolution, and data edge information.

3. The convolutional network model optimization method for Internet of Things devices according to claim 1, characterized in that: Initialize the parameter weights of the convolutional network model, including: Each global shared weight is given its maximum value, and each local dedicated weight is given its minimum value.

4. The convolutional network model optimization method for Internet of Things devices according to claim 1, characterized in that: Use the dataset to train the initialized convolutional network model to optimize the parameter weights of the convolutional network model, including: During model training, the error calculation method is determined based on the task type of the data; Using the determined error calculation method, the global error of the global shared weight set of the parameter weights of each layer in the convolutional network model and the dedicated error of the local dedicated weight set are calculated; Calculate the gradient of the global error of all IoT devices and the gradient of the local error of the target type of IoT devices to optimize and update the parameter weights of the corresponding layers; Among them, the global shared weights of the parameter weights of each layer constitute the global shared weight set, and the local dedicated weights constitute the local dedicated weight set.

5. The convolutional network model optimization method for Internet of Things devices according to any one of claims 1 to 4, characterized in that: After obtaining the trained convolutional network model, it also includes: Set the priority of each convolution kernel according to its influence on the training results during model training; According to the priority of each convolution kernel, adjust the status of the corresponding parameters.

6. The convolutional network model optimization method for Internet of Things devices according to claim 5, characterized in that: According to the influence of the convolution kernel on the training results during model training, set the priority of each convolution kernel, including: Get the average value of the influence of each convolution kernel on the training results during model training; The convolution kernel with a larger average value has a higher priority.

7. The convolutional network model optimization method for Internet of Things devices according to claim 6, characterized in that: According to the priority of each convolution kernel, adjust the status of the corresponding parameters, including: When the convolution kernel priority corresponding to the parameter in the local dedicated state is greater than the first threshold, the state of the parameter is adjusted to the global shared state; or, When the convolution kernel priority corresponding to the parameter in the global shared state is less than the second threshold, the state of the parameter is adjusted to a local dedicated state.

8. The convolutional network model optimization method for Internet of Things devices according to claim 5, characterized in that: After adjusting the status of the corresponding parameters, it also includes: After each model training, each parameter and parameter weight is adaptively fine-tuned based on the dynamic learning mechanism.

9. A computer-readable storage medium storing program instructions, characterized in that: When the program instructions are executed, the computer is used to execute the convolutional network model optimization method for Internet of Things devices as described in any one of claims 1 to 8.

10. An electronic device comprising a processor and a memory storing program instructions, characterized in that: The processor is configured to execute the convolutional network model optimization method for an Internet of Things device as described in any one of claims 1 to 8 through a computer program.