← กลับไปยังบทความทั้งหมด

โครงข่ายประสาทเทียมแบบ Deep Image Prior

สรุปใจความสำคัญ

  • ไม่ต้องใช้ชุดข้อมูลฝึกสอนล่วงหน้า (Training Data) แต่ใช้รูปภาพเพียงรูปเดียวในการประมวลผล
  • ใช้โครงสร้างของโครงข่ายประสาทเทียมแบบคอนโวลูชันเป็นตัวกำหนดเงื่อนไขเบื้องต้น (Prior) แทนการใช้ข้อมูลสถิติจากภายนอก
  • อาศัยหลักการที่โครงข่ายเรียนรู้สัญญาณภาพที่เป็นประโยชน์ได้เร็วกว่าสัญญาณรบกวน เพื่อป้องกันการเกิด Overfitting
  • มักใช้โครงสร้างที่คล้าย U-Net แต่ตัดการเชื่อมต่อข้าม (Skip Connections) ออกเพื่อประสิทธิภาพที่ดีขึ้น

Deep Image Prior (DIP) คือรูปแบบหนึ่งของโครงข่ายประสาทเทียมแบบคอนโวลูชัน (Convolutional Neural Network - CNN) ที่ถูกนำมาใช้เพื่อปรับปรุงคุณภาพของรูปภาพ โดยมีลักษณะเด่นที่สำคัญคือ ไม่ต้องใช้ข้อมูลสำหรับฝึกสอน (Training Data) ล่วงหน้า แต่จะใช้เพียงรูปภาพที่ต้องการปรับปรุงเพียงรูปเดียวเป็นพื้นฐานในการทำงาน

ในกระบวนการนี้ โครงข่ายประสาทเทียมจะถูกกำหนดค่าเริ่มต้นแบบสุ่ม (Randomly Initialized) และถูกนำมาใช้เป็นตัวกำหนดเงื่อนไขเบื้องต้น (Prior) เพื่อแก้ไขปัญหาทางคณิตศาสตร์แบบผกผัน (Inverse Problems) เช่น การลดสัญญาณรบกวน (Noise Reduction), การเพิ่มความละเอียดของภาพ (Super-resolution) และการเติมเต็มส่วนที่ขาดหายไปของภาพ (Inpainting) โดยสถิติของรูปภาพจะถูกจับใจความผ่านโครงสร้างของตัวสร้างภาพแบบคอนโวลูชัน แทนที่จะเกิดจากการเรียนรู้จากชุดข้อมูลขนาดใหญ่

หลักการทำงานและวิธีการ

พื้นฐานทางคณิตศาสตร์

ปัญหาทางคณิตศาสตร์แบบผกผัน เช่น การลดสัญญาณรบกวนหรือการเติมเต็มภาพ สามารถเขียนให้อยู่ในรูปของงานการหาค่าที่เหมาะสมที่สุด (Optimization Task) ดังนี้:

สมการการหาค่าเหมาะสมที่สุด x<em> = min E(x; x0) + R(x)
สมการพื้นฐานสำหรับการแก้ปัญหาภาพแบบผกผัน

โดยที่:

  • x คือ รูปภาพที่ต้องการกู้คืน
    ตัวแปร x
    รูปภาพเป้าหมาย
  • x0 คือ รูปภาพที่เสียหายหรือมีสัญญาณรบกวน
    ตัวแปร x0
    รูปภาพที่เสียหาย
  • E(x; x0) คือ พจน์ข้อมูล (Data Term) ที่ขึ้นอยู่กับลักษณะของงาน
    พจน์ข้อมูล E
    ฟังก์ชันวัดความแตกต่างระหว่างภาพ
  • R(x) คือ ตัวปรับระเบียบ (Regularizer) เพื่อควบคุมความราบเรียบหรือลักษณะของภาพ

ในระบบโครงข่ายประสาทเทียมทั่วไป จะมีการสร้างตัวสร้าง/ตัวถอดรหัส (Generator/Decoder) ที่เขียนแทนด้วย x = fθ(z) ซึ่งทำหน้าที่แปลงเวกเตอร์รหัสสุ่ม (Random Code Vector) z ให้กลายเป็นรูปภาพ x

สมการ x = f_theta(z)
ฟังก์ชันการสร้างภาพจากรหัสสุ่ม
ตัวแปร z
เวกเตอร์รหัสสุ่ม

รายละเอียดการประมวลผล

ในแนวทางของ Deep Image Prior นั้น ตัวปรับระเบียบ R(x) จะถูกแทนที่ด้วย "เงื่อนไขเบื้องต้นโดยนัย" (Implicit Prior) ที่ถูกบรรจุอยู่ในโครงสร้างของโครงข่ายประสาทเทียม ซึ่งหมายความว่ารูปภาพที่สามารถสร้างได้จากโครงข่ายนี้จะมีค่า R(x) = 0 ในขณะที่รูปภาพที่ไม่สามารถสร้างได้จะมีค่าเป็นอนันต์

ตัวแปร R(x)
ตัวปรับระเบียบ
R(x)=0
เงื่อนไขเมื่อภาพถูกสร้างโดยโครงข่าย
R(x)=infinity
เงื่อนไขเมื่อภาพไม่สามารถสร้างได้

