 So now the fact that linear networks aren't quite linear can in a really interesting way be used to allow them to solve just about any problem. So while this technique should be in the non-linear neural network section, I just thought it was so fun that I wanted to go with you through this. So there's a great blog post by OpenAI. They used evolutionary strategies because the gradients in this abstractions are all wrong. Like once we're in that middle part, the system isn't aware that it hit its abstraction that basically the representation of the numbers are not actually the same as the numbers if we do it on paper anymore. So they used evolution strategies. They used a regular linear network which on an MNIST can do all the 94% on the training set, 92% on the testing set. And they could then optimize it and get a linear network that has the mistakes here in it and they were able to get it to be 99% correct on the training set, 96.7% correct on the testing set. This is just to say that in principle, one can exploit these violations of the underlying assumptions to do interesting computation with it. Now, we will not be doing MNIST, but let's see if we can solve the XOR prime with it. No, XOR prime, what is that? It has two inputs. If they're both on or both off, the output will be one, no, the output will be zero. If one is on, the other one is off, or the other way around, it should say true, it should be on. So let's see if we can use a linear network to solve the XOR prime, which in theory, if the abstraction was right, it should be impossible. Of course, we did some weird weight initialization as you might imagine.