- คำศัพท์ (A ถึง D)
- การควบคุมความสามารถของ AI
- AIOps
- อัลบั้ม
- ประสิทธิภาพของสินทรัพย์
- ตัวเข้ารหัสอัตโนมัติ
- การขยายพันธุ์หลัง
- ทฤษฎีบทเบย์
- ข้อมูลขนาดใหญ่
- Chatbot: คู่มือสำหรับผู้เริ่มต้น
- การคิดเชิงคำนวณ
- วิสัยทัศน์คอมพิวเตอร์
- เมทริกซ์ความสับสน
- เครือข่ายประสาทเทียม
- cybersecurity
- ผ้าข้อมูล
- การเล่าเรื่องข้อมูล
- ข้อมูลวิทยาศาสตร์
- คลังข้อมูล
- ต้นไม้ตัดสินใจ
- Deepfakes
- การเรียนรู้ลึก ๆ
- การเรียนรู้การเสริมแรงเชิงลึก
- devops
- DevSecOps
- แบบจำลองการแพร่กระจาย
- ดิจิตอลแฝด
- การลดขนาด
- คำศัพท์ (E ถึง K)
- เอดจ์ไอ
- อารมณ์ AI
- การเรียนรู้ทั้งมวล
- การแฮ็กอย่างมีจริยธรรม
- ETL
- AI ที่อธิบายได้
- สหพันธ์การเรียนรู้
- ฟินอ๊อฟ
- กำเนิด AI
- เครือข่ายผู้ให้กำเนิด
- กำเนิดเทียบกับการเลือกปฏิบัติ
- ไล่โทนสี
- โคตรไล่ระดับ
- การเรียนรู้ไม่กี่ช็อต
- การจำแนกรูปภาพ
- การดำเนินงานด้านไอที (ITOps)
- ระบบอัตโนมัติของเหตุการณ์
- วิศวกรรมอิทธิพล
- K-หมายถึงการจัดกลุ่ม
- K-เพื่อนบ้านที่ใกล้ที่สุด
- คำศัพท์ (L ถึง Q)
- คำศัพท์ (R ถึง Z)
- การเรียนรู้เสริมแรง
- AI ที่มีความรับผิดชอบ
- อาร์แอลเอชเอฟ
- ระบบอัตโนมัติของกระบวนการหุ่นยนต์
- มีโครงสร้าง vs ไม่มีโครงสร้าง
- การวิเคราะห์ความเชื่อมั่น
- อยู่ภายใต้การดูแล vs ไม่ได้รับการดูแล
- สนับสนุนเครื่องเวกเตอร์
- ข้อมูลสังเคราะห์
- สื่อสังเคราะห์
- การจัดประเภทข้อความ
- TinyML
- ถ่ายทอดการเรียนรู้
- เครือข่ายประสาทหม้อแปลง
- การทดสอบของทัวริง
- การค้นหาความคล้ายคลึงกันของเวกเตอร์
AI 101
Backpropagation คืออะไร?
สารบัญ
Backpropagation คืออะไร?
ระบบการเรียนรู้เชิงลึกสามารถเรียนรู้รูปแบบที่ซับซ้อนอย่างยิ่ง และทำสิ่งนี้ได้โดยการปรับน้ำหนัก น้ำหนักของโครงข่ายประสาทเทียมเชิงลึกถูกปรับอย่างไร? พวกเขาจะปรับผ่าน กระบวนการ ที่เรียกว่า การขยายพันธุ์หลัง- หากไม่มีการขยายพันธุ์กลับ โครงข่ายประสาทเทียมระดับลึกจะไม่สามารถทำงานต่างๆ เช่น การจดจำภาพและการตีความภาษาธรรมชาติได้ การทำความเข้าใจวิธีการทำงานของ backpropagation มีความสำคัญอย่างยิ่งต่อการทำความเข้าใจ deep neural network โดยทั่วไป ดังนั้นเรามาหารือเกี่ยวกับ backpropagation และดูว่ากระบวนการนี้ใช้เพื่อปรับน้ำหนักของเครือข่ายอย่างไร
การเผยแพร่แบบย้อนกลับอาจเป็นเรื่องยากที่จะเข้าใจ และการคำนวณที่ใช้ในการดำเนินการการเผยแพร่แบบย้อนกลับอาจค่อนข้างซับซ้อน บทความนี้จะพยายามทำให้คุณมีความเข้าใจอย่างสัญชาตญาณเกี่ยวกับการเผยแพร่ย้อนกลับ โดยใช้หลักคณิตศาสตร์ที่ซับซ้อนเพียงเล็กน้อย อย่างไรก็ตาม จำเป็นต้องมีการอภิปรายเกี่ยวกับคณิตศาสตร์ที่อยู่เบื้องหลังการเผยแพร่ย้อนกลับ
เป้าหมายของการขยายพันธุ์กลับ
เริ่มต้นด้วยการกำหนดเป้าหมายของการขยายพันธุ์กลับ น้ำหนักของโครงข่ายประสาทเทียมเชิงลึกคือความแข็งแกร่งของการเชื่อมต่อระหว่างหน่วยของโครงข่ายประสาทเทียม เมื่อมีการสร้างโครงข่ายประสาทเทียมขึ้น จะมีการสันนิษฐานว่าหน่วยในเลเยอร์หนึ่งเชื่อมต่อกับเลเยอร์ที่รวมเข้าด้วยกันอย่างไร เมื่อข้อมูลเคลื่อนผ่านโครงข่ายประสาทเทียม น้ำหนักจะถูกคำนวณและตั้งสมมติฐาน เมื่อข้อมูลมาถึงชั้นสุดท้ายของเครือข่าย จะมีการคาดคะเนว่าคุณลักษณะต่างๆ เกี่ยวข้องกับคลาสในชุดข้อมูลอย่างไร ความแตกต่างระหว่างค่าที่คาดการณ์และค่าจริงคือการสูญเสีย/ข้อผิดพลาด และเป้าหมายของการเผยแพร่ย้อนกลับ คือการลดการสูญเสีย. สิ่งนี้ทำได้โดยการปรับน้ำหนักของเครือข่าย ทำให้สมมติฐานเป็นเหมือนความสัมพันธ์ที่แท้จริงระหว่างคุณสมบัติอินพุต
การฝึกอบรม Deep Neural Network
ก่อนการแพร่พันธุ์กลับสามารถทำได้บนก เครือข่ายประสาทจะต้องดำเนินการผ่านการฝึกอบรมปกติ/ไปข้างหน้าของโครงข่ายประสาทเทียม เมื่อโครงข่ายประสาทเทียมถูกสร้างขึ้น ชุดของตุ้มน้ำหนักจะถูกเตรียมใช้งาน ค่าของน้ำหนักจะเปลี่ยนแปลงเมื่อเครือข่ายได้รับการฝึกฝน การผ่านการฝึกอบรมไปข้างหน้าของโครงข่ายประสาทเทียมสามารถเข้าใจได้ว่าเป็นขั้นตอนที่ไม่ต่อเนื่องสามขั้นตอน: การเปิดใช้งานเซลล์ประสาท การถ่ายโอนเซลล์ประสาท และการแพร่กระจายไปข้างหน้า
เมื่อฝึกโครงข่ายประสาทเทียมระดับลึก เราจำเป็นต้องใช้ประโยชน์จากฟังก์ชันทางคณิตศาสตร์หลายๆ ฟังก์ชัน เซลล์ประสาทในโครงข่ายประสาทเทียมระดับลึกประกอบด้วยข้อมูลขาเข้าและฟังก์ชันการเปิดใช้งาน ซึ่งจะกำหนดค่าที่จำเป็นในการเปิดใช้งานโหนด ค่าการเปิดใช้งานของเซลล์ประสาทคำนวณด้วยองค์ประกอบหลายอย่าง ซึ่งเป็นผลรวมถ่วงน้ำหนักของอินพุต น้ำหนักและค่าอินพุตขึ้นอยู่กับดัชนีของโหนดที่ใช้ในการคำนวณการเปิดใช้งาน ต้องคำนึงถึงตัวเลขอื่นเมื่อคำนวณค่าการเปิดใช้งาน ซึ่งเป็นค่าอคติ ค่าอคติไม่ผันผวน ดังนั้นจึงไม่ถูกคูณด้วยน้ำหนักและอินพุต แต่จะถูกเพิ่มเข้าไปเท่านั้น ทั้งหมดนี้หมายความว่าสามารถใช้สมการต่อไปนี้ในการคำนวณค่าการเปิดใช้งาน:
การเปิดใช้งาน = ผลรวม (น้ำหนัก * อินพุต) + อคติ
หลังจากเปิดใช้งานเซลล์ประสาทแล้ว ฟังก์ชันการเปิดใช้งานจะถูกใช้เพื่อกำหนดว่าเอาต์พุตของเอาต์พุตจริงของเซลล์ประสาทจะเป็นอย่างไร ฟังก์ชันการเปิดใช้งานที่แตกต่างกันเหมาะสำหรับงานการเรียนรู้ที่แตกต่างกัน แต่ฟังก์ชันการเปิดใช้งานที่ใช้กันทั่วไป ได้แก่ ฟังก์ชัน sigmoid ฟังก์ชัน Tanh และฟังก์ชัน ReLU
เมื่อเอาต์พุตของเซลล์ประสาทถูกคำนวณโดยการเรียกใช้ค่าการเปิดใช้งานผ่านฟังก์ชันการเปิดใช้งานที่ต้องการ การเผยแพร่ไปข้างหน้าจะเสร็จสิ้น การแพร่กระจายไปข้างหน้าเป็นเพียงการรับเอาต์พุตของเลเยอร์หนึ่งและทำให้เป็นอินพุตของเลเยอร์ถัดไป อินพุตใหม่จะถูกใช้เพื่อคำนวณฟังก์ชันการเปิดใช้งานใหม่ และเอาต์พุตของการดำเนินการนี้จะถูกส่งต่อไปยังเลเยอร์ถัดไป กระบวนการนี้ดำเนินต่อไปจนถึงจุดสิ้นสุดของโครงข่ายประสาทเทียม
การขยายพันธุ์กลับในเครือข่าย
กระบวนการ backpropagation ใช้ในการตัดสินใจขั้นสุดท้ายของบัตรผ่านการฝึกอบรมของแบบจำลอง จากนั้นจึงกำหนดข้อผิดพลาดในการตัดสินใจเหล่านี้ ข้อผิดพลาดจะคำนวณโดยเปรียบเทียบผลลัพธ์/การตัดสินใจของเครือข่ายกับผลลัพธ์ที่คาดหวัง/ต้องการของเครือข่าย
เมื่อคำนวณข้อผิดพลาดในการตัดสินใจของเครือข่ายแล้ว ข้อมูลนี้จะถูกส่งกลับผ่านเครือข่ายและพารามิเตอร์ของเครือข่ายจะเปลี่ยนไประหว่างทาง วิธีการที่ใช้ในการอัปเดตค่าน้ำหนักของเครือข่ายจะขึ้นอยู่กับแคลคูลัส โดยเฉพาะจะขึ้นอยู่กับกฎลูกโซ่ อย่างไรก็ตาม ความเข้าใจเกี่ยวกับแคลคูลัสไม่จำเป็นต้องเข้าใจแนวคิดเบื้องหลังการเผยแพร่ย้อนกลับ เพิ่งรู้ว่าเมื่อค่าเอาท์พุตมาจากเซลล์ประสาท ความชันของค่าเอาท์พุตจะถูกคำนวณด้วยฟังก์ชันการถ่ายโอน ทำให้เกิดเอาต์พุตที่ได้รับ เมื่อทำการแพร่กระจายกลับ ข้อผิดพลาดสำหรับเซลล์ประสาทเฉพาะจะถูกคำนวณตามข้อมูลต่อไปนี้ สูตร:
error = (expected_output – actual_output) * ความชันของค่าเอาต์พุตของเซลล์ประสาท
เมื่อทำงานกับเซลล์ประสาทในเลเยอร์เอาต์พุต ค่าคลาสจะถูกใช้เป็นค่าที่คาดหวัง หลังจากคำนวณข้อผิดพลาดแล้ว ข้อผิดพลาดจะถูกใช้เป็นอินพุตสำหรับเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่ หมายความว่าข้อผิดพลาดสำหรับเลเยอร์ที่ซ่อนอยู่นี้คือข้อผิดพลาดที่ถ่วงน้ำหนักของเซลล์ประสาทที่พบในเลเยอร์เอาต์พุต การคำนวณข้อผิดพลาดเดินทางย้อนกลับผ่านเครือข่ายตามเครือข่ายน้ำหนัก
หลังจากคำนวณข้อผิดพลาดสำหรับเครือข่ายแล้ว ต้องอัปเดตน้ำหนักในเครือข่าย ดังที่กล่าวไปแล้ว การคำนวณข้อผิดพลาดเกี่ยวข้องกับการกำหนดความชันของค่าเอาท์พุต หลังจากคำนวณความชันแล้ว สามารถใช้กระบวนการที่เรียกว่าการไล่ระดับลงเพื่อปรับน้ำหนักในเครือข่ายได้ ความชันคือความชันที่สามารถวัดมุม/ความชันได้ ความชันคำนวณโดยการวางแผน "y เหนือ" หรือ "เพิ่มขึ้น" เหนือ "วิ่ง" ในกรณีของโครงข่ายประสาทเทียมและอัตราข้อผิดพลาด “y” คือข้อผิดพลาดจากการคำนวณ ในขณะที่ “x” คือพารามิเตอร์ของเครือข่าย พารามิเตอร์ของเครือข่ายมีความสัมพันธ์กับค่าความผิดพลาดที่คำนวณได้ และเมื่อมีการปรับน้ำหนักของเครือข่าย ข้อผิดพลาดจะเพิ่มขึ้นหรือลดลง
“Gradient Desciented” คือกระบวนการอัปเดตน้ำหนักเพื่อให้อัตราความผิดพลาดลดลง Backpropagation ใช้เพื่อทำนายความสัมพันธ์ระหว่างพารามิเตอร์ของโครงข่ายประสาทเทียมและอัตราความผิดพลาด ซึ่งจะตั้งค่าเครือข่ายสำหรับการไล่ระดับสีลงมา การฝึกอบรมเครือข่ายที่มีการไล่ระดับสีที่เกี่ยวข้องกับการคำนวณน้ำหนักผ่านการแพร่กระจายไปข้างหน้า การแพร่กระจายข้อผิดพลาดย้อนหลัง และการอัปเดตน้ำหนักของเครือข่าย
บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม