AIA : Artificial intelligence for art

There are limits to state-of-the-art AI that separate it from human-like intelligence. Today’s AI algorithms are limited in how much previous knowledge they are able to keep through each new training phase and how much they can reuse. There is domain called AGI where will be possible to find solutions for this problems. Artificial general intelligence (AGI) describes research that aims to create machines capable of general intelligent action. "General" means that one AI program realises number of different tasks and the same code can be used in many applications.


INTRODUCTION
We observe the success of artificial neural networks in simulating human performance on a number of tasks: such as image recognition, natural language processing, etc.However, there are limits to state-of-the-art AI that separate it from human-like intelligence.Humans can learn a new skill without forgetting what they have already learned and they can improve their activity and gradually become better learners.Today's AI algorithms are limited in how much previous knowledge they are able to keep through each new training phase and how much they can reuse.In practice this means that it is necessary to build and adjust new algorithms to every new particular task.This is closer to a sophisticated data processing than to real intelligence.This is why research concerning generalisation are becoming increasingly important.Processes such as intuition, emotions, planning, thinking and abstraction are a part of processes, which occur in the human brain.Abstraction allows for making analogies, coding relations and relations between relations.Generalization is a process in which the brain observes that a certain fact referring to a set of objects, refers to a greater set of objects.Processes occurring in the brain have an extremely plastic and dynamic character and cannot be reduced to one basic construction and operation.Many processes have very distributed character, for instance memories are not located in a particular place; the brain has a holographic character (Pribram 1991).
A special role of a kind of creators is played by random processes, which allow for collision and splitting of structures, and leaps between different levels of generality.A generalization in AI means that system can generate new compositions or find solutions for new tasks that are not present in the training corpus.General Neural Model and intelligent agent should have very general learning capabilities, should not just be able to memorise the solution to a fixed set of tasks during creating of stories, but learn how to generalise to new problems it encounters.It can generalise problem in the sense that solving one or more of tasks should make solving other task easier.
There is domain called AGI where will be possible to find solutions for this problems.Artificial general intelligence (AGI) describes research that aims to create machines capable of general intelligent action."General" means that one AI program realises number of different tasks and the same code can be use in many applications.We must focus on self-improvement techniques e.g.Reinforcement Learning and integrate it with deep learning, recurrent networks.

