อินพุตการทำให้เป็นมาตรฐานสำหรับเซลล์ประสาท ReLU


9

ตาม"Efficient Backprop" โดย LeCun et al (1998)เป็นวิธีปฏิบัติที่ดีในการทำให้มาตรฐานอินพุตทั้งหมดเป็นปกติดังนั้นพวกเขาจะอยู่กึ่งกลางรอบ 0 และอยู่ในช่วงของอนุพันธ์อันดับสองสูงสุด ตัวอย่างเช่นเราจะใช้ [-0.5,0.5] สำหรับฟังก์ชั่น "Tanh" นี่คือการช่วยให้ความคืบหน้าในการเผยแผ่กลับไปในขณะที่รัฐ Hessian มีเสถียรภาพมากขึ้น

อย่างไรก็ตามฉันไม่แน่ใจว่าจะทำอย่างไรกับเซลล์ประสาท Rectifier ซึ่งมีค่าสูงสุด (0, x) (เช่นเดียวกันกับฟังก์ชั่นลอจิสติกตั้งแต่นั้นเราก็ต้องการ [0.1,0.9] แต่ไม่ได้อยู่ตรงกลางประมาณ 0)

คำตอบ:


7

ที่ดีที่สุดของความรู้ของฉันสิ่งที่ใกล้เคียงกับสิ่งที่คุณอาจจะมองหาคือบทความนี้เมื่อเร็ว ๆ นี้โดยนักวิจัยของ Google: Normalization Batch: เร่งการฝึกอบรมเครือข่ายลึกโดยการลดภายในตัวแปรร่วมกะ

การปรับสภาพเป็นกลุ่ม

พิจารณาเลเยอร์ lเอาต์พุตการเปิดใช้งานของ yl=f(Wx+b) ที่ไหน คือความไม่เชิงเส้น (ReLU, tanh, ฯลฯ ) W, คือน้ำหนักและอคติตามลำดับและ x เป็นชุดข้อมูลขนาดเล็ก

Batch Normalization (BN) ทำอะไรต่อไปนี้:

  1. วางมาตรฐาน Wx+มีค่าเฉลี่ยศูนย์และความแปรปรวนหนึ่ง เราทำมันข้ามรถสองแถว ปล่อยx^ แสดงถึงค่าการเปิดใช้งานกลางมาตรฐานเช่น x^ เป็นเวอร์ชันปกติของ Wx+.
  2. ใช้การแปลงเลียนแบบพารามิเตอร์ (เรียนรู้ได้) x^γx^+β.
  3. ใช้การไม่เชิงเส้น: Y^ล.=(γx^+β).

ดังนั้น BN จึงกำหนดมาตรฐานการเปิดใช้งาน "ดิบ" (อ่าน: ก่อนที่เราจะใช้ความไม่เชิงเส้น) เพื่อให้มีค่าเฉลี่ยเป็นศูนย์, ความแปรปรวน 1 จากนั้นเราใช้การแปลงเลียนแบบที่เรียนรู้และจากนั้นในที่สุดเราก็ ในบางแง่เราอาจตีความว่าเป็นการอนุญาตให้เครือข่ายประสาทเทียมเพื่อเรียนรู้การกระจายการป้อนข้อมูลแบบมีพารามิเตอร์ที่เหมาะสมไปยังความไม่เชิงเส้น

เนื่องจากการดำเนินการทุกอย่างแตกต่างกันเราอาจเรียนรู้ γ,β พารามิเตอร์ผ่าน backpropagation

เลียนแบบแรงจูงใจการเปลี่ยนแปลง

หากเราไม่ได้ทำการแปลง affine แบบแปรผันพารามิเตอร์ความไม่เชิงเส้นทุกอันจะมีการแจกแจงอินพุทเป็นการแจกแจงค่าเฉลี่ยศูนย์และการแจกแจงความแปรปรวน 1 สิ่งนี้อาจจะใช่หรือไม่ก็ได้ โปรดสังเกตว่าถ้าค่าเฉลี่ยเป็นศูนย์การแจกแจงความแปรปรวน 1 การป้อนข้อมูลที่ดีที่สุดการแปลง affine สามารถกู้คืนได้ในทางทฤษฎีโดยการตั้งค่าβ เท่ากับค่าเฉลี่ยแบทช์และ γเท่ากับส่วนเบี่ยงเบนมาตรฐานชุด การมีการแปลงเลียนแบบแปรผันตามพารามิเตอร์นี้ยังมีโบนัสเพิ่มเติมในการเพิ่มความสามารถในการเป็นตัวแทนของเครือข่าย (พารามิเตอร์ที่เรียนรู้ได้มากขึ้น)

มาตรฐานครั้งแรก

ทำไมต้องสร้างมาตรฐานก่อน ทำไมไม่ใช้การแปลงเลียนแบบ? ในทางทฤษฎีการพูดไม่มีความแตกต่าง อย่างไรก็ตามอาจมีปัญหาเกี่ยวกับการปรับอากาศที่นี่ ด้วยการทำให้ค่าการเปิดใช้งานมาตรฐานเป็นมาตรฐานγ,βพารามิเตอร์ นี่คือการคาดเดาอย่างหมดจดในส่วนของฉัน แต่มีการเปรียบเทียบที่คล้ายกันในสถานะล่าสุดของสถาปัตยกรรมศิลปะอื่น ๆ ตัวอย่างเช่นในรายงานทางเทคนิคของ Microsoft Research เมื่อเร็ว ๆ นี้การเรียนรู้ส่วนที่เหลือลึกเพื่อการจดจำภาพพวกเขาเรียนรู้การเปลี่ยนแปลงโดยที่พวกเขาใช้การแปลงตัวตนเป็นข้อมูลอ้างอิงหรือพื้นฐานสำหรับการเปรียบเทียบ ผู้เขียนร่วมของ Microsoft เชื่อว่าการมีการอ้างอิงหรือข้อมูลพื้นฐานนี้ช่วยกำหนดปัญหาล่วงหน้า ฉันไม่เชื่อว่ามันไปไกลเกินกว่าจะสงสัยว่ามีบางสิ่งที่คล้ายกันเกิดขึ้นที่นี่ด้วย BN และขั้นตอนการกำหนดมาตรฐานเริ่มต้น

แอพพลิเคชั่น BN

ผลลัพธ์ที่น่าสนใจอย่างยิ่งคือการใช้ Batch Normalization ทีมงาน Google สามารถได้รับเครือข่าย Inception tanh เพื่อฝึกฝนบน ImageNet และรับผลการแข่งขันที่ดี Tanh เป็นแบบไม่เชิงเส้นที่อิ่มตัวและเป็นเรื่องยากที่จะเรียนรู้เครือข่ายประเภทนี้เนื่องจากปัญหาความอิ่มตัว / หายไปของการไล่ระดับสี อย่างไรก็ตามการใช้การทำให้เป็นมาตรฐานแบบ Batch นั้นอาจสันนิษฐานได้ว่าเครือข่ายสามารถเรียนรู้การแปลงซึ่งแมปค่าเอาท์พุทการเปิดใช้งานเข้ากับระบบที่ไม่อิ่มตัวของระบบไม่เชิงเส้น tanh

หมายเหตุสุดท้าย

พวกเขายังอ้างอิงถึงข้อเท็จจริงเดียวกันของ Yann LeCun ที่คุณพูดถึงว่าเป็นแรงจูงใจในการทำให้เป็นมาตรฐานแบบแบตช์

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