Research /
## ResearchThoughts - research notes go here. GOOD!
A form of supervised learning. This means the input(s) and optimal output are already known, so the algorithm's job is to find the best/optimal "way" to "get to" the optimal output from the input(s).
Such a model contains: sets of adaptable "weights" between "neurons" according to some learning algorithm, and the ability to approximate non-linear functions from the input(s) to the output. ANNs can allow for "learning" via the use of a cost function, C(f(x)), which takes in functions and assigns them a value for their optimality. The criteria for optimality obviously differs from task to task. Such a function can help us find the optimal function ("way" of "getting to" the desired output) we'll call f* which has the property: C(f*) <= C(f) for all f in F where F represents "possible functions" for the task. The actual "learning" occurs by adjusting "weights" in the ANN.
As said, the "learning" depends on the learning algorithm chosen. There are several different, popular methods for training ANNs.
A method of training ANNs via evolutionary algorithms. This means processes such as reproduction, mutation, and selection as described by biological evolution according to natural selection are used to optimize the ANN at hand. Basic implementation of emulating evolution:
This basic implementation is applied to the make-up (the connections and weights) of the artificial neural network being trained. This application can be either direct and specific or indirect and general. Drawbacks include fitness function evaluation, search space size, convergence toward local optima, and handling of dynamic data.
There exists different methods of neuroevolution with different features. One big distinction is whether the ANN is trained via changes in its weights and the connection between neurons (its topology) or changes in just its weights while having a static topology. (ie. conventional NE vs. NEAT) Another distinction is how the agent (a pseudo-anthropomorphization of ANNs) receives information about its virtual environment. Alternately, this distinction is about how the state of the agent's "world" is represented. Good paper on applied neuroevolution: https://www.cs.utexas.edu/~mhauskn/papers/atari.pdf Other papers: http://www.cs.bham.ac.uk/~axk/evoNN.pdf and http://www.few.vu.nl/nl/Images/werkstuk-hoekstra_vincent_tcm243-248302.pdf
Preliminaries: Two main types of neurons in ANNs Since the sigmoid function is continuous and smooth, small changes in input result in small changes in output. Also, we can linearly approximate changes in output. Also, the sigmoid function is a specific instance of the general notion of an activation function. It is used mainly because of the ease of taking the derivative of the natural exponential function. A frequently used cost function amongst ANNs is the mean squared error function: C(w, b) = 1/2n * sum(y(x) - a)^2. W is the set of all weights, b is the set of all bases, n is the number of training inputs, y(x) is the vector-valued output for x that is desired, a is the vector-valued output we actually get from the network. We want to minimize this cost function by picking the appropriate w and b. |

Page last modified on July 15, 2016, at 10:09 AM