RECURRENT NEURAL NETWORKS
Models of sequential data, such as natural language, speech and video, are the core of many machine-learning applications.Recurrent Neural Network is a powerful model that learns temporal patterns in sequential data.A recurrent neural network (RNN) is a class of artificial neural network where connections between units form a directed cycle, meaning that Recurrent Neural Network contains feedback connections, connections from any unit to itself.This allows it to exhibit dynamic temporal behaviour.Unlike feed forward neural networks, RNNs can use their internal memory to process arbitrary sequences of inputs.This makes them applicable to tasks such as handwriting recognition, speech recognition and after modification as a performative and/or compositional tool for composer and musicians.
Creating of feedback in RNN provides interesting creative possibilities, recurrent neural networks can evolve to an unstable states and they can create chaotic or random outputs.Chaotic behaviour of recurrent neural networks has been observed before e.g. by Maas (Maas et al. 1990).It was shown that smooth variation of one of the parameters of the original map gives rise to perioddoubling bifurcations.Feedback and chaotic behaviour of RNN causes that some artists and composers are starting to use RNN in their artistic work.For example CTRNN Continuous Time Neural Networks are implemented in modular extensible computer music platforms such as Supercollider, Pure Data, Max/MSP.Sound or video parameters can evolve and be formed by using Recurrent Neural Networks.
RNN models can be uses to tasks such as handwriting recognition, speech recognition, natural language processing, video recognition, etc. Natural language modelling has been widely studied in the past (Goodman 2001b;Young et al. 1997;Koehn et al. 2007).In particular, models based on RNN have been very successful in automatic speech recognition (Dahl et al. 2012), language modelling (Mikolov 2012) and video classification (Simonyan & Zisserman 2014).
RNN represents time recursively.For example, in the simple recurrent network, the state of the hidden layer at a given time is conditioned on its previous state.This recursion allows the model to store complex signals for arbitrarily long time periods, as the state of the hidden layer can be seen as the memory of the model.However there is a problem of learning long-term patterns in Recurrent Neural Networks.Recurrent networks was difficult to train using simple optimisers, such as stochastic gradient descent, due to the vanishing gradient problem.For example the sigmoid function have a gradient which is close to zero almost everywhere or the gradient can be back propagated through time, its magnitude is multiplied over and over by the recurrent matrix.If the eigenvalues of this matrix are small (i.e., less than one), the gradient will converge to zero rapidly.Learning longer-term patterns in real data, such as in natural language, is possible using gradient descent by using a structural modification of the simple recurrent neural network architecture.Many modifications were proposed to deal with the vanishing gradients e.g. the long short term memory (LSTM) recurrent neural network (Hochreiter & Schmidhuber 1997) is a modified version of recurrent network with gates which control flow of information to hidden neurons.This allows the network to potentially remember information for longer periods.Most of the research on the use of AI in interactive applications concerns computer games, beginning with traditional two-player adversarial games like tic-tac-toe and extending to modern strategy games.This type of research however, has a limited application in storytelling or art, because the goal of AI agents in these games is to maximise reward, which often fails to advance the narrative threads and almost entirely overlooks the creation of interesting scenarios or compositions.Magerko (2009) conducted research with theatre performers to explore how to create scenes in real time without a pre-existing scenario.Unfortunately, the basic conclusion of this research is that the actor should act on the basis of a huge set of initial scripts, which contain expectations as to what people do in different scenarios.
There have been several attempts to implement the above approaches through introducing text into the game, building chatbots or intelligent assistants.However, these approaches have a limited scope, because they do not encompass the numerous phenomena known in natural language, such as the creation of metaphors, analogies and generalisations, which are crucial for human thinking and for creating stories.If the AI program works in order to create a story, it must be prepared to understand everything that the human might think and must be able to communicate in a natural language.Neural language models have garnered research interest for their ability to learn complex syntactic and semantic representations of natural language (Sutskever et al. 2014).Recurrent Neural Network (RNN) is a powerful model that learns temporal patterns in sequential data.Wen et al. (2015) proposed a RNN approach to the generation of utterances from dialog acts but their system requires one to pre-process the data.

DEEP REINFORCEMENT LEARNING
Thinking about programs in terms of binary codes and about functioning of the brain in terms of selfimprovement through optimization of the codes, we may perceive the search for brain model as the search for best learning algorithms, and as an attempt of creating best predictions.
The most interesting AI method is Reinforcement Learning.The brain works without Deus ex machine, the rule of its organization is the rule of the shortest description, which allows for choosing shortest models of reality.A program is a set states that represents a given situation and the set of operators (actions) and which allows for transition between states.A general framing of the space of transition between states is the Hidden Markov model, in which every transition has a certain probability of occurrence.Real states of the world are unknown, they can only be approximated.We obtain data through sensors from the environment.The data is recorded in the form of vectors.Markov models are static: the agent is unable to model his actions; he cannot change the world he occupies.

An extension of this model is Markov Decision
Processes.MDP generalises Markov by introducing additional possibilities: consequences of actions may not be know a priori, even if the consequences of actions are known, their value is unknown, the value of the action is difficult to predict, because the reward is often delayed.In this situation the model of best actions is not known, but it has to be discovered.The agent uses certain actions and analyses their results.The actions, which bring reward, are not known, but they have to be discovered by trial and error.Theories that apply the above method are called models of reinforcement learning.Models of reinforcement learning allow the agent to choose adequate decisions on the basis of exploration of the environment that changes dynamically.By examining the space of states that bring reward, the agent may learn from the history of his previous actions.The most interesting situation occurs when the space of states is only partially observable.Reinforcement learning works, because the agent can make local improvements in order to increase the reward.
A deep neural network (DNN) is an artificial neural network with multiple hidden layers between the input and output layers.Each successive layer uses the output from the previous layer as input.It is system of multiple layers of nonlinear processing units that learns of feature representations in each layer and form a hierarchy from low-level to highlevel features.Deep learning networks can be applied to any problem for example in language, sound or image processing.Deep and recurrent neural networks are powerful models that achieve high performance on difficult pattern recognition problems in vision, and speech (Krizhevsky et al. 2012;Hinton et al. 2012;Dahl et al. 2012).Reinforcement Learning can be used to improve dialogue managers, e.g. for transitions between dialogue states (Rieser and Lemon 2011), for nongoal-orientated dialogues (Li et al. 2016), for botbot dialogues and for inventing new languages by agents (Das et al. 2017).

