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), trong đó một model được phát triển cho một tác vụ cụ thể sẽ được tái sử dụng làm điểm khởi đầu cho một model khác cho tác vụ liên quan thứ hai. Thay vì huấn luyện một neural network từ đầu—vốn đòi hỏi các tập dữ liệu khổng lồ và sức mạnh tính toán đáng kể—các nhà phát triển tận dụng kiến thức mà một AI đã đạt được trước đó. Cách tiếp cận này mô phỏng cách con người học tập; ví dụ, biết chơi piano sẽ giúp việc học đàn organ dễ dàng hơn nhiều vì hiểu biết nền tảng về lý thuyết âm nhạc và sự linh hoạt của ngón tay được chuyển đổi sang. Trong ngữ cảnh của deep learning, điều này có nghĩa là một model có thể đạt được độ chính xác cao trên một bài toán mới với ít dữ liệu và thời gian hơn đáng kể.
Link to this sectionTransfer Learning hoạt động như thế nào#
Hiệu quả của transfer learning nằm ở tính 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 thị giác máy tính, học cách nhận diện các mẫu hình theo từng lớp. Các lớp ban đầu của backbone phát hiện các đặc trưng cơ bản, phổ quát như cạnh, đường cong và kết cấu. Những đặc trưng cấp thấp này có thể áp dụng cho hầu hết mọi tác vụ thị giác.
Quy trình này thường bao gồm hai giai đoạn chính:
-
Pre-training: Một model được huấn luyện trên một benchmark dataset quy mô lớn, chẳng hạn như ImageNet, để học các biểu diễn thị giác tổng quát. Kết quả là một tập hợp các model weights đã hiểu về cấu trúc thị giác.
-
Adaptation: Model đã được pre-train sau đó được điều chỉnh cho một tác vụ chuyên biệt. Việc này thường được thực hiện bằng cách "đóng băng" (freeze) các lớp đầu (giữ nguyên trọng số của chúng) và chỉ huấn luyện lại các lớp cuối, hoặc detection head, trên một tập dữ liệu tùy chỉnh nhỏ hơn.
Link to this sectionCá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 chú thích cho từng bệnh lý cụ thể. Tuy nhiên, các nhà nghiên cứu có thể lấy một model đã được pre-train trên các đối tượng thông thường và áp dụng nó vào medical image analysis. Model sẽ chuyển đổi khả năng phát hiện hình dạng và điểm bất thường của nó để xác định các khối u trong ảnh X-quang hoặc bản quét MRI với precision cao.
- AI in Manufacturing: Trong môi trường công nghiệp, các hệ thống kiểm tra thị giác 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 sai sót trên một linh kiện mới cụ thể, chẳng hạn như chip vi xử lý, bằng cách tận dụng các quy trình smart manufacturing để giảm thiểu thời gian ngừng hoạt động.
Link to this sectionMố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 kiến thức, thì fine-tuning đề cập đến quy trình cơ học của việc mở đóng băng các phần của model và huấn luyện chúng trên dữ liệu mới với learning rate thấp hơn.
- vs. Zero-Shot Learning: Transfer learning yêu cầu một giai đoạn huấn luyện với một số dữ liệu đã được gán 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.
Link to this sectionVí dụ thực tế#
Đoạn mã Python sau đây minh họa transfer learning sử dụng thư viện ultralytics. Chúng ta tải model YOLO26, đi kèm với các trọng số đã được pre-train từ tập dữ liệu COCO. Khi chúng ta bắt đầu huấn luyện trên một tập dữ liệu mới, model sẽ tự động chuyển các đặc trưng đã 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ý tập dữ liệu và thực hiện các đợt huấn luyện này trên đám mây, các công cụ như Ultralytics Platform giúp hợp lý hóa quy trình, cho phép các nhóm cộng tác chú thích dữ liệu và triển khai các model đã học thông qua transfer learning một cách hiệu quả.
Để tìm hiểu sâu hơn về lý thuyết học thuật, Stanford CS231n notes cung cấp một cái nhìn tổng quan tuyệt vời, trong khi PyTorch Transfer Learning Tutorial cung cấp các chi tiết kỹ thuật phong phú để triển khai.






