Identity Mapping
Khám phá identity mapping trong học sâu. Tìm hiểu cách kết nối tắt ngăn gradient biến mất để hỗ trợ các mạng nơ-ron như Ultralytics YOLO26.
Trong toán học và đại số tuyến tính, ánh xạ đồng nhất hoặc ma trận đơn vị là một hàm trả về chính xác giá trị đã được dùng làm đầu vào. Trong bối cảnh trí tuệ nhân tạo (AI) và học sâu, ánh xạ đồng nhất là một kỹ thuật kiến trúc cụ thể dùng để truyền trực tiếp dữ liệu đầu vào đến các layer tiếp theo của mạng nơ-ron tích chập (CNN) mà không áp dụng bất kỳ phép biến đổi phi tuyến nào. Khái niệm này trở nên phổ biến rộng rãi nhờ sự ra đời của Mạng dư (ResNet) vào năm 2015, một bước đột phá đã cách mạng hóa cách cấu trúc và huấn luyện các model thị giác máy tính (CV) sâu.
Cách thức hoạt động của ánh xạ đồng nhất#
Mạng nơ-ron sâu thường gặp vấn đề tiêu biến gradient. Trong quá trình lan truyền ngược, các tín hiệu lỗi dùng để cập nhật trọng số mạng trở nên nhỏ dần theo cấp số nhân khi truyền ngược qua các layer, khiến những layer đầu không thể học hiệu quả. Ánh xạ đồng nhất khắc phục vấn đề này bằng cách tạo ra các "kết nối bỏ qua" hoặc "kết nối tắt".
Thay vì buộc các layer tuần tự phải học một ánh xạ hoàn toàn mới và không có tham chiếu, người ta thiết kế chúng để học một hàm phần dư. Về mặt toán học, nếu đầu vào của một block là x, layer sẽ học phép biến đổi F(x). Ánh xạ đồng nhất cộng trực tiếp đầu vào ban đầu x vào đầu ra của phép biến đổi đó, tạo ra đầu ra cuối cùng F(x) + x. Nhờ vậy, ngay cả trong các mạng cực sâu, gradient vẫn có thể truyền trực tiếp không bị cản trở qua backbone của model. Các tổ chức nghiên cứu AI uy tín như Google DeepMind và OpenAI thường tận dụng các kết nối tắt kiến trúc này để ổn định quá trình huấn luyện các foundation model quy mô lớn.
Ánh xạ đồng nhất và bảo toàn danh tính#
Điều quan trọng là phải phân biệt ánh xạ đồng nhất với khái niệm có tên tương tự là bảo toàn danh tính.
Trong khi ánh xạ đồng nhất là một đặc tính cấu trúc trong thiết kế mạng nơ-ron nhằm tối ưu luồng huấn luyện học máy (ML), bảo toàn danh tính là một tác vụ thị giác máy tính riêng biệt. Bảo toàn danh tính tập trung vào việc duy trì tính nhất quán về hình ảnh của một người hoặc vật thể cụ thể qua các khung hình video khác nhau trong tác vụ theo dõi đối tượng, hoặc qua các ảnh được tạo trong quy trình AI tạo sinh.
Ứng dụng thực tế#
Ánh xạ đồng nhất là nền tảng cấu thành của nhiều model có độ chính xác cao đang được sử dụng trong môi trường production hiện nay:
- Phát hiện đối tượng nâng cao: Các kiến trúc thời gian thực hiện đại, bao gồm Ultralytics YOLO26 mới nhất, sử dụng các residual block nâng cao có chứa ánh xạ đồng nhất trong các layer trích xuất đặc trưng. Nhờ đó, chúng có thể phát hiện chính xác với tốc độ cao trong các môi trường phức tạp như lái xe tự hành mà không suy giảm hiệu năng khi độ sâu mạng tăng lên.
- Model phân loại ảnh: Các kiến trúc thị giác tiên tiến nhất, được ghi chép đầy đủ trong những kho lưu trữ học thuật như arXiv và Thư viện số IEEE Xplore, dựa vào ánh xạ đồng nhất để huấn luyện thành công các model có hàng trăm layer. Các framework cấp cao như TensorFlow sử dụng những kết nối tắt này để trích xuất các đặc trưng phân cấp có độ phức tạp cao từ những tập dữ liệu khổng lồ.
Triển khai ánh xạ đồng nhất trong PyTorch#
Khi xây dựng mạng nơ-ron tùy chỉnh, các framework học sâu như PyTorch cung cấp sẵn các công cụ để triển khai những kết nối tắt này một cách dễ dàng. Bạn có thể sử dụng trực tiếp module PyTorch nn.Identity hoặc đơn giản là thực hiện phép cộng trong forward pass của nn.Module.
Đoạn mã sau minh họa một residual block cơ bản sử dụng ánh xạ đồng nhất. Lưu ý rằng các nhà phát triển sử dụng Nền tảng Ultralytics trên đám mây để quản lý dataset và huấn luyện model sẽ tự động hưởng lợi từ các cấu trúc kiến trúc được tối ưu hóa cao này ở bên trong.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# Một layer tích chập đơn giản để trích xuất đặc trưng
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Module ánh xạ đồng nhất tường minh
self.identity = nn.Identity()
def forward(self, x):
# Đầu ra của block là tổng của các đặc trưng đã học và ánh xạ đồng nhất
return self.conv(x) + self.identity(x)








