Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Long Short-Term Memory (LSTM)

LSTM, kapılı hücre durumu uzun diziler boyunca bilgi taşıyan bir tekrarlayan ağdır. Kapılarını, denklemlerini, GRU ile karşılaştırmasını ve kodunu ele alır.

Uzun kısa süreli bellek (LSTM), basit bir RNN'nin gizli durumunun yanı sıra hücre durumu adı verilen kapılı bir bellek de içeren bir tekrarlayan sinir ağı (RNN) mimarisidir; böylece bilgiyi yüzlerce veya binlerce zaman adımı boyunca taşıyabilir. Sepp Hochreiter ve Jürgen Schmidhuber, basit RNN'lerin uzun vadeli bağımlılıkları öğrenmesini engelleyen kaybolan gradyan sorununu aşmak için LSTM'yi 1997'de tanıttılar ve makalelerinde 1.000'den fazla zaman adımına yayılan gecikmeleri aşabildiklerini bildirdiler. 2010'larda LSTM'ler konuşma tanıma, makine çevirisi ve el yazısı tanıma alanlarında önemli bir rol oynadı; ancak Transformer mimarileri daha sonra dil görevlerinin çoğunda LSTM'lerin yerini aldı. Sabit boyutlu bir durumun ve adım başına sabit bir maliyetin önemli olduğu zaman serisi analizinde, sensör akışlarında ve cihaz üzerinde çalışan modellerde LSTM'ler hâlâ yaygın biçimde kullanılır.

LSTM Hücresi Nasıl Çalışır#

Her t zaman adımında LSTM, xₜ girdisini ve önceki hₜ₋₁ gizli durumunu okur ve her biri kendi ağırlıklarına sahip üç kapı ve bir aday hesaplar. Kapılar sigmoid işlevini kullanır; dolayısıyla her eleman 0 ile 1 arasındadır. Aday ise tanh işlevini kullanır ve −1 ile 1 arasında değer alır:

  • Unutma kapısı: fₜ = σ(W_f xₜ + U_f hₜ₋₁ + b_f), eski hücre durumunun her bir elemanından ne kadarının korunacağına karar verir.
  • Girdi kapısı: iₜ = σ(W_i xₜ + U_i hₜ₋₁ + b_i), aday içeriğin ne kadarının yazılacağına karar verir.
  • Aday: gₜ = tanh(W_g xₜ + U_g hₜ₋₁ + b_g), yeni içerik önerir.
  • Çıktı kapısı: oₜ = σ(W_o xₜ + U_o hₜ₋₁ + b_o), hücrenin ne kadarının açığa çıkarılacağına karar verir.

Ardından iki durum cₜ = fₜ ⊙ cₜ₋₁ + iₜ ⊙ gₜ ve hₜ = oₜ ⊙ tanh(cₜ) şeklinde güncellenir; burada ⊙ eleman bazında çarpımdır. Hücre durumu uzun süreli bellektir; gizli durum ise sonraki katmana ve adıma aktarılan kısa süreli çıktıdır.

Hücre güncellemesi toplamsaldır. cₜ'nin cₜ₋₁'e göre gradyanı, eleman bazında fₜ'ye eşittir. Bu nedenle unutma kapısı 1'e yakın kaldığında hata sinyali birçok adımdan neredeyse değişmeden geriye geçer; özgün makale bu yolu sabit hata döngüsü olarak adlandırdı. 1997'deki LSTM'de unutma kapısı yoktu ve hücreleri yalnızca biriktirme yapabiliyordu. Felix Gers, Schmidhuber ve Fred Cummins, hücrelerin sıfırlanabilmesi için 2000'de unutma kapısını ekledi; günümüzdeki her standart LSTM'de bu kapı bulunur. Rafal Jozefowicz ve çalışma arkadaşlarının 2015'te önerdiği gibi unutma kapısı bias'ını 1'e ayarlamak, eğitim başında kapıyı açık tutar ve ağın başlangıçta bilgiyi hatırlamasını sağlar.

PyTorch'ta LSTM#

PyTorch'un nn.LSTM işlevi hücreyi tüm dizi üzerinde çalıştırır ve her adımdaki gizli durumun yanı sıra son gizli ve hücre durumlarını döndürür. Aşağıdaki kod, her kareden evrişimli sinir ağının (CNN) çıkarabileceği kare başına özellik vektörlerinden kısa video kliplerini sınıflandırır:

