Adversarial semi-supervised one-shot training methods, systems, and computer program products
Patent Information
- Application Number
- CN202180080920.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-08
- Filing Date
- 2021-11-24
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2041-11-24
Smart Images

Figure CN116635872B_ABST
Abstract
Description
Background Technology
[0001] This disclosure relates to adversarial learning, and more specifically, to adversarial semi-supervised first-time learning using data streams.
[0002] Adversarial learning is a machine learning training process in which two models attempt to weaken each other and thus improve the predictions produced by each model. Generative adversarial networks are a common adversarial learning method that uses two competing neural networks. Given a training set, this technique learns to generate new data with the same statistics as the training set. Training includes indirect training using a discriminator, where the neural network is trained to fool the discriminator.
[0003] One-shot learning is a form of machine learning where data is acquired, a model is trained using that data, and then the data is discarded. Data is not saved after each training cycle. Therefore, the focus is on algorithms that support knowledge transfer, which leverage prior knowledge of the learned classes and allow learning on a minimal number of training samples. One way to transfer knowledge is by reusing model parameters based on the similarity between previously learned and newly learned classes. Summary of the Invention
[0004] Embodiments of this disclosure include a computer-implemented method for adversarial semi-supervised one-time training using a data stream. The computer-implemented method includes receiving an observation-based data stream, wherein the data stream includes unlabeled data and labeled data. The computer-implemented method further includes training a predictive model using stochastic gradient descent based on a classification loss and an adversarial term on the labeled data, and training a representation model using the labeled and unlabeled data based on a reconstruction loss and an adversarial term. The adversarial term is the cross-entropy between intermediate layer output data from the model. The classification loss is the cross-entropy between the labeled data and the output from the predictive model. The computer-implemented method further includes updating a discriminator using intermediate layer output data from the predictive model and the representation model, based on a discriminative loss, and discarding the data stream.
[0005] Additional embodiments of this disclosure include a computer program product for adversarial semi-supervised one-time training using a data stream, which may include a computer-readable storage medium having program instructions embodied therein, executable by a processor to cause the processor to perform a method. The method includes receiving an observation-based data stream, wherein the data stream includes unlabeled data and labeled data. The method further includes training a predictive model using stochastic gradient descent based on a classification loss and an adversarial term using the labeled data, and training a representation model using the labeled and unlabeled data based on a reconstruction loss and an adversarial term. The adversarial term is the cross-entropy between intermediate layer output data from the model. The classification loss is the cross-entropy between the labeled data and the output from the predictive model. The method further includes updating a discriminator using intermediate layer output data from the predictive model and the representation model, based on a discriminative loss, and discarding the data stream.
[0006] Further embodiments relate to a system for adversarial semi-supervised one-time training using a data stream. The system includes a memory, a processor, and a local data memory storing computer-executable code for performing the methods described above. The system also includes a predictive model configured to predict vehicle behavior, wherein the predictive model is trained using stochastic gradient descent with labeled data from the data stream based on a classification loss and an adversarial term. The system further includes a representation model configured to predict vehicle behavior, wherein the representation model is trained using unlabeled and labeled data from the data stream based on a reconstruction loss and an adversarial term. The system further includes a discriminator configured to predict predictions made by the predictive model and the representation model, wherein the discriminator is trained using intermediate layer output data from the predictive model and the representation model and based on a discriminative loss. This invention is not intended to illustrate every aspect, implementation, and / or embodiment of every embodiment of this disclosure. Attached Figure Description
[0007] These and other features, aspects, and advantages of embodiments of the present disclosure will become better understood with reference to the following description, the appended claims, and the accompanying drawings, wherein:
[0008] Figure 1 This is a block diagram illustrating an adversarial semi-supervised primary learning system according to an embodiment of the present disclosure.
[0009] Figure 2 This is a flowchart illustrating an adversarial semi-supervised one-time learning process according to an embodiment of the present disclosure.
[0010] Figure 3 This is a high-level block diagram illustrating an example computer system that can be used to implement one or more of the methods, tools, and modules described herein, and any related functions, according to embodiments of this disclosure.
[0011] Figure 4 A cloud computing environment according to embodiments of the present disclosure is described.
[0012] Figure 5 An abstract model layer according to embodiments of the present disclosure is described.
[0013] While this disclosure can be modified in various ways and alternatives, its details have been shown by way of example in the accompanying drawings and will be described in detail. However, it should be understood that its purpose is not to limit the specific embodiments described. Rather, the invention is intended to cover all modifications, equivalents, and alternatives falling within the scope of this disclosure. In the drawings, the same reference numerals are used to denote the same parts. Detailed Implementation
[0014] This disclosure relates to adversarial learning, and more specifically, to adversarial semi-supervised one-time learning using data streams. While this disclosure is not necessarily limited to such applications, various aspects of this disclosure can be understood through the discussion of various examples using this context.
[0015] Autonomous vehicles can reduce potential accidents and improve road safety by using sensors implemented on the vehicle. Through sensor analysis, autonomous vehicles can understand the current state of other vehicles and proactively predict their future behavior. Furthermore, predictions can be made not only of other vehicles but also of pedestrians, weather conditions, and operator awareness. For example, sensor data can be used to predict accident risk and driver drowsiness.
[0016] Sensors continuously monitor various conditions and report these conditions to an autonomous vehicle that generates a data stream of information. This information can be analyzed by the vehicle or via cloud services, and the vehicle can decide whether to take action based on the sensor data. For example, an autonomous vehicle can perform actions such as applying its brakes, turning on its headlights, steer around objects, and accelerating.
[0017] Typically, a machine learning model for autonomous vehicles is trained when a sufficient number of correctly labeled training data samples are available. This type of training can be called batch learning. In batch learning, data (e.g., a data stream from sensor observations) is collected at certain intervals. For example, the interval could be per second, per minute, once a day, etc. The interval can also be based on the type of sensor and the sensor readings being observed.
[0018] There are limitations to training machine learning models for autonomous vehicles; however, batch learning requires using past data for each training iteration, which demands significant computational resources. Data streams can accumulate large amounts of data in a short period, and retaining all the data over a long period may be impractical. Furthermore, the model may not be updated as frequently as it would be if labeled data were unavailable for an extended period.
[0019] Embodiments of this disclosure overcome the aforementioned and other problems by using an adversarial semi-supervised first-time learning system. An adversarial semi-supervised first-time learning system can use a data stream to train a machine learning model, and then discard the data stream once the training cycle is complete. Furthermore, the data stream does not always need to be labeled. Since labeled data is not always available, the adversarial semi-supervised first-time learning system can train its machine learning model using only unlabeled data from a few training cycles. Useful information about the unlabeled data can be stored in the unsupervised representation model. When labeled data becomes available, a supervised prediction model can be trained. During these training cycles, an adversarial discriminator model is implemented to improve the predictions of each model.
[0020] More specifically, an adversarial semi-supervised one-time learning system can utilize data streams generated by autonomous vehicles and use this information as training data. Unlabeled data can be used to train a representation machine learning model, and labeled data, if available, can be used to train a predictive machine learning model. Both models are trained to fool a discriminator model, which is trained based on data taken from an intermediate layer between the representation and predictive models. This process constrains the predictive model to make its predictions similar to those of the representation model, and vice versa. Once the training cycle is complete, the data stream is discarded to conserve computational resources.
[0021] In some embodiments, the representation model is based on a neural network-based autoencoder. An autoencoder includes an encoding component and a decoding component. This format helps the representation model store relevant information learned from the data stream without having to retain that information in subsequent training cycles. The representation model can be trained using both unlabeled and labeled data associated with the data stream and based on a reconstruction loss and an adversarial term computed at training time.
[0022] In some embodiments, the predictive model is a neural network that uses stochastic gradient descent on labeled training data. Stochastic gradient descent follows the negative gradient of the target after seeing only one or a few training samples. Additionally, the use of stochastic gradient descent in a neural network setting is driven by the high cost of running backpropagation across the entire training set. Stochastic gradient descent can overcome this cost while also leading to rapid convergence on the data. The predictive model can also use stochastic gradient descent based on a classification loss and an adversarial term computed at training time.
[0023] In some embodiments, the discriminator is a neural network configured to discriminate between the intermediate layer outputs of the prediction model and the intermediate layer outputs of the representation model. The discrimination can also be based on a discriminative loss computed during training. For example, the intermediate layer outputs of the representation model can be outputs generated after the samples have been encoded.
[0024] Adversarial learning is a machine learning training process in which two models attempt to weaken each other and thus improve the predictions produced by each model. Generative adversarial networks are a common adversarial learning method that uses two competing neural networks. Given a training set, this technique learns to generate new data with the same statistics as the training set. Training includes indirect training using a discriminator, where the neural network is trained to fool the discriminator.
[0025] One-time learning is a form of machine learning where data is acquired, a model is trained using that data, and then the data is discarded. Data is not saved after each training cycle. Therefore, the focus is on algorithms that support knowledge transfer, which leverage prior knowledge of the learned class and allow learning on a minimal number of training samples. One way knowledge transfer is based on the similarity between previously and newly learned classes through the reuse of model parameters.
[0026] Now for reference Figure 1 This diagram illustrates a high-level block diagram of an adversarial semi-supervised one-time learning system 100 for adversarial semi-supervised one-time training using data streams, according to embodiments of the present disclosure. The adversarial semi-supervised one-time learning system 100 includes a training dataset 110, a prediction model 120, a representation model 130, and a discriminator 140. The representation model 130 includes an encoder 133 and a decoder 136.
[0027] Training dataset 110 is a component of an adversarial semi-supervised first-order learning system 100 configured to train prediction model 120 and representation model 130. Training dataset 110 includes unlabeled and labeled data generated from a data stream. The data stream can be information collected from sensors located on the vehicle. For example, sensors include, for instance, 3-axis sensors, cameras, radar, and lidar sensors that cover vehicle localization and collect sensor data during vehicle operation. The 3-axis sensors may include speed, angle, latitude, and longitude information from a driving recorder. The information collected by these sensors can be considered a data stream that can be used as training dataset 110. In some embodiments, the vehicle operator can label samples from the data stream. The vehicle can be connected to a cloud service that can prompt the operator for information about past vehicle behavior or events. For example, the operator can provide information about events such as collisions, objects, speeds, etc. The provided information can be used to label samples and include the labeled samples in training dataset 110. Otherwise, samples generated from the data stream can remain unlabeled. Thus, training dataset 110 includes both labeled and unlabeled datasets. The labeled dataset includes labeled samples provided by the operator, while the unlabeled dataset includes samples generated from the data stream.
[0028] Predictive model 120 is a component of an adversarial semi-supervised first-order learning system 100 configured to output vehicle behavior based on sensor data. Predictive model 120 is a machine learning model trained using a labeled dataset from training dataset 110. Vehicle behavior includes, for example, acceleration, deceleration, object avoidance, reversing, lane keeping, etc. Vehicle behavior can be predicted by predictive model 120 based on sensor data collected from the vehicle. For example, if sensor data detects an object in the road, predictive model 120 can predict vehicle behavior to avoid the detected object.
[0029] Predictive model 120 may employ various machine learning techniques when determining vehicle behavior based on sensor information. Machine learning techniques may include algorithms or models generated by performing supervised training on a dataset and subsequently applying the resulting algorithm or model to generate conditional probabilities of vehicle behavior. Machine learning algorithms may include, but are not limited to, decision tree learning, association rule learning, artificial neural networks, deep learning, inductive logic programming, support vector machines, clustering, Bayesian networks, reinforcement learning, representation learning, similarity / metric training, sparse dictionary learning, genetic algorithms, rule-based learning, and / or other machine learning techniques.
[0030] For example, machine learning algorithms can utilize one or more of the following example techniques: K-Nearest Neighbors (KNN), Learned Vector Quantization (LVQ), Self-Organizing Map (SOM), Logistic Regression, Ordinary Least Squares Regression (OLSR), Linear Regression, Stepwise Regression, Multivariate Adaptive Regression Splines (MARS), Ridge Regression, Least Absolute Shrinkage and Selection Operator (LASSO), Elastic Network, Least Angle Regression (LARS), Probabilistic Classifier, Naive Bayes Classifier, Binary Classifier, Linear Classifier, Hierarchical Classifier, Regular Correlation Analysis (CCA), Factor Analysis, Independent Component Analysis (ICA), Hidden Markov Model, Gaussian Bayes, Multinomial Naive Bayes, Average-Correlation Estimator (AODE), Bayesian Network (BN), Classification and Regression Tree (CART), Feedforward Neural Network, Logistic Learning Machine, Self-Organizing Map, Single-Linked Clustering, Fuzzy Clustering, Hierarchical Clustering, Boltzmann Machine, Convolutional Neural Network, Recurrent Neural Network, Hierarchical Temporal Memory (HTM), and / or other machine learning techniques.
[0031] In some embodiments, the prediction model 120 is a neural network trained based on Equation 1 as described below:
[0032]
[0033] Equation 1
[0034] in This represents prediction model 120. The labeled dataset is represented as an input vector, which is expressed as... The prediction is represented as the target label. Vehicle behavior. This indicates the discriminator 140. This represents the classification loss during training. Let N represent the adversarial term. N represents the number of samples. K represents the number of classes. Equation 1 can be used to optimize each labeled sample in the training dataset 110 using stochastic gradient descent. For each data observation in the stream, using stochastic gradient descent (SGD), if it is a labeled sample, we adjust... The parameters in the neural network are used to minimize Equation 1, where the classification loss requires... The prediction should be as close as possible to the target label. The adversarial term requires the predictive model to... The intermediate layer output should be as close as possible to the representation model. The intermediate layer output.
[0035] Once trained using labeled data, prediction model l20 generates predictions of vehicle behavior and attempts to increase the error rate of discriminator 140. This is achieved by generating vehicle behavior predictions that discriminator 140 considers to be produced by representation model 130, thereby increasing the error rate.
[0036] Representation model 130 is a component of an adversarial semi-supervised first-order learning system 100 configured to store information about past unlabeled data. In some embodiments, representation model 130 is an autoencoder neural network including encoder 133 and decoder 136. Representation model 130 can learn a mapping from high-dimensional observations (e.g., unlabeled data) to a lower-dimensional representation space, such that the original observation can be approximately reconstructed from the lower-dimensional representation. Encoder 133 of representation model 130 can learn representations of unlabeled data by training the network to ignore potential noise. Decoder 136 can generate a representation that is as close as possible to the original input based on the simplified encoding produced by encoder 133. Essentially, encoder 133 maps unlabeled data to code of representation model 130, and decoder 136 maps that code to a reconstruction of the original unlabeled data.
[0037] Model 130 can implement variations of the autoencoder to store information from past unlabeled data. These variations include, for example, regularized autoencoders and variational autoencoders. Regularized autoencoders include, for example, sparse autoencoders (SAEs), denoising autoencoders (DAEs), and contraction autoencoders (CAEs). A SAE can learn more hidden units than the input while allowing only a small number of hidden units to be active simultaneously. Specifically, a SAE includes training criteria involving sparsity penalties within code layers. Variations of the SAE include k-sparse encoders, which manually zero out all units except the strongest hidden unit activation. The strongest hidden unit activation can be identified by sorting the activities and retaining only the top k values. A DAE can take partially corrupted inputs and recover the undistorted input by denoising the input.
[0038] Variational autoencoders are generative models, such as generative adversarial networks. They are direct probabilistic graphical models whose posterior is approximated by a neural network with an autoencoder-like architecture.
[0039] In some embodiments, model 130 is trained as described in Equation 2 as defined below:
[0040]
[0041] Equation 2
[0042] in This indicates decoder 136. Encoder 133 is represented. The labeled dataset is represented as... The input vector represents the input vector using an unlabeled dataset. To predict what is represented as the target Vehicle behavior. This indicates the discriminator 140. This indicates the reconstruction loss during training, and Let N represent the adversarial term. N represents the number of samples. Equation 2 can be used to optimize each labeled and unlabeled sample in the training dataset 110 using stochastic gradient descent. For each data observation in the stream, using stochastic gradient descent (SGD), we optimize by the encoder... and decoder In the constructed autoencoder, parameters are adjusted to minimize Equation 2, where the reconstruction loss requires and , The reconstruction should be as close as possible to the input. Furthermore, the adversarial term requires the representation model to be valid. The intermediate layer output should be as close as possible to the prediction model. The intermediate layer output.
[0043] Once trained, model 130 generates predictions of vehicle behavior and attempts to increase the error rate of discriminator 140. This is achieved by generating vehicle behavior predictions that the discriminator considers to be produced by prediction model 120, thus increasing the error rate.
[0044] Discriminator 140 is a component of an adversarial semi-supervised first-order learning system configured to distinguish predictions made by prediction model 120 and representation model 130. Discriminator 140 facilitates the training of prediction model 120 and representation model 130 by aiming to distinguish vehicle behavior predictions produced by prediction model 120 or representation model 130. For example, discriminator 140 predicts which model produces the prediction. Prediction model 120 and representation model 130 compete with discriminator 140, and prediction model 120 and representation model 130 are tuned or otherwise optimized to provide vehicle behavior predictions that correspond as closely as possible to each other's vehicle predictions—thereby increasing the error rate of discriminator 140. During the training process, discriminator 140 is trained using intermediate layer outputs produced by prediction model 120 and representation model 130. For example, outputs produced by encoder 133 can be used to train discriminator 140, increasing its success rate in distinguishing vehicle behavior predictions made by other models.
[0045] In some embodiments, the discriminator 140 is trained as described in Equation 3 as defined below:
[0046]
[0047] Equation 3
[0048] in Discriminator 140 and training dataset 110 are represented as follows: The input vector represents the input vector using the training dataset. To predict the target Identification. This represents the discrimination loss during training. Equation 3 can be used to optimize each labeled and unlabeled sample in the training dataset 110 using stochastic gradient descent. Additionally, This indicates that the prediction model 120 is targeting the label. The generated intermediate layer output, and The representation model 130 is used for the label. The resulting intermediate layer output. N represents the number of samples. For each data observation in the stream, using stochastic gradient descent (SGD), we adjust the discriminant... The parameters in the equation are used to minimize Equation 3, where the discrimination loss requires... The discrimination should be as accurate as possible to predict the model. The generated intermediate layer output and encoder The intermediate layer output is then identified.
[0049] Notice, Figure 1 This description aims to depict the main representative components of an exemplary adversarial semi-supervised first-order learning system 100. However, in some embodiments, the various components may have more... Figure 1 The greater or lesser complexity represented therein can exist differently from... Figure 1 The components shown or other components may vary in number, type, and configuration.
[0050] Figure 2 This is a flowchart illustrating an adversarial semi-supervised one-time learning process 200 according to an embodiment of the present disclosure. Process 200 may be performed by hardware, firmware, software executing on a processor, edge devices (e.g., vehicles), cloud services, or a combination thereof. For example, any or all steps of process 200 may be performed by one or more processors embedded in a computing device.
[0051] Process 200 begins by receiving a data stream related to the autonomous vehicle. The data stream includes unlabeled and labeled data generated from the data stream and used as training dataset 110. This is illustrated in step 210. The data stream may be information collected from sensors located on the vehicle. For example, sensors include, for instance, 3-axis sensors, cameras, radar, and lidar sensors that collect sensor data during vehicle operation. The vehicle operator can label samples from the data stream. The vehicle may connect to a cloud service that can prompt the operator for information about past vehicle behavior or events. For example, the operator can provide information about events such as collisions, objects, speeds, etc. The provided information can be used to label samples and include the labeled samples in training dataset 110.
[0052] The prediction model 120 is trained using a labeled dataset derived from the training dataset 110 generated from the data stream. This is illustrated in step 220. The prediction model 120 can be trained using stochastic gradient descent on the labeled data. Additionally, training can be based on a classification loss and an adversarial term. In some embodiments, the classification loss and adversarial term are based on Equation 1 as defined above. The classification loss can be the cross-entropy between the labeled dataset and the predictions produced by the prediction model 120. The adversarial term can also be the cross-entropy between the intermediate layer outputs of model 130 and the predictions produced by the prediction model 120. During the training of the prediction model 120, the classification loss is minimized, and during each training epoch, the adversarial term is maximized to improve the performance of the prediction model 120.
[0053] The representation model 130 is trained using a training dataset 110 generated by the data stream. This is illustrated in step 230. In some embodiments, the training dataset 110 consists only of an unlabeled dataset. The representation model 130 may still be trained using only the unlabeled dataset. However, if a labeled dataset is available, the representation model 130 may be trained using both the unlabeled and labeled datasets from the training dataset 110. The representation model 130 is trained with the training dataset 110 using stochastic gradient descent. Additionally, training may be based on reconstruction loss and adversarial terms. In some embodiments, the reconstruction loss and adversarial terms are based on Equation 2 as defined above. The reconstruction loss may be the squared loss between the training dataset 110 and the predictions produced by the representation model 130. The adversarial term may be the cross-entropy between the intermediate layer outputs of the prediction model 120 and the predictions made by the representation model 130. During the training of the representation model 130, the reconstruction loss is minimized and the adversarial term is maximized during each training epoch to improve the performance of the representation model 130.
[0054] The discriminator 140 is updated using the intermediate layer outputs produced by the prediction model 120 and the representation model 130. This is illustrated in step 240. Similar to the representation model 130, the discriminator 140 can still be trained when only the unlabeled dataset is available. However, if a labeled dataset is available, the discriminator 140 can still be updated. The discriminator 140 is updated by applying stochastic gradient descent to the intermediate layer outputs produced by the prediction model 120 and the representation model 130. Additionally, training can be based on a discriminant loss. In some embodiments, the discriminant loss is based on Equation 3 as defined above. The discriminant loss can be the cross-entropy between the intermediate layer outputs of the prediction model 120 and the intermediate layer outputs of the representation model 130. When updating the discriminator 140, the discriminant loss is minimized during each training epoch to improve the performance of the discriminator 140.
[0055] The predictions of prediction model 120 and representation model 130 are analyzed to determine whether their vehicle behavior predictions result in a discrimination error rate threshold for discriminator 140. This is illustrated in step 250. The error rate threshold can be a predetermined threshold setting such that the models are satisfactorily trained. For example, for discriminator 140 predictions, the error rate threshold can be set to an error rate of 75%. If discriminator 140 cannot distinguish which prediction was generated by either model at a rate of 75%, the model can be considered sufficiently trained. If the model exceeds the threshold, the data stream is discarded, and training is complete. This is illustrated in step 260. However, if the threshold has not yet been reached, the training loop returns to step 210 and repeats itself until training causes the model to reach the threshold. Training can also occur while observing the data stream to achieve improved performance for prediction model 120 and representation model 130.
[0056] Now for reference Figure 3 This document illustrates a high-level block diagram of an example computer system 300 (e.g., an adversarial semi-supervised one-time learning system 100) according to embodiments of the present disclosure. This example computer system can be used to implement one or more of the methods, tools, and modules described herein, as well as any associated functionality (e.g., using one or more processor circuits or a computer processor). In some embodiments, the main components of the computer system 300 may include one or more processors 302, memory 304, terminal interface 312, I / O (input / output) device interface 314, storage interface 316, and network interface 318. All these components may be directly or indirectly communicatively coupled to enable inter-component communication via memory bus 303, I / O bus 308, and I / O bus interface 310.
[0057] Computer system 300 may include one or more general-purpose programmable central processing units (CPUs) 302-1, 302-2, 302-3, and 302-N, collectively referred to herein as processors 302. In some embodiments, computer system 300 may include a typical multiple processors of a relatively large system; however, in other embodiments, computer system 300 may alternatively be a single-CPU system. Each processor 301 may execute instructions stored in memory 304 and may include one or more levels of onboard cache.
[0058] Memory 304 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 322 or cache 324. Computer system 300 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 326 may be provided for reading from and writing to non-removable, non-volatile magnetic media such as a "hard disk drive". Although not shown, a disk drive may be provided for reading from and writing to a removable, non-volatile disk (e.g., a "floppy disk"), or an optical disk drive may be provided for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM, or other optical media. Additionally, memory 304 may include flash memory, such as a flash stick drive or a flash drive. The memory device may be connected to memory bus 303 via one or more data media interfaces. Memory 304 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments.
[0059] Although memory bus 303 is Figure 3While shown as a single bus structure providing a direct communication path between processor 302, memory 304, and I / O bus interface 310, in some embodiments, memory bus 303 may include multiple different buses or communication paths, which may be arranged in any of a variety of forms, such as point-to-point links in a hierarchical, star, or mesh configuration, multi-layer buses, parallel and redundant paths, or any other suitable type of configuration. Furthermore, although I / O bus interface 310 and I / O bus 308 are shown as a single corresponding unit, in some embodiments, computer system 300 may include multiple I / O bus interface units, multiple I / O buses, or both. Additionally, although multiple I / O interface units separating I / O bus 308 from various communication paths to various I / O devices are shown, in other embodiments, some or all I / O devices may be directly connected to one or more system I / O buses.
[0060] In some embodiments, computer system 300 may be a multi-user mainframe computer system, a single-user system, a server computer, or a similar device that has little or no direct user interface but receives requests from other computer systems (clients). Furthermore, in some embodiments, computer system 300 may be implemented as a desktop computer, portable computer, laptop or notebook computer, tablet computer, pocket computer, telephone, smartphone, network switch or router, or any other suitable type of electronic device.
[0061] Notice, Figure 3 The description aims to depict the main representative components of an exemplary computer system 300. However, in some embodiments, the individual components may have more... Figure 3 The greater or lesser complexity represented therein can exist differently from... Figure 3 The components shown, or other components, and the number, type, and configuration of these components may vary.
[0062] One or more programs / utilities 328, each having at least one set of program modules 330 (e.g., an adversarial semi-supervised one-time learning system 100), may be stored in memory 304. Programs / utilities 328 may include a system administrator (also known as a virtual machine monitor), one or more operating systems, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, may include an implementation of a networking environment. Programs 328 and / or program modules 330 typically perform the functions or methods of various embodiments.
[0063] It should be understood that although this disclosure includes a detailed description of cloud computing, the implementation of the teachings set forth herein is not limited to a cloud computing environment. Rather, embodiments of the invention can be implemented in conjunction with any other type of computing environment now known or developed hereafter.
[0064] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0065] The characteristics are as follows:
[0066] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring manual interaction with the service provider.
[0067] Wide Area Network (WAN) Access: Capabilities are available on the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and personal digital assistants).
[0068] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. Location independence has significance because consumers typically do not control or know the exact location of the resources provided, but can specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0069] Rapid Flexibility: In some cases, the ability to scale outwards and inwards quickly and flexibly can be provided. For consumers, the available capacity often appears unlimited and can be purchased in any quantity at any time.
[0070] Measurement services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the providers and consumers of the services being utilized.
[0071] The service model is as follows:
[0072] Software as a Service (SaaS): The capability offered to consumers is the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from various client devices through thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0073] Platform as a Service (PaaS): This provides consumers with the ability to deploy consumer-created or acquired applications onto cloud infrastructure using programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environments.
[0074] Infrastructure as a Service (IaaS): This provides consumers with the capability to deliver processing, storage, networking, and other basic computing resources that enable them to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0075] The deployment model is as follows:
[0076] Private cloud: Cloud infrastructure operated solely by an organization. It can be managed by the organization or a third party and can exist inside or outside a building.
[0077] Community cloud: Cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.
[0078] Public cloud: Cloud infrastructure available to the general public or large industrial groups and owned by organizations that sell cloud services.
[0079] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported together (e.g., cloud bursting for load balancing between clouds).
[0080] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure of a network of interconnected nodes.
[0081] Now for reference Figure 4The illustration depicts a cloud computing environment 400. As shown, the cloud computing environment 400 includes one or more cloud computing nodes 410 that can communicate with local computing devices used by cloud consumers, such as personal digital assistants or cellular phones 420-1, desktop computers 420-2, laptop computers 420-3, and / or automotive computer systems 420-4. The nodes 410 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment 400 to provide infrastructure, platform, and / or software as a service, without requiring cloud consumers to maintain resources on their local computing devices. It should be understood that... Figure 4 The types of computing devices 420-1 to 420-4 shown are for illustrative purposes only, and computing node 410 and cloud computing environment 400 can communicate with any type of computing device on any type of network and / or network-addressable connection (e.g., using a web browser).
[0082] Now for reference Figure 5 This demonstrates the 400 (cloud computing environment) Figure 4 The provided functional abstraction layer 500 should be understood in advance. Figure 5 The components, layers, and functions shown are for illustrative purposes only, and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0083] The hardware and software layer 510 includes hardware and software components. Examples of hardware components include a host 511; a server 512 based on a RISC (Reduced Instruction Set Computer) architecture; a server 513; a blade server 514; a storage device 515; and network and networking components 516. In some embodiments, software components include network application server software 517 and database software 518.
[0084] The virtualization layer 520 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 521; virtual storage 522; virtual network 523, including virtual private network; virtual application and operating system 524; and virtual client 525.
[0085] In one example, management layer 530 may provide the following functionalities: Resource Provisioning 531 provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and Pricing 532 provides cost tracking for utilizing resources within the cloud computing environment, as well as bills or invoices for consuming these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, and protection for data and other resources. User Portal 533 provides access to the cloud computing environment for consumers and system administrators. Service Level Management 534 provides cloud resource allocation and management to meet the required service level. Service Level Agreement (SLA) Planning and Fulfillment 535 provides pre-scheduling and procurement of cloud resources for anticipated future needs in accordance with U.S. national standards.
[0086] Workload layer 540 provides examples of functionalities that can be leveraged in a cloud computing environment. Examples of workloads and functionalities that can be provided from this layer include mapping and navigation 541; software development and lifecycle management 542 (e.g., adversarial semi-supervised one-time learning system 100); virtual classroom education delivery 543; data analytics processing 544; transaction processing 545; and precise queue analysis 546.
[0087] This invention can be a system, method, and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the invention.
[0088] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or recessed structures with instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0089] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device, or via a network, such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network, to an external computer or external storage device. The network may include copper cables, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the respective computing / processing device.
[0090] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages (including object-oriented programming languages such as Smalltalk, C++, etc.) and procedural programming languages (such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to perform aspects of this invention, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions to personalize the electronic circuits by utilizing the status information of the computer-readable program instructions.
[0091] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0092] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other devices to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored includes an article of writing comprising instructions for implementing aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.
[0093] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus or other device, perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0094] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions indicated in the blocks may occur in a different order than indicated in the figures. For example, two blocks shown consecutively may actually be implemented as a single step, executed simultaneously, substantially simultaneously, with partial or complete time overlap, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It will also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.
[0095] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the various embodiments. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the terms “comprising” and / or “including” as used in this specification designate the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. In the preceding detailed description of exemplary embodiments of various embodiments, reference has been made to the accompanying drawings (in which like reference numerals denote like elements), which form part of the invention, and in which specific exemplary embodiments in which various embodiments may be practiced are illustrated by way of illustration. These embodiments have been described in sufficient detail to enable those skilled in the art to practice them, but other embodiments may be used, and logical, mechanical, electrical, and other changes may be made without departing from the scope of the various embodiments. In the preceding description, numerous specific details have been set forth to provide a thorough understanding of the various embodiments. However, various embodiments may be practiced without these specific details. In other instances, well-known circuits, structures, and techniques have not been shown in detail so as not to obscure the embodiments.
[0096] When different reference numbers include a common number followed by different letters (e.g., 100a, 100b, 100c) or punctuation marks followed by different numbers (e.g., 100-1, 100-2 or 100.1, 100.2), the reference character can refer to a group of elements as a whole, any subset of that group, or an example sample of that group, only when there is no letter or a number following it (e.g., 100).
[0097] Furthermore, when used with a list of items, the phrase "at least one" means that different combinations of one or more of the listed items can be used, and it is possible that only one item from each item in the list is required. In other words, "at least one" refers to any combination of items, and any number of items from the list can be used, but not all items in the list are required. Items can be specific objects, things, or categories.
[0098] For example, but not limited to, "at least one of project A, project B, or project C" can include project A, project A and project B, or project B. The example could also include project A, project B, and project C, or project B and project C. Of course, any combination of these projects can exist. In some illustrative examples, "at least one" can be, for example, but not limited to, two projects A; one project B; ten projects C; four projects B and seven projects C; or two of other suitable combinations.
[0099] Different instances of the term "embodiment" used in this specification do not necessarily refer to the same embodiment, but may refer to the same embodiment. Any data and data structures shown or described herein are merely examples, and in other embodiments, different amounts of data, data types, the number and types of fields, field names, the number and types of rows, records, entries, or organization of data may be used. Furthermore, any data can be logically combined, thus eliminating the need for a separate data structure. Therefore, the foregoing detailed description should not be construed as limiting.
[0100] Various embodiments of this disclosure have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or improvements to existing technologies in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0101] Although the invention has been described with reference to specific embodiments, it is expected that changes and modifications of the invention will become apparent to those skilled in the art. Therefore, the appended claims should be construed as covering all such changes and modifications that fall within the true scope of the invention.
Claims
1. A computer-implemented method for adversarial semi-supervised one-time training using data streams, the computer-implemented method comprising: Receive observation-based data streams, wherein the data streams include unlabeled and labeled data, and the data streams include information collected from 3-axis sensors, cameras, radar, or lidar sensors located on the vehicle; A prediction model is trained using the labeled data using stochastic gradient descent based on classification loss and an adversarial term. The prediction model is configured to predict vehicle behavior, including acceleration, deceleration, object avoidance, reversing, or lane keeping. Based on the reconstruction loss and the adversarial term, a representation model is trained using the labeled data and the unlabeled data, and the representation model is configured to predict the vehicle behavior. The discriminator is updated using intermediate layer output data from the prediction model and the representation model, based on the discriminant loss. as well as Discard the data stream.
2. The computer-implemented method of claim 1, wherein the classification loss is the cross-entropy between the labeled data and the prediction output from the prediction model.
3. The computer-implemented method of claim 1, wherein the adversarial term is the cross-entropy between the intermediate layer output data of the prediction model and the representation model.
4. The computer-implemented method according to claim 1, wherein, The reconstruction loss is the squared loss between the data stream and the reconstruction output by the representation model.
5. The computer-implemented method of claim 1, wherein the discrimination loss is the cross-entropy between the intermediate layer output data of the prediction model and the representation model.
6. The computer-implemented method according to claim 1, wherein the representation model is an autoencoder based on a neural network.
7. The computer-implemented method according to claim 1, wherein, The prediction model is a neural network with an underlying encoder.
8. The computer-implemented method of claim 1, wherein the discriminator is a neural network configured to discriminate between the intermediate layer outputs of the prediction model and the intermediate layer outputs of the representation model.
9. A system for adversarial semi-supervised one-time training using data streams, the system comprising: Memory; processor; A local data storage device on which computer-executable code is stored; A predictive model configured to predict vehicle behavior, wherein the predictive model is trained using labeled data from a data stream based on classification loss and adversarial terms, the data stream including information collected from 3-axis sensors, cameras, radar, or lidar sensors located on the vehicle, the vehicle behavior including acceleration, deceleration, object avoidance, reversing, or lane keeping. A representation model is configured to predict the vehicle's behavior, wherein the representation model is trained based on a reconstruction loss and the adversarial term using unlabeled data from the data stream and the labeled data; as well as A discriminator is configured to predict predictions made by the prediction model and the representation model, wherein the discriminator is trained using intermediate layer output data from the prediction model and the representation model and based on a discriminative loss.
10. The system of claim 9, wherein, The classification loss is the cross-entropy between the labeled data and the predicted output from the prediction model.
11. The system of claim 9, wherein the adversarial term is the cross-entropy between the intermediate layer output data from the prediction model and the representation model.
12. The system according to claim 9, wherein, The reconstruction loss is the squared loss between the data stream and the reconstruction output by the representation model.
13. The system of claim 9, wherein the discrimination loss is the cross-entropy between the intermediate layer output data of the prediction model and the representation model.
14. The system of claim 9, wherein the representation model is an autoencoder based on a neural network.
15. The system according to claim 9, wherein, The prediction model is a neural network with an underlying encoder.
16. The system of claim 9, wherein the discriminator is a neural network configured to discriminate between the outputs of an intermediate layer of the prediction model and an intermediate layer of the representation model.
17. A computer program product for adversarial semi-supervised one-time training using data streams, the computer program product comprising: Program instructions, the program instructions including: Program instructions for receiving observation-based data streams, wherein the data streams include unlabeled and labeled data, and the data streams include information collected from 3-axis sensors, cameras, radar, or lidar sensors located on the vehicle; Program instructions for training a predictive model using the labeled data with stochastic gradient descent based on classification loss and adversarial terms, the predictive model being configured to predict vehicle behavior, including acceleration, deceleration, object avoidance, reversing, or lane keeping. Program instructions for training a representation model using the labeled and unlabeled data based on a reconstruction loss and the adversarial term, the representation model being configured to predict the vehicle behavior; Program instructions for updating the discriminator using intermediate layer output data from the prediction model and the representation model and based on the discriminative loss; and Program instructions for discarding the data stream.
18. The computer program product of claim 17, wherein, The classification loss is the cross-entropy between the labeled data and the predicted output from the prediction model.
19. The computer program product of claim 17, wherein the adversarial term is the cross-entropy between the intermediate layer output data of the prediction model and the representation model.
20. The computer program product of claim 17, wherein the reconstruction loss is the squared loss between the data stream and the reconstruction output by the representation model.
Citation Information
Patent Citations
Adversarial training of neural networks using information about activation path differentials
US20190220605A1