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


15

ฉันกำลังอ่านเกี่ยวกับเครื่องมือเพิ่มประสิทธิภาพของอดัมเพื่อการเรียนรู้ที่ลึกและได้พบประโยคต่อไปนี้ในหนังสือเรียนใหม่Deep Learningโดย Begnio, Goodfellow และ Courtville:

อดัมรวมการแก้ไขอคติกับการประมาณการช่วงเวลาที่สั่งซื้อครั้งแรก (คำว่าโมเมนตัม) และช่วงเวลาอันดับที่สอง (ไม่ระบุตัวตน) เพื่ออธิบายการเริ่มต้นที่จุดเริ่มต้น

ดูเหมือนว่าเหตุผลหลักที่จะรวมถึงข้อตกลงการแก้ไขอคติเหล่านี้คือที่ใดก็เอาอคติของการเริ่มต้นของและ0mt=0vt=0

  • ฉันไม่แน่ใจ 100% ว่านั่นหมายถึงอะไร แต่ดูเหมือนว่าสำหรับฉันว่ามันอาจหมายความว่าช่วงเวลาที่ 1 และ 2 เริ่มต้นที่ศูนย์และเริ่มต้นที่ศูนย์อย่างใดอย่างหนึ่งแทนค่าที่ใกล้เคียงกับศูนย์ในทางที่ไม่ยุติธรรม ?
  • แม้ว่าฉันจะชอบที่จะรู้ว่าสิ่งที่หมายถึงบิตที่แม่นยำมากขึ้นและวิธีการที่ทำลายการเรียนรู้ โดยเฉพาะอย่างยิ่งข้อดีของการเพิ่มประสิทธิภาพให้เกิดประโยชน์ในแง่ของการเพิ่มประสิทธิภาพ un-biasing คืออะไร?
  • สิ่งนี้จะช่วยฝึกอบรมรูปแบบการเรียนรู้ลึกได้อย่างไร
  • นอกจากนี้มันหมายความว่าอย่างไรเมื่อไม่มีอคติ ฉันคุ้นเคยกับความเบี่ยงเบนมาตรฐานที่เป็นกลาง แต่มันไม่ชัดเจนสำหรับฉันในความหมายนี้ในบริบทนี้
  • การแก้ไขอคตินั้นเป็นเรื่องใหญ่จริง ๆ หรือว่ามีบางสิ่งที่ overhyped ในกระดาษเพิ่มประสิทธิภาพของอดัม?

แค่มีคนรู้ว่าฉันพยายามอย่างหนักที่จะเข้าใจกระดาษต้นฉบับ แต่ฉันได้อ่านและอ่านกระดาษต้นฉบับน้อยมาก ฉันคิดว่าคำถามเหล่านี้บางคำถามอาจตอบได้ แต่ฉันไม่สามารถแยกคำตอบได้


2
ลิงก์: arxiv.org/pdf/1412.6980v8.pdf การประมาณการไล่ระดับสีช่วงเวลาที่ 1 และ 2 ได้รับการอัปเดตผ่านค่าเฉลี่ยเคลื่อนที่และเริ่มต้นด้วยการประมาณค่าทั้งสองเป็นศูนย์ดังนั้นค่าเริ่มต้นที่ค่าจริงไม่เป็นศูนย์จะทำให้อคติผลลัพธ์ เนื่องจากการประมาณค่าเริ่มต้นของศูนย์จะค่อยๆตายออกไปเท่านั้น สิ่งที่ฉันไม่เข้าใจคือสาเหตุที่การไล่ระดับสี ณ จุดเริ่มต้นไม่ได้ใช้สำหรับค่าเริ่มต้นของสิ่งเหล่านี้จากนั้นจึงอัปเดตพารามิเตอร์แรก จากนั้นจะไม่มีการปนเปื้อนจากค่าเริ่มต้นของศูนย์ซึ่งจะต้องยกเลิกการทำดังนั้นจึงไม่จำเป็นต้องแก้ไขอคติ
Mark L. Stone

1
ดังนั้นดูเหมือนว่าแทนที่จะมีรหัสพิเศษสำหรับการทำซ้ำเริ่มต้นผู้เขียนได้ตัดสินใจที่จะทำสิ่งที่เทียบเท่าทางคณิตศาสตร์โดยการแนะนำสิ่งที่จะเป็นอคติและจากนั้นยกเลิกมัน สิ่งนี้จะเพิ่มการคำนวณที่ไม่จำเป็นถึงแม้ว่าจะรวดเร็วในการคำนวณซ้ำทั้งหมด Bt การทำเช่นนี้พวกเขายังคงความบริสุทธิ์ของรหัสที่มีลักษณะเหมือนกันในการทำซ้ำทั้งหมด ฉันเพิ่งจะเริ่มต้นด้วยการประเมินผลการไล่ระดับสีครั้งแรกแทนและให้สูตรการอัพเดทช่วงเวลาไล่ระดับสีเริ่มต้นในการทำซ้ำครั้งที่ 2 เท่านั้น
Mark L. Stone

