การวิเคราะห์ความอ่อนไหวในโครงข่ายประสาทลึก


14

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

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

มีวิธีที่ยอมรับได้ของการวิเคราะห์ความไวในเครือข่ายประสาทหรือไม่?

ฉันยินดีต้อนรับรหัส Python ให้ทำเช่นนั้นหากมี

คำตอบ:


12

การวิเคราะห์ความไวที่คุณแนะนำนั้นสอดคล้องกับการตรวจสอบอนุพันธ์บางส่วนของผลลัพธ์ที่เกี่ยวกับอินพุต สมมติว่าเอาต์พุตเวกเตอร์กำหนดโดยy = f ( x )โดยที่x R dเป็นเวกเตอร์อินพุตและfคือฟังก์ชันที่เครือข่ายใช้ จาโคเบียนของผลผลิต WRT ปัจจัยการผลิตคือyRmy=f(x)xRdf

Jij(x)=xjfi(x)

fxΔjiΔJij(x)

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

คุณสามารถใช้กฎลูกโซ่เพื่อรับนิพจน์สำหรับ Jacobian เช่นเดียวกับวิธีที่คุณได้รับการไล่ระดับสีของฟังก์ชั่นการสูญเสีย wrt พารามิเตอร์สำหรับใช้กับ backprop คุณสามารถคำนวณโดยใช้ความแตกต่างแบบอัตโนมัติโดยใช้ห้องสมุดอย่าง Theano, TensorFlow และอื่น ๆ ไม่มีเหตุผลมากมายที่จะทำการ จำกัด ผลต่าง (เช่นการจำลองการก่อกวนและวัดการเปลี่ยนแปลงในเอาต์พุต) ยกเว้นว่าฟังก์ชั่นเครือข่ายของคุณจะไม่มีความแตกต่าง ในกรณีนี้ไม่มีชาวยาโคบ)

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

นี้บทความควรจะเป็นที่สนใจ


คำตอบที่ดีและบทความที่ยอดเยี่ยม! หากใครสนใจที่จะใช้วิธีนี้คุณสามารถหาวิธีการคำนวณแบบจาโคเบียนได้ที่นี่: medium.com/unit8-machine-learning-publication/…
pcko1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.