Sunteți pe pagina 1din 11

(12) United States Patent (io) Patent No.

: US 6,757,666 B1
Thomas (45) Date of Patent: Jun. 29,2004

(54) LOCALLY CONNECTED NEURAL (56) References Cited


NETWORK WITH IMPROVED FEATURE
VECTOR U.S. PATENT DOCUMENTS
4,906,940 A * 311990 Greene et al. .............. 3821100
(75) Inventor: Tyson Thomas, San Francisco, CA 5,161,204 A * 1111992 Hutcheson et al. ......... 3821157
(US) 5,274,714 A * 1211993 Hutcheson et al. ......... 3821157
5,465,308 A * 1111995 Hutcheson et al. ......... 3821159
(73) Assignee: California Institute of Technology, 5,598,355 A * 111997 Derou et al. ................ 3421159
Pasadena, CA (US) 5,745,382 A * 411998 Vilim et al. .................. 706116
5,799,276 A * 811998 Komissarchik et al. ..... 7041251
( * ) Notice: Subject to any disclaimer, the term of this 5,805,745 A * 911998 Graf ........................... 3821291
patent is extended or adjusted under 35 5,859,891 A * 111999 Hibbard ....................... 378162
U.S.C. 154(b) by 0 days.
* cited by examiner
(21) Appl. No.: 09/549,216
Primary Examiner-Wilbert L. Starks, Jr.
(22) Filed: Apr. 13, 2000 (74) Attorney, Agent, or F i r m C i s h & Richardson P.C.

Related U.S. Application Data (57) ABSTRACT


(60) Provisional application No. 601129,385, filed on Apr. 13, A pattern recognizer which uses neuromorphs with a fixed
1999. amount of energy that is distributed among the elements.
(51) Int. Cl? .................................................. G06N 3/02 The distribution of the energy is used to form a histogram
(52) U.S. C1. ............................................ 706/15; 706116 which is used as a feature vector.
(58) Field of Search ..................... 706115, 16; 3421159;
378162; 3821100, 157, 291 20 Claims, 7 Drawing Sheets

Feeding Input
(could be from phototransistor or ofh r tran ducer)
Vdd
linking inputs 1‘

from neighbors

(output)

CURRENT OUTPUTS
TO NfIGHBORS
U S . Patent Jun. 29,2004 Sheet 1 of 7 US 6,757,666 B1

FIG. I

DIST'i'BULE ENERGY
ACCORDING TO PAVERN

1 USE HiSTff GRAM AS


FEATURE RKTOR I
FIG. 2
U S . Patent Jun. 29,2004 Sheet 2 of 7 US 6,757,666 B1

t t-

T I-
U S . Patent Jun. 29,2004 Sheet 3 of 7 US 6,757,666 B1

FIG, 4
U S . Patent Jun. 29,2004 Sheet 4 of 7 US 6,757,666 B1

i
U S . Patent Jun. 29,2004 Sheet 5 of 7 US 6,757,666 B1

FIG. SB-2 FIG. 5D

0 200 400 600 800 1000

FIG. 5E
U S . Patent Jun. 29,2004 Sheet 6 of 7 US 6,757,666 B1

20 -

FlG. 6C 70- FIG. 6D

0- Ill JI,I 11 II
0 50 100 15(3

20 -

FlG, 6E 70 - NG. 6f

0-
0 50 100 150

20-

F1G. 6G FIG. 6H

0 50 100 7513

20 -

FIG. 61 10- FlG. 6J


U S . Patent Jun. 29,2004 Sheet 7 of 7 US 6,757,666 B1

20-
15-
FIG. 70
10-
5-
In
0-
0 50 7 )

FIG. 78

2O-l

FlG. 7C
US 6,757,666 B1
1 2
LOCALLYCONNECTEDNEURAL network is called a neuromorph to distinguish it from
NETWORK WITH IMPROVED FEATURE generic artificial neurons or perceptrons found in the litera-
VECTOR ture. This input pattern forms the feeding inputs to neuro-
morphs. The neuromorphs are spatially co-located with the
CROSS-REFERENCE TO RELATED s input pixels. The neuromorphs carry out the processing as
APPLICATIONS disclosed herein and as shown in the flowchart of FIG. 2.
This application claims benefit of U,S, Provisional Appli- The neuromorphs the hut pattern 99 as feeding
cation No. 601129,385, filed Apr. 13, 1999. inputs at 200. Local neighborhood connections are formed
between the neuromorphs, forming linking inputs. In
STATEMENT AS TO F E D E R ~ L Y - S ~ O N S O R E D 10 operation, the entire network of neuromorphs competes for
RESEARCH a fixed resource of energy at 205. Each neuromorph adds its
feeding and linking inputs. The ratio of this total, to the sum
The Government have certain rights in this of totals for all neuromorphs in the network, to determine the
invention Pursuant to Grant No. 7-1407 awarded by NASA. share of the fixed energy, The fixed energy sets new acti-
15 vation levels as energy distributes itself over time across the
BACKGROUND network as a function of the spatial locations of the feeding
Pattern recognition systems can be used for many differ- and the linking inputs. Hence, the network “settles” into an
ent functions, including recognition of elements within equilibrium condition that is based on the input pattern 99.
scenes, matching of one feature to another feature and other Once the network has stabilized, each neuromorph is
functions. Pattern recognition can be used for detecting 2o active with a percentage of the total energy that is based on
fingerprints for example. the input pattern. The neuromorph is said to be “active” with
pattern recognition can be complicated by the different an “activation energy”. The different neuromorphs each
parameters which are set by the system. For example, these have a different amount of energy. The neuromorPhs are
parameters can include the actual orientation of the itern classified according to their activation energy at 210. This
being imaged as well as other features about the item. 2s classification is used to form an activation histogram 215.
This histogram is formed by counting the number of neu-
SUMMARY romorphs that have settled into each range of activation.
This histogram is then used as the feature vector that is
The present application teaches a system for allowing and representative of the original input pattern 220,
classifying pattern recognition. This pattern recognition may 30
This feature vector is relatively invariant to rotation due
use a special feature vector.
to its network symmetry. It is also invariant to translation
BRIEF DESCRIPTION OF THE DRAWINGS due to histogramming. Therefore, this feature vector cap-
tures local global and relational characteristics of the input
These and other aspects will now be described in detail pattern. The feature vector can be used in a classifier for final
with respect to the accompanying drawings, wherein: 3s recognition.
FIG. 1 is a block diagram of a pattern recognizer; The neuromorphs are shown in FIG. 3. The activation of
FIG. 2 shows a flow chart of operation; a neuromorph at any particular spatial location is a function
FIG. 3 shows a schematic of a circuit including a neuro- of both the local feeding input from the photodetector 99 and
morph; 4o also the linking input 302 formed from the activations at its
neighbors. Thus, even locations without any feeding input,
FIG. 4 shows an alternative connection; and
i.e. inactive pixel locations, still receive influence from their
FIGS. 5A-5E shows a dot in different positions, and neighbors and obtain a non-zero activation value.
histograms for that dot; Shunting inhibition is used to prevent an activation explo-
FIGS. 6A-6J show different shapes, and different histo- 4s sion that could occur from the positive feedback in the
grams for those shapes; and linking connections. The shunting inhibition is carried out
FIGS. 7A-7F show another shape in different orientations by limiting the network energy to a fixed level. The neuro-
and respective histograms for that shape. morphs compete with each other for a limited activation
resource; here the energy of the network. This energy is
DETAILED DESCRIPTION so fixed by using voltage source 320 and current source 325.
FIG. 1 shows a pattern recognition system having two VenergY is a network voltage Supply nominally set to around
stages. A first extractor stage 100 extracts information from 20% of Vdd, while IenergY is a network fixed current Source
the “image” to be pattern-recognized, The information can implemented with a cascode whose value is a function of the
be extracted in the form of a feature vector 115. The feature total network size (nominally around several microamps Per
vector can represent various information about the image to 5s neuromorph). Since the network is recurrent and therefore
be classified. Once the feature vector is properly obtained, a represented by a dynamic equation, its activation can be
classification system 120, which can be any of a number of computed iteratively in computer simulations.
different systems, can be used to classify the information. A The update for a single neuromorph proceeds by first
variety of techniques, including nearest neighbor and neural calculating the weighted sum of the local neighborhood. The
network techniques, may be used to perform the final 60 weights represent the synaptic connection or linking
classification of the generated feature vector 115 to complete strengths. A simple case is to keep all weights the same in
the recognition of the input pattern. order to achieve rotation and translation invariance through
The extractor stage 100 can be a neural network formed symmetry and uniformity.
of a plurality of pixels 102, 104. The input pattern 99 is The feeding input pixel value from the original input
presented to the network. This input pattern can be stored 6s pattern is jammed with the linking input.
digitally at each pixel location 102, or can be sensed directly When these operations have been completed for the entire
by a sensing element. The basic functional unit of the network, the energy is divided by the sum of all the new
US 6,757,666 B1
3 4
activation values and original pixel values and multiplied by overhead can become substantial, reducing the number of
the energy to get the new local activation level. The new neuromorphs that can be implemented in a single network
activation levels are calculated for each neuromorph over on a chip.
the entire network. Then this activation is scaled as a fraction The first arrangement shown in FIG. 3 only has connec-
of the total activation in the entire network. 5 tions for the first level neighborhood. FIG. 4 shows first level
Each neuromorph therefore settles to some percentage of neighborhood connections for an array of neuromorphs,
the total energy. The settled value is based on the percentage represented by boxes as they might appear in a typical
of the activation of the total network activation. network.
Mathematically, the network activation is iteratively com- The weights or linking strengths between the network
puted by: nodes can also be important. Keeping all linking weights as
equal can maintain symmetry for rotational and translational
invariance. The magnitude of the linking weight, however,
1, + [WIJ kl E k l ( n ) l
kltN,(?i)
may change the behavior of the network without destroying
u,(n+l)= the invariance. In practice, a larger weight multiple tends to
+ c [wy kl E k l ( n ) l
( ~ I J 15 accentuate regions of higher pattern density, while blurring
kltN,(?i)
J the network energy distribution away from the original input
pattern shape. In the limit of very large weights, the input
pattern may be lost. In this case, the feature vector generated
where, by the network may lose its utility.
klcNr(ij) are the coordinates kl of a point that falls within 2o Lower weights tend to preserve the structure of the
a radius r of the neighborhood of neuromorph ij; original input pattern, but decrease the amount of commu-
akl(n)is the current activation level of neuromorph kl in nication between pattern regions. This creates a feature
NXij); vector that is less representative of the relative spatial
WL,,klis the weight of the synaptic or linking connection relationship between input pattern pixels. In the limit of very
between neuromorph ij and neuromorph kl; 25 small weights, the feature vector generated by the network
I, is the input pattern pixel value at location ij; may be a simple input pattern intensity histogram without
E is the global network energy constant; any information about the relative spatial relationships of
n is the iteration number. pattern regions.
The network has settled when each neuromorph has an A fixed weight (linking strength) may be imp1emented in
activation level that remains fixed. 3o the neuromorph circuit of FIG. 3 by changing the ratio of
nefeature vector is obtained at 220 from the activation sizes of the transistor sizes of the cascode current mirrors
histogram. The number of bins in the histogram is adjustable that form the neighborhood Output connections. In most
depending on the application, ~ ~ ~ many
too ~ bins
~ can~ l simulations,
l ~ as , well as the actual hardware implementation,
cause the histogram to be sensitive to slight variations in the the connectivity weights have been set to One. However,
input pattern which may be caused by edge or finite reso- 35 certain pattern may benefit from higher Or lower
lution effects. In contrast, too few bins the histogram can weight strengths.
Of the concepts are shown in the
reduce resolution, minimum and maximum activation levels
can also be determined ad hoc for the pattern type, F~~ drawings. FIG. 5A shows a side-on view of a “dot”. The dot
example, small patterns with large uniformbackgrounds is shown on-center in. FIG. 5B, and off-center in FIG. 5D.
(e.g. written characters) will have many neuromorphs in low 40 In 5D3 parts Of the dot wrap around Over the edge Of the
activation bins of the histogram that do not represent much scene. The histograms for 5B and 5D are
~ ~ ~information
~ f u about l ~the pattern, this case, one shown in FIGS. 5C and 5E. These histograms show activa-
might consider forming the feature vector only using bins tion energy amounts On the axis, and numbers Of pixels
that contain activations above a certain threshold, which have that activation energy in the y axis. Note that the
Conversely, for more uniform patterns (e.g. fingerprints) that 45 histograms are the Same within lo%) for
have a more Gaussian looking histogram distribution, one the ‘‘dots”. This shows that the dot shape can be
might want to keep the full range of activations can cause recognized independent Of its position.
difficulty differentiating between input patterns. Every neu- 6A-6J show different patterns, and the histogram
romorph~sactivationlevel falls into a bin or alternatively feature vectors for those patterns. Each of the feature vectors
into a set of bins. A set of bins can make the histogram SO is different.
smoother and more continuous. The feature vector is formed The shape in 6Ais shown in three different positions
with the same dimension as the number of bins in the in FIGS. 7 4 7B and 7C. FIGS. 7D, 7E and 7F show the
histogram, The values in each dimension represent the histograms for these positions; these are substantially the
number of neuromorphs that fall into the particular activa- same, and hence can be to recognize the shape.
tion level’s bin. 55 Other modifications are contemplated.
The techniques described above form a locally-connected What is is:
neural network (LCNN). This can be implemented in a 1. A method Of pattern recognition, comprising:
variety of ways. One specific embodiment uses parallel- obtaining an image to be Pattern recognized;
connected analog complementary metal-oxide silicon forming a feature vector representing said image, said
(CMOS) circuitry as shown in FIG. 3. Hardware implemen- 60 feature vector being indicative of a histogram of
tation substantially increases processing speed while reduc- information, where each element of the histogram
ing power by several orders of magnitude. Analog integrated represents a number of parts of the image which have
circuits for the LCNN can be combined with active pixel attained a specified energy level; and
sensors being used as the photoreceptor 99, to produce applying pixels of the input image to neuromorphs which
invariant pattern recognition on a single chip. 65 respond to a feature of the input image, each said
In practice, it may not make sense to implement a large neuromorph attaining an energy level based on said
network neighborhood in hardware. In fact, the wiring features of the image.
US 6,757,666 B1
5 6
2. Amethod as in claim 1, wherein there is a fixed amount represents a number of parts of the image which have
of energy for the entire image, and said neuromorphs attained a specified energy level; and
apportion said fixed amount of energy. wherein there is a fixed amount of energy for the entire
3. Amethod as in claim 2, further comprising allowing the image, and said neuromorphs apportion said fixed
network of neuromorphs to settle once an input image is s amount of energy; and
received, and characterizing each of the neuromorphs
according to an energy activation level thereof. adjusting a number of bins in a histogram, which number
4. A method as in claim 3, wherein said specified energy of bins represents the number of locations where ele-
levels are activation levels, and further comprising sensing ments representing specified energy amounts can be
activation levels of each of the neuromorphs, classifying the i o stored based on an application.
activation levels, and forming said histogram based on a 12. A method as in claim 11, wherein said application is
number of neuromorphs in a specified level. fingerprint recognition.
5. A method as in claim 4, further comprising assigning a 13. A recognition system, comprising:
fixed energy amount to the network, and allowing said an image and
neuromorphs to distribute said fixed energy amount to form is
a pattern recognizing element outputting a feature vector,
said activation levels.
said feature vector having characteristics which are
6. A method as in claim 5, further comprising using the
rotation invariant, said classifying element operating
feature vector in a classifier for final recognition of a pattern
represented by the image. using a fixed amount of energy, and allocating the fixed
amount Of energy among Of the
7. Amethod as in claim 1, wherein each said neuromorph 20
forms an input to other neuromorphs and receives outputs classifying circuit depending a feature of the image;
from other neuromorphs. wherein the feature vector represents a histogram indi-
8. A method as in claim 1, wherein said classifying cating how many pixels have specified energy amounts;
comprises providing a plurality of elements and intercon- wherein the histogram includes a number of neuromorphs
necting said elements. 2s that are in each range of activation energy, and said
9. A method as in claim 1, further comprising weighting feature vector is indicative of the histogram.
the elements. 14. Asystem as in claim 13, wherein the histogram is also
10. A method of pattern recognition, comprising:
substantially invariant to translation.
obtaining an image to be pattern recognized; and 15. A recognition system, comprising:
forming a feature vector representing said image, said 30
an image sensor element;
feature vector being indicative of a histogram of
information, where each element of the histogram a pattern recognizing element outputting a feature vector,
represents a number of parts of the image which have said feature vector having characteristics which are
attained a specified energy level; rotation invariant, said classifying element operating
35 using a fixed amount of energy, and allocating the fixed
detecting network activation according to
amount of energy among multiple elements of the
classifying circuit depending a feature of the image;
1, + [wy kl E k l ( n ) l and
kltNAJ)
u,(n+l)= further comprising providing a fixed current source for

J
( ~ I J
kltN&) iE
+ c [wy kl E k l ( n ) l
4o
energy.
16. A method of recognizing a pattern, comprising:
linking between a plurality of elements, each of which
where, obtains information indicating a pixel of the pattern;
klcNr(ij) are the coordinates kl of a point that falls within 4s and
a radius r of the neighborhood of neuromorph ij; inhibiting positive feedback in the linking.
akl(n) is the current activation level of neuromorph kl in 17. A method as in claim 16, wherein said inhibiting
NXij) comprises limiting a total amount of energy available to all
WL,,kl is the weight of the synaptic or linking connection so Of the plurality Of
between neuromorph ij and neuromorph kl; 18. A method as in claim 17, further comprising forming
a feature vector based on a distribution of the energy.
I, is the input pattern pixel value at location ij;
19. A method as in claim 18, wherein said feature vector
E is the global network energy constant; is representative of a number of elements in each bin of a
n is the iteration number. histogram of energy distribution.
11. A method of pattern recognition, comprising: ss 20. A method as in claim 19, further comprising only
obtaining an image to be pattern recognized; using bins that include activations among above a specified
forming a feature vector representing said image, said threshold.
feature vector being indicative of a histogram of
information, where each element of the histogram * * * * *

S-ar putea să vă placă și