Next Article in Journal
Nanoelectronic Materials, Devices and Modeling: Current Research Trends
Next Article in Special Issue
Efficient QC-LDPC Encoder for 5G New Radio
Previous Article in Journal
Low-Power, Subthreshold Reference Circuits for the Space Environment: Evaluated with γ-rays, X-rays, Protons and Heavy Ions
Previous Article in Special Issue
An Efficient Hardware Accelerator for the MUSIC Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

VLSI Implementation of Restricted Coulomb Energy Neural Network with Improved Learning Scheme

1
School of Electronics and Information Engineering, Korea Aerospace University, Goyang-si 10540, Korea
2
Department of Information and Communication Engineering, Sejong University, Seoul 143-747, Korea
*
Author to whom correspondence should be addressed.
Electronics 2019, 8(5), 563; https://doi.org/10.3390/electronics8050563
Submission received: 22 April 2019 / Revised: 14 May 2019 / Accepted: 17 May 2019 / Published: 22 May 2019
(This article belongs to the Special Issue VLSI Architecture Design for Digital Signal Processing)

Abstract

:
This paper proposes a restricted coulomb energy neural network (RCE-NN) with an improved learning algorithm and presents the hardware architecture design and VLSI implementation results. The learning algorithm of the existing RCE-NN applies an inefficient radius adjustment, such as learning all neurons at the same radius or reducing the radius excessively in the learning process. Moreover, since the reliability of eliminating unnecessary neurons is estimated without considering the activation region of each neuron, it is inaccurate and leaves unnecessary neurons extant. To overcome this problem, the proposed learning algorithm divides each neuron region in the learning process and measures the reliability with different factors for each region. In addition, it applies a process of gradual radius reduction by a pre-defined reduction rate. In performance evaluations using two datasets, RCE-NN with the proposed learning algorithm showed high recognition accuracy with fewer neurons compared to existing RCE-NNs. The proposed RCE-NN processor was implemented with 197.8K logic gates in 0.535 mm 2 using a 55 nm CMOS process and operated at the clock frequency of 150 MHz.

1. Introduction

Artificial intelligence (AI) has been widely used to optimize data-driven approaches in fields such as computer vision, speech recognition, robotics and medical applications [1,2]. Deep neural networks (DNNs), also referred to as deep learning, are a part of the broad field of AI, and deliver state-of-the-art accuracy on many AI tasks [3,4]. However, to complete the tasks with higher accuracy, DNN models become deeper, i.e., the number of layers range from five to more than a thousand. Training large scale DNNs usually requires adjusting a large number of parameters, which is computationally complex. Moreover, the learning algorithms of the DNNs require complex optimization techniques, such as stochastic gradient descent (SGD) and adaptive moment estimation (ADAM) [5]. These learning algorithms take huge computing resources and can take several days depending on the size of the dataset and the number of layers in the network. In addition, the structure of the network, i.e., the number of neurons and number of layers, should be set before learning [6], and the optimum structure depends on applications and data characteristics. In other words, if a network is optimized for a specific application, it needs to be structurally changed and re-learned to use it in other applications. Therefore, DNNs cannot support real-time learning and are infeasible for embedded systems with various sensor applications because of their complexity and inflexibility.
In contrast, the restricted coulomb energy neural network (RCE-NN) can actively modify the network structure because it generates new neuron only when necessary. Therefore, it can support various sensor applications and has recently been implemented for various embedded systems [7,8,9,10,11]. The RCE-NN efficiently classifies feature distributions by constructing hyperspherical neurons with radii and hypersphere centers. Since the learning scheme of the RCE-NN is based on the distance between the input feature and the stored hypersphere center, it is relatively simple compared with learning algorithms of DNNs and real-time learning is possible. After completing the learning process, if the calculated distance is less than a neuron’s radius, the neuron is activated and the label of the neuron with the minimum distance among the activated neurons becomes a recognition result.
In the initial RCE-NN proposed in [12,13], called traditional RCE (TR-RCE) in this paper, all neurons are learned at the same radius. This method causes confusion among some areas of the feature space, which degrades recognition accuracy. In [14], RCE-NN with a dynamic decay adjustment (DDA) algorithm was proposed, which adjusted the radius of each neuron depending on the uncertainty of activated neurons in the learning process. This technique increases the recognition accuracy in areas of conflict. However, since the radius may be excessively reduced in the learning process, unnecessary neurons are generated, which increases the network complexity.
The RCE-NN proposed in [15] estimates the reliability of neurons by counting the number of activations for each neuron. In recognition, this activation count is weighted to the output of each neuron to reflect the reliability of each neuron. Although this method improves recognition accuracy, an optimal hyperspherical classifier cannot be generated in the feature space, because all neurons are learned at the same radius, as in the TR-RCE learning method. To solve this problem, an RCE-NN with a hierarchical prototype learning (HPL) algorithm was proposed in [16,17], which reduced the learning radius for each iteration of learning. The HPL also eliminates unnecessary learned neurons based on estimated reliability in the learning process. However, since the HPL-based RCE-NN estimates reliability without considering the region of the activated neurons, some unnecessary neurons remained. In addition, various hyperspherical classifiers like DDA-RCE cannot be generated because neurons are learned with the same radius in a specific iteration period.
In this paper, an efficient learning algorithm for RCE-NN is proposed: (1) The reliability of each neuron is estimated by considering the activation region with different factors; (2) The radius is gradually reduced at a pre-defined reduction rate to prevent the generation of unnecessary neurons. The design and implementation results of the RCE-NN processor for real-time processing are also presented. The remainder of this paper is organized as follows: Section 2 briefly reviews the RCE-NN. Section 3 describes the proposed learning algorithm and its performance evaluation results. Section 4 describes the hardware architecture of the proposed RCE-NN processor. Section 5 discusses its implementation results. Finally, Section 6 concludes the paper.

