Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Mô hình khuếch tán

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 thức hoạt động của các mô hình khuếch tán

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).

  • Xử lý tiến (Forward Process): Giai đoạn này phá hủy cấu trúc của ả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 loạt các bước thời gian. Khi quá trình tiếp diễn, dữ liệu phức tạp (như ảnh 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 đảo ngược: Mục tiêu của mạng nơ-ron là học cách đảo ngược sự nhiễu loạn 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à trừ đi 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 xuất hiện một hình ảnh chất lượng cao, mạch lạc.

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 Ứng dụng Thực 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.

  • Tạo dữ liệu tổng hợp: Một trong những ứng dụng giá trị nhất đối với các kỹ sư thị giác máy tính là tạo ra dữ liệu tổng hợp để bổ sung cho các tập dữ liệu huấn luyện. Nếu một tập 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 độ ổn định của các mô hình thị giác như YOLO26 khi được triển khai trong môi trường không thể dự đoán được.
  • Phục hồi và chỉnh sửa ả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à phục hồi ảnh (inpainting), có thể loại bỏ 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 kỹ thuật 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.

Phân biệt các thuật ngữ chính

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:

  • So sánh Mô hình Khuếch tán với GAN: Mặc dù GAN sử dụng hai mạng cạnh tranh (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 hiện tượng "sụp đổ chế độ", trong đó mô hình chỉ tạo ra một số lượng hạn chế các đầu ra. Mô hình khuếch tán nhìn chung ổn định hơn trong quá trình huấn luyện và bao phủ phân bố dữ liệu một cách toàn diện hơn, mặc dù chúng có thể chậm hơn ở giai đoạn suy luận.
  • So sánh Mô hình Khuếch tán với VAE: Bộ mã hóa tự động biến phân (VAE) nén dữ liệu vào không gian tiềm ẩn và sau đó tái tạo lại. Mặc dù VAE hoạt động nhanh, nhưng hình ảnh do chúng tạo ra đôi khi có thể bị mờ so với độ sắc nét được tạo ra bởi các quá trình khuếch tán.

Triể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 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}")

Định hướng tương lai

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.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay