Bypassing next generation malware detectors with generative adversarial networks
In 2014, Ian Goodfellow, Yoshua Bengio, and their team, proposed a framework called the generative adversarial network (GAN). Generative adversarial networks have the ability to generate images from a random noise. For example, we can train a generative network to generate images for handwritten digits from the MNIST dataset.
Generative adversarial networks are composed of two major parts: a generator and a discriminator.
The generator
The generator takes latent samples as inputs; they are randomly generated numbers, and they are trained to generate images:

For example, to generate a handwritten digit, the generator will be a fully connected network that takes latent samples and generates 784
data points, reshaping them into 28x28 pixel images (MNIST digits). It is highly recommended to use tanh
as an activation function:
generator = Sequential([ Dense(128, input_shape=(100,)), LeakyReLU(alpha=0.01), Dense(784),...