ที่ดีที่สุดของความรู้ของฉันสิ่งที่ใกล้เคียงกับสิ่งที่คุณอาจจะมองหาคือบทความนี้เมื่อเร็ว ๆ นี้โดยนักวิจัยของ Google: Normalization Batch: เร่งการฝึกอบรมเครือข่ายลึกโดยการลดภายในตัวแปรร่วมกะ
การปรับสภาพเป็นกลุ่ม
พิจารณาเลเยอร์ ล.เอาต์พุตการเปิดใช้งานของ Yล.= f( วx + b ) ที่ไหน ฉ คือความไม่เชิงเส้น (ReLU, tanh, ฯลฯ ) W, b คือน้ำหนักและอคติตามลำดับและ x เป็นชุดข้อมูลขนาดเล็ก
Batch Normalization (BN) ทำอะไรต่อไปนี้:
- วางมาตรฐาน Wx + bมีค่าเฉลี่ยศูนย์และความแปรปรวนหนึ่ง เราทำมันข้ามรถสองแถว ปล่อยx^ แสดงถึงค่าการเปิดใช้งานกลางมาตรฐานเช่น x^ เป็นเวอร์ชันปกติของ Wx + b.
- ใช้การแปลงเลียนแบบพารามิเตอร์ (เรียนรู้ได้) x^→ γx^+ β.
- ใช้การไม่เชิงเส้น: Y^ล.= f( γx^+ β).
ดังนั้น BN จึงกำหนดมาตรฐานการเปิดใช้งาน "ดิบ" (อ่าน: ก่อนที่เราจะใช้ความไม่เชิงเส้น) เพื่อให้มีค่าเฉลี่ยเป็นศูนย์, ความแปรปรวน 1 จากนั้นเราใช้การแปลงเลียนแบบที่เรียนรู้และจากนั้นในที่สุดเราก็ ในบางแง่เราอาจตีความว่าเป็นการอนุญาตให้เครือข่ายประสาทเทียมเพื่อเรียนรู้การกระจายการป้อนข้อมูลแบบมีพารามิเตอร์ที่เหมาะสมไปยังความไม่เชิงเส้น
เนื่องจากการดำเนินการทุกอย่างแตกต่างกันเราอาจเรียนรู้ γ, β พารามิเตอร์ผ่าน backpropagation
เลียนแบบแรงจูงใจการเปลี่ยนแปลง
หากเราไม่ได้ทำการแปลง affine แบบแปรผันพารามิเตอร์ความไม่เชิงเส้นทุกอันจะมีการแจกแจงอินพุทเป็นการแจกแจงค่าเฉลี่ยศูนย์และการแจกแจงความแปรปรวน 1 สิ่งนี้อาจจะใช่หรือไม่ก็ได้ โปรดสังเกตว่าถ้าค่าเฉลี่ยเป็นศูนย์การแจกแจงความแปรปรวน 1 การป้อนข้อมูลที่ดีที่สุดการแปลง affine สามารถกู้คืนได้ในทางทฤษฎีโดยการตั้งค่าβ เท่ากับค่าเฉลี่ยแบทช์และ γเท่ากับส่วนเบี่ยงเบนมาตรฐานชุด การมีการแปลงเลียนแบบแปรผันตามพารามิเตอร์นี้ยังมีโบนัสเพิ่มเติมในการเพิ่มความสามารถในการเป็นตัวแทนของเครือข่าย (พารามิเตอร์ที่เรียนรู้ได้มากขึ้น)
มาตรฐานครั้งแรก
ทำไมต้องสร้างมาตรฐานก่อน ทำไมไม่ใช้การแปลงเลียนแบบ? ในทางทฤษฎีการพูดไม่มีความแตกต่าง อย่างไรก็ตามอาจมีปัญหาเกี่ยวกับการปรับอากาศที่นี่ ด้วยการทำให้ค่าการเปิดใช้งานมาตรฐานเป็นมาตรฐานγ, βพารามิเตอร์ นี่คือการคาดเดาอย่างหมดจดในส่วนของฉัน แต่มีการเปรียบเทียบที่คล้ายกันในสถานะล่าสุดของสถาปัตยกรรมศิลปะอื่น ๆ ตัวอย่างเช่นในรายงานทางเทคนิคของ Microsoft Research เมื่อเร็ว ๆ นี้การเรียนรู้ส่วนที่เหลือลึกเพื่อการจดจำภาพพวกเขาเรียนรู้การเปลี่ยนแปลงโดยที่พวกเขาใช้การแปลงตัวตนเป็นข้อมูลอ้างอิงหรือพื้นฐานสำหรับการเปรียบเทียบ ผู้เขียนร่วมของ Microsoft เชื่อว่าการมีการอ้างอิงหรือข้อมูลพื้นฐานนี้ช่วยกำหนดปัญหาล่วงหน้า ฉันไม่เชื่อว่ามันไปไกลเกินกว่าจะสงสัยว่ามีบางสิ่งที่คล้ายกันเกิดขึ้นที่นี่ด้วย BN และขั้นตอนการกำหนดมาตรฐานเริ่มต้น
แอพพลิเคชั่น BN
ผลลัพธ์ที่น่าสนใจอย่างยิ่งคือการใช้ Batch Normalization ทีมงาน Google สามารถได้รับเครือข่าย Inception tanh เพื่อฝึกฝนบน ImageNet และรับผลการแข่งขันที่ดี Tanh เป็นแบบไม่เชิงเส้นที่อิ่มตัวและเป็นเรื่องยากที่จะเรียนรู้เครือข่ายประเภทนี้เนื่องจากปัญหาความอิ่มตัว / หายไปของการไล่ระดับสี อย่างไรก็ตามการใช้การทำให้เป็นมาตรฐานแบบ Batch นั้นอาจสันนิษฐานได้ว่าเครือข่ายสามารถเรียนรู้การแปลงซึ่งแมปค่าเอาท์พุทการเปิดใช้งานเข้ากับระบบที่ไม่อิ่มตัวของระบบไม่เชิงเส้น tanh
หมายเหตุสุดท้าย
พวกเขายังอ้างอิงถึงข้อเท็จจริงเดียวกันของ Yann LeCun ที่คุณพูดถึงว่าเป็นแรงจูงใจในการทำให้เป็นมาตรฐานแบบแบตช์