Paper: อะไรคือความแตกต่างระหว่างการปรับสภาพเลเยอร์, ​​การทำซ้ำเป็นชุดงานประจำ (2016), และการวางเป็นบรรทัดฐานปกติ RNN (2015)?


30

ดังนั้นเมื่อเร็ว ๆ นี้มีกระดาษมาตรฐานการทำให้เป็นปกติ นอกจากนี้ยังมีการนำไปใช้กับ Keras

แต่ฉันจำได้ว่ามีเอกสารชื่อRecurrent Batch Normalization (Cooijmans, 2016) และBatch Normalized Recurrent Neural Networks (Laurent, 2015) ความแตกต่างระหว่างสามสิ่งนี้คืออะไร?

มีส่วนงานที่เกี่ยวข้องนี้ฉันไม่เข้าใจ:

การทำให้เป็นมาตรฐานของกลุ่มได้ถูกขยายไปยังเครือข่ายประสาทที่เกิดขึ้นอีกครั้ง [Laurent et al., 2015, Amodei et al., 2015, Cooijmans et al., 2016] งานก่อนหน้านี้ [Cooijmans et al., 2016] แสดงให้เห็นถึงประสิทธิภาพที่ดีที่สุดของการทำให้เป็นมาตรฐานการเกิดซ้ำที่เกิดขึ้นจากการรักษาสถิติการทำให้ปกติเป็นอิสระสำหรับแต่ละขั้นตอน ผู้เขียนแสดงให้เห็นว่าการกำหนดค่าเริ่มต้นของพารามิเตอร์ gain ในเลเยอร์การทำให้เป็นปกติของแบตช์กลับเป็น 0.1 ทำให้เกิดความแตกต่างอย่างมีนัยสำคัญในประสิทธิภาพสุดท้ายของตัวแบบ งานของเรายังเกี่ยวข้องกับการทำให้น้ำหนักปกติ [Salimans and Kingma, 2016] ในการทำให้น้ำหนักเป็นมาตรฐานแทนที่จะเป็นความแปรปรวนค่า L2 ปกติของตุ้มน้ำหนักที่เข้ามาจะถูกใช้เพื่อทำให้อินพุตที่รวมเข้ากับเซลล์ประสาทเป็นปกติ. การใช้การทำให้น้ำหนักเป็นมาตรฐานหรือการทำแบทช์ให้เป็นมาตรฐานโดยใช้สถิติที่คาดการณ์นั้นเทียบเท่ากับการสร้างพารามิเตอร์ที่แตกต่างกันของเครือข่ายนิวรัล - ไปข้างหน้าเดิม การกำหนดพารามิเตอร์ใหม่ในเครือข่าย ReLU ได้รับการศึกษาใน Pathnormalized SGD [Neyshabur et al., 2015] อย่างไรก็ตามวิธีการปรับมาตรฐานของเลเยอร์ที่เรานำเสนอนั้นไม่ใช่วิธีการกำหนดพารามิเตอร์ใหม่ของเครือข่ายประสาทเทียมดั้งเดิม ดังนั้นโมเดลเลเยอร์ที่ทำให้เป็นมาตรฐานนั้นมีคุณสมบัติค่าคงที่ที่แตกต่างจากวิธีอื่นซึ่งเราจะศึกษาในส่วนต่อไปนี้

คำตอบ:


25
  • การทำให้เป็นมาตรฐานของเลเยอร์ ( Ba 2016 ): ไม่ใช้สถิติแบทช์ ทำ Normalize โดยใช้สถิติที่รวบรวมจากทุกหน่วยภายในเลเยอร์ของตัวอย่างปัจจุบัน ใช้งานไม่ได้กับ ConvNets

  • การปรับค่าแบตช์ให้เป็นปกติ (BN) ( Cooijmans, 2016 ; ยังเสนอพร้อมกันโดยQianli Liao & Tomaso Poggio , แต่ทดสอบบน Recurrent ConvNets แทน RNN / LSTM): เช่นเดียวกับการทำแบตช์ให้เป็นมาตรฐาน ใช้สถิติการทำให้เป็นมาตรฐานที่แตกต่างกันสำหรับแต่ละขั้นตอน คุณต้องจัดเก็บชุดค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานสำหรับแต่ละขั้นตอน

  • Batch Normalized Recurrent Neural Networks ( Laurent, 2015 ): การปรับสภาพแบทช์จะใช้เฉพาะระหว่างอินพุตและสถานะที่ซ่อนเท่านั้น แต่ไม่ได้อยู่ระหว่างสถานะซ่อนเร้น เช่นการทำให้เป็นมาตรฐานไม่ได้ถูกนำไปใช้ในช่วงเวลา

  • การทำให้เป็นมาตรฐานการสตรีมมิ่ง ( Liao et al. 2016 ): เป็นการสรุปการทำให้เป็นมาตรฐานที่มีอยู่และเอาชนะปัญหาส่วนใหญ่ที่กล่าวถึงข้างต้น มันทำงานได้ดีกับ ConvNets การเรียนรู้ซ้ำและการเรียนรู้ออนไลน์ (เช่น mini-batch ขนาดเล็กหรือตัวอย่างหนึ่งครั้ง):

  • น้ำหนักปกติ ( Salimans และ Kingma 2016 ): เมื่อใดก็ตามที่มีน้ำหนักที่ใช้ก็จะถูกแบ่งออกโดยตัวของมันบรรทัดฐานแรกเช่นว่าน้ำหนักส่งผลให้มีบรรทัดฐาน1นั่นคือเอาต์พุตโดยที่และแสดงถึงอินพุตและน้ำหนักตามลำดับ เกลาปัจจัยปรับคูณแล้วเอาท์พุทกรัม แต่ในประสบการณ์ของฉันดูเหมือนจะไม่จำเป็นสำหรับการปฏิบัติ (ยังชั้น learnable ปลายน้ำสามารถเรียนรู้นี้ต่อไป)L2L21y=x(w/|w|)xwgy=ygg

  • โคไซน์ Normalization ( . Luo et al, 2017 ): ฟื้นฟูน้ำหนักจะคล้ายกับการฟื้นฟูโคไซน์ที่เดียวกันฟื้นฟูถูกนำไปใช้ทั้งน้ำหนักและการป้อนข้อมูล:|) อีกครั้งด้วยตนเองหรืออัตโนมัติแตกต่างสามารถคำนวณการไล่ระดับสีที่เหมาะสมของและWL2y=(x/|x|)(w/|w|)xw

โปรดทราบว่าทั้งการปรับสภาพน้ำหนักและโคไซน์ได้ถูกนำมาใช้อย่างกว้างขวาง (เรียกว่าผลิตภัณฑ์ dot แบบธรรมดา) ในยุค 2000 ในคลาสของ ConvNets ที่เรียกว่า HMAX (Riesenhuber 1999) เพื่อจำลองแบบการมองเห็นทางชีวภาพ คุณอาจพบว่าพวกเขาน่าสนใจ

Ref: การอ้างอิงโมเดล HMAX

Ref: อ้างอิงCortical Network Simulator

Ref: โคไซน์นอร์มอลไลซ์: การใช้โคไซน์คล้ายคลึงกันแทนที่จะเป็นผลิตภัณฑ์ Dot ในเครือข่ายประสาท , Luo Chunjie, Zhan jianfeng, วัง lei, Yang Qiang

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