Electronic device and control method thereof

By evaluating the version of the global neural network model in federated learning and learning and sending updated version files when conditions are met, the accuracy reduction problems caused by global model learning failures and attacks are solved, and the accuracy and security of the model are improved.

CN120530401APending Publication Date: 2025-08-22SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380090162.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-01-03
Filing Date
2023-09-27
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

In federated learning, the accuracy of the neural network model is easily damaged due to failure and attacks in global model learning, and the local neural network model may be corrupted, resulting in a decrease in the accuracy of the evaluation data.

Method used

The electronic device receives the version file of the global neural network model, evaluates its version and the version of the local model, only learns and evaluates when the version is updated, and sends the updated version file to the server when the evaluation results meet the conditions, using SSL/TLS encoding to protect data security.

Benefits of technology

Improve the accuracy of neural network models, prevent data corruption and attacks, ensure the reliability and security of evaluation results, and reduce network traffic and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120530401A_ABST
    Figure CN120530401A_ABST
Patent Text Reader

Abstract

An electronic device includes: a communication interface; a memory configured to store at least one instruction; and at least one processor configured to: receive information about the global neural network model and information about the evaluation data from the server using the communication interface; obtaining a data set for training the global neural network model; training the global neural network model based on the data set; evaluating the trained global neural network model by inputting evaluation data into the trained global neural network model; and determining whether to send information about the trained global neural network model to a server based on an evaluation result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an electronic device and a control method thereof, and more particularly to an electronic device capable of performing federated learning on a neural network model in association with a server and a control method thereof. Background Art

[0002] Technologies for training a neural network model may include technologies for training a neural network model in one electronic device, and federated learning technologies in which a server and multiple devices work together to train a neural network model.

[0003] Federated learning can refer to a technology where multiple local electronic devices collaborate with a central server to train a global model using distributed data. Here, local electronic devices can include Internet of Things (IoT) devices, smartphones, etc.

[0004] Federated learning can offer advantages such as improved data privacy and communication efficiency. Using federated learning can allow learning to occur without data leakage in situations where personal information about patients, such as hospital clinical data, must be protected. Furthermore, when all data corresponding to tens of thousands of local electronic devices is sent to a central server, network traffic and storage costs can increase. However, using federated learning can significantly reduce network costs because only updated information for the neural network model can be exchanged.

[0005] However, in some methods of federated learning, there may be a problem of low stability due to failures and attacks on global model learning. Specifically, in the process of transmitting the global model, the accuracy of the global model may be damaged by modifying the parameters of the global model. In addition, the local neural network model generated by the electronic device may be damaged because the learning data may be damaged before learning, and when the information about the neural network model (e.g., parameters) is sent to the central server, the information about the neural network model learned in the electronic device may be damaged. This may lead to the problem of impaired accuracy of the global neural network model. In addition, when the central server evaluates the learned neural network model, the accuracy of federated learning may be reduced due to the damage of the evaluation data.

[0006] Therefore, a method is needed to maintain the accuracy of the neural network model based on federated learning while minimizing the damage to the neural network model due to failures and attacks on global model learning. Summary of the Invention

[0007] [Technical solution]

[0008] According to one aspect of the present disclosure, an electronic device includes: a communication interface; a memory configured to store at least one instruction; and at least one processor configured to: receive information about a global neural network model and information about evaluation data from a server using the communication interface; obtain a data set for training the global neural network model; train the global neural network model based on the data set; evaluate the trained global neural network model by inputting evaluation data into the trained global neural network model; and determine whether to send information about the trained global neural network model to the server based on a result of the evaluation.

[0009] The at least one processor may also be configured to: obtain a first accuracy level regarding a result value output by inputting evaluation data into a global neural network model; obtain a second accuracy level regarding a result value output by inputting the evaluation data into the trained global neural network model; and evaluate the trained global neural network model by comparing the first accuracy level with the second accuracy level.

[0010] The at least one processor may be further configured to determine whether to send the information about the trained global neural network model to the server based on determining that the second level of accuracy is higher than the first level of accuracy.

[0011] The information about the global neural network model may include version information corresponding to the global neural network model and address information indicating an address from which the global neural network model can be downloaded; and the at least one processor may also be configured to: compare the version information corresponding to the local neural network model stored in the electronic device and the version information corresponding to the global neural network model; and based on determining that the version of the global neural network model is higher than the version of the local neural network model, download the global neural network model using the communication interface based on the address information.

[0012] The at least one processor may also be configured to: receive a version file from the server using the communication interface, the version file including information about the global neural network model and information about the evaluation data; obtain address information about a data set pre-stored in the electronic device; and add the obtained address information about the data set to the version file.

[0013] The at least one processor may be further configured to: update a version file to include parameter information about the trained global network model based on a result of the evaluation; and control the communication interface to send the updated version file to the server.

[0014] The at least one processor may be further configured to control the communication interface to delete address information about the data set from the updated version file before sending the updated version file to the server.

[0015] A new version of the global neural network model may be generated by the server based on information about the trained global neural network model received from the electronic device.

[0016] The at least one processor may be further configured to: perform secure socket layer / transport layer security (SSL / TLS) encoding on information about the trained global neural network model; and control the communication interface to send the encoded trained global neural network model to the server.

[0017] The at least one processor may also be configured to store the trained global neural network model as a local neural network model in the memory.

[0018] According to one aspect of the present disclosure, a control method for an electronic device includes: receiving information about a global neural network model and information about evaluation data from a server; obtaining a data set for training the global neural network model; training the global neural network model based on the data set; evaluating the trained global neural network model by inputting evaluation data into the trained global neural network model; and determining whether to send information about the trained global neural network model to the server based on a result of the evaluation.

[0019] The evaluation may include: obtaining a first accuracy level regarding a result value output by inputting evaluation data into a global neural network model; obtaining a second accuracy level regarding a result value output by inputting the evaluation data into the trained global neural network model; and evaluating the trained global neural network model by comparing the first accuracy level with the second accuracy level.

[0020] The determining may include determining whether to transmit information about the trained global neural network model to a server based on determining that the second accuracy level is higher than the first accuracy level.

[0021] The information about the global neural network model may include version information corresponding to the global neural network model and address information indicating an address from which the global neural network model can be downloaded; and the control method may include: comparing the version information corresponding to the local neural network model stored in the electronic device and the version information corresponding to the global neural network model; and based on determining that the version of the global neural network model is higher than the version of the local neural network model, downloading the global neural network model based on the address information.

