ทำอย่างไรจึงจะเห็นภาพ / เข้าใจว่าเครือข่ายประสาทกำลังทำอะไร


37

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

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


1
นี่เป็นตัวอย่างที่ดี: playground.tensorflow.org
nobar

คำตอบ:


12

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

คุณสามารถตรวจสอบว่าข้อผิดพลาดของเครือข่ายนั้นมีความอ่อนไหวต่ออินพุตที่เฉพาะเจาะจงหรือไม่

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


13

ประเมินความสำคัญของคุณสมบัติโดยการสุ่มเลือกแต่ละค่าของฟีเจอร์เดียวและบันทึกว่าการออกกำลังกายโดยรวมของคุณลดลงอย่างไร

x1,i[0,1]rand(0,1)0.5R2

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

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


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

2

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

ป้อนคำอธิบายรูปภาพที่นี่


1

ฤดูใบไม้ร่วง 2011 ฉันเข้าเรียนหลักสูตร Machine Learning ออนไลน์ฟรีจาก Standford ที่สอนโดย Andrew Ng และเรามองเห็นเครือข่ายประสาทซึ่งเป็นเครื่องตรวจจับใบหน้า ผลลัพธ์เป็นหน้าทั่วไป ฉันต้องการพูดถึงเรื่องนี้เพื่อความสมบูรณ์ แต่คุณไม่ได้พูดถึงแอปพลิเคชันประเภทนี้ดังนั้นฉันจะไม่ขุดรายละเอียด :)


มหาวิทยาลัยสแตนฟอร์ด ฉันสามารถหาหลักสูตร Andrew Ng ได้ทางเว็บ ฉันได้ยิน Dick DeVeaux บรรยายเกี่ยวกับโครงข่ายประสาทโดยอ้างว่าเซลล์ประสาทส่วนหนึ่งของมันซ่อนอะไรที่เกิดขึ้นจริง มันเป็นเพียงตัวแยกประเภท nonliner อีกประเภทหนึ่งและหากมองจากมุมมองของแผนภาพพวกเขาจะเข้าใจได้ดีที่สุดโดยเขียนสิ่งที่พวกเขาทำเกี่ยวกับพีชคณิต ฉันหวังว่าฉันจะจำสิ่งนี้ถูกต้อง
Michael Chernick

De Veaux และ Ungar, การแนะนำสั้น ๆ เกี่ยวกับโครงข่ายประสาท 1997: "โครงข่ายประสาทดูเหมือนจะมีอยู่ทุกหนทุกแห่งในทุกวันนี้และอย่างน้อยในโฆษณาของพวกเขาก็สามารถทำทุกอย่างที่สถิติสามารถทำได้โดยไม่ต้องยุ่งยากและไม่ต้องทำอะไรเลยยกเว้น ซื้อซอฟต์แวร์สักชิ้น "
เดนิส

0

วิธีการดังกล่าวถูกนำมาจากลิงค์นี้ไปที่เว็บไซต์เพื่อดูรายละเอียดเพิ่มเติม

เริ่มต้นด้วยภาพสุ่มนั่นคือให้ค่ากับพิกเซลโดยพลการ "ถัดไปเราทำส่งต่อโดยใช้ภาพนี้xเป็นอินพุตไปยังเครือข่ายเพื่อคำนวณการเปิดใช้งานa_i (x) ที่เกิดจากxในบางเซลล์ประสาทฉันอยู่ที่ไหนสักแห่งในกลางเครือข่ายจากนั้นเราทำย้อนหลัง (แสดง backprop) เพื่อคำนวณการไล่ระดับสีของa_i (x)เทียบกับการเปิดใช้งานก่อนหน้านี้ในเครือข่ายในตอนท้ายของการย้อนกลับผ่านเราจะเหลือการไล่ระดับสี∂a_i (x) / ∂xหรือวิธีการเปลี่ยนสีของแต่ละพิกเซลเป็น เพิ่มการเปิดใช้งานของเซลล์ประสาทiเราทำอย่างนั้นโดยการเพิ่มเศษααเล็กน้อยของการไล่ระดับสีนั้นลงในภาพ:

x ← x + α⋅∂a_i (x) / ∂x

เราทำอย่างนั้นเรื่อย ๆ จนกว่าเราจะมีรูปภาพ x 'ที่ทำให้เกิดการกระตุ้นเซลล์ประสาทในระดับสูง "

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