231,403 research outputs found
Optimization of FPGA Based Neural Network Processor
Neural information processing is an emerging new field, providing an alternative
form of computation for demanding tasks such as pattern recognition problems
which are usually reserved for human attention. Neural network computation i s
sought after where classification of input data is difficult to be worked out using
equations or sets of rules.
Technological advances in integrated circuits such as Field Programmable Gate
Array (FPGA) systems have made it easier to develop and implement hardware
devices based on these neural network architectures. The motivation in hardware
implementation of neural networks is its fast processing speed and suitability in
parallel and pipelined processing.
The project revolves around the design of an optimized neural network processor.
The processor design is based on the feedforward network architecture type with
BackPropagation trained weights for the Exclusive-OR non-linear problem.
Among the highlights of the project is the improvement in neural network
architecture through reconfigurable and recursive computation of a single hidden
layer for multiple layer applications. Improvements in processor organization were
also made which enables the design to parallel process with similar processors.
Other improvements include design considerations to reduce the amount of logic
required for implementation without much sacrifice of processing speed
CuPit - a parallel language for neural algorithms: language reference and tutorial
CuPit is a parallel programming language with two main design
goals:
1. to allow the simple, problem-adequate formulation of
learning algorithms for neural networks with focus on
algorithms that change the topology of the underlying
neural network during the learning process and
2. to allow the generation of efficient code for massively
parallel machines from a completely machine-independent program
description, in particular to maximize both data locality and
load balancing even for irregular neural networks.
The idea to achieve these goals lies in the programming model:
CuPit programs are object-centered, with connections and nodes
of a graph (which is the neural network) being the objects.
Algorithms are based on parallel local computations in the
nodes and connections and communication along the connections
(plus broadcast and reduction operations).
This report describes the design considerations and the
resulting language definition and discusses in detail a
tutorial example program
Memristor Neural Network Design
Neural network, a powerful learning model, has archived amazing results. However, the current Von Neumann computing system–based implementations of neural networks are suffering from memory wall and communication bottleneck problems ascribing to the Complementary Metal Oxide Semiconductor (CMOS) technology scaling down and communication gap. Memristor, a two terminal nanosolid state nonvolatile resistive switching, can provide energy‐efficient neuromorphic computing with its synaptic behavior. Crossbar architecture can be used to perform neural computations because of its high density and parallel computation. Thus, neural networks based on memristor crossbar will perform better in real world applications. In this chapter, the design of different neural network architectures based on memristor is introduced, including spiking neural networks, multilayer neural networks, convolution neural networks, and recurrent neural networks. And the brief introduction, the architecture, the computing circuits, and the training algorithm of each kind of neural networks are presented by instances. The potential applications and the prospects of memristor‐based neural network system are discussed
PCNNA: A Photonic Convolutional Neural Network Accelerator
Convolutional Neural Networks (CNN) have been the centerpiece of many
applications including but not limited to computer vision, speech processing,
and Natural Language Processing (NLP). However, the computationally expensive
convolution operations impose many challenges to the performance and
scalability of CNNs. In parallel, photonic systems, which are traditionally
employed for data communication, have enjoyed recent popularity for data
processing due to their high bandwidth, low power consumption, and
reconfigurability. Here we propose a Photonic Convolutional Neural Network
Accelerator (PCNNA) as a proof of concept design to speedup the convolution
operation for CNNs. Our design is based on the recently introduced silicon
photonic microring weight banks, which use broadcast-and-weight protocol to
perform Multiply And Accumulate (MAC) operation and move data through layers of
a neural network. Here, we aim to exploit the synergy between the inherent
parallelism of photonics in the form of Wavelength Division Multiplexing (WDM)
and sparsity of connections between input feature maps and kernels in CNNs.
While our full system design offers up to more than 3 orders of magnitude
speedup in execution time, its optical core potentially offers more than 5
order of magnitude speedup compared to state-of-the-art electronic
counterparts.Comment: 5 Pages, 6 Figures, IEEE SOCC 201
- …