2. Restricted Coulomb Energy Neural Network

The RCE-NN consists of an input layer, a prototype layer (hidden layer) and an output layer. The input layer comprises feature vectors and all feature vectors are connected to each neuron of the prototype layer. The prototype layer is the most essential part of the RCE-NN. Neurons in this layer save hypersphere centers and radii, which construct hyperspherical classifiers in the feature space. The output layer uses the neuron’s response to output the label value of the neuron that best matches the input feature vector.
Each neuron p j in the prototype layer contains the information as follows:
p j = [ c j 1 , c j 2 , , c j k , r j , l j ] ,
where j { 1 , 2 , 3 , , n } is the neuron index and the total number n varies according to the learning results. That is, if n neurons are learned after learning is completed, they are defined as a set of neurons P = [ p 1 , p 2 , , p n ] . Each neuron p j contains a hypersphere center c j = [ c j 1 , c j 2 , , c j k ] , radius r j , and learned label l j , where k is the number of features in the input feature vector used in the learning.
If the number of input feature vectors during the learning process is m , the input feature vector set can be represented by X = [ x 1 , x 2 , , x i , , x m ] , where the feature vector x i consists of k features and a label l x i . The feature vector x i is entered to each neuron and the distance between the feature vector x i and the hypersphere center c j is computed as follows:
d ( x i , c j ) = ( x i 1 c j 1 ) 2 + ( x i 2 c j 2 ) 2 + + ( x i k c j k ) 2 .
Then, neuron p j is activated only if d ( x i , c j ) r j . If no neurons are activated for the feature vector x i , a new neuron p n + 1 with a hypersphere center c n + 1 = [ x i 1 , x i 2 , , x i k ] , label l x i , and radius R is generated, where [ x i 1 , x i 2 , , x i k ] and l x i are the feature values and label of the feature vector x i , respectively, and R is the pre-defined global radius. In addition, the total number of neurons n is increased by one. Since the TR-RCE learns with one global radius R for all data, confusion occurs in some areas of the feature space. Consider two neurons p 1 and p 2 learned by the two feature vectors x 1 and x 2 with labels l a and l b in the 2D feature space, as shown in Figure 1a. In other words, neurons p 1 and p 2 can be represented by p 1 = [ c 1 , r 1 , l 1 ] and p 2 = [ c 2 , r 2 , l 2 ] , where c 1 = x 1 , c 2 = x 2 , r 1 = r 2 = R , l 1 = l a and l 2 = l b . Then, in the recognition process, a new feature vector x 3 with label l b enters the confusion area, as in Figure 1b, which activates both neurons. In this case, the RCE-NN recognizes the feature vector x 3 as label l a because d ( x 3 , c 1 ) is smaller than d ( x 3 , c 2 ) . The learning method of TR-RCE yields many such areas of confusion, thereby degrading the recognition accuracy.
The DDA-RCE was developed to solve the inherent problems associated with this method. When a neuron p j with a different label than the input feature vector x i is activated in the learning process as shown in Figure 1c, the r j of the neuron is reduced as follows:
r j = d ( x i , c u ) ,
where u is the index of the neuron with the smallest distance value among those activated by the current input feature vector. Then, in the recognition process, the RCE-NN correctly recognizes the feature vector x 3 as label l b , as shown in Figure 1d. This technique increases the recognition accuracy in areas of confusion. However, the radius of a specific neuron becomes excessively small when the radius is adjusted based on the minimum distance in the learning process, and further unnecessary neurons are learned, thereby increasing the system complexity.
In [15], the technique of measuring f j is introduced, where f j is the activation count of each neuron in the learning process. That is, when the specific neuron p j is activated for the input feature vector x i , the f j value is incremented by one to estimate the reliability of the neuron. By applying the activation count to the output of each neuron, a recognition result reflecting the reliability of each neuron is obtained. However, since all neurons are learned with a single global radius, as in TR-RCE, a confusion area is created in the feature space, thus reducing recognition accuracy. Therefore, the HPL algorithm was proposed in [16,17], which reduced the global radius from the maximum ( R m a x ) to the minimum ( R m i n ) according to the iteration interval. The global radius is decreased as follows:
R w + 1 = α · R w ,
where α is a reduction rate for global radius and w is the index for iteration. In addition, to determine whether each neuron p j is a suitable neuron in the learning process, the prototype density value D j is calculated as follows:
D j = f j v j ,
where v j is the volume of the hyperspherical classifier of each neuron p j . If the prototype density value D j is less than the pre-defined threshold value τ , it is determined to be an inappropriate neuron and that neuron is removed from P . However, the f j is updated to the same value regardless of whether the input feature vector is activated near or far from the hypersphere center. Therefore, the estimated reliability of each learned neuron is inaccurate and unnecessary neurons are not removed. In addition, HPL-RCE does not adjust the radius as in DDA-RCE when a neuron with a different label than the input feature vector is activated.

