โครงข่ายระบบประสาทเทียม: แบบฝึกหัดเชิงอินเทอร์แอกทีฟ

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

แบบฝึกหัดที่ 1

วิดเจ็ตต่อไปนี้จะตั้งค่าเครือข่ายประสาทเทียมด้วยการกำหนดค่าดังต่อไปนี้:

  • ชั้นอินพุตที่มีนิวรอน 3 ตัวซึ่งบรรจุค่า 0.00 , 0.00 และ 0.00
  • ชั้นซ่อนเร้นที่มีเซลล์ประสาท 4 เซลล์
  • ชั้นเอาต์พุตที่มี 1 นิวรอน
  • ฟังก์ชันการกระตุ้น ReLU ถูกนำไปใช้กับโหนดทั้งหมดในเลเยอร์ซ่อนและโหนดเอาต์พุต

ตรวจสอบการตั้งค่าเครือข่ายเบื้องต้น (หมายเหตุ: อย่า เพิ่งคลิกปุ่ม ▶️ หรือ >| ) จากนั้นดำเนินการตามขั้นตอนด้านล่างวิดเจ็ตให้เสร็จสมบูรณ์

งานที่ 1

ค่าสำหรับคุณลักษณะอินพุตทั้งสามของแบบจำลองเครือข่ายประสาทเทียมมีค่าเป็น 0.00 ทั้งหมด คลิกที่แต่ละโหนดในเครือข่ายเพื่อดูค่าเริ่มต้นทั้งหมด ก่อนกดปุ่มเล่น ( ▶️ ) โปรดตอบคำถามนี้:

คุณคิดว่าค่าผลลัพธ์ที่ได้จะเป็นแบบใด: ค่าบวก ค่าลบ หรือ 0?
ค่าเอาต์พุตที่เป็นบวก
ค่าเอาต์พุตติดลบ
ค่าเอาต์พุตเป็น 0

ตอนนี้คลิกปุ่มเล่น (▶️) ด้านบนของเครือข่าย แล้วดูค่าของเลเยอร์ที่ซ่อนอยู่และโหนดเอาต์พุตปรากฏขึ้น คำตอบของคุณถูกต้องหรือไม่

งานที่ 2

ก่อนที่จะทำการแก้ไขโครงข่ายประสาทเทียม โปรดตอบคำถามต่อไปนี้:

ถ้าคุณเพิ่มเลเยอร์ซ่อนเร้นอีกชั้นหนึ่งเข้าไปในโครงข่ายประสาทเทียมหลังจากเลเยอร์ซ่อนเร้นชั้นแรก และกำหนดให้เลเยอร์ใหม่นี้มี 3 โหนด โดยคงค่าพารามิเตอร์อินพุตและน้ำหนัก/ไบแอสไว้เหมือนเดิม การคำนวณของโหนดอื่นๆ จะได้รับผลกระทบอย่างไรบ้าง?
โหนดทั้งหมดในเครือข่าย ยกเว้นโหนดอินพุต
เฉพาะโหนดในเลเยอร์ที่ซ่อนอยู่ชั้นแรกเท่านั้น
เฉพาะโหนดเอาต์พุตเท่านั้น

ต่อไปนี้ ให้แก้ไขโครงข่ายประสาทเทียมโดยเพิ่มเลเยอร์ซ่อนใหม่ที่มี 3 โหนด:

  1. คลิกปุ่ม + ทางด้านซ้ายของข้อความ 1 hidden layer เพื่อเพิ่มเลเยอร์ซ่อนใหม่ก่อนเลเยอร์เอาต์พุต
  2. คลิกปุ่ม + ด้านบนเลเยอร์ที่ซ่อนอยู่ใหม่สองครั้ง เพื่อเพิ่มโหนดอีก 2 โหนดลงในเลเยอร์นั้น

คำตอบของคุณข้างต้นถูกต้องหรือไม่?

งานที่ 3

คลิกที่โหนดที่สอง (จากด้านบน) ในเลเยอร์ที่ซ่อนอยู่ชั้นแรกของกราฟเครือข่าย ก่อนทำการเปลี่ยนแปลงใดๆ กับการกำหนดค่าเครือข่าย โปรดตอบคำถามต่อไปนี้:

หากคุณเปลี่ยนค่าของน้ำหนัก w 12 (แสดงอยู่ด้านล่างโหนดอินพุตแรก x 1 ) การคำนวณของโหนดอื่นๆ อาจ ได้รับผลกระทบสำหรับค่าอินพุตบางค่าหรือไม่
ไม่มี
โหนดที่สองในเลเยอร์ซ่อนเร้นแรก โหนดทั้งหมดในเลเยอร์ซ่อนเร้นที่สอง และโหนดเอาต์พุต
โหนดทั้งหมดในเลเยอร์ซ่อนเร้นชั้นแรก เลเยอร์ซ่อนเร้นชั้นที่สอง และเลเยอร์เอาต์พุต

ตอนนี้ ให้คลิกที่ช่องข้อความสำหรับน้ำหนัก w 12 (แสดงอยู่ด้านล่างโหนดอินพุตแรก x 1 ) เปลี่ยนค่าเป็น 5.00 แล้วกด Enter สังเกตการเปลี่ยนแปลงบนกราฟ

คำตอบของคุณถูกต้องหรือไม่? โปรดระมัดระวังเมื่อตรวจสอบคำตอบของคุณ: หากค่าของโหนดไม่เปลี่ยนแปลง หมายความว่าการคำนวณพื้นฐานไม่เปลี่ยนแปลงใช่หรือไม่?

แบบฝึกหัดที่ 2

ใน แบบฝึกหัด Feature cross ใน โมดูลข้อมูลเชิงหมวดหมู่ คุณได้สร้าง feature cross ด้วยตนเองเพื่อให้เข้ากับข้อมูลที่ไม่เป็นเชิงเส้น ตอนนี้ คุณจะได้ลองดูว่าคุณสามารถสร้างโครงข่ายประสาทเทียมที่สามารถเรียนรู้วิธีการปรับให้เข้ากับข้อมูลที่ไม่เป็นเชิงเส้นโดยอัตโนมัติระหว่างการฝึกฝนได้หรือไม่

ภารกิจของคุณ: กำหนดค่าโครงข่ายประสาทเทียมที่สามารถแยกจุดสีส้มออกจากจุดสีน้ำเงินในแผนภาพด้านล่าง โดยให้ค่าความคลาดเคลื่อน (loss) น้อยกว่า 0.2 ทั้งในข้อมูลฝึกฝนและข้อมูลทดสอบ

คำแนะนำ:

ในวิดเจ็ตแบบโต้ตอบด้านล่างนี้:

  1. ปรับเปลี่ยนพารามิเตอร์ของโครงข่ายประสาทเทียมโดยทดลองใช้การตั้งค่าต่างๆ ดังต่อไปนี้:
    • เพิ่มหรือลบเลเยอร์ที่ซ่อนอยู่โดยคลิกปุ่ม + และ - ทางด้านซ้ายของหัวข้อ เลเยอร์ที่ซ่อนอยู่ (HIDDEN LAYERS) ในแผนภาพเครือข่าย
    • เพิ่มหรือลบเซลล์ประสาทจากชั้นที่ซ่อนอยู่โดยคลิกปุ่ม + และ - เหนือคอลัมน์ของชั้นที่ซ่อนอยู่
    • เปลี่ยนอัตราการเรียนรู้โดยเลือกค่าใหม่จากเมนูแบบเลื่อนลง "อัตราการเรียนรู้" ด้านบนแผนภาพ
    • เปลี่ยนฟังก์ชันการทำงานโดยเลือกค่าใหม่จากเมนูแบบเลื่อนลง "Activation" ด้านบนแผนภาพ
  2. คลิกปุ่มเล่น (▶️) ด้านบนแผนภาพเพื่อฝึกฝนโมเดลเครือข่ายประสาทเทียมโดยใช้พารามิเตอร์ที่ระบุ
  3. โปรดสังเกตการแสดงผลของแบบจำลองที่ปรับให้เข้ากับข้อมูลขณะที่การฝึกฝนดำเนินไป รวมถึงค่า ความสูญเสียในการทดสอบ และ ความสูญเสียในการฝึกฝน ในส่วน ผลลัพธ์
  4. หากโมเดลไม่สามารถลดค่าความสูญเสีย (loss) ให้ต่ำกว่า 0.2 ได้ทั้งในข้อมูลทดสอบและข้อมูลฝึกฝน ให้คลิก รีเซ็ต แล้วทำซ้ำขั้นตอนที่ 1–3 โดยใช้การตั้งค่าที่แตกต่างกัน ทำซ้ำกระบวนการนี้จนกว่าจะได้ผลลัพธ์ที่ต้องการ