4 điểm bởi GN⁺ 2024-05-27 | 1 bình luận | Chia sẻ qua WhatsApp

Mô hình sinh

  • Bài toán cơ bản của mô hình sinh là: khi được cho một tập mẫu từ phân phối chưa biết x∼p(x), tạo ra các mẫu mới từ phân phối đó.

1.1 Mô hình khuếch tán khử nhiễu

  • Thay vì ánh xạ các điểm dữ liệu sang phân phối chuẩn theo cách xác định, phương pháp này sử dụng cách ánh xạ xác suất bằng cách trộn thêm nhiễu ngẫu nhiên.
  • Ban đầu cách này có thể trông khá lạ, nhưng qua nhiều bước, một lượng nhỏ nhiễu được trộn vào điểm dữ liệu sạch để nó dần trông như nhiễu thuần túy.
  • Khi nhìn vào điểm dữ liệu đã bị trộn nhiễu ở mỗi bước, có thể suy ra gần đúng điểm dữ liệu đã nằm ở đâu ở bước trước đó.
  • Nếu học quá trình này theo chiều ngược lại, có thể tạo mẫu từ phân phối p(x).
  • Điều này tương tự với quá trình khuếch tán trong vật lý.

Mô hình DDP

  • Mô hình DDP là viết tắt của Denoising Diffusion Probabilistic Models.
  • Các phát triển mới dựa trên ngôn ngữ và toán học của bài báo này.

2.1 Thêm và loại bỏ nhiễu

  • Để ánh xạ ảnh đầu vào x0 thành một điểm trong phân phối chuẩn đơn vị, người ta dùng quá trình khuếch tán thuận, trong đó nhiễu được thêm dần qua các bước thời gian t=1,2,…,T.
  • Mỗi bước thời gian tạo ra một ảnh mới bằng cách trộn một lượng nhỏ nhiễu ngẫu nhiên vào ảnh trước đó.
  • Quá trình này có tính lặp; mỗi bước chỉ phụ thuộc vào bước thời gian trước đó, và phần nhiễu được thêm vào độc lập với các mẫu nhiễu trước đó.
  • Bằng cách học quá trình ngược, ta dự đoán được phân phối của phiên bản ít nhiễu hơn xt-1 ở bước trước từ ảnh nhiễu xt.

2.2 Học khử nhiễu

  • q(xt−1∣xt) xấp xỉ là Gaussian khi lượng nhiễu rất nhỏ.
  • Đây là một kết quả lâu đời trong vật lý thống kê.
  • Nhờ đó có thể học phân phối ngược.
  • Sử dụng độ phân kỳ KL để tối thiểu hóa khác biệt giữa q(xt−1∣xt,x0) và pθ(xt−1∣xt) đối với mọi ví dụ huấn luyện x0.
  • Hàm mất mát cuối cùng được rút gọn thành bài toán dự đoán nhiễu.

2.3 Lấy mẫu

  • Sau khi huấn luyện mô hình ước lượng nhiễu ϵθ(xt,t), có thể dùng nó để lấy mẫu ảnh x0.
  • Ta lấy mẫu một ảnh nhiễu thuần túy xT∼N(0,I), rồi với các bước thời gian từ T đến 1, dự đoán nhiễu và dùng nhiễu đã dự đoán để lấy mẫu ảnh đã được khử nhiễu.

2.4 Tóm tắt và ví dụ

  • Học phân phối nền của bộ dữ liệu ảnh và định nghĩa quá trình thêm nhiễu thuận để dần biến đổi ảnh x0 thành nhiễu thuần túy xT.
  • Học quá trình ngược để dự đoán phân phối của xt-1 từ xt.
  • Dùng độ phân kỳ KL để đảm bảo phân phối đã học gần nhất có thể với phân phối đã biết của bộ dữ liệu.
  • Cuối cùng, bài toán được đơn giản hóa thành dự đoán nhiễu.

Phát triển

3.1 Sinh nhanh

  • Nhược điểm lớn của các mô hình khuếch tán ban đầu là tốc độ sinh.
  • Sau đó, nhiều kỹ thuật đã được phát triển để tăng tốc độ sinh; một số có thể áp dụng trực tiếp cho mô hình đã tiền huấn luyện, còn một số khác yêu cầu huấn luyện mô hình mới.

Score matching và bộ lấy mẫu nhanh

  • Mô hình khuếch tán có mối liên hệ đáng kinh ngạc với phương trình vi phân, từ đó nhiều bộ lấy mẫu nhanh đã được phát triển.
  • Việc dự đoán hướng nhiễu tương đương với gradient của log-likelihood trong quá trình thuận.
  • Điều này tạo nền tảng cho các mô hình dựa trên score, vốn học score của bộ dữ liệu bị trộn nhiễu và tạo ra mẫu mới bằng cách đi theo trường score.

Ý kiến của GN⁺

  1. Hiểu về mô hình khuếch tán: Mô hình khuếch tán có thể được ứng dụng không chỉ trong tạo ảnh mà còn trong hoạt hình, tạo video, mô hình hóa 3D, dự đoán cấu trúc protein, lập kế hoạch đường đi cho robot và nhiều lĩnh vực khác.
  2. Độ phức tạp của quá trình huấn luyện: Quá trình huấn luyện mô hình khuếch tán khá phức tạp, nhưng đổi lại có thể tạo ra các hình ảnh rất tinh vi.
  3. Kỹ thuật sinh nhanh: Các kỹ thuật sinh nhanh cải thiện đáng kể tính thực tiễn của mô hình khuếch tán.
  4. Mô hình dựa trên score: Mô hình dựa trên score hoạt động theo cách tương tự mô hình khuếch tán và góp phần tăng tốc độ lấy mẫu.
  5. Những điểm cần cân nhắc khi áp dụng công nghệ: Khi áp dụng mô hình khuếch tán, cần cân nhắc thời gian huấn luyện, tài nguyên tính toán và độ phức tạp của mô hình.

1 bình luận

 
GN⁺ 2024-05-27

Ý kiến trên Hacker News

  • Tôi mới biết rằng các mô hình khuếch tán đã xuất hiện trước cả lý thuyết score matching. Việc OpenAI huấn luyện trên 250 triệu hình ảnh là một nỗ lực đầy tham vọng dù khi đó còn thiếu giải thích về mặt lý thuyết.
  • Có vẻ vòng lặp huấn luyện bị sai. x0eps không được dùng trong biểu diễn của xt, nên trông như đang dự đoán nhiễu ngẫu nhiên.
  • Đang tìm thư viện Python giấy phép Apache hoặc MIT tốt nhất cho diffusion transformer.
  • Cảm ơn vì đã chia sẻ. Tôi đã có thêm hiểu biết về cách mô hình khuếch tán hoạt động. Tính ngẫu nhiên thật mạnh mẽ. Giờ là lúc thử code bằng một ngôn ngữ không phù hợp.
  • Không có nhiều điều để tóm tắt cho người đọc phần bình luận. Bài đăng này là bản tóm tắt về Stable Diffusion.
  • Năm 2022, khi đang học vẽ, tôi đã rất kinh ngạc trước sự xuất hiện của các mô hình nghệ thuật AI như Stable Diffusion. Máy tính đã trở thành nghệ sĩ giỏi hơn cả tôi. AI càng lấn sâu vào công việc sáng tạo, tôi càng muốn xóa bỏ tất cả những thứ đó.