Introduction to an artificial mind

I don’t want to get technical right now, but I thought I’d write a little introduction to what I’m actually trying to do in my Grandroids project. Or perhaps what I’m not trying to do. For instance, a few people have asked me whether I’ll be using neural networks, and yes, I will be, but very probably not of the kind you’re expecting.

When I wrote Creatures I had to solve some fairly tricky problems that few people had thought much about before. Neural networks have been around for a long time, but they’re generally used in very stylized contexts, to recognize and classify patterns. Trying to create a creature that can interact with the world in real-time and in a natural way is a very different matter. For example, a number of researchers have used what are called randomly recurrent networks to evolve simple creatures that can live in specialized environments, but mine was a rather different problem. I wanted people to care about their norns and have some fun interacting with them. I didn’t expect people to sit around passively watching hundreds of successive generations of norns blundering around the landscape, in the hope that one would finally evolve the ability not to bump into things.

Norns had to learn during their own lifetimes, and they had to do so while they were actively living out their lives, not during a special training session. They also had to learn in a fairly realistic manner in a rich environment. They needed short- and long-term memories for this, and mechanisms to ensure that they didn’t waste neural real-estate on things that later would turn out not to be worth knowing. And they needed instincts to get them started, which was a bit of a problem because this instinct mechanism still had to work, even if the brains of later generations of norns had evolved beyond recognition. All of these were tricky challenges and it required a little ingenuity to make an artificial brain that was up to the task.

So at one level I was reasonably happy with what I’d developed, even though norns are not exactly the brightest sparks on the planet. At least it worked, and I hadn’t spent five years working for nothing. But at another level I was embarrassed and deeply frustrated. Norns learn, they generalize from their past to help them deal with novel situations, and they react intelligently to stimuli. BUT THEY DON’T THINK.

It may not be immediately obvious what the difference is between thinking and reacting, because we’re rarely aware of ourselves when we’re not thinking and yet at the same time we don’t necessarily pay much attention to our thoughts. In fact the idea that animals have thoughts at all (with the notable exception of us, of course, because we all know how special we are) became something of a taboo concept in psychology. Behaviorism started with the fairly defensible observation that we can’t directly study mental states, and so we should focus our attention solely on the inputs and outputs. We should think of the brain as a black box that somehow connects inputs (stimuli) with outputs (actions), and pay no attention to intention, because that was hidden from us. The problem was that this led to a kind of dogma that still exists to some extent today, especially in behavioral psychology. Just because we can’t see animals’ intentions and other mental states, this doesn’t mean they don’t have any, and yet many psychological and neurological models have been designed on this very assumption. Including the vast bulk of neural networks.

But that’s not what it’s like inside my head, and I’m sure you feel the same way about yours. I don’t sit here passively waiting for a stimulus to arrive, and then just react to it automatically, on the basis of a learned reflex. Sometimes I do, but not always by any means. Most of the time I have thoughts going through my mind. I’m watching what’s going on and trying to interpret it in the light of the present context. I’m worrying about things, wondering about things, making plans, exploring possibilities, hoping for things, fearing things, daydreaming, inventing artificial brains…

Thinking is not reacting. A thought is not a learned reflex. But nor is it some kind of algorithm or logical deduction. This is another common misapprehension, both within AI and among the general public. Sometimes, thinking equates to reasoning, but not most of the time. How often do you actually form and test logical propositions in your head? About as often as you perform formal mathematics, probably. And yet artificial intelligence was founded largely on the assumption that thinking is reasoning, and reasoning is the logical application of knowledge. Computers are logical machines, and they were invented by extrapolation from what people (or rather mathematicians, which explains a lot) thought the human mind was like. That’s why we talk about a computer’s memory, instructions, rules, etc. But in truth there is no algorithm for thought.

So a thought is not a simple learned reflex, and it’s not a logical algorithm. But what is it? How do the neurons in the brain actually implement an idea or a hope? What is the physical manifestation of an expectation or a worry? Where does it store dreams? Why do we have dreams? These are some of the questions I’ve been asking myself for the past 15 years or so. And that’s what I want to explore in this project. Not blindly, I should add – it’s not like I’m sitting here today thinking how cool it will be to start coming up with ideas. I already have ideas; quite specific ones. There are gaps yet, but I’m confident enough to stick my neck out and say that I have a fair idea what I’m doing.

