Lush is the direct descendent of the SN and TL3 systems. SN was
originally developed by Yann LeCun and Leon Bottou in 1987 as the front-end
of a neural network simulator. Lush was brought to you by the same
people who brought you DjVu.
Various incarnations of SN/Lush have been developed continuously since
1987, some of which were sold commercially by Neuristique S.A. in
France until 2001. The system eventually grew into a full-fledged
prototyping and development environment. Neuristique released a GPLed
version of the Lisp interpreter part of SN in 2000. A version of SN
was developed at AT&T Bell Laboratories between 1988 and 1996, and
at AT&T Labs between 1996 and 2001. AT&T released their code
under the GPL in 2001.
Transforming the various incarnations of SN
into Lush was done at the NEC Research Institute by Leon Bottou,
Yann LeCun, and Jie Huang Fu.
The version developed at AT&T
Bell Labs, and then at AT&T Labs was used to build many successful
technologies and products. The most notable ones are:
Here is a family tree of the varous incarnations of Lush:
- a handwriting recognition system used by many banks
across the world to read checks automatically.
In fact, some ATM machines made by NCR (that can read
checks) run compiled SN code on embedded DSP boards.
A version of this check reader written in SN is embedded
in large check reading engines sold by NCR and OrboGraph.
According to some estimates, this system automatically reads
between 10 and 20 percent of all the checks written in the US.
- The first prototype of the
DjVu image and document
compression system was written in SN, including the first decoder
and the first foreground/background segmenter.
- Numerous machine learning algorithms developed at AT&T since
1988 have been developed with SN. This includes the first convolutional
neural network system for image recognition known as
This also includes some of the first implementations of Vladimir
Vapnik's famous Support
Vector Machine algorithm.
SN(1987) neural network simulator for AmigaOS (Leon Bottou, Yann LeCun)
SN1(1988) ported to SunOS. added shared-weight neural nets and graphics (LeCun)
| SN1.3(1989) commercial version for Unix (Neuristique)
SN2(1990) new lisp interpreter and graphic functions (Bottou)
| SN2.2(1991) commercial version (Neuristique)
| SN2.5(1991) ogre GUI toolkit (Neuristique)
| / \
\ / SN2.8(1993+) enhanced version (Neuristique)
| TL3(1993+) lisp interpreter for Unix and Win32 (Neuristique)
SN27ATT(1991) custom AT&T version |
| (LeCun, Bottou, Simard, AT&T Labs) |
SN3(1992) IDX matrix engine, Lisp->C compiler/loader and |
| gradient-based learning library |
| (Bottou, LeCun, AT&T) |
SN3.1(1995) redesigned compiler, added OpenGL and SGI VL |
| support (Bottou, LeCun, Simard, AT&T Labs) |
SN3.2(2000) hardened/cleanup SN3.x code, |
| added SDL support (LeCun) |
ATTLUSH(2001) merging of TL3 interpreter + SN3.2 compiler
[GPL] and libraries (Bottou, LeCun, AT&T Labs).
LUSH(2002) rewrote the compiler/loader (Bottou, NEC Research Institute)
LUSH(2002) rewrote library, documentation, and interfaced packages
[GPL] (LeCun, Huang-Fu, NEC)
Lush (or its predecessor SN) was initially written
by Leon Bottou and Yann LeCun, but many people contributed to
it over the years: Patrice Simard, Patrick Haffner, Yoshua Bengio,
Jie Hang Fu, Jean Bourrely, Xavier Driancourt, Pascal Vincent,
Sergey Ioffe, and others.