Solved – Does it make sense to preprocess (normalise or standardise) this data for GAN

I'm working on a project where I have a dataset for a dynamical system (pendulum) containing a trajectory, energy cost and corresponding control actions (See below). I'm using a generative adversarial network (GAN) in a supervised settings to train it as a regression model. The trajectories are the labels, the control actions are the targets. During test time the GAN takes the trajectory concatenated to noise (per literature on conditional GAN's) as input and outputs the required control actions. This works ok, but not as good as expected. It seems that it is not able to learn the dependency between the labels and the data as well as I had expected. My guess is that it has to do with the labels and their domain.

I was always under the assumption that it does not make sense to normalise or preprocess my data, but now I'm second guessing.

The control actions (lambda and mu) are always between -1 and 1. The cost is always between 0 and 1. The trajectory (two initial and two final states) is not constrained like that except that the initial condition lies between -pi and pi. The data is generated by feeding random control actions on random initial states into a dynamical model resulting in a final state.

I always thought that if I were to normalise/standardise my data it would break the dynamical dependencies between the variables but some people around me have suggested otherwise.

Note: t1 and cost are indeed equal and are supposed to be

Are there suggestions on how to preprocess the data below?

Quick recap: Left 4 columns are the targets, right 4 columns are the labels.
dataset example

A GAN is a type of ANN, and therefore it makes sense to normalize:

Whenever you normalize data, you can just keep the statistics used to transform it to return it to its original state. Doing this makes normalizing data scale across nearly any machine learning process.

Similar Posts:

Rate this post

Leave a Comment