3. Proposed Learning Algorithm for RCE-NN

3.1. Proposed Learning Algorithm

In order to overcome the problems of existing learning schemes, the proposed learning algorithm estimates reliability by dividing the activation region associated with each neuron and increasing the f j with different factors for each region in the learning process as follows:
f j t + 1 = f j t + 1 , r j + R m i n 2 < d ( x i , c j ) r j f j t + θ , R m i n < d ( x i , c j ) r j + R m i n 2 f j t + γ , d ( x i , c j ) R m i n ,
where θ and γ are experimentally determined according to the distribution of the feature vector ( 1 < θ < γ ). That is, when the current input feature vector activates a neuron in a region near the hypersphere center, the f j is increased with a higher factor. When it activates a neuron in the boundary area, the f j is increased with a lower factor.
An example of learning process based on the f j of each neuron is shown in Figure 2. Consider three neurons p 1 , p 2 and p 3 learned by the three feature vectors with labels l a , l b and l c in the 2D feature space as shown in Figure 2a. If the distribution of input feature vector to be used in the learning process is shown in Figure 2b, the activation counts of neurons p 1 , p 2 and p 3 , which were measured during one iteration with HPL-RCE, were 9, 8 and 8, respectively. Even though p 3 neuron covers feature vectors better than other neurons, the reliability from activation count is estimated similarly. As a result, when the learning process of HPL-RCE was iteratively performed with a τ = 50, all neurons still remained and unnecessary neurons p 4 and p 5 are generated as shown in Figure 2c. This leads to an increase in complexity and degradation of recognition accuracy for other test data. In contrast, if the activation region is divided as shown in Figure 2d as presented in the proposed learning algorithm, the activation counts of neurons p 1 , p 2 and p 3 , which measured during one iteration period, are 34 (=10 + 20 + 4), 20 (=0 + 15 + 5) and 65 (=50 + 15 + 0), respectively ( θ = 5, γ = 10). Then, when the τ = 50, p 1 and p 2 neurons are removed, and p 3 neuron remains. In the additional iteration periods, new neurons p 4 and p 5 centered on different feature vectors are generated for the l a and l b labels and it is confirmed that even fewer neurons cover all the feature vectors than the HPL-RCE as shown in Figure 2e. In addition, when the label of the activated neuron is different from that of the input feature vector, the proposed algorithm gradually decreases the radius of this activated neuron according to reduction rate β as follows:
r j t + 1 = β · r j t .
This not only improves the recognition accuracy but also suppresses the generation of unnecessary neurons. Algorithm 1 summarizes the proposed learning algorithm.
Algorithm 1: The proposed learning algorithm.
Electronics 08 00563 i001

