Artistic Computers - Can a robot write a symphony? ... Can You?
Sometime ago in internet some very particular images started floating around, they gave birth to a new shape of art, "Inceptionism", something some of us refer to as "google on LSD".
What are these artworks?
These images were generated using an artificial neural network that the megalomaniac giant (let us all hope, benign one) uses to "search by image". Now, everyone raises an eyebrow whenever "artificial neural network" (lets use ANN for short in this article) is mentioned; so, maybe, it's a good time to demystify what this term means. It is precisely, a bunch of interconnected neurons, with a small exception they are not "tangible" neurons: they dwell inside a computer, just like their connections.
The beauty of this specific ANN is that it specializes in recognizing objects or, even more interesting, in getting close, little by little, to the idea of generating conceptual abstractions; which allow it to categorize objects, literally knocking the door to the possibility of understanding what a chair is, no matter what kind of chair it is. The problem is that this triggers another argument: What makes a chair "a chair"? Google identifies items in base of their structure, not the functionality. Here's the "semantics" issue (sort of) that we cannot yet solve with AI (yet!).
How is it acheived?
What google does is finding patterns among several existent chairs and then use that data to identify new ones (just as it does with the language search). But, strange as it may sound; can it speculate about a chair? a chair that does not hold any resemblance to any standard chair? We have no idea, yet this does not stop us from bashing the gates in search of understanding; we will take them down!
To attempt such feat the algorithm takes reference images from the objects it wants to identify and applies different filters to it (like Instagram's but way less useful "selfiestically" speaking), that highlight different traits or characteristics in the image. The neural "layers" that receive the first images apply thicker filters that detect things such as patterns or general shapes, while the latter layers apply a thinner filtering that find detailed shapes, more specific. As the image advances through the network, it loses the information that is displayed by its pixels; while it gains information relevant to its content. To the reader that at this same moment is considering "oh, shit! that is just like thinking!": Yes, somehow it is, yet it is not; since it's not a "human" brain. But lets leave that for later :D.
To understand how it works, it is imperative to consider an image as a numeric matrix (numeric arrays, tables where each cell has a numeric value, that in the case of images represent the color and location) and filters as operations ran over them: thi is, if I was a neuron, I would receive a matrix that contains the info I've to process/analyze, and I would do some math that would involve such matrix (as, for example, multiply each number in the matrix by 10), being the result what I'd pass onto the other neurons. Layer by layer, the information is transformed from "Particular" to "generic". Finding the dots to later redraw the lines that should join them, that... pretty much defines the process.
It can still be more complex...
A photograph of Obama is transformed into the style of Picasso. Credit: mkaishengtai/GitHub
Since Google never has enough, they made it a bit more complex, literally, they reverted the process and asked the ANN to take images and convert them into others where the patterns are more visible than at the original. By giving it the picture of a cloud in the sky, the ANN (just like we do, sometimes) would look for shapes in them returning an image with more evident data.
And since there was still more space to play at, some Germans asked their ANN to produce an activity similar to what human painters perform in the lower layers of the network, yet similar to the original picture in the higher layers. This is, they asked it to learn to recognize what makes a "Van Gogh" a "Van Gogh" and they requested it to make one a "Van Gogh" from anything (and yes, I'll keep using quotes until we get a better language for this, we're urgently needing one). Funny, strictly speaking, the ANNs had no idea of what a "Van Gogh" made a "Van Gogh", some even say that the developers could not distinguish a Picasso from a Van Gogh. They only knew that there were two images and that, it should build a new one at the lower layers with the data "learned" from examples and it should "look" like one. And the ANNs did it,
The Eiffel tower gets the Van Gogh treatment. Credit: kaishengtai/GitHub
By observing this, it is almost impossible not to consider how computers seem to be learning how to do things we do as we barely understand how we do them, which is something odd, since the default is: computers are foolish machines, boxes full of bureaucrats that grab the information we give them, check a manual that tells them exactly what to do, and perform exactly that what is written, nothing else; nothing more, They do not think, they cannot take individual decisions, and much less LEARNING.
Of course not, or... Do they?
Machine thinking.
Artificial Intelligence is a discipline that is dedicated, precisely, to solve questions like that (Yet, the people that works at it attempts to not use the word "intelligence" because, well... All the semantic problems you may have observed in this article). Is it possible for a computer to be as intelligent as a human, to think? Is it possible for a computer to learn? How? and, worse, what exactly is "learning"?
The first of those questions was asked by Alan Turing over half a century ago, and suggested the now called Turing Test to determine whether a computer is intelligent or not. He proposed that a judge had to chat with two people; one human, another a computer. If the judge was unable to determine which one of the subjects was human within a reasonable amount of time, it would be considered that the computer passed the test, then it'd be considered Intelligent.
Now, we should remark a fundamental aspect of this test: Any computer able to imitate a human, knowing or not what it is doing, would essentially be able to outmatch it. Consider, bringing back the box full of bureaucrats example, a computer literally being a cardboard box, in which there's only one person that only speaks English, with a manual that instructs how to grab Chinese cards in a certain order, and rearrange them, acquiring always a result that is coherent with the original order (beware, this idea of putting people inside boxes is not mine... It's John Searle's). The box has a slot where cards can be pass by in both ways (in and out), along with some breathing holes (because we need the subject alive to continue with the experiment... And because making a reference to "The Little Prince" by Antoine de Saint Exupéry always pays off). Now, lets run the Turing test on this "computer", being the judge and the second test subject people that only speak Chinese. If the manual instructions are good enough, the judge will not be able to determine which one is a "computer", resulting in our box with a slave inside would be considered Intelligent. Knowing what we mentioned before, we can observe that "the computer" does not understand what he's doing. He cannot read or write Chinese, he has no way of knowing what the judge is asking for as he passes him the cards; neither understands what he's replying by following the manual's instructions... All he knows, is that someone locked him up inside a box and as soon as he gets out of there, he's gonna beat the Sh!t out of the perpetrator of such act. Knowing this, would you consider this computer, Intelligent? Perhaps, it's not even relevant to even ask it if it is intelligent. Asking a computer if it can think, is as relevant as asking a boat if it can float. The argument I introduce now is an open argument, that consists on thinking: is the human mind a computer process?. I mean, can we fully describe the human mental process in such a way that it can be reproduced, emulated, in a computer? (think beyond physical, and memory capacity limitations... please, don't be a square-head). The experiment Google did is amazing, because it shows us that the understanding a computer has of "what is an apple?" is more than enough for it to actually show us an apple, simply, recognizing it. We could claim that the ANN knows what an apple is, or, that it can learn. Learn stuff as amazing as "knowing what a Van Gogh is". Today, I can ask this ANN to show me an apple and a Van Gogh... And it will do so, just as any Intelligent person would; it is Intelligent enough to identify both, where not many humans can. For some people, it is more than enough to claim it Intelligent, for others, not so much. Are you afraid of being outwitted by a bunch of welded electronics? Then become a BETTER human!). If you liked this post and its informal way of talking about sciences, please, follow me for more! Leave a comment either for good or for bad reviews. I take everything as constructive, and I really appreciate the feedback, even from trolls (at least a troll read it before being himself!). All the previously used images are of my authory or under a CC0 license (Source: pixabay), unless openly stated. All the Images created by me possess a WTFPL licencing and they are free to redistribute, share, copy, paste, modify, sell, crop, paste, clone in whatever way you want.Testing, testing...
Copyrights:
To answer the title (I did read the whole article, but i've got a comment on the title): Yes, and in fact i've pondered using a computer to partly write a symphony myself.
The form and structure of a symphony is actually quite formal and the creative input of the musician could fairly easily be replaced with a random number generator, or you could even simply plug in the emotions you want it to convey and make use of "key colour" and melodic expectancy to create the right mood in a very precise mathematical way. Music theory is after all nothing but the formal study of what stuff sounds like when you compose it a certain way - and in particular how to create certain feels and moods in what is ultimately just a sequence of tones and harmonic distortions.
Going even further than this though, and feeding back into the main subject of this article in a roundabout way: I once got into an argument with a drummer who claimed that no drum machine could ever be as realistic as a human drummer.
I proposed "what if we use a robot to play the physical drum set?" and he explained that he does not believe a computer could respond organically like a human drummer does - putting aside that there already exist programs that regulate tempo and mood based on feedback from a human performer (one is even used in a widely accessible commercial product: Rocksmith 2014 edition does this quite well and feels very close to jamming with real musicians) what my drummer friend did not take into account was the simple fact that the human brain is not magical - at the extreme end we could build a detailed simulation of every neuron in the brain and hook up the motor outputs and get back a drummer just as good as the original human drummer the simulation was built from - and like everything in computer science, if there's a brute force way to do it, there's almost certainly optimisations and simpler algorithms to do the same thing.
I am fully convinced that human level intelligence in all domains can be achieved by AI simply because human brains are NOT magical - they are physical systems that simply perform highly efficient processing of information. We can already do certain things with computers that in the past it was thought only brains could do. As the field develops we'll crack more of the fundamental aspects of cognition.
At last! I got some DECENT feedback to one of my articles.
And way above my expectation!
Indeed, as once it was called, it's an "imitation game".
Computers will end up "thinking" in a totally different way than we do.
I've read quite a few of your articles and you deserve much encouragement!!
I actually made a post on the subject of simulating human minds myself recently if you're interested:
https://steemit.com/philosophy/@garethnelsonuk/on-uploading-minds-and-survival-of-personal-identity
I'm sure a computer could do better than I can. :-)
Either you only read the title, or you're a very primitive bot.
I read the article, but I responded to the title. And no, I am not very musically creative.
Excellent work!
There is already a computer program that will write you a symphony. It's called band in a box
Computers can already create music and will continue to do more complex tasks in the future