Field-programmable gate array implementation of a probabilistic neural network for motor cortical decoding in rats

https://doi.org/10.1016/j.jneumeth.2009.10.001Get rights and content

Abstract

A practical brain–machine interface (BMI) requires real-time decoding algorithms to be realised in a portable device rather than a personal computer. In this article, a field-programmable gate array (FPGA) implementation of a probabilistic neural network (PNN) is proposed and developed to decode motor cortical ensemble recordings in rats performing a lever-pressing task for water rewards. A chronic 16-channel microelectrode array was implanted into the primary motor cortex of the rat to record neural activity, and the pressure signal of the lever were recorded simultaneously. To decode the pressure value from neural activity, both Matlab-based and FPGA-based mapping algorithms using a PNN were implemented and evaluated. In the FPGA architecture, training data of the network were stored in random access memory (RAM) blocks and multiply–add operations were realised by on-chip DSP48E slices. In the approximation of the activation function, a Taylor series and a look-up table (LUT) are used to achieve an accurate approximation. The results of FPGA implementation are as accurate as the realisation of Matlab, but the running speed is 37.9 times faster. This novel and feasible method indicates that the performance of current FPGAs is competent for portable BMI applications.

Introduction

Brain–machine interface (BMI) provides a technological method for persons with damaged sensory and motor functions to restore lost ability or control external devices using their mind (Donoghue, 2002, Wolpaw et al., 2002, Mussa-Ivaldi and Miller, 2003, Lebedev and Nicolelis, 2006, Tonet et al., 2008). This research field has blossomed so spectacularly in recent decades and has led to the proposal of various principles of neural ensemble physiology (Nicolelis and Lebedev, 2009), especially in motor cortical decoding using invasive techniques. Through associating neural activity with its corresponding movement, many groups have realised motor BMIs, such as controlling simple and elaborate robot arms (Chapin et al., 1999, Wessberg et al., 2000, Carmena et al., 2003, Velliste et al., 2008), computer cursors (Serruya et al., 2002, Taylor et al., 2002) and even paralysed muscles (Moritz et al., 2008).

The motor cortical decoding algorithms are of great importance in these applications because they are needed in extracting meaningful information from neural activity in real time (Bashashati et al., 2007). However, because high reliability and processing speed are required, most real-time algorithms are implemented by personal computers (PCs) which limits the applications of designed BMI systems. Even though some wireless neural activity recording systems have been developed (Obeid et al., 2004, Mavoori et al., 2005, Harrison et al., 2007, Ye et al., 2008), a local immobile machine is still needed to predict the output in motor BMIs. With the development of field-programmable gate array (FPGA) and embedded system technique, some portable devices for practical non-invasive BMIs have been developed (Lin et al., 2008), and there is also a tendency to realise the decoding algorithms in a portable device rather than a PC workstation for invasive BMIs. The spike signal processing techniques in invasive BMIs include spike detecting, sorting and mapping, while the performance of mapping algorithm is of the most importance since it extracts the effective information encoded in the spike trains (Kim et al., 2006a). Thus, in this article, we focus on how to implement mapping algorithms in a hardware platform.

Non-linear artificial neural network (ANN) models can optimise each cell's contribution to the population prediction (Schwartz et al., 2001), and some groups demonstrated that this method can successfully track the relationship between neural activity and motor trajectories or parameters. In a previous study in rats (Chapin et al., 1999), a recurrent back-propagation neural network was built to predict lever movement timing and magnitude. Hatsopoulos et al. (2004) designed a two-layer neural network to decode continuous and discrete motor behaviours in behaving monkeys. Kim et al. (2006a) demonstrated the superiority of non-linear mapping in decoding spike trains using multilayer perceptron (MLP) when it was trained by the elaborated procedure of early stopping. Other ANN mapping algorithms, including one hidden-layer feed-forward artificial neural network (Wessberg et al., 2000), learning vector quantisation (LVQ) algorithm (Laubach et al., 2000), time-delay neural network (Kim et al., 2006b) and recurrent MLP (Sanchez and Principe, 2007), have also been described. Sanchez and Principe (2007) suggest that these algorithms should be implemented using the digital signal processor (DSP) hardware for creating the new generation of portable systems. Instead, FPGA computer architectures, which have the characteristic of parallelism, are more suited to implementing ANN models (Omondi and Rajapakse, 2006). Moreover, resource of FPGAs is competitive and rich enough for various ANN applications. FPGA implementation for BMIs has also been suggested by Mak et al. (2006), and many literatures have proposed FPGA implementation of various neural networks for different applications (Chin Tsu et al., 2004, Omondi and Rajapakse, 2006, Pedro et al., 2007, Grossi and Pedersini, 2008, Lin and Tsai, 2008, Lin and Lee, 2009, Lin et al., 2009). However, as far as we know, there is no realisation of mapping algorithms in FPGAs using real spike trains from animals or humans.

Here, we present a portable neural signal processor implemented by FPGAs, which has the advantages of high modularity and high-speed parallel operation compared with other methods. The mapping algorithm we used is a probabilistic neural network (PNN), which approaches Bayesian optimal classification. The operations of both FPGA and Matlab implementations were built and evaluated using real neural signals of rats performing a lever-pressing task for water rewards. The results indicate that the performance of current FPGAs such as the Xilinx Virtex-5 is as accurate as Matlab but the running speed is much faster. It is possible to make practical use of BMIs by the method mentioned in this study.

