- Activation function
In computational networks, the activation function of a node defines the output of that node given an input or set of inputs. A standard computer chip circuit can be seen as a digital network of activation functions that can be "ON" (1) or "OFF" (0), depending on input. This is similar to the behavior of the
linear perceptron inneural networks . However, it is the "nonlinear" activation function that allows such networks to compute nontrivial problems using only a small number of nodes.Functions
In biologically-inspired neural networks, the activation function is usually an abstraction representing the rate of
action potential firing in the cell. In its simplest form, this function isbinary --that is, either theneuron is firing or not. The function looks like , where is theHeaviside step function . In this case a large number of neurons must be used in computation beyond linear separation of categories.A line of positive
slope may also be used to reflect the increase in firing rate that occurs as input current increases. The function would then be of the form , where is the slope. This activation function is linear, and therefore has the same problems as the binary function. In addition, networks constructed using this model have unstable convergence due to the fact that neuron inputs along favored paths tend to increase without bound, as this function is not normalizable.All problems mentioned above can be handled by using a normalizable sigmoid activation function. One realistic model stays at zero until input current is received, at which point the firing frequency increases quickly at first, but gradually approaches an
asymptote at 100% firing rate. Mathematically, this looks like , where thehyperbolic tangent function can also be any sigmoid. This behavior is realistically reflected in the neuron, as neurons cannot physically fire faster than a certain rate. This model runs into problems, however, in computational networks as it is not differentiable, a requirement in order to calculatebackpropagation .The final model, then, that is used in
multilayer perceptrons is a sigmoidal activation function in the form of a hyperbolic tangent. Two forms of this function are commonly used: whose range is normalized from -1 to 1, and is vertically translated to normalize from 0 to 1. The latter model is often considered more biologically realistic, but it runs into theoretical and experimental difficulties with certain types of computational problems.Alternative structures
A special class of activation functions known as radial basis functions (RBFs) are used in RBF networks, which are extremely efficient as universal function approximators. These activation functions can take any form, but they are usually found as one of three functions:
*Gaussian:
*Multiquadratics:
*Inverse multiquadratics: where is the vector representing the function "center" and and are parameters affecting the spread of the radius.Support vector machines (SVMs) can effectively utilize a class of activation functions that includes both sigmoids and RBFs. In this case, the input is transformed to reflect a decision boundary hyperplane based on a few training inputs called "support vectors" . The activation function for the hidden layer of these machines is referred to as the "inner product kernel", . The support vectors are represented as the centers in RBFs with the kernel equal to the activation function, but they take a unique form in the perceptron as :,where and must satisfy certain conditions for convergence. These machines can also accept arbitrary-order polynomial activation functions where:. [cite book |last=Haykin |first=Simon |authorlink=Simon Haykin |title=Neural Networks: A Comprehensive Foundation |edition=2 |year=1998 |publisher=Prentice Hall |location= |isbn=0132733501 ]References
External links
* [http://dynamicnotions.blogspot.com/2008/09/sigmoid-function-in-c.html Implementation of the Sigmoid Activation Function in C#]
Wikimedia Foundation. 2010.