Khám phá sức mạnh của Mạng nơ-ron dư (Residual Networks - ResNet). Tìm hiểu cách các kết nối bỏ qua giải quyết vấn đề suy giảm độ dốc để cho phép học sâu ứng dụng trong thị giác máy tính.
Mạng nơ-ron dư (Residual Networks), thường được biết đến với tên gọi ResNets, là một loại kiến trúc mạng nơ-ron nhân tạo (ANN) đặc biệt được thiết kế để cho phép huấn luyện các mạng cực sâu. Được giới thiệu bởi các nhà nghiên cứu tại... Microsoft Năm 2015, ResNet đã giải quyết một nút thắt quan trọng trong học sâu, được gọi là vấn đề suy giảm độ dốc . Trong các mạng truyền thống, việc xếp chồng nhiều lớp thường dẫn đến bão hòa hoặc suy giảm hiệu suất vì tín hiệu cần thiết để cập nhật trọng số mô hình sẽ mờ dần khi lan truyền ngược qua các lớp. ResNet đã giới thiệu "kết nối bỏ qua" (hoặc kết nối dư), cho phép dữ liệu bỏ qua một hoặc nhiều lớp và truyền trực tiếp đến các giai đoạn xử lý tiếp theo. Sự đổi mới này đã chứng minh rằng các mạng sâu hơn có thể được huấn luyện hiệu quả, dẫn đến những đột phá đáng kể trong thị giác máy tính (CV) và trở thành một khái niệm nền tảng cho các kiến trúc hiện đại.
Đặc điểm nổi bật của ResNet là "khối dư". Trong mạng nơ-ron tích chập (CNN) tiêu chuẩn, mỗi lớp cố gắng học một ánh xạ trực tiếp từ đầu vào đến đầu ra. Khi mạng càng sâu, việc học ánh xạ trực tiếp này càng trở nên khó khăn hơn.
ResNet thay đổi cách tiếp cận này bằng cách định hình mục tiêu học tập khác đi. Thay vì hy vọng mỗi chồng lớp học được toàn bộ ánh xạ cơ bản, khối dư (residual block) buộc các lớp phải học "phần dư" - hay sự khác biệt - giữa đầu vào và đầu ra mong muốn. Đầu vào ban đầu sau đó được cộng trở lại vào phần dư đã học thông qua một kết nối bỏ qua (skip connection). Sự thay đổi cấu trúc này ngụ ý rằng nếu một ánh xạ đồng nhất (truyền đầu vào không thay đổi) là tối ưu, mạng có thể dễ dàng học cách đẩy phần dư về 0. Điều này làm cho các mô hình học sâu (DL) dễ tối ưu hóa hơn nhiều, cho phép chúng mở rộng từ hàng chục lên hàng trăm hoặc thậm chí hàng nghìn lớp.
Kể từ khi ra đời, một số biến thể của ResNet đã trở thành tiêu chuẩn tham chiếu trong cộng đồng trí tuệ nhân tạo.
Tính mạnh mẽ của kiến trúc ResNet đã khiến chúng trở thành lựa chọn hàng đầu cho nhiều tác vụ xử lý hình ảnh khác nhau.
Việc phân biệt ResNet với các kiến trúc phổ biến khác sẽ giúp hiểu rõ hơn về công dụng cụ thể của nó.
Các thư viện học sâu hiện đại như PyTorch Giúp việc truy cập các mô hình ResNet đã được huấn luyện trước trở nên dễ dàng hơn. Các mô hình này vô cùng quý giá cho việc học chuyển giao , trong đó một mô hình được huấn luyện trên một tập dữ liệu lớn như ImageNet được tinh chỉnh cho một nhiệm vụ cụ thể.
Sau đây Python Đoạn mã này minh họa cách tải mô hình ResNet-50 đã được huấn luyện trước bằng cách sử dụng
torchvision (một phần của PyTorch hệ sinh thái) và thực hiện một lần chuyển tiếp đơn giản. Trong khi người dùng của
Ultralytics Nền tảng có thể thường xuyên sử dụng
YOLO26 Đối với việc phát hiện, việc hiểu rõ các khái niệm cốt lõi như ResNet là rất quan trọng để tùy chỉnh nâng cao.
import torch
import torchvision.models as models
# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval() # Set model to evaluation mode
# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)
# Perform a forward pass to get predictions
with torch.no_grad():
output = resnet50(input_tensor)
print(f"Output shape: {output.shape}") # Expect [1, 1000] for ImageNet classes
Mặc dù các kiến trúc mới hơn như YOLO26 sử dụng cấu trúc được tối ưu hóa cao để đạt tốc độ và độ chính xác tối đa, các nguyên tắc của học dư vẫn được sử dụng rộng rãi. Khái niệm kết nối bỏ qua hiện là một thành phần tiêu chuẩn trong nhiều mạng tiên tiến, bao gồm cả các mô hình Transformer được sử dụng trong xử lý ngôn ngữ tự nhiên (NLP) và các mô hình phát hiện đối tượng mới nhất. Bằng cách cho phép thông tin lưu chuyển tự do hơn trong mạng, ResNet đã mở đường cho các mô hình sâu, phức tạp, là nền tảng của trí tuệ nhân tạo ngày nay.