Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Latent Diffusion Model (LDM)

Model diffusion tiềm ẩn (LDM) thực hiện diffusion trong không gian tiềm ẩn nén của autoencoder thay vì trên pixel; đây là thiết kế nền tảng của Stable Diffusion.

Model khuếch tán tiềm ẩn (LDM) là model khuếch tán tạo dữ liệu bằng cách khử nhiễu một biểu diễn nén từ autoencoder pretrained thay vì xử lý pixel thô. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser và Björn Ommer giới thiệu phương pháp này trong bài Tổng hợp ảnh độ phân giải cao bằng model khuếch tán tiềm ẩn, trình bày tại CVPR 2022. Autoencoder loại bỏ chi tiết pixel nhỏ vốn tốn kém khi mô hình hóa nhưng ít ảnh hưởng đến cảm nhận về ảnh, nhờ đó mạng khuếch tán tập trung năng lực vào nội dung và bố cục. Vì vậy, chi phí huấn luyện và lấy mẫu thấp hơn nhiều so với khuếch tán trong không gian pixel, cho phép Stable Diffusion, LDM nổi tiếng nhất, tạo ảnh trên một GPU phổ thông. Hầu hết các model tạo ảnh, video và âm thanh hiện nay trong AI tạo sinh đều tuân theo cùng thiết kế hai giai đoạn.

Cách diffusion trong không gian latent hoạt động#

Giai đoạn đầu tiên nén ảnh. Encoder ánh xạ ảnh kích thước H×W×3 thành latent kích thước H/f×W/f×c, trong đó f là hệ số giảm mẫu và c là số kênh latent; decoder ánh xạ latent trở lại thành pixel. Rombach và cộng sự huấn luyện autoencoder này bằng perceptual loss và mục tiêu đối kháng dựa trên patch như trong discriminator của GAN để ảnh tái tạo vẫn sắc nét, đồng thời chính quy hóa latent bằng một penalty KL nhỏ hướng đến phân phối chuẩn tắc chuẩn hoặc bằng lượng tử hóa vector. Hệ số giảm mẫu từ 4 đến 16 cân bằng tốc độ và chất lượng: huấn luyện trong không gian pixel (f = 1) chậm, còn f = 32 nén quá nhiều khiến chất lượng mẫu giảm. Autoencoder của Stable Diffusion dùng f = 8 và 4 kênh, vì vậy đoạn mã này mã hóa ảnh, giải mã lại rồi đo lường những gì bị mất qua quá trình khứ hồi:

import urllib.request

import numpy as np
import torch
from diffusers import AutoencoderKL
from PIL import Image

# Stable Diffusion's autoencoder, the first stage of a latent diffusion model
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse")

# Load a photo and scale its pixels to [-1, 1]
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg")).convert("RGB").resize((480, 640))
x = torch.tensor(np.array(image), dtype=torch.float32).permute(2, 0, 1)[None] / 127.5 - 1

# Encode to the latent that diffusion runs on, then decode back to pixels
with torch.no_grad():
    latent = vae.encode(x).latent_dist.mode()
    recon = vae.decode(latent).sample.clamp(-1, 1)

psnr = 10 * torch.log10(4 / torch.mean((recon - x) ** 2))
print(f"image {tuple(x.shape)} -> latent {tuple(latent.shape)}: {x.numel() // latent.numel()}x fewer values")
print(f"reconstruction PSNR: {psnr:.1f} dB")
Image.fromarray(((recon[0] + 1) * 127.5).byte().permute(1, 2, 0).numpy()).save("bus_reconstructed.jpg")

Đoạn mã in ra image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer values và reconstruction PSNR: 23.0 dB. Tệp bus_reconstructed.jpg đã lưu vẫn giữ được xe buýt, người đi đường và con phố, nhưng chữ nhỏ trên thân xe buýt bị nhòe khi tái tạo; đó là chi tiết mịn mà latent 4 kênh không thể lưu giữ.

