Backbone (Mạng xương sống)
Khám phá vai trò của backbone trong deep learning, tìm hiểu các kiến trúc hàng đầu như ResNet & ViT, và ứng dụng AI thực tế của chúng.
Backbone là một thành phần cốt lõi của mô hình học sâu, đặc biệt là trong thị giác máy tính (CV). Nó đóng vai trò là mạng trích xuất đặc trưng chính. Công việc chính của nó là lấy dữ liệu đầu vào thô, chẳng hạn như một hình ảnh, và biến nó thành một tập hợp các đặc trưng cấp cao, hoặc bản đồ đặc trưng, có thể được sử dụng cho các tác vụ hạ nguồn như phát hiện đối tượng, phân đoạn hình ảnh hoặc phân loại. Bạn có thể coi backbone như một phần của mạng nơ-ron (NN) học cách "nhìn" và hiểu các mẫu cơ bản—như cạnh, kết cấu, hình dạng và đối tượng—trong một hình ảnh.
Cách Backbones hoạt động
Backbone thường là một Mạng nơ-ron tích chập (CNN) sâu đã được huấn luyện trước trên một bộ dữ liệu phân loại hình ảnh quy mô lớn, chẳng hạn như ImageNet. Quá trình huấn luyện trước này, một hình thức của học chuyển giao, dạy mạng nhận ra một thư viện rộng lớn các đặc trưng trực quan chung. Khi xây dựng một mô hình cho một tác vụ mới, các nhà phát triển thường sử dụng các backbone được huấn luyện trước này thay vì bắt đầu từ đầu. Cách tiếp cận này giảm đáng kể thời gian huấn luyện và lượng dữ liệu được gắn nhãn cần thiết, đồng thời thường cải thiện hiệu suất của mô hình. Các đặc trưng được trích xuất bởi backbone sau đó được chuyển đến "neck" và "head" của mạng, nơi thực hiện xử lý thêm và tạo ra đầu ra cuối cùng. Việc lựa chọn backbone thường liên quan đến sự đánh đổi giữa độ chính xác, kích thước mô hình và độ trễ suy luận, điều này rất quan trọng để đạt được hiệu suất thời gian thực.
Các kiến trúc Backbone phổ biến
Thiết kế của backbone đã phát triển qua nhiều năm, với mỗi kiến trúc mới mang lại những cải tiến về hiệu quả và hiệu suất. Một số kiến trúc backbone có ảnh hưởng lớn nhất bao gồm:
- Mạng Dư (ResNet) : Được giới thiệu bởi Microsoft Research, các mô hình ResNet sử dụng "kết nối bỏ qua" để cho phép mạng học các hàm dư. Cải tiến này cho phép huấn luyện các mạng sâu hơn nhiều mà không gặp phải vấn đề gradient biến mất.
- EfficientNet: Được phát triển bởi Google AI, họ mô hình này sử dụng phương pháp mở rộng hợp chất để cân bằng đồng đều độ sâu, chiều rộng và độ phân giải của mạng. Điều này dẫn đến các mô hình vừa có độ chính xác cao vừa hiệu quả về mặt tính toán.
- Vision Transformer (ViT) : Áp dụng kiến trúc Transformer thành công từ NLP sang thị giác, ViT xử lý hình ảnh như một chuỗi các bản vá và sử dụng sự chú ý của bản thân để nắm bắt bối cảnh toàn cầu, cung cấp một cách tiếp cận khác so với các trường tiếp nhận cục bộ của CNN.
- CSPNet (Cross Stage Partial Network - Mạng bán phần đa tầng): Kiến trúc này, được mô tả trong bài báo gốc, cải thiện khả năng học bằng cách tích hợp các bản đồ đặc trưng từ đầu và cuối của một tầng mạng, giúp tăng cường sự lan truyền độ dốc và giảm các nút thắt tính toán. Nó là một thành phần quan trọng trong nhiều mô hình Ultralytics YOLO.
Backbone so với Head và Neck
Trong một kiến trúc phát hiện đối tượng điển hình, mô hình bao gồm ba phần chính:
- Backbone (Phần xương sống): Đóng vai trò trích xuất đặc trưng từ ảnh đầu vào, tạo ra các bản đồ đặc trưng (feature map) ở nhiều tỷ lệ khác nhau.
- Neck: Thành phần này nằm giữa backbone (xương sống) và head (đầu). Nó tinh chỉnh và tổng hợp các bản đồ đặc trưng từ backbone, thường kết hợp các đặc trưng từ các lớp khác nhau để xây dựng một biểu diễn phong phú hơn. Một ví dụ phổ biến là Feature Pyramid Network (FPN).
- Đầu phát hiện : Đây là phần cuối cùng của mạng, lấy các đặc điểm đã được tinh chỉnh từ phần cổ và thực hiện nhiệm vụ phát hiện thực tế. Nó dự đoán các hộp giới hạn , nhãn lớp và điểm tin cậy cho các đối tượng trong ảnh.
Do đó, backbone là nền tảng mà phần còn lại của mô hình phát hiện được xây dựng dựa trên đó. Các mô hình như YOLOv8 và YOLO11 tích hợp các backbone mạnh mẽ để đảm bảo trích xuất đặc trưng chất lượng cao, điều này rất cần thiết cho hiệu suất hiện đại của chúng trên nhiều tác vụ khác nhau. Bạn có thể khám phá các so sánh mô hình YOLO khác nhau để xem các lựa chọn kiến trúc ảnh hưởng đến hiệu suất như thế nào.
Các Ứng dụng Thực tế
Backbone là các thành phần cơ bản trong vô số ứng dụng AI:
- Lái xe tự động : Các hệ thống trong xe tự lái phụ thuộc rất nhiều vào các nền tảng vững chắc (ví dụ: các biến thể ResNet hoặc EfficientNet) để xử lý dữ liệu đầu vào từ camera và cảm biến LiDAR. Các đặc điểm được trích xuất cho phép phát hiện và phân loại phương tiện, người đi bộ, đèn giao thông và vạch kẻ đường, điều này rất quan trọng cho việc điều hướng an toàn và ra quyết định, như đã thấy trong các hệ thống do các công ty như Waymo phát triển.
- Phân tích hình ảnh y tế : Trong các giải pháp AI chăm sóc sức khỏe , các xương sống được sử dụng để phân tích các hình ảnh chụp X-quang, CT hoặc MRI. Ví dụ, một xương sống như DenseNet có thể trích xuất các đặc điểm từ ảnh chụp X-quang ngực để giúp phát hiện các dấu hiệu viêm phổi hoặc từ ảnh chụp CT để xác định các khối u tiềm ẩn ( nghiên cứu liên quan trong X-quang: AI ). Điều này hỗ trợ các bác sĩ X-quang trong việc chẩn đoán và lập kế hoạch điều trị. Các mô hình Ultralytics như YOLO11 có thể được điều chỉnh cho các nhiệm vụ như phát hiện khối u bằng cách tận dụng các xương sống mạnh mẽ.
Bạn có thể đơn giản hóa quy trình sử dụng các backbone mạnh mẽ cho các dự án của riêng mình bằng cách sử dụng các nền tảng như Ultralytics HUB, nền tảng này giúp đơn giản hóa việc quản lý datasets (bộ dữ liệu) và training custom models (huấn luyện các mô hình tùy chỉnh).