บทนำสู่โครงข่ายประสาทฟีดฟอร์เวิร์ด: เลเยอร์ ฟังก์ชัน และความสำคัญ

เผยแพร่แล้ว: 2020-05-28

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

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

มาทำความเข้าใจกับแง่มุมที่สำคัญของสถาปัตยกรรมโครงข่ายประสาทเทียมหลักกันเถอะ

สารบัญ

Feedforward Neural Network คืออะไร?

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

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

โครงข่ายประสาทฟีดฟอร์เวิร์ดมีไว้เพื่อประมาณฟังก์ชัน

นี่คือ วิธีการ ทำงาน

มีลักษณนาม y = f*(x)

สิ่งนี้ดึงอินพุต x เข้าสู่หมวดหมู่ y

เครือข่าย feedforward จะจับคู่ y = f (x; θ) จากนั้นจะจดจำค่าของ θ ที่ใกล้เคียงกับฟังก์ชันได้ดีที่สุด

โครงข่ายประสาทฟีดฟอร์เวิร์ดสำหรับฐานสำหรับการจดจำวัตถุในรูปภาพ ดังที่คุณเห็นในแอป Google Photos

เลเยอร์ของโครงข่ายประสาทฟีดฟอร์เวิร์ด

โครงข่ายประสาทเทียมแบบ feedforward ประกอบด้วยสิ่งต่อไปนี้

ชั้นอินพุต

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

ชั้นที่ซ่อนอยู่

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

ชั้นเอาท์พุท

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

น้ำหนักเซลล์ประสาท

ความแรงของการเชื่อมต่อระหว่างเซลล์ประสาทเรียกว่าตุ้มน้ำหนัก ค่าของช่วงน้ำหนัก 0 ถึง 1

ข้อมูลเพิ่มเติม: Neural Network Model: Brief Introduction, Glossary

ฟังก์ชันต้นทุนในโครงข่ายประสาทฟีดฟอร์เวิร์ด

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

สูตรสำหรับฟังก์ชันต้นทุนข้อผิดพลาดกำลังสองเฉลี่ยคือ:

แหล่งที่มา

ที่ไหน,

w = การรวบรวมน้ำหนักในเครือข่าย

b = อคติ

n = จำนวนอินพุตการฝึกอบรม

a = เวกเตอร์เอาท์พุต

x = อินพุต

‖v‖ = ความยาวปกติของเวกเตอร์ v

ฟังก์ชั่นการสูญเสียในโครงข่ายประสาทฟีดฟอร์เวิร์ด

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

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

การสูญเสียข้ามเอนโทรปีสำหรับการจำแนกไบนารีคือ:

การสูญเสียข้ามเอนโทรปีสำหรับการจำแนกประเภทหลายคลาสคือ:

แหล่งที่มา

อัลกอริธึมการเรียนรู้ไล่โทนสี

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

ภาพ

น้ำหนักทั้งหมด (w₁₁₁, w₁₁₂,…) และอคติ b (b₁, b₂,….) เริ่มต้นแบบสุ่ม เมื่อเสร็จแล้ว การสังเกตในข้อมูลจะถูกทำซ้ำ จากนั้น การกระจายที่คาดการณ์ที่สอดคล้องกันจะถูกกำหนดเทียบกับการสังเกตแต่ละครั้ง สุดท้าย การสูญเสียจะถูกคำนวณโดยใช้ฟังก์ชันครอสเอนโทรปี

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

อ่าน: 13 แนวคิดและหัวข้อโครงการโครงข่ายประสาทที่น่าสนใจ

ความต้องการแบบจำลองเซลล์ประสาท

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

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

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

แหล่งที่มา

อ่านเพิ่มเติม: ต้องการวิศวกร ML โครงข่ายประสาทเทียม 7 ประเภท

บทสรุป

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

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

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

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

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

พีชคณิตเชิงเส้นจำเป็นในโครงข่ายประสาทหรือไม่?

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

backpropagation ในโครงข่ายประสาทเทียมหมายความว่าอย่างไร

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

backpropagation แตกต่างจากตัวเพิ่มประสิทธิภาพอย่างไร

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