Generating time-series data to model vehicular functions

A generative adversarial network generates artificial datasets to address the challenge of acquiring high-quality data for vehicle control systems, enhancing model performance and management of vehicle functions.

WO2025222185A1PCT designated stage Publication Date: 2025-10-23CUMMINS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/025475
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-19
Filing Date
2025-04-18
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing vehicle control systems face challenges in managing complex, voluminous, and dynamic measurement data due to the sensitivity of outputs to input changes, making it difficult to acquire high-quality data sets for effective model training.

Method used

A generative adversarial network is used to generate artificial datasets that mimic real-world vehicle function data, reducing the need for high-quality data acquisition and improving model performance through federated learning and model-based control, diagnostics, and calibration.

Benefits of technology

The generative adversarial network generates high-quality artificial data sets that enhance the performance of vehicle control models, reducing reliance on low-quality data and improving vehicle function management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025025475_23102025_PF_FP_ABST
    Figure US2025025475_23102025_PF_FP_ABST
Patent Text Reader

Abstract

Presented herein are systems and methods for generating time-series data to provide to construct models of vehicle dynamic functions. A computing system can: identify a first dataset including a first plurality of values; apply the first dataset to a generative model including a set of weights, whereby the generative model is trained using training data and the training data includes a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples from at least one vehicle function; generate, based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function; and provide data associated with the output to a control architecture to operate the at least one vehicle function.
Need to check novelty before this filing date? Find Prior Art

Description

GENERATING TIME-SERIES DATATO MODEL VEHICULAR FUNCTIONSCROSS REFERENCE TO RELATED APPLICATION

[0001] The present application claims priority to U.S. Provisional Patent Application No. 63 / 636,329, titled “Generating Time-Series Data to Model Vehicular Functions,” filed April 19, 2024, which is incorporated herein by reference in its entirety.TECHNICAL FIELD

[0002] The present disclosure relates to systems and methods for modeling timeseries data, and in particular generating time-series data for dynamically modeling vehicular functions.BACKGROUND

[0003] A vehicle can house a myriad of control systems to monitor, administer, and optimize various vehicle functions. The control systems can rely on a number of sensors to measure different aspects of vehicle performance in managing various vehicle functions. The measurement data from the sensors and the output data from the control systems to control the vehicle functions may be highly complex, voluminous, and highly dynamic, especially with outputs that are sensitive to changes in input.SUMMARY

[0004] At least one aspect of the present disclosure relates to systems, devices, methods, and non-transitory computer readable media of generating time-series data to provide to models of vehicle functions. One or more processors can: receive a first dataset including a first plurality of values; apply the first dataset to a generative model comprising a set of weights, wherein the generative model is trained using training data, the training data comprising a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples regarding at least one vehicle function; generate, based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function; and provide data associated with the output to a control architecture to operate the at least one vehicle function.

[0005] In some embodiments, the generative model may include a generative adversarial network including a generator and a discriminator, and may be established by: identifying the training data comprising (i) the second dataset including the second plurality of values and (ii) a first probability density derived from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the generator, the second dataset to generate a second probability density associated with the vehicle function; applying, as an input to the discriminator, one of the first probability density or the second probability density to determine a classification of the input; determining a loss metric based on a comparison of the input with the classification generated by the discriminator; and updating at least one of the generator or the discriminator of the generative adversarial network using the loss metric.

[0006] In some embodiments, the one or more processors can generate, using a random vector generator, the first dataset to include a first plurality of random values to be used as a seed input to the generator; generate the output comprising a third probability density to define generation of a third plurality of values across a plurality of variables and a plurality of time derivatives defining the at least one vehicle function over a second plurality of time samples; and generate, using the third probability density, the data comprising a third plurality of frames over the corresponding second plurality of time samples, each frame of the third plurality of frames including values for one or more properties of the at least one vehicle function.

[0007] In some embodiments, the generative model may include an encoder and a decoder, and may be established by: identifying, from the training data, at least a portion of the second dataset including the second plurality of values from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the encoder, at least the portion of the second dataset to generate a plurality of embeddings; applying, as an input to the decoder, the plurality of embeddings to generate a third dataset comprising a third plurality of values from the plurality of frames over the corresponding plurality of time samples; and determining a loss metric based on a comparison of the second dataset and the third dataset; and updating at least one of the encoder or the decoder of the generative model using the loss metric. In some embodiments, the one or more processors can generate the output comprising a third dataset including athird plurality of values from a second plurality of frames over a corresponding second plurality of time samples for the at least one vehicle function.

[0008] In some embodiments, the control architecture for the at least one vehicle function may include at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model. In some embodiments, the one or more processors can: aggregate, from each of a plurality of vehicle systems, a respective third dataset including a third plurality of values associated with the at least one vehicle function; update in accordance with a federated learning protocol, the generative model using the respective third dataset from each of the plurality of vehicle systems; generate, using the updated generative model, a second output characterizing the at least one vehicle function; and provide, to at least one of the plurality of vehicle systems, data associated with the second output to a control architecture to operate the at least one vehicle function.

[0009] At least one aspect of the present disclosure relates to system and methods of generating time-series data to provide to models of vehicle functions. One or more processors coupled with at least one memory can identify a first dataset including a first plurality of values. The one or more processors can apply the first dataset to a generator of a generative adversarial network to generate a first probability density characterizing at least one vehicle function. The generative adversarial network can include the generator and a discriminator and can be established by: identifying training data comprising (i) a second dataset including a second plurality of values and (ii) a second probability density derived from a plurality of frames over a corresponding plurality of time samples regarding the at least one vehicle function; applying, to the generator, the second dataset to generate a third probability density associated with the at least one vehicle function; applying, as an input to the discriminator, one of the second probability density and the third probability density to determine a classification of the input; determining a loss metric based on a comparison of the input with the classification generated by the discriminator; and updating at least one of the generator or the discriminator of the generative adversarial network using the loss metric. The one or more processors can provide data from the first probability density to a control architecture for the at least one vehicle function.

[0010] In some embodiments, the one or more processors can generate, using the first probability density characterizing the at least one vehicle function, a second plurality of frames over a corresponding second plurality of time samples. Each frame of the secondplurality of frames can include values for one or more properties of the at least one vehicle function. In some embodiments, the one or more processors can provide the data comprising the second plurality of frames to the model for the at least one vehicle function. In some embodiments, the one or more processors can store using one or more data structures, an association between (i) the first probability density and (ii) the at least one vehicle function characterized by the first probability density.

[0011] In some embodiments, the one or more processors can generate, using a random vector generator, the first dataset to include a first plurality of random values to be used as a seed input to the generator. In some embodiments, the one or more processors can apply the first dataset to the generator to generate the first probability density to define generation of a second plurality of values across a plurality of variables defining the at least one vehicle function over a second plurality of time samples. In some embodiments, the one or more processors can apply the first dataset to the generator to generate the first probability density to define generation of a second plurality of values across a plurality of variables and a plurality of time derivatives for the at least one vehicle function.

[0012] In some embodiments, the model for the at least one vehicle function can include at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model. In some embodiments, the one or more processors can receive, from a vehicle system associated with the at least one vehicle function, a third dataset including a third plurality of values. In some embodiments, the one or more processors can update the generator of the generative adversarial network using the third dataset.

[0013] At least one aspect of the present disclosure relates to system and methods of generating time-series data to provide to models of vehicle functions. One or more processors coupled with at least one memory can: receive a first dataset including a first plurality of values; apply the first dataset to a generative model comprising a set of weights. The generative model can be trained using training data. The training data can include a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples regarding at least one vehicle function. The generative model can include an encoder and a decoder. The generative model can be established by: identifying, from the training data, at least a portion of the second dataset including the second plurality of values from the plurality of frames over the correspondingplurality of time samples regarding the at least one vehicle function; applying, to the encoder, at least the portion of the second dataset to generate a plurality of embeddings; applying, as an input to the decoder, the plurality of embeddings to generate a third dataset comprising a third plurality of values from the plurality of frames over the corresponding plurality of time samples; determining a loss metric based on a comparison of the second dataset and the third dataset; and updating at least one of the encoder or the decoder of the generative model using the loss metric. The one or more processors can generate, based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function. . The one or more processors can provide data associated with the output to a control architecture to operate the at least one vehicle function.

[0014] In some embodiments, the one or more processors can generate the output comprising a third dataset including a third plurality of values from a second plurality of frames over a corresponding second plurality of time samples for the at least one vehicle function. In some embodiments, the one or more processors can identify, a subset of a fourth plurality of values from a fourth dataset as the first dataset including the first plurality of values.

[0015] In some embodiments, the one or more processors can generate the output comprising a fourth dataset comprising a fourth plurality of values characterizing the at least one vehicle function. In some embodiments, the control architecture for the at least one vehicle function can include at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model. In some embodiments, the one or more processors can: aggregate, from each of a plurality of vehicle systems, a respective third dataset including a third plurality of values associated with the at least one vehicle function; update in accordance with a federated learning protocol, the generative model using the respective third dataset from each of the plurality of vehicle systems; generate, using the updated generative model, a second output characterizing the at least one vehicle function; and provide, to at least one of the plurality of vehicle systems, data associated with the second output to a control architecture to operate the at least one vehicle function.

[0016] These and other features, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings. Numerous specific details are provided toimpart a thorough understanding of embodiments of the subject matter of the present disclosure. The described features of the subject matter of the present disclosure can be combined in any suitable manner in one or more embodiments and / or implementations. In this regard, one or more features of an aspect of the invention can be combined with one or more features of a different aspect of the invention. Moreover, additional features can be recognized in certain embodiments and / or implementations that may not be present in all embodiments or implementations,BRIEF DESCRIPTION OF THE FIGURES

[0017] The disclosure will become more fully understood from the following detailed description, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements unless otherwise indicated, in which:

[0018] FIG. 1 A depicts a block diagram of a system for developing vehicle function modeling including a generative system for constructing artificial datasets for vehicular function modeling, in accordance with an illustrative embodiment;

[0019] FIG. IB depicts a block diagram of a system for deploying vehicle function modeling on engines and generators, in accordance with an illustrative embodiment;

[0020] FIG. 1C depicts a block diagram of a system for performing federated learning using feedback data from engine and generators, in accordance with an illustrative embodiment;

[0021] FIG. 2 depicts a block diagram of a system for training a generative multivariate model, in accordance with an illustrative embodiment;

[0022] FIG. 3 depicts a block diagram of a system for applying a generative multivariate model to construct artificial datasets, in accordance with an illustrative embodiment;

[0023] FIG. 4A depicts a block diagram of different generative artificial intelligence models for generating time-series data to provide to models of vehicle functions, in accordance with an illustrative embodiment;

[0024] FIG. 4B depicts a block diagram of a decoder in generative artificial intelligence models for generating time-series data to provide to models of vehicle functions, in accordance with an illustrative embodiment;

[0025] FIG. 5 A depicts a block diagram of a variable autoencoder for generating time-series data to provide to models of vehicle functions, in accordance with an illustrative embodiment;

[0026] FIG. 5B depicts a graph of t-distributed stochastic neighbor embedding (t- SNE) for synthetic tensor data generated by the variable autoencoder in comparison to original tensor data, in accordance with an illustrative embodiment;

[0027] FIG. 6 depicts graphs of time-series reconstruction generated by the generative model, in accordance with an illustrative embodiment;

[0028] FIG. 7A depicts a graph of multi-variable signals across time in accordance with an illustrative embodiment;

[0029] FIGs. 7B-D each depict a multi-dimensional graph of empirical probability model in accordance with an illustrative embodiment;

[0030] FIG. 8 depicts a block diagram of a system for generating time-series data to provide to models of vehicle functions, in accordance with an illustrative embodiment;

[0031] FIG. 9A depicts a block diagram of a process for training a generative adversarial network in the system for generating time-series data, in accordance with an illustrative embodiment;

[0032] FIG. 9B depicts a block diagram of a process for training an autoencoder model the system for generating time-series data, in accordance with an illustrative embodiment;

[0033] FIG. 10A depicts a block diagram of a process for generating new datasets using a generative adversarial network in the system for generating time-series data, in accordance with an illustrative embodiment;

[0034] FIG. 10B depicts a block diagram of a process for generating new datasets using an autoencoder model in the system for generating time-series data, in accordance with an illustrative embodiment;

[0035] FIG. 11 A depicts a block diagram of a process for re-training the generative adversarial network using feedback data in the system for generating time-series data, in accordance with an illustrative embodiment;

[0036] FIG. 1 IB depicts a block diagram of a process for re-training the autoencoder model using feedback data in the system for generating time-series data, in accordance with an illustrative embodiment;

[0037] FIG. 12A depicts a flow diagram of a method of training a generative adversarial network for generating time-series data, in accordance with an illustrative embodiment;

[0038] FIG. 12B depicts a flow diagram of a method of training an autoencoder model for generating time-series data, in accordance with an illustrative embodiment;

[0039] FIG. 13 A depicts a flow diagram of a method of applying a generative adversarial network to generate time-series data, in accordance with an illustrative embodiment; and

[0040] FIG. 13B depicts a flow diagram of a method of applying an autoencoder model to generate time-series data, in accordance with an illustrative embodiment.DETAILED DESCRIPTION

[0041] Following below are more detailed descriptions of various concepts related to, and implementations of, methods, devices, apparatuses, computer-readable media, and systems for generating time-series data to provide to models of vehicle functions to improve control of various vehicle functions. A computing system can train a generative model using training data characterizing a vehicle function to generate artificial datasets for a model of the vehicle function, such as for vehicle control, diagnosis, calibration, and adaptive modeling, among others. The generative model can include a generator and a discriminator in accordance with a generative adversarial network. The generator can use a random seed dataset (e.g., a random vector) to output a probability density of values for classifying vehiclefunctions, using a random seed dataset. When training, the discriminator can determine whether the probability density outputted by the generator is similar to an actual dataset from the vehicle function. Based on a loss metric calculated from the classification, the generator can be iteratively updated to generate a more realistic artificial dataset. In this manner, the model of the vehicle function can rely on less actual dataset from the vehicle function, and instead use supplements from the artificial dataset. The various concepts introduced above and discussed in greater detail below may be implemented in any number of ways, as the concepts described are not limited to any particular manner of implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.

