Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

Efficient Fpga Implementation of a Generic Function Approximator and Its Application to Neural Net Computation

Bharkhada, Bharat Kishore

Abstract Details

2003, MS, University of Cincinnati, Engineering : Computer Engineering.
Every neuron or processing element of an Artificial Neural Network (ANN) implementation requires an activation function. In the digital implementation of an ANN, the activation function is most widely implemented as a lookup table, and the accuracy of the output of the processing element depends partially on the number of words stored in the lookup table. The disadvantage with this approach is that, to achieve better results, the lookup table goes on increasing in size and often becomes large and unwieldy. In this thesis we explore the possibility of replacing the lookup table with direct computation of the activation function. As a case study, we compute the widely used activation function, the sigmoid function, by using a generic third order polynomial evaluator which is based on prior work addressing the problem of efficient function approximation for a system on a chip. The sigmoid function is approximated with a set of polynomials with integer coefficients. This approach results in a huge reduction in the memory required by the processing element. Booth encoding and Wallace tree techniques are used to further optimize the computation. The project is implemented in VHDL. The synthesis of the implementation and architectural simulations including place and route and timing analysis are carried using the Altera FLEX 10K family of devices. Synthesis and architectural simulations are also done in Synopsys. We show that our implementation achieves a large saving in memory and equivalent accuracy when compared with the lookup table approach, at the cost of some extra logic and execution time. We also show that our implementation achieves higher accuracy than other sigmoid approximations proposed in the literature. The current implementation can also generate a programmable sigmoid function and would allow, with minor changes and no increase in memory requirements, two to four different choices of slope for the sigmoid itself.
Dr. Carla Purdy (Advisor)
99 p.

Recommended Citations

Citations

  • Bharkhada, B. K. (2003). Efficient Fpga Implementation of a Generic Function Approximator and Its Application to Neural Net Computation [Master's thesis, University of Cincinnati]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=ucin1060978658

    APA Style (7th edition)

  • Bharkhada, Bharat. Efficient Fpga Implementation of a Generic Function Approximator and Its Application to Neural Net Computation. 2003. University of Cincinnati, Master's thesis. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=ucin1060978658.

    MLA Style (8th edition)

  • Bharkhada, Bharat. "Efficient Fpga Implementation of a Generic Function Approximator and Its Application to Neural Net Computation." Master's thesis, University of Cincinnati, 2003. http://rave.ohiolink.edu/etdc/view?acc_num=ucin1060978658

    Chicago Manual of Style (17th edition)