[0022] The receiving may include: receiving a version file including information about the global neural network model and information about the evaluation data from a server; and the obtaining may include: obtaining address information about a data set pre-stored in the electronic device; and adding the obtained address information about the data set to the version file. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 A diagram is provided for explaining a method in which an electronic device and a server perform federated learning on a neural network model in association with each other according to one or more embodiments;

[0024] Figure 2 is a block diagram illustrating a configuration of an electronic device according to one or more embodiments;

[0025] Figure 3 is a block diagram of a configuration including an electronic device and a server for performing federated learning according to one or more embodiments;

[0026] Figure 4 is a flowchart provided for explaining a control method of an electronic device for performing federated learning using a version file according to one or more embodiments;

[0027] Figure 5 is a view provided to explain a version file according to one or more embodiments;

[0028] Figures 6 to 9 is a view provided for explaining a version file when an electronic device performs learning on a neural network model according to one or more embodiments;

[0029] Figure 10 A flowchart is provided for explaining a method of controlling a server that performs federated learning using a version file according to one or more embodiments.

[0030] Figure 11 is a flowchart provided for explaining a method of determining whether to use a global model learned based on a trained version of a global model according to one or more embodiments;

[0031] Figure 12 is a view providing a version file for explaining a new version of a global network model according to one or more embodiments; and

[0032] Figure 13 is a flowchart provided to explain a control method of an electronic device according to one or more embodiments. DETAILED DESCRIPTION

[0033] Hereinafter, various embodiments of the present disclosure will be described. However, the present disclosure is not intended to be limited to the specifically described embodiments, and should be understood to include various modifications, equivalents, and / or substitutes.

[0034] In the present disclosure, expressions “having”, “may have”, “including”, “may include”, etc. indicate the existence of corresponding features (e.g., numerical values, functions, operations, components such as parts, etc.), and do not exclude the existence of additional features.

[0035] In the present disclosure, expressions such as "A or B", "at least one of A or / and B", "one or more of A and / or B", etc. may include all possible combinations of the items listed together. For example, "A or B", "at least one of A and B", or "at least one of A or B" may indicate all of the following: 1) a case where at least one A is included, 2) a case where at least one B is included, or 3) a case where both at least one A and at least one B are included.

[0036] The terms "first," "second," and the like used in this disclosure may refer to various components, regardless of the order and / or importance of the components, and are used solely to distinguish one component from the other components, and do not limit the corresponding components. For example, a first user device and a second user device may refer to different user devices, regardless of the order or importance. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the rights described in this document.

[0037] In this document, "module," "unit," "component," etc. may be used herein to refer to a component that performs at least one function or operation, and such a component may be implemented by hardware or software, or by a combination of hardware and software. In addition, multiple "modules," multiple "units," multiple "components," etc. may be integrated into at least one module or chip and implemented by a processor, except when each of the "modules," "units," "components," etc. needs to be implemented by specific hardware.

[0038] When it is mentioned that any component (e.g., a first component) is (operably or communicatively) coupled to / coupled to another component (e.g., a second component) or connected to another component (e.g., a second component), it should be understood that any component is directly coupled to the other component or can be coupled to the other component through another component (e.g., a third component). On the other hand, when it is mentioned that any component (e.g., a first component) is "directly coupled" or "directly connected" to another component (e.g., a second component), it should be understood that other components (e.g., a third component) do not exist between any component and the other component.

[0039] The expression "configured (or set) to" used in this disclosure may be replaced by expressions such as "suitable for", "capable of", "designed to", "adapted to", "manufactured to", or "capable of", as appropriate. The term "configured (or set) to" may not necessarily mean "specially designed to" in hardware. On the contrary, the expression "a device configured to" may mean that the device is "capable" of working with other devices or components. For example, "a processor configured (or set) to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing the corresponding operations, or a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) that can perform the corresponding operations by executing one or more software programs stored in a memory device.

[0040] The terms used in this disclosure are only used to describe specific embodiments and may not be intended to limit the scope of other embodiments. Unless the context clearly indicates otherwise, singular expressions may include plural expressions. The terms used herein, including technical or scientific terms, may have the same meanings as those generally understood by those skilled in the art. Among the terms used in this disclosure, the terms defined in general dictionaries may be interpreted as having the same or similar meanings as those in the context of the relevant technology, and unless clearly defined in this disclosure, they are not ideally or excessively interpreted. In some cases, even the terms defined in this disclosure can not be interpreted as excluding embodiments of the present disclosure.

[0041] Hereinafter, the embodiments are described in more detail with reference to the accompanying drawings. However, in the following description, if it is determined that the detailed description of related known functions or configurations may unnecessarily obscure the present disclosure, the detailed description thereof may be omitted. In conjunction with the description of the accompanying drawings, the same reference numerals may be used for the same components.

[0042] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

[0043] Figure 1 The present invention provides a view for explaining a method in which an electronic device and a server perform federated learning on a neural network model in association with each other according to one or more embodiments. Figure 1As shown, the electronic device 100 can perform federated learning on a global neural network in association with the server 50. For example, a global neural network model (hereinafter, referred to as a "global model") can be a neural network model generated in the server 50, and can be a neural network model distributed to multiple electronic devices connected to the server 50. The electronic device 100 can perform learning on the global model using a pre-stored data set. As a result, the electronic device 100 can obtain a learned neural network model. In addition, the electronic device 100 can store the trained global model as a local neural network model (hereinafter referred to as a "local model"). The electronic device 100 can use the local model to perform inference operations.

[0044] The server 50 may transmit the version file of the global model to the electronic device 100. For example, the version file of the global model may be a file including information about the global model and information about the evaluation data, an example of which is referred to as Figure 5 Detailed Description In an embodiment, information related to a thing may be referred to as information about the thing.

[0045] The electronic device 100 may check the version of the global model based on the version file. Here, when it is determined that the received global model is not the latest version of the global model (for example, when it is determined that the version of the received global model is the same as or lower than the local model stored in the electronic device 100), the electronic device 100 may ignore the received version file of the global model. In an embodiment, when a first version is said to be lower than a second version, this may mean that the first version is earlier, older, or less updated than the second version. Similarly, when a first version is said to be higher than a second version, this may mean that the first version is later, newer, or more updated than the second version.

[0046] When it is determined based on the version file that the received global model is the latest version of the global model, the electronic device 100 may download the global model from the server 50 based on the version file.

[0047] The electronic device 100 may learn the global model based on the downloaded global model and dataset. For example, the dataset may include personal information stored in the electronic device 100 (e.g., health information, photos taken by the user, etc.), but the embodiment is not limited thereto. The dataset may also be a dataset stored in an external device connected to the electronic device 100.