3.2. Performance Evaluation Results

We conducted learning and recognition tasks with all methods for RCE-NN on two datasets for a gas sensor and motion-capture hand postures (MCHP) [18,19]. Two datasets have been used in gas detection and human machine interation (HMI) [20,21]. The gas sensor dataset contains 128-dimensional feature vectors taken from 16 gas sensor arrays for 36 months to detect six toxic gase. The 13,910 feature vectors were divided into 10 batches, and each batch is configured to distribute the six target gases uniformly in time order [22]. The MCHP dataset is comprised of five static gestures (hand poses) captured from 12 users using a Vicon motion-capture camera system and a glove with attached infrared markers on certain joints [23]. The five gestures captured were a fist, pointing with one finger, pointing with two fingers, stop (hand flat), and grab (fingers curled). The MCHP dataset contains 36-dimensional feature vectors, and 78,096 feature vectors are divided into 10 batches.
The learning and recognition experiments were performed via two strategies, and we analyzed the results of the number of learned neurons and recognition accuracy. At first, learning was performed separately for each batch and the recognition accuracy was measured for each learned RCE-NN ( θ = 3, γ = 5). The recognition accuracy and number of learned neurons of all methods for RCE-NN are presented in Figure 3 and Figure 4. Figure 3 shows the number of learned neurons and the recognition accuracy for the gas-sensor dataset, respectively. Figure 4 depicts the number of learned neurons and the recognition accuracy for the MCHP dataset, respectively. As shown in the Figure 3 and Figure 4, the RCE-NN with the proposed learning algorithm shows better recognition accuracy with the average of 55.5% fewer neurons than DDA-RCE, which requires the largest number of learned neurons. In addition, it shows better recognition accuracy from 3% to 8% with fewer neurons compared to TR-RCE and HPL-RCE.
Secondly, learning and recognition were performed by selecting 7000 learning feature vectors and 6910 test feature vectors randomly from each dataset. As a result of the performance evaluation as shown in Table 1, the RCE-NN with the proposed learning algorithm shows good recognition accuracy with half the number of neurons that DDA-RCE used. In addition, the proposed algorithm shows better recognition accuracy from 3% to 12% with fewer neurons than TR-RCE and HPL-RCE.
Figure 5 demonstrates the comparison results for the gas sensor dataset with existing recognition algorithms, such as support vector machine with genetic algorithm (SVM-GA), multilayer perceptron (MLP), binary decision tree (BDT) based on classification and regression tree (CART), and K-nearest neighbor (KNN) [24]. As shown in Figure 5, the proposed algorithm has better performance than other pattern recognition algorithms such as MLP, SVM, BDT, and KNN. Although SVM-GA shows slightly better performance compared to the proposed algorithm, the genetic algorithm for the learning process requires a great deal of complexity and much learning time.

