LSTM ป้องกันปัญหาการไล่ระดับสีที่หายไปได้อย่างไร


35

LSTM ถูกคิดค้นโดยเฉพาะเพื่อหลีกเลี่ยงปัญหาการไล่ระดับสีที่หายไป มันควรจะทำที่มีข้อผิดพลาดคงที่ม้าหมุน (CEC) ซึ่งในแผนภาพด้านล่าง (จากGreff et al. ) สอดคล้องกับวงรอบของเซลล์

LSTM
(ที่มา: deeplearning4j.org )

และฉันเข้าใจว่าส่วนนั้นสามารถเห็นได้ว่าเป็นฟังก์ชันตัวตนดังนั้นอนุพันธ์จึงเป็นหนึ่งและการไล่ระดับสีคงที่

สิ่งที่ฉันไม่เข้าใจคือวิธีที่มันไม่หายไปเนื่องจากฟังก์ชั่นการเปิดใช้งานอื่น ๆ ? การป้อนข้อมูลการส่งออกและลืมประตูใช้ sigmoid ซึ่งเป็นอนุพันธ์ที่มากที่สุด 0.25, และ g h และประเพณีtanh backpropagating ผ่านสิ่งที่ไม่ทำให้การไล่ระดับสีหายไปได้อย่างไร


2
LSTM เป็นโมเดลโครงข่ายประสาทเทียมที่มีประสิทธิภาพมากในการจดจำการพึ่งพาระยะยาวและไม่เสี่ยงต่อปัญหาการไล่ระดับสีที่หายไป ฉันไม่แน่ใจว่าคุณกำลังมองหาคำอธิบายประเภทใด
TheWalkingCube

LSTM: หน่วยความจำระยะสั้นระยะยาว (Ref: Hochreiter, S. และ Schmidhuber, J. (1997). ความจำระยะสั้นระยะยาวการคำนวณทางประสาท 9 (8): 1735-80 ·ธันวาคม 1997)
horaceT

การไล่ระดับสีใน LSTM หายไปช้ากว่าในวานิลลา RNNs ทำให้พวกเขาสามารถพึ่งพาการพึ่งพาได้ไกลขึ้น การหลีกเลี่ยงปัญหาของการไล่ระดับสีที่หายไปนั้นยังคงเป็นพื้นที่ของการวิจัยเชิงรุก
Artem Sobolev

1
สนใจที่จะกลับช้าลงหายไปพร้อมกับการอ้างอิง?
bayerj

เกี่ยวข้อง: quora.com/…
Pinocchio

คำตอบ:


22

การไล่ระดับสีที่หายไปนั้นอธิบายได้ดีที่สุดในเคสแบบหนึ่งมิติ หลายมิตินั้นซับซ้อนกว่า แต่คล้ายกันมาก คุณสามารถตรวจสอบได้ในเอกสารที่ยอดเยี่ยมนี้ [1]

สมมติว่าเรามีรัฐซ่อนในเวลาขั้นตอนทีหากเราทำให้สิ่งต่าง ๆ ง่ายขึ้นและลบอคติและอินพุตเรามี จากนั้นคุณสามารถแสดงให้เห็นว่าhtt

ht=σ(wht1).

htht=k=1ttwσ(whtk)=wtt!!!k=1ttσ(whtk)
เครื่องหมายที่ได้รับเครื่องหมายด้วย !!! เป็นสิ่งสำคัญอย่างหนึ่ง ถ้าน้ำหนักไม่เท่ากับ 1 ก็อาจจะสลายตัวไปที่ศูนย์ชี้แจงอย่างรวดเร็วในttหรือเติบโตชี้แจงได้อย่างรวดเร็ว

ใน LSTMs คุณมีรัฐถือs_tอนุพันธ์มีรูปแบบ ที่นี่คืออินพุตไปยังเกทเกท อย่างที่คุณเห็นไม่มีปัจจัยการสลายตัวอย่างรวดเร็วที่เกี่ยวข้อง ดังนั้นจึงมีเส้นทางอย่างน้อยหนึ่งเส้นทางที่การไล่ระดับสีไม่หายไป สำหรับการสืบทอดทั้งหมดดู [2]st