กระบวนการนี้จะนำไปสู่การหาค่าพารามิเตอร์ θ ที่เหมาะสมที่สุดผ่านการลดค่าความผิดพลาด (Gradient Descent) โดยเริ่มจากค่าเริ่มต้นแบบสุ่ม เพื่อให้ได้ผลลัพธ์การกู้คืนภาพ x

สมการ theta</em>
การหาค่าพารามิเตอร์ที่เหมาะสมที่สุด
สมการ x<em>
ผลลัพธ์การกู้คืนภาพ
ตัวแปร theta</em>
พารามิเตอร์ที่ปรับจูนแล้ว
ตัวแปร x
ภาพที่กู้คืนสำเร็จ

การป้องกันการเรียนรู้เกิน (Overfitting)

แม้ว่าพารามิเตอร์ θ จะสามารถถูกใช้เพื่อกู้คืนรูปภาพใดๆ รวมถึงสัญญาณรบกวน (Noise) แต่โครงข่ายประสาทเทียมมีแนวโน้มที่จะเรียนรู้สัญญาณที่เป็นประโยชน์ (Signal) ได้เร็วกว่าสัญญาณรบกวน เนื่องจากสัญญาณรบกวนมีความต้านทานสูง (High Impedance) ในขณะที่สัญญาณภาพมีต้านทานต่ำ ดังนั้น หากกำหนดจำนวนรอบในการประมวลผล (Iterations) ให้เหมาะสม ไม่ให้มากเกินไป โครงข่ายจะหยุดทำงานก่อนที่จะเริ่มเรียนรู้สัญญาณรบกวน ทำให้ได้ภาพที่สะอาดและมีคุณภาพ

โครงสร้างของแบบจำลอง

โดยทั่วไป Deep Image Prior มักใช้โครงสร้างที่คล้ายกับ U-Net แต่มีความแตกต่างที่สำคัญคือ ไม่มีการเชื่อมต่อข้าม (Skip Connections) ระหว่างบล็อกตัวเข้ารหัส (Encoder) และตัวถอดรหัส (Decoder) เนื่องจากผู้สร้างพบว่าการมีโครงสร้างที่ลึกขึ้นนั้นเป็นประโยชน์ แต่การเชื่อมต่อข้ามซึ่งมักใช้ในงานจำแนกประเภทภาพ (Semantic Segmentation) กลับส่งผลเสียต่อประสิทธิภาพในการกู้คืนภาพในลักษณะนี้

การประยุกต์ใช้งาน

การลดสัญญาณรบกวน (Denoising)

หลักการคือการกู้คืนภาพ x จากภาพที่มีสัญญาณรบกวน x0 โดยที่ x0 = x + ϵ

ตัวแปร x
ภาพต้นฉบับที่สะอาด
ตัวแปร x0
ภาพที่มีสัญญาณรบกวน
สมการ x0 = x + epsilon
แบบจำลองการเกิดสัญญาณรบกวน
ตัวแปร epsilon
สัญญาณรบกวน

ในการทำงาน จะใช้ฟังก์ชันพลังงานกำลังสอง (Quadratic Energy Function) เป็นพจน์ข้อมูล เพื่อหาค่า θ ที่ทำให้ภาพที่สร้างจากโครงข่ายมีความใกล้เคียงกับภาพที่มีสัญญาณรบกวนมากที่สุด โดยที่โครงข่ายจะกรองสัญญาณรบกวนออกไปโดยธรรมชาติผ่านโครงสร้างของมันเอง

คำถามที่พบบ่อย

Deep Image Prior คืออะไร?

คือเทคนิคการใช้โครงข่ายประสาทเทียมแบบคอนโวลูชัน (CNN) เพื่อปรับปรุงคุณภาพรูปภาพ เช่น การลดสัญญาณรบกวน หรือการเติมเต็มภาพ โดยไม่ต้องใช้ข้อมูลฝึกสอนล่วงหน้า แต่ใช้โครงสร้างของตัวมันเองเป็นตัวกรองสัญญาณรบกวน

ทำไม DIP ถึงไม่ต้องใช้ข้อมูลฝึกสอน?

เพราะ DIP ใช้โครงสร้างของโครงข่ายประสาทเทียม (Architecture) เป็น 'Prior' หรือเงื่อนไขเบื้องต้น ซึ่งโครงสร้างนี้มีแนวโน้มที่จะสร้างรูปภาพที่มีโครงสร้างเป็นธรรมชาติมากกว่าการสร้างสัญญาณรบกวนแบบสุ่ม

การ Overfitting ใน DIP ทำงานอย่างไร?

ใน DIP การ Overfitting คือการที่โครงข่ายเริ่มเรียนรู้และสร้างสัญญาณรบกวนกลับคืนมาในภาพ หากเราหยุดการประมวลผลในรอบ (Iteration) ที่เหมาะสม โครงข่ายจะกู้คืนเฉพาะสัญญาณภาพที่สำคัญและทิ้งสัญญาณรบกวนไว้

DIP แตกต่างจาก U-Net ทั่วไปอย่างไร?

DIP มักจะใช้โครงสร้างที่คล้าย U-Net แต่จะนำการเชื่อมต่อข้าม (Skip Connections) ออก เนื่องจากพบว่าการเชื่อมต่อดังกล่าวส่งผลเสียต่อการกู้คืนภาพในงานประเภทนี้