การไล่ระดับสีของโครงข่ายประสาทชั้นเดียวนั้นมีอินพุตเป็นตัวดำเนินการในกฎลูกโซ่คืออะไร


9

ปัญหาคือ:

สืบทอดการไล่ระดับสีสำหรับเลเยอร์อินพุตสำหรับเน็ตเวิร์กโครงข่ายประสาทชั้นเดียวที่ซ่อนอยู่โดยใช้ sigmoid สำหรับอินพุต -> ซ่อน, ซอฟต์แม็กซ์สำหรับซ่อน -> เอาต์พุต, ด้วยการสูญเสียเอนโทรปี

ฉันสามารถผ่านมาส่วนใหญ่โดยใช้กฎลูกโซ่ แต่ฉันไม่แน่ใจเกี่ยวกับวิธี "โซ่" พวกเขาจริง ๆ กัน

กำหนดสัญลักษณ์บางอย่าง

r=xW1+b1

h=σ(r) , σเป็นฟังก์ชัน sigmoid

θ=hW2+b2 ,

y^=S(θ) , Sคือฟังก์ชัน softmax

J(y^)=iylogy^i , yเป็นป้ายกำกับของเวกเตอร์แบบหนึ่งร้อน

จากนั้นตามกฎลูกโซ่

Jx=Jθθhhrrx

การไล่ระดับสีส่วนบุคคลคือ:

Jθ=(y^y)
θh=h[hW2+b2]=W2T
hr=h(1h)
rx=x[xW1+b1]=W1T

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

Jx=(y^y)W2T[h(1h)]W1T

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

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

ขอบคุณ!


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

คุณเป็นอย่างไรบ้าง dervie dJ / deta
raaj

คำตอบ:


4

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

การดำเนินงานที่เกิดขึ้นจริงไม่ได้เป็นคูณองค์ประกอบที่ชาญฉลาด แต่แทนที่จะคูณเมทริกซ์มาตรฐานของการไล่ระดับสีที่มีจาโคเบียน , เสมอ

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

ในวิชาคณิตศาสตร์เรามีความไม่เชิงเส้น , การสูญเสียและการป้อนข้อมูลไปยังความไม่เชิงเส้น (นี่อาจเป็นเทนเซอร์ใด ๆ ) เอาต์พุตของความไม่เชิงเส้นมีขนาดเดียวกัน --- ตามที่ @Logan บอกว่าฟังก์ชั่นการเปิดใช้งานถูกกำหนดเป็นองค์ประกอบที่ชาญฉลาดsLxRn×1s(x)Rn×1

เราต้องการ

xL=(s(x)x)Ts(x)L

ที่ไหนเป็นจาโคเบียนของsการขยาย Jacobian นี้เราจะได้รับ s(x)xs

[s(x1)x1s(x1)xns(xn)x1s(xn)xn]

เราเห็นว่ามันมีอยู่ทุกหนทุกแห่งที่เป็นศูนย์ยกเว้นเส้นทแยงมุม เราสามารถสร้างเวกเตอร์ขององค์ประกอบในแนวทแยงทั้งหมดของ

Diag(s(x)x)

แล้วใช้ตัวดำเนินการองค์ประกอบที่ชาญฉลาด

xL=(s(x)x)Ts(x)L=Diag(s(x)x)s(x)L

0

เมื่อใดก็ตามที่สัดส่วนกลับไปที่ฟังก์ชั่นการเปิดใช้งานการดำเนินการจะกลายเป็นองค์ประกอบที่ชาญฉลาด โดยเฉพาะอย่างยิ่งการใช้ตัวอย่างของคุณเป็นอนุพันธ์ backpropagation และเป็นอนุพันธ์การเปิดใช้งานและผลิตภัณฑ์ของพวกเขาเป็นผลิตภัณฑ์ตามองค์ประกอบa' เนื่องจากฟังก์ชั่นการเปิดใช้งานนั้นถูกกำหนดให้เป็นการทำงานแบบองค์ประกอบที่ฉลาดในเครือข่ายประสาทδ2=(y^y)W2Ta=h(1h)δ2a

ดูสไลด์บรรยาย cs224d หน้า 30 มันอาจช่วยได้เช่นกัน

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