System and method for training and evaluating deep learning system on multiple basic truth sources
Through multi-sensor automation collecting basic truth data and optimizing the training process using loss function and correctness function, the problem of hard work and poor quality of data labeling in deep learning model training is solved, and the accuracy and efficiency of the model are improved.
Patent Information
- Application Number
- CN202410845041.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-27
- Filing Date
- 2024-06-27
- Publication Date
- 2024-12-27
AI Technical Summary
In the prior art, the collection of labeled data required for training deep learning models is laborious and time-consuming, especially the labeling of audio data is difficult to automate, resulting in high cost and poor quality of data set generation, which affects the training effect of the model.
Multiple different sensors (such as cameras, radars, photocells, audio sensors) are used to automatically collect basic truth data, and the training process is driven by the loss function and the correctness function to optimize the accuracy and performance of the model.
Efficient and automated basic truth data collection is achieved, reducing training costs, and improving the accuracy and efficiency of deep learning models, especially when processing audio data in complex environments.
Smart Images

Figure CN119202701A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to computer systems configured to implement artificial intelligence, including neural networks. Background Art
[0002] Internet of Things (IoT) systems based on machine and deep learning algorithms are becoming common in both industrial and consumer applications. The commercial success of such systems is closely related to meeting expectations for accuracy, precision, recall, and coverage. The development of highly accurate deep learning systems is directly affected by the availability of large and diverse sets of training and evaluation data. Before manufacturing and deploying systems, a large amount of evaluation data is required to evaluate the performance of the system. Large amounts of labeled data are key to training complex and large deep learning models that can meet the desired performance levels. Summary of the invention
[0003] Aspects of the present disclosure include a method for training a machine learning (ML) model, the method comprising obtaining a dataset including first training data obtained using two or more ground truth sensing systems and second training data obtained using a predictive sensing system configured to implement the ML model, determining a loss function based on the first training data, the loss function defining a zero-loss region based on minimum and maximum values of the first training data, calculating a predicted output based on the second training data using the ML model, calculating a loss of the ML model based on the predicted output using the loss function, and updating the ML model based on the calculated loss.
[0004] In other aspects, the ground truth sensing system includes at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system includes at least one audio sensor. The ML model is configured to detect features in an audio data stream. Determining a loss function includes defining a zero loss region between a lower limit based on a minimum value of the first training data and an upper limit based on a maximum value of the first training data. The method also includes determining a correctness function based on the first training data. The correctness function is configured to output a first value in response to the predicted output being within a predetermined tolerance of the zero loss region, and to output a second value in response to the predicted output not being within a predetermined tolerance of the zero loss region. The method also includes calculating the accuracy of the ML model using the correctness function, and further updating the ML model based on the calculated accuracy. Two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and the predictive sensing system is configured to detect audio features associated with the object at the first time interval.
[0005] A system for training a machine learning (ML) model includes a loss function circuit and an ML circuit, wherein the loss function circuit is configured to receive a data set including first training data obtained using two or more ground truth sensing systems, and determine a loss function based on the first training data, wherein the loss function defines a zero loss region based on minimum and maximum values of the first training data, and the ML circuit is configured to implement the ML model. Implementing the ML model includes receiving second training data obtained using a predictive sensing system configured to implement the ML model, and calculating a predicted output based on the second training data using the ML model. The loss function circuit is also configured to calculate a loss of the ML model based on the predicted output using the loss function. The ML circuit is configured to update the ML model based on the calculated loss.
[0006] In other aspects, the ground truth sensing system includes at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system includes at least one audio sensor. The ML model is configured to detect features in an audio data stream. In order to determine a loss function, the loss function circuit is configured to define a zero loss region between a lower limit based on a minimum value of the first training data and an upper limit based on a maximum value of the first training data. The system also includes a correctness function circuit configured to determine a correctness function based on the first training data. The correctness function is configured to output a first value in response to the predicted output being within a predetermined tolerance of the zero loss region, and to output a second value in response to the predicted output not being within a predetermined tolerance of the zero loss region. The correctness function circuit is configured to calculate the accuracy of the ML model using the correctness function, and wherein the ML circuit is configured to further update the ML model based on the calculated accuracy. Two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and the predictive sensing system is configured to detect audio features associated with the object at the first time interval.
[0007] A computing device is configured to implement and train a machine learning (ML) model. The computing device includes a processing device configured to execute instructions stored in a memory to obtain a data set including first training data obtained using two or more ground truth sensing systems and second training data obtained using a predictive sensing system configured to implement the ML model, determine a loss function based on the first training data, wherein the loss function defines a zero loss region based on minimum and maximum values of the first training data, calculate a predicted output based on the second training data using the ML model, calculate a loss of the ML model based on the predicted output using the loss function, and update the ML model based on the calculated loss.
[0008] In other aspects, a system includes a computing device and further includes two or more ground truth sensing systems and a predictive sensing system. The ground truth sensing system includes at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system includes at least one audio sensor. The ML model is configured to detect features in an audio data stream. Determining a loss function includes defining a zero loss region between a lower limit based on a minimum value of first training data and an upper limit based on a maximum value of the first training data. The processing device is also configured to execute instructions stored in a memory to determine a correctness function based on the first training data. The correctness function is configured to output a first value in response to a predicted output being within a predetermined tolerance of the zero loss region, and to output a second value in response to a predicted output not being within a predetermined tolerance of the zero loss region, calculate the accuracy of the ML model using the correctness function, and further update the ML model based on the calculated accuracy. The two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and the predictive sensing system is configured to detect audio features associated with the object at the first time interval. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 A system for training a neural network according to the principles of the present disclosure is generally illustrated.
[0010] Figure 2 A computer-implemented method for training and utilizing a neural network in accordance with the principles of the present disclosure is generally illustrated.
[0011] Figure 3A An audio data tagging system according to the principles of the present disclosure is generally illustrated.
[0012] Figure 3B A portion of a data capture system in accordance with the principles of the present disclosure is generally illustrated.
[0013] Figure 3C An alternative audio data labeling system in accordance with the principles of the present disclosure is generally illustrated.
[0014] Figure 4A A training system configured to train a machine learning model using a loss function and a correctness function according to the principles of the present disclosure is shown.
[0015] Figure 4B An example loss function in accordance with the principles of the present disclosure is shown.
[0016] Figure 4C An example correctness function in accordance with the principles of the present disclosure is shown.
[0017] Figure 4D Illustrated are steps of an example method for training a machine learning model using a loss function and a correctness function in accordance with the principles of the present disclosure.
[0018] Figure 5 Depicted is a schematic diagram of the interaction between a computer-controlled machine and a control system in accordance with the principles of the present disclosure.
[0019] Figure 6 Depicted is a device configured to control a vehicle according to the principles of the present disclosure. Figure 5 Schematic diagram of a control system of a vehicle, which can be a partially autonomous vehicle, a fully autonomous vehicle, a partially autonomous robot, or a fully autonomous robot.
[0020] Figure 7 Depicted Figure 5 Schematic diagram of a control system configured to control a manufacturing machine, such as a punch tool, a tool, or a gun drill, of a manufacturing system (such as part of a production line).
[0021] Figure 8 Depicted Figure 5 Schematic diagram of a control system configured to control a power tool, such as a power drill or driver, having an at least partially autonomous mode.
[0022] Fig. 9 Depicting a device configured to control an automated personal assistant Figure 5 Schematic diagram of the control system.
[0023] Fig.10 Depicted Figure 5 Schematic diagram of a control system configured to control a surveillance system, such as a controlled access system or a surveillance system.
[0024] Fig.11 Depicted Figure 5 Schematic diagram of a control system configured to control an imaging system, such as an MRI device, an x-ray imaging device, or an ultrasound device. DETAILED DESCRIPTION
[0025] Embodiments of the present disclosure are described herein. However, it should be understood that the disclosed embodiments are merely examples, and other embodiments may take various and alternative forms. The figures are not necessarily to scale; some features may be enlarged or reduced to show the details of a particular component. Therefore, the specific structural and functional details disclosed herein should not be interpreted as restrictive, but merely as a representative basis for teaching those skilled in the art to adopt the embodiments in various ways. As will be understood by those of ordinary skill in the art, the various features illustrated and described with reference to any of the figures may be combined with the features illustrated in one or more other figures to produce embodiments that are not explicitly illustrated or described. The combination of the illustrated features provides representative embodiments of typical applications. However, for specific applications or implementations, various combinations and modifications of features consistent with the teachings of the present disclosure may be desired.
[0026] In the data development for training machine learning (ML) models (as used herein, including deep learning models), data collection and labeling, especially sound data, is laborious, expensive and time-consuming work, which may embody the main bottleneck in most current machine learning pipelines. Manual data labeling is particularly time-consuming, resulting in high costs and / or limited data sets. For example, humans use various sound cues from the environment in daily life decisions. More and more developers are trying to incorporate such decisions into various machine learning models. Although the technology for using machine learning models to understand human speech is relatively common, using ML models to understand non-speech environmental sounds is a relatively young field and a rapidly growing topic of interest.
[0027] Recent advances in deep learning techniques for vision and text come from access to large amounts of labeled data. However, collecting and strongly labeling data such as audio data (e.g., including marking the types of events in audio samples and the start and end of events) can be relatively difficult. Audio data collection is often a challenging task due to the essentially infinite vocabulary of audio in real-world scenes, which can make predicting the vocabulary for a given task essentially impossible.
[0028] Unlike spoken language, which uses a finite set of alphabets, the variations of environmental sounds are infinite. As a result, it is unrealistic to collect specific sounds in a preset environment. Therefore, most audio data collection is captured in a continuous setting, and later, human annotators extract and mark the desired audio events. Such marking can be relatively time-consuming (for example, because the annotator may listen to hours of data to find events of interest or target events). In addition, after finding the target event, accurately marking the start and end of the audio event can be noisy and subjective due to the transient nature of the signal, which often lacks clear boundaries.
[0029] Another common way to collect audio data is to use available data (e.g., from various public sources). However, such data is often of low quality, and the associated tags for such data can often be automatically created using the titles of the audio or video files associated with the data. These tags are sometimes noisy and are often weak tags (e.g., a segment of an audio file is labeled as an audio event, but the exact temporal boundaries of the event are not specified). This often presents many challenges for traditional training of ML models.
[0030] When automated collection of ground truth data (i.e., actual known data used to train ML models) is feasible, the effort required to generate a varied and consistent dataset can be reduced. However, automated ground truth collection comes at a cost in terms of accuracy, and multiple automated systems (e.g., multiple different sensors and / or sensor types) for collecting ground truth data about the same phenomenon may each produce slightly different results.
[0031] The systems and methods according to the present disclosure are configured to use multiple different sensors to achieve automated collection of ground truth data. The collected ground truth data is used to evaluate and train ML or deep learning models (e.g., deep learning models for regression tasks). For example, the ground truth data is used to obtain loss functions and correctness functions for training ML models. The loss function is used to drive the training process by providing feedback on how close the current prediction of the model is to the available ground truth data. In contrast, the correctness function measures the performance of the model (e.g., the accuracy, precision, recall, etc. of the model). Therefore, the systems and methods of the present disclosure obtain and implement loss and correctness functions, which are configured to receive and train ML models based on multiple automatically collected ground truth measurements for regression tasks.
[0032] Figure 1 A system 100 for training a neural network (e.g., an ML model) is shown. System 100 may be configured to implement (and / or include circuitry configured to implement) the systems and methods of the present disclosure as described in more detail below. System 100 may include an input interface for accessing training data 102 for the neural network. For example, Figure 1As shown, the input interface may be constituted by a data storage interface 104, which may access the training data 102 from a data storage device 106. For example, the data storage interface 104 may be a memory interface or a persistent storage interface (e.g., a hard disk or SSD interface), but may also be a personal area network, a local area network, or a wide area network interface (such as a Bluetooth, Zigbee, or Wi-Fi interface, or an Ethernet or fiber optic interface). The data storage device 106 may be an internal data storage device of the system 100, such as a hard disk drive or SSD, but may also be an external data storage device, such as a network accessible data storage device.
[0033] In some embodiments, data storage 106 may further include a data representation 108 of an untrained version of the neural network, which may be accessed by system 100 from data storage 106. However, it should be appreciated that training data 102 and data representation 108 of the untrained neural network may also each be accessed from a different data storage, such as via a different subsystem of data storage interface 104. Each subsystem may be of the type described above with respect to data storage interface 104.
[0034] In some embodiments, the data representation 108 of the untrained neural network may be generated internally by the system 100 based on the design parameters of the neural network, and thus may not be explicitly stored on the data storage device 106. The system 100 may further include a processor subsystem 110 that may be configured to provide an iterated function as a replacement for the stack of neural networks to be trained during operation of the system 100. Here, the individual layers of the stack being replaced may have mutually shared weights and may receive as input the output of the previous layer, or, for the first layer of the stack, receive as input an initial activation and a portion of the input of the stack of layers.
[0035] The processor subsystem 110 may further be configured to iteratively train the neural network using the training data 102. Here, the training iterations of the processor subsystem 110 may include a forward propagation portion and a backward propagation portion. The processor subsystem 110 may be configured to perform the forward propagation portion by, in addition to other operations that may be performed to define the forward propagation portion, determining an equilibrium point of the iteration function at which the iteration function converges to a fixed point, wherein determining the equilibrium point includes using a numerical root finding algorithm to find a root solution of the iteration function minus its input, and by providing the equilibrium point as a substitute for the output of the stack in the neural network.
[0036] The system 100 may further include an output interface for outputting a data representation 112 of the trained neural network, which may also be referred to as trained model data 112. Figure 1, the output interface may be comprised of a data storage interface 104, wherein in these embodiments, the interface is an input / output ("IO") interface via which trained model data 112 may be stored in a data storage device 106. For example, a data representation 108 defining an "untrained" neural network may be at least partially replaced by a data representation 112 of a trained neural network during or after training, since the parameters of the neural network (such as weights, hyperparameters, and other types of parameters of the neural network) may be adapted to reflect the training on the training data 102. This is also Figure 1 106, which are illustrated by reference numerals 108, 112, which refer to the same data record on the data storage device 106. In some embodiments, the data representation 112 may be stored separately from the data representation 108 defining the "untrained" neural network. In some embodiments, the output interface may be separate from the data storage interface 104, but may generally be of the type described above for the data storage interface 104.
[0037] Figure 2 A data annotation / augmentation system 200 configured to implement a system for annotating and / or augmenting data (and / or including circuitry configured to implement a system for annotating and / or augmenting data) is depicted. The data annotation system 200 may include at least one computing system 202 configured to implement all or part of the systems and methods of the present disclosure explained in more detail below. The computing system 202 may include at least one processor 204 operatively connected to a memory unit 208. The processor 204 may include one or more integrated circuits implementing the functionality of a central processing unit (CPU) 206. The CPU 206 may be a commercially available processing unit that implements an instruction set such as one of the x86, ARM, Power, or MIPS instruction set families. The various components of the system 200 may be implemented with the same or different circuits.
[0038] During operation, CPU 206 may execute stored program instructions retrieved from memory unit 208. The stored program instructions may include software that controls the operation of CPU 206 to perform the operations described herein. In some embodiments, processor 204 may be a system on a chip (SoC) that integrates the functionality of CPU 206, memory unit 208, network interfaces, and input / output interfaces into a single integrated device. Computing system 202 may implement an operating system for managing various aspects of operation.
[0039] Memory unit 208 may include volatile memory and non-volatile memory for storing instructions and data. Non-volatile memory may include solid-state memory, such as NAND flash memory, magnetic and optical storage media, or any other suitable data storage device that retains data when computing system 202 is deactivated or powered off. Volatile memory may include static and dynamic random access memory (RAM) that stores program instructions and data. For example, memory unit 208 may store machine learning model 210 (e.g., in Figure 2 210), or an algorithm, a training data set 212 for the machine learning model 210, an original source data set 216, etc.
[0040] The computing system 202 may include a network interface device 222 configured to provide communications with external systems and devices. For example, the network interface device 222 may include a wired and / or wireless Ethernet interface defined by the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards. The network interface device 222 may include a cellular communication interface for communicating with a cellular network (e.g., 3G, 4G, 5G). The network interface device 222 may further be configured to provide a communication interface to an external network 224 or a cloud.
[0041] The external network 224 may be referred to as the World Wide Web or the Internet. The external network 224 may establish a standard communication protocol between computing devices. The external network 224 may allow information and data to be easily exchanged between computing devices and the network. One or more servers 230 may communicate with the external network 224.
[0042] Computing system 202 may include input / output (I / O) interface 220, which may be configured to provide digital and / or analog input and output. I / O interface 220 may include an additional serial interface (eg, a universal serial bus (USB) interface) for communicating with external devices.
[0043] The computing system 202 may include a human-machine interface (HMI) device 218, which may include any device that enables the system 200 to receive control inputs. Examples of input devices may include human-machine interface inputs such as keyboards, mice, touch screens, voice input devices, and other similar devices. The computing system 202 may include a display device 232. The computing system 202 may include hardware and software for outputting graphics and text information to the display device 232. The display device 232 may include an electronic display screen, a projector, a printer, or other suitable devices for displaying information to a user or operator. The computing system 202 may be further configured to allow interaction with a remote HMI and a remote display device via a network interface device 222.
[0044] System 200 may be implemented using one or more computing systems. Although the example depicts a single computing system 202 that implements all of the described features, it is intended that the various features and functions may be separated and implemented by multiple computing units that communicate with each other. The specific system architecture selected may depend on various factors.
[0045] The system 200 may implement a machine learning model 210 configured to analyze a raw source data set 216. For example, the CPU 206 and / or other circuitry may implement the machine learning model 210. The raw source data set 216 may include raw or unprocessed sensor data, which may represent an input data set for a machine learning system. The raw source data set 216 may include video, video clips, images, audio, text-based information, and raw or partially processed sensor data (e.g., a radar map of an object). In some embodiments, the machine learning model 210 may be a deep learning or neural network algorithm designed to perform a predetermined function. For example, a neural network algorithm may be configured to identify an event or object in a video clip based on audio data.
[0046] The computer system 200 may store a training data set 212 for the machine learning model 210. The training data set 212 may represent a set of previously constructed data for training the machine learning model 210. For example, the training data set 212 according to the present disclosure may include a plurality of automatically collected ground truth measurements and associated data. The machine learning model 210 may use the training data set 212 to learn weighting factors associated with a neural network algorithm. The training data set 212 may include a set of source data having corresponding achievements or results that the machine learning model 210 attempts to replicate via a learning process.
[0047] The machine learning model 210 can operate in a learning mode using the training data set 212 as input. The machine learning model 210 can be executed in multiple iterations using data from the training data set 212. With each iteration, the machine learning model 210 can update the internal weighting factors based on the achieved results. For example, the machine learning model 210 can compare the output results (e.g., annotations) with those included in the training data set 212. Since the training data set 212 includes the expected results, the machine learning model 210 can determine when the performance is acceptable. After the machine learning model 210 achieves a predetermined performance level (e.g., 100% consistent with the results associated with the training data set 212), the machine learning model 210 can be executed using data that is not in the training data set 212. The trained machine learning model 210 can be applied to a new data set to generate annotated data.
[0048] The machine learning model 210 may be configured to identify specific features in the raw source data 216. The raw source data 216 may include multiple instances or input data sets for which annotation results are desired (e.g., video streams or segments including audio data). By way of example only, the machine learning model 210 may be configured to identify objects or events in a video segment based on audio data and annotate these events. The machine learning model 210 may be programmed to process the raw source data 216 to identify the presence of specific features. The machine learning model 210 may be configured to identify features in the raw source data 216 as predetermined features. The raw source data 216 may be obtained from a variety of sources. For example, the raw source data 216 may be actual input data collected by a machine learning system. The raw source data 216 may be machine generated for testing the system. As an example, the raw source data 216 may include raw video and / or audio data from a camera, audio data from a microphone, and the like.
[0049] In one example, the machine learning model 210 can process the raw source data 216 and output video and / or audio data including one or more indications of the identified events. The machine learning model 210 can generate a confidence level or factor for each generated output. For example, a confidence value exceeding a predetermined high confidence threshold can indicate that the machine learning model 210 is confident that the identified event (or feature) corresponds to a particular event. A confidence value less than a low confidence threshold can indicate that the machine learning model 210 has some uncertainty that a particular feature exists.
[0050] like Figure 3A and 3B , system 300 may include an image (e.g., video) capture device 302, an audio capture array 304, and a computing system 202. The system may receive video stream data associated with a data capture environment from the image capture device 302. The system 202 may be configured to perform video object detection to identify one or more objects in a corresponding image of the video stream data. The system 202 may receive audio stream data corresponding to at least a portion of the video stream data from the audio capture array 304. The audio capture array 304 may include one or more microphones 306 or other suitable audio capture devices. The systems and methods described herein may be configured to use output from at least a first machine learning model (e.g., such as machine learning model 210 or other suitable machine learning model configured to provide output including one or more object or event detection predictions) to label at least some objects of the video stream data and / or audio stream data.
[0051] The system 202 may calculate (e.g., using at least one probability-based function or other suitable technique or function) at least one offset value for at least a portion of the audio stream data corresponding to at least one tagged object of the video stream data based on at least one data capture characteristic. The system 202 may use the at least one offset value to synchronize at least a portion of the video stream data with a portion of the audio stream data corresponding to at least one tagged object of the video stream data. The at least one data capture characteristic may include one or more characteristics of at least one image capture device, one or more characteristics of at least one audio capture array, one or more characteristics corresponding to a position of at least one image capture device relative to at least one audio capture array, one or more characteristics corresponding to movement of an object in the video stream data, one or more other suitable data capture characteristics, or a combination thereof.
[0052] The system 202 may use one or more tags and at least one offset value of the tagged objects of the video stream data to mark at least a portion of the audio stream data corresponding to at least one tagged object of the video stream data. Each corresponding tag may include an event type, an event start indicator, and an event end indicator. The system 202 may use at least some of the tagged portions of the audio stream data to generate training data. The system 202 may use the training data to train a second machine learning model. The system 202 may use the second machine learning model to detect one or more sounds associated with the audio data provided as input to the second machine learning model. The second machine learning model may include any suitable machine learning model and may be configured to perform any suitable function, such as the one described herein with reference to Figure 6-11 Those described.
[0053] In some embodiments, Figure 3C, the computing system 202 can be configured to mark audio data based on sensor data received from one or more sensors, such as those described herein or any other suitable sensor or combination of sensors. The system 202 can receive audio stream data associated with the data capture environment from the audio capture array 354 or any suitable audio capture device (such as one or more of the microphone 306 or other suitable audio capture devices). It should be understood that the audio capture array 354 may include features similar to those of the audio capture array 304, and may include any suitable number of audio capture devices. The system 202 can receive sensor data associated with the data capture environment from at least one sensor (e.g., such as sensor 352) asynchronous with respect to the audio capture array 354. The sensor 354 may include at least one of an induction coil, a radar sensor, a lidar sensor, a sonar sensor, an image capture device, any other suitable sensor, or a combination thereof. The audio capture array 354 can be positioned away from the sensor 354, positioned close to the sensor 354, or positioned in any suitable relationship with the sensor 354.
[0054] The system 202 may use output from at least a first machine learning model, such as the machine learning model 210 or other suitable machine learning model, to identify at least some events in the sensor data. The machine learning model 210 may be configured to provide an output including one or more event detection predictions based on the sensor data. The system 202 may synchronize at least a portion of the sensor data associated with a portion of the audio stream data corresponding to at least one event of the sensor data. The system 202 may mark at least a portion of the audio stream data corresponding to at least one event of the sensor data using one or more tags extracted for the corresponding event of the sensor data value. Each corresponding tag may include an event type, an event start indicator, and an event end indicator. The system 202 may use at least some of the marked portions of the audio stream data to generate training data. The system 202 may use the training data to train a second machine learning model. The system 202 may use the second machine learning model to detect one or more sounds associated with audio data provided as input to the second machine learning model. The second machine learning model may include any suitable machine learning model and may be configured to perform any suitable function, such as the one described herein with reference to FIG. Figure 6-11 Those described.
[0055] According to the present disclosure, any system described above and / or in more detail below can be configured to use multiple different sensors to train a machine or deep learning model, thereby achieving automated collection of ground truth data. In one example, an Internet of Things (IoT) system can be configured to count the number of vehicles passing a specific point of interest (e.g., on a road) based on input from an audio sensor (e.g., one or more microphones). Typically, the accuracy of the verification system includes manually counting the number of vehicles (i.e., by a user listening to the corresponding recorded audio data). However, manually counting the number of vehicles by listening to the recorded audio data is very time-consuming and prone to errors. As an alternative to manual counting, the system described herein uses multiple ground truth sensors (e.g., radars, cameras, photocells, etc.) in the same position as a microphone or microphone array to obtain the number of passing vehicles using different types of sensing systems (e.g., automatic sensing systems). While each sensing system may provide a different count / estimate of the number of vehicles (e.g., due to different measurement errors, sensitivities, etc.), the systems and methods described in more detail below are configured to use data collected from the different sensing systems to obtain loss functions and correctness functions for accurately training an ML model, such as an ML model that implements a deep learning algorithm.
[0056] Table 1 illustrates example vehicle counts (eg, tags applied to detected events) from three different sensing systems (eg, a radar system, a camera system, and a photocell system) during three different time periods or intervals (1, 2, and 3).
[0057] Time interval Radar Count Number of cameras Photocell Count 1 14 15 13 2 11 11 11 3 8 12 9
[0058] Table 1: Examples of automated collection of tags from multiple systems
[0059] In the context of regression tasks where the goal is to count a finite number of elements, it is often assumed that the ground truth is a single value for each time interval. Regression loss functions (e.g., mean squared error, mean absolute error, etc.) can then be used to train a deep learning algorithm based on the results of different sensing systems. When ground truth data is only available from multiple sensing systems that are subject to measurement errors (i.e., and not available from manual counting results), loss functions and correction functions can be obtained based on the results of the sensing systems to train a deep learning algorithm, as described in more detail below.
[0060] Figure 4AA training system 400 according to the present disclosure is shown, which is configured to train an ML model 402 (e.g., using an ML circuit implementation, such as a processing device or other circuit configured to implement an ML model) using a loss function (e.g., a loss function defined using a loss function circuit 404) and a correctness function (e.g., a correctness function defined using a correctness function circuit 406). By way of example only, the loss function circuit 404 and the correctness function circuit 406 may correspond to circuits, such as a processing device configured to execute instructions stored in a memory, configured to construct a loss function and a correctness function based on lower and upper bounds of ground truth data, as described in more detail below. The ML circuit configured to implement the ML model 402, the loss function circuit 404, the correctness function circuit 406, and / or other components of the training system 400 may be implemented using the same or different circuits.
[0061] The training system 400 can be configured to train ML implemented by any system described herein (such as system 100, 200, 300, etc.). For example, given a data set Where N is the total number of samples, x i is the input signal of the ith sample, is the set of ground truth measurements from M different systems for the ith sample, and is the ground truth count (a positive integer including zero) provided by the jth measurement system for the ith sample. Referring to Table 1, the data set (e.g., training data) supplied to the training system includes vehicle counts from three different sensing systems and time intervals. In other words, y i is the set of corresponding ground truth measurements from each of the radar system, camera system, and photocell system for input samples at one of intervals 1, 2, 3, etc. Conversely, Corresponds to data obtained by a sensing system (eg, an audio sensor such as a microphone) used with model 402 .
[0062] The training system 400 is configured to train a deep learning algorithm or system via back-propagation through an optimizer 408. θ , minimize the loss function in corresponds to the prediction of model 402 for the i-th sample under a set of learned weights θ. For example, optimizer 408 implements an algorithm configured to find the minimum value of the loss function. The accuracy of model 402 can be defined as in is a correctness function that returns 1 when the prediction is correct and 0 when the prediction is incorrect. As used herein, the correctness of a prediction is based on a comparison between the prediction of the model 402 and a threshold range for a given time interval. Thus, the training system 400 obtains (e.g., outputs) a trained model 410 and a corresponding accuracy 412.
[0063] Figure 4B An example loss function 420 according to the present disclosure is shown. The loss function 420 is plotted as a loss function Compare predicted output (count) Although shown as a loss function based on a mean square error criterion, the principles of the present disclosure can be implemented using other types of loss functions (e.g., absolute error). In one example, the loss function is configured to be differentiable to allow the use of a gradient-based back-propagation algorithm (such as stochastic gradient descent) as part of the optimization process implemented by optimizer 408. Given M ground truth measurements of sample i, loss function 420 defines two auxiliary functions q l (y i ) and q u (y i ), whose outputs are the lower and upper bounds 422 and 424, respectively, of the ground truth values obtained from the measurement set.
[0064] For example, the lower limit 422 corresponds to the lowest value from any sensing system that obtained the ground truth data shown in Table 1 (e.g., 13 for time interval 1), and the upper limit corresponds to the highest value from any sensing system (15 for the same time interval 1). In other words, for time interval 1, the loss function 420 for time interval 1 defines the loss as 0 for the region 426 between the lower limit 422 and the upper limit 424, and exponentially increases the value in the region less than the lower limit 422 and greater than the upper limit 424. In this way, the loss function 420 of the present disclosure is based on the predicted output (count) outside the region 426 defined by the lower limit 422 and the upper limit 424. q l Possible implementations of include but are not limited to i The minimum value of y i t quantile on , where t < 0.5. Similarly, q u Possible implementations of include but are not limited to i The maximum value and y i t-quantile on , where t>0.5.
[0065] Therefore, if Figure 4B The loss function 420 shown in can be defined as:
[0066]
[0067] Table 2 illustrates the loss values obtained for the model outputs compared to the ground truth data in Table 1. For example, Table 2 defines the lower bound q l (y i ) and the upper limit q u (y i ) as a cross y i The corresponding minimum and maximum values are set, and l is defined as the squared error function.
[0068] Table 2: Examples of losses obtained based on ground truth data from multiple systems
[0069] For example, for time interval 1 and ground truth data between 13 and 15, a model output of 11 results in a loss of 4. For time interval 2 and ground truth data 11 (i.e., all three sensing systems obtain the same ground truth count), a model output of 12 results in a loss of 1. Conversely, for time interval 3 and ground truth data between 8 and 12, a model output of 10 results in a loss of 0. In other words, since the model output corresponds to a value between the lower limit of 8 and the upper limit of 12, the loss function returns a loss of 0.
[0070] Figure 4C An example correctness function 430 according to the present disclosure is shown. Correctness function 430 is plotted as a correctness function Compare predicted output (count) Correctness function 430 is an indicator function that determines the correctness of the prediction output. When considered correct, it returns a value of 1. As used herein, "correct" corresponds to being within the range defined by lower limit 422 and upper limit 424 or within a tolerance value of the range. Since there is no single ground truth value, the correctness function can be defined as:
[0071]
[0072] Where α is the tolerance value (e.g., for a 5% tolerance, α=0.05). The above definition is The correctness function 430 will be within the lower limit 422 (q l (y i )) and the upper limit 424(q u (y i Any predictions within )) are deemed correct.
[0073] Table 3 illustrates the correctness values obtained for the model outputs compared to the ground truth data of Table 1. For example, Table 3 gives the lower bound q l (y i) and the upper limit q u (y i ) as a cross y i The corresponding minimum and maximum values of the values and as further modified by a tolerance α of 0.1 define the correctness.
[0074] Table 3: Examples of correctness obtained based on ground truth data from multiple systems
[0075] For example, for time interval 1 and ground truth data between 13 and 15, a model output of 11 results in a correctness of 0 because 11 is outside the range defined by bounds 13 and 15 and a tolerance of 0.1. For time interval 2 and ground truth data 11, a model output of 12 results in a correctness of 1 because 12 is within the tolerance of 0.1 of 11. For time interval 3 and ground truth data between 8 and 12, a model output of 10 results in a correctness of 1 because 10 is within the range defined by bounds 8 and 12 (with or without a tolerance of 0.1 applied to the bounds).
[0076] Figure 4D The steps of an example method 460 for training a machine learning model using a loss function and a correctness function according to the principles of the present disclosure are illustrated. For example, the steps of method 460 can be performed by any system described herein. At 464, method 460 obtains a data set of ground truth data ("training data") by using multiple sensing systems as described above. The data set and the corresponding training data include both ground truth data obtained by multiple ground truth sensing systems (e.g., cameras, radars, and photocell systems) and sensing data obtained by a predictive sensing system (e.g., a microphone), which is configured to be used / implemented with a trained model (i.e., trained model 410). The training data obtained using a sensing system type configured to implement an ML model can be referred to as predictive training data. By way of example only, a data set may include ground truth data obtained by multiple (e.g., n) ground truth sensing systems, such as a first, second, ..., and nth ground truth sensing system and one or more predictive sensing systems.
[0077] Although described herein as using different types of sensing systems, in some examples, one or more of the sensing systems may correspond to the same type of sensing system (e.g., multiple camera systems, multiple radar systems, etc.) At 466, method 460 supplies the data set to the trained model (e.g., ML model 402), the loss function circuit (e.g., loss function circuit 404), and the correctness function circuit (e.g., correctness function circuit 406).
[0078] At 468, method 460 constructs a loss function and / or a correctness function based on the ground truth data (e.g., using loss function circuit 404 and correctness function circuit 406). At 470, method 460 (e.g., ML model 402) generates a prediction output based on the predicted training data in the dataset. At 472, method 460 (e.g., loss function circuit 404) calculates and outputs a loss of the model based on the prediction output (e.g., by using the prediction output as an input to the loss function), and provides the calculated loss to model 402. In some examples, the calculated loss is provided to model 402 after being processed by optimizer 408. At 474, method 460 (e.g., correctness function circuit 406) calculates and outputs an accuracy of model 402 based on the prediction output (e.g., by using the prediction output as an input to the correctness function).
[0079] At 476, the method 460 updates the model 402 based on the calculated loss and accuracy. At 478, the method 460 determines whether the training of the model 402 is complete. For example, the method 460 determines whether the training is complete based on the expected loss and accuracy of the model 402, such as the average loss of the predetermined interval or multiple intervals is below the loss threshold, the average accuracy of the predetermined interval or multiple intervals is above the accuracy threshold, etc. If true, the method 460 outputs the trained model 410 and ends. If false, the method 460 proceeds to 464 to continue training the model 402.
[0080] Figure 5-11 Example systems and devices are depicted in which systems and methods consistent with the present disclosure may be implemented. Figure 5 A schematic diagram of the interaction between a computer-controlled machine 500 and a control system 502 is depicted. The computer-controlled machine 500 includes an actuator 504 and a sensor 506. The actuator 504 may include one or more actuators, and the sensor 506 may include one or more sensors. The sensor 506 is configured to sense a condition of the computer-controlled machine 500. The sensor 506 may be configured to encode the sensed condition into a sensor signal 508 and transmit the sensor signal 508 to the control system 502. Non-limiting examples of the sensor 506 include video, radar, lidar, ultrasound, and motion sensors. In some embodiments, the sensor 506 is an optical sensor configured to sense an optical image of an environment proximate to the computer-controlled machine 500.
[0081] The control system 502 is configured to receive sensor signals 508 from the computer controlled machine 500. As explained below, the control system 502 may be further configured to calculate actuator control commands 510 depending on the sensor signals and transmit the actuator control commands 510 to the actuators 504 of the computer controlled machine 500.
[0082] like Figure 5 As shown in , the control system 502 includes a receiving unit 512. The receiving unit 512 can be configured to receive a sensor signal 508 from the sensor 506 and transform the sensor signal 508 into an input signal x. In an alternative embodiment, without the receiving unit 512, the sensor signal 508 is directly received as the input signal x. Each input signal x can be a part of each sensor signal 508. The receiving unit 512 can be configured to process each sensor signal 508 to generate each input signal x. The input signal x can include data corresponding to an image recorded by the sensor 506.
[0083] The control system 502 includes a classifier 514. The classifier 514 can be configured to classify the input signal x into one or more labels using a machine learning (ML) algorithm, such as the neural network described above. The classifier 514 is configured to be parameterized by parameters such as those described above (e.g., parameter θ). The parameter θ can be stored in and provided by the non-volatile storage device 516. The classifier 514 is configured to determine the output signal y based on the input signal x. Each output signal y includes information for assigning one or more labels to each input signal x. The classifier 514 can transmit the output signal y to a conversion unit 518. The conversion unit 518 is configured to convert the output signal y into an actuator control command 510. The control system 502 is configured to transmit the actuator control command 510 to the actuator 504, and the actuator 504 is configured to actuate the computer-controlled machine 500 in response to the actuator control command 510. In some embodiments, actuator 504 is configured to actuate computer-controlled machine 500 directly based on output signal y.
[0084] When the actuator 504 receives the actuator control command 510, the actuator 504 is configured to perform an action corresponding to the associated actuator control command 510. The actuator 504 may include control logic configured to transform the actuator control command 510 into a second actuator control command for controlling the actuator 504. In one or more embodiments, the actuator control command 510 may also be used to control a display instead of or in addition to the actuator.
[0085] In some embodiments, the control system 502 includes the sensor 506 instead of or in addition to the computer-controlled machine 500 including the sensor 506. The control system 502 may also include the actuator 504 instead of or in addition to the computer-controlled machine 500 including the actuator 504.
[0086] like Figure 5As shown in , the control system 502 also includes a processor 520 and a memory 522. The processor 520 may include one or more processors. The memory 522 may include one or more memory devices. The classifier 514 (e.g., ML algorithm) of one or more embodiments may be implemented by the control system 502, which includes a non-volatile storage device 516, a processor 520, and a memory 522.
[0087] The non-volatile storage 516 may include one or more persistent data storage devices, such as a hard drive, an optical drive, a tape drive, a non-volatile solid-state device, a cloud storage device, or any other device capable of persistently storing information. The processor 520 may include one or more devices selected from a high-performance computing (HPC) system, including a high-performance core, a microprocessor, a microcontroller, a digital signal processor, a microcomputer, a central processing unit, a field programmable gate array, a programmable logic device, a state machine, a logic circuit, an analog circuit, a digital circuit, or any other device that manipulates signals (analog or digital) based on computer-executable instructions residing in the memory 522. The memory 522 may include a single memory device or multiple memory devices, including but not limited to random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or any other device capable of storing information.
[0088] Processor 520 may be configured to read into memory 522 and execute computer executable instructions residing in non-volatile storage 516 and embodying one or more ML algorithms and / or method techniques of one or more embodiments. Non-volatile storage 516 may include one or more operating systems and applications. Non-volatile storage 516 may store data compiled and / or interpreted from computer programs created using various programming languages and / or techniques, including without limitation, Java, C, C++, C#, Objective C, Fortran, Pascal, JavaScript, Python, Perl, and PL / SQL, either alone or in combination.
[0089] When executed by the processor 520, the computer executable instructions of the non-volatile storage device 516 can cause the control system 502 to implement one or more of the ML algorithms and / or methodological techniques as disclosed herein. The non-volatile storage device 516 may also include ML data (including data parameters) that support the functions, features, and processes of one or more embodiments described herein.
[0090] The program code embodying the algorithm and / or method technology described herein can be distributed separately or jointly as a program product in various different forms. The program code can be distributed using a computer-readable storage medium having computer-readable program instructions thereon, for causing the processor to implement aspects of one or more embodiments. The inherently non-transitory computer-readable storage medium may include volatile and non-volatile and removable and non-removable tangible media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules or other data. The computer-readable storage medium may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid-state memory technology, portable compact disk read-only memory (CD-ROM) or other optical storage device, cassette, tape, magnetic disk storage device or other magnetic storage device, or any other medium that can be used to store the desired information and can be read by a computer. The computer-readable program instructions can be downloaded from the computer-readable storage medium to a computer, another type of programmable data processing device or another device, or downloaded to an external computer or external storage device via a network.
[0091] Computer-readable program instructions stored in a computer-readable medium can be used to guide a computer, other types of programmable data processing devices, or other devices to operate in a particular manner, so that the instructions stored in the computer-readable medium produce an article of instruction including instructions for implementing the functions, actions, and / or operations specified in the flowchart or chart. In some alternative embodiments, the functions, actions, and / or operations specified in the flowchart and chart can be reordered, serially processed, and / or concurrently processed in accordance with one or more embodiments. In addition, any one of the flowchart and / or chart may include more or less nodes or blocks than those illustrated in accordance with one or more embodiments. Suitable hardware components, such as application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), state machines, controllers, or other hardware components or devices, or combinations of hardware, software, and firmware components, can be used to embody processes, methods, or algorithms in whole or in part.
[0092] Figure 6A schematic diagram of a control system 502 is depicted that is configured to control a vehicle 600, which may be an at least partially autonomous vehicle or an at least partially autonomous robot. The vehicle 600 includes an actuator 504 and a sensor 506. The sensor 506 may include one or more video sensors, cameras, radar sensors, ultrasonic sensors, lidar sensors, and / or location sensors (e.g., GPS). One or more of the one or more specific sensors may be integrated into the vehicle 600. Alternatively, or in addition to the one or more specific sensors identified above, the sensor 506 may include a software module that is configured to determine the state of the actuator 504 when executed. A non-limiting example of a software module includes a weather information software module that is configured to determine the current or future state of the weather proximate to the vehicle 600 or other location.
[0093] The classifier 514 of the control system 502 of the vehicle 600 may be configured to detect an object near the vehicle 600 depending on the input signal x. In such an embodiment, the output signal y may include information characterizing the proximity of the object to the vehicle 600. The actuator control command 510 may be determined based on this information. The actuator control command 510 may be used to avoid a collision with the detected object.
[0094] In some embodiments, the vehicle 600 is an at least partially autonomous vehicle, and the actuator 504 can be embodied in the brakes, propulsion system, engine, drive train, or steering of the vehicle 600. Actuator control commands 510 can be determined to control the actuator 504 so that the vehicle 600 avoids colliding with a detected object. The detected objects can also be classified according to what the classifier 514 thinks they are most likely to be (such as pedestrians or trees). The actuator control commands 510 can be determined depending on the classification. In scenarios where adversarial attacks may occur, the above system can be further trained to better detect objects or identify changes in lighting conditions or angles of sensors or cameras on the vehicle 600.
[0095] In some embodiments where the vehicle 600 is an at least partially autonomous robot, the vehicle 600 may be a mobile robot configured to perform one or more functions, such as flying, swimming, diving, and stepping. The mobile robot may be an at least partially autonomous lawn mower or an at least partially autonomous cleaning robot. In such embodiments, the actuator control commands 510 may be determined such that a propulsion unit, a steering unit, and / or a braking unit of the mobile robot may be controlled such that the mobile robot may avoid colliding with an identified object.
[0096] In some embodiments, vehicle 600 is an at least partially autonomous robot in the form of a gardening robot. In such embodiments, vehicle 600 may use an optical sensor as sensor 506 to determine the state of plants in the environment proximate to vehicle 600. Actuator 504 may be a nozzle configured to spray a chemical. Depending on the identified species and / or identified state of the plant, actuator control commands 510 may be determined to cause actuator 504 to spray an appropriate amount of an appropriate chemical onto the plant.
[0097] The vehicle 600 may be an at least partially autonomous robot in the form of a household appliance. Non-limiting examples of household appliances include a washing machine, a stove, an oven, a microwave, or a dishwasher. In such a vehicle 600, the sensor 506 may be an optical sensor configured to detect the state of an object to be processed by the household appliance. For example, in the case where the household appliance is a washing machine, the sensor 506 may detect the state of the laundry in the washing machine. The actuator control command 510 may be determined based on the detected state of the laundry.
[0098] Figure 7 A schematic diagram of a control system 502 is depicted, the control system 502 being configured to control a system 700 (e.g., a manufacturing machine), such as a punch tool, a tool, or a gun drill, of a manufacturing system 702 (such as part of a production line). The control system 502 may be configured to control an actuator 504, which is configured to control the system 700 (e.g., a manufacturing machine).
[0099] The sensor 506 of the system 700 (e.g., a manufacturing machine) may be an optical sensor configured to capture one or more attributes of the manufactured product 704. The classifier 514 may be configured to determine a state of the manufactured product 704 based on the one or more captured attributes. The actuator 504 may be configured to control the system 700 (e.g., a manufacturing machine) depending on the determined state of the manufactured product 704 for subsequent manufacturing steps of the manufactured product 704. The actuator 504 may be configured to control the function of the system 700 (e.g., a manufacturing machine) on the subsequent manufactured product 706 of the system 700 (e.g., a manufacturing machine) depending on the determined state of the manufactured product 704.
[0100] Figure 8 A schematic diagram of a control system 502 configured to control a power tool 800 , such as a power drill or driver, having an at least partially autonomous mode is depicted. The control system 502 may be configured to control an actuator 504 configured to control the power tool 800 .
[0101] The sensor 506 of the power tool 800 can be an optical sensor configured to capture one or more properties of the working surface 802 and / or the fastener 804 driven into the working surface 802. The classifier 514 can be configured to determine the state of the working surface 802 and / or the fastener 804 relative to the working surface 802 based on the one or more captured properties. The state can be that the fastener 804 is flush with the working surface 802. Alternatively, the state can be the hardness of the working surface 802. The actuator 504 can be configured to control the power tool 800 so that the driving function of the power tool 800 is adjusted depending on the determined state of the fastener 804 relative to the working surface 802 or one or more captured properties of the working surface 802. For example, if the state of the fastener 804 is flush with the working surface 802, the actuator 504 can interrupt the driving function. As another non-limiting example, the actuator 504 can apply additional or less torque depending on the hardness of the working surface 802.
[0102] Fig. 9 Depicted is a schematic diagram of a control system 502 configured to control an automated personal assistant 900. The control system 502 may be configured to control an actuator 504, which is configured to control the automated personal assistant 900. The automated personal assistant 900 may be configured to control a household appliance, such as a washing machine, stove, oven, microwave, or dishwasher.
[0103] Sensor 506 may be an optical sensor and / or an audio sensor. The optical sensor may be configured to receive a video image of user 902's gesture 904. The audio sensor may be configured to receive a voice command of user 902.
[0104] The control system 502 of the automated personal assistant 900 can be configured to determine an actuator control command 510 configured to control the system 502. The control system 502 can be configured to determine the actuator control command 510 based on the sensor signal 508 of the sensor 506. The automated personal assistant 900 is configured to transmit the sensor signal 508 to the control system 502. The classifier 514 of the control system 502 can be configured to execute a gesture recognition algorithm to identify the gesture 904 made by the user 902, thereby determining the actuator control command 510, and transmitting the actuator control command 510 to the actuator 504. The classifier 514 can be configured to retrieve information from the non-volatile memory in response to the gesture 904, and output the retrieved information in a form suitable for reception by the user 902.
[0105] Fig.10A schematic diagram of a control system 502 configured to control a surveillance system 1000 is depicted. The surveillance system 1000 can be configured to physically control access through a door 1002. A sensor 506 can be configured to detect scenes relevant to deciding whether to grant access. The sensor 506 can be an optical sensor configured to generate and transmit image and / or video data. The control system 502 can use such data to detect a person's face.
[0106] The classifier 514 of the control system 502 of the monitoring system 1000 can be configured to interpret the image and / or video data by matching the identities of known persons stored in the non-volatile storage device 516 to determine the identity of the person. The classifier 514 can be configured to generate an actuator control command 510 in response to the interpretation of the image and / or video data. The control system 502 is configured to transmit the actuator control command 510 to the actuator 504. In this embodiment, the actuator 504 can be configured to lock or unlock the door 1002 in response to the actuator control command 510. In some embodiments, non-physical logical access control is also possible.
[0107] The monitoring system 1000 may also be a surveillance system. In such an embodiment, the sensor 506 may be an optical sensor configured to detect a scene being supervised, and the control system 502 is configured to control the display 1004. The classifier 514 is configured to determine a classification of the scene, such as whether the scene detected by the sensor 506 is suspicious. The control system 502 is configured to transmit an actuator control command 510 to the display 1004 in response to the classification. The display 1004 may be configured to adjust the displayed content in response to the actuator control command 510. For example, the display 1004 may highlight an object that is considered suspicious by the classifier 514. Using embodiments of the disclosed system, the surveillance system can predict the appearance of an object at a specific time in the future.
[0108] Fig.11 A schematic diagram of a control system 502 is depicted, the control system 502 being configured to control an imaging system 1100, such as an MRI device, an x-ray imaging device, or an ultrasound device. The sensor 506 may be, for example, an imaging sensor. The classifier 514 may be configured to determine a classification of all or part of a sensed image. The classifier 514 may be configured to determine or select an actuator control command 510 in response to the classification obtained by the trained neural network. For example, the classifier 514 may interpret an area of the sensed image as a potential anomaly. In this case, the actuator control command 510 may be determined or selected to cause the display 1102 to display the imaging and highlight the potential abnormal area.
[0109] Although exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms covered by the claims. The words used in the specification are descriptive rather than restrictive words, and it should be understood that various changes can be made without departing from the spirit and scope of the present disclosure. As previously described, the features of the various embodiments can be combined to form other embodiments of the present disclosure that may not be explicitly described or illustrated. Although various embodiments may have been described as providing advantages or preferred over other embodiments or prior art implementations in terms of one or more desired characteristics, it is recognized by those of ordinary skill in the art that one or more features or characteristics can be compromised to achieve the desired overall system properties, depending on the specific application and implementation. These properties may include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, applicability, weight, manufacturability, ease of assembly, etc. As such, to the extent that any embodiment is described as less desirable than other embodiments or prior art implementations in terms of one or more characteristics, these embodiments are not outside the scope of the present disclosure and may be desirable for a particular application.
Claims
1. A method for training a machine learning (ML) model, the method comprising: obtaining a data set comprising (i) first training data obtained using two or more ground truth sensing systems, and (ii) second training data obtained using a predictive sensing system configured to implement an ML model; determining a loss function based on the first training data, wherein the loss function defines a zero-loss region based on minimum and maximum values of the first training data; Calculate a predicted output based on second training data using the ML model; Calculate the loss of the ML model based on the predicted output using a loss function; and Update the ML model based on the calculated loss. 2 . The method of claim 1 , wherein the ground truth sensing system comprises at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system comprises at least one audio sensor.
3. The method of claim 1, wherein the ML model is configured to detect features in an audio data stream. 4 . The method of claim 1 , wherein determining the loss function comprises defining a zero loss region between a lower limit based on a minimum value of the first training data and an upper limit based on a maximum value of the first training data.
5. The method of claim 1 , further comprising determining a correctness function based on first training data, wherein the correctness function is configured to (i) output a first value in response to the predicted output being within a predetermined tolerance of the zero-loss region, and (ii) output a second value in response to the predicted output not being within a predetermined tolerance of the zero-loss region.
6. The method of claim 5, further comprising calculating the accuracy of the ML model using the correctness function, and further updating the ML model based on the calculated accuracy.
7. The method according to claim 1, wherein: (i) the two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and (ii) the predictive sensing system is configured to detect audio features associated with the object at the first time interval.
8. A system for training a machine learning (ML) model, the system comprising: a loss function circuit configured to (i) receive a data set including first training data obtained using two or more ground truth sensing systems, and (ii) determine a loss function based on the first training data, wherein the loss function defines a zero loss region based on minimum and maximum values of the first training data; and an ML circuit configured to implement the ML model, wherein implementing the ML model comprises (i) receiving second training data obtained using a predictive sensing system configured to implement the ML model, and (ii) using the ML model to calculate a predicted output based on the second training data, wherein the loss function circuit is further configured to calculate a loss of the ML model based on the predicted output using the loss function, and The ML circuit is configured to update the ML model based on the calculated loss.
9. The system of claim 8, wherein the ground truth sensing system comprises at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system comprises at least one audio sensor.
10. The system of claim 8, wherein the ML model is configured to detect features in an audio data stream.
11. The system according to claim 8, wherein: To determine the loss function, the loss function circuit is configured to define a zero loss region between a lower limit based on a minimum value of the first training data and an upper limit based on a maximum value of the first training data.
12. The system of claim 8, further comprising a correctness function circuit configured to determine a correctness function based on first training data, wherein the correctness function is configured to (i) output a first value in response to the predicted output being within a predetermined tolerance of the zero-loss region, and (ii) output a second value in response to the predicted output not being within a predetermined tolerance of the zero-loss region.
13. The system of claim 12, wherein the correctness function circuit is configured to calculate an accuracy of the ML model using the correctness function, and wherein the ML circuit is configured to update the ML model further based on the calculated accuracy.
14. The system of claim 8, wherein: (i) the two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and (ii) the predictive sensing system is configured to detect audio features associated with the object at the first time interval.
15. A computing device configured to implement and train a machine learning (ML) model, the computing device comprising a processing device configured to execute instructions stored in a memory to: obtaining a data set comprising (i) first training data obtained using two or more ground truth sensing systems, and (ii) second training data obtained using a predictive sensing system configured to implement an ML model; determining a loss function based on the first training data, wherein the loss function defines a zero-loss region based on minimum and maximum values of the first training data; Calculate a predicted output based on second training data using the ML model; Calculate the loss of the ML model based on the predicted output using a loss function; and Update the ML model based on the calculated loss.
16. A system comprising the computing device of claim 15 and further comprising two or more ground truth sensing systems and predictive sensing systems, wherein the ground truth sensing system comprises at least one of a camera system, a radar system, and a photocell system, and the predictive sensing system comprises at least one audio sensor.
17. The computing device of claim 15, wherein the ML model is configured to detect features in an audio data stream.
18. The computing device of claim 15, wherein determining the loss function comprises defining a zero loss region between a lower limit based on a minimum value of the first training data and an upper limit based on a maximum value of the first training data.
19. The computing device of claim 15 , wherein the processing device is further configured to execute instructions stored in the memory to determine a correctness function based on first training data, wherein the correctness function is configured to (i) output a first value in response to the predicted output being within a predetermined tolerance of the zero-loss region, and (ii) output a second value in response to the predicted output not being within a predetermined tolerance of the zero-loss region, calculate the accuracy of the ML model using the correctness function, and further update the ML model based on the calculated accuracy.
20. The system of claim 15, wherein: (i) the two or more ground truth sensing systems are configured to visually detect an object at a first time interval, and (ii) the predictive sensing system is configured to detect audio features associated with the object at the first time interval.