Transfer Learning
Khám phá transfer learning để đào tạo AI có độ chính xác cao với ít dữ liệu hơn. Tìm hiểu cách tận dụng các trọng số được đào tạo trước của Ultralytics YOLO26 để tăng tốc các dự án thị giác máy tính của bạn.
Transfer learning là một kỹ thuật mạnh mẽ trong machine learning (ML), nơi một model được phát triển cho một tác vụ cụ thể được tái sử dụng làm điểm khởi đầu cho model trên một tác vụ thứ hai có liên quan. Thay vì train một neural network từ đầu—còi hỏi các dataset lớn và năng lực tính toán đáng kể—các developer tận dụng tri thức mà AI đã đạt được trước đó. Phương pháp này mô phỏng cách con người học tập; ví dụ, biết cách chơi piano giúp việc học đàn organ trở nên dễ dàng hơn nhiều vì sự thấu hiểu nền tảng về lý thuyết âm nhạc và sự khéo léo của ngón tay được chuyển giao sang. Trong bối cảnh của deep learning, điều này có nghĩa là một model có thể đạt độ chính xác cao trên một bài toán mới với lượng dữ liệu và thời gian ít hơn đáng kể.
Transfer Learning hoạt động như thế nào#
Hiệu quả của transfer learning nằm ở tính chất phân cấp của feature extraction. Các model deep learning, đặc biệt là những model được sử dụng trong computer vision, học cách nhận diện các pattern theo các layer. Các layer ban đầu của backbone phát hiện các feature đơn giản, phổ quát như cạnh, đường cong và kết cấu. Các feature cấp thấp này có thể áp dụng cho hầu hết mọi tác vụ trực quan.
Quy trình này thường bao gồm hai giai đoạn chính:
-
Pre-training: Một model được train trên một benchmark dataset quy mô lớn, chẳng hạn như ImageNet, để học các biểu diễn trực quan tổng quát. Quá trình này tạo ra một tập hợp model weights đã hiểu sẵn cấu trúc trực quan.
-
Adaptation: Model đã được pre-train sau đó được thích ứng với một tác vụ ngách cụ thể. Quá trình này thường được thực hiện bằng cách "đóng băng" (freezing) các layer đầu (giữ nguyên trọng số của chúng) và train lại chỉ các layer cuối cùng, hoặc detection head, trên một dataset tùy chỉnh nhỏ hơn.
Các ứng dụng trong thực tế#
Transfer learning đã dân chủ hóa AI bằng cách cho phép các giải pháp chuyên biệt được xây dựng mà không cần đến tài nguyên của các tập đoàn công nghệ lớn.
- AI in Healthcare: Rất khó để thu thập hàng triệu hình ảnh y tế được gán nhãn cho mọi bệnh lý cụ thể. Tuy nhiên, các researcher có thể lấy một model được pre-train trên các đối tượng hàng ngày và áp dụng nó vào medical image analysis. Model truyền tải khả năng phát hiện hình dạng và các điểm bất thường của nó để nhận diện khối u trong ảnh X-quang hoặc quét MRI với precision cao.
- AI in Manufacturing: Trong các môi trường công nghiệp, các hệ thống kiểm tra trực quan phải thích ứng nhanh chóng với các dòng sản phẩm mới. Một model phát hiện lỗi tổng quát có thể được cập nhật nhanh chóng để phát hiện các khiếm khuyết trong một linh kiện mới cụ thể, chẳng hạn như vi mạch, tận dụng các quy trình smart manufacturing để giảm thiểu thời gian ngừng hoạt động.
Mối quan hệ với các khái niệm khác#
Sẽ rất hữu ích khi phân biệt transfer learning với các thuật ngữ có liên quan chặt chẽ:
- vs. Fine-Tuning: Fine-tuning là một phương pháp cụ thể để triển khai transfer learning. Trong khi transfer learning là khái niệm bao trùm về việc tái sử dụng tri thức, fine-tuning đề cập đến quy trình cơ học là bỏ đóng băng các phần của model và train chúng trên dữ liệu mới với learning rate thấp hơn.
- vs. Zero-Shot Learning: Transfer learning đòi hỏi một giai đoạn train với một phần dữ liệu có nhãn cho tác vụ mới. Ngược lại, zero-shot learning cố gắng phân loại các đối tượng mà model chưa từng thấy trước đây, thường dựa vào các mô tả ngữ nghĩa thay vì các ví dụ trực quan.
Ví dụ thực tế#
Đoạn mã Python sau đây minh họa transfer learning bằng cách sử dụng thư viện ultralytics. Chúng ta load model YOLO26, đi kèm với các trọng số được pre-train có nguồn gốc từ dataset COCO. Khi chúng ta khởi tạo quá trình train trên một dataset mới, model sẽ tự động chuyển giao các feature đã học trước đó sang tác vụ mới.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)Để quản lý dataset và thực thi các lượt train này trên đám mây, các công cụ như Ultralytics Platform đơn giản hóa quy trình, cho phép các team cộng tác trong việc gán nhãn dữ liệu và deploy các model đã transfer-learning một cách hiệu quả.
Để tìm hiểu sâu hơn về lý thuyết hàn lâm, Stanford CS231n notes cung cấp một cái nhìn tổng quan xuất sắc, trong khi PyTorch Transfer Learning Tutorial cung cấp các chi tiết kỹ thuật phong phú để triển khai.