Explaining how my theories work and what that means for the design of neural networks that can think, are things that will take some explaining. But for now I just wanted to let you know the key element of this project. My new creatures will certainly be capable of evolving, but evolution is not what makes them intelligent and it’s not the focus of the game. They’ll certainly have neural network brains, but nothing you may have learned about neural networks is likely to help you imagine what they’re going to be like; in fact it may put you at a disadvantage! The central idea I’m exploring is mental imagery in its broadest sense – the ability for a virtual creature to visualize a state of the world that doesn’t actually exist at that moment. I think there are several important reasons why such a mechanism evolved, and this gives us clues about how it might be implemented. Incidentally, consciousness is one of the consequences. I’m not saying my creatures will be conscious in any meaningful way, just that without imagery consciousness is not possible. In fact without imagery a lot of the things that AI has been searching for are not possible.

So, in short, this is a project to implement imagination using virtual neurons. It’s a rather different way of thinking about artificial intelligence, I think, and it’s going to be a struggle to describe it, but from a user perspective I think it makes for creatures that you can genuinely engage with. When they look at you, there will hopefully be someone behind their eyes in a way that wasn’t true for norns.

I’m funded!!!! Yippee!!!!

Today has been a bit thrilling, I have to say! Pledges to my Kickstarter project had begun to tail off a bit, as expected, although amazingly I was still on target to reach my goal in a couple of days. And then someone posted about it on slashdot and all my fellow geeks, many of whom happened to be leaving the Games Developer’s Conference at that moment, suddenly got to hear of it. Whoosh!

So I’m funded! My life’s work can continue! I get my chance to show you all what I’ve been thinking about this past 15 years, and I promise it’s really rather interesting.

People have already pledged more than I asked for and pledges are still coming in, so if that continues for a little while yet I’ll feel a lot more comfortable about the future and able to buy the tools I need to do a good job. It will also help plug the gap between releasing the software and seeing any new revenue from it.

Not only am I funded, but I’m funded by some incredibly nice people, who are doing it because they believe in the same things that I do, and they want to get the chance to play with the results, not because they want to make money out of me. That feels really good. When things go wrong now, as they surely will from time to time, it’ll be my fault, and not because investors are getting nervous, or people don’t deliver on time, or a publisher is interfering with the design. It may seem perverse but I’m really much happier when it’s my fault and therefore something I have control over.

Anyway, the Kickstarter period is not over yet. There are still 34 days to go! When I started I wasn’t at all sure that this would be enough; now it seems hilarious that we all have to sit here and wait! I’ll say my thanks properly after the project closes, but for now, thank you all so much for your support, whether it was (or will be) money, publicity or good wishes. Love and gratitude to my old friends and hello and thank you to my new ones.

Wow…

Grandroids FAQ

I’m putting FAQs for my Kickstarter project here, so that I can add to them without bothering everyone with updates. Oh, damn! I’ve already thought of another one… So if you have a question, check here first! I’ll add a new blog category.

1. Linux: Several people have asked if I’m going to support Linux. I’m committed to using Unity3D as my graphics engine (I chose it very carefully, and I really don’t think I could make this project happen without Unity). At the moment Unity doesn’t support Linux. It does support Windows, Mac, iPhone, Android, X-Box and Wii, so it’s certainly not impossible they’ll support Linux eventually too. In fact the underlying framework is already very Linux-friendly, so it shouldn’t be too difficult if they think there’s a market. A number of Unity developers have asked for it. However, it’s not something I have any control over. If Unity offers Linux support then I’ll definitely port the game to Linux too, but I can’t do anything until/unless that happens.

2. Collaboration: People have offered to help with the project in various ways, which I’m very flattered by. Thank you. The situation is this: As far as the core engine is concerned, I have to work alone. The computational neuroscience and biology involved is very, very complex and unique, and it has an impact on almost every aspect of the code (and even the graphics). There’s no way I could do this stuff in a collaborative environment. I have to keep everything inside my head, because I’m inventing completely new things as I go, and every time one part of it changes, it has knock-on effects throughout the system. So I’m just not in a position to share the core programming with anyone. Sorry.

Having said that, I’m writing an engine, at both the computing and biological levels. It will have an open API and an open genetics, so everyone is free to write new tools, create new objects and scenes, manipulate genes, create new species, etc. and I’d be delighted if you would do that. This is my living, so I need to retain some of the action, but if you had any connection to Creatures you’ll know that I design things in such a way that people can contribute. This project will be more open than Creatures was, because the technology for it has come a long way since then. Some of this may take a while to roll out, but I’ll be publishing updates as time goes on.

3. The AI: Is it for real? Sure it’s for real! But before anyone who’s not familiar with my work gets the wrong idea, I should point out that these creatures are not going to win Jeopardy! The field I work in is biologically-inspired AI, and I make complex, realistic living organisms. Think rabbits and dogs, not Terminator or Data. Most people don’t really question the nature of intelligence much, but I can tell you, winning a game of chess is easy peasy compared to recognizing the difference between a pawn and a bishop, or picking up the chess pieces. Just because we find something easy now, after years of infant practice, it doesn’t mean it IS easy. Most AI is not real intelligence at all. Especially game AI, which is to intelligence what a portrait is to a person – a shallow imitation of the real thing. What I’m interested in is real, learned intelligence and hopefully the first glimmerings of a real mind, with desires and fears and intentions. It’s much more exciting than a pseudo-HAL.

4. Timing, features, etc. I’m banking on this taking about another year. Hopefully I’ll get enough money to go on a little longer than that and do a better job. I don’t know how long until I have alphas, betas, etc. There’s a lot of very new stuff in this project so I don’t have a precedent. I don’t know what I’ll actually be able to achieve either. I’ve found that the key is to get the biology right. Biology is an incredibly powerful toolkit, and very flexible. Get that core right and lots of happy things will fall out of it. So I don’t work in the normal way, with specifications and schedules and milestones. It cramps my style. My job is to be a good biologist and let the creatures emerge. This is all about emergence.

5. Helping out: Some of you have said you don’t have any money but you’ll spread the word. Great! Thank you! I don’t have any money either, so I quite understand. I appreciate all tweets, posts, articles, submissions, reviews… anything. Well, perhaps not holding a knife to someone and stealing their wallet, but most things. I appreciate all kinds of support, even if just good wishes. Oh, and I read every single comment, etc., so I notice and care, even if I don’t get a chance to reply personally.

6. The name: I had to pick a project name for Kickstarter, so I went with Grandroids because I like it (thanks to Andrew Lovelock for coming up with it!). But I see this as a kind of brand name to describe what I “purvey” in general terms. The game will almost certainly be called something else, but I don’t have a clue what, yet. It depends how the creatures turn out and what world they tell me they want to live in.

7. What will the creatures look like? Dunno. In my head the stars of the show are rather like orangutan babies – fairly shy, semi-bipedal, cute, slightly shadowy creatures whose confidence you have to work hard to win, but we’ll see. I’ve also had requests for tails, dragons and cute eyes. The creatures are physics-based, and that is a very demanding thing, especially since computer physics engines have some strange characteristics. The creatures’  limbs have elastic muscles and the weights of different parts of their bodies have an effect on inertia and balance. It’s quite challenging getting one that has a fair chance of learning to walk and doesn’t fall over when it glances sideways! On the upside, real physics allows real intelligence, as well as complex interactions with the world, and their motion can be quite startlingly natural, compared to animation. Animation is cheating.

8. Evolution. Just so’s you know, this is not a game about evolution. The creatures will certainly be able to evolve in a pretty sophisticated way (perhaps even the most sophisticated way ever tried), but in practice it’s not the primary focus of the game. Natural selection is VERY SLOW, and the time it takes is proportional to both the complexity of the creatures that are evolving and their life span. For these creatures to live long enough for you to get to know them and care about them means that they will evolve very slowly – not that many orders of magnitude faster than happens in the real world. Selective breeding will definitely speed this up a lot, so evolutionary changes will doubtless happen. But the most important thing is actually variation – children will inherit characteristics from both parents and so will have their own unique personalities, even if they’re often problematic ones! Evolution is there, but it’s not the point of the game. I just wanted to be sure we’re all clear on that, because most A-life projects are primarily about evolving very simple creatures with very short lifespans.