[0042] Discovering dynamical systems models from data may rely on a combination of high-quality measurements and knowledge of the underlying processes. With vast quantities of data and increasing computational power, the automated discovery of governing equations and dynamical systems may be used in developing control frameworks. This dynamic process may generate high-quality models that are used in the framework of simulation-based product development. Such high quality models may be dependent upon the use of high fidelity transient data. The models may provide the ability to develop transient calibration surfaces and transient modifiers in simulation. Using simulation-based product development, this approach may allow for tradeoffs to be determined in simulation rather than costly transient capable test cells. This may be achieved by collecting high fidelity transient data in a short time duration, then developing engine plant models integrated with the controller software.

[0043] There may be a number of technical challenges in achieving high-quality models. On one hand, high-quality models may be constructed from vast quantities of data with the assistance of a high computing power system. The effort of getting one high-quality data set may be approximately similar to that of getting multiple lower-quality data sets. High-quality models benefit more from high-quality data sets. Models developed from lower-quality data sets may be likely to yield to incorrect outcomes. On the other hand, it is often prohibitive to generate such a vast high-quality data quantity. The use of high- performance data acquisition system, the expertise of highly-qualified man-power conducting the data acquisition, and running critical experimental episodes may add to the difficulty of getting high-quality data sets. Furthermore, a high-quality data set may be generated througha complex process. Therefore, it may be come prohibitive to generate a vast quantity of data sets, especially when resources to do so are limited.

[0044] To address these and other technical challenges, a computing system train and use a generative adversarial network to generate artificial data that mimic real-world data obtained from measurements of a given vehicle function. The artificial data can be used to train models of control systems of vehicles to improve the performance in the management of the vehicle function. The generative adversarial network may reduce efforts to obtain real- world data, which may be difficult to acquire due to complexity of the instrumentation and the vehicle components being measured. In addition, relative to other techniques (e.g., stochastic modeling), the generative adversarial network can generate much higher quality data sets that mimic data taken from real-world measurements of vehicle functions. This may lessen or eliminate reliance on low-quality data to train vehicle models, thereby improving the performance of such models as well as the vehicle functions managed by these models. Furthermore, the use of model-based control, model-based diagnostics, and model-based calibration may lead to high performance controls, diagnosis, and calibration on the part of the functioning of a vehicle. Appropriate models for their perspective objectives on control, diagnosis, and calibration may also be also useful for the proper operations of the vehicle.

[0045] Referring now to FIG. 1 A, depicted is a block diagram of a system 100 for developing vehicle function modeling. The system 100 may include at least one system 102 for constructing artificial datasets for vehicular function modeling. To address these and other technical challenges mentioned above, the generative system 100 can use a machinelearning model (e.g., a generative adversarial network (GAN)) to create new data instances that resemble prior training data. To train, the generative system 100 can acquire actual, high-speed data acquisition 95 to use as the training data for the machine-learning models.

[0046] With the acquisition, the generative system can perform tensor construction from the multi-variate dataset. The input interface of the machine learning model may be implemented using a set of convolutional neural networks (CNNs) to process the input. The front interface of CNNs may feed on matrix-format inputs. The generative system 100 can perform tensor construction by using a data-conversion algorithm that converts / / ( / -variables, each of N length, into an appropriate tensor format so that the tensors can feed into a generative neural network. In this regard, data sets may contain / / ^-variables. Each of the na- variables may be made up of N-temporal data points. This tensor image may include threetwo-dimensional (2D) arrays. For each of the 2D channel (a matrix), the matrix format of the 2D array may be further converted into a ID-array or a single-vector. The conversion from 2D- to ID-array may be performed by placing the next column of the 2D array below the preceding 2D array column to result in a tall ID column or array. As a result, the matrix information of the right-portion may become a time-series like representation of the leftportion.

[0047] Data sets may capture n variables. Each of the n variables may be a ID timeseries array. Similar to a 2D-array can be converted into a ID-array, each of the / / -variables can be converted into its respective 2D representation. An N -point univariate time-series can be converted into its square matrix form of the size N -by-^N . It should be noted that the N -by-^N matrix constitutes a 2D-array. In summary, a data set that has / / -variables may be used as if it were a / / -dimensional tensor. Depending on the final machine-learning model, a ID time-series of the n-variable can be converted into its respective 2D.

[0048] In addition, the generative system 100 can perform multivariate probability estimation 105 on the acquired data. The probability density inferred from the acquired data may be used generating artificial data sets. The generative system 100 can construct artificial data 110 by taking the samples of data sets and inferring their respective probability density functions. Generative adversarial training may attempt to construct datasets with approximately similar probability density of the input samples. The generative system 100 can evaluate the accuracy of the constructed data set density functions compared to the training dataset. Details of the generative adversarial network are detailed herein below, in conjunction with FIGs. 2 and 3.

[0049] With the training of the generative model, the generative system 100 can beneficially use the artificial dataset to simulate and generate transient dynamics 115 for various vehicular functions. The generative system 100 can provide the artificial dataset to various model-based vehicular control models, such as a model-based engine calibration 120, a model-based control calibration 125, a model-based on-board diagnostic algorithm design 130, and an adaptive model 135, among others. The artificial dataset can be used to supplement real data to be provided to these vehicular control models. The constructed models can then be deployed to components in vehicle systems, such as controllers for engines and generators.

[0050] Referring now to FIG. IB, depicted is a block diagram of a system 150 for deploying vehicle function modeling on engines and generators. The system 150 can include one or more components (e.g., on vehicle systems in driving environments) in communication with the components of system 100. The system 150 can include, for example, one or more engines 155A-N (hereinafter generally referred to as engines 155) and one or more generators 160A-N (hereinafter generally referred to as generators 160). Each engine 155 and each can include at least one controller 165A-N (hereinafter generally referred to as the controller 165). Each generator 160 can include at least one controller 170A-N (hereinafter generally referred to as the controller 170).

[0051] The engine 155 can be part of a vehicle system (e.g., as part of the car engine) or a non-vehicle engine (e.g., as part of a generator set), and can include one or more components for propulsion of a vehicle (e.g., by converting fuel into mechanical energy). In the engine 155, the controller 165 can receive model data from the model-based engine calibration 120, the model-based control calibration 125, the model-based on-board diagnostic algorithm design 130, or the adaptive model 135. The model data can include one or more parameters of the vehicular control models. Using the model data, the controller 165 can adjust, configure, or otherwise manage the operations of the components to propel the vehicle. The controller 165 can also aggregate and collect data from managing the operations of the components associated with the engine 155. The controller 165 can provide the data to the generative system 102 to update the generative machine learning model.

[0052] The generator 160 can also be part of a vehicle system (e.g., as part of a crankshaft or alternator) or a non-vehicle system (e.g., as part of a generator set), and can include one or more components for converting mechanical energy into electrical energy. On the engine 155, the controller 170 can receive model data from the model-based engine calibration 120, the model-based control calibration 125, the model-based on-board diagnostic algorithm design 130, or the adaptive model 135. The model data can include one or more parameters of the vehicular control models. Using the model data, the controller 170 can adjust, configure, or otherwise manage the operations of the components to convert mechanical energy into electrical energy. For example, in a vehicle system, the controller 170 can use the model to adjust the operations of the alternator to charge vehicle batteries. The controller 170 can also aggregate and collect data from managing the operations of thecomponents associated with the generator 160. The controller 170 can provide the data to the generative system 102 to update the generative machine learning model.

[0053] Referring now to FIG. 1C, depicted is a block diagram of a system 175 for performing federated learning using feedback data from engine and generators. The system 175 can include one or more components (e.g., on vehicle systems in driving environments, such as engines 155 or generators 160) in communication with the components of system 100 and 150. The system 175 may include at least one data feed 180 and at least one federated learning-based data generator 185, among others. The data feed 180 may aggregate, retrieve, or otherwise receive the data from the engines 155 and the generators 160. The data may include or identify weights of the models in the controllers 165 of the engines 155 and the controllers 170 of the generators 160. The data may also include sensor data from the components associated with the respective engines 155 and generators 160. The data feed 180 may add or include at least a portion of the data to a sample of real data sets 190. The data feed 180 may also include data from the data acquisition 105. The data feed 180 may also provide at least a portion of the data generator 185.

[0054] In conjunction, the data generator 185 may use the data aggregated by the data feed 180 to update a centralized model, in accordance with federated learning techniques. The data generator 185 may identify the weights of the models in the controllers 165 of the engines 155 and the controllers 170 of the generators 160 from the aggregated data. The data generator 185 may use a combination (e.g., weighted average) of values for each weight, and assign the combined value to the corresponding weight in the model. Once the updating is complete, the data generator 185 may send model data to the models in the controllers 165 of the engines 155 and the controllers 170 of the generators 160 to update the weights. With the updating of the weights, the data generator 185 may apply the sensor data from the components associated with the respective engines 155 and generators 160 to the centralized model to generate additional new data. The new data may be of the same as the output data in the models in the controllers 165 of the engines 155 and the controllers 170 of the generators 160 The data generator 185 may provide the new data to include in the sample of data sets 190. The system 102 in turn may update the generative model in accordance with adversarial training using the new data, to construct higher-quality, more accurate artificial data.

[0055] Referring now to FIG. 2, among others, depicted is a block diagram of a system 200 for training a generative multi-variate model, according to an example embodiment. The system 200 can include at least one generator 205 and at least one discriminator 210. The generator 205 and the discriminator 210 can form a part of the generative multi-variate model for generating artificial datasets for vehicular functions. Each of the generator 205 and the discriminator 210 can be implemented using any number of machine learning architecture. For example, the generator 205 can include an encoder and a decoder, each of which can be in accordance with convolutional neural network (CNN) architecture. The discriminator 210 include an encoder formed using the CNN architecture.

[0056] To train, the generator 205 can retrieve a random vector 215 including a timeseries data with values for different variables (or parameters) generated by a pseudo-random generator. Using the random vector 215, the generator 205 can generate a probability density 220A. The probability density 220A outputted by the generator 205 can be used to generate artificial data sets. The artificial data set an include time-series data of values of various variables of a vehicle function that is not directly obtained from real-world settings. In conjunction, a probability density 220B can be derived from a real dataset 225 for a vehicular function. The real dataset 225 can include time-series data of values of various variables measured in real-word settings, such as vehicles navigating through a driving environment. The real dataset 225 can be used to the generator 205 to output artificial data that is similar to or mimic the behavior and properties of the real dataset 225. In some embodiments, the real dataset 225 may include new data generated using a centralized model trained in accordance with federated learning.

[0057] The discriminator 210 can be fed by one of the probability density 220A generated by the generator 205 or the probability density 220B derived from the real dataset 225 as input. The discriminator 210 can determine a classification 220 of whether the input is real (e.g., corresponding to the real dataset 225) or the fake (e.g., outputted by the generator 205). The classification 220 can be compared against the input to calculate a loss metric 230. In general, if the determination of the classification 220 is incorrect, the loss metric 230 may be of a higher value, and vice-versa. Using the loss metric 230, the weights of the generator 205 and the discriminator 210 can be iteratively updated until a convergence condition.

[0058] Referring now to FIG. 3, among others, depicted is a block diagram of a system 300 for applying a generative multi-variate model to construct artificial datasets,according to an example embodiment. The system 300 can correspond to the system 200, upon completion of training the generative multi -variate model. The system 300 can include at least one generator 305 and may lack a discriminator. To generate artificial datasets, the generator 205 can retrieve a random vector 310 including a time-series data with values for different variables (or parameters) generated by a pseudo-random generator. Using the random vector 310, the generator 305 can generate a probability density 315. The probability density 315 outputted by the generator 305 can be used to generate an artificial data set 320. The artificial data set 320 can include time-series data of values of various variables, simulating time-series data measured in real-world settings.

[0059] Referring now to FIG. 4A, depicted is a block diagram of different generative artificial intelligence models 400 for generating time-series data to provide to models of vehicle functions. The models 400 may include, for example, a generative adversarial network 405, a variable autoencoder 410, a flow-based model 415, and a diffusion model 420, among others. The generative adversarial network 405 may include at least one discriminator (£)(%)) to distinguish between actual data x and synthetic data x’ and the generator (G(z)) may generate x’ using a seed variable, z. The variable autoencoder 410 may include an encoder to generate an embedding using input data x and a decoder to generate synthetic data x’ to maximize variational lower bound. The flow-based model 415 may includer a flow function and an inverse function to carry out an invertible transformation of distribution x to x’. The diffusion model may gradually add Gaussian noise to input data x and then reverse to generate new data x’. Referring now to FIG. 4B, depicted is a block diagram of a decoder 425 in generative artificial intelligence models for generating timeseries data to provide to models of vehicle functions. The decoder 425 may model a distribution of probabilities as p0(x|z) to transform input embedding z to synthetic data x’ via probability model 0. The decoder 425 may be used, for example, in the variable autoencoder 410. The probability model (0) may be encoded in the parameters of the decoder 425 to reconstruct the synthetic data x’ from the embedding z representing the latent features within the input.

[0060] Referring now to FIG. 5 A depicts a block diagram of a variable autoencoder 500 for generating time-series data to provide to models of vehicle functions. The variable autoencoder 500 may include at least one encoder and at least one decoder. The encoder may generate a representation Z in the form of a multi-variate Gaussian using the input data X.The decoder may generate a reconstruction of the input X from the input representation Z. Referring now to FIG. 5B depicts a graph 505 of t-distributed stochastic neighbor embedding (t-SNE) for synthetic tensor data generated by the variable autoencoder in comparison to original tensor data. As seen, the synthetic tensor data generated by the variable autoencoder may generally mimic the original tensor data.

