Stable Diffusion là gì? - Cách cài đặt và hoạt động của Stable Diffusion

1454
26-03-2024
Stable Diffusion là gì? - Cách cài đặt và hoạt động của Stable Diffusion

Stable Diffusion là một công nghệ AI mới, sử dụng mô hình tạo sinh dựa trên quá trình khuếch tán để tạo ra hình ảnh nghệ thuật. Cùng xem qua bài viết dưới đây của Bizfly Cloud để hiểu rõ hơn về Stable Diffusion.

Stable Diffusion là gì?

Stable Diffusion là một mô hình trí tuệ nhân tạo (generative AI) tạo ra các hình ảnh chân thực từ văn bản và hình ảnh ban đầu. Mô hình được ra mắt ban đầu vào năm 2022 và cũng có thể sử dụng để tạo video và hoạt hình. Nhờ phát triển trên công nghệ diffusion và không gian ẩn, mô hình không đòi hỏi quá nhiều yêu cầu xử lý và do đó chạy được trên máy tính để bàn hoặc laptop trang bị GPU. Người dùng có thể điều chỉnh Stable Diffusion chỉ với năm hình ảnh thông qua học chuyển giao (transfer learning) sao cho phù hợp với nhu cầu cụ thể của mình.

Stable Diffusion là một mô hình trí tuệ nhân tạo (generative AI)

Stable Diffusion là một mô hình trí tuệ nhân tạo (generative AI)

Vì sao Stable Diffusion lại quan trọng?

Stable Diffusion sở hữu ưu điểm dễ truy cập và dễ sử dụng. Người dùng có thể chạy mô hình trên các card đồ họa thông thường. Bất kỳ ai cũng có thể tải xuống mô hình và tạo ra hình ảnh của riêng họ ngay lần đầu sử dụng. Cùng với đó là khả năng kiểm soát các siêu tham số chính, bao gồm số bước khử nhiễu và mức độ nhiễu áp dụng.

Stable Diffusion thân thiện với người dùng, và không đòi hỏi thông tin bổ sung để tạo hình ảnh. Nhờ có cộng đồng tham gia sôi nổi, Stable Diffusion do đó cũng có được các tài liệu và hướng dẫn sử dụng đầy đủ. Với việc phần mềm được cấp phép theo giấy phép Creative ML OpenRAIL-M, người dùng có thể sử dụng, thay đổi và phân phối phần mềm đã được sửa đổi sau đó. Trong trường hợp phát hành phần mềm phái sinh, cần thiết phải có cùng một giấy phép và kèm theo một bản sao của giấy phép Stable Diffusion ban đầu.

Stable Diffusion hoạt động như thế nào?

Là một mô hình khuếch tán, Stable Diffusion có sự khác biệt với nhiều mô hình tạo hình ảnh khác. Về nguyên tắc, các mô hình khuếch tán mã hóa hình ảnh bằng nhiễu Gaussian. Sau đó, các mô hình sẽ sử dụng trình dự đoán nhiễu và phương pháp khuếch tán ngược để xây dựng lại hình ảnh.

Ngoài những khác biệt về mặt kỹ thuật giữa các mô hình khuếch tán, Stable Diffusion còn có điểm khác là mô hình không sử dụng các pixel của hình ảnh mà sử dụng latent space với độ phân giải giảm.

Lý giải cho điều này chúng ta xem xét một bức ảnh màu 512x512 có khoảng 786.432 giá trị. Để so sánh, Stable Diffusion sử dụng hình ảnh nén nhỏ hơn 48 lần, ở mức 16.384 giá trị. Và do đó giảm thiểu đáng kể nhu cầu xử lý. Đây là lý do lý giải tại sao một người có thể chạy Stable Diffusion trên PC có GPU NVIDIA và RAM 8 GB. Hình ảnh tự nhiên vốn có không phải là ngẫu nhiên, do đó sử dụng latent space nhỏ hơn sẽ có tác dụng.

Stable Diffusion sử dụng các variational autoencoder ( gọi tắt là VAE) để vẽ các đặc điểm nhỏ như mắt. Stable Diffusion V1 là bản sử dụng ba bộ dữ liệu được thu thập thông qua Common Crawl do LAION thực hiện. Trong đó có tập dữ liệu LAION-Aesthetics v2.6, với các hình ảnh được chấm điểm từ 6 trở lên.

Stable Diffusion sử dụng kiến trúc nào?

Variational autoencoder

Variational autoencoder sử dụng bộ mã hóa và bộ giải mã riêng biệt. Bộ mã hóa giảm hình ảnh 512x512 pixel thành mô hình 64x64 nhỏ hơn trong latent space, do đó dễ xử lý hơn. Bộ giải mã chuyển đổi mô hình từ latent space sang hình ảnh có kích thước đầy đủ 512x512 pixel.

Stable Diffusion sử dụng kiến trúc nào

Stable Diffusion sử dụng kiến trúc nào

Khuếch tán thuận

