Tinh chỉnh là một kỹ thuật phổ biến trong học máy (ML) liên quan đến việc lấy một mô hình đã được đào tạo trên một tập dữ liệu lớn (một mô hình được đào tạo trước) và đào tạo thêm trên một tập dữ liệu nhỏ hơn, cụ thể có liên quan đến một tác vụ cụ thể. Phương pháp này tận dụng kiến thức chung mà mô hình học được trong quá trình đào tạo ban đầu, điều chỉnh mô hình để vượt trội trong một lĩnh vực chuyên biệt hơn mà không cần phải đào tạo mô hình từ đầu. Điều này tiết kiệm đáng kể thời gian và tài nguyên tính toán, khiến nó trở thành một thông lệ phổ biến trong các lĩnh vực như thị giác máy tính (CV) và xử lý ngôn ngữ tự nhiên (NLP) . Các khuôn khổ như PyTorch và TensorFlow cung cấp các công cụ cần thiết để triển khai tinh chỉnh.
Tinh chỉnh hoạt động như thế nào
Quá trình này thường bắt đầu bằng việc chọn một mô hình được đào tạo trước, chẳng hạn như mô hình Ultralytics YOLO được đào tạo trên một tập dữ liệu rộng như COCO hoặc ImageNet . Các mô hình này, thường là Mạng nơ-ron tích chập (CNN) cho thị giác hoặc Transformers cho NLP, đã học cách nhận dạng các đặc điểm chung từ dữ liệu đào tạo ban đầu của chúng. Trong quá trình tinh chỉnh, trọng số mô hình —các tham số đã học trong quá trình đào tạo—được điều chỉnh dựa trên tập dữ liệu mới, nhỏ hơn. Thông thường, các lớp ban đầu của mạng (học các đặc điểm chung như cạnh hoặc kết cấu) được giữ "đông cứng" (trọng số của chúng không được cập nhật), trong khi các lớp sau, cụ thể hơn cho tác vụ được đào tạo lại. Việc đào tạo lại này thường bao gồm việc sử dụng tốc độ học thấp hơn so với tốc độ được sử dụng trong quá trình đào tạo ban đầu để thực hiện các điều chỉnh nhỏ hơn đối với các trọng số, bảo toàn kiến thức đã học trước đó trong khi thích ứng với các sắc thái của tác vụ mới. Bạn có thể tìm thêm thông tin chi tiết về cơ chế trong các tài nguyên như khóa học fast.ai.
Tại sao nên sử dụng chức năng tinh chỉnh?
Việc tinh chỉnh mang lại một số lợi thế quan trọng:
- Giảm thời gian đào tạo: Bắt đầu với một mô hình được đào tạo trước sẽ cắt giảm đáng kể thời gian cần thiết so với đào tạo từ đầu, vì mô hình đã hiểu được các mẫu cơ bản.
- Yêu cầu dữ liệu thấp hơn: Tinh chỉnh thường có thể đạt được kết quả tốt ngay cả với dữ liệu cụ thể cho nhiệm vụ hạn chế, vì nó dựa trên kiến thức sâu rộng thu được từ tập dữ liệu ban đầu lớn. Các nền tảng như Kaggle thường tổ chức các cuộc thi trong đó tinh chỉnh là chiến lược chính.
- Hiệu suất được cải thiện: Bằng cách tận dụng các tính năng học được từ các tập dữ liệu lớn, việc tinh chỉnh có thể mang lại độ chính xác cao hơn và khả năng khái quát tốt hơn về tác vụ mục tiêu, đặc biệt là khi tập dữ liệu mục tiêu nhỏ.
- Khả năng truy cập: Nó giúp các mô hình tiên tiến có thể truy cập được đối với những người thực hành có thể không có đủ nguồn lực tính toán cần thiết cho quá trình đào tạo trước ban đầu. Hugging Face cung cấp một kho lưu trữ lớn các mô hình được đào tạo trước sẵn sàng để tinh chỉnh.
Khám phá thêm các mẹo đào tạo mô hình để tối ưu hóa quy trình.
Tinh chỉnh so với các khái niệm liên quan
Điều quan trọng là phải phân biệt tinh chỉnh với các khái niệm ML tương tự:
- Học chuyển giao : Đây là một khái niệm rộng trong đó kiến thức thu được từ một nhiệm vụ được áp dụng cho một nhiệm vụ khác nhưng có liên quan. Tinh chỉnh là một phương pháp học chuyển giao cụ thể trong đó trọng số của mô hình được đào tạo trước được đào tạo thêm (điều chỉnh) trên dữ liệu của nhiệm vụ mới. Các phương pháp học chuyển giao khác có thể liên quan đến việc sử dụng mô hình chỉ để trích xuất tính năng . Tìm hiểu thêm từ các nguồn như Khóa học học máy của Andrew Ng .
- Trích xuất tính năng : Trong phương pháp này, mô hình được đào tạo trước (thường là loại bỏ các lớp cuối cùng) được sử dụng như một trình trích xuất tính năng cố định. Các đầu ra (tính năng) sau đó được đưa vào một mô hình mới, thường đơn giản hơn (như SVM hoặc mạng nơ-ron nhỏ) được đào tạo từ đầu trên tập dữ liệu mới. Không giống như tinh chỉnh, trọng số của mô hình được đào tạo trước chính thường không được cập nhật.
- Điều chỉnh siêu tham số : Điều này liên quan đến việc tìm bộ siêu tham số tối ưu (ví dụ: tốc độ học, kích thước lô , số kỷ nguyên , lựa chọn kiến trúc mạng) trước khi quá trình đào tạo hoặc tinh chỉnh bắt đầu. Nó tối ưu hóa cấu hình của quá trình học, trong khi tinh chỉnh tối ưu hóa trọng số mô hình dựa trên dữ liệu. Các công cụ như Ultralytics Tuner tự động tìm kiếm siêu tham số.
Ứng dụng trong thế giới thực
Tinh chỉnh được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau:
- Phân tích hình ảnh y tế : Một mô hình thị giác được đào tạo trước trên ImageNet có thể được tinh chỉnh trên một tập dữ liệu nhỏ hơn gồm các hình chụp X-quang hoặc CT để phát hiện các tình trạng cụ thể như viêm phổi hoặc khối u não . Điều này tận dụng khả năng học được của mô hình để nhận dạng hình dạng và kết cấu để chẩn đoán y tế. Nghiên cứu trong lĩnh vực này thường được công bố trên các nền tảng như arXiv .
- Phát hiện đối tượng chuyên biệt: Một máy dò đối tượng chung như YOLO , được đào tạo trước trên COCO , có thể được tinh chỉnh để xác định các mục cụ thể trong các môi trường thích hợp, chẳng hạn như các loại khiếm khuyết cụ thể trong AI trong kiểm soát chất lượng sản xuất hoặc các loài động vật cụ thể để bảo tồn động vật hoang dã .
- Chatbot tùy chỉnh và Phân tích văn bản: Các mô hình ngôn ngữ lớn như BERT (được giải thích trong Blog AI Google ) hoặc GPT-3 từ OpenAI có thể được tinh chỉnh trên các tài liệu cụ thể của công ty hoặc nhật ký dịch vụ khách hàng để tạo ra các hệ thống trả lời câu hỏi chuyên biệt hoặc thực hiện phân tích tình cảm có độ chính xác cao cho các ngành cụ thể. Stanford NLP Group là đơn vị đóng góp chính cho nghiên cứu NLP.
Khám phá thêm nhiều ứng dụng trong cộng đồng thị giác máy tính .
Tinh chỉnh Ultralytics YOLO Mô hình
Ultralytics cung cấp hỗ trợ mạnh mẽ cho việc tinh chỉnh của nó YOLO mô hình. Người dùng có thể dễ dàng tải các trọng số được đào tạo trước (ví dụ: từ các mô hình được đào tạo trên COCO) và tiếp tục đào tạo trên tập dữ liệu tùy chỉnh của riêng họ cho các tác vụ như phát hiện, phân đoạn hoặc phân loại. Tài liệu Ultralytics cung cấp hướng dẫn chi tiết về quy trình đào tạo , cho phép người dùng điều chỉnh các mô hình tiên tiến như YOLO11 cho các thách thức về thị giác máy tính cụ thể của họ. Các nền tảng như Ultralytics HUB hợp lý hóa hơn nữa quy trình đào tạo tùy chỉnh . Khả năng thích ứng này là chìa khóa để đạt được hiệu suất tối ưu trong nhiều ứng dụng khác nhau, từ AI trong nông nghiệp đến robot . Có thể tìm thêm thông tin về các kỹ thuật học chuyển giao trên các nền tảng giáo dục như Chuyên ngành học sâu của Coursera và các trang web như Papers with Code hoặc Distill.pub để biết thông tin chi tiết về nghiên cứu.