1 Neural Network for Dynamic Data Classification Based on Discrete-Time Winner-Takes-All Neural Circuits Pavlo V. Tymoshchuk1, Sergii V. Shatnyi2 Department of Computer Aided Design Systems, L’viv Polytechnic National University, 12, S. Bandera Str., L’viv, 79013, Ukraine, E-Mail: 1pautym@polynet.lviv.ua, 2sha_ser@ukr.net Abstract – The design of functional block-diagram of neural network classifier is proposed. The outputs are obtained by using self-optimizing (SONN) neural network based on the discrete-time dynamic Winner-takes-all (WTA) neural circuits which are capable to identify the largest from N input features. Implementation prospects of the SONN in an up-todate digital hardware and its application for classification problem solving of dynamic features are outlined. The network combines such properties as high speed and precision of data processing. Кеу words – neural network, SONN, WTA, classification, descrete time. I. Introduction As known, the self-optimizing neural network (SONN) is a neural network classifier based on a training data analysis which quickly estimates values of individual real, integer or binary input features. The SONN topology consists of the following three types of neurons that fulfill an input data transformation from real input vectors into a final classified outputs: discriminatively-factorization neurons, aggregation-strengthening neurons and maximum-selection neurons. The neurons are arranged in some number of layers. The number of layers is dependent on training data correlations. If training data of different classes are more correlated, then a neural network architecture is also more complicated and it has got more layers and neurons and vice versa [1], [2]. The SONN classification results have been compared with the other AI methods for the Wine and Iris data from MLRepository. The comparison results show that an error of correct classification by SONN approach is close to that of FSM method and method of k-nearest-neighbors. In particular, the whole process of neural network development and optimization and the weight computation for classification by using SONN for 5 inputs continues 1 - 2 seconds [2]. The SONN was successfully implemented on digital computers and adapted to many classification and recognition problems, in particular, to classical benchmarks, medical and pharmacological diagnosing. II. The problem statement The purpose of this paper is to design the functional block-diagram of the SONN for solving classification problem of dynamic features. Outputs of such the network have to be obtained based on discrete-time dynamical Winner-takes-all (WTA) neural circuits. Prospects of the network implementation in an up-to-date digital hardware have to be outlined. III. The network design for dynamic input features Winner-takes-all neural circuit For every time point t(k), k = 1,2,…M different neural network structures can be created. In each time point t(k) corresponding network is created and optimized, and values of its weights are computed for classification problem solving. The process of designing the networks for M time points of input features will require the time T=M , where is a time of creating, optimization and the network weight computing in one discrete-time point of input feature. Thus a time of designing M networks for M time points of input features by sequential computer software can reach unreasonable large value for large number of M. Moreover, in this case in order to keep designed structure and parameters of networks for each time point k in computer it is necessary to have large volume of memory. For instance, according to numerical results presented in [3] for concrete example of classification with 5 input features the whole process of the SONN development, optimization and weights computation takes 1 - 2 seconds. Therefore for M=10000 the time T=10000 - 20000 seconds>2.5 – 5 hours which can be unexeptable from practical point of view. Furthermore, in order to solve the classification problem of dynamic inputs by SONNs in a real time, i. e. in online mode the inequality <= t (k 1) t (k ) , k=1,2,...,M-1 should be satisfied. For instance, to classify signals of EEGs given in [4], [5] in real time it is necessary to spend <=78 ms that is much less than SONNs presented in [3] can provide. Therefore, the problem of reducing the problem solving time is important both for offline and online classification. Such the problem can be solved based on designing maximum-selection neurons of the network by using Winner-takes-all (WTA) neural circuits. WTA neural networks are known to select largest out of a set of N inputs [6], [7]. The network outputs are proposed to calculate by using discrete-time dynamic Kwinners-take-all (KWTA) neural circuit, where 1 K N presented in [8] for the case K=1. It is known that discrete-time neural networks comparatively to continuous-time analogs demonstrate a more high precision of signal processing, they are more reliable, more suitable to implement in software, and can be implemented in an up-to-date digital hardware for real time data processing. The circuit proposed in [8] is globally stable and convergent to WTA operation in finite number of iterations. It is composed of N feedforward neurons and one feedback hardlimiting neuron used to determine the desired shift of inputs. The circuit can be implemented in a digital hardware by summers, “COMPUTER SCIENCE & INFORMATION TECHNOLOGIES” (CSIT’2014), 18-22 NOVEMBER 2014, LVIV, UKRAINE 2 integrator, switches and external sources of voltage or current, which are appropriate for real time data processing using VLSI technologies [9]. In contrast to other comparative analogs, the circuit is capable to process correctly any finite value distinct inputs of arbitrary finite range, it has low computational and hardware implementation complexity, high speed of processing inputs, and possesses order preserving property of inputs. The circuit does not require resetting and corresponding supervisory circuit that additionally simplifies the hardware and increases a speed of processing inputs. A functional block-diagram of the network A functional block-diagram of the network can be composed of three parts, in particular aggregationstrengthening neurons, discriminatively-factorization neurons, and maximum-selection neurons [2], [3]. In particular, a functional block-diagram of the aggregationstrengthening neurons is presented in Fig. 1. The diagram consists of blocks of input data u training/test; classes C; ; summing ; controlled switches S; multiplication, division and summing : ; multiplication and division : ; multiplication and summation . The aggregation-strengthening neurons Fig.2 Architecture of the discriminatively-factorization neurons. norm function are implemented in a digital hardware using summers, multipliers, dividers and controlled switches. Fig.1 Architecture of the aggregation-strengthening neurons. A functional block-diagram of the discriminativelyfactorization neurons is presented in Fig. 2. The diagram consists of digital comparators, AND- and NO-switches, and constant voltage or current sources. A functional block-diagram of the maximum-selection neurons built based on the discrete-time dynamic KWTA neural circuit (NC) presented in [8] for K=1 is shown in Fig. 3, where ∑ is a block of discrete-time summation, S is a switch. Thus, the circuit can be implemented in a digital hardware using such digital components as summers, controlled switches, integrator, and external sources of voltage or current. Fig.3 Architecture of the maximum-selection neurons based on KWTA NC presented in [8] for K=1. The network output has to be computed for each class m (1,..., M) . Therefore, in order to reduce a time of obtaining the network outputs, parallel computation of each output can be applied. For this purpose M discretetime dynamic KWTA NCs can be used. The overall network can be implemented in an up-todate digital hardware using such electronic circuit components as summers, multipliers, dividers, controlled switches, comparators, AND- and NO-switches, integrators, and external sources of voltage or current. It is necessary to note that the functional blockdiagrams presented in Fig. 1 – Fig. 3 are characterized by hardware implementation restrictions. In particular, all the implemented blocks of the block-diagrams will have time delays which in totality define the speed of processing inputs by corresponding real digital network. An expression for time delay to process one set of input features by the network can be presented as follows: T T1 T2 T3 , (1) T1 is a time delay of the discriminativelyfactorization neurons, T2 is a time delay of the discriminatively-factorization neurons, T3 is a time delay where of the maximum-selection neurons. If more than one set of input features should be processed, it can be done sequentially in time. In other words, each next set of inputs can be processed after processing the previous set of inputs. Therefore, in order to obtain a correct operation of the network in the case of more than one set of inputs, a repetition period Tr of sets of input features should meet the following inequality: (2) Tr T . “COMPUTER SCIENCE & INFORMATION TECHNOLOGIES” (CSIT’2014), 18-22 NOVEMBER 2014, LVIV, UKRAINE 3 The network can be used in the case of time-varying input features cl (k) , l=1,2,…,N, k=1,2,… if the module of speed change of such input features is much less than that of their processing by the network. In other words, in this case, the condition (3) dx l (k) / dt dc l / dt should be satisfied for each k . The resolution of the network is theoretically infinite and it does not depend of values of its parameters. In other words, the network can always classify distinct input features correctly. Moreover, the network is capable to operate correctly with any initial value of the state variables 0 x l (1) A , where A>0 [7]. Therefore, a functioning of the designed network is independent on initial conditions which can accept arbitrary values in a given range [0,A]. Therefore the network will not require periodical resetting for repetitive processing of input features, additional supervisory circuits for resetting, and spend additional processing time on this operation. This allows to simplify the hardware and increase a speed of processing input features that is important for real time operating of the designed network. Implementation prospects of the network An implementation of the network can be simulated using software. Such simulations confirm obtained theoretical results. It is known that software implementations of neural networks offer flexibility. Software implementations of the network can be trained and simulated on general-purpose sequential computers. For reducing a time of classification of dynamic input features the network implementation in a parallel software using their parallel structure can be performed. However, the processing speed of input features by the network implemented in software can be not high enough especially to meet demands of real time. Therefore, microprocessors and digital signal processing can be not suitable for parallel designs of network for real time applications. Despite the tremendous growth in the digital computing power of general-purpose processors neural network hardware has been found to be promising in many applications such as image processing, speech synthesis and analysis, pattern recognition, high energy physics and others. In order to speed-up the network operation it can be implemented in an up-to-date digital hardware. Comparing with an analogue implementation, a digital hardware is more computationally precise and reliable as long as the requirements for the size and power efficiency are not high. The digital implementation of the designed network will have better repeatability, lower noise sensitivity, better testability, higher flexibility, as well as compatibility with other types of preprocessors [9]. Hardware implementations are essential for applicability and for taking the advantage of network inherent parallelism. Specific-purpose fixed hardware implementations (i.e. VLSI) can be dedicated to specific network models. VLSI implementations of network is capable to provide not only high speed in real time applications but also compactness [10]. Therefore, to solve the problem of classification of dynamic input featuress an implementation of the network in an up-to-date digital hardware can be used. For the network hardware FPGA-based implementations, ASIC-based implementations, and DSP-based implementations can be used. Since DSP-based implementation is sequential, it does not preserve the parallel architecture of the network. ASIC implementation can be used for the network hardware realization, although it does not offer re-configurability by the user in order to improve their performance. The FPGA implementation achieves a comparable accuracy with the traditional solutions based on general-purpose computers. An FPGA as an implementation hardware combines the reprogrammability advantage of general purpose processors with the parallel processing and speed advantages of customer hardware. The size and speed evaluation of FPGA reveals its low cost in terms of logic and memory [11]. To implement the network in a hardware, the FPGA based reconfigurable computing architecture is quite suitable because the parallel structure of FPGA matches the topology of the network and offers flexibility in reconfiguration. The architecture of the network and training algorithms can be implemented on a FPGA chip performing an on-line training. Such computational characteristics of the network as modularity and dynamic adaptation can be also realized in FPGA hardware. Using FPGA, the network may be implemented through parallel computing in a real-time hand-tracking system. Due to the relatively high capacity, high density, short design cycle, and short time to market when using EDA tools, FPGA can be considered as the most applicable microelectronic technology for the network designing [12]. Neural network hardware implementation on FPGA The software platform for the FPGA hardware implementation allows several levels of definition of the logic functions. One level is through an electrical schematic diagram, a second level through hardware description languages. These levels result in the synthesis of logic hardware for implementation the designed neural network. Let us use for the network hardware implementation Altera FPGA Cyclone III EP3C16Q240 integral circuit. The circuit consists of the following main parts: the Configurable Logic Block, which provides physical support for the program downloaded into the FPGA; Input-Output Block possesses communication possibilities outside the FPGA; Programmable Interconnection Block connects the different parts of FPGA and allows them to communicate with each other (Fig. 4). Since the indicated connections are programmable therefore combining them is a part of implementation process. “COMPUTER SCIENCE & INFORMATION TECHNOLOGIES” (CSIT’2014), 18-22 NOVEMBER 2014, LVIV, UKRAINE 4 Fig.4 FPGA hardware implementation architecture of the network. The hardware design starts from developing a bridge between host-PC and FPGA-board via parallel interface. Training data are stored in shift registers and passes XNOR logic gates, where they are mixed with constant values of Classes C in lpm_constant blocks. All external threads are controlled by the ocp_temeout block that also has a function of clocking internal logic and arithmetics elements. The main feature of the architecture presented in Fig. 4 is conversion of internal data flows from parallel form into serial stream. As far as the FPGA is capable ещ perform distributed tasks, conversion operates in a real time and does not affect the overall system performance. The described architecture also fulfills a function of muxing and demuxing the processed signals and distributing them to different levels of the system. Hard-level design of the network is implemented by using hardware-defined graphical language. Each functional block of the WTA neural circuits is realized by using Verilog language stored in HDL-blocks. In such mode a scalability and real-time signal processing are provided. Conclusion The designed network implemented in hardware comparatively to its software implemented counterparts will offer such advantages as speed, cost, graceful degradation, and compactness [13], [14]. The error of classification of static input features by the SONN for some test Wine data is larger than 6% against its less than 1.5% value for FSM method. Moreover, the error of classification by SONN for some test Iris data is higher than 5% in contrast to 4% value obtained by using the method of k-nearest neighbors [3]. Therefore the problem of precision rising of classification by SONNs has to be solved. This problem is supposed to solve by using SONN with higher order nonlinearities comparatively to existing ones. Such the problem is a subject of further investigations of the authors. References R. (eds.): Biocybernetics and Biomedical Engineering. EXIT, Warszawa (2000). [2] Adrian Horzyk, Self Optimizing Neural Networks SONN-3 for Classification Tasks, Proc. of HAIS 2008, LNAI 5271, eds. E. Corchado, A. Abraham, W. Pedrycz, Springer-Verlag, Berlin Heidelberg 2008, pp. 229-236. [3] Adrian Horzyk, Introduction to Constructive and Optimization Aspects of SONN-3, Proc. of ICANN 2008, LNCS 5164, eds. V. Kurkova et al., SpringerVerlag, Berlin Heidelberg 2008, pp. 763-772. [4] S. M. Lee and S. J. Roberts, “Sequential Dynamic Classification Using Latent Variable Models”, Technical Report PARG 08-02, Robotics Research Group of Engineering Science Department of Oxford University, 2008. [5] J. W. Yoon,_S. J. Roberts, M. Dyson, J. Q. Ganb, “Adaptive classification for Brain Computer Interface systems using Sequential Monte Carlo sampling,” Neural Networks, vol. 22, pp. 1286-1294, June 2009. [6] R. P. Lippmann, “An introduction to computing with neural nets,” IEEE Acoustics, Speech and Signal Processing Magazine, vol. 3, no. 4, pp. 4-22, Apr. 1987. [7] E. Majani, R. Erlanson, and Y. Abu-Mostafa, “On the k-winners-take-all network,” In Advances in Neural Information Processing Systems, vol. 1, D. S. Touretzky, Ed. San Mateo, CA: Morgan Kaufmann, 1989, pp. 634–642. [8] P. V. Tymoshchuk, “A simplified continuous-time model of analogue K-winners-take-all neural circuit”, in Proc. XI Int. Conf. “The Experience of Designing and Application of CAD Systems in Microelectronics Polyana-Svalyava, Ukraine, February 23-25, 2011, pp. 121-125. [9] A. Cichocki and R. Unbehauen, Neural Networks for Optimization and Signal Processing (New York: John Wiley and Sons, 1993). [10] Suhap Sahin, Yasar Becerikli, and Suleyman Yazici, Neural Network Implementation in Hardware Using FPGA, Proc. of ICONIP 2006, LNCS 4234, eds. I. King et al., Springer-Verlag, Berlin Heidelberg 2006, pp. 1105-1112. [11] A. Muthuramalingam, S. Himavathi and E. Srinivasan, “Neural network implementation using FPGA: issues and application”, International Journal of Information Technology, vol. 4, no 2, 2008, pp. 95-101. [12] M. Krips, T. Lammert and A. Kummert, “FPGA implementation of a neural network for a real-time hand tracking system”, Proceedings of the 1st IEEE International Workshop on Electronic Design, Test and Applications, vol. 29-31, 2002, pp. 313-317. [13] M. Hanggi, G. Moschytz, Cellular Neural Networks: Analysis, Design, and Optimization, Kluwer Academic Publishers, Norwell, MA, USA, 2000. [14] J. Misra and I. Saha, ”Artificial neural networks in hardware: A survey of two decades of progress”, Neurocomputing, vol. 74, 2010, pp. 239-255. [1] Duch, W., Korbicz, J., Rutkowski, L., Tadeusiewicz, “COMPUTER SCIENCE & INFORMATION TECHNOLOGIES” (CSIT’2014), 18-22 NOVEMBER 2014, LVIV, UKRAINE