 So, let's make GANs controllable. So what we saw before is that we can use conditional GANs to basically say, yes, I want a sudden object type or I want a sudden breed of cat. But now, when I would talk about controllable, I would like things like this. Can you rotate the cat's head to the right? Or can you make the cat bigger? Can you make the cat older? Things like that. So that's something that at least with conditional GANs is hard to achieve. In other words, we now want to have specific properties that we can specifically manipulate. What are we thinking about? Now like, if these are the original images that we have on the left-hand side, we might want to be able to change age. We make them older. Add eyeglasses to it. Swap the gender. Change the gender. Change the pose. Things like that. We want things that we can meaningfully manipulate here. So what's the comparison with conditional? In conditional, you choose the class. You need labels. You append the labels. The idea with controllable is we want a large database where we can instead choose features like age, and we will have a large unlabeled dataset. Of course, if we want to control age, we need training data that tells us about age. But that's it. And then we will append. In this case, we can append labels where here we might want to manipulate C. What would we ideally want? We would ideally want independently manipulatable access in Z, where you can say, yeah, this thing if it's one means glasses, if it's zero means no glasses. This thing if it's one means you're really old. If this is zero, you're really young. Something with skin color, hair color, and so on and so forth. For example, we can make people, everyone's hair color blue, which would be very cool. And can we just do that with conditional? But here's the problem. We can, for example, use eyeglasses. Look what happens if you use a conditional again to do that. If we add eyeglasses, the more eyeglass we add, the older the person gets. Why? Why is a correlation of age with wearing eyeglasses in this world? And like this entangling is generally a pram, and we want to be careful about that. And besides conditional guns for sudden applications a lot less efficient than the controllable ones that we'll talk about. So what are the tricks? We will modify images to produce features of images, features of interest, and we'll try and make the Z components independent. And it turns out that we can do a lot of these things with back propagation. So we have a generator and now we have a classifier for the features that we're interested in. So Z goes in, the generator draws a face. Now the classifier runs on this and says, the probability that this image is actually blonde might be 10%. And then we can use feedback from the output of the classifier to go down the gradient in Z space and basically say, how can we change this so that this image gets to be more blonde? And after doing that we might get that this person is now predicted to be blonde with high probability. And with this you can see how hair color, of course a better example would be blue hair. Now, why don't you try it? For example, a pre-trained GAN using a pre-trained classifier.