Convolutional Neural Network (CNN)
Khám phá cách Convolutional Neural Network (CNN) thúc đẩy thị giác máy tính hiện đại. Tìm hiểu về các layer, ứng dụng và cách chạy Ultralytics YOLO26 cho AI thời gian thực.
Mạng nơ-ron tích chập (CNN) là một kiến trúc deep learning chuyên biệt được thiết kế để xử lý dữ liệu có cấu trúc dạng lưới, nổi bật nhất là hình ảnh kỹ thuật số. Lấy cảm hứng từ cấu trúc sinh học của vỏ não thị giác, CNN có khả năng đặc biệt trong việc duy trì các mối quan hệ không gian bên trong dữ liệu đầu vào. Không giống các mạng nơ-ron truyền thống làm phẳng một hình ảnh thành một danh sách số dài, CNN phân tích các vùng nhỏ chồng lấn lên nhau của hình ảnh để tự động học các cấp độ đặc trưng—từ các cạnh và kết cấu đơn giản đến các hình dạng và đối tượng phức tạp. Khả năng này khiến CNN trở thành công nghệ nền tảng cho các hệ thống thị giác máy tính (CV) hiện đại.
Cách mạng nơ-ron tích chập hoạt động#
Sức mạnh của CNN nằm ở khả năng giảm một hình ảnh phức tạp thành dạng dễ xử lý hơn mà không làm mất các đặc trưng quan trọng để tạo ra dự đoán chính xác. Điều này đạt được thông qua một pipeline gồm các layer riêng biệt, biến đổi volume đầu vào thành một class hoặc giá trị đầu ra:
- Layer tích chập: Đây là khối xây dựng cốt lõi. Layer này sử dụng một tập hợp các bộ lọc có thể học (hay kernel) trượt trên hình ảnh đầu vào như một chiếc đèn pin. Tại mỗi vị trí, bộ lọc thực hiện một phép toán toán học gọi là phép tích chập, tạo ra một feature map làm nổi bật các pattern cụ thể như đường ngang hoặc gradient màu.
- Hàm kích hoạt: Sau phép tích chập, một hàm phi tuyến được áp dụng lên đầu ra. Lựa chọn phổ biến nhất là đơn vị tuyến tính chỉnh lưu (ReLU), biến các giá trị pixel âm thành 0. Điều này tạo ra tính phi tuyến, cho phép mạng học các pattern phức tạp vượt ra ngoài những mối quan hệ tuyến tính đơn giản.
- Layer pooling: Còn được gọi là downsampling, layer này làm giảm số chiều của các feature map. Các kỹ thuật như max pooling chỉ giữ lại những đặc trưng quan trọng nhất (các giá trị cao nhất) trong một vùng, nhờ đó giảm tải tính toán và giúp ngăn overfitting.
- Layer fully connected: Ở giai đoạn cuối, các đặc trưng đã xử lý được làm phẳng và đưa vào một mạng nơ-ron (NN) tiêu chuẩn. Layer này sử dụng các đặc trưng cấp cao được xác định bởi những layer trước đó để thực hiện phân loại hoặc dự đoán cuối cùng, chẳng hạn như "mèo" hoặc "chó".
Các ứng dụng trong thực tế#
CNN đã chuyển đổi nhiều ngành bằng cách tự động hóa các tác vụ thị giác với độ chính xác vượt qua con người.
- Chẩn đoán y khoa: Trong lĩnh vực chăm sóc sức khỏe, CNN hỗ trợ các bác sĩ chẩn đoán hình ảnh bằng cách xác định những bất thường trong ảnh chụp y khoa nhanh hơn mắt người. Ví dụ, các model deep learning phân tích ảnh MRI và CT để phát hiện sớm các dấu hiệu của khối u hoặc gãy xương. Các nghiên cứu về AI trong chẩn đoán hình ảnh cho thấy những công cụ này cải thiện tính nhất quán và tốc độ chẩn đoán.
- Hệ thống tự hành: Xe tự lái phụ thuộc rất nhiều vào CNN để nhận biết môi trường xung quanh. Các model như YOLO26 sử dụng các backbone CNN hiệu quả để thực hiện phát hiện đối tượng theo thời gian thực, xác định người đi bộ, biển báo giao thông và các phương tiện khác nhằm đưa ra quyết định lái xe trong tích tắc.
CNN và Transformer thị giác (ViT)#
Mặc dù CNN từ lâu đã là tiêu chuẩn cho các tác vụ thị giác, một kiến trúc mới hơn có tên Transformer thị giác (ViT) đã xuất hiện.
- CNN xử lý hình ảnh bằng các đặc trưng cục bộ và rất hiệu quả trên các dataset nhỏ hơn nhờ "inductive bias" (giả định rằng các pixel gần nhau có liên quan). CNN đặc biệt phù hợp với các kịch bản yêu cầu suy luận theo thời gian thực trên các thiết bị edge.
- ViT chia hình ảnh thành các patch và xử lý chúng bằng các cơ chế self-attention toàn cục. Điều này cho phép chúng nắm bắt các dependency tầm xa trên toàn hình ảnh, nhưng thường đòi hỏi dataset khổng lồ và nhiều năng lực tính toán hơn để train hiệu quả.
Ví dụ triển khai#
Các library hiện đại giúp việc sử dụng các model dựa trên CNN trở nên đơn giản. Package ultralytics cung cấp quyền truy cập vào các model tiên tiến như YOLO26, với các kiến trúc CNN được tối ưu hóa cao để inference nhanh.
Ví dụ sau minh họa cách load một model CNN đã được pre-train và chạy dự đoán:
from ultralytics import YOLO
# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")
# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the prediction results
results[0].show()Các công cụ phát triển#
Việc phát triển CNN được hỗ trợ bởi một hệ sinh thái mạnh mẽ gồm các công cụ open source. Các kỹ sư thường sử dụng những framework như PyTorch hoặc TensorFlow để xây dựng các kiến trúc tùy chỉnh. Những library này cung cấp các phép toán tensor cấp thấp cần thiết cho phép tích chập và lan truyền ngược.
Đối với các team muốn tinh gọn vòng đời của các dự án thị giác máy tính—từ thu thập dữ liệu đến deployment—Ultralytics Platform cung cấp một giải pháp toàn diện. Nền tảng này đơn giản hóa các workflow phức tạp, cho phép developer tập trung vào việc ứng dụng CNN để giải quyết các bài toán kinh doanh thay vì quản lý hạ tầng. Ngoài ra, các model có thể được export sang các format như ONNX hoặc TensorRT để deployment hiệu năng cao trên các thiết bị edge.