Figure 2: SIBYL.
Deep Learning is becoming more and more popular method.Commercial using of Deep Learning models is often associated with using data from massive data centres e.g.Google, Facebook and it is difficult to verify if used model is really intelligent and can generalise knowledge or if it is only sophisticated complex automated system that uses the brute force method based on unlimited access to data generated by users.The application of deep learning in art looks uninteresting because constructed networks simulate only human behaviours; in this case, they use art history databases to generate objects that imitate artworks from the past.
Therefore, if we want to make the next shift (challenge) we have to put more emphasis on research concerning self-improvements of system e.g.different types of algorithms associated with reinforcement learning and perform interesting fusions of reinforcement learning with deep learning.The goal is to incorporate the reinforcement learning process into deep learning for creating a system that will have an ability to learn and self-improve.Another way to do this is to study the methods connected with randomness and to integrate them into neural networks.Both of these approaches are perfectly complementary because there is no interesting self-improvement system without the clever use of random generators and vice versa.
SIBYL is Artificial Intelligence that proposes new stories and generates new compositions.SIBYL is trained by techniques of composing by Pynchon, Burroughs and Xenakis.The project offers an innovative fusion between three domains: storytelling, experimental music and artificial intelligence.The project creates and tests new methods of generating music, stories and new types of audio-visual performance through interactions with autonomous AI agent.SIBYL is presented as performance and installation that uses recurrent neural networks, deep learning and analog sound-video synthesizers.

KINGDOM OF RANDOMNESS
To obtain interesting results in music and art we need randomness.Randomness is important when you want the Neural Network from the same input to create different possibilities as an output, without generating the same output over and over again.Therefore it is different than in science, which is all about grouping and clustering.In art and music we don't want to endlessly obtain the same result.When you are composing sound or images, you don't want the neural network program to create the same sets of sounds and images; instead, you need creativity and variability.One of the solutions is to parameterise NN outputs with the use of probability distributions.A different way is to add noise directly to NN, instead of modelling the distribution parameters.Paradoxically, in such NNs, the more randomness during training, the better the results.Good random generators allow to avoid situations, when Neural Networks gets fixed in local minima.The importance of well-designed random initialization and momentum in deep learning was observed for example by Sutskever and Hinton (2016).
Random number generators are applied in many domains for instance in music programs, computer games etc.In numerous compilers random number generators are used as ordinary functions.The problem with these generators however is that they never produce random numbers, not even numbers that approximately appear to be random.Limits of our perception makes us consider sequences of numbers they produce as random, and maybe in the case of games of chance this 'randomness' is sufficient, but in cryptography it is hopelessly not random and completely useless.
No random number generator build with the use of computer (or abstract Turing machine) will generate random numbers.It is impossible to obtain a sequence of random numbers with the use of computer.Computers are entirely deterministic machines: we put something in; subsequently we subject it to entirely predictable operations and receive something "new".If we put the same thing into the computer again (in different times) we will get exactly the same result.If we put the same input sequence into two different computers, we will also gain the same result.The number of states of a computer is finite.The result is completely determined by input data and functions we use.Every random number generator build with the use of computer is, by definition periodic.Of course, such periodic generator is predictable.If it is predictable it can't be random.A real random number generator requires a random input.A computer does not have random input.
The only possibility when it comes to randomness in case of computer science techniques is the creation of pseudorandom number generators (PRNG).They can be useful in some applications if the period of the obtained sequence of numbers is long enough, which means that numbers will repeat but after a relatively long time.The beginning of this sequence should consist of numbers that remind of random numbers.Many pseudorandom generators have been built, which are periodic, but the potential periods have the length of 2256 bites.However even generators with very long periods create strange correlations between numbers.Unfortunately every deterministic generator will produce them if it will be used in a specific way, but there are ways of minimizing the number of correlations.Structure of PRNG consists in using a certain number and recurrence function.We start with a certain number (seed).Then we subject it to mathematical function.We obtain a number, which is again subjected to the same function.We repeat the procedure.We obtain pseudorandom sequence of numbers.The process is constructed in such a way so that the numbers repeat after some time.
How fast it will occur depends on the function used.At some point PRNG will produce the number from which we started.From this moment the numbers will repeat periodically.In weak generators the periods are short, in good ones very long, which means that the sequence of numbers may repeat after milliards of operations.A choice of good, incompressible seed has a crucial importance in cryptography and art.When the secret cypher key is generated in a pseudo-random manner, if we get the seed, we also get they key.In cryptography we need really random number sequences.This means sequences, which can't be repeated: it is impossible to repeat a sequence of bits produced by such generator.This problem can be examined on the example of creating a key.Keys should be generated in such a way, so that the sequence used is really random.Otherwise, the adversary may get the copy of the key generator and break the given cryptographic system.Random number generator should be subjected to tests, which consist in attempts of compressing generated sequence.
One of the popular methods of generating random numbers is obtaining bits from computer clock.It doesn't however guarantee good quality randomness because computers use many mechanisms of clock synchronization.One shouldn't use too many bits generated through this method because using the same procedure several times effects in the emergence of correlations, which are easy to find.Randomness obtained from measuring time when the keyboard remains idle is another popular method, which consists in measuring short time intervals between keyboard presses.However a fundamental flaw of this method is that the generated keys are usually very short.
A good way of obtaining big number of random numbers is to use bits from the surrounding world, for example using atmospheric noise.This method requires specialised measuring devices that allow for measuring time between events.Generators that use thermal noise (e.g. from semiconductor material), as well as those that use computer disk drive, and measure time necessary for reading set of data from the disk have been created.Air turbulences influence variations in the rate of disk rotation.
There are also other methods of obtaining numbers from noise, which consist in measuring the position of the machine, mouse, screen behaviour, components of currently displayed image, CPU loads, microphone signal etc. Fundamental flaw of these methods is that there may occur some repeatable correlations introduced by measuring devices.These devices are often synchronised in order to enable correct, repeatable activity of the computer.
A very good method is using radioactive material and Geiger counter in which, during radioactive decay the time between following clicks is always different.Randomness from the quantum level obtained from radiation emitted during decay of radioactive material has an extremely good quality.One may obtain a big number of random bits from Geiger counter and use it as a key.We use a sequence of the length of for instance 256 bits as an input of one-way hash function.Hash function is a mathematical function that transforms a sequence into a sequence of a precise length.We use one-way function, which means that it is easy to count the shortened sequence on the basis of input sequence but it is impossible to do it the other way round.
Quantum mechanics claims that in the real world, randomness occurs in a pure form.In quantum states there is fundamental randomness and it cannot be changed.If we interpret the formulas of quantum mechanics we can say, that elementary particles do not exist in any precise location.They exist in many locations simultaneously, with a certain probability of occurrence.

QUANTUM ENIGMA
Quantum Enigma consists of installation, action and program, whose goal is to extend the notion of art by dealing with randomness.I reveal the process of radioactive decay as the best and strongest manifestation of the idea of randomness.Thorium is a medium of my idea: I have chosen Thorium as radioactive material, which is the source of fundamental random processes and is not associated with art.Thorium is a source of dispersion and real disorder.The real performative element contained in the action reveals pure process of decay and energy emission.