For your handwritten solutions, please scan or take a picture of them. Alternatively, you can write them in markdown if you prefer.
Only .ipynb files will be graded for your code.
Compress all the files into a single .zip file.
Do not submit a printed version of your code, as it will not be graded.
The Turing test, developed by Alan Turing in 1950, is a test of a machine's ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human. Turing proposed that a human evaluator would judge natural language conversations between a human and a machine designed to generate human-like responses. The evaluator would be aware that one of the two partners in conversation is a machine, and all participants would be separated from one another. The conversation would be limited to a text-only channel such as a computer keyboard and screen so the result would not depend on the machine's ability to render words as speech. If the evaluator cannot reliably tell the machine from the human, the machine is said to have passed the test. The test results do not depend on the machine's ability to give correct answers to questions, only how closely its answers resemble those a human would give.
(1) Explain the GAN algorithm using the figure provided below.
(2) You are also asked to write loss functions and outline optimizaton procedure as well using the figure provided below..
(3) While training a GAN to generate high-quality human face images, you notice that the generator's cost, $J^{(G)}$, is extremely low. However, the generated images lack meaningful output images. Can you explain this phenomenon in the context of the GAN's loss functions?
In the GAN example, we employed the following fully connected neural networks. However, we discovered that DCGAN is a direct extension of GAN, differing primarily in its utilization of convolutional and convolutional-transpose layers in the discriminator and generator. Now, let's construct a custom generative model for generating MNIST digit 2 using these convolutional and convolutional-transpose layers.
## your code here
#
By the CycleGAN algorithm, we can even change the style of images. In this problem, we will change the white-colored digit in a black background image to the black-colored digit in a white background image.We will use the following CycleGAN structure.