WEBVTT

00:00.000 --> 00:21.320
Now it's OK, oh wow, I'm magnified, OK, so we're already started of bad high

00:21.400 --> 00:29.040
I'm Yens, I work at SAP on the SNAP programming language, together with my friends and you see

00:29.040 --> 00:34.920
Berkeley and with more friends at SAP you are also working on this and working here, anybody

00:34.920 --> 00:44.560
ever worked with scratch or snap, same scratches, like snap, something OK, so here's one thing

00:44.560 --> 00:51.200
I got the sticker yesterday, it says no AI and I'm about to put it on my laptop because

00:51.280 --> 00:55.440
this is sort of the thing that has been harassing all of us, right?

00:55.440 --> 01:01.440
Whether we're programmers, whether we're educators, just AI keeps popping up being this

01:01.440 --> 01:08.640
huge thing that everybody except us seems to be talking about as the good thing and we are

01:08.640 --> 01:15.680
kind of thinking it might not be the best thing and it'll be great if people actually

01:15.680 --> 01:24.240
know more about AI so when we're in schools and when we're with teachers and professors

01:24.240 --> 01:30.800
discussing AI often if you go to these conferences it'll be all about prompting for

01:31.840 --> 01:35.040
biology prompting for inclusion prompting for

01:36.640 --> 01:44.160
something or the other and what's often left is well why don't somebody just explain how

01:44.240 --> 01:51.600
the damn thing works so I can find out what it is and whether I can have fun with it and

01:51.600 --> 01:57.920
this is what we've been trying to do with our programming language that is used in some schools

01:57.920 --> 02:05.040
and so the idea is that really it's almost like a thunderstorm, this AI thing that's coming in

02:05.040 --> 02:11.760
and we've coined this term Gale, it's like a game is something that is really sweeping away

02:11.760 --> 02:19.200
but not really so much in a good way and we try to come up with a meaning for what Gale means so

02:19.200 --> 02:25.200
we want to do pedagogy for dealing with neural networks and we want to focus on kind of four things

02:25.200 --> 02:33.040
that I'd like to demonstrate. One is the general purposeless of it, it is really something that

02:34.480 --> 02:39.680
we can apply and we are applying to things that we don't know anything about, we don't know

02:39.680 --> 02:49.840
how stuff works and yet we can do things with it, it is also about abstraction and abstraction is

02:49.840 --> 02:55.120
something where you know when you're talking about AI and comparing it to classical CS, there are

02:55.120 --> 03:01.920
some differences like in AI we're often comparing things for being similar rather than mathematically

03:01.920 --> 03:09.040
equal and we need the similarity so we can put them into bins so we can put them into group

03:09.040 --> 03:16.640
to classify them and also a lot of it in order so that we can compare things for similarity,

03:16.640 --> 03:25.040
there's some normalization involved. AI makes errors and if you think about it errors are really just

03:25.680 --> 03:32.560
also a property of abstraction because if you're comparing things you're saying all of these

03:32.560 --> 03:38.240
individual things I'm going to put them into different groups you're not going to be right

03:38.240 --> 03:42.240
for many things because you're just going to leave out many things that you're going to look

03:42.240 --> 03:48.800
at because say for the sake of this these are in the same group. So abstraction is something that

03:49.440 --> 03:56.560
literally takes away things so we can then talk about them. Another really interesting thing is when

03:56.560 --> 04:02.400
we're talking about the mathematics of neural networks is something that is difficult to be taught

04:02.400 --> 04:08.560
in schools because it really requires at least some basic linear algebra and we're wondering

04:08.560 --> 04:13.680
kind of what the basis is because very often when we look at the explanation of how it works

04:13.680 --> 04:19.920
we see a bazillion variables and we see a bazillion loops that connect a bazillion variables

04:19.920 --> 04:25.200
to bazillion other variables and then all some them up and put them in some function. So linear

04:25.280 --> 04:35.040
algebra really helps demystify that and so we would like to come up and teach something that

04:35.040 --> 04:42.240
we're calling the sales slip algorithm and the fourth thing would be evolution and this is also