4. Hardware Architecture Design

Figure 6 shows the block diagram of the proposed RCE-NN processor, including a feature memory unit (FMU), neuron unit (NU), activated neuron detection unit (ANDU), and network control unit (NCU). In the learning process, the unlearned NUs store the input feature vector from FMU in the neuron memory, and the learned NUs calculate distance between the input feature vector and the stored vector which represents neuron center. Then, the learned NUs compare the distance to the stored radius, and the activated NUs send the distance and label to the ANDU. The ANDU analyzes the output of the activated NUs and transfers the information of the minimum distance and label to the NCU. Figure 7 depicts the architecture of the NCU, which determines whether to generate a new NU or remove an existing NU. When a new NU is generated, the value of the neuron count register is increased by 1 to monitor the number of learned NUs. In addition, if the labels of the currently activated NUs are different from each other, the NCU adjusts the radii of the conflicted NUs through the radius adjustment unit (RAU). The RAU transmits the current feature vector’s label l x i and radius adjustment signal in parallel to each NU, and each activated NU compares l x i and l j . If l x i and l j are the same, f j is increased by (6) through the activation counter as shown in Figure 8, where f m a x is the upper limit of f j to prevent unnecessarily increase. Conversely, the radius of an activated NU with a different label than the input feature vector is decreased by (7) through the radius decision unit in NU.
In the recognition process, all learned NUs compute the distance between the feature vector from the FMU and the vector stored in the neuron memory, as in the learning process. Then, the activated NUs transmit their distances to the ANDU, and the ANDU sends the best-matched NU’s distance to the NCU. The NCU transmits the best-matched NU’s distance and the recognition control signal to each NU through the recognition unit (RU). Each NU compares the stored distance with the best-matched NU’s distance and outputs the label if it matches. Finally, the ANDU receives the best-matched NU’s label and outputs recognition results.

5. Implementation Results

The proposed RCE-NN processor was designed in Verilog hardware description language (HDL) and synthesized using the Synopsys Design Compiler to gate-level circuits with a 55 nm CMOS standard cell library. The key features of the proposed RCE-NN processor are summarized in Table 2. It was observed that the proposed architecture required 197.8 K logic gates and 163.8 KB memory with the total die size of 0.535 mm 2 . Learning time for one feature vector of 128 byte was 0.93 μ s and recognition time was 0.96 μ s at the operating frequency of 150 MHz. The total power consumption measured with the test platform is 6.64 mW.
The RCE-NN processor was integrated in a system-on-chip (SoC) designed for sensor signal processing as shown in Figure 9 and verified in real-time with test platform depicted in Figure 10. The sensor signal processing SoC consisted of an ARM Cortex-M3 micro controller unit (MCU), a sensor interface unit (SIU), a feature extraction unit (FEU), and the proposed RCE-NN processor with the total die size of 2.97 mm × 2.96 mm. The data extracted from each sensor was pre-processed in the SIU and then converted into feature data in the FEU. The feature data were transferred to the RCE-NN processor which performs the learning and recognition.
In order to compare the complexity of the proposed RCE-NN processor and the existing RCE-NNs, we implemented each algorithm presented in Table 1 for the gas dataset. Table 3 summarizes the complexity metrics such gate counts and memory requirements for each implementation. NU of the proposed RCE-NN processor was the largest because of additional resource for the activation counter shown in Figure 8. However, since it shows better recognition accuracy with fewer neurons than TR-RCE and HPL-RCE, the total gate counts and internal memory requirements were smallest.

6. Conclusions

In this paper, we proposed an efficient RCE-NN processor with an improved learning algorithm. Learning algorithms in existing RCE-NNs show degraded recognition performance and increased complexity because of the inaccurate reliability of learned neuron and inefficient radius adjustments. To overcome such problems, the proposed algorithm divides the activation region of each neuron in the learning process and measures the reliability with different factors for each area, and gradually reduces the radius using a pre-defined rate. In performance evaluation using two datasets, RCE-NN with the proposed learning algorithm showed good recognition accuracy with fewer neurons compared with existing RCE-NNs. The hardware was also designed for real time operation. The designed RCE-NN processor has a logic gate count of 197.8 K with a die size of 0.535 mm 2 and the memory requirement of 163.8 KB, and it can support real-time learning and recognition at an operating frequency of 150 MHz.

