Embedded - 275: Don’t Do What the Computer Tells You
Episode Date: January 25, 2019Janelle Shane (@JanelleCShane) shared truly weird responses from AIs. Her website is AIWeirdness.com where you can find machine-learning-generated ideas for paint colors, ice cream, and cocktails (a...nd many other things). We never said they were good ideas. Janelle’s FAQ will help you get started trying out RNNs yourself. We recommend the Embedded show titles. We talked about BigGAN which generates pictures based on input images. Wikipedia list of animals by number of neurons Janelle’s upcoming book is You Look Like a Thing and I Love You. Sign up for her newsletter to be the first to order it (as well as getting the PG-13 versions of her hilarious AI outputs).
Transcript
Discussion (0)
Hello and welcome to Embedded.
I'm Alicia White here with Christopher White.
This week we're going to talk about pink colors and ice cream flavors.
Specifically, Janelle Shane of AI Weirdness is going to talk to us about finding the hilarity of artificial intelligence.
Hi Janelle, thanks for
joining us today. Hi, thanks so much for inviting me. Could you tell us a bit about your background
and what you're working on? Oh sure, so I run a machine learning humor site called AI Weirdness
and I started that as a hobby, it is still going as a hobby, a somewhat
bigger hobby than I had ever anticipated. And I came at it just because I was interested
in some of the weird things that you can get out of machine learning, a garbled version
of our own world or misunderstanding of our rules mirrored back to us in weird ways.
But, you know, the other thing I'm interested in and the thing I'm doing as a day job is optics.
And so I've had plenty of years working as an optical scientist, optics grad student and so
forth. That's actually when my blog started was back in grad school as an optics blog and uh yeah i've always just had this side interest in
machine learning all right so we have so many more questions and i suspect this will be uh
an episode that requires a little bit of laughter but before we do all that or maybe getting started
with that we want to do lightning round
where we ask you short questions and we want short answers. And if we're good, we won't ask
you how and why. I am ready. Okay. I am ready. What is your favorite and least favorite ice
cream flavor? Favorite is Heath Bar Crunch from Ben and Jerry's. No, no, Fig Marscapone, Fig Marscapone.
I just remembered that one.
They only have it like once a year.
It's the best.
And least favorite, ooh, my mother once made barbecue sorbet that was not that good.
Yeah, yeah.
Out of her own volition.
It wasn't even an algorithm that told her to.
What color would you paint your house?
I have painted it a lovely pale steel gray thing. I forget what it's called.
What would your neural net have called it?
It kind of resembles snow bonk, I would say.
Snow bonk.
Let's see.
Your favorite and least favorite cookie recipe.
Ooh.
Favorite cookie recipe.
It's hard to go wrong with the classic chocolate chip, especially if you put sea salt in it.
Least favorite cookie recipe would be that same recipe,
but you forget to put in the baking powder and end up with the cookie.
No.
Ooh, I just remembered.
Least favorite cookie recipe that I've actually made was one of the neural net recipes, the one and only time that I am ever going to actually make one of its suggestions.
It was a chocolate horseradish brownie.
When will the robots win, and if they do, will they be merciful?
You know, the
robots have already won.
Yeah.
Do you think
they're merciful?
I don't think
it's the robots we have to worry about.
They're just doing what we tell them to.
We've got to worry about whoever told them to do the thing that they were doing.
And do you have a tip everyone should know?
Don't make horseradish brownies, no matter how trustworthy you think the algorithm is that told you to.
Don't do what the computer tells you to do. Don't do what the computer tells you to do.
Don't do what the computer tells you to do. It does not understand. It does not understand your
world. Okay, then let's go on to our, the normal part of our show, because we have been talking
about this algorithm and what it's telling you to do as, as if there were voices in our head, which seems bad. But you have a Tumblr blog
that celebrates the oddities of AI. Can you tell us about some of your most popular posts
or your favorite posts? Well, you know, I've done a bunch of these by now. I've been doing about one a week for the past two years, something like that.
And I guess the first one that really got attention or the first one that people actually started reading was one where I was generating new paint colors so this was uh putting in a bunch of names existing paint
color names from sherwin williams into the out into like a text generating algorithm so this was
an rnn that copies just character by character the text its data set and i gave it rgb values
and i gave it the names like straight off off of Sherwin-Williams.
And it started coming up with, you know, the weirdest paint color names because, of course, it doesn't have the context to figure out what these names are actually meaning or what letter combinations it should avoid.
So, like, the word Stanky was fair game as far as it was concerned. So we ended up with Stanky Bean and Horrible Gray and Burf Pink and, you know, all just terrible names.
It was great.
I loved it.
Raspberry Turd and Farty Red were the two that stood out for me.
Oh, I think Raspberry Turd was actually a My Little Pony.
Yeah.
Oh, yeah, it was.
It was a Raspberry Turd.
I didn't realize
yeah the yeah the pony names was another one where the uh algorithm kind of went off the
rails and started making up its own plausible sounding words that while technically pronounceable
were not suitable for use as a my Little Pony name. Ah, yeah.
Candy Hearts, that was another one that people seemed to like for some reason.
So this is, again, another complete misuse of character level RNNs.
So the data set was, I don't know, something like 200 different candy heart messages since you know
the messages you have on those little conversation heart things and you know there that's not nearly
enough data to do anything with but it tried and it came up with i think my very favorite heart was
the one that just said the word hole on it h-o-L-E. But people were also fond
of the one that said
love 2000 hogs, yeah.
And there was another one that
was
all hover.
And another one that just said
you hack.
Great Valentine's
messages. I think we need to mass produced that one and the mount yeah i'm thinking about it
okay so the paint chips um looking at pester pink and seeing cyan bright bright turquoise
teal blue i like saying green, which was blue. Yeah.
And gray pubic, which is also bright blue, I believe.
So these come from a data set with paint colors.
And you put them into an RNN, which is a type of neural network.
You said character level.
What does that mean? How does the RNN work?
Yeah, so this means that basically it's trying to predict the next letter in the original data set.
So you give it some example of a sequence of characters that come one after another. So in this case, it's a paint color name, and then it's a bunch of digits and spaces that will correspond to the RGB value.
And so this RNN has to try and predict, based on the last few letters of the paint name, what the next letter of the paint color name is going to be, or whether it should start doing RGB values instead.
So it doesn't have any built-in information. color name is going to be or whether it should start doing RGB values instead.
So it doesn't have any built-in information. It's not like it's got one field for here is text goes here, numbers go here, here are
three numbers, here is your range.
That probably would have been a nice thing for me to do for it, but that sounded like
a lot more work than just handing it this text file and saying you figure it out and so the text file had
the rgb values and then the words that went with them and is it like you would put in a code for
red zero zero two fifty five and um that isn't rgb whatever you put in the code and then you say the correct answer is
red and it learns that way or do you put in the whole thing and say how does how does that work
so it's learning from example so the examples that i had were things that Sherwin-Williams was saying was the correct answer. So, it would say, I don't know, 166, 119, 109, the correct answer is lilac breeze. And then there would be another sequence of numbers and say, okay, and the word that comes after this is you know sunset red or something like that
and uh so this was what it was what it was getting as an example is trying to imitate
trying to figure out first of all like what numbers should it even use and like how do you
even format a triplet of rgb values so it had learn that. It had to figure that out just by example.
And then it had to figure out that along with the RGB values, there is some kind of text, like things that aren't digits. And okay, which things do we use there? Like, okay,
there are some spaces, maybe there's some capital letters. So it really was figuring all this out
just by example, all the way from scratch. So if you look at what
it was generating as it was first starting out, it was just a meaningless jumble of numbers and
letters. Like there was no RGB value. There was no name to start with. It had to figure all of that
out. And so the reason it ends up with actual colors like sane green and horrible gray are because those are very common words in
it. So we got used to, well, after a G, there's probably an R and after an R, there's probably
an A or an E. Is that how you end up with actual colors? Yeah, that's how I was doing it. And so
one of the first letters it would learn words it would learn
how to actually spell was the word gray because that came up a lot and i think blue was another
early word that you would see it come up with and uh then as it kept learning you would start to see
more of you know the maybe you would learn the word sunset or the word green and you'd start to get you know it'd figure
out more and more of these and as it uh kept going it got it would i would actually seem to
be not 100 reliable but better at saying okay if i use the word tan in this uh name then when i do
the rgb values it's going to have to have like these numbers that put it
kind of in the tan territory. Well, yeah, I mean, turdly is actually really quite
perfect as far as its color goes. I think that was a coincidence. I don't think it had any examples
of what RGB values go with the word turd. But there are some that are just letters.
I mean, Dondorf, D-O-N-D-A-R-F,
just sounds like it didn't find a word.
It just...
I'm pretty sure it's a Legend of Zelda character.
Yeah, I think so.
It is now.
So it is just the letters.
There's no word part here.
Right. And that was another option that I could have gone with, is there are versions of RNNs that work on the word level instead.
So instead of predicting the next letter or number in a sequence is predicting the next word.
Yeah, I remember Robin Sloan, when he was on the show, talked about being able to generate
stories that way. And they were nonsense, but it was fun to be able to just, you know,
after the word once should be upon and then a time sort of word word level and so can you tell us what an rnn is is it
i mean i use a lot of neural networks and i mostly use convolutional neural networks which is a
a thing we use for images but rnn's are different uh can you tell me how
yeah you can think of an rnn as you know if you've ever played the parlor game Exquisite Corpse, it was all the rage in the early 1900s.
Well, in that, yeah, maybe not.
But in that game, the idea was you would have a, you would have this piece of paper that would get passed around the room and everybody would when the paper got to you you would add a word to what was already written and then you would cover up
one word at the very beginning of what was already written so each person who gets this piece of
paper only sees this uh last few words that were written and that way you generate a story that
may or may not make sense and probably wanders around all over the place.
And so the sort of sliding window that it's using to look at the text that it's already written and say, okay, based on this text that I have already written, what is going to be, what do I predict is going to be the next number or letter or whatever in
this sequence. And how do you decide how big that window should be? So often it's based on
how much your computer can handle. So when I'm doing something like cookbook recipes,
for example, I would like to give it as much memory as I possibly can so that maybe it would still know something about the first ingredient by the
time it starts writing the directions. And ideally, I would love it to be able to hold the whole
recipe in memory. But unfortunately, that does make the model a lot bigger. And so usually I'm limited to a memory of about 50 characters,
something like that, 50, 75, somewhere around in there.
And so that puts an upward limit on the memory I can give it.
Sometimes when I'm trying to get interesting effects
out of a not very big data set.
I will deliberately give it a really small memory.
So I have an experiment where I was having it generate Disney songs using a really small memory.
And if I gave it a long memory, then it would memorize entire Disney songs.
That would be no fun.
I'd just get them back word to word but the memory was short enough then it would have no idea
what song it was in the middle of singing it also had the side effect that if it was singing like
hi ho hi ho it would just keep singing hi ho hi ho over and over and over again i had no idea how
many times it had already sung it i feel like we've managed to pretty accurately simulate the human brain under the influence of
spicy food and stomach upset in the middle of the night.
Hi-ho, hi-ho, this happens.
Just repetitive nonsense.
Well, I mean, sometimes the nonsense oh it's it's we draw meaning from it but
it's also kind of it's like watching something else hallucinate is what i'm trying to get
right yeah you know reading its uh dream summaries now that's really weird uh i've got
an upcoming project where i fed it the uh entire contents of this big bank of dream summaries.
Like people just, I don't know, to this database.
Oh, yeah, last night I dreamt that something or something, that's the whole story.
So I've got the neural net trying to imitate that. And yeah, it's even less coherent than the humans, but sounds pretty much like a human telling you all about their fascinating dream you had last night.
And you zone out like one sentence into it because it's not making sense anyways.
Yeah.
So back to the neural network structure, just because I want to make sure there's some tech before I start talking about this black banana cocktail uh the r is for recurrent is that okay uh it's pretty sure
and so when you talk about memory this is feedback like you you put in data
and that data stays in the neural network it It goes from the output back into the input.
Is that sort of how it works?
Like if you were drawing a sketch of it?
Yeah, you can think of it as feedback
because it really does look at what it just wrote
when it tries to figure out what it's going to write in the next step.
So that's true.
And then there are other kinds of feedback that people can build in.
Like there's a
long short-term memory type thing lstm you'll see sometimes and that's like an extra
few bits of information little bits of information that the neural net can use for storage and that
does not expire as the little sliding window progresses it actually will stay in memory for longer.
And it's a little bit mysterious how, if how the neural net decides to use that.
I've seen maybe some evidence that it can use it to keep track of quotation marks,
because I've seen it close quotation marks or close parentheses that ought to be outside of its memory.
That's awesome. Okay, so you have done this for a number of things. There's the paint chips,
there's cookies, pies, but there's also cocktails.
The one I'm looking at is called the black banana.
Yeah.
One and a half ounces of gin, a half ounce of dry vermouth,
an ounce of cream, an ounce of creme de cacao,
half ounce of creme de cacao, rum, lemon juice,
half ounce of creme de cacao, triple sec grenadine,
half ounce of creme de cacao, half ounce of amaretto.
One of the very first instructions is add gin.
Okay, we have gin, vermouth, yeah, yeah and pineapple juice which isn't in the recipe yeah yeah that's the thing about that
lack of memory that it does not remember what went on earlier in this recipe it is guessing
and in fact the memory that this particular one had when it was doing the
black banana i think it was only something like 20 characters long which means that by the time
it is written out one half ounce creme de cacao it has no idea and it starts again writing one
half ounce and it's going to add something else by that point it does not know if it just added creme de cacao and so it says well what should i add oh i know creme de
cacao it really likes it over and over again yeah it's just as likely i guess why is this so funny
i mean it is it is hilarious but it's hilarious for reasons i don't understand i
mean there's there's no banana what how is this funny well you know the recipes in particular
there's this implied physical comedy which uh i always really like and then it gets heightened
when somebody actually does make the thing like there was a
scavenger hunt last year where people were dressing up as robots and making some of these uh making
some of these recipes and you would see yep sure enough they're adding all these terrible ingredients
and then throwing half of them out and i think my very favorite recipe was this one called small sandwiches and it's got maybe a page of
instructions like really fiddly instructions like you're julienning carrots and then you're
chopping some other carrots and then you're slicing some other carrots and you're you know
you've got all these different you know oh yeah you you mean you're adding bunches of different
copies of the same ingredient but maybe they're cut in some fussy way.
And then at the very end of this long 30, 40 ingredients, something like that, then the first step of the directions is place funny to me is because I immediately imagined some hapless, very intelligent robot that doesn't understand humans or human behavior or food or anything at all.
And it's just trying, it's like, oh, this is what you guys do, right?
Okay.
And so, that's what comes to mind to me.
And so, I imagine there's this happy-go-lucky robot.
Well, and then you julienne the carrots, and then you cube the carrots, and then you you fry the carrots and then you put them in a blender for two hours and it's fine right
yeah yeah but i i don't i don't know what other people think there's also i think there's also
this tension you know because we know it's a neural net that makes it all the better like
it would not be the same if somebody like if i had just made these things up right or
you know selected it from a a array of options that i was presented or something like that
no it's the and there's this kind of tension between what we hear about artificial intelligence
you know in movies and science fiction or what you get some,
you know, grand salesmanship around AI. And then this is an AI and you see, oh, you know,
it actually does not understand what's going on. It doesn't understand what's happening to these
ingredients. You know, this idea of it's a blank sponge mind, you just give it the information and it'll understand our world. This makes it very clear that that's not a you know all society eating super mind it is just a little
box with about as many neurons in there as an earthworm has and it's trying its very best to
understand but it hasn't a clue and so we're expecting terminator and self-driving cars, and we're getting an ice cream with a double scoop of bug and peanut butter slime.
Yeah.
We're getting pumpkin trash.
It's a fair tradeoff, I think.
It's a fair tradeoff.
Yeah.
So the ice cream, this actually started with middle schoolers?
Yeah, that was the middle schoolers was the ones who made that
project possible so they their teacher contacted me and said her coding class had been reading my
blog and they were interested in doing coding projects and then they saw I had linked to TextGen RNN, which was fairly easy to install.
And so the class just installed it and then decided what they really wanted to generate was ice cream flavors.
And what was cool about this is that I had looked before, actually, for a training data on ice cream flavors.
And there really isn't anything. Like, nothing collected
all in one place. You have a few flavors at hundreds and hundreds of ice cream places across
the country, but you'd have to, you know, hand collecting that would take forever. Unless, as it
turns out, you are a class of highly motivated middle schoolers who all divided up this cut and paste work and put together this beautiful data set that was much bigger than anything
that existed.
This was all just an excuse for the kids to drag their parents to ice cream
places, wasn't it?
I would be disappointed in them if they had not managed to get some ice cream
out of this somehow.
And so they built the data set and...
They trained a text gen RNN on it.
And then they did the same thing that I do,
which is generate a whole bunch of flavors
and comb through them looking for their favorites.
And so the teacher, when she emailed me,
she also sent me the favorites of the middle schoolers.
And there were some that, you know, she said,
oh yeah yeah the sixth
graders had liked one style seventh graders like one style the eighth graders tended to like another
style so it was interesting too to see like this uh i don't know if it's evolution of humor or
something like that but the different classes all had their different tastes. And so if you look at the output
from the same neural net, depending on who collected it, you get these three different
effects, which I also thought was pretty fun, fun illustration of really the role of the actual
programmer, the actual creative role that the human has, even when it's an algorithm that's
generating all the words. And while it's a lot more fun to look at the mistakes, it did an okay job. I mean,
some of these sound like good flavors. Cherry, cherry, cherry. Holy lemon monster. I can
actually, you know, I could do that. Honey vanilla happy. And it's Sunday. Those all sound really, yeah, okay, I can get into those.
And yet, I, of course, scroll down to the immediate, oh, my God, cookies and green.
Gravy cashew.
See, that one's great because it rhymes with cookies and cream.
Yeah.
Snake vanilla cream cheesecake.
Snake vanilla. I don't know and and the 13 year olds thought
that death was a good flavor yeah that's that's nice yeah one of the one of the things you have
at the bottom of this post and of many of your posts is uh an offer for people to sign up for your newsletter, which includes the PG-13 flavors.
How do you end up with those?
Well, you know, this goes back to the fact that it's building up these flavors letter by letter. So it's doing, you know, it's just coming up with, well, what
should I put after this A? And what should I put after this S? And any letter is technically fair
game. And it tends to come up with common sound combinations, like, oh, if I do an S, then probably
an H is likely to go after that. And, you know, S-H-I, that should be pronounceable.
And you can see that it can proceed there to spell certain four-letter words
that aren't in its original training data.
And so, I mean, it's funny when it does that.
But I also want to keep my, especially the one for the sixth graders,
want to keep the actual things that go on the blog more PG rated.
That makes sense.
I guess I'm sort of disappointed to find out it's just letters.
I want it to come up with these things.
I want it to have a sense of humor.
Yeah.
I think the humans supply a sense of humor. Yeah. I think it's the humans supply the sense of humor and this thing supplies the
surrealism.
Do you,
do you think you could take all of the hilarious ice creams and all of the
normal ice creams and then train a neural network to identify hilarious things um it could that's an
interesting idea like how can it tell the difference between the real thing and a neural
net thing i mean it might be it might become a fart detector because the word fart does end up in the you know the sort of comedy version yeah
somewhat plausible letter combination four letter combination so i think that's how
so you may get a neural net that is keyed in looking for words that humans find funny
i don't think it would be able to detect puns like these ones, like the
cookies in green, for example, that are like, it's funny because there's a pun in there.
From all evidence that I've seen, these neural nets are very bad at generating puns, and I
doubt they'd be very good at detecting them either. So, yeah, I think it would be looking for certain words,
and then other than that, it might be guessing.
So, other than entertaining us, what are these neural networks good at?
I mean, this does sound like just fun.
What are people using them for? Well, the text generating neural nets,
like the ones that I work with, yeah, I think fun is basically the main application for these. I
mean, you have people like Robin Sloan who are using them to write literature, and that's kind
of cool. It ends up being this tool that's kind of an aid to the author.
So he's having a complete sentences for him or having it generate images.
Oh, yeah, that's kind of nice. I would not have thought of that. He puts it in.
So there's that as an application. But like you wouldn't want one of these talking to customers, for example.
That yeah, that would not be a thing that you would want
these things to do. I mean, there are kind of machine learning based algorithms that are
generating news stories and generating Wikipedia articles. So for certain types of like really
highly constrained technical writing, they can put together a pretty good first draft or at least
some kind of a starting point. So for the Wikipedia articles, for example, they will go
scour the web for citations by a particular scientist who doesn't have a Wikipedia page yet.
There's a project, I think it's called Quicksilver, where they basically got this set up with an algorithm that comes up with these draft Wikipedia articles for scientists.
And it's usually they're focusing on women who tend to be really underrepresented on Wikipedia.
So they're coming up with these draft Wikipedia articles about these scientists.
And then a volunteer editor will look at this article and fix all the inevitable mistakes. But at least there's a starting point,
at least there's references and things to check on so that you're not starting from scratch.
So I think that sort of application for a text generating neural net where it's giving you
draft articles, or in the case of these newspaper articles, it's giving you draft articles or, in the case of these newspaper
articles, it's giving you like really formulaic interpretations of a local election or of a local
sports event. Those are sorts of things that people are using them for right now already.
But this sort of free-form text text having it try to come up with something
creative that's usable or talking to someone no he would not yeah i mean the frequency with which
this thing takes an innocuous data set like my little ponies and manages to come up with a pony
called raspberry turd or you know a pony called blue cuffs or, you know, a pony called Blue Cuffs. Like this sort of gives
you a hint that these things should not be allowed to talk to customers unsupervised.
You mentioned the program that the middle schoolers used, TextRNN. Is that right?
TextGenRNN.
And there's another one you use, CharRNN? That's right, yeah. And there's a couple others
I've used as well. There's one that generates words syllable by syllable, which is kind of fun
for a big data set sometimes. If I wanted to try this, what do I need? How do I do this? If I want to do this at home, what do I need?
Well, I've got an FAQ page on my site. So, aiweirdness.com slash FAQ. And I have links to some of these, you know, some of these algorithms. And you don't need much. So, when I'm running most of these, I'm running it on my laptop. And for a while, for
especially a lot of my early experiments, that was a 2010 MacBook Pro. And it was just running
on the CPU. So I needed patience, but that was about it. Right now, if you want to use TextGen RNN, there's a version of it that's on a
collaboratory notebook that's powered by Google.
So Google's basically donated GPU time for these collaboratory notebooks,
which means that you can run this thing on a much faster computer without having
to install any code or anything.
So that's a really nice way to just try it out with some data set and just get started.
But the data set, I mean, I guess there are some online,
but those are boring because people already have done those.
How big do I need a data set to be?
How many ice cream flavors did you have to start with?
Well, when I first tried it with 200 flavors, it did not go very well. 200 is a ridiculously
small amount, actually. The middle schoolers had 1,600 flavors, which is also pretty small
for a neural network training data set, but it was enough to get to generate some really fun flavors.
So I would say if you're just generating like a word or two,
then a data set that's in the hundreds to thousands will be all you need.
If you're trying to generate phrases or even sentences then you're going to
need a lot more data for this thing to even start making sense you're going to need a lot more data
and a lot more memory um inside the rnn yeah that's true so then the more memory you add the
slower the training process goes.
So you could end up, you know, running this thing on a GPU and still having to run it for hours or days on like a really big data set.
And if you talk about like if you want to publish a result to one of these, the ones that people are publishing is more like, oh, they had a month on this super powerful TPU, multi-TPU machine or something like that.
And they trained it on all of Amazon reviews.
So I don't know, like 10 million product reviews on Amazon.
Someone did that.
And they came up with sentences that are a lot more coherent than anything I have ever managed to generate in
sentence form. So there is something to be said for having a lot of just computing oomph to throw
at the problem. How does this not count as plagiarism? It would be plagiarism if it was copying the exact you know if you were copying the exact stuff
the so if i was saying look it came up with this great ice cream flavor and it was one from the
input data set that's boring and and i'm not sure if you can copyright an ice cream flavor but that's beside the point it's just boring it's more
if i did this with a term paper if i more like what you were saying with the wikipedia
entries if i did this with a term paper myself and i took all of the and i needed to write a
term paper about finland and i took all the papers about Finland I could find and put them through an RNN.
I might get something that was both about Finland and possibly mostly sensible.
Not at this point.
I think that the amount of work you would have to put into this project of generating a Finland paper
and especially fixing the mistakes at the end.
Because of course the thing doesn't know
if it already told you the population of Finland.
So it's going to tell you the population of Finland
like three or four times.
And you're going to have to go through
and line edit this thing and say,
oh, the population of Finland is this.
I will leave this one up front because
you'll have to supply the structure and edit it that way. And I think by the time you do all of
that, you will have done as much work and understood about as much about Finland as if
you had actually written a paper from scratch. So, fair game. Like, if I was a teacher and a student
went that result but ended up with a coherent paper on Finland at the end, I would have to give them credit for it, for writing the thing.
All right.
I'll buy that.
I really will.
Yeah.
I mean, if you started looking at it and you say, oh, no, this thing was actually copying full sentences, which it can tend to do, you do have to watch for that.
So that is the flip side as far
as these algorithms are concerned exactly copying your input data word for word is a perfect solution
to the problem if they're given so if they can possibly do that they will and that's part of why
you need so much data is to stop it from being able to memorize the whole thing. Yeah, that's an over-trained neural network.
Yeah, overfitting can be boring.
It's funny that it's boring in this context, and it's terrible in many others.
Yeah, I mean, we're talking low stakes here.
It's one of the reasons it's good to play on this, because it is fairly low stakes and you end up with funny things, but you're not crashing a car.
You also do images.
How do images work with an RNN?
I'm not generating images with RNN. So I do have some, yeah, I do have some projects in my blog where I am exploring or writing about trained neural nets that other people have done. So the BigGAN neural net that Google recently trained, that I have written a couple of articles on it, just because the images they can get out of it
are so cool and there is definitely some you know artistic fun to be had or some interesting
things to be said if you dive into their data set and look in detail at some of the images that it
generated or look kind of work on generating your own images that are kind of
between the image categories that was trained on there's a lot of interesting nuance and stuff
there and so I've written about that one there is another one that before we go on I want to talk
more about the results you got from this one sure I mean I mean, these are really scary pictures.
You searched for microphone.
So I had the microphone one,
which is a picture of an incredibly scary person,
maybe somebody who came from Pan's Labyrinth that's holding an instrument
and has maybe extra arms.
Christopher's looking over here.
Yeah, that's the thing that happened.
Humans are tough.
So did you just type into the big GAN and say, show me a microphone?
Yeah, in that particular case, yeah, it was give me your best labeled microphone had all sorts of, you know, maybe it was a close-up of the microphone, or maybe it was somebody just holding a microphone.
They were usually on stage with this kind of harsh stage lighting and dark background.
So that's what it ends up making. much variety in the pose, then it doesn't really have enough information to figure out that the
microphone is the silvery thing that sometimes like really small and almost invisible in the
picture it was trained on. So it thinks all of this is microphone. So it generates the person
and sometimes it generates the crowd and the lighting and things like that. But there's so
much to do and so much to keep track of that it doesn't really have the resources to focus on just getting the microphone right or just getting the pose of the person holding the microphone right.
Like if we made it easy on it and we gave it just pictures of one person holding a microphone in the same position, it would get really good at it and this is sort of the principle behind if you see the nvidia results on like nvidia celebrity faces and things like that
they actually are approaching photorealistic and actually really convincing at first glance
that part of why those looked good is because they're all zoom in pictures of human faces cropped very tightly around the head. And there's all in the same pose. And so it's able to keep track of all that they're much narrower problem than having to discover if you're looking at an image that is neural network generated.
And it's like, well, you look at the hair because it can't do hair because hair is pretty confusing between even the same person shot at the same angle on a different day will have different hair.
And so that's a tweaky thing.
Instead of going on with that,
I want to ask you about the teddy bears.
The teddy bears.
The big-ganned teddy bears.
I mean, a teddy bear has a nose and two eyes,
and it doesn't have this many heads.
Nope, and not usually.
Is this back to ages?
I saw lots of different teddy bears, lots of different stuffed animals marked teddy bear,
and some of them were pink and had their guts pulled out.
Well, you never know what's in that data set.
There can be a lot of weird stuff in there
it could be that it was seeing pictures of multiple teddy bears in the same image
but uh that's one thing that uh these gan image generating neural nets have trouble with is
counting and so if you in general like counting number of eyes or counting number of legs on a
spider like if you see it's generated
spiders they've got like 50 bazillion legs because it didn't know where to stop and if you look at
its clock faces or yeah watches clock faces like those will have lots of extra hands like it'll
have hands that branch sort of like a you know know, weird twig or something like that. And so it looks
like a clock straight out of a dream or something. And this is all this tendency of these neural
nets to be focusing on small areas of the image and maybe not synthesizing together. You know,
if we've already generated one head for this teddy bear,
maybe we should not generate another one if we've got one over here.
How can you, I mean, is it possible to introduce that kind of state?
Yeah, people are definitely working on that, trying to make algorithms, GANs that can
keep track of where things are or try and put the subject in the
center of the picture. Yeah, there's a bunch of other tricks that people are using to try and
improve this. Yeah, and the results look so Salvador Dali-ish. Complete with melting clocks.
Yes, they keep melting the clocks here yeah and the the lettering
i really love too like there's a certain look to gan generated text where it's not any identifiable
script it's not any identifiable words that it's generating or anything like that it just kind of looks like squares and lines and
kind of melty and kind of blurry like i would that's kind of what i would imagine text in a
dream to look like so it's really yeah it's really cool to think about the similarities actually
between you know neural nets lack of memory and your sort of dream states lack of memory and your sort of dream state's lack of memory as well. And, you know, people are
finding and or building in some similarities, like taking some ideas from dreams as they're
building neural nets. And so there is definitely some deliberate playing off the idea of dreams,
too, as people are generating these things or building their algorithms.
Looking at the NVIDIA implementation of their identifier networks, where you show it an image and it says what it is, about two years ago, I just, I started thinking, yeah, okay, this is actually working. I mean, even as it wasn't working that well,
it was working very well compared to what I expected.
Do you think, I mean, you said you thought robots had already taken over the world,
but do you think AI really will be in charge?
Do you see a singularity in our future? Well, you know, there's future and then
there's science fiction. And, you know, it's kind of tough to imagine in the very far future
where we possibly could go. But I think when we're talking about neural nets or AI that has this, you know,
comparable mental capacity to humans, we're not close, we're not even remotely close. So,
if you look just at number of neurons, for example, if you're looking at, you know,
the neural nets that I use or the neural nets that these publications are using,
they are, you know, they have a bunch of virtual neurons, but maybe numbering, in my case,
in the few hundreds, in some cases, maybe in the few thousands. But that puts you right about at
a jellyfish level of number of neurons. And if you compare that to a person who has a few, is it million or billion neurons? Anyway, it's way, way, way more. And these neurons have feedback in way more complicated ways than we've been able to implement with our neural nets. So I think if you just kind of look at the scale and complexity
of what a human brain is doing and then what these AI,
what AI is, today's AI is capable of,
there's this just, you know, leaps and bounds difference.
I mean, we are really talking about the difference between, you know,
what we have and what Star Trek has.
So I don't worry about these things getting smart enough to, you know, be thinking for
themselves and making decisions and judgments the way a human would.
In fact, what I think is probably more scary is that they aren't as smart as we think they
are.
And so you get some people who are entrusting them with decisions like who gets parole, for example, or screening resumes and things like that, where we're expecting them and thinking that they can balance a lot of nuanced information and that they can understand you know text they can understand sarcasm they can
understand context and then they come up with an answer and we're treating it the answer as if
it must be objective and fair because it came from an algorithm not from a human
but what we don't realize is these things don't even know what fair and objective is. They have no concept that these numbers correspond to people,
and they really still have a tough time comprehending the nuance of language.
And so what we end up with is algorithms that we think that we're giving them the goal of
weigh the pros and cons of all the different qualifications on
this person's resume and come up with and you know a a prediction of how good employee will be we
think we're giving them that uh problem to solve but what we're really telling them to do is copy
the humans copy the humans in your training data set what would they have done? And as some people have found out, as Amazon
found out with one of their kind of prototype resume screeners, what this thing had learned
was don't hire women. So, it was going through and penalizing resumes that named women's college or
had the word women's as in, you know, women's soccer team or something
on it. So, this shows you, you know, this thing, as far as it knew, this was what we had asked it
to do. It was just trying to copy the humans. And it didn't know that copying the gender
discrimination is not what we really had in mind. But I think the danger right now is that we've got algorithms out in the world
that are making important decisions that are making these decisions based on racist and or
gender biased training data and that people are trusting their judgments rather than checking
their work. Going back to what you were saying before about number of neurons, I certainly don't want a jellyfish sitting on any judicial bench.
I'm not sure that that doesn't go with your brand.
I know. I do like jellyfish.
I mean, your entire government would be populated with jellyfish, nudibranchschs and octopi well i mean a nudibranch has 18 000 neurons a jellyfish only
has 5600 watch me check check me out on wikipedia oh yeah i visited that page humans have a hundred
billion with a b but most of them aren't very good
and this whole you only use 10 of your brain thing is totally debunked that is not true
so stop saying it and even 10 of 100 billion is a lot is way more than this little jellyfish has
so i think yeah what makes ai look smart is when you give it a really, really narrow problem to do.
Like if you're NVIDIA and you tell it to just generate faces of celebrities, wow, it does a really good job.
It has no idea what's below the neck on these celebrities or that people even have bodies.
That was not a thing that it had to learn to do. So it makes it look smarter the more you give it to do the more you see the difference between
its performance and performance of like an actual human with all those neurons
so some of these problems come about because of inherent design limitations um number of neurons
a style of neural network we talked about recurrent neural networks and the generative, I don't remember what the A is for, the GANs.
Adversarial.
Adversarial.
And I think on the show before, we've talked about the CNN, the convolution neural networks, where you have different layers for images and you can talk about edges.
So those are all inherent design and limitations.
But then you also mentioned the biases that Amazon was recently highlighted for,
and they are not alone.
They come about through the training
that's not a limitation in the design that's a limitation in the input
yeah that's definitely an important aspect how do we identify which problems come from each i feel
like the whole ai weirdness thing is very helpful in identifying that
there are problems and that the problems come about in different ways.
Which problems come about through training versus the inherent design
limitations of neural networks?
So there's, yeah,
you get problems that arise from all of these things. I mean, you've got the training data that has the bias in it, and then you have neural nets that don't know enough to overcome this bias because they're, you know be able to figure this out for you. So, it, you know, there are, yeah,
there's multiple levels here, and you just have to check. Like, I think screening the outputs of
data of these big data crunching algorithms, like especially the ones that are making important
decisions that are going to impact people. I think screening those for known kinds of bias and just,
you know, running through a bunch of statistics and looking like, did it pick up any bias?
I think that should be a regular part of rolling out any of these algorithms. And if picked up
bias, then you say, okay, there was something in this data set. Let's go check that out.
Like for the, when I was generating cookbook recipes, I was seeing in this data set. Let's go check that out. Like for the when I was
generating cookbook recipes, I was seeing both kinds of errors at once. But then I would also
see that this thing would be spending a lot of its brainpower trying to figure out how to format
ISBNs and recipe sources and websites like it had to it learned how to format a url and all this extra stuff at the end of a
recipe because i hadn't told it not to or other things i would say oh ingredients one electric
mixer and i'm like haha i thought an electric mixer was an ingredient but then i went back and
looked at the training data i had given it and sure enough there were some recipes in there that were calling for ingredients like one electric mixer.
Do you use AI weirdness to expose the algorithmic and data bias?
I mean, is that part of your goal?
Or are you just having a good time?
This has been to sort of illustrate through these really approachable human understandable data sets,
just how little these algorithms understand about what they're doing, about the data sets they see,
about humans, about our world. And so I'm hoping that that helps people to see that these things actually aren't all that smart.
And also to intuitively see, oh, yeah, I can totally see how it would pick up bias from its data set.
That's totally something we should work on.
And this is all a hobby.
You work with optics.
How does that relate to neural networks?
Well, it relates in only tangential ways, actually.
So actually, one of the things that I'm working on is a programmable hologram.
So you can actually like a computer-controlled engineered mice whose neurons are sensitive to light.
And so if you zap the neuron with a microscope but on a track bar in a
virtual reality maze or and and looking at things you can start to do experiments with active
selectively activating different neurons as the mouse is going about its business
and that's where the hologram comes in is is turning your laser beam into hundreds of different laser beams that you can use to zap whole groups of neurons at once.
And so people are starting to do experiments that can illustrate some of these different layers in the actual biological neural networks in a brain and figure out how those work together.
And so it's been really interesting to see where the similarities are between those and what we're using in the artificial neural networks. So that's cool. And that's
one tie-in. Other times when I've tried to do tie-ins, actually, I usually end up starting out thinking I'll solve a problem with some kind of search
algorithm or some kind of, you know, machine learning type thing. And then as soon as I
understand the problem well enough, I realize, oh, now that I understand what's going on,
I don't need to use this algorithm anymore. There's a formula from the 1960s that solves this problem very neatly and i'll just use that boom
done yeah uh so where where do i sign up to work on virtual reality for mice because i'm in for
that i i think i'd be good with that i i think I think I could really create a good mouse environment.
Do you do augmented reality for them too?
Sometimes.
There's like whisker brushes.
So for them, like whisker brush is a really important part of their reality.
So actually like flicking their whiskers can be a big part of making it seem like they're actually in a maze.
And then I had also a short, sadly short-lived project where we were building a virtual reality arena for mantis shrimp.
And that was a lot of fun.
So if you're not familiar with mantis shrimp or if your listeners aren't these are these little uh stomatopods that are
like they they look like tiny little crayfish or lobsters or something like that cross between a
crayfish and a praying mantis and they're like the t-rexes of the underwater world so they're
predators some of them are really brightly colored they can punch holes in clams to eat them. The big ones can punch holes in your
aquariums. You have to keep them in special aquariums. They're called thumb splitters
sometimes. Like they're these really badass creatures. But one of the things that's most
fascinating about them is that their eyes are weird and really, complicated like they've got these two eyes on stalks and each
eye by itself has binocular vision and uh they can move the eyes move independently and can like
track prey independently and they have polarization vision as well so they can see like the different
directions that the light waves are traveling and they can see like the different directions that the light waves are traveling
and they can see kinds of polarized light that basically no other animal can there might be a
couple others that can see circularly polarized light but maybe not so their eyes are really
interesting but we don't know like how are they even using this information like we know
some of the stuff that they should
theoretically be capable of detecting but we don't know whether they're actually using polarization
information to track prey for example it could just be accidental and maybe they're not even
paying attention to that information so that was where building a virtual reality arena for them
came in because then we
could show them little movies made in polarized light and say okay is it tracking the prey animal
now if it's only you know the only contrast is that it's a different polarization can it still
see it is it still want to eat that i'm just the the mental picture of a little mantis shrimp with a tiny HTC Vive on.
It's just really.
But mantis shrimp also see colors.
We don't.
How can you provide those?
So they can see into the ultraviolet.
They can see into the infrared.
And our puny little RGB screens aren't going to cut it. Like we have these three red, green, blue values
that can trick us into thinking
we're seeing basically any color of these rainbow.
And with these guys,
RGB is not going to trick them
because they can see all these other colors in between.
They're like, well, where's the infrared color?
This is clearly not a natural environment here uh so we were we were looking at actually making a display that could have all
these other colors in it and could have polarization light light polarization modulation
like really advanced system that's that's that's not even a multi-thousand dollar display.
That's a really wow display.
Yeah, so this was funded by the insect research lab at the Air Force.
Because they are really interested in how small eyes can see and detect stuff.
And so, you know, that's how come there was actually funding to do this.
So along with studying insect, you know, they fund a lot of insect research, basically,
or insect vision research.
And so they were funding this.
That, I mean, okay, I just, VR for, yeah, Christopher's also giving me the time signal because I'm, he knows that I'm sea creatures.
You can do VR with sea creatures?
What about octopus?
So, and I shouldn't, I really shouldn't.
So let me, let me ask you a final question.
And that is, that is, what is the name of your cat?
We've been hearing him a little bit.
Okay.
I just want people to know.
Her name is Char, as in Char, R-N-N, but that's a coincidence.
Yeah, I'm not surprised you were hearing her because she's a 14-pound giant tortoiseshell cat.
There was some purring.
And you do say it, Char, R-N-N, not car.
Yeah, that's how I say it.
I don't know. I never see these things, you know,
I see these things written down. It's like...
It's just funny. Somebody's going to email us and say, no, you're pronounced a car. But I don't care. Charlie's fine.
We'll delete the email.
We'll delete the email.
Don't forward that one to me. It certainly is one of those things that I look forward to when they come out because it is almost always a giggle fest.
It was hard to prepare for the show because I kept getting lost.
There were so many things we haven't talked about.
You did parliamentary motions that are just hilarious and snake names.
So many things.
So I really encourage listeners to go check out Janelle's website.
But before we close up the show, Janelle, do you have any thoughts you'd like to leave us with?
Yeah, pointing out that if you go to my website, I also have a mailing list that we mentioned where you get all the really good stuff.
That is the stuff that I couldn't quite print or wasn't quite willing to print on my main website.
So if you get on that list, then you can get the bonus material each week. Or if you just want it from one week, you want to see the unprintable pub names, for example, which are remarkably unprintable. If you're in the United States,
some newspaper in UK did print them. But then you can just sign up for that one and be on my like,
once in a while, like I won't ever bug you. I haven't ever used it so far, email mailing list.
But in the next couple of months, I will use it to announce my upcoming
book. I am writing a book on artificial intelligence, and it's going to be
really pop culturally, lots of cartoons, lots of jokes, lots of really weird examples. It'll be
called You Look Like a Thing and I Love You. And it's going to be coming
out later this year. So if you get on my mailing list, you can be the first to know when that's
available for pre-order. You Look Like a Thing and I Love You? Yes, that is straight off of a
pickup line that a neural net generated who was trying to do pickup lines. And that was actually a pretty
good attempt. It was better than by far than any of the training examples that it had.
And little cartoons that are on, well, on the ice creams and on the cookies and all of these things.
Do you do those?
Yes, I draw most of those myself. Oh, thank you so much. Janelle, thank you for being with us.
Oh, thank you so much for inviting me. This was a lot of fun.
Thank you to our patrons for Janelle's mic. We really appreciate your support. And if you'd
like to support the show, go to embedded.fm and hit the support us link on the top bar.
Thank you also to Christopher for producing and co-hosting and you for listening.
You can always contact us.
If you haven't figured out how yet, you'll figure it out.
And now one of the posts we didn't talk about was Janelle's joke generator.
So I have a couple of jokes for you.
How many engineers does it take to change a light bulb?
A star, an alligator, and because they are bees.
What is a neural net's favorite pastime?
A bacon on a book with a rooster.
And finally, what did the neural net say to the programmer?
A joke. We did not put them there and do not receive money from them. At this time, our sponsors are Logical Elegance and listeners like you.