Wednesday, February 10, 2016

Introducing Karel Antonín, Keen Software House & GoodAI Composer

This is a special post to give you a little more insight into a talented person I greatly admire: our very own Karel Antonín, composer of all soundtracks for Space Engineers, Medieval Engineers, Miner Wars, and GoodAI, my company of 30 researchers working to build human-level artificial intelligence.

Yes – GoodAI has a soundtrack. This post will also reveal a bit more about why we decided to become the only general AI development company with its own OST. We can only hope that others will follow in our footsteps :-)

We’re bringing you a full week of music from GoodAI, releasing five tracks per day for free over the next seven days. Enjoy the first set here!

And with that, I’m devoting the rest of this post to an interview with Karel, so he can tell you more in his own words.

Karel Antonín

What inspired you to make a GoodAI soundtrack?
Marek wanted to capture the aims and goals of GoodAI in a musical sense – he wanted to let people feel (through music) the amazing, positive future GoodAI is building under his leadership. Marek’s vision was the starting point for the whole project.

The music had to sound unique - very different from Medieval Engineers and Space Engineers. I composed the tracks without any orchestra, so everything was done purely through software synthesis. My musical inspiration included the works of Jean Michel Jarre, and generally a lot of other works incorporating sound design and unique digital sounds into music.

What emotions and future visions did you want to convey?
Emotion-wise, the aim of the soundtrack is rooted in Marek’s creative idea: to evoke positive feelings, especially the feeling of hope, and to evoke an endless universe of possibilities opening up before the listener. It should make you feel that there's something unique and groundbreaking approaching - since, in reality, that's exactly what is happening right now in GoodAI. Marek and I wanted the audience to get a clear vision of the emotional essence of GoodAI, even if they don't know anything about it, just by listening to the music.

When did you first know that you wanted to be a music composer?
I didn’t realize it until I was 16, actually. But I remember being very young and watching movies because I really liked the music - movies like Con Air, The Rock, Drop Zone, and others. The movies aren’t the best but I still really like the music. It took me a number of years to learn the software and technical side of things, and since about age 20 I’ve been composing music almost every day.

Do you have any formal education in music?
No, I don't. I am self-taught for the most part through lots of practice, though there are bits and pieces of knowledge I’ve grasped by reading a book or two.

Can you tell us a few basic facts about yourself?
I was born in Brno, Czech Republic. Now I’m 27 years old, currently living in Prague. I am planning to move to London sometime in the next three years. And then who knows? Maybe Los Angeles?

Do you play any instruments? Do you sing?
When I was very young I participated in children’s choirs – now I play the piano and guitar. I really enjoy playing every instrument I can get my hands on - even if, for the most part, it's just to make a proper racket :)

What projects are you working on at the moment?
Most recently I was working on Space Engineers (the new hour of music for Planets), and before that I was composing the score for GoodAI. My newest projects are the feature movies Taxi 121, Montenegro, XMas Cuts, and a motivational movie called Gravitation.

What does your work schedule look like?
My usual schedule starts with waking up around 9 a.m. - by 10:00 I’m sitting in front of my computer, working. I work until around 3 p.m., when I take a break for an hour to clear my head a bit. After that I continue to work until 7 p.m. or so. Of course, that’s usually not the end – especially when there's a tight deadline. There are some long work days without much sleep - but that's also part of the process that I love.

Do you play video games?
I played a lot of video games when I was younger and I still play some from time to time. If I don’t count Space Engineers or Medieval Engineers, I most recently played Metal Gear Solid 5. I also can't wait to play Detroit.

Do you work exclusively on music for video games (and now GoodAI)?
Now I compose mostly for video games, but also for movies and commercials. I try not to focus on just one project at time, because it’s actually better for me and the projects I work on to have some variety. I don’t want to get stuck in the same patterns when I’m composing.

What do you think music can contribute to a video game? How does the music affect the game-play experience?
It really depends on the project. But in all cases, the music should complement the project – it should portray things that cannot be elegantly said without it - by visuals or through dialogue and sounds.

Where do you get the ideas for the soundtracks you make for GoodAI and Keen Software House?
For me, composing for anything is mostly about finding the “heart” of the project – the one simple emotion that is the centerpiece of all other emotional qualities of the project. In order to do that, I get ideas mainly from talking with Marek about his vision, from seeing artwork, hearing the sound design, and also from talking with the team. The more information I get, the better.

Which musicians and/or composers most inspire you?
Oh, that would be a very long list. From top of my head it would be John Williams, Hans Zimmer, James Horner, and John Powell. When I’m not composing, I’m listening to music. As soon as I leave this interview I’ll have headphones on and I’ll be listening to something. On my way here I was listening to Run All Night from Tom Holkenborg. And I still haven’t mentioned some important inspirations, including Ennio Morricone, Mark Mancina, Harry Gregson-Williams, Basil Poledouris, David Arnold, Bear McCreary, Lorne Balfe, and so many others.

