Information processing method, information processing device, and server device

Decentralized evaluation-based selection in federated learning among mobile devices improves efficiency and accuracy by autonomously selecting devices for model updates based on proximity communication, reducing central server reliance and privacy risks.

JP7605097B2Active Publication Date: 2024-12-24TOYOTA JIDOSHA KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021208921
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2024-12-24
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

Conventional federated learning methods face inefficiencies in selecting client devices for model updates, leading to poor model accuracy and increased communication traffic due to centralized selection processes that may compromise privacy.

Method used

A decentralized selection method where information processing devices on mobile objects exchange evaluation values through proximity communication to autonomously determine suitability for model updates, reducing reliance on a central server and minimizing data exchange.

Benefits of technology

This approach enhances the efficiency of federated learning by selecting suitable devices based on geographic proximity and local data similarity, improving model accuracy while addressing privacy concerns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007605097000002
    Figure 0007605097000002
  • Figure 0007605097000003
    Figure 0007605097000003
  • Figure 0007605097000004
    Figure 0007605097000004
Patent Text Reader

Abstract

To provide a technology for efficiently executing associative learning between a server device and a plurality of information processing devices each loaded on a mobile object.SOLUTION: An information processing method according to one aspect of the present disclosure comprises steps of: generating a local model by executing machine learning of a global model by using local data by each information processing device; calculating an evaluation value according to an evaluation index by each information processing device; exchanging the evaluation value calculated by proximity communication by each information processing device; determining whether or not evaluation is high on the basis of comparison between an evaluation value of a self device and evaluation values of other information processing devices by each information processing device; and transmitting local model information showing the generated local model to the server device by at least one information processing device the evaluation of which is determined to be high.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a technology for federated learning of machine learning models implemented between a server device and multiple information processing devices each mounted on a mobile object such as a vehicle. [Background technology]

[0002] In conventional machine learning methods, individually obtained training data is aggregated and the aggregated training data is used to train a machine learning model. However, this method has problems such as the cost (e.g., time cost, communication cost, etc.) of aggregating the training data and the large computational load on the computer that performs the machine learning.

[0003] Therefore, federated learning has been proposed as a method to solve these problems. Federated learning is a method of performing machine learning in a distributed manner without aggregating learning data. When performing federated learning between a server device and multiple client devices, each client device individually collects local data. Each client device generates a local model by performing machine learning on a global model using the collected local data. Then, each client device transmits the generated local model to the server device. The server device generates a new global model by integrating the local models received from each client device.

[0004] This federated learning method allows for the generation of a trained machine learning model (a new global model) that reflects the local data obtained by each client device without uploading the local data to a server device. This means that the cost of aggregating local data on a server device can be eliminated. Furthermore, the computational load required for machine learning can be distributed to each client device. Therefore, compared to the conventional methods described above, this method reduces costs and avoids the concentration of computational loads, while allowing for the generation of a trained model that has learned a large amount of data.

[0005] Patent Document 1 proposes an example of a procedure for performing federated learning between a server device and a client device. Non-Patent Document 1 proposes a method for performing federated learning between a central server and each vehicle client, which interacts between the central server and each vehicle client based on two-dimensional contract theory and selects vehicle clients participating in federated learning.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

Non-Patent Documents

[0007]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0008] An object of the present disclosure is to provide a technology that enables efficient federated learning between a server device and a plurality of information processing devices respectively mounted on a moving body.

Means for Solving the Problems

[0009] An information processing method according to a first aspect of the present disclosure includes: each of a plurality of information processing devices mounted on different mobile bodies collecting local data; each of the plurality of information processing devices using the collected local data to perform machine learning of a global model to generate a local model; each of the plurality of information processing devices calculating an evaluation value according to an evaluation index; each of the plurality of information processing devices transmitting, via near-field communication, the calculated evaluation value to other information processing devices mounted on one or more other mobile bodies located near the mobile body; each of the plurality of information processing devices receiving, via near-field communication, the evaluation value calculated by the other information processing devices mounted on the one or more other mobile bodies; each of the plurality of information processing devices determining whether the evaluation is high by comparing the calculated evaluation value with the evaluation value received from the other information processing devices; and at least one information processing device determined to have a high evaluation transmitting, to a server device, local model information indicating the generated local model.

[0010] An information processing device according to a second aspect of the present disclosure is an information processing device mounted on a mobile body, and includes a control unit configured to collect local data, generate a local model by using the collected local data to perform machine learning of a global model, calculate an evaluation value according to an evaluation index, transmit the calculated evaluation value via near-field communication to other information processing devices mounted on one or more other mobile bodies in the vicinity, receive, via near-field communication, from the other information processing devices mounted on the one or more other mobile bodies, evaluation values ​​calculated by the other information processing devices according to the evaluation index, determine whether the evaluation is high by comparing the calculated evaluation value with the evaluation value received from the other information processing devices, and, if it is determined that the evaluation is high, transmit local model information indicating the generated local model to a server device.

[0011] A server device according to a third aspect of the present disclosure includes a plurality of information processing devices configured to each collect local data and generate a local model by performing machine learning on a global model using the collected local data, the server device being configured to be able to communicate with each of the plurality of information processing devices mounted on different mobile bodies, and including a control unit configured to receive local model information indicating a local model from at least one of the plurality of information processing devices and generate a new global model by integrating the local models indicated by the local model information received from the at least one information processing device. The plurality of information processing devices are further configured to calculate an evaluation value according to an evaluation index, transmit the calculated evaluation value via near-field communication to other information processing devices mounted on one or more other mobile bodies located near the mobile body, receive the evaluation value calculated by the other information processing devices according to the evaluation index from the other information processing devices mounted on the one or more other mobile bodies via near-field communication, and determine whether the evaluation is high by comparing the calculated evaluation value with the evaluation value received from the other information processing devices. The at least one information processing device is an information processing device that has been determined to have a high evaluation as a result of the comparison based on the evaluation value. [Effects of the Invention]

[0012] According to the present disclosure, federated learning can be efficiently performed between a server device and a plurality of information processing devices each mounted on a mobile object. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 schematically illustrates an example of a situation to which the present disclosure is applied. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a server device according to an embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of a hardware configuration of the in-vehicle device according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a software configuration of the server device according to the embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of a software configuration of the in-vehicle device according to the embodiment. [Figure 6] FIG. 6 shows a schematic diagram of an example of the machine learning process in an in-vehicle device. [Figure 7] FIG. 7 is a sequence diagram showing an example of a process of federated learning executed between the server device and each in-vehicle device according to the embodiment. [Figure 8] FIG. 8 is a flowchart illustrating an example of a processing procedure for generating and autonomously distributedly selecting a local model by the in-vehicle device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] All client devices that can participate may participate in federated learning. However, if all client devices participate in federated learning, the efficiency of updating the machine learning model (generating a new global model) will decrease. Also, it may not be possible to generate a trained model with high accuracy. Therefore, the number of client devices that participate in federated learning may be selected (adjusted).

[0015] A simple selection method is to randomly select client devices from multiple client devices to participate in federated learning. However, with this method, the server device selects client devices to participate in federated learning without knowing the attributes of the client devices (e.g., the quality of available local data, computing power, communication capabilities, etc.), so it is not guaranteed that the selected client devices will produce a local model suitable for model updating. This can lead to inefficient model updates and increased communication traffic.

[0016] One possible solution to this problem is for the server device to investigate the attributes (which may be interpreted as state, status, etc.) of each client device and identify client devices that can generate local models suitable for model updating. However, this method requires each client device to report its own attributes to the server device, which may raise privacy concerns. Furthermore, the selection process is centralized, and data communication occurs between the server device and each client device during the selection process, which may lead to a decrease in the efficiency of federated learning.

[0017] The method proposed in Non-Patent Document 1 employs two-dimensional contract theory to ensure information asymmetry between the server device and each client device (vehicle client). In other words, even if each client device does not report its own attributes directly to the server device, the server device can select client devices to participate in federated learning based on the attributes of the client devices. This solves the privacy issue. However, even with this method, the selection process is centralized, and complex data communication is performed between the server device and each client device to solve the two-dimensional contract theory problem. This may result in a decrease in the efficiency of federated learning. Therefore, the efficiency of federated learning remains an issue with conventional methods.

[0018] In contrast, an information processing method according to a first aspect of the present disclosure includes: each of a plurality of information processing devices mounted on different moving bodies collects local data; each of the plurality of information processing devices uses the collected local data to perform machine learning of a global model, thereby generating a local model; and each of the plurality of information processing devices The system includes: calculating an evaluation value according to the evaluation index; each of the plurality of information processing devices transmitting the calculated evaluation value via near field communication to other information processing devices mounted on one or more other mobile bodies present in the vicinity of the mobile body; each of the plurality of information processing devices receiving the evaluation value calculated by the other information processing devices from the other information processing devices mounted on one or more other mobile bodies via near field communication; each of the plurality of information processing devices determining whether the evaluation is high or not by comparing the calculated evaluation value with the evaluation value received from the other information processing devices; and at least one information processing device determined to have a high evaluation transmitting local model information indicating the generated local model to a server device.

[0019] Multiple information processing devices mounted on mobile objects moving within similar geographical ranges are likely to collect similar local data. Therefore, the capabilities of local models generated by each of these information processing devices are likely to be similar, and it is likely that it is sufficient to update the global model using a local model obtained from at least one information processing device. In the information processing method according to the first aspect of the present disclosure, the selection process is achieved by exchanging evaluation values ​​between the information processing devices via near-field communication. This selection process using near-field communication allows information processing devices to participate in federated learning to be selected from multiple information processing devices mounted on mobile objects located within close geographical ranges, and the local model generated by the selected information processing device to be updated in the global model. Furthermore, information processing devices to participate in federated learning can be selected in an autonomous, decentralized manner without the intervention of a server device (i.e., each information processing device independently determines whether to participate in federated learning). Therefore, the information processing method according to the first aspect of the present disclosure can improve the efficiency of federated learning between a server device and multiple information processing devices mounted on each of the mobile objects.

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

[0021] [1 Application example] 1 is a diagram showing an example of a situation in which the present disclosure is applied. The system according to this embodiment is configured with a server device 1 and a plurality of in-vehicle devices 2.

[0022] The server device 1 according to this embodiment is one or more computers configured to acquire local models 50 from in-vehicle devices 2 and integrate the acquired local models 50. The in-vehicle devices 2 according to this embodiment are one or more computers configured to collect local data 3 and generate the local model 50 by performing machine learning on a global model 40 using the collected local data 3. The multiple in-vehicle devices 2 are mounted on different vehicles V. In the example of FIG. 1, the in-vehicle device 2A is mounted on a vehicle VA, and the in-vehicle device 2B is mounted on a vehicle VB (in the following description, symbols A, B, etc. are used to distinguish between the devices, and symbols are omitted when no distinction is made). The vehicle V is, for example, an automobile. In this embodiment, the vehicle V is an example of a moving body, and the in-vehicle device 2 is an example of an information processing device mounted on a moving body.

[0023] In this embodiment, each in-vehicle device 2 collects local data 3. Each in-vehicle device 2 uses the collected local data 3 to perform machine learning of a global model 40. and generates a local model 50. Performing machine learning using the local data 3 corresponds to localizing for the device itself. The global model 40 is a machine learning model before being localized by machine learning using the local data 3. The local model 50 is a trained machine learning model after being localized, which is generated by updating the global model 40 by machine learning using the local data 3.

[0024] Each in-vehicle device 2 calculates an evaluation value 6 according to the evaluation index 70. Each in-vehicle device 2 transmits the calculated evaluation value 6 to other in-vehicle devices 2 mounted on one or more other vehicles V located near its own vehicle V via short-range communication. Each in-vehicle device 2 receives, via short-range communication, the evaluation values ​​6 calculated by the other in-vehicle devices 2 mounted on one or more other vehicles V located near its own vehicle V. Each in-vehicle device 2 compares its calculated evaluation value 6 with the evaluation values ​​6 received from the other in-vehicle devices 2 of the one or more other vehicles V to determine whether the evaluation is high. At least one in-vehicle device 2 determined to have a high evaluation transmits local model information 500 indicating the generated local model 50 to the server device 1.

[0025] In the example of Fig. 1, it is assumed that vehicles VA and VB are located within a range where in-vehicle device 2A and in-vehicle device 2B can exchange data with each other through proximity communication. In this example, in-vehicle device 2A collects local data 3A and uses the collected local data 3A to generate a local model 50A. In-vehicle device 2B collects local data 3B and uses the collected local data 3B to generate a local model 50B.

[0026] The in-vehicle device 2A calculates an evaluation value 6A according to the evaluation index 70 and transmits the calculated evaluation value 6A to another in-vehicle device mounted on another vehicle via near-field communication. The in-vehicle device 2B receives this and thereby acquires the evaluation value 6A of the in-vehicle device 2A. Similarly, the in-vehicle device 2B calculates an evaluation value 6B according to the evaluation index 70 and transmits the calculated evaluation value 6B to the other in-vehicle device via near-field communication. The in-vehicle device 2A receives this and thereby acquires the evaluation value 6B of the in-vehicle device 2B.

[0027] Each in-vehicle device (2A, 2B) compares its own evaluation value (6A, 6B) with the evaluation value (6B, 6A) of the other device and determines whether the evaluation is high. The example of FIG. 1 assumes a situation in which the in-vehicle device 2A determines that its own evaluation is high, and the in-vehicle device 2B determines that its own evaluation is low. In this situation, the in-vehicle device 2A, one of the two in-vehicle devices (2A, 2B), transmits local model information 500A indicating its own generated local model 50A to the server device 1. Note that the situation illustrated in FIG. 1 is an example, and the present disclosure is not limited to this example. The number of in-vehicle devices 2 that can communicate with the server device 1, the number of other in-vehicle devices 2 that exist within a range where data can be exchanged with the target in-vehicle device 2 via near-field communication (i.e., exchanging evaluation values ​​6 with the target in-vehicle device 2 via near-field communication), the in-vehicle device 2 that is determined to have a high evaluation, and other conditions may be appropriately specified depending on the specific implementation situation.

[0028] The server device 1 receives local model information 500 indicating a local model 50 from at least one of the multiple in-vehicle devices 2. The server device 1 integrates the local models 50 indicated by the local model information 500 received from each of the at least one in-vehicle device 2. As a result, the server device 1 generates a new global model 45. The new global model 45 is a trained machine learning model generated by integrating the local models 50 obtained from at least one in-vehicle device 2.

[0029] As described above, in this embodiment, the selection process for selecting the in-vehicle devices 2 that will participate in federated learning (provide the local model 50) is carried out by using the evaluation value obtained by the proximity communication between the in-vehicle devices 2. This is achieved by exchanging the evaluation values ​​6. This selection process using proximity communication allows the on-board devices 2 to participate in the federated learning to be selected from among multiple on-board devices 2 mounted on vehicles V that are geographically close to each other, and the local model 50 generated by the selected on-board devices 2 to be reflected in updates to the global model 40. Furthermore, the on-board devices 2 to participate in the federated learning can be selected in an autonomous and decentralized manner without the intervention of the server device 1. Therefore, this embodiment can improve the efficiency of the federated learning performed between the server device 1 and each on-board device 2. In addition, since the data exchanged between each on-board device 2 is only the evaluation value 6, privacy issues can be resolved.