[0061] Referring now to FIG. 6 depicts graphs 600 of time-series reconstruction generated by the generative model. The generative model may be the variable autoencoder that is trained using measured data from various vehicle functions to generate synthetic data that mimics the characteristics of such vehicle functions. As shown, the graphs 600 may indicate that artificial time series may rely on perturbation of latent variable factors in generating reconstructed data. Referring now to FIG. 7 A depicts a graph 700 of multivariable signals across time. As seen in the graph 700, the relationship between multivariable signals may be relatively static over time. Referring now to FIGs. 7B-D, depicted are multidimensional graphs 705A-C of empirical probability model. The multi-dimensional graphs 705A-C may be similar to the graph 700 but in three-dimensions. The graph 700 depicts an example of three time series of three engine variables. From these three time-series signals, their respective probability models can be resolved in two sets of two variables are depicted on the graphs 705B and 705C. The graph 705B depicts an empirical graphical probability model between variable-1 and variable-3 while the graph 705C, depicts an empirical probability model between variable- 1 and variable-3 of the multivariate time series of the graph 700.

[0062] Referring now to FIG. 8, depicted is a block diagram of an environment or a system 800 for generating time-series data to provide to models of vehicle functions, according to an example embodiment. As a brief overview, the system 800 can include at least one data processing system 805, one or more control architectures 810A-N (hereinafter generally referred to as control architecture 810), and one or more vehicles 815A-N (hereinafter generally referred to as vehicles 815), among others, communicatively coupled via at least one network 820. The data processing system 805 can include at least one data acquirer 825, at least one vector generator 830, at least one model trainer 835, at least one model applier 840, at least one generative model 845, at least one data synthesizer 850, and at least one database 855, among others. At least one control architecture 810 can include at least one model 860A-N (hereinafter generally referred to as model 860).

[0063] Each vehicle 815 may be any type of vehicle, such as an automobile (e.g., a sedan as depicted, a truck, a bus, or a van), a motorcycle, an airplane, a helicopter, a locomotive, or a watercraft, among others. In some embodiments, the vehicle 815 may be a piece of equipment comprising an engine with a fuel source such as gasoline, hydrogen (e.g., a hydrogen internal combustion engine), diesel, natural gas (e.g., liquified natural gas (LNG), ethanol, or biodiesel, among others, or any combination thereon (e.g., a stationary piece of equipment such as a genset). The engine may be any type of internal combustion engine, such as a spark-ignited internal combustion or a compression-ignition engine. In other embodiments, the engine may be omitted, and the vehicle may be a pure electronic vehicle. In this regard, the vehicle 815 may be an electric vehicle (EV) powered by an internal electrical energy source (e.g., a battery pack) or a hybrid vehicle powered by both an internal combustion engine and the internal electrical energy source, among others. The vehicle 815 may be, for example, a plug-in electric vehicle (EV, electric car, etc.), battery electric vehicle (BEV), fuel cell electric vehicle (FCEV), hybrid electric vehicle (HEV), plug-in hybrid electric vehicle (PHEV), range-extended electric vehicle (REEV), extended-range electric vehicle (E-REV), range-extended battery-electric vehicle (BEVx), or other vehicle powered by or otherwise operable via at least one of a battery, generator (e.g., a power generator, generator plant, electric power strip, on-board rechargeable electricity storage system, etc.), an engine, and a motor, among others.

[0064] The vehicle 815 can include house, contain, or otherwise include the one or more components. The components may control, handle, or provide various functions for the vehicle 815. The vehicle functions can include, for example, propulsion, steering, braking, acceleration, suspension, transmission, passenger cabin climate control, entertainment system, telematics system, power generation (e.g., battery or fuel consumption), engine system (e.g., a dosing control, an aftertreatment system, emissions), a vehicle diagnostic system, a vehicle prognostic system, and an adaptive system (e.g., advanced drive assistance systems (ADAS), adaptive braking, or cruise control), among others. For example, the components can include a motor-generator coupled to or disposed in a power train, drive shaft, axle housing, and wheels, among others, of the vehicle 815. The components can include mechanical components or accessories, such as a radiator fan, air compressor, fuel pump, water pump, power steering pumps, and air conditioning system, among others. The components may be electrically or communicatively coupled with one another and other parts of the vehicle 815.

[0065] The vehicle 815 can house, contain, or otherwise include the at least one controller. In some embodiments, the controller can be an electronic control unit (ECU) to administer or manage various vehicular functions. The controller may be communicatively coupled with various components in the vehicle 815, such as an internal combustion engine, an electric motor, an exhaust aftertreatment system, a power train, a transmission control unit, among others. Communication between and among the components may be via any number of wired or wireless connections. For example, a wired connection may include a serial cable, a fiber optic cable, a CAT5 cable, or any other form of wired connection. In comparison, a wireless connection may include the Internet, Wi-Fi, cellular, radio, etc. In one embodiment, a CAN bus provides the exchange of signals, information, and / or data. The CAN bus includes any number of wired and wireless connections. In some embodiments, the controller can be part of a component handling of the vehicular function. For instance, the controller can be part of a processor on an edge module or the component of the engine to control and administer various engine related functions.

[0066] The vehicle 815 can house, contain, or otherwise include one or more sensors. The sensors can instrument, measure, or otherwise acquire any type of data on the vehicle 815 or any one or more of the components. For example, the sensors can include: a camera to acquire images about the vehicle 815; a Light Detection and Ranging (LiDAR) or radio detection and ranging (RADAR) sensor to detect objects about the vehicle 815; a speed sensor to measure vehicle speed; a suspensor sensor; a tire pressure monitoring system (TPMS); a global positioning satellite (GPS) module; an oxygen sensor to instrument amount of oxygen in vehicle; an emission sensor to instrument amount of gasses (e.g., nitrogen oxide (NOx), carbon dioxide (CO2), hydrocarbons, and particular matter (PM)) emitted by the engine in the vehicle ; a throttle position sensor; a crankshaft position sensor; a camshaft sensor; a fuel pressure sensor; a power sensor; a mass air flow sensor; a fuel temperature sensor; a manifold absolute pressor sensor; and a driver input sensor, among others. Upon acquisition, the sensors can relay, convey, or otherwise provide the acquired data to the controller and components for additional processing.

[0067] Components of the system 800, such as the data processing system 805 and the vehicle 815 (e.g. the controller, the components, and the sensors) can be implemented using circuitry, such as one or more processors coupled with memory. The circuitry can include logic or machine-readable instructions (e.g., as embodied in the data acquirer 825, thevector generator 830, the model trainer 835, the model applier 840, the generative model 845, the data synthesizer 850, and the control architecture 810, on the memory) to define the behavior, functions, and operations of the circuitry. The functions attributed or defined by the machine-readable instructions can be attributable to the circuitry overall. The circuitry can be implemented by computer readable media which can include code written in any programming language, including, but not limited to, Java, JavaScript, Python or the like and any conventional procedural programming languages, such as the “C” programming language or similar programming languages. The machine-readable instructions can be stored and maintained on memory. The circuitry can include one or more processors to execute the machine-readable instructions. The one or more processors can be coupled with the memory to execute the machine-readable instructions therefrom.

[0068] The processor can be implemented as a single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, or any conventional processor, or state machine. The processor also may be implemented as a combination of computing devices, such as a combination of a digital signal processor (DSP) and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some embodiments, the one or more processors may be shared by multiple circuits may comprise or otherwise share the same processor which, in some example embodiments, may execute instructions stored, or otherwise accessed, via different areas of memory. Alternatively or additionally, the one or more processors may be structured to perform or otherwise execute certain operations independent of one or more co-processors. In other example embodiments, two or more processors may be coupled via a bus to enable independent, parallel, pipelined, or multithreaded instruction execution.

[0069] The memory (e.g., memory, memory unit, storage device) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and / or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure. The memory may be communicably connected to the processor to provide computer code or instructions to the processor for executing at leastsome of the processes described herein. Moreover, the memory may be or include tangible, non-transient volatile memory or non-volatile memory. Accordingly, the memory may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein.

[0070] The network 820 can be a local area network that supports communication among the data processing system 805, the control architectures 810, or the one or more vehicles 815. The network 820 can be a wide area network (WAN) to facilitate data communication capability among the data processing system 805, the control architectures 810, or the one or more vehicle 815, such as the Internet. Technologies can be used, including wired (e.g., Ethernet, IEEE 802.3 standards) and / or wireless technologies (e.g., WiFi, IEEE 802.11 standards). The network 820 can be established in accordance an intervehicle (V2X) communications protocol among the data processing system 805, the control architectures 810, and the one or more vehicles 815, among others.

[0026] The data processing system 805 can be any computing device or system comprising one or more processors coupled with memory and software and capable of performing the various processes and tasks described herein. The data processing system 805 may be owned by, control by, managed by, or otherwise associated with a provider entity. The provider entity may provide goods or services. In the example shown, the provider entity is an engine manufacturer and may provide remote diagnostics, data analytics, or other services. The data processing system 805 may be in communication with the control architecture 810 or the vehicle 815, when a connection is established via the network 820. In some embodiments, the data processing system 805 may be situated, located, or otherwise associated with at least one server group. The server group may correspond to a data center, a branch office, or a site at which one or more servers corresponding to the data processing system 805 is situated. In some embodiments, the data processing system 805 may be executed on the vehicle 815 (e.g., on an electronic control unit thereon). In some embodiments, the data processing system 805 can be part of the control architecture 810.

[0027] On the data processing system 805, the data acquirer 825 can retrieve or identify time-series datasets associated with a vehicle function from the vehicles 815 or the database 855. The vector generator 830 can produce or output random data to use as a seed the generation of artificial data. The model trainer 835 can initialize, establish, and train thegenerative model 845. The model applier 840 can use the generative model 845 to generate a probability density to characterize the vehicle function. The generative model 845 can be a machine learning (ML) model or an artificial intelligence (Al) algorithm (e.g., generative adversarial network, a variable autoencoder, a flow-based model, or a diffusion model) to facilitate the generation of artificial, synthetic data that mimics the data of the vehicle functions. The data synthesizer 850 can generate artificial time-series data in accordance with the probability density. The database 855 can store and maintain various data in connection with the generative model 845.|0028| Each control architecture 810 can be any computing device or system comprising one or more processors coupled with memory and software and capable of performing the various processes and tasks described herein. The control architecture 810 may be owned by, control by, managed by, or otherwise associated with a provider entity. The provider entity may provide goods and / or services. In the example shown, the provider entity is an engine manufacturer and may provide remote diagnostics, data analytics, or other services. The data processing system 805 may be in communication with the control architecture 810 or the vehicle 815, when a connection is established via the network 820. The control architecture 810 can control, handle, or provide at least one vehicular function. In some embodiments, at least one control architecture 810 can be a part of at least one of the vehicles 815. In some embodiments, at least one architecture 810 can be separate from any of the vehicles 815 and be part of a computing device. In some embodiments, the control architecture 810 can be part of the data processing system 805.

[0029] In the control architecture 810, the model 860 can be a machine learning (ML) model or an artificial intelligence (Al) algorithm, such as a clustering algorithm (e.g., k- nearest neighbors algorithm, hierarchical clustering, distribution-based clustering), a regression model (e.g., linear regression or logistic regression), random forest model, support vector machine (SVM), Bayesian model, or an artificial neural network (e.g., convolution neural network (CNN), a generative adversarial network (GAN), recurrent neural network (RNN), or a transformer), among others. In general, the model 860 can have a set of inputs and a set of outputs related to one another via a set of parameters (sometimes herein referred to as weights). The model 860 can be applied to input data to generate output values associated with various vehicle functions. The model 860 can be used to carry or implement model-based control of various vehicle functions.

[0071] Referring now to FIG. 9A, depicted is a block diagram of a process 900 for training the generative model 845 when implemented as a generative adversarial network in the system 800 for generating time-series data, according to an example embodiment. The process 900 can include or correspond to operations performed by the data processing system 805 to train the generative model 845. Under the process 900, the model trainer 835 executing on the data processing system 805 can initialize, establish, or otherwise train the generative model 845. The generative model 845 can be established and trained to output probability densities with which to generate artificial time-series data for a given vehicle function. The training can be in accordance with supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, among others. The generative model 845 can include at least one generator 905 (also referred herein as a generative adversarial network) and at least one discriminator 910 (also referred herein as a discriminative network). The generative model 845 can include one or more inputs corresponding to datasets and probability densities associated with a vehicle function. The generative model 845 can include one or more outputs corresponding to a classification of the output from the generator 905 and probability densities associated with the vehicle function.

[0072] Within the generative model 845, the generator 905 can include at least one input corresponding to a dataset (or vector) and at least one output corresponding to a probability density to characterize a vehicle function. The generator 905 can include a set of weights (sometimes referred herein as parameters or kernel parameters) to relate the input with the output in accordance with a network architecture. The network architecture for the generator 905 can be, for example, deep learning based artificial neural network (ANN), such as a convolutional neural network (CNN) (e.g., including convolutional and de-convolutional layers), a variational autoencoder (VAE) (e.g., including an encoder and decoder), and a transformer architecture, among others. In addition, the discriminator 910 can include at least one input corresponding to a probability density and at least one output to classify whether the input is real or fake. The discriminator 910 can include a set of weights (sometimes referred herein as parameters or kernel parameters) to relate the input with the output in accordance with a network architecture. The network architecture for the discriminator 910 can be, for examples, a convolutional neural network (CNN) (e.g., including convolutional and de-convolutional layers), a recurrent neural network (RNN), an adversarial autoencoder (AAE), or a transformer architecture, among others.

[0073] In training the generative model 845, the data acquirer 825 executing on the data processing system 805 can retrieve, obtain, or otherwise identify at least one training dataset 915 from the database 855. In some embodiments, the data acquirer 825 can retrieve, identify, or otherwise receive the training dataset 915 from the one or more vehicles 815, as the data is generated by the controllers in the vehicles 815. The training dataset 915 can include time-series data associated with a vehicle function. The time-series data may include a number of variables (e.g., parameters or properties) at a given sampling rate over a time window. For a given vehicle function, the variables for the time-series data of the training dataset 915 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815, and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. In some embodiments, the training dataset 915 can include time-series data generated by a centralized model in accordance with federated learning. The training dataset 915 can correspond to one or more files (e.g., in extensible markup language (XML), JavaScript Object Notation (JSON), or a A2L format) maintained on the database 855 or provided by the vehicles 815.

[0074] In some embodiments, the training dataset 915 can identify or include a set of frames 920A-N (hereinafter generally referred to as frames 920). The set of frames 920 can correspond to a set of time samples for the vehicle function. Each frame 920 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. For instance, the frame 920 can be a n-by-n matrix, with each element corresponding to an associated variable and assigned a respective value. Across two or more frames 920, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function. In some embodiments, the data acquirer 825 can output, create, or otherwise generate the set of frames 920 from the raw data corresponding to the training dataset 915.

[0075] Using the training dataset 915, the data acquirer 825 can calculate, generate, or otherwise determine at least one probability density 925A. In some embodiments, the training dataset 915 can identify or include the probability density 925 A. In some embodiments, the data acquirer 825 can generate the probability density 925A as a histogram or another probability density function (PDF) of the time-series data of the training dataset 915. The probability density 925 A can define, specify, or otherwise characterize the vehicle function, derived from the time-series data from the training dataset 915. The probability density 925A can define likelihoods (or frequency or histogram) of values for variables in the time-series data of the training dataset 915. The probability density 925 A can also define likelihoods of time derivatives (e.g., of first or more orders) of variables in the time-series data of the training dataset 915. In some embodiments, the probability density 925 A can define conditional likelihoods of values for one variable based on the values of one or more other variables. In some embodiments, the probability density 925A can define joint likelihood of values for one variable in relation to one or more other variables. The probability density 925A can have a dimension as specified for the input of the discriminator 910 of the generative model 845.

[0076] In conjunction, the vector generator 830 executing on the data processing system 805 can produce, output, or otherwise generate at least one random dataset 930 (also sometimes referred herein as a random vector). The random dataset 930 can include a set of values (e.g., in the form of a vector, array, matrix, or any other data structure) to be used as a random seed to generate artificial datasets to define the vehicle function(s). The random dataset 930 can be of a dimension as specified for the input of the generator 905 in the generative model 845. In some embodiments, the vector generator 830 can generate the random dataset 930 using a random noise generator (e.g., Gaussian noise or uniform noise). In some embodiments, the vector generator 830 can generate the random dataset 930 by sampling training datasets 915 maintained on the database 855 or from the vehicles 815. The sampling may be in accordance with a random sampling algorithm, such as uniform random sampling, periodic random sampling, clustered random sampling, or stratified sampling, among others.

[0077] The model applier 840 executing on the data processing system 805 can feed or apply the random dataset 930 to the generator 905 of the generative model 845. Upon feeding, the model applier 840 can process the random dataset 930 in accordance with the setof weights of the generator 905. From processing, the model applier 840 can produce or generate at least one probability density 925B associated with the vehicle function. The probability density 925B can define, specify, or otherwise characterize values of variables for the vehicle function, without reliance on real sample data (e.g., the training dataset 915). The probability density 925B can be used to generate simulated, artificial datasets mimicking the real sample data for the vehicle function. In embodiments, the probability density 925B can identify, specify, or otherwise define generation of artificial time-series data including a set of values (and a set of time derivatives) across a set of variables. The probability density 925B can define likelihoods (or frequency or histogram) of values for variables for the vehicle function. The probability density 925B can also define likelihoods of time derivatives (e.g., of first or more orders) of variables in the time-series data. In some embodiments, the probability density 925B can define conditional likelihoods of values for one variable based on the values of one or more other variables. In some embodiments, the probability density 925B can define joint likelihoods of values for one variable in relation to one or more other variables.

[0078] The model applier 840 can select or identify one of the probability density 925 A derived from the training dataset 915 or the probability density 925B generated using the generator 905 as an input to the discriminator 910. With the identification, the model applier 840 can feed or apply the input to the discriminator 910. Upon feeding, the model applier 840 can process the input in accordance with the set of weights of the discriminator 910. From processing, the model applier 840 can produce, generate, or otherwise determine at least one classification 935. The classification 935 can identify or indicate whether the input is real (e.g., from real data such as the training dataset 915) or fake (e.g., not from the real data). For instance, the classification 935 can be a Boolean value of “true” when the input is determined by the discriminator 910 to be from real data. Conversely, the classification 935 can be a Boolean value of “false” when the input is determined by the discriminator 910 to be not real.

[0079] Based on the classification 935 and the input to the discriminator, the model trainer 835 can calculate, generate, or otherwise determine at least one discriminator loss metric 940 for the generative model 845. The discriminator loss metric 940 can identify or indicate whether the output classification 935 is correct (or incorrect) based on the input to the discriminator 910. The discriminator loss metric 940 can be calculated in accordancewith any number of loss functions, such as a Wasserstein loss, a binary cross-entropy loss, a Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), or a quadratic loss, among others. In general, when the input is real data (e.g., the probability density 925A) and the classification 935 indicates otherwise, the discriminator loss metric 940 may be higher. Conversely, when the input is real data (e.g., the probability density 925A) and the classification 935 indicates that the input is from real data, the discriminator loss metric 940 may be lower.

[0080] In addition, the model trainer 835 can calculate, generate, or otherwise determine at least one generative loss metric 945 for the generator 905. The generative loss metric 945 can be determined using the probability density 925 A derived from real data, the probability density 925B from the generator 905, and the classification 935. The generative loss metric 945 may indicate a degree of deviation between the probability density 925B generated by the generator 905 and the probability density 925 A derived from the training dataset 915. The generative loss metric 945 may be calculated in accordance with any number of loss functions, such as a minimax loss, Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), a quadratic loss, and a cross-entropy loss, among others. In general, the higher the deviation of the probability density 925B is from the probability density 925 A, the higher the generative loss metric 945. Conversely, the lower the deviation of the probability density 925B is from the probability density 925A, the lower the generative loss metric 945.

[0081] Using the discriminator loss metric 940 or the generator loss metric 945 (or both), the model trainer 835 can modify or update at least one of the weights in the generator 905 or the discriminator 910 of the generative model 845. In some embodiments, the model trainer 835 can update at least one of the set of weights in the discriminator 910 using the discriminator loss metric 940. The updating of the set of weights in the discriminator 910 can be in accordance with an optimization function (or an objective function), such as a stochastic gradient descent (SGD), an adaptive moment estimation (Adam), adaptive gradient algorithm (Adagrad), among others. In some embodiments, the model trainer 835 can update at least one of the set of weights in the generator 905 using the generator loss metric 945. The updating of the set of weights in the generator 905 can be in accordance with an optimization function, such as a stochastic gradient descent (SGD), an adaptive moment estimation(Adam), adaptive gradient algorithm (Adagrad), among others. The model trainer 835 can repeat the above process to train the generative model 845 until convergence.

[0082] Referring now to FIG. 9B, depicted is a block diagram of a process 950 for training the generative model 845 when implemented as an autoencoder model in the system 800 for generating time-series data, according to an example embodiment. The process 950 can include or correspond to operations performed by the data processing system 805 to train the generative model 845. Under the process 900, the model trainer 835 can initialize, establish, or otherwise train the generative model 845. The generative model 845 can be established and trained to output probability densities with which to generate artificial timeseries data for a given vehicle function. The training can be in accordance with supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, among others. The generative model 845 can include at least one encoder 955 and at least one decoder 960. The generative model 845 can include one or more inputs corresponding to datasets and probability densities associated with a vehicle function. The generative model 845 can include one or more outputs corresponding to a classification of the output from the generator 905 and probability densities associated with the vehicle function.

[0083] Within the generative model 845, the encoder 955 can include at least one input corresponding to a dataset (or vector) and at least one output including a set of embeddings to capture various latent features in the input dataset. The encoder 955 can include a set of weights (sometimes referred herein as parameters or kernel parameters) to relate the input with the output in accordance with a network architecture. The network architecture for the encoder 955 can be, for example, a deep learning based artificial neural network (ANN), such as a convolutional neural network (CNN) (e.g., including convolutional and de-convolutional layers), a recurrent neural network (RNN), and a transformer architecture, among others. In addition, the decoder 960 can include at least one input corresponding to the set of embeddings from the encoder 955 and at least one output corresponding to an output dataset. The decoder 960 can include a set of weights (sometimes referred herein as parameters or kernel parameters) to relate the input with the output in accordance with a network architecture. The network architecture for the decoder 960 can be, for example, a deep learning based artificial neural network (ANN), such as a convolutional neural network (CNN) (e.g., including convolutional and de-convolutional layers), a recurrent neural network (RNN), and a transformer architecture, among others.

[0084] In training the generative model 845, the data acquirer 825 executing on the data processing system 805 can retrieve, obtain, or otherwise identify at least one training dataset 915 from the database 855. In some embodiments, the data acquirer 825 can retrieve, identify, or otherwise receive the training dataset 915 from the one or more vehicles 815, as the data is generated by the controllers in the vehicles 815. The training dataset 915 can include time-series data associated with a vehicle function. The time-series data may include a number of variables (e.g., parameters or properties) at a given sampling rate over a time window. For a given vehicle function, the variables for the time-series data of the training dataset 915 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815, and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. In some embodiments, the training dataset 915 can include time-series data generated by a centralized model in accordance with federated learning. The training dataset 915 can correspond to one or more files (e.g., in extensible markup language (XML), JavaScript Object Notation (JSON), or a A2L format) maintained on the database 855 or provided by the vehicles 815.

[0085] In some embodiments, the training dataset 915 can identify or include a set of frames 920A-N (hereinafter generally referred to as frames 920). The set of frames 920 can correspond to a set of time samples for the vehicle function. Each frame 920 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. For instance, the frame 920 can be a n-by-n matrix, with each element corresponding to an associated variable and assigned a respective value. Across two or more frames 920, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function. In some embodiments, the data acquirer 825 can output, create, or otherwise generate the set of frames 920 from the raw data corresponding to the training dataset 915.

[0086] Using the training dataset 915, the vector generator 830 can produce, output, or otherwise generate at least one seed dataset 965 using at least a portion of the one or more frames 920 of the training dataset 915. The seed dataset 965 may include at least a portion of the time-series data associated with a vehicle function of the training dataset 915. The seed dataset 965 can identify or include one or more frames 920’ A-N (hereinafter generally referred to as frames 920’). The one or more frames 920’ can correspond to a subset of the frames 920 of the training dataset 915. Each frame 920’ of the seed dataset 965 can include at least a portion of a corresponding frame 920 in the training dataset 915. To generate the frames 920’ for the seed dataset 965, the vector generator 830 can identify or select a subset of frames 920 from the training dataset 915. For each selected frame 920 from the training dataset 915, the vector generator 830 can create or generate a corresponding frame 920’ for the seed dataset 965. The frame 920’ can include a portion of the frame 920. For example, the frame 920’ can include one or more portions of the frame 920, with remaining portions masked or set to null. The vector generator 830 can repeat this process over the selected frames 920 to generate the one or more frames 920’ for the seed dataset 965.

[0087] With the generation of the seed dataset 965, the model applier 840 can feed or apply the seed dataset 965 to the generative model 845. In applying, the model applier 840 can provide, apply, or feed the seed dataset 965 to the encoder 955 of the generative model 845. Upon feeding, the model applier 840 can process the one or more frames 920 of the seed dataset 965 in accordance with the set of weights of the encoder 955. From processing, the model applier 840 can produce or generate a set of embeddings using the seed dataset 965. The set of embeddings can be a reduced dimension representation of the input seed dataset 965, and can represent latent features used to generate output for the overall generative model 845. The model applier 840 can feed forward, provide, or otherwise apply the decoder 960 to the set of embeddings generated by the encoder 955. The model applier 840 can process the input set of embeddings in accordance with the set of weights of the decoder 960. From processing, the model applier 840 can generate at least one output dataset 970 using the set of embeddings.

[0088] Based on applying the generative model 845, the model applier 840 can generate the output dataset 970. In some embodiments, the model applier 840 can generate multiple output datasets 970 from a single input of the seed dataset 965 to the generative model 845. The output dataset 970 can be a reconstruction of the original training dataset915 using the partial information of the seed dataset 965. The output dataset 970 can identify or include a set of frames 920” A-N (hereinafter generally referred to frames 920”). Similar to the frames 920 of the training dataset 915, the set of frames 920” can correspond to a set of time samples for the vehicle function. Each frame 920” can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function (e.g., same as the training dataset 915), at a given time sample. Across two or more frames 920”, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function.

[0089] The model trainer 835 can calculate, generate, or otherwise determine at least one reconstruction loss metric 975. The reconstruction loss metric 975 may identify or indicate a degree of deviation between the output dataset 970 and the original training dataset 915. In some embodiments, the model trainer 835 may compare the set of values in each frame 920” of the output dataset 970 with the corresponding set of values in the corresponding frame 920 in the training dataset 915. Based on the comparison, the model trainer 835 may generate the reconstruction loss metric 975. The reconstruction loss metric 975 may be calculated in accordance with any number of loss functions, such as a minimax loss, Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), a quadratic loss, and a cross-entropy loss, among others. In general, the higher the deviation of the output dataset 970 from the training dataset 915, the higher the reconstruction loss metric 975. Conversely, the lower the deviation of the output dataset 970 from the training dataset 915, the lower the reconstruction loss metric 975.

[0090] Using the reconstruction loss metric 975, the model trainer 835 can modify or update at least one of the weights in the encoder 955 or the decoder 960 of the generative model 845. In some embodiments, the model trainer 835 can update at least one of the set of weights in the encoder 955 and the decoder 960 using the reconstruction loss metric 975. The updating of the set of weights in the encoder 955 and the decoder 960 can be inaccordance with an optimization function (or an objective function), such as a stochastic gradient descent (SGD), an adaptive moment estimation (Adam), adaptive gradient algorithm (Adagrad), among others. The model trainer 835 can repeat the above process to train the generative model 845 until convergence. By training the generative model 845, the set of weights of the encoder 955 and the decoder 960 can be encoded with a probability density of the time-series data in the frames 920 of the training dataset 915. The probability density can define likelihoods (or frequency or histogram) of values for variables in the time-series data characterizing the vehicular function.

[0091] Referring now to FIG. 10A, depicted is a block diagram of a process 1000 for generating new datasets using the generative model 845 (implemented using a generative adversarial network) in the system 800 for generating time-series data, according to an example embodiment. The process 1000 can include or correspond to use of the generative model 845 to output artificial datasets for use in modeling vehicular functions. Under the process 1000, the vector generator 830 can produce or generate and output at least one random dataset 1005 (sometimes herein referred to as a random vector). The random dataset 1005 can include a set of values (and time derivatives) (e.g., in the form of a vector, array, matrix, or any other data structure) to be used as a random seed to generate artificial datasets to define the vehicle function. The random dataset 1005 can be of a dimension as specified for the input of the generator 905 in the generative model 845. In some embodiments, the vector generator 830 can generate the random dataset 1005 using a random noise generator (e.g., Gaussian noise or uniform noise). In some embodiments, the vector generator 830 can generate the random dataset 1005 by sampling training datasets 915 maintained on the database 855 or from the vehicles 815. The sampling may be in accordance with a random sampling algorithm, such as uniform random sampling, periodic random sampling, clustered random sampling, or stratified sampling, among others.

[0092] The model applier 840 can feed or apply the random dataset 1005 to the generator 905 of the generative model 845. As the generative model 845 is already trained, the model applier 840 can forego invoking or using the discriminator 910. Upon feeding, the model applier 840 can process the random dataset 1005 in accordance with the set of weights of the generator 905. From processing, the model applier 840 can produce or generate at least one probability density 1010 associated with the vehicle function. The probability density 1010 can define, specify, or otherwise characterize values of variables for the vehiclefunction, without reliance on real sample data (e.g., the training dataset 915). The probability density 1010 can be used to generate simulated, artificial datasets mimicking the real sample data for the vehicle function.

[0093] In embodiments, the probability density 1010 can identify, specify, or otherwise define generation of artificial time-series data including a set of values (and a set of time derivatives) across a set of variables for the vehicle function. The probability density 1010 can define likelihoods (or frequency or histogram) of values for variables for the vehicle function. The probability density 1010 can also define likelihoods of time derivatives (e.g., of first or more orders) of variables in the time-series data. In some embodiments, the probability density 1010 can define conditional likelihoods of values for one variable based on the values of one or more other variables. In some embodiments, the probability density 1010 can define joint likelihoods of values for one variable in relation to one or more other variables.

[0094] Using the probability density 1010, the data synthesizer 850 executing on the data processing system 805 can output, produce, or otherwise generate a set of artificial datasets 1015A-N (hereinafter generally referred to as artificial datasets 1015) for the vehicle function(s). Each artificial dataset 1015 can be a time-series data associated with the vehicle function, for which the generator 905 is trained. The time-series data of the artificial dataset 1015 can identify or include a set of values for one or more variables (e.g., parameters or properties) of the vehicle function. For a given vehicle function, the variables for the timeseries data of the artificial dataset 1015 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815, and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. To generate the time-series data, the data synthesizer 850 can sample values from the probability density 1010 to set or assign values for variables over the time window. The time window of the artificial dataset 1015 can be the same or substantially same (e.g., within 9%) of the time windows of the training datasets 915 used to train the generative model 845.

[0095] In some embodiments, the data synthesizer 850 can generate each artificial dataset 1015 to identify or include a set of frames 1020A-N (hereinafter generally referred to as frames 1020) according to the probability density 1010. Each frame 1020 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at the corresponding time sample. For instance, the frame 920 can be a n-by-nmatrix, with each element corresponding to an associated variable and assigned a respective value. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). For each frame 1020, the data synthesizer 850 can sample values from the probability density 1010 to set or assign values for variables within the frame 1020. Using the time derivatives specified in the probability density 1010, the data synthesizer 850 can generate the artificial dataset 1015 to include any number of transients across two or more frames 1020. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The data synthesizer 850 can repeat this process to create any number of artificial datasets 1015.

[0096] The data synthesizer 850 can send, transmit, or otherwise provide the artificial datasets 1015 to the control architecture 810. In some embodiments, the data synthesizer 850 can provide at least a portion of the training datasets 915 along with the artificial datasets 1015 to the control architecture 810. In some embodiments, the data synthesizer 850 can store and maintain an association between the probability density 1010 and an identification of the vehicle function. The association may be stored and maintained on the database 855 using one or more data structures (e.g., linked list, array, matrix, table, binary tree, hash, or graph). The association can be also between the identification of the vehicle function and the one or more artificial datasets 1015 generated using the probability density 1010. In some embodiments, the control architecture 810 may reside on a vehicle 815, and the data synthesizer 850 can send the artificial datasets 1015 to the vehicle 815 when communicatively coupled via the network 820.

[0097] With the receipt of the artificial datasets 1015, the control architecture 810 can create, construct, or otherwise generate the model 860. The control architecture 810 can specify, represent, or otherwise define a model-based control with the use of the model 860. The control architecture 810 can use the artificial datasets 1015 to initialize, train, and establish the model 860. For example, the control architecture 810 can initialize the set of weights of the model 860 to initial values (e.g., random values). The control architecture 810 can iterate through the artificial datasets 1015 to apply to the model 860. By applying, the control architecture 810 can generate an output from processing each input dataset of the artificial datasets 1015. Using the output, the control architecture 810 can update the set of weights of the model 860 (e.g., using supervised, unsupervised, or weakly supervised learning techniques). In some embodiments, the control architecture 810 can modify, change,or otherwise update the model 860 using the artificial dataset 1015. For instance, the model 860 may have been previously trained, and the control architecture 810 can retrain the model860 using the artificial dataset 1015 (e.g., in the same manner as detailed herein).

[0098] The control architecture 810 can carry out, execute, or otherwise perform various operations associated with the vehicle function using the model 860. The model 860 can be used to control or administer the vehicle function associated with the control architecture 810. The control architecture 810 can be associated with the vehicle function, such as propulsion, steering, braking, suspension, transmission, passenger cabin climate control, entertainment system, telematics system, power generation, an engine system, a vehicle diagnostic system, a vehicle prognostic system, and / or an adaptive system, among others, as discussed herein. The model 860 can include, for example, an engine calibration model, a vehicle control model, a diagnostic model, or an adaptive model, among others. The engine calibration model can be used to tune the parameters of the engine control system. The vehicle control model can manage operations of various vehicle components, such as engine, transmission, brakes, steering, and suspension, among others. The diagnostic model can be used to detect or recognize a fault on the vehicle 815 based on various on-board measurements. The adaptive model can be used to adjust various operating behavior of the vehicle (e.g., associated with ADAS) in response to changing environmental conditions or other measurements.

[0099] The control architecture 810 can use the artificial datasets 1015 (along with the training datasets 915) to initialize, establish, or otherwise train the model 860. The training of the model 860 can be in accordance with the architecture of the model 860, such as clustering, regression, random forest, SVM, Bayesian model, or ANN, among others. In general, the model 860 can include a set of weights to relate inputs to outputs. For example, in a control architecture 810 for vehicle engine control, the control architecture 810 can use the artificial datasets 1015 to train the model 860 to provide accurate outputs to actuate various components of the vehicle engine using a wide array of measurements and driver input as identified in the artificial datasets 1015. In some embodiments, the control architecture 810 can use the artificial datasets 1015 to modify or update the one or more weights of the model 860. For instance, the control architecture 810 can fine tune or adjust the one or more weights of a regression model (e.g., example of the model 860) to alter vehicle energy output.

[0100] Upon completion of training, the control architecture 810 can be incorporated or installed onto a controller (e.g., an electronic control unit (ECU)) that is associated with the vehicle function in a vehicle 815. The control architecture 810 can transmit, provide, or otherwise send model data 1025 to a component (e.g., a controller for the vehicle function) on the vehicle 815. The control architecture 810 can send the model data 1025 via one or more communication networks, such as a cloud computing network, a wireless communication network (e.g., cellular network, or a Wi-Fi), or a direct wired connection, among others. The model data 1025 can include or identify one or more weights of the model 860 on the control architecture 810. For example, the model data 1025 can include instructions to configure a model on the controller of the vehicle 815 to the weights of the trained model 860.

[0101] During the operations of the vehicle 815, the controller can feed data from driver input and sensor measurements from the components related to the vehicle function and environment to the model on the controller. The controller can process the input data according to the weights of the model to produce or generate an output for the vehicle control. For example, when the model is for engine control, the controller on the vehicle 815 can process the input data in accordance with the weights of the model and output control signals to send to control actuator components in the engine. From uses of the model and the operations of the vehicle control, the controller on the vehicle 815 can generate and store data associated with the vehicle function.

[0102] Referring now to FIG. 10B, depicted is a block diagram of a process 1050 for generating new datasets using the generative model 845(implemented using an autoencoder model) in the system 800 for generating time-series data. The process 1050 can include or correspond to use of the generative model 845 to output artificial datasets for use in modeling vehicular functions. Under the process 1050, the vector generator 830 can retrieve, obtain, or otherwise identify at least one stored dataset 1055 from the database 855. In some embodiments, the data acquirer 825 can retrieve, identify, or otherwise receive the stored dataset 1055 from the one or more vehicles 815, as the data is generated by the controllers in the vehicles 815. The stored dataset 1055 can include time-series data associated with a vehicle function. The time-series data may include a number of variables (e.g., parameters or properties) at a given sampling rate over a time window. For a given vehicle function, the variables for the time-series data of the stored dataset 1055 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815,and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. In some embodiments, the stored dataset 1055 can include timeseries data generated by a centralized model in accordance with federated learning. The stored dataset 1055 can correspond to one or more files (e.g., in extensible markup language (XML), JavaScript Object Notation (JSON), or a A2L format) maintained on the database 855 or provided by the vehicles 815. In some embodiments, the stored dataset 1055 may differ from the training data used to initialize, train, and establish the generative model 845.

[0103] In some embodiments, the stored dataset 1055 can identify or include a set of frames 1060A-N (hereinafter generally referred to as frames 1060). The set of frames 1060 can correspond to a set of time samples for the vehicle function. Each frame 1060 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. For instance, the frame 1060 can be a n-by-n matrix, with each element corresponding to an associated variable and assigned a respective value. Across two or more frames 1060, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function. In some embodiments, the data acquirer 825 can output, create, or otherwise generate the set of frames 1060 from the raw data corresponding to the stored dataset 1055.

[0104] The vector generator 830 can produce, output, or otherwise generate at least one seed dataset 1065 using at least a portion of the one or more frames 920 of the training dataset 915. The seed dataset 1065 may include at least a portion of the time-series data associated with a vehicle function of the training dataset 915. The seed dataset 1065 can identify or include one or more frames 1060’ A-N (hereinafter generally referred to as frames 1060’). The one or more frames 1060’ can correspond to a subset of the frames 1060 of the stored dataset 1055. Each frame 1060’ of the seed dataset 1065 can include at least a portion of a corresponding frame 1060 in the stored dataset 1055. To generate the frames 1060’ for the seed dataset 1065, the vector generator 830 can identify or select a subset of frames 1060from the stored dataset 1055. For each selected frame 1060 from a stored dataset, the vector generator 830 can create or generate a corresponding frame 1060’for the seed dataset 1065. The frame 1060 can include a portion of the frame 1060 from the stored dataset 1055. For example, the frame 1060 can include one or more portions of the frame 1060, with remaining portions masked or set to null. The vector generator 830 can repeat this process over the selected frames 1060 to generate the one or more frames 1060’for the seed dataset 1065.

[0105] With the generation of the seed dataset 1065, the model applier 840 can feed or apply the seed dataset 1065 to the generative model 845. In applying, the model applier 840 can provide, apply, or feed the seed dataset 1065 to the encoder 955 of the generative model 845. Upon feeding, the model applier 840 can process the one or more frames 920 of the seed dataset 1065 in accordance with the set of weights of the encoder 955. From processing, the model applier 840 can produce or generate a set of embeddings using the seed dataset 1065. The set of embeddings can be a reduced dimension representation of the input seed dataset 1065, and can represent latent features used to generate output for the overall generative model 845. The model applier 840 can feed forward, provide, or otherwise apply the decoder 960 to the set of embeddings generated by the encoder 955. The model applier 840 can process the input set of embeddings in accordance with the set of weights of the decoder 960. From processing, the model applier 840 can generate at least one artificial dataset 1070 using the set of embeddings.

[0106] Based on applying the generative model 845, the data synthesizer 850 can generate the artificial dataset 1070 (sometimes herein referred to as synthesized datasets). In some embodiments, the data synthesizer 850 can generate multiple artificial datasets 1070 from a single input of the seed dataset 1065 to the generative model 845. The artificial dataset 1070 can be a reconstruction of the original training dataset 915 using the partial information of the seed dataset 1065. The artificial dataset 1070 can identify or include a set of frames 1060”A-N (hereinafter generally referred to frames 1060”). Similar to the frames 1060 of the training dataset 915, the set of frames 1060” can correspond to a set of time samples for the vehicle function. Each frame 1060” can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function (e.g., same as the training dataset 915), at a given time sample. Across two or more frames 1060”, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variablewithin a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function.

[0107] The data synthesizer 850 can send, transmit, or otherwise provide the artificial datasets 1070 to the control architecture 810. In some embodiments, the data synthesizer 850 can provide at least a portion of the training datasets 915 along with the artificial datasets 1070 to the control architecture 810. In some embodiments, the data synthesizer 850 can store and maintain an association between the artificial dataset 1070 and an identification of the vehicle function. The association may be stored and maintained on the database 855 using one or more data structures (e.g., linked list, array, matrix, table, binary tree, hash, or graph). The association can be also between the identification of the vehicle function and the one or more artificial datasets 1070. In some embodiments, the control architecture 810 may reside on a vehicle 815, and the data synthesizer 850 can send the artificial datasets 1070 to the vehicle 815 when communicatively coupled via the network 820.

[0108] With the receipt of the artificial datasets 1070, the control architecture 810 can create, construct, or otherwise generate the model 860. The control architecture 810 can specify, represent, or otherwise define a model-based control with the use of the model 860. The control architecture 810 can use the artificial datasets 1070 to initialize, train, and establish the model 860. For example, the control architecture 810 can initialize the set of weights of the model 860 to initial values (e.g., random values). The control architecture 810 can iterate through the artificial datasets 1070 to apply to the model 860. By applying, the control architecture 810 can generate an output from processing each input dataset of the artificial datasets 1070. Using the output, the control architecture 810 can update the set of weights of the model 860 (e.g., using supervised, unsupervised, or weakly supervised learning techniques). In some embodiments, the control architecture 810 can modify, change, or otherwise update the model 860 using the artificial dataset 1070. For instance, the model 860 may have been previously trained, and the control architecture 810 can retrain the model 860 using the artificial dataset 1070 (e.g., in the same manner as detailed herein).

[0109] The control architecture 810 can carry out, execute, or otherwise perform various operations associated with the vehicle function using the model 860. The model 860 can be used to control or administer the vehicle function associated with the control architecture 810. The control architecture 810 can be associated with the vehicle function, such as propulsion, steering, braking, suspension, transmission, passenger cabin climate control, entertainment system, telematics system, power generation, an engine system, a vehicle diagnostic system, a vehicle prognostic system, and / or an adaptive system, among others, as discussed herein. The model 860 can include, for example, an engine calibration model, a vehicle control model, a diagnostic model, or an adaptive model, among others. The engine calibration model can be used to tune the parameters of the engine control system. The vehicle control model can manage operations of various vehicle components, such as engine, transmission, brakes, steering, and suspension, among others. The diagnostic model can be used to detect or recognize a fault on the vehicle 815 based on various on-board measurements. The adaptive model can be used to adjust various operating behavior of the vehicle (e.g., associated with ADAS) in response to changing environmental conditions or other measurements.

[0110] The control architecture 810 can use the artificial datasets 1070 (along with the training datasets 915) to initialize, establish, or otherwise train the model 860. The training of the model 860 can be in accordance with the architecture of the model 860, such as clustering, regression, random forest, SVM, Bayesian model, or ANN, among others. In general, the model 860 can include a set of weights to relate inputs to outputs. For example, in a control architecture 810 for vehicle engine control, the control architecture 810 can use the artificial datasets 1070 to train the model 860 to provide accurate outputs to actuate various components of the vehicle engine using a wide array of measurements and driver input as identified in the artificial datasets 1070. In some embodiments, the control architecture 810 can use the artificial datasets 1070 to modify or update the one or more weights of the model 860. For instance, the control architecture 810 can fine tune or adjust the one or more weights of a regression model (e.g., an example of the model 860) to alter vehicle energy output.

[0111] Upon completion of training, the control architecture 810 can be incorporated or installed onto a controller (e.g., an electronic control unit (ECU)) that is associated with the vehicle function in a vehicle 815. The control architecture 810 can transmit, provide, orotherwise send model data 1025 to a component (e.g., a controller for the vehicle function) on the vehicle 815. The control architecture 810 can send the model data 1025 via one or more communication networks, such as a cloud computing network, a wireless communication network (e.g., cellular network, or a Wi-Fi), or a direct wired connection, among others. The model data 1025 can include or identify one or more weights of the model 860 on the control architecture 810. For example, the model data 1025 can include instructions to configure a model on the controller of the vehicle 815 to the weights of the trained model 860.

[0112] During the operations of the vehicle 815, the controller can feed data from driver input and sensor measurements from the components related to the vehicle function and environment to the model on the controller. The controller can process the input data according to the weights of the model to produce or generate an output for the vehicle control. For example, when the model is for engine control, the controller on the vehicle 815 can process the input data in accordance with the weights of the model and output control signals to send to control actuator components in the engine. From uses of the model and the operations of the vehicle control, the controller on the vehicle 815 can generate and store data associated with the vehicle function.

[0113] Referring now to FIG. 11 A, depicted is a block diagram of a process 1100 for re-training the generative model 845 (implemented using a generative adversarial network) using feedback data in the system 100 for generating time-series data. The process 1100 can include or correspond to operations performed by the data processing system 805 to re-train the generative model 845 using feedback data from vehicles. The process 1100 can share or include one or more operations similar to those in the process 900, with the use of feedback data (e.g., to perform federated learning).

[0114] To re-train or update the generative model 845, the data acquirer 825 can retrieve, obtain, or otherwise identify at least one feedback dataset 1115 from one or more vehicles 815. For example, the data acquirer 825 can receive the feedback dataset 1115 from an ECU (e.g., corresponding to the controller) on the vehicle 815 via one or more communication networks. The communication networks may include a cloud computing network, a wireless communication network (e.g., cellular network, or a Wi-Fi), or a direct wired connection, among others. In some embodiments, the data acquirer 825 can retrieve, identify, or otherwise receive the feedback dataset 1115 maintained on the database 855. Forinstance, the database 855 can collect the feedback dataset 1115 from each vehicle 815 upon connection with the database 855.

[0115] The feedback dataset 1115 can include time-series data associated with the vehicle function acquired by the vehicle 815 (e.g., using the sensors). The time-series data may include a number of variables (e.g., parameters or properties) at a given sampling rate over a time window. For a given vehicle function, the variables for the time-series data of the feedback dataset 1115 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815, and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. The feedback dataset 1115 can correspond to one or more files (e.g., in extensible markup language (XML), JavaScript Object Notation (JSON), or a A2L format) maintained on the database 855 or provided by the vehicles 815. In some embodiments, the feedback dataset 1115 can include or identify a set of values 1150 for the weights of the model on the controller of the vehicle 815. The model on the controller of the vehicle 815 may have also been updated using the time-series data associated with the vehicle function acquired by the vehicle 815. The set of values 1150 can correspond to the values on the weights of the model on the controller of the vehicle 815 upon updating.

[0116] In some embodiments, the feedback dataset 1115 can identify or include a set of frames 1120A-N (hereinafter generally referred to as frames 1120). The set of frames 1120 can correspond to a set of time samples for the vehicle function. Each frame 1120 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. For instance, the frame 1120 can be a n-by-n matrix, with each element corresponding to an associated variable and assigned a respective value. Across two or more frames 1120, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function. In some embodiments, the data acquirer 825 can output, create, or otherwise generate the set of frames 1120 from the raw data corresponding to the feedbackdataset 1115. In some embodiments, the feedback dataset 1115 can lack the set of frames 1120.

[0117] Using the feedback dataset 1115, the data acquirer 825 can calculate, generate, or otherwise determine at least one probability density 1125A. In some embodiments, the feedback dataset 1115 can identify or include the probability density 1125 A. In some embodiments, the data acquirer 825 can generate the probability density 1125 A as a histogram or another probability density function (PDF) of the time-series data of the feedback dataset 1115. The probability density 1125 A can define, specify, or otherwise characterize the vehicle function, derived from the time-series data from the feedback dataset 1115. The probability density 1125A can define likelihoods (or frequency or histogram) of values for variables in the time-series data of the feedback dataset 1115. The probability density 1125A can also define likelihoods of time derivatives (e.g., of first or more orders) of variables in the time-series data of the feedback dataset 1115. In some embodiments, the probability density 1125 A can define conditional likelihoods of values for one variable based on the values of one or more other variables. In some embodiments, the probability density 1125A can define joint likelihood of values for one variable in relation to one or more other variables. The probability density 1125A can have a dimension as specified for the input of the discriminator 910 of the generative model 845.

[0118] In conjunction, the vector generator 830 can produce, output, or otherwise generate at least one random dataset 1130 (also sometimes referred herein as a random vector). The random dataset 1130 can include a set of values (e.g., in the form of a vector, array, matrix, or any other data structure) to be used as a random seed to generate artificial datasets to define the vehicle function(s). The random dataset 1130 can be of a dimension as specified for the input of the generator 905 in the generative model 845. In some embodiments, the vector generator 830 can generate the random dataset 1130 using a random noise generator (e.g., Gaussian noise or uniform noise). In some embodiments, the vector generator 830 can generate the random dataset 1130 by sampling training datasets 1115 maintained on the database 855 or from the vehicles 815. The sampling may be in accordance with a random sampling algorithm, such as uniform random sampling, periodic random sampling, clustered random sampling, or stratified sampling, among others.

[0119] The model applier 840 can feed or apply the random dataset 1130 to the generator 905 of the generative model 845. Upon feeding, the model applier 840 can processthe random dataset 1130 in accordance with the set of weights of the generator 905. From processing, the model applier 840 can produce or generate at least one probability density 1125B associated with the vehicle function. The probability density 1125B can define, specify, or otherwise characterize values of variables for the vehicle function, without reliance on real sample data (e.g., the feedback dataset 1115). The probability density 1125B can be used to generate simulated, artificial datasets mimicking the real sample data for the vehicle function. In embodiments, the probability density 1125B can identify, specify, or otherwise define generation of artificial time-series data including a set of values (and a set of time derivatives) across a set of variables. The probability density 1125B can define likelihoods (or frequency or histogram) of values for variables for the vehicle function. The probability density 1125B can also define likelihoods of time derivatives (e.g., of first or more orders) of variables in the time-series data. In some embodiments, the probability density 1125B can define conditional likelihoods of values for one variable based on the values of one or more other variables. In some embodiments, the probability density 1125B can define joint likelihoods of values for one variable in relation to one or more other variables.

[0120] The model applier 840 can select or identify one of the probability density 1125 A derived from the feedback dataset 1115 or the probability density 1125B generated using the generator 905 as an input to the discriminator 910. With the identification, the model applier 840 can feed or apply the input to the discriminator 910. Upon feeding, the model applier 840 can process the input in accordance with the set of weights of the discriminator 910. From processing, the model applier 840 can produce, generate, or otherwise determine at least one classification 1135. The classification 1135 can identify or indicate whether the input is real (e.g., from real data such as the feedback dataset 1115) or fake (e.g., not from the real data). For instance, the classification 1135 can be a Boolean value of “true” when the input is determined by the discriminator 910 to be from real data. Conversely, the classification 1135 can be a Boolean value of “false” when the input is determined by the discriminator 910 to be not real.

[0121] Based on the classification 1135 and the input to the discriminator, the model trainer 835 can calculate, generate, or otherwise determine at least one discriminator loss metric 1140 for the generative model 845. The discriminator loss metric 1140 can identify or indicate whether the output classification 1135 is correct (or incorrect) based on the input tothe discriminator 910. The discriminator loss metric 1140 can be calculated in accordance with any number of loss functions, such as a Wasserstein loss, a binary cross-entropy loss, a Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), or a quadratic loss, among others. In general, when the input is real data (e.g., the probability density 1125A) and the classification 1135 indicates otherwise, the discriminator loss metric 1140 may be higher. Conversely, when the input is real data (e.g., the probability density 1125A) and the classification 1135 indicates that the input is from real data, the discriminator loss metric 1140 may be lower.

[0122] In addition, the model trainer 435 can calculate, generate, or otherwise determine at least one generative loss metric 1145 for the generator 905. The generative loss metric 1145 can be determined using the probability density 1125 A derived from real data, the probability density 1125B from the generator 905, and the classification 1135. The generative loss metric 1145 may indicate a degree of deviation between the probability density 1125B generated by the generator 905 and the probability density 1125 A derived from the feedback dataset 1115. The generative loss metric 1145 may be calculated in accordance with any number of loss functions, such as a minimax loss, Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), a quadratic loss, and a cross-entropy loss, among others. In general, the higher the deviation of the probability density 1125B is from the probability density 1125 A, the higher the generative loss metric 1145. Conversely, the lower the deviation of the probability density 1125B is from the probability density 1125A, the lower the generative loss metric 1145.

[0123] Using the discriminator loss metric 1140 or the generator loss metric 1145 (or both), the model trainer 835 can modify or update at least one of the weights in the generator 905 or the discriminator 910 of the generative model 845. In some embodiments, the model trainer 835 can update at least one of the set of weights in the discriminator 910 using the discriminator loss metric 1145. The updating of the set of weights in the discriminator 910 can be in accordance with an optimization function (or an objective function), such as a stochastic gradient descent (SGD), an adaptive moment estimation (Adam), adaptive gradient algorithm (Adagrad), among others. In some embodiments, the model trainer 835 can update at least one of the set of weights in the generator 905 using the generator loss metric 1145. The updating of the set of weights in the generator 905 can be in accordance with an optimization function, such as a stochastic gradient descent (SGD), an adaptive momentestimation (Adam), adaptive gradient algorithm (Adagrad), among others. The model trainer 835 can repeat the above process to re-train and update the generative model 845 until convergence.

[0124] In some embodiments, the model trainer 835 (or the control architecture 810) can use the set of values 1150 of the feedback dataset 1115 from the vehicle 815 to modify or update at least one of the weights in the model 860 of the control architecture 810 for the given vehicle function. The updating of the weights in the model 860 may be in accordance with federated learning. In some embodiments, the model trainer 835 can use sets of values 1150 across multiple feedback datasets 1115 from multiple vehicles 815 to initialize, train, or at least generate at least one centralized model 1155. In some embodiments, the model trainer 835 can use the set of values 1150 to update the previously established centralized model 1155. The centralized model 1155 may have the same model architecture as the model 860.

[0125] For each weight of the centralized model 1155, the model trainer 835 can calculate, generate, or otherwise determine an updated value based on the corresponding value 1150 from the feedback dataset 1115. For instance, the model trainer 835 can calculate the updated value as a function (e.g., average or weighted average) of values 1150 for the corresponding weight from multiple feedback datasets 1115. In some embodiments, the model trainer 835 may use a sample input dataset (e.g., previously generated artificial datasets 1015) and sample output (e.g., previously generated model data 1025) along with the set of values 1150 from the feedback dataset 1115 to update the weights of the centralized model 1155. For instance, the model trainer 835 may apply the input dataset to the centralized model 1155 to generate a corresponding output dataset. Based on the comparison between the output from the centralized model 1155 and the sample output, the model trainer 835 may calculate a loss metric and update the weights in accordance with the loss metric. With the determination of the updated value, the model trainer 835 can set or assign the updated value to the corresponding weight in the centralized model 1155. Upon completion of training (e.g., convergence), the model trainer 835 can provide the values of the weights of the centralized model to the model 860 of the control architecture 810. In some embodiments, the model trainer 835 may use the model 860 of the control architecture 810 as the centralized model 1155. In some embodiments, the centralized model 1155 may be separate from the model 860 of any control architecture.

