Non-linearity ก่อนชั้น Softmax สุดท้ายในเครือข่ายประสาทเทียม


12

ฉันกำลังศึกษาและพยายามใช้โครงข่ายประสาทเทียม แต่ฉันคิดว่าคำถามนี้ใช้ได้กับผู้เรียนหลายคนโดยทั่วไป

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

คำถามของฉันคือ: เซลล์ประสาทในชั้นเอาต์พุตควรใช้ฟังก์ชันที่ไม่ใช่เชิงเส้นกับอินพุตหรือไม่ สัญชาตญาณของฉันคือมันไม่จำเป็น:

  • ถ้าอินพุตกับ th เอาต์พุตเซลล์ประสาทคือจุดผลิตภัณฑ์ระหว่างเวกเตอร์ (มาจากเลเยอร์ก่อนหน้า) และน้ำหนักสำหรับเซลล์ประสาทนั้นx T θ ฉัน x θ ฉันผมxTθผมxθผม
  • และถ้าฉันใช้ฟังก์ชั่นที่ไม่ใช่เชิงเส้นเดียวเช่น sigmoid หรือ ReLU
  • ดังนั้นการเปิดใช้งานเอาต์พุตขนาดใหญ่จะยังคงสอดคล้องกับใหญ่ที่สุดดังนั้นจากมุมมองนี้ฟังก์ชั่นที่ไม่ใช่เชิงเส้นจะไม่เปลี่ยนการทำนายxTθผม

มีอะไรผิดปกติกับการตีความนี้หรือไม่? มีปัจจัยการฝึกอบรมบางอย่างที่ฉันมองเห็นหรือไม่

และถ้าฉันพูดถูกสิ่งใดจะเปลี่ยนไปถ้าแทนที่จะใช้ฟังก์ชั่น sigmoid ฉันใช้ฟังก์ชั่น ReLUซึ่งไม่ใช่ฟังก์ชั่นโมโนโทนิกอย่างแน่นอน

สูงสุด(0,xTθผม)

แก้ไข

จากการอ้างอิงถึงคำตอบของ Karel ซึ่งคำตอบโดยทั่วไปคือ "ขึ้นอยู่กับ" นี่คือคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับเครือข่ายและข้อสงสัยของฉัน:

สมมติว่าฉันมีเลเยอร์ที่ซ่อนอยู่ N ชั้นและชั้นการส่งออกของฉันเป็นเพียงชั้น softmax เหนือชุดของเซลล์ประสาทที่เป็นตัวแทนของคลาส (ดังนั้นผลลัพธ์ที่คาดหวังของฉันคือความน่าจะเป็นที่ข้อมูลอินพุตเป็นของแต่ละชั้นเรียน) สมมติว่าเลเยอร์ N-1 แรกมีเซลล์ประสาทแบบไม่เชิงเส้นอะไรคือความแตกต่างระหว่างการใช้เซลล์ประสาทแบบไม่เชิงเส้นกับเชิงเส้นตรงในเลเยอร์ N-th ที่ซ่อนอยู่?



เลเยอร์ N-2, N-3, .. 1 แบบเชิงเส้นหรือไม่เชิงเส้นหรือไม่?
Karel Macek

เลเยอร์จาก 1 (ใกล้กับอินพุต) ถึง N-1 ไม่เป็นเชิงเส้น Layer N เป็นเลเยอร์ที่ซ่อนอยู่สุดท้าย (ใกล้กับเอาต์พุต) ชั้น softmax คือชั้น N + 1
rand

1
สิ่งที่เกี่ยวกับชั้น BN ขวาก่อน softmax? การไม่เป็นเชิงเส้นเป็น ok (นับเป็นแบบไม่เป็นเชิงเส้นหรือไม่)
Charlie Parker

คำตอบ:


11

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


2
สิ่งที่เกี่ยวกับชั้น BN ขวาก่อน softmax? การไม่เป็นเชิงเส้นเป็น ok (นับเป็นแบบไม่เป็นเชิงเส้นหรือไม่)
Charlie Parker

6

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


0

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


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