程序代写代做 algorithm deep learning GPU html game BonusQ: Generative Adversarial Networks for Wiki Art Portrait Dataset

BonusQ: Generative Adversarial Networks for Wiki Art Portrait Dataset
About Generative Adversarial Networks
The concept “Generative Adversarial Networks (GANs)” is originally proposed by Ian Goodfellow in 2014 [1]. The Generative Adversarial Networks are a class of artificial intelligence algorithms used in unsuper- vised machine learning, implemented by a system of two neural networks contesting with each other.
The generator (G) learns to map from a latent space z to a particular data distribution p(x) of interest. The discriminator (D) is a binary classifier, which tries to discriminate the real data x from the generated data G(z). D(x) represents the probability that x came from the data. The generative network’s training objective is to increase the error rate of the discriminative network.
D and G play the following two-player minimax game with value function V (G, D): minmaxV(G,D)
GD
= min max Ex,y log 􏰀D(x)y(1 − D(x))(1−y)􏰁 GD
= min max Ex log D(x) + Ez log[1 − D(G(z))] GD
=minmaxEx log 1 +Ez log 1 . G D 1 + exp(−d(x)) 1 + exp(d(G(z))
The loss function has the same form with the loss in logistic regression.
However, training GANs has a well-known difficulty call “mode collapse”, which means the generator
only generate samples of a few modes (all generated samples become very “similar”). Also, sometimes the gradient of the discriminator becomes very unstable, which might make cause a failed training.
Since then, lots of works about GAN have appeared, and shown their ability to learn from complex distributions (mainly images), like Deep Convolutional GANs (DCGANs) [2], Wasserstein GANs (WGANs) [3], so on and so forth.
The Portrait dataset
We have specially prepared a new dataset, containing 11,170 portrait paintings at 256×256 resolution. Here are some samples:
Figure 1: Samples from the Portrait dataset 1

This dataset is available at https://drive.google.com/file/d/1ySR12BLI-FRydjytzQtcEj7TGGiaeiTB/ view?usp=sharing.
Your task
Try your best to train a GAN with the Portrait dataset. Here is an official Pytorch DCGAN tutorial for your reference: https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html. You can use any deep learning frameworks, but Tensorflow and Pytorch are strongly recommended.
Requirement
• It is more difficult to train a GAN with images of higher resolutions, since the training procedure is more unstable, and requires more computing power. You can resize the images to a lower resolution to simplify the task. You can also use Google colab free GPU servers to train your GAN.
• You need to submit a report, in which you should show your generated samples, and clearly describe how you stablize your GAN training. The code should also be included. Your should not use an existing implementation.
• Your report should be in the pdf format, which is automatically generated by Jupyter notebook. Contact TA
WANG Gefei, email: gwangas@connect.ust.hk
References
[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
[2] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.
[3] Arjovsky M, Chintala S, Bottou L. Wasserstein gan[J]. arXiv preprint arXiv:1701.07875, 2017.
2