Back-propagation ผ่านเลเยอร์การรวมสูงสุด


14

ฉันมีขนาดเล็กย่อยคำถามคำถามนี้

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

ดังนั้นคำถามแรกคือถ้าฉันมีเลเยอร์ร่วมกันเชื่อมต่อกับเลเยอร์เชื่อมต่ออย่างเต็มที่ - เช่นภาพด้านล่าง

example1

เมื่อคำนวณการไล่สีสำหรับ cyan "neuron" ของ pooling layer ฉันจะรวมการไล่ระดับสีทั้งหมดจากเซลล์เลเยอร์ FC หรือไม่ หากสิ่งนี้ถูกต้องแล้ว "เซลล์ประสาท" ของเลเยอร์รวมกำไรทุกคนมีการไล่ระดับสีเดียวกันหรือไม่

ตัวอย่างเช่นถ้าเซลล์ประสาทแรกของเลเยอร์ FC มีการไล่ระดับสีที่ 2, ที่สองมีการไล่ระดับสีที่ 3 และที่สามการไล่ระดับที่ 6 การไล่ระดับสีของ "เซลล์ประสาท" สีน้ำเงินและสีม่วงในชั้นรวมกำไรคืออะไรและทำไม?

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

example2

สำหรับ "เซลล์ประสาท" ที่อยู่บนสุดสุดของชั้นรวมกำไร (สีเขียวที่กำหนดไว้) ฉันแค่ใช้การไล่ระดับสีของเซลล์ประสาทสีม่วงในชั้น Conv ต่อไปและกำหนดเส้นทางกลับใช่ไหม?

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

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


สำหรับคำถามแรกของคุณการ backpropagation คือการดูว่าน้ำหนักและปัจจัยการผลิตมีผลต่อการสูญเสียของคุณอย่างไร ในกรณีที่รวมกำไรสูงสุดเท่านั้นเซลล์ประสาทสูงสุดจะมีผลต่อการส่งออก (ยกเว้นเมื่อมีการเสมอกัน) ดังนั้นเผยแพร่ข้อผิดพลาดไปยังเซลล์ประสาทที่มีค่าการเปิดใช้งานสูงสุดเท่านั้น
Jan van der Vegt

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

คำตอบ:


5

หากสิ่งนี้ถูกต้องแล้ว "เซลล์ประสาท" ของเลเยอร์รวมกำไรทุกคนมีการไล่ระดับสีเดียวกันหรือไม่

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

ดังนั้นโดยทั่วไปคุณจะมีสถานการณ์เช่น:

FCi=f(jWijPj)

โดยที่เป็น ith neuron ใน layer ที่เชื่อมต่ออย่างสมบูรณ์คือ jth neuron ใน pooling layer และคือฟังก์ชันการเปิดใช้งานและ the weigthsFCiPjfW

ซึ่งหมายความว่าการไล่ระดับสีเทียบกับ P_j คือ

grad(Pj)=igrad(FCi)fWij{IJ}

ซึ่งแตกต่างกันสำหรับ j = 0 หรือ j = 1 เพราะ W แตกต่างกัน

และคำถามที่สองคือเมื่อเลเยอร์ร่วมกันเชื่อมต่อกับอีกชั้นหนึ่ง ฉันจะคำนวณการไล่ระดับสีได้อย่างไร

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

สำหรับ "เซลล์ประสาท" ที่อยู่บนสุดสุดของชั้นรวมกำไร (สีเขียวที่กำหนดไว้) ฉันแค่ใช้การไล่ระดับสีของเซลล์ประสาทสีม่วงในชั้น Conv ต่อไปและกำหนดเส้นทางกลับใช่ไหม?

ขวา. นอกจากนี้ยังมีการไล่ระดับสีของเซลล์ประสาทอื่น ๆ บนชั้นของการโน้มน้าวซึ่งใช้เป็นเซลล์ประสาทที่อยู่ทางขวาสุดของชั้นรวมกำไร

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

เพิ่มพวกเขา เนื่องจากกฎลูกโซ่

Max Pooling จนถึงจุดนี้ความจริงที่ว่ามันเป็น max pool นั้นไม่เกี่ยวข้องอย่างที่คุณเห็น แม็กซ์ร่วมกันเป็นเพียงที่ฟังก์ชั่นการเปิดใช้งานในชั้นที่เป็นสูงสุดดังนั้นนี่หมายความว่าการไล่ระดับสีสำหรับเลเยอร์ก่อนหน้าคือ:maxgrad(PRj)

grad(PRj)=igrad(Pi)fWij{IJ}

แต่ตอนนี้สำหรับ max neuron และสำหรับ neurons อื่นทั้งหมดดังนั้นสำหรับ max neuron ใน layer ก่อนหน้าและสำหรับ neurons อื่นทั้งหมด ดังนั้น:f=idf=0f=1f=0

grad(PRmaxneuron)=igrad(Pi)Wi max neuron ,

grad(PRothers)=0.

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