จำนวนชั้นที่เหมาะสมที่สุดในโครงข่ายประสาทเทียม?


13

วิธีการตัดสินใจจำนวนเลเยอร์ที่เหมาะสมที่จะสร้างขึ้นในขณะที่ติดตั้ง Neural Network (Feedforward, back propagation หรือ RNN)

คำตอบ:


8

มีเทคนิคที่เรียกว่าPruningในโครงข่ายประสาทเทียมซึ่งใช้เพื่อจุดประสงค์เดียวกันนี้เท่านั้น

การตัดจะทำกับจำนวนเลเยอร์ที่ซ่อนอยู่ กระบวนการนี้คล้ายกับกระบวนการตัดแต่งกิ่งต้นไม้การตัดสินใจ กระบวนการตัดจะทำดังนี้:

  • ฝึกอบรมเครือข่ายขนาดใหญ่เชื่อมต่ออย่างหนาแน่นด้วยอัลกอริทึมการฝึกอบรมมาตรฐาน
  • ตรวจสอบเครือข่ายที่ผ่านการฝึกอบรมเพื่อประเมินความสำคัญของน้ำหนัก
  • ลบน้ำหนักที่สำคัญที่สุด
  • สั่งสอนขึ้นใหม่เครือข่าย pruned
  • ทำซ้ำขั้นตอนที่ 2-4 จนกว่าจะพอใจ

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


วิธีการแบบสมมาตรเป็น "การค้นหาแบบกริด" ทั่วไปที่ใช้กับสถาปัตยกรรมเครือข่าย เริ่มต้นเล็ก ๆ (เร็วมาก) แล้วลองสถาปัตยกรรมที่ใหญ่กว่าโดยอัตโนมัติ ทั้งหมดนี้เป็นแรงเดรัจฉานเพียง แต่ ...
เอริค Platon

@EricPlaton +1 สำหรับการค้นหากริด มีประโยชน์มากใน ML ของแอลกอส แต่มันไม่ได้คำนวณอย่างเข้มข้นมากใช่ไหม
Dawny33

1
ใช่มันมีราคาแพง ถึงกระนั้นเมื่อเราสามารถเริ่มต้นเล็ก ๆ ระยะแรกสามารถไปได้เร็วและให้แนวคิดที่ดีกว่าว่าจะตั้งเป้าหมายอะไร
Eric Platon

@EricPlaton "กริดค้นหา" จะได้รับคำตอบที่แยกต่างหากสำหรับเป็นของตัวเอง :)
Dawny33

ฉันคิดเกี่ยวกับมัน แต่จากนั้นจะมีสองทางเลือกและบางทีคำตอบ "ถูกต้องเท่าเทียมกัน" ... ฉันคิดว่าสิ่งที่ดีที่สุดสำหรับผู้อ่านคือการรวบรวมคำตอบเป็นหนึ่งเดียว
Eric Platon

0

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

การค้นหากริดและสามัญสำนึกเล็กน้อย (เท่าที่เรียนรู้จากการดูตัวอย่างมากมาย) ควรเป็นทางออกที่ดีที่สุดของคุณ

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