จะเลือกฟังก์ชั่นการเปิดใช้งานได้อย่างไร?


13

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

ในเลเยอร์ที่ซ่อนอยู่ฉันใช้ ReLU ที่มีการรั่วไหลเพื่อหลีกเลี่ยงเซลล์ประสาทที่ตายแล้วแทนที่จะเป็น ReLU และ tanh แทนที่จะเป็น sigmoid แน่นอนฉันไม่ได้ใช้ฟังก์ชันเชิงเส้นในหน่วยที่ซ่อนอยู่

อย่างไรก็ตามตัวเลือกสำหรับพวกเขาในเลเยอร์ที่ซ่อนอยู่ส่วนใหญ่เกิดจากการลองผิดลองถูก

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

ในคำตอบของเขา / เธอ cantordust หมายถึงฟังก์ชั่นการเปิดใช้งานอื่น ๆ ที่ฉันไม่ได้พูดถึงเช่น ELU และ SELU ข่าวสารนี้มีมากกว่ายินดี อย่างไรก็ตามฟังก์ชั่นการเปิดใช้งานเพิ่มเติมที่ฉันค้นพบยิ่งฉันสับสนในการเลือกฟังก์ชั่นที่จะใช้ในเลเยอร์ที่ซ่อนอยู่ และฉันไม่คิดว่าการพลิกเหรียญเป็นวิธีที่ดีในการเลือกฟังก์ชั่นการเปิดใช้งาน

คำตอบ:


10

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

แก้ไข:


มันจะยากอย่างไม่น่าเชื่อที่จะแนะนำฟังก์ชั่นการเปิดใช้งานที่ใช้งานได้กับทุกกรณีการใช้งาน (แม้ว่าฉันเชื่อว่า SELU ได้รับการออกแบบเพื่อที่จะทำสิ่งที่ถูกต้องกับอินพุตใด ๆ มีการพิจารณาจำนวนมาก - (! ถ้ามันเป็นอนุพันธ์ที่ทั้งหมด) วิธีการที่ยากก็คือการคำนวณอนุพันธ์, วิธีการอย่างรวดเร็วเครือข่ายที่มีลู่ AF ที่คุณเลือกเป็นวิธีการที่เรียบมันเป็นไม่ว่าจะตอบสนองเงื่อนไขของทฤษฎีบทประมาณสากลไม่ว่าจะเป็น มันรักษามาตรฐานและอื่น ๆ คุณอาจสนใจหรือไม่สนใจบางส่วนหรือทั้งหมด

บรรทัดล่างคือไม่มีกฎสากลสำหรับการเลือกฟังก์ชั่นการเปิดใช้งานสำหรับเลเยอร์ที่ซ่อนอยู่ ส่วนตัวผมชอบที่จะใช้ sigmoids (โดยเฉพาะtanh) เพราะพวกเขาจะกระโดดอย่างมากและรวดเร็วในการคำนวณ แต่ที่สำคัญที่สุดเพราะพวกเขาทำงานสำหรับกรณีการใช้งานของฉัน คนอื่น ๆแนะนำ ReLU ที่รั่วไหลสำหรับอินพุตและเลเยอร์ที่ซ่อนไว้เป็นฟังก์ชั่น Go-to หากเครือข่ายของคุณไม่สามารถเรียนรู้ได้ คุณยังสามารถผสมและตรงกับฟังก์ชั่นการเปิดใช้งานจะพัฒนาประสาทสำหรับการใช้งานแฟนซี

ในตอนท้ายของวันคุณอาจจะได้รับความคิดเห็นมากที่สุดเท่าที่มีคนเกี่ยวกับทางเลือกที่เหมาะสมของฟังก์ชั่นการเปิดใช้งานดังนั้นคำตอบสั้น ๆ น่าจะเป็น: เริ่มต้นด้วย AF ของวัน (รั่ว ReLU / SELU?) และทำงานผ่าน AF อื่น ๆ เพื่อลดความนิยมหากเครือข่ายของคุณต่อสู้เพื่อเรียนรู้อะไร


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

@gvgramazio ฉันแก้ไขคำตอบแล้วหวังว่าจะมีประโยชน์มากกว่านี้ในตอนนี้
cantordust

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

-1

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


ในคำถามที่ฉันระบุว่าฉันใช้ tanh และ sigmoid ไม่เพียง ReLU นอกจากนี้เพื่อให้ง่ายฉันอ้างถึงโดยทั่วไปในเลเยอร์เชื่อมต่ออย่างเต็มที่คลาสสิกที่ซ่อนอยู่ หากคุณคิดว่าความจริงที่ว่าเรากำลังติดต่อกับเครือข่ายประสาทกำเริบนั้นมีความสำคัญต่อการเลือกฟังก์ชั่นการเปิดใช้งานโปรดระบุเหตุผลสำหรับสิ่งนั้น ปรากฏการณ์ระเบิด / หายไปอาจเกิดขึ้นในเครือข่ายประสาทที่ไม่เกิดขึ้นอีกเช่นกัน
gvgramazio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.