Is there one project / track / song that you’re most proud of? Why?
Yes, I am definitely proud of my work for GoodAI. The idea of composing a soundtrack for artificial intelligence is something that was never really done before and that in itself is very intriguing. When you combine it with the treat of working with a very creative and focused team, it was an absolutely rewarding and great experience.

Is there anything we haven’t covered that you’d like to add?
It’s always a pleasure working with both the Keen Software House and GoodAI teams – I can’t wait to see what they do next so I can make the music to go alongside it.


Thanks to all for reading! And many thanks to Karel Antonín for the interview.

Feel free to post more questions for me or Karel in the comments section, and don’t forget to keep following GoodAI and Keen Software House on social media!

Marek Rosa
CEO, CTO & Founder
GoodAI, Keen Software House

GoodAI on Facebook:
GoodAI on Twitter: @GoodAIdev

Space Engineers on Facebook:
Space Engineers on Twitter:
Medieval Engineers on Facebook:
Medieval Engineers on Twitter:

Tuesday, February 2, 2016

Abundance 360 Conference Takeaways

Some of you may have heard that I spent the last few days in Los Angeles attending the Abundance 360 conference. Organized by entrepreneur Peter Diamandis, my favorite guest was futurist Ray Kurzweil, who spoke about his systematic methodology for predicting the future.

Peter Diamandis and Ray Kurzweil on stage at A360

It was my impression that most attendees were entrepreneurs who don’t closely follow exponential technologies. In fact, 95% of them run businesses outside of IT, AI, or science. 30% alone work in real estate, which quite surprised me. The majority of attendees were age 40 or older.

Since I’m in the business of general AI and futuristic technologies, I didn’t learn much about my field from the conference – but I don’t mean this in a negative sense.  I actually found it quite useful to connect with business people working outside the sciences, because they have a different point of view and tend to notice different things than my colleagues.

There were a number of interesting questions asked, including “What technology may disrupt your business in 1-3 years?” and “What will not change in the next 20 years?”

I also saw that there’s a community of successful, wealthy, experienced people following Peter Diamandis. This was a positive surprise for me, and I realized that if I need such a community in the future, it won’t be necessary to build it myself from scratch. Going forward, it will be sufficient to connect with others who have already established this network of support and thinkers.

Finally, it became clear that most exponential technologies and businesses discussed will be obsolete when we develop a truly general, human-level AI. For me, it’s critical to think about where to invest or not, given that many investments won’t be valuable 20 years from now. It’s also interesting to note how certain exponential technologies are in competition with one another – if we have great VR in the coming years, it may eliminate the need for a Hyperloop, as people will travel less.

I’d like to hear more about your favorite exponential technologies and how they will perform in the next decades – please feel free to leave your ideas in the comments.

Many thanks for reading!

Marek Rosa
CEO, CTO & Founder
GoodAI, Keen Software House

Twitter: @GoodAIdev

Thursday, January 21, 2016

What is Intelligence?

Today I will introduce how I define general purpose, human-level intelligence. This blog post is not limited to artificial intelligence, but does answer some basic questions that can help us progress towards artificial general intelligence (AGI).

You can also watch a longer interview with me where I discuss this topic:

Some people may consider what I write here fairly obvious. However, I believe that for others my description will offer a new perspective and help them understand how I see the big picture.

Simple description of intelligence

Intelligence is a tool that an intelligent agent uses to learn, adapt, solve problems, and achieve goals in a dynamic, complex, and uncertain environment. Intelligence achieves this by representing relevant parts of the environment in a simplified, abstracted mental model where searching for optimal solutions is faster and cheaper. Intelligence has fewer resources (atoms, computation cycles, energy, etc.) than the environment, so the intelligent brain must use resources in a smart way.

Evolution vs. intelligence

Like intelligence, evolution tries to find solutions or optimal ways to operate in a complex environment. However, instead of using a mental map or representation of the real world, evolution uses the real world – an environment that is extremely complex and has a nearly infinite number of parameters.

We can say that evolution is a “dumb” algorithm because it does not plan ahead and every solution has to be tested in the real world.

For example, we know that birds build different types of nests. Nests near the ground (where there are many predators) tend to have a protective dome structure, while nests in trees have an open cup shape. Birds do not use their intelligence to decide that when they build nests on the ground those nests should have a protective dome – instead, it is believed that it took generations before evolution found birds through natural selection who were suited to building ground nests with protective domes. Other birds are restricted to building nests in trees, because they haven’t evolved ground nest-building skills.

We can say that evolution “learns” by reusing and combining things that have already worked. However, its memory is limited – if it finds itself at a dead end, it has limited options to backtrack to a previous working solution.