[0030] In this embodiment, at least one of the global model 40 and the evaluation index 70 may be provided from the server device 1 to each in-vehicle device 2. The number of in-vehicle devices 2 that may participate in the federated learning is not particularly limited and may be determined appropriately depending on the embodiment. The server device 1 may provide each in-vehicle device 2 with a new global model 45 generated by integrating the local models 50. Thereafter, the new global model 45 may be treated as the global model 40, and the generation and integration of the local models 50 (and further generation of a new global model) may be repeated. The system according to this embodiment may generate a global model that can accurately perform an inference task by repeatedly executing the generation process and integration process of the local models 50.

[0031] The global model (40, 45) and the local model 50 are configured to execute a computational process to solve an inference task related to a moving body (in this embodiment, a vehicle V) using a machine learning model. The machine learning model includes one or more computational parameters for executing the computational process to solve the inference task. The machine learning model may be configured to solve multiple inference tasks. The machine learning model may be configured, for example, by a neural network, a regression model, a support vector machine, or the like.

[0032] The inference task is not particularly limited as long as it relates to a moving object, and may be appropriately selected depending on the embodiment. As an example, each moving object may be equipped with a sensor, and the inference task may be to derive some inference result from sensing data obtained by the sensor. The sensor may be, for example, an image sensor (such as a camera), a proximity sensor, a Lidar (light detection and ranging) sensor, or a Radar (radio detection and ranging) sensor. As a specific example, the sensor may be an image sensor such as a camera, and the inference task may be to detect an object (e.g., a passerby, a traffic light, a median strip, an obstacle, etc.) appearing in an image obtained by the image sensor. In this case, detecting the object may include segmenting and identifying the object. Alternatively, the sensor may be an in-vehicle sensor such as an image sensor, a proximity sensor, a Lidar sensor, or a Radar sensor, and the inference task may be to determine the control content of the moving object from the sensing data (e.g., to apply the brakes of the vehicle V, lock the doors, determine the autonomous driving content, etc.). If the inference task is to derive an inference result from sensing data, sensors may be used to collect the local data 3 .

[0033] The evaluation index 70 may be appropriately defined so as to select an in-vehicle device 2 that generates a local model 50 suitable for updating the global model 40 (i.e., such that the performance of the new global model 45 generated by the integration is improved). The quality of the local data 3 affects the accuracy of the new global model 45 generated by the integration. Furthermore, the higher the calculation capability of the in-vehicle device 2, the faster the local model 50 can be created, and therefore the higher the probability of successfully uploading the local model 50 within the timeout. In addition, the time required to aggregate the local model 50 into the server device 1 can be reduced. Similarly, the higher the communication capability of the in-vehicle device 2, the shorter the time required to aggregate the local model 50 into the server device 1 can be reduced. Therefore, in this embodiment, the evaluation index 70 is set to The evaluation index 70 may be configured to include at least one of a first index for evaluating the quality of the local data 3, a second index for evaluating the calculation capability of each in-vehicle device 2, and a third index for evaluating the communication capability of each in-vehicle device 2. The evaluation index 70 may be expressed by a function. In this case, each in-vehicle device 2 may calculate the evaluation value by performing an arithmetic operation of the function expressing the evaluation index 70.

[0034] The first index may be appropriately defined so that the more useful the local data 3 is for improving the performance of the global model 40, the higher the evaluation, and the less useful the local data 3 is for improving performance, the lower the evaluation. The first index may be expressed as a function (f1). Whether the local data 3 is useful may be evaluated using the global model 40. As an example, the objective function used in machine learning of the global model 40 may also be used to evaluate the usefulness of the local data 3. The objective function may be interpreted as a cost function, a loss function, or an error function. When an optimization problem in machine learning is constructed by minimizing the value of the objective function, the lower the inference accuracy of the global model 40 for the local data 3, the larger the value calculated by the objective function. Low inference accuracy may correspond to the local data 3 containing many samples that are insufficiently trained for the global model 40. By incorporating a local model 50 trained with such samples into federated learning, a new global model 45 with good performance is likely to be obtained. Therefore, when an optimization problem in machine learning is configured by minimizing the value of an objective function, the first index (f1) may be defined so that the larger the error calculated by the objective function when the local data 3 is provided to the global model 40, the higher the evaluation, and the smaller the error, the lower the evaluation. When the magnitude of the evaluation value directly corresponds to the evaluation, the objective function may simply be used as the first index (function f1). Note that, in one example, the objective function may be the same for all on-board devices 2. In another example, the objective function for at least some on-board devices 2 may be different from that of the other on-board devices 2. Furthermore, when the number of samples of local data 3 collected by each on-board device 2 is different, operations such as standardization or adjustment of the number of samples may be performed to enable proper comparison.

[0035] The second index may be appropriately defined so that the higher the computing power, the higher the evaluation, and the lower the computing power, the lower the evaluation. The second index may be expressed as a function (f2). The computing power may be calculated according to the performance of computing resources such as processor resources and memory resources. The processor resources may be, for example, a CPU (Central Processing Unit), a microprocessor, FPGA (field-programmable gate array), GPU (graphics processing unit) ) The memory resource may include, for example, storage (hard disk drive, solid state drive, etc.), RAM (Random Access Memory), cache memory (e.g., Last Level Cache), etc. Computing capability may be evaluated based on, for example, the calculation speed of the processor resource, the capacity of the memory resource, the read speed of the memory resource, etc.

[0036] The third index may be appropriately defined so 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 as a function (f3). The communication capability may be calculated according to the performance of a communication module that can be used to transmit the local model 50. The communication capability may be evaluated based on, for example, the communication bandwidth, communication speed, etc.

[0037]

number

[0038] The relationship between the evaluation value 6 calculated by the evaluation index 70 and the evaluation is not particularly limited and may be determined appropriately depending on the embodiment. In one example, a high evaluation value 6 may correspond to a high evaluation. In another example, a low evaluation value 6 may correspond to a high evaluation. Note that a high (low) evaluation corresponds to a high (low) priority for participating in federated learning. Participating in federated learning corresponds to providing a local model 50 generated by the local device to the server device 1 in order to generate a new global model 45.

[0039] 1, the server device 1 and each in-vehicle device 2 may be configured to be able to communicate with (connect to) each other via a network. The type of network is not particularly limited and may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, etc.

[0040] [2 Configuration Examples] [Hardware configuration example] <Server device> Fig. 2 schematically shows an example of the hardware configuration of the server device 1 according to this embodiment. As shown in Fig. 2, the server device 1 according to this embodiment is a computer to which a control unit 11, a storage unit 12, a communication module 13, an input device 14, an output device 15, and a drive 16 are electrically connected.

[0041] The control unit 11 includes a CPU, which is a hardware processor, a RAM, a ROM (Read Only Memory), a cache memory, etc., and is configured to execute information processing based on programs and various data. The control unit 11 (CPU) is an example of a processor resource. The storage unit 12 is configured, for example, with a hard disk drive, a solid state drive, etc. The storage unit 12 is an example of a memory resource. In this embodiment, the storage unit 12 stores various information such as a program 81, global model information 400, and evaluation index information 700.

[0042] The program 81 is a program for causing the server device 1 to execute information processing related to associative learning (see FIG. 7, which will be described later). The program 81 includes a series of instructions for the information processing. The global model information 400 is configured to indicate the global model 40. The evaluation index information 700 is configured to indicate the evaluation index 70.

[0043] The communication module 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, etc., and is configured to perform wired or wireless communication via a network. The server device 1 may perform data communication with other computers (for example, each in-vehicle device 2) via the communication module 13.

[0044] The input device 14 is a device for inputting information, such as a mouse or a keyboard. The output device 15 is a device for outputting information, such as a display or a speaker. An operator can operate the server device 1 by using the input device 14 and the output device 15. The input device 14 and the output device 15 are, for example, a touch panel display or the like. Alternatively, the second and third electrodes may be integrally formed.

