นี่คือเหตุผลที่อาจเป็นความคิดที่ดีกว่าถ้าใช้ PReLU, ELU หรือการเปิดใช้งานเหมือน ReLU อื่น ๆ ที่ไม่เพียงแค่ตายไปที่ 0 แต่สิ่งที่ตกอยู่ในระดับ 0.1 * x เมื่อ x ติดลบเพื่อเรียนรู้ต่อไป สำหรับฉันแล้วดูเหมือนว่า ReLUs จะมีประวัติเหมือนกับ sigmoid แต่ด้วยเหตุผลบางอย่างที่ผู้คนยังคงเผยแพร่เอกสารด้วยสิ่งเหล่านี้ ทำไม? ฉันไม่รู้
Dmytro Mishkin และคนอื่น ๆ ทดสอบเครือข่ายที่มีประเภทการเปิดใช้งานที่แตกต่างกันมากมายคุณควรศึกษาเกี่ยวกับประสิทธิภาพของฟังก์ชั่นการเปิดใช้งานที่แตกต่างกันและสิ่งอื่น ๆ. แม้ว่าฟังก์ชั่นบางอย่างเช่น XOR จะเรียนรู้ได้ดีขึ้นด้วย ReLU ธรรมดา อย่าคิดเกี่ยวกับสิ่งที่เกี่ยวกับระบบประสาทใด ๆ ในแง่ความเชื่อเพราะมุ้งโครงข่ายกำลังทำงานอยู่มาก ไม่มีใครในโลกที่รู้และเข้าใจพวกเขาดีพอที่จะบอกความจริงอันศักดิ์สิทธิ์ ไม่มีใคร ลองทำสิ่งต่าง ๆ ทำการค้นพบของคุณเอง ความคิดที่ว่าการใช้ ReLU นั้นเป็นการพัฒนาล่าสุดและเป็นเวลาหลายสิบปีที่ปริญญาเอกต่าง ๆ ในสาขาได้ใช้ฟังก์ชั่นการเปิดใช้งานที่ซับซ้อนเกินกว่าที่ตอนนี้เราสามารถหัวเราะได้เท่านั้น บ่อยครั้งที่การ "รู้" มากเกินไปอาจทำให้คุณได้รับผลลัพธ์ที่ไม่ดี สิ่งสำคัญคือต้องเข้าใจว่าเครือข่ายประสาทไม่ใช่วิทยาศาสตร์ที่แน่นอน ไม่มีสิ่งใดในวิชาคณิตศาสตร์ที่บอกว่าเครือข่ายประสาทเทียมจะทำงานได้ดีเหมือนจริง มันเป็นแบบวิเคราะห์พฤติกรรม และดังนั้นจึงอ่อนมาก
FYI แม้การเปิดใช้งานค่าสัมบูรณ์จะได้รับผลลัพธ์ที่ดีสำหรับปัญหาบางอย่างเช่นปัญหาที่คล้ายกับ XOR ฟังก์ชั่นการเปิดใช้งานที่แตกต่างกันนั้นเหมาะสมกับวัตถุประสงค์ที่แตกต่างกัน ฉันลอง Cifar-10 ด้วย abs () และดูเหมือนว่าจะแย่ลง แม้ว่าฉันไม่สามารถพูดได้ว่า "มันเป็นฟังก์ชั่นการเปิดใช้งานที่แย่ลงสำหรับการจดจำภาพ" เพราะฉันไม่แน่ใจเช่นหากการเตรียมข้อมูลเบื้องต้นของฉันดีที่สุดสำหรับมัน ฯลฯ ความจริงที่ว่ามันเป็นการเรียนรู้ที่ค่อนข้าง ฉันประหลาดใจมาก
นอกจากนี้ในชีวิตจริง "อนุพันธ์" ที่คุณส่งไปยัง backprop ไม่จำเป็นต้องตรงกับอนุพันธ์ทางคณิตศาสตร์ที่แท้จริง
ฉันจะไปไกลถึงจะบอกว่าเราควรห้ามเรียกพวกเขาว่า "อนุพันธ์" และเริ่มเรียกพวกเขาอย่างอื่นเช่น error activation functions
ที่จะไม่ปิดจิตใจของเรากับความเป็นไปได้ของการซ่อมแซมกับพวกเขา ตัวอย่างเช่นคุณสามารถใช้การเปิดใช้งาน ReLU ได้ แต่ให้ค่า 0.1 หรืออะไรทำนองนั้นแทน 0 เป็นอนุพันธ์สำหรับ x <0 ในทางหนึ่งคุณก็มี ReLU ธรรมดา แต่ด้วยเซลล์ประสาทที่ไม่สามารถ "ตายจากการปรับตัว" ฉันเรียก NecroRelu นี้เพราะมันเป็น ReLU ที่ตายไม่ได้ และในบางกรณี (ไม่แน่นอนในที่สุด) ที่ทำงานได้ดีกว่า LeakyReLU ธรรมดาซึ่งจริง ๆ แล้วมีอนุพันธ์ 0.1 ที่ x <0 และดีกว่า ReLU ปกติ ฉันไม่คิดว่าคนอื่นจำนวนมากเกินไปจะตรวจสอบฟังก์ชันเช่นนี้หรือสิ่งที่คล้ายกันจริง ๆ แล้วอาจเป็นฟังก์ชั่นเปิดใช้งานเจ๋ง ๆ ที่ไม่มีใครพิจารณาเพียงเพราะพวกเขาสนใจคณิตศาสตร์
สำหรับสิ่งที่ใช้โดยทั่วไปสำหรับฟังก์ชั่นการเปิดใช้งาน tanH (x) มันเป็นเรื่องปกติที่จะส่ง 1 - x²แทน 1 - tanH (x) ²เป็นอนุพันธ์เพื่อคำนวณสิ่งต่าง ๆ ได้เร็วขึ้น
นอกจากนี้โปรดทราบว่า ReLU ไม่ใช่ทั้งหมดที่ "ดีกว่าอย่างเห็นได้ชัด" เช่น TanH TanH น่าจะดีกว่าในบางกรณี เพียงแค่ดูเหมือนว่าไม่ใช่การจดจำภาพ แม้ว่า ELU จะมีความอ่อนนุ่มของ sigmoid เล็กน้อยและเป็นหนึ่งในฟังก์ชั่นการเปิดใช้งานที่เป็นที่รู้จักมากที่สุดสำหรับการจดจำภาพในขณะนี้ ฉันไม่ได้ลองจริง ๆ แต่ฉันพนันได้ว่าสามารถตั้งหลายกลุ่มที่มีฟังก์ชั่นการเปิดใช้งานที่แตกต่างกันในระดับเลเยอร์เดียวกันเพื่อได้เปรียบ เนื่องจากเหตุผลที่แตกต่างกันอธิบายได้ดีกว่าด้วยฟังก์ชั่นการเปิดใช้งานที่แตกต่างกัน และบางครั้งคุณอาจต้องการการประเมินหลายประเภท
โปรดทราบว่าสิ่งสำคัญคือต้องมีการเน้นข้อความที่สอดคล้องกับประเภทของฟังก์ชั่นการเปิดใช้งานของคุณ ReLU แบบ Leaky ต้องการ init อื่น ๆ ที่ ReLU แบบธรรมดาตัวอย่างเช่น
แก้ไข: ที่จริงแล้ว ReLU มาตรฐานดูเหมือนว่าจะมีแนวโน้มน้อยกว่าที่จะให้น้ำหนักมากเกินไปเทียบกับสิ่งที่รั่วด้วยสถาปัตยกรรมที่ทันสมัย อย่างน้อยในการรับรู้ภาพ ดูเหมือนว่าหากคุณต้องการตาข่ายที่มีความแม่นยำสูงและมีพารามิเตอร์จำนวนมากมันน่าจะดีกว่าถ้าใช้ตัวเลือก ReLU ธรรมดากับการรั่วไหล แต่แน่นอนทดสอบทั้งหมดนี้ด้วยตัวเอง บางทีบางสิ่งที่รั่วจะทำงานได้ดีขึ้นหากมีการทำให้เป็นระเบียบมากขึ้น