@ MarkL. หินผู้เขียนเน้นย้ำถึงการแก้ไขอคติที่ดูเหมือนกับฉันว่าเป็นสิ่งที่แปลกใหม่หรือสำคัญในกระดาษของพวกเขา ดังนั้นพวกเขาอาจจะไม่ได้ "แก้ไขอคติ" และมีอัลกอริทึมเดียวกัน หากเป็นเรื่องจริงฉันไม่สามารถดูได้ว่าทำไมอาดัมจึงเป็นเครื่องมือเพิ่มประสิทธิภาพที่สำคัญหรือสิ่งที่เป็นเรื่องใหญ่ ฉันมักจะคิดว่ามันคือการแก้ไขอคติ
Charlie Parker

4
พวกเขาแนะนำอคติและแก้ไขให้ถูกต้องโดยไม่มีเหตุผลที่ดีสำหรับฉัน มันเหมือนกับการคูณด้วย 2 (โอ้ฉันผลลัพธ์จะเอนเอียง) แล้วหารด้วย 2 เพื่อ "แก้ไข" ทุกสิ่งด้วยการแนะนำและกำจัดอคติดูเหมือนว่าเป็นการแสดงที่ไม่จำเป็น บางทีกระดาษอาจไม่ยาวพอหากไม่ได้ทำดังนั้นพวกเขาจึงเพิ่มเกมนี้เพื่อทำให้มันยาวขึ้น :) อดัมอาจมีข้อดี แต่พวกเขาก็คงจะทำแบบเดียวกับที่ฉันเสนอ ฉันชอบที่ผู้เขียนจะมาที่นี่และอธิบายมัน บางทีฉันอาจพลาดจุดที่บอบบางหรือเข้าใจผิดไปบางอย่าง
Mark L. Stone

คำตอบ:


17

ปัญหาที่เกิดจากการไม่แก้ไขอคติ
ตามกระดาษ

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

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

โดยปกติแล้วในทางปฏิบัติจะถูกตั้งค่าให้ใกล้กับ 1 มากกว่า (ตามที่ผู้เขียนแนะนำ , ) ดังนั้นค่าสัมประสิทธิ์การอัปเดตนั้นเล็กกว่า .β2β1β2=0.999β1=0.91β2=0.0011β1=0.1

ในขั้นตอนแรกของการฝึกอบรม ,คำในการอัปเดตพารามิเตอร์อาจมีขนาดใหญ่มากหากเราใช้การประเมินแบบเอนเอียงโดยตรงm1=0.1gtv1=0.001gt2m1/(v1+ϵ)

ในทางกลับกันเมื่อใช้การประมาณค่าที่แก้ไขโดยอคติและ ,คำศัพท์มีความไวต่อและกว่าm1^=g1v1^=g12mt^/(vt^+ϵ)β1β2

วิธีแก้ปัญหาอคติ
อัลกอริทึมใช้ค่าเฉลี่ยเคลื่อนที่เพื่อประเมินช่วงเวลาแรกและช่วงเวลาที่สอง การประมาณลำเอียงจะเราเริ่มต้นที่เดาพลและอัปเดตการประเมินโดยค่อยๆm_ ดังนั้นจึงเป็นที่เห็นได้ชัดในไม่กี่ขั้นตอนแรกค่าเฉลี่ยเคลื่อนที่ของเราจะลำเอียงอย่างมากต่อการเริ่มต้นm_0m0mt=βmt1+(1β)gtm0

เพื่อแก้ไขสิ่งนี้เราสามารถลบผลกระทบของการเดาเริ่มต้น (อคติ) ออกจากค่าเฉลี่ยเคลื่อนที่ ตัวอย่างเช่นในเวลา 1,เราจะหาคำว่าจากและหารด้วยซึ่งให้ผลเบต้า) เมื่อ ,T) หลักฐานเต็มรูปแบบให้ไว้ในส่วนที่ 3 ของกระดาษm1=βm0+(1β)gtβm0m1(1β)m1^=(m1βm0)/(1β)m0=0mt^=mt/(1βt)


