Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Học Một Lần

Khám phá sức mạnh của One-Shot Learning, một kỹ thuật AI mang tính cách mạng cho phép các mô hình khái quát hóa từ dữ liệu tối thiểu cho các ứng dụng thực tế.

Học một lần (OSL) là một phương pháp tiếp cận tinh vi trong học máy (ML), trong đó một mô hình được thiết kế để nhận dạng và phân loại các đối tượng mới chỉ với một ví dụ được gắn nhãn duy nhất. Trái ngược với các phương pháp học sâu (DL) truyền thống đòi hỏi kho dữ liệu huấn luyện khổng lồ để đạt được độ chính xác cao, OSL mô phỏng khả năng nhận thức của con người, giúp nắm bắt một khái niệm mới ngay lập tức sau khi chỉ nhìn thấy nó một lần. Khả năng này đặc biệt quan trọng đối với các ứng dụng mà việc gắn nhãn dữ liệu tốn kém, dữ liệu khan hiếm hoặc các danh mục mới xuất hiện liên tục, chẳng hạn như trong xác minh danh tính hoặc xác định các bất thường hiếm gặp.

Cơ chế học tập một lần

Cơ chế cốt lõi đằng sau OSL liên quan đến việc chuyển đổi bài toán từ phân loại sang đánh giá khác biệt. Thay vì huấn luyện mô hình để ghi nhớ các lớp cụ thể (như "mèo" so với "chó"), hệ thống sẽ học một hàm tương đồng. Điều này thường được thực hiện bằng cách sử dụng kiến trúc mạng nơ-ron (NN) được gọi là Mạng Xiêm. Mạng Xiêm sử dụng các mạng con giống hệt nhau, chia sẻ cùng trọng số mô hình để xử lý đồng thời hai hình ảnh đầu vào riêng biệt.

Trong quá trình này, mạng chuyển đổi các đầu vào đa chiều (như hình ảnh) thành các vectơ nhỏ gọn, ít chiều, được gọi là nhúng (embedding ). Nếu hai hình ảnh thuộc cùng một lớp, mạng được huấn luyện để đặt các nhúng của chúng gần nhau trong không gian vectơ. Ngược lại, nếu chúng khác nhau, các nhúng của chúng sẽ bị đẩy ra xa nhau. Quá trình này phụ thuộc rất nhiều vào việc trích xuất đặc trưng hiệu quả để nắm bắt bản chất độc đáo của một đối tượng. Tại thời điểm suy luận, một hình ảnh mới được phân loại bằng cách so sánh nhúng của nó với một "ảnh" duy nhất được lưu trữ của mỗi lớp bằng cách sử dụng một phép đo khoảng cách, chẳng hạn như khoảng cách Euclidean hoặc độ tương đồng cosin.

Sau đây là Python đoạn trích minh họa cách trích xuất nhúng bằng YOLO11 và tính toán độ tương đồng giữa một "cảnh quay" đã biết và một hình ảnh truy vấn mới.

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Extract embeddings for a 'shot' (reference) and a 'query' image
# The model returns a list of results; we access the first item
shot_result = model.embed("reference_image.jpg")[0]
query_result = model.embed("test_image.jpg")[0]

# Calculate Cosine Similarity (1.0 = identical, -1.0 = opposite)
# High similarity suggests the images belong to the same class
similarity = np.dot(shot_result, query_result) / (np.linalg.norm(shot_result) * np.linalg.norm(query_result))

print(f"Similarity Score: {similarity:.4f}")

Phân biệt các mô hình học tập liên quan

Để hiểu được OSL, cần phân biệt nó với các kỹ thuật học dữ liệu thấp khác. Mặc dù chúng cùng hướng đến mục tiêu hiệu quả, nhưng các ràng buộc của chúng lại khác nhau đáng kể:

  • Học ít lần (FSL) : Đây là phạm trù rộng hơn bao gồm OSL. Trong FSL, mô hình được cung cấp một tập hợp nhỏ các ví dụ—thường từ hai đến năm ví dụ—cho mỗi lớp. OSL đơn giản là trường hợp cực đoan nhất của FSL, trong đó số lượng ví dụ ($k$) bằng một.
  • Học Zero-Shot (ZSL) : ZSL đưa sự khan hiếm dữ liệu lên một tầm cao mới bằng cách yêu cầu mô hình xác định các lớp mà nó chưa từng thấy trực quan. Nó dựa trên tìm kiếm ngữ nghĩa và siêu dữ liệu, liên kết các đặc điểm trực quan với mô tả văn bản (ví dụ: xác định "ngựa vằn" khi biết nó trông giống "ngựa vằn").
  • Học chuyển giao : Phương pháp này bao gồm việc sử dụng một mô hình đã được đào tạo trước trên một tập dữ liệu lớn, chẳng hạn như ImageNet , và tinh chỉnh nó trên một tập dữ liệu nhỏ hơn, dành riêng cho từng tác vụ. Mặc dù Học chuyển giao giúp giảm yêu cầu dữ liệu, nhưng nhìn chung nó vẫn cần nhiều hơn một ví dụ để tránh hiện tượng quá khớp .

Các Ứng dụng Thực tế

One-Shot Learning cho phép trí tuệ nhân tạo (AI) hoạt động trong môi trường năng động, nơi việc đào tạo lại các mô hình là không thực tế.

  1. Nhận dạng Khuôn mặt : Trường hợp sử dụng phổ biến nhất là bảo mật sinh trắc học. Khi người dùng đăng ký khuôn mặt trên điện thoại thông minh, thiết bị sẽ chụp một ảnh tham chiếu duy nhất ("one shot"). Sau đó, hệ thống sử dụng các nguyên tắc OSL để xác minh danh tính người dùng bằng cách so sánh nguồn cấp dữ liệu trực tiếp với ảnh tham chiếu đã lưu trữ, giúp tăng cường đáng kể bảo mật dữ liệu . Phương pháp này được phổ biến nhờ các nghiên cứu như bài báo FaceNet của Google , trong đó sử dụng mất mát bộ ba để nhúng học máy.
  2. Kiểm soát Chất lượng Công nghiệp: Trong sản xuất, lỗi có thể cực kỳ hiếm gặp và đa dạng. Việc thu thập một tập dữ liệu lớn các chi tiết hỏng hóc để đào tạo theo cách truyền thống rất khó khăn. OSL cho phép hệ thống thị giác máy tính học được hình dạng của một chi tiết "hoàn hảo" từ một ảnh tham chiếu. Bất kỳ chi tiết nào có sai lệch đáng kể trong không gian nhúng sẽ được đánh dấu là sự kiện phát hiện bất thường , cho phép đảm bảo chất lượng ngay lập tức trên các dây chuyền sản xuất mới.

Thách thức và triển vọng tương lai

Mặc dù có tính hữu ích, One-Shot Learning vẫn gặp phải những thách thức về mặt khái quát hóa. Do mô hình suy ra một lớp từ một thực thể duy nhất, nó dễ bị nhiễu hoặc các giá trị ngoại lai trong ảnh tham chiếu đó. Các nhà nghiên cứu thường sử dụng siêu học , hay "học để học", để cải thiện tính ổn định của các mô hình này. Các nền tảng như PyTorchTensorFlow liên tục phát triển để hỗ trợ các kiến trúc tiên tiến này. Ngoài ra, việc kết hợp dữ liệu tổng hợp có thể giúp tăng cường hiệu quả của mô hình học tập một lần, cung cấp một biểu diễn mạnh mẽ hơn cho mô hình học tập.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay