One-Shot Learning
Khám phá One-Shot Learning trong AI. Tìm hiểu cách phân loại vật thể từ một hình ảnh duy nhất bằng Ultralytics YOLO26 và Siamese network để có computer vision hiệu quả.
Học một mẫu 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 nhóm đối tượng chỉ từ một mẫu huấn luyện duy nhất. Khác với các thuật toán học sâu (DL) truyền thống, vốn yêu cầu tập dữ liệu khổng lồ chứa hàng nghìn hình ảnh được gắn nhãn để khái quát hóa hiệu quả, Học một mẫu mô phỏng khả năng nhận thức của con người trong việc nắm bắt ngay lập tức một khái niệm mới. Ví dụ, một người thường có thể nhận ra một loài chim kỳ lạ cụ thể chỉ sau một lần nhìn thấy; 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). Phương pháp này đặc biệt có giá trị trong các tình huống mà gắn nhãn dữ liệu tốn kém, dữ liệu khan hiếm hoặc cần bổ sung các nhóm mới một cách linh động mà không phải huấn luyện lại toàn bộ model.
Cơ chế đằng sau khái niệm#
Nguyên lý cốt lõi của Học một mẫu 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ột mạng nơ-ron (NN) để xuất ra nhãn lớp cụ thể (ví dụ: "chó" hoặc "mèo"), model học một hàm khoảng cách. Một kiến trúc phổ biến được sử dụng cho mục đích này là mạng nơ-ron Siamese, bao gồm hai mạng con giống hệt nhau và dùng chung trọng số model.
Trong quá trình vận hành, mạng thực hiện trích xuất đặc trưng để chuyển đổi hình ảnh đầu vào thành các vector số nhỏ gọn, được gọi là embedding. Sau đó, hệ thống so sánh embedding của một hình ảnh truy vấn mới với embedding của "mẫu" 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 Euclid hoặc độ tương đồng cosine—nhỏ hơn một ngưỡng nhất định, các hình ảnh được xác định là thuộc cùng một lớp. Điều này cho phép model xác minh danh tính hoặc phân loại đối tượng dựa trên mức độ gần nhau của chúng trong không gian đặc trưng đã học.
Đoạn mã Python sau đây minh họa cách trích xuất embedding và tính độ tương đồng bằng model phân loại YOLO26 từ package ultralytics.
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ân biệt Học một mẫu với các kỹ thuật học tiết kiệm dữ liệu khác, vì chúng giải quyết các vấn đề tương tự thông qua những ràng buộc khác nhau:
- Học vài mẫu (FSL): Đây là danh mục rộng hơn bao hàm Học một mẫu. Trong FSL, model được cung cấp một "tập hỗ trợ" nhỏ gồm các mẫu, thường từ hai đến năm hình ảnh cho mỗi lớp. Học một mẫu đơn giản là trường hợp cực hạn, trong đó kích thước tập hỗ trợ chính xác bằng một.
- Học không mẫu (ZSL): ZSL tập trung vào việc nhận dạng các nhóm mà model chưa từng thấy về mặt hình ảnh. Thay vì sử dụng 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ụ: nhận dạng "ngựa vằn" bằng cách liên kết các đặc trưng hình ảnh với mô tả văn bản "ngựa có sọc") thông qua xử lý ngôn ngữ tự nhiên (NLP).
- Học chuyển giao: Phương pháp này sử dụng một model đã được huấn luyện trước trên cơ sở dữ liệu lớn như ImageNet và tinh chỉnh model đó cho một tác vụ mới. Mặc dù học chuyển giao cung cấp các bộ trích xuất đặc trưng được sử dụng trong Học một mẫu, học chuyển giao tiêu chuẩn thường cần nhiều hơn một mẫu để cập nhật trọng số hiệu quả mà không gặp phải quá khớp.
Các ứng dụng trong thực tế#
Học một mẫu đã mở ra các khả năng trong những lĩnh vực mà việc thu thập lượng lớn dữ liệu huấn luyện là không thực tế.
Nhận dạng khuôn mặt và bảo mật#
Ứng dụng phổ biến nhất của Học một mẫu là trong bảo mật sinh trắc học. Khi thiết lập Face ID trên smartphone hoặc đăng ký vào hệ thống kiểm soát ra vào dành cho nhân viên, thiết bị sẽ thu nhận một biểu diễn toán học duy nhất của khuôn mặt 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 so sánh hình ảnh trực tiếp từ camera với "mẫu một lần" được lưu trữ để xác minh danh tính. Quy trình này dựa trên các kỹ thuật embedding mạnh mẽ, chẳng hạn như những kỹ thuật được trình bày trong nghiên cứu FaceNet nền tảng, nhằm đảm bảo rằng những thay đổi về ánh sáng hoặc góc chụp không làm sai lệch kết quả so khớp độ tương đồng.
Kiểm soát chất lượng công nghiệp#
Trong AI trong sản xuất, việc tạo một tập dữ liệu cân bằng gồm các bộ phận "bị lỗi" rất khó vì lỗi hiếm gặp và không nhất quán. Học một mẫu cho phép các hệ thống thị giác máy tính (CV) học biểu diễn của 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 embedding có khoảng cách đá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 hỏng, đồng thời 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 mẫu dễ bị ảnh hưởng bởi nhiễu; nếu hình ảnh tham chiếu duy nhất bị mờ, che khuất hoặc không mang tính đại diện, khả năng nhận dạng lớp đó của model sẽ suy giảm đáng kể. Các nhà nghiên cứu thường sử dụng meta-learning, hay "học cách học", để cải thiện độ ổn định và khả năng khái quát hóa của model. Khi các kiến trúc tiếp tục phát triển, những model 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 mẫu nhanh 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.