Author Contributions

J.C. designed the algorithm, performed the simulation and experiment, and wrote the paper. Y.J. (Yongchul Jung) and S.L. implemented the evaluation platform and performed the experiment. Y.J. (Yunho Jung) conceived and led the research, analyzed the experimental results, and wrote the paper.

Funding

This research received no external funding.

Acknowledgments

This work was supported by the Technology Innovation Program, 10073122 and 10079634, funded by the Ministry of Trade, Industry and Energy (MOTIE, Korea) and CAD tools were supported by IDEC.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhou, E.; Fang, L.; Yang, B. Memristive Spiking Neural Networks Trained with Unsupervised STDP. Electronics 2018, 7, 396. [Google Scholar] [CrossRef]
  2. Garner, J.; Mestres, A.; Alarcon, E.; Cabellos, A. Neural Networks for Classification: A Survey. IEEE Trans. Syst. Man Cybern. Part C 2000, 30, 451–464. [Google Scholar]
  3. Alom, M.; Tha, T.; Yakopcic, C.; Westberg, S.; Sidike, P.; Nasrin, M.; Hasan, M.; Essen, B.; Awwal, A.; Asari, V. A State-of-the-Art Survey on Deep Learning Theory and Architectures. Electronics 2019, 8, 292. [Google Scholar] [CrossRef]
  4. Sze, V.; Chen, Y.; Yang, T.; Ember, J. Efficient Processing of Deep Neural Networks: A Tutorial and Survey. Proc. IEEE 2017, 105, 2295–2329. [Google Scholar] [CrossRef] [Green Version]
  5. Tang, F.; Wu, W.; Liu, J.; Wang, H.; Xian, M. Privacy-Preseving Distributed Deep Learning via Homomorphic Re-Encryption. Electronics 2019, 8, 411. [Google Scholar] [CrossRef]
  6. Kouda, N.; Matsui, N. On the Function Approximation in Restricted Coulomb Energy Neural Network with Gaussian Radial Basis Function. In Proceedings of the World Automation Congress, Kobe, Japan, 19–23 September 2010; pp. 1–3. [Google Scholar]
  7. Nepes Corporation. Available online: http://www.theneuromorphic.com (accessed on 21 April 2019).
  8. General Vision Inc. Available online: https://www.general-vision.com/neuromem/cm1k (accessed on 21 April 2019).
  9. Sardar, S.; Ananda Babu, K. Hardware Implementation of Real-time, High Performance, RCE-NN Based Face Recognition System. In Proceedings of the IEEE Conference on VLSI Design and Embedded Systems, Mumbai, India, 5–9 January 2014. [Google Scholar]
  10. Labonte, G.; Deck, W. Infrared Target-Flare Discrimination using ZISC Hardware Neural Network. J. Real-Time Image Process. 2010, 5, 11–32. [Google Scholar] [CrossRef]
  11. Kai, Y.; Hu, Y.; Siegel, M. Onboard Feature Indexing from Satellite Lidar Images. In Proceedings of the IEEE IWADC, Perugia, Italy, 8–10 September 2003. [Google Scholar]
  12. Reilly, D.; Cooper, L.; Elbaum, C. Neural Model for Category Learning. Biol. Cybern. 1982, 45, 35–41. [Google Scholar] [CrossRef] [PubMed]
  13. Hudak, M. RCE Classifiers: Theory and Practice. Cybern. Syst. 1992, 23, 483–515. [Google Scholar] [CrossRef]
  14. Berthold, M.; Diamond, J. Boosting the Performance of RBF Networks with Dynamic Decay Adjustment. In Proceedings of the 7th International Conference on Neural Information Processing Systems, Denver, CO, USA, 1994; pp. 521–528. [Google Scholar]
  15. Yin, X.; Don, G.; Xie, M. Hand Image Segmentation Using Color and RCE Neural Network. Robot. Auton. Syst. 2001, 34, 235–250. [Google Scholar] [CrossRef]
  16. Don, G.; Xie, M. Color Clustering and Learning for Image Segmentation Based on Neural Networks. IEEE Trans. Neural Netw. 2005, 16, 925–936. [Google Scholar]
  17. Sui, C.; Kwok, N.; Ren, T. A Restricted Coulomb Energy (RCE) Neural Network System for Hand Image Segmentation. In Proceedings of the IEEE Conference on Computer and Robot Vision, St. Johns, NL, Canada, 25–27 May 2011; pp. 270–277. [Google Scholar]
  18. UCI Machine Learning Repository, Gas Dataset. Available online: https://archive.ics.uci.edu/ml/datasets/gas+sensor+array+drift+dataset (accessed on 21 April 2019).
  19. UCI Machine Learning Repository, Hand Posture Dataset. Available online: https://archive.ics.uci.edu/ml/datasets/Motion+Capture+Hand+Postures (accessed on 21 April 2019).
  20. Shirahama, K.; Grzegorzek, M. On the Generality of Codebook Approach for Sensor-Based Human Activity Recognition. Electronics 2017, 6, 44. [Google Scholar] [CrossRef]
  21. Duran, C.; Benjumea, J.; Carrillo, J. Response Optimization of a Chemical Gas Sensor Array using Temperature Modulation. Electronics 2018, 7, 54. [Google Scholar] [CrossRef]
  22. Vergara, A.; Vembu, S.; Ayhan, T.; Ryan, M.; Huerta, R. Chemical Gas Sensor Drift Compensation Using Classifier Ensembles. Sens. Actuators B Chem. 2012, 166–167, 320–329. [Google Scholar] [CrossRef]
  23. Gardner, A.; Kanno, J. Measuring Distance Between Unordered Sets of Different Sizes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Columbus, OH, USA, 23–28 June 2014; pp. 137–143. [Google Scholar]
  24. Wang, K.; Ye, W.; Zhao, X.; Pan, X. A Support Vector Machine-Based Genetic Algorithm Method for Gas Classification. In Proceedings of the 2nd International Conference on Frontiers of Sensors Technologies (ICFST), Shenzhen, China, 14–16 April 2017; pp. 363–366. [Google Scholar]
