Information processing method, program, and server device

By controlling the number of learning sessions using a frequency evaluation index, the method addresses inefficiencies in federated learning by optimizing machine learning iterations based on device capabilities and data quality, enhancing model integration efficiency.

WO2025253782A1PCT designated stage Publication Date: 2025-12-11TOYOTA JIDOSHA KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/014745
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-07
Filing Date
2025-04-15
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Conventional federated learning methods face inefficiencies due to delays in model integration caused by devices with low computational or communication power, and ineffective model updates from local data with small inference accuracy improvements.

Method used

Implement a frequency evaluation index to control the number of machine learning iterations for each client device, adjusting based on computational and communication capabilities, and local data quality to enhance the efficiency of model updates.

Benefits of technology

This approach reduces delays and improves the performance of global models by optimizing the number of learning sessions for each client device, ensuring effective integration of local models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025014745_11122025_PF_FP_ABST
    Figure JP2025014745_11122025_PF_FP_ABST
Patent Text Reader

Abstract

An information processing method according to one aspect of the present disclosure includes: each of a plurality of client devices collecting local data; each of the plurality of client devices generating a local model by repeating machine learning of a global model using the collected local data a number of times determined in accordance with a count evaluation index; each of the plurality of client devices transmitting the generated local model to a server device; and the server device generating a new global model by integrating the local models received from the plurality of client devices.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, program, and server device

[0001] The present disclosure relates to an information processing method, a program, and a server device.

[0002] Federated learning is one method for updating machine learning models (see, for example, Patent Literature 1). In federated learning, a server device provides each client device with a global model. Each client device collects local data and uses the collected local data to perform machine learning on the global model to generate a local model (i.e., localize). Each client device transmits the generated local model to a server device. The server device generates a new global model by integrating the local models obtained from each client device. This series of update processes can improve the performance of the global model. Non-Patent Literature 1 proposes a method for hierarchically implementing federated learning by introducing an intermediate server.

[0003] US Patent Application Publication No. 2020 / 0242514

[0004] Lumin Liu, et al. "Client-Edge-Cloud Hierarchical Federated Learning", [online], [Retrieved April 10, 2024], Internet <URL: https: / / www.semanticscholar.org / reader / afb1acd9cb0caa50b9b9170e3cd63fa4a6f65478>

[0005] One of the objectives of the present disclosure is to provide a technique for improving the efficiency of federated learning.

[0006] An information processing method according to a first aspect of the present disclosure includes: each of a plurality of client devices collecting local data; each of the plurality of client devices generating a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index; each of the plurality of client devices transmitting the generated local model to a server device; and the server device generating a new global model by integrating the local models received from each of the plurality of client devices.

[0007] A program according to a second aspect of the present disclosure is a program for causing a client device to execute an information processing method, the information processing method including: collecting local data; generating a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index; and transmitting the generated local model to a server device.

[0008] A server device according to a third aspect of the present disclosure is configured to communicate with each of a plurality of client devices and includes a control unit. Each of the client devices is configured to collect local data, generate a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index, and transmit the generated local model to the server device. The control unit is configured to generate a new global model by integrating the local models received from each of the client devices.

[0009] According to the present disclosure, it is possible to improve the efficiency of federated learning.

[0010] FIG. 1 schematically illustrates an example of a scenario to which the present disclosure is applied. FIG. 2A schematically illustrates an example of a scenario in which the number of learning sessions is determined for each client device of the present disclosure. FIG. 2B schematically illustrates another example of a scenario in which the number of learning sessions is determined for each client device of the present disclosure. FIG. 3 schematically illustrates an example of a hardware configuration of a server device of the present disclosure. FIG. 4 schematically illustrates an example of a hardware configuration of a client device of the present disclosure. FIG. 5 schematically illustrates an example of a software configuration of a server device of the present disclosure. FIG. 6 schematically illustrates an example of a software configuration of a client device of the present disclosure. FIG. 7 is a sequence diagram illustrating an example of a processing procedure executed between the server device of the present disclosure and each client device. FIG. 8 schematically illustrates another example of a scenario to which the present disclosure is applied. FIG. 9 schematically illustrates another example of a software configuration of a server device of the present disclosure. FIG. 10 schematically illustrates another example of a software configuration of a client device of the present disclosure. FIG. 11 is a sequence diagram illustrating an example of a processing procedure executed between the server device, a data server, and each client device of the present disclosure. FIG. 12 schematically shows another example of a situation to which the present disclosure is applied. FIG. 13A schematically shows an example of a situation in which the number of updates is determined for each lower-level server device of the present disclosure. FIG. 13B schematically shows another example of a situation in which the number of updates is determined for each lower-level server device of the present disclosure. FIG. 14 schematically shows an example of the hardware configuration of an upper-level server device of the present disclosure. FIG. 15 schematically shows an example of the software configuration of an upper-level server device of the present disclosure. FIG. 16 schematically shows an example of the software configuration of a lower-level server device of the present disclosure. FIG. 17 is a sequence diagram showing an example of a processing procedure executed between an upper-level server device of the present disclosure, each lower-level server device, and each client device.

[0011] Federated learning can improve the performance of a machine learning model (global model) without accessing private local data. However, the inventors of the present invention have found that conventional federated learning methods have the following problems.

[0012] That is, in conventional methods, each client device executes machine learning a certain number of times. This can lead to the following problems. For example, if a device with low computational power is present, the completion of machine learning on that device may be delayed, which may increase the time required for model integration (in other words, cause a delay). Furthermore, if a device with low communication power is present, the time required for model integration may also be increased due to a delay in uploading a model from that device. Furthermore, for example, if a client device obtains local data that results in only a small decrease in inference accuracy compared to the global model, uploading a local model obtained using that local data may have little effect on improving the performance of the global model. Therefore, conventional methods have made it difficult to improve the efficiency of federated learning.

[0013] In contrast, an information processing method according to a first aspect of the present disclosure includes each of a plurality of client devices collecting local data, each of the plurality of client devices repeatedly performing machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index, thereby generating a local model, each of the plurality of client devices transmitting the generated local model to a server device, and the server device integrating the local models received from each of the plurality of client devices to generate a new global model.

[0014] In the first aspect of the present disclosure, the number of learning iterations can be controlled for each client device using a count evaluation index. For example, if the computational or communication capabilities of a client device are low, the number of machine learning iterations on the client device can be reduced. This is expected to resolve the above-mentioned problems (delays) caused by the client device's low computational or communication capabilities. Furthermore, for example, if local data with a small decrease in inference accuracy compared to the global model is obtained, the number of machine learning iterations on the client device can be increased. This can enhance the effect of the local model on improving the performance of the global model, and is expected to resolve the above-mentioned problems caused by the collected local data. Therefore, according to the first aspect of the present disclosure, the efficiency of federated learning can be improved.

[0015] As another form of the information processing method according to the above aspect, one aspect of the present disclosure may be an information processing device (server device, client device) that realizes all or part of the above components, an information processing system, a program, or a machine-readable storage medium such as a computer that stores such a program. Here, the information processing system may be composed of a server device and multiple client devices. Furthermore, the machine-readable storage medium may be a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.

[0016] For example, a program according to a second aspect of the present disclosure may be a program for causing a client device to execute an information processing method, which may include collecting local data, generating a local model by repeating machine learning of a global model using the collected local data a number of times determined according to the frequency evaluation index, and transmitting the generated local model to a server device.

[0017] Furthermore, for example, a server device according to a third aspect of the present disclosure may be configured to be able to communicate with each of a plurality of client devices and may include a control unit. Each of the client devices may be configured to collect local data, generate a local model by repeating machine learning of a global model using the collected local data a number of times determined according to the frequency evaluation index, and transmit the generated local model to the server device. The control unit may be configured to generate a new global model by integrating the local models received from each of the client devices.

[0018] An embodiment according to one aspect of the present disclosure (hereinafter also referred to as "the present embodiment") will be described below with reference to the drawings. However, the present embodiment described below is merely an example of the present disclosure in all respects. Various improvements or modifications may be made without departing from the scope of the present disclosure. When implementing the present disclosure, specific configurations according to the present embodiment may be appropriately adopted. Note that while data appearing in the present embodiment is described in natural language, more specifically, it is specified using computer-recognizable pseudo-language, commands, parameters, machine language, etc.

[0019] 1 is a diagram illustrating an example of a situation in which the present disclosure is applied. The information processing system according to this embodiment includes a server device 1 and a plurality of client devices 2.

[0020] In this embodiment, the server device 1 is one or more computers configured to provide the global model 43. Each client device 2 is one or more computers configured to generate a local model 45 by localizing the global model 43. The server device 1 and each client device 2 are configured to be able to communicate with each other. The global model 43 is a trained machine learning model before being localized. When performing federated learning, the server device 1 may provide (distribute) the global model 43 to each client device 2 at any timing.

[0021] In this embodiment, each client device 2 collects local data 220. Each client device 2 repeatedly performs machine learning on the global model 43 using the collected local data 220 a number of times determined for each client device 2 according to the number evaluation index 55. As a result, each client device 2 localizes the global model 43 to generate a local model 45. The local model 45 is a trained machine learning model after localization. Each client device 2 transmits the generated local model 45 to the server device 1.

[0022] In response, the server device 1 receives the local models 45 from each client device 2. The server device 1 generates a new global model 44 by integrating the local models 45 received from each client device 2. This completes a series of update processes in federated learning. This update process in federated learning is expected to improve the performance of the global model (i.e., the performance of the new global model 44 will be superior to that of the original global model 43).

[0023] The server device 1 may distribute the generated new global model 44 to each client device 2 as the global model 43. This may update the trained machine learning model held in each client device 2. Each client device 2 may use the newly distributed global model 43 (44) as is, or may use it after re-localizing it. After the generated new global model 44 is distributed to each client device 2 as the global model 43, a series of update processes from collecting local data 220 to generating the new global model 44 by integration may be executed again. This may further improve the performance of the global model by repeatedly executing the update process of the federated learning.

[0024] As described above, in this embodiment, the count evaluation index 55 defines the number of times machine learning is performed for each client device 2. That is, the count evaluation index 55 can be used to control the number of times machine learning is performed for each client device 2. This can improve the efficiency of federated learning in various ways. For example, if one of the multiple client devices 2 has low computational or communication capabilities, the number of times machine learning is performed for that client device 2 can be reduced. As a result, it is expected that delays caused by a client device 2 with low computational or communication capabilities participating in federated learning can be eliminated. Furthermore, for example, if local data 220 is obtained that shows a small decrease in inference accuracy relative to the global model 43 (i.e., high inference accuracy), the number of times machine learning is performed for that client device 2 can be increased. This makes it easier to collect local models 45 that are highly effective in improving the performance of the global model 43. Therefore, this embodiment can improve the efficiency of federated learning.

[0025] (Each Device) In this embodiment, each client device 2 generates a local model 45, and the server device 1 integrates the local models 45 to generate a new global model 44. As long as such a relationship is established, the server device 1 and the client device 2 may each be configured by an arbitrary computer.

[0026] The server device 1 may be, for example, a server device located within the core network or a server device located outside the core network. As an example, the server device 1 may be a cloud server or an edge server. When performing federated learning in a peer-to-peer format, the server device 1 may be user equipment (UE). On the other hand, each client device 2 may be, for example, a server device located within the core network, a server device located outside the core network, or user equipment. As a specific example, the server device 1 is a first server device located within the core network, while each client device 2 may be another server device located within the core network (a server device other than the first server device), another server device located outside the core network, or user equipment. For convenience, the other server device may be referred to as a second server device. Note that the server device located outside the core network may include, for example, an application function (AF). The user equipment may include, for example, a personal computer (PC), a tablet terminal, a mobile terminal (smartphone, etc.), an in-vehicle terminal, etc. The type of PC is not particularly limited, and may be selected arbitrarily from, for example, a desktop PC, a notebook PC, or the like.

[0027] (Machine Learning Model) In this embodiment, the global model 43 is a machine learning model before being localized by machine learning using the local data 220. The local model 45 is a trained machine learning model after localization, which is generated by updating the global model 43 by machine learning using the local data 220. The global model 44 is a trained machine learning model generated by integrating the local models 45 obtained by each client device 2. Note that the reference numerals "43" and "44" for the global models simply indicate the models before and after the execution of the target federated learning. The global model 43 may be generated by any machine learning in at least one of the server device 1 and an external computer, or may be generated by integrating local models in past federated learning.

[0028] The machine learning model is configured to have one or more computational parameters that are adjusted by machine learning. The one or more computational parameters are used to compute a target inference task. Machine learning involves adjusting (optimizing) the values ​​of the computational parameters using training data (including the local data 220). In this embodiment, the type of machine learning model is not particularly limited and may be selected appropriately depending on the embodiment. The machine learning model may be configured, for example, by a neural network, a support vector machine, a regression model, a decision tree model, etc. The machine learning method may be selected appropriately depending on the machine learning model to be adopted (for example, backpropagation, etc.).

[0029] As an example, the machine learning model may be configured by a neural network. The structure of the neural network may be determined appropriately depending on the embodiment. The structure of the neural network may be specified, for example, by the number of layers from the input layer to the output layer, the type of each layer, the number of nodes (neurons) included in each layer, the connection relationships between the nodes in each layer, etc. In one example, the neural network may include any layer, such as a fully connected layer, a convolutional layer, a pooling layer, a deconvolutional layer, an unpooling layer, a normalization layer, a dropout layer, or a long short-term memory (LSTM). The neural network may have any structure, such as a recursive structure. The neural network may have any mechanism, such as an attention mechanism. The neural network may include any model, such as a graph neural network (GNN), a diffusion model, or a generative model (e.g., a generative adversarial network, a transformer, etc.). When a neural network is used as a machine learning model, the connection weights between each node and the thresholds for each node are examples of calculation parameters.

[0030] (Integration) Integrating each local model 45 means aggregating the results of machine learning at each local location. As long as such aggregation is possible, the calculation of the integration process is not particularly limited and may be selected appropriately depending on the embodiment. A known method may be used for the calculation of the integration process. In one example, integrating each local model 45 may be performed by averaging or summing the values ​​of corresponding calculation parameters included in each local model 45. The values ​​of the calculation parameters included in each local model 45 may be integrated after being weighted (i.e., in one example, the integration may be performed by weighted averaging or weighted summing). The weight of each local model 45 may be determined by any method. Furthermore, the integration of the local models 45 may be performed for all calculation parameters or only for some calculation parameters. When the integration of the local models 45 is performed partially, information on the calculation parameters that are not integrated may be omitted from the information on the local models 45 transmitted from each client device 2 to the server device 1.

[0031] (Inference Task) The inference task to be performed by the machine learning model (global model, local model) is not particularly limited and may be selected appropriately depending on the embodiment. The inference task may include any task of inferring a value of a target variable from data that serves as explanatory variables. The inference may consist of at least one of identification, regression, and segmentation. The inference may include prediction.

[0032] As an example, an inference task may include deriving an arbitrary inference result from sensing data obtained from one or more sensors. The type of sensor used is not particularly limited and may be selected appropriately depending on the embodiment. For example, an inference task may include inferring a matter related to the operation of a mobile object, such as a vehicle, from sensing data obtained from sensors provided in the mobile object. The sensors may include an image sensor (such as a camera), a proximity sensor, a Lidar (light detection and ranging) sensor, a Radar (radio detection and ranging) sensor, etc. As a specific example, an inference task may include detecting an object from the sensing data. The object may be, for example, a pedestrian, a traffic light, a median strip, an obstacle, etc. Detecting the object may include segmenting the object's region and identifying the object. Furthermore, an inference task may include determining a control action for the mobile object from the sensing data. Determining the control action may include, for example, determining an autonomous driving action, locking the doors, applying the brakes of the mobile object, etc.

[0033] As another example, the inference task may include data analysis in a network. For example, the inference task may include data analysis specified in TS23.288 clause 6 of 3GPP (registered trademark). As a specific example, the inference task may include inferring a communication quality status of a mobile object, such as a vehicle, from data related to a cell in which the mobile object is located, obtained from an Access and Mobility Management Function (AMF). The inference task may include inferring a movement path of the mobile object, such as a vehicle, from data related to the location of the mobile object, obtained from a Gateway Mobile Location Centre (GMLC). The inference task may include inferring communication service quality from data related to communication quality requirements, obtained from a Session Management Function (SMF). The inference task may include inferring a communication congestion status from performance monitoring data obtained from a User Plane Function (UPF).

[0034] (Local Data) The local data 220 is training data obtained by each client device 2 (locally). The configuration of the training data may be determined as appropriate depending on the machine learning method employed, the type of machine learning model, etc. In a typical example, the training data may be composed of multiple datasets. Each dataset may be composed of a combination of training data (samples) and labels. The training data is a sample of explanatory variables and is used as input for the machine learning model. The labels are configured to indicate the true value of the objective variable for the input sample of explanatory variables, i.e., the solution (true value) of the inference task for the corresponding training data. The labels may also be referred to as correct answer data (samples), teacher signals, etc.

[0035] The training data may be acquired appropriately depending on the inference task. In one example, the training data may be acquired while the machine learning model (global model 43, temporary local model 45) is being operated. For example, the training data may be acquired in response to an incorrect inference by the machine learning model. That is, input data provided when the machine learning model derives an incorrect inference result may be acquired as training data. In another example, the training data may be acquired independently of the operation of the machine learning model. Furthermore, the training data may be acquired in response to the occurrence of any event, regardless of whether the machine learning model is being operated. As a specific example, if the inference task includes determining the control content of autonomous driving, the training data may be acquired in response to the occurrence of a driving-related event such as parking, an intersection, or a U-turn. Furthermore, for example, if the inference task is data analysis in a network, the training data may be acquired by collecting data present in the network.

[0036] In contrast, labels may be acquired appropriately to indicate the correct answer to the inference for the acquired training data. In one example, the labels may be acquired by operator input. In another example, the labels may be acquired by any information processing (inference processing, analysis processing, etc.). For example, the labels may be acquired based on information acquired from other sensors. Each dataset may be automatically generated by computer operation, or may be manually generated at least in part by an operator's operation (user feedback, etc.).

[0037] The training data including the local data 220 may be used as appropriate for machine learning of the machine learning model. In one example, the machine learning in each client device 2 may be configured by providing training data for each data set constituting the local data 220, and adjusting (optimizing) the values ​​of calculation parameters included in the global model 43 so that the output values ​​(inference results) obtained from the global model 43 conform to the true values ​​indicated by the labels. The method of adjusting the calculation parameters (method of solving the optimization problem) may be determined as appropriate depending on the type, configuration, structure, etc. of the machine learning model used in the global model 43.

[0038] As an example of an adjustment method, if the global model 43 is configured by a neural network, the client device 2 may input training data of each data set to the global model 43 and perform forward calculation processing of the global model 43. As a result of this calculation processing, the client device 2 may obtain an output value corresponding to an inference result for the training data from the global model 43. The client device 2 may calculate an error (loss) between the obtained output value and the corresponding label value, and further calculate a gradient of the calculated error. The client device 2 may calculate an error in the value of a calculation parameter of the global model 43 by backpropagating the calculated gradient of the error using an error backpropagation method. The client device 2 may update the value of the calculation parameter based on the calculated error.

[0039] Through this series of update processes, the client device 2 may adjust the values ​​of the calculation parameters of the global model 43 so as to reduce the sum of errors between the output value (inference result) obtained by providing training data and the true value indicated by the label. This adjustment of the calculation parameter values ​​may be repeated, for example, until a predetermined condition is met, such as performing adjustment a set number of times or until the calculated sum of errors becomes equal to or less than a threshold (i.e., learning converges). Furthermore, machine learning conditions, such as an objective function (cost function, loss function, error function) for calculating the error and a learning rate, may be set appropriately depending on the embodiment. A local model 45 may be generated through this machine learning process. Note that the machine learning method is not limited to supervised learning. In another example, unsupervised learning (including adversarial learning) or reinforcement learning may be adopted as the machine learning method. The configuration of the learning data (local data 220) may be changed appropriately depending on the machine learning technique, type of machine learning model, etc.

[0040] (Number of Times Evaluation Index) The number of times evaluation index 55 may be appropriately defined to promote the efficiency of associative learning. As shown in FIG. 1 , in one example of this embodiment, the number of times evaluation index 55 may include at least one of a first index 551, a second index 552, and a third index 553.

[0041] (1) First Index The first index 551 is an index for evaluating the inference accuracy of the global model 43 for the local data 220 collected in each client device 2. When the number of times evaluation index 55 includes the first index 551, the number of times of learning may be determined to be greater for a client device 2 that collects local data 220 that results in higher inference accuracy of the global model 43 (i.e., smaller degradation of inference accuracy) according to the first index 551. In other words, the number of times of learning may be determined to be less for a client device 2 that collects local data 220 that results in lower inference accuracy of the global model 43 (i.e., larger degradation of inference accuracy) according to the first index 551.

[0042] A decrease in the inference accuracy of the global model 43 may correspond to insufficient machine learning of the global model 43 for that data. Therefore, the more local data 220 that reduces the inference accuracy of the global model 43 collected in the client device 2, the more likely it is that even a local model 45 obtained with fewer learning sessions will be beneficial to improving the inference accuracy of the global model. Furthermore, it is desirable to integrate local models 45 that reflect data with insufficient machine learning early. On the other hand, the more local data 220 that improves the inference accuracy of the global model 43 is collected, the more sufficient the training of the global model 43 for that local data 220 will be. Therefore, a local model 45 obtained with fewer learning sessions may be less effective in improving the inference accuracy of the global model through integration. In this example embodiment, from these perspectives, the more local data 220 that reduces the inference accuracy of the collected local data 220, and the more local data 220 that improves the inference accuracy of the global model through integration, by reducing the number of learning sessions. Furthermore, the more local data 220 that improves the inference accuracy of the global model 43 is collected, the more likely it is that the training of the global model 43 for that local data 220 will be sufficient. Therefore, a local model 45 obtained with fewer learning sessions may be less effective in improving the inference accuracy of the global model through integration. In this example embodiment, from these perspectives, the more local data 220 that reduces the inference accuracy of the collected local data 220, and the more local data 220 that improves the inference accuracy of the collected local data 220, the more likely it is that the training sessions will be more effective.

[0043] The inference accuracy of the global model 43 with respect to the local data 220 may be evaluated (calculated) using any method. In one example, the inference accuracy of the global model 43 may be evaluated according to the loss (error) in machine learning. The loss may be calculated using any objective function. The loss may be calculated by using at least a portion of the collected local data 220 before executing machine learning on the global model 43, or may be calculated during the process of updating the values ​​of the calculation parameters of the global model 43 (e.g., the initial update process). A large loss corresponds to low inference accuracy, and a small loss corresponds to high inference accuracy. Therefore, the first index 551 may be defined to determine the number of learning iterations so that the larger the calculated loss, the fewer the number of learning iterations, and the smaller the loss, the more the number of learning iterations. According to one example of the present embodiment, using a machine learning framework in the process of evaluating the inference accuracy can be expected to improve the efficiency of the process. In another example, the inference accuracy of the global model 43 may be evaluated according to at least one of the accuracy rate and the number of errors, instead of or in addition to the loss.

[0044] (2) Second Index The second index 552 is an index for evaluating the computational capability of each client device 2. When the count evaluation index 55 includes the second index 552, the number of learning times may be determined by the second index 552 so that the number of learning times is smaller for client devices 2 with lower computational capabilities. In other words, the number of learning times may be determined by the second index 552 so that the number of learning times is larger for client devices 2 with higher computational capabilities. The lower the computational capability, the longer the learning process takes. The higher the computational capability, the faster the learning process is completed. In this example of the present embodiment, from these perspectives, the number of learning times is reduced for client devices with lower computational capabilities and increased for client devices with higher computational capabilities, thereby adjusting the time required for integrating the local model 45 and reducing delays caused by client devices 2 with low computational capabilities.

