Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Attention Mechanism

Cơ chế attention gán trọng số cho các đặc trưng đầu vào theo mức độ liên quan bằng query, key và value. Nội dung đề cập toán học, các loại attention và so sánh attention với convolution.

Cơ chế attention là một phép toán của mạng nơ-ron, tạo mỗi đầu ra dưới dạng trung bình có trọng số của các đặc trưng đầu vào; trọng số được tính dựa trên mức độ liên quan của từng đầu vào với phần tử đang được xử lý. Mức độ liên quan được chấm bằng cách so sánh một vector query với các vector key; các điểm số thu được dùng làm trọng số cho những vector value tương ứng. Attention được giới thiệu năm 2014 cho dịch máy, cho phép bộ giải mã của mạng nơ-ron hồi tiếp (RNN) xem lại mọi từ nguồn thay vì nén cả câu vào một vector có độ dài cố định. Transformer năm 2017 xây dựng toàn bộ kiến trúc từ attention; hiện nay, đây là phép toán cốt lõi của mô hình ngôn ngữ lớn, Transformer thị giác và nhiều model phát hiện đối tượng.

Cách thức hoạt động của attention#

Attention sử dụng ba phép chiếu tuyến tính đã học của đầu vào. Query (Q) mô tả nội dung mà token hiện tại đang tìm kiếm, mỗi key (K) mô tả những gì một token cung cấp, còn mỗi value (V) mang nội dung sẽ được truyền tiếp. Model so sánh query với mọi key, chuyển các điểm số so sánh thành trọng số rồi trả về tổng có trọng số của các value. Khi một model dịch tạo ra từ "noir" cho câu "The black cat", query ở bước đó đạt điểm cao nhất với key của từ "black", dù trong tiếng Pháp tính từ đứng sau danh từ.

Attention đa đầu chạy song song một số phép tính như vậy, mỗi phép tính sử dụng các phép chiếu có số chiều thấp hơn riêng, rồi nối các kết quả lại. Nhờ đó, các head khác nhau có thể chuyên biệt hóa để nắm bắt những quan hệ khác nhau trong cùng một lớp.

Attention tích vô hướng có điều chỉnh tỷ lệ#

Attention của Transformer được viết là Attention(Q, K, V) = softmax(QKᵀ / √d_k) V. Mỗi query được so sánh với mọi key bằng phép tích vô hướng; điểm số được chia cho căn bậc hai của số chiều key d_k để tránh tăng theo kích thước vector và làm bão hòa softmax. Softmax chuyển điểm số của mỗi query thành các trọng số có tổng bằng 1; đầu ra là tổng có trọng số của các vector value.

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Query, key và value cho một chuỗi gồm 4 token, mỗi token có 8 chiều
q, k, v = torch.randn(3, 4, 8).unbind(0)

# Chấm điểm từng query với mọi key, chia tỷ lệ bằng sqrt(d_k) và chuẩn hóa từng hàng bằng softmax
weights = (q @ k.T / k.shape[-1] ** 0.5).softmax(dim=-1)

# Mỗi token đầu ra là trung bình có trọng số của các vector value
output = weights @ v

print("Attention weights of token 0:", [round(w, 3) for w in weights[0].tolist()])
print("Matches PyTorch SDPA:", torch.allclose(output, F.scaled_dot_product_attention(q, k, v), atol=1e-6))

Lệnh này in ra [0.121, 0.741, 0.106, 0.032] và True: token 0 lấy 74% đầu ra của mình từ vector value của token 1, bốn trọng số của token 0 cộng lại bằng 1, và kết quả tính thủ công khớp với triển khai hợp nhất của PyTorch cho scaled_dot_product_attention, vốn điều phối đến các kernel tiết kiệm bộ nhớ như FlashAttention trên các GPU được hỗ trợ.

Các loại attention#

  • Self-attention: Query, key và value đều đến từ cùng một chuỗi, vì vậy mỗi token thu thập ngữ cảnh từ mọi token khác. Đây là attention bên trong các encoder Transformer và ViT.
  • Cross-attention: Query đến từ một chuỗi, còn key và value đến từ một chuỗi khác. Bộ giải mã dịch thuật attention đến câu nguồn; model khuếch tán chuyển văn bản thành ảnh attention đến prompt; và các query đối tượng của bộ giải mã DETR attention đến các đặc trưng ảnh.
  • Causal attention: Một mask ngăn mỗi token attention đến các token đứng sau, nhờ đó model ngôn ngữ tạo văn bản từ trái sang phải; key và value của các token trước đó có thể được lưu trong bộ nhớ đệm KV.
  • Attention hiệu quả: Attention thưa, attention cửa sổ trượt và attention tuyến tính giảm chi phí bậc hai của việc so sánh mọi token với mọi token khác; attention biến dạng chỉ lấy mẫu một vài điểm đã học quanh mỗi vị trí tham chiếu.
  • Attention kênh trong CNN: Mạng Squeeze-and-Excitation tái cân bằng trọng số các kênh của feature map bằng giá trị trung bình toàn cục; đây là một dạng attention ít tốn kém, làm nền tảng cho bài dự thi phân loại chiến thắng ILSVRC 2017.

Attention và tích chập#

Phép tích chập áp dụng cùng một bộ lọc nhỏ tại mọi vị trí, vì vậy mỗi đầu ra nhìn thấy một cửa sổ cục bộ cố định và trọng số không phụ thuộc vào ảnh. Attention tính trọng số dựa trên nội dung và có thể kết nối mọi cặp vị trí trong một lớp. Đổi lại, chi phí tăng theo bình phương số lượng token. Ảnh 640×640 ở stride 32 tạo lưới 20×20 gồm 400 token và 160.000 cặp query-key; lưới stride 8 của cùng ảnh có 6.400 token và gần 41 triệu cặp. YOLO26 bố trí các khối attention cho phù hợp: khối C2PSA ở cuối backbone và một khối C3k2 có attention trong neck đều chạy self-attention đa đầu trên feature map 20×20 ở stride 32; mọi lớp có độ phân giải cao hơn đều dùng phép tích chập.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning