ในแบบฝึกหัดเชิงอินเทอร์แอกทีฟด้านล่างนี้ คุณจะได้สำรวจเพิ่มเติมเกี่ยวกับการทำงานภายในของ โครงข่ายระบบประสาทเทียม ขั้นแรก คุณจะเห็นการเปลี่ยนแปลงของพารามิเตอร์และไฮเปอร์พารามิเตอร์ ส่งผลต่อการคาดการณ์ของเครือข่าย จากนั้น คุณจะได้ใช้สิ่งที่ได้เรียนรู้เพื่อฝึก โครงข่ายระบบประสาทเทียมให้พอดีกับข้อมูลแบบไม่เป็นเชิงเส้น
แบบฝึกหัด 1
วิดเจ็ตต่อไปนี้จะตั้งค่าโครงข่ายระบบประสาทเทียมด้วยการกำหนดค่าต่อไปนี้
- เลเยอร์อินพุตที่มีเซลล์ประสาท 3 เซลล์ที่มีค่า
0.00
,0.00
และ0.00
- ชั้นที่ซ่อนอยู่ซึ่งมีเซลล์ประสาท 4 เซลล์
- เลเยอร์เอาต์พุตที่มีเซลล์ประสาท 1 เซลล์
- ใช้ฟังก์ชันการเปิดใช้งาน ReLU กับ โหนดเลเยอร์ที่ซ่อนอยู่และโหนดเอาต์พุต
ตรวจสอบการตั้งค่าเริ่มต้นของเครือข่าย (หมายเหตุ: อย่าคลิกปุ่ม ▶️ หรือ >|) แล้วทำงานด้านล่างวิดเจ็ตให้เสร็จสมบูรณ์
งาน 1
ค่าสำหรับฟีเจอร์อินพุตทั้ง 3 รายการของโมเดลโครงข่ายระบบประสาทเทียมทั้งหมด
0.00
คลิกแต่ละโหนดในเครือข่ายเพื่อดูโหนดเริ่มต้นทั้งหมด
ก่อนกดปุ่มเล่น (▶️) ให้ตอบคำถามนี้
ตอนนี้คลิกปุ่มเล่น (▶️) เหนือเครือข่ายและดูเลเยอร์ที่ซ่อนอยู่ทั้งหมด และป้อนข้อมูลค่าโหนดเอาต์พุต คำตอบด้านบนถูกต้องไหม
คลิกที่นี่เพื่อดูคำอธิบาย
ค่าเอาต์พุตที่ถูกต้องที่คุณได้รับจะแตกต่างกันไปตามน้ำหนัก และพารามิเตอร์การให้น้ำหนักพิเศษ จะเกิดขึ้นแบบสุ่ม อย่างไรก็ตาม เนื่องจากเซลล์ประสาทแต่ละเซลล์ ในเลเยอร์อินพุตมีค่าเป็น 0 น้ำหนักที่ใช้ในการคำนวณค่า ค่าโหนดเลเยอร์ที่ซ่อนไว้จะเป็น 0 ทั้งหมด ตัวอย่างเช่น แท็ก การคำนวณโหนดเลเยอร์ที่ซ่อนอยู่จะมีลักษณะดังนี้
y = ReLU(กว้าง11* 0.00 + กว้าง21* 0.00 + กว้าง31* 0.00 + ข)
y = ReLU(b)
ดังนั้น ค่าของโหนดเลเยอร์ที่ซ่อนอยู่แต่ละโหนดจะเท่ากับค่า ReLU ของโหนด อคติ (b) ซึ่งจะเป็น 0 หาก b เป็นค่าลบ และ b เองหาก b เป็น 0 หรือ เชิงบวก
ค่าของโหนดเอาต์พุตจะมีการคำนวณดังนี้
y = ReLU(กว้าง11* x11 + กว้าง21* x21 + กว้าง31* x31 + กว้าง41* x41 + ข)
งาน 2
ก่อนที่จะแก้ไขโครงข่ายระบบประสาทเทียม ให้ตอบคำถามต่อไปนี้
ตอนนี้ให้แก้ไขโครงข่ายระบบประสาทเทียมเพื่อเพิ่มเลเยอร์ใหม่ที่ซ่อนอยู่ซึ่งมีโหนด 3 โหนด ดังนี้
- คลิกปุ่ม + ทางด้านซ้ายของข้อความเลเยอร์ที่ซ่อนอยู่ 1 เลเยอร์เพื่อเพิ่ม และเลเยอร์ที่ซ่อนอยู่ก่อนเลเยอร์เอาต์พุต
- คลิกปุ่ม + เหนือเลเยอร์ใหม่ที่ซ่อนอยู่ 2 ครั้งเพื่อเพิ่มโหนดอีก 2 รายการ ลงในเลเยอร์
คำตอบด้านบนถูกต้องไหม
คลิกที่นี่เพื่อดูคำอธิบาย
เฉพาะโหนดเอาต์พุตเท่านั้นที่จะเปลี่ยนแปลง เพราะการอนุมานสำหรับโครงข่ายประสาทนี้ เป็น "ส่งต่อฟีด" (การคำนวณความคืบหน้าตั้งแต่ต้นจนจบ) การเพิ่ม ของเลเยอร์ใหม่ไปยังเครือข่ายจะมีผลกับโหนดหลังจาก ไม่ใช่ที่อยู่ก่อนหน้า
งาน 3
คลิกโหนดที่สอง (จากด้านบน) ในเลเยอร์ที่ซ่อนอยู่ของเครือข่าย กราฟ ก่อนทำการเปลี่ยนแปลงใดๆ กับการกำหนดค่าเครือข่าย ให้ตอบคำถาม คำถามต่อไปนี้:
จากนั้นคลิกช่องข้อความสำหรับน้ำหนัก12 (แสดงใต้
โหนดอินพุตแรก x1) เปลี่ยนค่าเป็น 5.00
แล้วกด Enter
สังเกตการอัปเดตกราฟ
คำตอบของคุณถูกต้องไหม โปรดใช้ความระมัดระวังในการยืนยันคำตอบของคุณ ถ้าโหนด ค่าไม่เปลี่ยนแปลง หมายความว่าการคำนวณเบื้องหลังไม่มีการเปลี่ยนแปลงใช่ไหม
คลิกที่นี่เพื่อดูคำอธิบาย
โหนดเดียวที่ได้รับผลกระทบในเลเยอร์ที่ซ่อนอยู่รายการแรกคือโหนดที่สอง ( ที่คุณคลิก) การคำนวณค่าสำหรับโหนดอื่นๆ ใน เลเยอร์ที่ซ่อนอยู่ไม่มี w12 เป็นพารามิเตอร์ จึงไม่มี ที่ได้รับผลกระทบ โหนดทั้งหมดในเลเยอร์ที่ซ่อนไว้ชั้นที่สองจะได้รับผลกระทบ เนื่องจาก การคำนวณจะขึ้นอยู่กับค่าของโหนดที่สองในช่วง เลเยอร์ที่ซ่อนอยู่ ในทำนองเดียวกัน ค่าโหนดเอาต์พุตจะได้รับผลกระทบเนื่องจาก การคำนวณจะขึ้นอยู่กับค่าของโหนดในเลเยอร์ที่ซ่อนอยู่ที่สอง
คุณคิดว่าคำตอบคือ "ไม่มี" ใช่ไหม เพราะไม่มีค่าโหนดใน เครือข่ายเปลี่ยนไปเมื่อคุณเปลี่ยนค่าน้ำหนักหรือไม่ โปรดทราบว่า การคำนวณสำหรับโหนดอาจเปลี่ยนแปลงโดยไม่เปลี่ยนค่าของโหนด (เช่น ReLU(0) และ ReLU(–5) ให้ผลลัพธ์เป็น 0) อย่าคาดเดาเองว่าเครือข่ายได้รับผลกระทบอย่างไรจาก โดยดูจากค่าโหนด อย่าลืมดูการคำนวณด้วย
แบบฝึกหัด 2
ในแบบฝึกหัดไขว้ที่มีฟีเจอร์ ในโมดูลข้อมูลเชิงหมวดหมู่ กากบาทคุณลักษณะที่สร้างขึ้นด้วยตนเอง เพื่อให้พอดีกับข้อมูลที่ไม่ใช่เชิงเส้น ตอนนี้ คุณจะเห็นว่าคุณสามารถสร้างโครงข่ายระบบประสาทเทียมที่สามารถเรียนรู้โดยอัตโนมัติ วิธีปรับข้อมูลที่ไม่ใช่เชิงเส้นในระหว่างการฝึก
งานของคุณ: กำหนดค่าโครงข่ายระบบประสาทเทียมที่แยกจุดสีส้มออกจาก จุดสีน้ำเงินในแผนภาพด้านล่าง ทำให้สูญเสียค่าน้อยกว่า 0.2 ข้อมูลการฝึกอบรมและการทดสอบ
Instructions:
ในวิดเจ็ตแบบอินเทอร์แอกทีฟด้านล่าง
- แก้ไขไฮเปอร์พารามิเตอร์ของโครงข่ายระบบประสาทเทียมด้วยการทดลองกับ
ของการตั้งค่าการกำหนดค่าต่อไปนี้
- เพิ่มหรือนำเลเยอร์ที่ซ่อนไว้ออกโดยคลิกปุ่ม + และ - ด้านซ้ายของส่วนหัวเลเยอร์ที่ซ่อนในแผนภาพเครือข่าย
- เพิ่มหรือนำเซลล์ประสาทออกจากเลเยอร์ที่ซ่อนอยู่โดยคลิก + และ - ปุ่มเหนือคอลัมน์เลเยอร์ที่ซ่อนอยู่
- เปลี่ยนอัตราการเรียนรู้โดยเลือกค่าใหม่จากอัตราการเรียนรู้ เหนือแผนภาพ
- เปลี่ยนฟังก์ชันการเปิดใช้งานโดยเลือกค่าใหม่จาก เมนูแบบเลื่อนลงการเปิดใช้งานเหนือแผนภาพ
- คลิกปุ่มเล่น (▶️) เหนือแผนภาพเพื่อฝึกโครงข่ายประสาท โดยใช้พารามิเตอร์ที่ระบุ
- สังเกตการแสดงภาพของโมเดลที่ตรงกับข้อมูลเป็นการฝึก มีความคืบหน้า และ การสูญเสียการทดสอบและ ค่าการสูญเสียการฝึกใน ส่วนเอาต์พุต
- หากโมเดลไม่สูญเสียข้อมูลการทดสอบและการฝึกต่ำกว่า 0.2 คลิกรีเซ็ต แล้วทำขั้นตอนที่ 1-3 ซ้ำโดยใช้การกำหนดค่าอีกชุดหนึ่ง การตั้งค่า ทำขั้นตอนนี้ซ้ำจนกว่าจะได้ผลลัพธ์ที่ต้องการ
คลิกที่นี่เพื่อดูโซลูชันของเรา
เราประสบผลสำเร็จทั้งการสูญเสียจากการทดสอบและการฝึกอบรมต่ำกว่า 0.2 โดย
- การเพิ่มเลเยอร์ที่ซ่อนอยู่ 1 ชั้นที่มีเซลล์ประสาท 3 เซลล์
- เลือกอัตราการเรียนรู้เป็น 0.01
- เลือกฟังก์ชันเปิดใช้งานของ ReLU