Özet - LSTM
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 58/78
- 6 dk
Bu grupta LSTM, gate'ler ve cell state'i öğrendin.
Özet: LSTM
Bu grupta:
- LSTM, gizli durum h ve hücre durumu c taşır; kapılar (f, i, o) ve aday g bilgi akışını denetler.
- Toplamsal hücre güncellemesi
c = f·c + i·gsönen gradyanı azaltır. - Durum (h0, c0) verilebilir ve parçalar arasında taşınabilir.
input_size: adım başına özellik;hidden_size: kapasite; parametre4·(HI + HH + 2H).bidirectionalvenum_layers; GRU daha az parametreli bir alternatiftir (nn.GRU, 3 bileşen).
Uygulama Dizi sınıflandırıcı
Bir LSTM sınıflandırıcısı yaz: nn.LSTM(3, 32, batch_first=True) ve son gizli durumdan (h_n[-1]) nn.Linear(32, 2). (8, 20, 3) girdi için çıktı şeklini, ardından aynı yapıyı nn.GRU ile kurup LSTM ve GRU katmanlarının parametre sayılarını aynı satırda yazdır.
Başlangıç kodu
import torch
from torch import nn
x = torch.zeros(8, 20, 3)
# buraya yazÖrnek çözüm
import torch
from torch import nn
x = torch.zeros(8, 20, 3)
class DiziSiniflandirici(nn.Module):
def __init__(self):
super().__init__()
self.lstm = nn.LSTM(3, 32, batch_first=True)
self.bas = nn.Linear(32, 2)
def forward(self, x):
_, (h_n, _) = self.lstm(x)
return self.bas(h_n[-1])
print(DiziSiniflandirici()(x).shape)
say = lambda m: sum(p.numel() for p in m.parameters())
print(say(nn.LSTM(3, 32)), say(nn.GRU(3, 32)))Beklenen çıktı
torch.Size([8, 2]) 4736 3552
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir sonraki günün satışını tahmin eden canlı modelde neden çift yönlü LSTM kullanılmaz?
- Kayıp hesaplanamaz
- Kullanılır
- Gelecek adımları görür; tahmin anında gelecek yoktur Doğru cevap
- Çok yavaştır
Açıklama: Geriye doğru geçiş sondaki adımları bilmeyi gerektirir.
2 Daha hafif kapılı RNN kur.
gru = nn.____(16, 32, batch_first=True)
gru = nn.GRU(16, 32, batch_first=True)
Açıklama: GRU 3 bileşenlidir; hücre durumu yoktur.
3 Mimarileri eşleştir.
| Kavram | Anlamı |
|---|---|
RNN |
1 bileşen |
GRU |
3 bileşen |
LSTM |
4 bileşen |
bidirectional |
İki yön |