- Diffusion Forcing คือวิธีสร้างลำดับที่เรียนรู้ระดับสัญญาณรบกวนของ diffusion ที่แตกต่างกันในแต่ละโทเค็น ทำให้ตอน sampling สามารถใช้งานได้ทั้งแบบโมเดลทำนายโทเค็นถัดไปและแบบโมเดล diffusion ทั้งลำดับ
- ตีความสัญญาณรบกวนของ diffusion เป็น masking ได้ โดยคงโทเค็นในอดีตให้สะอาด และปล่อยให้เฉพาะโทเค็นในอนาคตอยู่ในสถานะมีสัญญาณรบกวน หรือจัดวางสัญญาณรบกวนระดับต่าง ๆ ทั่วทั้งลำดับได้
- ในการทำนายวิดีโอ DMLab และ Minecraft นั้น teacher forcing กระจายออกนอกเสถียรภาพได้ง่าย ส่วน causal full-sequence diffusion มีความสอดคล้องแกว่งไกว ขณะที่ Diffusion Forcing สร้างการทำนายที่เสถียรกว่า
- ในการตัดสินใจและการวางแผน จะนิยามโทเค็นเป็น [a_t, o_{t+1}] เพื่อโมเดลพฤติกรรมและการสังเกตหลังจากนั้นร่วมกัน และสามารถให้ระดับสัญญาณรบกวนต่างกันระหว่างอนาคตอันใกล้กับอนาคตระยะไกลได้
- สามารถ rollout แบบยาวเกินความยาวที่ใช้ฝึกได้ โดย DMLab ฝึกด้วย 36 เฟรมแล้วสร้างได้มากกว่า 2000 เฟรม และ Minecraft ฝึกด้วย 72 เฟรมแล้วสร้างได้มากกว่า 2000 เฟรม โดยไม่ใช้ sliding window
โครงสร้างหลักของ Diffusion Forcing
- ชื่อ Diffusion Forcing มาจาก teacher forcing และ diffusion models
- เป้าหมายคือรวมข้อดีของโมเดล autoregressive แบบทำนายโทเค็นถัดไปกับโมเดล diffusion ทั้งลำดับไว้ในพาราไดม์การฝึกเดียวกัน
- ข้อดีของโมเดลทำนายโทเค็นถัดไป: การสร้างความยาวแปรผัน
- ข้อดีของโมเดล diffusion ทั้งลำดับ: guidance ระดับลำดับ ที่ชี้นำการ sampling ไปตาม trajectory ที่ต้องการ
- โมเดลที่ฝึกครั้งเดียวสามารถนำไปใช้งานต่างรูปแบบกันได้ในช่วง sampling
- สร้างได้อย่างยืดหยุ่นและประกอบกันได้เหมือนโมเดลทำนายโทเค็นถัดไป
- ใช้ guidance กับทั้งลำดับได้เหมือนโมเดล diffusion ทั้งลำดับ
สัญญาณรบกวนรายโทเค็นและ “noise as masking”
- Diffusion Forcing ฝึก sequence diffusion แต่ทำให้แต่ละโทเค็นมี ระดับสัญญาณรบกวน แตกต่างกัน
- สัญญาณรบกวนของ diffusion มองได้เป็น masking หลายระดับความเข้ม
- full-sequence diffusion: denoise ทุกเฟรมพร้อมกันที่ระดับสัญญาณรบกวนเดียวกัน
- การทำนายโทเค็นถัดไป: คงโทเค็นในอดีตไว้ที่สัญญาณรบกวน 0 แล้ว denoise เฟรมถัดไปทีละเฟรม
- เมื่อเปลี่ยนการจัดวางสัญญาณรบกวนภายในลำดับตอน sampling ก็สร้างพฤติกรรมได้หลายแบบ
- ทำให้ autoregressive rollout เสถียรขึ้น
- guidance สำหรับ horizon ยาว
- planning ที่รวม causal uncertainty
คุณสมบัติทางทฤษฎี
- มีการพิสูจน์ว่า Diffusion Forcing เป็นการ optimize variational lower bound ของ likelihood ของลำดับย่อย ทั้งหมดของโทเค็นที่สุ่มมาจาก joint distribution จริง
- คุณสมบัตินี้แสดงให้เห็นว่า objective ของการฝึกไม่ได้เชื่อมโยงกับประสิทธิภาพเชิงประจักษ์เท่านั้น แต่ยังเชื่อมกับ likelihood ของลำดับย่อยโดยรวมด้วย
ผลลัพธ์การทำนายวิดีโอ
- ใช้ผลวิดีโอที่โมเดลสังเคราะห์เองโดยตรง และสร้างโดยไม่ใช้ VAE หรือ superresolution
- ระบุไว้ว่าผลลัพธ์ถูก sampling โดยไม่มี cherry-picking
- ในการเปรียบเทียบบนชุดข้อมูล DMLab ความแตกต่างของทั้งสามวิธีเห็นได้ชัด
- teacher forcing กระจายออกนอกเสถียรภาพได้ง่าย
- causal full-sequence diffusion model มีปัญหาความสอดคล้องอย่างรุนแรง
- Diffusion Forcing ทำการทำนายวิดีโอได้อย่างเสถียรและสอดคล้อง
- ชุดข้อมูล Minecraft ก็พบรูปแบบเดียวกัน
- teacher forcing กระจายออกนอกเสถียรภาพได้ง่าย
- causal full-sequence diffusion model มีปัญหาความสอดคล้องอย่างรุนแรง
- Diffusion Forcing สร้างการทำนายที่เสถียรและสอดคล้อง
วิดีโอ rollout ยาวเกินความยาวที่ใช้ฝึก
- Diffusion Forcing สามารถ rollout วิดีโอที่ยาวกว่าความยาวลำดับสูงสุดที่ใช้ฝึกมากได้
- rollout นี้ทำ โดยไม่ใช้ sliding window
- ใน RNN rollout ไม่ได้รีเซ็ต latent
z เป็น latent เริ่มต้น z0
- ผลด้านการทำให้เสถียรปรากฏใน Diffusion Forcing
- ผลลัพธ์ DMLab:
- ฝึกด้วย 36 เฟรม
- rollout ได้มากกว่า 2000 เฟรม
- ทำโดยไม่ใช้ sliding window
- ความละเอียดของชุดข้อมูลต้นฉบับคือ 64x64
- คุณภาพวิดีโอลดลงเพราะการบีบอัด mp4 ของวิดีโอยาว และมีการให้ภาพ PNG visualization เพื่อสะท้อนคุณภาพการสร้างต้นฉบับด้วย
- ผลลัพธ์ Minecraft:
- ฝึกด้วย 72 เฟรม
- rollout ได้มากกว่า 2000 เฟรมโดยไม่ diverge
- ทำโดยไม่ใช้ sliding window
- ความละเอียดของชุดข้อมูลต้นฉบับคือ 128x128
- ในบางสถานการณ์ agent จะหยุดอยู่หน้าบล็อก dirt หรือ stone block สูงสองบล็อกจนกว่าจะเปลี่ยนทิศทาง ซึ่งถูกจัดว่าเป็นปัญหาโดยธรรมชาติของการเก็บชุดข้อมูล
Diffusion Planning
- คล้ายกับงานเดิมอย่าง Diffuser สามารถใช้ guidance ในช่วงทดสอบเพื่อใช้ลำดับ diffusion เป็น planner ได้
- Diffusion Forcing นิยามแต่ละโทเค็นเป็น [a_t, o_{t+1}] เพื่อโมเดลความสัมพันธ์เชิงเหตุผลอย่างชัดเจน
- มี belief เกี่ยวกับว่าจะทำ action ใด
- มี belief ร่วมด้วยเกี่ยวกับ observation ที่ action นั้นจะนำไปสู่
- เมื่อได้ observation ใหม่หลัง action ก็สามารถอัปเดต belief ด้วย posterior estimation ได้
- วิดีโอกระบวนการ diffusion planning แสดงภาพกระบวนการ Diffusion Forcing planning ในฐานะเฟรมเวิร์กการตัดสินใจ
- เพื่อโมเดล causal uncertainty ของอนาคต สามารถตั้งอนาคตอันใกล้ให้มีระดับสัญญาณรบกวนต่ำ และอนาคตระยะไกลให้มีระดับสัญญาณรบกวนสูงได้
Imitation learning แบบ horizon ยาว
- งานในโลกจริงจำนวนมากไม่ใช่แบบ Markovian และต้องใช้ หน่วยความจำ horizon ยาว เพื่อทำให้สำเร็จ
- ในงานหุ่นยนต์จริง แขนหุ่นยนต์ต้องใช้สล็อตที่สามเพื่อสลับสล็อตของผลไม้สองชิ้นกัน
- ผลไม้ถูกวางในสล็อตแบบสุ่มตอนเริ่มต้น
- จาก observation เพียงครั้งเดียวไม่สามารถรู้การจัดวางผลไม้เริ่มต้นได้ จึงตัดสินใจขั้นถัดไปไม่ได้
- ในการทดลอง planning ได้นำ guidance ออก และทำ feedback control โดย diffusing ลำดับ action-observation ร่วมกัน
- วิดีโอที่นำเสนอแสดงความสำเร็จต่อเนื่องหลายครั้งก่อนเกิดความล้มเหลว
- แม้ตำแหน่งผลไม้จะถูกสุ่มใหม่จากการรันก่อนหน้า หุ่นยนต์ก็ยังทำงานได้
- เพื่อให้ทนทานต่อ distraction ที่ไม่เคยเห็นในช่วงทดสอบ สามารถ prompting ให้ปฏิบัติต่อ observation ที่เข้ามาเป็น noisy observation ได้
- ตัวอย่างใช้วิธี distraction โดยสุ่มโยนถุงช้อปปิ้งเข้ามาในมุมมอง
อัปเดตปี 2025: Scaling Up Diffusion Forcing
- ในอัปเดตปี 2025 ได้ finetuning Wan2.1-T2V-1.3B ระดับ state-of-the-art เพียง 20k step และ 49 เฟรม
- จากนั้น rollout 5 เท่าเพื่อสร้างได้อย่างเสถียรถึง 217 เฟรม
- งานต่อเนื่องดูได้ที่ History-Guided Video Diffusion
- วิดีโอตัวอย่างรวมถึงคลื่นยามอาทิตย์ตก ลิงบนโขดหิน สุนัขที่กำลังเตรียมตัวนอน มุมมองทางอากาศของชายหาดเขตร้อน ฉากเล่นเซิร์ฟ และฉากจักรยานขึ้นเนิน เป็นต้น
ทิศทางการวิจัยในอนาคต
-
Conditioning
- เมื่อขยายไปสู่ลำดับยาว มักใช้ conditioning แบบอิงการแทนที่
- “Video Diffusion Models” ของ Johnathan Ho อภิปรายว่าทำไมวิธีนี้จึงผิด
- Diffusion Forcing ให้แนวทาง conditioning ที่เป็นธรรมชาติกว่า โดยถือว่า context token เป็น clean และ future token เป็น noisy แต่ส่วนนี้ยังไม่ได้ถูกสำรวจอย่างละเอียด
-
Noise as masking
- วิธีนี้ทำให้เกิด fractional masking ของโทเค็น ไม่ใช่ binary masking
- มีความทั่วไปพอที่จะใส่ในวิธี self-supervised learning อย่าง MAE ได้
- การเพิ่มสัญญาณรบกวนมีการตีความที่น่าสนใจใน frequency domain
-
Compositionality
- ใน论文แสดงให้เห็นว่าสามารถได้ compositionality ด้วยการควบคุม history length
- เมื่อใช้ noise as masking โมเดลอาจตัดสินใจเองได้ว่าเมื่อใดควรละเลย history ที่ไม่จำเป็น และ condition เฉพาะกับ horizon ที่สั้นกว่า
-
Non-causal version
- งานวิจัยนี้ใช้ causal Diffusion Forcing เพราะ causality สำคัญในการตัดสินใจ
- แนวคิด noise as masking สามารถนำไปใช้กับโมเดล non-causal ได้เช่นกัน
- หาก mask entry ที่การทำนายไม่ควรมองเห็นด้วย pure Gaussian noise ก็สามารถฝึกเวอร์ชัน non-causal แล้วทำให้เป็น causal ในช่วง sampling ได้
-
Alternative Guidance
- ในเฟรมเวิร์กการตัดสินใจที่เสนอ ใช้ guidance กับ observation เพื่อคงเซ็ตอัปให้ใกล้กับ Diffuser มากขึ้น
- มีการเสนอเวอร์ชันที่ใช้ guidance กับ learned reward ด้วย แต่ไม่ได้สำรวจใน论文
-
Noise scheme
- ระดับสัญญาณรบกวนอิสระรายโทเค็นถูกออกแบบโดยมีเป้าหมายด้านความทั่วไป แต่ไม่ได้เหมาะที่สุดกับทุกงาน
- หากข้อมูลมีความสัมพันธ์เฉพาะที่มากตามแกนเวลา อาจคงความซ้ำซ้อนมากเกินไป
- สิ่งนี้อาจส่งผลต่อ signal-to-noise ratio โดยรวม
-
Next few token prediction
- ใช้ next few token prediction เฉพาะในการทดลอง planning ส่วนการทดลองวิดีโอยังเป็นแบบ next-token
- ในเวอร์ชัน RNN ทำงานได้ไม่ดีนัก แต่ในโค้ดเวอร์ชัน transformer ทำงานได้ดีมาก
- ในโมเดล causal หาก “few” มีขนาดใหญ่มาก next few token prediction อาจสร้าง inconsistency ได้
- ในโมเดล non-causal ปรากฏการณ์นี้เกิดน้อยกว่า
-
Latent & DiT version
- หลังจาก release มีการเผยแพร่ Diffusion Forcing เวอร์ชัน 3D U-Net
- Diffusion Forcing สามารถใช้กับ DiT แบบ causal หรือ non-causal ได้
- scheme การทำให้เสถียรเข้ากันได้เป็นธรรมชาติกว่าใน latent space ที่มี VAE
- pixel corruption ไม่จำเป็นต้องเป็น Gaussian แต่ corruption ของ latent ใน VAE อาจใกล้เคียง Gaussian มากกว่า
ข้อมูลการอ้างอิง
@article{chen2025diffusion,
title={Diffusion forcing: Next-token prediction meets full-sequence diffusion},
author={Chen, Boyuan and Mart{\'\i} Mons{\'o}, Diego and Du, Yilun and Simchowitz, Max and Tedrake, Russ and Sitzmann, Vincent},
journal={Advances in Neural Information Processing Systems},
volume={37},
pages={24081--24125},
year={2025}
}
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ระดับ ‘ความไม่แน่นอน’ นี้ถูกปฏิบัติเหมือนระดับ ‘noise’ ในโมเดล diffusion และโมเดลจะถูกควบคุมด้วย embedding บางอย่างเพื่อกำจัด noise
สิ่งนี้ทำให้สามารถสรุปบางส่วนของภาพให้แน่นอนก่อนส่วนอื่นได้ เช่น นำไปใช้แก้เขาวงกตได้ ในเปเปอร์ยังสาธิตไปถึงการควบคุมแขนกลให้ย้ายผลไม้ ซึ่งน่าทึ่งทีเดียว
ชื่อเรื่องกลับให้ความรู้สึกว่าประเมินไอเดียนี้ต่ำไปด้วยซ้ำ เพราะระดับ masking เป็นค่าจำนวนจริง จึงเป็นวิธีทำ partial masking และผมมองว่าเป็นไอเดียที่ลึกและน่าสนใจมาก
อย่างไรก็ตาม ในเปเปอร์ยังมีหลายส่วนที่ไม่ได้กล่าวถึง เลยอยากเห็น codebase มาก ๆ เช่น งานติดตามเขาวงกตกับงานขยายวิดีโอนั้นจัดรูปแบบอย่างไรแน่ชัด เชื่อมแขนกลเข้ากับโมเดลนี้อย่างไร และสั่งให้ทำงานที่ต้องการอย่างไร ก็ยังไม่ชัดเจน ตัวสถาปัตยกรรมเองก็ดูเหมือนต้องมีเปเปอร์อีกหลายฉบับหรือคำอธิบายละเอียด ๆ ประกอบ
จุดที่ทรงพลังคือการทำให้งานมีความยาวแปรผันได้ ขณะเดียวกันก็บังคับให้เอเจนต์ไม่ถือว่าสถานการณ์ปัจจุบันเป็นเรื่องแน่นอน แต่ต้องสะท้อนมันเข้าไปด้วย ดังนั้นแม้จะเจอความยากที่ไม่คาดคิด ก็สามารถตอบสนองตามเส้นทางและ generalize ได้ดีขึ้น
ผมเดาว่าเป็นการตั้งค่าให้ทุกงานถูกมองเป็น variable horizon และให้สถานะปัจจุบันเป็นผลลัพธ์ของการกระทำก่อนหน้า ถ้าได้ดูโค้ดด้วยก็คงดี
https://github.com/buoyancy99/diffusion-forcing
รู้จักพวก Tree of Thoughts ที่ใช้ Monte Carlo tree search ประกอบ และก็คล้ายกันอยู่บ้าง แต่โดยปกติเป้าหมายที่ฝึกด้วย reward มักต่างออกไป เลยสนใจวิธีที่ใกล้กับการสร้างในระดับ token มากกว่า
แบบนี้เป็นไปได้ไหม?
ปัญหาที่พยายามแก้คืออะไร? กำลังเสนอ generative model แบบใหม่หรือ?
เขาบอกว่าชื่อ “Diffusion Forcing” มาจาก “teacher forcing” และ “diffusion models”