[0048] The electronic device 100 may obtain a global model trained by learning. For example, the trained global model may include updated parameters (eg, weights).

[0049] The electronic device 100 may obtain evaluation data based on the version file. For example, the evaluation data is data used to evaluate the trained global model and may include at least one of input data for obtaining a result value from the global model or the trained global model and correct answer data corresponding to the input data.

[0050] The electronic device 100 may evaluate the trained global model based on the evaluation data. For example, the electronic device 100 may obtain a first accuracy for the result value output by inputting the evaluation data into the global model, obtain a second accuracy for the result value output by inputting the evaluation data into the trained global model, and evaluate the trained global model by comparing the first accuracy with the second accuracy. In an embodiment, the first accuracy may be or may include first accuracy information indicating a first accuracy level, the first accuracy level representing or corresponding to the accuracy of the result value output by inputting the evaluation data into the global model, and the second accuracy may be or may include second accuracy information indicating a second accuracy level, the second accuracy level representing or corresponding to the accuracy of the result value output by inputting the evaluation data into the trained global model. In an embodiment, inputting may be referred to as providing.

[0051] After evaluating the trained global model, the electronic device 100 may update the version file. Specifically, the electronic device 100 may update the version file by adding information about the updated parameters to the version file.

[0052] The electronic device 100 may transmit the updated version file to the server 50. For example, to increase the security of the version file, the electronic device 100 may perform Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding on the updated version file to encode the updated version file and transmit it to the server 50.

[0053] The server 50 may obtain an updated global model based on a pre-stored global model and information about parameters received from a plurality of electronic devices. For example, the server 50 may obtain an updated global model based on updated parameters obtained from a plurality of electronic devices.

[0054] The server 50 may obtain an updated version file based on the updated global model. For example, the server 50 may obtain a version file for a new version of the global model.

[0055] The server 50 may perform federated learning on the global model by distributing a version file on a new version of the global model to a plurality of devices.

[0056] As described above, by directly training and evaluating the global model in the electronic device 100 and transmitting information about the updated global model to the server 50 based on the evaluation result, it is possible to overcome the problem of data corruption that may occur during the process of directly updating the global model by the server 50. In addition, when the evaluation result is low, the information about the trained global model may not be transmitted to the server 50, and the problem of generating unexpected results as an external attacker adjusts the evaluation data sample of the server 50 can be overcome.

[0057] Figure 2 is a block diagram showing a configuration of an electronic device according to one or more embodiments. Figure 2 As shown, the electronic device 100 may include a communication interface 110, a memory 120, and at least one processor 130. For example, Figure 1 The electronic device 100 shown may be a user terminal such as a mobile device, a personal computer (PC), a smart phone, a tablet PC, a notebook PC, a laptop PC, etc., but the embodiment is not limited thereto. The electronic device 100 may be implemented as various devices such as a smart television (TV), a home appliance, an Internet of Things (IoT) device, etc. In addition, Figure 2 The configuration of the electronic device 100 shown is merely an example, and the embodiment is not limited thereto. For example, some features may be added or deleted depending on the type of the electronic device 100.

[0058] The communication interface 110 may include at least one circuit and may perform communication with various external devices or servers. The communication interface 110 may include at least one of a Bluetooth Low Energy (BLE) module, a WiFi communication module, a cellular communication module, a third generation (3G) mobile communication module, a fourth generation (4G) mobile communication module, a fourth generation Long Term Evolution (LTE) communication module, and a fifth generation (5G) mobile communication module.

[0059] In particular, the communication interface 110 may receive a version file of the global model from the external server 50. In addition, the communication interface 110 may transmit an updated version file including information about the trained global model to the server 50.

[0060] Furthermore, the communication interface 110 may download the global model or evaluation data based on the information recorded in the version file.

[0061] The memory 120 may store an operating system (OS) for controlling the overall operation of the components of the electronic device 100 and instructions or data related to the components of the electronic device 100. Specifically, in order to perform federated learning on a global model in association with the server 50, as shown in FIG. Figure 3As shown, the memory 120 may include a version file receiving module 310, a version checking module 315, a global model downloading module 320, a data set acquiring module 325, a learning module 330, an evaluation module 335, a version file updating module 340, and a version file transmitting module 345. Specifically, when executing a function for performing federated learning on a global model, the electronic device 100 may load data stored in a non-volatile memory about various modules for performing federated learning on a global model in association with the server 50 onto a volatile memory. Here, loading may refer to an operation of calling data stored in a non-volatile memory and storing it on a volatile memory so that the at least one processor 130 can access it.

[0062] In an embodiment, the memory 120 may be implemented as a non-volatile memory (eg, a hard disk, a solid state drive (SSD), a flash memory), a volatile memory (which may also include a memory in the processor 111 ), or the like.

[0063] In addition, the memory 120 may store information about the local model. For example, the local model may be a neural network model obtained by the electronic device 100 performing learning on a previous version of the global model.

[0064] In addition, the memory 120 may store a dataset. The dataset may be a dataset for training a global model and may include personal information.

[0065] The at least one processor 130 may control the electronic device 100 according to at least one instruction stored in the memory 120 .

[0066] In particular, the at least one processor 130 may include one or more processors. Specifically, the at least one processor may include at least one of a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a multi-core integrated circuit (MIC), a digital signal processor (DSP), a neural processing unit (NPU), a hardware accelerator, or a machine learning accelerator. The at least one processor may control one or any combination of the other components of the electronic device and perform operations related to communication or data processing. The at least one processor may execute at least one program or instruction stored in a memory. For example, the at least one processor may execute the method according to one or more embodiments of the present disclosure by executing at least one instruction stored in the memory.

[0067] When the method according to one or more embodiments includes multiple operations, the multiple operations can be performed by one processor or multiple processors. For example, when the first operation, the second operation, and the third operation are performed by the method according to one or more embodiments, the first operation, the second operation, and the third operation can all be performed by the first processor, or the first operation and the second operation can be performed by the first processor (e.g., a general-purpose processor), and the third operation can be performed by the second processor (e.g., only an AI processor). For example, a version check operation of a global model and an evaluation operation of a trained global model can be performed by a first processor (e.g., a CPU), and a learning operation on the global model can be performed by a second processor (e.g., a GPU or an NPU).

