SYSTEM AND METHOD FOR FEDERATED LEARNING FOR AUTOMOTIVE APPLICATIONS USING KNOWLEDGE EXTRACTION WITH TEACHER MODELS - Patent application

The system enhances federated learning for autonomous vehicles by using a robust edge model for supervision, ensuring privacy and accuracy through local training and gradient transmission, addressing the lack of reliable training signals and privacy concerns.

JP7617980B2Active Publication Date: 2025-01-20WOVEN BY TOYOTA INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023106321
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-12-29
Filing Date
2023-06-28
Publication Date
2025-01-20
Estimated Expiration
2043-06-28

AI Technical Summary

Technical Problem

Existing federated learning techniques for training neural networks in autonomous vehicles lack reliable training signals, leading to reduced accuracy in estimation and prediction due to the absence of human annotations, and there is a need to ensure user privacy while utilizing large data sets for training.

Method used

A system and method that incorporates a second, more robust and computationally intensive model on edge devices to derive an estimated signal as a supervision signal for training, ensuring data privacy by only transmitting local updates and gradients, thereby enhancing estimation accuracy through a federated learning approach.

Benefits of technology

Ensures data privacy and increases the accuracy of neural network estimation in autonomous vehicles by leveraging a specialized model for training on edge devices, reducing transmission overhead, and improving the performance of communication networks through efficient data aggregation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007617980000001
    Figure 0007617980000001
  • Figure 0007617980000002
    Figure 0007617980000002
  • Figure 0007617980000003
    Figure 0007617980000003
Patent Text Reader

Abstract

To provide Federated Learning training to a neural network while maintaining safety and user privacy.SOLUTION: A method includes: receiving, from one or more servers through a communication network, a first model and collecting sensor data on a vehicle: identifying a first data item from among the collected sensor data when the first data item is determined to satisfy a criterion; deriving an inference signal by running a trained second model using the first data item as input to the second model to provide a training dataset that contains the identified first data item and the derived inference signal as a supervision signal corresponding to the identified first data item; training the first model on the training dataset; and transmitting first data representing the trained first model to the one or more servers through the communication network.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to systems and methods for providing training for neural networks in autonomous vehicle applications, and more particularly, to providing federated learning training for neural networks while maintaining safety and user privacy. [Background technology]

[0002] Neural networks may be integrated into applications deployed on many distributed edge devices (e.g., processors or computing devices implemented in hospitals or mobile phones). One method for training such neural networks is Federated Learning (FL), which trains machine learning (ML) models using large amounts of data while preserving user privacy.

[0003] To this end, the FL technique consists of a local training phase and a global aggregation phase. In the local training phase, each edge device trains its copy of the neural network with the data sensed and used by the application. By performing the training on the edge device, local data is not exposed or transmitted externally (e.g., to a remote coordinator or server), thereby ensuring data privacy for edge device users. Instead, only local updates to the neural network trained on the edge device are sent to the coordinator, which aggregates the updates to generate a new global model. The global model can then be provided to other edge devices for use in applications.

[0004] It is crucial that machine learning (ML) models integrated into safety-critical applications, such as computer vision (CL) or other machine learning (ML) applications (e.g., autonomous driving control) in autonomous vehicles, are trained on a large amount of data to ensure the accuracy of estimation and the safety of use in real-world environments. Although FL can be applied to these models, there is no reliable teacher signal (e.g., human annotation) for training in the vehicular context. As a result, the accuracy of estimation may be reduced when trained on local data in the vehicle. Summary of the Invention

[0005] SUMMARY OF THE DISCLOSURE In accordance with one or more exemplary embodiments, a system and method for providing driving information to non-driver users is provided.

[0006] According to an aspect of the disclosure, a method executed by one or more programmed processors includes receiving a first model from one or more server computers over a communications network; collecting sensor data acquired by sensors on the vehicle; identifying a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; deriving an estimated signal by operating a trained second model using the first data item as an input to the second model to provide a training dataset including the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; training the first model on the training dataset; and transmitting first data representing the trained first model to the one or more server computers over the communications network. Includes.

[0007] According to an aspect of the disclosure, a computing device includes a memory that stores instructions and a processor, wherein the processor is configured to execute instructions to receive a first model from one or more server computers over a communications network; collect sensor data acquired by a sensor on the vehicle; identify a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; derive an estimated signal by operating a trained second model using the first data item as an input to the second model to provide a training dataset including the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; train the first model on the training dataset; and transmit first data representing the trained first model to the one or more server computers over the communications network.

[0008] According to an aspect of the disclosure, a non-transitory computer-readable medium includes instructions that, when executed by one or more processors of the device, cause the one or more processors to perform the following: receiving a first model from one or more server computers over a communications network; collecting sensor data acquired by sensors on the vehicle; identifying a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; deriving an estimated signal by operating a trained second model using the first data item as an input to the second model to provide a training dataset including the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; training the first model on the training dataset; and transmitting first data representing the trained first model to the one or more server computers over a communications network.

[0009] Additional aspects will be set forth in part in the description that follows, or will be apparent from the description that follows, or may be learned from practice of illustrative embodiments of the present disclosure. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram of a system according to an embodiment. [Diagram 2] FIG. 2 is a diagram of components of the autonomous vehicle of FIG. 1 according to an embodiment. [Diagram 3] FIG. 3 is a diagram of data processing associated with training neural networks for multiple autonomous vehicles, according to an embodiment. [Figure 4] FIG. 4 is a diagram of data processing associated with training a neural network for a single autonomous vehicle, according to an embodiment. [Diagram 5] FIG. 5 is a flow chart of a method for training a neural network for an autonomous vehicle according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] The above and other aspects, features and modes of embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings.

[0012] The following detailed description of the exemplary embodiments refers to the accompanying drawings, in which the same reference numbers in different drawings identify the same or similar elements, and in which:

[0013] 1 is a diagram of a system 100 according to an embodiment. The system 100 includes one or more vehicles 110a-n and one or more server computers 120a-n. The one or more server computers 120a-n are connected to each other and to each of the vehicles 110a-n, for example, via a communications network 130.

[0014] The disclosed embodiments include receiving from one or more server computers 120. Server computers 120 as used in this disclosure include general purpose computers, personal computers, workstations, mainframe computers, notebooks, global positioning devices, laptop computers, smart phones, personal digital assistants, network servers, and other electronic devices that may interact with a user to develop programming code.

[0015] In some embodiments, the server computer 120 includes a processor, a display device, a memory device, and other components including these components that facilitate electronic communication. Other components include user interface devices such as input / output devices. The server computer 120 includes computer hardware components such as a central processing unit (CPU) or processor, a bus, memory devices, storage units, data processors, input devices, output devices, network interface devices, and combinations of other types of components apparent to those skilled in the art. The server computer 120 can further include application programs including software modules, sets of instructions, routines, data structures, display interfaces, and other types of structures that perform the operations of the present disclosure.

[0016] The disclosed embodiments include receiving over a communications network 130. A communications network as used in this disclosure includes a set of computers (e.g., one or more server computers 120) that share resources on or provided by a network node. The set of computers communicate with each other using a common communications protocol over digital interconnects. These interconnects consist of physical wired, optical, wireless, radio frequency based electrical communications technologies arranged in a variety of network topologies. For example, these interconnects are made through databases, servers, RF (radio frequency) signals, cellular technologies, Ethernet, telephone, "TCP / IP" (Transmission Control Protocol / Internet Protocol), and other electronic communications formats. For example, the network 130 may include a cellular network (e.g., a fifth generation (5G) network, a long term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN), a private network, an ad-hoc network, an intranet, the Internet, an optical fiber-based network, or equivalents thereof, and / or combinations thereof or other types of networks.

[0017] The number and arrangement of servers 120 and networks 130 shown in Figure 1 are provided as an example. In practice, there may be additional servers 120 and / or networks 130, fewer servers 120 and / or networks 130, different servers 120 and / or networks 130, or servers 120 and / or networks 130 arranged differently than those shown in Figure 1. Furthermore, two or more servers 120 shown in Figure 1 may be implemented within a single server 120, or a single server 120 shown in Figure 1 may be implemented as multiple distributed servers 130. Additionally or alternatively, a set of servers 120 (e.g., one or more servers 120) may perform one or more functions described as being performed by another set of servers 120.

[0018] In some embodiments, the communication network 130 is constructed as a neural network. A neural network is based on a collection of connected units or nodes called artificial neurons, loosely modeled on neurons in a biological brain. Each connection, like a synapse in a biological brain, can send a signal to another neuron. An artificial neuron receives and processes a signal, then sends the signal to other neurons connected to it. The signals in the connections are real numbers, and the output of each neuron is calculated by a nonlinear function of the sum of its inputs. The connections may be edges (like in the autonomous vehicle 110). Neurons and edges have weights that are adjusted as learning progresses. The weights increase or decrease the strength of the signal in the connection. Neurons have thresholds such that a signal is sent only if the aggregate signal exceeds that threshold. Neurons are aggregated into layers. Different layers perform different transformations on their inputs. Signals travel from the first layer (e.g., input layer) through potential hidden layers to the last layer (e.g., output layer), and may travel multiple times.

[0019] As described in further detail below, federated learning (FL) is used to train neural networks for safety-critical automotive applications by incorporating a second neural network (e.g., a teacher model) to derive an estimation signal as a supervision signal for training. By applying FL, a large amount of data can be used to train the neural network, which increases the accuracy of the estimation. Furthermore, by applying FL, data privacy for the user (i.e., the operator of the vehicle 110) can be ensured. In addition, by incorporating a second model dedicated to training at the edge device, the second model can be made more robust and computationally heavy than an edge model integrated into the application (which must be lighter weight for real-time use), thus providing a more accurate estimation than the edge model. Finally, the accuracy of the estimation or prediction by the edge model can be increased because the estimation from the second model is used as a supervision signal.

[0020] A more detailed view of the vehicles 110 can be seen in Figure 2. Each of the vehicles 110 includes one or more sensors 112, one or more transceivers 114, and a vehicle computer 116.

[0021] The one or more transceivers 114 as used in this disclosure include one or more components (e.g., a transceiver and / or a separate receiver and transmitter) that enable the vehicle 110 to communicate with other vehicles 110 and / or one or more server computers 120, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. The one or more transceivers 114 enable the vehicle 110 to receive information from and / or provide information to another vehicle 110 / server computer 120. For example, the one or more transceivers 114 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or other interface capable of transmitting or receiving electrical / electromagnetic information.

[0022] As seen in FIG. 2, a vehicle computer 116 as used in this disclosure includes a bus (not shown), a memory 117, a processor 118, input components (not shown), and output components (not shown).

[0023] The bus includes components that enable communication between the components of the vehicle computer 116 .

[0024] Processor 118 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 118 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. Processor 118 may include one or more processors that can be programmed to perform functions.

[0025] Memory 117 may include random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions used by processor 118. Memory 117 also stores information and / or software related to the operation and use of vehicle computer 116. For example, memory 117 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium along with a corresponding drive.

[0026] The input components include components that allow the vehicle computer 116 to receive information, for example, via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone), and sensors for sensing information (e.g., a Global Positioning System (GPS) component, an accelerometer, a gyroscope, and / or an actuator).

[0027] Output components include components that provide output information from the vehicle computer 116 (eg, a display, a speaker, and / or one or more light emitting diodes (LEDs)).

[0028] Vehicle computer 116 performs one or more processes described herein. Vehicle computer 116 performs operations based on processor 118 executing software instructions stored by a non-transitory computer readable medium, such as memory 117. A computer readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

[0029] The software instructions may be read into memory 117 from another computer-readable medium or another device via one or more transceivers 114. When executed, the software instructions stored in memory 117 cause processor 118 to perform one or more operations described herein.

[0030] Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more operations described herein, and thus, the embodiments described herein are not limited to any specific combination of hardware circuitry and software.

[0031] The disclosed embodiment includes receiving a first model 210 (e.g., first model 210a). As used in this disclosure, the first model 210 includes a machine learning model. The machine learning model is configured to be integrated into an application running on an autonomous vehicle (such as vehicle 110a). The application running on autonomous vehicle 110 is a safety-critical application such as computer vision, autonomous vehicle control, and other machine learning applications related to the operation of autonomous vehicle 110. Autonomous vehicle control can include autonomous control of acceleration, braking, steering, gear shifting, and other systems that may affect the operation of vehicle 110 through its environment.

