โครงข่ายระบบประสาทเทียม: โหนดและเลเยอร์ที่ซ่อนอยู่

เพื่อสร้างโครงข่ายระบบประสาทเทียม ที่เรียนรู้ความไม่เป็นเชิงเส้น เริ่มต้นด้วยโครงสร้างโมเดลที่คุ้นเคยดังต่อไปนี้ รูปแบบเชิงเส้นของแบบฟอร์ม $y' = b + w_1x_1 + w_2x_2 + w_3x_3$

เราสามารถเห็นภาพสมการนี้ได้ดังที่แสดงด้านล่าง โดยที่ $x_1$ $x_2$ และ $x_3$ คือโหนดอินพุต 3 โหนด (สีฟ้า) และ $y'$ คือโหนดเอาต์พุตของเรา (สีเขียว)

แบบฝึกหัด 1

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

  1. คลิกปุ่มเล่น (▶️) ด้านบนเครือข่ายเพื่อคำนวณค่าของ โหนดเอาต์พุตสำหรับค่าอินพุต $x_1 = 1.00$, $x_2 = 2.00$ และ $x_3 = 3.00$

  2. คลิกโหนดที่สองใน เลเยอร์อินพุตและเพิ่ม ค่าจาก 20.00 เป็น 2.50 โปรดทราบว่าค่าของโหนดเอาต์พุตมีการเปลี่ยนแปลง เลือกเอาต์พุต โหนด (สีเขียว) และตรวจสอบแผงการคำนวณเพื่อดูเอาต์พุต มูลค่า

  3. คลิกโหนดเอาต์พุต (สีเขียว) เพื่อดูน้ำหนัก ($w_1$, $w_2$, $w_3$) และ ค่าพารามิเตอร์การให้น้ำหนักพิเศษ ($b$) ลดค่าน้ำหนักสำหรับ $w_3$ (ขอย้ำอีกครั้งว่าค่าของโหนดเอาต์พุตและการคำนวณด้านล่าง มีการเปลี่ยนแปลง) จากนั้นให้เพิ่มค่าการให้น้ำหนักพิเศษ ดูวิธีการเปลี่ยนแปลงเหล่านี้ ส่งผลต่อเอาต์พุตโมเดล

การเพิ่มเลเยอร์ลงในเครือข่าย

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

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

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

เลเยอร์ที่ซ่อนอยู่ใหม่นี้ช่วยให้โมเดลของเรารวมข้อมูลอินพุตใหม่โดยใช้ ชุดพารามิเตอร์ สิ่งนี้จะช่วยให้โมเดลของเราเรียนรู้ความสัมพันธ์ที่ไม่ใช่เชิงเส้นได้ไหม

แบบฝึกหัด 2

เราได้เพิ่มเลเยอร์ที่ซ่อนอยู่ซึ่งมีเซลล์ประสาท 4 เซลล์ในโมเดล

คลิกปุ่มเล่น (▶️) ด้านบนเครือข่ายเพื่อคำนวณค่าของ โหนดเลเยอร์ที่ซ่อนอยู่ 4 โหนดและโหนดเอาต์พุตสำหรับค่าอินพุต $x_1 = 1.00$, $x_2 = 2.00$ และ $x_3 = 3.00$

จากนั้นให้สำรวจโมเดลและนำมาใช้เพื่อตอบคำถามต่อไปนี้

มีกี่ parameters (น้ำหนักและน้ำหนักพิเศษ) จะประมวลผลระบบประสาทเทียมนี้ ของโมเดลเครือข่าย
4
โมเดลเดิมของเราในแบบฝึกหัด 1 มี พารามิเตอร์ 4 รายการ ได้แก่ w11, w21, w31 และ ข. เนื่องจากโมเดลนี้มี มีพารามิเตอร์อื่นๆ อีก
12
โปรดทราบว่าจำนวนพารามิเตอร์ทั้งหมดจะมีทั้งพารามิเตอร์ ที่ใช้ในการคำนวณค่าโหนดในเลเยอร์ที่ซ่อนอยู่จาก ค่าอินพุต และพารามิเตอร์ที่ใช้คำนวณค่าเอาต์พุต จากค่าโหนดในเลเยอร์ที่ซ่อนอยู่
16
โปรดทราบว่าจำนวนพารามิเตอร์ทั้งหมดประกอบด้วยค่าน้ำหนัก และพารามิเตอร์การให้น้ำหนักพิเศษ
21
มีพารามิเตอร์ 4 ตัวที่ใช้ในการคำนวณค่าโหนด 4 ค่าใน เลเยอร์ที่ซ่อนอยู่—น้ำหนัก 3 ส่วน (1 ค่าต่อค่าอินพุต 1 ค่า) และ อคติ ซึ่งรวมกันได้พารามิเตอร์ 16 ตัว จากนั้นมีการใช้พารามิเตอร์ 5 รายการ เพื่อคำนวณค่าเอาต์พุต: 4 น้ำหนัก (1 ค่าสำหรับแต่ละโหนดใน เลเยอร์ที่ซ่อนอยู่) และการให้น้ำหนักพิเศษ โดยรวมแล้ว โครงข่ายประสาทนี้มี 21 พารามิเตอร์

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

โมเดลนี้เรียนรู้ความไม่เป็นเชิงเส้นได้ไหม

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

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

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