Mạng nơ-ron tích chập (CNN, Convolutional Neural Network)
1. Tổng quan
A. Định nghĩa
Mạng nơ-ron lặp lại phép tích chập (Convolution) và pooling (Pooling) để trích xuất và học phân cấp các đặc trưng cục bộ từ dữ liệu dạng lưới như hình ảnh. Khác với mạng nơ-ron kết nối đầy đủ (FFNN), CNN nhận dạng hiệu quả các mẫu không gian đồng thời giảm mạnh số tham số nhờ vùng tiếp nhận cục bộ (Local Receptive Field) và chia sẻ trọng số (Weight Sharing).
Nhận thức cốt lõi của CNN xuất phát từ quan sát rằng "ý nghĩa của hình ảnh không nằm ở vị trí tuyệt đối của pixel mà ở sự kết hợp các mẫu cục bộ". Trong ảnh con mèo, các mẫu cục bộ như tai, mắt, ria kết hợp lại tạo nên khái niệm 'con mèo', và chiếc tai đó dù nằm bên trái hay bên phải ảnh thì vẫn là tai. CNN phản ánh hai tính chất này (tính cục bộ và tính bất biến tịnh tiến) vào chính cấu trúc mạng nơ-ron. Vì trượt một bộ lọc (kernel) nhỏ trên toàn bộ ảnh và phát hiện mẫu cục bộ với cùng trọng số, CNN có thể bắt được cùng một đặc trưng ngay cả khi vị trí thay đổi.
B. Bối cảnh ra đời và sự cần thiết
Nếu áp dụng nguyên mạng nơ-ron kết nối đầy đủ truyền thống cho hình ảnh sẽ phát sinh hai vấn đề nghiêm trọng. Thứ nhất là bùng nổ tham số. Chẳng hạn, nếu kết nối đầy đủ một ảnh màu 224×224×3 (khoảng 150 nghìn) pixel vào tầng ẩn 1,000 nơ-ron thì riêng tầng đầu đã cần khoảng 150 triệu trọng số, khiến việc huấn luyện gần như bất khả thi và dễ bị quá khớp (Overfitting). Thứ hai là phá vỡ cấu trúc không gian. Tầng kết nối đầy đủ trải phẳng (flatten) ảnh 2 chiều thành vectơ 1 chiều làm đầu vào, nên tương quan không gian giữa các pixel lân cận bị mất.
CNN giải quyết vấn đề này bằng kết nối cục bộ và chia sẻ trọng số. Một bộ lọc 3×3 chỉ có 9 tham số (+độ lệch), và bộ lọc này được tái sử dụng trên toàn bộ ảnh. Kết quả là số tham số không phụ thuộc vào kích thước đầu vào mà chỉ phụ thuộc vào kích thước và số lượng bộ lọc, giảm đi hàng triệu lần trở lên. Nhờ hiệu quả và hiệu năng này, kể từ khi AlexNet năm 2012 hạ mạnh tỷ lệ lỗi tại cuộc thi ImageNet từ 26%→16% và mở ra kỷ nguyên học sâu, CNN đã trở thành kiến trúc chuẩn trên thực tế cho nhận dạng hình ảnh, ảnh y tế, xe tự hành, nhận dạng khuôn mặt.
| Phân loại | Mạng kết nối đầy đủ (FFNN) | Mạng nơ-ron tích chập (CNN) |
|---|---|---|
| Cách kết nối | Kết nối đầy đủ toàn cục | Vùng tiếp nhận cục bộ (kết nối cục bộ) |
| Tham số | Bùng nổ tỷ lệ với kích thước đầu vào | Chỉ phụ thuộc kích thước·số bộ lọc (chia sẻ) |
| Cấu trúc không gian | Mất do flatten | Bảo toàn cấu trúc 2D/3D |
| Tính bất biến | Yếu trước phép tịnh tiến | Đạt tính bất biến tịnh tiến |
| Dữ liệu phù hợp | Có cấu trúc·chiều thấp | Dạng lưới như ảnh·phổ đồ âm thanh |
2. Cấu trúc tổng thể (Architecture)
flowchart LR
IN["Ảnh đầu vào (H×W×C)"] --> CONV1["Tầng tích chập (bộ lọc+ReLU)"]
CONV1 --> POOL1["Tầng pooling (giảm mẫu)"]
POOL1 --> CONV2["Tầng tích chập (đặc trưng trừu tượng hơn)"]
CONV2 --> POOL2["Tầng pooling"]
POOL2 --> FLAT["Làm phẳng (Flatten)"]
FLAT --> FC["Tầng kết nối đầy đủ"]
FC --> OUT["Đầu ra (phân loại Softmax)"]
CNN được chia thành hai phần lớn là phần trích xuất đặc trưng (Feature Extractor) và phần phân loại (Classifier). Chồng tầng tích chập và pooling phía trước trích xuất bản đồ đặc trưng (Feature Map) từ ảnh, còn tầng kết nối đầy đủ phía sau đưa ra phán đoán cuối cùng dựa trên các đặc trưng đó. Khi đó xuất hiện học đặc trưng phân cấp (Hierarchical Feature Learning), trong đó tầng càng sâu thì mức trừu tượng của đặc trưng trích xuất càng cao. Tầng đầu biểu diễn đặc trưng mức thấp như cạnh, màu sắc, kết cấu; tầng giữa biểu diễn các bộ phận (part) như mắt, bánh xe, tay nắm cửa; tầng sâu biểu diễn toàn bộ đối tượng như khuôn mặt, ô tô. Điều này tương tự cách con người xử lý thông tin thị giác và là cốt lõi lý do CNN mạnh mẽ.
Khái niệm giải thích sự mở rộng phân cấp này là vùng tiếp nhận (Receptive Field). Nơ-ron ở tầng nông chỉ nhìn một vùng hẹp của ảnh đầu vào, nhưng tầng càng sâu thì phạm vi đầu vào mà một nơ-ron gián tiếp nhìn thấy càng rộng. Chẳng hạn, chồng hai lớp tích chập 3×3 thì một nơ-ron ở tầng thứ hai phản ánh vùng 5×5 của ảnh gốc, chồng ba lớp thì phản ánh 7×7. Khi kết hợp cả pooling, vùng tiếp nhận tăng theo cấp số nhân, cho phép nơ-ron ở tầng sâu tổng hợp ngữ cảnh toàn cục của ảnh. Đây là căn cứ cấu trúc để tầng nông nhận dạng đặc trưng cục bộ còn tầng sâu nhận dạng đối tượng toàn cục.
A. Tầng tích chập (Convolution Layer)
Tầng tích chập là trái tim của CNN. Một ma trận trọng số nhỏ gọi là bộ lọc (kernel) được di chuyển trên đầu vào theo bước nhất định (Stride), tính tổng tích từng phần tử (tích vô hướng) với vùng chồng lấn để tạo ra một giá trị của bản đồ đặc trưng. Ví dụ, bộ lọc phát hiện cạnh dọc cho giá trị lớn ở vùng độ sáng thay đổi đột ngột theo chiều ngang, và giá trị gần 0 ở vùng đồng nhất. Điểm quan trọng là trọng số của bộ lọc không do con người thiết kế mà được học bằng lan truyền ngược. Tức là chính dữ liệu quyết định bộ lọc nào hữu ích (bắt mẫu nào thì giúp phân loại).
Một tầng tích chập có nhiều bộ lọc, mỗi bộ lọc phản ứng với một mẫu khác nhau và tạo ra bản đồ đặc trưng độc lập. Số bộ lọc chính là số kênh đầu ra. Chẳng hạn, nếu đầu vào là 32×32×3 và áp dụng 64 bộ lọc 3×3 thì đầu ra (tùy padding và stride) xấp xỉ 32×32×64. Ở đây chia sẻ trọng số là cốt lõi: một bộ lọc dùng cùng trọng số bất kể quét vị trí nào trên ảnh, nên "năng lực phát hiện cạnh học được ở góc trên bên trái ảnh được tái sử dụng nguyên vẹn ở góc dưới bên phải". Khả năng tái sử dụng này là nguồn gốc giảm mạnh tham số và mang lại tính bất biến tịnh tiến.
Trong phép tích chập, ba siêu tham số quyết định kích thước đầu ra. Bước trượt (Stride) là khoảng cách di chuyển của bộ lọc; càng lớn thì đầu ra càng nhỏ và có hiệu ứng giảm mẫu. Đệm (Padding) là thêm số 0 vào viền đầu vào; dùng padding 'same' sẽ giữ kích thước đầu ra bằng đầu vào và tránh mất thông tin biên. Kích thước kernel quyết định độ rộng vùng tiếp nhận. Kích thước một cạnh của đầu ra được tính bằng công thức (N - F + 2P)/S + 1 (N=đầu vào, F=bộ lọc, P=padding, S=stride); ví dụ N=32, F=3, P=1, S=1 thì đầu ra là (32-3+2)/1+1 = 32, kích thước được bảo toàn.
Hiệu quả giảm tham số này rất ấn tượng khi nhìn bằng con số. Lấy ví dụ đầu vào 32×32×3, khi kết nối đầy đủ tới 64 nơ-ron cần (32×32×3)×64 ≈ 196 nghìn trọng số. Ngược lại, tầng tích chập dùng 64 bộ lọc 3×3 chỉ cần (3×3×3)×64 = 1,728 tham số (+64 độ lệch) để tạo ra cùng bản đồ đặc trưng 64 kênh. Tức là ít hơn khoảng 100 lần trở lên mà vẫn bảo toàn cả cấu trúc không gian. Khoảng cách này càng lớn khi độ phân giải đầu vào tăng, trở thành lý do CNN gần như là lựa chọn thực tế duy nhất cho ảnh độ phân giải cao.
Ngoài ra, ngay sau tích chập sẽ áp dụng hàm kích hoạt phi tuyến (chủ yếu là ReLU). ReLU (max(0,x)) biến giá trị âm thành 0 để tạo tính phi tuyến, đồng thời giảm nhẹ vấn đề tiêu biến gradient (Vanishing Gradient) và tính toán đơn giản, là yếu tố quyết định cho phép huấn luyện CNN sâu. Nếu chỉ chồng tích chập, nhiều phép biến đổi tuyến tính sẽ sụp thành một, nên phải có hàm kích hoạt thì năng lực biểu diễn sâu thực sự mới được phát huy.
B. Tầng pooling (Pooling Layer)
flowchart TB
subgraph FE["Cấu trúc lặp của phần trích xuất đặc trưng"]
A["Tích chập (Conv)"] --> B["Kích hoạt (ReLU)"]
B --> C["Pooling (Pooling)"]
C -->|"Lặp khối"| A
end
C --> D["Bản đồ đặc trưng mức cao"]
D --> E["Tầng kết nối đầy đủ + Softmax"]
Tầng pooling đảm nhận giảm mẫu (downsampling) thu nhỏ kích thước không gian của bản đồ đặc trưng. Max pooling (Max Pooling), loại được dùng rộng rãi nhất, chỉ lấy giá trị lớn nhất trong vùng 2×2 để thu nhỏ bản đồ đặc trưng còn một nửa theo cả chiều ngang và dọc. Mục đích thứ nhất của pooling là giảm khối lượng tính toán và tham số, giảm gánh nặng cho các tầng phía sau và kìm hãm quá khớp. Mục đích thứ hai là tăng cường tính bất biến vị trí. Vì chỉ giữ giá trị lớn nhất nên dù đặc trưng dịch vài pixel vẫn cho cùng kết quả pooling, giúp bền vững trước thay đổi vị trí nhỏ. Ví dụ, việc số '7' viết tay hơi lệch trong ảnh vẫn được nhận dạng như nhau phần lớn là nhờ đóng góp của pooling.
Max pooling và average pooling (Average Pooling) có mục đích hơi khác nhau. Max pooling chỉ giữ "đặc trưng phản ứng mạnh nhất" nên có lợi cho việc phát hiện các mẫu nổi bật như cạnh, kết cấu, còn average pooling tóm tắt mượt thông tin toàn vùng, phù hợp phản ánh nền và thống kê toàn cục. Trong thực tế, cách kết hợp phổ biến là dùng max pooling ở các tầng giữa và global average pooling cho bước tóm tắt cuối cùng.
Điểm khác biệt quyết định so với tầng tích chập là pooling không có tham số học. Đây là phép tính cố định chọn giá trị lớn nhất (hoặc trung bình) nên không phải đối tượng học. Tuy nhiên, một số kiến trúc gần đây (ví dụ phần sau của ResNet) thay pooling bằng tích chập có stride lớn để giảm mẫu, hoặc ở cuối dùng global average pooling (Global Average Pooling) tóm tắt toàn bộ bản đồ đặc trưng thành một giá trị mỗi kênh để loại bỏ lượng tham số khổng lồ của tầng kết nối đầy đủ. Cách này hiệu quả trong giảm tham số và kìm hãm quá khớp nên đã trở nên phổ biến từ GoogLeNet trở đi.
C. Tầng kết nối đầy đủ và đầu ra (Classifier)
Bản đồ đặc trưng đi qua phần trích xuất đặc trưng được làm phẳng (Flatten) và chuyển tới tầng kết nối đầy đủ. Phần này đóng vai trò kết hợp các đặc trưng mức cao đã trích xuất để đưa ra quyết định cuối cùng.
Tuy nhiên, tầng kết nối đầy đủ là nơi tập trung nhiều tham số nhất trong CNN và cũng là nguyên nhân chính gây quá khớp. Chẳng hạn, làm phẳng bản đồ đặc trưng 7×7×512 và kết nối tới 4,096 nơ-ron thì riêng tầng đó đã sinh ra khoảng 100 triệu trọng số. Vì vậy, thiết kế thường song song dùng global average pooling đã nêu ở trên để tối thiểu hóa tầng kết nối đầy đủ, hoặc áp dụng dropout tập trung.
Trong bài toán phân loại, ở cuối áp dụng Softmax để xuất phân phối xác suất cho từng lớp, và dùng hàm mất mát entropy chéo (Cross-Entropy) để đo sai số so với đáp án. Sai số này chảy ngược qua lan truyền ngược từ tầng kết nối đầy đủ→tầng pooling (đường dẫn)→bộ lọc tích chập, và mọi trọng số bộ lọc được cập nhật bằng gradient descent. Rốt cuộc, toàn bộ CNN được huấn luyện đầu cuối (End-to-End) để "tự tìm ra đặc trưng giúp phân loại tốt".
3. Kỹ thuật huấn luyện, chuẩn hóa và các kiến trúc tiêu biểu
A. Kỹ thuật chống quá khớp và huấn luyện ổn định
Huấn luyện CNN là vòng lặp đưa ra dự đoán bằng lan truyền xuôi, đo sai số bằng hàm mất mát, tính gradient bằng lan truyền ngược rồi optimizer cập nhật trọng số. Với phân loại chủ yếu dùng hàm mất mát entropy chéo đi cặp với Softmax, với hồi quy dùng MSE. Thay cho gradient descent thuần túy, optimizer họ Adam kết hợp quán tính và tốc độ học thích ứng được dùng rộng rãi để ổn định và tăng tốc hội tụ. Kết hợp thêm lập lịch tốc độ học (ví dụ: Cosine Decay·Warmup) giảm dần tốc độ học, mô hình sẽ khám phá mạnh ở đầu và tinh chỉnh ở cuối để đạt điểm tối ưu tốt hơn. Như vậy, thiết kế hàm mất mát, optimizer và tốc độ học là biến số thực tiễn cốt lõi quyết định hiệu năng cuối cùng ngay cả với cùng kiến trúc.
Để huấn luyện ổn định CNN sâu cần nhiều kỹ thuật bổ trợ. Dropout (Dropout) vô hiệu hóa ngẫu nhiên một số nơ-ron trong khi huấn luyện để tránh phụ thuộc quá mức vào nơ-ron cụ thể và tạo hiệu ứng ensemble. Chuẩn hóa theo lô (Batch Normalization) chuẩn hóa phân phối đầu vào của mỗi tầng để tăng tốc huấn luyện và ổn định dòng gradient, là kỹ thuật cốt lõi cho phép tốc độ học lớn hơn và mạng sâu hơn. Tăng cường dữ liệu (Data Augmentation) tăng nhân tạo dữ liệu huấn luyện bằng xoay, lật, cắt, biến đổi màu để nâng hiệu năng khái quát hóa ngay cả với dữ liệu hạn chế. Chẳng hạn, trong lĩnh vực có chi phí gán nhãn lớn như ảnh y tế, tăng cường dữ liệu là bắt buộc.
Ngoài ra, thay vì huấn luyện từ đầu, học chuyển giao (Transfer Learning) được dùng rộng rãi. Lấy phần trích xuất đặc trưng của CNN đã tiền huấn luyện trên ImageNet (khoảng 14 triệu ảnh, 1,000 lớp) rồi chỉ tinh chỉnh phần sau bằng một lượng nhỏ dữ liệu mục tiêu, có thể đạt hiệu năng cao với ít dữ liệu và tính toán. Điều này là do các đặc trưng cạnh và kết cấu mà các tầng đầu học được hữu ích chung cho hầu hết tác vụ hình ảnh, và đây là cách thực tế nhất để đưa CNN vào ứng dụng.
B. Sự phát triển của các kiến trúc tiêu biểu và lý do
Lịch sử kiến trúc CNN có thể tóm tắt là hành trình "làm thế nào để chồng sâu hơn mà vẫn huấn luyện được". Tưởng rằng chỉ cần tăng số tầng thì hiệu năng sẽ tăng, nhưng thực tế có vấn đề hiệu năng lại xấu đi do tiêu biến gradient và suy thoái hiệu năng (Degradation), và kiến trúc của mỗi thế hệ đã tiến hóa bằng những ý tưởng vượt qua vấn đề này.
| Kiến trúc (năm) | Đóng góp cốt lõi | Ý nghĩa |
|---|---|---|
| LeNet-5 (1998) | Xác lập cấu trúc cơ bản tích chập+pooling | Lần đầu thực dụng hóa cho nhận dạng mã bưu chính |
| AlexNet (2012) | ReLU·Dropout·huấn luyện trên GPU | Vô địch ImageNet, khơi mào làn sóng học sâu |
| VGGNet (2014) | Lặp sâu bộ lọc nhỏ 3×3 | Chuẩn hóa bằng cấu trúc đơn giản·đồng nhất |
| GoogLeNet (2014) | Module Inception·tích chập 1×1 | Hiệu quả tính toán·global average pooling |
| ResNet (2015) | Kết nối dư (Skip Connection) | Huấn luyện được 152 tầng, độ chính xác ngang con người |
Đặc biệt, kết nối dư (Residual Connection) của ResNet là bước ngoặt trong phát triển CNN. Bằng cách đặt đường tắt cộng nguyên đầu vào vào đầu ra sau khi bỏ qua vài tầng (H(x)=F(x)+x), gradient có thể chảy tới tầng sâu mà không bị tiêu biến. Nhờ đó, lần đầu tiên mạng siêu sâu trên 100 tầng được huấn luyện ổn định, và sau đó trở thành thành phần chuẩn của hầu như mọi kiến trúc sâu. Nhận thức mà VGGNet chỉ ra rằng "chồng nhiều bộ lọc 3×3 nhỏ thì ít tham số hơn mà năng lực biểu diễn cao hơn một bộ lọc lớn", và ý tưởng giảm khối lượng tính toán bằng thu hẹp kênh qua tích chập 1×1 của GoogLeNet cũng đã trở thành nguyên tắc cơ bản của thiết kế CNN hiện đại.
C. Tác vụ phái sinh và tình huống ứng dụng công nghiệp
CNN đã mở rộng vượt qua phân loại đơn giản để trở thành backbone (Backbone) cho nhiều tác vụ thị giác máy tính. Phát hiện đối tượng (Object Detection) là tác vụ tìm đồng thời "cái gì ở đâu", tiêu biểu là họ R-CNN và họ YOLO (You Only Look Once) mạnh về xử lý thời gian thực. Phân vùng ngữ nghĩa (Semantic Segmentation) phân loại lớp ở mức pixel, và U-Net có cấu trúc encoder-decoder được dùng như chuẩn trên thực tế trong lĩnh vực ảnh y tế. Như vậy, tác vụ được phân chia tùy cách diễn giải và khôi phục bản đồ đặc trưng mà CNN phía trước trích xuất.
Xem cụ thể các tình huống ứng dụng công nghiệp sẽ thấy rõ sức lan tỏa. Thứ nhất, trong chẩn đoán hình ảnh y tế, CNN phân biệt viêm phổi trên X-quang ngực, bệnh võng mạc tiểu đường trên ảnh đáy mắt, tế bào ung thư trên tiêu bản mô bệnh học với độ chính xác ngang bác sĩ chuyên khoa (AUC 0.9 trở lên trong nhiều nghiên cứu), được dùng hỗ trợ đọc phim và sàng lọc. Thứ hai, trong xe tự hành, cần phát hiện làn đường, người đi bộ, tín hiệu từ ảnh camera theo thời gian thực (hàng chục FPS) nên bộ phát hiện dựa trên CNN gọn nhẹ đóng vai trò cốt lõi. Thứ ba, trong kiểm tra chất lượng sản xuất, thị giác máy dựa trên CNN phát hiện khuyết tật siêu nhỏ trên wafer bán dẫn và tấm màn hình nhanh và nhất quán hơn con người, cải thiện tỷ lệ thành phẩm. Điểm chung của các tình huống này là phải đồng thời có dữ liệu gán nhãn lớn, tính toán GPU và hệ thống vận hành quản lý chi phí của phát hiện sai/bỏ sót thì mới đạt hiệu quả thực.
| Tác vụ | Mô hình tiêu biểu | Ví dụ ứng dụng công nghiệp |
|---|---|---|
| Phân loại ảnh | ResNet·EfficientNet | Lọc nội dung, phân loại sản phẩm |
| Phát hiện đối tượng | YOLO·Faster R-CNN | Xe tự hành, giám sát CCTV |
| Phân vùng ngữ nghĩa/thực thể | U-Net·Mask R-CNN | Ảnh y tế, phân tích ảnh vệ tinh |
| Nhận dạng khuôn mặt | Họ FaceNet | Kiểm soát ra vào, xác thực danh tính |
4. Chuyên sâu: Xu hướng mới nhất — Sự trỗi dậy của ViT và vị trí của CNN
Khoảng năm 2020, khi Vision Transformer (ViT, Vision Transformer) xuất hiện, đã nổi lên xu hướng một phần quyền dẫn dắt trong nhận dạng hình ảnh chuyển từ CNN sang các mô hình dựa trên attention. ViT chia ảnh thành các patch và xử lý như một chuỗi, mô hình hóa trực tiếp quan hệ toàn cục bằng self-attention (Self-Attention), và khi tiền huấn luyện với dữ liệu đủ lớn (quy mô hàng trăm triệu ảnh) thì cho hiệu năng vượt CNN. Điều này gợi ý rằng thiên kiến quy nạp (Inductive Bias) về tính cục bộ và bất biến tịnh tiến của CNN có thể lại trở thành ràng buộc trong môi trường dữ liệu quy mô lớn.
Nhìn sự tương phản này từ góc độ quy mô dữ liệu sẽ dễ hiểu. ViT có thể trực tiếp thiết lập quan hệ giữa bất kỳ hai patch nào trên toàn ảnh bằng self-attention nên giới hạn trên của năng lực biểu diễn cao, nhưng cũng vì thế hầu như không có giả định trước về "cấu trúc nào quan trọng trong ảnh" nên phải học cấu trúc đó từ đầu bằng lượng dữ liệu khổng lồ. Ngược lại, CNN đã tích hợp giả định về tính cục bộ và bất biến tịnh tiến vào cấu trúc nên có thể học nhanh đặc trưng tốt ngay cả với ít dữ liệu. Tức là dữ liệu càng khan hiếm thì thiên kiến của CNN càng có lợi, còn dữ liệu càng dồi dào thì thiên kiến đó lại trở thành ràng buộc hạ thấp giới hạn trên.
Tuy nhiên, khó có thể coi CNN đã bị thay thế. Thứ nhất, nhờ thiên kiến quy nạp, CNN vẫn vượt trội về hiệu quả dữ liệu ở quy mô dữ liệu nhỏ và vừa, và duy trì thế mạnh trong môi trường hạn chế tài nguyên như edge, di động (các CNN gọn nhẹ như MobileNet, EfficientNet). Thứ hai, các CNN hiện đại hấp thụ yếu tố thiết kế của transformer như ConvNeXt (2022) đạt hiệu năng ngang ViT, cho thấy xu hướng hai dòng hội tụ và dung hợp với nhau. Thứ ba, trong thực tế, cấu trúc lai kết hợp backbone CNN với attention được dùng rộng rãi trong phát hiện và phân vùng (ví dụ: ảnh y tế, nhận thức xe tự hành). Do đó, từ góc nhìn Kỹ sư chuyên nghiệp (Professional Engineer), chính xác hơn cả là hiểu "CNN vs ViT" không phải là thắng thua mà là vấn đề lựa chọn theo quy mô dữ liệu, ràng buộc tài nguyên và đặc tính tác vụ.
Mặt khác, sự phát triển của CNN gọn nhẹ nhắm tới môi trường hạn chế tài nguyên cũng là một trục của xu hướng mới nhất. MobileNet giảm khối lượng tính toán 8~9 lần bằng tích chập tách theo chiều sâu (Depthwise Separable Convolution), phân rã tích chập chuẩn thành tích chập không gian theo từng kênh (Depthwise) và kết hợp kênh (Pointwise 1×1), còn EfficientNet đạt độ chính xác cao so với lượng tính toán ít nhờ co giãn kết hợp (Compound Scaling) tăng cân bằng đồng thời độ sâu, độ rộng và độ phân giải. Xu hướng này phản ánh nhu cầu suy luận trên thiết bị (on-device) ở điện thoại thông minh, IoT, thiết bị edge, và cho thấy hai hướng "mô hình lớn hơn và chính xác hơn" và "mô hình nhỏ hơn và nhanh hơn" đang phát triển song song.
5. Lưu ý và hàm ý (góc nhìn Kỹ sư chuyên nghiệp)
Đánh đổi giữa dữ liệu, tài nguyên và lựa chọn kiến trúc: Nếu dữ liệu huấn luyện hạn chế hoặc cần suy luận trên thiết bị thì CNN dựa trên học chuyển giao (đặc biệt là mô hình gọn nhẹ) là thực tế, còn nếu có dữ liệu siêu lớn và môi trường máy chủ thì xem xét ViT hoặc cấu trúc lai. Cốt lõi không phải là mô hình mới nhất vô điều kiện mà là lựa chọn phù hợp với điều kiện ràng buộc.
Chi phí tính toán, điện năng và chiến lược gọn nhẹ hóa: CNN hiệu năng cao đòi hỏi lượng tính toán GPU đáng kể, nên trong dịch vụ thực tế cần gọn nhẹ hóa mô hình bằng lượng tử hóa (Quantization), cắt tỉa (Pruning), chưng cất tri thức (Knowledge Distillation) để quản lý độ trễ suy luận và điện năng. Đặc biệt với xe tự hành và di động, tính thời gian thực quan trọng ngang hiệu năng.
Bảo đảm khả năng giải thích và độ tin cậy: CNN mang tính hộp đen cao, nên trong các miền rủi ro cao như y tế, tài chính cần trực quan hóa căn cứ phán đoán (vùng chú ý) bằng các kỹ thuật XAI như Grad-CAM song song với kiểm chứng và đáp ứng quy định. Kiểm tra xem mô hình có phụ thuộc vào đặc trưng sai (thiên lệch nền...) hay không là tiền đề của an toàn.
Chất lượng dữ liệu, thiên lệch và tính bền vững: Thiên lệch của dữ liệu huấn luyện dẫn thẳng đến thiên lệch của mô hình, và mô hình có thể yếu trước ví dụ đối kháng (Adversarial Example) hoặc thay đổi miền (khác biệt điều kiện chụp). Cần quản lý tính bền vững và công bằng bằng tăng cường dữ liệu, huấn luyện đối kháng, giám sát liên tục (MLOps).
Công nghệ liên kết và góc nhìn pipeline: Giá trị không đến từ riêng CNN mà từ toàn chu kỳ MLOps gán nhãn dữ liệu (annotation)→huấn luyện→triển khai→giám sát, và sự kết hợp với các mô hình tác vụ con như phát hiện (YOLO), phân vùng (U-Net), sinh. Kỹ sư chuyên nghiệp cần năng lực thiết kế và quản trị toàn bộ kiến trúc này chứ không chỉ từng mô hình riêng lẻ.
Tài liệu tham khảo
- LeCun et al., "Gradient-Based Learning Applied to Document Recognition"(LeNet), 1998 — http://yann.lecun.com/exdb/lenet/
- Krizhevsky et al., "ImageNet Classification with Deep CNNs"(AlexNet), 2012 — https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
- He et al., "Deep Residual Learning for Image Recognition"(ResNet), 2015 — https://arxiv.org/abs/1512.03385
- Dosovitskiy et al., "An Image is Worth 16x16 Words"(ViT), 2020 — https://arxiv.org/abs/2010.11929
- Liu et al., "A ConvNet for the 2020s"(ConvNeXt), 2022 — https://arxiv.org/abs/2201.03545
Tóm tắt một câu: CNN là kiến trúc chuẩn cho nhận dạng hình ảnh, trích xuất phân cấp đặc trưng cục bộ của ảnh bằng tích chập và pooling, giảm tham số và đạt tính bất biến tịnh tiến nhờ vùng tiếp nhận cục bộ và chia sẻ trọng số, và được lựa chọn sử dụng cùng ViT hay cấu trúc lai tùy theo quy mô dữ liệu và ràng buộc tài nguyên.