[Music]
hey everyone thank you very much for
coming my name is Josh Gordon I work in
tensorflow developer relations and I'm
really excited to share with you some
thoughts on deep learning today a whole
bunch of resources you can use to learn
much more about it and a pair of my
favorite open-source models for image
classification natural language parsing
and some neat tricks you can do with
these and I'll also show you some cool
things and how you can actually use a
pre trained image classification network
to generate your own artwork which I
find really interesting so before we get
started I just wanted to take a moment
to reflect on this idea of reproducible
research so we can do a lot of things
today with deep learning that I think we
take for granted so in 2005 I spent
about six months trying to do basic
image classification I was working in a
medical lab and we had a slide
containing some solution with some cells
on it and my goal was to use a neural
network to identify cells that were
diseased some cells that were healthy so
I was literally just tagging regions of
an image and there were many machine
learning libraries in 2005 including
some great ones that I still use today
in a teaching setting like Weka which I
absolutely love but we were still
writing a lot of our neural network code
by hand and it took us about six months
to get a network that worked well just
for this binary classification pack and
it was really hard to experiment with
different network architectures and
different optimizers and what's
interesting we had a lot of really good
engineers working with us and doing this
type of image classification today looks
very different so today a strong Python
developer with some basic background in
tensor flow and willingness to try
different open-source models and reads
and literature could do a much much much
better job than I could have done in six
months like full time in just a few days
and so there's really been a lot of
value created and the reason that we can
do all these great things is
a lot of researchers academics and
developers both from universities and
Google and other large companies and
small have been I think very generous in
sharing their tools and their ideas and
their code so that the next generation
of developers can iterate and refine on
their ideas so we have a lot of value at
our fingertips and because I started my
machine learning career in medicine I
just also wanted to take a moment to
reflect on some value that's been
created by a lot of this reproducible
research in these open source models and
so here are three applications of
medical imaging from the last eight
months or so and they all rely on an
open source tensor flow model that I'll
show you today called inception and
inception is one of the world's most
accurate image classifiers it's
completely open sourced which means you
can check it out and train it on your
own data to classify things you care
about here we're looking at work in
diabetic retinopathy I'm going clockwise
from the top left diabetic retinopathy
and the basic idea here is there's a
Ida's ease and if it's caught early it's
treatable and if it's caught late it can
lead to blindness and so in this work
we're using image recognition to
identify patients in need of care the
next image here was in nature paper of
from Stanford University and this was
using tensor flow and image
classification actually on Android to
detect skin cancer and the cool thing
about this is that I don't mind going to
the doctor but I'm kind of a lazy guy
but if I had an Android app that I could
just quickly scan my arm to find out if
something was malignant or not I'm much
more likely to do advanced screening and
then in the lower-left we have work
using image classification and medical
pathology and the idea here is you have
a pathologist and their job is to take a
look at a slide and find cells that are
cancerous the problem is these slides
can be enormous they can be a hundred
thousand pixels by a hundred thousand
pixels so we're talking about billions
of pixels on this slide and they might
be looking for a small region that
contains cancerous cells and so you can
imagine that scanning these slides by
hand can be incredibly demanding but of
course if you have an image recognition
model you can analyze every single
region on that image with a fine-tooth
comb and you can really build tools to
assist physicians in their
stick work so we can also do awesome fun
things with like art and music and sound
but there's also like I think real
humanitarian value here that's becoming
increasingly accessible and the reason I
really like this medical stuff is this
is a field that is not computer science
but because of a lot of reproducible
work in deep learning we're seeing a lot
of value being created in many
disciplines including things you
wouldn't expect like art work so I
mentioned the word deep learning a
couple of times and so here I'd like to
show you a cartoon diagram of a fully
connected deep neural network and this
particular network is classifying this
image as a cat or a dog and I wanted to
show you this to highlight one of the
differences with deep learning and some
of the work I was doing in say 2005 so
the way I would have written an image
classifier in 2005 is I would have
written a lot of Python code to extract
features from the image I would have
thought about what features do I want to
feed into my classifier and this would
be lines and shapes colors I might have
used the library like OpenCV to do face
detection but in deep learning we can
give the classifier the raw pixels from
the image and will let the network find
good features on its own and we can
actually visualize what it learns later
the reason this is called a deep neural
network is there is more than one layer
we have a stack of layers it's a deep
neural network that's where the term
deep learning comes from and at the very
top this network happens to be
classifying that image as a cat or a dog
there are many wonderful deep learning
libraries but of course my favorite is
tensorflow it's from Google and as you
guys probably know it's used both for
research and production this means that
tensorflow has everything you need to
build products with hundreds and
millions of users like google photos as
well as do actual research like the work
you saw on medical imaging and having
the same code base for both of these is
very valuable so these are the I'm gonna
have to fly through this by the way I
have a lot of content that I want to
share with you so I'm gonna have to
accelerate a little bit so here are some
of the papers well these are actually
blog posts but all of them point to
papers that I'd like to share with you
today
and show you how we can do practical and
fun things with them and of course
there's much much much more Google
research in the last couple years has
been prolific in publishing papers and
many of these are state-of-the-art and
often in addition to the papers they
publish everything you need to try this
out on your own and I'm going to show
you what that means so one question that
comes up if you have a safe
state-of-the-art natural language parser
that has a lot of business value and one
question that's asked me a lot is well
why open source that why share it and
one really important reason is that it
empowers others to continue your ideas
so I'm not doing research now but even
as just a hacker I have many more
projects than I will ever finish my
lifetime if you guys are all busy
there's not enough hours in the day but
by open sourcing your code you make it
possible for the next generation to
continue your line of thought and then
another huge benefit is that it reduces
barriers to entry so rather than having
to design your own image classifier from
scratch you can immediately go to the
state of the art and open source and get
started right away on the problems that
you care about so briefly here's what
makes a good reproducible open source
release of course you want to share your
code but a machine learning you want to
share all the code that means the code
you need for inference for training as
well as for evaluation so you can't have
any hidden pieces otherwise it's not
reproducible you always want to share
the datasets that used to train the
model I know sometimes there's lots of
copyright issues especially if you're
working with images but you should at
least make it reproducible it's also
really helpful to include a toy dataset
when you share a model and buy a toy
dataset I mean a small piece that makes
it really easy for someone to test if
they're end-to-end pipeline is working
properly a pre trained checkpoint is
super valuable so I believe the first
implementation of Inception and this was
about a year ago it took something like
a week to Train on a machine with a GPUs
of course not everyone happens to have a
GPU sitting around so by sharing a pre
train checkpoint that means the model
works out of the box to classify images
and it makes it much faster to explore
with and then something that I'm a
recent convert to is docker so
oftentimes you have a lot of
dependencies in your environment and so
by sharing a docker container it makes
it much faster for people to try your
ideas so this talk is about open source
models but of course you can also
develop this deep learning by writing
code and briefly I want to show you what
that looks like so the point I want to
make is that
developing with deep learning does not
have to be hard with basic Python skills
you can write neural networks in
something like 15 lines of code now so
this is code from the library called
chaos which is a high-level machine
learning API that I really like it's
very concise and it's fully supported in
tensorflow and the idea is that in
tensorflow
you'll get the best of both worlds and
here is almost the entire code to define
a network very similar to that cartoon
diagram we saw earlier I'm adding a
stack of layers and most of the work
here is going into making sure that the
weights and the sizes all line up I've
got to pick up the pace of this here's a
code to compile the model and so in deep
learning if you're learning it for the
first time one thing to be aware of is
you'll run into a whole lot of new
terminology and oftentimes the
terminology you encounter can be quite
scary like here we're looking at
something that says loss equals
categorical cross entropy and the first
time I saw that I was like no my god
this is incredibly different from a lot
of stuff I've worked with in the past
but often times when you look at these
terms they're simpler than they sound so
loss and deep learning just means error
and it's just a number and categorical
cross entropy is just a fancy word for
comparing two distributions so there's a
distribution that you predict and
there's a distribution you should have
predicted and that will just give you a
number that says how different they were
I also want to let you know that
tensorflow comes with a nice
visualization tool called tensor board
and as you can see from this animation
that has failed spectacularly you can
use center board to actually visualize
the neural network that you defined and
actually poke inside the layers so the
second way to get started with deep
learning is to leverage open source
which is what I want to focus on today
and the first model I want to talk about
is inception and I'll show you how can
you how you can use inception for image
classification as well as deep dream and
style transfer so before we saw a
cartoon neural network but here's what
Inception actually looks like you can
see it's much larger it has many more
layers and inside the layers there's
more moving parts and when you're
defining a network like Inception this
is somewhere where tensor flow really
begins to shine and tools like tensor
board make it really easy to spot any
areas that you have in your architecture
so first I want to talk about image
classification so I'm from New York so
here's a picture I snapped last week
looking north toward Central Park from
the office and when you're doing image
classification the easiest way to get
started is to use an API and I just want
to show you what this looks like so this
is the Google cloud vision API it's
drag-and-drop and there's also a restful
interface and basically you can classify
the image and you'll get a set of tags
back so here this is a skyline city
metropolis whatever but you can also do
this an open source and you can do this
actually quite easily
so here's code for Karis running inside
tensorflow and this is actually the
complete code on this slide it's
complete and this code will actually
import Inception which is a network
architecture that we saw in the previous
slide it will load the pre train weights
from a checkpoint and pre process and
classify an image and so this stuff is
much much more accessible than often
seems and this right here and these like
whatever five lines of code is much much
much better than what I could have done
just a few years ago with a huge amount
of efforts and the funny thing about
inception out of the box is if you
classify this image you get nonsensical
tags back
so here inception is telling me that
this is a valley and possibly a doormat
and the reason why that is and it's not
a problem
the reason why that is is the pre
trained model that comes with inception
is from a dataset called image net and
image net has a million different images
from a thousand different categories but
most of them are pictures of dogs cats
flowers artwork and so of course image
classifiers only can recognize the
things they've been trained on so
inception doesn't know any better
when you get started and in fact the
blog posts that announce the latest
version of Inception is very proud that
out of the box
inception is actually sensitive enough
to tell the difference between these two
different species of dogs ones am allen
moves and one the husky and it's the
sensitivity that when you retrain
inception on different data makes it
very good in the medical diagnosis
domain and in fact there's a good
expression don't trust but verify
if you run inception on this image
you'll actually get output that that's
more sensible so it will identify it
correctly as a dog so probably you don't
care about recognizing dogs so how can
you take Inception and retrain it to
recognize images that you care about
and the good news is there's this
concept in machine learning called
transfer learning that I want to briefly
introduce and then show you how
accessible it is so the idea in transfer
learning is simple and that's a cue have
learned a neural network to say
recognize dogs and now you want to
recognize recognize slave cities do you
really need to start from scratch while
you're learning to recognize dogs the
network has probably identified useful
features and images that might be
applicable to other things so instead of
throwing away the network that you've
previously learned and retraining from
scratch instead you can do surgery on
the network you can chop off the very
last layer of weights and create output
nodes just for the classes you care
about and then instead of relearning the
entire network which might take a week
and a million images you can relearn
just the very last layer and you can do
that 30 seconds and you might only need
a hundred images so with a very small
amount of data you can actually create
your own image classifier and I want to
let you know we have a code lab for this
in just a couple days ago we published a
second version of it called tensorflow
for poets and tensorflow for poets is
dead simple it's basically going to run
a bunch of scripts for you that do that
surgery on the network and the only
thing you need to train a very high
accuracy custom classifier is literally
to collect directories of images that
you care about so what we're looking at
here is an app that I built with the
Metropolitan Museum of Art in New York
and I can point at paintings and
sculptures and it will tell me which one
it is and poets one and two will
actually walk you through training and
classifier and installing it onto an
Android a hilarious piece of criticism
that I got about tensorflow for poets
was some developers felt that it was too
easy
and tensorflow for poets is a really
easy code lab it's not meant to go into
the details of how transfer learning
works but we have tensor folk tutorials
for that if you're interested but
there's something really important about
tensor clever poets a lot of using
machine learning and practice is not
about thinking really carefully about
how to define models and like using
sophisticated algorithms and lots of
math a lot of machine learning is just
like development in general it's if
you're building an app like this one at
the Museum you have to think carefully
about how is this app going to be used
in production so if a user picks it up
and they pointed out a painting or
culture you have to think about things
like what if it's dark what if there's
someone in the background what if
there's an instruction and so a lot of
thinking in machine learning is how can
you collect training data to cover these
different cases and if you do that
properly then you'll have an app that
works very well in practice and for
Android developers here I want to let
you know we have three Android samples
for tensorflow
the one in the far less is doing
something called style transfer which
I'll show in a sec it's beautiful the
one in the middle is an image classifier
which runs inception and the one on the
right is a object detector which can
help you identify the location of things
and images so one really really
fascinating thing about deep learning
that I would just want to give you a
preview of is that when you learn an
image classifier in addition to being
able to classify images that classifier
actually has gained some knowledge about
images in general and you can use that
knowledge surprisingly to generate art
I'm going to I'm running behind some
that skip that and we're gonna go
straight into deep dream so question how
many people have heard of or tried deep
dream so like hat right how many people
know why it's important much fewer so to
me the point of deep dream is not that
we can generate beautiful psychedelic
artwork like that's really wonderful but
that's not why deep dream is fascinating
to me the reason that I find deep dream
interesting is it really begins to
investigate the question why is it that
deep neural networks are so good at
recognizing images and there's things we
know about deep learning in general why
they're so effective of course with like
GPUs and cloud we can train larger
networks on much more data so that's one
reason why networks are so good another
reason is there's been many algorithmic
improvements over the last few years
that enable you to train networks more
efficiently these are things like
different initialization strategies or
optimizers or batch norm but the reason
in my view that why deep neural networks
are so good at recognizing images is
they automatically learn features so I
mentioned with that cartoon diagram at
the start that the network will find
useful features from images
automatically and in addition to finding
useful features
networks actually learn a hierarchy of
those features so in most image
recognition networks you're using
something called convolution and I
wanted to give you a preview of what
convolution looks like so when I say
convolution what I really mean is using
a filter and so on the Left we have a
grayscale picture of Manhattan in the
center we have a 3x3 filter and on the
right we have another image that shows
very roughly the edges of where the
buildings are this kernel or filter is a
little edge detector that I wrote it's
very scrappy but if you write Python
code to slide this filter along the
image and compute the dot product of
what's beneath it at each location it
will produce that image which roughly
shows the edges so this filter is hand
engineered but in convolutional neural
networks we're going to learn a
hierarchy of these things so here I've
added a line of Parros that's going to
learn 32 of these filters and each of
these filters is going to be learned as
a function of the raw input image so as
a function of the pixels but if you have
a stack of these filters what you're
doing is you have the first layer is
finding features of the raw image the
second layer of filters is learning
features of features and the third layer
is learning features of features of
features so the filters that you learn
become increasingly abstract and you get
this for free by virtue of training an
image classifier you get this learned
hierarchy of features of filters and
what I've done here is and you can
repeat this with the code of the
googling is that starting from random
noise and I've optimized the noise to
increasingly excite filters at different
layers of the network and the really
interesting thing I think there's really
good science to be done here and really
understanding this rigorously is that
the lowest layer of filters generally
learns to detect edges and colors the
next layer is learning textures because
they're features of edges and colors and
then as you move higher up the network
you begin to learn things like patterns
and if you go way high up the network
which I'll show you later that's when
you get psychedelic stuff and so deep
cream doesn't have to be used to create
trippy artwork as you'll see in a moment
I'm not an artist but what I try to do
is use deep dream to turn this image
into something like
firework display and to do this you can
actually select which filter you want to
optimize for if you look at the deep
dream notebook at the GU link on the top
you're going to see a whole lot of code
but the interesting thing is that
something like 90% of that code is
fine-tuning just to make sure that the
images that are produced are really
beautiful this is basically the core of
the deep dream algorithm and its really
really concise so the basic idea in
tensorflow here is that we're going to
pick some filter from some layer of the
network and we're going to define a loss
function the loss is just a number and
here the loss is going to tell us on
average how excited is this filter by
some image so if we classify any random
image the filter is going to get some
activation and in deep dream what we can
do is we can say tensorflow please tell
me the gradient of this loss with
respect to my image and you're asking
tempted flow given an image how should i
modify that to increasingly excite some
filter in the network and then what you
can do is you can literally modify the
image according to the gradient and here
I can actually add it directly to the
image and repeat and so your image will
progressively incite excite to filter
and that's where deep teams a deep dream
comes from so here's another picture I
took from the reservoir in New York and
we're looking south from 90th Street and
I ran the dream on top of it using a
filter at a very high level of the
network and this particular filter
actually I'm sorry I ran it on a whole
layer of the network the second-to-last
layer and if you run deep dream on an
entire layer what you're really saying
is tensorflow please progressively
modify the image to excite all the
filters so you're basically super
saturating it with things that it knows
how to recognize and that's why you see
if you use Inception that's why you see
dogs and cats and snakes and stuff like
that everywhere but it can took
inception and you retrained it say on
artwork and then you ran deep a deep
dream on top of that you would no longer
have these dogs instead you might modify
an image to contain elements of like
Monet and Picasso so it's cool but I
think there's good science there I
didn't want to show you this here but
the notebook actually contains code to
produce your own animated dreams
uh but it was borderline
not-safe-for-work not in like a strange
sense it was just almost it's too
psychedelic and seizure inducing so
there's another absolutely beautiful
thing you can do with pre-trained image
networks and this is called style
transfer and for people new to it I
can't recommend that strongly enough it
is my favorite way to produce really
beautiful artwork so what I want to show
you is something from a project called
magenta there's going to be a talk on
magenta tomorrow by Douglas X who's one
of the project leads of magenta is a
wonderful project and it investigates
how you can use deep learning to
generate art and music and they've done
a great job so here in file transfer the
idea is that you begin with the painting
and here's one from the Museum of Modern
Art in New York and then you take a
photograph so here's one of the Golden
Gate Bridge and the goal in style
transfer is to produce a new piece of
artwork that combines the style of the
painting with the content of the
photograph and by style I mean things
like edges and shapes and colors and by
content I mean things that are semantic
like here I see a bridge and so if you
try to do this by hand or in Photoshop
or whatever to produce new paintings the
result would probably not be very good
unless you're much better at Photoshop
than I am but using style transfer you
can actually generate images like this
which are astoundingly good and the
reason I find it so interesting is
you're able to produce images like this
almost for free as an artifact of
training an image classifier and in deep
dream what we were doing is finding an
image that maximally excites some filter
of the network but in style transfer we
need to somehow caption the know sure of
concept the notion of content and style
and here's a high-level diagram of how
that works we also get this for free if
you take say the painting on the top and
you use some existing image classifier
you just classify the painting what you
can do is look at the activations of the
lower half of the layers roughly earlier
we said we saw that the first layer
detected edges shapes and colors and
textures stay in the first three and so
when you classify the image by looking
at the activations in those layers in
some sense you can capture what it means
to have style and then if you classify
the photograph and you
deactivations towards the top of the
network you have some sort of sense of
you had some sense of what it means to
have content and then if you combine
those you can actually come up with a
number that you can optimize in
tensorflow and that's how you actually
can start reading the noise and
progressively optimize it to minimize a
loss that combines content style and so
at a high level that's how it works but
I think the science behind it is
mind-blowing so this is a good example
in deep learning it's something that's
never in a hundred years what I thought
that ever I could write a Python program
to produce images of like that stylized
bridge it just never would have happened
but it turns out that this is something
we get for free
and you'll see in Douglass's talk if you
go which I highly recommend you can
actually do style transfer in real time
now and hear of what they're doing is
they're they have a collection of
paintings they're saying I'd like to
apply some more starry nights to this
dog all right so that's inception
language is also obviously really
important people that work in like
robotics are like video or images or
games have the best demos so their work
is usually more well known but obviously
almost all the apps we write work with
text so here I want to show you a couple
models from the syntax net family
well actually just one partysaurus and
partysaurus is currently the world's
most accurate natural language processor
and it's completely open source in
tensor flow so here's how we can work
with text so imagine you just have a
simple sentence I love NYC one thing you
can do if you go the API route is you
can use something like the cloud natural
language API to analyze this sentence
it's drag-and-drop there's a web demo
which is actually really fun and it's
also restful if you write code
so here we're seeing the cloud API
telling us that love is a verb and it's
looking at a dependency parse so we can
find out that NYC is the direct object
of a sentence but you can also do this
in open-source tensorflow and so here is
a single line of code to start up a
docker container for some tax net and
this will contain the parts of source
model as well as code for over 40
different languages and using this you
can actually do some really interesting
things so parsing leaf are spaced from
last year McPartlin was previously the
world's most accurate natural language
parser and macarthy's has been
superseded by party source
the main difference for one of the
difference between them is that party
Simek parts base operated on words
so the tokens that would analyze would
be the go stack 2 stems but part c soros
operates on characters so it's much
finer grain this is a quote from a book
called the meaning of meaning and if you
look at it this sentence is nonsensical
but what's really funny is for some
reason our brain actually knows a whole
lot about this sentence so for instance
I could ask you some questions about it
so what do you think the part of speech
is for the stems is the sins and noun is
the Sims a verb it's a verb and it's
funny that we know that because it's not
a word and the really interesting thing
is you can actually use Parsi source to
tell you that as well so if you fire up
that docker container you'll find an I -
note book called the interactive text
analyzer and with just a few lines of
code you can feed parsing source that
sentence you can get back a bunch of
tokens which are proto bus that contain
a whole bunch of information about the
parse you can iterate over it find the
distance word and print out the part of
speech tag and part C source will tell
you that that's the stims you can also
ask the question who or what is doing
the disk image and is it the dashes that
are just spinning or is it the ghost
back and when I read this I see it it's
the ghost act is the thing that's doing
the skimming and parsing source can tell
you that as well so if you iterate over
the tokens we can find the subject of a
sentence and you'll find out that's the
ghost ACK
Part C source can also tell you a lot
more about sentence like this
so if you just print out the raw
protobufs from all the tokens you'll get
a whole slew of information and only
some of it is actually on this slide so
it actually can give you pretty fine
grained stuff like for instance it can
tell you that the spins is in the
present tense it can tell you that the
Ghost Act is singular and it can tell
you that the dodges are imploring
and then the natural language API has
these beautiful dependency trees but you
can actually produce that as well and so
the notebook actually contains code
using good old grasses to produce
something that looks exactly like this
and there you can see that the dashas is
the object of the sentence so there's a
lot of value in open source and the cool
thing about partysaurus is that
multilingual support is obviously really
important and I'm really really
impressed by the syntax in that team as
well as the magenta team in the
inception team because out of the box
they actually have a link where you can
download pre train models for 40
different languages or more than 40
actually loading these languages it's a
little bit there's a few more parameters
but it's really one or two lines of code
and so you can switch the model to
German just like that and fear the
languages that I saw out of the box so
this is actually really cool because if
you're building any kind of application
that works of text and doing something
machine learning you you can think about
multilingual support from the start
there's two really good use cases for
this the first is an easy way to get
started and if you have an existing
system which is doing some sort of text
classification which could be sentiment
analysis you could be an expanded
section of whatever and you're using
part of speech tags or dependency tags
you can use a model like Park resource
to get a slight boost in your accuracy
but I think more importantly you can use
this as a foundation for a new system so
anytime you're training a model in deep
learning you're going to need lots of
data and I think by using these features
as additional input you can reduce the
amount of data that you need because
you're not going to have to learn
notions like part of speech and
dependency tags from scratch instead you
get them for free
there's a really awesome term that I
found on magentas blog and it's called
release plus plus and so this is some
text that I actually stole from their
article where they're talking about
something called ensign which is
actually a program that can generate
sounds and I thought this was a really
beautiful passage so when they shared
the code for instance they actually they
explicitly called out sure they're
sharing the code but they're also
sharing pre-trained models and a docker
container and because the team has done
such a wonderful job of doing this it
means that if you want to try out their
work especially in style transfer you
can do it out of the box and it works
very very well and it sounds simple but
that's actually something really hard to
achieve in practice like I can't tell
you how much time I spend playing with
open source software machine learning
whether it's written in tensorflow or a
different tool kit and it is so hard to
actually replicate results and so I
think some of the work that I showed you
today is good examples of work that sets
the bar on really how to share ideas I
think I've accelerated too much in my in
my rush to get through all this content
but anyway a blessing and a curse of
learning deep learning today is that
there are a huge number of educational
resources there's actually an entire
medium blog post where somebody actually
very helpfully went through something
like 30 different machine learning
courses and looked at all the reviews so
here are just a couple that I'd
recommend Stanford has a great course
it's actually student initiated it's
really impressive on tensorflow cs20 si
it has an intimidating title the title
is like tensorflow for deep learning
research but really a lot of this course
will actually walk you through the
basics of writing tensorflow programs if
you're new to neural networks the course
notes from CS 231 n are outstanding that
course also has a slightly intimidating
title its introduction to convolutional
neural networks but the beginning of the
class will actually walk you through
just in Python it doesn't use censor
flow at all really what is a classifier
how do you write within scratch and then
it will take you from something like
trainers neighbors all the way up to a
convolutional neural network if you like
natural language processing although
it's not on the slides Stanford also has
I believe cs2 - for M which is actually
a course on doing natural language
processing with tensor flow and then
there's a wonderful blog if you'd like
to get some intuition for how neural
networks actually work under the hood
and why they're so good at recognizing
images and doing other things
Chris ollas blog is absolutely
outstanding and I highly recommend it so
thanks very much one of my favorite
things about i/o is just actually
looking at the crowd I see a bunch of
folks that I haven't seen for about a
year so I like this conference a lot
I'll be around if you have any questions
and I'm happy to chat afterwards so
thank you very much guys and I hope
these research are useful
[Music]