Kapan menggunakan GRU di atas LSTM?


95

Perbedaan utama antara GRU dan LSTM adalah bahwa GRU memiliki dua gerbang ( reset dan memperbarui gerbang) sedangkan LSTM memiliki tiga gerbang (yaitu input , output dan gerbang lupa ).

Mengapa kita menggunakan GRU ketika kita jelas memiliki lebih banyak kontrol pada jaringan melalui model LSTM (karena kita memiliki tiga gerbang)? Dalam skenario apa GRU lebih disukai daripada LSTM?


1
GRU sedikit kurang kompleks tetapi kira-kira sama baiknya dengan kinerja LSTM. Implementasi di TensorFlow ditemukan di sini: data-blogger.com/2017/08/27/gru-implementation-tensorflow .
www.data-blogger.com

Jawaban:


64

GRU terkait dengan LSTM karena keduanya menggunakan cara yang berbeda jika informasi gating untuk mencegah masalah gradien hilang. Berikut adalah beberapa pin-poin tentang GRU vs LSTM-

  • GRU mengontrol aliran informasi seperti unit LSTM, tetapi tanpa harus menggunakan unit memori . Itu hanya memaparkan konten tersembunyi penuh tanpa kontrol.
  • GRU relatif baru, dan dari sudut pandang saya, kinerjanya setara dengan LSTM, tetapi secara komputasi lebih efisien ( struktur yang kurang kompleks seperti yang ditunjukkan ). Jadi kita melihatnya semakin banyak digunakan.

Untuk deskripsi terperinci, Anda dapat menjelajahi Makalah Penelitian ini - Arxiv.org . Makalah ini menjelaskan semua ini dengan cemerlang.

Plus, Anda juga dapat menjelajahi blog ini untuk ide yang lebih baik-

Semoga ini bisa membantu!


1
Selain jawaban Anda ada makalah yang bagus mengevaluasi kinerja antara GRU dan LSTM dan berbagai permutasi mereka "Eksplorasi empiris arsitektur jaringan berulang" oleh Google
mineral

38

* Untuk melengkapi jawaban yang sudah bagus di atas.

  • Dari pengalaman saya, GRU melatih lebih cepat dan berkinerja lebih baik daripada LSTM pada data pelatihan kurang jika Anda melakukan pemodelan bahasa (tidak yakin tentang tugas-tugas lain).

  • GRU lebih sederhana dan karenanya lebih mudah untuk dimodifikasi, misalnya menambahkan gerbang baru jika input tambahan ke jaringan. Itu hanya sedikit kode pada umumnya.

  • LSTM secara teori harus mengingat urutan yang lebih panjang dari GRU dan mengungguli mereka dalam tugas yang membutuhkan pemodelan hubungan jarak jauh.

* Beberapa makalah tambahan yang menganalisis GRU dan LSTM.


9

Jawaban ini sebenarnya terletak pada dataset dan use case. Sulit untuk mengatakan secara pasti mana yang lebih baik.

  • GRU mengekspos memori lengkap tidak seperti LSTM, sehingga aplikasi yang bertindak sebagai keuntungan mungkin bisa membantu. Juga, menambahkan mengapa menggunakan GRU - ini lebih mudah secara komputasi daripada LSTM karena hanya memiliki 2 gerbang dan jika kinerjanya setara dengan LSTM, lalu mengapa tidak?
  • Makalah ini menunjukkan dengan sangat baik dengan grafik keunggulan jaringan yang terjaga keamanannya dibandingkan RNN sederhana tetapi jelas menyebutkan bahwa ia tidak dapat menyimpulkan mana dari keduanya yang lebih baik. Jadi, jika Anda bingung mana yang harus digunakan sebagai model Anda, saya sarankan Anda untuk melatih keduanya dan kemudian dapatkan yang terbaik dari mereka.

8

Unit GRU LENGKAP

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

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

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

ct=Guc~t+(1Gu)ct1

at=ct

Unit 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)

Seperti dapat dilihat dari persamaan LSTM memiliki gerbang pembaruan yang terpisah dan gerbang lupa. Ini jelas membuat LSTM lebih canggih tetapi pada saat yang sama lebih kompleks juga. Tidak ada cara sederhana untuk memutuskan mana yang akan digunakan untuk kasus penggunaan khusus Anda. Anda selalu harus melakukan coba-coba untuk menguji kinerja. Namun, karena GRU lebih sederhana daripada LSTM, GRU akan membutuhkan waktu lebih sedikit untuk melatih dan lebih efisien.

Penghargaan: Andrew Ng


Pada slide berikutnya setelah yang ditulis tangan, persamaan terakhir berbeda: . Formula ini dikonfirmasi benar di sini . a<t>=Γotanh(c~<t>)
Tom Hale

1

GRU lebih baik daripada LSTM karena mudah dimodifikasi dan tidak membutuhkan unit memori, oleh karena itu, lebih cepat untuk dilatih daripada LSTM dan memberikan sesuai kinerja.


12
tolong dukung klaim kinerja dengan referensi yang adil
Kari

1

Sebenarnya, perbedaan utama lebih dari itu: perceptron jangka panjang (LSTM) dibuat menggunakan algoritma momentum dan gradient descent. Ketika Anda merekonsiliasi LSTM perceptrons dengan rekanannya RNNs rekursif, Anda menghasilkan GRU yang benar-benar hanya unit berulang umum atau Gradient Recurrent Unit (tergantung pada konteksnya) yang lebih dekat mengintegrasikan momentum dan algoritma gradient descent. Seandainya Anda, saya akan melakukan lebih banyak penelitian tentang AdamOptimizers.

Omong-omong, GRU adalah konsep yang ketinggalan zaman. Namun, saya dapat memahami Anda merisetnya jika Anda menginginkan pengetahuan mendalam tentang TF.


8
Saya penasaran. Bisakah Anda menjelaskan mengapa GRU adalah konsep yang ketinggalan jaman?
random_user
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.