Sequence GAN

Model

Due to the mentioned shortcomings and larger training time for simple LSTM RNNs, we turn our attention towards Generative Adversarial Networks [1]. In this paper, Goodfellow et.al. show compelling results by generating synthetic images. The GAN model comprises of two primary components, a generator and a discriminator. The task of the generator is to generate data (hence, synthetic data) that is similar to original data. The discriminator tries to tell apart whether the data fed into it is original or synthetic data. Both the components try to outdo each other until they both converge, meaning that the discriminator cannot discriminate between original and synthetic data anymore.

GANs, however, face limitations when generating sequences of discrete data such as text. The reason being that the model cannot pass gradient updates from the discriminator to the generator data. To remedy this, we implemented Sequence GAN [2] which incorporates a Reinforcement Learning reward signal to assist the sequence generation. The reward is calculated considering the current generated tokens as state, and the next token to be generated, as the action. Monte-Carlo search is used to approximate the state-action value.

The generator training is performed in two steps. First, the generator is trained on real data without passing it through the discriminator for 1000 epochs. After this supervised learning, we train the generator with the policy gradient, for which the final reward signal is provided by the discriminator. For 1000 training iterations, the generator is trained once for every 5 training epochs of the discriminator We generate batches of sequence of 25 words once the model is trained.

Result

We train the Sequence GAN model on a desktop with the following configuration:

  • RAM- 8 GB
  • Processor- Intel Core i7-4770 CPU @ 3.40GHz x8
  • GPU- Intel Integrated Graphics HD 4000.
  • Training- We train the SeqGAN model for1000 epochs in approximately 48 hours.

Supervised Learning

Supervised Learning here means the samples generated by the generator, when the real data is fed as input, and the discriminator is not used in the process. This is also referred to as pre-training. Following is a result after the process completes:

Around years of object in working stages of the engineering and Software engineering Life - - System Study , control , Java , Node.JS , Bootstrap and XML. Strong architecture on knowledge knowledge with Software developer tools development with Database Good applications AngularJS , protocol application for Experience in Planning application framework and Android SDK 2.3 Experience in Planning Android development , Android , JDBC , Production Provider , , CSS tools years with ability HTML5 , design , Bootstrap , Testing Strong knowledge of the , managers , Testing , AngularJS , Angular2 , and and ability , well.

Unsupervised Learning

Unsupervised Learning here means the samples generated by the generator, when the input to generator is random noise, and the discriminator is trained during the process. This is also referred to as training. Following is a result after 1000 epochs of the process:

Expertise in using Java , Applet , Swing , Servlets , JSP , XML , Eclipse , JDBC , JDK , Java , Applet , Generator , development , Java , Applet , Swing , Servlets , JSP , XML , Eclipse , JDBC , JDK , Java , Applet and RESTful development which control , CSS padding , CSS padding , CSS padding , CSS layouts , Eclipse , JDBC , JDK , Java UI developing etc. Experience in developing Applications using Java , Applet , Swing , Servlets , JSP , XML , Eclipse , JDBC , JDK , CSS BLE , JDK , Designing , Java , Applet , Swing , Servlets , JSP , XML , Eclipse , JDBC , JDK development , design , Collections , MySQL.