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

Linear Probing

Linear probing huấn luyện bộ phân loại tuyến tính trên đặc trưng của model đã đóng băng để kiểm tra thông tin mà các biểu diễn của model mã hóa. Cách hoạt động, code và so sánh với fine-tuning.

Linear probing là kỹ thuật đo lượng thông tin hữu ích chứa trong biểu diễn của một model được huấn luyện trước bằng cách chỉ huấn luyện một bộ phân loại tuyến tính, gọi là probe, trên các đặc trưng đã đóng băng. Trọng số encoder không bao giờ thay đổi: ảnh hoặc văn bản chỉ đi qua encoder một lần, các embedding tạo ra trở thành đầu vào cố định, rồi hồi quy logistic hoặc một lớp fully connected duy nhất học cách dự đoán nhãn từ các embedding đó. Độ chính xác cao của probe cho thấy encoder đã sắp xếp các mẫu sao cho có thể dùng một ranh giới thẳng để phân tách các lớp. Trong cấu trúc dữ liệu, tên gọi này cũng chỉ một phương pháp không liên quan để xử lý va chạm trong bảng băm bằng cách kiểm tra ô kế tiếp.

Cách linear probing hoạt động#

Một thử nghiệm probe tải encoder đã huấn luyện trước, đóng băng encoder, thực hiện trích xuất đặc trưng trên dataset có nhãn rồi huấn luyện bộ phân loại tuyến tính trên các đặc trưng đã lưu; kết quả được báo cáo trên tập kiểm tra giữ lại. Probe có một trọng số cho mỗi đặc trưng ở mỗi lớp, cộng thêm một bias, nên chỉ có thể tạo ranh giới quyết định tuyến tính và không thể tự tạo đặc trưng mới; độ chính xác đạt được phản ánh những gì encoder đã học. Hồi quy logistic áp dụng softmax hoặc sigmoid lên các điểm số, nhưng ranh giới quyết định vẫn tuyến tính trong không gian đặc trưng. Vì chỉ probe được huấn luyện nên có thể tính toán và tái sử dụng đặc trưng, khiến probing rẻ hơn nhiều so với tinh chỉnh.

Model phân loại Ultralytics YOLO26 cung cấp các đặc trưng đã đóng băng thông qua model.embed(); theo mặc định, công cụ này gộp đầu ra của lớp đứng trước head phân loại thành một vector cho mỗi ảnh, gồm 256 số đối với model nano. Ví dụ sau dùng probe trên ảnh mèo và chó trong CIFAR-10, là những ảnh độ phân giải thấp mà model được huấn luyện trên ImageNet chưa từng thấy, rồi khớp cùng probe đó trên pixel thô để so sánh:

from pathlib import Path

import numpy as np
from PIL import Image
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from torchvision.datasets.utils import download_and_extract_archive
from ultralytics import YOLO

# 500 cat and 500 dog images from the CIFAR-10 test split
download_and_extract_archive("https://github.com/ultralytics/assets/releases/download/v0.0.0/cifar10.zip", "data")
cats = sorted(Path("data/cifar10/test/cat").glob("*.png"))[:500]
dogs = sorted(Path("data/cifar10/test/dog").glob("*.png"))[:500]
paths, labels = cats + dogs, [0] * 500 + [1] * 500

# Frozen YOLO26 classifier features, and raw pixels as a baseline representation
encoder = YOLO("yolo26n-cls.pt")
features = np.stack([encoder.embed(path, verbose=False)[0].cpu().numpy() for path in paths])
pixels = np.stack([np.asarray(Image.open(path)).ravel() / 255 for path in paths])

# Train the same linear probe on each representation and score it on held-out images
for name, x in [("raw pixels", pixels), ("YOLO26 features", features)]:
    x_train, x_test, y_train, y_test = train_test_split(x, labels, test_size=0.3, random_state=0, stratify=labels)
    probe = LogisticRegression(max_iter=5000)
    probe.fit(x_train, y_train)
    print(f"{name}: {probe.score(x_test, y_test):.3f}")

Probe đạt 0.573 trên pixel thô, chỉ nhỉnh hơn mức đoán 0.5 một chút, và đạt 0.833 trên đặc trưng YOLO26; khoảng cách này đo lượng thông tin về lớp mà encoder YOLO26 đã đóng băng giúp truy cập tuyến tính.

Probe cho thấy điều gì#

Linear probe kiểm tra xem thông tin vừa có mặt, vừa dễ trích xuất hay không. Guillaume Alain và Yoshua Bengio đề xuất dùng probe bộ phân loại tuyến tính làm công cụ chẩn đoán trong bài viết "Tìm hiểu các lớp trung gian bằng probe bộ phân loại tuyến tính" và phát hiện tính phân tách tuyến tính của đặc trưng tăng đơn điệu theo độ sâu trong các mạng mà họ nghiên cứu. Dùng probe theo cách này ở mọi lớp cho thấy mạng hình thành những khái niệm cần thiết cho tác vụ tại đâu. Trong học tự giám sát, độ chính xác linear probe trên ImageNet trở thành cách tiêu chuẩn để so sánh các encoder được huấn luyện không nhãn, vì probe gần như không bổ sung gì để một biểu diễn yếu có thể dựa vào. Trong xử lý ngôn ngữ tự nhiên, probe được huấn luyện trên trạng thái ẩn của model ngôn ngữ kiểm tra xem model có mã hóa các thuộc tính như từ loại, cú pháp hoặc tính đúng sai của một phát biểu hay không.

Kết quả probe phụ thuộc vào lớp được chọn, độ phân giải đầu vào và tiền xử lý, lượng dữ liệu có nhãn, regularization của probe, cũng như cách chia ảnh giữa tập huấn luyện và tập đánh giá; do đó, chỉ có thể so sánh các encoder khi giữ cố định tất cả yếu tố này. Khi linear probe không hiệu quả, đôi khi probe phi tuyến nhỏ lại thành công, cho thấy thông tin có tồn tại nhưng được mã hóa theo cách phi tuyến.

  • Tinh chỉnh: Cập nhật một phần hoặc toàn bộ trọng số encoder cùng với head, thường giúp đạt độ chính xác cao hơn trên dữ liệu mục tiêu. Trong bài viết "Tinh chỉnh có thể làm sai lệch đặc trưng đã huấn luyện trước", tinh chỉnh đạt độ chính xác cao hơn trung bình 2% trong phân phối so với linear probing trên 10 dataset, nhưng thấp hơn 7% khi phân phối thay đổi; LP-FT, tức linear probing trước rồi tinh chỉnh từ head đó, vượt tinh chỉnh toàn bộ 1% trong phân phối và 10% khi phân phối thay đổi.
  • Đánh giá k láng giềng gần nhất: Phân loại mỗi embedding trong tập kiểm tra theo nhãn của các embedding huấn luyện gần nhất mà không cần huấn luyện, đây là một giao thức phổ biến khác dành cho encoder tự giám sát.
  • Trích xuất đặc trưng và học chuyển giao: Trích xuất đặc trưng tạo ra các embedding mà probe sử dụng; huấn luyện head tuyến tính trên backbone đã đóng băng là hình thức học chuyển giao ít tốn kém nhất, được hướng dẫn học chuyển giao của PyTorch gọi là sử dụng mạng làm bộ trích xuất đặc trưng cố định.

Giới hạn của linear probing#

Linear probing đo mức độ thông tin có thể truy cập tuyến tính, khác với mức độ hữu ích của một biểu diễn sau khi thích nghi. Các tác giả của autoencoder có mặt nạ (MAE) phát hiện kết quả linear probing và tinh chỉnh phần lớn không tương quan: encoder ViT-L đạt độ chính xác ImageNet 73.5% khi linear probing, chỉ tinh chỉnh khối transformer cuối cùng đã nâng mức đó lên 81.0%, còn MoCo v3 có kết quả probe cao hơn MAE nhưng lại kém hơn MAE trong mọi thiết lập tinh chỉnh một phần.

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