Lớp kiến trúc mạng LeNet-5
LeNet-5 là một trong những kiến trúc Convolutional Neural Network (CNN) đầu tiên và có ảnh hưởng lớn nhất trong lịch sử Trí tuệ nhân tạo. Được phát triển bởi Yann LeCun vào năm 1998, LeNet-5 được thiết kế để nhận dạng chữ số viết tay và đã đạt hiệu quả vượt trội trên bộ dữ liệu MNIST. Mặc dù ra đời hơn hai thập kỷ trước, cấu trúc của LeNet-5 vẫn là nền tảng cho nhiều mạng CNN hiện đại như AlexNet, VGG, ResNet và EfficientNet.
LeNet-5 là gì?
LeNet-5 là một mạng nơ-ron tích chập (CNN) gồm nhiều lớp Convolution, Pooling và Fully Connected, được thiết kế nhằm tự động học đặc trưng từ hình ảnh thay vì phải trích xuất đặc trưng thủ công.
Khác với các mô hình Machine Learning truyền thống, LeNet-5 có khả năng tự học từ dữ liệu thông qua quá trình lan truyền tiến (Forward Propagation) và lan truyền ngược (Backpropagation), giúp mô hình nhận dạng hình ảnh với độ chính xác cao.
Mục tiêu ban đầu của LeNet-5 là nhận dạng các chữ số từ 0 đến 9 trên ảnh trắng đen.
Kiến trúc tổng thể của LeNet-5
Kiến trúc LeNet-5 bao gồm 8 lớp chính (không tính lớp Input):
Input (32×32×1)
│
▼
C1: Convolution (6 filters, 5×5)
│
▼
S2: Average Pooling (2×2)
│
▼
C3: Convolution (16 filters, 5×5)
│
▼
S4: Average Pooling (2×2)
│
▼
C5: Convolution (120 filters, 5×5)
│
▼
F6: Fully Connected (84 neurons)
│
▼
Output Layer (10 classes)
Luồng xử lý:
Input → Convolution → Pooling → Convolution → Pooling → Convolution → Fully Connected → Output
Phân tích từng lớp trong LeNet-5
1. Input Layer
- Kích thước ảnh: 32 × 32 × 1
- Loại ảnh: Grayscale (1 kênh màu)
Mặc dù bộ dữ liệu MNIST có kích thước 28×28, ảnh sẽ được padding lên 32×32 trước khi đưa vào mạng để đảm bảo quá trình tích chập diễn ra hiệu quả hơn.
2. C1 – Convolution Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 32×32×1 |
| Kernel | 5×5 |
| Filters | 6 |
| Output | 28×28×6 |
Đây là lớp đầu tiên chịu trách nhiệm phát hiện các đặc trưng cơ bản của hình ảnh như:
- Đường thẳng
- Góc
- Cạnh
- Đường cong
Mỗi bộ lọc sẽ quét qua toàn bộ ảnh để tạo ra một Feature Map mới.
3. S2 – Average Pooling Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 28×28×6 |
| Pool Size | 2×2 |
| Stride | 2 |
| Output | 14×14×6 |
LeNet-5 sử dụng Average Pooling thay vì Max Pooling như hầu hết các CNN hiện đại.
Chức năng của lớp này:
- Giảm kích thước dữ liệu.
- Giảm số lượng tham số.
- Giảm chi phí tính toán.
- Hạn chế hiện tượng Overfitting.
4. C3 – Convolution Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 14×14×6 |
| Kernel | 5×5 |
| Filters | 16 |
| Output | 10×10×16 |
Đây là lớp học các đặc trưng phức tạp hơn.
Nếu C1 nhận biết cạnh thì C3 có thể nhận biết:
- Hình tròn
- Góc vuông
- Chữ số
- Đường cong
- Tổ hợp nhiều cạnh
Một điểm đặc biệt của LeNet-5 là không phải tất cả Feature Maps đều kết nối đầy đủ với lớp trước, mà sử dụng Sparse Connectivity nhằm giảm số lượng tham số và tăng tính đa dạng của đặc trưng.
5. S4 – Average Pooling Layer
Thông số:
| Thuộc tính | Giá trị |
|---|---|
| Input | 10×10×16 |
| Output | 5×5×16 |
Tiếp tục giảm kích thước dữ liệu trước khi chuyển sang lớp trích xuất đặc trưng cuối cùng.
6. C5 – Convolution Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 5×5×16 |
| Kernel | 5×5 |
| Filters | 120 |
| Output | 1×1×120 |
Đây là lớp quan trọng nhất của LeNet-5.
Do đầu vào chỉ còn kích thước 5×5, mỗi bộ lọc sẽ bao phủ toàn bộ Feature Map.
Vì vậy, lớp C5 có vai trò gần giống một Fully Connected Layer, giúp tổng hợp toàn bộ đặc trưng đã học trước đó.
7. F6 – Fully Connected Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 120 |
| Output | 84 |
Đây là lớp kết nối đầy đủ.
Nhiệm vụ:
- Tổng hợp đặc trưng.
- Chuẩn bị dữ liệu cho quá trình phân loại.
8. Output Layer
Thông số
| Thuộc tính | Giá trị |
|---|---|
| Input | 84 |
| Output | 10 |
Có 10 neuron tương ứng với 10 chữ số:
0
1
2
3
4
5
6
7
8
9
Trong các triển khai hiện đại, lớp cuối thường sử dụng Softmax để tính xác suất mỗi lớp và chọn lớp có xác suất cao nhất làm kết quả dự đoán.
Sự thay đổi kích thước dữ liệu
| Lớp | Output |
|---|---|
| Input | 32×32×1 |
| C1 | 28×28×6 |
| S2 | 14×14×6 |
| C3 | 10×10×16 |
| S4 | 5×5×16 |
| C5 | 1×1×120 |
| F6 | 84 |
| Output | 10 |
Cơ chế hoạt động của LeNet-5
Quá trình xử lý của LeNet-5 diễn ra theo các bước:
- Nhận ảnh đầu vào.
- Sử dụng các lớp Convolution để trích xuất đặc trưng.
- Dùng Average Pooling để giảm kích thước dữ liệu.
- Tiếp tục học các đặc trưng phức tạp hơn qua nhiều lớp Convolution.
- Chuyển toàn bộ đặc trưng sang lớp Fully Connected.
- Phân loại ảnh bằng Softmax.
Toàn bộ mạng được huấn luyện thông qua thuật toán Backpropagation kết hợp với Gradient Descent để cập nhật trọng số sau mỗi lần dự đoán.
Ưu điểm của LeNet-5
- Là kiến trúc CNN đầu tiên chứng minh hiệu quả của Deep Learning trong nhận dạng ảnh.
- Ít tham số (khoảng 60.000), dễ huấn luyện.
- Chi phí tính toán thấp.
- Hoạt động rất tốt trên ảnh có kích thước nhỏ như MNIST.
- Đặt nền móng cho các kiến trúc CNN hiện đại.
Hạn chế của LeNet-5
- Chỉ phù hợp với ảnh có độ phân giải thấp.
- Sử dụng Average Pooling, trong khi các mạng hiện đại thường ưu tiên Max Pooling để giữ đặc trưng nổi bật.
- Hàm kích hoạt tanh có thể gặp hiện tượng mất gradient (Vanishing Gradient), khiến việc huấn luyện các mạng sâu trở nên khó khăn.
- Không đáp ứng tốt các bài toán thị giác máy tính hiện đại như phát hiện đối tượng (Object Detection), phân đoạn ảnh (Image Segmentation) hay nhận dạng hàng nghìn lớp đối tượng.
So sánh LeNet-5 với các kiến trúc CNN hiện đại
| Tiêu chí | LeNet-5 | AlexNet | VGG16 | ResNet-50 |
|---|---|---|---|---|
| Năm phát triển | 1998 | 2012 | 2014 | 2015 |
| Số lớp | 7 lớp có trọng số học | 8 | 16 | 50 |
| Hàm kích hoạt | tanh | ReLU | ReLU | ReLU |
| Pooling | Average | Max | Max | Max |
| Quy mô tham số | ~60 nghìn | ~60 triệu | ~138 triệu | ~25 triệu |
| Ứng dụng | MNIST | ImageNet | Nhận dạng ảnh | Nhận dạng ảnh quy mô lớn |
LeNet-5 tuy đơn giản nhưng đã giới thiệu những khái niệm cốt lõi như Convolution, Pooling và Feature Learning, trở thành nền tảng cho hầu hết các mạng CNN hiện đại.
Kết luận
LeNet-5 không chỉ là một mô hình nhận dạng chữ số viết tay mà còn là cột mốc quan trọng trong lịch sử Trí tuệ nhân tạo. Với kiến trúc gồm các lớp Convolution, Average Pooling và Fully Connected, LeNet-5 đã chứng minh rằng máy tính có thể tự học đặc trưng từ hình ảnh mà không cần thiết kế đặc trưng thủ công.
Dù ngày nay đã có nhiều kiến trúc mạnh mẽ hơn như ResNet, EfficientNet hay Vision Transformer (ViT), những nguyên lý mà LeNet-5 đặt nền móng vẫn được kế thừa và phát triển trong hầu hết các hệ thống thị giác máy tính hiện đại.