Information processing methods
By controlling device participation through evaluation value exchange and thresholds, federated learning systems achieve efficient and accurate model training by selecting high-quality devices, addressing inefficiencies and inaccuracies in existing methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2023-07-10
- Publication Date
- 2026-07-29
AI Technical Summary
Existing federated learning systems face inefficiencies and inaccuracies due to uncontrolled participation of client devices, leading to increased communication volume and variable computing power, which can result in suboptimal model training.
A method where information processing devices on mobile bodies exchange evaluation values via proximity communication, with a server device setting thresholds to control the number of devices participating in federated learning based on evaluation criteria, ensuring only high-quality devices contribute local models.
This approach allows for efficient and controlled participation of devices in federated learning, optimizing computing power and communication, resulting in improved model accuracy and reduced inefficiencies.
Smart Images

Figure 0007896565000001 
Figure 0007896565000002 
Figure 0007896565000003
Abstract
Description
Technical Field
[0001] This disclosure relates to federated learning technology.
Background Art
[0002] Federated learning has been proposed as a machine learning method. Federated learning is a method of performing machine learning in a distributed manner without aggregating 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] An object of this disclosure is to efficiently perform federated learning between a server device and a plurality of information processing devices.
Means for Solving the Problems
[0005] One aspect of an embodiment of this disclosure is The information processing method includes: each of a plurality of information processing devices mounted on different mobile 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 mobile bodies within a predetermined range via proximity communication; and a number of information processing devices mounted on one or more mobile bodies within the predetermined range, whose calculated evaluation value is equal to or greater than a predetermined value, up to the first threshold, transmitting local model information indicating the generated local model to the server device.
[0006] Other embodiments include a program for causing a computer to execute the above method, or a computer-readable storage medium that non-temporarily stores the program. [Effects of the Invention]
[0007] According to this disclosure, federated learning can be efficiently performed between a server device and multiple information processing devices. [Brief explanation of the drawing]
[0008] [Figure 1] A schematic diagram of the federated learning system according to the first embodiment. [Figure 2] A diagram showing an example of the configuration of server device 2. [Figure 3] A diagram showing an example of the configuration of the in-vehicle device 10. [Figure 4] A diagram illustrating the flow of data between devices. [Figure 5] A flowchart illustrating the flow of processing between devices. [Figure 6] A flowchart that explains the process in step S13 in detail. [Modes for carrying out the invention]
[0009] Let's consider a case where machine learning models are generated using federative learning. In federative learning, multiple client devices each generate local models using local data, and a server device collects and integrates these models. In federative learning, all available client devices may participate. However, if all client devices (for example, all vehicles on a road) participate, the amount of data increases, which can lead to inefficiency. Furthermore, it may not guarantee the generation of a highly accurate trained model. Therefore, one approach is for the server device to select which client devices will participate in the federative learning process.
[0010] One simple method for selecting client devices is to randomly select them. However, with this method, the attributes of the client devices are unknown, so it is not guaranteed that a local model suitable for model updating will be obtained from the selected client devices. Therefore, model updating may become inefficient and lead to increased communication volume.
[0011] To solve this problem, for example, a method has been devised in which multiple client devices located in a local area exchange evaluation values of their own devices (for example, values representing the quality of local data or computing power), and client devices whose evaluation values are higher than a predetermined value participate in federative 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 example described above, the number of client devices extracted for each local area is indeterminate, which can result in an excess or deficiency of computing power. The information processing method described herein solves such problems.
[0013] The information processing method relating to the first aspect of this disclosure is: The process includes: each of a plurality of information processing devices mounted on different mobile bodies performing machine learning using local data and generating a local model; each of the plurality of information processing devices receiving a first threshold and 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 mobile bodies within a predetermined range via proximity communication; and a number of information processing devices mounted on one or more mobile bodies within the predetermined range, whose calculated evaluation value is equal to or greater than a predetermined value, up to the first threshold, transmitting local model information indicating the generated local model to the server device.
[0014] In the information processing method according to the first aspect of this disclosure, which of a plurality of information processing devices will participate in federated learning is determined based on evaluation values exchanged between each information processing device via proximity communication. This makes it possible to select information processing devices to participate in federated learning from among a plurality of information processing devices mounted on mobile bodies located within a geographically close range. It should be noted that "exchange" does not necessarily have to be carried out by unicast communication. For example, it also includes a form in which evaluation values are sent and received by both parties via broadcast. However, in such a system, if information processing devices are selected based on criteria such as "highest evaluation value," only one information processing device may be selected within a given range. On the other hand, if information processing devices are selected based on criteria such as "evaluation value higher than a predetermined value," more information processing devices than expected may be selected.
[0015] Therefore, in the information processing method according to this embodiment, the server device distributes a first threshold value to multiple information processing devices in addition to the evaluation index for performing the evaluation. The first threshold value is a value that indicates the maximum number of information processing devices selected within a predetermined range. Each of the plurality of information processing devices determines whether or not the device itself transmits local model information (i.e., participates in federated learning) within a range where the number of information processing devices transmitting local model information does not exceed the first threshold value within a predetermined range. For example, each information processing device may determine that the device itself participates in federated learning when (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 an evaluation value higher than the device itself within a predetermined range is less than the first threshold value.
[0016] According to such a form, in a system that performs federated learning by a plurality of client devices, the server device can control the number of participating client devices and the requirements that the client devices should satisfy. As a result, the efficiency of federated learning performed by the server device can be improved.
[0017] Hereinafter, specific embodiments of the present disclosure will be described based on the drawings. The hardware configuration, module configuration, functional configuration, etc. described in each embodiment are not intended to limit the technical scope of the disclosure only to those unless otherwise specified.
[0018] (First Embodiment) The outline of the system in this embodiment will be described. FIG. 1 is a diagram for explaining the 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] Vehicle 1 is a connected vehicle capable of communicating with server device 2 via wireless communication. Vehicle 1 can provide various services by communicating with an external server device via an in-vehicle device 10 having wireless communication capabilities. In this embodiment, the in-vehicle device 10 has the function of training a machine learning model based on instructions from server device 2 and transmitting the resulting machine learning model to server device 2.
[0020] In this embodiment, the model generated by the in-vehicle device 10 is referred to as the local model, and the data used by the in-vehicle device 10 for training (for example, sensor data collected by vehicle 1) is referred to as local data. The in-vehicle device 10 generates the local model using the local data collected by vehicle 1.
[0021] 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. Server device 2 distributes a global model, which is an initial machine learning model for generating local models, to multiple in-vehicle devices 10. The in-vehicle devices 10 use the collected local data to perform machine learning on the global model and generate local models. The local models are localized and trained machine learning models.
[0022] Onboard devices 10 installed in multiple vehicles located in close proximity to each other communicate with one another to determine which vehicle will generate the local model. Each in-vehicle device 10 calculates an evaluation value according to a predetermined evaluation index obtained from the server device 2. Each in-vehicle device 10 transmits the calculated evaluation value to other in-vehicle devices 10 installed in one or more other vehicles located near its own vehicle via proximity communication. In addition, each in-vehicle device 10 receives the evaluation value calculated by the other in-vehicle devices 10 installed in one or more other vehicles located near its own vehicle via proximity communication. To trust, 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 decides, for example, whether to become a device that transmits its local model to the server device 2 (i.e., participate in federated learning) based on the evaluation value it has calculated and the evaluation value it has received from other in-vehicle devices 10.
[0024] Server device 2 receives local model information indicating a local model from at least one of the multiple in-vehicle devices 10. Server device 2 also integrates the local models indicated by the local model information received from each of the at least one in-vehicle devices 10. This allows server device 2 to generate a new global model. The new global model is a trained machine learning model generated by integrating the local models obtained from at least one in-vehicle device 10.
[0025] [Device configuration] Figure 2 shows an example of the configuration of server device 2. Server device 2 is a computer such as a personal computer, smartphone, mobile phone, tablet computer, or personal information terminal. Server device 2 is composed of a control unit 21, a storage unit 22, a communication module 23, and an input / output device 24.
[0026] Server device 2 can be configured as a computer having a processor (CPU, GPU, etc.), main memory (RAM, ROM, etc.), and auxiliary storage (EPROM, hard disk drive, removable media, etc.). The auxiliary storage contains 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 later, 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 realizes various functions of the server device 2 by executing a predetermined program. The control unit 21 can be implemented by a hardware processor such as a CPU. The control unit 21 may also be configured to include RAM, ROM (Read Only Memory), cache memory, etc.
[0028] The control unit 21 is comprised of four software modules: a model distribution unit 211, an index distribution unit 212, a model receiving unit 213, and an integrated processing unit 214. Each software module may be implemented by the control unit 21 (CPU) executing 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, which indicates the global model, to each of the multiple in-vehicle devices 10. The global model may be a machine learning model in its initial state before training, or it may be a machine learning model after training.
[0030] The indicator distribution unit 212 is configured to transmit evaluation indicator information, which indicates the evaluation indicators, to each of the multiple in-vehicle devices 10. In this embodiment, the global model and evaluation indicators are distributed from the server device 2 to each in-vehicle device 10 through the operation of the model distribution unit 211 and the indicator distribution unit 212. Details of the evaluation indicators will be described later.
[0031] The model receiving unit 213 is configured to receive local model information indicating the local model from at least one of the multiple in-vehicle devices 10. The in-vehicle device then receives evaluation values. This is an in-vehicle device that, as a result of the selection process based on the evaluation values, decided to "send its local model to server device 2." Details of the selection process based on the evaluation values will be described later.
[0032] The integration processing unit 214 is configured to integrate local models indicated by local model information received from at least one in-vehicle device 10 and generate a new global model. The integration processing unit 214 may be further configured to generate global model information indicating the new global model obtained by integration and to store the generated global model information in a predetermined storage area (e.g., storage unit 22).
[0033] The memory unit 22 is a means for storing information and is composed of storage media such as RAM, magnetic disks, and flash memory. The memory unit 22 stores programs executed by the control unit 21, data used by those programs, and so on.
[0034] The memory unit 22 stores the aforementioned global model information and evaluation index information. The global model information includes the 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 in its initial state before training, or a machine learning model after training.
[0035] The evaluation index information includes evaluation indexes to be distributed to the in-vehicle devices 10. The evaluation index is an index for selecting the in-vehicle devices 10 that will participate in federative learning. The evaluation index may include formulas for calculating evaluation values. The evaluation value is an evaluation value for selecting the in-vehicle devices 10 that generate a local model suitable for updating the global model (i.e., one that improves the performance of the new global model generated by the integration). The evaluation index consists of, for example, formulas for evaluating the quality of local data, formulas for evaluating computing power, and formulas for evaluating communication capabilities. By calculating evaluation values according to these formulas, the in-vehicle devices 10 can determine "which of multiple in-vehicle devices within a predetermined range will participate in federative learning." Furthermore, the evaluation index information includes an evaluation threshold (hereinafter referred to as the "evaluation threshold"). The evaluation threshold is a threshold for filtering the in-vehicle devices 10 that should participate in associative learning. In this embodiment, in-vehicle devices 10 whose evaluation value calculated according to the evaluation index exceeds the evaluation threshold participate in associative learning. Furthermore, the evaluation index information includes information that specifies the maximum number of in-vehicle devices 10 participating in federated learning within a predetermined range (hereinafter referred to as "number of participating devices") (hereinafter referred to as "number of devices information").
[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 communicate with multiple in-vehicle devices 10, for example, via mobile communication services such as Wi-Fi, 3G, 4G, or 5G.
[0037] The input / output device 24 is a means for receiving input operations performed by an operator and presenting information. Specifically, the input / output device 24 includes devices for input such as a mouse and keyboard, and devices for output such as a display and speakers. The input / output device may be integrated with, for example, a touch panel display.
[0038] Figure 3 shows an example of the configuration of the in-vehicle device 10. The in-vehicle device 10 is a computer such as a personal computer, smartphone, mobile phone, tablet computer, or personal information terminal. The in-vehicle device 10 is composed of 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.) and main memory (RAM, ROM, etc.) It can be configured as a computer with auxiliary storage devices (EPROM, hard disk drive, removable media, etc.).
[0040] The control unit 101 is a computing unit that realizes various functions of the in-vehicle device 10 by executing a predetermined program. The control unit 101 can be implemented by a hardware processor such as a CPU. The control unit 101 may also be configured to include RAM, ROM (Read Only Memory), cache memory, etc.
[0041] The control unit 101 is comprised of 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 implemented by the control unit 21 (CPU) executing 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 representing the global model from the server device 2. In this embodiment, the model acquisition unit 1011 is configured to receive global model information distributed from the server device 2. The index acquisition unit 1012 is configured to acquire evaluation index information indicating the evaluation index from the server device 2. As mentioned above, the evaluation index information includes three pieces of information: (1) an index for calculating the evaluation value (evaluation index), (2) a threshold value for the evaluation value, and (3) the maximum number of in-vehicle devices 10 participating in federated learning within a predetermined range (number of participants).
[0043] The data acquisition unit 1013 is configured to collect local data acquired by one or more sensors on the vehicle 1. The machine learning unit 1014 is configured to perform machine learning on a global model using the collected local data and generate a local model. The machine learning unit 1014 may be further configured to store the generated local model information in a predetermined memory area.
[0044] The evaluation value calculation unit 1015 is configured to calculate evaluation values according to the evaluation indicators included in the evaluation indicator information obtained from the server device 2. The evaluation value exchange unit 1016 is configured to exchange calculated evaluation values with other on-board devices 10 installed in one or more other vehicles located near its own vehicle, via proximity communication. In this embodiment, the range in which proximity communication is possible is a "predetermined range".
[0045] The decision unit 1017 performs a process to determine "whether or not its own device will operate 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 results of exchanging evaluation values with other in-vehicle devices 10. In the following description, the process of determining which in-vehicle devices 10 will generate a local model and transmit it to the server device 2 from among a plurality of in-vehicle devices 10 within a predetermined range will be called "selection," and the process for this will be called the "selection process." In other words, the selected in-vehicle devices 10 will become devices that participate in federative learning. In this embodiment, each of the plurality of in-vehicle devices 10 performs the selection process and autonomously and in a distributed manner determines whether or not its own device will participate in federative learning. The model transmission 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 determination unit 1017.
[0046] The memory unit 102 is a means for storing information and is composed of storage media such as RAM, magnetic disks, and flash memory. The memory unit 102 stores programs executed by the control unit 101, data used by those programs, and so on.
[0047] The memory unit 102 stores global model information and 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 decisions made by the decision unit 1017. Furthermore, the memory unit 102 stores local data and local model information. The local data is data collected by the sensor S, which will be described later. The local model information includes the 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 communicate with the server device 2 via, for example, a mobile communication service such as Wi-Fi, 3G, 4G, or 5G.
[0049] The input / output device 104 is a means of receiving input operations performed by the vehicle occupants and presenting information to the occupants. Specifically, the input / output device 104 includes devices for input such as a mouse or keyboard, and devices for output such as a display or speaker. The input / output device may be integrated with, for example, a touch panel display.
[0050] The short-range communication module 105 is a communication module for transmitting and receiving data via proximity communication. In one example, the short-range communication module 105 may be a beacon module. The type of beacon module may be appropriately selected depending on the embodiment. A known type of beacon module may be used for the short-range communication module 105. In this embodiment, the short-range communication module 105 is used to perform proximity communication with other in-vehicle devices 10 other than its own device. Note that the type of short-range communication module 105 is not limited to a beacon module. In another example, the short-range communication module 105 may be configured to perform proximity communication such as Wi-Fi®, Bluetooth®, D2D, etc. That's good too.
[0051] The external interface 106 is an interface for connecting to an external device, such as a USB (Universal Serial Bus) port or a dedicated port. The type and number of external interfaces 106 may be appropriately determined according to the type and number of external devices to be connected. In this embodiment, the in-vehicle device 10 is connected to the sensor S via the external interface 106. The sensor S may consist of multiple sensors, such as an image sensor (camera, etc.), a proximity sensor, a Lidar (light detection and ranging) sensor, and a radar.
[0052] The specific hardware configuration of the in-vehicle device 10 and the server device 2 can be appropriately omitted, replaced, and added depending on the embodiment. For example, the control unit 101 and the control unit 21 may include multiple hardware processors. The hardware processors may consist of microprocessors, FPGAs, GPUs, etc. In addition, input / output devices other than those exemplified (e.g., optical drives, etc.) may be added. Furthermore, the server device 2 may be composed of multiple computers. In this case, the hardware configuration of each computer may or may not be the same.
[0053] [Process flow] Next, referring to Figure 4, we will explain the flow of data transmitted and received between devices. Figure 4 shows the data flow transmitted and received by each element of the server device 2 and the in-vehicle device 10.
[0054] First, the server device 2 (model distribution unit 211) transmits global model information 30, which indicates the global model 300, to each of the multiple in-vehicle devices 10. The global model 300 can be a machine learning model in its initial state before training. The in-vehicle device 10 (model acquisition unit 1011) receives the global model information 30 and the global model information Extract Global Model 300 from Report 30.
[0055] Furthermore, the server device 2 (indicator distribution unit 212) transmits the evaluation indicator information 60 to each of the multiple in-vehicle devices 10. The in-vehicle device 10 (indicator acquisition unit 1012) receives the evaluation indicator information 60 from the server device 2 and acquires the evaluation indicators 80, evaluation thresholds 70, and number information 90 included in the evaluation indicator information 60.
[0056] The in-vehicle device 10 (evaluation value calculation unit 1015) calculates an evaluation value according to the evaluation index 80. The evaluation index 80 is defined as appropriate to select an in-vehicle device 10 that generates a local model 400 suitable for updating the global model 300 (i.e., one that improves the performance of the new global model obtained as a result of federative learning). The quality of the local data affects the accuracy of the new global model generated by federative learning. Furthermore, the higher the computing power of the in-vehicle device 10, the faster the local model 400 can be created, and the shorter the time required to aggregate the local model 400 to the server device 2. Similarly, the higher the communication capability of the in-vehicle device 10, the shorter the time required to aggregate the local model 400 to the server device 2. Therefore, in this embodiment, the evaluation index 80 includes at least one of the following: a first index for evaluating the quality of local data, a second index for evaluating the computing power of each in-vehicle device 10, and a third index for evaluating the communication power of each in-vehicle device 10. The evaluation index 80 may be expressed as a function. In this case, each in-vehicle device 10 calculates an evaluation value by executing the arithmetic processing of the function that expresses the evaluation index 80.
[0057] The first indicator can be defined such that the value is higher the more beneficial the local data is to improving the performance of the global model 300, and lower the value is lower the less beneficial it is to performance improvement. Whether or not the local data is beneficial may be evaluated using the global model 300. For example, the objective function used in the machine learning of the global model 300 can be used to evaluate the usefulness of the local data. For example, if the optimization problem in machine learning is achieved by minimizing the value of the objective function, the first indicator may be defined such that the value is higher the larger the error calculated by the objective function when the local data is given to the global model 300, and lower the value is lower the smaller the error.
[0058] The second indicator can be defined such that higher computational power results in a higher evaluation, and lower computational power results in a lower evaluation. The second indicator may be expressed by a function. Computational power may be calculated according to the performance of computing resources such as processor resources and memory resources. Computational power may be evaluated based on, for example, the computation speed of processor resources, the capacity of memory resources, the read speed of memory resources, etc.
[0059] The third indicator can be defined such that a higher communication capability results in a higher evaluation, and a lower communication capability results in a lower evaluation. The third indicator may be expressed as a function. Communication capability may be calculated according to the performance of the communication module that can be used for transmission of local model 400. Communication capability may be evaluated based on, for example, communication bandwidth, communication speed, etc.
[0060] If the evaluation index 80 includes a first index, a second index, and a third index, the evaluation index 80 may be constructed by an expression that combines the functions described above. In the following explanation, the evaluation value calculated by the in-vehicle device 10 (evaluation value calculation unit 1015) using the evaluation index 80 will be referred to as evaluation value 80A. The calculated evaluation value 80A is then sent by the in-vehicle device 10 (evaluation value exchange unit 1016) to other vehicles (other in-vehicle devices 10) located in the vicinity of vehicle 1 (within a predetermined range centered on vehicle 1). In contrast, it is broadcast.
[0061] Furthermore, the on-board device 10 (evaluation value exchange unit 1016) receives evaluation values (hereinafter referred to as evaluation values 80B) calculated by other on-board devices 10. There may be multiple other vehicles 1 and other on-board devices 10. In this case, there may be multiple evaluation values 80B. As a result, a vehicle 1 (on-board device 10) located within a predetermined range can obtain multiple sets of evaluation values corresponding to all vehicles located within that range.
[0062] The in-vehicle device 10 performs selection processing using the acquired set of evaluation values, evaluation thresholds, and unit quantity information. Specifically, the in-vehicle device 10 determines that it has been selected if the following conditions are met. (1) The calculated evaluation value of 80A exceeds the evaluation threshold. (2) The number of vehicles that calculated a higher evaluation value than their own device within the designated area is less than the number of participating vehicles indicated by the vehicle count information. For example, if the set of evaluation values obtained through the exchange includes evaluation values for 5 vehicles, and the evaluation value calculated by the vehicle in question (meeting the evaluation threshold) is the third highest, and the number of participating vehicles indicated by the vehicle count information is 3, then the above conditions are met, and the vehicle will be selected.
[0063] Once a 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 training data based on local data and applies it to the global model 300 to perform machine learning. Local data consists of multiple datasets. Each dataset consists of a combination of training data and ground truth labels, and is used as the sample to be trained in machine learning. Training data are samples of explanatory variables and are input into the machine learning model in machine learning. If the inference task is to derive an inference result from sensor data, the training data may be sensor data obtained from sensor S. Ground truth labels are configured to show the true value of the target variable for the input sample of explanatory variables, i.e., the solution (true value) of the inference task for the corresponding training data. In machine learning, training data is used as input data, and ground truth labels are used as training data.
[0064] The machine learning unit 1014 trains the global model 300 for each dataset so that the output values (inference results) obtained from the global model 300, when given training data, fit the true values indicated by the correct labels. Training the global model 300 is done by adjusting (optimizing) the values of the computational parameters that make up the global model 300. The method for adjusting the computational parameters (the method for solving the optimization problem) may be appropriately determined depending on the type, configuration, structure, etc. of the machine learning model adopted for the global model 300.
[0065] The machine learning unit 1014 adjusts the values of the global model's computation parameters through this series of update processes so that the sum of errors between the output values (inference results) obtained by providing training data and the true values indicated by the correct labels becomes smaller. This adjustment of the computation parameter values may be repeated until predetermined conditions are met, such as adjusting the set number of iterations or the calculated sum of errors falling below a threshold. In addition, machine learning conditions such as the objective function (cost function, loss function, error function) and learning rate for calculating the errors may be set as appropriate depending on the embodiment. This machine learning process can generate a local model 400. The machine learning unit 1014 generates local model information 40 indicating the local model 400.
[0066] Furthermore, the machine learning method is not limited to supervised learning. In other examples, the machine learning method may include unsupervised learning (including adversarial learning) or reinforcement learning. The composition of the local data may be determined as appropriate depending on the machine learning method and type of machine learning model used. In addition, the machine learning model that constitutes the global model 300 may be a neural network, regression model, support vector machine, etc. The generated local model information 40 is sent 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 multiple local models 400 may be performed by averaging the values of corresponding calculation parameters included in each local model 400, summing the values of corresponding calculation parameters, etc. The values of calculation parameters included in each local model 400 may be weighted before integration. In this case, the weights of each local model 400 may be specified in any way.
[0068] The integration of the local model 400 may be performed for all calculation parameters, or for some calculation parameters. If the integration of the local model 400 is performed partially, the local model information 40 transmitted from the in-vehicle device 10 to the server device 2 may omit information that is not integrated. The server device 2 (integrated processing unit 214) generates global model information 50 indicating a 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) Figure 5 is a sequence diagram showing an example of the processing steps of federated learning performed between the server device 2 and each in-vehicle device 10 according to this embodiment.
[0070] First, in step S11, the control unit 21 (model distribution unit 211) of the server device 2 transmits global model information 30, which indicates the global model 300, to each in-vehicle device 10 using the communication module 23. Transmission may be performed, for example, by broadcast. Also, if a geographical range for integrating local models 400 is defined, a global model 300 to be distributed may be selected for each defined range.
[0071] Global Model 300 may be a machine learning model before training, or it may be a machine learning model that has already been trained. If Global Model 300 is a machine learning model that has already been trained, it may be generated by machine learning performed by Server Device 2, or it may be generated by an integrated process using prior federative 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 (indicator distribution unit 212) of the server device 2 transmits evaluation indicator information 60, including the evaluation indicator 80, the evaluation threshold 70, and the number of units information 90, to each in-vehicle device 10 using the communication module 23.
[0073] Similar to step S11, the transmission range and 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 broadcast. This saves bandwidth for wireless communication. In addition, 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 differ from the evaluation index 80 distributed to others. .
[0074] In step S13, each in-vehicle device 10 performs an autonomous distributed vehicle selection process, and if it is selected, it generates a local model and sends it to the server device 2.
[0075] Figure 6 is a flowchart showing an example of the process performed by the in-vehicle device 10 in step S13. The process in step S13 according to this embodiment includes the processes of steps S131 to S135 described below.
[0076] In parallel with the illustrated process, the control unit 101 (data acquisition unit 1013) of the in-vehicle device 10 is assumed to be performing a process of collecting local data generated by the sensor S and storing the collected local data in the storage 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 the evaluation value calculated by its own device to one or more other on-board devices 10 installed in other vehicles located near its own vehicle, via proximity communication. It also receives evaluation values calculated by the other on-board devices 10 according to the evaluation index 80 from the other on-board devices 10 installed in each of the other vehicles. The timing of the transmission and reception of evaluation values may be adjusted among the on-board devices 10 in any manner. A short-range communication module 105 is used for proximity communication. In this embodiment, each in-vehicle device 10 uses a beacon module as the short-range communication module 105. Once the exchange of evaluation values is complete, the process transitions to step S133.
[0078] In step S133, the control unit 101 (decision unit 1017) determines whether its own vehicle is eligible for selection based on the evaluation values exchanged with nearby vehicles. This step is considered a positive determination if both of the following conditions are met: (1) the calculated evaluation value exceeds the evaluation threshold, and (2) the number of vehicles that calculated a higher evaluation value than its own within a predetermined range is less than the number of participating vehicles indicated by the vehicle count information.
[0079] If the result in step S133 is positive, the process proceeds to step S134. In step S134, the control unit 101 (machine learning unit 1014) generates a local model 400 by performing machine learning on the received global model 300 using the collected and stored local data.
[0080] In step S135, the control unit 101 (model transmission unit 1018) transmits 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. Once the transmission of the local model information 40 is complete, the control unit 101 of the in-vehicle device 10 terminates the processing procedure related to this example of operation.
[0081] Returning to Figure 5, we continue the explanation. 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 model 400 indicated by the local model information 40 received from at least one in-vehicle device 10.
[0082] Once the generation of the new global model 500 is complete, the control unit 21 of the server device 2 terminates the processing procedure related to this example of operation. The server device 2 and each in-vehicle device 10 may treat the new global model 500 as global model 300 and repeatedly execute the associative learning process from step S11.
[0083] As described above, the server device 2 according to this embodiment provides evaluation index information, including evaluation metrics, evaluation thresholds, and vehicle quantity information, to a plurality of vehicles that are candidates to participate in federated learning. Vehicles that receive the evaluation index information perform a selection process, and a number of vehicles up to the number specified by the server device 2 respond. With this configuration, the server device can control the number of vehicles participating in federated learning.
[0084] (modified version) The embodiments described above are merely examples, and this disclosure may be modified as appropriate without departing from its essence. For example, the processes and means described in this disclosure can be freely combined and implemented, as long as no technical inconsistencies arise.
[0085] Furthermore, a process described as being performed by a single device may be divided and executed by multiple devices. Conversely, a process described as being performed by different devices may be executed by a single device. In a computer system, the hardware configuration (server configuration) by which each function is implemented can be flexibly changed.
[0086] The present disclosure can also be realized by supplying a computer program implementing the functions described in the embodiments above to a computer, and having one or more processors in the computer read and execute the program. Such a computer program may be provided to the computer by a non-temporary computer-readable storage medium that can be connected to the computer's system bus, or it may be provided to the computer via a network. Non-temporary computer-readable storage mediums include, for example, any type of disk such as magnetic disks (floppy disks, hard disk drives (HDDs), etc.), optical disks (CD-ROMs, DVDs, Blu-ray discs, etc.), read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic cards, flash memory, optical cards, 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 Unit 102,22...Storage section 103,23...Communication module 104... Input / Output Devices
Claims
1. Each of the multiple information processing devices mounted on different mobile vehicles performs machine learning using local data and generates a local model, Each of the aforementioned plurality of information processing devices receives a first threshold and evaluation index from the server device, Each of the aforementioned plurality of information processing devices calculates an evaluation value according to the evaluation index, Each of the aforementioned plurality of information processing devices exchanges the evaluation value with other information processing devices mounted on one or more other mobile devices located within a predetermined range, via proximity communication. The information processing devices mounted on one or more mobile bodies within the predetermined range, whose calculated evaluation values are equal to or greater than the predetermined value, and whose number of information processing devices is limited to the first threshold, transmit the local model information indicating the generated local model to the server device. Information processing methods, including those mentioned above.
2. The evaluation indicators include indicators for evaluating at least one of the following: the quality of the local data, the computing power of the information processing device, and the communication power 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 any one of claims 1 to 3.
5. Each of the aforementioned plurality of information processing devices is: If the evaluation value calculated by the device is equal to or greater than the predetermined value, and the number of information processing devices that have calculated a higher evaluation value than the device within the predetermined range is less than the first threshold, the local model information is transmitted to the server device. The information processing method according to claim 4.