Backpropagation

Introduction to Deep Learning in Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Backpropagation

ch2_3_v2.003.png

Introduction to Deep Learning in Python

Backpropagation

ch2_3_v2.004.png

Introduction to Deep Learning in Python

Backpropagation

ch2_3_v2.005.png

Introduction to Deep Learning in Python

Backpropagation

ch2_3_v2.006.png

  • ช่วยให้ gradient descent อัปเดตน้ำหนักทั้งหมดในโครงข่ายประสาทเทียม (โดยคำนวณ gradient ของน้ำหนักทุกตัว)
  • มาจากกฎลูกโซ่ทางแคลคูลัส
  • ควรเข้าใจกระบวนการนี้ แต่โดยทั่วไปจะใช้ไลบรารีที่รองรับอยู่แล้ว
Introduction to Deep Learning in Python

กระบวนการ Backpropagation

  • ประมาณค่าความชันของฟังก์ชัน loss เทียบกับน้ำหนักแต่ละตัว
  • ทำ forward propagation เพื่อคำนวณค่าพยากรณ์และค่าความผิดพลาด
Introduction to Deep Learning in Python

กระบวนการ Backpropagation

ch2_3_v2.013.png

Introduction to Deep Learning in Python

กระบวนการ Backpropagation

ch2_3_v2.014.png

Introduction to Deep Learning in Python

กระบวนการ Backpropagation

  • ย้อนกลับทีละเลเยอร์
  • gradient ของน้ำหนักคือผลคูณของ:
    1. ค่าของโหนดที่ป้อนเข้าสู่น้ำหนักนั้น
    2. ความชันของฟังก์ชัน loss เทียบกับโหนดที่รับค่า
    3. ความชันของฟังก์ชัน activation ที่โหนดที่รับค่า
Introduction to Deep Learning in Python

ฟังก์ชัน Activation แบบ ReLU

ch2_3_v2.022.png

Introduction to Deep Learning in Python

กระบวนการ Backpropagation

  • ต้องติดตามความชันของฟังก์ชัน loss เทียบกับค่าของโหนดด้วย
  • ความชันของค่าโหนดคือผลรวมของความชันจากน้ำหนักทั้งหมดที่ออกจากโหนดนั้น
Introduction to Deep Learning in Python

มาฝึกกันเถอะ!

Introduction to Deep Learning in Python

Preparing Video For Download...