import torch
from torch import nn

# 8 video clips, 16 frames each, 512 features per frame: (batch, time, features)
clips = torch.randn(8, 16, 512)

# One LSTM layer with a 128-dim hidden state, and a classifier over 5 actions
lstm = nn.LSTM(input_size=512, hidden_size=128, batch_first=True)
classifier = nn.Linear(128, 5)

# output holds h at every step; h_n and c_n are the final hidden and cell states
output, (h_n, c_n) = lstm(clips)
logits = classifier(h_n[-1])
print(f"output {tuple(output.shape)}, h_n {tuple(h_n.shape)}, c_n {tuple(c_n.shape)}, logits {tuple(logits.shape)}")

# Each weight matrix stacks four blocks of 128 rows: input gate, forget gate, candidate, output gate
print(f"Input weights {tuple(lstm.weight_ih_l0.shape)}, recurrent weights {tuple(lstm.weight_hh_l0.shape)}")

Şu çıktıyı verir: output (8, 16, 128), h_n (1, 8, 128), c_n (1, 8, 128), logits (8, 5) ve Input weights (512, 512), recurrent weights (512, 128). Son gizli durum, beş sınıflı sınıflandırıcı için 16 karelik her klibi özetler; her ağırlık matrisi 4 × 128 = 512 satır içerir, çünkü PyTorch dört kapı bloğunu tek matriste saklar.

  • Basit RNN: Her adımda tüm durumunu tek bir tanh katmanından yeniden geçirir; bu nedenle gradyanlar dizi uzunluğuna bağlı olarak geometrik biçimde küçülür veya büyür ve uzun menzilli bağımlılıkları öğrenmek zorlaşır.
  • GRU: Hücre ve gizli durumları birleştirir, üç yerine iki kapı kullanır; böylece aynı genişlikte LSTM'nin dört ağırlık bloğu yerine üç blok ve parametrelerinin dörtte üçü gerekir. Görevler arasında sürekli olarak biri diğerinden üstün değildir.
  • Transformer: Tüm konumları öz dikkat ile paralel işler; bu sayede GPU'larda çok daha hızlı eğitilir ve uzaktaki bağlamlara doğrudan erişir. Bu nedenle dil modelleme ve çeviride LSTM'lerin yerini Transformer'lar aldı. Dikkatin maliyeti bağlam uzunluğuyla artarken LSTM her yeni adımda aynı hesaplama ve belleği kullanır.
  • xLSTM: Hochreiter'in grubunun 2024'te geliştirdiği xLSTM, üstel kapılama ve paralel eğitilebilen bir matris belleği ekler. 7 milyar parametreli dil modeli xLSTM 7B, ICML 2025'te yayımlandı; benzer boyuttaki Transformer modellerine kıyaslanabilir performans ve daha hızlı çıkarım sundu.

Uygulamalar#

  • Konuşma tanıma: Google, 2015'te sesli aramayı bağlantıcı zamansal sınıflandırma (CTC) ile eğitilmiş LSTM akustik modellerine taşıdı; cihaz üzerinde çalışan tanıyıcılar da uzun süre yığınlanmış LSTM'lere dayandı.
  • Makine çevirisi: 2016'da kullanıma sunulan Google Neural Machine Translation, kodlayıcısında sekiz, çözücüsünde de sekiz LSTM katmanı kullandı.
  • Sel tahmini: Google'ın 2024'te Nature'da açıklanan sel tahmin sistemi, hava durumu verilerinden nehir akışını tahmin etmek için LSTM ağları kullanır ve ölçüm istasyonu bulunmayan havzalarda aşırı selleri beş güne kadar önceden tahmin eder.
  • Eylem tanıma: Bir CNN her video karesini kodlar, LSTM ise klibi etiketlemek için kare özellikleri dizisini işler; yukarıdaki kod parçası da bu yapıyı izler.
  • Yörünge tahmini: Social LSTM, her yaya için bir LSTM çalıştırır ve kalabalık içindeki hareket yollarını tahmin etmek için yakındaki kişilerin gizli durumlarını bir araya getirir. Takip modundaki YOLO26, video kareleri boyunca her kişiye kalıcı bir kimlik atar; böylece kare başına tespitler, bu tahmin sisteminin kullandığı konum geçmişlerine dönüşür.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla