ความแตกต่างระหว่างเทคนิคการ backpropagation


17

เพื่อความสนุกฉันพยายามพัฒนาโครงข่ายประสาทเทียม

ตอนนี้สำหรับ backpropagation ฉันเห็นสองเทคนิค

ตัวแรกใช้ที่นี่และที่อื่น ๆ อีกมากมาย

มันคืออะไร:

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

อย่างไรก็ตามเครือข่ายประสาทที่เสนอในบทช่วยสอนนี้ (มีอยู่ใน GitHub ด้วย) ใช้เทคนิคที่แตกต่าง:

  • มันใช้ฟังก์ชั่นข้อผิดพลาด (วิธีอื่นไม่มีฟังก์ชั่นข้อผิดพลาด แต่ไม่ได้ใช้สำหรับการฝึกอบรม)
  • มันมีฟังก์ชั่นอื่นที่สามารถคำนวณข้อผิดพลาดสุดท้ายที่เริ่มต้นจากน้ำหนัก
  • มันลดฟังก์ชั่นนั้น (ผ่านทางลาดลง)

ตอนนี้ควรใช้วิธีใด

ฉันคิดว่าอันแรกเป็นอันที่ใช้บ่อยที่สุด (เพราะฉันเห็นตัวอย่างที่แตกต่างจากการใช้มัน) แต่มันก็ใช้ได้ดีเช่นกัน?

โดยเฉพาะอย่างยิ่งฉันไม่รู้:

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

ตอนนี้ฉันชอบเทคนิคแรกเพราะฉันคิดว่ามันง่ายกว่าในการนำไปใช้และคิดง่ายกว่า

แม้ว่าหากมีปัญหาที่ฉันกล่าวถึง (ซึ่งฉันหวังว่าจะไม่) มีเหตุผลจริงที่จะใช้มันมากกว่าวิธีที่สอง?

คำตอบ:


6

ตัวอย่างที่สองนำเสนอการดำเนินการเดียวกันเป็นหลัก:

  • ในทั้งสองกรณีเครือข่ายได้รับการฝึกอบรมโดยใช้การไล่ระดับสีโดยใช้ข้อผิดพลาดกำลังสอง backpropagated ที่คำนวณที่เอาต์พุต
  • ตัวอย่างทั้งสองใช้ฟังก์ชั่นโลจิสติกสำหรับโหนดยืนยันการใช้งาน (อนุพันธ์ของฟังก์ชั่นโลจิสติกsเป็นs(1 - s). อนุพันธ์นี้จะเห็นได้ชัดมากง่ายต่อการคำนวณและนี่คือส่วนหนึ่งของเหตุผลที่ว่าทำไมมันถูกใช้กันอย่างแพร่หลาย (วันนี้Reluฟังก์ชั่นการเปิดใช้งานเป็นที่นิยมมาก โดยเฉพาะกับเครือข่าย convolutional)
  • วิธีแรกยังใช้โมเมนตัม

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

วิดีโอสุดท้ายในซีรีส์โดย Welch Labs แนะนำวิธี quasi-Newtonian ซึ่งมีข้อได้เปรียบในการค้นหาฟังก์ชันต้นทุนขั้นต่ำโดยการคำนวณHessian (เมทริกซ์ของอนุพันธ์อันดับสองของข้อผิดพลาดเกี่ยวกับน้ำหนัก) อย่างไรก็ตามสิ่งนี้ให้ความรู้สึกเหมือนกับการเปรียบเทียบแอปเปิ้ลกับส้ม - การไล่ระดับสีวานิลลาไม่ได้ใช้ข้อมูลอันดับที่สอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.