Kohonen Net

download Kohonen Net

of 6

Transcript of Kohonen Net

  • 7/27/2019 Kohonen Net

    1/6

    Competitive Networks - the Kohonen Self-organising Map

    Competitive neural networks represent a type of ANN model in which neurons in the output layer

    compete with each other to determine a winner. The winner indicates which prototype pattern is mostrepresentative of (most similar to) the input pattern.

    The competition among output layer neurons is implemented by lateral inhibition - a set of negative

    connections between the neurons. The most well known among this paradigm of ANNs is the Self-

    organising Map (SOM), also known as the Kohonen net.

    Learning in biological systems - the self-organising paradigm

    Architecture of the Kohonen Network

    The Kohonen Network in Operation

    Training the Kohonen Network

    Applications of the Kohonen Network

    Learning in biological systems - the self-organising paradigm

    The type of learning utilised in multilayer perceptrons requires the correct response to be provided

    during training (supervised training).

    Biological systems display this type of learning, but they are also capable of learning by themselves -

    without a supervisor showing the correct response (unsupervised learning).

    A neural network with a similar capability is called aself-organising system because during training,

    the network changes its weights to learn appropriate associations, without any right answers being

    provided.

    The propagation of biological neural activation via axons can be modelled using a Mexican hat

    function:

  • 7/27/2019 Kohonen Net

    2/6

    Artificial Neural NetworksKohonen Network

    Cells close to the active cell have excitatory links. The strengths of the links drop off with distance

    and then turn inhibitory. The Kohonen neural network also uses only locally connected neurons and

    restricts the adjustment of weight values to localised "neighbourhoods".

    Architecture of the Kohonen Network

    The Kohonen network consists of an input layer, which distributes the inputs to each node in a

    second layer, the so-called competitive layer.

    Each of the nodes on this layer acts as an output node.

    Each neuron in the competitive layer is connected to other neurons in its neighbourhood and

    feedback is restricted to neighbours through these lateral connections.

    Neurons in the competitive layer have excitatory connections to immediate neighbours and inhibitory

    connections to more distant neurons.

    All neurons in the competitive layer receive a mixture of excitatory and inhibitory signals from the

    input layer neurons and from other competitive layer neurons.

    The Kohonen Network in Operation

    As an input pattern is presented, some of the neurons are sufficiently activated to produce outputs

    which are fed back to other neurons in their neighbourhoods.

    2

  • 7/27/2019 Kohonen Net

    3/6

    Artificial Neural NetworksKohonen Network

    The node with the weight vector closest to the input pattern vector (the so-called "winning node")

    produces the largest output. During training, input weights of the winning neuron and its neighbours

    are adjusted to make them resemble the input pattern even more closely.

    At the completion of training, the winning node ends up with its weight vector aligned with the input

    pattern and produces the strongest output whenever that particular pattern is presented.

    The nodes in the winning node's neighbourhood also have their weights modified to settle down to

    an average representation of that pattern class. As a result, unseen patterns belonging to that class are

    also classified correctly (generalisation).

    The m neighbourhoods, corresponding to the m possible pattern classes are said to form a

    topological map representing the patterns.

    The initial size of the neighbourhood mentioned above and the fixed values of excitatory (positive)

    and inhibitory (negative) weights to neurons in the neighbourhood are among the design decisions tobe made.

    Derivation of the learning rule for the Kohonen net

    The sum squared error for patternp for all output layer neurons can be written as

    2)(2

    1 pj

    j

    ijp xwE = (1)

    where xjp is the ithcomponent of pattern p for neuronj. The summation is done over allj neurons.

    Any change wijin the weight is expected to cause a reduction in errorEp.NowEp is a function of all the weights, so its rate of change with respect to any one weight value wijhas to be measured by calculating its partial derivative with respect to wij. (That is why we have thesmall delta , instead ofdin the following equation for the derivative)

    ij

    p

    ijpw

    Ew

    =

    (2)

    where is a constant of proportionality.

    Now we have to calculate the partial derivative ofEp. Using (1):

    p

    jij

    ij

    pxw

    w

    E=

    (3)

    Combining (2) and (3), we get

    )()( ijp

    j

    p

    jij

    ij

    p

    ijpwxxw

    w

    Ew ==

    =

    3

  • 7/27/2019 Kohonen Net

    4/6

    Artificial Neural NetworksKohonen Network

    Training the Kohonen Network

    The Kohonen Algorithm

    1. Initialise weights

    Initialise weights from Ninputs to the nodes to small random

    values. Set the initial radius of the neighbourhood.

    2. Present new inputxo(t),x1(t),x2(t), ..xn-1(t), where xi(t) is

    the input to node i at time t.

    3. Compute distances to all nodes

    Compute distances dj between the input and each output node jusing

    N-1

    dj = (xi(t)- wij(t))2

    i

    where xi(t) is the input to node i at time t and wij(t) is the

    weight from input node i to output node j at time t.

    4. Select output node with minimum distance

    Select output node j* as the output node with minimum dj.

    5. Update weights to node j* and neighbours

    Weights updated for node j* and all nodes in the neighbourhood

    defined by Nj*(t). New weights are

    wij(t + 1) = wij(t) + (t)(xi(t) - wij(t))

    for j in Nj*, 0 i N-1

    The term(t)is a gain term 0 1. Bothand Nj*(t) decrease

    with time.

    6. Repeat by going to step 2

    4

  • 7/27/2019 Kohonen Net

    5/6

    Artificial Neural NetworksKohonen Network

    Learning Vector Quantisation (LVQ)

    A supervised learning technique for optimising performance of Kohonen networks, e.g., when new

    vectors are to be added.

    Weight adjustments -

    For a correctly classified input:

    nw(t+1) = nw(t) + (t)[x(t) - nw(t)]

    For incorrect classification:

    nw(t+1) = nw(t) + (t)[x(t) - nw(t)]

    Training issues in Kohonen Neural Nets

    Vector normalisation

    To make vector comparison independent of magnitudes and dependent on orientation only, the

    vectors are normalised by dividing them by their magnitudes. This also helps to reduce training time.

    Weight initialisation

    A random distribution of initial weights may not be optimal, resulting in sparsely populated trainable

    nodes and poor classification performance.

    Possible remedies:

    a. Initialisation of weights to same value and lumping of input vectors to similar orientation.

    This increases likelihood of all nodes being closer to pattern vector. Inputs slowly returned to

    original orientation with training.

    b. Addition of random noise to inputs to distribute vectors over a larger pattern space.

    c. Using a large initial neighbourhood changing slowly.

    Reducing neighbourhood size

    Should be decreasing linearly with time (iterations).

    Neighbourhood shape may vary to suit application - e.g., circular or hexagonal instead of

    rectangular.

    5

  • 7/27/2019 Kohonen Net

    6/6

    Artificial Neural NetworksKohonen Network

    Applications of the Kohonen Network

    The Kohonen network is being used in speech and image processing and has potential for statistical

    and database applications.

    Speech Processing - Kohonen's Phonetic Typewriter

    Speaker-independent, unlimited vocabulary continuous speech recognition remains yet to be

    achieved with conventional techniques. The problem is made difficult by the same word being

    spoken with different pronunciations, levels of loudness, emphases and background noise. Apart

    from analysing individual units of sound (phonemes), the human brain uses stored speech patterns,

    context and other clues to recognise speech successfully.

    Kohonen's Phonetic Typewriter combines digital signal processing techniques and the use of

    a rule base with a Kohonen network to achieve 92-97% accuracy with multiple speaker unlimited

    vocabulary Finnish and Japanese speech.

    Reference:

    "Neural Computing" Beale & Jackson.

    6