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á Học một lần (One-Shot Learning) trong Trí tuệ Nhân tạo. Tìm hiểu cách thức... classify các đối tượng từ một hình ảnh duy nhất bằng cách sử dụng Ultralytics Mạng YOLO26 và mạng Siamese được sử dụng hiệu quả trong thị giác máy tính.

Học một lần (One-Shot Learning) là một kỹ thuật phân loại chuyên biệt trong học máy (ML) được thiết kế để học thông tin về các danh mục đối tượng từ một ví dụ huấn luyện duy nhất. Không giống như các thuật toán học sâu (DL) truyền thống, vốn yêu cầu các tập dữ liệu khổng lồ chứa hàng nghìn hình ảnh được chú thích để khái quát hóa hiệu quả, Học một lần mô phỏng khả năng nhận thức của con người để nắm bắt một khái niệm mới ngay lập tức. Ví dụ, một người thường có thể nhận ra một loài chim kỳ lạ cụ thể sau khi chỉ nhìn thấy nó một lần; phương pháp này cố gắng tái tạo hiệu quả đó trong các hệ thống trí tuệ nhân tạo (AI) . Nó đặc biệt có giá trị trong các trường hợp việc gắn nhãn dữ liệu tốn kém, dữ liệu khan hiếm hoặc cần phải thêm các danh mục mới một cách động mà không cần huấn luyện lại toàn bộ mô hình.

Các cơ chế đằng sau khái niệm

Nguyên tắc cốt lõi của Học một lần (One-Shot Learning) là chuyển mục tiêu từ phân loại tiêu chuẩn sang đánh giá độ tương đồng. Thay vì huấn luyện mạng nơ-ron (NN) để đưa ra nhãn lớp cụ thể (ví dụ: "chó" hoặc "mèo"), mô hình sẽ học một hàm khoảng cách. Một kiến ​​trúc phổ biến được sử dụng cho việc này là mạng nơ-ron Siamese , bao gồm hai mạng con giống hệt nhau và chia sẻ cùng trọng số mô hình .

Trong quá trình hoạt động, mạng nơ-ron thực hiện trích xuất đặc trưng để chuyển đổi ảnh đầu vào thành các vectơ số nhỏ gọn được gọi là embedding . Sau đó, hệ thống so sánh embedding của ảnh truy vấn mới với embedding của ảnh tham chiếu duy nhất. Nếu khoảng cách toán học — thường được tính bằng khoảng cách Euclidean hoặc độ tương đồng cosine — nhỏ hơn một ngưỡng nhất định, các ảnh được xác định là thuộc cùng một lớp. Điều này cho phép mô hình xác minh danh tính hoặc classify các đối tượng dựa trên sự gần gũi của chúng trong không gian đặc trưng đã học.

Sau đây Python Đoạn mã này minh họa cách trích xuất các embedding và tính toán độ tương đồng bằng cách sử dụng một YOLO26 mô hình phân loại từ ultralytics bưu kiện.

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")

# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]

# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))

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

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