04:42.240 --> 04:48.800
something we talk a lot about like is it human should we talk about AI in human terms should we say

04:49.360 --> 04:56.240
should we give it a personality or not and if we're modeling it in a programming language

04:56.800 --> 05:04.000
there are two things that are important to us that is emergence things happen a lot a lot and then

05:04.000 --> 05:10.640
something else appears that isn't just a repetition of what's happening and the system changes

05:10.640 --> 05:17.520
it mutates. Mutations is something that we hackers, we computer scientists, we programmers have

05:17.600 --> 05:22.480
problems about because we're all these super cool functional programmers that are all stateless

05:22.480 --> 05:28.000
and some mutation is something that we really don't like to hear but these systems

05:28.720 --> 05:34.880
really are emerging or adapting and are mutating so maybe there's another way we want to

05:34.880 --> 05:40.800
think about certain aspects of programming and I'd like to go back to really something that

05:40.800 --> 05:46.960
I might be unusual so when we're thinking about when does it all start I mean we can go back

05:46.960 --> 05:52.800
to Aristotle I guess but I'd like to suggest concretely that it started with Oliver heavy side

05:53.440 --> 06:01.120
in 1881 now I'm not sure whether anybody knows Oliver heavy side he's a self-taught mathematician

06:01.920 --> 06:12.160
really cool dude in Great Britain working on telegraphs and he invented a stepping function

06:12.240 --> 06:16.400
which you all know I guess but there's also something even more important that he was

06:18.240 --> 06:25.600
and it's the notation for the scalar product of a vector the mutation of the dot

06:26.320 --> 06:33.280
and really these two things if you think about it is almost all you need to know to build a neural

06:33.280 --> 06:41.280
network so a couple of years later after 1881 the next thing that we want to talk about is this other

06:41.360 --> 06:45.680
guy but oh here's the sense that algorithms so this is the algorithm so you've got you know a

06:45.680 --> 06:50.720
bunch of products you want to buy something these are the seven things you need to make a good

06:50.720 --> 06:55.840
cake in this German children song and if you want to know what it costs is of course you

06:55.840 --> 07:02.480
you multiply the quantity in each row with the price and then you take the sum total that's the

07:02.480 --> 07:08.080
sense of algorithm and that's literally how a neural network works so a couple of years later

07:08.160 --> 07:15.440
there's Frank Rosenblatt and Frank really built something that he called the perceptron the Mark

07:15.440 --> 07:22.880
one perceptron and it's a giant machine it's a giant machine for the cables and the usage was

07:22.880 --> 07:28.960
off for the military which is I'm just going to show you in a few minutes a giant machine and of

07:28.960 --> 07:38.000
course now it's no longer a machine now it's just a algorithm and so it kind of had these things

07:38.000 --> 07:42.880
formula what you see at the right here is literally the sales level algorithm and on the left is

07:42.880 --> 07:49.120
how the damn thing works like you've got several layers of that that we're a picture is coming in

07:49.120 --> 07:53.200
then it gets projected to something then it gets sort of digitized and then there are some random

07:53.200 --> 08:01.440
connections with random weights associated to it that mutate that change as it learns here you can see

08:02.160 --> 08:07.120
sort of the thing how it actually works so there's the C for the Cornell University and there's

08:07.200 --> 08:14.640
there's lamps so so this was a projected projection on the right side down here you see the C

08:14.640 --> 08:22.320
in a matrix so this is already the matrix and then what happens is it got through the neural network

08:22.320 --> 08:31.040
the neural network literally was this network of things that connect all these inputs with each

08:31.040 --> 08:37.040
other and this is something I just very quickly like to build now in this programming language

08:37.040 --> 08:44.320
so so we can play with it and find out how it works so I would like to look at

08:46.320 --> 08:59.200
we should look the project this all was really motivated by looking at some data so here's some

08:59.280 --> 09:05.280
some data you might know the sooner mine's data set anybody know the sooner mine's data set

09:05.280 --> 09:12.160
so data set of actual pings sooner pings that and the echoes that come back and what comes back

09:12.160 --> 09:18.400
the signal tells you whether this thing is a metal cylinder or not it could be a rock it could be a

09:18.400 --> 09:25.840
piece of wood or something so these are actual signals it's a table of signals and in the last

09:25.840 --> 09:33.040
column there's a number that tells you well this is just a rock it's not a mine and if it's one

09:33.040 --> 09:41.840
it's a metal cylinder now always when I look at this data I'd like to actually plot it so so we

09:41.840 --> 09:49.280
can we can look for example at the first item of this thing it's just a list of signals

09:49.280 --> 09:55.440
and the last item zero so it's not a rock so we can plot this now these numbers are all very

09:55.440 --> 10:04.560
small they're all normalized so we want to scale them in snap scaling them is just you multiply

10:04.560 --> 10:14.240
the whole vector with something like with say 200 and this is what we call about building linear algebra

10:14.240 --> 10:18.560
sort of into the system so we don't need to use loops for that so we just want to look at that

10:19.200 --> 10:28.800
and we see that maybe we just want to center it so this is the example of the sonar signal for

10:28.800 --> 10:37.440
a rock right so now if I look at the last item this is the sonar signal of a mine you can see

10:37.440 --> 10:45.120
because the last column has has this this this this big bar and we can look we can now just

10:45.200 --> 10:50.880
eyeball events with these things like random things like this is another example of a rock

10:50.880 --> 10:57.920
another example of a mine another example of a mine another example of a mine another example

10:57.920 --> 11:05.280
of a rock rock a mine a mine and you know I've eyeballed these a Brazilian times

11:06.640 --> 11:14.560
I as a human being I have no idea I I can't find any pattern like to to distinguish whether

11:14.560 --> 11:19.920
a one is a mine or a whale or or whatever and this is exactly the kind of problem that they

11:19.920 --> 11:25.280
were dealing with back in the 50s and 60s because there are people who are very interested in that

11:25.280 --> 11:31.120
and those are the military and so it's you know maybe we shouldn't talk about this in school but you

11:31.120 --> 11:35.920
know that's the truth the military was sponsoring this the military is interested in this this is about

11:36.320 --> 11:45.680
killing them or getting killed so why not use this database so the idea was how about we built this

11:46.320 --> 11:58.320
Mark one perceptron in snap so we make a new object I'm calling a perceptron and a perceptron

11:59.280 --> 12:06.080
need something that is a weight so I've actually got a couple of weights here which I found

12:06.080 --> 12:11.200
on the free market you know these weights this is actually it's really cute usually weights kind of

12:11.200 --> 12:15.520
have these have these little limbs that you kind of kind of things that you hold them on this is

12:15.520 --> 12:22.960
actually cute this is something that they're sort of you can this is like a matriuska thing

12:23.840 --> 12:29.680
it's very cool and there's actually some hey if you're a computer scientist there's numbers in there

12:30.480 --> 12:38.640
this one says 16 this one says eight this one says four two I again you know we all love the

12:38.640 --> 12:49.040
powers of two so this is essentially this is a vector of weights randomly associated this is what

12:49.120 --> 12:53.600
we need for neural networks so we're just going to make weights I'm going to add that to that

12:56.640 --> 13:03.200
weight where is it make a variable for the perceptron only and these are called weights

13:04.000 --> 13:09.600
we make another variable for this perceptron only and these are called inputs these are the two

13:09.600 --> 13:17.680
variables we need for this and so I don't have to code this all along I've sort of prepared something

13:17.680 --> 13:27.040
like the cooks on TV in order to set this up there is one method that this perceptron does that

13:27.040 --> 13:35.520
just sets up the weights with random numbers so what I want to do is I want to take this data set here

13:35.760 --> 13:55.040
the um and I want to just get the sooner to a variable called data and now I want to set up

13:55.920 --> 14:08.640
my perceptron I'm going to show the weights here with random numbers so I'm broadcasting set up

14:11.440 --> 14:18.640
to the perceptron and so the weights kind of taken some dimension what goes in what goes out

14:19.040 --> 14:25.520
so this is going to be a list of numbers there's going to be six features going in a 60 features

14:25.520 --> 14:33.600
actually and one decision coming out whether it's a rock or a mine and when I click on this this is

14:33.600 --> 14:41.520
this is my my weight matrix it's here so the second thing that we want to do is we want to actually

14:41.520 --> 14:48.800
now ask the perceptron for a prediction is this a rock or is this a mine and so remember this

14:48.800 --> 14:55.680
little say slip algorithm I've also kind of just coded this up in snap it's a huge big program

14:55.680 --> 15:02.240
this is all it takes um and you know anything about neural networks you'll realize it's literally

15:02.240 --> 15:08.240
just that take the sum like multiply everything with everything just take the sum of it and

15:09.200 --> 15:16.160
lead it through a stepping function or a sigmoid function a function that really just tells me yes

15:16.160 --> 15:22.160
this is okay or this is not okay this is all it takes because there's linear algebra involved

15:23.280 --> 15:33.600
so what I want to do is I want to just um now request from I want to request predict

15:34.240 --> 15:46.720
from the perceptron with some data so you know let's actually take the first item of the data

15:48.480 --> 15:59.520
which is a rock so I want to know whether it is a rock and I'm getting back a probability

15:59.600 --> 16:06.720
and says well with the probability of 75% it's a rock so this is wrong already

16:07.600 --> 16:12.800
so let's find out and it's no wonder it's wrong because we just have a bunch of random numbers

16:12.800 --> 16:19.680
so let's find out how well we're doing for the whole data set so I'm going through each of the samples

16:20.080 --> 16:30.240
in my data and I want to make a variable that says um you know what's the target I know the target

16:34.000 --> 16:42.800
because the target is just the last item in my data in my sample then I want to know what

16:43.680 --> 16:50.720
my perceptron actually answers and that's the output and I can say the output

16:53.600 --> 17:00.720
is what did request here I'm not just taking the item one of the data I'm taking the sample

17:01.680 --> 17:14.720
oh wait let's make the singular also here now I can see what the difference is the difference is the

17:14.720 --> 17:26.160
delta and the delta really is nothing but the difference between what I'm expecting which is the

17:26.160 --> 17:38.880
target and when I'm getting I know about also just count the errors some first my errors are zero

17:42.480 --> 17:51.440
and then I'm changing the errors not by the delta because the delta can be either you know one

17:51.440 --> 17:58.080
or minus one or anything between so I need to take the absolute value of the delta

18:02.400 --> 18:08.000
here and when I'm done I'd like to know how well I'm doing so I could say something I could say

18:08.000 --> 18:19.920
the ratio of errors to the length of the data said and since I want to be positive I want to see

18:19.920 --> 18:28.640
the success rate I'm taking the opposite like the inverse and yeah let's see how well we're doing

18:30.240 --> 18:36.800
with this whole data said oh 55 percent that's not great that's about what's to be expected let's

18:36.800 --> 18:43.600
take another set of random numbers and give it another try oh 50 percent okay so you get the

18:44.160 --> 18:50.320
we're just basically we're throwing dice and no wonder and now the idea is how about

18:51.040 --> 18:57.120
this thing learn something so we want to adjust these weights we want to oh wait there's another

18:57.120 --> 19:04.080
one I forgot in here two other ones crazy we've got this huge vector we want to rearrange these weights

19:04.640 --> 19:14.000
so they fit to the error to the delta that we found and there's this last script which is

19:15.600 --> 19:21.520
how we need to go to the perceptron the last method of the perceptron is how does it learn

19:22.720 --> 19:29.920
and all it takes is really this learning means the weights are adjusted the weights are shifted

19:30.320 --> 19:36.800
but not all the way because then we would fit just every kind of data to the maximum

19:36.800 --> 19:43.440
but shifted a little bit so it because we need to riddle in everything of like all of these

19:44.560 --> 19:50.240
records so and that's that's kind of the abstraction and here's what they found out

19:51.200 --> 19:59.680
so now we've got this what if we you know go through all of this once more and this is actually

20:00.400 --> 20:12.880
shuffle the data so so it doesn't remember the sequence and see what happens when we do it once more

20:13.600 --> 20:23.520
so I click on this once more it's 50 once more wait oh we need to we need to actually tell

20:23.520 --> 20:39.600
it to learn okay so we're broadcasting learn to the perceptron with the delta so let's try this again

20:40.240 --> 20:50.960
you see it's 51% 56% 60% you can see at each iteration the system learns and that

20:50.960 --> 20:57.600
was kind of mind-blowing to them back then when they found this out and this is kind of all the

20:57.600 --> 21:03.680
promise that wow this thing can actually learn so what we can do is we can try to visualize this

21:04.400 --> 21:25.920
so we're making a log initiating the log to no list and I am adding the errors to the log

21:26.160 --> 21:32.480
and I also want to visualize that again by plotting the bars these are the errors

21:33.920 --> 21:40.400
by visualizing them and we should probably also scale them a little bit

21:46.720 --> 21:55.120
excellent let's let's try this and let's maybe just do the error as one number

21:56.480 --> 22:12.960
uh okay let's just do that so let's start a new new setup and um wait don't think of the data

22:12.960 --> 22:36.880
okay so now what we want to do is this um we want to forever do this and find out how well it's

22:36.880 --> 22:51.440
doing um wait wait wait there's something wrong see this is what happens when there's a room for the

22:51.520 --> 23:11.440
people and somebody tries to code up something um didn't it just work

23:12.160 --> 23:21.360
uh I need to plot the not the errors but the log this is what I need to do

23:21.920 --> 23:27.280
um

23:35.280 --> 23:43.520
to log yes thank thank you Glenn thank you Glenn

23:43.600 --> 23:54.960
okay I didn't get it oh but but you can see it's going up like now it's it's already at at

23:54.960 --> 24:03.600
77 percent so okay so what you see is it's actually learning but it doesn't kind of go above 78

24:03.600 --> 24:11.120
percent and you just think about 78 percent that is pretty great like if you're investing money

24:11.280 --> 24:16.160
like yeah I would put my my money in there to make money but it's not so great when it's about

24:16.160 --> 24:22.320
should I kill this guy or should this guy kill me um so it's not good enough and the question

24:22.320 --> 24:30.720
how how to make it good enough is is really a difficult one and so what they did was um what one

24:30.720 --> 24:38.160
perceptron cannot do maybe two perceptrons can do and this is the thing about deep learning so what

24:38.240 --> 24:46.640
they did is um they have this idea that it takes more than one layer and that was actually

24:46.640 --> 24:52.560
found out by uh Martin Minsky and see my paper they proved that a single layer a single

24:52.560 --> 24:59.920
perceptron can only learn certain problems but it cannot learn certain other problems and it can

24:59.920 --> 25:05.680
only learn problems that are linearly separable if there's a non-linear function even an

25:05.680 --> 25:12.720
easy non-linear function one layer is not enough and you need more than one layer two layers or

25:12.720 --> 25:18.640
even more layers well two two layers actually can do anything but there's more than two layers and

25:18.640 --> 25:24.640
this is they didn't know for a long time how to do this well some people knew but then it didn't

25:24.640 --> 25:31.360
get published or or got published but only in finish uh which nobody in the US read so it didn't

25:31.520 --> 25:42.720
exist um and this is kind of this this whole thing that at one time um rumble hard and and

25:42.720 --> 25:48.640
and they found out how to do actual back propagation and back propagation is something where they just

25:48.640 --> 25:56.880
added one little thing to this formula of how it learns really just one little thing

25:57.760 --> 26:12.160
and essentially when you before you change the weights make another delta for the next layer and return

26:12.160 --> 26:21.040
this you can now have two layers one kind of perceptron layer and one thing that is called a hidden layer

26:21.920 --> 26:34.320
and when you do this with a hidden layer you can reformulate this you can say okay the output now is not

26:34.320 --> 26:46.560
just one request it is actually a pipe it is a pipe of piping my data my sample

26:46.640 --> 27:01.520
to the hidden layer and then taking what I'm getting out of this to the perceptron layer or the

27:01.520 --> 27:08.240
output layer and this is called a forward pass and then when you're learning you're not just

27:08.240 --> 27:15.760
broadcasting something that it can learn but you need another you need another um pipe

27:17.520 --> 27:29.920
we're taking the delta and you're requesting now first uh you're requesting to learn but you're

27:29.920 --> 27:38.160
requesting first from the output like the layer for the perceptron layer and what it gives you back

27:39.120 --> 27:47.280
is you're requesting then from the hidden layer and that is called back propagation

27:48.480 --> 27:56.400
and with these two kind of simple things they were able to build a network that was way better

27:56.400 --> 28:02.320
in learning now let me let me glance over this again there is something wrong here the target

28:02.320 --> 28:19.040
that sounds the output is okay the delta is okay um yes errors I guess the errors should be the

28:19.120 --> 28:31.440
sum of this so this should work um so now we need to also initialize the hidden layer

28:33.360 --> 28:34.720
now when you look at its weights

28:35.600 --> 28:50.560
so I'm having the perceptron and duplicating this because first there is a hidden layer it takes

28:50.560 --> 28:56.240
60 features coming in and let's say maybe five features coming out then it takes five features

28:56.400 --> 29:03.760
coming in and one decision coming out the click on this um uh wait hidden layer

29:06.400 --> 29:15.520
now I've got my weights here hidden layer and the perceptron um

29:16.160 --> 29:27.600
now that's actually try this now we can see how it learns and we can see it learns

29:27.600 --> 29:33.120
much much better it's already it's 78% you can see how the weights adjust themselves

29:34.080 --> 29:38.720
and you can see that it's going now all the way it's already we've rated a little bit it'll be

29:38.720 --> 29:47.840
over 90% and this is precisely the thing um that is very interesting to do um and this is what is

29:47.840 --> 29:52.320
called deep learning deep learning is when you have more than one layer you can have now you can

29:52.320 --> 30:01.200
copy these layers you can have as many layers as you want to solve any non-linear equations so

30:01.200 --> 30:08.640
we're now we're at at 70% already which is kind of fundamentally a great thing and with this

30:09.920 --> 30:14.480
kind of running out of time I want to show you that with this when we use this in classroom

30:14.480 --> 30:21.360
we can actually have more fun than analyzing data sets we can actually do fun things when we

30:21.360 --> 30:29.440
maybe when we incorporate this into a programming language like like snap where we have a

30:29.440 --> 30:34.960
library that is called a neural network library so we can use this to use this on our own on our

30:34.960 --> 30:43.840
own data and we can build these neural networks sort of as something that programs a block for us

30:44.560 --> 30:50.800
so let me make a little list of things that I'd like to show you I'd like to show you a picture

30:51.680 --> 31:12.000
of a heart of a star on the house of a boat whoops of a balloon of a bird

31:12.320 --> 31:22.720
heart star house boat balloon bird I forgot you see what else is there

31:29.840 --> 31:36.960
that's fine so so what I want to do is I want to map over this list and I want to draw an

31:36.960 --> 31:45.040
example for each of these things I'm going to draw a scribble and I'm going to append the name

31:45.040 --> 31:54.080
of what it is to it which will then give me a very small data set of six entries and I want to

31:54.080 --> 32:03.120
make a little neural network that generates a predicate for that actually that classifies what I drew

32:03.280 --> 32:10.160
a classifies the shape for that so this is going to make a new block a neural network that's

32:10.160 --> 32:19.040
actually try this um so I'm doing this now now I'm drawing a heart I'm drawing a star

32:19.600 --> 32:27.920
free hand I'm going a house and a boat

32:32.720 --> 32:40.400
who let's say a balloon and a bird and now let's see what's happening my neural network is

32:40.400 --> 32:47.280
analyzing what I drew and it is learning is having it's a little bit of a bigger neural network

32:47.360 --> 32:54.240
now because there's many more gestures in my stroke and it claims that it learned a hundred percent

32:54.240 --> 33:01.360
of that well I'd like to believe that um now we'll find out now what I want to do is I want to say

33:01.360 --> 33:10.960
okay wait when I kind of press anywhere on the stage when I want to do is I want to sketch something

33:11.680 --> 33:21.680
and when I receive that I sketch something you know what I want to do is I want to get the shape

33:21.680 --> 33:26.960
of this is the block that my neural network made it is not programmed on the inside it just has

33:26.960 --> 33:34.160
some weights these are the weights that the neural network learned and it made a new block that

33:34.240 --> 33:42.640
classifies that with these weights so I want to get the shape of you know what I just drew

33:44.880 --> 33:51.600
so I'm going to draw something that shape is a name and I want to look that up in the library

33:51.600 --> 34:01.280
of animations and I actually want to animate it so let's try this so we could now say

34:02.240 --> 34:11.200
this AI thing is like this gale the storm that is shaking up all of our education

34:12.800 --> 34:20.720
but you know the storm is also kind of a wind a wind of change that can lead us and take us to

34:20.720 --> 34:30.800
different shores where we kind of have to focus on our guiding star and not let us say I think

34:30.800 --> 34:39.360
take away our jobs but maybe make us more empathetic towards each other so we can let our creativity

34:39.360 --> 34:47.920
fly and kind of take it for a different future then it seems now a different future

34:48.560 --> 34:54.560
sorry for being too long

34:57.120 --> 35:17.840
any questions yes yes yes yes yes yes yes yes please

35:17.840 --> 35:26.160
questions so about the terminology so you're calling it's network in learning but I don't

35:27.440 --> 35:33.440
this is about what's called networks we're all network and deep learning is going to improve

35:34.240 --> 35:40.720
things like evolution or some kind of tricky set of multi-glame

35:41.040 --> 35:48.320
your calculations are you interested? well images are are of course more complicated because

35:48.320 --> 35:53.600
now what what I've shown you is just vectors it's just a neural network working on vector data

35:54.240 --> 36:01.040
if your images you're probably doing a convolutional network but the deepness of a network really

36:01.040 --> 36:08.240
is is an attribute about having more than one layer now of course you know with technology you

36:08.240 --> 36:13.120
would be saying maybe deep means more than five layers or more than ten layers but the idea really

36:13.120 --> 36:17.760
is all the same you can add as many layers as one the difficulty was having more than one layer

36:19.600 --> 36:21.280
yes please

36:25.920 --> 36:34.000
what we did in the classroom is we use this what I just showed you we use this to classify data from

36:34.160 --> 36:40.720
datasets and to use it to classify data that's coming from ourselves what we don't do in the

36:40.720 --> 36:49.600
classroom is build neural networks ourselves so I showed you how we built it ourselves and we have a

36:49.600 --> 36:54.160
library for that where we can actually we give you that sprite we give you that percept on sprite

36:54.160 --> 36:59.440
and we can show you that that you can manually duplicate that sprite and build that network of your

36:59.440 --> 37:07.360
cell yes yes but then we use it just as a block because this is something that we feel

37:07.360 --> 37:11.760
is important what if you just went away what if a neural network is just a function that you call

37:11.760 --> 37:16.080
and you just get some back some numbers and you can call it what if it just makes a function for you

37:16.160 --> 37:22.320
right yes sir and when you did that in got it some of what you're doing with kind of

37:22.320 --> 37:32.080
black what if what if it's what if it's not your your your what but it's just running

37:32.080 --> 37:36.080
locally it's in snap it's the same thing I showed you just just packed into a block

37:40.560 --> 37:43.440
I just put it into a block yes the whole thing is just one

37:46.560 --> 37:54.560
show it to a university class we are working on a curriculum this we just recorded a course for this

37:56.080 --> 38:05.040
we taught it to there's all kinds of students coming into SAP so we tried it with them

38:06.240 --> 38:15.600
classes yes yes yes yes yes yes yes thank you very much sorry there's a number time

38:16.560 --> 38:20.000
thank you

38:26.640 --> 38:31.760
s