[0045] The drive 16 is a device for reading various information such as programs stored in a storage medium 91. At least one of the above-mentioned program 81, global model information 400, and evaluation index information 700 may be stored in the storage medium 91. The storage medium 91 is a medium that stores information such as programs by electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, or the like can read the various information such as the stored programs.

[0046] 2 illustrates a disk-type storage medium such as a CD or DVD as an example of the storage medium 91. However, the type of storage medium 91 is not limited to a disk-type. Examples of storage media other than disk-type include semiconductor memories such as flash memories. The type of drive 16 may be selected appropriately depending on the type of storage medium 91.

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

[0048] <In-vehicle equipment> Fig. 3 schematically illustrates an example of the hardware configuration of the in-vehicle device 2 according to this embodiment. As illustrated in Fig. 3, the in-vehicle device 2 according to this embodiment is a computer to which a control unit 21, a storage unit 22, a communication module 23, an input device 24, an output device 25, a drive 26, a near-field communication module 27, and an external interface 28 are electrically connected.

[0049] The control unit 21 includes a hardware processor such as a CPU, RAM, and ROM, and is configured to execute various information processes based on programs and data. The control unit 21 (CPU) is an example of a processor resource. The storage unit 22 is an example of a memory resource, and is configured, for example, with a hard disk drive or solid state drive. In this embodiment, the storage unit 22 stores various information such as a program 82, global model information 400, evaluation index information 700, local data 3, and local model information 500.

[0050] The program 82 is a program for causing the in-vehicle device 2 to execute information processing related to associative learning (see FIGS. 7 and 8 described below). The program 82 includes a series of instructions for the information processing. The local model information 500 is configured to indicate information related to the generated local model 50.

[0051] The communication module 23 is, for example, a wireless LAN module or the like, and is configured to perform wireless communication via a network. The in-vehicle device 2 may perform data communication with another computer (for example, the server device 1) via the communication module 23. The input device 24 and the output device 25 may be configured similarly to the input device 14 and the output device 15. An operator (for example, a passenger in the vehicle V) can operate the in-vehicle device 2 by using the input device 24 and the output device 25.

[0052] Drive 26 and storage medium 92 are configured similarly to drive 16 and storage medium 91. At least one of the program 82, the global model information 400, the evaluation index information 700, the local data 3, and the local model information 500 may be stored in a storage medium 92.

[0053] The proximity communication module 27 is configured to be able to exchange data through proximity communication. In one example, the proximity communication module 27 may be a beacon module. The type of beacon module may be selected appropriately depending on the embodiment. A known type of beacon module may be adopted for the proximity communication module 27. In this embodiment, the proximity communication module 27 is used to perform proximity communication with other in-vehicle devices 2 other than the own device. However, the use of the proximity communication module 27 is not limited to this. The proximity communication module 27 may be used for other purposes. Furthermore, the type of the proximity communication module 27 does not have to be limited to a beacon module. In another example, the proximity communication module 27 may be configured to be able to perform proximity communication such as Wi-Fi (registered trademark), Bluetooth (registered trademark), D2D, etc. stomach.

[0054] The external interface 28 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device. The type and number of the external interfaces 28 may be determined appropriately depending on the type and number of the external devices to be connected. In this embodiment, the in-vehicle device 2 may be connected to a sensor S via the external interface 28. The sensor S may be, for example, an image sensor (such as a camera), a proximity sensor, a Lidar (light detection and ranging) sensor, a Radar, or the like. The global models (40, 45) and The inference task performed by the local model 50 may be to derive an inference result from sensing data obtained by a sensor S. In this case, the sensor S may be used to collect the local data 3.

[0055] It should be noted that, with regard to the specific hardware configuration of the in-vehicle device 2, components can be omitted, replaced, or added as appropriate depending on the embodiment. For example, the control unit 21 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, FPGA, GPU, or the like. At least one of the input device 24, the output device 25, the drive 26, and the external interface 28 may be omitted. The in-vehicle device 2 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same. The in-vehicle device 2 may be a computer designed specifically for the service provided, as well as a general-purpose computer, a mobile phone including a smartphone, a tablet PC (Personal Computer), or the like.

[0056] [Software configuration example] <Server device> 4 schematically shows an example of the software configuration of the server device 1 according to this embodiment. The control unit 11 of the server device 1 loads the program 81 stored in the storage unit 12 into the RAM. The control unit 11 then executes, via the CPU, instructions included in the program 81 loaded into the RAM. As a result, as shown in FIG. 4, the server device 1 according to this embodiment operates as a computer including a model distribution unit 111, an index distribution unit 112, a model reception unit 113, and an integration processing unit 114 as software modules. That is, in this embodiment, each software module of the server device 1 is realized by the control unit 11 (CPU).

[0057] The model distribution unit 111 is configured to transmit global model information 400 indicating the global model 40 to each of the multiple in-vehicle devices 2. The index distribution unit 112 is configured to transmit evaluation index information 700 indicating the evaluation index 70 to each of the multiple in-vehicle devices 2. In this embodiment, the global model 40 is transmitted by the operations of the model distribution unit 111 and the index distribution unit 112. The model 40 and the evaluation index 70 are distributed from the server device 1 to each vehicle-mounted device 2.

[0058] The model receiving unit 113 is configured to receive local model information 500 indicating a local model 50 from at least one of the multiple in-vehicle devices 2. Each of the at least one in-vehicle device 2 is an in-vehicle device 2 that has been determined to have a high evaluation as a result of a selection process using an evaluation value 6. The selection process includes exchanging the evaluation value 6 between the in-vehicle device itself and the other in-vehicle devices 2 via near-field communication, and comparing the evaluation value 6 of the in-vehicle device itself with the evaluation values ​​6 of the other in-vehicle devices 2.

[0059] The integration processing unit 114 is configured to generate a new global model 45 by integrating local models 50 indicated by local model information 500 received from at least one in-vehicle device 2. The integration processing unit 114 may be further configured to generate global model information 450 indicating the new global model 45, and to store the generated global model information 450 in a predetermined storage area (for example, the RAM of the control unit 11, the storage unit 12, the storage medium 91, an external storage device, etc.).

[0060] <In-vehicle equipment> FIG. 5 schematically illustrates an example of the software configuration of the in-vehicle device 2 according to this embodiment. The control unit 21 of the in-vehicle device 2 loads the program 82 stored in the storage unit 22 into the RAM. The control unit 21 then executes instructions included in the program 82 loaded into the RAM using the CPU. As a result, as shown in FIG. 5, the in-vehicle device 2 according to this embodiment operates as a computer including, as software modules, a model acquisition unit 211, an index acquisition unit 212, a data collection unit 213, a machine learning unit 214, an evaluation value calculation unit 215, an evaluation value transmission unit 216, an evaluation value reception unit 217, an evaluation unit 218, and a model transmission unit 219. That is, in this embodiment, similar to the server device 1, each software module of the in-vehicle device 2 is also realized by the control unit 21 (CPU).

[0061] The model acquisition unit 211 is configured to acquire global model information 400 indicating the global model 40. In this embodiment, the model acquisition unit 211 is configured to receive the global model information 400 distributed from the server device 1. The index acquisition unit 212 is configured to acquire evaluation index information 700 indicating the evaluation index 70. In this embodiment, the index acquisition unit 212 is configured to receive the evaluation index information 700 distributed from the server device 1.

[0062] The data collection unit 213 is configured to collect local data 3. The machine learning unit 214 is configured to generate a local model 50 by performing machine learning of the global model 40 using the collected local data 3. The machine learning unit 214 may be further configured to generate local model information 500 indicating the local model 50, and to store the generated local model information 500 in a predetermined storage area (for example, the RAM of the control unit 21, the storage unit 22, the storage medium 92, an external storage device, etc.).

