Embedded - 275: Don’t Do What the Computer Tells You (Repeat)

Episode Date: October 7, 2021

Janelle 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 book is You Look Like a Thing and I Love You. Sign up for her newsletter to get the PG-13 versions of her hilarious AI outputs.

Transcript
Discussion (0)
Starting point is 00:00:00 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 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, is still going as a hobby, a somewhat
Starting point is 00:00:46 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 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 an episode that requires a little bit of laughter. But before we do all that, or maybe getting started with that,
Starting point is 00:01:44 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.
Starting point is 00:02:11 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 you in your own net have called it?
Starting point is 00:02:40 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.
Starting point is 00:03:10 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.
Starting point is 00:03:39 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.
Starting point is 00:04:04 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 the normal part of our show, because we have been talking about this algorithm and what it's telling you to do 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
Starting point is 00:05:14 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 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.
Starting point is 00:06:02 Yeah. Oh, yeah, it was. It was a Raspberry. I didn't realize that. It was a right 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 ponyony 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.
Starting point is 00:06:38 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, 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
Starting point is 00:07:15 all hover. And another one that just said you hack. Great Valentine's messages. I think we mass-produced that one yeah i'm thinking about it okay so the paint chips um looking at pester pink and seeing cyan bright bright turquoise teal blue, blue. I like saying green, which was blue. Yeah. And gray pubic, which is also bright blue, I believe.
Starting point is 00:07:54 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.
Starting point is 00:08:47 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 00255 and 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 that work? So it's learning from examples. So the examples that I had were things that Sherwin-Williams was saying was the correct answer.
Starting point is 00:09:46 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 so this 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 to 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,
Starting point is 00:10:36 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 get, you know, it'd figure out more and more of these.
Starting point is 00:11:47 And as it kept going, it got, it would actually seem to be not a hundred percent reliable, but better at saying, okay, if I use the word tan in this 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.
Starting point is 00:12:26 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.
Starting point is 00:12:47 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 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 thing we use for images, but RNNs are different. Can you tell me how? Yeah, you can think of an RNN as, you know, if you've ever played the parlor game
Starting point is 00:13:47 Exquisite Corpse, it was all the rage in the early 1900s. Well, in that, yeah, okay, 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 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, OK, 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
Starting point is 00:14:46 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
Starting point is 00:15:43 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 if 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.
Starting point is 00:16:20 I have 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. Well, 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 at, right? Yeah, you know, reading its dream summaries. Now that's really weird. I've got an upcoming project where I fed it the entire contents of this big bank of dream summaries.
Starting point is 00:17:08 Like people just, I don't know, went 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. The R is for recurrent. Is that okay? I was pretty sure. And so when you talk about memory, this is feedback. Like you put in data and that data stays in the neural network. It goes from the output back into the input.
Starting point is 00:18:07 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.
Starting point is 00:18:45 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,
Starting point is 00:19:30 ounce of cream, 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
Starting point is 00:20:13 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 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 no banana. How is this funny? Well, you know, the recipes in particular, there's this implied physical comedy, which I always really like. And then it gets heightened when somebody actually does make the thing like there was a
Starting point is 00:21:05 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.
Starting point is 00:22:13 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 this happy-go-lucky robot. Well, and then you julienne the carrots and then you cube the carrots and then you fry carrots, and then you put them in a blender for two hours, and it's fine, right? Yeah. But I don't know what other people think. I think there's also this tension.
Starting point is 00:22:36 I 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 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
Starting point is 00:23:56 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.
Starting point is 00:24:28 So 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
Starting point is 00:25:29 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,
Starting point is 00:25:51 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, 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 you know something like that but the different classes all had their different tastes
Starting point is 00:26:23 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.
Starting point is 00:27:15 Gravy cashew. See, that one's great because it rhymes with cookies and cream. Yeah. Snake vanilla cream cheesecake. Snake vanilla. I. Snake vanilla. I don't know. And the 13-year-olds thought that death was a good flavor. Yeah, that's nice. of many of your posts is uh an offer for people to sign up for your newsletter which includes the
Starting point is 00:27:49 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'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.
Starting point is 00:28:49 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 the sense of humor. Yeah. I think it's the humans supply the sense of humor and this thing supplies the surrealism.
Starting point is 00:29:11 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
Starting point is 00:29:35 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.
Starting point is 00:30:32 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.
Starting point is 00:31:15 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 for the web for citations by a particular scientist who doesn't have a Wikipedia page yet. There's a project I think is called Quicksilver, where they basically got this set up with an algorithm
Starting point is 00:32:06 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
Starting point is 00:32:54 sports event those are sorts of things that people are using them for right now already but this sort of free form text having it try to come up with something creative that's usable or talking to someone, no, you would not. Yeah. I mean, the frequency with 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. 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.
Starting point is 00:33:44 And there's another one you use, CharRNN. That's right. Yeah. And there's a couple others I've used as well. Uh, 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, if I want to do sit home, what do I need? Well, I've 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
Starting point is 00:34:33 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?
Starting point is 00:35:20 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 once you're, 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 inside the RNN. Yeah, that's true. So then the more memory you add, the slower the training process goes.
Starting point is 00:36:25 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. 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 like 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
Starting point is 00:37:34 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, more like what you were saying with the Wikipedia entries. If I did this with a term paper myself 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.
Starting point is 00:38:29 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 per on Finland at the end, I would have to give them credit for it, for writing the thing.
Starting point is 00:39:10 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 that they're given. So if they can possibly do that, they will.
Starting point is 00:39:36 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 overtrained neural network. Yeah. Oh, yeah. Overfitting is can be boring. It's funny that it's boring in this context. And it's terrible in many others. Yeah, I mean, 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?
Starting point is 00:40:20 I'm not generating images with RNN. So I do have some projects on 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.
Starting point is 00:41:29 You searched for microphone. So how did 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. People, humans are tough.
Starting point is 00:42:02 So did you just type into the Big GAN and say, show me a microphone? Or did you? In that particular case, yeah, it was, give me your best shot at generating a picture of a microphone. And of course, the images that it was looked at, that looking at that were 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
Starting point is 00:42:56 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 try to learn all the different ways you could position them on your phone that makes sense and some of those i've i've read some articles about how to discover if you're looking at an image that is neural network generated.
Starting point is 00:44:08 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?
Starting point is 00:44:51 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 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 watches, clock faces, like those will have lots of extra hands. Like it'll have hands that branch sort of like a, you know,
Starting point is 00:45:43 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 or yeah people are definitely yeah people are definitely working on that trying to make 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.
Starting point is 00:46:35 Yeah, and the results look so Salvador Dali-ish. Complete with melting clocks. Yes, they keep melting the clocks here. Yeah, and 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
Starting point is 00:47:17 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, do you think AI really will be in charge? Do you see a singularity in our future?
Starting point is 00:48:26 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 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 today's AI is capable of,
Starting point is 00:49:54 there's this just leaps and bounds difference. I mean, we are really talking about the difference between 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,
Starting point is 00:50:47 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 a prediction of how good an employee will be. We think we're giving them that problem to solve. But what we're really telling them to do is copy the humans. Copy the humans in your training data set.
Starting point is 00:51:42 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
Starting point is 00:52:25 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. Sure. 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
Starting point is 00:53:20 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, number of neurons, style of neural network.
Starting point is 00:54:19 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.
Starting point is 00:55:07 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, brain of a worm. They're not going to be able to figure this out for you so i it you know there are yeah there's multiple
Starting point is 00:56:06 levels here and you just have to check like uh i think screening the outputs of data of these uh big data crunching algorithms like especially the ones that are making important decisions that are going to impact people i think uh 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 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
Starting point is 00:56:54 figure out how to format ISBNs and recipe sources and websites. 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, ha ha, 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,
Starting point is 00:57:56 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
Starting point is 00:59:14 activating different neurons as the mouse is going about its business and that's where the hologram comes in is create 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 some 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,
Starting point is 01:00:17 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. So where do I sign up to work on virtual reality for mice? Because I'm in for that. I think I'd be good with that. I think I could really create a good mouse environment.
Starting point is 01:00:46 Do you do augmented reality for them too? Sometimes. There's like whisker brushes. So for them, like whisker brushes are 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, are these little uh stomatopods that are like
Starting point is 01:01:26 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, really complicated. Like they've got these two eyes on stalks, and each eye by itself has binocular vision, and the eyes move independently and can track prey independently,
Starting point is 01:02:17 and they have polarization vision as well, so they can see 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
Starting point is 01:03:02 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 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?
Starting point is 01:03:34 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 the infrared color this is clearly not a natural environment here 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
Starting point is 01:04:18 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 that's how come there was actually funding funding to do this so along with studying insect you know they're 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?
Starting point is 01:05:13 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.
Starting point is 01:05:43 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. We'll delete it. Charlie's fine.
Starting point is 01:06:08 We'll delete the email. We'll delete the email. Don't forward that one to me. I have really enjoyed AI Weirdness. 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.
Starting point is 01:06:44 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? 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
Starting point is 01:08:06 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 by far than any of the training examples that it had. And little cartoons that are on the ice creams and on the cookies and all of these things. Do you do those? Yes, I draw most of those myself.
Starting point is 01:08:44 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
Starting point is 01:09:00 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?
Starting point is 01:09:35 A bacon on a book with a rooster. And finally, what did the neural net say to the programmer? A joke. Embedded is an independently produced radio show that focuses on the many aspects of engineering. It is a production of Logical Elegance, an embedded software consulting company in California. If there are advertisements in the show, 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.