Khám phá cách các mô hình khuếch tán sử dụng trí tuệ nhân tạo tạo sinh để tạo ra dữ liệu chất lượng cao. Tìm hiểu cách nâng cao Ultralytics Hôm nay tôi đang huấn luyện YOLO26 với dữ liệu tổng hợp thực tế.
Mô hình khuếch tán là một lớp thuật toán AI tạo sinh học cách tạo ra các mẫu dữ liệu mới bằng cách đảo ngược quá trình thêm nhiễu dần dần. Không giống như các mô hình phân biệt truyền thống được sử dụng cho các tác vụ như phát hiện đối tượng hoặc phân loại, dự đoán nhãn từ dữ liệu, mô hình khuếch tán tập trung vào việc tạo ra nội dung có độ chính xác cao—đặc biệt là hình ảnh, âm thanh và video—bắt chước sát sao các đặc tính thống kê của dữ liệu thực tế. Chúng đã nhanh chóng trở thành giải pháp tiên tiến nhất cho việc tổng hợp hình ảnh độ phân giải cao, vượt qua các giải pháp hàng đầu trước đây như Mạng đối kháng tạo sinh (GAN) nhờ tính ổn định trong quá trình huấn luyện và khả năng tạo ra nhiều đầu ra khác nhau.
Cơ chế cốt lõi của mô hình khuếch tán dựa trên nhiệt động lực học phi cân bằng. Quá trình huấn luyện bao gồm hai giai đoạn riêng biệt: quá trình thuận (khuếch tán) và quá trình nghịch (khử nhiễu).
Quá trình tinh chỉnh lặp đi lặp lại này cho phép kiểm soát vượt trội các chi tiết nhỏ và kết cấu, một lợi thế đáng kể so với các phương pháp tạo hình một bước duy nhất.
Các mô hình khuếch tán đã vượt ra khỏi phạm vi nghiên cứu học thuật và trở thành những công cụ thực tiễn, ứng dụng trong sản xuất ở nhiều ngành công nghiệp khác nhau.
Việc phân biệt các mô hình khuếch tán với các kiến trúc tạo sinh khác là rất hữu ích:
Mặc dù việc huấn luyện một mô hình khuếch tán từ đầu đòi hỏi lượng tài nguyên tính toán đáng kể, các kỹ sư có thể tận dụng các mô hình đã được huấn luyện trước hoặc tích hợp chúng vào quy trình làm việc cùng với các bộ phát hiện hiệu quả. Ví dụ, bạn có thể sử dụng mô hình khuếch tán để tạo ra các biến thể nền cho một tập dữ liệu và sau đó sử dụng Nền tảng Ultralytics để chú thích và huấn luyện một mô hình phát hiện trên dữ liệu được cải tiến đó.
Dưới đây là một ví dụ minh họa sử dụng torch để mô phỏng bước khuếch tán thuận đơn giản (thêm nhiễu), đây là nền tảng của việc huấn luyện các hệ thống này.
import torch
def add_noise(image_tensor, noise_level=0.1):
"""Simulates a single step of the forward diffusion process by adding Gaussian noise."""
# Generate Gaussian noise with the same shape as the input image
noise = torch.randn_like(image_tensor) * noise_level
# Add noise to the original image
noisy_image = image_tensor + noise
# Clamp values to ensure they remain valid image data (e.g., 0.0 to 1.0)
return torch.clamp(noisy_image, 0.0, 1.0)
# Create a dummy image tensor (3 channels, 64x64 pixels)
dummy_image = torch.rand(1, 3, 64, 64)
noisy_result = add_noise(dummy_image)
print(f"Original shape: {dummy_image.shape}, Noisy shape: {noisy_result.shape}")
Lĩnh vực này đang nhanh chóng phát triển theo hướng các mô hình khuếch tán tiềm ẩn (LDM), hoạt động trong không gian tiềm ẩn được nén thay vì không gian pixel để giảm chi phí tính toán. Hiệu quả này giúp việc chạy các mô hình tạo sinh mạnh mẽ trên phần cứng của người tiêu dùng trở nên khả thi. Khi nghiên cứu tiếp tục, chúng ta kỳ vọng sẽ có sự tích hợp chặt chẽ hơn giữa các đầu vào tạo sinh và các nhiệm vụ phân biệt, chẳng hạn như sử dụng các kịch bản được tạo ra bằng khuếch tán để xác thực sự an toàn của xe tự hành hoặc cải thiện phân tích hình ảnh y tế bằng cách mô phỏng các bệnh lý hiếm gặp.