[0063] The evaluation value calculation unit 215 is configured to calculate an evaluation value 6 (6s) according to the evaluation index 70 indicated by the acquired evaluation index information 700. The evaluation value transmission unit 216 is configured to transmit the calculated evaluation value 6 (6s) to other in-vehicle devices 2 mounted on one or more other vehicles V present in the vicinity of the vehicle V via proximity communication. The evaluation value reception unit 217 is configured to receive, via proximity communication, evaluation values ​​6 (6t) calculated by the other in-vehicle devices 2 mounted on one or more other vehicles V according to the evaluation index 70. In the following description, the evaluation value of the own device (target in-vehicle device 2) may be denoted by the symbol "6s", and the evaluation value of the other in-vehicle devices 2 as viewed from the target in-vehicle device 2 may be denoted by the symbol "6t".

[0064] The evaluation unit 218 is configured to determine whether the evaluation is high or not by comparing the calculated evaluation value 6s with the evaluation value 6t received from another in-vehicle device 2. The model transmission unit 219 is configured to transmit local model information 500 indicating the generated local model 50 to the server device 1 when it is determined that the evaluation of its own device is high.

[0065] (An example of a machine learning method) FIG. 6 schematically shows an example of the machine learning process of the global model 40 by the machine learning unit 214. The global models (40, 45) and the local model 50 are configured by machine learning models. The machine learning model includes one or more calculation parameters for executing calculation processing to solve an inference task, and the values ​​of the one or more calculation parameters are adjusted by machine learning. As long as the machine learning model can execute calculations to solve an inference task related to a moving object, the type, configuration, and structure of the machine learning model are not particularly limited and may be determined appropriately depending on the embodiment.

[0066] FIG. 6 shows a typical example in which a neural network is used as the machine learning model constituting the global model 40, and supervised learning is used as the machine learning method. In this case, examples of calculation parameters include the weight of the connections between each node (neuron) and the threshold value of each node. The type and structure of the neural network (e.g., the type of each layer, the number of layers, the number of nodes in each layer, the connection relationships between the nodes, etc.) may be determined appropriately depending on the embodiment. The global model 40 may be configured, for example, by a fully connected neural network, a convolutional neural network, a recurrent neural network, or a combination thereof.

[0067] In the example of FIG. 6 , the local data 3 is composed of a plurality of data sets 30. Each data set 30 is composed of a combination of training data 31 and correct labels 33, and is used as a training target sample in machine learning. The training data 31 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 sensing data, the training data 31 may be composed of sensing data obtained by a sensor S. The correct labels 33 are configured to indicate the true value of the objective variable for the input sample of explanatory variables, i.e., the solution (true value) of the inference task for the corresponding training data 31. In machine learning, the training data 31 is used as input data, and the correct labels 33 are used as a teacher signal.

[0068] The training data 31 may be collected as needed. In one example, the control unit 21 of each in-vehicle device 2 may collect the training data 31 as the data collection unit 213 while operating the global model 40 to perform an inference task. In this case, the control unit 21 may preferentially collect, as the training data 31, input data from which the global model 40 has derived an incorrect inference result. In a case where the associative learning process is repeatedly performed and the local model 50 has been provisionally generated in a previous process, the control unit 21 may collect the training data 31 while operating the local model 50 to perform an inference task. In contrast, the correct answer label 33 may be obtained as needed to indicate the correct answer to the inference for the obtained training data 31. In one example, the correct answer label 33 may be obtained by an operator's input. In another example, the correct answer label 33 may be acquired by any inference process. The correct answer label 33 may be acquired based on information obtained from other sensors. Each dataset 30 may be automatically generated by the operation of a computer, or may be manually generated at least partially through the operation of an operator.

[0069] As part of the machine learning process, the machine learning unit 214 refers to the global model information 400 and performs initial settings for the global model 40. If the global model 40 is based on the training data 31, this process may be omitted. Next, the machine learning unit 214 trains the global model 40 for each dataset 30 so that the output value (inference result) obtained from the global model 40 by providing the training data 31 matches the true value indicated by the correct answer label 33. Training the global model 40 is performed by adjusting (optimizing) the values ​​of the calculation parameters that constitute the global model 40. The method for adjusting the calculation parameters (method for solving the optimization problem) may be determined appropriately depending on the type, configuration, structure, etc. of the machine learning model used in the global model 40.

[0070] As an example of an adjustment method, when the global model 40 is configured by a neural network, the machine learning unit 214 inputs the training data 31 of each data set 30 into the global model 40 and executes a forward propagation calculation process of the global model 40. As a result of this calculation process, the machine learning unit 214 acquires an output value corresponding to the inference result for the training data 31 from the global model 40. The machine learning unit 214 calculates the error between the obtained output value and the true value indicated by the corresponding correct label 33, and further calculates the gradient of the calculated error. The machine learning unit 214 calculates the error of the value of the calculation parameter of the global model 40 by backpropagating the calculated gradient of the error using the error backpropagation method. The machine learning unit 214 updates the value of the calculation parameter based on the calculated error.

[0071] Through this series of update processes, the machine learning unit 214 adjusts the values ​​of the calculation parameters of the global model 40 so as to reduce the sum of errors between the output value (inference result) obtained by providing the training data 31 and the true value indicated by the correct label 33. This adjustment of the calculation parameter values ​​may be repeated until a predetermined condition is met, such as performing adjustment a set number of times or until the calculated sum of errors becomes equal to or less than a threshold. Furthermore, machine learning conditions such as an objective function (cost function, loss function, error function) for calculating the error and a learning rate may be set appropriately depending on the embodiment. This machine learning process allows the generation of a local model 50. The machine learning unit 214 generates local model information 500 indicating the local model 50.

[0072] The machine learning method does not have to be limited to the supervised learning shown in FIG. 6. In another example, the machine learning method may be unsupervised learning (including adversarial learning) or reinforcement learning. The configuration of the local data 3 may be determined appropriately depending on the machine learning method and type of machine learning model employed. Furthermore, the machine learning model constituting the global model 40 does not have to be limited to a neural network. In another example, the global model 40 may be constituted by a regression model, a support vector machine, or the like.

[0073] <Other> In this embodiment, an example is described in which each software module of the server device 1 and the in-vehicle device 2 is implemented by a general-purpose CPU. However, some or all of the software modules may be implemented by one or more dedicated processors. Each module may be implemented as a hardware module. With regard to the software configuration of the server device 1 and the in-vehicle device 2, modules may be omitted, replaced, or added as appropriate depending on the embodiment.

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

[0075] <Steps S11 and S21> In step S11, the control unit 11 of the server device 1 operates as the model distribution unit 111 and uses the communication module 13 to transmit the global model information 400 indicating the global model 40 to each in-vehicle device 2.

[0076] The transmission range and transmission method may be selected as appropriate depending on the embodiment. As an example, the control unit 11 may transmit the global model information 400 (global model 40) to each in-vehicle device 2 by broadcasting. This saves wireless communication bandwidth. Furthermore, a geographical range for integrating the local models 50 may be defined arbitrarily, and a global model 40 to be distributed for each defined range may be selected. In this case, the global model 40 distributed to a portion may be different from the global model 40 distributed to other portions. When broadcasting is adopted as the method for distributing the global model 40, the geographical range may be defined according to the broadcast range.

[0077] The global model 40 may be a machine learning model before training, or may be a trained machine learning model. If the global model 40 is a trained machine learning model, the global model 40 may be generated by machine learning by the server device 1, or may be generated by a prior integration process using federated learning (for example, after the integration process in step S33 described below is completed, a new global model 45 is used as the global model 40 and the process is executed again from step S11).

