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

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

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

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

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

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

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

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

การเพิ่มเลเยอร์ให้กับเครือข่าย

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

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

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

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

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

เราได้เพิ่มเลเยอร์ที่ซ่อนอยู่ซึ่งประกอบด้วยเซลล์ประสาทสี่เซลล์เข้าไปในแบบจำลองแล้ว

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

จากนั้นศึกษาแบบจำลอง และใช้แบบจำลองนั้นเพื่อตอบคำถามต่อไปนี้

แบบจำลองโครงข่ายประสาทเทียมนี้มี พารามิเตอร์ (น้ำหนักและไบแอส) กี่ตัว?
4
แบบจำลองดั้งเดิมของเราใน แบบฝึกหัดที่ 1 มีพารามิเตอร์สี่ตัว ได้แก่ w 11 , w 21 , w 31 และ b เนื่องจากแบบจำลองนี้มีเลเยอร์ที่ซ่อนอยู่ จึงมีพารามิเตอร์มากกว่านั้น
12
โปรดทราบว่าจำนวนพารามิเตอร์ทั้งหมดนั้นรวมถึงทั้งพารามิเตอร์ที่ใช้ในการคำนวณค่าโหนดในเลเยอร์ที่ซ่อนอยู่จากค่าอินพุต และพารามิเตอร์ที่ใช้ในการคำนวณค่าเอาต์พุตจากค่าโหนดในเลเยอร์ที่ซ่อนอยู่
16
โปรดทราบว่าจำนวนพารามิเตอร์ทั้งหมดนั้นรวมถึงทั้งพารามิเตอร์น้ำหนักและพารามิเตอร์ไบแอสด้วย
21
ในชั้นซ่อน มีพารามิเตอร์ 4 ตัวที่ใช้ในการคำนวณค่าของแต่ละโหนดทั้ง 4 ค่า ได้แก่ น้ำหนัก 3 ตัว (หนึ่งตัวสำหรับแต่ละค่าอินพุต) และค่าไบแอส รวมเป็น 16 พารามิเตอร์ จากนั้นมีพารามิเตอร์ 5 ตัวที่ใช้ในการคำนวณค่าเอาต์พุต ได้แก่ น้ำหนัก 4 ตัว (หนึ่งตัวสำหรับแต่ละโหนดในชั้นซ่อน) และค่าไบแอส รวมแล้วโครงข่ายประสาทเทียมนี้มีพารามิเตอร์ทั้งหมด 21 ตัว

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

โมเดลนี้สามารถเรียนรู้เกี่ยวกับความไม่เป็นเชิงเส้นได้หรือไม่?

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

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

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