On Artificial Creativity
– Tom De Smedt, 2005
What we call human creativity is the conceptual ability to be innovative, to combine existing objects and concepts in new ways, for new purposes. This is often a trial-and-error process, with the actual original idea often emerging as a side effect from something else. Consider how the immensely popular Post-It notes actually emerged from a research trying to develop an extremely strong glue. Creativity is not limited to art, it is merely our word for finding innovative solutions.
Artificial creativity tries to mimic this heuristic process in algorithmic terms. It is an attempt to model creativity using computer programs. Artificial creativity is closely related to what is called emergence in the field of Artificial Intelligence. Emergent behaviour arises when a number of simple entities interact and subsequently exhibit more complex (often unexpected) behaviour as a group. Think about ants: a single ant has little or no intelligent or creative capacities. It follows trails of scent and nothing much more. But as a collective, the ant colony is capable of solving complex problems creatively, from finding the shortest path to food to mobilising army, maintaining and herding caterpillars. If you observe ant colonies in bird's eye view, they almost look like a computer network.
Artificial creativity can be compared to an ant colony: a number of simple algorithms (or agents) working together, sharing and distributing information in the hope of developing emergent behaviour to solve new and unexpected problems.
Knowledge & self-evaluation
Art and graphic design are visual things, they speak and communicate visually. The tricky problem here is that a computer has no equivalent for eyes, or consciousness. This makes "life" quite hard for a virtual agent trying to be (artificially) creative. How can it assess or evaluate what it created? How can it "see" its own work? Did it create something innovative? Did it live up to the expectations? How can it experience the feeling of getting a composition right, nudging the elements a bit more to the left to get the visual harmony exactly working? Or experience the feeling that things looked better when they were inside its head... and look kinda boring now that they are visualised?
The easy answer might be: there is no need for a computer algorithm to be able to see its own work; it takes "pleasure" in other factors, like the pure mathematical harmony of numbers. However, what would the practical use of such a program be, to us people? We would of course like the agent to design stuff that humans like – we don't see the magical harmony of equations, or the tally of tail recursions. We like colors that fit well together, interesting contrasts, and symmetry, things we can see, and ponder on.
But let's say we are broad-minded, and accept the fact that artificially creative programs will design things all by themself that look strange to us, things that take getting used to. Then, the computer is free to do what it likes. And we are arguing in the context art, not rocket design. Now there is an even bigger problem. When is an agent satisfied? One the common pitfalls in art and graphic design is the decision-making process. When is a project finished? Do you add a small black line to the layout, or not? If blue and red are both good options, are we going to use blue or red? Detailed choices like these can on occasion drive an artist nuts: he or she might start out in blue, revert to red, back to blue, start working with lines, reverts to circles, to end in green, to find out the audience doesn't really has an appetite for green.
For a computer, choices and decisions are a complex problem as well. It can either act entirely random, or entirely determined (simplified representation). But total randomness is not creativity. The really neat agent, the one that is determined and knows what it is doing, needs expertise, it needs a base from which to draw conclusions. This is the same with any human artist: after some practice he or she will tackle choices more easily, based on past experiences on what works and what not.
Randomness vs. determinism
So our agent needs to be able to draw determined conclusions from a base of expertise and knowledge. The agent needs data it can interrelate, combine, juxtapose in an infinitely creative number of ways to reach a determined conclusion. It needs other agents that act in a similar way with which it can "talk", share information. This is where the actual creativity takes place: in the conceptual phase of creating, in the linking of concepts to other concepts, the mingling of fact and imagination, the translation of words to new words, the association of images to ideas. The visual output is merely a last step that fits the conceptual model as-best-as-can. Form follows function, as they say in graphic design. An agent asked about cheese that creates a design with pictures of cheese taken from the internet is much less interesting than an agent that knows cheese relates mice, sheep, Switzerland, the moon, and uses this information to produce visual output (for example: mice invading Switzerland to steal their sheep) . Such an agent may not necessarily make something more beautiful, but definitely something more creative. If we can get an algorithm to think like a human, to make equally outlandish associations, to devise equally heartquenching combinations, then we surely have something creative.
Below are some prototype examples I've tried out along this trail-of-thought:
- Prism, Tom De Smedt & Frederik De Bleser (2005)
The WWW is freely accessible to any computer. The WWW is a large pool (or puddle if you wish) of human knowledge, creativity and insanity. Prism, a color-finding agent, uses the WWW as its base knowledge to match the right colors to the right concept.
- Flowerewolf, Tom De Smedt (2005)
Semantic databases like WordNet and ConceptNet have been around for a while and are excellent to use as commonsense data. Flowerewolf is a poetry agent that writes poetry on any given subject, by traversing synonym-relations in WordNet, finding consonating nouns and adjectives, finding alliterations, and so on.
- Percolator, Tom De Smedt (2005)
Percolator is a database of thousands of images "loosely" (i.e., with a simple search-algorithm) linked to ConceptNet, which then creates strange compositions matching the feel of a given concept. Read more below.
Agent-based algorithms derive their strength from their environment of other agents. Likewise, interesting art and graphic design have a social relevance. Either it is telling us something about the state of society, or it is providing a glimpse into the mind of the artist who sees the world in a different way, or we are confronted with a series of war photogrpahs, or harassed with commercials - in all cases the work of art is playing a social role between the artist, the audience, and the world. Art and design want to uncover things, reveal and reinvent the world.
My first experiments with Percolator did not really work out well. The computer generated some funny image compositions, but they had no real social meaning. One of my current experiments involves coupling the agent to online news; which can be seen as a representation of "social relevance". Furthermore, I am refining the visual composition engine to create more designish compositions. The result below (which I manually post-processed to some artifacts) is something a first-year graphic design student might perhaps have made.
Computer-generated image given the input word "terrorism" filtered from an online news article.
For further reading, my PhD dissertation, Modeling Creativity (2013), is an attempt to formalize the ideas discussed above, and to ground them in the academic literature and provide further case studies. The PDF is free for download.
Modeling Creativity (2013) discusses emergence, generative art, creativity, natural language processing and machine learning.