Điều quan trọng là phải phân biệt Học một lần (One-Shot Learning) với các kỹ thuật học hiệu quả dữ liệu khác, vì chúng giải quyết các vấn đề tương tự thông qua các ràng buộc khác nhau:

  • Học với số lượng mẫu ít (Few-Shot Learning - FSL) : Đây là phạm trù rộng hơn bao gồm cả Học với số lượng mẫu một lần (One-Shot Learning). Trong FSL, mô hình được cung cấp một "tập dữ liệu hỗ trợ" nhỏ gồm các ví dụ, thường dao động từ hai đến năm hình ảnh cho mỗi lớp. Học với số lượng mẫu một lần đơn giản là trường hợp cực đoan khi kích thước tập dữ liệu hỗ trợ chính xác là một.
  • Học không cần dữ liệu huấn luyện (Zero-Shot Learning - ZSL) : ZSL giải quyết vấn đề nhận dạng các danh mục mà mô hình chưa từng nhìn thấy bằng mắt thường. Thay vì dựa vào hình ảnh tham chiếu, ZSL dựa vào các thuộc tính ngữ nghĩa hoặc mô tả bằng văn bản (ví dụ: xác định "ngựa vằn" bằng cách liên kết các đặc điểm hình ảnh với mô tả bằng văn bản "ngựa sọc") thông qua xử lý ngôn ngữ tự nhiên (NLP) .
  • Học chuyển giao (Transfer Learning ): Phương pháp này bao gồm việc lấy một mô hình đã được huấn luyện trước trên một cơ sở dữ liệu lớn như ImageNet và tinh chỉnh nó trên một nhiệm vụ mới. Trong khi học chuyển giao cung cấp sức mạnh cho các bộ trích xuất đặc trưng được sử dụng trong Học một lần (One-Shot Learning), học chuyển giao tiêu chuẩn thường yêu cầu nhiều hơn một ví dụ để cập nhật trọng số một cách hiệu quả mà không bị quá khớp (overfitting).

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

Học một lần (One-Shot Learning) đã mở ra những khả năng trong các lĩnh vực mà việc thu thập lượng lớn dữ liệu huấn luyện là không khả thi.

Nhận diện khuôn mặt và bảo mật

Ứng dụng phổ biến nhất của Học một lần (One-Shot Learning) là trong bảo mật sinh trắc học. Khi thiết lập Face ID trên điện thoại thông minh hoặc đăng ký vào hệ thống truy cập của nhân viên, thiết bị sẽ thu thập một mô hình toán học duy nhất về khuôn mặt của người dùng. Trong quá trình sử dụng hàng ngày, hệ thống nhận dạng khuôn mặt sẽ so sánh hình ảnh trực tiếp từ camera với mô hình "một lần chụp" đã lưu trữ này để xác minh danh tính. Điều này dựa trên các kỹ thuật nhúng mạnh mẽ, chẳng hạn như những kỹ thuật được thảo luận trong nghiên cứu nền tảng FaceNet , để đảm bảo rằng sự thay đổi về ánh sáng hoặc góc độ không làm hỏng sự trùng khớp về độ tương đồng.

Kiểm soát chất lượng công nghiệp

Trong lĩnh vực sản xuất ứng dụng AI , việc tạo ra một tập dữ liệu cân bằng về các bộ phận "lỗi" rất khó khăn vì lỗi hiếm gặp và không nhất quán. Học một lần (One-Shot Learning) cho phép các hệ thống thị giác máy tính (CV) học cách biểu diễn một bộ phận tham chiếu "hoàn hảo" duy nhất. Bất kỳ sản phẩm nào trên dây chuyền lắp ráp tạo ra kết quả nhúng khác biệt đáng kể so với tham chiếu này sẽ được gắn cờ để phát hiện bất thường . Điều này cho phép đảm bảo chất lượng ngay lập tức mà không cần hàng nghìn hình ảnh về các bộ phận bị hỏng, vốn có thể được quản lý và triển khai thông qua Nền tảng Ultralytics .

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

Mặc dù mạnh mẽ, học một lần (One-Shot Learning) dễ bị ảnh hưởng bởi nhiễu; nếu ảnh tham chiếu duy nhất bị mờ, bị che khuất hoặc không đại diện, khả năng nhận dạng lớp đó của mô hình sẽ giảm đáng kể. Các nhà nghiên cứu thường sử dụng học siêu cấp (meta-learning) , hay "học cách học", để cải thiện tính ổn định và khả năng khái quát hóa của mô hình. Khi các kiến ​​trúc phát triển, các mô hình mới hơn như YOLO26 đang tích hợp các bộ trích xuất đặc trưng mạnh mẽ hơn, giúp suy luận một lần nhanh hơn và chính xác hơn, mở đường cho các thiết bị AI biên thích ứng và thông minh hơn.

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