Cellular Neural Networks: A Review
Cellular Neural Networks: A Review
Cellular Neural Networks: A Review
Vietri sul Mare, Italy, May 12-14, 1993,, World Scientific (E. Caianiello, ed.)
ABSTRACT
A unified review of the Cellular Neural Network paradigm is attempted. First of all,
general theoretical framework is stated, followed by description of particular models
proposed in literature and comparison with other Neural Network and parallel computing
paradigms. Theory of such systems, especially the issue of stability, is then resumed by
listing main results available. Applications, design and learning follow. The paper is
concluded by description of proposed and tested hardware realizations.
1. Cellular Neural Networks: spatially defined parallel analog computing for local
and diffusion-solvable problems
1
filtering is generally applied on the scanned image, thereby introducing artefacts in the
halftoned image. A CNN-halftoning system, developed by Crounse, Roska and Chua1,
might do the same job in parallel fashion at the speed of analog circuitry, with greater
accuracy.
An example of halftoning is given in figure 1.
A second example problem,
employing wider diffusion of information,
is connected component detection (CCD),
which can be used as a preprocessing for
pattern recognition. It consists of counting
the number of connected components This figure is missing.
found by scanning an image along a given It was pasted in the original
direction. An example of CCD obtained
by a CNN of an image along three
different directions is shown in figure 2.
This operation may be obtained by making
the image drift towards a border, Figure 1 An example of halftoning
squashing it to 1-pixel width while
preserving 1-pixel wide separation between disconnected parts. This can be done by only
using local information at every instant of time. Evolution of CCD processing of a 1-
dimensional image is depicted in figure 3.
TIME
The main difference between CNNs and other Neural Network (NN) paradigms is
the fact that information is only exchanged between neighboring neurons. This
characteristic does not prevent the capability of obtaining global processing, as the CCD
example shows. By exploiting locality of connections, electronic IC and optical or electro-
optical implementations become feasible, even for large nets, which is the main advantage
of CNNs over NNs.
In the following section, a general definition of CNN is given, which is particularized
to the different CNN models found in literature. Section 3 discusses stability of CNNs, and
in section 4 a review of applications is given. The question of design and learning is then
2
confronted in section 5; hardware implementations follow in section 6. In the appendix
tables of symbols and acronyms are written for convenient reference.
2.1.1 Definitions
A Cellular Neural Network is a system of cells (or neurons) defined on a normed
space (cell grid), which is a discrete subset of ℜ n (generally n≤3), with distance
function d: = ℑ (ℑ
ℑ is the set of integer numbers). Cells are identified by indices defined
in a set One or several neighborhood functions N are defined as follows:
Nr: → α
Nr(i)={j|d(i,j)≤r} (1)
where α depends on r (neighborhood
size) and on space geometry (e.g.
α=(r+1)2 on square 2-dimensional grid).
Figure 4 shows examples of 2-dimensional
CNNs and neighborhoods.
Cells are multiple input - single
output nonlinear processors all described
by one, or one among several different,
parametric functionals. A cell is
characterized by a state variable, that is Figure 4 Examples of neighborhood of size r=1
generally not observable as such outside in CNNs defined on a square or hexagonal grid
the cell itself. Every cell is only connected ⊂ℜ
ℜ 2. Grey cells belong to the neighborhood
to cells within a neighborhood of itself. of black cells.
2.1.2 Comments
When considered as a system, a CNN is a Neural Network characterized by the fact
that connections are only allowed between neighboring neurons. The notion of distance
implies that the network is intrinsically defined in space; generally only 1-, 2- or 3-
dimensional space is considered, so that the CNN can be directly mapped into a physical
realization scheme, that can profit of a dramatically simplified connection layout.
The cell grid can be e.g. a planar array (with rectangular, triangular, hexagonal
geometry), a torus, a 3-dimensional array, generally considered and realized as a stack of
2-dimensional arrays (layers).
Cells may be all identical, or they can belong to a few different types (as is the case
for biological neurons), and more than one connection network may be present, with
different neighborhood size (short range interactions and subsystem connections). It is
3
obvious that, if the neighborhood size were as large as the network itself, we might obtain
a fully connected network. It is understood that we shall not call such a net "cellular", and
that generally the neighborhood shall have small size.
Cells may be very simple, or (moderately) complex. The "moderately" limit might be
described by the fact that CNN dynamics must basically depend on information flow in the
net, rather than on the operation inside the cells, so that we shall e.g. exclude that a
parallel digital computer be a CNN.
2.2.1 Definitions
The CNN is a dynamical system operating in continuous or discrete time. A general
form of the cell dynamical equations may be stated as follows:
(continuous time)
∆ t x j (t ) = g x j (t ) + ∑ F AI
µ j H x j = t − τ, t , yk = t − τ,t ; p j K +
k ∈Nr ( j )
+ ∑ F BI
ν j H x j = t − τ, t , uk = t − τ, t ; p j K + I j ( t )
k ∈Nr ( j )
F I
y j (t ) = xj (2a)
H = t − τ ,t K
(discrete time)
x j ( n + 1) = g x j ( n ) + ∑ Aµ j F x j
H n − m, n
, yk n − m,n ; p jA I +
K
k ∈Nr ( j )
+ ∑ Bν j F x j
H n − m, n
, uk n − m,n ; p B
j
I
K
+ I j (n)
k ∈Nr ( j )
y j ( n) = f F x j I
(2b)
H n − m, n K
In Eqs.2, x,y,u,I denote respectively cell state, output, input, and bias; j and k are
cell indices; g is a local instantaneous feedback function, N is neighborhood function (if
more than one neighborhood is defined, several similar sums are present), pA and pB are
arrays of parameters, notation z|T denotes the restriction of function z(•) to interval T of
its argument (i.e. the set of all its values). In Eqs.2a, t is time, ∆t is a differential operator
(e.g. d/dt), τ is memory duration time, is (one out of several possible, identified by index
µj) neighborhood feedback functional, and in the same way is input functional, is
output functional; in Eqs.2b, A and B are the analogous functions for discrete time, f is
output function, n is time and m memory duration.
4
Eqs.2 are written so as to be straightforwardly particularized. Therefore, they
involve some general notations that are not strictly necessary. E.g., as feedback, input and
output operators are functionals, it would be sufficient to substitute d/dt for ∆t without
loss of generality, but in this way it is more evident that higher order dynamics is also
allowed.
2.2.2 Comments
Eqs.2 specify at an operational level the way of functioning of cells and connections
(the latter are generally considered just as wires, lumping into the cell any dynamical
behavior of theirs, e.g. transmission delays). Defined as such, cells can be characterized by
a functional block diagram that is typical of neural network theory: figure 5 depicts a
three-stage functional block scheme of a cell, composed of a generalized weighted sum (in
general nonlinear, with memory), (leaky n-th order) integration, output nonlinear
function/functional. It is apparent that this scheme is more general, so that what mostly
distinguishes CNNs from other Neural Networks is the fact that all summations are
performed within a neighborhood.
y ∆ tx x
u y
Figure 5 Functional block scheme of a CNN cell. Symbols are just reminders of more general operation.
Data can be fed to the CNN through two different ports: initial conditions of the
state and proper input u. Bias values I may be used as a third port.
dx j (t )
dt
= − x j (t ) + ∑ A jk yk (t ) + ∑ B jk uk (t ) + I j
k ∈Nr ( j ) k ∈Nr ( j )
1
y j (t ) = b x(t ) + 1 − x (t ) − 1 g (3)
2
5
y
dxij (t )
dt
= − xij (t ) + ∑ A( i − k )( j − l ) (t ) ykl + ∑ B(i − k )( j − l ) (t )ukl + I
kl ∈Nr ( ij ) kl∈Nr ( ij )
1
yij (t ) = e xij ( t ) + 1 − xij ( t ) − 1 j (4)
2
This means that A, B and I values can be determined by cloning template matrices
that are identically repeated in the neighborhood of every neuron:
dx j (t )
dt
= g x j (t ) + ∑ A jk x k (t ) + ∑ B jk uk (t ) + I j
k ∈Nr ( j ) k ∈Nr ( j )
6
R− m( x + 1) + 1 x < −1
|
g( x ) = lim S − x x <1 (6)
m →∞
| − m ( x − 1) − 1 x >1
T
∑
Aik d y j (t ), yk (t )i + ∑
Bik du j (t ), uk (t )i (nonlinear connections) (7)
k ∈Nr ( j ) k ∈Nr ( j )
7
dxijm (t )
dt
= − xij (t ) + ∑ A(mn n
i − k )( j − l ) ( t ) ykl + ∑ B(i − k )( j −l ) (t )ukl + I m
kl ∈Nr ( ij ) kl∈Nr ( ij )
1 m
yijm (t ) = m
e xij ( t ) + 1 − xij ( t ) − 1 j (9)
2
g(x) g(x)
x
x
(a) (b)
Figure 8 Polynomial local feedback functions of degree 3 and 5 for the P-CNN
8
General equations for the P-CNN may be written as follows:
dx j (t )
dt
= gd x j (t ) i + ∑ Aµ jk yb xk (t )g + u j (t )
k ∈Nr ( j )
y j (t ) = x j (t ) (11)
Upon proper scaling of variables, dynamics of a P-CNN cell with third order local
feedback is qualitatively analogous to that of CY-CNN cell (see ref. 2). Higher order
polynomials raise the number of possible distinct equilibria of the cell.
Different cells allow for different processing in the three layers, while short- and
long-range interactions make the CNN operate as a network of subsystems.
Other schemes of NUP/MNS CNNs were considered by Roska and Chua6. NUP-
CNNs with two processor types may look as in figure 10, where black cells may be hidden
processors (as proposed by Tan, Hao and Vandewalle11, in order to increase storage
capacity), and/or have different dynamics. Figure 11 shows an example of MNS-CNN,
where fine and coarse grids are present.
9
Figure 10 Examples of NUP-CNNs
Figure 11 A MNS-CNN
dx j (t )
dt
= − x j (t ) + ∑ Aν j yk + Bdu1 j (t − τ ), u2 j (t )i + I
k ∈Nµ j ( j )
y j (t ) = γσ x (t ) (12)
where:
α,β,γ and ε are suitable parameters. Feedback coefficients A depend on cell location, as
can be deduced from figure 12.
Central cells have no dynamics: they just process their single input instantaneously:
y j = Bdu j (t − τ ), u j (t )i (14)
10
With proper choice of parameters, MODA operates as a moving object detector.
Cell state is associated to an element of trajectory (between neighboring pixels); input
function detects permanence of a similar input in successive positions and times (spatio-
temporal coincidence), while first order dynamics acts as a short term memory.
d 2 x j (t ) dx j (t )
dt 2
+α
dt
= ∑ A jk yk (t ) + I j (t )
k ∈Nr ( j )
y j (t ) = x j (t ) (15)
dx j (t )
dt
= ∑ Ajk yk (t ) + u j (t )
k ∈Nr ( j )
x j (t ) = f y j (t ) (16)
11
x
y
Figure 14 Implicit output function of the RO-CNN
2.3.10 CNN with Local Logic (CNNL) - Analog Software Universal Machine
CNNs may be expanded3,15 by adding to every cell a few logical components,
thereby making it a parallel "analogic" (analog and logic) universal computing machine,
capable of executing analog software, i.e. applying several cloning templates in succession,
in order to achieve complex tasks. This kind of processing (dual computing), may be
regarded as the analog counterpart of Single-Instruction-Multiple-Data parallel computers.
To do this, a local (analog and) digital memory is added, and a simple control logic, itself
controlled by a global control unit.
A CNN of this type (analog software universal machine3) can be considered as a
time-varying cloning template architecture, and its dynamical equations written as follows
for linear templates:
dxij (t )
dt
= − xij (t ) + ∑ A( i − k )( j − l ) (t ) ykl (t ) + ∑ B( i − k )( j − l ) (t )ukl (t ) + I (t )
kl ∈Nr ( ij ) kl∈N r (ij )
1
yij (t ) = e xij ( t ) + 1 − xij (t ) − 1 j (17)
2
Local memory and logic may also be used to apply simple logical processing to
binary valued outputs, before feeding them back to CNN input16.
2.3.11 Relation with other continuous-time Neural Network models and systems
Among NN paradigms, the continuous Hopfield model (CH-NN17) most closely
resembles CNNs. In fact, it has substantially the same dynamics of CY-CNN, in the limit
of maximum size neighborhood:
dx j (t )
= − αx j + ∑ A jk yk + I j
dt k
yj = f dx j i (18)
12
1
f ( x) = (19)
1 − e −βx
The fact that f is not piece-wise linear makes no significant difference in the overall
behavior of the network. Actually, a PWL function can be approximated to any precision
by a continuous function, and sometimes this substitution is done in CNNs because,
besides being more realistic from the point of view of realization, is also useful in
theoretical proofs.
The CH-NN is used as a nearest-neighbor encoding CAM, with the cue given as
initial state; therefore, no input is present.
Theory concerning CH-NNs can obviously be applied to CNNs too, but, as the
restriction of locality of connections endows CNN dynamics with peculiar properties, this
similarity is only seldom used, and most results of CNN theory have been obtained
independently.
It is also interesting to consider the similarity between CNNs and (physical) systems
described by systems of partial differential equations (PDE). In fact, these two kinds of
systems share the property that dynamic behavior only depends on local spatial
interactions2.
In fact, consider divergence (∇) and Laplace (∇ 2) vector differential operators,
which are basic building blocks of fundamental equations of physics (e.g. heat, Poisson,
Navier-Stokes equations ...); in two dimensional rectangular coordinates they are written
as:
∂ ∂
∇= +
∂x ∂y
∂2
2 ∂2
∇ = 2 + 2 (20)
∂x ∂y
L 1 O
L 1 O 0 0
M P
M 0 0 P hy2
2 hy M P
M P
M 1 F 2I 1 P
M −1 1 P 2 (21)
A∇ = 1 A = M G1 − − J P
M 2h 2 hx P ∇2 2
hx2 hy2 K hx2 P
x M hx H
M P
−1 M 1 P
M 0 0 P
2 hy M 0 0 P
M
N P
Q hy2
MN PQ
13
As a first-order system, CY-CNNs approximate a generalized heat equation; in the
same way, Membrain, a second-order system, implements a generalized wave equation.
x j ( n + 1) = ∑ A jk yk ( n) + ∑ B jk uk ( n ) + I j
k ∈Nr ( j ) k ∈Nr ( j )
y j ( n) = f x j ( n ) (22)
where f is the sign(•) function:
R1 if x ≥0
f ( x) = S (23)
T0 if x <0
The multi-valued neuron for discrete time CNN was introduced by Aizemberg and
Aizemberg20. The state and output of such cells is defined in complex space, therefore
dynamical equations for the MV-CNN do not readily fit in the framework of Eqs. 2b.
However, they can be written in similar form:
x j ( n + 1) = ∑ Ak yk + I j
k ∈Nr ( j )
y j = csign( x j ) (24)
2.3.14 Relation with other discrete-time neural network models and systems
14
As discussed for CT-CNNs, also DT-CNNs may be considered as restrictions of
fully connected NNs: Additive Grossberg NNs21 have positive weights, negative local
feedback and step nonlinearity, Discrete Autocorrelators22 also have step nonlinearity,
BSB has PWL nonlinearity, as for the FR-CNN. For these networks, however, the same
comment applies about the fact that theory has just limited interest in CNN context.
It is instead more interesting to compare LCT-(DT-)CNN(L) with two other parallel
computing paradigms, namely Systolic Arrays (SA) and Cellular Automata (CA). Table
123 compares the data type and processing specification for these models:
Table 1 Confronting CA, SA, and CNN
Cellular Automaton Systolic Array CNN
data logic values (1-4 bits) numerical values (8-32 bits) analog values
specification truth table numerical algorithm cloning templates
(analog software)
Analogies and differences between CA and CT-CNNs have been discussed and
exploited by Chua and Shi7.
Operation of the CA consists of two phases: a processing phase and a (local or
global) propagation phase. These two phases (with local propagation) are also present in
DT-CNN realizations18, and can also be replicated in CT-CNNs, even if the latter operate
asynchronously. In fact, Chua and Shi7 showed that a LT-CNN can implement one
iteration of a CA involving only local propagation, and that a LT/FF-CNN can also
implement global propagation operation.
Therefore, it is possible to exploit CA design rules in the design of CNNs, in order
to obtain the same functionality, with the advantage of easier realizability of the analog
CNN chip.
In CA theory, the game of life algorithm has particular importance, because of its
universality; Chua, Roska, Venetianer and Zaràndy19 have discovered LCT-CNN
templates for one step of the algorithm and a DT-CNN(L) analog algorithm to perform the
continuing game, thereby proving universality of CNNLs.
3. Stability
Main theoretical results concerning CNN dynamics are hereafter reviewed. For
proofs of theorems, please refer to quoted papers.
15
xmax = 1 + max M
L
∑
j ∈ M k ∈N ( j )
e A jk + B jk + max
A jk ( y1 , y2 ) +
y1 , y2 ∈ −1,1
N r
+ max
B jk ( y1 , y2 ) + Aτjk + B τjk + I j J P
IO
(26)
y1 , y2 ∈ −1,1 KQ
provided that nonlinear connection functions and initial conditions are bounded by 1.
Moreover, ω-limit points of x ( x j a∞ f ) are bounded by xmax-1.2,6,24,25
∂A jk d y j , yk i
a) ∀j , k ∈ k ∈ Nr ( j ): > 0 or A jk ≡ 0;
∂yk
b) ∀j , k ∈ there exists a path in li0
= j , i1, ..., in = kq Aim im +1 ≠ 0 (27)
16
An acyclic CNN with A jj > 1 ∀j ∈ is asymptotically stable29.
k p
J = diage( −1)n1 , ( −1)n2 , ..., ( −1)nk j and ni ∈ 0, 1 . Let A = ed A jk ij. If the transformed
′ = J −1AJ
CNN, with state x', and weights obtained from A , is stable, so is the original
CNN. Chua and Wu29 specify possible different transformations for LCT-CNNs.
In a D-CNN, let A = ed A jk ij, and A τ = ee A τjk jj . If: A is non-negative in the off-
diagonal locations; A τ has only non-negative elements; A + A τ is an irreducible matrix;
and the set of equilibrium points is finite, then the network is almost everywhere
asymptotically stable24.
17
Theorem 12 (global asymptotic stability of D-CNNs)
If a D-CNN is such that: A has only non-negative off-diagonal elements, A τ has
non-negative elements, and −e A + A τ j is row-sum dominant, i.e.
condition with constant L: A nl by1 g − A nl b y 2 g ≤ L y1 − y 2 ∀y1 , y 2 , and L + A τ < 1
,
then the NL/D-CNN is globally asymptotically stable . 25
4. Applications
Since their introduction, a wide range of applications has been proposed and tested
for CNNs. In this section, only a synthetic review of these applications can be given, for
reason of space; detailed description can obviously be found in quoted papers.
LCT-CNNs have found most applications in image processing, also profiting of filter
theory (e.g. ref. 33, 34). Besides local processing, global effect are obtained by
information propagation, also by properly setting both input and initial state (e.g. CCD,
hole-filler). CNNs may be used as preprocessors for pattern recognition tasks, also in
connection with other kinds of NNs and with logical computers (e.g. feature detection,
character recognition). Table 2 summarizes the most significant contributions.
18
Table 2 LCT-CNN applications
Application Reference
line, edge and corner extraction 33
noise removal (low-pass filtering) 33
connected component detection 35
hole filling 35
shadow detection 35
image thinning/thicking 35, 36
small object isolating (for counting) 37
halftoning and information compression 1,38
character recognition 35, 39, 40
Table 2 (continued)
printed circuit layout error detection 41
vehicle guiding 42
Radon transforming 7
19
Table 4 Applications of other CT-CNNs
Application Reference
motion detection 12, 49
mapping approximation 31, 50
game of life 19
artificial vision (stereopsis) 51
object counting 19
translation-invariant pattern recognition 13
oscillators, chaos generators 52
Several authors have discussed use of discrete time CNNs as CAM; concerning
image processing, DT-CNNs cloning templates have been found for many tasks, including
some new functionalities in which speed of processing can be usefully controlled. A list of
these applications is given in table 5.
20
The first steps of CNN theory were done by obtaining useful LCT-CNN cloning
templates by a sort of empirical synthesis, based on experience in other fields (e.g.
filtering) and on trial-and-error. Most design theory for CNNs has been developed quite
recently, and has concentrated in particular to cloning template CNNs. A brief review of
the various methods proposed is given below.
Analog software, recently rigorously defined by Roska and Chua15, opens the way
to analog ("analogic") programming, which can be as an extension of CNN synthesis
beyond the hardware level.
Synthesis methods for LCT-CNNs have been proposed by Chua and Thiran57 and
Osuna and Moschytz58. Both algorithms involve building a system of inequalities
describing solution space, and solving them by a standard method (e.g. relaxation). The
first paper gives sufficient conditions on template parameters that guarantee correct
functioning; applying these conditions, however, is only feasible for rather simple problems
and small number of free parameters. The second method quoted, aimed at finding
symmetric templates satisfying the binary output condition (theorem 7) consists of a set of
inequalities to be imposed exhaustively on desired and forbidden input/final output
couples, which can be considered as restricted to neighborhood size. Slot59 distinguishes
two aspects of the feature detection problem: recognition of presence of the feature in
input pattern, and propagation of information about this recognition. Cloning template
matrices B and A are then designed so as to satisfy two sets of inequalities describing the
two mentioned tasks. Chua and Shi7 exploited analogy with CAs to design a LCT-CNN
implementing the Radon transform; Crounse, Roska and Chua38 designed halftoning
templates by adapting parameters of known filters.
Synthesis of CY-CNN weights was considered by Seiler, Schuler and Nossek54.
They gave a rigorous mathematical framework to the problem of obtaining robust solution
to pattern storage problems, by stating sufficient conditions on nominal and actual values
of parameters, written in terms of inequalities to be solved by a standard method, e.g. the
simplex algorithm. They also give practical guidelines to apply the theory in the design of a
CAM with given stable equilibria.
Realization of locally-defined Boolean functions by time-varying cloning template
DT-CNNs is solved by Galias49: simple rules are given to set the weights from a product-
of-sums or sum-of-products definition of the function.
For P-CNNs, used as CAM, an explicit synthesis procedure is given to choose
nonlinear connection functions to store given patterns9. MODA, a dedicated architecture
is also designed by explicit synthesis, implementing constraints of the problem12.
5.2 Learning
LCT-CNNs have much less parameters than general CNNs and NNs. Therefore,
learning for those networks has been accomplished with several optimization algorithms
that are generally impractical for other models.
21
Zou, Schwarz and Nossek60 obtain straightforwardly from examples a system of
linear inequalities, to be solved by a relaxation method; the cost function is identified as
the sum of distances of the current solution from separation planes defined by these
inequalities. The same system is solved by Szolgay and Kozek61 by the simplex algorithm.
Schuler, Nachbar, Nossek and Chua62 taught a LCT-CNN state space trajectories by
using backpropagation-through-time algorithm with conjugate gradient descent. Cost
function is taken as an integral of distance between actual and desired solution over the
entire trajectory of state evolution.
A different approach is used by Kozek, Roska and Chua63, who employed a genetic
algorithm, which can be easily applied to complex tasks too, due to the simple way of
giving constraints and optimization criteria to be enforced.
CY-CNNs can be trained by recurrent back-propagation, which is a generalization of
the well-known back-propagation algorithm to non-feed-forward networks. Operation of
this algorithm is time-consuming when simulated, but it might be directly realized in
hardware30,31,64. Hansen65 employed the Boltzmann machine algorithm, maximizing a
posteriori probability of correct output by gradient decent.
Concerning CNN-CAMs, Tan, Hao and Vandewalle11 applied Hebb's rule and
computed capacity of the network. Mizutani56 also used Hebb-like storage. Aizemberg
and Aizemberg20 adapt weights for the MV-CNN in an a iterative manner, resembling a
gradient descent, which finds a solution in a finite number of steps.
Learning for DT-CNNs was considered by Harrer, Nossek and Zou57, who
employed a relaxation method, as described for CT-CNNs, and by Magnussen and
Nossek66. In the latter paper, a new algorithm called LASTNERD is defined, that employs
line searches in order to minimize a cost function obtained as mean square distance from
training examples. Training examples, and direction of line searches are chosen at random,
so as to introduce a noise component into the process, that enhances robustness and
reliability of the solution.
6. Hardware implementation
CY-CNN equations (3) are readily translated in a circuit scheme by interpreting cell
state as voltage across an RC dipole realizing first-order dynamics. Connections are
realized by voltage-controlled current sources (VCCS), so that summations are performed
by injecting currents into the same node.
Based on this scheme (figure 15a), several implementations were proposed
employing operational transconductance amplifiers (OTA) as basic blocks. Weighting of
signals is performed at the output instead of input of cells, together with nonlinear output
function. Therefore, the cell has multiple outputs and a single input instead of single
output and multiple inputs (figure 15b).
22
u x y
+- ... ... f
Bu Ax
(a)
+- ... ... f
Bu Ax
(b)
Figure 15 Alternative models of CNN cell: (a) Chua & Yang's model, with bias
represented as voltage instead of current; (b) dual model with weighting at the output
23
Nossek, Seiler, Roska and Chua8 propose a fully-programmable scheme based on
operational amplifiers (op amp) and variable conductance blocks. The inner cell circuit is
first transformed by adding an op amp, so that currents are drawn from virtual ground
node instead of inner node, thereby stabilizing its voltage against loading effects (figure
17).
x x
ΣI load
8
+ -
ΣI
The circuit is then transformed to a balanced structure (figure 18) that employs variable
conductance blocks, that can be realized with four transistors, as in figure 19.
Cx -x G +y
+ - + -
Gx Gf
- + - +
Cx +x G -y
24
realize lossy integration and delay operators required to generate continuous- or discrete-
time dynamics (figure 20)
Φ
1 1 1 1
(a) (b)
Figure 20 (a) lossy integrator; (b) half-clock delay in current mode
The quoted paper also reports about realization and testing in 1.6µm CMOS
technology of several CT and DT prototypes. 9×9 and 1×16 CT prototypes have less than
20 transistors per cell, so that 60 to 160 cells per mm2 density is achieved. These circuits
settle in about 0.25 to 1.5µs. A DT-CNN programmable 9×9 network with local logic was
successfully tested at 5 MHz clock frequency. Due to programming and testing circuitry
and lines, cells are large: 500µm×500µm.
Important issues to be confronted in practical realizations are those of control and
initialization. Accessing all cells at once is generally impossible by means of electronic
signals because of the excessive number of lines required. Multiplexed accessing (e.g. by
rows) is therefore necessary, together with analog storage, that may be done by capacitors
connected to voltage followers. Even bigger difficulty is involved in weight programming.
The easiest case is when cloning templates are used, and programming is only allowed in
discrete values, that can be selected by a few global lines and some local logic and
memory. A promising alternative, especially for image processing purposes, is using on-
chip photosensors as input devices.
Realization of DT-CNNs can was also attempted by use of optical devices69. Main
advantages are speed-of-light computing in the forward path, and possibility of large
neighborhood; however, bottlenecks occur in electronic addressing of cells for input (but
optical addressing might also be implemented) and in electronic feedback of intermediate
results.
Main building blocks for the optical realization are liquid crystal devices (Spatial
Light Modulators - SLM), and lenses. SLMs are used to perform analog multiplication
between images, by applying variable attenuation to an image transmitted through the
panel; their nonlinear sigmoid-like transparency vs. voltage characteristic is also used to
implement output nonlinearity. Lenses are used to realize cross-correlation with cloning
template. In fact, they realize a Fourier transform, which can be followed by SLM
multiplication by a hologram representing cloning template. Inverse transform is obtained
by another lens, after observing that a second direct transform yields a mirror image of the
desired inverse transform. Complete optical CNN block scheme is depicted in figure 21.
25
f f f f
input input output output
signal spectrum spectrum signal
CCD camera
input ...
bias
Figure 21 Optical realization of a DT-CNN.
7. Appendix
Table of symbols
26
Table of acronyms
27
8. References
1. K.R. Crounse, T. Roska, L.O. Chua, "Image Halftoning with CNNs", IEEE Trans. on
Circ. and Syst. CAS-II-40(3) (1993)
2. L.O. Chua, L. Yang, "Cellular Neural Networks: Theory", IEEE Trans. on Circ. and
Syst. CAS-35(10), 1257 (1988)
3. L.O. Chua, T. Roska, "The CNN Universal Machine - Part 1: The Architecture",
CNNA-92, 1
4. A. Rodríguez-Vázquez, S. Espejo, R. Domínguez-Castro, J.L. Huertas, E. Sánchez-
Sinencio, "Current-Mode Techniques for the Implementation of Continuous and
Discrete-Time Cellular Neural Networks", IEEE Trans. on Circ. and Syst. CAS-II-
40(3) (1993)
5. J. Anderson, J. Silverstein, S. Ritz, R. Jones, "Distinctive Features, Categorical
Perception, and Probability Learning: Some Applications of a Neural Model",
Psychological Review, 84, 413 (1977)
6. T. Roska, L.O. Chua, "Cellular Neural Networks with Non-linear and Delay-Type
Template Elements and Non-Uniform Grids", Int. j. c. th. appl. 20, 469 (1992)
7. L.O. Chua, B. Shi, "Exploiting Cellular Automata in the Design of Cellular Neural
Networks for Binary Image Processing", University of California at Berkeley,
memorandum no. UCB/ERL M89/130 (1989)
8. J.A. Nossek, G. Seiler, T. Roska, L.O. Chua, "Cellular Neural Networks: Theory and
Circuit Design", Int. j. c. th. appl. 20, 533 (1992)
9. A. Barone, M. Balsi, V. Cimagalli, "Polynomial Cellular Neural Network: A New
Dynamical Circuit for Pattern Recognition", Proc. of Int. Specialist Workshop on
"Nonlinear Dynamics of Electronic Systems", Dresden, Germany, July 23-24, 1993
10. J. Henseler, P.J. Braspenning, "A Cortex-like Architecture of a Cellular Neural
Network", CNNA-90, 244
11. S. Tan, J. Hao, J. Vandewalle, "Cellular Neural Networks as a Model of Associative
Memories", CNNA-90, 27
12. V. Cimagalli, M. Bobbi, M. Balsi, "MODA: Moving Object Detecting Architecture",
IEEE Trans. on Circ. and Syst. CAS-II-40(3) (1993)
13 J. Henseler, P.J. Braspenning, "Membrain: A Cellular Neural Network Model Based
on a Vibrating Membrane", Int. j. c. th. appl. 20, 483 (1992)
14. A. Barone, M. Balsi, V. Cimagalli, "Cellular Networks of Oscillators", CNNA-92, 246
15. T. Roska, L.O. Chua, "The Dual CNN Analog Software", Hungarian Academy of
Sciences, Budapest, Hungary, report no. DNS-2-1992
28
16. K. Halonen, V. Porra, T. Roska, L.O. Chua, "Programmable Analog VLSI Chip with
Local Digital Logic", Int. j. circ. th. appl., 20, 573 (1992)
17. J. Hopfield, "Neurons with Graded Response Have Collective Computational
Properties like Those of Two-State Neurons", Proc. Nat. Acad. Sci, 81, 3088 (1984)
18. H. Harrer, J.A. Nossek, "Discrete-time Cellular Neural Networks", Int. j. c. th. appl.
20, 453 (1992)
19. L.O Chua, T. Roska, P.L. Venetianer, A. Zaràndy, "Some Novel Capabilities of CNN:
Game of Life and Examples of Multipath Algorithms", Hungarian Academy of
Sciences, Budapest, Hungary, report no. DNS-3-1992
20. N.N. Aizemberg, I.N. Aizemberg, "CNN Based on Multi-Valued Neuron as a Model
of Associative Memory for Grey-Scale Images", CNNA-92, 37
21. S. Grossberg, "Some Nonlinear Networks Capable of Learning a Spatial Pattern of
Arbitrary Complexity", Proc. Nat. Acad. Sci., 59, 368 (1968)
22. S.-I. Amari, "Learning Patterns and Pattern Sequences by Self-Organizing Nets of
Threshold Elements", IEEE Trans. on Computers, C-21, 1197 (1972)
23. T. Roska, L.O. Chua, "Cellular Neural Networks with Non-linear and Delay-Type
Template Elements", CNNA-90, 12
24. T. Roska, C.W. Wu, M. Balsi, L.O. Chua, "Stability and Dynamics of Delay-Type
General and Cellular Neural Networks", IEEE Trans. on Circ. and Syst. CAS-I-
39(6), 487 (1992)
25. T. Roska, C.W. Wu, M. Balsi, L.O. Chua, "Stability of CNNs with Dominant
Nonlinear and Delay-Type Templates", IEEE Trans. on Circ. and Syst. CAS-I-40(3)
(1993)
26. L.O Chua, T. Roska, "Stability of a Class of Nonreciprocal Cellular Neural
Networks", IEEE Trans. on Circ. and Syst. CAS-37(12), 1520 (1990)
27. F. Zou and J.A. Nossek, "Stability of Cellular Neural Networks with Opposite-Sign
Templates", IEEE Trans. on Circ. and Syst. CAS-38, 675 (1991)
28. M. Balsi, "Stability of Cellular Neural Networks with One-Dimensional Templates",
Int. j. circ. th. appl., in press
29. L.O. Chua, C.W. Wu, "On the Universe of Stable Cellular Neural Networks", Int. j. c.
th. appl. 20, 497 (1992)
30. M. Balsi, "Recurrent Back-Propagation for Cellular Neural Networks", Proc. of
European Conference on Circuit Theory and Design (ECCTD'93), Davos,
Switzerland, Aug.30-Sep. 3, 1993 (Elsevier)
31. M. Balsi, "Generalized CNN: Potentials of a CNN with Non-Uniform Weights",
CNNA-92, 129
32. P.P. Civalleri, M. Gilli, "Some Stability Properties of CNNs with Delay", CNNA-92,
94
33. L.O. Chua, L. Yang, "Cellular Neural Networks: Applications", IEEE Trans. on Circ.
and Syst. CAS-35(10), 1272 (1988)
34. A. Dzielinski, S. Skoneczny, R. Zbikowski, S. Kuklinski, "Cellular Neural Network
Application to Moiré Pattern Filtering", CNNA-90, 139
29
35. T: Matsumoto, T. Yokohama, H. Suzuki, R. Furukawa, A. Oshimoto, T. Shimmi, Y.
Matsushita, T. Seo, L.O. Chua, "Several Image Processing Examples by CNN",
CNNA-90, 100
36. D.-H. Yu, C.-Y. Ho, X. Yu, S. Mori, "On the Application of Cellular Automata to
Image Thinning with Cellular Neural Networks", CNNA-92, 210
37. G. Seiler, "Small Object Counting with Cellular Neural Networks", CNNA-90, 114
38. M. Tanaka, K.R. Crounse, T. Roska, "Template Synthesis of Cellular Neural
Networks for Information Coding and Decoding", CNNA-92, 29
39. T. Szirànyi, T. Roska, P. Szolgay, "A Cellular Neural Network Embedded in a a Dual
Computing Structure (CNND) and its Use for Character Recognition", CNNA-90, 92
40. K. Nakayama, Y. Chigawa, "Japanese Kanji Character Recognition Using Cellular
Neural Networks and Modified Self-Organizing Feature Map", CNNA-92, 191
41. P. Szolgay, I. Kispàl, T. Kozek, "An Experimental System for Optical Detection of
Layout Errors of Printed Circuit Boards Using Learned CNN Templates", CNNA-92,
203
42. Gy. Eröss, T. Boros, À. Kiss, A. Radvànyi, T. Roska, J. Bitò, J. Vass, "Optical
Tracking System for Automatic Guided Vehicles Using Cellular Neural Networks",
CNNA-92, 216
43. T. Boros, K. Lotz, A. Radvànyi, T. Roska, "Some Useful, New, Nonlinear and Delay-
Type Templates", Hungarian Academy of Sciences, Budapest, Hungary, report no.
DNS-1-1991
44. S. Jankowski, R. Wanczuk, "Nonlinear CNN Cloning Templates for Image Thicking",
CNNA-92, 197
45. P. Nachbar, A.J. Schuler, T. Füssl, J.A. Nossek, L.O. Chua, "Robustness of Attractor
Networks and an Improved Convex Corner Detector", CNNA-92, 55
46. S. Paul, K. Hüper, J.A. Nossek, L.O. Chua, "Mapping Nonlinear Lattice Equations
onto CNNs", IEEE Trans. on Circ. and Syst. CAS-I-40(3) (1993)
47. T. Roska, K. Lotz, J. Hàmori, E. Làbos, J. Takàcs, "The CNN Model in the Visual
Pathway - Part I: the CNN-Retina and some Direction- and Length-Selective
Mechanisms", Hungarian Academy of Sciences, Budapest, Hungary, report no. DNS-
8-1991
48. Z. Galias, "Designing Discrete-Time Cellular Neural Networks for the Evaluation of
Local Boolean Functions", CNNA-92, 23
49. T. Roska, T. Boros, A. Radvànyi, P. Thiran, L.O. Chua, "Detecting Moving and
Standing Objects Using Cellular Neural Networks", Int. j. circ. th. appl., 20(5), 613
(1992)
50. C. Güzelis, "Supervised Learning of the Steady-State Outputs in Generalized Cellular
Neural Networks", CNNA-92, 74
51. A. Radvànyi, "A Dual CNN Model of Cyclopean Perception and its Application
Potentials in Artificial Stereopsis", CNNA-92, 222
52. Y. Andreyev, Y. Belsky, A. Dmitriev and D. Kuminov, "Inhomogeneous Cellular
Neural Networks: Possibility of Functional Device Design", CNNA-92, 135
30
53. G. Seiler, A.J. Schuler, J.A. Nossek, "Design of Robust Cellular Neural Networks",
Technische Universität München, Munich, Germany, report no. TUM-LNS-TR-91-13
(1991)
54. G. Martinelli, R. Perfetti, "Associative Memory Design Using Space-Varying Cellular
Neural Networks", CNNA-92, 117
55. H. Mizutani, "The Effective Weighting Method of CNN as a Recall", CNNA-92, 86
56. H. Harrer, J.A. Nossek, F. Zou, "A Learning Algorithm for Discrete-Time Cellular
Neural Networks", Technische Universität München, Munich, Germany, report no.
TUM-LNS-TR-91-1 (1991)
57. L.O. Chua, P. Thiran, "An Analythic Method for Designing Simple Cellular Neural
Networks", IEEE Trans. on Circ. and Syst. CAS-38(11), 1332 (1991)
58. J.A. Osuna, G.S. Moschytz, "Exact Design of Reciprocal Cellular Neural Networks",
CNNA-92, 11
59. K. Slot, "Cellular Neural Networks Design for Solving Specific Image-Processing
Problems", Int. j. circ. th. appl. 20, 629 (1992)
60. F. Zou, S. Schwarz, J.A. Nossek, "Cellular Neural Network Design Using a Learning
Algorithm"; CNNA-90, 73
61. P. Szolgay, T. Kozek, "Optical Detection of Layout Errors of Printed Circuit Boards
Using Learned CNN Templates", Hungarian Academy of Sciences, Budapest,
Hungary, report no. DNS-10-1991
62. A.J. Schuler, P. Nachbar, J.A. Nossek, L.O. Chua, "Learning State Space Trajectories
in Cellular Neural Networks", CNNA-92, 68
63. T. Kozek, T. Roska, L.O. Chua, "Genetic Algorithm for CNN Template Design",
IEEE Trans. on Circ. and Syst. CAS-I-40(3) (1993)
64. C. Güzelis, "Supervised Learning of the Steady-State Outputs in Generalized Cellular
Neural Networks", CNNA-92, 74
65. L.K. Hansen, "Bolzmann Learning of Parameters in Cellular Neural Networks",
CNNA-92, 62
66. H. Magnussen, J.A. Nossek, "Towards a Learning Algorithm for Discrete-Time
Cellular Neural Networks", CNNA-92, 80
67. J.M. Cruz, L.O. Chua, "Design of High-Speed, High-Density CNNs in CMOS
Technology", Int, j. circ. th. appl., 20, 555 (1992
68. H. Harrer, J.A. Nossek, R. Stelzl, "An Analog Implementation of Discrete-Time
Cellular Neural Networks", IEEE Trans. on Neural Networks NN-3(3), 466 (1992)
69. E. Lüder, N. Frühauf, "Optical Signal Processing for CNN's", CNNA-92, 45
70. K. Slot, "Optically Realized Feedback Cellular Neural Networks", CNNA-92, 175
31