(ELOG 7 for CS3790: Cognitive Science)
Artificial neural networks are kinda nifty. To learn more about them, I thought I’d try playing with one. Here’s a couple of the places I tried: Blackjack with Reinforcement Learning and Java Mouse Neuron Test.
The first site uses an ANN to learn how to play Blackjack. You can start by playing alongside the computer in real time. The computer plays randomly at this point. If you want the computer to start playing better, the computer needs some alone time to get to learn the rules a little better. I set it to a 1000 learning episodes of 100 games each. As you run through the training you can watch the computers win average improving. It steadily goes from about 30%, which is about what you get playing randomly – to 40%. It then sits around 40% slowly improving. It’s impossible for the computer to really get above 50% since the game’s odds are weighted in favor of the dealer (the applet doesn’t account for pushes or splits).
It’s interesting how with just a few training episodes the computer can start really playing a better game. It’s hard to observe the overall difference playing as hands as slowly as a human needs to, but you can see the computer making more informed decisions after the training. ANNs are kind of nifty like that.
I decided to try to improve the training. I experimented with different values for winning and losing weights. Trying to find the right balance of reward/punishment to encourage learning in the quickest manner possible. I found weighting a win heavier than a loss was a quick way to favor learning, since losing is expected over 50% of the time any way. Weighting the wins too heavily did cause a lot more oscillation however, since the network started to think it understood what was going on just because of a chance win more often.
The other ANN I played with didn’t have any sort of training whatsoever. The associated paper discusses designing a neural net that learns more like a person and less like a computer with the hand of god involvement you’ll typically see. In the real world, there’s not someone to tell you every time whether you responded correctly or not, so the network was designed to learn in whichever way it desired, without a person telling it whether its actions were correct or not. I was able with a few tries to get the mouse to start to circle the goal without any sort of training whatsoever. I’d like to play around with this idea further - no training ANNs…
(ELOG 8 for CS3790: Cognitive Science)
Artificial Life is an interesting concept. The idea is to make computer programs that model life in interesting ways and study them with the hopes of learning more about the process of evolution itself. For example, some A-Life programs start with a single creature programmed to learn about its environment and adapt. These creatures soon develop complex strategies that were not originally programmed. This is the case in the classic example of Animats.
The other possibility for A-Life programs is simulating entire ecosystems of artificial life. These I find more interesting, because they more often include genetic components and simulate natural selection. One such simulation is Noble Ape. I downloaded it and gave it a whirl. (Download Noble Ape Here.)
It includes all sorts of features, including weather simulation, random maps, senses for the simulated monkeys, etc. It even shows a simulation of their brain. The program even allows for scripting the monkeys to give them certain characteristics. All in all, it’s pretty fascinating watching the monkeys roam around trying to learn stuff.
The interface is kind of a pain to learn to use. The monkeys have several variables that define their overall behavior - including energy levels, fear, desire, along with location. These are presented in a sort of nonsensical array of gauges that don’t really make sense at first. It takes a little bit of practice, but it becomes easier to understand what is going on and you begin to see how their programming is really affecting their behavior.
A-Life doesn’t just focus on such complicated models though, it can also deal with simpler models. Lotus Artificial Life has some such examples. From the simple rules of the automata they have created, complex shapes and self replicating automata will form. This kind of study focuses more than the previously discussed examples on the effects of evolution.
(ELOG 6 for CS3790: Cognitive Science)
One of our guest lecturers for Cog Sci in the past few weeks was a guy from a group at Georgia Tech investigating BCIs - Brain-Computer Interfaces. He had a very interesting topic to talk about - becoming cyborgs. There is a lot of interesting research being done in the area of interfacing computers with nervous systems. There are wheelchairs controlled by thought and robotic arms that respond to the same impulses our brain uses to control our real arms.
To me, one of the more interesting points of research pointed out by the lecture was the work of Kevin Warwick. He has had an array of electrodes implanted into his arm and used it to control, over the internet, an arm. Not only could he control it, but he was also able to receive stimulus from the arm, allowing him to control it blindfolded. His wife got an implant as well, and they set up bidirectional communication between the implants controlled by thought. (Read more about it in his paper: “Thought communication and control: a first step using radiotelegraphy”)
The result - a crude, but completely thought-driven means of communication. Kevin was able to send finger twitches to his wife, who would feel the twitches and could accurately identify them, and she could send back the same. This is a really cool idea to me. The ability to transmit thoughts, even if they are only simple twitches for now, is something that could be an extremely useful tool and lots of fun too.
What’s this mean for the average joe? Well, nothing for right now. But with all of the advances science has been making, bionic eyes, robotic arms, remote controlled rats… we could be seeing a future where people are as much machine as they are person. Being able to connect to the internet with a thought, being able to get a limb replaced with the full ability of the original arm… None of it seems quite as far fetched any more. Science has begun to understand the brain to the point where we can create technology that taps directly into it.
(ELOG 5 for CS3790: Cognitive Science)
Memento is an interesting movie. I mean, yeah, it’s got the whole doing the entire story backwards thing. But it’s also got a character with anterograde amnesia [wikipedia]. Anterograde amnesia is something I first encountered while watching Memento. Whenever you hear about amnesia in movies, it always seems to be retrograde amnesia – the kind that always happens in soap operas – so I’d never really heard about anterograde amnesia. Apparently it’s more common though.
Anterograde amnesia largely occurs in one of two ways: drug-induced or trauma-induced. Drug induced amnesia can be overcome with time, but trauma-induced damage is typically permanent. Either way, the amnesia is caused by damage to the memory systems of the brain. While we are still unclear on how memory works in the brain, we do know the areas generally responsible for memory. The typical suspect in cases of anterograde amnesia is damage to the medial temporal lobe (MTL). The medial temporal lobe includes the hippocampus.
Memento features a character who is bashed over the head, causing damage to this area of his brain and destroying his ability to form new memories. The extreme extent to which he has this trouble may seem somewhat far-fetched, but if you’ve ever seen anything about Clive Wearing [youtube] then you can consider the main character of Memento as practically normal by comparison. The debilitating effect anterograde amnesia can have on a person is best exemplified in the movie when the main character is trying to remember a person as an enemy and finds himself struggling to find a pen to write this important fact down while he tries to keep the thought in short-term memory using rehearsal.
Anterograde amnesia often only involves what is know as declarative memory – memories of facts, such as what happened when. Often time the amnesiac retains the ability to form new habits or even simple skills and this is known as non-declarative memory. Also, in many cases, the person completely retains memories from before the cause of their illnesses. The contrast between these types of memory and how they are affected by anterograde amnesia definitely shows that the MTL is not the only place memory is dealt with in the brain. We see the main character in the movie using these differences to his advantage by using procedural habits to deal with his lack of memory.
Altogether, Memento is as intriguing a movie as anterograde amnesia is a condition. It’s definitely worth watching, even (or especially) if it was edited together to play out the story backwards. (Each colored scene in the movie happens chronologically before the scenes shown after it, and the black and white shots spliced in happen before all of the color events.) In fact, this style of story telling makes perfect sense from the point of view of the main character, whose life is not linear, but just a bunch of independent scenes.
Recently my friend Mike was looking for a service to sync his documents between his laptop (Linux) and his desktop (Windows). This is often a tricky problem involving a USB stick or something of that nature, but he wanted something more automatic. I told him I knew of nothing that would quite fit the bill.
Of course, my other friend Tom decided that there must be a solution out there somewhere and did some googling. He found this little gem:
getdropbox.com
I don’t really have to much need for such a program, but I decided to download it anyway. I must say it is rather nifty. After installing the program and registering it to your account, you are given a folder that represents your Dropbox. It acts just like any other folder in your filesystem except for one very important rule - in the background the Dropbox program is constantly checking for updates to the folder and updating as necessary. After syncing with the online storage, any other computers running dropbox and set up for the same account will see and automatically download changes.
But that’s not all! Since it all works by syncing remotely, you also have the option of logging in through the web interface to download files you might need without having to install the program on another computer. It also can help you undelete or roll back changes.
But wait, there’s more! Not only can you log in and get access to your files, but you can also put files into the public folder in the dropbox and share them with friends via a link. Or you can put the files in your photos folder and create a gallery that can be viewed in slideshow form.
And that’s not all! You can also invite users to share folders in your dropbox. Then any of them can make changes and everyone will be able to see the changes instantly. That’s really sweet for collaboration on a group project.
So, if you’ve ever been wishing for an easier way to keep files in sync between multiple computers or for a way to instantly share some of those files with friends without having to upload to something like flickr, look into dropbox. While it’s in beta, you’re limited to a free 2GB storage limit. They have plans to offer a paid 50GB storage limit down the line, once testing is complete.