[0068] One or more processors may be implemented as single-core processors each including one core, or may be implemented by one or more multi-core processors each including multiple cores (e.g., multiple homogeneous cores or multiple heterogeneous cores). In the case where one or more processors are implemented as multi-core processors, each of the multiple cores included in the multi-core processor may include a memory such as a cache memory or on-chip memory inside the processor, and a common cache shared by the multiple cores may be included in the multi-core processor. In addition, each of the multiple cores included in the multi-core processor (or some of the multiple cores) may independently read and execute program instructions for implementing the method according to one or more embodiments of the present disclosure, or all (or some) of the multiple cores may be linked to each other to read and execute program instructions for implementing the method according to one or more embodiments of the present disclosure.

[0069] In the case where the method according to one or more embodiments of the present disclosure includes multiple operations, the multiple operations may be performed by one of the multiple cores included in the multi-core processor, or may be performed by two or more of the multiple cores. For example, when a first operation, a second operation, and a third operation are performed by the method according to one or more embodiments, the first operation, the second operation, and the third operation may all be performed by the first core included in the multi-core processor, or the first operation and the second operation may be performed by the first core included in the multi-core processor, and the third operation may be performed by the second core included in the multi-core processor.

[0070] In the embodiments of the present disclosure, a processor may refer to a system on a chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor. Here, the core may be implemented as a CPU, GPU, APU, MIC, DSP, NPU, hardware accelerator, or machine learning accelerator, but the embodiments of the present disclosure are not limited thereto.

[0071] In particular, the at least one processor 130 may receive information about the global model and information about the evaluation data from the server 50 via the communication interface 110. The at least one processor 130 may obtain a data set for training the global model. In addition, the at least one processor 130 may train the global model using the data set. The at least one processor 130 may evaluate the trained global model by inputting the evaluation data into the trained global model. Furthermore, the at least one processor 130 may determine whether to transmit information about the trained global model to the server 50 based on the evaluation result.

[0072] Specifically, at least one processor 130 may obtain a first accuracy value for a result value output by inputting the evaluation data into the global model. At least one processor 130 may also obtain a second accuracy value for a result value output by inputting the evaluation data into the trained global model. Furthermore, at least one processor 130 may evaluate the trained global model by comparing the first accuracy value with the second accuracy value. For example, if the second accuracy value is determined to be higher than the first accuracy value, at least one processor 130 may determine whether to transmit information about the trained global model to the server 50.

[0073] In an embodiment, the information about the global model may include version information of the global model and address information from which the global model can be downloaded. For example, the address information may indicate the address from which the global model can be downloaded. For example, the at least one processor 130 may compare the version information of the local model stored in the electronic device 100 with the version information of the global model. When it is determined that the version of the global model is higher than the version of the local model, the at least one processor 130 may download the global model through the communication interface 110 based on the address information from which the global model can be downloaded.

[0074] In addition, the at least one processor 130 may receive a version file including information about the global model and information about the evaluation data from the server 50 through the communication interface 110. In addition, the at least one processor 130 may obtain address information about a dataset pre-stored in the electronic device 100. For example, the at least one processor 130 may add the obtained address information about the dataset to the version file.

[0075] In addition, the at least one processor 130 may update the version file to include parameter information about the trained global model based on the evaluation result. In addition, the at least one processor 130 may control the communication interface 110 to send the updated version file to the server 50.

[0076] In addition, the at least one processor 130 may control the communication interface 110 to delete the address information about the data set added to the version file and transmit it to the server 50 .

[0077] Additionally, the at least one processor 130 may perform Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding on the trained global model and transmit it to the server 50 .

[0078] In addition, the at least one processor 130 may store the trained global model in the memory 120 as a local model.

[0079] Figure 3 is a block diagram illustrating a configuration of an electronic device and a server for performing federated learning according to one or more embodiments. Figure 3 As shown, the electronic device 100 may include a version file receiving module 310, a version checking module 315, a global model downloading module 320, a data set acquiring module 340, a learning module 330, an evaluation module 335, a version file updating module 340, and a version file transmitting module 345. Figure 3 As shown, the server 50 may include a version file receiving module 350 , a version checking module 355 , a global model updating module 360 ​​, a version file generating module 365 and a version file transmitting module 370 .

[0080] The version file receiving module 310 can receive the version file generated by the version file generating module 365. For example, the version file may include information about the global model and information about the evaluation data. The information about the global model may include version information about the global model and address information from which the global model can be downloaded. In addition, the information about the evaluation data may include address information from which the evaluation data can be downloaded. For example, the global model may be a neural network model generated (or updated) by the server 50, and the evaluation data may mean test data for evaluating the accuracy of the global model. Specifically, the evaluation data may include at least one of input data for obtaining a result value from the global model or the trained global model and correct answer data corresponding to the input data.

[0081] In an embodiment, the version file may be written in JavaScript Object Notation (JSON), but the embodiment is not limited thereto. The version file may be implemented in various ways, such as a database management system (DBMS), a create shared value (CSV), and the like.

[0082] The version checking module 315 may identify version information of the global model included in the version file received by the version file receiving module 310. The version checking module 315 may compare version information of the local model stored in the electronic device 100 with version information of the global model corresponding to the version file.

[0083] Specifically, the version checking module 315 may determine whether the version of the global model corresponding to the version file is higher than the version of the local model stored in the electronic device 100 , or, for example, whether it is the latest version of the global model.

[0084] When the version of the global model is lower than or equal to the version of the local model (eg, when the version of the global model is not newer than the version of the local model), the version checking module 315 may ignore the received version file. For example, the version checking module 315 may delete the received version file.

[0085] When the version of the global model is higher than the version of the local model (for example, when the version of the global model is newer than the version of the local model), the global model download module 320 may download the global model from the server 50 (or other database connected to the server 50). In particular, the global model download module 320 may download the global model based on address information from which the global model included in the version file may be downloaded.

[0086] The dataset acquisition module 325 may obtain a dataset for training the global model. For example, the dataset may be a dataset stored in the electronic device 100, but the embodiment is not limited thereto. The dataset may also be a dataset stored in an external device (e.g., a cloud server that can be logged in with a user account). According to one or more embodiments, the dataset may be a dataset of private data including personal information.

[0087] In addition, the dataset acquisition module 325 can determine whether the dataset obtained for training the current global model is an updated dataset compared to the dataset used when learning the previous version. When the dataset obtained for training the current global model is updated data compared to the dataset used when learning the previous version, the dataset acquisition module 325 can output the dataset to the learning module 330. However, when the dataset obtained for training the current global model is the same dataset as the dataset used when learning the previous version, the dataset acquisition module 325 can wait until the version file of the next version of the global model is received, or obtain an updated dataset, without outputting the dataset to the learning module 330.

