Extensible Markup Language For Artificial Neural Networks

Implementation of the XML Directional Artificial Neural Network

Implementation of the XML Directional Artificial Neural Network is very complicated; it has many components and sub components, and may be it has more than one input Layer groups, or more than one output Layer groups, see figure 1

Image
Figure 1 XML Directional Artificial Neural Network

It has List of Layers, the minim number of Layers is two, why that? Because we have to have one Input Layer or Group of Input Layers, and One Output Layer or Group of Output Layers.

 

 

Every layer has to have List of Neurons, List of Directions, and List of Values, see figure 2

Image
Figure 2 Architecture of one Layer

The List of Neuron is not fixed, we can add new Neuron in the run time of the learning or testing or using. Other layer can access the Output of the Neurons to use it as service values.

The List of Directions has all main direction that we want to use for the local Neurons, but we use it when we want to crate fully Connected Layer from other Layers, and every Neuron could has private Direction.

The List of Values has all the values we want to use in the equation of the Activation or the hidden equations, for example we use something link Threshold, learning rat, Delta rule, and Base if the programmer don't want to use the Base as Input for the Neuron.

2. What is the Direction?

The Direction is part of the Neuron or part of  Layer, but it contains list of links and weights, and list of values like Threshold, Learning Rate, and others value that we could use it in the Activation Equation, or other equation in the work, see figure 3 to see the architecture of it.

 

Image
Figure 3 One Direction

 

So, we can create Links as Direction between Layers and between Neurons.

We can use the Output of the Neuron to save the final value of the Activation Function of any direction in the neuron.

The directions in the Layers could use to make fully connect layer, for more saving in the memory or the circuits.

The Directions in the Neurons could use to link the neurons with other neurons in many direction, so if the Neuron was in the Input Layer and we don't want it to have any Direction connected to there Neurons, it will has NO Direction see figure 4.

Image
Figure 4 Neuron with No Direction

 

This Neuron hasn’t got any Directions, so we can use this Neuron in the input layer. And just we can use the Output as buffer to save the input value from any patterns.

The main Direction is zero because we don’t need to get any value form any other Neurons. Other Neuron can access to the Output value as input to the Directions of the Neuron.

Then if the Neuron has one Direction as in figure 5

 

Image
Figure 5 Neuron with One Direction

this Neuron has got One Direction, so we can use this Neuron in hiding Layers or for the Output layer. We can use the Output as buffer to save the result of the Activation function of the direction.

And here we can see the mainDiretion is one because we need to get the Output Value from Direction Number one, to use it as Output of the this Neuron. Other Neuron can access the Output value as input to the Directions of the Neurons.

 

If you look at figure 6, you can see Neuron has two Directions, because the programmer may be crate two directions, one forward and other backward, so he or she wants to use the output of the backward Direction as value, and then use this value with the equation of changing weight of the forward.

Image
Figure 6 Neuron with two Directions

But the Output of the Neuron just will get the Value from the Forward Direction, and If we want to do that we have to set the value MainDirection to the Forward Direction ID Number.

From previous idea we can add many directions as we want in the design time as in figure 7.

Image
Figure 7 Neuron with many directions

So, know if we want to describe the Neuron, we can say it is a collection or Directions as list, and every Direction in the List of Direction has Output, but the Output of the Neuron get the value of the Main Direction, That we want to show it to other neurons, see figure 8.

Image
Figure 8 the Neuron in general

I think this type if Implementation can hold any type of Artificial Neural Networks, you can find more about how we get to this architecture, by looking in the architecture section.

 
Copyright © 2010 xmlann.org