YOLO Vision Thâm Quyến
Thâm Quyến
Tham gia ngay
Thuật ngữ

Bài toán số học

Khám phá cách thức tính toán tác vụ sử dụng cập nhật trọng số để chỉnh sửa hành vi của mô hình. Tìm hiểu cách hợp nhất các tác vụ hoặc loại bỏ các tính năng trong Ultralytics YOLO26 mà không cần huấn luyện lại hoàn toàn.

Phép toán tác vụ (Task arithmetic) là một kỹ thuật học máy tiên tiến liên quan đến việc điều chỉnh hành vi của các mạng nơ-ron đã được huấn luyện trước bằng cách cộng hoặc trừ các cập nhật trọng số cụ thể. Thay vì huấn luyện lại hoàn toàn một mô hình từ đầu, người thực hành có thể phân lập sự khác biệt đã học được giữa một mô hình cơ bản và một mô hình được tinh chỉnh. Những khác biệt này về cơ bản là các cập nhật theo hướng cụ thể, gói gọn một khả năng hoặc hành vi nhất định. Bằng cách áp dụng các phép toán cơ bản như cộng và trừ cho các cập nhật này, các nhà phát triển có thể chỉnh sửa động các hệ thống học sâu . Mô hình này đã thu hút được sự chú ý đáng kể trong các nghiên cứu gần đây trên arXiv về phép toán tác vụ , cung cấp một phương pháp nhẹ nhàng và tiết kiệm tính toán để điều chỉnh các mô hình quy mô lớn cho các yêu cầu mới.

Khái niệm này hoạt động như thế nào?

Nền tảng của kỹ thuật này dựa trên việc tính toán sự khác biệt về trọng số mô hình giữa một mô hình cơ bản được huấn luyện trước và một phiên bản đã được tinh chỉnh trên một tập dữ liệu cụ thể. Sự khác biệt riêng biệt này trở thành một biểu diễn cục bộ của kỹ năng mới. Bằng cách thao tác trực tiếp với các từ điển trạng thái PyTorch hoặc sử dụng các phương pháp huấn luyện TensorFlow , các kỹ sư có thể mở rộng và kết hợp các sự khác biệt về trọng số này. Ví dụ, việc trừ đi một bản cập nhật trọng số cụ thể có thể buộc mô hình "quên" một hành vi đã học, một khái niệm được nghiên cứu sâu rộng trong nghiên cứu Anthropic về tính an toàn của mô hình .

Các Ứng dụng Thực tế

Tính toán tác vụ mở khóa một số quy trình làm việc hiệu quả cao trong các hệ thống xử lý ngôn ngữ tự nhiên và thị giác máy tính hiện đại:

  • Kết hợp khả năng đa nhiệm : Các kỹ sư có thể huấn luyện mô hình cơ bản Ultralytics YOLO26 trên hai tập dữ liệu riêng biệt một cách độc lập—một tập dữ liệu dành cho phát hiện đối tượng chuyên biệt và một tập dữ liệu khác dành cho phân loại hình ảnh . Bằng cách tính toán sự khác biệt về trọng số cho cả hai nhiệm vụ và cộng chúng trở lại mô hình cơ bản, mạng lưới kết quả có thể thực hiện cả hai nhiệm vụ đồng thời mà không bị hiện tượng quên nghiêm trọng.
  • Loại bỏ dữ liệu sai lệch có mục tiêu để đảm bảo an toàn cho AI : Nếu một mô hình thị giác vô tình học được các đặc điểm thiên lệch từ dữ liệu huấn luyện, các nhà nghiên cứu có thể tinh chỉnh một bản sao trên dữ liệu thiên lệch đó, trích xuất sự khác biệt về trọng số cụ thể và trừ chúng khỏi mô hình gốc. Như đã được ghi nhận trong nhiều phát hiện Google DeepMind , điều này giúp xóa bỏ hiệu quả hành vi không mong muốn trong khi vẫn bảo toàn khả năng trí tuệ nhân tạo tổng quát của mô hình.

Phân biệt các khái niệm liên quan

Khi duyệt qua kho lưu trữ IEEE Xplore hoặc thư viện số ACM , người ta dễ nhầm lẫn phép toán tính toán tác vụ với các phương pháp luận liên quan:

  • Các vectơ nhiệm vụ : Đây là các tenxơ toán học thực tế (sự khác biệt về trọng số được tính toán) được sử dụng trong quá trình tính toán. Phép toán nhiệm vụ là khuôn khổ tổng thể để cộng hoặc trừ các vectơ này.
  • Ghép mô hình : Đây là thuật ngữ rộng hơn để chỉ việc kết hợp nhiều mô hình. Mặc dù phép toán số học là một cách để ghép các mô hình, việc ghép cũng có thể liên quan đến các mạng định tuyến phức tạp hoặc tập hợp các mô hình.
  • Học chuyển giao (Transfer Learning ): Theo khái niệm học chuyển giao trên Wikipedia , phương pháp này sử dụng kiến ​​thức từ một nhiệm vụ làm điểm xuất phát cho một nhiệm vụ khác, thường yêu cầu thêm các vòng huấn luyện. Phép toán số học trong nhiệm vụ (Task arithmetic) điều chỉnh hành vi hoàn toàn thông qua các phép tính trọng số trực tiếp mà không cần thêm vòng huấn luyện nào.

Thực hiện các phép toán số học

Việc áp dụng các chiến lược tối ưu hóa mô hình này trong thực tế đòi hỏi phải quản lý cẩn thận trạng thái nội bộ của mô hình. Dưới đây là một ví dụ về việc tính toán và áp dụng bản cập nhật bằng cách sử dụng PyTorch một kỹ thuật thường được thảo luận trong các bài báo về thị giác máy tính gần đây .

import torch

# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")

# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
    task_vector = tuned_weights[key] - base_weights[key]
    base_weights[key] += scaling_factor * task_vector

Đối với các nhóm quản lý quy trình chú thích dữ liệu phức tạp và nhiều phiên bản mô hình được tinh chỉnh, Nền tảng Ultralytics cung cấp một môi trường hợp lý để giám sát quá trình huấn luyện trên đám mây và triển khai liền mạch, giúp quản lý việc cải tiến mô hình lặp đi lặp lại hiệu quả hơn nhiều.

Hãy cùng nhau xây dựng tương lai của trí tuệ nhân tạo!

Bắt đầu hành trình của bạn với tương lai của học máy