[0088] In an embodiment, the dataset acquisition module 325 may add information about the acquired dataset to the version file. Specifically, the dataset acquisition module 325 may add address information corresponding to the acquired dataset to the version file.

[0089] The learning module 330 may train the global model using the global model downloaded by the global model downloading module 320 and the dataset obtained by the dataset acquiring module 325. For example, the learning module 330 may train the neural network model by applying a learning algorithm to the learning data included in the dataset to generate a predefined neural network model (or operating rule) having desired characteristics.

[0090] For example, a neural network model may include multiple neural network layers. At least one layer may have at least one weight value, and the layer operation is performed by the operation result of the previous layer and at least one defined operation. Examples of neural networks include convolutional neural networks (CNNs), deep neural networks (DNNs), recurrent neural networks (RNNs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), deep q networks, transformers, etc., and the neural networks in the present disclosure are not limited thereto except for the specified cases. In addition, a learning algorithm may be a method of using multiple learning data to train a predetermined target device (e.g., an electronic device) to make decisions or predictions on its own. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm is not limited thereto except for the specified cases.

[0091] Evaluation module 335 can evaluate the global model trained by learning module 330. Specifically, evaluation module 335 can obtain evaluation data based on the address information from which the evaluation data included in the version file can be downloaded. For example, the evaluation data can include input data to be input into the global model and correct answer data (or, for example, label data) corresponding to the input data, in order to obtain a result value from the global model. For example, if the global model is an object recognition model for recognizing objects in an image, the evaluation data can include information about the objects included in the image as correct answer data, along with the image as input data.

[0092] Furthermore, the evaluation module 335 may evaluate the accuracy of the global model (before training) and the accuracy of the trained global model based on the evaluation data. For example, the evaluation module 335 may calculate the accuracy (e.g., accuracy level) of the global model by comparing the result value obtained by inputting the input data in the evaluation data into the global model with the correct answer data included in the evaluation data. As another example, the evaluation module 335 may calculate the accuracy (e.g., accuracy level) of the trained global model by comparing the result value obtained by inputting the input data in the evaluation data into the trained global model with the correct answer data included in the evaluation data.

[0093] Specifically, the evaluation module 335 can obtain a result value output by inputting evaluation data into the global model. Furthermore, the evaluation module 335 can obtain a first accuracy for the result value obtained by comparing the result value obtained from the global model (before training) with the correct answer data. Furthermore, the evaluation module 335 can obtain a result value output by inputting the evaluation data into the trained global model. The evaluation module 335 can obtain a second accuracy for the result value obtained by comparing the result value obtained from the trained global model with the correct answer data. Furthermore, the evaluation module 335 can evaluate the trained global model by comparing the first accuracy with the second accuracy. Based on the evaluation result, the evaluation module 335 can determine whether to transmit information about the trained global model to the server 50. Specifically, if the second accuracy is determined to be higher than the first accuracy, the evaluation module 335 can determine to transmit information about the trained global model to the server 50. However, if the second accuracy is determined to be lower than or equal to the first accuracy, the evaluation module 335 can determine not to transmit information about the trained global model to the server 50.

[0094] If the second accuracy is determined to be higher than the first accuracy, version file update module 340 may update the version file by adding information about the trained global model to the version file. Specifically, version file update module 340 may update the version file by adding information about parameters (e.g., weights, etc.) included in the trained global model to the version file. For example, version file update module 340 may add information about updated parameters among the multiple parameters included in the global model to the version file, but embodiments are not limited thereto. For example, version file update module 340 may add all information about the multiple parameters included in the trained global model to the version file.

[0095] Furthermore, according to one or more embodiments, the version file update module 340 may update the version file to delete a data set added to the version file in order to protect personal information.

[0096] In an embodiment, the electronic device 100 may store the trained global model as a local model. For example, the electronic device 100 may update the pre-stored local model to the trained global model. Thus, the electronic device 100 may use the trained global model as the local model to perform inference operations.

[0097] The version file sending module 345 may send the updated version file to the server 50. For example, the version file sending module 345 may encode the updated version file using a Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding process. For example, SSL / TLS encoding is a protocol for encryption and may encrypt data using a symmetric key algorithm or an asymmetric key algorithm.

[0098] For example, the version file sending module 345 can encrypt the updated version file through the SSL / TLS encoding processor and compress the updated version file. As a result, the security of the updated version file containing personal information can be improved, network costs can be reduced, and the updated version file can be sent quickly.

[0099] The version file receiving module 350 of the server 50 can receive the updated version file sent from the electronic device 100. For example, as described above, the updated version file can be encrypted by SSL / TLS encoding. The version file receiving module 350 can decrypt the encrypted updated version file through the SSL / TLS decoding process.

[0100] The version checking module 355 may identify the version information about the trained global model recorded in the updated version file. For example, the version checking module 355 may determine whether to use the trained global model received from the electronic device 100 based on at least one of the number of pre-sent version files and the version information about the trained global model.

[0101] Specifically, the server 50 may send a version file of the same version regarding the global model to a predetermined number of electronic devices in order to perform federated learning of the global model. For example, the server 50 may perform federated learning using updated version files received from electronic devices, the number of which is up to a threshold number in the predetermined number. Therefore, the version check module 355 may determine whether the number of updated version files received from the electronic device 100 exceeds the threshold number. For example, when a version form regarding the global model is sent to 100 electronic devices, the version check module 355 may determine whether the number of version files of the same version as the updated version file received from the electronic device 100 exceeds a threshold number (e.g., eighty (80)). If eighty (80) version files of the same version have been received, the version check module 355 may eliminate the updated version file received from the electronic device 100 and may not perform federated learning using the updated version file. However, if less than eighty (80) version files of the same version are received, the version checking module 355 may output the version files to the global model updating module 360 ​​to perform federated learning using updated version files received from the electronic device 100 .

[0102] In addition, the version checking module 355 can determine whether the version recorded in the currently received version file is a version before the version specified by the operator. For example, when the version recorded in the currently received version file is version 13 (v13) and the version set by the user is version 11 (v11), the version checking module 355 can output the version file to the global model updating module 360 ​​so as to perform federated learning using the updated version file received from the electronic device 100. However, when the version recorded in the currently received version file is version 10 (v10) and the version set by the user is v11, the version checking module 355 can eliminate the updated version file received from the electronic device 100 and may not perform federated learning using the updated version file. For example, the server 50 can perform federated learning using only version files for versions within the version range set by the operator.

[0103] The global model update module 360 ​​can perform federated learning based on information about the trained global model recorded in the updated version file. For example, federated learning can be performed based on information about the trained global model received from multiple electronic devices. Specifically, the global model update module 360 ​​can obtain a representative value (e.g., mean, mode, etc.) for each parameter of the trained global model received from the multiple electronic devices. Furthermore, the global model update module 360 ​​can use the representative value of each parameter to update the global model. The global model update module 360 ​​can store the updated global model in a predetermined storage space.

[0104] The version file generation module 365 can generate a new version file based on the updated global model. Specifically, the version file generation module 365 can generate new version information including information about the version of the updated global model and address information from which the updated global model can be downloaded.

[0105] The version file sending module 370 may send the version file of the updated global model to multiple electronic devices. According to one or more embodiments, the version file sending module 370 may encode the version file of the updated global model through a Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding process and send it to the multiple electronic devices.

[0106] As described above, the electronic device 100 can directly learn the global model and transmit the learned parameters to the server 50, thereby preventing damage to the global model that may occur during the global model update process. Furthermore, by directly managing the dataset in the electronic device 100 and evaluating the directly trained global model, damage to the learning and evaluation data can be prevented. Furthermore, because the global model training and evaluation can be performed within the electronic device 100 rather than the server 50, server construction costs can be reduced.

[0107] In the following, reference Figures 4 to 12 An example of a method in which the electronic device 100 and the server 50 work together to perform federated learning is described in more detail.

[0108] Figure 4 A flowchart is provided for explaining a control method of an electronic device that performs federated learning using a version file according to one or more embodiments.

[0109] At operation S405, the electronic device 100 may receive a version file regarding the global model from the server 50. For example, the electronic device 100 may receive a version file regarding a first version of the global model from the server 50.

[0110] Here, the version file may be a file including information about the global model and information about the evaluation data. Figure 5 An example of a version file is described in more detail.

[0111] like Figure 5As shown, the version file may include format information 510 of the version file, current version information 520 of the global model, address information 530 from which the global model can be downloaded, address information 540 from which evaluation data can be downloaded, address information 550 for storing a dataset, and information 560 regarding parameters of the trained global model. The format information 510 of the version file may include information regarding the format name of the current file. The current version information 520 of the global model may include information regarding the current version of the global model corresponding to the current version file. The address information 530 from which the global model can be downloaded may include address information of the global model stored in a server 50 or an external database connected to the server 50. The address information 540 from which evaluation data can be downloaded is evaluation data capable of evaluating the global model and may include address information of a dataset capable of evaluating the accuracy of the global model. The address information 550 for storing the dataset may include address information of a dataset used to train the global model stored in the electronic device. In an embodiment, address information 530, address information 540, and address information 550 may be or may include at least one of a file name, a uniform resource indicator (URI), and a uniform resource locator (URL). Information 560 on parameters of the trained global model may include information on parameters of the global model trained by the dataset, and here, the format of the parameters may be written in JSON, DBMS, CSV, etc.

[0112] In an embodiment, Figure 6 As shown, the version file received by the electronic device 100 from the server 50 may not include address information 550 for storing the data set and information 560 about parameters of the trained global model, and may include format information 510 of the version file, current version information 520 of the global model, address information 530 from which the global model can be downloaded, and address information 540 from which evaluation data can be downloaded.

[0113] In operation S410, the electronic device 100 may determine whether the version of the received global model is higher than the version of the local model. For example, the electronic device 100 may determine whether the version of the global model corresponding to the version file received from the server 50 is higher than the version of the local model stored in the electronic device 100 based on the current version information 520 of the global model recorded in the version file.

[0114] When it is determined that the version of the received global model is not higher than the version of the local model (No at operation S415), the electronic device 100 may wait for receiving a version file of a new version of the global model from the server 50. For example, when the version of the received global model is not the latest version, the electronic device 100 may wait for receiving a version file of a new version of the global model without performing a training operation on the received global model.

[0115] When it is determined that the version of the received global model is higher than the version of the local model (Yes at operation S415), the electronic device 100 may download the global model at operation S415. Specifically, the electronic device 100 may download the global model based on the address information 530 from which the global model recorded in the version file may be downloaded.

[0116] In operation S420, the electronic device 100 may determine whether there is an updated dataset. Specifically, the electronic device 100 may determine whether there is a dataset updated compared to a previous version of a dataset used to train a global model (eg, a global model corresponding to a local model currently stored in the electronic device 100).

[0117] When it is determined that there is no updated dataset (No at operation S420), the electronic device 100 may wait without performing a training operation on the received global model. For example, the electronic device 100 may wait until a new version file of the global model is received or the dataset is updated.

[0118] If the electronic device 100 determines that an updated dataset exists ("Yes" at operation S420), it may obtain the updated dataset at operation S425. For example, the electronic device 100 may obtain the dataset by accessing a dataset stored in a predetermined area or stored in an external device connected to the electronic device 100 (e.g., a cloud server that can be logged in with a user account). For example, the electronic device 100 may obtain a plurality of individual images stored in an image folder as a dataset. The electronic device 100 may perform concatenation based on a machine learning (ML) framework and then load the image files, or load the image files based on the image folder name.

[0119] For example, Figure 7 As shown, the electronic device 100 may add information about an address where a data set is stored to the address information 550 of the data set indicating the version file.

[0120] In operation S430, the electronic device 100 may use the global model and the data set to train the global model. For example, the electronic device 100 may use various learning algorithms to train the global model. For example, the learning algorithm may include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but the embodiment is not limited thereto. The global model may be trained using learning algorithms corresponding to various methods.

[0121] In an embodiment, the electronic device 100 may store a global model trained using a learning algorithm as a local model. For example, the electronic device 100 may store the trained global model as a local model instead of a pre-stored local model.

[0122] In operation S435, the electronic device 100 may obtain evaluation data. For example, the evaluation data may include input data to be input into the global model and correct answer data (or, for example, label data) corresponding to the input data, so as to obtain a result value from the global model.

[0123] Specifically, the electronic device 100 can download the evaluation data stored in the server 50 or a database connected to the server 50 to a predetermined area of ​​the electronic device 100 based on the address information 540 of the evaluation data from which the version file can be downloaded and decompress it. For example, when the ML framework used is Keras, the electronic device 100 can store the evaluation data set in a specific location within the memory 120 of the electronic device 100. The decompressed evaluation data set may include a predetermined number (e.g., 10,000) of image files (e.g., cat pictures, etc.) in the data batch file and label data for the image files.

[0124] In operation S440, the electronic device 100 may use the evaluation data to obtain a first accuracy of the global model before learning and a second accuracy of the global model after training. For example, the electronic device 100 may compare the result value obtained by inputting the input data included in the evaluation data to the global model before learning (i.e., the global model downloaded from the server 50) with the correct answer data included in the evaluation data. The electronic device 100 may obtain the first accuracy based on the comparison result.

[0125] In addition, the electronic device 100 may compare the result value obtained by inputting the input data included in the evaluation data to the trained global model with the correct answer data included in the evaluation data, and may obtain the second accuracy based on the comparison result.

[0126] In operation S445, the electronic device 100 may determine whether the second accuracy is higher than the first accuracy. For example, the electronic device 100 may evaluate the trained global model by comparing the second accuracy with the first accuracy, and determine whether to transmit information about the trained neural network model to the server 50 based on the evaluation result.

[0127] When it is determined that the second accuracy is lower than or equal to the first accuracy (No at operation S445), the electronic device 100 may wait until the next version of the version file is received without transmitting the trained global model to the server 50. For example, the electronic device 100 may store the trained global model as a local model regardless of the evaluation result, and may perform an inference operation using the trained global model.

[0128] When it is determined that the second accuracy is higher than the first accuracy (Yes at S445), the electronic device 100 may update the version file by inserting information about the trained global model into the version file at operation S450. Figure 8 As shown, the electronic device 100 can update the version file by inserting information about the updated parameters into the information 560 about the parameters of the trained global model. In an embodiment, the electronic device 100 may include information only about the updated parameters, but this is merely an example. For example, the electronic device 100 may include all information about the parameters included in the trained global model. In addition, the parameters can be written in various formats such as JSON, DBMS, CSV, etc.

[0129] In operation S455, the electronic device 100 may encrypt the updated version file and transmit it to the server 50. For example, the electronic device 100 may encrypt the updated version file by performing SSL / TLS encoding on the updated version file. Subsequently, the electronic device 100 may transmit the encrypted version file to the server 50.

[0130] According to one or more embodiments, the electronic device 100 may delete the address information 550 of the data set stored in the version file before encrypting the updated version file, such as Figure 9 By deleting the address information 550 where the data set is stored, the electronic device 100 can protect the personal information included in the data set.

[0131] Figure 10 is a flowchart provided for explaining a control method of the server 50 that performs federated learning using a version file according to one or more embodiments.

[0132] In operation S1010, the server 50 may receive an encrypted version file from the electronic device 100. For example, the encrypted version file may be encrypted. Figure 8 or Figure 9 For example, the encrypted version file may include information about the trained global model.

[0133] In operation S1020, the server 50 may decrypt the encrypted version file. For example, the server 50 may decrypt the encrypted version file through SSL / TLS decoding.

[0134] At operation S1030, the server 50 may check the version of the trained global model in the version file. For example, the server 50 may check the version of the trained global model based on the current version information 520 in the version file, such as Figure 8 or Figure 9 shown.

[0135] In operation S1040 , the server 50 may determine whether to use the trained global model based on the version of the trained global model.

[0136] For example, the server 50 may not use all trained global models received from a plurality of devices to perform federated learning on the global model, but may use trained global models that satisfy the conditions to perform federated learning on the global model, for example, see Figure 11 To describe.

[0137] Specifically, at operation S1110, the server 50 may determine whether the version of the trained global model is equal to or greater than the version set by the operator. For example, when the version set by the operator is v10, the server 50 may determine whether the version of the trained global model is v10 or higher.

[0138] When the version of the trained global model is smaller than the version set by the operator (No at operation S1110), the server 50 may discard the trained global model at operation S1140. For example, the server 50 may not use a trained global model with an older version than the version set by the operator for federated learning.

[0139] When the version of the trained global model is equal to or greater than the version set by the operator (yes at operation S1110), the server 50 may determine whether the number of previously received version files exceeds a threshold value at operation S1120. For example, when the server 50 is set to transmit version files to 100 electronic devices and receives a version file including eighty (80) trained global models, the server 50 may determine whether the number of previously received version files exceeds a threshold value of eighty (80).

[0140] When the number of previously received version files exceeds the threshold (Yes at operation S1120 ), the server 50 may discard the trained global model at operation S1150 .

[0141] When the number of previously received version files is less than the threshold (No at operation S1120), the server 50 may use the trained global model at operation S1130. For example, the server 50 may perform federated learning using only information about the trained global model with the latest version.

[0142] In an embodiment, the server 50 may set a collection period for whether to use the trained global model. For example, the server 50 may discard trained global models that exceed the collection period (e.g., thirty (30) days, etc.) and not use them for federated learning.

[0143] Return Reference Figure 10 In operation S1050, the server 50 may update the parameters of the global model using the trained global model. For example, the server 50 may use information about the parameters of the trained global model received from multiple electronic devices to update the parameters of the global model stored in the server 50. For example, the server 50 may obtain a representative value (e.g., an average value, a mode value, etc.) for each parameter based on the parameter information about the trained global model received from the multiple electronic devices. In addition, the server 50 may also update the global model using the representative value of each parameter. The server 50 may store the updated global model in a predetermined area or in a database connected to the server 50.

[0144] In operation S1060, the server 50 may generate a new version file. Figure 12 As shown, the server 50 may update the version recorded in the current version information 520 of the global model to the next version, and update the address information 530 from which the global model can be downloaded to the address information storing the updated global model. For example, the server 50 may generate a version file for the second version of the global model.

[0145] In operation S1070, the server 50 may distribute the new version file. For example, the server 50 may distribute the new version file to a plurality of pre-registered electronic devices 100. For example, the server 50 may send a version file regarding the second version of the global model to the plurality of electronic devices 100.

[0146] In an embodiment, according to the above method, the server 50 may repeatedly perform federated learning on the global model in association with the electronic device 100 .

[0147] Figure 13 is a flowchart provided to explain a control method of an electronic device according to one or more embodiments.

[0148] First, at operation S1310, the electronic device 100 may receive information about a global model and information about evaluation data from the server 50. For example, the electronic device 100 may receive a version file including information about a global model and information about evaluation data from the server 50.

[0149] In addition, the information about the global model may include version information of the global model and address information from which the global model can be downloaded. For example, the electronic device 100 may compare the version information of the local model stored in the electronic device 100 with the version information of the global model. When it is determined that the version of the global model is higher than the version of the local model, the electronic device 100 may download the global model based on the address information from which the global model can be downloaded.

[0150] In operation S1320, the electronic device 100 may obtain a dataset for training a global model. The electronic device 100 may obtain address information about a dataset pre-stored in the electronic device 100 and add the obtained address information about the dataset to the version file.

[0151] In operation S1330, the electronic device 100 may train a global model using the data set and store the trained global model in a memory as a local model.

[0152] In operation S1340, the electronic device 100 may evaluate the trained global model by inputting the evaluation data into the trained global model. For example, the electronic device 100 may obtain a first accuracy of the result value output by inputting the evaluation data into the global model. The electronic device 100 may obtain a second accuracy of the result value output by inputting the evaluation data into the trained global model. Subsequently, the electronic device 100 may evaluate the trained global model by comparing the first accuracy and the second accuracy.

[0153] At operation S1350, the electronic device 100 may determine whether to transmit information about the trained global model to the server based on the evaluation result. Specifically, when it is determined that the second accuracy is higher than the first accuracy, the electronic device 100 may determine to transmit information about the trained global model to the server 50.

[0154] In addition, the electronic device 100 may update the version file to include parameter information about the trained global model based on the evaluation result and may transmit the updated version file to the server 50 .

[0155] In addition, the electronic device 100 may delete the address information about the data set added to the version file and transmit the version file to the server 50 .

[0156] In addition, the electronic device 100 may encrypt information about the trained global model by performing Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding and transmit it to the server 50 .

[0157] In an embodiment, the server 50 may generate a new version of the global model based on information about the trained global model received from the electronic device.

[0158] According to one or more embodiments, the methods according to the various embodiments described above may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. A computer program product refers to a product and may be traded between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)) or through an application store (e.g., the Play Store). TM ) directly online (e.g., downloading or uploading), or between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable application) may be at least temporarily stored on a storage medium readable by a machine (e.g., a manufacturer's server, an application store's server) or in the memory of a relay server, or may be temporarily generated.

[0159] According to one or more embodiments, the methods according to various embodiments may be implemented as software including instructions stored in a machine-readable storage medium, which can be read by a machine (e.g., a computer). The machine may be a device capable of calling stored instructions from a storage medium and operating according to the called instructions, and may include an electronic device according to the disclosed embodiments.

[0160] In embodiments, the device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-transitory storage medium" simply means that it is a tangible device and does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is semi-permanently stored in the storage medium and cases where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.

[0161] When an instruction is executed by a processor, the processor may directly or use other components under the control of the processor to perform the function corresponding to the instruction. The instruction may include code generated or executed by a compiler or interpreter.

[0162] The present disclosure is not limited to the above specific embodiments, and can be implemented by those skilled in the art without departing from the scope of the claims. Of course, various modifications can be made through the present disclosure, and these modifications should be understood to be included in the technical spirit or viewpoint of the present disclosure.

Claims

1. An electronic device comprising: Communication interface; a memory configured to store at least one instruction; and At least one processor configured to: receiving information about the global neural network model and information about the evaluation data from the server using the communication interface; Obtaining a data set for training the global neural network model; Training the global neural network model based on the data set; evaluating the trained global neural network model by inputting the evaluation data into the trained global neural network model; and Based on a result of the evaluation, it is determined whether to transmit information about the trained global neural network model to the server.

2. The electronic device according to claim 1, wherein The at least one processor is further configured to: obtaining a first accuracy level regarding a result value output by inputting the evaluation data into the global neural network model; obtaining a second accuracy level regarding a result value output by inputting the evaluation data into the trained global neural network model; and The trained global neural network model is evaluated by comparing the first level of accuracy to the second level of accuracy.

3. The electronic device according to claim 2, wherein: The at least one processor is further configured to determine whether to send information about the trained global neural network model to the server based on determining that the second level of accuracy is higher than the first level of accuracy.

4. The electronic device according to claim 1, wherein The information about the global neural network model includes version information corresponding to the global neural network model and address information indicating an address from which the global neural network model can be downloaded; and Wherein, the at least one processor is further configured to: comparing version information corresponding to a local neural network model stored in the electronic device with version information corresponding to the global neural network model; and Based on determining that the version of the global neural network model is higher than the version of the local neural network model, the global neural network model is downloaded using the communication interface based on the address information.

5. The electronic device according to claim 1, wherein The at least one processor is further configured to: receiving a version file from the server using the communication interface, the version file including information about the global neural network model and information about the evaluation data; obtaining address information about a data set pre-stored in the electronic device; and The obtained address information about the data set is added to the version file. The electronic device according to claim 5 , wherein: The at least one processor is further configured to: updating the version file to include parameter information about the trained global network model based on a result of the evaluation; and The communication interface is controlled to send the updated version file to the server.

7. The electronic device according to claim 6, wherein: The at least one processor is further configured to control the communication interface to delete address information about the data set from the updated version file before sending the updated version file to the server.

8. The electronic device according to claim 1, wherein The new version of the global neural network model is generated by the server based on the information about the trained global neural network model received from the electronic device.

9. The electronic device according to claim 1, wherein: The at least one processor is further configured to: performing Secure Sockets Layer / Transport Layer Security (SSL / TLS) encoding on the information about the trained global neural network model; and Control the communication interface to send the encoded trained global neural network model to the server.

10. The electronic device according to claim 1, wherein The at least one processor is further configured to store the trained global neural network model as a local neural network model in the memory.

11. A method for controlling an electronic device, the method comprising: receiving information about a global neural network model and information about evaluation data from a server; Obtaining a data set for training the global neural network model; Training the global neural network model based on the data set; evaluating the trained global neural network model by inputting the evaluation data into the trained global neural network model; and Based on a result of the evaluation, it is determined whether to transmit information about the trained global neural network model to the server.

12. The method according to claim 11, wherein The assessment includes: obtaining a first accuracy level regarding a result value output by inputting the evaluation data into the global neural network model; obtaining a second accuracy level regarding a result value output by inputting the evaluation data into the trained global neural network model; and The trained global neural network model is evaluated by comparing the first level of accuracy to the second level of accuracy.

13. The method according to claim 12, wherein: The determination includes: Based on determining that the second level of accuracy is higher than the first level of accuracy, determining whether to send the information about the trained global neural network model to the server.

14. The method according to claim 11, wherein The information about the global neural network model includes version information corresponding to the global neural network model and address information indicating an address from which the global neural network model can be downloaded, Wherein, the control method includes: comparing version information corresponding to a local neural network model stored in the electronic device with version information corresponding to the global neural network model; and Based on determining that the version of the global neural network model is higher than the version of the local neural network model, the global neural network model is downloaded based on the address information.

15. The method according to claim 11, wherein The receiving includes: receiving, from the server, a version file including the information about the global neural network model and the information about the evaluation data; and Wherein, the obtaining includes: obtaining address information about a data set pre-stored in the electronic device; and The obtained address information about the data set is added to the version file.