stst=k=1ttσ(vt+k).
vt

[1] Pascanu, Razvan, Tomas Mikolov และ Yoshua Bengio "ในความยากลำบากของการฝึกอบรมเครือข่ายประสาทกำเริบ" ICML (3) 28 (2013): 1310-1318

[2] ไบเออร์, จัสตินไซม่อน การเรียนรู้การเป็นตัวแทนลำดับ Diss München, Technische UniversitätMünchen, Diss., 2015, 2015


3
สำหรับ lstm h_t ก็ไม่ขึ้นอยู่กับ h_ {t-1} ด้วย คุณหมายถึงอะไรในบทความของคุณเมื่อคุณพูด ds_t / d_s {t-1} "เป็นเพียงส่วนเดียวที่การไล่ระดับสีไหลผ่านเวลา"
user3243135

@ user3243135 h_t ขึ้นอยู่กับ h_ {t-1} อย่างไรก็ตามสมมติว่า ds_t / d_s {t-1} ถูกเก็บไว้แม้ว่าการไล่ระดับสีอื่นจะหายไปการไหลของการไล่ระดับสีทั้งหมดจะไม่หายไป วิธีนี้จะช่วยแก้ปัญหาการไล่ระดับสีที่หายไป
soloice

ฉันคิดเสมอว่าประเด็นหลักคือคำว่า เพราะถ้ามักจะเป็นอนุพันธ์ของ sigmoid (หรือบางอย่าง ด้วยอนุพันธ์น้อยกว่า 1) ซึ่งทำให้เกิดการไล่ระดับสีที่หายไปอย่างแน่นอน (เช่น sigmoids คือ <1 ในขนาดและอนุพันธ์ของพวกเขาคือซึ่งเป็น < 1 แน่นอน) นั่นไม่ใช่เหตุผลที่ ReLU ได้รับการยอมรับใน CNNs หรือไม่? นี่คือสิ่งหนึ่งที่ทำให้ฉันสับสนในความแตกต่างของวิธีการไล่ระดับสีที่หายไปได้รับการแก้ไขในฟีดโมเดลไปข้างหน้ากับโมเดลจำลองซ้ำ คำอธิบายใด ๆ สำหรับเรื่องนี้?
ttσ(whtk)
σ(z)σ(x)=σ(z)(1σ(z))
Pinocchio

การไล่ระดับสีของ sigmoid อาจกลายเป็นปัญหาสมมติว่ามีการกระจายของอินพุตที่มีความแปรปรวนขนาดใหญ่และ / หรือค่าเฉลี่ยจาก 0 อย่างไรก็ตามแม้ว่าคุณจะใช้ ReLU ปัญหาหลักยังคงอยู่: คูณซ้ำด้วยเมทริกซ์ของน้ำหนัก ) ทำให้การไล่ระดับสีหายไปหรือในบางกรณีที่การทำให้เป็นมาตรฐานไม่เพียงพอทำให้เกิดการไล่ระดับสี
Ataxias

3

รูปภาพของบล็อก LSTM จาก Greff และคณะ (2015) อธิบายตัวแปรที่ผู้เขียนเรียกLSTM วานิลลา มันแตกต่างจากคำนิยามดั้งเดิมจาก Hochreiter & Schmidhuber (1997) คำจำกัดความดั้งเดิมไม่รวมถึงประตูลืมและการเชื่อมต่อช่องมอง

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

ข้อผิดพลาดอาจยังคงป้อน CEC ผ่านทางประตูทางออกและฟังก์ชั่นการเปิดใช้งาน ฟังก์ชั่นการเปิดใช้งานจะลดขนาดของข้อผิดพลาดเล็กน้อยก่อนที่จะถูกเพิ่มลงใน CEC CEC เป็นสถานที่เดียวที่ข้อผิดพลาดสามารถไหลไม่เปลี่ยนแปลง อีกครั้งเมื่อประตูอินพุตเปิดขึ้นข้อผิดพลาดจะออกไปผ่านทางประตูอินพุตฟังก์ชันการเปิดใช้งานและการแปลงเลียนแบบลดขนาดของข้อผิดพลาด

