Nếu từng thử tinh chỉnh một diffusion model và thấy ảnh đầu ra xám mờ hoặc lệch sáng, vấn đề có thể không nằm ở dữ liệu mà ở cách mô hình được huấn luyện để xử lý nhiễu. Noise schedule, tức lịch trình thêm nhiễu vào ảnh theo từng bước thời gian, quyết định mô hình học được gì ở mỗi giai đoạn. Chọn sai schedule, mô hình vẫn học kém dù kiến trúc và dữ liệu đều tốt.

Linear schedule: phá hủy thông tin quá nhanh

Bản DDPM gốc năm 2020 dùng linear schedule: beta tăng đều từ khoảng 0.0001 đến 0.02 qua 1000 bước. Nghe có vẻ hợp lý, nhưng cách này làm tín hiệu ảnh suy giảm quá nhanh ngay từ đầu chuỗi thời gian. Chỉ sau vài trăm bước, tỷ lệ tín hiệu trên nhiễu, gọi là SNR, đã giảm gần về 0, khiến ở phần lớn bước còn lại mô hình chỉ còn thấy nhiễu gần như thuần túy, không còn cấu trúc để học. Mô hình vì thế lãng phí nhiều tài nguyên tính toán vào những bước thời gian gần như vô ích, đặc biệt với ảnh độ phân giải thấp, nơi các cấu trúc đơn giản biến mất nhanh hơn.

Cosine schedule: đường cong SNR mượt hơn

Năm 2021, Nichol và Dhariwal đề xuất cosine schedule trong bài Improved DDPM: thay vì tăng beta theo đường thẳng, họ thiết kế alpha lũy tích theo hàm cos bình phương. SNR nhờ đó giảm chậm hơn ở đầu và cuối chuỗi, dốc chủ yếu tập trung ở giữa, giống quá trình con người dần quên chi tiết một bức ảnh hơn là xóa sạch ngay lập tức. Mô hình có nhiều bước huấn luyện hữu ích hơn, học được cả chi tiết nhỏ lúc nhiễu còn ít và bố cục tổng thể lúc nhiễu đã nhiều, thay vì dồn hết vào vùng nhiễu cao vô nghĩa. Đây là lý do các mô hình sinh ảnh được nhắc tới nhiều trên các trang tin AI đều dùng biến thể của cosine schedule làm mặc định.

Terminal SNR: lỗ hổng bị bỏ quên nhiều năm

Ngay cả cosine schedule cũng chặn beta không vượt quá 0.999 để tránh chia cho không, nghĩa là ở bước cuối t=T, SNR không bao giờ thực sự về 0, vẫn sót một chút tín hiệu ảnh gốc. Hệ quả rất rõ: khi suy luận, ta luôn bắt đầu từ nhiễu Gauss thuần túy, còn khi huấn luyện, mô hình chưa từng thấy đầu vào hoàn toàn không còn tín hiệu. Độ lệch giữa lúc huấn luyện và suy luận này khiến mô hình có xu hướng tạo ảnh với mức sáng trung bình, khó sinh ra ảnh rất tối hoặc rất sáng như cảnh ban đêm hay một khung hình gần như trắng xóa. Đây cũng là lý do nhiều mô hình đời đầu bị chê cho ra ảnh lúc nào cũng xam xám, thiếu tương phản.

V-prediction: câu trả lời cho SNR bằng 0

Muốn xử lý tận gốc lỗi terminal SNR, phải đổi cách mô hình học dự đoán. Cách truyền thống là epsilon-prediction, tức buộc mô hình dự đoán phần nhiễu đã được thêm vào. Nhưng khi SNR bằng 0, nhiệm vụ này gần như vô nghĩa vì toàn bộ đầu vào đã là nhiễu, nên mô hình hầu như không học thêm được gì. V-prediction giải quyết bằng cách cho mô hình dự đoán một đại lượng kết hợp ảnh gốc và nhiễu theo một góc xoay, luôn giữ nhiệm vụ học có ý nghĩa dù SNR cao hay thấp. Nhờ đó các phiên bản sau như Stable Diffusion 2.x hay Imagen mới huấn luyện được với zero terminal SNR thật sự, cho ảnh có dải sáng tối đầy đủ và ổn định hơn, một chi tiết kỹ thuật nhỏ nhưng ảnh hưởng trực tiếp tới chất lượng cuối cùng mà ai theo dõi tin khoa học công nghệ cũng nên biết.