Adversarial Semi-Supervised One-Shot Learning
The adversarial semi-supervised one-shot learning system addresses the challenges of limited labeled data and resource demands in autonomous vehicles by training with data streams, optimizing models with unlabeled data and labeled data when available, enhancing prediction accuracy.
Patent Information
- Application Number
- JP2023528061
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-08
- Filing Date
- 2021-11-24
- Publication Date
- 2025-10-09
- Estimated Expiration
- 2041-11-24
AI Technical Summary
Autonomous vehicle machine learning models face challenges in training with limited labeled data availability and high computational resource demands due to batch learning, which requires large data storage and frequent updates.
Adversarial semi-supervised one-shot learning system that trains using data streams, utilizing unlabeled data for representation models and labeled data when available, with neural networks and stochastic gradient descent to optimize models without retaining data post-training.
Efficiently trains machine learning models for autonomous vehicles using data streams, conserving computational resources and improving prediction accuracy through adversarial learning techniques.
Smart Images

Figure 0007751952000012 
Figure 0007751952000013 
Figure 0007751952000014
Abstract
Description
[Technical Field]
[0001] This disclosure relates to adversarial learning, and more particularly to adversarial semi-supervised one-shot learning using data streams. [Background technology]
[0002] Adversarial learning is a machine learning training process in which two models attempt to undermine each other, thereby improving the predictions produced by each model. Generative adversarial networks are a common adversarial learning technique that uses two neural networks competing against each other. Given a training set, this technique learns to generate new data with the same statistics as the training set. Training involves indirect training through the use of a discriminator, where the neural network is trained to fool the discriminator.
[0003] One-shot learning is a form of machine learning in which data is acquired, a model is trained on that data, and then the data is discarded. The data is not stored after the training cycle. Therefore, emphasis is placed on algorithms that support knowledge transfer, leveraging prior knowledge of learned categories and allowing learning with a minimal number of training examples. One method of knowledge transfer is by reusing model parameters based on the similarity between previously learned classes and newly learned classes. Summary of the Invention
[0004] Some embodiments of the present disclosure include a computer-implemented method for adversarial semi-supervised one-shot training using a data stream. The computer-implemented method includes receiving an observation-based data stream, the data stream including unlabeled data and labeled data. The computer-implemented method further includes training a predictive model with the labeled data using stochastic gradient descent based on a classification loss and an adversarial term, and training a representation model with the labeled data and the 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 an output from the predictive model. The computer-implemented method further includes updating a classifier using intermediate layer output data from the predictive model and the representation model based on a classification loss, and discarding the data stream.
[0005] An additional embodiment of the present disclosure includes a computer program product for adversarial semi-supervised one-shot training using a data stream, which may include a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by a processor to cause the processor to perform a method. The method includes receiving a data stream based on observations, the data stream including unlabeled data and labeled data. The method further includes training a predictive model with the labeled data using stochastic gradient descent based on a classification loss and an adversarial term, and training a representation model with the labeled data and the 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 an output from the predictive model. The method further includes updating a classifier using intermediate layer output data from the predictive model and the representation model based on a classification loss, and discarding the data stream.
[0006] A further embodiment relates to a system for adversarial semi-supervised one-shot training using a data stream. The system includes a memory, a processor, and local data storage storing computer-executable code for executing the above-described method. The system further includes a prediction model configured to predict vehicle behavior, where the prediction model is trained with labeled data from the data stream using stochastic gradient descent based on a classification loss and an adversarial term. The system further includes a representation model configured to predict vehicle behavior, where the representation model is trained with unlabeled data and labeled data from the data stream based on a reconstruction loss and an adversarial term. The system further includes a classifier configured to predict predictions made by the prediction model and the representation model, where the classifier is trained using intermediate layer output data from the prediction model and the representation model based on a classification loss. This summary is not intended to describe each aspect, every implementation, or every embodiment, or combination, of the present disclosure.
[0007] These and other features, aspects, and advantages of embodiments of the present disclosure will become better understood with regard to the following description, appended claims, and accompanying drawings. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a semi-supervised adversarial one-shot learning system according to an embodiment of the present disclosure. [Figure 2] 1 is a flow diagram illustrating a process of semi-supervised adversarial one-shot learning according to an embodiment of the present disclosure. [Figure 3] FIG. 1 is a high-level block diagram illustrating an example computer system that may be used in implementing one or more of the methods, tools, and modules, and any associated functionality, described herein, in accordance with embodiments of the present disclosure. [Figure 4]FIG. 1 illustrates a cloud computing environment according to an embodiment of the present disclosure. [Figure 5] FIG. 2 illustrates an abstraction model layer according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0009] While the present disclosure is susceptible to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to be limited to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives that are within the scope of the present disclosure. In the accompanying drawings, like reference numerals are used to indicate like parts.
[0010] This disclosure relates to adversarial learning, and more particularly to semi-supervised one-shot adversarial learning using data streams. While this disclosure is not necessarily limited to such applications, various aspects of this disclosure may be appreciated through the discussion of various examples using this context.
[0011] Autonomous vehicles can reduce potential accidents and improve road safety through the use of sensors implemented in the vehicle. Through the use of sensor analytics, autonomous vehicles can understand the current state of other vehicles and proactively predict their future behavior. In addition, predictions can be made not only about other vehicles, but also about pedestrians, weather conditions, and driver awareness. For example, sensor data can be used to predict accident risk and driver drowsiness.
[0012] Sensors continuously monitor various conditions and report the conditions to the autonomous vehicle, which generates a data stream of information. This information can be analyzed by the vehicle or via a cloud service, and the vehicle can decide based on the sensor data whether action is needed. For example, the autonomous vehicle can take action such as applying the brakes, turning on the headlights, steering around objects, or accelerating.
[0013] Typically, machine learning models used by autonomous vehicles are trained when there are a sufficient number of training data samples with the correct labels available. This type of training can be called batch learning. In batch learning, data is collected at intervals (e.g., a data stream from sensor observations). For example, the interval can be every second, every minute, once a day, etc. The interval can also be based on the type of sensor and the sensor readings being observed.
[0014] There are limitations to training autonomous vehicle machine learning models. However, batch learning requires using past data for each training iteration, which requires large computational resources. Data streams may accumulate large amounts of data in a short period of time, and it may not be possible to retain all of that data for a long period of time. In addition, labeled data may not be available for a long period of time, so models may not be updated very frequently.
[0015] Embodiments of the present disclosure can overcome the above and other problems by using an adversarial semi-supervised one-shot learning system. The adversarial semi-supervised one-shot learning system can train a machine learning model using a data stream and then discard the data stream after the training cycle is complete. In addition, the data stream does not necessarily always need to be labeled. Because labeled data is sometimes not always available, the adversarial semi-supervised one-shot learning system can train a machine learning model using only unlabeled data for several training cycles. Useful information about the unlabeled data can be stored in an unsupervised representation model. When labeled data is available, a supervised predictive model can be trained. During these training cycles, an adversarial classifier model is implemented to improve the predictions of each model.
[0016] More specifically, an adversarial semi-supervised one-shot learning system can utilize data streams generated by autonomous vehicles and incorporate that information as training data. Unlabeled data can be used to train a representational machine learning model, and labeled data, if available, can be used to train a predictive machine learning model. Both models are trained to fool the discriminator model, which is trained from data incorporated from intermediate layers of the representation and predictive models. This process constrains the predictive model to make predictions similar to the representation model, and vice versa. After the training cycle is complete, the data stream is discarded to conserve computational resources.
[0017] In some embodiments, the representation model is a neural network-based autoencoder. The autoencoder includes an encoding component and a decoding component. This format helps the representation model store relevant information learned from the data stream, but does not need to retain that information in subsequent training cycles. The representation model can be trained using unlabeled and labeled data associated with the data stream and based on the reconstruction loss and adversarial terms calculated during training.
[0018] In some embodiments, the predictive model is a neural network that uses stochastic gradient descent on labeled training data. Stochastic gradient descent follows a desired negative gradient after examining only a single or a few training examples. Additionally, the use of stochastic gradient descent in a neural network setting is motivated by the high cost of performing backpropagation over the full training set. Stochastic gradient descent can overcome this cost and also results in faster convergence on the data. The predictive model can also use stochastic gradient descent based on the classification loss and adversarial terms calculated during training.
[0019] In some embodiments, the classifier is a neural network configured to distinguish between an intermediate layer output of the prediction model and an intermediate layer output of the representation model. The discrimination can also be based on a discrimination loss calculated during training. For example, the intermediate layer output of the representation model can be an output produced after encoding the sample.
[0020] Adversarial learning is a machine learning training process in which two models attempt to undermine each other, thereby improving the predictions produced by each model. Generative adversarial networks are a common adversarial learning technique that uses two neural networks competing against each other. Given a training set, this technique learns to generate new data with the same statistics as the training set. Training involves indirect training through the use of a classifier, where the neural network is trained to fool the classifier.
[0021] One-shot learning is a form of machine learning in which data is acquired, a model is trained on that data, and then the data is discarded. The data is not stored after the training cycle. Therefore, the focus is on algorithms that support knowledge transfer, leveraging prior knowledge of learned categories and allowing learning with a minimal number of training examples. One method of knowledge transfer is by reusing model parameters based on the similarity between previously learned classes and newly learned classes.
[0022] 1, a high-level block diagram of an adversarial semi-supervised one-shot learning system 100 for adversarial semi-supervised one-shot training using a data stream is shown, in accordance with an embodiment of the present disclosure. The adversarial semi-supervised one-shot learning system 100 includes a training dataset 110, a prediction model 120, a representation model 130, and a classifier 140. The representation model 130 includes an encoder 133 and a decoder 136.
[0023] The training dataset 110 is a component of the adversarial semi-supervised one-shot learning system 100 that is configured to be used to train the predictive model 120 and the representation model 130. The training dataset 110 includes unlabeled data and labeled data generated from a data stream. The data stream can be information collected from sensors located on a vehicle. For example, the sensors can include, for example, triaxial sensors, cameras, radar, and lidar sensors positioned throughout the vehicle that collect sensor data during vehicle operation. The triaxial sensors can include speed, angle, latitude, and longitude information related to a dashcam. The information collected by these sensors can be considered a data stream that can be used as the training dataset 110. In some embodiments, the vehicle driver can label samples from the data stream. The vehicle can connect to a cloud service, and the cloud service can prompt the driver to provide information about past vehicle behavior or events. For example, the driver can provide information about events such as collisions, objects, speed, etc. Using the provided information, samples can be labeled and included in the training dataset 110. Otherwise, samples generated from the data stream can remain unlabeled. Thus, the training dataset 110 includes both a labeled dataset and an unlabeled dataset. The labeled dataset includes labeled samples provided by the driver, and the unlabeled dataset includes samples generated from the data stream.
[0024] The predictive model 120 is a component of the adversarial semi-supervised one-shot learning system 100 configured to output a vehicle behavior based on sensor data. The predictive model 120 is a machine learning model trained using a labeled dataset from the training dataset 110. The vehicle behavior may include, for example, acceleration, deceleration, object avoidance, reversing, lane keeping, etc. The vehicle behavior may be predicted by the predictive model 120 based on sensor data collected by the vehicle. For example, if the sensor data detects an object in the roadway, the predictive model 120 may predict a vehicle behavior that avoids the detected object.
[0025] The predictive model 120 may use various machine learning techniques in determining vehicle behavior based on sensor information. Machine learning techniques may include algorithms or models generated by performing supervised training on a dataset and then applying the generated algorithms or models 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, or other machine learning techniques, or combinations thereof.
[0026] For example, the machine learning algorithm may utilize one or more of the following example techniques: K-Nearest Neighbors (KNN), Learning Vector Quantization (LVQ), Self-Organizing Maps (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 Net, Least Angle Regression (LARS), Probabilistic Classifier, Naive Bayes Classifier, Binary Classifier, Linear Classifier, Hierarchical Classifier, Canonical Correlation Analysis (CCA), Factor Analysis, Independent Component Analysis (ICA), Hidden Markov Model, Gaussian Naive Bayes, Multinomial Naive Bayes, Averaged One-Dependence Estimators (AODE), Bayesian Networks (BN), Classification and Regression Trees (CART), Feed-Forward Neural Networks, Logical Learning Machines, Self-Organizing Maps, Single-Linkage Clustering clustering), fuzzy clustering, hierarchical clustering, Boltzmann machines, convolutional neural networks, recurrent neural networks, hierarchical temporal memory (HTM), or other machine learning techniques, or a combination thereof.
[0027] In some embodiments, the predictive model 120 is a neural network trained based on Equation 1, described below.
number
number
number
number
[0028] After being trained using the labeled data, the predictive model 120 produces predictions of vehicle behavior and attempts to increase the error rate of the classifier 140. The error rate is increased by producing predictions of vehicle behavior that the classifier 140 believes were produced by the representation model 130.
[0029] The representation model 130 is a component of the adversarial semi-supervised one-shot learning system 100 configured to store information about past unlabeled data. In some embodiments, the representation model 130 is an autoencoder neural network including an encoder 133 and a decoder 136. The representation model 130 can learn a mapping from high-dimensional observations (e.g., unlabeled data) to a low-dimensional representation space such that the original observations can be approximately reconstructed from the low-dimensional representation. The encoder 133 of the representation model 130 can learn a representation of the unlabeled data by training the network to ignore potential noise. Meanwhile, the decoder 136 can generate a representation that is as close as possible to the original input based on the reduced encoding produced by the encoder 133. Essentially, the encoder 133 maps the unlabeled data to codes in the representation model 130, and the decoder 136 maps the codes to a reconstruction of the original unlabeled data.
[0030] The representation model 130 can implement a variant of an autoencoder to store information from past unlabeled data. Examples of such variants include regularized autoencoders and variational autoencoders. Regularized autoencoders include sparse autoencoders (SAEs), denoising autoencoders (DAEs), and shrinkage autoencoders (CAEs). SAEs can learn more hidden units than the input while only allowing a few hidden units to be activated at a time. Specifically, SAEs include training criteria with a sparsity penalty within the coding layer. Variants of SAEs include k-sparse encoders, which manually zero out all but the strongest hidden unit activations. Identifying the strongest hidden unit activations can be achieved by sorting the activations and retaining only the first k values. DAEs can take a partially corrupted input and recover an undistorted input by denoising the input.
[0031] A variational autoencoder is a generative model, similar to a generative adversarial network. A variational autoencoder is a directed probabilistic graphical model whose posterior probabilities are approximated by a neural network with an autoencoder-like architecture.
[0032] In some embodiments, the representation model 130 is trained as described in Equation 2, defined below.
number
number
number
number
[0033] Once trained, the representation model 130 produces predictions of vehicle behavior and attempts to increase the error rate of the classifier 140. The error rate is increased by producing vehicle behavior predictions that the classifier believes were produced by the predictive model 120.
[0034] The classifier 140 is a component of an adversarial semi-supervised one-shot learning system configured to distinguish between predictions made by the predictive model 120 and the representation model 130. The classifier 140 facilitates training of the predictive model 120 and the representation model 130 by aiming to distinguish between vehicle behavior predictions produced by either the predictive model 120 or the representation model 130. For example, the classifier 140 predicts which of the models produced the prediction. The predictive model 120 and the representation model 130 compete with the classifier 140, and the predictive model 120 and the representation model 130 are adjusted 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 the classifier 140. During the training process, the classifier 140 is trained using intermediate layer outputs produced by the predictive model 120 and the representation model 130. For example, the output produced by the encoder 133 is used to train the classifier 140, so that the classifier 140 can have a higher success rate in distinguishing between vehicle behavior predictions made by other models.
[0035] In some embodiments, the classifier 140 is trained as described in Equation 3, defined below:
number
number
number
[0036] It should be noted that Figure 1 is intended to illustrate major representative components of an exemplary adversarial semi-supervised one-shot learning system 100. However, in some embodiments, the individual components may be more or less complex than those depicted in Figure 1, components other than or in addition to those shown in Figure 1 may be present, and the number, type, and arrangement of such components may vary.
[0037] 2 is a flow diagram illustrating a process 200 for semi-supervised adversarial one-shot learning according to an embodiment of the present disclosure. Process 200 may be performed by hardware, firmware, software running on a processor, an edge device (e.g., a vehicle), a cloud service, 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.
[0038] Process 200 begins by receiving a data stream associated with an autonomous vehicle. The data stream includes unlabeled data and labeled data that is generated from the data stream and used as training dataset 110. This is shown in step 210. The data stream can be information collected from sensors located on the vehicle. For example, the sensors can include, for example, triaxial sensors, cameras, radar, and lidar sensors positioned throughout the vehicle that collect sensor data during vehicle operation. A vehicle driver can label samples from the data stream. The vehicle can connect to a cloud service, and the cloud service can prompt the driver to provide information about past vehicle behavior or events. For example, the driver can provide information about events such as collisions, objects, speed, etc. Using the provided information, samples can be labeled and the labeled samples can be included in training dataset 110.
[0039] The predictive model 120 is trained using a labeled dataset from the training dataset 110 produced by the data stream. This is shown in step 220. The predictive model 120 may be trained using stochastic gradient descent on the labeled data. In addition, the training may be based on a classification loss and an adversarial term. In some embodiments, the classification loss and the adversarial term are based on Equation 1, defined above. The classification loss may be the cross-entropy between the labeled dataset and the predictions produced by the predictive model 120. The adversarial term may also be the cross-entropy between the hidden layer outputs of the representation model 130 and the predictions produced by the predictive model 120. During training of the predictive model 120, the classification loss is minimized and the adversarial term is maximized during each training cycle to improve the performance of the predictive model 120.
[0040] The representation model 130 is trained using the training dataset 110 produced by the data stream. This is shown in step 230. In some embodiments, the training dataset 110 includes only 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 on both the unlabeled dataset and the labeled dataset from the training dataset 110. The representation model 130 is trained using stochastic gradient descent on the training dataset 110. Additionally, training may be based on a reconstruction loss and an adversarial term. In some embodiments, the reconstruction loss and the adversarial term are based on Equation 2 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 hidden layer outputs of the prediction model 120 and the predictions made by the representation model 130. During training of the representation model 130, the reconstruction loss is minimized and the adversarial term is maximized during each training cycle to improve the performance of the representation model 130.
[0041] The classifier 140 is updated using the hidden layer outputs produced by the prediction model 120 and the representation model 130. This is shown in step 240. Similar to the representation model 130, the classifier 140 can still be trained if only an unlabeled dataset is available. However, if a labeled dataset is available, the classifier 140 can still be updated. The classifier 140 is updated by applying stochastic gradient descent to the hidden layer outputs produced by the prediction model 120 and the representation model 130. Additionally, training can be based on a discrimination loss. In some embodiments, the discrimination loss is based on Equation 3 defined above. The discrimination loss can be the cross-entropy between the hidden layer outputs of the prediction model 120 and the representation model 130. During the update of the classifier 140, the discrimination loss is minimized during each training cycle to improve the performance of the classifier 140.
[0042] The predictions of the predictive model 120 and the representation model 130 are analyzed to determine whether their vehicle behavior predictions result in a classification error rate threshold by the classifier 140. This is shown in step 250. The error rate threshold can be a predetermined threshold set to ensure that the models are sufficiently trained. For example, the error rate threshold can be set to a 75% error rate for the classifier 140's predictions. If the classifier 140 cannot identify which model produced a prediction 75% of the time, the model can be considered sufficiently trained. If the model exceeds the threshold, the data stream is discarded and training is complete. This is shown in step 260. However, if the threshold is not reached, the training cycle returns to step 210 and repeats itself until the training results in the model reaching the threshold. Training also occurs as observations are made on the data stream to achieve improved performance of the predictive model 120 and the representation model 130.
[0043] 3, there is shown a high-level block diagram of an exemplary computer system 300 (e.g., the adversarial semi-supervised one-shot learning system 100) that can be used to implement (e.g., using one or more processor circuits of a computer or computer processor) one or more of the methods, tools, and modules and associated functionality described herein, according to embodiments of the present disclosure. In some embodiments, the major components of the computer system 300 can include one or more processors 302, memory 304, a terminal interface 312, an I / O (input / output) device interface 314, a storage interface 316, and a network interface 318, all of which can be communicatively coupled, directly or indirectly, for inter-component communication via a memory bus 303, an I / O bus 308, and an I / O bus interface 310.
[0044] 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 multiple processors typical of relatively large systems; however, in other embodiments, computer system 300 may alternatively be a single CPU system. Each processor 302 may execute instructions stored in memory 304 and may include one or more levels of on-board cache.
[0045] Memory 304 may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) 322 or cache memory 324. Computer system 300 may further 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 drive." Although not shown, a magnetic disk drive may be provided for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), or an optical disk drive may be provided for reading from and 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 memory stick drive or flash drive. Memory devices may be connected to memory bus 303 by one or more data media interfaces. The memory 304 may include at least one program product having a set (eg, at least one) of program modules configured to perform the functions of various embodiments.
[0046] Although memory bus 303 is depicted in FIG. 3 as a single bus structure providing a direct communication path between processor 302, memory 304, and I / O bus interface 310, memory bus 303, in some embodiments, can include multiple different buses or communication paths, which can be configured in any of a variety of forms, such as point-to-point links in a hierarchical, star, or web configuration, multiple hierarchical buses, parallel and redundant paths, or other suitable types of configurations. Furthermore, while I / O bus interface 310 and I / O bus 308 are depicted as single respective units, computer system 300, in some embodiments, can include multiple I / O bus interface units, multiple I / O buses, or both. Furthermore, while multiple I / O interface units are depicted separating I / O bus 308 from the various communication paths extending to the various I / O devices, in other embodiments, some or all of the I / O devices may be directly connected to one or more system I / O buses.
[0047] In some embodiments, computer system 300 may be a multi-user mainframe computer system, a single-user system, or a server computer or similar device that has little or no direct user interface but receives requests from other computer systems (clients). Further, in some embodiments, computer system 300 may be implemented as a desktop computer, a portable computer, a laptop or notebook computer, a tablet computer, a pocket computer, a telephone, a smartphone, a network switch or router, or any other suitable type of electronic device.
[0048] It should be noted that Figure 3 is intended to illustrate major representative components of an exemplary computer system 300. However, in some embodiments, individual components may have greater or less complexity than those depicted in Figure 3, components other than or in addition to those depicted in Figure 3 may be present, and the number, type, and configuration of such components may vary.
[0049] One or more programs / utilities 328, each having at least one set of program modules 330 (e.g., the adversarial semi-supervised one-shot learning system 100), can be stored in memory 304. The programs / utilities 328 can include a hypervisor (also called 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, can include an implementation of a networking environment. The programs 328 and / or program modules 330 generally perform the functions or methods of various embodiments.
[0050] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings detailed herein is not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.
[0051] 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 administrative effort or interaction with a service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0052] The features are as follows:
[0053] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capabilities such as server time and network storage automatically as needed, without the need for human interaction with the provider of the service.
[0054] Pervasive Network Access: Functionality is available across the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0055] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers typically have no control or knowledge over the exact location of the resources provided, although there is a sense of location independence in that they may be able to specify location at a higher level of abstraction (e.g., country, state, or data center).
[0056] Rapid Elasticity: Capabilities can be quickly, elastically, and in some cases automatically, provisioned to quickly scale out and released to quickly scale in. To the consumer, the capabilities available for provisioning often appear unlimited and can be purchased in any quantity at any time.
[0057] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at an abstraction level appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of utilized services.
[0058] The service model is as follows:
[0059] Software as a Service (SaaS): The functionality offered to the consumer is the use of the provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, except for the possibility of limited user-specific application configuration settings.
[0060] Platform as a Service (PaaS): The capability offered to the consumer is the deployment of consumer-created or acquired applications created using programming languages and tools supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does control the deployed applications and possibly the application hosting environment configuration.
[0061] Infrastructure as a Service (IaaS): The functionality offered to consumers is the provisioning of processing, storage, network, and other basic computing resources onto which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0062] The deployment model is as follows:
[0063] Private Cloud: The cloud infrastructure is operated solely for the organization. The cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises.
[0064] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with shared concerns (e.g., mission, security requirements, policy, and compliance considerations). The cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises.
[0065] Public Cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0066] Hybrid Cloud: A cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain unique entities but are joined by standard or proprietary technologies that allow data and application portability (e.g., cloud bursting for load balancing between clouds).
[0067] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0068] Referring now to FIG. 4, an exemplary cloud computing environment 400 is shown. As shown, the cloud computing environment 400 includes one or more cloud computing nodes 410 with which local computing devices used by cloud consumers, such as a personal digital assistant (PDA) or mobile phone 420-1, a desktop computer 420-2, a laptop computer 420-3, or an automotive computer system 420-4, or any combination thereof, can communicate. The nodes 410 can communicate with each other. The nodes 410 may be physically or virtually grouped in one or more networks, such as the private, community, public, or hybrid clouds described above, or any combination thereof (not shown). This enables 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 the types of computing devices 420-1 through 420-4 shown in FIG. 4 are intended to be exemplary only, and that computing node 410 and cloud computing environment 400 can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).
[0069] Referring now to Figure 5, a set of functional abstraction layers 500 provided by the cloud computing environment 400 (see Figure 4) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 5 are intended to be merely exemplary, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0070] Hardware and software layer 510 includes hardware and software components. Examples of hardware components include mainframe 511, RISC (reduced instruction set computer) architecture-based servers 512, servers 513, blade servers 514, storage devices 515, and networks and networking components 516. In some embodiments, software components include network application server software 517 and database software 518.
[0071] The virtualization layer 520 provides an abstraction layer that can comprise the following examples of virtual entities: virtual servers 521, virtual storage 522, virtual networks including virtual private networks 523, virtual applications and operating systems 524, and virtual clients 525.
[0072] In one example, the management layer 530 can provide the following functions: Resource provisioning 531 dynamically procures computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 532 tracks costs as resources are utilized within the cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources can include application software licenses. Security verifies the identity of cloud consumers and tasks and protects data and other resources. User portal 533 provides consumers and system administrators with access to the cloud computing environment. Service level management 534 allocates and manages cloud computing resources to ensure required service levels are met. Service level agreement (SLA) planning and fulfillment 535 proactively provisions and procures cloud computing resources in anticipation of future demands according to SLAs.
[0073] The workload tier 540 provides examples of functions that can utilize a cloud computing environment. Examples of workloads and functions that can be provided from this tier include mapping and navigation 541, software development and lifecycle management 542 (e.g., adversarial semi-supervised one-shot learning system 100), virtual classroom instruction delivery 543, data analytics processing 544, transaction processing 545, and precision cohort analysis 546.
[0074] The present invention may be a system, method, or computer program product, or a combination thereof, integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the present invention.
[0075] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, 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 diskettes, 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 compact disk read-only memory (CD-ROM), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures with instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted through wires.
[0076] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, 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 transfers the computer-readable program instructions for storage on a computer-readable storage medium within the respective computing / processing device.
[0077] Computer-readable program instructions for carrying out operations of the present invention can be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or 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 can execute 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 scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.
[0078] 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.
[0079] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, to produce a machine. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular way, such that the computer-readable storage medium on which the instructions are stored constitutes an article of manufacture containing instructions implementing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0080] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams, causing a series of operational steps to be performed on the computer, other programmable apparatus, or other device, thereby resulting in a computer-implemented process.
[0081] The flowcharts and block diagrams in the figures 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 the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be performed as a single step executed concurrently, substantially concurrently, partially, or completely in a time-overlapping manner, or may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware instructions and computer instructions.
[0082] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit 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 dictates otherwise. It will be further understood that the terms "includes" and / or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements, or components, or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof, or combinations thereof. In the preceding detailed description of exemplary embodiments of various embodiments, reference is made to the accompanying drawings, which form a part hereof (like numerals represent like elements), in which are shown by way of illustration specific exemplary embodiments in which various embodiments may be practiced. These embodiments have been described in sufficient detail to enable those skilled in the art to practice the embodiments, 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 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.
[0083] Where different reference numbers include a common number followed by a different letter (e.g., 100a, 100b, 100c), or a punctuation mark followed by a different number (e.g., 100-1, 100-2, or 100.1, 100.2), the use of the reference letter alone (e.g., 100) without a letter or subsequent number can refer to the group of elements as a whole, any subset of the group, or an illustrative sample of the group.
[0084] Furthermore, the phrase "at least one of," when used in conjunction with a list of items, means that different combinations of one or more of the listed items may be used, and that only one of each item in the list may be required. In other words, "at least one of" means that any combination of items and any number of items may be used from the list, but not all of the items in the list are required. An item can be a specific object, thing, or category.
[0085] For example, without limitation, "at least one of item A, item B, or item C" can include item A, item A and item B, or item B. This example can also include item A, item B, and item C, or item B and item C. Of course, any combination of these items can also be present. In some illustrative examples, "at least one of" can be, for example, without limitation, two items A, one item B, and ten items C, four items B and seven items C, or other suitable combinations.
[0086] Different instances of the word "embodiment" as used herein do not necessarily refer to the same embodiment, but may. Any data and data structures shown or described herein are merely examples; other embodiments may use different amounts of data, types of data, fields, numbers and types of fields, field names, numbers and types of rows, records, entries, or data organizations. Additionally, any data may be combined with logic, such that a separate data structure may not be required. Therefore, the foregoing detailed description should not be construed in a limiting sense.
[0087] The description of various embodiments of the present disclosure has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many variations and modifications will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein have been chosen to best explain the principles of the embodiments, practical applications, or technical improvements to technology found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
[0088] While the present invention has been described with respect to particular embodiments, it is anticipated that modifications and variations thereof will become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted to cover all such modifications and variations that fall within the true scope of the invention.
Claims
1. 1. A computer-implemented method for semi-supervised adversarial one-shot training using a data stream, the computer-implemented method comprising: receiving a data stream based on an observation, the data stream including unlabeled data and labeled data; training a predictive model on the labeled data using stochastic gradient descent based on a classification loss and an adversarial term; training a representation model with the labeled data and the unlabeled data based on the reconstruction loss and the adversarial terms; updating a classifier based on a classification loss using intermediate layer output data from the prediction model and the representation model; discarding said data stream; 20. A computer-implemented method comprising:
2. The computer-implemented method of claim 1 , wherein the classification loss is the cross-entropy between the labeled data and the predicted output from the predictive model.
3. The computer-implemented method of claim 1 or claim 2, wherein the adversarial term is a cross-entropy between the intermediate layer output data from the predictive model and the representation model.
4. The computer-implemented method of claim 1 , wherein the reconstruction loss is a squared loss between the data stream and a reconstruction output by the representation model.
5. The computer-implemented method of claim 1 , wherein the classification loss is a cross-entropy between outputs of classifiers that input the intermediate layer output data of the prediction model and the representation model.
6. The computer-implemented method of claim 1 , wherein the representation model is a neural network-based autoencoder.
7. The computer-implemented method of claim 1 , wherein the classifier is a neural network configured to distinguish between an intermediate layer output of the predictive model and an intermediate layer output of the representation model.
8. 1. A system for semi-supervised adversarial one-shot training using a data stream, the system comprising: Memory and a processor; a local data storage having computer executable code stored therein; a predictive model configured to predict vehicle behavior, the predictive model being trained with labeled data from a data stream using stochastic gradient descent based on a classification loss and an adversarial term; and a representation model configured to predict the vehicle behavior, the representation model being trained with unlabeled data and the labeled data from the data stream based on a reconstruction loss and the adversarial term; and a classifier configured to predict predictions made by the prediction model and the representation model, the classifier being trained using intermediate layer output data from the prediction model and the representation model based on a classification loss; and Including, the system.
9. 9. The system of claim 8, wherein the classification loss is the cross-entropy between the labeled data and the predicted output from the predictive model.
10. 10. The system of claim 8 or claim 9, wherein the adversarial term is a cross-entropy between the intermediate layer output data from the predictive model and the representation model.
11. The system of claim 8 , wherein the reconstruction loss is a squared loss between the data stream and a reconstruction output by the representation model.
12. The system of claim 8 , wherein the classification loss is a cross-entropy between outputs of classifiers that input the intermediate layer output data of the prediction model and the representation model.
13. The system of claim 8 , wherein the representation model is an autoencoder based on a neural network.
14. 14. The system of claim 8, wherein the classifier is a neural network configured to classify outputs of an intermediate layer of the predictive model and an intermediate layer of the representation model.
15. 8. A computer program for semi-supervised one-shot adversarial training using data streams, the computer program causing a computer to perform the computer-implemented method of any one of claims 1 to 7.
Citation Information
Patent Citations
Data generation device, predictor learning device, data generation method, and learning method
JP2020112967A
Method for detecting an anomalous image among a first dataset of images using an adversarial autoencoder
US20190130279A1