โมเดลการแพร่กระจายเป็นการใช้งานการเรียนรู้เชิงลึกที่น่าสนใจในการจำลองวิวัฒนาการของข้อมูลอย่างค่อยเป็นค่อยไปเมื่อเวลาผ่านไป แนวคิดเบื้องหลังการสร้างโดยใช้แบบจำลองการแพร่กระจายคือการแปลงจุดข้อมูลจากสัญญาณรบกวนไปเป็นการกระจายเป้าหมายซึ่งเป็นการกระจายข้อมูลดั้งเดิมซ้ำๆ การเปลี่ยนแปลงนี้ดำเนินการผ่านชุดขั้นตอนที่ไม่ต่อเนื่องกัน ขั้นตอนการฝึกซ้อมเกี่ยวข้องกับการแพร่ไปข้างหน้าและการแพร่กระจายไปข้างหลัง
ในกระบวนการแพร่กระจายไปข้างหน้า เราจะค่อยๆ เพิ่มสัญญาณรบกวนแบบเกาส์เซียนให้กับข้อมูลตามจำนวนก้าวของเวลาแบบสุ่ม 't' ('ไม่' น้อยกว่าหรือเท่ากับจำนวนก้าวของเวลาที่กำหนดไว้ทั้งหมด) ส่งผลให้ภาพมีสัญญาณรบกวน ในกระบวนการ Reverse Diffusion เราเริ่มต้นด้วยภาพที่มีสัญญาณรบกวน (สัญญาณรบกวนสำหรับขั้นตอน 't' ในการแพร่กระจายไปข้างหน้า) และเราฝึกโมเดล UNet ซึ่งช่วยลดระดับสัญญาณรบกวนโดยการคาดเดาสัญญาณรบกวนที่เพิ่มให้กับภาพต้นฉบับ
สำหรับการสร้างภาพใหม่ เราเพียงแค่ทำการแพร่กระจายแบบย้อนกลับซ้ำๆ ในการดำเนินการนี้ ขั้นแรกเราจะสุ่มตัวอย่างสัญญาณรบกวนจากเกาส์เซียนมาตรฐาน จากนั้นเราจะคาดการณ์และกำจัดสัญญาณรบกวนดังกล่าวทีละน้อยตามจำนวนขั้นตอนที่กำหนดไว้ล่วงหน้า ซึ่งส่งผลให้ได้ภาพที่คล้ายกับการกระจายข้อมูลดั้งเดิม