Learning To Simulate
Nataniel Ruiz, Samuel Schulter, Manmohan Chandraker
Introduction
In order to train deep neural networks, significant effort has been directed towards collecting large-scale datasets for tasks such as machine translation (Luong et al., 2015), image recognition (Deng et al., 2009) or semantic segmentation (Geiger et al., 2013; Cordts et al., 2016). It is, thus, natural for recent works to explore simulation as a cheaper alternative to human annotation (Gaidon et al., 2016; Ros et al., 2016; Richter et al., 2016). Besides, simulation is sometimes the most viable way to acquire data for rare events such as traffic accidents. However, while simulation makes data collection and annotation easier, it is still an open question what distribution should be used to synthesize data. Consequently, prior approaches have used human knowledge to shape the generating distribution of the simulator (Sakaridis et al., 2018), or synthesized large-scale data with random parameters (Richter et al., 2016). In contrast, this paper proposes to automatically determine simulation parameters such that the performance of a model trained on synthesized data is maximized.
Traditional approaches seek simulation parameters that try to model a distribution that resembles real data as closely as possible, or generate enough volume to be sufficiently representative. By learning the best set of simulation parameters to train a model, we depart from the above in three crucial ways. First, the need for laborious human expertise to create a diverse training dataset is eliminated. Second, learning to simulate may allow generating a smaller training dataset that achieves similar or better performances than random or human-synthesized datasets (Richter et al., 2016), thereby saving training resources. Third, it allows questioning whether mimicking real data is indeed the best use of simulation, since a different distribution might be optimal for maximizing a test-time metric (for example, in the case of events with a heavy-tailed distribution).
More formally, a typical machine learning setup aims to learn a function that is parameterized by and maps from domain to range , given training samples . Data usually arises from a real world process (for instance, someone takes a picture with a camera) and labels are often annotated by humans (someone describing the content of that picture). The distribution is assumed unknown and only an empirical sample is available.
where is parameterized by model parameters , describes a data set generated by the simulator and denotes the implicit dependence of the model parameters on the model’s training data and consequently, for synthetic data, the simulation parameters . In contrast to Fan et al. (2018), who propose a similar setup, we focus on the actual data generation process and are not limited to selecting subsets of existing data. In our formulation, the upper-level problem (equation 1a) can be seen as a meta-learner that learns how to generate data (by adjusting ) while the lower-level problem (equation 1b) is the main task model (MTM) that learns to solve the actual task at hand. In Section 2, we describe an approximate algorithm based on policy gradients (Williams, 1992) to optimize the objective 1. For our algorithm to interact with a black-box simulator, we also present an interface between our model’s output and the simulator input.
In various experiments on both toy data and real computer vision problems, Section 4 analyzes different variants of our approach and investigates interesting questions, such as: “Can we train a model with less but targeted high-quality data?”, or “Are simulation parameters that approximate real data the optimal choice for training models?”. The experiments indicate that our approach is able to quickly identify good scene parameters that compete and in some cases even outperform the actual validation set parameters for synthetic as well as real data, on computer vision problems such as object counting or semantic segmentation.
Method
Attempting to solve it with a gradient-based approach poses multiple constraints on the lower-level problem 1b like smoothness, twice differentiability and an invertible Hessian (Bracken & McGill, 1973; Colson et al., 2007). For our case, even if we choose the model to fulfill these constraints, the objective would still be non-differentiable as we (i) sample from a distribution that is parameterized by the optimization variable and (ii) the underlying data generation process (e.g., an image rendering engine) is assumed non-differentiable for the sake of generality of our approach. In order to cope with the above defined objective, we resort to policy gradients (Williams, 1992) to optimize .
2 Learning to simulate data with policy gradients
Our goal is to generate a synthetic dataset such that the main task model (MTM) , when trained on this dataset until convergence, achieves maximum accuracy on the test set. The test set is evidently not available during train time. Thus, the task of our algorithm is to maximize MTM’s performance on the validation set by generating suitable data. Similar to reinforcement learning, we define a policy parameterized by that can sample parameters for the simulator. The simulator can be seen as a generative model which generates a set of data samples conditioned on . We provide more details on the interface between the policy and the data generating function in the following section and give a concrete example for computer vision applications in Section 4. The policy receives a reward that we define based on the accuracy of the trained MTM on the validation set. Figure 1 provides a high-level overview.
Specifically, we want to maximize the objective
with respect to . The reward is computed as the negative loss or some other accuracy metric on the validation set. Following the REINFORCE rule (Williams, 1992) we obtain gradients for updating as
An unbiased, empirical estimate of the above quantity is
where is the advantage estimate and is a baseline (Williams, 1992) that we choose to be an exponential moving average over previous rewards. In this empirical estimate, is the number of different datasets sampled in one policy optimizing batch and designates the reward obtained by the -th MTM trained until convergence.
Given the basic update rule for the policy , we can design different variants of our algorithm for learning to simulate data by introducing three control knobs. First, we define the number of training epochs of the MTM in each policy iteration as a variable. The intuition is that a reasonable reward signal may be obtained even if MTM is not trained until full convergence, thus reducing computation time significantly. Second, we define the size of the data set generated in each policy iteration. Third, we either choose to retain the MTM parameters from the previous iteration and fine-tune on the newly created data or we estimate from scratch (with a random initialization). This obviously is a trade-off because by retaining parameters the model has seen more training data in total but, at the same time, may be influenced by suboptimal data in early iterations. We explore the impact of these three knobs in our experiments and appendix. Algorithm 1 summarizes our approach.
3 Interfacing a simulator with the policy
We defined a general black-box simulator as a distribution over data samples parameterized by . In practice, a simulator is typically composed of a deterministic “rendering” process and a sampling step as , where the actual data description (e.g., what objects are rendered in an image) is sampled from a distribution parametrized by the provided simulation parameters and specific rendering settings (e.g., lighting conditions) are sampled from a distribution also parameterized by . To enable efficient sampling (via ancestral sampling) (Bishop, 2006), the data description distribution is often modeled as a Bayesian network (directed acyclic graph) where defines the parameters of the distributions in each node, but more complex models are possible too.
The interface to the simulator is thus which describes parameters of the internal probability distributions of the black-box simulator. Note that can be modeled as an unconstrained continuous vector and still describe various probability distributions. For instance, a continuous Gaussian is modeled by its mean and variance. A K-dimensional discrete distribution is modeled with K real values. We assume the black-box normalizes the values to a proper distribution via a softmax.
With this convention all input parameters to the simulator are unconstrained continuous variables. We thus model our policy as the multivariate Gaussian with as many dimensions as the sum of the dimensions of parameters and . For simplicity, we only optimize for the mean and set the variance to in all cases, although the policy gradients defined above can handle both. Note that our policy can be extended to a more complicated form, e.g., by including the variance.
Discussion and related work
The proposed approach can be seen as a meta-learner that alters the data a machine learning model is trained on to achieve high accuracy on a validation set. This concept is similar to recent papers that learn policies for neural network architectures (Zoph & Le, 2016) and optimizers (Bello et al., 2017). In contrast to these works, we are focusing on the data generation parameters and actually create new, randomly sampled data in each iteration. While (Fan et al., 2018) proposes a subset selection approach for altering the training data, we are actually creating new data. This difference is important because we are not limited to a fixed probability distribution at data acquisition time. We can thus generate or oversample unusual situations that would otherwise not be part of the training data.
Similar to the above-mentioned papers, we also choose a variant of stochastic gradients (policy gradients (Williams, 1992)) to overcome the non-differentiable sampling and rendering and estimate the parameters of the policy . While alternatives for black-box optimization exist, like evolutionary algorithms (Salimans et al., 2017) or sampling-based methods (Bishop, 2006), we favor policy gradients in this work for their sample efficiency and success in prior art.
Ganin et al. (2018) train a policy to generate a program that creates a copy of an input image. Similar to us, they use policy gradients to train the policy, although they use an adversarial loss to construct their reward. Again, Louppe & Cranmer (2017) seek to tune parameters of a simulator such that the marginal distribution of the synthetic data matches the distribution of the observed data. In contrast to both works, we learn parameters of a simulator that maximize performance of a main task model on a specific task. The learned distribution need not match the distribution of the observed data.
When relying on simulated data for training machine learning models, the issue of “domain gap” between real and synthetic data arises. Many recent works (Ganin et al., 2016; Chen et al., 2017; Tsai et al., 2018) focus on bridging this domain gap, particularly for computer vision tasks. Even if we are able to tune parameters perfectly, there exists a simulation-to-real domain gap which needs to be addressed. Thus, we believe the contributions of our work are orthogonal.
Experiments
The intent of our experimental evaluation is (i) to illustrate the concept of our approach in a controlled toy experiment (section 4.1), (ii) to analyze different properties of the proposed algorithm 1 on a high-level computer vision task (section 4.3) and (iii) to demonstrate our ideas on real data for semantic image segmentation (section 4.5).
To illustrate the concept of our proposed ideas we define a binary classification task on the 2-dimensional Euclidean space, where data distribution of the two classes is represented by Gaussian mixture models (GMM) with 3 components, respectively. We generate validation and test sets from . Another GMM distribution reflects the simulator that generates training data for the main task model (MTM) , which is a non-linear SVM with RBF-kernels in this case. To demonstrate the practical scenario where a simulator is only an approximation to the real data, we fix the number of components per GMM in to be only 2 and let the policy only adjust mean and variances of the GMMs. Again, the policy adjusts such that the accuracy (i.e., reward ) of the SVM is maximized on the validation set.
The top row of figure 2 illustrates how the policy gradually adjusts the data generating distribution such that reward is increased. The learned decision boundaries in the last iteration (right) well separate the test data. The bottom row of figure 2 shows the SVM decision boundary when trained with data sampled from (left) and with the converged parameters from the policy (middle). The third figure in the bottom row of figure 2 shows samples from . The sampled data from the simulator is clearly different than the test data, which is obvious given that the simulator’s GMM has less components per class. However, it is important to note that the decision boundaries are still learned well for the task at hand.
2 Generating data with a parameterized traffic simulator
For the following experiments we use computer vision applications and thus require a generative scene model and an image rendering engine. We focus on traffic scenes as simulators/games for this scenario are publicly available (CARLA (Dosovitskiy et al., 2017) with Unreal engine (Epic-Games, 2018) as backend). However, we need to note that substantial extensions were required to actually generate different scenes according to a scene model rather than just different viewpoints of a static map. Many alternative simulators like (Mueller et al., 2017; Richter et al., 2016; Shah et al., 2018) are similar where an agent can navigate a few pre-defined maps, but the scene itself is not parameterized and cannot be changed on the fly.
To actually synthesize novel scenes, we first need a model that allows to sample instances of scenes given parameters of the probability distributions of the scene model. Recall that is produced by our learned policy .
Our traffic scene model handles different types of intersections, various car models driving on the road, road layouts and buildings on the side. Additionally our rendering model handles weather conditions. Please see the appendix for more details. In our experiments, the model is free to adjust some of the variables, e.g., the probability of cars being on the road, weather conditions, etc. Given these two distributions, we can sample a new scene and render it as . Figure 3 shows examples of rendered scenes.
3 Learning to simulate on a high-level vision task
We first evaluate our proposed policy (dubbed “LTS” in the figures) for two different initializations, a “standard” random one and an initialization that is deliberately picked to be suboptimal (dubbed “adversarial”). We also compare with a model trained on a data set sampled with , i.e., the test set parameters. Figure 4 explains our results. We can see in figure 4 that our policy (“LTS”) quickly reaches high reward on the validation set, equal to the reward we get when training models with . Figure 4 shows that high rewards are also obtained on the unseen test set for both initializations, albeit convergence is slower for the adversarial initialization. The reward after convergence is comparable to the model trained on . Since our policy is inherently stochastic, we show in figure 4 convergence for different random initializations and observe a very stable behavior.
Accumulating data:
Next, we explore the difference between training the MTM from scratch in each policy iteration or retaining its parameters and fine-tune, see algorithm 1. We call the second option the “accumulated main task model (AMTM)” because it is not re-initialized and accumulates information over policy iterations. The intention of this experiment is to analyze the situation where the simulator is used for generating large quantities of data, like in (Richter et al., 2016). First, by comparing figures 4 and 5, we observe that the reward gets significantly higher than when training MTM from scratch in each policy iteration. Note that we still use the MTM reward as our training signal, we only observe the AMTM reward for evaluation purposes.
For the case of accumulating the MTM parameters, we further compare with two baselines. First, replicating a hand-crafted choice of simulation parameters, we assume no domain expertise and randomly sample simulator parameters (within a sensible range) in each iteration (“random policy params”). Second, we take the parameters given by our learned policy after convergence (“final policy params”). For reference, we train another AMTM with the ground truth validation set parameters (“validation params”) as our upper-bound. All baselines are accumulated main task models, but with fixed parameters for sampling data, i.e., resembling the case of generating large datasets. We can see from figure 5 that our approach gets very close to the ground truth validation set parameters and significantly outperforms the random parameter baseline. Interestingly, “LTS” even outperforms the “final policy params” baseline, which we attribute to increased variety of the data distribution. Again, “LTS” converges to a high reward even with an adversarial initialization, see figure 5
Number of epochs:
Similar to the previous experiment, we now analyze the impact of the number of epochs used to train the main task model in the inner loop of learning to simulate. Figure 5 shows the reward of the accumulated MTM for four different values of (1, 3, 7, 10). Our conclusion, for the car-counting task, is that learning to simulate is robust to lower training epochs, which means that even if the MTM has not fully converged yet the reward signal is good enough to provide guidance for our system leading to a potential wall-time speed up of the overall algorithm. All four cases converge, including the one where we train the MTM for only one epoch. Note that this is dependent on the task at hand, and a more complicated task might necessitate convergence of the main task model to provide discriminative rewards.
4 Semantic segmentation on Simulated Data
For the next set of experiments we use semantic segmentation as our test bed, which aims at predicting a semantic category for each pixel in a given RGB image (Chen et al., 2018). Our modified CARLA simulator (Dosovitskiy et al., 2017) provides ground truth semantic segmentation maps for generated traffic scenes, including categories like road, sidewalk or cars. For the sake of these experiments, we focus on the segmentation accuracy of cars, measured as intersection-over-union (IoU), and allow our policy to adjust scene and rendering parameters to maximize reward (i.e., car IoU). This includes the probability of generating different types of cars, length of road and weather type. The main task model is a CNN that takes a rendered RGB image as input and predicts a per-pixel classification output.
We first generate validation set parameters that reflect traffic scenes moderately crowded with cars, unbalanced car types, random intersections and buildings on the side. As a reference point for our proposed algorithm, we sample a few data sets with the validation set parameters , train MTMs and report the maximum reward (IoU of cars) achieved. We compare this with our learned policy and can observe in figure 6 that it actually outperforms the validation set parameters. This is an interesting observation because it shows that the validation set parameters may not always be the optimal choice for training a segmentation model.
5 Semantic segmentation on Real Data
We demonstrate the practical impact of our learning-to-simulate approach on semantic segmentation on KITTI Geiger et al. (2013) by training a main task model (MTM) with a reward signal coming from real data. Using simulated data for semantic segmentation was recently investigated from a domain adaptation perspective Tsai et al. (2018); Richter et al. (2016), where an abundant set of simulated data is leveraged to train models applicable on real data. Here, we investigate targeted generation of simulated data and its impact on real data. Since the semantic label space of KITTI and our CARLA simulator are not identical, we again focus on segmentation of cars by measuring IoU for that category. For our main task model we use a CNN that takes a rendered RGB image as input and predicts a per-pixel classification output with a ResNet-50 backbone.
As our baseline we train the main task model separately 600 times, with data generated by the simulator using different sets of random parameters for each one. We monitor the validation Car IoU metric for each of these networks and pick the one with highest validation reward. We then test it on the unseen KITTI test set and report the Car IoU in table 1. For illustration purposes we show the reward curve of our approach on the validation set as well as the maximum for random search and the maximum and mean for random parameters in Figure 6.
However, it is important to mention that parameters which are actually good for training an MTM are unknown, making our automatic approach attractive in such situations. The results on the unseen real KITTI test set in table 1 confirm the superior results of learning-to-simulate. We train using synthetic data generated by random or learned parameters for 600 epochs of each. We pick the epoch with highest validation reward and test it on the KITTI test set. For reference, we also report the maximum car IoU obtained by our network by training on 982 annotated real KITTI training images.
Additionally, we verify empirically that parameter optimization using policy gradients (learning to simulate) outperforms random search for this problem. Results are reported in table 1.
Conclusion
Learning to simulate can be seen as a meta-learning algorithm that adjusts parameters of a simulator to generate synthetic data such that a machine learning model trained on this data achieves high accuracies on validation and test sets, respectively. Given the need for large-scale data sets to feed deep learning models and the often high cost of annotation and acquisition, we believe our approach is a sensible avenue for practical applications to leverage synthetic data. Our experiments illustrate the concept and demonstrate the capability of learning to simulate on both synthetic and real data. For future work, we plan to expand the label space in our segmentation experiments, apply the algorithm to other tasks like object detection and to explore a dynamic memory of previously generated data for improving our learning to simulate procedure.
References
Appendix A Traffic scene model
Our model comprises the following elements:
Either an L, T or X intersection at the end of the road.
Cars of 5 different types which are spawned randomly on the straight road.
Houses of a unique type which are spawned randomly on the sides of the road.
All of these elements are tied to parameters: can be decomposed into parameters which regulate each of these objects. The scene is generated ”block” by ”block”. A block consists of a unitary length of road with sidewalks. Buildings can be generated on both sides of the road and cars can be generated on the road. designates the probability of car presence in any road block. Cars are sampled block by block from a Bernouilli distribution . To determine which type of car is spawned (from our selection of 5 cars) we sample from a Categorical distribution which is determined by 5 parameters where is an integer representing the identity of the car and . designates the probability of house presence in any road block. Houses are sampled block by block from a Bernouilli distribution .
Length to intersection is sampled from a Categorical distribution determined by 10 parameters with where denotes the length from the camera to the intersection in ”block” units. Weather is sampled randomly from a Categorical distribution determined by 4 parameters where is an integer representing the identity of the weather and . L, T and X intersections are sampled randomly with equal probability.
Appendix B Quantitative results on toy experiment
In table 2, we present classification accuracy for the toy problem in Section 4.1 with distributions using different number of gaussians. We can observe that by using learning to simulate we obtain better classification results than using a dataset generated using the test set parameters (mean and variance of gaussians in distribution).
Appendix C Learning of parameters in car counting
In this section we visualize learning of parameters in the car counting problem described in Section 4.3. In particular we show how the parameters of weather type and car type evolve in time in Figure 7.
Appendix D Car counting dataset size
We explore the parameter of our algorithm that controls the dataset size generated in each policy iteration. For example, when , we generate at each policy step a dataset of 100 images using the parameters from the policy which are then used to train our main task model . We evaluate policies with sizes 20, 50, 100 and 200. In figure 8 we show a comparative graph of final errors on the validation and test sets for different values of . For a fair comparison, we generate 40,000 images with our final learned set of parameters and train for 5 epochs and evaluate on the test set. We observed that for this task a dataset size of just 20 suffices for our model to converge to good scene parameters , which is highly beneficial for the wall-time convergence speed. Having less data per policy iteration means faster training of the MTM .
Appendix E Reproducibility
Since our method is stochastic in nature we verify that “learning to simulate” converges in the car counting task using different random seeds. We observer in figure 9 that the reward converges to the same value with three different random seeds. Additionally, in figure 9, we observe that the accumulated main task network test reward also converges with different random seeds.