[0045] The computing capability may be calculated based on the performance of computing resources such as processor resources and memory resources. The processor resources may include, for example, a central processing unit (CPU), a microprocessor, a field-programmable gate array (FPGA), a digital signal processor (DSP), an electronic control unit (ECU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), etc. The memory resources may include, for example, storage (hard disk drive, solid state drive, etc.), random access memory (RAM), cache memory (e.g., last level cache), etc. The computing capability may be evaluated based on, for example, the calculation speed of the processor resource, the capacity of the memory resource, the read speed of the memory resource, etc.

[0046] (3) Third Index The third index 553 is an index for evaluating the communication capability of each client device 2. When the count evaluation index 55 includes the third index 553, the number of learning times may be determined by the third index 553 so that the number of learning times is smaller for client devices 2 with lower communication capabilities. In other words, the number of learning times may be determined by the third index 553 so that the number of learning times is larger for client devices 2 with higher communication capabilities. The lower the communication capability, the longer it takes to transmit the local model 45. The higher the communication capability, the faster the transmission of the local model 45 is completed. In this example of the present embodiment, from these perspectives, the number of learning times is reduced for client devices with lower communication capabilities and increased for client devices with higher communication capabilities, thereby adjusting the time required to integrate the local models 45 and reducing delays caused by client devices 2 with low communication capabilities.

[0047] The communication capability may be calculated according to the performance of at least one of the communication module and the line used by the client device 2 for data communication with the server device 1. The communication capability may be calculated according to, for example, the communication bandwidth, the amount of delay, the communication speed, etc. The communication capability may be actually measured on the transmission path between the server device 1 and the client device 2, or may be estimated from the performance of the communication module used by the client device 2.

[0048] (4) Others The count evaluation index 55 may be expressed by any method, such as a rule base or a function formula. In one example, the count evaluation index 55 may be expressed by a function formula. When the count evaluation index 55 includes the first index 551, the second index 552, and the third index 553, the number of learning times of each client device 2 may be calculated by substituting a value related to inference accuracy (loss, etc.), a value related to computational capability, and a value related to communication capability into the function formula and performing arithmetic processing of the function formula. The values ​​of the coefficients and constant terms of the terms of each index (551, 552, 553) may be set as appropriate.

[0049] Furthermore, one learning process (unit of learning process) may not be particularly limited and may be defined appropriately depending on the embodiment. In one example, one learning process may be defined as processing from the start of machine learning on one block of local data 220 samples until the machine learning converges. The local data 220 used in each learning process may be the same or may at least partially differ. In another example, one learning process may be defined as one update process of the above-mentioned calculation parameters. The count evaluation index 55 may be defined appropriately to determine the number of learning times depending on the unit of learning process.

[0050] (Entity Determining the Number of Learning Times) An entity that determines the number of learning times for each client device 2 is not particularly limited and may be appropriately selected depending on the embodiment. The number of learning times for each client device 2 may be determined by either the server device 1 or the client device 2, or may be determined by a computer other than the server device 1 and each client device 2.

[0051] FIG. 2A schematically illustrates an example of a scene in which the number of learning iterations is determined for each client device 2 in this embodiment. As illustrated in FIG. 2A , in this embodiment, the server device 1 may determine the number of learning iterations for each client device 2 according to the number evaluation index 55. The server device 1 may notify each client device 2 of the number of learning iterations determined for each client device 2. By generating a local model 45 in response to this, each client device 2 may repeat machine learning of the global model 43 the number of learning iterations notified by the server device 1. According to this embodiment, the number of learning iterations for each client device 2 can be centrally controlled by the server device 1. This is expected to simplify management of the number of learning iterations for each client device 2.

[0052] Each client device 2 may provide the server device 1 with information used to determine the number of learning times, such as inference accuracy, computational capability, and communication capability, in any manner. Each client device 2 may transmit the information used to determine the number of learning times directly to the server device 1, or may transmit the information indirectly to the server device 1 via a data server or the like. The data server may include, for example, a NAS (Network Attached Storage). When both the server device 1 and the client device 2 are servers present in a core network, the data server may include, for example, a component in the core network, such as a Network Function (NF) or a Network Repository Function (NRF).

[0053] Furthermore, each client device 2 may provide the server device 1 with information used to determine the number of times of learning at any timing. In one example, each client device 2 may provide the server device 1 with information such as inference accuracy measured during past associative learning (e.g., the previous associative learning). The timing of providing the server device 1 with information measured during past associative learning (information used to determine the number of times of learning) may be determined appropriately depending on the embodiment. For example, each client device 2 may transmit information used to determine the number of times of learning in past associative learning, associated with a local model, to the server device 1. In another example, each client device 2 may transmit information measured during the current (current) associative learning to the server device 1.

[0054] Furthermore, the server device 1 may notify each client device 2 of the number of times of learning at any timing before each client device 2 determines whether to repeat the machine learning. In one example, the server device 1 may notify each client device 2 of the number of times of learning in association with the global model 43. As long as each client device 2 can determine the number of times of learning, the format of the associated notification is not particularly limited and may be determined appropriately depending on the embodiment.

[0055] FIG. 2B schematically illustrates another example of a situation in which the number of learning iterations is determined for each client device 2 in this embodiment. As illustrated in FIG. 2B , in this embodiment, each client device 2 may determine the number of learning iterations according to the number evaluation index 55. That is, each client device 2 may autonomously determine the number of learning iterations for its own device. By generating a local model 45 accordingly, each client device 2 may repeat machine learning of the global model 43 the number of learning iterations determined for its own device. According to this embodiment, the processing load on the server device 1 can be reduced by having each client device 2 autonomously determine the number of learning iterations. Each client device 2 may determine the number of learning iterations based on information obtained during past federated learning, or may determine the number of learning iterations based on information obtained during the current federated learning.

[0056] 3 is a schematic diagram showing an example of the hardware configuration of the server device 1 according to this embodiment. The server device 1 according to this embodiment is a computer in which a control unit 11, a storage unit 12, a communication module 13, an input device 14, an output device 15, and a drive 16 are electrically connected.

[0057] The control unit 11 includes a hardware processor such as a CPU, RAM, ROM (Read Only Memory), and cache memory, and is configured to execute information processing based on programs and various data. The control unit 11 (CPU) is an example of a processor resource. The storage unit 12 may be configured, for example, with a hard disk drive, a solid state drive, or the like. The storage unit 12, RAM, ROM, and cache memory are examples of memory resources. In this embodiment, the storage unit 12 stores various information such as the program 81 and global model information 430.

[0058] The program 81 is a program for causing the server device 1 to execute information processing related to associative learning (see FIG. 7, described below). The program 81 includes a series of instructions for the information processing. The global model information 430 is configured to indicate the global model 43. As long as the global model 43 can be reproduced, the configuration of the global model information 430 is not particularly limited and may be determined appropriately depending on the embodiment. In one example, the global model information 430 may include information indicating values ​​of calculation parameters included in the global model 43. In some cases, the global model information 430 may further include information indicating the configuration of the global model 43 (e.g., the structure of a neural network, etc.).

[0059] The communication module 13 is configured to perform wired or wireless communication via a network. The communication module 13 may be configured, for example, by a wired LAN (Local Area Network) module, a wireless LAN module, etc. The server device 1 may perform data communication with other computers (e.g., each client device 2, etc.) via the communication module 13.

[0060] The input device 14 is a device for inputting, for example, a mouse, a keyboard, etc. The output device 15 is a device for outputting, for example, a display, a speaker, etc. An operator can operate the server device 1 by using the input device 14 and the output device 15. The input device 14 and the output device 15 may be integrally configured, for example, by a touch panel display, etc.

[0061] The drive 16 is a device for reading various information, such as programs, stored in a storage medium 91. At least one of the program 81 and the global model information 430 may be stored in the storage medium 91 instead of or together with the storage unit 12. The storage medium 91 is configured to store various information, such as the stored program, by electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, etc. can read the information. The server device 1 may acquire at least one of the program 81 and the global model information 430 from the storage medium 91. The storage medium 91 may be a disk-type storage medium, such as a CD or DVD, or a non-disk-type storage medium, such as a semiconductor memory (e.g., a flash memory). The type of the drive 16 may be selected appropriately depending on the type of the storage medium 91. The drive 16 may be connected via an external interface.

[0062] Note that, with regard to the specific hardware configuration of the server device 1, components can be omitted, replaced, or added as appropriate depending on the embodiment. For example, the control unit 11 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, FPGA, DSP, ECU, GPU, ASIC, etc. At least one of the input device 14, the output device 15, and the drive 16 may be omitted. The server device 1 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same. The server device 1 may be a computer designed specifically for the services provided, as well as a general-purpose server device, a general-purpose PC, user equipment, etc.

[0063] 4 is a diagram illustrating an example of a hardware configuration of the client device 2 according to this embodiment. The client device 2 according to this embodiment is a computer in which a control unit 21, a storage unit 22, a communication module 23, an input device 24, an output device 25, and a drive 26 are electrically connected.

[0064] The control unit 21 to the drive 26 and the storage medium 92 of the client device 2 may be configured similarly to the control unit 11 to the drive 16 and the storage medium 91 of the server device 1. The control unit 21 (CPU) is an example of a processor resource of the client device 2. The storage unit 22, RAM, ROM, and cache memory are examples of memory resources of the client device 2. In this embodiment, the storage unit 22 stores various information such as the program 82, global model information 430, local data 220, and local model information 450.

[0065] The program 82 is a program for causing the client device 2 to execute information processing related to associative learning (see FIG. 7 described below). The program 82 includes a series of instructions for the information processing. The local model information 450 is configured to indicate the local model 45. As long as the local model 45 can be reproduced, the configuration of the local model information 450 is not particularly limited and may be determined appropriately depending on the embodiment. The local model information 450 may be configured in the same way as the global model information 430. In this embodiment, the local model information 450 (local model 45) can be generated as a result of executing the program 82.

[0066] At least one of the program 82, the global model information 430, and the local data 220 may be stored in a storage medium 92 instead of or together with the storage unit 22. The client device 2 may acquire at least one of the program 82, the global model information 430, and the local data 220 from the storage medium 92. The generated local model information 450 may be saved in the storage medium 92 instead of or together with the storage unit 22.

[0067] The client device 2 may perform data communication with another computer (e.g., the server device 1) via the communication module 23. An operator can operate the client device 2 by using the input device 24 and the output device 25.

[0068] Note that, with regard to the specific hardware configuration of the client device 2, components may be omitted, replaced, or added as appropriate depending on the embodiment. For example, the control unit 21 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, FPGA, DSP, ECU, GPU, ASIC, etc. At least one of the input device 24, the output device 25, and the drive 26 may be omitted. When a sensor is used to collect the local data 220, the client device 2 may be provided with an external interface and may be connected to the sensor via the external interface. The external interface may be configured with, for example, a Universal Serial Bus (USB) port, a dedicated port, etc. The client device 2 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same. The client device 2 may be a computer designed specifically for the service provided, as well as a general-purpose server device, a general-purpose PC, user equipment, etc.

[0069] [Software Configuration] (Server Device) Fig. 5 schematically shows an example of the software configuration of the server device 1 according to this embodiment. The control unit 11 of the server device 1 executes instructions included in the program 81 stored in the storage unit 12 using a CPU. As a result, the server device 1 operates as a computer including a distribution unit 111, a count determination unit 112, a reception unit 113, and an integration processing unit 114 as software modules. That is, in this embodiment, each software module of the server device 1 is realized by the control unit 11 (CPU).

[0070] The distribution unit 111 is configured to distribute various information including the global model 43 (global model information 430) to each client device 2. The number of times determination unit 112 is configured to determine the number of times of learning for each client device 2 in accordance with the number of times evaluation index 55. The receiving unit 113 is configured to receive the local model 45 (local model information 450) from each client device 2. The integration processing unit 114 is configured to generate a new global model 44 by integrating the local models 45 received from each client device 2.

[0071] 6 schematically illustrates an example of the software configuration of the client device 2 according to this embodiment. The control unit 21 of the client device 2 executes instructions included in the program 82 stored in the storage unit 22 using a CPU. As a result, the client device 2 operates as a computer including a receiving unit 211, a data collecting unit 212, a count determining unit 213, a machine learning unit 214, and a model transmitting unit 215 as software modules. That is, in this embodiment, similar to the server device 1, each software module of the client device 2 is also realized by the control unit 21 (CPU).

[0072] The receiving unit 211 is configured to receive various information including the global model 43 (global model information 430) from the server device 1. The data collecting unit 212 is configured to collect local data 220. The number of times determining unit 213 is configured to determine the number of times of learning of the local device according to the number of times evaluation index 55. The machine learning unit 214 is configured to generate a local model 45 by repeating machine learning of the global model 43 using the collected local data 220 the number of times of learning determined according to the number of times evaluation index 55. The model sending unit 215 is configured to send the generated local model 45 (local model information 450) to the server device 1.

[0073] (Other) In this embodiment, an example is described in which each software module of the server device 1 and the client device 2 is implemented by a general-purpose CPU. However, some or all of the software modules may be implemented by one or more dedicated processors or chipsets. Each module may also be implemented as a hardware module.

[0074] Furthermore, with regard to the software configurations of the server device 1 and the client device 2, modules may be omitted, replaced, or added as appropriate depending on the embodiment. For example, if the number of learning times is not determined in the server device 1, the number-of-learning times determination unit 112 may be omitted from the software configuration of the server device 1. If the number of learning times is not determined in the client device 2, the number-of-learning times determination unit 213 may be omitted from the software configuration of the client device 2. If the global model 43 is provided to each client device 2 by a method other than the above, the distribution unit 111 and the reception unit 211 may be omitted from the software configurations of the server device 1 and the client device 2.

[0075] [3 Operation Example] Figure 7 is a sequence diagram showing an example of the processing procedure of federated learning executed between the server device 1 and each client device 2 according to this embodiment. The following processing procedure is an example of an information processing method. However, the following processing procedure is merely an example, and each step may be changed as much as possible. Furthermore, steps in the following processing procedure may be omitted, replaced, or added as appropriate depending on the embodiment.

[0076] In step S11, the control unit 11 of the server device 1 operates as a distribution unit 111 and distributes the global model 43 (global model information 430) to each client device 2. In one example, the control unit 11 may distribute the global model 43 directly to each client device 2, or may distribute it indirectly via a data server or the like. The control unit 11 may distribute the global model 43 to each client device 2 as an active process, or may distribute the global model 43 to each client device 2 in response to a request from each client device 2. In step S21, the control unit 21 of each client device 2 operates as a receiving unit 211 and receives the global model 43 (global model information 430).

[0077] In step S22, the control unit 21 of each client device 2 operates as a data collection unit 212 and collects local data 220. In one example, the local data 220 may be composed of multiple data sets, each of which is composed of a combination of training data and labels. Note that the timing of starting collection of the local data 220 is not limited to this example and may be changed as appropriate depending on the embodiment. In another example, collection of the local data 220 in step S22 may be performed before step S21. Collection of the local data 220 in step S22 may be performed continuously. Furthermore, collection of the local data 220 in step S22 may be performed at least partially in parallel with the processing from step S23 onwards.

[0078] In step S23, the control unit 21 of each client device 2 operates as the machine learning unit 214 and performs machine learning of the global model 43 using the collected local data 220. In one example, the control unit 21 may perform supervised learning of the global model 43 using training data and labels of each dataset. The number (unit) of machine learning operations performed in step S23 may be determined appropriately depending on the embodiment. In a typical example, in step S23, the control unit 21 may perform one machine learning operation. In another example, the control unit 21 may perform two or more machine learning operations at once. The control unit 21 may count the number of times machine learning operations have been performed.

[0079] In step S24, the control unit 21 of each client device 2 determines whether machine learning of the global model 43 using the local data 220 has been performed the number of times of learning determined in accordance with the number of times evaluation index 55. The control unit 21 may determine whether machine learning has been performed the determined number of times of learning by comparing the counted number of times with the number of times determined in accordance with the number of times evaluation index 55.

[0080] If machine learning has not been performed the determined number of times, the control unit 21 returns to step S22 and executes the process again from step S22. This allows the control unit 21 to repeatedly perform machine learning on the global model 43 using the local data 220. By repeating machine learning the determined number of times, the control unit 21 can generate the local model 45. In this process, the control unit 21 may generate the local model information 450 by updating the global model information 430 (i.e., by overwriting the global model information 430 with the values ​​of the calculation parameters obtained by machine learning). Alternatively, the control unit 21 may generate the local model information 450 separately from the global model information 430.

[0081] Note that while machine learning is being repeatedly performed, the control unit 21 may continuously collect the local data 220 in step S22, or may at least partially omit this collection. When omitting the processing of step S22, the control unit 21 may return the processing to step S23 instead of step S22 in response to determining in the conditional branch of step S24 that machine learning has not been performed the determined number of times.

[0082] When repeating machine learning, the control unit 21 may use the same sample of the local data 220 for multiple machine learning runs, or may at least partially change the sample of the local data 220 used for machine learning. That is, the sample of the local data 220 used for the current machine learning run may be the same as the sample of the local data 220 used for the previous machine learning run, or may at least partially differ from it.

[0083] While the machine learning has been performed the determined number of times, a provisional local model 45 can be obtained by the machine learning in step S23. The obtained provisional local model 45 may or may not be used to perform an inference task while the machine learning is being repeated. Whether or not to use the provisional local model 45 may be selected arbitrarily.

[0084] In one example, the number of learning iterations for each client device 2 may be determined by the server device 1. In this case, the control unit 11 of the server device 1 may operate as the number of iterations determination unit 112 and determine the number of learning iterations for each client device 2 according to the number of iterations evaluation index 55. Information indicating the number of iterations evaluation index 55 may be stored in the memory resources of the server device 1 or may be incorporated into the program 81. The control unit 11 may notify each client device 2 of the number of learning iterations determined for each client device 2. The process up to notifying the number of learning iterations may be executed at any timing up to the initial process of step S24. For example, the control unit 11 may notify each client device 2 of the corresponding number of learning iterations together with the distribution of the global model 43 in step S11. In response to this, by generating the local model 45, each client device 2 may repeat machine learning of the global model 43 the number of learning iterations notified by the server device 1.

[0085] In another example, the number of learning iterations of each client device 2 may be determined by each client device 2 itself. In this case, the control unit 21 of each client device 2 may operate as the number of learning iterations determination unit 213 and determine the number of learning iterations of its own device in accordance with the number of learning iterations evaluation index 55. Information indicating the number of learning iterations evaluation index 55 may be stored in the memory resources of each client device 2 or may be incorporated into the program 82. The process of determining the number of learning iterations may be executed at any timing up to the initial processing of step S24. Accordingly, by generating the local model 45, each client device 2 may repeat machine learning of the global model 43 the number of learning iterations determined by its own device.

[0086] In one example, the count evaluation index 55 may include at least one of a first index 551, a second index 552, and a third index 553. When the count evaluation index 55 includes the first index 551, the number of learning iterations may be determined to be greater for a client device 2 that collects local data 220 that results in higher inference accuracy of the global model 43 (i.e., a smaller decrease in inference accuracy) based on the first index 551. In one example, the inference accuracy of the global model 43 may be evaluated according to the loss (error) in machine learning. When the count evaluation index 55 includes the second index 552, the number of learning iterations may be determined to be smaller for a client device 2 with lower computational capabilities based on the second index 552. When the count evaluation index 55 includes the third index 553, the number of learning iterations may be determined to be smaller for a client device 2 with lower communication capabilities based on the third index 553. When machine learning has been performed the determined number of learning iterations, the control unit 21 proceeds to the next step S25.

[0087] In step S25, the control unit 21 of each client device 2 operates as a model sending unit 215 and sends the generated local model 45 (local model information 450) to the server device 1 to integrate it with local models 45 sent from other client devices 2. In one example, the control unit 21 may send the local model 45 directly to the server device 1, or may send it indirectly via a data server or the like. In step S31, the control unit 11 of the server device 1 operates as a receiving unit 113 and receives the local model 45 (local model information 450) from each client device 2.

[0088] In step S32, the control unit 11 of the server device 1 operates as the integration processing unit 114 and integrates the local models 45 received from each client device 2 to generate a new global model 44. In this process, the control unit 11 may update the global model information 430 to indicate the new global model 44, or may generate new global model information indicating the new global model 44 separately from the global model information 430.

[0089] When the generation of the new global model 44 is completed, the processing procedure according to this operation example ends. Note that the server device 1 and each client device 2 may treat the new global model 44 as the global model 43 and repeatedly execute the federated learning process from step S11. Furthermore, the server device 1 may distribute the new global model 44 to any computer, including each client device 2. As a result, the server device 1 may cause any computer to use the new global model 44 to perform an inference task on the any computer.

[0090] [Features] In this embodiment, in steps S22 to S24, the number of times machine learning is executed is defined for each client device 2 using a count evaluation index 55. This makes it possible to control the number of times machine learning is executed for each client device 2. This control of the number of times makes it possible to improve the efficiency of federated learning.

[0091] [4 Modifications] Although the embodiments of the present disclosure have been described in detail above, the above description is merely an example of the present disclosure in every respect. The processes and means described in the present disclosure can be freely combined and implemented as long as no technical contradictions arise. Furthermore, various improvements or modifications may be made to the above embodiments as appropriate. For example, the following modifications are possible. Note that, in the following, the same reference numerals are used for components similar to those in the above embodiments, and descriptions of the same points as those in the above embodiments are omitted as appropriate. The following modifications can be combined as appropriate.

[0092] <4.1> In the above embodiment, not all client devices 2 necessarily have to participate in federated learning. Whether each client device 2 participates in federated learning may be determined by any method. In one example, each client device 2 (operator) may freely decide whether to participate in federated learning. Furthermore, similar to the number of learning sessions described above, an index may be provided for determining whether to participate in federated learning. In this case, whether each client device 2 participates in federated learning may be determined according to the provided index.

[0093] FIG. 8 schematically illustrates another example of a scenario to which the present disclosure is applied. In this first modification, two or more client devices 2 are provided. A participation evaluation value 569 is calculated for each of the two or more client devices 2 according to the participation evaluation index 56. The multiple client devices 2 participating in the federated learning may be selected from among the two or more client devices 2 according to the calculated participation evaluation value. All of the two or more client devices 2 may participate in the federated learning, or only some of the two or more client devices 2 may participate in the federated learning. Not participating in the federated learning (excluding a client device from the federated learning) may be equivalent to setting the number of learning attempts to 0. Therefore, similar to the above embodiment, the first modification can also be expected to improve the efficiency of the federated learning.

[0094] (Participation Evaluation Index) The participation evaluation index 56 may be appropriately defined so that a client device 2 that is likely to generate a local model 45 that is suitable for updating the global model 43 (i.e., such that the performance of the new global model 44 generated by the integration will be improved) is selected. As shown in Fig. 8 , in one example, the participation evaluation index 56 may include at least one of a first index 561, a second index 562, and a third index 563. The participation evaluation index 56 may be defined to be the same as the number of times evaluation index 55, or may be defined to be at least partially different from the number of times evaluation index 55.

[0095] The first index 561 is an index for evaluating the inference accuracy of the global model 43 for the local data 220 collected in each of two or more client devices 2. The first index 561 may be defined in the same way as the first index 551 of the count evaluation index 55. The first index 561 may be defined using the same criteria as the first index 551 of the count evaluation index 55, or using different criteria (e.g., criteria such as the loss that are not selected for the first index 551). The more local data 220 collected in a client device 2 reduces the inference accuracy of the global model 43 (i.e., the greater the decrease in inference accuracy), the more samples the local data 220 may contain that are insufficient for training the global model 43. Therefore, the participation evaluation value 569 may be calculated according to the first index 561 such that the lower the inference accuracy of the global model 43 for the collected local data 220, the more likely the client device 2 is to be selected as a participant, and the higher the inference accuracy of the global model 43 for the local data 220, the less likely the client device 2 is to be selected as a participant. Similar to the first index 551, the inference accuracy of the global model 43 may be evaluated according to the loss (error) in machine learning. That is, the participation evaluation value 569 may be the loss itself in machine learning, or may be a value calculated according to the loss.

[0096] The second index 562 is an index for evaluating the computational capabilities of each of two or more client devices 2. The second index 562 may be defined in the same way as the second index 552 of the count evaluation index 55. The second index 562 may be defined using the same criteria as the second index 552 of the count evaluation index 55, or using different criteria (e.g., criteria such as the performance of the computational resources that are not selected for the second index 552). The higher the computational capabilities of the client device 2, the faster the local model 45 can be generated, thereby increasing the probability of successfully uploading the local model 45 within the timeout period. In addition, the time required to aggregate the local model 45 on the server device 1 can be reduced. Therefore, the participation evaluation value 569 may be calculated according to the second index 562 so that the higher the computational capabilities of the client device 2, the more likely the client device 2 is to be selected as a participant, and the lower the computational capabilities of the client device 2, the less likely the client device 2 is to be selected as a participant.

[0097] The third index 563 is an index for evaluating the communication capabilities of each of the two or more client devices 2. The third index 563 may be defined in the same way as the third index 553 of the number evaluation index 55. The third index 563 may be defined using the same criteria as the third index 553 of the number evaluation index 55, or using different criteria (e.g., criteria such as the performance of the communication module or other criteria for the performance of the computational resources that are not selected for the third index 553). The higher the communication capabilities of the client devices 2, the more likely it is that the client device 2 will be selected as a participant, and the lower the communication capabilities of the client device 2, the less likely it is that the client device 2 will be selected as a participant. The participation evaluation value 569 may be calculated according to the third index 563.

[0098] The participation evaluation index 56 may be expressed by any method, such as a rule base or a function formula. For example, when the participation evaluation index 56 includes a first index 561, a second index 562, and a third index 563, the participation evaluation index 56 may be expressed by a function formula having, as variables, a value related to inference accuracy, a value related to computational capability, and a value related to communication capability. The participation evaluation value 569 may be calculated by substituting the values ​​of each index (561, 562, 563) into the function formula and performing arithmetic processing of the function formula. The values ​​of the coefficients of the terms of each index (561, 562, 563) and the constant term may be set as appropriate.

[0099] In one example, the participation evaluation index 56 may be expressed by the same calculation as the number of times evaluation index 55. That is, the number of times of learning determined for each client device 2 may be used as the participation evaluation value 569 for each client device 2. In another example, the participation evaluation index 56 may be expressed by a calculation different from that of the number of times evaluation index 55. That is, the participation evaluation value 569 may be calculated separately from the number of times of learning. According to one example, the participation evaluation index 56 includes at least one of the first index 561, the second index 562, and the third index 563, thereby making it possible to improve the efficiency of federated learning in terms of at least one of improving the performance of the global model and the time required for aggregation.

[0100] (Entity Determining Whether to Participate) An entity that determines whether to allow each client device 2 to participate in the federated learning (whether to select it as a participant) may be selected appropriately depending on the embodiment. Whether to allow a client device 2 to participate in the federated learning may be determined by either the server device 1 or the client device 2, or by a computer other than the server device 1 and the client device 2.

[0101] In one example, the server device 1 may determine whether to allow each client device 2 to participate in federated learning. As an example of a method of determination, two or more client devices 2 may each calculate a participation evaluation value 569. Each of the two or more client devices 2 may transmit the calculated participation evaluation value 569 to the data server DS. The data server DS may be located anywhere. For example, if the server device 1 and the client devices 2 are servers located within a core network, the data server DS may be a component within the core network, such as an NF. The server device 1 may select multiple client devices 2 from the two or more client devices 2 based on the participation evaluation values ​​569 stored in the data server DS. The server device 1 may send an instruction to each of the selected client devices 2 to generate a local model 45. The selected client devices 2 may generate a local model 45 and transmit the generated local model 45 to the server device 1 in response to an instruction from the server device 1. According to this example, the server device 1 can control the client devices 2 participating in federated learning.

[0102] The method by which the server device 1 determines the client devices 2 to participate in the federated learning is not limited to this example and may be modified as appropriate depending on the embodiment. In another example, each client device 2 may transmit the participation evaluation value 569 directly to the server device 1 without going through the data server DS. In this case, the data server DS may be omitted. In another example, the server device 1 may calculate the participation evaluation value 569 of each client device 2. In this case, each client device 2 may transmit information used to calculate the participation evaluation value 569 to the server device 1 directly or indirectly via the data server DS or the like. Furthermore, a client device 2 that receives an instruction (participation request) does not necessarily have to participate in the federated learning. Each of the selected client devices 2 may decide whether to accept the instruction from the server device 1. Whether to accept the instruction may be selected by any method, such as an operator's operation. If the client device 2 decides to accept the instruction, it may generate a local model 45 and transmit the generated local model 45 to the server device 1.

[0103] In another example, each client device 2 may determine whether to participate in federated learning. As an example of a method of determination, each of two or more client devices 2 may calculate its own participation evaluation value 569 according to the participation evaluation index 56. Each of the two or more client devices 2 may transmit its calculated participation evaluation value 569 to one or more other client devices 2. Furthermore, each of the two or more client devices 2 may receive the participation evaluation value 569 calculated by each of the one or more other client devices 2 from the one or more other client devices 2. The transmission and reception of the participation evaluation value 569 may be performed directly using any data communication method, or indirectly via another computer such as a data server DS. When using data communication, each client device 2 may exchange the participation evaluation value 569 directly using short-range wireless communication such as Wi-Fi (registered trademark), Bluetooth (registered trademark), or D2D, or may exchange the participation evaluation value 569 via a network using other data communication. Each of the two or more client devices 2 may determine whether its own rating is high or low by comparing its own calculated participation rating value 569 with the participation rating values ​​569 received from each of the one or more other client devices 2. The criteria for determining whether a rating is high or low may be determined appropriately depending on the embodiment. In a simple example, a client device 2 may determine that its own rating is high if the rating indicated by its own participation rating value 569 is higher than the participation rating value 569 of one other client device 2. A client device 2 may determine that its own rating is low if the rating indicated by its own participation rating value 569 is lower than the participation rating values ​​569 of all other client devices 2. Then, a client device 2 determined to have a high rating may decide to participate in federated learning. That is, among the two or more client devices 2, a client device 2 determined to have a high rating may generate a local model 45 and transmit the generated local model 45 to the server device 1. According to this example, each client device 2 can control whether or not to participate in federated learning by itself.

[0104] Note that the method for determining whether or not a client device 2 itself will participate in federated learning is not limited to this example and may be modified as appropriate depending on the embodiment. In another example, each client device 2 may determine whether or not to participate in federated learning depending on whether its own participation evaluation value 569 satisfies a given criterion (e.g., threshold comparison), without exchanging participation evaluation values ​​569 with other client devices 2.

[0105] (Software Configuration) Figure 9 schematically shows an example of the software configuration of the server device 1 according to the first modified example. The server device 1 according to the first modified example may operate as a computer further including a rating acquisition unit 1101 and a client selection unit 1102 as software modules by executing instructions included in the program 81 using a CPU. The rating acquisition unit 1101 may be configured to acquire the participation rating value 569 of each of two or more client devices 2 from the data server DS or to acquire it directly from each of the two or more client devices 2. The client selection unit 1102 may be configured to select multiple client devices 2 from the two or more client devices 2 according to the acquired participation rating values ​​569.

[0106] 10 schematically illustrates an example of the software configuration of the client device 2 according to the first modification. The client device 2 according to the first modification may operate as a computer further including an evaluation calculation unit 2101 and an evaluation transmission unit 2102 as software modules by executing instructions included in the program 82 using a CPU. The evaluation calculation unit 2101 may be configured to calculate a participation evaluation value 569 of the client device 2 according to the participation evaluation index 56. The evaluation transmission unit 2102 may be configured to transmit the calculated participation evaluation value 569 to the data server DS or directly to the server device 1.

[0107] As in the above embodiment, the first modification describes an example in which each software module of the server device 1 and the client device 2 is implemented by a general-purpose CPU. However, some or all of the software modules may be implemented by one or more dedicated processors or chipsets. Each module may be implemented as a hardware module. Furthermore, with regard to the software configuration of the server device 1 and the client device 2, modules may be omitted, replaced, or added as appropriate depending on the embodiment. For example, if the client device 2 itself determines whether to participate in federated learning, the evaluation acquisition unit 1101 and the client selection unit 1102 may be omitted from the software configuration of the server device 1. If the server device 1 calculates the participation evaluation value 569, the evaluation calculation unit 2101 may be omitted from the software configuration of each client device 2. The evaluation transmission unit 2102 may be configured to transmit information used to calculate the participation evaluation value 569 to the server device 1 directly or indirectly via a data server DS or the like. The evaluation acquisition unit 1101 of the server device 1 may be configured to calculate the participation evaluation value 569 of each client device 2 based on information obtained from each client device 2.

[0108] (Operation Example) Figure 11 is a sequence diagram showing an example of the processing procedure of federated learning executed between the server device 1 and each client device 2 according to the first modified example. The following processing procedure is another example of an information processing method. However, the following processing procedure is merely an example, and each step may be modified as much as possible. Furthermore, steps in the following processing procedure may be omitted, replaced, or added as appropriate depending on the embodiment.

[0109] In step S011, the control unit 21 of each of the two or more client devices 2 operates as an evaluation calculation unit 2101 and calculates a participation evaluation value 569 of the respective device in accordance with the participation evaluation index 56. In step S012, the control unit 21 operates as an evaluation transmission unit 2102 and transmits the calculated participation evaluation value 569 to the data server DS. In step S013, the data server DS stores the participation evaluation values ​​569 received from each of the two or more client devices 2.

[0110] In step S021, the control unit 11 of the server device 1 operates as the evaluation acquisition unit 1101 and transmits a request to the data server DS for providing a participation evaluation value 569. In step S022, the data server DS provides the participation evaluation value 569 of each of the two or more client devices 2 to the server device 1 in response to the request from the server device 1. In step S023, the control unit 11 of the server device 1 operates as the evaluation acquisition unit 1101 and acquires the participation evaluation value 569 of each of the two or more client devices 2 from the data server DS.

[0111] In step S024, the control unit 11 operates as a client selection unit 1102 and selects multiple client devices 2 from two or more client devices 2 according to the acquired participation evaluation value 569. In step S025, the control unit 11 operates as a distribution unit 111 and transmits an instruction to generate a local model 45 to each of the selected client devices 2. In one example, the process of step S11 in the above embodiment may also serve as the process of step S025. That is, transmitting the instruction to generate the local model 45 may be configured by distributing the global model 43. In response, each of the selected client devices 2 may perform the processes from step S21 onwards. In another example, the process of step S025 may be performed separately from the process of step S11. The control unit 11 of the server device 1 may perform the process of step S11 before or after step S025. After receiving the instruction and the global model 43, each of the selected client devices 2 may perform the processes from step S22 onwards. By executing the processes up to step S32, a new global model 44 can be generated from the local models 45 obtained in each of the selected client devices 2. This completes the processing procedure according to this operation example.

[0112] The above processing procedure of the first modified example may be modified as appropriate depending on the embodiment. For example, if each client device 2 transmits the participation evaluation value 569 directly to the server device 1, the processing of step S012 may be executed for the server device 1. Accordingly, the processing of steps S013, S021, and S022 may be omitted, and the server device 1 may store the participation evaluation value 569 received from each client device 2 in any storage area (such as the memory resources of its own device or the memory resources of another computer).

[0113] Furthermore, for example, when each client device 2 determines whether or not to participate in federated learning by itself, the processes of steps S021 to S025 may be omitted. In one example, the control unit 21 of the client device 2 may transmit the participation evaluation value 569 of its own device to the other client devices 2 via steps S012 and S013. Alternatively, step S013 may be further omitted, and the control unit 21 may transmit the participation evaluation value 569 of its own device directly to the other client devices 2 in step S012. The control unit 21 may receive the participation evaluation value 569 of the other client devices 2 from the other client devices 2 before or after the process of step S011. Alternatively, the control unit 21 may receive the participation evaluation value 569 of the other client devices 2 from the other client devices 2 at least partially in parallel with the process of step S011. The control unit 21 may acquire the participation evaluation value 569 of the other client device 2 via the data server DS or the like after the other client device 2 has performed the processes of steps S012 and S013, or may acquire the participation evaluation value 569 directly from the other client device 2. The control unit 21 may determine whether its own evaluation is high or low by comparing the calculated participation evaluation value 569 of its own device with the participation evaluation values ​​569 received from one or more other client devices 2. The control unit 21 of a client device 2 that has determined its own evaluation to be high may decide to participate in federated learning. In this case, the processes of steps S11 and S21 may be executed before or after the process of determining whether to participate in federated learning. The processes of steps S11 and S21 may be executed at least partially in parallel with the process of determining whether to participate in federated learning. The processes of steps S11 and S21 may be executed independently of the process of determining whether to participate in federated learning. After determining to participate in federated learning, the control unit 21 of the client device 2 may execute the processes from step S22 onward. In another example, the processing of steps S012 and S013 may be further omitted, and the control unit 21 of the client device 2 may decide whether or not to participate in the federated learning depending on whether or not the calculated participation evaluation value 569 satisfies a given criterion.The control unit 21 of the client device 2 that has decided to participate in the federated learning may execute the processes from step S22 onwards.

[0114] Also, for example, if the participation evaluation value 569 is calculated by the server device 1, the processes of steps S011 to S013 and steps S021 to S023 may be omitted. The control unit 11 of the server device 1 may operate as an evaluation acquisition unit 1101, acquire information from each client device 2, and calculate the participation evaluation value 569 from the acquired information. The control unit 11 may acquire the information used to calculate the participation evaluation value 569 via a data server DS or the like, as in the processes of steps S012 to S023 above, or may acquire the information directly from each client device 2. After calculating the participation evaluation value 569 of each client device 2, the control unit 11 may execute the processes of step S024 and onward.

[0115] Furthermore, for example, after the processing of step S025, the control unit 21 of each selected client device 2 may decide whether or not to approve the instruction from the server device 1. If it is decided to approve the instruction, the control unit 21 of the client device 2 may execute the processing of step S22 and subsequent steps.

[0116] <4.2> In the above embodiment, the information processing system is configured to have a two-tier structure consisting of the server device 1 and the client device 2. However, the configuration of the information processing system is not limited to this example. The information processing system may be configured to have a three-tier or more tier structure.

[0117] When an information processing system has a three- or more-tiered structure and performs the federated learning hierarchically, problems related to the federated learning may also occur in a computer (lower-level server device) located between the highest-level computer (upper-level server device) and the lowest-level computer (client device). Therefore, the number of model updates may be controlled in the lower-level server device, similar to the number of learning times for the client device 2 in the above embodiment.

[0118] 12 is a diagram illustrating another example of a situation to which the present disclosure is applied. In this second modification, the information processing system includes an upper server 3, a plurality of lower server 1A, and a plurality of client devices 2 each belonging to the plurality of lower server 1A. That is, in the example of FIG. 12, the information processing system is configured to have a three-tier structure.

[0119] The upper server 3 is one or more computers configured to provide the upper global model 40. The upper server 3 is configured to be able to communicate with each of the multiple lower server devices 1A, thereby connecting to each of the multiple lower server devices 1A.

[0120] The lower server device 1A is one or more computers configured to generate a new lower global model 44A by updating the upper global model 40 within its jurisdiction. The lower server device 1A corresponds to the above-mentioned server device 1. The hardware and software configurations of the lower server device 1A may be configured similarly to those of the above-mentioned server device 1. In the second modified example, for the sake of convenience, it is assumed that the lower server device 1A has the same hardware configuration as the above-mentioned server device 1. Each lower server device 1A is provided with multiple client devices 2. Each lower server device 1A is configured to be able to communicate with the upper server device 3 and each of the multiple client devices 2 belonging to it. As a result, each lower server device 1A is connected to the upper server device 3 and each of the multiple client devices 2 belonging to it.

[0121] The client device 2 is one or more computers configured to generate a local model 45 by localizing a lower-level global model 43A provided by the lower-level server device 1A. The lower-level global models (43A, 44A) correspond to the global models (43, 44) in the above embodiment. The client device 2 is configured to be able to communicate with the lower-level server device 1A to which it belongs. This allows the client device 2 to connect to the lower-level server device 1A to which it belongs. The number of client devices 2 belonging to each lower-level server device 1A may be at least partially the same, or may be entirely different.

[0122] The upper server 3 may provide the upper global model 40 to each lower server 1A at any timing. Each of the multiple lower server devices 1A, together with the multiple client devices 2 belonging to it, repeatedly executes the update process of the lower global model 43A the number of updates determined in accordance with the server evaluation index 51, thereby generating a new lower global model 44A. The update process may be similar to the global model update process performed by the server 1 and the multiple client devices 2 in the above embodiment. That is, each of the multiple lower server devices 1A distributes the lower global model 43A to the multiple client devices 2 belonging to it. For each lower server device 1A, each of the multiple client devices 2 collects local data 220. For each lower server device 1A, each of the multiple client devices 2 repeats machine learning of the lower global model 43A using the collected local data 220 the number of learning times determined in accordance with the count evaluation index 55, thereby generating a local model 45. For each lower server device 1A, each of the multiple client devices 2 transmits the generated local model 45 to the subordinate lower server 1A. Each of the multiple lower-level server devices 1A receives a local model 45 from each of the multiple client devices 2 belonging to the server. Each of the multiple lower-level server devices 1A generates a new lower-level global model 44A by integrating the local models 45 received from each of the multiple client devices 2 belonging to the server. The update process may be repeated a number of times determined in accordance with the server evaluation index 51, including the delivery of the lower-level global model 43A by each of the multiple lower-level server devices 1A, the generation of a local model 45 by each of the multiple client devices 2 for each lower-level server device 1A, the transmission of the generated local model 45 by each of the multiple client devices 2 to its associated lower-level server device 1A, and the generation of a new lower-level global model 44A by each of the multiple lower-level server devices 1A. In the initial update process, each of the multiple lower-level server devices 1A may deliver the higher-level global model 40 as the lower-level global model 43A to each of the multiple client devices 2 belonging to the server.In the second and subsequent update processes, each of the plurality of lower-level server devices 1A may distribute the new lower-level global model 44A as the lower-level global model 43A to each of the plurality of client devices 2 belonging to it.

[0123] After repeating the update process the determined number of times, each of the multiple lower server devices 1A transmits the generated new lower global model 44A to the upper server device 3. The upper server device 3 generates a new upper global model 41 by integrating the new lower global models 44A received from each of the multiple lower server devices 1A. This completes a series of information processing steps for federated learning in the second modified example. This federated learning is expected to improve the performance of the upper global model (i.e., the performance of the new upper global model 41 exceeds that of the original upper global model 40). According to the second modified example, in addition to controlling the number of learning times using the number evaluation index 55, the number of updates of the lower global model 43A for each lower server device 1A can be controlled using the server evaluation index 51. This is expected to improve the efficiency of federated learning.

[0124] (Each Device) In the second modified example, multiple client devices 2 are assigned to each subordinate server device 1A. The client devices 2 generate local models 45 in the subordinate server device 1A. The subordinate server device 1A generates a new subordinate global model 44A by integrating the local models 45 obtained from each of the subordinate client devices 2. The superior server device 3 generates a new superior global model 41 by integrating the new subordinate global models 44A obtained from each of the subordinate server devices 1A. As long as these relationships are established, the superior server device 3, the subordinate server device 1A, and the client devices 2 may each be configured by any computer.

[0125] The upper server device 3 may be, for example, a server device existing within the core network, a server device existing outside the core network, user equipment, etc. In one example, the upper server device 3 may be a cloud server. The lower server device 1A may be an edge server. The client device 2 may be user equipment. In another example, the upper server device 3 may be a first server device existing within the core network. The lower server device 1A may be a second server device existing within the core network. The second server device is a server device other than the first server device. The client device 2 may be a third server device existing within the core network. The third server device is a server device other than the first server device and the second server device. In this case, the second server device of the second modified example corresponds to the first server device in the example of the above embodiment, and the third server device of the second modified example corresponds to the second server device in the example of the above embodiment.

[0126] (Server Evaluation Index) The server evaluation index 51 may be appropriately defined to promote the efficiency of federated learning, similar to the number evaluation index 55. As shown in Fig. 12, the server evaluation index 51 may include at least one of a first index 511, a second index 512, and a third index 513.

[0127] The first index 511 is an index for evaluating the inference accuracy of the lower global model 43A (upper global model 40) for the local data 220 collected by each of the plurality of client devices 2 belonging to the server. The first index 511 of the server evaluation index 51 may be defined similarly to the first index 551 of the number evaluation index 55, except that the first index 511 is targeted at each of the client devices 2 belonging to the server. The number of updates may be determined so that it is greater for a lower server device 1A collected by the plurality of client devices 2 to which the local data 220 belongs, the higher the inference accuracy of the lower global model 43A (the smaller the decrease in inference accuracy), according to the first index 511. In other words, the number of updates may be determined so that it is less for a lower server device 1A collected by the plurality of client devices 2 to which the local data 220 belongs, the lower the inference accuracy of the lower global model 43A (the larger the decrease in inference accuracy), according to the first index 511.

[0128] The inference accuracy of the lower global model 43A may be evaluated in a manner similar to the inference accuracy of the global model 43 in the above embodiment. In one example, the inference accuracy of the lower global model 43A may be evaluated according to the sum of losses of the lower global model 43A relative to the local data 220 in machine learning of each of the multiple client devices 2. The sum of losses may be calculated, for example, by a simple average, a weighted average, a simple sum, a weighted sum, or the like. A larger loss corresponds to lower inference accuracy, and a smaller loss corresponds to higher inference accuracy. Therefore, the first index 511 may be defined to determine the number of updates so that the larger the calculated sum of losses, the fewer the number of updates, and the smaller the calculated sum of losses, the more the number of updates. Including the first index 511 in the server evaluation index 51 can facilitate improving the inference accuracy of the higher global model through integration.

[0129] The second index 512 is an index for evaluating the computational capability of the lower server device 1A. Except for the fact that the second index 512 of the server evaluation index 51 is targeted at the lower server device 1A, it may be defined in the same way as the second index 552 of the number evaluation index 55. The number of updates may be determined by the second index 512 so that the lower the computational capability of the lower server device 1A, the fewer the number of updates. In other words, the number of updates may be determined by the second index 512 so that the higher the computational capability of the lower server device 1A, the greater the number of updates. By including the second index 512 in the server evaluation index 51, it is possible to adjust the time required to integrate the lower global model 44A, and reduce delays caused by lower server devices 1A with low computational capability.

[0130] The third index 513 is an index for evaluating the communication capability of the lower server device 1A. Except for the fact that the target is the lower server device 1A, the third index 513 of the server evaluation index 51 may be defined in the same way as the third index 553 of the count evaluation index 55. The number of updates may be determined by the third index 513 so that the lower the communication capability of the lower server device 1A, the fewer the number of updates. In other words, the number of updates may be determined by the third index 513 so that the higher the communication capability of the lower server device 1A, the greater the number of updates. By including the third index 513 in the server evaluation index 51, it is possible to adjust the time required to integrate the lower global model 44A and reduce delays caused by lower server devices 1A with low communication capabilities.

[0131] Like the count evaluation index 55, the server evaluation index 51 may be expressed by any method, such as a rule base or a function expression. In one example, the server evaluation index 51 may be expressed by a function expression. When the server evaluation index 51 includes the first index 511, the second index 512, and the third index 513, the number of updates of the lower-level server device 1A may be calculated by substituting a value related to inference accuracy, a value related to calculation capacity, and a value related to communication capacity into the function expression and executing an arithmetic process of the function expression. The coefficients of the terms of each index (511, 512, 513) and the value of the constant term may be set appropriately.

[0132] (Entity that determines the number of updates) The entity that determines the number of updates for each lower server 1A is not particularly limited and may be selected appropriately depending on the embodiment. The number of updates for the lower server 1A may be determined by either the upper server 3 or the lower server 1A, or by a computer other than the upper server 3 or the lower server 1A.

[0133] FIG. 13A schematically illustrates an example of a scene in which the number of updates is determined for each lower-level server device 1A in the second modified example. As shown in FIG. 13A , in this example of the second modified example, the upper server device 3 may determine the number of updates for each of the multiple lower-level server devices 1A in accordance with the server evaluation index 51. The upper server device 3 may notify each of the multiple lower-level server devices 1A of the number of updates determined for each of the multiple lower-level server devices 1A. In response, a new lower-level global model 44A may be generated. Each of the multiple lower-level server devices 1A may then repeatedly execute the update process for the lower-level global model 43A together with its multiple client devices 2 for the number of updates notified by the upper server device 3. According to this example, the number of updates for each lower-level server device 1A can be centrally controlled by the upper server device 3. This is expected to simplify management of the number of updates for each lower-level server device 1A.

[0134] As in the case of the number of learning times in the above embodiment, each lower server 1A may provide the information used to determine the number of updates, such as inference accuracy, calculation capacity, and communication capacity, to the upper server 3 in any manner. Each lower server 1A may transmit the information used to determine the number of updates to the upper server 3 directly, or may transmit it indirectly via a data server or the like. When the upper server 3 and the lower server 1A are both servers located within a core network, the data server may include a component within the core network, such as an NF.

[0135] Furthermore, each lower-level server 1A may provide the upper-level server 3 with information used to determine the number of updates at any timing. In one example, each lower-level server 1A may provide the upper-level server 3 with information such as inference accuracy measured during past federated learning (e.g., the previous federated learning). The timing for providing the information measured during past federated learning to the upper-level server 3 may be determined appropriately depending on the embodiment. For example, each lower-level server 1A may transmit information used to determine the number of updates to the upper-level server 3 in past federated learning, in association with the lower-level global model. In another example, each lower-level server 1A may provide the upper-level server 3 with information measured during the current (current) federated learning.

[0136] Furthermore, the upper server 3 may notify each lower server 1A of the number of updates at any timing before each lower server 1A determines whether or not to repeat the execution of the update process. In one example, the upper server 3 may notify each lower server 1A of the number of updates in association with the upper global model 40. As long as the lower server 1A can determine the number of updates, the format for notifying the number of updates in association is not particularly limited and may be determined appropriately depending on the embodiment.

[0137] FIG. 13B schematically illustrates another example of a scene in which the number of updates is determined for each lower-level server device 1A in the second modified example. As shown in FIG. 13B , in this example of the second modified example, each lower-level server device 1A may determine the number of updates according to the server evaluation index 51. That is, each lower-level server device 1A may autonomously determine its own number of updates. Accordingly, by generating a new lower-level global model 44A, each of the multiple client devices 2 may repeatedly execute the update process for the lower-level global model 43A together with the multiple client devices 2 belonging to it for the number of updates determined by the client device. According to this example, having each lower-level server device 1A autonomously determine the number of updates reduces the processing load on the upper-level server device 3. Each lower-level server device 1A may determine the number of updates based on information obtained during a past federated learning session, or may determine the number of updates based on information obtained during the current federated learning session.

[0138] 14 is a schematic diagram showing an example of the hardware configuration of the host server 3 according to the second modification. The host server 3 according to the second modification is a computer in which a control unit 31, a storage unit 32, a communication module 33, an input device 34, an output device 35, and a drive 36 are electrically connected.

[0139] The control unit 31 to the drive 36 and the storage medium 93 of the upper server device 3 may be configured in the same manner as the control unit 11 to the drive 16 and the storage medium 91 of the server device 1 (lower server device 1A), respectively. The control unit 31 (CPU) is an example of a processor resource of the upper server device 3. The storage unit 32, RAM, ROM, and cache memory are examples of memory resources of the upper server device 3. In the second modified example, the storage unit 32 stores various information such as the program 83 and upper global model information 400.

[0140] The program 83 is a program for causing the upper server device 3 to execute information processing related to associative learning (see FIG. 17 , described later). The program 83 includes a series of instructions for the information processing. The upper global model information 400 is configured to represent the upper global model 40. As long as the upper global model 40 can be reproduced, the configuration of the upper global model information 400 is not particularly limited and may be determined appropriately depending on the embodiment. The upper global model information 400 may be configured similarly to the local model information 450, etc. At least one of the program 83 and the upper global model information 400 may be stored in a storage medium 93 instead of or together with the storage unit 32. The upper server device 3 may acquire at least one of the program 83 and the upper global model information 400 from the storage medium 93.

[0141] The upper server 3 may perform data communication with other computers (e.g., the lower server 1A) via the communication module 33. An operator can operate the upper server 3 by using the input device 34 and the output device 35.

[0142] Note that, with regard to the specific hardware configuration of the host server device 3, components can be omitted, replaced, or added as appropriate depending on the embodiment. For example, the control unit 31 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, FPGA, DSP, ECU, GPU, ASIC, etc. At least one of the input device 34, the output device 35, and the drive 36 may be omitted. The host server device 3 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same. The host server device 3 may be a computer designed specifically for the services provided, as well as a general-purpose server device, a general-purpose PC, user equipment, etc.

[0143] (Software Configuration) Fig. 15 shows a schematic diagram of an example of the software configuration of the host server 3 according to the second modification. The control unit 31 of the host server 3 executes instructions contained in the program 83 stored in the storage unit 32 using the CPU. As a result, the host server 3 operates as a computer having a distribution unit 311, an update count determination unit 312, a reception unit 313, and an integration processing unit 314 as software modules. That is, in the second modification, as in the above embodiment, each software module of the host server 3 is also realized by the control unit 31 (CPU).

[0144] The distribution unit 311 is configured to distribute various information including the higher-level global model 40 (higher-level global model information 400) to each lower-level server device 1A. The update count determination unit 312 is configured to determine the number of updates corresponding to each lower-level server device 1A in accordance with the server evaluation index 51. The reception unit 313 is configured to receive the lower-level global model 44A (lower-level global model information) from each lower-level server device 1A. The integration processing unit 314 is configured to generate a new higher-level global model 41 by integrating the lower-level global models 44A received from each lower-level server device 1A.

[0145] 16 schematically shows an example of the software configuration of a lower-level server device 1A according to the second modified example. The lower-level server device 1A according to the second modified example may operate as a computer further including an update count determination unit 115 and a model transmission unit 116 as software modules by executing instructions included in a program 81 using a CPU. The update count determination unit 115 may be configured to determine the number of updates for the server device itself in accordance with the server evaluation index 51. The model transmission unit 116 may be configured to repeat the execution of the update process the determined number of times, and then transmit the resulting new lower-level global model 44A to the upper-level server device 3.

[0146] As in the above embodiment, the second modification describes an example in which each software module is implemented by a general-purpose CPU. However, some or all of the software modules may be implemented by one or more dedicated processors or chipsets. Each module may be implemented as a hardware module. Furthermore, with regard to the software configurations of the upper server 3, the lower server 1A, and the client device 2, modules may be omitted, replaced, or added as appropriate depending on the embodiment. For example, if the upper server 3 determines the number of updates for each lower server 1A, the update count determination unit 115 may be omitted from the software configuration of the lower server 1A. If the lower server 1A determines the number of updates, the update count determination unit 312 may be omitted from the software configuration of the upper server 3.

[0147] (Operation Example) Figure 17 is a sequence diagram showing an example of the processing procedure of federated learning executed among the upper server device 3, the lower server device 1A, and the client device 2 according to the second modified example. The following processing procedure is another example of an information processing method. However, the following processing procedure is merely an example, and each step may be modified as much as possible. Furthermore, steps in the following processing procedure may be omitted, replaced, or added as appropriate depending on the embodiment.

[0148] In step S1, the control unit 31 of the upper server device 3 operates as a distribution unit 311 and distributes the upper global model 40 (upper global model information 400) to each lower server device 1A. In one example, the control unit 31 may distribute the upper global model 40 to each lower server device 1A directly, or indirectly via a data server or the like. The control unit 31 may distribute the upper global model 40 to each lower server device 1A as an active process, or may distribute the upper global model 40 to each lower server device 1A in response to a request from each lower server device 1A. In step S10, the control unit 21 of each lower server device 1A operates as a receiving unit 211 and receives the upper global model 40 (upper global model information 400).

[0149] The processes of steps S11 to S32 may be executed in the same manner as in the above embodiment, except that the global model 43 is replaced with the lower global model 43A. In step S11, the control unit 11 of each lower server device 1A operates as the distribution unit 111 and distributes the upper global model 40 as the lower global model 43A to each client device 2 belonging to the lower server device 1A. In step S21, the control unit 21 of each client device 2 belonging to each lower server device 1A operates as the receiving unit 211 and receives the lower global model 43A (lower global model information). In step S22, the control unit 21 of each client device 2 belonging to each lower server device 1A operates as the data collection unit 212 and collects local data 220. In step S23, the control unit 21 of each client device 2 belonging to each lower server device 1A operates as the machine learning unit 214 and performs machine learning of the lower global model 43A using the collected local data 220. In step S24, for each client device 2 belonging to the lower server device 1A, the control unit 21 determines whether machine learning of the lower global model 43A using the local data 220 has been performed the number of times of learning determined in accordance with the number of times evaluation index 55. If machine learning has not been performed the determined number of times of learning, the control unit 21 returns to step S22 and executes the process again from step S22. By repeating machine learning the determined number of times of learning, the control unit 21 can generate a local model 45. If machine learning has been performed the determined number of times of learning, the control unit 21 proceeds to the next step S25. In step S25, for each client device 2 belonging to the lower server device 1A, the control unit 21 operates as a model transmission unit 215 and transmits the generated local model 45 (local model information 450) to the associated lower server device 1A to integrate it with local models 45 transmitted from other client devices 2. In step S31, the control unit 11 of each lower-level server device 1A operates as the receiving unit 113 and receives the local model 45 (local model information 450) from each client device 2 belonging to the server device 1A.In step S32, the control unit 11 of each lower-level server device 1A operates as the integration processing unit 114 and generates a new lower-level global model 44A by integrating the local models 45 received from each of the associated client devices 2. The control unit 11 may appropriately count the number of times the update process has been executed.

[0150] In step S33, the control unit 11 of each lower-level server device 1A determines whether or not the execution of the update process in steps S11 to S32 has been repeated the number of times determined in accordance with the server evaluation index 51. The control unit 11 may determine whether or not the update process has been executed the determined number of times by comparing the counted number of times with the determined number of times of updates.

[0151] If the update process has not been executed the determined number of times, the control unit 11 of each lower server device 1A returns the process to step S11 and executes the process again from step S11. In step S11, the control unit 11 of each lower server device 1A distributes the obtained new lower global model 44A as the lower global model 43A to each client device 2 belonging to the lower server device 1A. This repeats the execution of the update process for the lower global model. In this process, the control unit 11 may generate lower global model information by updating the higher global model information 400, or may generate lower global model information indicating the new lower global model 44A separately from the higher global model information 400.

[0152] In one example, the number of updates for each lower server device 1A may be determined by the upper server device 3. In this case, the control unit 31 of the upper server device 3 may operate as the update count determination unit 312 and determine the number of updates for each lower server device 1A in accordance with the server evaluation index 51. Information indicating the server evaluation index 51 may be held in the memory resources of the upper server device 3, or may be incorporated into the program 83. The control unit 31 may notify each lower server device 1A of the number of updates determined for each lower server device 1A. The processing up to notifying the number of updates may be executed at any timing up to before the initial processing of step S33. For example, the control unit 31 may notify each lower server device 1A of the corresponding number of updates together with the distribution of the upper global model 40 in step S1.

[0153] In another example, the number of updates for each lower-level server 1A may be determined by the server itself. In this case, the control unit 11 of each lower-level server 1A may operate as the update count determination unit 115 and determine the number of updates for that server in accordance with the server evaluation index 51. Information indicating the server evaluation index 51 may be held in the memory resources of each lower-level server 1A, or may be incorporated into the program 81. The process of determining the number of updates may be executed at any timing up to before the initial process of step S33.

[0154] In one example, the server evaluation index 51 may include at least one of a first index 511, a second index 512, and a third index 513. When the server evaluation index 51 includes the first index 511, the number of updates may be determined to be greater for a lower-level server device 1A that has local data 220 collected from multiple client devices 2 to which the local data 220 belongs, and for which the inference accuracy of the lower-level global model 43A is higher (the decrease in inference accuracy is smaller) based on the first index 511. In one example, the inference accuracy of the lower-level global model 43A may be evaluated according to the sum of the losses of the lower-level global model 43A with respect to the local data 220 in the machine learning of each of the multiple client devices 2 to which the lower-level global model 43A belongs. When the server evaluation index 51 includes the second index 512, the number of updates may be determined to be smaller for a lower-level server device 1A with lower computational capabilities based on the second index 512. When the server evaluation index 51 includes the third index 513, the number of updates may be determined to be smaller for a lower-level server device 1A with lower communication capabilities based on the third index 513. When the update process has been executed the determined number of times, the control unit 11 advances the process to the next step S34.

[0155] In step S34, the control unit 11 of each lower server device 1A operates as the model sending unit 116. That is, the control unit 11 of each lower server device 1A sends the finally obtained new lower global model 44A (lower global model information) to the upper server device 3 to integrate it with new lower global models 44A sent from other lower server devices 1A. In one example, the control unit 11 may send the lower global model 44A directly to the upper server device 3, or may send it indirectly via a data server or the like. In step S41, the control unit 31 of the upper server device 3 operates as the receiving unit 313 and receives the lower global model 44A (lower global model information) from each lower server device 1A.

[0156] In step S42, the control unit 31 of the upper server device 3 operates as the integration processing unit 314, and integrates the lower global models 44A received from each lower server device 1A to generate a new upper global model 41. In this process, the control unit 31 may update the upper global model information 400 so as to indicate the new upper global model 41, or may generate new upper global model information indicating the new upper global model 41 separately from the upper global model information 400.

[0157] When the generation of the new higher-level global model 41 is completed, the processing procedure according to this operation example ends. The higher-level server 3, the lower-level server 1A, and the client device 2 may treat the new higher-level global model 41 as the higher-level global model 40 and repeatedly execute the hierarchical federated learning process from step S1. The higher-level server 3 may distribute the new higher-level global model 41 to any computer, including each client device 2. The higher-level server 3 may distribute the new higher-level global model 41 via each lower-level server 1A. As a result, the higher-level server 3 may allow any computer to use the new higher-level global model 41 to perform an inference task on the any computer.

[0158] In the second modified example, in steps S11 to S33, the number of times the update process is executed is defined for each lower-level server device 1A using the server evaluation index 51. This makes it possible to control the number of times the process for updating the lower-level global model 43A is executed, as well as the number of times machine learning is executed (number of times learning) for each client device 2. This control of the number of times can improve the efficiency of federated learning.

[0159] (Other) In the second modified example, both the number of learning times for each client device 2 and the number of updates for each lower-level server device 1A are controlled. However, by controlling at least one of the number of learning times for each client device 2 and the number of updates for each lower-level server device 1A, it is possible to expect improvements in the efficiency of federated learning. Therefore, at least one of the control of the number of learning times for each client device 2 and the number of updates for each lower-level server device 1A may be omitted. In another example, the control of the number of learning times for each client device 2 may be omitted. In this case, the processing of step S24 may be omitted from the processing procedure of the second modified example. The configuration related to the number evaluation index 55 may be omitted from the configuration of the information processing system.

[0160] In one example, at least one of the lower server device 1A and the client device 2 may freely decide whether or not to participate in federated learning. In another example, the first modified example may be applied to determine whether or not at least one of the lower server device 1A and the client device 2 will participate in federated learning. For example, for each lower server device 1A, a client device 2 to participate in federated learning may be selected according to a participation evaluation value 569 calculated according to the participation evaluation index 56. Also, for example, a lower server device 1A to participate in federated learning may be selected according to the participation evaluation value of each lower server device 1A calculated according to the participation evaluation index. The relationship between the server evaluation index 51 and the participation evaluation index of the lower server device 1A may be the same as the relationship between the number of times evaluation index 55 and the participation evaluation index 56 in the first modified example.

[0161] Furthermore, the names of the components may be changed as appropriate. For example, the lower global models (43A, 44A) may be referred to as area models, and the upper global models (40, 41) may simply be referred to as global models. The lower server 1A may be referred to as an intermediate server.

[0162] Furthermore, the structure of an information processing system that performs hierarchical federated learning need not be limited to three layers. In another example, the information processing system may have a structure of four or more layers. When the information processing system has a structure of four or more layers, the servers located between the upper server 3 and the client devices 2 may be referred to as first-order lower-level servers, ..., n-th-order lower-level servers (n is a natural number greater than or equal to 2). The upper server 3 may be configured to generate a new upper global model by integrating new first-order lower-level global models received from each of the multiple first-order lower-level servers. The k-1-th order lower-level server may be configured to generate a new k-1-th order lower-level global model by integrating new k-th order lower-level global models received from each of the multiple k-th order lower-level servers belonging to it (k is a natural number from 2 to n). The n-th order lower-level server corresponds to the server 1 in the above embodiment and the lower-level server 1A in the second modified example. The update process executed between the n-th order lower-level server and the multiple client devices 2 belonging to it corresponds to the update process for the global model 43 in the above embodiment and the update process for the lower-level global model 43A in the second modified example. In this information processing system, the number of times the update process is executed may be controlled in at least one of the first through n-th lower level servers using a method similar to that of the second modified example. The relationship between the k-1th lower level server and the k-th lower level server may be similar to the relationship between the higher level server 3 and the lower level server 1A in the second modified example. For example, the number of updates for the k-th lower level server may be determined by either the k-1th lower level server or the k-th lower level server.

[0163] [5 Supplementary Note] The processes and means described in this disclosure can be freely combined and implemented as long as no technical contradiction occurs.

[0164] Furthermore, a process described as being performed by one device may be shared and executed by multiple devices. Alternatively, a process described as being performed by different devices may be executed by a single device. In a computer system, the hardware configuration for realizing each function can be flexibly changed.

[0165] The present disclosure can also be realized by supplying a computer program implementing the functions described in the above embodiments to a computer, and having one or more processors of the computer read and execute the program. Such a computer program may be provided to the computer via a non-transitory computer-readable storage medium connectable to the computer's system bus, or via a network. Non-transitory computer-readable storage media may include, for example, any type of disk, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic card, flash memory, optical card, solid-state drive, or any type of medium suitable for storing electronic instructions. Disks may include, for example, magnetic disks, optical disks, etc. Magnetic disks may include, for example, hard disk drives (HDDs), etc. Optical disks may include, for example, CD-ROMs, DVDs, Blu-ray discs, etc. Solid-state drives may include, for example, solid-state drives, etc.

[0166] DESCRIPTION OF SYMBOLS 1...server device, 1A...lower server device, 11...control unit, 12...storage unit, 13...communication module, 43, 44...global model, 43A, 44A...lower global model, 51...server evaluation index, 2...client device, 21...control unit, 22...storage unit, 23...communication module, 220...local data, 45...local model, 55...number of times evaluation index, 56...participation evaluation index, 3...upper server device, 31...control unit, 32...storage unit, 33...communication module, 40, 41...upper global model

Claims

1. An information processing method comprising: each of a plurality of client devices collecting local data; each of the plurality of client devices generating a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index; each of the plurality of client devices transmitting the generated local model to a server device; and the server device generating a new global model by integrating the local models received from each of the plurality of client devices.

2. The information processing method of claim 1, further comprising: the server device determining the number of learning times for each of the plurality of client devices in accordance with the number evaluation index; and the server device notifying each of the plurality of client devices of the number of learning times determined for each of the plurality of client devices; and wherein, in generating the local model, each of the plurality of client devices repeats machine learning of the global model the number of learning times notified by the server device.

3. The information processing method according to claim 1, further comprising: each of the plurality of client devices determining the number of learning times in accordance with the number evaluation index.

4. The information processing method of claim 1, wherein the number of times evaluation index includes a first index for evaluating the inference accuracy of the global model for the local data collected in each of the plurality of client devices, and the number of times of learning is determined so as to be greater for a client device that collects local data that results in higher inference accuracy of the global model according to the first index.

5. The information processing method according to claim 4, wherein the inference accuracy of the global model is evaluated according to the loss in the machine learning.

6. The information processing method according to claim 1, wherein the number of times evaluation index includes a second index for evaluating the computational capability of each of the plurality of client devices, and the number of times of learning is determined by the second index so that the number of times is smaller for client devices with lower computational capabilities.

7. The information processing method according to claim 1, wherein the frequency evaluation index includes a third index for evaluating the communication capability of each of the plurality of client devices, and the number of learning times is determined by the third index so that the number of learning times is smaller for client devices with lower communication capabilities.

8. An information processing method as described in claim 1, wherein two or more client devices are provided, a participation evaluation value is calculated for each of the two or more client devices according to a participation evaluation index, and the plurality of client devices are selected from the two or more client devices according to the calculated participation evaluation value.

9. The information processing method of claim 8, wherein the participation evaluation index includes at least one of: a first index for evaluating the inference accuracy of the global model for the local data collected in each of the two or more client devices; a second index for evaluating the computational capabilities of each of the two or more client devices; and a third index for evaluating the communication capabilities of each of the two or more client devices.

10. The information processing method of claim 8, further comprising: each of the two or more client devices calculating the participation evaluation value; each of the two or more client devices transmitting the calculated participation evaluation value to a data server; the server device selecting the client devices from the two or more client devices in accordance with the participation evaluation value stored in the data server; and the server device transmitting an instruction to each of the selected client devices to generate the local model; and wherein each of the selected client devices generates the local model in accordance with the instruction and transmits the generated local model to the server device.

11. An information processing method according to any one of claims 1 to 10, wherein the server device is a first server device located within a core network, and each of the client devices is a second server device other than the first server device located within the core network.

12. A program for causing a client device to execute an information processing method, the information processing method including: collecting local data; generating a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a frequency evaluation index; and transmitting the generated local model to a server device.

13. The program described in claim 12, wherein the number evaluation index includes a first index for evaluating the inference accuracy of the global model for the local data collected on the client device, and the number of learning times is determined so that it increases as more local data that increases the inference accuracy of the global model according to the first index is collected on the client device.

14. The program described in claim 12, wherein the number evaluation index includes a second index for evaluating the computational capability of the client device, and the number of learning times is determined by the second index so that the lower the computational capability of the client device, the lower the number of learning times.

15. The program described in claim 12, wherein the frequency evaluation index includes a third index for evaluating the communication capability of the client device, and the number of learning times is determined by the third index so that the lower the communication capability of the client device, the lower the number of learning times.

16. A server device configured to be able to communicate with each of a plurality of client devices and comprising a control unit, wherein each of the plurality of client devices is configured to perform the following: collect local data; generate a local model by repeating machine learning of a global model using the collected local data a number of times determined according to a learning frequency evaluation index; and send the generated local model to the server device; and the control unit is configured to generate a new global model by integrating the local models received from each of the plurality of client devices.

17. The server device according to claim 16, wherein the control unit is further configured to: determine the number of learning times for each of the plurality of client devices according to the number evaluation index; and notify each of the plurality of client devices of the number of learning times determined for each of the plurality of client devices.

18. The server device described in claim 16, wherein the number of times evaluation index includes a first index for evaluating the inference accuracy of the global model for the local data collected in each of the plurality of client devices, and the number of times of learning is determined so as to be greater for a client device that collects local data that increases the inference accuracy of the global model according to the first index.

19. The server device according to claim 16, wherein the number of times evaluation index includes a second index for evaluating the computational capability of each of the plurality of client devices, and the number of times of learning is determined by the second index so that the number of times is smaller for client devices with lower computational capabilities.

20. The server device described in claim 16, wherein the frequency evaluation index includes a third index for evaluating the communication capability of each of the plurality of client devices, and the number of learning times is determined by the third index so that the number of learning times is smaller for client devices with lower communication capabilities.

Citation Information

Patent Citations

  • Task assignment device and task assignment method

    JP2006338264A

  • Information processing method, information processing device and server device

    JP2023093838A

  • Information processing apparatus, information processing method, program, and storage medium

    JP2023138376A

  • Artificial intelligence (AI) model training method and apparatus in wireless network

    WO2023104169A1

  • Communication and computation aware distributed machine learning for vehicular networks

    WO2023162738A1