Blowing my own trumpet

Okay, try not to cringe, but I really need your help. In the interests of full disclosure, that means money. Or if not money then influence. Please nicely.

I’ll just hit you with the funding pitch right off the bat. There’s a fancy widget I’m supposed to be able to embed in my blog but it doesn’t work in this theme, so here instead is a good old-fashioned hyperlink. Click on the image to take you to Kickstarter.

This is the first chance I’ve had to blog about it, because it’s taken off a lot more quickly than I expected and I’ve had a lot of people to thank and queries to field! It’s only the end of Day Two as I write this and the total is already over $11,000, much to my amazement and thanks especially to some extremely generous donors. I think there’s a real chance we can make this happen, with your help. Which is just as well, because I’ve almost completely used up my own resources after all these years of self-funded research and this is the only way I can continue with my work.

If you’ve already pledged then thank you SO MUCH! I really, really appreciate it. If you haven’t and you’d like to then that’s fantastic. My Creatures game inspired quite a lot of people to think differently about life, and even caused a number of them to take up scientific careers. I’m pretty sure this game will do the same, so it’s in a good cause as well as hopefully being fun. If you aren’t in a position to pledge then I quite understand – I’m not either! – but if you can help spread the word by tweeting, blogging, facebooking or pinning notices to telegraph poles then I really appreciate that too. The wider the news spreads, the more chance I have. Thank you.

Oh, and I see 600 people visited my blog today, which is a fair bit higher than usual, so if you came here via Kickstarter then I’m delighted to see you. I hope you’ll come back! :-)

Incidentally, earlier posts about the design of the artificial brain for this project can be found here, here, here, here, here, here and here. After that I went a bit quiet because I got stuck on a problem that was too complex even to tell you about. But I think I have the answer to that now. After months of banging my head against the wall it just came to me – poof! – while I was driving through the desert thinking about something else. Don’t you just love it when that happens?

[Edit: I fixed the links - whoops.]

So how’s it going?

Just a short post to say that I’m going to tweet my programming journal in real-time, as I work on my new game, so if any of you are fellow Twits, feel free to follow @enchantedloom. I don’t really understand Twitter yet, and 140 characters is just not ‘me’ somehow, but it seems like a good way to keep my nose to the grindstone (or avoid any actual work, possibly) and at the same time let you guys know how things are going. I’d appreciate the company, so see you in Twit-land maybe!

101010

Today is 10/10/10, which is not only one of the relatively rare occasions on which one can write the date without fear of ambiguity in today’s cosmopolitan world, but also the binary expression of the number 42, and hence the Answer to Life, the Universe and Everything.

How can I let that pass without a short memorial to Douglas Adams? After all, it won’t come around again for another century and by then I’ll be getting on a bit and might not remember.

But what memorial? I’ll start with one of my favorite quotes. It’s of no import whatsoever but it still makes me laugh every time I think of it, and what’s bad about that? It’s Douglas in his best P.G.Wodehouse mode. The man was a genius at saying things in a way that catches us short:

‘Dirk, please, if you would,’ said Dirk, grasping his hand warmly, ‘I prefer it. It has more of a sort of Scottish dagger feel to it, I think. Dirk Gently is the name under which I now trade. There are certain events in the past, I’m afraid, from which I would wish to disassociate myself.’

‘Absolutely, I know how you feel. Most of the fourteenth century, for instance, was pretty grim,’ agreed Reg earnestly.

Dirk was about to correct the misapprehension, but thought that it might be somewhat of a long trek and left it.

But here’s something more relevant to both the date and the theme of this blog. Back in the late 90’s my colleagues and I organised a really enjoyable conference on Artificial Life, to which Douglas came. I’d asked him to chair a debate but he balked at this and decided to give an impromptu talk instead (well, fairly impromptu – he tried it out on Richard Dawkins and me the night before in the bar). It was a triumph. Ann transcribed it for us and it now rests for the sake of posterity in Douglas’s official biography. The whole transcript is pretty long (and anyway it’s available on the web in various places), so I’ll just quote a short section for auld lang syne:

I want to pick up on a few other things that came around today. I was fascinated by Larry [Yaeger] (again), talking about tautology, because there’s an argument that I remember being stumped by once, to which I couldn’t come up with a reply, because I was so puzzled by the challenge and couldn’t quite figure it out. A guy said to me, ‘yes, but the whole theory of evolution is based on a tautology: that which survives, survives’ This is tautological, therefore it doesn’t mean anything. I thought about that for a while and it finally occurred to me that a tautology is something that, if it means nothing, not only has no information gone into it but no consequence has come out of it. So, we may have accidentally stumbled upon the ultimate answer; it’s the only thing, the only force, arguably the most powerful of which we are aware, which requires no other input, no other support from any other place, is self evident, hence tautological, but nevertheless astonishingly powerful in its effects. It’s hard to find anything that corresponds to that and I therefore put it at the beginning of one of my books. I reduced it to what I thought were the bare essentials, which are very similar to the ones you came up with earlier, which were “anything that happens happens, anything that in happening causes something else to happen causes something else to happen and anything that in happening causes itself to happen again, happens again”. In fact you don’t even need the second two because they flow from the first one, which is self-evident and there’s nothing else you need to say; everything else flows from that. So, I think we have in our grasp here a fundamental, ultimate truth, against which there is no gain-saying. It was spotted by the guy who said this is a tautology. Yes, it is, but it’s a unique tautology in that it requires no information to go in but an infinite amount of information comes out of it. So I think that it is arguably therefore the prime cause of everything in the Universe. Big claim, but I feel I’m talking to a sympathetic audience.

And he was.

So what did Douglas think about 42? I have a small personal insight into that, because Ann asked him to sign a copy of my all-time favorite book, for my 42nd birthday present. I’ll post that too, because the Web perhaps doesn’t fade as badly as paper. That was over ten years ago. Poor Douglas didn’t make it to my age.

Any Creatures fans (with large houses) out there?

There’s a little bit of history up for sale: Laurence Parry, long-time Creatures fan and illustrious keeper of the Creatures Wiki, just told me that Gameware is selling off two of the three huge models we had made to produce the Creatures 1 backdrop. They’re on eBay (garden; ocean), with a closing date of May 13th. But be warned: they’re HUGE and heavy. You’d need to live near Cambridge and own a van, not to mention a big house!

It looks like Gameware is holding on to the main part of the model, but I hope the other two find good homes somewhere.

Back in those ancient days there were no real-time 3D graphics, and even using 3D to generate 2D sprites and bitmaps was in its infancy. In those days, game graphics were laboriously drawn by hand, and creating such a big scene would have been a major task. I was having a lot of angst about the graphics generally, so one day I sat down and made a little norn burrow out of modeling clay. It was pretty pathetic (I still own it: see below) but it seemed like it might be a feasible approach. So I made a slightly less pathetic one (which I no longer own – I think maybe Gameware has it) and suggested that we make the entire backdrop this way and then digitize it. If I remember correctly, even that would have involved taking photos on old-fashioned film and then digitizing them with a scanner. I remember putting some thought into how to photograph sections and correct for circular distortion. Anyway, we commissioned a company to make the model (I forget who), which they did using modeling foam. They did a great job – way better than my clay! It was a unique approach to creating photoreal graphics, although not long after this, Maya and other 3D packages became available and life moved on.

My first pathetic proof of concept

I would have loved to own the model, but I wasn’t given a chance when Creature Labs went bankrupt – the model and the rights to the Creatures brand went to Gameware before I knew anything about it. But now I simply don’t have room (and I live on the wrong side of the Atlantic), so I hope one of the lovely people with a loyal and longstanding passion for Creatures gets the opportunity to own it. (By the way, please don’t bid unless you’re serious – I’d hate to see the price hiked up unnecessarily).

I still have the airship, which was my favorite object in the game and significant for the back story, but for some reason never made it into C1. That’s enough history for me. I travel light, these days.

It occurred to me recently that my new simulation is likely to hit the streets on or about 20 years from the date when I first started writing Creatures. TWENTY YEARS! Ye gods!

Follow

Get every new post delivered to your Inbox.

Join 684 other followers