อัลกอริทึมการเผยแพร่กลับคืออะไรและทำงานอย่างไร
อัลกอริทึมการเผยแพร่กลับคืออะไรและทำงานอย่างไร
คำตอบ:
อัลกอริธึมการแพร่กระจายกลับเป็นอัลกอริธึมการไล่ระดับสีสำหรับการปรับโมเดลเครือข่ายประสาท (ตามที่กล่าวถึงโดย @Dikran) ให้ฉันอธิบายวิธี
อย่างเป็นทางการ:การใช้การคำนวณของการไล่ระดับสีที่ส่วนท้ายของโพสต์นี้ภายในสมการ [1] ด้านล่าง (นั่นคือคำจำกัดความของการไล่ระดับสีลาด) ให้อัลกอริทึมการแพร่กระจายกลับเป็นกรณีเฉพาะของการใช้การไล่ระดับสี
โมเดลโครงข่ายประสาทเทียม อย่างเป็นทางการเราแก้ไขความคิดด้วยโมเดลเลเยอร์เดี่ยวแบบง่าย:
ฟังก์ชั่นการสูญเสียกำลังสองถูกนำมาใช้เพื่อแก้ไขความคิด ดังนั้นการป้อนข้อมูลเวกเตอร์ของสามารถติดตั้งกับเอาท์พุทที่แท้จริง ของ (อาจเป็นเวกเตอร์) โดยลดการทดลอง การสูญเสีย: ที่เกี่ยวกับทางเลือกของและ 2
Gradient descent เชื้อสาย Grandient สำหรับการย่อขนาดเป็นอัลกอริทึมที่ย้ำ: สำหรับขนาดขั้นตอนที่เลือกไว้อย่างดี(เรียกอีกอย่างว่าอัตราการเรียนรู้ในกรอบของการขยายพันธุ์ด้านหลัง) มันต้องมีการคำนวณการไล่ระดับสีของ{R} ในกรณีที่ถือว่าเป็น{L})
การไล่ระดับของ (สำหรับแบบจำลองโครงข่ายประสาทอย่างง่าย) ให้เราแสดงโดยการไล่ระดับของเป็นฟังก์ชันของและลาดของเป็นหน้าที่ของ 2 การคำนวณมาตรฐาน (ใช้กฎสำหรับการหาองค์ประกอบของฟังก์ชัน) และการใช้สัญกรณ์ให้ สำหรับทั้งหมด
นี่ผมใช้สัญกรณ์การ R:เป็นเวกเตอร์ประกอบด้วยพิกัดของจากดัชนีเพื่อจัดทำดัชนีข
Back-Propogation เป็นวิธีการหาอนุพันธ์ของฟังก์ชันข้อผิดพลาดเกี่ยวกับน้ำหนักเพื่อให้แบบจำลองสามารถได้รับการฝึกอบรมโดยวิธีการหาค่าเหมาะที่สุดสำหรับการไล่ระดับสีแบบลาดชัน - มันเป็นเพียงการประยุกต์ใช้ "กฎลูกโซ่" ไม่มีอะไรมากไปกว่านั้นดังนั้นหากคุณพอใจกับแคลคูลัสที่เป็นวิธีที่ดีที่สุดในการดู
หากคุณไม่สะดวกกับแคลคูลัสวิธีที่ดีกว่าคือการบอกว่าเรารู้ว่าหน่วยเอาต์พุตกำลังทำงานแย่เพียงใดเพราะเรามีเอาต์พุตที่ต้องการเพื่อเปรียบเทียบเอาต์พุตจริง อย่างไรก็ตามเราไม่มีเอาต์พุตที่ต้องการสำหรับหน่วยที่ซ่อนอยู่ดังนั้นเราจะทำอย่างไร กฎการแพร่กระจายย้อนกลับนั้นเป็นวิธีการพูดถึงความผิดสำหรับข้อผิดพลาดของหน่วยส่งออกไปยังหน่วยที่ซ่อนอยู่ ยิ่งยูนิตที่ซ่อนอยู่มีผลต่อยูนิตเอาต์พุตเฉพาะมากเท่าใดก็ยิ่งมีความผิดมากขึ้นเท่านั้น ความผิดทั้งหมดที่เกี่ยวข้องกับหน่วยที่ซ่อนอยู่นั้นจะแสดงให้เห็นว่าน้ำหนักของเลเยอร์ที่นำเข้าและซ่อนต้องเปลี่ยนไปมากน้อยเพียงใด สองสิ่งที่ควบคุมว่าจะส่งความผิดได้มากน้อยเพียงใดคือน้ำหนักที่เชื่อมต่อน้ำหนักที่ซ่อนอยู่และน้ำหนักเลเยอร์เอาท์พุท (ชัด) และเอาต์พุตของหน่วยที่ซ่อนอยู่ (ถ้ามันตะโกนมากกว่าที่จะกระซิบ ส่วนที่เหลือเป็นเพียงคณิตศาสตร์ที่เปลี่ยนสัญชาตญาณให้กลายเป็นอนุพันธ์ของเกณฑ์การฝึกอบรม
ฉันขอแนะนำหนังสือบาทหลวงเพื่อคำตอบที่เหมาะสม! ; o)
มันเป็นอัลกอริทึมสำหรับการฝึกอบรมเครือข่ายประสาทหลายชั้นแบบป้อนต่อเนื่อง มีหลาย applets ดี Java รอบเว็บที่แสดงให้เห็นถึงสิ่งที่เกิดขึ้นเช่นนี้คือ: http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html นอกจากนี้หนังสือของ Bishop ใน NNsยังเป็นข้อมูลอ้างอิงมาตรฐานสำหรับสิ่งที่เกี่ยวข้องกับ NNs