Figure 1. Learning and recognition process of traditional (TR)-restricted coulomb energy (RCE) and dynamic decay adjustment (DDA)-RCE. (a) Example of TR-RCE learning for two feature vectors x 1 and x 2 , (b) recognition result for the feature vector x 3 after TR-RCE learning, (c) example of DDA-RCE learning for three feature vectors x 1 , x 2 , and x 3 , (d) recognition result for the feature vector x 3 after DDA-RCE learning.
Figure 1. Learning and recognition process of traditional (TR)-restricted coulomb energy (RCE) and dynamic decay adjustment (DDA)-RCE. (a) Example of TR-RCE learning for two feature vectors x 1 and x 2 , (b) recognition result for the feature vector x 3 after TR-RCE learning, (c) example of DDA-RCE learning for three feature vectors x 1 , x 2 , and x 3 , (d) recognition result for the feature vector x 3 after DDA-RCE learning.
Electronics 08 00563 g001
Figure 2. Learning process of hierarchical prototype learning (HPL)-RCE and the proposed RCE. (a) Example of 2D feature space learned with three feature vectors, (b) distribution of the feature vectors to be used in the learning process, (c) learning results of HPL-RCE, (d) division of the activation region as presented in the proposed learning algorithm, (e) learning results of the proposed algorithm.
Figure 2. Learning process of hierarchical prototype learning (HPL)-RCE and the proposed RCE. (a) Example of 2D feature space learned with three feature vectors, (b) distribution of the feature vectors to be used in the learning process, (c) learning results of HPL-RCE, (d) division of the activation region as presented in the proposed learning algorithm, (e) learning results of the proposed algorithm.
Electronics 08 00563 g002
Figure 3. Performance evaluation results for gas dataset (a) the number of learned neurons for each batch, (b) the recognition accuracy for each batch.
Figure 3. Performance evaluation results for gas dataset (a) the number of learned neurons for each batch, (b) the recognition accuracy for each batch.
Electronics 08 00563 g003
Figure 4. Performance evaluation results for motion-capture hand postures (MCHP) dataset (a) The number of learned neurons for each batch, (b) The recognition accuracy for each batch.
Figure 4. Performance evaluation results for motion-capture hand postures (MCHP) dataset (a) The number of learned neurons for each batch, (b) The recognition accuracy for each batch.
Electronics 08 00563 g004
Figure 5. Performance comparison for gas recognition algorithms.
Figure 5. Performance comparison for gas recognition algorithms.
Electronics 08 00563 g005
Figure 6. Block diagram of the proposed RCE-neural network (NN) processor.
Figure 6. Block diagram of the proposed RCE-neural network (NN) processor.
Electronics 08 00563 g006
Figure 7. Block diagram of the network control unit (NCU).
Figure 7. Block diagram of the network control unit (NCU).
Electronics 08 00563 g007
Figure 8. Block diagram of the activation counter.
Figure 8. Block diagram of the activation counter.
Electronics 08 00563 g008
Figure 9. Sensor signal processing system-on-chip (SoC). (a) block diagram, (b) die photograph.
Figure 9. Sensor signal processing system-on-chip (SoC). (a) block diagram, (b) die photograph.
Electronics 08 00563 g009
Figure 10. Verification platform of the sensor signal processing SoC.
Figure 10. Verification platform of the sensor signal processing SoC.
Electronics 08 00563 g010
Table 1. Performance evaluation results ( θ = 5 , γ = 10 ).
Table 1. Performance evaluation results ( θ = 5 , γ = 10 ).
AlgorithmGas Sensor [18]MCHP [19]
Number of NeuronsRecognition AccuracyNumber of NeuronsRecognition Accuracy
Proposed44996.86%64198.52%
TR [13]50984.31%75289.65%
HPL [16]55991.29%91195.32%
DDA [14]102695.17%116497.38%
Table 2. Key features of the implemented restricted coulomb energy neural network (RCE-NN) processor.
Table 2. Key features of the implemented restricted coulomb energy neural network (RCE-NN) processor.
PrameterValue
Technology55 nm CMOS
Operating Frequency150 MHz
Internal Memory163.8 KB
Gate CountsRCE-NN Processor197.8 K
Neuron Unit1.5 K
RCE-NN Processor Size0.535 mm 2
Processing time (128 Byte)0.93 μ s (learning), 0.96 μ s (recognition)
Power6.64 mW
Table 3. Complexity comparison with existing RCE-NN implementations.
Table 3. Complexity comparison with existing RCE-NN implementations.
Target AlgorithmGate CountsInternal MemoryNumber of Neurons
Neuron UnitRCE-NN Processor
DDA [14]1.21 K1247.26 K131,328 KB1026
HPL [16]1.32 K743.68 K71,552 KB559
Proposed1.5 K679.3 K57,472 KB449

Share and Cite

MDPI and ACS Style

Cho, J.; Jung, Y.; Lee, S.; Jung, Y. VLSI Implementation of Restricted Coulomb Energy Neural Network with Improved Learning Scheme. Electronics 2019, 8, 563. https://doi.org/10.3390/electronics8050563

AMA Style

Cho J, Jung Y, Lee S, Jung Y. VLSI Implementation of Restricted Coulomb Energy Neural Network with Improved Learning Scheme. Electronics. 2019; 8(5):563. https://doi.org/10.3390/electronics8050563

Chicago/Turabian Style

Cho, Jaechan, Yongchul Jung, Seongjoo Lee, and Yunho Jung. 2019. "VLSI Implementation of Restricted Coulomb Energy Neural Network with Improved Learning Scheme" Electronics 8, no. 5: 563. https://doi.org/10.3390/electronics8050563

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop