ความยืดหยุ่นในการเชื่อมโยงระหว่างฟังก์ชั่นวัตถุประสงค์และฟังก์ชั่นการเปิดใช้งานเลเยอร์เอาท์พุทคืออะไร?


10

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

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

ใช้สัญลักษณ์ z สำหรับค่าการเปิดใช้งานล่วงหน้า (ผลรวมของการเปิดใช้งานน้ำหนักครั้งจากเลเยอร์ก่อนหน้า) a สำหรับการเปิดใช้งาน y สำหรับความจริงภาคพื้นดินที่ใช้สำหรับการฝึกอบรม i สำหรับดัชนีของเซลล์ประสาทขาออก

  • การเปิดใช้งานเชิงเส้น ai=zi เกิดข้อผิดพลาดกำลังสอง 12i(yiai)2

  • การเปิดใช้งาน Sigmoid ai=11+ezi ไปกับวัตถุประสงค์ logloss / cross-entropy i(yilog(ai)+(1yi)log(1ai))

  • การเปิดใช้งาน Softmax ai=ezijezj ไปกับวัตถุประสงค์ของการบันทึกหลายคลาส i(yilog(ai))

นี่คือสิ่งที่ฉันรู้และฉันคาดหวังว่าจะมีหลายอย่างที่ฉันยังไม่เคยได้ยิน

ดูเหมือนว่าการสูญเสียบันทึกจะทำงานและมีเสถียรภาพเชิงตัวเลขเมื่อเอาต์พุตและเป้าหมายอยู่ในช่วง [0,1] ดังนั้นจึงไม่สมเหตุสมผลที่จะลองเลเยอร์เอาต์พุตเชิงเส้นด้วยฟังก์ชันวัตถุประสงค์ logloss เว้นแต่จะมีฟังก์ชั่น logloss ทั่วไปที่สามารถจัดการกับค่าของy ที่อยู่นอกช่วง?

อย่างไรก็ตามมันไม่ได้เลวร้ายนักที่จะลองใช้ sigmoid output โดยมีวัตถุประสงค์ข้อผิดพลาดกำลังสอง มันควรจะมีเสถียรภาพและบรรจบกันอย่างน้อย

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

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

คำตอบ:


4

ฟังก์ชั่นการเปิดใช้งานที่คุณใช้ซึ่งไม่ได้กำหนดฟังก์ชั่นการสูญเสียที่คุณควรใช้มากนัก แต่เป็นการตีความที่คุณมีในผลลัพธ์

หากผลลัพธ์ควรเป็นความน่าจะเป็นดังนั้นการสูญเสียบันทึกเป็นวิธีที่จะดำเนินการ

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

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