Information processing method, program, and information processing system
By adjusting global model parameters on client devices using local models, the server load is reduced, facilitating efficient federated learning with enhanced security and privacy.
Patent Information
- Application Number
- JP2024016503
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-06
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2044-02-06
AI Technical Summary
The existing federated learning systems face excessive load on the server due to the calculation of global model parameters on the server side.
Parameters of the global model are adjusted on each client device by transmitting them from a server to a first client, where they are adjusted based on local learning models, and then transmitted back to the server for further adjustments with other clients' models.
This approach allows for parameter adjustments on each client device, reducing the server's load and enabling efficient federated learning without the need for data aggregation, while preventing information leaks and unauthorized use.
Smart Images

Figure 2025121200000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing method, a program, and an information processing system. [Background technology]
[0002] In recent years, there has been active development of technologies related to federated learning of learning models. For example, Patent Document 1 discloses a server device that calculates global model parameters based on local model parameters and weights transmitted from multiple client devices that perform federated learning of a neural network model, and transmits the calculated parameters to each client device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2023-179168 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the invention of Patent Document 1 has a problem in that the load on the server becomes excessive because the parameters of the global model are calculated on the server side.
[0005] One aspect of the present invention is to provide an information processing method and the like that allows parameters of a global model to be adjusted on the side of each client device (information processing device). [Means for solving the problem]
[0006] An information processing method according to one aspect includes a process of transmitting parameters of a global model from a server computer to a first information processing device among a plurality of information processing devices, adjusting the parameters of the global model based on the transmitted parameters of the global model and parameters of a first learning model learned by the first information processing device, transmitting the adjusted parameters of the global model to the server computer, transmitting the adjusted parameters of the global model from the server computer to a second information processing device among the plurality of information processing devices, adjusting the parameters of the global model based on the transmitted parameters of the adjusted global model and parameters of a second learning model learned by the second information processing device, and transmitting the adjusted parameters of the global model to the server computer. [Effects of the Invention]
[0007] In one aspect, the parameters of the global model can be adjusted on each client device. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is an explanatory diagram showing an overview of a ledger-based federated learning system. [Figure 2] FIG. 2 is a block diagram illustrating an example of the configuration of a server. [Figure 3] FIG. 2 is a block diagram illustrating an example of the configuration of a client. [Figure 4] FIG. 1 is an explanatory diagram illustrating the processing of a ledger-based federated learning system. [Figure 5] 10 is a flowchart showing a processing procedure when performing an initial distribution process for a global model. [Figure 6] 10 is a flowchart showing a processing procedure for adjusting parameters of a global model. [Figure 7] 10 is a flowchart showing a processing procedure when the number of updates is changed. [Figure 8]10 is a flowchart showing the procedure of a subroutine for processing to change the number of update times. DETAILED DESCRIPTION OF THE INVENTION
[0009] The present invention will be described in detail below with reference to the drawings showing embodiments thereof.
[0010] (Embodiment 1) The first embodiment relates to a form for adjusting parameters of a global model. Fig. 1 is an explanatory diagram showing an overview of a ledger-based federated learning system. The system of this embodiment includes an information processing device (server computer) 1 and multiple information processing devices 2, and each device transmits and receives information via a network N such as the Internet.
[0011] The information processing device 1 is an information processing device that processes, stores, and transmits / receives various types of information. The information processing device 1 is, for example, a server device, a personal computer, or a general-purpose tablet PC (personal computer). In this embodiment, the information processing device 1 is assumed to be a server device, and will be referred to as server 1 below for simplicity.
[0012] The information processing devices 2 are client devices installed at multiple locations and perform tasks such as learning a learning model (local model), receiving and adjusting parameters of a global model, and transmitting the adjusted parameters of the global model.
[0013] The information processing device 2 is, for example, a server device, a personal computer, or a general-purpose tablet PC (personal computer). The information processing device 2 may also be an information processing device such as a smartphone, a mobile phone, a wearable device such as an Apple Watch (registered trademark), or a tablet. In this embodiment, the information processing device 2 is a personal computer, and for the sake of simplicity, the information processing device 2 will hereinafter be referred to as a client 2.
[0014] The server 1 according to this embodiment transmits parameters of a global model to a first client 2 among multiple clients 2. The parameters include, for example, weights or biases of each neuron other than hyperparameters. The first client 2 adjusts the parameters of the global model based on the transmitted parameters of the global model and parameters of a first learning model (hereinafter referred to as a first local model) learned by the first client 2. The first client 2 transmits the adjusted parameters of the global model to the server 1.
[0015] The server 1 receives the adjusted parameters of the global model from the first client 2. The server 1 transmits the received adjusted parameters of the global model to a second client 2 different from the first client 2 among the multiple clients 2.
[0016] The second client 2 adjusts the parameters of the global model based on the transmitted parameters of the adjusted global model and the parameters of a second learning model (hereinafter referred to as a second local model) learned by the second client 2. The second client 2 transmits the adjusted parameters of the global model to the server 1.
[0017] 2 is a block diagram showing an example of the configuration of the server 1. The server 1 includes a control unit 11, a storage unit 12, a communication unit 13, a reading unit 14, and a large-capacity storage unit 15. Each component is connected by a bus B.
[0018] The control unit 11 includes an arithmetic processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), or a quantum processor. The control unit 11 reads and executes a control program 1P (program product) stored in the storage unit 12, thereby performing various information processing or control processing related to the server 1.
[0019] It should be noted that the control program 1P can be deployed to run on a single computer, or on multiple computers located at one site, or distributed across multiple sites and interconnected by a communications network.
[0020] 2, the control unit 11 is described as a single processor, but it may be a multi-processor. The control unit 11 may execute various information processes or control processes by the same processor within the server 1, or may execute various processes by different processors within the server 1.
[0021] The storage unit 12 includes memory elements such as RAM (Random Access Memory) and ROM (Read Only Memory), and stores the control program 1P or data required for the control unit 11 to execute processing. The storage unit 12 also temporarily stores data required for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing communication-related processing, and transmits and receives information to and from the client 2, etc. via the network N.
[0022] The reading unit 14 reads a portable storage medium 1a including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 14 and store it in the mass storage unit 15. Alternatively, the control unit 11 may download the control program 1P from another computer via a network N or the like and store it in the mass storage unit 15. Furthermore, the control unit 11 may read the control program 1P from the semiconductor memory 1b.
[0023] The mass storage unit 15 includes a recording medium such as a hard disk drive (HDD) or a solid state drive (SSD). The mass storage unit 15 includes a global model 151. The global model 151 is a trained model generated by machine learning based on a large amount of training data. The global model 151 is distributed to clients 2 located at each base.
[0024] In this embodiment, the storage unit 12 and the large-capacity storage unit 15 may be configured as an integrated storage device. Furthermore, the large-capacity storage unit 15 may be configured by a plurality of storage devices. Furthermore, the large-capacity storage unit 15 may be an external storage device connected to the server 1.
[0025] The server 1 may execute various information processing or control processes on a single computer, or may execute the processes in a distributed manner on multiple computers. The server 1 may also be realized by multiple virtual machines provided in a single server, or may be realized by using a cloud server.
[0026] 3 is a block diagram showing an example of the configuration of the client 2. The client 2 includes a control unit 21, a storage unit 22, a communication unit 23, an input unit 24, a display unit 25, and a large-capacity storage unit 26. Each component is connected by a bus B.
[0027] The control unit 21 includes a processing unit such as a CPU or an MPU, and performs various information processing or control processing related to the client 2 by reading and executing a control program 2P (program product) stored in the storage unit 22.
[0028] 3, the control unit 21 is described as a single processor, but it may be a multi-processor. The control unit 21 may execute various information processing or control processes by the same processor within the client 2, or may execute various information processing or control processes by different processors within the client 2.
[0029] The storage unit 22 includes memory elements such as RAM and ROM, and stores the control program 2P or data required for the control unit 21 to execute processing. The storage unit 22 also temporarily stores data required for the control unit 21 to execute arithmetic processing.
[0030] The communication unit 23 is a communication module for performing communication-related processing, and transmits and receives information to and from the server 1, etc. via the network N. The input unit 24 may be a keyboard, a mouse, or a touch panel integrated with the display unit 25. The display unit 25 is a liquid crystal display, an organic EL (electroluminescence) display, or the like, and displays various information according to instructions from the control unit 21.
[0031] The mass storage unit 26 includes a recording medium such as an HDD or an SSD. The mass storage unit 26 includes a local model 261. The local model 261 is a learning model obtained by learning the global model 151 distributed from the server 1 with its own training data.
[0032] In this embodiment, the storage unit 22 and the large-capacity storage unit 26 may be configured as an integrated storage device. Furthermore, the large-capacity storage unit 26 may be configured with multiple storage devices. Furthermore, the large-capacity storage unit 26 may be an external storage device connected to the client 2.
[0033] Figure 4 is an explanatory diagram illustrating the processing of a ledger-based federated learning system. The ledger-based federated learning system is composed of a server 1 and clients 2 installed at multiple locations. Figure 4 shows client 2A (first client 2), client 2B (second client 2), client 2C (third client 2), client 2D (fourth client 2), global model 151, local model 261A (first local model 261), local model 261B (second local model 261), local model 261C (third local model 261), local model 261D (fourth local model 261), parameter 91, parameter 91A, parameter 91B, parameter 91C, parameter 91D, parameter 92A, parameter 92B, parameter 92C, parameter 92D, training data 93A, training data 93B, training data 93C, and training data 93D.
[0034] For example, at points A, B, C, and D, client 2A is installed at point A, client 2B is installed at point B, client 2C is installed at point C, and client 2D is installed at point D. Note that, although an example of four points (point A, point B, point C, and point D) has been described in FIG. 4, the number of points is not particularly limited as long as there are two or more points.
[0035] The global model 151 is a global model on the server 1 side and has parameters 91. Parameters 91A, 91B, 91C, and 91D are parameters of the global model 151 after adjustment by each of the client 2A, client 2B, client 2C, and client 2D.
[0036] Local model 261A is a local model on the client 2A side and has parameters 92A. Local model 261B is a local model on the client 2B side and has parameters 92B. Local model 261C is a local model on the client 2C side and has parameters 92C. Local model 261D is a local model on the client 2D side and has parameters 92D.
[0037] Training data 93A, training data 93B, training data 93C, and training data 93D are training data collected by client 2A, client 2B, client 2C, and client 2D, respectively. Note that training data 93A, training data 93B, training data 93C, and training data 93D will be described later.
[0038] First, the initial distribution process of the global model 151 will be described. The server 1 distributes the global model 151, which has been created (constructed) in advance, to the clients 2 installed at each base. The global model 151 is used as a program module that is part of artificial intelligence software. Note that the initial parameters of the global model 151 may be set randomly, for example, or may be obtained from a model that has undergone specific pre-training.
[0039] The global model 151 is, for example, a classifier that identifies lung diseases based on medical images of a patient's lungs, and is a trained model generated by machine learning. The medical images of the lungs may be, for example, computed tomography (CT) images of the lungs or chest X-ray images. The lung diseases include, for example, lung cancer, chronic obstructive pulmonary disease, tuberculosis, pulmonary embolism, and interstitial pneumonia.
[0040] The global model 151 is realized using a segmentation network such as U-Net (Convolutional Networks for Biomedical Image Segmentation). Note that the global model 151 may be configured using a SegNet model, an FCN (Fully Convolutional Network) model, or the like.
[0041] Note that the global model 151 is not limited to the segmentation network described above, and may be realized by other models such as RCNN (Regions with Convolutional Neural Network), Fast RCNN, Faster RCNN, SSD (Single Shot Multibook Detector), YOLO (You Only Look Once), SVM (Support Vector Machine), Bayesian network, Transformer network, regression tree, or random forest.
[0042] In this embodiment, the global model 151 is a learning model for identifying lung diseases, but the present invention is not limited to this. In other words, the global model 151 can be applied to any learning model generated by machine learning.
[0043] Each client 2 uses training data collected by itself to update (learn) the initial parameters 91 of the global model 151 distributed from the server 1. The training data is, for example, combination data in which a CT image of the lung is associated with a lung disease (lung cancer, chronic obstructive pulmonary disease, tuberculosis, pulmonary embolism, interstitial pneumonia, etc.) in the CT image. Each client 2 uses the updated parameters 91 as parameters 92 of its own local model 261, and generates (constructs) the local model 261.
[0044] Specifically, client 2A installed at site A uses training data 93A collected by itself to update initial parameters 91 of global model 151 distributed from server 1. Client 2A sets updated parameters 91 as parameters 92A of its own local model 261A, and generates initial local model 261A.
[0045] Similar to the update (learning) process described above, client 2B installed at site B generates initial local model 261B. Client 2C installed at site C generates initial local model 261C. Client 2D installed at site D generates initial local model 261D.
[0046] Next, a description will be given of the process of adjusting the parameters 91 of the global model 151. The server 1 transmits the parameters 91 of the global model 151 to the client 2A. The client 2A receives the parameters 91 of the global model 151 transmitted from the server 1.
[0047] The client 2A adjusts the parameters 91 of the global model 151 by averaging the parameters 91 of the received global model 151 with the parameters 92A of the local model 261A learned by the client 2A, thereby obtaining adjusted parameters 91A. For the averaging process, for example, a weighted average, a harmonic mean, a geometric mean, or the like may be used.
[0048] The client 2A sets the parameters 91A of the adjusted global model 151 as parameters 92A of a new local model 261A, and updates the local model 261A. The client 2A transmits the parameters 91A of the adjusted global model 151 to the server 1.
[0049] The server 1 receives the parameters 91A of the adjusted global model 151 transmitted from the client 2A. The server 1 sets the received parameters 91A of the adjusted global model 151 as parameters 91 of a new global model 151, and updates the global model 151.
[0050] The server 1 transmits the parameters 91 of the updated global model 151 to the client 2B installed at the location B. The client 2B receives the parameters 91 of the updated global model 151 transmitted from the server 1. The client 2B adjusts the parameters 91 of the global model 151 by averaging the received parameters 91 of the global model 151 with the parameters 92B of the local model 261B trained by the client 2B, thereby obtaining adjusted parameters 91B.
[0051] The client 2B sets the parameters 91B of the adjusted global model 151 as parameters 92B of a new local model 261B, and updates the local model 261B. The client 2B transmits the parameters 91B of the adjusted global model 151 to the server 1.
[0052] The server 1 receives the parameters 91B of the adjusted global model 151 transmitted from the client 2B. The server 1 sets the received parameters 91B of the adjusted global model 151 as parameters 91 of the new global model 151, and updates the global model 151.
[0053] In this way, similar to the above-described process, the server 1 sequentially transmits the parameters 91 of the global model 151 to the client 2C and the client 2D. Each of the client 2C and the client 2D adjusts the parameters 91 of the global model 151 transmitted from the server 1, and obtains the adjusted parameters 91C and the adjusted parameters 91D. Each of the client 2C and the client 2D transmits the adjusted parameters 91C and the adjusted parameters 91D of the global model 151 to the server 1.
[0054] Thereafter, the parameters 91 of the global model 151 are sent again from the server 1 to the client 2A, and the adjustment process of the parameters 91 of the global model 151 described above is repeatedly performed, thereby realizing federated learning in the clients 2 installed at each location.
[0055] It should be noted that the order in which the parameters 91 of the global model 151 are transmitted to the clients 2 installed at each base is not limited.
[0056] 5 is a flowchart showing the processing steps when performing an initial distribution process of the global model 151. The control unit 11 of the server 1 transmits (distributes) the global model 151 created in advance to the client 2A installed at the site A via the communication unit 13 (step S101). The global model 151 is, for example, a trained model that identifies lung diseases based on medical images of a patient's lungs.
[0057] The control unit 21 of the client 2A receives the global model 151 transmitted from the server 1 via the communication unit 23 (step S201). The control unit 21 acquires, for example, training data 93A in which CT images of the lungs are associated with lung diseases in the CT images from the storage unit 22 or the mass storage unit 26 (step S202).
[0058] The control unit 21 uses the acquired training data 93A to update the initial parameters 91 of the received global model 151 (step S203). The control unit 21 sets the updated parameters 91 as parameters 92A of the local model 261A of the client 2A, and generates the local model 261A (step S204). The control unit 21 ends the process.
[0059] 5 illustrates an example of the process of distributing the global model 151 to the client 2A installed at the base A, but the present invention is not limited to this. For example, the clients 2B, 2C, and 2D installed at other bases each perform the same process as described above to generate a local model 261B having the parameter 92B, a local model 261C having the parameter 92C, and a local model 261D having the parameter 92D.
[0060] 6 is a flowchart showing the processing procedure for adjusting the parameters 91 of the global model 151. The control unit 11 of the server 1 transmits the parameters 91 of the global model 151, including the weights or biases of the filter (kernel), to the client 2A via the communication unit 13 (step S111). The control unit 21 of the client 2A receives the parameters 91 of the global model 151 transmitted from the server 1 via the communication unit 23 (step S211).
[0061] The control unit 21 acquires the parameters 92A of the local model 261A trained by the client 2A (step S212). The control unit 21 adjusts the parameters 91 of the global model 151 by performing an averaging process (weighted average, harmonic mean, geometric mean, or the like) on the parameters 91 of the received global model 151 and the parameters 92A of the acquired local model 261A, and obtains the adjusted parameters 91A (step S213).
[0062] The control unit 21 updates the local model 261A by setting the parameters 91A of the adjusted global model 151 as parameters 92A of the new local model 261A (step S214). The control unit 21 transmits the parameters 91A of the adjusted global model 151 to the server 1 via the communication unit 23 (step S215).
[0063] The control unit 11 of the server 1 receives the parameters 91A of the adjusted global model 151 transmitted from the client 2A via the communication unit 13 (step S112). The control unit 11 sets the received parameters 91A of the adjusted global model 151 as parameters 91 of a new global model 151, and updates the global model 151 (step S113).
[0064] Thereafter, the control unit 11 transmits the parameters 91 (adjusted parameters 91A) of the new global model 151 to the client 2B installed at the site B. The control unit 21 of the client 2B executes the processes from step S212 onwards.
[0065] Note that the order in which the adjusted parameters 91A are transmitted to clients 2 installed at other locations (for example, client 2B, client 2C, or client 2D) is not limited to this. For example, the control unit 11 may transmit the adjusted parameters 91A to client 2C installed at location C.
[0066] According to this embodiment, it is possible to create a high-performance global model 151 by adjusting the parameters 91 of the global model 151 based on the parameters 91 of the global model 151 and the parameters 92 of the local model 261 of the client 2.
[0067] According to this embodiment, the server 1 does not need to aggregate or average data, and the load on the server 1 can be reduced.
[0068] According to this embodiment, by transmitting and receiving parameters 91 of the global model 151 between the server 1 and the clients 2 installed at each base, there is no need to transmit and receive the global model 151 itself or training data, etc., and it is possible to avoid information leaks to others and prevent unauthorized use by others.
[0069] (Embodiment 2) The second embodiment relates to an embodiment in which the number of updates for updating (learning) the parameters 92 of the local model 261 is changed. Note that a description of the contents that overlap with the first embodiment will be omitted.
[0070] The number of updates is changed based on a difference value between the parameter 91 of the global model 151 and the parameter 92 of the local model 261, and a predetermined threshold value. The difference value is calculated from the square error between the parameter 91 of the global model 151 and the parameter 92 of the local model 261. The predetermined threshold value is calculated using the following equation (1). Threshold = learning rate × coefficient … (1) The learning rate is a hyperparameter that represents how much the weight parameters are changed at one time in machine learning optimization. The coefficient may be set to any value (e.g., 0.3).
[0071] If the difference value exceeds a predetermined threshold, the update count is changed to decrease, and if the difference value is equal to or less than the predetermined threshold, the update count is changed to increase.
[0072] An example of a process for changing the number of updates in client 2A installed at site A shown in Fig. 4 will be described below. Client 2A transmits a request to receive parameters 91 of global model 151 to server 1. Server 1 receives the request to receive parameters 91 of global model 151 transmitted from client 2A.
[0073] In response to the received request to receive the parameters 91 of the global model 151, the server 1 transmits the parameters 91 of the global model 151 to the client 2A. The client 2A receives the parameters 91 of the global model 151 transmitted from the server 1. The client 2A calculates a difference value between the received parameters 91 of the global model 151 and the parameters 92A of the local model 261A trained by the client 2A.
[0074] The parameters include weights, biases, etc. In the following, an example in which the parameters are weights will be described, but the same can be applied to other types of parameters. The client 2A calculates the difference value (squared error) between the weights of the global model 151 and the weights of the local model 261A trained by the client 2A.
[0075] The client 2A compares the calculated difference value with a predetermined threshold. For example, if the calculated weight difference value exceeds a predetermined threshold, the client 2A changes the number of updates for updating the parameters 92A of the local model 261A so that the number of updates is smaller. Specifically, the client 2A changes the number of updates using the following equation (2). Number of updates = Number of updates before update - Adjustment value ... (2)
[0076] Alternatively, if the calculated difference value is equal to or smaller than a predetermined threshold, the client 2A changes the number of updates to be larger. Specifically, the client 2A changes the number of updates using the following equation (3). Number of updates = number of updates before update + adjustment value ... (3) The adjustment value written in equation (2) or equation (3) is a preset arbitrary value, and may be, for example, 1. In addition to the process of adding the adjustment value, the number of updates before the update may be multiplied by a coefficient (for example, 1 to 3).
[0077] When the client 2A calculates the difference value using both the weight and the bias, the client 2A may set the sum of the weight difference value and the bias difference value as the difference value. In this case, the client 2A changes the number of updates using the above-mentioned formula (2) or (3) based on the sum of the difference values and a predetermined threshold value for the sum.
[0078] By the above-described processing, the number of updates can be changed based on the difference value between the parameter 91 of the global model 151 and the parameter 92A of the local model 261A and a predetermined threshold value.
[0079] The client 2A performs the update (learning) process of the parameters 92A for the number of updates using the training data 93A. After performing the update process of the parameters 92A for the number of updates, the client 2A retransmits the request to receive the parameters 91 of the global model 151 to the server 1, and repeats the above-mentioned process.
[0080] In addition, a client 2 installed at another location (for example, location B, location C, or location D) changes the number of updates for updating the parameters 92 of the local model 261, similar to the process of changing the number of updates described above.
[0081] The server 1 transmits the latest parameters 91 of the global model 151 to each client 2 in order of arrival (first come, first served) of the reception requests for the parameters 91 of the global model 151 transmitted from the clients 2 installed at each base. If the reception requests from multiple clients 2 are received at the same time (timing), the server 1 may randomly determine the transmission order of the parameters 91 of the global model 151 to the multiple clients 2. The server 1 sequentially transmits the parameters 91 of the global model 151 to each client 2 in accordance with the determined transmission order.
[0082] Fig. 7 is a flowchart showing the processing steps for changing the number of updates. Note that the same reference numerals are used to designate the same parts as in Fig. 6, and the explanation will be omitted. Note that Fig. 7 describes an example of the process for changing the number of updates by client 2A installed at site A, but the same can be applied to clients 2 installed at other sites.
[0083] The control unit 21 of the client 2A transmits a request to receive the parameters 91 (e.g., weights) of the global model 151 to the server 1 via the communication unit 23 (step S221). The control unit 11 of the server 1 receives the request to receive the parameters 91 of the global model 151 transmitted from the client 2A via the communication unit 13 (step S121). In response to the received request to receive the parameters 91 of the global model 151, the control unit 11 transmits the parameters 91 of the global model 151 to the client 2A via the communication unit 13 (step S122).
[0084] The control unit 21 of the client 2A executes the processes of steps S211 to S215. The control unit 11 of the server 1 executes the processes of steps S112 to S113. The control unit 21 of the client 2A executes a subroutine for processing to change the number of updates (step S222). The subroutine for processing to change the number of updates will be described later. The control unit 21 executes processing to update the parameters 92A for the number of updates, using the training data 93A (step S223). The control unit 21 returns to the processing of step S221.
[0085] 8 is a flowchart showing the processing steps of a subroutine for processing to change the number of updates. The control unit 21 of the client 2A calculates a difference value (squared error) between the parameter 91 of the global model 151 and the parameter 92A of the local model 261A in the client 2A (step S01). The control unit 21 acquires a predetermined threshold value from, for example, the storage unit 22 or the mass storage unit 26 (step S02). The control unit 21 may calculate the predetermined threshold value using the above-mentioned formula (1).
[0086] The control unit 21 determines whether the calculated difference value exceeds a predetermined threshold value (step S03). If the calculated difference value exceeds the predetermined threshold value (YES in step S03), the control unit 21 uses the above-described formula (2) to change the number of updates for updating the parameters 92A of the local model 261A so that the number of updates is reduced (step S04). The control unit 21 ends the subroutine for the process of changing the number of updates and returns.
[0087] If the calculated difference value does not exceed the predetermined threshold value (NO in step S03), the control unit 21 changes the number of updates to be larger using the above-mentioned formula (3) (step S05). The control unit 21 ends the subroutine for the process of changing the number of updates and returns.
[0088] The process of changing the number of updates is not limited to the above-described process, and the number of updates may be changed based on a combination of multiple types of parameters including weights, biases, etc.
[0089] Specifically, the client 2A calculates a first difference value between the weight of the global model 151 and the weight of the local model 261A. The client 2A calculates a second difference value between the bias of the global model 151 and the bias of the local model 261A.
[0090] The client 2A compares the difference value of each parameter with a predetermined threshold value corresponding to each parameter. For example, if any of the difference values of multiple parameters exceeds the predetermined threshold value, the client 2A changes the number of updates to decrease. Alternatively, if any of the difference values of multiple parameters does not exceed the predetermined threshold value, the client 2A changes the number of updates to increase.
[0091] By the above-described process, the transmission interval for transmitting the parameters 91 of the global model 151 from the server 1 to the client 2 can be changed depending on the number of times the parameters 92 of the local model 261 are updated.
[0092] In the learning process of the local model 261, the convergence speed of the learning process can be optimized by changing the transmission interval. The convergence speed is the speed at which high accuracy is achieved in a small number of steps. On the other hand, if the convergence speed in the learning process is slow, the transmission interval (transmission frequency) can be made dense. On the other hand, if the convergence speed is fast, there is less need for frequent communication, so the transmission interval can be made sparse. Therefore, it is possible to improve the performance and efficiency of the local model 261 learned by the client 2.
[0093] According to this embodiment, it is possible to change the number of times the parameters 92 of the local model 261 are updated.
[0094] The embodiments disclosed herein are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.
[0095] The matters described in each embodiment can be combined with each other. Furthermore, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations, regardless of the reference format. Furthermore, the claims use a format in which a claim references two or more other claims (multiple claim format), but this is not limited to this. A multiple claim (multi-multi claim) that references at least one other multiple claim may also be used. [Explanation of symbols]
[0096] 1. Information processing device (server computer; server) 11 Control section 12 Storage section 13 Communications Department 14 Reading unit 15 Mass storage 151 Global Model 1a Portable storage media 1b semiconductor memory 1P control program 2. Information processing device (client) 21 Control section 22 Memory section 23 Communications Department 24 Input section 25 Display section 26 Mass storage 261 Local Model 2P control program
Claims
1. transmitting parameters of the global model from the server computer to a first information processing device among the plurality of information processing devices; adjusting parameters of the global model based on the transmitted parameters of the global model and parameters of a first learning model learned by the first information processing device; transmitting the adjusted parameters of the global model to the server computer; transmitting the adjusted parameters of the global model from the server computer to a second information processing device among the plurality of information processing devices; adjusting the parameters of the global model based on the transmitted adjusted parameters of the global model and parameters of a second learning model learned by the second information processing device; Transmitting the adjusted parameters of the global model to the server computer. Information processing methods.
2. The first information processing device The parameters of the global model transmitted from the server computer are averaged with the parameters of the first learning model learned by the first information processing device to adjust the parameters of the global model. The information processing method according to claim 1 .
3. The first information processing device calculating a difference value between a parameter of the global model and a parameter of a first learning model learned by the first information processing device; The number of updates for updating the parameters of the first learning model is changed based on the calculated difference value.
3. The information processing method according to claim 1.
4. When the difference value exceeds a predetermined threshold, the number of updates is changed to be smaller; When the difference value is equal to or smaller than a predetermined threshold, the number of updates is increased; After performing the parameter update process of the first learning model for the number of updates after the change, a request to receive the parameters of the global model is sent to the server computer. The information processing method according to claim 3 .
5. transmitting parameters of the global model to a first information processing device among the plurality of information processing devices; receiving, from the first information processing device, parameters of a global model adjusted by the first information processing device based on parameters of the global model and parameters of a first learning model learned by the first information processing device; transmitting the adjusted parameters of the global model to a second information processing device among the plurality of information processing devices; Receive, from the second information processing device, parameters of a global model adjusted by the second information processing device based on parameters of the global model after adjustment and parameters of a second learning model learned by the second information processing device. A program that causes a computer to perform a process.
6. An information processing system including a server computer including a first control unit and a plurality of information processing devices, The first control unit transmitting parameters of a global model to a first information processing device among the plurality of information processing devices; the first information processing device includes a second control unit; The second control unit is adjusting parameters of the global model based on the transmitted parameters of the global model and parameters of a first learning model learned by the first information processing device; transmitting the adjusted parameters of the global model to the server computer; The first control unit transmitting the adjusted parameters of the global model to a second information processing device among the plurality of information processing devices; the second information processing device includes a third control unit; The third control unit is adjusting the parameters of the global model based on the transmitted adjusted parameters of the global model and parameters of a second learning model learned by the second information processing device; Transmitting the adjusted parameters of the global model to the server computer. Information processing system.
Citation Information
Patent Citations
Method for efficient machine learning
EP4266220A1
Information processing method, information processing device and server device
JP2023093838A
Server device
JP2023179168A
Server device
JP2023179169A
Machine learning method, information processing system, information processing device, server and program
JP2023182380A