General Regression Neural Network Application for Dynamic Data Compression and Decompression

In the last decade have been witnessed a great development in artificial intelligence especially in neural network .This paper have been employed neural networks techniques for data compression and decompression. The application of General Regression Neural Network (GRNN) in data compression is very important of data transmission, because this technique offers less than memory storage and time for transferring of the data over computer networks or internet. Taking into consideration the data compression provides security of these data. The matlab version (R2009a ) is used for designing the propose system of neural network (GRNN) to dynamic data compression and decompression .


Introduction:
Data compression is an effective means for saving storage space and network bandwidth. A large number of compression schemes have been devised based on character encoding or on detection of repetitive strings [10,3], Many compression schemes achieve data reduction rates to 2.3−2.5 bits per character for English text [5]. In many situations arising in digital communications and data processing, the encountered strings of data display various structural regularities or are otherwise subject to certain constraints, thereby allowing for storage and time-saving techniques of data compression.
Given a discrete data source, the problem of data compression is first to identify the limitations of the source, and second to devise a coding scheme which, subject to certain performance criteria, will best compress the given source. When no a priori knowledge of the source characteristics is available, and if statistical tests are either impossible or unreliable, the problem of data compression becomes considerably more complicated. In order to overcome these difficulties one must resort to universal coding schemes whereby the coding process is interlaced with a learning process for the varying source characteristics. Such coding schemes inevitably require a larger working memory space and generally employ performance criteria that are appropriate for a wide variety of sources [7].
The use of compression for storing text files has become inherent part of personal as well as commercial computing. The various compression applications available perform two functions, compression and decompression. The text document is first compressed and then the entire document is decompressed when required [1,8]. This has some implications such as the unnecessary use of disk space for storing the compressed document as well as uncompressed document at the same time. Another implication is that even though an end user may require only a part of the document, the entire document as a whole is decompressed [1,4].

Neural Networks:
Neural network are simplified models of the biological neurons system .the human brain computes in an entirely different way from digital computer . The brain is a highly complex, nonlinear, and parallel information processing system .it has ability to organize its structural constituents, known as neurons or nerve cells. A neural network is a massively parallel distributed processors made up of simple processing units, which has a natural capability for storing experimental knowledge and making it available for use.
Above all an Artificial Neural Network (ANN) is an information processing system that is inspired by the way biological nervous systems, such as the brain , process information . The key element of this paradigm is the novel structure of the information processing system . It is composed of a large number of highly interconnected processing elements (neurons) working in unison to solve specific problems. ANNs, like people, learn by example . An ANN is configured for a specific application , such as pattern recognition or data classification , through a learning process . Learning in biological systems involves adjustments to the synaptic connections that exist between the neurons . This is true of ANNs as well . To get the correct output training should require. This process is known as learning various kinds of learning processes are there . Namely supervised learning unsupervised learning methods are very popular . In supervised learning a teacher should be present were as in unsupervised learning has to be performed without teacher [11].

General Regression Neural Network (GRNN):
The General Regression Neural Network (GRNN) is a neural network architecture that can solve any function approximation problem. The learning process is equivalent to finding a surface in a multidimensional space that provides a best fit to the training data, with the criterion for the "best fit" being measured in some statistical sense. The generalization is equivalent to the use of this multidimensional surface to interpolate the test data. Figure (1) is the overall network topology implementing the GRNN. As it can be seen from the figure, the GRNN consists of three layers of nodes with entirely different roles: 1. The input layer, where the inputs are applied. 2. The hidden layer, where a nonlinear transformation is applied on the data from the input space to the hidden space; in most applications the hidden space is of high dimensionality. 3. The linear output layer, where the outputs are produced.

Figure (1) General regression neural network
The most popular choice for the function  is a multivariate Gaussian function with an appropriate mean and auto covariance matrix. The outputs of the hidden layer units are of the form .
When v x k are the corresponding clusters for the inputs and v y k are the corresponding clusters for the outputs obtained by applying a clustering technique of the input/output data that produces K cluster centers [2]. v y k is defined as : Nk is the number of input data in the cluster center k, and The outputs of the hidden layer nodes are multiplied with appropriate interconnection weights to produce the output of the GRNN. The weight for the hidden node k (i.e., wk) is equal to The selection of an adequate set of training examples is very important in order to achieve good generalization properties. The set of all available data is separated in two disjoint sets: training set and test set. The test set is not involved in the learning phase of the networks and it is used to evaluate the performances of the models [9]. The configuration of the neural network model is determined by the nature of the problem to be solved. The dimension of the input vector used defines the number of inputs neurons [6].

Application of the GRNN to Data Compression:
The steps of the GRNN data compression and decompression algorithm as show below:

1.
Open text file for reading 2.
Read character by character and convert each character to ASCII 3.
Convert ASCII to binary number 4.
Broadcasting the binary number to the input layer of GRNN 5.
Applied training of the neural network to get the output throws the hidden layer using equations 1 to 5. 6.
Compare the result of the GRNN with the target, if match then stop; otherwise adjust the weights to continue the learning of the neural network by using steps 5, 6 again. The figure (2) explain the process of data compression and decompression using neural network respectively (a) (b)

Figure (2) a-GRNN Comp. flowchart and (b)-GRNN Decom. flowchart
The main objective of this paper is to design hybrid system between neural network with data compression and decompression. The common between two techniques is to offer application support efficiently solving this problem because combine the two techniques is to provide less than memory storage and time process to transfer data over channel.
GRNN can be used to compress a character by performing training (the training input vector and target vector shown in table 1). the number of nodes in output layer can be determined dynamically depended on the order of the character in alphabetical and binary target pattern, when A equal the value 1, B equal the value 2, and so on until the Z equal the value 26 see table 1. This facility to support the proposed system, because offers less than memory storage for the data. The input layer has 8 nodes to implement an ASCII character wish to compress. The number of nodes in hidden layer is given smaller for compression. The structure of the proposed system for compression and decompression for example characters 'A' and 'Z' are shown in figure (3)

Compression Decompression
The result of GRNN compression is (ë ,Y, s , -, /, ò, ¹), the number of the characters in above text are 14 byte, while the numbers of the character in the text after compress operation are 8 byte, therefore the data reduction of this system to 4 bit per character.

Conclusion:
In this paper a new idea to text compression based on neural network, the GRNN technique used to data compression and decompression. This technique for proposed system offers less than memory storage and time-consuming comparing with the traditional text compression. The average data reduction rate of the proposed system to 4 bit per character, while the traditional text compression data reduction rates to 2.3-2.5 bit per character is stated in introduction section.