Model generation system, model generation method, and information processing apparatus
The model generation system in federated learning controls client learning through constraints to maintain the quality of additional learning, mitigating malicious attacks and errors, and ensuring data integrity in medical data applications.
Patent Information
- Application Number
- JP2024096751
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-14
- Publication Date
- 2025-12-25
AI Technical Summary
Federated learning systems face challenges in maintaining the quality of additional learning due to the risk of contamination from inappropriate data used by clients, which can lead to erroneous inference results and potential attacks.
A model generation system where a central server provides a global model to clients with controlled constraints, such as limits on the number of executions and processing time for learning, to manage the quality of local models and reduce the impact of malicious or erroneous training.
The system effectively limits the influence of malicious attacks and unintentional errors on the global model by controlling client learning, ensuring the integrity and quality of the additional learning process while protecting patient privacy in medical data applications.
Smart Images

Figure 2025187728000001_ABST
Abstract
Description
[Technical Field]
[0001] The embodiments disclosed in this specification and the drawings relate to a model generation system, a model generation method, and an information processing device. [Background technology]
[0002] Federated Learning (FL) is a well-known AI (Artificial Intelligence) model training technique in which a central server integrates local models trained by multiple clients into a global model. This type of learning technique enables additional training of the global model without the need for clients to provide the training data itself to the central server. This is useful, for example, in fields where the training data contains personal information, as it allows for efficient additional training while reducing the risk of information leaks.
[0003] However, in federated learning, since there are multiple clients that perform learning, there is a possibility that some clients may perform learning using inappropriate data. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2021 / 059607 Summary of the Invention [Problem to be solved by the invention]
[0005] One of the problems to be solved by the embodiments disclosed in this specification and the drawings is to maintain the quality of additional learning in federated learning. However, the problems to be solved by the embodiments disclosed in this specification and the drawings are not limited to the above problem. Problems corresponding to the effects of each configuration shown in the embodiments described below can also be positioned as other problems. [Means for solving the problem]
[0006] A model generation system according to an embodiment includes a central server and a client. The central server can provide the client with a global model for use in federated learning. The client can execute a learner, apply the global model obtained from the central server to the learner, provide training data to the learner to generate a local model, and provide the local model to the central server. Execution of the learner in the client is controlled by control information assigned to the learner. The central server controls the control information so that it can be changed according to the client's learning performance. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a model generation system according to the first embodiment. [Figure 2] FIG. 2 is a block diagram showing an example of the configuration of the central server according to the first embodiment. [Figure 3] FIG. 3 is a block diagram illustrating an example of the configuration of a client according to the first embodiment. [Figure 4] FIG. 4 is a sequence diagram showing an example of the flow of the additional learning process according to the first embodiment. [Figure 5] FIG. 5 is a block diagram showing an example of the configuration of a central server and a client according to the second embodiment. [Figure 6] FIG. 6 is a sequence diagram showing an example of the flow of a process of additional learning according to the second embodiment. [Figure 7] FIG. 7 is a block diagram showing an example of the configuration of a central server and a client according to the third embodiment. [Figure 8] FIG. 8 is a sequence diagram showing an example of the flow of a process of additional learning according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, embodiments of a model generation system, a model generation method, and an information processing device will be described in detail with reference to the drawings.
[0009] (First embodiment) Fig. 1 is a diagram showing an example of the configuration of a model generation system S1 according to the first embodiment. As shown in Fig. 1, the model generation system S1 includes a central server 100 and a plurality of clients 200a to 200n.
[0010] The model generation system S1 is a system that performs machine learning using a federated learning (FL) method. Federated learning is a learning method in which the central server 100 integrates multiple local models 350a-350n, which have been trained by multiple clients 200a-200n, into a global model 300. By repeatedly training the local models 350a-350n and integrating them into the global model 300, additional learning of the global model 300 can be achieved. In federated learning, the unit of repetition in the process of repeatedly updating the global model 300 using the local models 350a-350n is called a "round."
[0011] Federated learning is also called associative learning or cooperative learning. The global model 300 is also called a parent model, and the local models 350a to 350n are also called child models. Hereinafter, when there is no need to distinguish between the multiple local models 350a to 350n, they will simply be referred to as local models 350. Furthermore, when there is no need to particularly distinguish between the individual clients 200a to 200n, they will simply be referred to as clients 200. The client 200 is an example of an information processing device in this embodiment.
[0012] A model in this embodiment is a set of parameters that determine the input / output relationship of data. More specifically, the global model 300 is a trained AI (Artificial Intelligence) model. The local model 350 is a model in which the client 200 has performed additional training on the global model 300. The types of learning for the global model 300 and the local model 350 are machine learning methods such as a linear regression model and a deep neural network. Note that the types of learning are not limited to these, and known techniques can be adopted.
[0013] The central server 100 and the client 200 are communicably connected via a network N such as the Internet.
[0014] The central server 100 is a computer capable of providing a global model 300 used in federated learning to a client. The central server 100 is also an example of an information processing device in this embodiment. The central server 100 may be called a first information processing device, and the client 200 may be called a second information processing device. Either the central server 100 or the client 200 may be called an information processing device, and the other may be called another information processing device.
[0015] The clients 200a to 200n are capable of running the learning device 400, and apply the global model 300 acquired from the central server 100 to the learning device 400.
[0016] More specifically, the client 200 generates a local model by providing the learning data 500 to the learner 400. The client 200 can provide the generated local model to the central server 100.
[0017] The training data 500 includes, for example, medical information. More specifically, the training data 500 is, for example, personal medical data recorded as a personal health record (PHR). The data format of the training data 500 is not particularly limited, and may include, for example, both or either of text data and image data. In this embodiment, one client 200 corresponds to one patient. For example, the client 200 may be a computer such as a personal computer (PC), tablet terminal, or smartphone owned by the patient. The training data 500 may be stored in a server or the like of a provider that provides the PHR. In this case, the client 200 may download the training data 500 from a server or the like of a provider that provides the PHR. The training data 500 is also referred to as training data.
[0018] The training data 500 is a data set in which data corresponding to input data at the time of inference is associated with correct answer data for that data. Correct answer data is also called a label. For example, the training data 500 may be a data set in which the results of a patient's health check or various tests are associated with the patient's diagnosis results. In this embodiment, one data set is referred to as one piece of training data 500. However, the content of the training data 500 is not limited to this.
[0019] The learning device 400 generates the local model 350 by inputting learning data 500 into the global model 300 and causing it to learn. The learning device 400 is, for example, an application program capable of implementing machine learning such as the linear regression model and deep neural network as described above.
[0020] Furthermore, the central server 100 imposes constraints on each of the clients 200a to 200n regarding learning.
[0021] The constraints are, for example, an upper limit on the number of times that learning device 400 can be executed or an executable period for learning device 400 in each of clients 200a to 200n. Central server 100 transmits control information for controlling learning device 400 based on the constraints to each of clients 200a to 200n. Therefore, the execution of learning device 400 in the client is controlled by the constraints assigned to learning device 400.
[0022] The upper limit of the number of executions of the learning device 400 is the upper limit of the number of times the learning device 400 learns the global model 300 in one round. The learning device 400 generates one local model 350 in each round. Furthermore, since one piece of learning data 500 is input to the global model 300 per execution of the learning device 400, the upper limit of the number of executions of the learning device 400 is also the upper limit of the number of pieces of learning data 500 that the global model 300 learns in order to generate one local model 350.
[0023] The executable period is the upper limit of the processing time for the learning device 400 to learn the global model 300 in one round. In other words, the executable period is the upper limit of the period during which the learning device 400 can execute the learning process for learning the global model 300 to generate one local model 350.
[0024] The constraints imposed on each of the clients 200a to 200n may be the same or different. For example, the central server 100 may control the constraints imposed on each of the clients 200a to 200n so that they can be changed depending on the learning results of each of the clients 200a to 200n.
[0025] By imposing such constraints on the client 200, the central server 100 restricts the client 200 from performing more learning than requested by the central server 100. Such restrictions can reduce the impact on the global model 300 of contamination of the global model 300 by a malicious attacker.
[0026] For example, suppose there is an attacker (an attacker) among the users of multiple clients 200a to 200n who intends to contaminate the global model 300. Such attacks include techniques called poisoning and backdooring. Poisoning involves contaminating the training data 500 to introduce errors into the trained local model 350, causing the global model 300, which integrates the local model 350, to output erroneous inference results during the inference phase. Backdooring involves training the local model 350 so that it will output erroneous inference results only for inputs containing specific triggers, thereby causing the global model 300, which integrates the local model 350, to similarly output erroneous inference results only for inputs containing the specific triggers. When attempting such an attack, an attacker typically attempts to increase their influence on the global model 300 by training a large amount of invalid data. However, constraints restrict clients 200 from performing more learning than requested by the central server 100, thereby limiting the influence of individual clients 200 on the global model 300.
[0027] For example, suppose that the total number of clients 200 included in the model generation system S1 is 1000, and that 100 of these clients 200 are operated by users who intend to attack the global model 300. In such a case, if the constraints stipulate that the upper limit number of executions of the learning device 400 of each client 200 per round is the same, it is possible to prevent the proportion of tainted data in all training data from exceeding 10%.
[0028] Furthermore, in order for an attacker to train a large amount of fraudulent data under constraint conditions, the training would need to be carried out in multiple rounds, which is expected to increase the attacker's workload and reduce their motivation to launch attacks.
[0029] Furthermore, even if the operator has no intention of attacking, unintentional erroneous learning may occur in the client 200. For example, due to a malfunction of the client 200 or an erroneous operation by the operator, data that is not intended for additional learning or data that is not suitable for additional learning may be used as the learning data 500. Specifically, this may occur if the operator inputs an incorrect label or inputs data that is in the middle of being created. Even in such a case, the constraints limit one client 200 from performing more learning than requested by the central server 100, thereby reducing the impact of the erroneously learned local model 350 on the global model 300.
[0030] The number of clients 200 included in the model generation system S1 is not particularly limited. Furthermore, as described above, increasing the amount of data to be trained per client 200 may lead to an increased opportunity for malicious contamination or erroneous training. For this reason, if it is necessary to increase the number of training data 500 required for additional training of the global model 300, it is preferable to increase the number of clients 200 rather than increasing the upper limit of the number of executions per client 200.
[0031] Next, a detailed description will be given of the configuration of the central server 100. Fig. 2 is a block diagram showing an example of the configuration of the central server 100 according to the first embodiment.
[0032] As shown in FIG. 2, the central server 100 includes a network interface 110, a memory circuit 120, an input interface 130, a display 140, and a processing circuit 150.
[0033] The NW interface 110 is connected to the processing circuit 150 and controls the transmission and communication of various data between the central server 100 and the multiple clients 200a to 200n. The NW interface 110 is realized by a network card, a network adapter, a NIC (Network Interface Controller), or the like.
[0034] The memory circuitry 120 stores in advance various types of information used by the processing circuitry 150. The memory circuitry 120 also stores the global model 300 and various programs. The memory circuitry 120 is, for example, a non-volatile memory device such as a hard disk drive (HDD), a solid state drive (SSD), or an integrated circuit memory device that stores various types of information. In addition to an HDD or SSD, the memory circuitry 120 may also be a drive device that reads and writes various types of information from and to portable storage media such as a compact disc (CD), a digital versatile disc (DVD), or a flash memory, or a semiconductor memory element such as a random access memory (RAM).
[0035] The input interface 130 may be realized by a mouse, a keyboard, a pen tablet combining a touch pen and a tablet for accepting user operations, a trackball, switch buttons, a touchpad for performing input operations by touching the operation surface, a touchscreen integrating a display screen and a touchpad, a non-contact input circuit using an optical sensor, and a voice input circuit. The input interface 130 may include multiple devices for accepting user operations. The input interface 130 is connected to the processing circuit 150 and converts input operations received from the user into electrical signals and outputs them to the processing circuit 150. Note that, in this specification, the input interface is not limited to those having physical operating components such as a mouse and a keyboard. For example, an electrical signal processing circuit that receives electrical signals corresponding to input operations from an external input device provided separately from the device and outputs these electrical signals to the processing circuit 150 is also included as an example of an input interface.
[0036] The display 140 displays various types of information under the control of the processing circuit 150. For example, the display 140 may output a GUI (Graphical User Interface) or the like for receiving various operations from a user. Specifically, the display 140 is a liquid crystal display, a CRT (Cathode Ray Tube) display, or the like. The input interface 130 and the display 140 may be integrated. For example, the input interface 130 and the display 140 may be realized by a touch panel. The display 140 is an example of a display unit.
[0037] The processing circuitry 150 is a processor that reads out programs from the storage circuitry 120 and executes them to realize functions corresponding to each program. The processing circuitry 150 of this embodiment includes a control information generation function 151, a transmission function 152, an acquisition function 153, an integration function 154, and an output function 155. The control information generation function 151 is an example of a control information generation unit and a control information update unit. The transmission function 152 is an example of a transmission unit. The acquisition function 153 is an example of an acquisition unit. The integration function 154 is an example of an integration unit. The output function 155 is an example of an output unit.
[0038] Here, for example, each processing function of the processing circuitry 150, namely, the control information generation function 151, the transmission function 152, the acquisition function 153, the integration function 154, and the output function 155, is stored in the storage circuitry 120 in the form of a computer-executable program. The processing circuitry 150 is a processor. For example, the processing circuitry 150 realizes the function corresponding to each program by reading the program from the storage circuitry 120 and executing it. In other words, the processing circuitry 150 in a state in which each program has been read has each function shown in the processing circuitry 150 of FIG. 2. Note that, although FIG. 2 illustrates the processing functions performed by the control information generation function 151, the transmission function 152, the acquisition function 153, the integration function 154, and the output function 155 being realized by a single processor, the processing circuitry 150 may be configured by combining multiple independent processors, and each processor may realize a function by executing a program. Also, in Figure 2, a single memory circuit 120 is described as storing a program corresponding to each processing function, but multiple memory circuits may be distributed and arranged, and the processing circuit 150 may read out the corresponding program from each memory circuit.
[0039] The control information generation function 151 generates control information that defines constraints to be imposed on the client 200. For example, the control information generation function 151 generates control information that defines the upper limit of the number of executions or the executable period of the learning device 400 in the client 200, based on an operation by an administrator of the central server 100.
[0040] Furthermore, the control information generation function 151 may control the control information so that it can be changed according to the learning results of the client 200. For example, the control information generation function 151 may increase the upper limit of the number of executions or the executable period of the learning device 400 for the client 200 that has gone through a specified number of rounds or more.
[0041] The transmission function 152 transmits the permission to perform additional learning, the global model 300, and the control information to the client 200 via the NW interface 110 and the network N.
[0042] The acquisition function 153 acquires a request to start additional learning from the client 200. The acquisition function 153 also acquires the local model 350 from the client 200.
[0043] The integration function 154 integrates the local model 350 acquired from the client 200 by the acquisition function 153 into the global model 300. The global model 300 into which the local model 350 has been integrated is also called a new global model 300 or a global model 300 after additional learning.
[0044] The output function 155 controls the display 140 to display various information. For example, the output function 155 may cause the display 140 to display that the integration of the global model 300 has been completed.
[0045] Next, a detailed description will be given of the configuration of the client 200. Fig. 3 is a block diagram showing an example of the configuration of the client 200 according to the first embodiment.
[0046] As shown in FIG. 3, the client 200 includes a NW interface 210, a storage circuit 220, an input interface 230, a display 240, and a processing circuit 250.
[0047] The NW interface 210 is connected to the processing circuit 250 and controls the transmission and communication of various data between the client 200 and the central server 100 .
[0048] The memory circuitry 220 stores in advance various types of information and various programs used by the processing circuitry 250. For example, the memory circuitry 220 stores learning data 500. The memory circuitry 220 also stores an application program for the learning device 400. The memory circuitry 220 may be a non-volatile storage device such as an HDD, SSD, or integrated circuit storage device, or a drive device that reads and writes various types of information from and to a portable storage medium such as a CD, DVD, or flash memory, or a semiconductor memory element such as a RAM.
[0049] The input interface 230 is realized by a mouse, a keyboard, a pen tablet, a trackball, a switch button, a touchpad, a touchscreen, a non-contact input circuit, a voice input circuit, an electrical signal processing circuit that outputs an electrical signal received from an external input device to the processing circuit 250, etc. The input interface 230 may include multiple devices. The input interface 230 is connected to the processing circuit 250, converts an input operation received from a user into an electrical signal, and outputs the electrical signal to the processing circuit 250.
[0050] The display 240 displays various information under the control of the processing circuit 250 .
[0051] The processing circuitry 250 is a processor that reads out programs from the storage circuitry 220 and executes them to realize functions corresponding to each program. The processing circuitry 250 of this embodiment includes a start request function 251, an acquisition function 252, a learning control function 253, and a transmission function 254. The start request function 251 is an example of a start request unit. The acquisition function 252 is an example of an acquisition unit. The learning control function 253 is an example of a learning control function. The transmission function 254 is an example of a transmission unit.
[0052] Here, for example, each of the processing functions of the processing circuitry 250, namely, the start request function 251, the acquisition function 252, the learning control function 253, and the transmission function 254, is stored in the storage circuitry 220 in the form of a computer-executable program. The processing circuitry 250 is a processor. For example, the processing circuitry 250 realizes the function corresponding to each program by reading the program from the storage circuitry 220 and executing it. In other words, the processing circuitry 250 in a state in which each program has been read has each function shown in the processing circuitry 250 of FIG. 3. Note that, although FIG. 3 illustrates the processing functions performed by the start request function 251, the acquisition function 252, the learning control function 253, and the transmission function 254 being realized by a single processor, the processing circuitry 250 may be configured by combining multiple independent processors, and each processor may realize a function by executing a program. Also, in Figure 3, a single memory circuit 220 is described as storing a program corresponding to each processing function, but multiple memory circuits may be distributed and arranged, and the processing circuit 250 may read out the corresponding program from each memory circuit.
[0053] The start request function 251 transmits a request to start additional learning to the central server 100 when additional learning becomes possible in the client 200. The start request is transmitted anew for each round. For example, the start request function 251 may transmit a request to start additional learning to the central server 100 when, after the additional learning of the previous round is completed, the learning data 500 required for the additional learning in the next round is stored in the memory circuitry 120.
[0054] For example, assume that the learning data 500 required for additional learning is data on the results of a medical checkup of a patient corresponding to the client 200. In this case, the start request function 251 may transmit a request to start additional learning to the central server 100 when the data on the patient's medical checkup is stored in the memory circuitry 220.
[0055] The acquisition function 252 acquires permission to perform additional learning, the global model 300, and control information from the central server 100 via the NW interface 110 and the network N.
[0056] When permission to perform additional learning is received, the learning control function 253 activates the learning device 400 to perform learning based on the control information. The learning device 400 trains the global model 300 obtained from the central server 100 on the learning data 500 under the constraints defined in the control information. Note that although the learning device 400 and the learning control function 253 are illustrated separately in FIG. 3, the learning device 400 may function as the learning control function 253.
[0057] The transmission function 254 transmits the local model 350 generated by the learner 400 additionally learning the global model 300 to the central server 100 .
[0058] In the above description of the central server 100 and the client 200, an example was described in which a "processor" reads and executes a program corresponding to each function from a storage circuit. However, the present embodiment is not limited to this. The term "processor" refers to a circuit such as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), or a programmable logic device (e.g., a simple programmable logic device (SPLD), a complex programmable logic device (CPLD), or a field programmable gate array (FPGA)). If the processor is a CPU, for example, the processor realizes a function by reading and executing a program stored in a storage circuit. On the other hand, if the processor is an ASIC, instead of storing a program in the storage circuit 120 or 220, the function is directly incorporated as a logic circuit within the processor circuit. Note that each processor in this embodiment is not limited to being configured as a single circuit per processor, but may be configured as a single processor by combining multiple independent circuits to realize its function. Furthermore, the functions of the multiple components in FIGS. 2 and 3 may be implemented by integrating them into a single processor.
[0059] Next, the flow of the additional learning process executed in the model generation system S1 of this embodiment configured as above will be described.
[0060] Fig. 4 is a sequence diagram showing an example of the processing flow of additional learning according to the first embodiment. In addition, as a premise of the processing shown in Fig. 4, it is assumed that the control information generation function 151 of the central server 100 has generated control information that defines constraints to be imposed on the learning device 400 of the client 200.
[0061] First, the start request function 251 of the client 200 sends a start request to the central server 100 (S1).
[0062] When the transmission function 152 of the central server 100 receives a start request from the client 200, it transmits to the client 200 permission to perform additional learning, the global model 300, and control information (S2). Note that when the transmission function 152 receives a start request, it may not transmit permission to perform additional learning until the central server 100 is ready for additional learning. For example, in the second or subsequent rounds, the transmission function 152 transmits permission to perform additional learning when integration of the local model 350 acquired in the previous round into the global model 300 has been completed. Also, the central server 100 may, for example, only accept requests to start additional learning from the client 200 during a specified time period.
[0063] The acquisition function 252 of the client 200 acquires the permission to perform additional learning, the global model 300, and the control information sent from the central server 100. The learning control function 253 of the client 200 then activates the learning device 400, provides the learning data 500, and executes learning based on the control information. The learning device 400 additionally trains the global model 300 acquired from the central server 100 with the learning data 500 under the constraints defined in the control information (S3). For example, if the constraint is "maximum number of executions = 1," the learning device 400 additionally trains one piece of learning data 500 on the global model 300. The local model 350 is generated by the learning device 400 performing additional learning. Note that one piece of learning data 500 may refer not only to a single data file, but also to a group of data consisting of multiple data files. In other words, even when multiple data are combined into one and batch processed, one piece of learning data 500 can be considered to have been handled. However, in consideration of restricting the client 200 from performing more learning than the amount requested by the central server 100, the amount of data handled in each batch process may be configured to have an upper limit set in the constraints.
[0064] Then, the sending function 254 of the client 200 sends the local model 350 generated by the learning device 400 to the central server 100 (S4).
[0065] The acquisition function 153 of the central server 100 acquires the local model 350 transmitted from the client 200. Then, the integration function 154 of the central server 100 executes an integration process to integrate the acquired local model 350 into the global model 300 (S5). This updates the global model 300. After the integration process of S5 is completed, for example, the output function 155 of the central server 100 may cause the display 140 to display that the integration of the global model 300 has been completed.
[0066] Furthermore, the control information generation function 151 of the central server 100 updates the control information in accordance with the learning record of the client 200 (S6). For example, if the number of rounds of additional learning performed by the client 200 exceeds a specified number, the control information generation function 151 increases the upper limit of the number of executions or the executable period of the learning device 400. The updated control information is transmitted from the central server 100 to the client 200 in the next round. Note that the processing of S6 is not essential. Here, the processing of this sequence diagram ends.
[0067] 4 corresponds to one round of additional learning. The model generation system S1 performs federated learning of the global model 300 by repeating multiple rounds.
[0068] Although FIG. 4 illustrates the flow of processing between the central server 100 and one client 200, the central server 100 executes similar processing for each of the multiple clients 200a to 200n.
[0069] As described above, the model generation system S1 of this embodiment includes a central server 100 that can provide a global model 300 used in federated learning to a client 200, and a client 200 that provides training data 500 to the provided global model 300, executes a learner 400 that generates a local model 350, and provides the generated local model 350 to the central server 100. In the model generation system S1 of this embodiment, the execution of the learner 400 in the client 200 is controlled by control information assigned to the learner 400. Furthermore, the central server 100 controls the control information so that it can be changed depending on the learning performance of the client 200. Therefore, the model generation system S1 of this embodiment makes it possible to control additional learning by the client 200 in federated learning, thereby maintaining the quality of the additional learning.
[0070] Furthermore, the control information in this embodiment is information that defines the upper limit of the number of executions or the period during which the learning device 400 can be executed. By imposing such constraints on the client 200, the central server 100 can restrict the client 200 from performing more learning than requested by the central server 100, thereby reducing the effects of contamination by malicious attackers and unintentional erroneous learning.
[0071] In this embodiment, the training data 500 includes medical information of patients, and the clients 200 correspond one-to-one to the patients. Because medical information generally includes personal information, federated learning ensures patient privacy by performing additional training without transmitting the medical information itself to the central server 100. Furthermore, when a client 200 corresponds one-to-one to a patient, the number of training data 500 that each client 200 can provide is generally small. Therefore, the additional training method of this embodiment is suitable for learning patient medical information because there are few disadvantages to applying a method that limits the number of learning sessions per client 200 using constraints.
[0072] (Second embodiment) In this second embodiment, the client 200 generates a report on the additional training it has performed and provides it to the central server 100. Based on the report, the central server 100 determines whether to integrate the local model 350 generated by the client 200 into the global model 300.
[0073] Fig. 5 is a block diagram showing an example of the configuration of a central server 100 and a client 200 according to the second embodiment. Similar to the first embodiment, the model generation system S2 of this embodiment includes the central server 100 and the client 200. Note that while Fig. 5 illustrates the client 200 as an example, the model generation system S2 includes multiple clients 200a to 200n, similar to the first embodiment shown in Fig. 1.
[0074] The client 200 of this embodiment includes a NW interface 210, a storage circuit 220, an input interface 230, a display 240, and a processing circuit 250, similar to the first embodiment.
[0075] The processing circuit 250 of the client 200 of this embodiment includes a start request function 251, an acquisition function 252, a learning control function 253, a transmission function 254, and a report generation function 255. The report generation function 255 is an example of a report generation unit.
[0076] The start request function 251, the acquisition function 252, and the learning control function 253 have the same functions as those in the first embodiment.
[0077] The report generation function 255 generates a report on the additional learning that has been performed. Hereinafter, this report will be referred to as an additional learning report. More specifically, the report generation function 255 generates an additional learning report on at least either the learning data 500 used in the additional learning or the local model 350 generated by the additional learning. The additional learning report is an example of information on the learning performance by the learning control function 253.
[0078] For example, the additional learning report includes at least one of the following: a change in model weights during additional learning, statistical information on the learning data 500 used in the additional learning, latent features of the learning data 500 used in the additional learning, and a difference in accuracy between the global model 300 before learning and the local model 350 after learning. The change in model weights during additional learning refers to a change in parameters between the global model 300 before learning and the local model 350 after learning. The statistical information on the learning data 500 may be information indicating the data distribution of the learning data 500, for example.
[0079] The additional learning report does not include the learning data 500 itself. Although the additional learning report is transmitted to a location outside the client 200, by not including the learning data 500 in the additional learning report, personal information and the like included in the learning data 500 can be protected.
[0080] In addition to the functions of the first embodiment, the transmission function 254 transmits the additional learning report generated by the report generation function 255 to the central server 100 in association with the local model 350 on which the target additional learning was performed.
[0081] The central server 100 of this embodiment also includes a NW interface 110, a storage circuit 120, an input interface 130, a display 140, and a processing circuit 150, similar to the first embodiment.
[0082] The processing circuit 150 of the central server 100 of this embodiment includes a control information generating function 151, a transmitting function 152, an integrating function 154, an output function 155, and a determining function 156. The determining function 156 is an example of a determining unit.
[0083] The transmission function 152 has the same functions as in the first embodiment.
[0084] The acquisition function 153 of this embodiment acquires an additional learning report from the client 200 in addition to the functions of the first embodiment.
[0085] The determination function 156 determines, based on the learning performance of the client 200, whether the local model 350 provided by the client 200 will be used to generate a new global model 300. More specifically, the determination function 156 determines, based on an additional learning report obtained from the client 200, whether the local model 350 provided by the client 200 will be used to generate a new global model 300. A local model 350 determined by the determination function 156 to be used to generate a new global model 300 is referred to as a local model 350 to be integrated. Furthermore, a local model 350 determined by the determination function 156 not to be used to generate a new global model 300 is referred to as a local model 350 not to be integrated.
[0086] The determination function 156 may, for example, use drift detection, which is a machine learning evaluation method, on the additional learning report to determine whether additional learning has been performed that may contaminate the global model 300. Drift detection is a method for identifying a client 200 that has used inappropriate learning data 500 by detecting a difference in tendency between the learning data 500 used in the additional learning at one client 200 among the multiple clients 200a to 200n and the learning data 500 used in the additional learning at another client 200.
[0087] As a more specific example, if the additional learning report includes information indicating the data distribution of the learning data 500, the data distribution of the client 200 to be detected among the clients 200a to 200n is defined as the first data distribution. Furthermore, the data distribution obtained by integrating the data distributions of the clients 200a to 200n other than the client 200 to be detected is defined as the second data distribution. Based on the result of comparing the first data distribution with the second data distribution, the determination function 156 determines whether to use the local model 350 provided by the client 200 from which the additional learning report was obtained to generate a new global model 300. For example, the determination function 156 calculates the difference between the first data distribution and the second data distribution as the "cost of suspicion." The difference between the first data distribution and the second data distribution is also referred to as the distance on the data distribution.
[0088] The "cost of suspicion" is the opposite of the "cost of trust" and indicates the low reliability of the client 200 to be detected. That is, the determination function 156 determines that the greater the difference between the first data distribution and the second data distribution, the more likely it is that the training data 500 of the client 200 to be detected contains data for malicious attacks or data containing errors. If the "cost of suspicion" is greater than a threshold, the determination function 156 determines that the local model 350 acquired from the client 200 to be detected is not to be integrated. The "cost of suspicion" is also referred to as a "suspicion score," and the "cost of trust" is also referred to as a "trust score." Note that the above-mentioned method for evaluating and determining the additional learning report is an example, and any known method can be adopted.
[0089] Furthermore, in addition to the functions of the first embodiment, the integration function 154 of this embodiment integrates the local models 350 determined by the determination function 156 to be integrated into the global model 300. Furthermore, the integration function 154 does not integrate the local models 350 determined by the determination function 156 to be not integrated into the global model 300.
[0090] Note that the local model 350 determined by the determination function 156 not to be integrated has its integration process put on hold and is stored, for example, in the memory circuitry 120. Thereafter, for example, if a user of the central server 100 checks the determination result regarding the local model 350 and performs an operation to make the local model 350 an integration target, the integration function 154 may integrate the local model 350 into the global model 300.
[0091] Furthermore, in addition to the functions of the first embodiment, the control information generation function 151 of this embodiment may change the control information for the next additional learning of the client 200 according to the result of the determination based on the additional learning report. The information written in the additional learning report is an example of the learning record of the client 200.
[0092] For example, the control information generating function 151 may reduce the upper limit of the number of executions or the executable period of the client 200 that provides the local model 350 that is determined by the determining function 156 not to be integrated.
[0093] Furthermore, the output function 155 of this embodiment may output the determination result of the determination function 156 in addition to the functions of the first embodiment. For example, when there is a local model 350 determined by the determination function 156 to be ineligible for integration, the output function 155 may display on the display 140 information that can identify the client 200 from which the local model 350 was acquired. This allows the user of the central server 100 to identify the client 200 for which additional learning may have been performed that may contaminate the global model 300. Furthermore, the output function 155 may display on the display 140 an additional learning report acquired from the client 200 for which the local model 350 was determined to be ineligible for integration, and the determination result of the determination function 156 regarding the additional learning report. The determination result of the determination function 156 regarding the additional learning report may include information that served as the basis for the determination, such as the above-mentioned "cost of suspicion."
[0094] Next, the flow of the additional learning process executed in the model generation system S2 of this embodiment configured as above will be described.
[0095] Fig. 6 is a sequence diagram showing an example of the flow of the additional learning process according to the second embodiment. The process from the start request process in S11 to the process of additional learning under the constraint conditions by the control information in S13 shown in Fig. 6 is the same as the process of S1 to S3 in the first embodiment described in Fig. 4.
[0096] Then, the report generation function 255 of the client 200 generates an additional learning report on the additional learning carried out in S13 (S14).
[0097] Next, the transmission function 254 of the client 200 associates the additional learning report generated in S14 with the local model 350 generated by the additional learning in S13, and transmits the report to the central server 100 (S15).
[0098] Then, the acquisition function 153 of the central server 100 acquires the local model 350 sent from the client 200. Then, the determination function 156 of the central server 100 determines whether or not the local model 350 provided by the client 200 can be integrated into the global model 300, based on the additional learning report acquired from the client 200 (S16).
[0099] If the determination function 156 determines that the local model 350 is to be integrated, the integration function 154 of the central server 100 executes an integration process to integrate the local model 350 acquired in S15 into the global model 300 (S17). If the determination function 156 determines that the local model 350 is not to be integrated, the integration function 154 does not integrate the local model 350 into the global model 300. If the determination function 156 determines that the local model 350 is not to be integrated, the output function 155 of the central server 100 may cause the display 140 to display information capable of identifying the client 200 from which the local model 350 was acquired, the additional learning report, and the determination result regarding the additional learning report.
[0100] Furthermore, the control information generation function 151 of the central server 100 updates the control information in accordance with the learning record of the client 200, depending on the result of the determination process of S16 (S18). The updated control information is transmitted from the central server 100 to the client 200 in the next round. At this point, the process of this sequence diagram ends.
[0101] As described above, in the model generation system S2 of this embodiment, the central server 100 determines, based on the learning performance of the client 200, whether to use the local model 350 provided by the client 200 to generate a new global model 300. Therefore, in addition to the effects of the first embodiment, the model generation system S2 of this embodiment can further reduce the influence of the local model 350 that has undergone additional learning using inappropriate training data 500 on the global model 300.
[0102] Furthermore, in the model generation system S2 of this embodiment, the client 200 generates an additional learning report on the additional learning that has been performed and provides it to the central server 100. Furthermore, the central server 100 determines, based on the additional learning report, whether to use the local model 350 provided by the client 200 in generating a new global model 300. Therefore, according to the model generation system S2 of this embodiment, it is possible to evaluate the additional learning content and determine whether to integrate the local model 350, without transmitting the learning data 500 itself outside the client 200.
[0103] Furthermore, in the model generation system S2 of this embodiment, the central server 100 changes the control information for the next additional learning of the client 200 according to the result of the determination based on the additional learning report. Therefore, the model generation system S2 of this embodiment can reduce the chance of inappropriate additional learning in the next round.
[0104] Furthermore, in the model generation system S2 of this embodiment, the additional learning report includes information indicating the data distribution of the learning data 500. Furthermore, the central server 100 compares a first data distribution of the client 200 from which the additional learning report was obtained with a second data distribution that integrates the data distributions of the clients 200a to 200n other than the client 200, and determines whether to use the local model 350 provided by the client 200 from which the additional learning report was obtained to generate a new global model 300. Therefore, the model generation system S2 of this embodiment can identify clients 200 that use inappropriate learning data 500.
[0105] (Third embodiment) In the first and second embodiments described above, the client 200 is provided with the learning device 400 in advance, but at the time of additional learning, the central server 100 may provide the client 200 with a learning device 400 to which control information has been assigned.
[0106] FIG. 7 is a block diagram showing an example of the configuration of the central server 100 and the client 200 according to the third embodiment.
[0107] Similar to the first and second embodiments, the model generation system S3 of this embodiment includes a central server 100 and a client 200. Note that while Fig. 7 illustrates the client 200 as an example, the model generation system S3 includes multiple clients 200a to 200n, similar to the first embodiment shown in Fig. 1.
[0108] The client 200 of this embodiment includes a NW interface 210, a storage circuit 220, an input interface 230, a display 240, and a processing circuit 250, similar to the first and second embodiments.
[0109] The processing circuit 250 of the client 200 of this embodiment includes a start request function 251 , an acquisition function 252 , a learning control function 253 , and a transmission function 254 .
[0110] The start request function 251 and the transmission function 254 have the same functions as those in the first embodiment.
[0111] In addition to the functions of the first embodiment, the acquisition function 252 of this embodiment acquires a learning device 400 to which control information has been assigned from the central server 100. Hereinafter, the learning device 400 to which control information has been assigned is referred to as a learning device 400 with control information.
[0112] The learning control function 253 performs additional learning using the learning device 400 with control information transmitted from the central server 100.
[0113] The central server 100 of this embodiment also includes a NW interface 110, a storage circuit 120, an input interface 130, a display 140, and a processing circuit 150, similar to the first embodiment.
[0114] The processing circuit 150 of the central server 100 of this embodiment includes a control information-attached learning device generation function 157, a transmission function 152, an integration function 154, and an output function 155. The control information-attached learning device generation function 157 is an example of a control information generation unit and a control information-attached learning device generation unit.
[0115] The integration function 154 and the output function 155 have the same functions as those in the first embodiment.
[0116] The control information-attached learning device generation function 157 generates the control information-attached learning device 400. More specifically, the control information-attached learning device generation function 157 has a function of generating control information similar to the control information generation function 151 of the first embodiment, and a function of assigning the generated control information to the learning device 400.
[0117] Furthermore, the learning device with control information 400 is an application program in which control information is embedded that defines constraints that limit the number of execution times or the executable period, for example.
[0118] For example, the executable period may be granted as a license with an expiration date for the control information-attached learning device 400. In this case, after the executable period of the control information-attached learning device 400 provided to the client 200 has elapsed, the control information-attached learning device 400 may be automatically deleted from the client 200. Alternatively, after the executable period of the control information-attached learning device 400 provided to the client 200 has elapsed, the control information-attached learning device 400 may become unable to be executed on the client 200.
[0119] Furthermore, the control information given to the control information-attached learning device 400 may be such that the control information-attached learning device 400 cannot be executed by any device other than the client 200 to which it is sent.
[0120] In addition to the functions of the first embodiment, the transmission function 152 of this embodiment transmits the learning device with control information 400 generated by the learning device generation function with control information 157 to the client 200.
[0121] Next, the flow of the additional learning process executed in the model generation system S3 of this embodiment configured as above will be described.
[0122] Fig. 8 is a sequence diagram showing an example of the processing flow of additional learning according to the third embodiment. In addition, as a premise of the processing shown in Fig. 8, it is assumed that the control information-attached learning device generation function 157 of the central server 100 has generated the control information-attached learning device 400.
[0123] The process of the start request in S21 shown in FIG. 8 is the same as the process in S1 of the first embodiment described with reference to FIG.
[0124] When the transmission function 152 of the central server 100 receives the start request from the client 200, it transmits to the client 200 permission to perform additional learning, the global model 300, and the learning device 400 with control information (S22).
[0125] Acquisition function 252 of client 200 acquires permission to perform additional learning, global model 300, and learning device with control information 400 transmitted from central server 100. Learning device with control information 400 is stored in, for example, memory circuit 220 and installed in client 200. Then, learning control function 253 of client 200 starts learning device with control information 400, provides learning data 500, and causes learning based on the control information to be performed (S23).
[0126] For example, if the control information of the control information-attached learning device 400 defines that the executable period of the learning device 400 is the expiration date of the learning device 400, and that the learning device 400 is to be deleted after the expiration date, the learning device 400 with the control information whose executable period has expired is deleted from the client 200 (S24). Note that the processing of S24 differs depending on the content of the control information of the control information-attached learning device 400. For example, if the control information prohibits the execution of the learning device 400 after the executable period has expired, the learning device 400 with the control information whose executable period has expired will not be started.
[0127] The processes from the transmission of the local model 350 in S25 to the integration process in S26 are the same as the processes in S4 and S5 in the first embodiment described with reference to FIG.
[0128] Then, control information-attached learning device generation function 157 updates the control information according to the learning record in client 200, and generates a new control information-attached learning device 400 (S27). The new control information-attached learning device 400 is transmitted from central server 100 to client 200 in the next round. Note that the processing of S27 is not essential. Here, the processing of this sequence diagram ends.
[0129] As described above, in the model generation system S3 of this embodiment, the client 200 acquires the learning device 400 with control information from the central server 100. According to the model generation system S3 of this embodiment, the control information is embedded in the learning device 400 itself, and therefore, in addition to the effect of the first embodiment, it is possible to reduce the misuse of the learning device 400.
[0130] (Variation 1) In the above-described embodiments, one client 200 corresponds to one patient, but the client 200 may also correspond to a business that provides a PHR. Also, one piece of training data 500 may correspond to medical data of one patient. In this case, the constraint imposed on the client 200 may be, for example, an upper limit on the number of pieces of training data 500 used in one round of additional learning.
[0131] Furthermore, the multiple clients 200a to 200n do not need to be independent hardware. For example, multiple clients 200a to 200n, one for each patient, may exist on one server managed by a PHR business operator.
[0132] (Variation 2) In the above-described embodiments, PHR data is given as an example of the training data 500, but the training data 500 is not limited to this. For example, the training data 500 may be medical data such as electronic medical records stored in a medical institution such as a hospital. In this case, the client 200 may be, for example, a medical institution. Furthermore, the model generation systems S1 to S3 may be applied to federated learning in fields other than medicine.
[0133] (Variation 3) In the above-described embodiments, the constraint is the upper limit of the number of executions or the executable period of the learning device 400, but is not limited thereto. For example, the control information may include a constraint that limits the memory size used by the learning device 400 for additional learning. The amount of data that can be additionally learned per unit time may differ depending on the environment of the client 200. Therefore, by specifying the executable period and the memory size used for additional learning in the control information, the central server 100 can more accurately control the amount of additional learning in the client 200.
[0134] (Variation 4) In the above-described embodiments, the condition under which the client 200 issues a start request that triggers the start of additional learning is when the learning data 500 required for additional learning in the next round is stored in the storage circuitry 120. However, the condition under which the start request is issued is not limited to this. For example, the start request may be sent at any timing by an operation by the user of the client 200.
[0135] Furthermore, the central server 100 may be configured to accept start requests from the client 200 only during a specified time period.
[0136] (Variation 5) In each of the above-described embodiments, a configuration has been described in which the learning control function 253 of the client 200 automatically performs additional learning when it receives permission to perform additional learning from the central server 100, but the method of permission to perform additional learning is not limited to this.
[0137] For example, when additional learning in client 200 is performed under user operation, permission to perform additional learning may be a message to the user of client 200. Upon receiving the message, client 200 may output a notification on display 240 to let the user know that additional learning can be performed.
[0138] Alternatively, the sending function 152 of the central server 100 may send a one-time password to the client 200 as permission to perform additional learning. The one-time password grants a license to the learning device 400 of the client 200.
[0139] (Variation 6) In the second embodiment described above, the determination as to whether or not the local models 350 can be integrated is made using the additional learning report, but the determination method is not limited to this.
[0140] For example, as another determination method, the determination function 156 of the central server 100 may input test input data to the local model 350 and evaluate the performance of the local model 350 based on the output result of the local model 350. In this case, the determination function 156 determines whether or not the local model 350 can be integrated based on the evaluation result.
[0141] Specifically, the determination function 156 evaluates the reliability score of the local model 350 based on the output result of the local model 350 corresponding to the test input data. For example, the determination function 156 may compare the correct answer data corresponding to the test input data with the output result of the local model 350, and evaluate the performance of the local model 350 higher the closer the output result is to the correct answer data. The higher the performance of the local model 350, the higher the reliability score. The determination function 156 may determine the local model 350 as a candidate for integration if the reliability score of the local model 350 is equal to or greater than a threshold, and may determine the local model 350 as a candidate for integration if the reliability score is less than the threshold. Note that the test input data and correct answer data may be stored in advance in the memory circuit 120 of the central server 100. When this configuration is adopted, the client 200 may not have a function for generating an additional learning report. Alternatively, the determination function 156 of the central server 100 may use both a determination using the additional learning report and performance evaluation using test data.
[0142] Furthermore, the reliability score of the local model 350 may be used to update the control information in the first to third embodiments. For a client 200 that provides a local model 350 whose reliability score is equal to or greater than a specified threshold, the control information generation function 151 may extend the available learning time in the next round or increase the upper limit on the number of executions of the learning device 400. Note that the threshold used to determine whether or not to integrate the local models 350 may be different from the threshold used to determine the constraint conditions in the next round.
[0143] (Variation 7) Although the above-described third embodiment has been described based on the configuration of the first embodiment, the configuration of the second embodiment may be combined with the configuration of the third embodiment. For example, the configuration in which the central server 100 determines whether or not to integrate the local models 350 as in the second embodiment may be combined with the configuration in which the central server 100 provides the learning device 400 with control information to the client 200 as in the third embodiment.
[0144] (Variation 8) The central server 100 of each of the model generation systems S1 to S3 may further include an inference function that executes inference processing using the global model 300. For example, the inference function acquires input data for inference, inputs the data to the global model 300, and obtains output data output from the global model 300. Alternatively, each of the model generation systems S1 to S3 may provide the generated global model 300 to another system or information processing device.
[0145] The various data handled in this specification are typically digital data.
[0146] According to at least one of the embodiments described above, the quality of additional learning can be maintained in federated learning.
[0147] Although several embodiments have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, modifications, and combinations of embodiments can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0148] 100 central servers 110,210 Network Interface 120,220 memory circuit 130,230 input interface 140,240 display 150,250 processing circuit 151 Control information generation function 152 Transmission Function 153 Acquisition Function 154 Integration Features 155 Output Function 156 Judgment Function 157 Learning module generation function with control information 200, 200a~200n clients 251 Start request function 252 Acquisition Function 253 Learning control function 254 Sending Function 255 Report Generation Function 300 Global Model 350, 350a~350n local model 400 learners 500 training data N Network S1~S3 Model Generation System
Claims
1. a central server that can provide clients with a global model for use in federated learning; the client capable of executing a learning device, the client being capable of applying the global model obtained from the central server to the learning device, providing training data to the learning device to generate a local model, and providing the local model to the central server; A model generation system comprising: execution of the learning device in the client is controlled by control information assigned to the learning device; The central server controls the control information so that the control information can be changed according to the learning results of the client. Model generation system.
2. The control information is information that defines an upper limit number of execution times or an executable period of the learning device. The model generation system of claim 1 .
3. The client acquires the learning device to which the control information is assigned from the central server. The model generation system of claim 1 .
4. the central server determines whether to use the local model provided by the client to generate a new global model according to the learning results; The model generation system of claim 1 .
5. the client generates a report regarding the additional learning performed and provides the report to the central server; the central server determines whether to use the local model provided by the client based on the report to generate a new global model; The model generation system of claim 1 .
6. the central server changes the control information for the next additional learning of the client according to the result of the determination based on the report. The model generation system of claim 5 .
7. the report includes information indicating a data distribution of the training data; the central server determines whether to use the local model provided by the client that is the source of the report to generate a new global model based on a result of comparing a first data distribution of the client that is the source of the report with a second data distribution that is an aggregate of data distributions of other clients excluding the client; 7. A model generation system according to claim 5 or 6.
8. the training data includes medical information of the patient; The client has a one-to-one correspondence with the patient. The model generation system of claim 1 .
9. a central server providing the clients with a global model for use in federated learning and control information for controlling execution of the learners at the clients; The client generates a local model by providing training data to the learner and training the global model; the client providing the local model to the central server; The central server controls the control information so that the control information can be changed according to the learning results of the client. Model generation method.
10. a transmitter that transmits to the client a global model used in federated learning and control information that controls execution of a learning device in the client; an acquisition unit that acquires, from the client, a local model generated by causing the global model to learn training data using the learning device under the control of the control information; a control information update unit that updates the control information in accordance with a learning record of the client; An information processing device comprising:
11. an acquisition unit that acquires, from another information processing device, a global model used in federated learning and control information that defines constraints for executing a learning device to learn the global model; a learning control unit that applies the acquired global model to the learning device and generates a local model by providing learning data to the learning device under the constraints defined in the control information; a transmitting unit that associates the generated local model with information on a learning record by the learning control unit and transmits the information to the other information processing device; An information processing device comprising:
Citation Information
Patent Citations
Machine learning system and method, integration server, information processing device, program, and inference model generation method
WO2021059607A1