[0126] With the establishment or updating of the centralized model 1155, the model trainer 835 may use the centralized model 1155 to generate new data to use to further train or update the generative model 845. The new data may be of the form of the set of frames 1120 or the probability density 1125 A. To generate, the model trainer 835 may apply the centralized model 1155 to at least a portion of data (e.g., sensor data of the set of frames 1120). In some embodiments, the model trainer 835 may generate the new data to include the set of frames 1120 based on applying the centralized model 1155. The set of frames 1120 may correspond to a set of time samples for the vehicle function. Each frame 1120 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. In some embodiments, the model trainer 835 may generate the new data to include the probability density 1125 A based on applying the centralized model 1155. The probability density 1125A can define, specify, or otherwise characterize the vehicle function, derived from the time-series data from the centralized model 1155. With the generation, the model trainer 835 may include the new data may be included as part of the training dataset 915 to update the generative model 845.

[0127] Referring now to FIG. 1 IB, depicted is a block diagram of a process 1152 for re-training the generative model 845 (implemented using an autoencoder model) using feedback data in the system 100 for generating time-series data. The process 1152 can include or correspond to operations performed by the data processing system 805 to re-train the generative model 845 using feedback data from vehicles. The process 1152 can share or include one or more operations similar to those in the process 950, with the use of feedback data (e.g., to perform federated learning).

[0128] To re-train or update the generative model 845, the data acquirer 825 can retrieve, obtain, or otherwise identify at least one feedback dataset 1115 from one or more vehicles 815. For example, the data acquirer 825 can receive the feedback dataset 1115 from an ECU (e.g., corresponding to the controller) on the vehicle 815 via one or more communication networks. The communication networks may include a cloud computing network, a wireless communication network (e.g., cellular network, or a Wi-Fi), or a direct wired connection, among others. In some embodiments, the data acquirer 825 can retrieve, identify, or otherwise receive the feedback dataset 1115 maintained on the database 855. For instance, the database 855 can collect the feedback dataset 1115 from each vehicle 815 upon connection with the database 855.

[0129] The feedback dataset 1115 can include time-series data associated with the vehicle function acquired by the vehicle 815 (e.g., using the sensors). The time-series data may include a number of variables (e.g., parameters or properties) at a given sampling rate over a time window. For a given vehicle function, the variables for the time-series data of the feedback dataset 1115 can include, for example: inputs from an operator of the vehicle 815, measurements from various sensors on the vehicle 815, and output signals from the controller in the vehicle 815 in performance of the vehicle function, among others. The feedback dataset 1115 can correspond to one or more files (e.g., in extensible markup language (XML), JavaScript Object Notation (JSON), or a A2L format) maintained on the database 855 or provided by the vehicles 815. In some embodiments, the feedback dataset 1115 can include or identify a set of values 1150 for the weights of the model on the controller of the vehicle 815. The model on the controller of the vehicle 815 may have also been updated using the time-series data associated with the vehicle function acquired by the vehicle 815. The set of values 1150 can correspond to the values on the weights of the model on the controller of the vehicle 815 upon updating.

[0130] In some embodiments, the feedback dataset 1115 can identify or include a set of frames 1120A-N (hereinafter generally referred to as frames 1120). The set of frames 1120 can correspond to a set of time samples for the vehicle function. Each frame 1120 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. For instance, the frame 1120 can be a n-by-n matrix, with each element corresponding to an associated variable and assigned a respective value. Across two or more frames 1120, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function. In some embodiments, the data acquirer 825 can output, create, or otherwise generate the set of frames 1120 from the raw data corresponding to the feedback dataset 1115. In some embodiments, the feedback dataset 1115 can lack the set of frames 1120.

[0131] Using the feedback dataset 1115, the vector generator 830 can produce, output, or otherwise generate at least one seed dataset 1165 using at least a portion of the one or more frames 1120 of the feedback dataset 1115. The seed dataset 1165 may include at least a portion of the time-series data associated with a vehicle function of the feedback dataset 1115. The seed dataset 1165 can identify or include one or more frames 1120’ A-N (hereinafter generally referred to as frames 1120’). The one or more frames 1120’ can correspond to a subset of the frames 1120 of the feedback dataset 1115. Each frame 1120’ of the seed dataset 1165 can include at least a portion of a corresponding frame 1120 in the feedback dataset 1115. To generate the frames 1120’ for the seed dataset 1165, the vector generator 830 can identify or select a subset of frames 1120 from the feedback dataset 1115. For each selected frame 1120 from the feedback dataset 1115, the vector generator 830 can create or generate a corresponding frame 1120’ for the seed dataset 1165. The frame 1120’ can include a portion of the frame 1120. For example, the frame 1120’ can include one or more portions of the frame 1120, with remaining portions masked or set to null. The vector generator 830 can repeat this process over the selected frames 1120 to generate the one or more frames 1120’ for the seed dataset 1165.

[0132] With the generation of the seed dataset 1165, the model applier 840 can feed or apply the seed dataset 1165 to the generative model 845. In applying, the model applier 840 can provide, apply, or feed the seed dataset 1165 to the encoder 955 of the generative model 845. Upon feeding, the model applier 840 can process the one or more frames 1120 of the seed dataset 1165 in accordance with the set of weights of the encoder 955. From processing, the model applier 840 can produce or generate a set of embeddings using the seed dataset 1165. The set of embeddings can be a reduced dimension representation of the input seed dataset 1165, and can represent latent features used to generate output for the overall generative model 845. The model applier 840 can feed forward, provide, or otherwise apply the decoder 960 to the set of embeddings generated by the encoder 955. The model applier 840 can process the input set of embeddings in accordance with the set of weights of the decoder 960. From processing, the model applier 840 can generate at least one output dataset 1170 using the set of embeddings.

[0133] Based on applying the generative model 845, the model applier 840 can generate the output dataset 1170. In some embodiments, the model applier 840 can generate multiple output datasets 970 from a single input of the seed dataset 1165 to the generativemodel 845. The output dataset 1170 can be a reconstruction of the original frames 1120 of the feedback dataset 1115 using the partial information of the seed dataset 1165. The output dataset 1170 can identify or include a set of frames 1120” A-N (hereinafter generally referred to frames 1120”). Similar to the frames 1120 of the feedback dataset 1115, the set of frames 1120” can correspond to a set of time samples for the vehicle function. Each frame 1120” can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function (e.g., same as the feedback dataset 1115), at a given time sample. Across two or more frames 1120”, values for the one or more variables can include any number of transients. The transient can correspond to a temporary deviation of values (e.g., a sudden spike or dip) for a variable within a short time frame. The set of time samples can be defined in accordance with a sampling rate (e.g., ranging from 1 ms to 500 ms). The set of time samples can be over a time window (e.g., ranging between 5 ms to 1 day). The variables can include, for example, inputs from the operator of the vehicle 815, types of measurements from sensors in the vehicle 815, and outputs from a controller in the vehicle 815 associated with the vehicle function.

[0134] The model trainer 835 can calculate, generate, or otherwise determine at least one reconstruction loss metric 1175. The reconstruction loss metric 1175 may identify or indicate a degree of deviation between the output dataset 1170 and the original feedback dataset 1115. In some embodiments, the model trainer 835 may compare the set of values in each frame 1120” of the output dataset 1170 with the corresponding set of values in the corresponding frame 1120 in the feedback dataset 1115. Based on the comparison, the model trainer 835 may generate the reconstruction loss metric 1175. The reconstruction loss metric 1175 may be calculated in accordance with any number of loss functions, such as a minimax loss, Huber loss, norm loss (e.g., LI or L2), mean squared error (MSE), a quadratic loss, and a cross-entropy loss, among others. In general, the higher the deviation of the output dataset 1170 from the feedback dataset 1115, the higher the reconstruction loss metric 1175. Conversely, the lower the deviation of the output dataset 1170 from the feedback dataset 1115, the lower the reconstruction loss metric 1175.

[0135] Using the reconstruction loss metric 1175, the model trainer 835 can modify or update at least one of the weights in the encoder 955 or the decoder 960 of the generative model 845. In some embodiments, the model trainer 835 can update at least one of the set of weights in the encoder 955 and the decoder 960 using the reconstruction loss metric 1175.The updating of the set of weights in the encoder 955 and the decoder 960 can be in accordance with an optimization function (or an objective function), such as a stochastic gradient descent (SGD), an adaptive moment estimation (Adam), adaptive gradient algorithm (Adagrad), among others. The model trainer 835 can repeat the above process to train the generative model 845 until convergence. By training the generative model 845, the set of weights of the encoder 955 and the decoder 960 can be encoded with a probability density of the time-series data in the frames 1120 of the feedback dataset 1115. The probability density can define likelihoods (or frequency or histogram) of values for variables in the time-series data characterizing the vehicular function.

[0136] In some embodiments, the model trainer 835 (or the control architecture 810) can use the set of values 1150 of the feedback dataset 1115 from the vehicle 815 to modify or update at least one of the weights in the model 860 of the control architecture 810 for the given vehicle function. The updating of the weights in the model 860 may be in accordance with federated learning. In some embodiments, the model trainer 835 can use sets of values 1150 across multiple feedback datasets 1115 from multiple vehicles 815 to initialize, train, or at least generate at least one centralized model 1155. In some embodiments, the model trainer 835 can use the set of values 1150 to update the previously established centralized model 1155. The centralized model 1155 may have the same model architecture as the model 860.

[0137] For each weight of the centralized model 1155, the model trainer 835 can calculate, generate, or otherwise determine an updated value based on the corresponding value 1150 from the feedback dataset 1115. For instance, the model trainer 835 can calculate the updated value as a function (e.g., average or weighted average) of values 1150 for the corresponding weight from multiple feedback datasets 1115. In some embodiments, the model trainer 835 may use a sample input dataset (e.g., previously generated artificial datasets 1015) and sample output (e.g., previously generated model data 1025) along with the set of values 1150 from the feedback dataset 1115 to update the weights of the centralized model 1155. For instance, the model trainer 835 may apply the input dataset to the centralized model 1155 to generate a corresponding output dataset. Based on the comparison between the output from the centralized model 1155 and the sample output, the model trainer 835 may calculate a loss metric and update the weights in accordance with the loss metric. With the determination of the updated value, the model trainer 835 can set or assign theupdated value to the corresponding weight in the centralized model 1155. Upon completion of training (e.g., convergence), the model trainer 835 can provide the values of the weights of the centralized model to the model 860 of the control architecture 810. In some embodiments, the model trainer 835 may use the model 860 of the control architecture 810 as the centralized model 1155. In some embodiments, the centralized model 1155 may be separate from the model 860 of any control architecture.

[0138] With the establishment or updating of the centralized model 1155, the model trainer 835 may use the centralized model 1155 to generate new data to use to further train or update the generative model 845. The new data may be of the form of the set of frames 1120 or the probability density 1125 A. To generate, the model trainer 835 may apply the centralized model 1155 to at least a portion of data (e.g., sensor data of the set of frames 1120). In some embodiments, the model trainer 835 may generate the new data to include the set of frames 1120 based on applying the centralized model 1155. The set of frames 1120 can correspond to a set of time samples for the vehicle function. Each frame 1120 can include a set of values for a corresponding set of variables (e.g., parameters or properties) of the vehicle function, at a given time sample. In some embodiments, the model trainer 835 may generate the new data to include the probability density 1125 A based on applying the centralized model 1155. The probability density 1125A can define, specify, or otherwise characterize the vehicle function, derived from the time-series data from the centralized model 1155. With the generation, the model trainer 835 may include the new data as part of the training dataset 915 to update the generative model 845.

[0139] In this manner, the data processing system 805 can use the generative model 845 to output additional artificial datasets 1015 that mimic real -world data (e.g., in the form of the training dataset 915 and feedback dataset 1115) to use to model vehicle functions. The generation of these artificial datasets 1015 can lessen reliance on additional acquisition of data from real-world measurements that may be difficult to obtain due to the use of complex - instruments from multiple components on the vehicle 815. By providing the artificial datasets 1015, the data processing system 805 can improve the usefulness (e.g., accuracy and performance) of models 860 in control architectures 810, as these models 860 can be trained on additional data that mimic real data. Furthermore, by repeating the processes 900-1200 any number of times, the generative model 845 can be trained and updated to generate more and more accurate and more-realistic data for the models 860 in the control architectures 810.The controllers on the vehicles 815 can use model data 1025 derived from the models 860 of the control architectures 810 and by extension the generative model 845 to better control and regulate vehicle functions (e.g., in terms of accuracy and efficiency).

[0140] The artificial datasets 1015 can be provided for use by the model 860 in the control architecture 810 to control and execute various functions on the vehicle 815 during its operation. For instance, when the model 860 is used for engine calibration, the generative model 845 can be used high-quality artificial datasets that mimic real-world datasets (e.g., in the form of the training dataset) obtained from measurements of vehicle functions. These artificial datasets 1015 can be used to train the engine calibration model to tunes the parameters of the engine control system on the vehicle 815 to optimize performance. The engine calibration model can be used to operate various engine control-related operations, such as fuel injection timing, air-fuel ratio, and ignition timing, among others. The optimization of such operations can lead to improved engine performance, fuel efficiency, and reduced emissions. When the model 860 of the control architecture 810 is used for vehicle control, the artificial datasets 1015 can be used to vehicle control to manage the operations of various vehicle components, such as the engine, transmission, brakes, steering, and suspension, among others. The model 860 can be trained to time the generation and sending of command signals to control these components, leading to improved vehicle performance of the vehicle 815.

[0141] Continuing on, when the model 860 of the control architecture 810 is used as a diagnostic purposes, the artificial dataset 1015 can be used to train the model 860 to detect and recognize various faults using on-board measurements from various sensors on the vehicle 815. For instance, the model data 1025 on an electronic control unit (ECU) in the vehicle 815 can detect issues with the engine, transmission, brakes, and other vehicle components from new, incoming measurements from the sensors. The ECU can provide a message to seek maintenance or repair to the operator of the vehicle 815 or a service provider associated with the vehicle 815. When the model 860 of the control architecture 810 is used as an adaptive model, the artificial dataset 1015 generated by the generative model 845 can be used to train the model on the vehicle 815 to configure and adjust the operating of the vehicle 815 in response to changes in the environmental conditions or other sensor measurements. For example, the model data 1025 from the control architecture 810 can be configure an on-board ECU on the vehicle 815 to adapt the speed, braking, and steering ofthe vehicle 815 based on road conditions, weather, or environs, among other factors. The model data 1025 can be integrated with advanced driver assistance systems (ADAS) to provide real-time adjustments and enhancements to the vehicular functions. This can enhance fuel efficiency, optimize actuation of mechanical components, reduce energy consumption, and improve allocation of computing resources on the part of the vehicle 815, thereby improving the overall functionality of the vehicle 815.

