As we had already discussed about a simple implementation of Back Propagation Net (BPN) in the previous blogs, we shall move a little further about how to implement other forms of neural networks in SAP-XI. In this blog we shall discuss about Hopfield Net and Kohonen Feature Map.
Hopfield Net Architecture
The Hopfield Net was first introduced by physicist J.J. Hopfield in 1982. It consists of a set of neurons, where each neuron is connected to each other neuron. There is no differentiation between input and output neurons. Its a feedback type neural network. It uses unsupervised learning method and uses delta learning rule or simulated annealing as learning algorithm. The main application of a Hopfield Net is the storage and recognition of patterns, e.g. image files.
Design of Hopfield net in SAP-XI
In Hopfield net, if there are n nodes, there will be n*(n-1)/2 weight nodes.
The above diagram shows a theoretical design of a single binary input from node 1 to n-1 nodes and updating 1… (N-1) weights. This will continue till the last node updating the other weights. But be careful mapping the correct nodes and updating the correct weights because, e.g., node 1 to node 4 refers to the same weight from node 4 to node 1.
Kohonen Feature Map
The Kohonen Feature Map was first introduced by finnish professor Teuvo Kohonen (University of Helsinki) in 1982. It is probably the most useful neural net type, if the learning process of the human brain shall be simulated. The type of this neural net is both feedforward (input layer to feature map) and feedback (feature map). It has one input layer and one map layer. The input values can be binary as well as real and the activation function used is sigmoid. It uses unsupervised learning method with selforganization learning algorithm.
What is selforganization? During its learning process, the neurons on the net’s feature map are organizing themselves depending on given input values. This will result in a clustered neuron structure, where neurons with similar properties (values) are arranged in related areas on the map.
Design of Kohonen Feature Map in SAP-XI
The above design clearly shows the feedforward used between input and feature map and feedback in feature map. Feedforward. feedback and its weight updations can be done in message mapping very similar to BPN in the Part-1 & 2 of this blog series.
The above is a refined version of the already discussed design in the blog, A critical analysis and not criticism. In my view, I think this is the best design for neural networks in SAP-XI.
Pros and Cons
- Totally implementing neural networks in SAP-XI will result in poor performance, but implementing with the help of modules in SAP-XI will improve the performance significantly.
- Very useful when multiple training and wide range of neural networks are used and mapped for the final result.
- SAP-XI is the only easiest possible tool to dynamically integrate other applications with neural networks.
- The greatest advantage is its Java and the Integration. With these both anything can be achieved.
- Careful designing after proper analysis is needed especially in neural networks because performance is a real big issue here.
Neural network Applications
Since neural networks are best at identifying patterns or trends in data, they are well suited for prediction or forecasting needs including:
- sales forecasting
- industrial process control
- customer research
- data validation
- risk management
- target marketing
But to give some more specific examples, ANN are also used in the following specific paradigms:
- recognition of speakers in communications
- diagnosis of hepatitis
- recovery of telecommunications from faulty software
- interpretation of multimeaning Chinese words
- undersea mine detection; texture analysis
- three-dimensional object recognition
- hand-written word recognition
- facial recognition.
Technical perspective: Pattern Recognition – an example
An important application of neural networks is pattern recognition. Pattern recognition can be implemented by using a feed-forward neural network that has been trained accordingly. During training, the network is trained to associate outputs with input patterns. When the network is used, it identifies the input pattern and tries to output the associated output pattern. The power of neural networks comes to life when a pattern that has no output associated with it, is given as an input. In this case, the network gives the output that corresponds to a taught input pattern that is least different from the given pattern.
The network of the above figure is trained to recognize the patterns T and H. The associated patterns are all black and all white respectively as shown below.
If we represent black squares with 0 and white squares with 1 then the truth tables for the 3 neurons after generalization are:
From the tables the following associations can be extracted:
How to use these ANN applications in SAP-XI?
Lets take the above example. It contains i1 i9 as binary input. These are split into three i1 i3, i4 i6 and i7 i9 and goes into the activation function. After passing into the activation function, the final output is arrived as 1 bit per 3 input bits accordingly. I have not mentioned any training here since the application is considered to be trained! Trained applications have weights hard-coded. Here, if we are using trained applications then we dont even have to worry about performance. Its only in the training, performance is a real big issue and in that too, performance can be significantly increased by using adapter modules.
The above is just an example to show a neural network application without a training module. Training can be even done completely outside SAP-XI and the trained weights can be used to arrive the required output in SAP-XI. Through this even the training overload can be completely avoided yet a complete ANN application can be built around SAP-XI.
Exchange Infrastructure can not only be used for integration but with its Java as a programming tool in hand, it can achieve many things especially in the field of neural networks.