อะไรคือคำอธิบายของตัวอย่างว่าทำไมการทำแบทช์ให้เป็นมาตรฐานต้องทำด้วยความระมัดระวัง


11

ฉันกำลังอ่านเอกสารการทำให้เป็นมาตรฐานของแบทช์ [1] และมันมีส่วนหนึ่งที่ต้องผ่านตัวอย่างพยายามที่จะแสดงว่าทำไมการทำให้เป็นมาตรฐานต้องทำอย่างระมัดระวัง ฉันอย่างจริงใจไม่เข้าใจวิธีการทำงานของตัวอย่างและฉันอยากรู้อยากเห็นจริง ๆ เข้าใจพวกเขากระดาษมากที่สุดเท่าที่จะทำได้ ก่อนอื่นให้ฉันพูดที่นี่:

ตัวอย่างเช่นพิจารณาชั้นด้วยการป้อนข้อมูลที่ยูที่เพิ่มเรียนรู้อคติ B และ normalizes ที่ x = U + B , x = { x 1 . . N }คือชุดของค่าของxในชุดฝึกอบรมและE [ x ] = ∑ N i = 1 x ix^=x-E[x]x=ยู+ข,X={x1...ยังไม่มีข้อความ}xE[x]=Σผม=1ยังไม่มีข้อความxผม. หากขั้นตอนการไล่ระดับสีแบบไม่สนใจการพึ่งพาบนbดังนั้นมันจะอัปเดตb ← b + Δ > bโดยที่Δ b ∝ - ∂ lE[x]ขb←b+Δ>b x แล้วU+(B+Δข)-E[U+(B+Δข)]=U+B-E[U+B] ดังนั้นการรวมกันของการปรับปรุงเพื่อbและการเปลี่ยนแปลงที่ตามมาในการทำให้เป็นมาตรฐานทำให้ไม่มีการเปลี่ยนแปลงในเอาต์พุตของเลเยอร์หรือดังนั้นการสูญเสียΔb∝−∂l∂x^u+(b+Δb)−E[u+(b+Δb)]=u+b−E[u+b]ข

ฉันคิดว่าฉันเข้าใจข้อความว่าหากไม่ทำบรรทัดฐานอย่างถูกต้องก็อาจไม่ดี ฉันไม่ได้เป็นตัวอย่างที่พวกเขาใช้ portrays นี้

ฉันรู้ว่ามันยากที่จะช่วยใครสักคนหากพวกเขาไม่เจาะจงมากขึ้นในสิ่งที่ทำให้พวกเขาสับสนดังนั้นฉันจะให้ในหัวข้อถัดไปสิ่งที่ทำให้ฉันสับสนเกี่ยวกับคำอธิบายของพวกเขา


ฉันคิดว่าความสับสนส่วนใหญ่ของฉันอาจเป็นเรื่องแปลกดังนั้นฉันจะชี้แจง

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

x(ล.)=a(ล.)=θ(Z(ล.))=θ(⟨W(ล.),x(ล.-1)⟩+ข(ล.))

โดยที่เป็นเวกเตอร์คุณลักษณะ raw จากเลเยอร์อินพุตแรกx(0)=a(0)=x

นอกจากนี้ฉันคิดว่าสิ่งแรกที่ทำให้ฉันสับสน (เนื่องจากเหตุผลก่อนหน้า) คือสิ่งที่พวกเขาพยายามอธิบายจริงๆ มันบอกว่า:

normalizes ที่x = U + ขx^=x-E[x]x=ยู+ข

ฉันคิดว่าสิ่งที่พวกเขากำลังพยายามจะพูดก็คือแทนที่จะใช้การเปิดใช้งานตามที่คำนวณโดยผ่านไปข้างหน้าอย่างใดอย่างหนึ่งดำเนินการ "normalization" โดยการลบการเปิดใช้งานเฉลี่ย:x(ล.)=a(ล.)

x¯ล.=a¯ล.=1ยังไม่มีข้อความΣผม=1ยังไม่มีข้อความa¯ล.=1ยังไม่มีข้อความΣผม=1ยังไม่มีข้อความx¯ล.

แล้วส่งต่อไปยังอัลกอริทึมการกระจายกลับ หรืออย่างน้อยนั่นก็เป็นสิ่งที่สมเหตุสมผลสำหรับฉัน

เกี่ยวกับสิ่งนี้ฉันเดาว่าพวกเขาเรียกว่าอาจจะเป็นx ( l ) ? นั่นคือสิ่งที่ฉันจะเดาเพราะพวกเขาเรียกมันว่า "อินพุต" และมีสมการx = u + b (ฉันเดาว่าพวกเขากำลังใช้หน่วยกระตุ้นเชิงเส้น / เชิงเส้นสำหรับเครือข่ายประสาทของพวกเขา?)ยูx(ล.)x=ยู+ข

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

Δข(ล.)α-∂ล.∂ข(ล.)

ทำให้รู้สึกมากกว่าการใช้อนุพันธ์ของด้วยความเคารพต่อการเปิดใช้งานปกติ ผมพยายามที่จะเข้าใจว่าทำไมพวกเขาต้องการใช้อนุพันธ์ที่เกี่ยวกับxและฉันคิดว่าบางทีพวกเขากำลังหมายถึงสันดอนเมื่อพวกเขาเขียน∂ ลิตรx^ตั้งแต่มักจะว่าเป็นเพียงส่วนหนึ่งของขั้นตอนวิธีกลับ prop ที่มีอนุพันธ์ด้วยความเคารพก่อนการเปิดใช้งานตั้งแต่สมการของเดลต้าเป็น:∂ล.∂x^

δJ(ล.)=∂L∂ZJ(ล.)

อีกสิ่งที่ทำให้ฉันสับสนคือ:

แล้ว ]ยู+(ข+Δข)-E[ยู+(ข+Δข)]=ยู+ข-E[ยู+ข]

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

x^=θ(ยู+(ข+Δข))-E[θ(ยู+(ข+Δข))]

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

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


[1]: Ioffe เอสและ Szegedy C. (2015),
"แบทช์ Normalization: เร่งการฝึกอบรมเครือข่ายลึกโดยการลดภายในตัวแปรร่วมกดปุ่ม Shift"
การดำเนินการของ 32 ประชุมนานาชาติเกี่ยวกับการเรียนรู้เครื่อง , ลีลล์, ฝรั่งเศส, 2015
วารสารเครื่องการเรียนรู้ การวิจัย: ปริมาณ W&CP 37


ฉันคิดว่าลักษณะที่มีเหตุผลของย่อหน้านั้นชัดเจนในขณะนี้ แต่ข้อความที่พยายามสื่อความหมายและจุดประสงค์ของมันนั้นชัดเจนน้อยกว่า
— Charlie Parker

คำตอบ:


3

E[x]ข

อย่างไรก็ตามหากการดัดแปลงเหล่านี้สลับกับขั้นตอนการออปติไมซ์ขั้นตอนการไล่ระดับสีไล่ระดับอาจพยายามอัปเดตพารามิเตอร์ในวิธีที่ต้องการให้การปรับสภาพปกติได้รับการอัพเดตซึ่งจะลดผลกระทบของขั้นตอนการไล่ระดับสี

ดังนั้นพวกเขาจึงทำขั้นตอนการไล่ระดับสีแบบลาดชันเพื่อรับรู้ถึงการฟื้นฟูในวิธีการ


เกี่ยวกับคำถามที่คุณ

ยูx(ล.)

ยูยูข

Δขα-∂ล.∂ข

x^=x-E[x]=ยู+ข-E[x]E[x]ข

∂ล.∂ข=∂ล.∂x^∂x^∂ข=∂ล.∂x^,
Δขα-∂ล.∂x^

ยู+(ข+Δข)-E[ยู+(ข+Δข)]=ยู+ข-E[ยู+ข]ขข+Δข

x^ขข+ΔขE[x]ข


มันอาจจะเป็นประโยชน์ที่จะดูที่บางการใช้งานโอเพนซอร์สของการฟื้นฟูแบทช์ยกตัวอย่างเช่นในลาซานญ่าและKeras

มีคำถามอีกข้อที่อาจเกี่ยวข้องกันทำไมต้องใช้การไล่ระดับสีของช่วงเวลา (ค่าเฉลี่ยและความแปรปรวน) เมื่อใช้ Batch Normalization ใน Neural Network


ดังนั้นฉันคิดว่าประเด็นของพวกเขาคือพวกเขาต้องทำให้การปรับปรุง GD ตระหนักถึงการฟื้นฟูเพื่อให้การสูญเสียการเปลี่ยนแปลงเมื่อมีการปรับปรุงอคติ? หรืออะไรคือเป้าหมายหลักของวรรคนั้น?
— Charlie Parker

@ CharlieParker อ๋อฉันคิดว่าอย่างนั้นการแสดงว่ามีเหตุผลที่ทำให้ GD update รับรู้ถึงการฟื้นฟู (IMO)
— dontloo

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