 Good afternoon, everybody. Bonjour tout le monde. Have any of you ever wondered what it's like to work in a field of science, math, engineering, or technology? Est-ce que vous avez déjà demandé ce que c'est de travailler dans une domaine de science, mathématique, dégénierie ou technologie? So welcome to Curiosity on Stage. Today we're going to have an interactive presentation where you're going to learn all about what it's like to work in these fields and why these jobs are important. Bienvenue à Curiosity en scène. Aujourd'hui vous allez voir une présentation interactive et vous allez apprendre ce que c'est de travailler dans ces domaines et pourquoi c'est important. So today we have our guest, Pablo Castro. He's going to talk to you about artificial intelligence, and he is an engineer for Google Brain. Locknut Aventé, Pablo Castro va vous parler au sujet d'intelligence artificielle. Il est un ingénieur logiciel pour Google Brain. Thank you. Bonjour tout le monde. Hi everyone. As it was mentioned, my name is Pablo, I work for Google Brain in Montreal. Bonjour tout le monde, mon nom est Pablo, je travaille pour Google Brain à Montréal. Je vais parler un peu de l'intelligence artificielle aujourd'hui. I'm going to talk to you a little bit about artificial intelligence today, which is what I work in. So the first thing we should ask ourselves is what is intelligence? There are a lot of different definitions you can find online, but one that I like quite a lot is this one at the bottom, which is the ability to acquire and apply knowledge and skills. Donc d'abord il faut se demander c'est quoi l'intelligence? Il y a plusieurs définitions qu'on peut trouver sur l'Internet, mais un que j'aime beaucoup c'est la définition en bas ici qui dit c'est la capacité d'acquérir et appliquer la connaissance et les aptitudes. Donc on va continuer avec cette définition. Avec cette définition, nous pouvons parler de la généralisation. Donc nous apprends à faire des aptitudes comme de manger avec des couillères, les céréales que nous sommes bébés, et après que nous sommes plus vieux, nous pouvons manger la viande avec une fourchette, mais on n'a pas besoin de réapprendre comment on doit manger. Et la connaissance qu'on apprend, quand nous sommes bébés, nous les pouvons appliquer comme adultes aussi. So as babies we learn how to eat cereal with spoons, and when we're adults and we're eating steaks with forks, we don't have to relearn how to eat, we can just reapply what we learned as babies. And this is what we're able to do really well as humans, just generalize very well from one situation to unseen ones. And so where is all this intelligence coming from? It comes from our brain. Where does our intelligence come from from our brain, from our brain in the head? The brain is composed of 100 billion neurons. The neurons are very small things that are generated and transmit electrical signals to the neighbors, the neighbors. So each neuron is connected with other neurons, the neighbors. And transmit the electrical signal, the neighbors decide or not to continue the electrical transmission. And from that, all the neurons in the brain are able to communicate. So it forms a very complicated and very big neural network and all of that is in our brain. And that's what we can have with our intelligence. So the brain is composed of 100 billion neurons. These neurons are these tiny things that are emitting electrical signals and they're connected to other neurons, which are their neighbors. And so when a neuron sends an electrical signal to its neighbors, the neighbor can decide to continue that electrical signal or not. And you continue on this way. And this is how all the neurons in the brain are able to communicate with each other. And this is what gives us our intelligence. So it's a pretty simple idea, but the brain is also very complex. And so this is what serves as inspiration for deep neural networks, which is what the main component of artificial intelligence, algorithms, and methods that we use today. So the brain is very simple, but at the same time, it's very complicated. It's the inspiration behind the network of deep neurons that we use in our algorithm of artificial intelligence and the method of artificial intelligence that we use today. So how can we transfer a brain, the idea of a brain, into a computer? How can we transfer this idea of a brain and put it into a computer? So we do this through programming. That's what I do as a software developer. So what is programming? Some of you may know, some of you may not know. It's a lot like Lego building. So you know how to build Legos. You take these simple blocks, they come in a box. They're separated. They're different colors. And then we can start putting things together. What is programming? Programming is a lot like building with Lego that everyone knows. Lego is a small block of colors. When you buy a Lego box, all the blocks are separated. And you can start combining them to build things more complicated like an app. We can combine them to build things like train tracks or a train station. We can take all of these more complex things and then combine those as well to build even more complex scenarios. We can combine the little Lego to create more complicated things than before. And we can continue to combine, combine and finally build a very complicated thing like a whole city. So we started with the Lego very simple. And with the combination and the construction of more and more complicated things, we can finish with a very complicated city. So we can start with very, very simple blocks and combine them to form more complex structures and combine those to form even more complex structures and end up with something very complex like a village. So programming is a lot like this. We're just taking blocks and combining them in smart ways and combining those new blocks in smart ways. But we obviously don't do it with Legos. We do it with programming languages. So programming is a lot like Lego. We combine simple blocks to form more complex objects. Then we combine these more complex objects to create more complex objects. So programming is not done with Legos. We do it with programming languages. So a language that I think is very good for children to understand how we do programming is the language of Scratch. Scratch is a block. Even like Lego, each block is an operating system for the computer. Like moving or choosing a color or repeating the actions. So Scratch is the language that I'm going to use to demonstrate how we program like Legos. And this is a programming language that's great for children to learn about programming. And so Scratch gives you these blocks that are kind of like Legos but instead of just being blocks to build things, they contain commands for the computer. So things like move, pick a random number, repeat, etc. And so we can combine these blocks much like we do Legos to build more complex structures and then combine those structures to build even more complex structures. So we can combine simple blocks with Scratch to create more complex objects and then we combine them to create more complex objects. Like for example here, we have a program that my daughter does at Scratch. It's a game called Balloon Pop. So the idea of the game is that you have balloons that show and the purpose of the game is to break all the balloons. So you can see that there are a lot of blocks here on the right that are much more complicated than when they're completely separated. So here, this is a game that my son built in Scratch. It's called Balloon Pop and the idea is that you have these balloons that come up and you have to pop them as they're coming up. And so you can see he combined a lot of these simple blocks to create more complex blocks and then combine all of those to create this even more complex thing which is this game. So this is basically how programming works and this is what we do at Google. But obviously we don't use Scratch. We use more sophisticated programming languages like Python which is a very popular one and we use TensorFlow which is a library we built specifically for designing artificial intelligence algorithms. So at Google, we don't use Scratch but we use another programming language called Python and also TensorFlow that we developed for the development of artificial intelligence algorithms. So it's the same idea. We combine simple blocks to create more complex objects and we continue like this until we finish with a program, a very complicated algorithm. So here it's an example of a block a little more complicated that we can do with Python and TensorFlow. So this is an example of a little bit that's not too complicated block that we use with Python and TensorFlow and so we combine a lot of these blocks to create even more sophisticated algorithms. So if we come back to our inspiration, the brain where we had all these neurons connected to each other that's what gives humans intelligence and we want to use this idea to create artificial intelligence. So let's go back to the inspiration for our algorithm. The brain and all the neurons and the connections of the neurons are the networks of neurons that give us human intelligence so we want to build a network of artificial neurons to create artificial intelligence. So we can do this with the programming language Python and TensorFlow creating blocks for neurons and combining the neurons to create more complicated networks. So we will start with simple blocks we create these simple neuron blocks and then we combine them with Python and TensorFlow to create a more complicated network and thereby creating a digital brain for us. So this is a simple example of a neural network that we can create this is just a cartoon of what a neural network that we create looks like. So you have different layers each layer has a bunch of different neurons each of these black dots is a neuron and so we can take an image and our program can convert it into neuron activation so basically the picture can tell which neurons it wants to activate in the lowest level and those neurons that get activated send an electric signal to the neurons in the layer above it and those neurons then decide whether to continue sending the transmission to the layers above and so on until we reach the topmost layer where we only have two neurons and these two neurons for this simple example where we're trying to classify whether the image contains a cat or a dog whichever of these neurons gets activated that's what's going to tell us what the neural network thinks. So here we have a drawing simplified from a neural network that we can build in the computer so for this example we want this network to classify images as dog containers of dog or cat so images with programming language can transform the image into neuron activation so we have different levels of neurons each black dot is a neuron and the image activates some neurons in the lowest level these neurons that are activated transmit the signal to the neurons in the higher levels and the neurons in this level can decide if they want to continue the transmission or not and in the end we end up with two neurons one neuron represents a dog the other neuron represents a cat so we can transform images like here into neuron activation and in the end with one neuron at the highest level which tells us if the network thinks it's a cat or a dog if it's an image of a dog and the network says yes, it's a dog we can say yes, bravo network you have well classified that but the network says a cat we will say it to the network no, it's not good you are wrong, it's not a dog it's a dog so you have to change something to not be wrong so the network can change the connection between the neurons to not be wrong and classify correctly and we do that with several images and this is called the network training so with a lot of images after that the network can classify correctly if it's a cat or a dog so here if we figured a bunch of images for instance if we here we give it a picture of a dog if the neural network classifies it as a dog we're going to say great job continue doing it as you're classifying it but if it says it's a cat we're going to say no, you're wrong it's not a cat, it's a dog so you have to change something in your network structure so it's going to change the connections of the neurons a little bit so that it gets it right the next time and we do this multiple times with multiple images so that after that it learns to classify things quite well so let's watch this in practice these are some tools that we built at Google that kind of demonstrate what this means so this is a network that's already been pre-trained to classify pictures but I'm going to train it to classify different facial expressions so this network is already trained but it's not trained with my face so now I'm going to train it with different expressions so I'm going to start with a smile and that's going to play birds so I'm going to keep my smile ok so it can classify that now I'm training to smile you can classify that right now I'm smiling but if I don't smile it still plays the bird sound because that's all it knows how to classify it doesn't know any other answer so now I'm going to train it to do something to detect something else so I'm going to make an angry face and see if it can differentiate so pretty quickly it can differentiate between the two expressions very easily it can detect the difference between the two expressions so I'm going to add another one that's going to be a crazy one so you can see it can learn to differentiate these things very quickly and I was able to train it really quickly to do these things so I'll turn this off now I'm going to stop this I'm going to show you another demo it's called Quick Draw so this is another demo called Quick Draw what this is going to do is it's going to try to it's going to ask me to draw something and it's going to try to guess what it is I'm drawing in this demo I'm going to draw an image and the program will try to detect what I'm training to draw so this has been already trained on other people drawing things and it's not only learning how to detect by what's on the screen but also how I'm drawing it so which lines I draw first so this reason is already trained to detect the images but it's not just the drawings that are in the screens it's also in the order that I draw the lines it gives a lot of information so now I have to try to this in there and seesaw so now I have to draw a seesaw and see if it can detect it within 20 seconds I see a shoe or a rifle or clarinet or toothpaste oh so it didn't get it so let's try it with cactus I see a guitar or die being bored sorry I couldn't guess it okay so this one detected it well let's see tractor not very good drawer no not very good sorry this sound is a bit too late so a hand or sky scraper so I know it's better I see river or the great wall of China so I know it's hand I see glove or shoe or pond or shoes or the great wall of China I see bottle cap no okay so it also depends on how good a drawer you are on the screen so it depends if it's a good drawing or not but we have this demo the explorer tech after when I'm going to finish you can go to play with that it has several other demos that you can play so we're going to have these demos and explorer tech in the back after this talk so you can play with them and you can go to this website with google.com yourself and play with a bunch of other demos so I hope that this shows you that artificial intelligence is useful for many practical and sometimes economically beneficial things but it's also very useful for fun things like what I've shown you today and these are some of the things like fun things and art and creativity so I hope that you can see that artificial intelligence has these applications for really practical things and also for economic reasons but it also has these applications for more fun things and more creative that's what for me is the most intriguing thing about artificial intelligence the application to creativity and art so you can play with them you can go play explorer tech after this if you want and if there are any questions there's a microphone over here I'd be happy to answer them if you have questions I'd be happy to answer them thank you very much so don't feel shy especially kids if you have questions I have a question actually about what type of education someone would require to have a job like this most of the people that I work with have computer science background so most of us study computer science to work in artificial intelligence you generally will have done some type of graduate degree in computer science itself we have a lot of people that studied math we also have people that studied physics so it's not a strict requirement to have studied computer science but it's generally what most of us studied that studied something very different but they were just so excited about the stuff that they taught themselves and they just demonstrated that they're really great at what they do so it's not a strict requirement but that's generally what people end up studying well thank you very much and we'll be at explorer tech if you want to play around with these tools