Few-Shot Learning
Khám phá Few-Shot Learning (FSL) để huấn luyện AI với dữ liệu tối thiểu. Tìm hiểu cách Ultralytics YOLO26 tận dụng meta-learning để thích ứng nhanh chóng và đạt độ chính xác cao.
Few-Shot Learning (FSL) là một lĩnh vực chuyên biệt của machine learning (ML) được thiết kế để huấn luyện các model nhận diện và phân loại các khái niệm mới bằng cách sử dụng rất ít ví dụ có gán nhãn. Trong deep learning (DL) truyền thống, việc đạt được độ chính xác cao thường đòi hỏi các tập dữ liệu khổng lồ chứa hàng ngàn hình ảnh cho mỗi danh mục. Tuy nhiên, FSL mô phỏng khả năng nhận thức của con người trong việc khái quát hóa nhanh chóng từ kinh nghiệm hạn chế—giống như cách một đứa trẻ có thể nhận ra con hươu cao cổ sau khi chỉ nhìn thấy một hoặc hai bức tranh trong sách. Khả năng này đóng vai trò thiết yếu trong việc triển khai artificial intelligence (AI) vào các kịch bản mà việc thu thập lượng lớn training data tốn kém chi phí, mất nhiều thời gian hoặc gần như bất khả thi.
Các cơ chế cốt lõi của Few-Shot Learning#
Mục tiêu chính của FSL là giảm sự phụ thuộc vào việc thu thập dữ liệu diện rộng bằng cách tận dụng kiến thức trước đó. Thay vì học các mẫu từ đầu, model sử dụng một "support set" chứa một vài ví dụ có gán nhãn để hiểu các lớp mới. Điều này thường đạt được thông qua các kỹ thuật nâng cao như meta-learning, còn được gọi là "learning to learn". Trong mô hình này, model được huấn luyện trên nhiều tác vụ khác nhau để nó học được quy tắc khởi tạo hoặc cập nhật tối ưu, cho phép nó thích ứng với các tác vụ mới với mức độ điều chỉnh tối thiểu.
Một phương pháp phổ biến khác liên quan đến học dựa trên metric, trong đó model học cách ánh xạ dữ liệu đầu vào thành một không gian véc-tơ bằng cách sử dụng embeddings. Trong không gian này, các mục tương tự được nhóm lại gần nhau trong khi các mục không tương tự bị đẩy ra xa nhau. Các thuật toán như Prototypical Networks tính toán một biểu diễn trung bình, hay prototype, cho mỗi lớp và phân loại các mẫu truy vấn mới dựa trên khoảng cách của chúng đến các prototype này. Điều này thường dựa vào khả năng feature extraction được phát triển trong quá trình tiền huấn luyện trên các tập dữ liệu tổng quát, lớn hơn.
Các ứng dụng trong thực tế#
Few-Shot Learning đang chuyển đổi các ngành công nghiệp nơi sự khan hiếm dữ liệu trước đây đã cản trở việc áp dụng các công nghệ AI.
Chẩn đoán và Hình ảnh Y tế#
Trong lĩnh vực medical image analysis, việc thu thập hàng ngàn bản quét được gán nhãn cho các bệnh lý hiếm gặp thường là bất khả thi. FSL cho phép các nhà nghiên cứu huấn luyện hệ thống computer vision (CV) để phát hiện các loại khối u hiếm gặp hoặc các bất thường di truyền cụ thể chỉ bằng một số ít các trường hợp nghiên cứu đã được chú thích. Khả năng này giúp dân chủ hóa quyền truy cập vào các công cụ chẩn đoán nâng cao, một mục tiêu theo đuổi bởi các tổ chức như Stanford Medicine, giúp xác định các tình trạng mà nếu không sẽ đòi hỏi chuyên môn đặc thù của con người.
Kiểm soát chất lượng công nghiệp#
AI in manufacturing hiện đại phụ thuộc nhiều vào việc kiểm tra tự động. Tuy nhiên, các lỗi cụ thể có thể xảy ra rất hiếm, khiến việc xây dựng một tập dữ liệu lớn về các linh kiện "hỏng" trở nên khó khăn. FSL cho phép các hệ thống anomaly detection học các đặc điểm của một loại lỗi mới chỉ từ một vài hình ảnh. Điều này cho phép các nhà vận hành nhà máy cập nhật nhanh chóng các quy trình đảm bảo chất lượng của họ mà không phải dừng sản xuất để thu thập dữ liệu, cải thiện đáng kể hiệu suất trong các môi trường sản xuất động.
Phân biệt các khái niệm liên quan#
Việc phân biệt FSL với các mô hình học tập ít dữ liệu tương tự là rất hữu ích để hiểu rõ phân khúc cụ thể của nó:
- Transfer Learning: FSL thường được triển khai như một dạng transfer learning cụ thể, cực đoan. Trong khi transfer learning tiêu chuẩn có thể fine-tune một model như YOLO26 trên hàng trăm hình ảnh, FSL nhắm đến các kịch bản có lẽ chỉ với 5 đến 10 hình ảnh cho mỗi lớp (được gọi là phân loại "N-way K-shot").
- One-Shot Learning: Đây là một tập con nghiêm ngặt của FSL, trong đó model phải học từ chính xác một ví dụ được gán nhãn. Nó thường được sử dụng trong facial recognition để xác thực danh tính dựa trên một bức ảnh duy nhất được lưu trữ.
- Zero-Shot Learning: Khác với FSL, vốn đòi hỏi ít nhất một tập hỗ trợ trực quan nhỏ, Zero-Shot Learning không đòi hỏi bất kỳ ví dụ trực quan nào của lớp mục tiêu trong quá trình huấn luyện. Thay vào đó, nó dựa vào các mô tả hoặc thuộc tính ngữ nghĩa (như text prompt) để nhận diện các đối tượng chưa từng thấy.
Triển khai thực tế với Ultralytics#
Trong thực tế, một trong những cách hiệu quả nhất để thực hiện Few-Shot Learning là tận dụng một model được tiền huấn luyện cực kỳ mạnh mẽ. Các model tiên tiến như YOLO26 mới hơn đã học các biểu diễn đặc trưng phong phú từ các tập dữ liệu khổng lồ như COCO hoặc ImageNet. Bằng cách fine-tune các model này trên một tập dữ liệu tùy chỉnh nhỏ, chúng có thể thích ứng với các tác vụ mới với tốc độ và độ chính xác đáng kinh ngạc.
Ví dụ bằng Python sau đây minh họa cách huấn luyện một model trên một tập dữ liệu nhỏ bằng cách sử dụng package ultralytics, qua đó thực hiện quá trình thích ứng ít mẫu một cách hiệu quả:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (incorporates learned features)
model = YOLO("yolo26n.pt")
# Fine-tune on a tiny dataset (e.g., coco8 has only 4 images per batch)
# This leverages the model's prior knowledge for the new task
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# The model adapts to detect objects in the small dataset
print("Few-shot adaptation complete.")Những thách thức và Triển vọng tương lai#
Dù rất mạnh mẽ, FSL vẫn đối mặt với các thách thức liên quan đến độ tin cậy. Nếu một vài ví dụ được cung cấp là các điểm ngoại lai hoặc chứa nhiễu, hiệu suất của model có thể suy giảm, một vấn đề được gọi là overfitting. Nghiên cứu về data augmentation và tạo synthetic data đóng vai trò quan trọng trong việc giảm thiểu các rủi ro này. Khi các foundation models ngày càng lớn và có năng lực hơn, đồng thời các công cụ như Ultralytics Platform đơn giản hóa việc huấn luyện và quản lý model, khả năng tạo ra các giải pháp AI tùy chỉnh với lượng dữ liệu tối thiểu sẽ trở nên ngày càng dễ tiếp cận với các lập trình viên trên toàn thế giới.






