8.4
System Design and Architecture of CNN
This section explains in detail about the CNN, its architecture and advantages. It is followed
by the description of the system we have developed and about the OpenCL framework we
have used and its advantages for programming on GPU. Analog circuits have played a very
important role in the development of modern electronic technology. Even in our digital
computer era, analog circuits still dominate such fields as communications, power,
automatic control, audio and video electronics because of their real-time signal processing
capabilities [104]. CNN technology is both a revolutionary concept and an experimentally
proven new computing paradigm. Analogic cellular computers based on CNNs are set to
change the way analog signals are processed and are paving the way to an entire new
analog computing industry [138]. CNN was proposed by Chua and Yang in 1988 [104]. The
CNN is defined as a n-dimensional array of cells that satisfies two properties: (i) most
interactions are local within a finite radius r, and (ii) all state variables are continuous
valued signals [94].The CNN has M by N processing unit circuit called cells C (i, j) located at
site (i, j), i = 1, 2, . . ., M, j = 1, 2, . . ., N [98]. The array of CNN cell structure is as shown in
Figure 8-1.
Figure
8-1: A simple CNN array architecture
Each cell of the CNN is made of a linear capacitor, a nonlinear voltage controlled current
source and a few resistive linear circuit elements. The dynamic equation of a cell
C
(i, j) in
an M×N CNN, given by CHUA and Yang [139] is shown below
89
(8-1)
C
= − X + ∑
(A
,
Y + B
,
U )
( , )∈
( , )
+ I
Where the output equation Y
ij
can be written as
(8-2)
𝑌 = 𝑓 𝑋(𝑖, 𝑗) = (|𝑋 + 1| − |𝑋 − 1|)
The mathematical equation mentioned in Equation 8-1 is representing the model of the
Continuous Time CNN (CT-CNN). In the equation,
C
is a linear capacitor and R is a resistor.
Y
kl
is the output state of each cell. U
kl
is the input of each cell. A
ij
and B
ij
are the template
elements. X
ij
represents the initial state and I represent the threshold or bias for each cell.
The Equation 8-2 is the output equation of each iteration. This equation gives the
functional model for the calculation of each pixel element to the output. This model in not
very fast in the real time image processing. In order to overcome the drawbacks of CT-CNN,
the concept of Discrete Time CNN (DT-CNN) is developed. The DT-CNN is defined by the
difference equations instead of differential equations used in the CNN [140]. The model of
DT-CNN is derived from the model of CT-
CNN using the Euler’s method. The DT
-CNN can
be described with the following equation [140].
(8-3)
𝑋
,
(𝑡 + 1) ≈ ∑
𝐴 (𝑖, 𝑗; 𝑘, 𝑙)𝑓 𝑋
,
(𝑡) + ∑
𝐵 (𝑖, 𝑗; 𝑘, 𝑙)
( , )∈ ( , )
( , )∈ ( , )
𝑈
,
+ 𝐼
From Equation 8-3, we can see that X
i,j
is the state of the cell C(i, j) and f(X
k,l
) is the output
of cell C(k, l) within the neighborhood N
r(i, j)
of C(i, j). U
k,l
is the input of each cell C(k, l)
within N
r(i, j)
, and
I
is the bias of cell. A and B are called the feed-back and feed-forward
templates of the CNN respectively.
CNNs are widely used for real time image processing applications. Though the CNN, as a
concept is characterized by a strict locality operation, the large scale digital
implementation has been far from trivial [90].
|