ดังนั้นข้อผิดพลาดจะลดลงเมื่อ backpropagated ผ่านเลเยอร์ LSTM แต่เมื่อมันเข้าและออกจาก CEC สิ่งสำคัญคือมันไม่เปลี่ยนแปลงใน CEC ไม่ว่าจะเดินทางไกลแค่ไหน สิ่งนี้จะช่วยแก้ปัญหาใน RNN พื้นฐานที่ทุกขั้นตอนใช้การแปลงเลียนแบบและไม่เป็นเชิงเส้นซึ่งหมายความว่ายิ่งระยะเวลาระหว่างอินพุตและเอาต์พุตนานเท่าใดความผิดพลาดก็จะยิ่งน้อยลงเท่านั้น


2

http://www.felixgers.de/papers/phd.pdf โปรดดูส่วน 2.2 และ 3.2.2 ซึ่งมีการอธิบายส่วนข้อผิดพลาดที่ถูกตัดทอน พวกเขาจะไม่เผยแพร่ข้อผิดพลาดหากมีการรั่วไหลออกจากหน่วยความจำของเซลล์ (เช่นถ้ามีประตูอินพุตปิด / เปิดใช้งาน) แต่พวกเขาปรับปรุงน้ำหนักของประตูตามข้อผิดพลาดเพียงครั้งเดียวทันที ต่อมามันถูกสร้างเป็นศูนย์ในระหว่างการแพร่กระจายหลังเพิ่มเติม นี่เป็นแฮ็คชนิดหนึ่ง แต่เหตุผลที่ต้องทำก็คือความผิดพลาดนั้นเกิดจากการไหลของข้อผิดพลาดไปตามประตู


7
คุณช่วยขยายเรื่องนี้หน่อยได้ไหม? ในขณะนี้คำตอบจะไม่มีค่าหากตำแหน่งลิงก์เปลี่ยนแปลงหรือกระดาษออฟไลน์ อย่างน้อยที่สุดมันจะช่วยให้การอ้างอิงเต็มรูปแบบ (อ้างอิง) ที่จะช่วยให้การค้นพบกระดาษอีกครั้งหากลิงค์หยุดทำงาน แต่สรุปสั้น ๆ ที่ทำให้คำตอบนี้อยู่ในตัวเองจะดีที่สุด
Silverfish

2

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

สำหรับวานิลลา RNN-k})

htht=k=1ttwσ(whtk)

สำหรับ LSTM

stst=k=1ttσ(vt+k)

  • คำถามธรรมชาติที่ถามคือผลิตภัณฑ์ทั้งสองมีผล sigmoid ไม่ว่าเมื่อคูณด้วยกันสามารถหายไปได้หรือไม่tt
  • คำตอบคือใช่ซึ่งเป็นสาเหตุที่ LSTM จะทนทุกข์ทรมานจากการไล่ระดับสีที่หายไปเช่นกัน แต่ไม่มากเท่ากับ Vanilla RNN

ความแตกต่างคือสำหรับวานิลลา RNN ที่สูญสลายการไล่ระดับสีกับในขณะที่สำหรับ LSTM สูญสลายการไล่ระดับสีกับcdot)wσ()σ()

สำหรับ LSTM ที่มีอยู่ในชุดของน้ำหนักที่สามารถเรียนรู้ดังกล่าวว่าสมมติว่าสำหรับน้ำหนักบางและใส่xจากนั้นเครือข่ายประสาทสามารถเรียนรู้ขนาดใหญ่เพื่อป้องกันการไล่ระดับสีหายไป

σ()1
vt+k=wxwxw

เช่นในกรณี 1D หาก ,จากนั้นปัจจัยการสลายตัวหรือการไล่ระดับสีตายเป็น:x=1w=10 vt+k=10σ()=0.99995

(0.99995)tt

สำหรับ Vanilla RNN ไม่มีชุดของน้ำหนักที่สามารถเรียนรู้ได้ว่า

wσ(whtk)1

เช่นในกรณี 1D, สมมติ 1 ฟังก์ชั่นประสบความสำเร็จสูงสุดของที่Wซึ่งหมายความว่าการไล่ระดับสีจะสลายตัวเป็นhtk=1wσ(w1)0.224w=1.5434

(0.224)tt

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