0Pricing
Learn AI with Python · บทเรียน

อัลกอริทึมการแพร่ย้อนกลับ

แนวคิดการเรียนรู้และการหาค่าที่เหมาะสม

อัลกอริทึมการแพร่ย้อนกลับ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

การแพร่ย้อนกลับคืออะไร

อัลกอริทึมการแพร่ย้อนกลับ

การแพร่ย้อนกลับเป็นอัลกอริทึมสำคัญที่ใช้ฝึกโครงข่ายประสาทเทียม โดยคำนวณความชันของฟังก์ชันสูญเสียเมื่อเทียบกับน้ำหนักแต่ละตัว ด้วยการแพร่ข้อผิดพลาดย้อนกลับผ่านโครงข่าย

อัลกอริทึมการแพร่ย้อนกลับ — ภาพประกอบ 1

ขั้นตอนสำคัญในการส่งผ่านย้อนกลับ

ขั้นตอนสำคัญในการส่งผ่านย้อนกลับ

กระบวนการส่งผ่านย้อนกลับประกอบด้วย:

  1. การส่งผ่านไปข้างหน้า: คำนวณเอาต์พุตและค่าความสูญเสีย
  2. การส่งผ่านย้อนกลับ: คำนวณความชันของฟังก์ชันค่าความสูญเสียเทียบกับน้ำหนักและไบแอส
  3. การปรับน้ำหนัก: ปรับน้ำหนักโดยใช้อัลกอริทึมการหาค่าเหมาะที่สุด เช่น การลดลงตามความชัน

ฟังก์ชันค่าความสูญเสีย

ฟังก์ชันค่าความสูญเสีย

ฟังก์ชันค่าความสูญเสียใช้วัดความแตกต่างระหว่างค่าที่ทำนายกับค่าจริง ฟังก์ชันค่าความสูญเสียที่พบได้ทั่วไป ได้แก่:

  • ค่าคลาดเคลื่อนกำลังสองเฉลี่ย (MSE): สำหรับงานการถดถอย
  • ค่าความสูญเสียเอนโทรปีไขว้: สำหรับงานการจำแนกประเภท

การลดลงตามความชัน

การลดลงตามความชัน

การลดลงตามความชันเป็นอัลกอริทึมการหาค่าเหมาะที่สุดที่ใช้ลดฟังก์ชันค่าความสูญเสีย โดยจะปรับปรุงน้ำหนักและไบแอสด้วยการก้าวทีละน้อยไปในทิศทางตรงข้ามกับความชัน

กฎการปรับปรุง:

Weight = Weight - Learning_Rate * Gradient

กฎลูกโซ่ในการแพร่ย้อนกลับ

กฎลูกโซ่ในการแพร่ย้อนกลับ

กฎลูกโซ่ใช้คำนวณเกรเดียนต์ของฟังก์ชันความสูญเสียสำหรับแต่ละชั้น กฎนี้ช่วยให้แพร่ข้อผิดพลาดย้อนกลับผ่านโครงข่ายได้

ตัวอย่างเช่น เกรเดียนต์ของความสูญเสียเมื่อเทียบกับน้ำหนักคือ:

∂L/∂W = ∂L/∂O * ∂O/∂Z * ∂Z/∂W

ตัวอย่างการแพร่ย้อนกลับ

ตัวอย่างการแพร่ย้อนกลับ

พิจารณาโครงข่ายประสาทเทียมอย่างง่ายที่มีชั้นข้อมูลนำเข้าหนึ่งชั้น ชั้นซ่อนหนึ่งชั้น และชั้นผลลัพธ์หนึ่งชั้น:

เราใช้การส่งผ่านไปข้างหน้าและการส่งผ่านย้อนกลับเพื่อปรับน้ำหนักให้ลดข้อผิดพลาดลงตลอดหลายรอบการฝึก

import numpy as np

# Example: Simple backpropagation setup
weights = np.array([0.5, -0.5])
inputs = np.array([2, 3])
target = 1
learning_rate = 0.01

# Forward pass
output = np.dot(inputs, weights)
loss = (target - output) ** 2

# Backward pass
error = 2 * (output - target)
gradients = error * inputs

# Weight update
weights -= learning_rate * gradients
print("Updated Weights:", weights)

ความท้าทายในการแพร่ย้อนกลับ

ความท้าทายในการแพร่ย้อนกลับ

ปัญหาที่พบบ่อย ได้แก่:

  • เกรเดียนต์หายไป: เกรเดียนต์มีขนาดเล็กลงมาก ทำให้การเรียนรู้ช้าลง
  • เกรเดียนต์ระเบิด: เกรเดียนต์มีขนาดใหญ่เกินไป ทำให้การเรียนรู้ไม่เสถียร
  • ค่าต่ำสุดเฉพาะที่: อัลกอริทึมอาจติดอยู่ในคำตอบที่ไม่เหมาะสมที่สุด

การปรับปรุงการแพร่ย้อนกลับ

การปรับปรุงการแพร่ย้อนกลับ

เพื่อรับมือกับความท้าทายเหล่านี้ เทคนิคสมัยใหม่ ได้แก่:

  • ฟังก์ชันการกระตุ้น: ReLU ช่วยลดปัญหาเกรเดียนต์หายไป
  • ตัวปรับให้เหมาะที่สุด: อัลกอริทึมอย่างอดัมและอาร์เอ็มเอสพร็อพช่วยให้การลู่เข้าเป็นไปได้ดีขึ้น
  • การทำให้เป็นระเบียบ: ป้องกันการเรียนรู้มากเกินไปด้วยการลงโทษน้ำหนักที่มีค่ามาก

สรุปและขั้นตอนถัดไป

สรุปและขั้นตอนถัดไป

ในบทเรียนนี้ เราได้:

  • สำรวจอัลกอริทึมการแพร่ย้อนกลับและบทบาทของอัลกอริทึมในการฝึกโครงข่ายประสาทเทียม
  • เรียนรู้เกี่ยวกับการลงตามเกรเดียนต์และกฎลูกโซ่
  • พูดคุยเกี่ยวกับความท้าทายและการปรับปรุงสมัยใหม่ในการแพร่ย้อนกลับ

ต่อไป เราจะสร้างโครงข่ายประสาทเทียมแรกโดยใช้ TensorFlow เพื่อดูการทำงานของการแพร่ย้อนกลับ

อัลกอริทึมการแพร่ย้อนกลับ — ภาพประกอบ 10

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

บทเรียน “อัลกอริทึมการแพร่ย้อนกลับ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “อัลกอริทึมการแพร่ย้อนกลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “อัลกอริทึมการแพร่ย้อนกลับ”

แนวคิดการเรียนรู้และการหาค่าที่เหมาะสม คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน

บทเรียน “อัลกอริทึมการแพร่ย้อนกลับ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. รู้เบื้องต้นเกี่ยวกับโครงข่ายประสาทเทียม
  2. ฟังก์ชันกระตุ้น
  3. โครงข่ายประสาทเทียมแบบส่งต่อไปข้างหน้า
  4. อัลกอริทึมการแพร่ย้อนกลับ
  5. โครงข่ายประสาทเทียมแรกด้วย TensorFlow
← กลับไปที่ Learn AI with Python