เมื่อใดที่จะใช้ GRU ผ่าน LSTM


95

แตกต่างที่สำคัญระหว่าง GRU และ LSTM เป็นที่ GRU มีสองประตู ( ตั้งค่าและการปรับปรุงประตู) ขณะที่ LSTM มีสามประตู (คือการป้อนข้อมูล , การส่งออกและลืมประตู)

ทำไมเราใช้ประโยชน์จาก GRU เมื่อเราควบคุมเครือข่ายได้อย่างชัดเจนผ่านโมเดล LSTM (เนื่องจากเรามีสามประตู) ในสถานการณ์ใดที่ GRU ต้องการมากกว่า LSTM


1
GRU นั้นซับซ้อนน้อยกว่าเล็กน้อย แต่ก็ดีพอ ๆ กับประสิทธิภาพของ LSTM การดำเนินการใน TensorFlow จะพบได้ที่นี่: data-blogger.com/2017/08/27/gru-implementation-tensorflow
www.data-blogger.com

คำตอบ:


64

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

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

สำหรับรายละเอียดคุณสามารถสำรวจนี้งานวิจัย - Arxiv.org กระดาษอธิบายทั้งหมดนี้เก่ง

นอกจากนี้คุณยังสามารถสำรวจบล็อกเหล่านี้เพื่อแนวคิดที่ดีกว่า

หวังว่ามันจะช่วย!


1
นอกจากคำตอบของคุณยังมีบทความที่ดีเกี่ยวกับการประเมินประสิทธิภาพระหว่าง GRU และ LSTM กับการเรียงสับเปลี่ยนที่หลากหลายของพวกเขา"การสำรวจเชิงประจักษ์ของสถาปัตยกรรมเครือข่ายซ้ำ" โดย Google
แร่ธาตุ

38

* เพื่อเติมเต็มคำตอบที่ดีแล้วข้างต้น

  • จากประสบการณ์ของฉันGRUs ฝึกอบรมได้เร็วขึ้นและทำงานได้ดีกว่า LSTMs จากข้อมูลการฝึกอบรมที่น้อยลงหากคุณกำลังสร้างแบบจำลองภาษา (ไม่แน่ใจเกี่ยวกับงานอื่น ๆ )

  • GRU ง่ายขึ้นและง่ายขึ้นเช่นการแก้ไขการเพิ่มประตูใหม่ในกรณีที่มีการป้อนข้อมูลเพิ่มเติมไปยังเครือข่าย มันเป็นรหัสน้อยโดยทั่วไป

  • ในทางทฤษฎีแล้วLSTMsควรจดจำลำดับที่ยาวกว่า GRU และมีประสิทธิภาพสูงกว่าในงานที่ต้องสร้างแบบจำลองความสัมพันธ์ทางไกล

* เอกสารเพิ่มเติมบางส่วนที่วิเคราะห์ GRU และ LSTM

  • "GPU เรียนรู้อัลกอริทึม" (Łukasz Kaiser, Ilya Sutskever, 2015) https://arxiv.org/abs/1511.08228

  • "การศึกษาเปรียบเทียบ CNN และ RNN สำหรับการประมวลผลภาษาธรรมชาติ" (Wenpeng Yin et al. 2017) https://arxiv.org/abs/1702.01923


9

คำตอบนี้อยู่บนชุดข้อมูลและกรณีการใช้งานจริง เป็นการยากที่จะบอกอย่างชัดเจนว่าอะไรดีกว่ากัน

  • GRU จะเปิดเผยหน่วยความจำทั้งหมดไม่เหมือนกับ LSTM ดังนั้นแอปพลิเคชันที่ทำหน้าที่เป็นประโยชน์อาจมีประโยชน์ นอกจากนี้ยังเพิ่มว่าทำไมต้องใช้ GRU - มันง่ายกว่าการคำนวณแบบ LSTM เพราะมันมีเพียง 2 ประตูและถ้ามันมีประสิทธิภาพเทียบเท่ากับ LSTM แล้วทำไมล่ะ?
  • บทความนี้แสดงให้เห็นอย่างยอดเยี่ยมกับกราฟความเหนือกว่าของเครือข่ายรั้วรอบขอบชิดบน RNN ง่าย ๆ แต่ชัดเจนว่ามันไม่สามารถสรุปได้ว่าอันไหนดีกว่ากัน ดังนั้นหากคุณสับสนว่าจะใช้เป็นโมเดลของคุณอย่างไรฉันขอแนะนำให้คุณฝึกอบรมทั้งคู่และทำให้ดีขึ้น

8

หน่วย GRU เต็ม

c~t=tanh(Wc[Grct1,xt]+bc)

Gu=σ(Wu[ct1,xt]+bu)

Gr=σ(Wr[ct1,xt]+br)

ct=Guc~t+(1Gu)ct1

at=ct

หน่วย LSTM

c~t=tanh(Wc[at1,xt]+bc)

Gu=σ(Wu[at1,xt]+bu)

Gf=σ(Wf[at1,xt]+bf)

Go=σ(Wo[at1,xt]+bo)

ct=Guc~t+Gfct1

at=Gotanh(ct)

ดังที่เห็นได้จากสมการ LSTM ที่มีเกตการอัพเดทแยกและลืมเกท สิ่งนี้ทำให้ LSTMs มีความซับซ้อนมากขึ้น แต่ในเวลาเดียวกันก็มีความซับซ้อนเช่นกัน ไม่มีวิธีง่ายๆในการตัดสินใจว่าจะใช้สำหรับกรณีการใช้งานเฉพาะของคุณ คุณต้องลองผิดลองถูกเพื่อทดสอบประสิทธิภาพ อย่างไรก็ตามเนื่องจาก GRU ง่ายกว่า LSTM GRUs จึงใช้เวลาในการฝึกอบรมน้อยลงและมีประสิทธิภาพมากขึ้น

เครดิต: Andrew Ng


a<t>=Γotanh(c~<t>)

1

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


12
โปรดสนับสนุนการอ้างสิทธิ์ที่มีการอ้างอิงอย่างเป็นธรรม
Kari

1

ที่จริงแล้วความแตกต่างที่สำคัญคือมากกว่านั้น: perceptrons ระยะสั้น (LSTM) ระยะยาวถูกสร้างขึ้นโดยใช้โมเมนตัมและอัลกอริทึมลาดลง เมื่อคุณกระทบยอด LSTM perceptrons กับ RNNs แบบเรียกซ้ำคุณจะได้รับ GRU ซึ่งเป็นเพียงหน่วยที่เกิดขึ้นทั่วไปหรือ Gradient Recurrent Unit (ขึ้นอยู่กับบริบท) ซึ่งจะรวมโมเมนตัมและขั้นตอนการไล่ระดับสีเข้าด้วยกัน ฉันเป็นคุณฉันจะทำวิจัยเพิ่มเติมเกี่ยวกับ AdamOptimizers

GRU เป็นแนวคิดที่ล้าสมัยไปแล้ว อย่างไรก็ตามฉันสามารถเข้าใจคุณค้นคว้าหากคุณต้องการความรู้เชิงลึกระดับปานกลางของ TF


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