Apa itu vanishing gradient dan exploding gradient?
Vanishing gradient dan exploding gradient adalah dua kegagalan saat melatih deep network: gradient menyusut menuju nol atau membesar tanpa batas ketika backpropagation membawanya dari output kembali ke input. Pada vanishing gradient, layer awal nyaris tidak berubah dan network belajar lambat atau tidak belajar sama sekali. Pada exploding gradient, update menjadi sangat besar, loss melompat-lompat, dan weight bisa overflow menjadi NaN.
Kedua masalah ini punya penyebab yang sama: gradient di layer awal adalah hasil kali banyak faktor per layer, dan hasil kali panjang dari angka di bawah 1 akan menyusut, sedangkan yang di atas 1 akan membesar. Selama bertahun-tahun, keduanya menghambat feed-forward network yang dalam dan recurrent network. Solusi modernnya adalah aktivasi keluarga ReLU, inisialisasi weight yang hati-hati, normalization layer, residual connection, sel RNN ber-gate seperti LSTM, dan gradient clipping.
Ide utama
- Gradient di layer awal adalah hasil kali satu faktor untuk tiap layer sesudahnya.
- Faktor yang terus di bawah 1 membuat gradient lenyap, sedangkan faktor di atas 1 membuatnya meledak.
- Vanishing gradient membuat layer awal nyaris tidak terlatih, sementara layer akhir terus belajar.
- Exploding gradient menyebabkan loss tidak menentu, update yang sangat besar, dan nilai NaN.
- Residual connection menambahkan jalur identitas yang membawa gradient melewati setiap blok.
- Gradient clipping menskalakan ulang gradient yang terlalu besar sambil mempertahankan arahnya.
Ulasan singkat tentang topik ini
Pertanyaan umum
Bagaimana cara tahu network mengalami vanishing atau exploding gradient?
Catat norm gradient tiap layer selama training. Vanishing gradient terlihat dari norm di layer awal yang jauh lebih kecil, beberapa orde besaran, dibanding layer akhir, disertai loss yang cepat mendatar. Exploding gradient terlihat dari lonjakan mendadak pada loss atau norm gradient, atau dari nilai NaN.
Apakah vanishing gradient masih terjadi di network modern?
Jauh lebih jarang. Aktivasi keluarga ReLU, inisialisasi He atau Xavier, normalization layer, dan residual connection bersama-sama menjaga gradient tetap dalam rentang yang bisa dipakai, bahkan di network dengan ratusan layer. Recurrent network biasa pada urutan panjang tetap rentan, dan itu salah satu alasan transformer menggantikannya.
Kenapa RNN lebih parah daripada feed-forward network?
Backpropagation through time mengalikan dengan matriks weight recurrent yang sama sekali per time step. Selama 100 step, matriks yang singular value terbesarnya sedikit di bawah 1 menyusutkan gradient menuju nol, dan yang sedikit di atas 1 bisa membuatnya meledak. LSTM dan GRU menambahkan jalur aditif ber-gate untuk menghindari hal ini.
Nilai berapa yang sebaiknya dipakai untuk gradient clipping?
Max norm 1,0 adalah default yang umum untuk transformer dan RNN. Nilai yang baik berada sedikit di atas norm gradient pada training normal, sehingga clipping hanya aktif untuk outlier. Mencatat norm gradient selama beberapa ratus step akan menunjukkan posisinya.
Penjelasan terkait
- Backpropagation · Cara network belajar dari kesalahannya
- Activation Function · Kenapa network butuh sifat non-linear untuk belajar
- Inisialisasi Weight · Xavier, He, dan kenapa weight acak itu penting
- Skip Connection & ResNet · Residual learning dan alasan network yang lebih dalam bisa bekerja
- LSTM · Gate dan memory cell untuk sequence panjang
- Batch Normalization · Kenapa normalisasi aktivasi mempercepat training deep network
Referensi
- Bengio, Simard & Frasconi (1994), "Learning long-term dependencies with gradient descent is difficult", IEEE Transactions on Neural Networks
- Glorot & Bengio (2010), "Understanding the difficulty of training deep feedforward neural networks", AISTATS
- Pascanu, Mikolov & Bengio (2012), "On the difficulty of training Recurrent Neural Networks"
- He et al. (2015), "Deep Residual Learning for Image Recognition"
- Zhang et al., "Dive into Deep Learning", section 5.4: Numerical Stability and Initialization
Terakhir diperbarui