ในฐานะที่เป็น Mark L. Stone มีความเห็นดี

มันเหมือนกับการคูณด้วย 2 (โอ้ฉันผลลัพธ์จะเอนเอียง) แล้วหารด้วย 2 เพื่อ "แก้ไข"

อย่างใดนี้ไม่เทียบเท่า

การไล่ระดับสี ณ จุดเริ่มต้นใช้สำหรับค่าเริ่มต้นของสิ่งเหล่านี้จากนั้นอัปเดตพารามิเตอร์แรก

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

ตัวอย่างเช่นช่วงเวลาแรกที่แก้ไขในเวลา 2

m2^=β(1β)g1+(1β)g21β2=βg1+g2β+1

หากใช้เป็นค่าเริ่มต้นด้วยกฎการอัปเดตเดียวกัน ซึ่งจะมีอคติต่อแทนในไม่กี่ขั้นตอนแรกg1

m2=βg1+(1β)g2
g1

การแก้ไขอคตินั้นเป็นเรื่องใหญ่
จริง ๆ เพราะมันมีผลกับการฝึกเพียงไม่กี่ขั้นตอนแรกเท่านั้นดูเหมือนว่าจะไม่เป็นปัญหาที่ใหญ่มากในกรอบการทำงานที่ได้รับความนิยมมากมาย (เช่นkeras , caffe ) เท่านั้นที่ใช้การประเมินแบบเอนเอียง

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

อัปเดต
หากคุณเปิดเผยกฎการอัพเดทซ้ำโดยพื้นฐานเป็นค่าเฉลี่ยของการไล่ระดับสี ตัวหารสามารถคำนวณได้โดยสูตรผลรวมทางเรขาคณิตดังนั้นจึงเท่ากับการอัปเดตต่อไปนี้ กฎ (ซึ่งไม่เกี่ยวข้องกับคำอคติ) m^t

m^t=βt1g1+βt2g2+...+gtβt1+βt2+...+1

m1g1
ขณะที่ไม่มารวมกันทำ (ผลรวมถ่วงน้ำหนัก) (ถัวเฉลี่ยถ่วงน้ำหนัก)
mtβmt+gt
m^t(1β)mt1βt

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


1
คุณเห็นด้วยกับความคิดเห็นที่ 2 ของฉันในคำถามหรือไม่ สำหรับฉันนั่นคือบรรทัดล่าง สิ่งที่เกี่ยวกับการคูณและหารด้วย 2 นั้นน่าจะเป็น "การเปรียบเทียบที่เข้าใจง่าย" ไม่ใช่คณิตศาสตร์ที่ใช้ในสสาร หากมีเอกสารอื่น ๆ ที่ฉันยังไม่ได้ดูซึ่งนำเสนออคติโดยกลไกเดียวกันซึ่งในกรณีของ ADAM ดูเหมือนจะหลีกเลี่ยงได้ทั้งหมด แต่ไม่ได้แก้ไขเลยนั่นเป็นเพียงเรื่องโง่โดยสิ้นเชิง ช่วยประสิทธิภาพของอัลกอริทึม)
Mark L. Stone

@ MarkL.Stone ใช่! ที่จริงฉันลงคะแนนแล้วขอโทษด้วยเกี่ยวกับภาษาอังกฤษของฉัน และฉันคิดว่าอัลกอริทึมที่ไม่แก้ไขอคติคือ rmsprop แต่ต่างจาก adam rmsprop ทำงานได้ดีกับ bias
dontloo

@dontloo คำตอบของคุณตอบความคิดเห็นของ Mark L. Stone ว่าทำไมการแก้ไขอคติจึงไม่จำเป็น (ฉันคิดว่ามันสำคัญมากอาจจะมากกว่าการถอดความสิ่งที่กระดาษต้นฉบับพูด)
Charlie Parker

@ CharlieParker คุณหมายความว่าทำไมการแก้ไขอคตินั้นไม่จำเป็นหรือทำไมผู้แต่งถึงทำให้มันดูฟุ่มเฟือย?
dontloo

@dontloo ฉันไม่คิดว่าผู้เขียนทำให้มันฟุ่มเฟือย ฉันคิดว่าพวกเขาต้องการมันอย่างแน่นอน (ตามเงื่อนไขที่เฉพาะเจาะจง) อย่างไรก็ตามฉันคิดว่ามันไม่จำเป็นที่จะต้องได้รับคำแนะนำจาก Mark ฉันเดาคำถามของฉันในส่วนความเห็นตอนนี้คือถ้าพวกเขาต้องการคำแก้ไข
Charlie Parker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.