Section snippets

System setup

A PNN model is realised in an FPGA board (Virtex-5, ML506 board, Xilinx Inc.) for decoding motor cortical neural ensemble recordings in rats performing a lever-pressing task for water rewards (Fig. 1a). The real motor cortical neural signals from rats are recorded by Cerebus™ 128-Channel Data Acquisition System (Cyberkinetics Inc., Salt Lake City, UT, USA) and the pressure signal of the lever is recorded simultaneously. Meanwhile, a PC-based software tool, written in C++, captures the real-time

PNN simulation results on FPGA

The PNN implemented in the FPGA involves 32 inputs, 1000 neurons in the pattern layer, 100 neurons in the summation layer and one output. For each session, the network receives a vector containing 32 neural binned data, and then computes the distances from 1000 training data which belong to 100 classes. After summation and max operation, the output layer exports which class the current neural state maps to. Fig. 7(a) shows the FPGA simulation results, which is compared with Matlab results shown

Application of the system and extension

To the best of our knowledge, an FPGA implementation of motor cortical decoding algorithm has been rarely reported until now. In the previous studies, most of artificial neural network models for decoding in BMIs were realised using Neurosolutions package (Chapin et al., 1999) or Matlab Neural Network Toolbox (Hatsopoulos et al., 2004) or other PC-based software. The FPGA implementation of a probabilistic neural network model that we have proposed provides possibilities for portable BMI

Acknowledgements

This study has received kind and generous support from the National Natural Science Foundation of China (30800287). The authors would like to thank Huaijian Zhang, Qiaosheng Zhang and Xiaochun Liu for helping to tend and train the animals.

References (36)

  • J.R. Wolpaw et al.

    Brain-computer interfaces for communication and control

    Clin Neurophysiol

    (2002)
  • X.S. Ye et al.

    A portable telemetry system for brain stimulation and neuronal activity recording in freely behaving small animals

    J Neurosci Methods

    (2008)
  • A. Bashashati et al.

    A survey of signal processing algorithms in brain-computer interfaces based on electrical brain signals

    J Neural Eng

    (2007)
  • A.E. Brockwell et al.

    Recursive Bayesian decoding of motor cortical signals by particle filtering

    J Neurophysiol

    (2004)
  • J.M. Carmena et al.

    Learning to control a brain-machine Interface for reaching and grasping by primates

    PLoS Biol

    (2003)
  • J.K. Chapin et al.

    Real-time control of a robot arm using simultaneously recorded neurons in the motor cortex

    Nat Neurosci

    (1999)
  • Y. Chin Tsu et al.

    FPGA realization of a neural-network-based nonlinear channel equalizer

    IEEE Trans Ind Electron

    (2004)
  • J.P. Donoghue

    Connecting cortex to machines: recent advances in brain interfaces

    Nat Neurosci

    (2002)
  • Cited by (34)

    • Weighted probabilistic neural network

      2018, Information Sciences
      Citation Excerpt :

      This fact gives this network the advantage in application popularity. The usage of PNN can be found in the domains of medical diagnosis and prediction [9,15,17,18,20], image classification and recognition [4,25,45], earthquake magnitude prediction [1], multiple partial discharge sources classification [43], interval information processing [12–14], phoneme recognition [7], email security enhancement [41], intrusion detection systems [40], classification in a time-varying environment [27,28] or hardware implementation [46]. The variant of PNN in regression tasks, known as general regression neural network [38], is also studied by many authors, e.g.: in function approximation [10] or knowledge discovery in data streams [6].

    • Brain-controlled muscle stimulation for the restoration of motor function

      2015, Neurobiology of Disease
      Citation Excerpt :

      They have also been used, though to a lesser extent, in BMI-related research, which offers the opportunity to make use of well-established spinal cord injury models (Borton et al., 2014). Recordings from the hindlimb cortical area of intact rats have been used to predict the phasing or force of the rat's limb movements (Knudsen et al., 2012; Zhou et al., 2010). Similar recordings from spinal cord injured rats have been used in real-time, to replace lever pressing (Manohar et al., 2012) or control pelvic support force supplied through a robot (Song and Giszter, 2011).

    • Discovery of characteristic chemical markers for classification of aconite herbs by chromatographic profile and probabilistic neural network

      2015, Journal of Pharmaceutical and Biomedical Analysis
      Citation Excerpt :

      To identify chemical marker compounds, a component species modeling was established by probabilistic neural network (PNN). PNN is a Bayesian optimal mapping algorithm, which has some advantages over the conventional back propagating neural network such as fast convergence rate, strong generalization capability and high precision [32]. This model often consisted of four layers including input layer, pattern layer, summation layer and output layer.

    • FPGA implementation of Kalman filter for neural ensemble decoding of rat's motor cortex

      2011, Neurocomputing
      Citation Excerpt :

      ANNs have been successfully used in neural ensemble decoding in motor cortex [5,7,10,11], but selecting an appropriate model that offers significant improvement over a linear model while avoiding “over-fitting” of parameters, is a non-trivial task [14,24]. Zhou et al. [5] realized an FPGA-based probability neural network (PNN) for neural decoding, but the value of smoothing parameter is set empirically and as such one cannot implement auto processing. In this paper, without the limitations of these methods mentioned above, Kalman filter is chosen to be implemented in digital hardware for real-time auto processing.

    View all citing articles on Scopus
    View full text