Machine learning is a sub-field of Computer Science that
mainly deals with computational learning and pattern recognition in computers.
It is essentially a way of teaching computers how to do different things, and
they learn how to do these tasks on their own. This is either done through
genetic programming, which is where the software is able to go back and edit
its own code to improve itself, or via a neural network, which is the focus of
this blog post.
As the name implies, a neural network is somewhat similar to
a brain. It is a type of software that is able to learn on its own and
improve itself. For example, say you have an AI that’s job is to get through a
maze. If the AI operates using a neural network, it would have no idea how to
solve the maze at first. Gradually, it would slowly learn how to get closer and
closer to the end of the maze, and after a lot of trial and error it would be
able to solve the maze every time.
Neural networks are becoming more and more common in
computer science today, and there are increasingly more areas they can be
applied. If you’ve ever used sites like Amazon or Netflix, the movies/items
that are recommended to you are a result of a neural network knowing what
you’ve been looking at and learning what your interests are. In order to learn
how to drive like humans, the Google self-driving car had to slowly learn over
time to drive using its neural network.
Not only does Google use neural networks in their
self-driving cars and their search engine, they have also started to use it in
images. Google has created a program called “DeepDream” that is capable of
recognizing patterns and features in images using a process called algorithmic pareidolia.
For example, if you show it an image of a golden retriever, it will analyze the
image and be able to tell there’s a dog in the picture. This is an innovative
development in computer science, as it is the first AI of its kind that can do
something like this.
An unintended but very interesting side effect of this is the
interesting images DeepDream is able to produce. Because the software in
DeepDream looks for patterns and images in absolutely everything, it will
sometimes see patterns and images that aren’t actually present in the image
given to it. This has led to the creation of very hallucinogenic images created
by DeepDream that can be found online, and there are even websites that allow
you to upload pictures to process through DeepDream to create these kinds of psychedelic
pictures.
A picture I took camping up north, before and after being put through DeepDream (Click to enlarge). |
Another interesting
application of neural networks is in gaming. In April 2013, Tom Murphy wrote
the paper “The First Level of Super Mario Bros. is Easy with Lexicographic
Orderings and Time Travel . . . after that it gets a little tricky”. In it, he
details a piece of software he wrote that is able to learn how to play NES
video games on its own through trial and error. It works very well playing
games like Super Mario Bros., but when he tried to get it to play Pac-Man and
Tetris it was not able to play it correctly. YouTube user SethBling created his
own version of a similar technology, but instead of being taught how to play
the game it uses an evolutionary algorithm, which allows it to “evolve” much in
the way biological species do over time and slowly become better at playing the
game on its own without human supervision.
This kind of
technology, like many things in Computer Science, is still in its infancy. As
technology in Computer Science advances, we see computers doing things previously
thought only humans could do. The use of neural networks is continuing to be
applied to more and more aspects of our lives, and the continued development of
this will only serve to benefit us all in the future.
-Erik B.
Sources:
Murphy, Tom, VII Ph.D. "The First Level of
Super Mario Bros. Is Easy with Lexicographic Orderings and Time Travel .
. . after That It Gets a Little Tricky." Carnegie Mellon University (2012): n. pag. Web. 22 Nov. 2015.
SethBling. "MarI/O - Machine Learning for Video Games." YouTube. YouTube, 13 June 2015. Web. 22 Nov. 2015.
No comments:
Post a Comment