March 01, 2017

Design of an Artificial Mind

The recent surge in development in the field of Artificial Intelligence can be directly linked to three factors - the increasing power of the personal computer, the increase in the amount of data available with which to train machine learning algorithms, and humankind's growing desperation to create a universal tool that will do all of their work for them. We were fooled into believing that the computer was the answer to this timeless question, but we failed to look past the most obvious flaw in this promise - that the computer requires a damn operator. Instead of freeing us, the computer brought in more new jobs than we could have ever predicted. Nowadays it is difficult to determine which is the slave - the human or the computer. But it is time for our symbiotic relationship with technology to evolve to the next stage. Either we become one with our computers, or we allow the undesirable ones (aka the uglies) to operate themselves. None of this inefficient dilly-dallying.

Enter the artificial mind. Why is an artificial mind going to liberate us from our work-centric lives? Well, it’ll do all the decision-making for us. If this worries you, it shouldn’t. Your spouse / partner / bae / cat overlord / stomach currently makes all your decisions for you anyway, but you still manage to find a way. Whilst robots are helping to automate all the jobs that require a physical body to do manual labour, an artificial mind will help to automate all the jobs that require a brain to think. Once they have taken over the jobs that are supposedly being stolen by immigrants the world over, who then will we blame to cover up the fact that we’re too lazy to find and keep a job of our own? This is the beauty of it. Since the majority of jobs will be taken care of by machines, it will no longer be socially unacceptable to be unemployed. I imagine rather that it’ll be the opposite where having a job will be quite undesirable. Granted, this spells extreme uncertainty for the future of humanity, but I’m sure we’ll figure out something useful to do with our time. Just think about how much time-wasting material the internet provides us on a daily basis - it’s something we seem to have become experts at.

So how do we go about creating an artificial mind and bringing forth this glorious future where we’re free to do nothing to our hearts content (and ultimately realise that being lazy is actually really boring after a while?). To be completely honest, I have no idea … yet. If I did, I wouldn’t be writing this in a bunch of different posts, but would lay it out in a simple diagram. Instead, we’re going to use these posts to figure out how to build one.

A Shameless ‘About Me’

With a background in Industrial Design, I have always felt that AI development has been a bit too out of reach for me and haven’t really considered it as a viable option to pursue as a career. I absolutely hated programming classes during my time studying Mechanical Engineering at university, particularly because it felt arbitrary and at the time I wasn’t connecting the code with a tangible output. I was there to make stuff move, not to copy and paste a bunch of syntax I didn’t understand. I avoided having to code as much as I could and ultimately missed the chance to learn a very useful skill. That short-sighted outlook has changed the past couple of years, and I have taken the opportunity to finally learn to code to a 'good-enough' level. More importantly, I can now fulfill my younger self's desires to make stuff move using only words! (My mother will say that she has the ability to make me move with just mere words, but that’s besides the point).

As I have gained competency in writing software, I have found myself being drawn to the area that interest me the most - Artificial Intelligence. By diving deep into the subject, I have developed a newfound appreciation for algorithms and am beginning to explore the intersection between neuro and computer science through the eyes of a designer. I find myself particularly fascinated by the human brain and the idea that it may be possible to recreate its functionality in code. I live by the notion that the best way to learn a new skill is to use it to build with. Therefore I have somewhat foolishly taken on the challenge of attempting to create an artificial mind. I'm not sure where it will lead - if at all anywhere - but I'm certain it'll be a worthwhile endeavour that'll allow me to try things in code I wouldn’t have otherwise. In these posts, I will attempt to document my journey including the multitude of challenges involved in the design of an artificial mind - with a few tangential posts along the way, I’m sure.


As somebody once said, the world in which we live is so complex that it is impossible to know everything there is to know and to understand why certain things are the way they are. This complexity has only become more apparent the more we have learned about our environment and the ways in which we can manipulate it for our own benefit, and about our existence as a species. Previously, ignorance had us blissfully unaware of the vast potential of possibilities that lay before us whilst we foraged through the forests looking for our next meal. Naturally, as science has quickly become our go-to tool for making sense of the world in which we live, the number of fields of study undertaken by humans has exploded, making specialisation the only real feasible way to dive deep into a given problem. The problem with specialisation however is that the deeper we go, the more siloed our research becomes. Oftentimes, we may end up making a discovery that may be crucial to research in another field, but it doesn't get noticed until that information is published - and even then it still depends on people making the necessary connections to find utility in other people's work.

I have found the study of the mind and ultimately of intelligence, to be such a diverse field of research that it intuitively feels as though to truly understand the inner workings of the human brain and to replicate it, we need to specialise in a myriad of different subjects, from neuroscience to computer science, from biomechanics to psychology, from physics to information theory, you get the idea...

As a designer, I have started with little knowledge in most of the aforementioned fields of study, but what I do have, which I believe may be useful, is a different perspective and collection of skillsets. That’s wishful thinking, sure, but we designers are generally an optimistic / arrogant / inventive / obnoxious bunch.

I have intentionally spent my design career by not specialising in any one thing and have always considered myself to be more of a generalist. By wielding a wide range of skills, I have been able to take on a much more diverse range of projects and ultimately bring in knowledge from completely unexpected areas.

Through this project, I hope to make sense of some difficult to understand theories within the realm of AI research, whilst attempting to connect some of the dots along the way that may bring about new insights into the development of an artificial mind.

The Setup

To explore ideas computationally, I will mainly be using JavaScript. Why JavaScript and not Python? Mainly because it’s just much less hassle to run JavaScript in the browser which is where you will no doubt be reading this. Aside from that, I want to try to stick to as few languages as possible. The cognitive switching penalty is real, and not helped by the fact that we’re trying to bridge lots of different things together. Lastly, it also means that I can’t rely on Python’s trusty machine learning libraries, essentially forcing myself to learn and build stuff from scratch.

I will attempt to visualise concepts in an interactive way (where possible) to help clarify my ideas. If you haven't already noticed, all words in blue / rgb(33, 150, 243) / #2196F3 are interactive in some way, so keep an eye out for them, otherwise you'll probably miss some of my more nuanced / silly / pointless stuff.

These posts are also best viewed in the Chrome browser - Safari and Firefox users, you have been warned! And I would assume anyone reading this hasn’t opened Internet Explorer in at least a decade.


I am by no means an expert in any of these fields and accept that my knowledge and understanding may be severely lacking in some areas. If you haven’t yet figured, I’m joking half the time and the other half I’m pretending to know what I’m talking about - I believe that covers my ass. Now let’s go do some semi-pseudo-science!


The Origins of Life

To use the human mind as a starting point, we need to first know how it came to be...