[0078] When the server device 1 generates the global model 40 by performing machine learning, the control unit 11 may acquire global data. The global data may be configured similarly to the local data 3. The global data may be collected, for example, by generating data in an experimental environment or by providing the data from the in-vehicle device 2. The control unit 11 may then generate the global model 40 by performing machine learning using the obtained global data. The machine learning method for generating the global model 40 may be similar to the machine learning method for generating the local model 50. In one example, similar to the example of FIG. 6, the global data may be configured from multiple data sets each including a combination of training data and a ground truth label, and the global model 40 may be generated by supervised learning.

[0079] The configuration of the global model information 400 is not particularly limited as long as it allows reproduction of the global model 40, and may be determined appropriately depending on the embodiment. For example, the global model information 400 may include information indicating values ​​of calculation parameters included in the global model 40. In some cases, the global model information 400 may further include information indicating the structure of the global model 40. The structure may be specified by, for example, the number of layers from the input layer to the output layer, the type of each layer, the number of neurons included in each layer, the connection relationships between neurons in adjacent layers, etc.

[0080] In response to the processing of step S11, in step S21, the control unit 21 of each in-vehicle device 2 operates as a model acquisition unit 211 and receives the global model information 400 from the server device 1 using the communication module 23. As a result, each in-vehicle device 2 acquires the global model 40.

[0081] <Steps S13 and S23> In step S13, the control unit 11 of the server device 1 operates as the index distribution unit 112 and uses the communication module 13 to transmit evaluation index information 700 indicating the evaluation index 70 to each vehicle-mounted device 2.

[0082] As in step S11, the transmission range and transmission method are appropriately selected depending on the embodiment. As an example, the control unit 11 may transmit the evaluation index information 700 to each in-vehicle device 2 by broadcasting. This makes it possible to save the bandwidth of wireless communication. Furthermore, the evaluation index 70 to be distributed may be selected for each geographical range. In this case, the evaluation index 70 distributed to a part of the area may be different from the evaluation index 70 distributed to the other parts of the area. When broadcasting is adopted as the method for distributing the evaluation index information 700, the geographical range may be defined according to the range of the broadcast.

[0083] The configuration of the evaluation index information 700 is not particularly limited as long as it can identify the evaluation index 70 and calculate the evaluation value 6, and may be determined appropriately depending on the embodiment. In one example, the evaluation index information 700 may be configured to indicate the relational expression of the above-mentioned Equation 1. In another example, when the function of each index is shared in advance between the in-vehicle devices 2, the evaluation index information 700 may be configured to indicate the weight c of each index. n (Information about the function of each index may be omitted.) In this case, the weight c of each index n may be set appropriately for each geographical area, and the control unit 11 broadcasts the weights c n may be transmitted to each in-vehicle device 2 as evaluation index information 700.

[0084] In response to the processing of step S13, in step S23, the control unit 21 of each in-vehicle device 2 operates as the index acquisition unit 212 and acquires the evaluation index information 700 from the server device 1 using the communication module 23. As a result, each in-vehicle device 2 acquires the evaluation index 70.

[0085] <Step S25> In step S25, the control unit 21 of each in-vehicle device 2 generates the local model 50 and executes the process of selecting a vehicle V in an autonomous and decentralized manner.

[0086] 8 is a flowchart showing an example of a processing procedure for a process for generating a local model 50 and an autonomously distributed selection process by each on-board device 2 according to this embodiment. The processing of step S25 according to this embodiment may include the following processes of steps S251 to S258. However, the processing procedure shown in FIG. 8 is merely an example, and each process may be changed as much as possible. Furthermore, steps may be omitted, replaced, or added to the processing procedure shown in FIG. 8 as appropriate depending on the embodiment.

[0087] (Steps S251 and S252) In step S251, the control unit 21 of each in-vehicle device 2 operates as the data collection unit 213 and collects local data 3. In step S252, the control unit 21 of each in-vehicle device 2 operates as the machine learning unit 214 and uses the collected local data 3 to perform machine learning of the received global model 40, thereby generating a local model 50. In one example, as shown in FIG. 6 , the local data 3 may be composed of multiple data sets 30, each including a combination of training data 31 and a correct label 33, and the local model 50 may be generated by supervised learning.

[0088] After the machine learning is completed, the control unit 21 of each in-vehicle device 2 generates local model information 500 that indicates the local model 50. The configuration of the local model information 500 is not particularly limited as long as it enables reproduction of the local model 50, and may be determined appropriately depending on the embodiment. In one example, similar to the global model information 400, the local model information 500 may include information indicating values ​​of calculation parameters included in the local model 50 that have been adjusted by machine learning. In some cases, the local model information 500 may further include information indicating the structure of the local model 50. In another example, the local model information 500 may be configured to indicate updates from the global model 40 to the local model 50 (i.e., differences in the values ​​of calculation parameters between the global model 40 and the local model 50).

[0089] After generating the local model 50, each in-vehicle device 2 may retain the global model information 400 as is, or may delete the global model information 400 (for example, overwrite it with the local model information 500). The generated local model 50 may be used to solve an inference task at any timing in each in-vehicle device 2. After the machine learning is completed, the control unit 21 of each in-vehicle device 2 proceeds to the next step S253.

[0090] (Step S253) In step S253, the control unit 21 of each in-vehicle device 2 operates as the evaluation value calculation unit 215 and calculates the evaluation value 6s of the own device according to the evaluation index 70 indicated by the received evaluation index information 700. In this embodiment, the evaluation index 70 may include at least one of the first index, the second index, and the third index. The evaluation index 70 may also be expressed by a function. In response to this, the control unit 21 of each in-vehicle device 2 may calculate the evaluation value 6s of the own device by performing an arithmetic operation of the function expressing the evaluation index 70 (for example, the above-mentioned formula 1). After calculating the evaluation value 6s of the own device, the control unit 21 proceeds to the next step S254.

[0091] (Steps S254 to S256) In step S254, the control unit 21 of each in-vehicle device 2 operates as an evaluation value transmitting unit 216 and transmits, via short-range communication, the evaluation value 6s calculated by the in-vehicle device 2 to other in-vehicle devices 2 mounted on one or more other vehicles V located near the in-vehicle device V. In step S255, the control unit 21 of each in-vehicle device 2 operates as an evaluation value receiving unit 217 and receives, from the other in-vehicle devices 2 mounted on one or more other vehicles V, evaluation values ​​6t calculated by the other in-vehicle devices 2 according to the evaluation index 70.

[0092] The timing of executing the processes of step S254 and step S255 may be adjusted in any manner between the in-vehicle devices 2. In one example, a time period during which attempts to transmit the evaluation value 6s in step S254 and to receive the evaluation value 6t in step S255 are performed may be determined in advance. In this case, information about the time period during which the attempts are performed may be shared between the in-vehicle devices 2 as appropriate.

[0093] The proximity communication module 27 is used for the proximity communication in steps S254 and S255. In this embodiment, each in-vehicle device 2 may be equipped with a beacon module as the proximity communication module 27. Accordingly, the control unit 21 may perform proximity communication using the beacon module. This allows for inexpensive proximity communication. The transmission range of the evaluation value 6s may be determined appropriately depending on the type of the proximity communication module 27, etc.

[0094] Furthermore, the transmission method may be selected appropriately depending on the embodiment. In one example, the control unit 21 of each in-vehicle device 2 may transmit the evaluation value 6s by broadcast in the proximity communication of step S254. In step S255, the control unit 21 of each in-vehicle device 2 may listen to the broadcast from the other in-vehicle devices 2 and attempt to acquire the evaluation value 6t from the other in-vehicle devices 2. This makes it possible to save the bandwidth of the proximity communication.

[0095] In step S256, the control unit 21 of each in-vehicle device 2 determines whether or not an evaluation value 6t has been obtained from another in-vehicle device 2 within a certain period of time. Not obtaining an evaluation value 6t from another in-vehicle device 2 within a certain period of time corresponds to the absence of another in-vehicle device 2 (another vehicle V) within the range where close-proximity communication is possible during that certain period of time. The information processing method according to this embodiment is configured to allow such an in-vehicle device 2 to participate in federated learning. That is, if an evaluation value 6t has not been obtained from another in-vehicle device 2 within the certain period of time (timeout has occurred), the control unit 21 proceeds to step S27. On the other hand, if an evaluation value 6t has been obtained from another in-vehicle device 2 mounted on one or more other vehicles V within the certain period of time, the control unit 21 proceeds to step S257. Meru.

[0096] (Steps S257 and S258) In step S257, the control unit 21 operates as the evaluation unit 218 and compares the evaluation value 6s calculated by the own device with the evaluation value 6t received from the other in-vehicle device 2 to determine whether the evaluation is high or not.

[0097] The range in which the evaluation is determined to be high may be determined appropriately depending on the embodiment. In one example, when the evaluation value (6s, 6t) is compared and the evaluation is the highest, the control unit 21 may determine that the evaluation is high, and in other cases, the control unit 21 may determine that the evaluation is not high. In another example, when the evaluation value (6s, 6t) is compared and the evaluation is within an arbitrary number of the highest, the control unit 21 may determine that the evaluation is high, and in other cases, the control unit 21 may determine that the evaluation is not high.

[0098] In step S258, the control unit 21 determines where the process should branch depending on the result of the comparison in step S257. If the control unit 21 determines that the evaluation is high, the control unit 21 proceeds to step S27. On the other hand, if the control unit 21 determines that the evaluation is not high, the control unit 21 of the in-vehicle device 2 omits the process of step S27 and ends the processing procedure according to this operation example.

[0099] <Step S27> In step S27, the control unit 21 operates as the model transmission unit 219 and uses the communication module 23 to transmit local model information 500 indicating the local model 50 generated by the in-vehicle device 2 to the server device 1. In this embodiment, the process of step S27 is executed by an in-vehicle device 2 that did not obtain an evaluation value 6t for another in-vehicle device 2 within a certain period of time in the process of step S256, and at least one in-vehicle device 2 that was determined to have a high evaluation as a result of the comparison in step S257. When the transmission of the local model information 500 is completed, the control unit 21 of the in-vehicle device 2 ends the processing procedure according to this operation example.

[0100] <Step S31> 7, in step S31, the control unit 11 of the server device 1 operates as the model receiving unit 113 and receives local model information 500 indicating the local model 50 from at least one in-vehicle device 2 that has executed the process of step S27. Upon receiving the local model information 500, the control unit 11 proceeds to the next step S33.

[0101] <Step S33> In step S33, the control unit 11 operates as the integration processing unit 114 and generates a new global model 45 by integrating the local models 50 indicated by the local model information 500 received from at least one in-vehicle device 2. Integrating multiple local models 50 may involve averaging the values ​​of corresponding calculation parameters included in each local model 50, summing the values ​​of corresponding calculation parameters, or the like. The values ​​of the calculation parameters included in each local model 50 may be weighted before being integrated. The weight of each local model 50 may be specified by any method.

[0102] The integration of the local model 50 may be performed using all or some of the calculation parameters. When the integration of the local model 50 is performed partially, the information in the range that is not integrated may be omitted from the local model information 500 transmitted from the in-vehicle device 2 to the server device 1.

[0103] The control unit 11 may generate global model information 450 indicating the new global model 45. The global model information 450 may be configured similarly to the global model information 400. After generating the new global model 45, in one example, the server device 1 The server device 1 may retain the previous global model information 400 and the local model information 500 received from the in-vehicle device 2. In another example, the server device 1 may delete at least one of the global model information 400 and the local model information 500.

[0104] When the generation of the new global model 45 is completed, the control unit 11 of the server device 1 ends the processing procedure according to this operation example. The server device 1 and each in-vehicle device 2 may treat the new global model 45 as the global model 40 and repeatedly execute the federated learning process from step S11. If the evaluation index 70 is not changed in the repeatedly executed federated learning processing procedure, the processes of steps S13 and S23 may be omitted. The processes of steps S13 and S23 may be executed as appropriate when the evaluation index 70 is changed.

[0105] [Features] In this embodiment, the selection process in steps S253 to S257 is achieved by exchanging evaluation values ​​6 between the in-vehicle devices 2 via near-field communication. This selection process using near-field communication makes it possible to select in-vehicle devices 2 that participate in the federated learning from among multiple in-vehicle devices 2 installed in vehicles V that are geographically close to each other. The local model 50 generated by the selected in-vehicle devices 2 can then be reflected in updating the global model 40 in the processing of step S33. Furthermore, the in-vehicle devices 2 that participate in the federated learning can be selected in an autonomous, decentralized manner without involving the server device 1. Therefore, this embodiment makes it possible to improve the efficiency of the federated learning performed between the server device 1 and each in-vehicle device 2. In addition, because the data exchanged between the in-vehicle devices 2 in the processing of steps S254 and S255 is nothing more than the evaluation values ​​6, it is possible to resolve privacy issues.

[0106] Furthermore, in this embodiment, the global model 40 and the evaluation index 70 are provided from the server device 1 to each in-vehicle device 2. This allows the global model 40 and the evaluation index 70 to be flexibly changed. For example, the global model 40 and the evaluation index 70 can be changed as appropriate for each geographical area. By adjusting the global model 40 and the evaluation index 70 so that they are appropriate for the execution of the inference task that occurs in each area, it is possible to generate a new global model 45 that can demonstrate better performance in each area.

[0107] [4 Variations] Although the embodiments of the present disclosure have been described in detail above, the above description is merely an example of the present disclosure in every respect. It goes without saying that various improvements or modifications can be made without departing from the scope of the present disclosure. For example, the following modifications are possible. The following modifications can be combined as appropriate.

[0108] In the above embodiment, the vehicle V is an example of a moving body, and the in-vehicle device 2 is an example of an information processing device mounted on the moving body. However, the moving body according to the present disclosure does not need to be limited to a vehicle. The moving body may be, for example, a device configured to be movable, such as a drone or a robotic device. The information processing device may be interpreted as appropriate depending on, for example, the type of moving body on which it is mounted.

[0109] In the above embodiment, the global model 40 and the evaluation index 70 are provided from the server device 1 to each in-vehicle device 2. However, the method of providing the global model 40 and the evaluation index 70 is not limited to this example. In another example, the global model information 400 (global model 40) may be provided to each in-vehicle device 2 from an external storage device, an external server, a storage medium 92, or the like. When the global model 40 is provided to each in-vehicle device 2 by a method other than distribution from the server device 1, the model distribution unit 11 may be provided from the software configuration of the server device 1. 1 may be omitted, and the processes of steps S11 and S21 may be omitted from the processing steps of the information processing method according to the above embodiment. In another example, the evaluation index information 700 may be provided to each in-vehicle device 2 from an external storage device, an external server, the storage medium 92, etc. The evaluation index information 700 may also be pre-installed in each in-vehicle device 2. When the evaluation index information 700 is provided to each in-vehicle device 2 by a method other than distribution from the server device 1, the index distribution unit 112 may be omitted from the software configuration of the server device 1, and the processes of steps S13 and S23 may be omitted from the processing steps of the information processing method according to the above embodiment.

[0110] In the above embodiment, the processing order of each step included in the information processing of FIGS. 7 and 8 may be changed as appropriate to the extent that no inconsistency occurs. For example, the processing of steps S11 and S21 may be performed at any timing before the processing of step S252 is performed. The processing of steps S13 and S23 may be performed at any timing before the processing of step S253 is performed. The processing order of steps S11 and S13 may be changed as appropriate. For example, steps S11 and S13 may be performed simultaneously. Alternatively, the processing of step S13 may be performed before the processing of step S11. The processing of step S251 may be performed at any timing before the processing of step S252 is performed. The processing of step S252 may be performed at any timing before the processing of step S27 is performed. The processing of step S253 may be performed at any timing before the processing of step S254 is performed. The processing order of steps S254 and S255 may be changed as appropriate. For example, the processing of steps S254 and S255 may be performed in parallel.

[0111] Furthermore, the information processing method according to the above embodiment is configured to allow an in-vehicle device 2 that has not obtained an evaluation value 6t for another in-vehicle device 2 within a certain period of time to participate in federated learning by the processing of step S256. However, the handling of an in-vehicle device 2 that has not obtained an evaluation value 6t for another in-vehicle device 2 need not be limited to this example. The information processing method according to the above embodiment may be configured so that an in-vehicle device 2 that has not obtained an evaluation value 6t for another in-vehicle device 2 does not participate in federated learning. That is, if the determination processing of step S256 is YES, the control unit 21 may end the processing procedure according to the above operation example. In another example, the processing of step S256 may be omitted.

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

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

[0114] The present disclosure can also be realized by supplying a computer program that implements 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. Examples of non-transitory computer-readable storage media include any type of disk, such as a magnetic disk (e.g., a floppy disk, a hard disk drive (HDD), etc.), an optical disk (e.g., a CD-ROM, a DVD disk, a Blu-ray disk), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, a semiconductor drive (a solid-state drive), etc. etc.), including any type of medium suitable for storing electronic instructions. [Explanation of symbols]

[0115] 1...server device, 11...control unit, 12...storage unit, 13...communication module, 14...input device, 15...output device, 16...drive, 81...program, 91...storage medium, 111...Model distribution unit, 112...Indicator distribution unit, 113...model receiving unit, 114...integration processing unit, 2...In-vehicle device (information processing device), V...Vehicle (moving body), 21...control unit, 22...storage unit, 23...communication module, 24...input device, 25...output device, 26...drive, 27...proximity communication module, 82...program, 92...storage medium, 211...model acquisition unit, 212...index acquisition unit, 213...Data collection section, 214...Machine learning section, 215...Evaluation value calculation unit, 216...Evaluation value transmission unit, 217...Evaluation value receiving unit, 218...Evaluation unit, 219...Model transmitter, 3...Local data, 40...Global model, 400...Global model information, 45...(New) Global Model 50...Local model, 500...Local model information, 6...Evaluation value, 70...Evaluation index, 700...Evaluation index information

Claims

1. A plurality of information processing devices mounted on different moving bodies each collect local data; Each of the plurality of information processing devices generates a local model by performing machine learning of a global model using the collected local data; and Each of the information processing devices calculates an evaluation value according to an evaluation index; Each of the plurality of information processing devices transmits the calculated evaluation value to other information processing devices mounted on one or more other moving bodies existing near the moving body of the information processing device by near field communication; Each of the plurality of information processing devices receives, via the near-field communication, the evaluation value calculated by the other information processing device from the other information processing device mounted on each of the one or more other moving bodies; each of the plurality of information processing devices compares the calculated evaluation value with the evaluation value received from the other information processing device to determine whether the evaluation is high; At least one of the information processing devices determined to have a high evaluation transmits local model information indicating the generated local model to a server device; Equipped with Information processing methods.

2. Each of the information processing devices includes a beacon module; The proximity communication is performed using the beacon module. The information processing method according to claim 1 .

3. The information processing method according to claim 1 , wherein the evaluation index includes a first index for evaluating a quality of the local data.

4. the evaluation index includes a second index for evaluating a computing capability of each of the plurality of information processing devices; The information processing method according to claim 1 .

5. The evaluation index is a third index for evaluating the communication capability of each of the plurality of information processing devices. Including the mark, The information processing method according to claim 1 .

6. The evaluation index is expressed by a function, each of the plurality of information processing devices calculates the evaluation value by executing a calculation process of the function expressing the evaluation index; The information processing method according to claim 1 .

7. the server device transmits the global model to each of the plurality of information processing devices; and each of the plurality of information processing devices receiving the global model from the server device; Further comprising: The information processing method according to claim 1 .

8. the server device transmits evaluation index information indicating the evaluation index to each of the plurality of information processing devices; and each of the plurality of information processing devices receiving the evaluation index information from the server device; Further comprising: each of the information processing devices calculates the evaluation value according to the evaluation index indicated in the received evaluation index information; The information processing method according to claim 1 .

9. An information processing device mounted on a moving body, Collecting local data; performing machine learning of a global model using the collected local data to generate a local model; Calculating an evaluation value according to the evaluation index; transmitting the calculated evaluation value to other information processing devices mounted on one or more other moving objects present in the vicinity by short-range communication; receiving, from the other information processing devices mounted on each of the one or more other moving bodies through the near field communication, an evaluation value calculated by the other information processing devices according to the evaluation index; determining whether the evaluation is high by comparing the calculated evaluation value with the evaluation value received from the other information processing device; transmitting local model information indicating the generated local model to a server device when the evaluation is determined to be high; A control unit configured to execute Information processing device.

10. Further comprising a beacon module, The control unit is configured to perform the proximity communication using the beacon module. The information processing device according to claim 9.

11. The information processing device according to claim 9 , wherein the evaluation index includes a first index for evaluating a quality of the local data.

12. The evaluation index includes a second index for evaluating calculation ability. The information processing device according to claim 9 .

13. The evaluation index includes a third index for evaluating communication capability. The information processing device according to claim 9 .

14. The evaluation index is expressed by a function, The control unit is configured to calculate the evaluation value by executing an arithmetic process of the function expressing the evaluation index. The information processing device according to claim 9 .

15. The control unit is configured to transmit the evaluation value by broadcast in the near-field communication. The information processing device according to claim 9 .

16. A plurality of information processing devices are configured to collect local data, and to perform machine learning of a global model using the collected local data, thereby generating local models, respectively. A server device is configured to be able to communicate with each of the plurality of information processing devices mounted on different moving bodies, receiving local model information indicating a local model from at least one information processing device of the plurality of information processing devices; generating a new global model by integrating local models indicated by the local model information received from the at least one information processing device; a control unit configured to execute the control unit is further configured to transmit evaluation index information indicating an evaluation index to each of the plurality of information processing devices; Each of the plurality of information processing devices Calculating an evaluation value according to the evaluation index indicated in the received evaluation index information; transmitting the calculated evaluation value to other information processing devices mounted on one or more other mobile bodies existing near the mobile body by short-range communication; receiving, from the other information processing devices mounted on each of the one or more other moving bodies, an evaluation value calculated in accordance with the evaluation index by the other information processing devices; and determining whether the evaluation is high or not by comparing the calculated evaluation value with the evaluation value received from the other information processing device; The method further comprises: the at least one information processing device is an information processing device that has been determined to have a high evaluation as a result of the comparison based on the evaluation value; Server device.

17. the control unit is configured to transmit the evaluation index information to each of the plurality of information processing devices by broadcast. The server device according to claim 16.

18. the control unit is further configured to transmit the global model to each of the plurality of information processing devices; Each of the information processing devices is configured to generate the local model by performing machine learning on the received global model using the collected local data.

18. The server device according to claim 16 or 17.

19. the control unit is configured to transmit the global model to each of the plurality of information processing devices by broadcasting.

20. The server device according to claim 18.

Citation Information

Patent Citations

  • Distributed machine learning system, apparatus, and method

    JP2019526851A

  • Communication Efficient Federated Learning

    US20200242514A1

  • Machine learning system and method, integration server, information processing device, program, and inference model generation method

    WO2021059607A1