Giai đoạn thứ hai là một model khuếch tán thông thường được huấn luyện trên các latent này. Quá trình huấn luyện mã hóa một ảnh, thêm nhiễu Gaussian tại một bước ngẫu nhiên, rồi huấn luyện mạng khử nhiễu—U-Net trong công trình gốc và Transformer khuếch tán trong hầu hết model mới hơn—để dự đoán nhiễu đó; còn trong các model rectified flow, mạng dự đoán vận tốc đưa nhiễu về phía latent sạch. Các điều kiện được đưa vào thông qua các lớp attention chéo, cho phép latent chú ý đến các embedding của prompt văn bản, nhãn lớp hoặc bản đồ ngữ nghĩa. Quá trình tạo sinh bắt đầu từ nhiễu latent ngẫu nhiên, khử nhiễu latent này từng bước theo điều kiện, rồi chỉ chạy decoder một lần ở cuối, nhờ vậy mọi bước tốn kém đều xử lý trên latent nhỏ.

Từ Stable Diffusion đến các model hiện nay#

  • Stable Diffusion: Ra mắt tháng 8 năm 2022, model này mở rộng công thức LDM cho tác vụ chuyển văn bản thành ảnh 512×512 với latent 64×64×4, U-Net 860 triệu tham số và encoder văn bản CLIP; trọng số có thể được tải xuống tự do.
  • Stable Diffusion 3: Chuyển sang autoencoder 16 kênh, nâng PSNR tái tạo từ 25.12 dB với 4 kênh lên 28.62 dB, đồng thời thay U-Net bằng Transformer diffusion đa phương thức được huấn luyện bằng dòng hiệu chỉnh. Các model FLUX.1 của Black Forest Labs cũng khử nhiễu latent 16 kênh bằng Transformer dòng hiệu chỉnh.
  • Video và âm thanh: Model tạo video nén clip theo không gian và thời gian; OpenAI mô tả Sora là công nghệ nén video vào không gian latent có số chiều thấp hơn rồi chia thành các patch không-thời gian. AudioLDM và Stable Audio của Stability AI áp dụng cùng phương pháp cho latent phổ âm thanh hoặc dạng sóng.
  • Model nhất quán latent: Chưng cất LDM để tạo sinh trong 2 đến 4 bước thay vì 20 đến 50 bước, cho phép tạo sinh gần thời gian thực.
  • Model diffusion trong không gian pixel: Thực hiện quá trình thêm và khử nhiễu trên mọi pixel. LDM cũng là model diffusion, chỉ khác ở không gian thực hiện quá trình.
  • Variational autoencoder: VAE tạo sinh bằng cách giải mã latent được lấy mẫu trong một lượt, và các mẫu thường bị mờ. LDM chỉ dùng autoencoder kiểu VAE để nén, còn việc tạo sinh do model diffusion đảm nhiệm.
  • Stable Diffusion: Một họ LDM từ Stability AI, CompVis và Runway; do đó, mọi model Stable Diffusion đều là LDM, trong khi LDM còn bao gồm FLUX, các model tạo video và model âm thanh.

Ứng dụng#

LDM hỗ trợ tạo ảnh từ văn bản, inpainting ảnh—lĩnh vực mà bài báo gốc lập kỷ lục mới vào thời điểm đó—, siêu phân giải và tạo ảnh từ bố cục bằng bản đồ ngữ nghĩa. Trong thị giác máy tính, LDM cũng tạo dữ liệu tổng hợp: lỗi hiếm gặp, thời tiết bất thường hoặc góc nhìn khó chụp. Ảnh được tạo ra không có nhãn; hàm auto_annotate của Ultralytics gán nhãn cả thư mục ảnh bằng cách phát hiện đối tượng với model YOLO26 và phác họa từng box được phát hiện bằng model phân đoạn Meta SAM, rồi ghi nhãn phân đoạn theo định dạng YOLO để huấn luyện.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning