# LeNet

LeNet is a series of convolutional neural network architectures created by a research group in AT&T Bell Laboratories during the 1988 to 1998 period, centered around Yann LeCun. They were designed for reading small grayscale images of handwritten digits and letters, and were used in ATM for reading cheques.
Convolutional neural networks are a kind of feed-forward neural network whose artificial neurons can respond to a part of the surrounding cells in the coverage range and perform well in large-scale image processing. LeNet-5 was one of the earliest convolutional neural networks and was historically important during the development of deep learning.
In general, when "LeNet" is referred to without a number, it refers to the 1998 version, the most well-known version. It is also sometimes called "LeNet-5" or "LeNet5".

## Development history

In 1988, LeCun joined the Adaptive Systems Research Department at AT&T Bell Laboratories in Holmdel, New Jersey, United States, headed by Lawrence D. Jackel.
In 1988, LeCun et al. published a neural network design that recognize handwritten zip code. However, its convolutional kernels were hand-designed.
In 1989, Yann LeCun et al. at Bell Labs first applied the backpropagation algorithm to practical applications, and believed that the ability to learn network generalization could be greatly enhanced by providing constraints from the task's domain. He combined a convolutional neural network trained by backpropagation algorithms to read handwritten numbers and successfully applied it in identifying handwritten zip code numbers provided by the US Postal Service. This was the prototype of what later came to be called LeNet-1. In the same year, LeCun described a small handwritten digit recognition problem in another paper, and showed that even though the problem is linearly separable, single-layer networks exhibited poor generalization capabilities. When using shift-invariant feature detectors on a multi-layered, constrained network, the model could perform very well. He believed that these results proved that minimizing the number of free parameters in the neural network could enhance the generalization ability of the neural network.
In 1990, their paper described the application of backpropagation networks in handwritten digit recognition again. They only performed minimal preprocessing on the data, and the model was carefully designed for this task and it was highly constrained. The input data consisted of images, each containing a number, and the test results on the postal code digital data provided by the US Postal Service showed that the model had an error rate of only 1% and a rejection rate of about 9%.
Their research continued for the next four years, and in 1994 MNIST database was developed, for which LeNet-1 was too small, hence a new LeNet-4 was trained on it.
A year later the AT&T Bell Labs collective introduced LeNet-5 and reviewed various methods on handwritten character recognition in paper, using standard handwritten digits to identify benchmark tasks. These models were compared and the results showed that the latest network outperformed other models.
By 1998 Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner were able to provide examples of practical applications of neural networks, such as two systems for recognizing handwritten characters online and models that could read millions of checks per day.
The research achieved great success and aroused the interest of scholars in the study of neural networks. While the architecture of the best performing neural networks today are not the same as that of LeNet, the network was the starting point for a large number of neural network architectures, and also brought inspiration to the field.
Timeline :
| 1989 | Yann LeCun et al. proposed the original form of LeNet (LeNet-1) |
| 1989 | Yann LeCun demonstrates that minimizing the number of free parameters in neural networks can enhance the generalization ability of neural networks. |
| 1990 | Application of backpropagation to LeNet-1 in handwritten digit recognition. |
| 1994 | MNIST database and LeNet-4 developed |
| 1995 | LeNet-5 developed, various methods applied to handwritten character recognition reviewed and compared with standard handwritten digit recognition benchmarks. The results show that convolutional neural networks outperform all other models. |
| 1998 | Practical applications |

## Architecture

LeNet has several common motifs of modern convolutional neural networks, such as convolutional layer, pooling layer and full connection layer.
* Every convolutional layer includes three parts: convolution, pooling, and nonlinear activation functions
* Using convolution to extract spatial features (Convolution was called receptive fields originally)
* Subsampling average pooling layer
* tanh activation function
* fully connected layers in the final layers for classification
* Sparse connection between layers to reduce the complexity of computation
In 1989, LeCun et al. published a report, which contained "Net-1" to "Net-5". There were many subsequent refinements, up to 1998, and the naming is inconsistent. Generally, people only speak of "LeNet-5", and not to the earlier forms. When they do, they refer to the 1998 LeNet.

### 1988 Net

The first neural network published by the LeCun research group was in 1988. It was a hybrid approach. The first stage scaled, deskewed, and skeletonized the input image. The second stage was a convolutional layer with 18 hand-designed kernels. The third stage was a fully connected network with one hidden layer.
The dataset was a collection of handwritten digit images extracted from actual U.S. Mail, which was the same dataset used in the famed 1989 report.

### Net-1 to Net-5

Net-1 to Net-5 were published in a 1989 report.
* Net-1: No hidden layer. Fully connected. $(16\times 16)\to 10$
* Net-2: One hidden layer with 12 hidden units. Fully connected. $(16\times 16)\to 12\to 10$
* Net-3: Two hidden layers, locally connected. $(16\times 16)\to (8\times 8)\to (4\times 4)\to 10$
* Net-4: Two hidden layers, the first is a convolution, the second is locally connected. $(16\times 16)\to (8\times 8\times 2)\to (4\times 4)\to 10$
* Net-5: Two convolutional hidden layers. $(16\times 16)\to (8\times 8\times 2)\to (4\times 4\times 4)\to 10$
The dataset contained 480 binary images, each sized 16×16 pixels. Originally, 12 examples of each digit were hand-drawn on a 16×13 bitmap using a mouse, resulting in 120 images. Then, each image was shifted horizontally in four consecutive positions to generate a 16×16 version, yielding the 480 images.
From these, 320 images (32 per digit) were randomly selected for training and the remaining 160 images (16 per digit) were used for testing. Performance on training set is 100% for all networks, but they differ in test set performance.
Performance of Net-1 to Net-5 :
| Name | Connections | Independent parameters | % correct |
| Net-1 | 2570 | 2570 | 80.0 |
| Net-2 | 3214 | 3214 | 87.0 |
| Net-3 | 1226 | 1226 | 88.5 |
| Net-4 | 2266 | 1132 | 94.0 |
| Net-5 | 5194 | 1060 | 98.4 |

### 1989 LeNet

The LeNet published in 1989 has 3 hidden layers (H1-H3) and an output layer. It has 1256 units, 64660 connections, and 9760 independent parameters.
* H1 (Convolutional): $16\times 16\to 12\times 8\times 8$ with $5\times 5$ kernels.
* H2 (Convolutional): $12\times 8\times 8\to 12\times 4\times 4$ with $8\times 5\times 5$ kernels.
* H3: 30 units fully connected to H2.
* Output: 10 units fully connected to H3, representing the 10 digit classes (0-9).
The dataset was 9298 grayscale images, digitized from handwritten zip codes that appeared on U.S. mail passing through the Buffalo, New York post office. The training set had 7291 data points, and test set had 2007. Both training and test set contained ambiguous, unclassifiable, and misclassified data. Training took 3 days on a Sun workstation.
Compared to the previous 1988 architecture, there was no skeletonization, and the convolutional kernels were learned automatically by backpropagation.

### 1990 LeNet

A later version of 1989 LeNet has four hidden layers (H1-H4) and an output layer. It takes a 28x28 pixel image as input, though the active region is 16x16 to avoid boundary effects.
* H1 (Convolutional): $28\times 28\to 4\times 24\times 24$ with $5\times 5$ kernels. This layer has $104$ trainable parameters (100 from kernels, 4 from biases).
* H2 (Pooling): $4\times 24\times 24\to 4\times 12\times 12$ by $2\times 2$ average pooling.
* H3 (Convolutional): $4\times 12\times 12\to 12\times 8\times 8$ with $5\times 5$ kernels. Some kernels take input from 1 feature map, while others take inputs from 2 feature maps.
* H4 (Pooling): $12\times 8\times 8\to 12\times 4\times 4$ by $2\times 2$ average pooling.
* Output: 10 units fully connected to H4, representing the 10 digit classes (0-9).
The network 4635 units, 98442 connections, and 2578 trainable parameters. It was started by a previous CNN with 4 times as many trainable parameters, then optimized by Optimal Brain Damage. One forward pass requires about 140,000 multiply-add operations.

### 1994 LeNet

1994 LeNet was a larger version of 1989 LeNet designed to fit the larger MNIST database. It had more feature maps in its convolutional layers, and had an additional layer of hidden units, fully connected to both the last convolutional layer and to the output units. It has 2 convolutions, 2 average poolings, and 2 fully connected layers. It has about 17000 trainable parameters.
One forward pass requires about 260,000 multiply-add operations.

### 1998 LeNet

1998 LeNet is similar to 1994 LeNet, but with more fully connected layers. Its architecture is shown in the image on the right. It has 2 convolutions, 2 average poolings, and 3 fully connected layers.
1998 LeNet was trained for about 20 epoches over MNIST. It took 2 to 3 days of CPU time on a Silicon Graphics Origin 2000 server, using a single 200 MHz R10000 processor.

## Application

Recognizing simple digit images is the most classic application of LeNet as it was created because of that. After the development of 1989 LeNet, as a demonstration for real-time application, they loaded the neural network into a AT&T DSP-32C digital signal processor with a peak performance of 12.5 million multiply-add operations per second. It could normalize-and-classify 10 digits a second, or classify 30 normalized digits a second. Shortly afterwards, the research group started working with a development group and a product group at NCR (acquired by AT&T in 1991). It resulted in ATM machines that could read the numerical amounts on checks using a LeNet loaded on DSP-32C. Later, NCR deployed a similar system in large cheque reading machines in bank back offices.

## Subsequent work

The LeNet-5 means the emergence of CNN and defines the basic components of CNN. But it was not popular at that time because of the lack of hardware, especially since GPUs and other algorithms, such as SVM, could achieve similar effects or even exceed LeNet.
Since the success of AlexNet in 2012, CNN has become the best choice for computer vision applications and many different types of CNN have been created, such as the R-CNN series. Nowadays, CNN models are quite different from LeNet, but they are all developed on the basis of LeNet.
A three-layer tree architecture imitating LeNet-5 and consisting of only one convolutional layer, has achieved a similar success rate on the CIFAR-10 dataset.
Increasing the number of filters for the LeNet architecture results in a power law decay of the error rate. These results indicate that a shallow network can achieve the same performance as deep learning architectures.