[0142] Referring now to FIG. 12A, depicted is a flow diagram of a method 1200 of training a generative model for generating time-series data, according to an example embodiment. The method 1200 can be implemented or performed using any of the components described herein, such as the data processing system 805. Under the method 1200, the data processing system 805 can identify a training dataset (1205). The data processing system 805 can apply a random dataset to a generator (e.g., the generator 905) of a generative model (e.g., the generative model 845) (1210). The data processing system 805 can apply a discriminator (e.g., the discriminator 910) to one of a probability density from the training dataset or from the generator to determine a classification indicating whether the input is real or fake (1215). The data processing system 805 can determine a loss metric (e.g., the generator loss metric 1145 or the discriminator loss metric 1140) (1220). The data processing system can update the generator or the discriminator of the generative model (1225).

[0143] Referring now to FIG. 12B, depicted is a flow diagram of a method 1250 of training an autoencoder model for generating time-series data. The method 1250 can be implemented or performed using any of the components described herein, such as the data processing system 805. Under the method 1250, the data processing system 805 can identify a training dataset (1255). The data processing system 805 can apply a generative model (e.g., the generative model 845) to at least a portion of the training dataset (1260). The data processing system 805 can generate synthetic data based on applying the generative model to the portion of the training dataset (1265). The data processing system 805 can determine a loss metric based on a comparison between the output synthetic data and the input training data (1270). The data processing system can update the encoder or the decoder of the generative model (1275).

[0144] Referring now to FIG. 13A, depicted a flow diagram of a method 1300 of applying a generative model to generate time-series data. The method 1300 can beimplemented or performed using any of the components described herein, such as the data processing system 805. Under the method 1300, the data processing system 805 can identify an input random dataset (e.g., the random dataset 1005) (1305). The data processing system 805 can apply the random dataset to a generator (e.g., the generator 905) (1310). The data processing system 805 can generate a probability density (e.g., the probability density 1010) from the application of the random dataset to the generator (1315). The data processing system 805 can generate data (e.g., the artificial dataset from the probability density (1320). The data processing system 805 can provide the data to a control (e.g., control architecture 810) for modeling the vehicle function (e.g., by generating the model 860) (1325). The data processing system 805 can retrieve data from a vehicle function for updating of the generator (1330).

[0145] Referring now to FIG. 13B, depicted is a flow diagram of a method 1350 of applying an autoencoder model to generate time-series data. The method 1350 can be implemented or performed using any of the components described herein, such as the data processing system 805. Under the method 1350, the data processing system 805 can identify an input dataset (1355). The data processing system 805 can apply at least a portion of the input dataset to a generative model (1360). The data processing system 805 can generate a synthetic dataset based on applying the generative model (1365). The data processing system 805 can provide the data to a control (e.g., control architecture 810) for modeling the vehicle function (e.g., by generating the model 860) (1370). The data processing system 805 can retrieve data from a vehicle function for updating of the generative model (1375).

[0146] For the purposes of this disclosure, the term “coupled” means the joining or linking of two members directly or indirectly to one another. Such joining may be stationary or moveable in nature. For example, a propeller shaft of an engine “coupled” to a transmission represents a moveable coupling. Such joining may be achieved with the two members or the two members and any additional intermediate members. For example, circuit A communicably “coupled” to circuit B may signify that the circuit A communicates directly with circuit B (i.e., no intermediary) or communicates indirectly with circuit B (e.g., through one or more intermediaries).

[0147] While various circuits with particular functionality are shown in the figures, it should be understood that the components may include any number of circuits for completing the functions described herein. For example, the activities and functionalities of the circuitsof the charge management system may be combined in multiple circuits or as a single circuit. Additional circuits with additional functionality may also be included.

[0148] As mentioned above and in one configuration, the “circuits” may be implemented in machine-readable medium for execution by various types of processors. An identified circuit of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified circuit need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the circuit and achieve the stated purpose for the circuit. Indeed, a circuit of computer readable program code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within circuits, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.

[0149] While the term “processor” is briefly defined above, the term “processor” and “processing circuit” are meant to be broadly interpreted. In this regard and as mentioned above, the “processor” may be implemented as one or more general-purpose processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), or other suitable electronic data processing components structured to execute instructions provided by memory. The one or more processors may take the form of a single core processor, multi-core processor (e.g., a dual core processor, triple core processor, quad core processor, etc.), microprocessor, etc. In some embodiments, the one or more processors may be external to the apparatus, for example the one or more processors may be a remote processor (e.g., a cloud based processor). Alternatively or additionally, the one or more processors may be internal and / or local to the apparatus. In this regard, a given circuit or components thereof may be disposed locally (e.g., as part of a local server, a local computing system, etc.) or remotely (e.g., as part of a remote server such as a cloud based server). To that end, a “circuit” as described herein may include components that are distributed across one or more locations.

[0150] Although the diagrams herein may show a specific order and composition of method steps, the order of these steps may differ from what is depicted. For example, two or more steps may be performed concurrently or with partial concurrence. Also, some method steps that are performed as discrete steps may be combined, steps being performed as a combined step may be separated into discrete steps, the sequence of certain processes may be reversed or otherwise varied, and the nature or number of discrete processes may be altered or varied. The order or sequence of any element or apparatus may be varied or substituted according to alternative embodiments. All such modifications are intended to be included within the scope of the present disclosure as defined in the appended claims. Such variations will depend on the machine-readable media and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure.

[0151] The foregoing description of embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from this disclosure. The embodiments were chosen and described in order to explain the principals of the disclosure and its practical application to enable one skilled in the art to utilize the various embodiments and with various modifications as are suited to the particular use contemplated. Other substitutions, modifications, changes and omissions may be made in the design, operating conditions and arrangement of the embodiments without departing from the scope of the present disclosure as expressed in the appended claims.

[0152] Accordingly, the present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

WHAT IS CLAIMED IS:

1. A method of generating time-series data to provide to models of vehicle functions, comprising: identifying, by one or more processors, a first dataset including a first plurality of values; applying, by the one or more processors, the first dataset to a generative model comprising a set of weights, wherein the generative model is trained using training data, the training data comprising a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples regarding at least one vehicle function; generating, by the one or more processors and based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function; and providing, by the one or more processors, data associated with the output to a control architecture to operate the at least one vehicle function.

2. The method of claim 1, wherein the generative model comprises a generative adversarial network including a generator and a discriminator, and is established by: identifying the training data comprising (i) the second dataset including the second plurality of values and (ii) a first probability density derived from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the generator, the second dataset to generate a second probability density associated with the at least one vehicle function; applying, as an input to the discriminator, one of the first probability density or the second probability density to determine a classification of the input; determining a loss metric based on a comparison of the input with the classification generated by the discriminator; and updating at least one of the generator or the discriminator of the generative adversarial network using the loss metric.

3. The method of claim 2, wherein identifying the first dataset further comprises generating, using a random vector generator, the first dataset to include a first plurality of random values to be used as a seed input to the generator, wherein generating the outputcomprises generating the output comprising a third probability density to define generation of a third plurality of values across a plurality of variables and a plurality of time derivatives defining the at least one vehicle function over a second plurality of time samples, wherein the method further comprises: generating, by the one or more processors and using the third probability density, the data comprising a third plurality of frames over the corresponding second plurality of time samples, each frame of the third plurality of frames including values for one or more properties of the at least one vehicle function.

4. The method of claim 1, wherein the generative model comprises an encoder and a decoder, and is established by: identifying, from the training data, at least a portion of the second dataset including the second plurality of values from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the encoder, at least the portion of the second dataset to generate a plurality of embeddings; applying, as an input to the decoder, the plurality of embeddings to generate a third dataset comprising a third plurality of values from the plurality of frames over the corresponding plurality of time samples; determining a loss metric based on a comparison of the second dataset and the third dataset; and updating at least one of the encoder or the decoder of the generative model using the loss metric.

5. The method of claim 4, wherein generating the output further comprises generating the output comprising a third dataset including a third plurality of values from a second plurality of frames over a corresponding second plurality of time samples for the at least one vehicle function.

6. The method of claim 1, wherein the control architecture for the at least one vehicle function comprises at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model.

7. The method of claim 1, further comprising: aggregating, by the one or more processors from each of a plurality of vehicle systems, a respective third dataset including a third plurality of values associated with the at least one vehicle function; updating, by the one or more processors, in accordance with a federated learning protocol, the generative model using the respective third dataset from each of the plurality of vehicle systems; generating, by the one or more processors, using the updated generative model, a second output characterizing the at least one vehicle function; and providing, by the one or more processors, to at least one of the plurality of vehicle systems, data associated with the second output to a control architecture to operate the at least one vehicle function.

8. A system for generating time-series data to provide to models of vehicle functions, comprising: one or more processors coupled with at least one memory, configured to: receive a first dataset including a first plurality of values; apply the first dataset to a generative model comprising a set of weights, wherein the generative model is trained using training data, the training data comprising a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples regarding at least one vehicle function; generate, based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function; and provide data associated with the output to a control architecture to operate the at least one vehicle function.

9. The system of claim 8, wherein the generative model comprises a generative adversarial network including a generator and a discriminator, and is established by: receiving the training data comprising (i) the second dataset including the second plurality of values and (ii) a first probability density derived from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the generator, the second dataset to generate a second probability density associated with the at least one vehicle function;applying, as an input to the discriminator, one of the first probability density or the second probability density to determine a classification of the input; determining a loss metric based on a comparison of the input with the classification generated by the discriminator; and updating at least one of the generator or the discriminator of the generative adversarial network using the loss metric.

10. The system of claim 9, wherein the one or more processors are further configured to: generate, using a random vector generator, the first dataset to include a first plurality of random values to be used as a seed input to the generator; generate the output comprising a third probability density to define generation of a third plurality of values across a plurality of variables and a plurality of time derivatives defining the at least one vehicle function over a second plurality of time samples; and generate, using the third probability density, the data comprising a third plurality of frames over the corresponding second plurality of time samples, each frame of the third plurality of frames including values for one or more properties of the at least one vehicle function.

11. The system of claim 8, wherein the generative model comprises an encoder and a decoder, and is established by: identifying, from the training data, at least a portion of the second dataset including the second plurality of values from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function; applying, to the encoder, at least the portion of the second dataset to generate a plurality of embeddings; applying, as an input to the decoder, the plurality of embeddings to generate a third dataset comprising a third plurality of values from the plurality of frames over the corresponding plurality of time samples; determining a loss metric based on a comparison of the second dataset and the third dataset; and updating at least one of the encoder or the decoder of the generative model using the loss metric.

12. The system of claim 11, wherein the one or more processors are further configured to generate the output comprising a third dataset including a third plurality of values from a second plurality of frames over a corresponding second plurality of time samples regarding the at least one vehicle function.

13. The system of claim 8, wherein the control architecture for the at least one vehicle function comprises at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model.

14. The system of claim 8, wherein the one or more processors are further configured to aggregate, from each of a plurality of vehicle systems, a respective third dataset including a third plurality of values associated with the at least one vehicle function; update in accordance with a federated learning protocol, the generative model using the respective third dataset from each of the plurality of vehicle systems; generate, using the updated generative model, a second output characterizing the at least one vehicle function; and provide, to at least one of the plurality of vehicle systems, data associated with the second output to a control architecture to operate the at least one vehicle function.

15. A method of generating time-series data to provide to models of vehicle functions, comprising: receiving, by one or more processors, a first dataset including a first plurality of values; applying, by the one or more processors, the first dataset to a generative model comprising a set of weights, wherein the generative model is trained using training data, the training data comprising a second dataset including a second plurality of values from a plurality of frames over a corresponding plurality of time samples regarding at least one vehicle function, wherein the generative model comprises an encoder and a decoder and is established by: identifying, from the training data, at least a portion of the second dataset including the second plurality of values from the plurality of frames over the corresponding plurality of time samples regarding the at least one vehicle function;applying, to the encoder, at least the portion of the second dataset to generate a plurality of embeddings; applying, as an input to the decoder, the plurality of embeddings to generate a third dataset comprising a third plurality of values from the plurality of frames over the corresponding plurality of time samples; determining a loss metric based on a comparison of the second dataset and the third dataset; and updating at least one of the encoder or the decoder of the generative model using the loss metric; and generating, by the one or more processors and based on applying the first dataset to the generative model, an output characterizing the at least one vehicle function; and providing, by the one or more processors, data associated with the output to a control architecture to operate the at least one vehicle function.

16. The method of claim 15, wherein generating the output further comprises generating the output comprising a third dataset including a third plurality of values from a second plurality of frames over a corresponding second plurality of time samples for the at least one vehicle function.

17. The method of claim 15, wherein receiving the first dataset further comprises identifying, a subset of a fourth plurality of values from a fourth dataset as the first dataset including the first plurality of values.

18. The method of claim 15, wherein generating the output further comprises generating the output comprising a fourth dataset comprising a fourth plurality of values characterizing the at least one vehicle function.

19. The method of claim 15, wherein the control architecture for the at least one vehicle function comprises at least one of: (i) an engine calibration model, (ii) a vehicle control model, (iii) a diagnostic model, or (iv) an adaptive model.

20. The method of claim 15, further comprising:aggregating, by the one or more processors from each of a plurality of vehicle systems, a respective third dataset including a third plurality of values associated with the at least one vehicle function; updating, by the one or more processors, in accordance with a federated learning protocol, the generative model using the respective third dataset from each of the plurality of vehicle systems; generating, by the one or more processors, using the updated generative model, a second output characterizing the at least one vehicle function; and providing, by the one or more processors, to at least one of the plurality of vehicle systems, data associated with the second output to a control architecture to operate the at least one vehicle function.

Citation Information

Patent Citations

  • Methods and systems for diversity-aware vehicle motion prediction via latent semantic sampling

    US20210163038A1

  • Supercapacitor system with a on board computing and charging capability

    US20230211667A1