Evolution is blind and has no sense of where it is, where it was, or where it is going.

Unlike evolution, intelligence searches for solutions in a simplified mental representation of the real world. The intelligent agent observes a portion of its environment and tries to create a simplified mental model of that environment. Since the agent operates with limited resources, it will model only those parts of the environment (internal, external, its own thinking, other agents, and so on) that are relevant for finding optimal solutions.

Since this representative model has fewer parameters than the real world and includes only relevant information, searching for solutions is faster and various non-evolutionary optimization strategies are made possible. These strategies include planning, forecasting, learning, abstracting, connecting things that are not close in time or space but may be related to one another, and more.

There can be higher or lower levels of intelligence and adaptability – depending on the abilities of the intelligent agent. At a certain low level, an agent doesn’t even need to be adaptive or intelligent to achieve goals, but can succeed simply by following a set of rules (discovered, for example, by evolution).

Properties and abilities that enable intelligence

Patterns are critical to the functioning of intelligence. A pattern is something that happens in a regular and repeated way (not random noise). Our current human approach to creating a mental model is to see the world as a hierarchy of spatial and temporal patterns which manifest as letters, words, songs, behavior, events, physical laws, and so on.

Intelligence depends on:
  • Pattern detection - trying to find causal correlations between things. There are patterns in the universe around us. We know some of them, but many of them are still a mystery we need to discover.
  • Pattern generation - using detected patterns for something new, or applying patterns to unknown environments based on hypotheses we’ve generated. Through pattern generation, plans can be tested and goals achieved.
We can learn new patterns by transferring patterns from domain to domain, essentially problem solving by analogy. Learning by analogy means acquiring new knowledge about something (an object, an action, a problem, and so on) by transferring useful knowledge we already have about something similar (a similar object, action, problem, etc.).

For example, if someone learns how to use a hammer, this basic movement can later help them use an axe.

Attention: Attention is a phenomenon closely connected to the intelligent use of limited resources. Attention is a critical part of intelligence because intelligence models only those parts of reality that are relevant for a problem the agent is trying to solve. This is how I understand all levels of attention – mental, sensory, goal directed, etc.

Put simply, the intelligent agent uses previous experience and knowledge about the world to focus its attention on specific parts of the real world or specific parts of the model. The mind has limited processing and memory resources and cannot do or process everything at the same time.

People are always searching for new patterns, because finding patterns is what optimizes the results of intelligence and helps it achieve goals faster and more cheaply. We can say that new and useful patterns are as valuable as gold. However, pattern detection and generation cannot occur all at once or without preparation. Detecting and utilizing patterns (i.e. increasing intelligence) involves both gradual and guided learning.
  • Guided learning means that there is someone (a mentor or society) who has already discovered many patterns for us, and we just need to learn the patterns from them. Without guided learning we would have to reinvent everything people before us already discovered.
  • Gradual learning means that we learn abilities one by one, where complex abilities are based on previously-learned abilities.
    • For example, before you can start programming, you first need to learn to write, read, speak, understand the environment, and so on.  Without gradual learning, we’d have to spot patterns in places where no lower-level pattern has been learned – making it a very difficult search problem.
    • If someone gives you a book written in Chinese, you most likely won’t be able to read or understand it. But if they give you a textbook and you study the first chapter to learn basic Chinese language patterns, you can then start the second chapter and learn more advanced patterns. Eventually, you will be able to read that book in Chinese.
Other mechanisms critical for understanding intelligence include:
  • Abstraction: allows us to see the correlation between one object and another at a high level, something evolution is unable to do
  • Uncertainty: the mental model of the world is a probabilistic model, because we don’t always know why things happen as they do in the real world. Using a probabilistic model prevents us from having to go into deep investigations on every matter, and allows us to act or move towards goals without complete certainty
  • Generalization and Specialization: the ability to move from the specific to the general or from the general to the specific

IMPORTANT: The above properties and abilities are not sufficient for a human-level intelligence! This is why we have invented a framework for studying intelligence properties and abilities in a systematic manner – you can read more on this in our upcoming R&D roadmap for 2016.


Keep in mind this important principle: intelligence works in a simplified representation of the world where it searches for patterns that help it achieve optimal solutions. This model is much simpler than the real world and it also has a clearer structure. Intelligence can implement many optimizations that are impossible in real world investigations (planning, abstraction, and looking for correlations between events) and achieve efficient results. Intelligence always looks for more efficient, cheaper, and faster ways to use limited resources (mental, environmental, time resources, etc.).

Your feedback

Please let me know how you define or describe intelligence, if you think my description is too shallow or broad, where we can simplify it, and whether some additional details need to be added.

Many thanks!

Marek Rosa
CEO, CTO & Founder
GoodAI, Keen Software House

Twitter: @GoodAIdev