Diffusion Models
Khám phá cách các diffusion models sử dụng AI tạo sinh để tạo ra dữ liệu có độ trung thực cao. Tìm hiểu cách tăng cường huấn luyện Ultralytics YOLO26 với dữ liệu tổng hợp thực tế ngay hôm nay.
Mô hình khuếch tán là một loại 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ác với các mô hình phân loại 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, vốn 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ó độ trung thực cao—đáng chú ý nhất là hình ảnh, âm thanh và video—bắt chước chặt chẽ 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 hiện đại cho tổng hợp hình ảnh độ phân giải cao, vượt qua các mô hình đi trước như Mạng đối nghịch tạo sinh (GANs) nhờ tính ổn định trong quá trình huấn luyện và khả năng tạo ra các đầu ra đa dạng.
Link to this sectionCách thức hoạt động của mô hình khuếch tán#
Cơ chế cốt lõi của một mô hình khuếch tán dựa trên nhiệt động lực học không 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 thuận: Giai đoạn này phá hủy cấu trúc của hình ảnh huấn luyện một cách có hệ thống bằng cách thêm một lượng nhỏ nhiễu Gaussian qua một chuỗi các bước thời gian. Khi quá trình tiếp tục, dữ liệu phức tạp (như ảnh chụp một con mèo) dần dần biến đổi thành nhiễu ngẫu nhiên thuần túy, không có cấu trúc.
- Quá trình nghịch: Mục tiêu của mạng thần kinh là học cách đảo ngược quá trình hư hỏng này. Bắt đầu từ nhiễu ngẫu nhiên, mô hình dự đoán nhiễu đã được thêm vào ở mỗi bước và loại bỏ nó. Bằng cách loại bỏ nhiễu lặp đi lặp lại, mô hình "khử nhiễu" tín hiệu ngẫu nhiên cho đến khi một hình ảnh mạch lạc, chất lượng cao xuất hiện.
Sự tinh chỉnh lặp đi lặp lại này cho phép kiểm soát đặc biệt đối với các chi tiết và kết cấu tinh vi, một lợi thế đáng kể so với các phương pháp tạo sinh một bước.
Link to this sectionCác ứng dụng trong thực tế#
Mô hình khuếch tán đã vượt ra khỏi nghiên cứu học thuật để trở thành các công cụ thực tế, cấp độ sản xuất trong nhiều ngành công nghiệp khác nhau.
- Tạo dữ liệu tổng hợp: Một trong những ứng dụng giá trị nhất đối với kỹ sư thị giác máy tính là tạo dữ liệu tổng hợp để tăng cường bộ dữ liệu huấn luyện. Nếu một bộ dữ liệu thiếu tính đa dạng—ví dụ: thiếu hình ảnh ô tô trong điều kiện tuyết—mô hình khuếch tán có thể tạo ra các biến thể thực tế. Điều này giúp cải thiện tính bền vững của các mô hình thị giác như YOLO26 khi triển khai trong các môi trường không dự đoán trước được.
- Inpainting và chỉnh sửa hình ảnh: Mô hình khuếch tán cung cấp sức mạnh cho các công cụ chỉnh sửa nâng cao cho phép người dùng sửa đổi các vùng cụ thể của hình ảnh. Kỹ thuật này, được gọi là inpainting, có thể xóa các đối tượng không mong muốn hoặc lấp đầy các phần bị thiếu của ảnh dựa trên bối cảnh xung quanh. Các kiến trúc sư và nhà thiết kế sử dụng công cụ này để tạo mẫu nhanh, hình dung các thay đổi đối với sản phẩm hoặc môi trường mà không cần kết xuất 3D thủ công.
Link to this sectionPhân biệt các thuật ngữ chính#
Việc phân biệt 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ô hình khuếch tán so với GANs: Trong khi GANs sử dụng hai mạng cạnh tranh nhau (một mạng tạo và một mạng phân biệt) và nổi tiếng với khả năng lấy mẫu nhanh, chúng thường gặp phải tình trạng "sụp đổ chế độ" (mode collapse), nơi mô hình tạo ra các kết quả hạn chế. Mô hình khuếch tán thường ổn định hơn trong quá trình huấn luyện và bao phủ phân phối dữ liệu toàn diện hơn, mặc dù chúng có thể chậm hơn tại thời điểm suy luận.
- Mô hình khuếch tán so với VAEs: Variational Autoencoders (VAEs) nén dữ liệu vào không gian ẩn và sau đó tái tạo lại nó. Mặc dù VAEs nhanh, hình ảnh chúng tạo ra đôi khi có thể xuất hiện mờ so với các chi tiết sắc nét được tạo ra bởi các quá trình khuếch tán.
Link to this sectionTriển khai thực tế#
Mặc dù việc huấn luyện một mô hình khuếch tán từ đầu đòi hỏi 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 sẵn hoặc tích hợp chúng vào các 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 bộ dữ liệu và sau đó sử dụng Ultralytics Platform để gắn nhãn và huấn luyện một mô hình phát hiện trên dữ liệu đã được tăng cường đó.
Dưới đây là một ví dụ khái niệm sử dụng torch để mô phỏng một 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}")Link to this sectionHướng phát triển tương lai#
Lĩnh vực này đang nhanh chóng phát triển theo hướng mô hình khuếch tán tiềm ẩn (LDMs), hoạt động trong không gian ẩn 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 phổ thông trở nên khả thi. Khi nghiên cứu tiếp tục, chúng tôi kỳ vọng sự tích hợp chặt chẽ hơn giữa đầu vào tạo sinh và các tác vụ phân biệt, chẳng hạn như sử dụng các kịch bản tạo ra từ khuếch tán để xác thực sự an toàn của phương tiện 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.