[0032] In some embodiments, the first model 210 (first model 210a) is associated with detecting an object 140 encountered by the vehicle 110 (e.g., vehicle 110a). The object may be another vehicle, a pedestrian, wildlife, a road hazard, or any other aspect of the environment that may interact with the vehicle 110. For example, in FIG. 1, the object 140 is depicted as a bicycle on the road.

[0033] In some embodiments, the first model 210 (e.g., first model 210a) is associated with a sensory interpretation. For example, one type of sensory interpretation includes image segmentation. Image segmentation divides a digital image into multiple image segments (e.g., image regions or image objects (a set of pixels)). Image segmentation simplifies and / or changes the display of an image to one that is more meaningful and / or easier to analyze. Image segmentation is used to locate objects and boundaries (e.g., lines and curves) in an image. Image segmentation involves assigning labels to various pixels in an image such that pixels with the same label share certain characteristics.

[0034] 1 and 2, the vehicle 110a receives the first model 210a via one or more transceivers 114 and stores the received first model 210a, for example, in a memory 117 of the vehicle computer 116 of the vehicle 110a. Similarly, the other vehicles 110b-n each receive a first model (e.g., first model 210b, first model 210c, first model 210n) as well as the first model 210a at their respective transceivers 114 and store each received first model 210b-n, for example, in a memory 117 of the vehicle computer 116 of the other vehicles 110b-n.

[0035] The disclosed embodiments include collecting sensor data 220a acquired by one or more sensors 112 at the vehicle 110a. As used in this disclosure, a sensor 112 includes a camera, camcorder, microphone, lidar, or other device configured to collect the sensor data 220a. As used in this disclosure, sensor data 220a includes photographs, video recordings, audio recordings, lidar data, or other measurements of the vehicle 110a's surrounding environment. Similarly, other vehicles 110b-n each collect sensor data 220b-n via their respective sensors 112.

[0036] 1 and 2, vehicle 110a receives sensor data 220a via one or more sensors 112 and stores the received sensor data 220a, for example, in memory 117 of vehicle computer 116. Similarly, other vehicles 110b-n each store their collected sensor data 220b-n via their respective memories 117 of their vehicle computers 116.

[0037] The disclosed embodiments include a vehicle 110. As used in this disclosure, a vehicle 110 includes a car, van, truck, bus, motorcycle, moped, drone, robot, or other mobile device capable of full or partial autonomous movement.

[0038] As seen in FIG. 1 , the system 100 includes a plurality of vehicles 110a-n. Each of the vehicles 110a-n is substantially similar to some of the other vehicles 110a-n or different from some of the other vehicles 110a-n. In some embodiments, all of the vehicles 110a-n are autonomous vehicles of the same model having similar sensing and dynamic capabilities / configurations. In other embodiments, all of the vehicles 110a-n are autonomous vehicles of different models having a variety of different sensing and dynamic capabilities / configurations. In other embodiments, some of the vehicles 110a-n are similarly configured and other vehicles are differently configured.

[0039] The disclosed embodiment includes identifying a first data item 222a from among the collected sensor data 220a. The first data item 222a as used in this disclosure includes a subset of the sensor data 220a received by the vehicle 110a, which subset is useful for training the first model 210a to improve the accuracy of the estimation and the safety of use in a real-world environment. In a similar manner, as seen for example in FIG. 3, the other vehicles 110b-n include identifying other data items (e.g., first data item 222b, first data item 222c, first data item 222n) similar to identifying the first data item 222a.

[0040] The disclosed embodiment includes identifying when the first data item 222a is determined to meet a criterion. Criteria as used in this disclosure include (i) vehicle information (e.g., speed, steering, and braking) when the data is detected (e.g., speed above a predetermined speed, or braking when the speed is above a predetermined speed, steering above a predetermined degree or amount, steering above a predetermined amount when the speed is above a predetermined speed, or other conditions related to vehicle motion useful for training the first model 210); (ii) vehicle position (e.g., as determined by an inertial measurement unit (IMU), global positioning system (GPS), or other sensor used to determine the relative or absolute position / orientation of the vehicle 110a) when the data is detected, the time when the data is detected, driver monitor information when the data is transmitted; (iii) image recognition results (e.g., scene classification, variance in number of detected objects, road structure, or other meaningful characteristics of the environment around the vehicle 110a); (iv) uniqueness / clustering of image features; and (v) uncertainty metrics. (vi) and / or other recognizable characteristics that indicate usefulness in training the first model 210. In a similar manner, the other vehicles 110b-n identify when their respective data items 222b-n are determined to meet the criteria.

[0041] Evaluating the first data item 222 (e.g., the first data item 222a) includes detecting the object 140 included in the identified first data item 222a. Detecting the object 140 as used in this disclosure includes locating the first data item 222 that indicates the real-world presence of the object 140 in the environment. Information regarding the real-world presence of the object 140 in the environment includes properties of the object including the position, orientation, size, speed, trajectory or other physical / behavioral characteristics of the object 140. As seen in FIG. 1, detecting the object 140 includes determining that the position of the first data item 222a indicates a bicycle traveling at a particular speed, in a particular direction, on a particular portion of a road.

[0042] The disclosed embodiment includes a trained second model 215 (e.g., second model 215a). The second model 215, similar to the first model 210, includes a machine learning model. The machine learning model is specifically configured for training in the vehicle 110 (e.g., vehicle 110a). The second model 215 is substantially similar to the first model 210 in terms of its ability to evaluate the sensor data 220. However, while the application-integrated first model 210 is relatively light-weight for real-time use, the second model 215 is more robust and computationally intensive to serve as a teacher model. In some embodiments, the second model 215 may be pre-installed, for example, in the memory 117 of the vehicle computer 116 of the vehicle 110. In some embodiments, the vehicle 110a receives the second model 215 via one or more transceivers 114 and stores the received second model 215, for example, in the memory 117 of the vehicle computer 116 of the vehicle 110.

[0043] The disclosed embodiments include inputting a first data item 222 (first data item 222a) into a first model 210 (e.g., first model 210a). In some embodiments, after (i) the first model 210 is received from the server computer 120 and stored in the memory 117 of the vehicle computer 116 of the vehicle 110 (e.g., vehicle 110a), and (ii) the first data item 222 is stored in the memory 117 and identified by the processor 118 of the vehicle 110, the processor 118 inputs the first data item 222 into the first model 210 to detect the object 140 as an output of a first estimation 223 (e.g., first estimation 223a). Running the first model 210 results in the detection of the object 140 and generates the first estimation 223 having one or more particular confidence scores 224 (e.g., confidence score 224a). These confidence scores 224 indicate the extent to which the first model's 210 perception of the presence, properties, and behavior of the object 140 (i.e., the first estimate 223) matches the reality of the object 140 in a real-world environment. For example, after running the first data item 222a through the first model 210a, the processor 118 determines, as the first estimate 223a, that a bicycle has been detected traveling north at 20 miles per hour and that the detected bicycle will continue on this trajectory. In this example, the first estimate 223a has a confidence score 224a of 80%, indicating that there is an 80% likelihood that the first estimate 223a matches the reality of the object 140 in the real world.

[0044] The disclosed embodiments include identifying a first data item 222 (e.g., first data item 222a) for training based on the confidence score 224 (e.g., confidence score 224a) being less than a predetermined value. In the above example where the first estimation 223a (i.e., that a bicycle was detected traveling north at 20 miles per hour and that the detected bicycle will continue on this trajectory) has a confidence score 224a of 80%, (i) the first data item 222a is identified for training if the predetermined value is set to, for example, 85%, and (ii) the first data item 222a is not identified for training if the predetermined value is set to, for example, 75%.

[0045] The disclosed embodiments include inputting the first data item 222 (e.g., the first data item 222a) into the second model 215 (e.g., the first model 210a) to derive an estimated signal (e.g., the second estimate 225a) as an output. In some embodiments, after the first data item 222 is stored in the memory 117 and identified by the processor 118 of the vehicle 110, the processor 118 inputs the first data item 222 into the second model 215 to detect the object 140 as the second estimate 225 (e.g., the second estimate 225a). Running the second model 215 results in the detection of the object 140 and generates the second estimate 225. For example, the processor 118, after running the first data item 222a through the second model 215a, can determine as the second estimate 225a that a bicycle has been detected traveling north at 25 miles per hour and that the detected bicycle will continue on this trajectory.

[0046] The disclosed embodiment includes comparing the output of the first model 210 and the output of the second model 215. As used in this disclosure, the output of the first model 210 and the output of the second model 215 include the first estimate 223 and the second estimate 225, respectively. In the above example, when the first estimate 223a (i.e., a bicycle was detected traveling north at 20 miles per hour and that the detected bicycle will continue on this trajectory) is compared to the second estimate 225a (i.e., a bicycle was detected traveling north at 25 miles per hour and that the detected bicycle will continue on this trajectory), it is found that the difference in the outputs is a speed difference of 5 miles per hour.

[0047] The disclosed embodiment includes identifying a first data item 222 (e.g., first data item 222a) for training based on a difference between the outputs (e.g., estimates 223a, 225a) being greater than a predetermined value. In the above example where the difference between the first estimate 223a (i.e., a bicycle was detected traveling north at 20 miles per hour and that the detected bicycle will continue on this trajectory) and the second estimate 225a (i.e., a bicycle was detected traveling north at 25 miles per hour and that the detected bicycle will continue on this trajectory) is a speed difference of 5 miles per hour, (i) if the predetermined value is set to, for example, 3 miles per hour, then the first data item 222a is identified for training, and (ii) if the predetermined value is set to, for example, 10 miles per hour, then the first data item 222a is not identified for training.

[0048] The disclosed embodiment includes providing a training data set 228a including the identified first data items 222a and the derived estimated signal 225a. Generating the training data set 228a as used in the present disclosure includes aggregating relevant information in a manner useful for training a machine learning model. Similarly, as seen, for example, in FIG. 3, the other vehicles 110b-n generate their own training data sets (e.g., training data set 228b, training data set 228c, training data set 228n) to include the first data items 222b-n and derived estimated signals 225b-n corresponding to the respective vehicles 110b-n.

[0049] The disclosed embodiments include deriving the estimated signal 225a as a teacher signal. A teacher signal as used in this disclosure includes training examples having an input and a desired output value. The input includes the estimated signal 225a (e.g., as seen in FIG. 4). The desired output value includes a pseudo label for the first data item 222a. Similarly, the estimated signals 225b-n associated with the vehicles 110b-n are also derived as teacher signals.

[0050] The disclosed embodiment includes training the first model 210a on the training data set 228a. Training as used in this disclosure includes a local training phase associated with FL. As seen in FIG. 4, training the first model 210a with the training data set 228a results in the generation of a trained first model 230a. The trained first model 230a can generate estimates with a higher confidence level than the untrained first model 210a. For example, the processor 118, after running the first data item 222a through the trained first model 230a, determines as the trained first estimate with 90% confidence (up from the first estimate 223a of 80% using the original first model 210a) that a bicycle traveling north at 20 miles per hour has been detected and that the detected bicycle will continue on this trajectory. Similarly, the other vehicles 110b-n train their respective edge models 210b-n on their respective generated training datasets 228b-n to generate trained edge models 230b-n.

[0051] In some embodiments, training the first model 210a includes training a copy of the received first model 210a. By training a copy of the first model 210a, the original first model 210a is preserved after training. Thus, the performance of the original first model 210a can be compared with the performance of the trained first model 230a so that the models 210a, 230a capable of generating estimates with a high confidence level can be used in the future. Similarly, the other vehicles 110b-n train themselves on copies of their respective edge models 210b-n.

[0052] The disclosed embodiment includes transmitting the first data 240a representing the trained first model 230a to one or more server computers 120 via the communication network 130. In contrast to transmitting the training data set 228a to one or more servers 120 for training, transmitting the first data 240a representing the trained first model 230a (obtained by performing training locally) can protect the privacy of the user's data. Similarly, as seen in FIG. 3, the other vehicles 110b-n generate their own first data (e.g., first data 240b, first data 240c, first data 240n) that are then transmitted to one or more servers 120.

[0053] The disclosed embodiment includes obtaining gradients 232a between the pre-trained first model 210a and the trained first model 230a as the first data 240a. The gradients 232a as used in this disclosure include update parameters (e.g., weights) that represent the difference between the first model 210a and the trained first model 230a. By transmitting only the gradients 232a rather than the entire updated / trained model 230a, the transmission overhead can be reduced, which can improve the performance of the communication network 130. Similarly, the other vehicles 110b-n obtain gradients 232b-n between their respective edge models 210b-n and the trained edge models 230b-n as their respective data 240b-n, which are then transmitted to one or more servers 120.

[0054] The disclosed embodiment includes receiving second data 250a from one or more server computers 120 via the communication network 130, the second data 250a representing a model trained using model information aggregated from other edge models. As used in this disclosure, the second data 250a includes the results of a global aggregation phase associated with the FL. For example, the one or more server computers 120 aggregate the data 240a-n (e.g., trained models 230a-n or gradients 232a-n) received from each of the multiple edge vehicles 110a-n relative to the first model 210a and update the first model 210a accordingly. The second data 250a represents the updated first model itself or the gradient between the updated first model and the original first model 210a. Similarly, the other vehicles 110b-n each receive the second data 250b-n. The second data 250b-n represent updates to the respective models 210b-n based on an aggregation of the data 240a-n for the respective models 210b-n. The second data 250b-n may be substantially identical to or different from the second data 250a. In some embodiments, the second data 250a is transmitted from one or more server computers 120 to each of the edge vehicles 110a-n.

[0055] The disclosed embodiment includes updating the first model 210a based on the second data 250a. After updating the first model 210a (and possibly the trained first model 230a if both copies are stored in the memory 117) with the second data 250a, the updated first model can generate a higher confidence level estimate for both the original first model 210a and the trained first model 230a. For example, after running the first data item 222a through the updated first model, the processor 118 determines with 95% confidence (up from 90% using the trained first model 230a and 80% using the original first model 210a) that a bicycle traveling north at 20 miles per hour has been detected, and that the detected bicycle will continue on this trajectory. Similarly, each of the other vehicles 110b-n updates their respective edge models 210b-n with the second data 250b-n. Alternatively, the other vehicles 110b-n may use the second data 250a to update their respective edge models 210b-n.

[0056] FIG. 5 is a flow chart of a method for providing a FL for training a neural network for an autonomous vehicle according to an embodiment. Referring to FIG. 5, in operation 302, the system receives a first model from one or more server computers via a communication network. In operation 304, the system collects sensor data acquired by sensors on the vehicle. In operation 306, the system identifies a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion. In operation 308, the system derives an estimated signal by running a trained second model using the first data item as an input to the second model to provide a training data set including the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item. In operation 310, the system trains the first model on the training data set. In operation 312, the system transmits first data representing the trained first model to one or more server computers via a communication network.

[0057] It will be understood that one or more operations of the methods described above may be omitted or combined with other operations, and one or more additional operations may be added.

[0058] Utilizing the above-mentioned method, several advantages over conventional autonomous vehicle training techniques are realized. By training locally, as opposed to transmitting training data to a coordinator, privacy of user data is ensured. By incorporating a second model dedicated to training on the edge device, the second model can be made more robust and computationally heavy than the edge model integrated into the application (which must be lighter for real-time use), and thus the second model provides more accurate estimations than the edge model. By using the estimation from the second model as a teacher signal, the accuracy of the estimation or prediction by the edge model can be increased. By transmitting only the gradients rather than the updated / trained model, the transmission overhead is reduced, which can improve the performance of the communication network. By aggregating updates to the ML model from multiple edge devices, the ML model can be efficiently trained with a large amount of data, which can improve performance (accuracy of estimation).

[0059] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0060] As used herein, the term "component" is intended to broadly comprise hardware, firmware, or a combination of hardware and software.

[0061] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement the systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.

[0062] Although particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below depends directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

[0063] No element, act, or instruction used herein should be construed as critical or required unless expressly stated. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Additionally, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with "one or more." When only one item is intended, the term "a" or similar language is used. Also, as used herein, the term "having" or similar language is intended to be an open-ended term. Additionally, the phrase "based on" is intended to mean "based at least in part on" unless expressly specified to the contrary.

[0064] An expression such as "at least one," when preceding a list of elements, modifies the entire list of elements and not each individual element of the list. For example, the expression "at least one of a, b, and c" should be understood to include a only, b only, c only, both a and b, both a and c, both b and c, all of a, b, and c, or any variation of the foregoing examples.

[0065] Although terms such as "first", "second", etc. are used to describe various elements, such elements should not be limited to the above terms. The above terms may be used only to distinguish one element from another element.

Claims

1. 1. A method executed by one or more programmed processors, comprising: receiving a first model over a communications network from one or more server computers; collecting sensor data acquired by sensors on a vehicle; identifying a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; deriving an estimated signal by running a trained second model using the first data item as an input to a second model to provide a training data set comprising the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; training the first model on the training data set; transmitting first data representing the trained first model over the communications network to the one or more server computers; Including, Identifying the first data item comprises: inputting the first data item into both the first model and the second model and comparing the output of the first model with the output of the second model; identifying the first data item for training based on the difference in the outputs being greater than a predetermined value; A method comprising:

2. receiving second data from the one or more server computers over a communications network, the second data representing a model trained using model information aggregated from other edge models; updating the first model based on the second data; and The method of claim 1 further comprising:

3. The method of claim 1 or 2, wherein training the first model comprises training a copy of the received first model.

4. The method of claim 1 or 2, further comprising obtaining as the first data a gradient between the first model before the training and the first model after the training.

5. The method of claim 3 , further comprising obtaining, as the first data, gradients between the received first model and a copy of the first model updated by the training.

6. A memory for storing instructions; Processor and A computing device comprising: The processor, receiving a first model over a communications network from one or more server computers; Collecting sensor data acquired by sensors on the vehicle; identifying a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; deriving an estimated signal by running a trained second model using the first data item as an input to a second model to provide a training data set comprising the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; training the first model on the training data set; configured to execute the instructions to transmit first data representing the trained first model over the communications network to the one or more server computers; The instructions for identifying the first data item include: inputting the first data item into both the first model and the second model and comparing the output of the first model with the output of the second model; A computing device comprising: instructions for identifying the first data item for training based on the difference in the outputs being greater than a predetermined value.

7. The processor further comprises: receiving second data from the one or more server computers over a communications network, the second data representing a model trained using model information aggregated from other edge models; The computing device of claim 6 , configured to execute the instructions to update the first model based on the second data.

8. 8. A computing device according to claim 6 or 7, wherein the instructions for training the first model comprise instructions for training a copy of the received first model.

9. 8. The computing device of claim 6 or 7, wherein the processor is further configured to execute the instructions to obtain as the first data a gradient between the first model before the training and the first model after the training.

10. 9. The computing device of claim 8, wherein the processor is further configured to execute the instructions to obtain, as the first data, gradients between the received first model and a copy of the first model updated by the training.

11. A non-transitory computer-readable medium storing instructions, comprising: The instruction: receiving a first model over a communications network from one or more server computers; collecting sensor data acquired by sensors on a vehicle; identifying a first data item from the collected sensor data when it is determined that the first data item satisfies a criterion; deriving an estimated signal by running a trained second model using the first data item as an input to a second model to provide a training data set comprising the identified first data item and the derived estimated signal as a teacher signal corresponding to the identified first data item; training the first model on the training data set; transmitting first data representing the trained first model over the communications network to the one or more server computers; comprising one or more instructions that, when executed by one or more processors of the apparatus, cause the one or more processors to execute Having the one or more processors identify the first data item comprises: inputting the first data item into both the first model and the second model and comparing the output of the first model with the output of the second model; identifying the first data item for training based on the difference in the outputs being greater than a predetermined value; a non-transitory computer-readable medium for causing the one or more processors to execute the

12. The instructions may further include: receiving second data from the one or more server computers over a communications network, the second data representing a model trained using model information aggregated from other edge models; updating the first model based on the second data; and 12. The non-transitory computer-readable medium of claim 11, comprising one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to execute:

13. 13. The non-transitory computer-readable medium of claim 11 or 12, wherein causing the one or more processors to train the first model comprises causing the one or more processors to train a copy of the received first model.

14. 13. The non-transitory computer-readable medium of claim 11 or 12, wherein the instructions further include one or more instructions that, when executed by one or more processors of the device, cause the one or more processors to obtain as the first data a gradient between the first model before the training and the first model after the training.

Citation Information

Patent Citations

  • System and method for dataset and model management for multi-modal auto-labeling and active learning

    JP2022164640A

  • Dynamic weight updating for neural network

    JP2022171603A