Khuếch tán thuận dần dần đưa nhiễu Gaussian vào ảnh cho đến khi chỉ có nhiễu ngẫu nhiên còn lại. Không thể sử dụng hình ảnh nhiễu để xác định hình ảnh gốc. Trong quá trình đào tạo, tất cả các bức ảnh đều trải qua bước này. Khuếch tán thuận hiện chỉ còn được sử dụng để chuyển đổi từ hình ảnh sang hình ảnh.

Khuếch tán ngược

Quá trình này về cơ bản sẽ lặp đi lặp lại quá trình khuếch tán thuận. Ví dụ: bạn có thể huấn luyện mô hình chỉ với hai bức ảnh, giống như là chó với mèo. Trong quá trình này, sự đảo ngược sẽ tạo ra hoặc là một chú mèo hoặc là một chú chó, không có bất kỳ thứ gì khác. Trong thực tế, đào tạo mô hình sử dụng hàng tỷ bức ảnh và sau đó sử dụng câu lệnh để tạo ra các hình ảnh trực quan độc đáo.

Noise predictor (U-Net)

Noise predictor (U-Net) là một yếu tố quan trọng giúp khử nhiễu hình ảnh và Stable Diffusion sử dụng mô hình U-Net để khử nhiễu. Các mô hình U-Net là mạng nơ-ron tích chập ban đầu được phát triển để phục vụ cho phân đoạn hình ảnh trong y học. Cụ thể, Stable Diffusion sử dụng mô hình Residual Neural Network (ResNet) được phát triển cho thị giác máy tính.

U-Net ước lượng lượng nhiễu trong latent space và loại khỏi hình ảnh. Quá trình được lặp lại một số lần nhất định, giảm nhiễu theo các bước được người dùng chỉ định. Bộ dự đoán nhiễu phản ứng nhanh với các câu hỏi điều kiện giúp xác định hình ảnh cuối cùng.

Text Conditioning 

Loại biến đổi văn bản phổ biến nhất là prompt bằng văn bản. Trình mã thông báo CLIP kiểm tra từng từ trong lời nhắc văn bản và nhúng nó vào vectơ giá trị 768. Bạn có thể sử dụng tối đa 75 mã thông báo cho mỗi lời nhắc. Stable Diffusion sử dụng trình biến đổi văn bản để chuyển những đề xuất này từ bộ mã hóa văn bản sang bộ dự đoán nhiễu U-Net. Việc đặt seed thành trình tạo số ngẫu nhiên cho phép bạn tạo ra các hình ảnh khác nhau trong latent space.

Stable Diffusion có thể làm gì?

Biến văn bản thành hình ảnh

Đây là cách ứng dụng Stable Diffusion phổ biến nhất. Stable Diffusion tạo ra hình ảnh dựa trên đầu vào văn bản. Bạn có thể tạo các hình ảnh thay thế bằng cách sửa đổi số seed cho trình tạo ngẫu nhiên hoặc sửa lịch trình khử nhiễu để có được các hiệu ứng khác nhau.

Stable Diffusion có thể làm gì

Stable Diffusion có thể làm gì

Chuyển hình ảnh thành hình ảnh

Bạn có thể sử dụng hình ảnh đầu vào và text prompt để tạo hình ảnh dựa trên hình ảnh đầu vào. Một bản vẽ và prompt thích hợp là trường hợp sử dụng phổ biến.

Tạo sinh đồ họa, tác phẩm nghệ thuật và logo

Bằng cách sử dụng đa dạng prompt, người dùng có thể tạo ra tác phẩm nghệ thuật, hình ảnhđồ họa và logo theo nhiều phong cách khác nhau. Mặc dù không thể xác định trước đầu ra cuối cùng nhưng người dùng có thể cung cấp hướng dẫn tạo logo thông qua các bản phác thảo.

Tăng cường và sửa đổi hình ảnh

Stable Diffusion có thể được sử dụng để chỉnh sửa và tinh chỉnh hình ảnh. Khi sử dụng công cụ AI Editor, người dùng có thể tải hình ảnh lên và sử dụng bút xóa để che các vùng cần chỉnh sửa. Bằng cách tạo prompt phác thảo các sửa đổi mong muốn, người dùng có thể cải tiến hoặc vẽ lại hình ảnh. Ví dụ: người dùng có thể khôi phục ảnh cũ, loại bỏ các đối tượng khỏi hình ảnh, thay đổi các đặc điểm của đối tượng và đưa vào các yếu tố mới.

Sản xuất video

Với các công cụ như Deforum trên GitHub, người dùng có thể tạo các video clip và hoạt ảnh ngắn bằng cách sử dụng Stable Diffusion. Ngoài ra, người dùng có thể áp dụng nhiều kiểu khác nhau cho video hoặc ảnh động để mô phỏng các hiệu ứng chuyển động, chẳng hạn như nước chảy.

Stable Diffusion là một ứng dụng AI có tiềm năng lớn trong nhiều lĩnh vực khác nhau. Stable Diffusion vẫn đang trong quá trình phát triển vì thế chúng được mong chờ sẽ mang lại những thay đổi đáng kinh ngạc trong tương lai.

SHARE