Information processing method
By enabling devices to exchange evaluation values and control participation based on thresholds, federated learning systems improve efficiency and accuracy by selecting appropriate devices for model training.
Patent Information
- Application Number
- JP2023113006
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-10
- Publication Date
- 2025-01-23
- Estimated Expiration
- 2043-07-10
AI Technical Summary
Federated learning systems face inefficiencies due to uncontrolled participation of client devices, leading to increased data volume and communication traffic without ensuring high accuracy in model training, and lack of control over the number of participating devices.
A method where information processing devices on mobile bodies exchange evaluation values through proximity communication, determining participation based on a threshold and evaluation index, allowing only devices with suitable evaluation values to transmit local models to a server, thus controlling the number of participants.
This approach enhances the efficiency of federated learning by selecting suitable devices for model updating, managing communication load, and ensuring higher accuracy in model training.
Smart Images

Figure 2025010791000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to federated learning techniques. [Background technology]
[0002] Federated learning has been proposed as a machine learning technique. Federated learning is a technique for performing machine learning in a distributed manner without consolidating learning data in one place. In this regard, for example, Patent Document 1 discloses an example of a procedure for performing federated learning between a server device and a client device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] US Patent Application Publication No. 2020 / 0242514 Summary of the Invention [Problem to be solved by the invention]
[0004] An object of the present disclosure is to efficiently perform federated learning between a server device and multiple information processing devices. [Means for solving the problem]
[0005] One aspect of the present disclosure is to The information processing method includes: each of a plurality of information processing devices mounted on different moving bodies performs machine learning using local data to generate a local model; each of the plurality of information processing devices receives a first threshold and an evaluation index from a server device; each of the plurality of information processing devices calculates an evaluation value according to the evaluation index; each of the plurality of information processing devices exchanges the evaluation value with other information processing devices mounted on one or more other moving bodies present within a predetermined range via near-field communication; and a number of information processing devices, up to an upper limit of the first threshold, among the information processing devices mounted on one or more moving bodies present within the predetermined range and having the calculated evaluation value equal to or greater than a predetermined value, transmits local model information indicating the generated local model to a server device.
[0006] Another aspect of the present invention is a program for causing a computer to execute the above-described method, or a computer-readable storage medium non-transitoryly storing the program. Effect of the Invention
[0007] According to the present disclosure, federated learning can be efficiently performed between a server device and multiple information processing devices. [Brief description of the drawings]
[0008] [Figure 1] 1 is a schematic diagram of a federated learning system according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing an example of the configuration of a server device 2. [Diagram 3] FIG. 1 is a diagram showing an example of the configuration of an in-vehicle device 10. [Figure 4] FIG. 2 is a diagram for explaining a data flow between devices. [Diagram 5] FIG. 4 is a flow diagram illustrating the flow of processing between devices. [Figure 6] 10 is a flowchart illustrating the process of step S13 in detail. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Consider the case of generating a machine learning model by federated learning, in which multiple client devices each generate a local model using local data, and a server device collects and integrates these models. All client devices that can participate may participate in federated learning. However, if all client devices (e.g., all vehicles traveling on the road) participate in federated learning, the amount of data increases, which may lead to poor efficiency. Also, it is not always possible to generate a trained model with high accuracy. Therefore, there is a method in which the server device selects the client devices that will participate in federated learning.
[0010] A simple method for selecting a client device is to randomly select a client device. However, in this method, the attributes of the client device are unknown, and it is not guaranteed that a local model suitable for model updating can be obtained from the selected client device. This can lead to inefficient model updating and an increase in communication traffic.
[0011] To solve this problem, a method has been devised in which, for example, multiple client devices in a local area exchange evaluation values of their own devices (e.g., values representing the quality of local data, computing power, etc.), and client devices with evaluation values higher than a predetermined value participate in federated learning.
[0012] However, this method has a problem in that the server device cannot control the number of client devices participating in federated learning. For example, in the above example, the number of client devices extracted for each local area is indefinite, which may result in excess or deficiency of computing power. The information processing method according to the present disclosure solves such a problem.
[0013] The information processing method according to the first aspect of the present disclosure includes: The method includes: each of a plurality of information processing devices mounted on different moving bodies performing machine learning using local data to generate a local model; each of the plurality of information processing devices receiving a first threshold and an evaluation index from a server device; each of the plurality of information processing devices calculating an evaluation value according to the evaluation index; each of the plurality of information processing devices exchanging the evaluation value with other information processing devices mounted on one or more other moving bodies present within a predetermined range via near-field communication; and a number of information processing devices, up to an upper limit of the first threshold, among the information processing devices mounted on one or more moving bodies present within the predetermined range and having the calculated evaluation value equal to or greater than a predetermined value, transmitting local model information indicating the generated local model to a server device.
[0014] In the information processing method according to the first aspect of the present disclosure, which of a plurality of information processing devices will participate in the federated learning is determined based on evaluation values exchanged between the information processing devices by near-field communication. This makes it possible to select information processing devices to participate in the federated learning from a plurality of information processing devices mounted on mobile objects that are geographically close to each other. Note that the "exchange" does not necessarily have to be performed by unicast communication, and may include, for example, transmitting and receiving the evaluation values to and from each other by broadcast. However, in such a system, for example, if an information processing device is selected based on a criterion such as "highest evaluation value," it may happen that only one information processing device is selected within a predetermined range. On the other hand, if an information processing device is selected based on a criterion such as "evaluation value higher than a predetermined value," it may happen that more information processing devices than expected are selected.
[0015] Therefore, in the information processing method according to the present aspect, the server device distributes the first threshold value to the multiple information processing devices in addition to the evaluation index for performing the evaluation. The first threshold is a value indicating the maximum number of information processing devices to be selected within a predetermined range. Each of the multiple information processing devices determines whether or not the device itself will transmit local model information (i.e., participate in federated learning) within the predetermined range, within a range in which the number of information processing devices that transmit local model information does not exceed the first threshold. For example, each of the information processing devices may determine that the device itself will participate in federated learning when the following conditions are satisfied: (1) the evaluation value calculated by the device itself is equal to or greater than a predetermined value; and (2) the number of information processing devices that have calculated a higher evaluation value than the device itself within the predetermined range is less than the first threshold.
[0016] According to this embodiment, in a system in which a plurality of client devices perform federated learning, the server device can control the number of participating client devices and the requirements that the client devices must satisfy, thereby improving the efficiency of the federated learning performed by the server device.
[0017] Specific embodiments of the present disclosure will be described below with reference to the drawings. Unless otherwise specified, the hardware configuration, module configuration, functional configuration, and the like described in each embodiment are not intended to limit the technical scope of the disclosure to only those.
[0018] First Embodiment An overview of the system according to this embodiment will be described. 1 is a diagram for explaining an outline of the federated learning system in this embodiment. The federated learning system in this embodiment is composed of a server device 2 and a plurality of in-vehicle devices 10 mounted on a plurality of vehicles 1.
[0019] The vehicle 1 is a connected vehicle capable of communicating with a server device 2 via wireless communication. The vehicle 1 can provide various services by communicating with an external server device via an in-vehicle device 10 having a wireless communication function. In this embodiment, the in-vehicle device 10 has a function of training a machine learning model based on an instruction from the server device 2 and transmitting the machine learning model obtained as a result to the server device 2.
[0020] In this embodiment, a model generated by the in-vehicle device 10 is referred to as a local model, and data used by the in-vehicle device 10 for learning (for example, sensor data collected by the vehicle 1) is referred to as local data. The in-vehicle device 10 generates a local model by using the local data collected by the vehicle 1.
[0021] The server device 2 is one or more computers configured to acquire local models from the in-vehicle device 10 and integrate the acquired local models. The server device 2 distributes the global model, which is an initial state machine learning model for generating local models, to multiple in-vehicle devices 10. The in-vehicle device 10 uses the collected local data to perform machine learning of the global model and generate a local model. The local model is a trained machine learning model after localization.
[0022] The on-vehicle devices 10 mounted on a plurality of vehicles located in the vicinity of each other communicate with each other to determine the vehicle for which a local model is to be generated. Each in-vehicle device 10 calculates an evaluation value according to a predetermined evaluation index acquired from the server device 2. Each in-vehicle device 10 transmits the calculated evaluation value to other in-vehicle devices 10 mounted on one or more other vehicles present in the vicinity of its own vehicle by short-range communication. Also, each in-vehicle device 10 receives, by short-range communication, evaluation values calculated by the other in-vehicle devices 10 mounted on one or more other vehicles present in the vicinity of its own vehicle. That is, multiple in-vehicle devices 10 within a predetermined range exchange the calculated evaluation values with each other.
[0023] Each in-vehicle device 10 determines, for example, based on an evaluation value calculated by itself and evaluation values received from other in-vehicle devices 10, whether or not it will be a device that transmits a local model to the server device 2 (i.e., whether or not it will participate in federated learning).
[0024] The server device 2 receives local model information indicating a local model from at least one of the multiple in-vehicle devices 10. The server device 2 also integrates the local models indicated by the local model information received from each of the at least one in-vehicle device 10. In this way, the server device 2 generates a new global model. The new global model is a trained machine learning model generated by integrating the local models obtained from the at least one in-vehicle device 10.
[0025] [Device configuration] FIG. 2 is a diagram showing an example of the configuration of the server device 2. As shown in FIG. The server device 2 is, for example, a computer such as a personal computer, a smartphone, a mobile phone, a tablet computer, a personal digital assistant, etc. The server device 2 includes a control unit 21, a storage unit 22, a communication module 23, and an input / output device 24.
[0026] The server device 2 can be configured as a computer having a processor (CPU, GPU, etc.), a main storage device (RAM, ROM, etc.), and an auxiliary storage device (EPROM, hard disk drive, removable media, etc.). The auxiliary storage device stores an operating system (OS), various programs, various tables, etc., and by executing the programs stored therein, various functions (software modules) that match a predetermined purpose, as described below, can be realized. However, some or all of the functions may be realized as hardware modules by hardware circuits such as ASICs and FPGAs.
[0027] The control unit 21 is a computing unit that executes a predetermined program to realize various functions of the server device 2. The control unit 21 can be realized by a hardware processor such as a CPU. The control unit 21 may also be configured to include a RAM, a ROM (Read Only Memory), a cache memory, and the like.
[0028] The control unit 21 is configured to have four software modules: a model distribution unit 211, an index distribution unit 212, a model reception unit 213, and an integration processing unit 214. Each software module may be realized by causing the control unit 21 (CPU) to execute a program stored in the storage unit 22, which will be described later.
[0029] The model distribution unit 211 is configured to transmit global model information indicating a global model to each of the multiple in-vehicle devices 10. The global model may be a machine learning model in an initial state before learning is performed, or may be a machine learning model after learning.
[0030] The index distribution unit 212 is configured to transmit evaluation index information indicating the evaluation index to each of the multiple in-vehicle devices 10. In this embodiment, the global model and the evaluation index are distributed from the server device 2 to each in-vehicle device 10 by the operation of the model distribution unit 211 and the index distribution unit 212. Details of the evaluation index will be described later.
[0031] The model receiving unit 213 is configured to receive local model information indicating a local model from at least one of the multiple in-vehicle devices 10. As a result of the selection process based on the evaluation value, the in-vehicle device has determined that "the in-vehicle device itself will transmit the local model to the server device 2." The selection process based on the evaluation value will be described in detail later.
[0032] The integration processing unit 214 is configured to generate a new global model by integrating local models indicated by local model information received from at least one in-vehicle device 10. The integration processing unit 214 may be further configured to generate global model information indicating the new global model obtained by the integration, and to store the generated global model information in a predetermined storage area (e.g., the storage unit 22).
[0033] The storage unit 22 is a means for storing information, and is configured with storage media such as RAM, a magnetic disk, a flash memory, etc. The storage unit 22 stores the programs executed by the control unit 21, data used by the programs, etc.
[0034] The storage unit 22 stores the above-mentioned global model information and evaluation index information. The global model information includes a global model to be distributed to the in-vehicle device 10. The global model to be distributed to the in-vehicle device 10 may be a machine learning model before learning (initial state) or a machine learning model after learning.
[0035] The evaluation index information includes evaluation indexes to be distributed to the in-vehicle device 10. The evaluation index is an index for selecting the in-vehicle device 10 that will participate in the federated learning. The evaluation index may include a formula for calculating an evaluation value. The evaluation value is an evaluation value for selecting the in-vehicle device 10 that generates a local model suitable for updating the global model (i.e., such that the performance of the new global model generated by the integration will be improved). The evaluation index includes, for example, a formula for evaluating the quality of local data, a formula for evaluating the computing power, and a formula for evaluating the communication power. The in-vehicle device 10 calculates the evaluation value according to these formulas, thereby making it possible to determine "which of the multiple in-vehicle devices within a predetermined range will participate in the federated learning." The evaluation index information also includes a threshold for the evaluation value (hereinafter, "evaluation threshold"). The evaluation threshold is a threshold for filtering the in-vehicle devices 10 that should participate in the associative learning. In this embodiment, the in-vehicle devices 10 whose evaluation values calculated according to the evaluation index exceed the evaluation threshold participate in the associative learning. The evaluation index information also includes information (hereinafter, "unit number information") that specifies the maximum number of in-vehicle devices 10 that will participate in the federated learning within a predetermined range (hereinafter, "participating unit number").
[0036] The communication module 23 is a wireless communication interface for connecting the server device 2 to a network. The communication module 23 is configured to be able to communicate with a plurality of in-vehicle devices 10 via, for example, a wireless LAN or a mobile communication service such as 3G, 4G, or 5G.
[0037] The input / output device 24 is a means for accepting input operations performed by an operator and presenting information. Specifically, the input / output device 24 includes devices for input such as a mouse and a keyboard, and devices for output such as a display and a speaker. The input / output device may be integrally configured with, for example, a touch panel display.
[0038] FIG. 3 is a diagram showing an example of the configuration of the in-vehicle device 10. As shown in FIG. The in-vehicle device 10 is a computer such as a personal computer, a smartphone, a mobile phone, a tablet computer, a personal digital assistant, etc. The in-vehicle device 10 includes a control unit 101, a storage unit 102, a communication module 103, an input / output device 104, a short-range communication module 105, and an external interface 106.
[0039] The in-vehicle device 10 includes a processor (CPU, GPU, etc.), a main memory device (RAM, ROM, etc.), , and can be configured as a computer having an auxiliary storage device (EPROM, hard disk drive, removable media, etc.).
[0040] The control unit 101 is a calculation unit that executes a predetermined program to realize various functions of the in-vehicle device 10. The control unit 101 can be realized by a hardware processor such as a CPU. The control unit 101 may also be configured to include a RAM, a ROM (Read Only Memory), a cache memory, and the like.
[0041] The control unit 101 is configured to have eight software modules: a model acquisition unit 1011, an index acquisition unit 1012, a data collection unit 1013, a machine learning unit 1014, an evaluation value calculation unit 1015, an evaluation value exchange unit 1016, a determination unit 1017, and a model transmission unit 1018. Each software module may be realized by causing the control unit 21 (CPU) to execute a program stored in the storage unit 102, which will be described later.
[0042] The model acquisition unit 1011 is configured to acquire global model information indicating a global model from the server device 2. In this embodiment, the model acquisition unit 1011 is configured to receive the global model information distributed from the server device 2. The index acquiring unit 1012 is configured to acquire evaluation index information indicating the evaluation index from the server device 2. As described above, the evaluation index information includes three pieces of information: (1) an index (evaluation index) for calculating an evaluation value, (2) a threshold value for the evaluation value, and (3) a maximum number (participating number) of in-vehicle devices 10 that participate in the federated learning within a predetermined range.
[0043] The data collector 1013 is configured to collect local data acquired by one or more sensors carried by the vehicle 1 . The machine learning unit 1014 is configured to perform machine learning of the global model using the collected local data to generate a local model. The machine learning unit 1014 may be further configured to store the generated local model information in a predetermined storage area.
[0044] The evaluation value calculation unit 1015 is configured to calculate an evaluation value in accordance with the evaluation index included in the evaluation index information acquired from the server device 2. The evaluation value exchange unit 1016 is configured to exchange the calculated evaluation value with other in-vehicle devices 10 mounted on one or more other vehicles present near the vehicle by short-distance communication. In this embodiment, the range in which short-distance communication is possible is the "predetermined range."
[0045] The determination unit 1017 executes a process of determining whether or not its own device operates as a device that generates a local model and transmits it to the server device 2, based on the evaluation index information received from the server device 2 and the result of exchanging evaluation values with other in-vehicle devices 10. In the following description, the process of determining an in-vehicle device 10 that generates a local model and transmits it to the server device 2 from among a plurality of in-vehicle devices 10 within a predetermined range is referred to as "selection," and the process for this is referred to as a "selection process." In other words, the selected in-vehicle device 10 becomes a device that participates in the federated learning. In this embodiment, each of the plurality of in-vehicle devices 10 executes the selection process, and determines in an autonomous and decentralized manner whether or not its own device participates in the federated learning. The model transmitting unit 1018 is configured to transmit local model information indicating the generated local model to the server device 2 based on the result of the determination made by the determining unit 1017 .
[0046] The storage unit 102 is a means for storing information, and is configured with storage media such as RAM, a magnetic disk, a flash memory, etc. The storage unit 102 stores programs executed by the control unit 101, data used by the programs, etc.
[0047] The storage unit 102 stores the global model information and the evaluation index information received from the server device 2. The global model information is used to generate local model information, and the evaluation index information is used for the decision made by the decision unit 1017. Furthermore, local data and local model information are stored in the storage unit 102. The local data is data collected by a sensor S, which will be described later. The local model information includes a local model generated by the machine learning unit 1014.
[0048] The communication module 103 is a wireless communication interface for connecting the in-vehicle device 10 to a network. The communication module 103 is configured to be able to communicate with the server device 2 via, for example, a wireless LAN or a mobile communication service such as 3G, 4G, or 5G.
[0049] The input / output device 104 is a means for receiving an input operation performed by a vehicle occupant and presenting information to the occupant. Specifically, the input / output device 104 includes an input device such as a mouse and a keyboard, and an output device such as a display and a speaker. The input / output device may be integrally configured with, for example, a touch panel display.
[0050] The short-range communication module 105 is a communication module for transmitting and receiving data by short-range communication. In one example, the short-range communication module 105 may be a beacon module. The type of the beacon module may be appropriately selected depending on the embodiment. A known type of beacon module may be adopted for the short-range communication module 105. In this embodiment, the short-range communication module 105 is used to perform short-range communication with other in-vehicle devices 10 other than the own device. Note that the type of the short-range communication module 105 does not have to be limited to a beacon module. In another example, the short-range communication module 105 is configured to be able to perform short-range communication such as Wi-Fi (registered trademark), Bluetooth (registered trademark), D2D, etc. Good too.
[0051] The external interface 106 is an interface for connecting to an external device, such as a Universal Serial Bus (USB) port, a dedicated port, etc. The type and number of the external interfaces 106 may be appropriately determined according to the type and number of the connected external devices. In this embodiment, the in-vehicle device 10 is connected to a sensor S via the external interface 106. The sensor S may be configured by a plurality of sensors, such as an image sensor (such as a camera), a proximity sensor, a Lidar (light detection and ranging) sensor, a Radar, etc.
[0052] In addition, the specific hardware configurations of the in-vehicle device 10 and the server device 2 can be appropriately omitted, replaced, or added to depending on the embodiment. For example, the control unit 101 and the control unit 21 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, FPGA, GPU, or the like. Also, input / output devices other than those illustrated (for example, an optical drive, etc.) may be added. Also, the server device 2 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same.
[0053] [Processing flow] Next, the flow of data transmitted and received between devices will be described with reference to FIG. FIG. 4 is a diagram showing the flow of data exchanged between the elements of the server device 2 and the in-vehicle device 10. As shown in FIG.
[0054] First, the server device 2 (model distribution unit 211) transmits global model information 30 indicating a global model 300 to each of the multiple in-vehicle devices 10. The global model 300 can be a machine learning model in an initial state before learning is performed. The in-vehicle device 10 (model acquisition unit 1011) receives the global model information 30 and A global model 300 is extracted from the information 30.
[0055] In addition, the server device 2 (index distribution unit 212) transmits the evaluation index information 60 to each of the multiple in-vehicle devices 10. The in-vehicle device 10 (index acquisition unit 1012) receives the evaluation index information 60 from the server device 2, and acquires the evaluation index 80, the evaluation threshold 70, and the number of vehicles information 90 included in the evaluation index information 60.
[0056] The in-vehicle device 10 (evaluation value calculation unit 1015) calculates the evaluation value according to the evaluation index 80. The evaluation index 80 is appropriately defined so as to select an in-vehicle device 10 that generates a local model 400 suitable for updating the global model 300 (i.e., such that the performance of the new global model obtained as a result of the associative learning is improved). The quality of the local data affects the accuracy of the new global model generated by the associative learning. Furthermore, the higher the computational capability of the in-vehicle device 10, the faster the local model 400 can be created, and the shorter the time required to consolidate the local model 400 in the server device 2 can be. Similarly, the higher the communication capability of the in-vehicle device 10, the shorter the time required to consolidate the local model 400 in the server device 2 can be. Therefore, in this embodiment, at least one of a first index for evaluating the quality of the local data, a second index for evaluating the computational capability of each in-vehicle device 10, and a third index for evaluating the communication capability of each in-vehicle device 10 is included in the evaluation index 80. The evaluation index 80 may be expressed by a function. In this case, each in-vehicle device 10 calculates an evaluation value by executing an arithmetic process of the function expressing the evaluation index 80.
[0057] The first index may be an index defined such that the more the local data is useful for improving the performance of the global model 300, the higher the evaluation, and the less the local data is useful for improving the performance, the lower the evaluation. Whether the local data is useful or not may be evaluated using the global model 300. For example, an objective function used in machine learning of the global model 300 may be used to evaluate the usefulness of the local data. For example, when an optimization problem in machine learning is achieved by minimizing the value of the objective function, the first index may be defined such that the larger the error calculated by the objective function when the local data is provided to the global model 300, the higher the evaluation, and the smaller the error, the lower the evaluation.
[0058] The second index may be an index defined such that the higher the computational capability, the higher the evaluation, and the lower the computational capability, the lower the evaluation. The second index may be expressed by a function. The computational capability may be calculated according to the performance of computational resources such as a processor resource and a memory resource. The computational capability may be evaluated based on, for example, the computation speed of the processor resource, the capacity of the memory resource, the read speed of the memory resource, etc.
[0059] The third index may be an index defined such that the higher the communication capability, the higher the evaluation, and the lower the communication capability, the lower the evaluation. The third index may be expressed by a function. The communication capability may be calculated according to the performance of a communication module that can be used for transmitting the local model 400. The communication capability may be evaluated based on, for example, a communication bandwidth, a communication speed, etc.
[0060] When the evaluation index 80 includes a first index, a second index, and a third index, the evaluation index 80 may be formed by an equation that combines the above-mentioned functions. In the following description, the evaluation value calculated by the in-vehicle device 10 (the evaluation value calculation unit 1015) using the evaluation index 80 is referred to as an evaluation value 80A. The calculated evaluation value 80A is transmitted by the in-vehicle device 10 (evaluation value exchange unit 1016) to other vehicles (other in-vehicle devices 10) located in the vicinity of the vehicle 1 (within a predetermined range centered on the vehicle 1). is broadcast to the
[0061] Furthermore, the in-vehicle device 10 (evaluation value exchange unit 1016) receives evaluation values (hereinafter referred to as evaluation values 80B) calculated by other in-vehicle devices 10. There may be multiple other vehicles 1 and multiple other in-vehicle devices 10. In this case, there may be multiple evaluation values 80B. As a result, a vehicle 1 (in-vehicle device 10) located within a predetermined range can obtain a set of multiple evaluation values corresponding to all vehicles located within the range.
[0062] The in-vehicle device 10 performs a selection process using the acquired set of evaluation values, evaluation thresholds, and number of vehicles information. Specifically, the in-vehicle device 10 determines that the in-vehicle device 10 has been selected when the following conditions are met: (1) The calculated evaluation value 80A exceeds the evaluation threshold value. (2) The number of vehicles 1 that have calculated a higher evaluation value than the vehicle itself within a specified area is less than the number of participating vehicles indicated by the vehicle count information. For example, if the set of evaluation values obtained by the exchange includes evaluation values for five vehicles, the evaluation value calculated by the vehicle itself (meeting the evaluation threshold) is in the top third, and the number of participating vehicles indicated by the number of vehicles information is three, the above-mentioned conditions are met and the vehicle is selected.
[0063] Once the vehicle is selected, the in-vehicle device 10 generates a local model 400 based on the global model 300 . The machine learning unit 1014 generates learning data based on the local data and applies this to the global model 300, thereby performing machine learning. The local data is composed of a plurality of data sets. Each data set is composed of a combination of training data and a correct answer label, and is used as a sample of a training target in machine learning. The training data is a sample of explanatory variables, and is input to a machine learning model in machine learning. When the inference task is to derive an inference result from sensor data, the training data may be sensor data obtained by a sensor S. The correct answer label is configured to indicate the true value of the objective variable for the input sample of explanatory variables, that is, the solution (true value) of the inference task for the corresponding training data. In machine learning, the training data is used as input data, and the correct answer label is used as teacher data.
[0064] The machine learning unit 1014 trains the global model 300 by providing training data for each data set so that an output value (inference result) obtained from the global model 300 conforms to a true value indicated by a correct answer label. Training the global model 300 is performed by adjusting (optimizing) values of calculation parameters constituting the global model 300. A method for adjusting the calculation parameters (a method for solving an optimization problem) may be appropriately determined depending on the type, configuration, structure, etc. of the machine learning model adopted in the global model 300.
[0065] The machine learning unit 1014 adjusts the values of the calculation parameters of the global model by this series of update processes so that the sum of errors between the output value (inference result) obtained by providing the training data and the true value indicated by the correct answer label is reduced. The adjustment of the values of the calculation parameters may be repeated until a predetermined condition is satisfied, such as, for example, performing the adjustment for a set number of iterations, or the sum of the calculated errors being equal to or less than a threshold value. In addition, machine learning conditions such as an objective function (cost function, loss function, error function) for calculating the error and a learning rate may be appropriately set according to the embodiment. The local model 400 can be generated by this machine learning process. The machine learning unit 1014 generates local model information 40 indicating the local model 400.
[0066] The machine learning method may not be limited to supervised learning. In another example, the machine learning method may be unsupervised learning (including adversarial learning) or reinforcement learning. The configuration of the local data may be appropriately determined depending on the machine learning method and the type of machine learning model to be adopted. Furthermore, the machine learning model constituting the global model 300 may be a neural network, a regression model, a support vector machine, or the like. The generated local model information 40 is transmitted to the server device 2.
[0067] The server device 2 (integration processing unit 214) generates a new global model 500 by integrating local models 400 indicated by local model information 40 received from at least one in-vehicle device 10. The integration of a plurality of local models 400 may be performed by averaging the values of corresponding calculation parameters included in each local model 400, summing up the values of corresponding calculation parameters, or the like. The values of the calculation parameters included in each local model 400 may be integrated after being weighted. In this case, the weight of each local model 400 may be specified by any method.
[0068] The integration of the local model 400 may be performed for all the calculation parameters or for some of the calculation parameters. When the integration of the local model 400 is performed partially, the information in the range where the integration is not performed may be omitted in the local model information 40 transmitted from the in-vehicle device 10 to the server device 2. The server device 2 (integration processing unit 214) generates global model information 50 indicating the new global model 500. The configuration of the global model information 50 can be the same as that of the global model information 30.
[0069] (flowchart) FIG. 5 is a sequence diagram showing an example of a process of federated learning executed between the server device 2 and each in-vehicle device 10 according to the present embodiment.
[0070] First, in step S11, the control unit 21 (model distribution unit 211) of the server device 2 uses the communication module 23 to transmit global model information 30 indicating the global model 300 to each in-vehicle device 10. The transmission may be performed by broadcasting, for example. Also, when a geographical range in which the local models 400 are integrated is defined, the global model 300 to be distributed for each defined range may be selected.
[0071] The global model 300 may be a machine learning model before training or may be a trained machine learning model. When the global model 300 is a trained machine learning model, the global model 300 may be generated by machine learning by the server device 2 or may be generated by an integration process by prior federated learning. The global model information 30 is received by the in-vehicle device 10 (model acquisition unit 1011).
[0072] In step S12, the control unit 21 (index distribution unit 212) of the server device 2 uses the communication module 23 to transmit the evaluation index information 60 including the evaluation index 80, the evaluation threshold 70, and the number information 90 to each in-vehicle device 10.
[0073] As in step S11, the transmission range and the transmission method can be appropriately selected depending on the embodiment. As an example, the control unit 21 may transmit the evaluation index information 60 to each in-vehicle device 10 by broadcasting. This can save the bandwidth of wireless communication. Furthermore, the evaluation index 80 to be distributed may be selected for each geographical range. In this case, the evaluation index 80 distributed to some areas may be different from the evaluation index 80 distributed to others. .
[0074] In step S13, each in-vehicle device 10 executes an autonomous decentralized vehicle selection process, and if the in-vehicle device 10 is selected, the in-vehicle device 10 generates a local model and transmits it to the server device 2.
[0075] 6 is a flowchart showing an example of the process executed in step S13 by the in-vehicle device 10. The process in step S13 according to this embodiment includes processes in steps S131 to S135 which will be described below.
[0076] In addition, in parallel with the processing shown in the figure, the control unit 101 (data collection unit 1013) of the in-vehicle device 10 is executing a process of collecting local data generated by the sensor S and storing the collected local data in the memory unit 102.
[0077] In step S131, the control unit 101 (evaluation value calculation unit 1015) calculates the evaluation value of its own device according to the evaluation index 80 indicated by the received evaluation index information 60. In step S132, the control unit 101 (evaluation value exchange unit 1016) transmits, by close-proximity communication, the evaluation value calculated by its own device to other in-vehicle devices 10 mounted on one or more other vehicles present in the vicinity of its own vehicle. It also receives, from the other in-vehicle devices 10 mounted on the other vehicles, evaluation values calculated by the other in-vehicle devices 10 according to the evaluation index 80. The timing of transmitting and receiving the evaluation values may be adjusted between the in-vehicle devices 10 by any method. The short-distance communication is performed using the short-distance communication module 105. In this embodiment, each in-vehicle device 10 uses a beacon module as the short-distance communication module 105. When the exchange of evaluation values is completed, the process proceeds to step S133.
[0078] In step S133, the control unit 101 (decision unit 1017) determines whether the vehicle is a selection target based on the evaluation value exchanged with the nearby vehicles. This step is determined to be positive when both of the following conditions are met: (1) the calculated evaluation value exceeds the evaluation threshold value, and (2) the number of vehicles that have calculated a higher evaluation value than the vehicle itself within a predetermined range is lower than the number of participating vehicles indicated by the number information.
[0079] If the determination in step S133 is positive, the process proceeds to step S134. In step S134, the control unit 101 (machine learning unit 1014) generates the local model 400 by performing machine learning on the received global model 300 using the collected and accumulated local data.
[0080] In step S135, the control unit 101 (model transmitting unit 1018) transmits the local model information 40 indicating the generated local model 400 to the server device 2. The server device 2 (model receiving unit 213) receives the local model information 40 transmitted from the in-vehicle device 10. When the transmission of the local model information 40 is completed, the control unit 101 of the in-vehicle device 10 ends the processing procedure according to this operation example.
[0081] Returning to FIG. 5, the explanation will be continued. In step S14, the control unit 21 (model receiving unit 213) of the server device 2 generates a new global model 500 by integrating the local models 400 indicated by the local model information 40 received from at least one in-vehicle device 10.
[0082] When the generation of the new global model 500 is completed, the control unit 21 of the server device 2 ends the processing procedure according to this operation example. The server device 2 and each in-vehicle device 10 may treat the new global model 500 as the global model 300 and repeatedly execute the process of associative learning from step S11.
[0083] As described above, the server device 2 according to this embodiment provides evaluation index information including evaluation indexes, evaluation thresholds, and vehicle number information to multiple vehicles that are candidates for participating in federated learning. The vehicles that receive the evaluation index information execute a selection process, and a number of vehicles, up to the upper limit of the number specified by the server device 2, respond. According to this configuration, the server device can control the number of vehicles participating in the federated learning.
[0084] (Modification) The above-described embodiment is merely an example, and the present disclosure can be modified and implemented as appropriate without departing from the spirit and scope of the present disclosure. For example, the processes and means described in this disclosure can be freely combined and implemented as long as no technical contradiction occurs.
[0085] 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 one device. In a computer system, the hardware configuration (server configuration) by which each function is realized can be flexibly changed.
[0086] 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 by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. Non-transitory computer-readable storage media include, for example, any type of disk, such as a magnetic disk (floppy disk, hard disk drive (HDD), etc.), an optical disk (CD-ROM, DVD disk, Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions. [Explanation of symbols]
[0087] 1. Vehicle 2. Server device 10...In-vehicle equipment 101,21...Control section 102,22...Storage section 103,23...Communication module 104 Input / Output Device
Claims
1. Each of a plurality of information processing devices mounted on different moving bodies performs machine learning using local data to generate a local model; each of the plurality of information processing devices receiving a first threshold and an evaluation index from a server device; Each of the plurality of information processing devices calculates an evaluation value according to the evaluation index; each of the plurality of information processing devices exchanging the evaluation value with other information processing devices mounted on one or more other moving bodies present within a predetermined range by near field communication; transmitting local model information indicating the generated local model to a server device, the information processing devices being mounted on one or more moving objects present within the predetermined range and having the calculated evaluation value equal to or greater than a predetermined value, the number of information processing devices being up to the first threshold value; An information processing method comprising:
2. The evaluation index includes an index for evaluating at least one of a quality of the local data, a computing capability of the information processing device, and a communication capability of the information processing device. The information processing method according to claim 1 .
3. the server device transmits a global model to each of the plurality of information processing devices; Each of the plurality of information processing devices generates the local model based on the global model. The information processing method according to claim 1 .
4. each of the plurality of information processing devices determines whether or not to transmit the local model information to the server device based on the plurality of exchanged evaluation values; The information processing method according to claim 1 .
5. Each of the plurality of information processing devices transmits the local model information to the server device when the evaluation value calculated by the device itself is equal to or greater than the predetermined value and the number of the information processing devices that have calculated an evaluation value higher than the evaluation value of the device itself within the predetermined range is less than the first threshold value; The information processing method according to claim 4.
Citation Information
Patent Citations
Systems and methods for vehicular-network-assisted federated machine learning
US20220250656A1
Communication Efficient Federated Learning
US20200242514A1