Long Short-Term Memory (LSTM)
Uzun Kısa Süreli Bellek (LSTM) ağlarını incele. LSTM'lerin zaman serisi, NLP ve video analizi görevlerinde RNN'lerdeki kaybolan gradyan problemini nasıl çözdüğünü öğren.
Long Short-Term Memory (LSTM), sıra tahmin problemlerinde dizi bağımlılığını öğrenme yeteneğine sahip özelleşmiş bir recurrent neural network (RNN) mimarisidir. Standart ileri beslemeli yapay sinir ağlarından farklı olarak LSTM'ler, yalnızca tek veri noktalarını (resimler gibi) değil, tüm veri dizilerini (konuşma veya video gibi) işlemelerine olanak tanıyan geri bildirim bağlantılarına sahiptir. Bu yetenek, geleneksel RNN'lerin "kısa süreli hafıza" sınırlamalarını ele alarak, önceki girdilerden gelen bağlamın mevcut verileri anlamak için çok önemli olduğu görevler için onları benzersiz bir şekilde uygun hale getirir.
Standart RNN'ler ile İlgili Sorun#
LSTM'lerin yeniliğini anlamak için temel recurrent neural networks tarafından karşılaşılan zorluklara bakmak faydalı olur. RNN'ler sıralı bilgileri işlemek üzere tasarlanmış olsa da, vanishing gradient sorunu nedeniyle uzun veri dizileriyle mücadele ederler. Ağ zaman içinde geriye doğru yayıldıkça, ağın ağırlıklarını güncellemek için kullanılan değerler olan gradyanlar üstel olarak küçülebilir ve ağın uzak olaylar arasındaki bağlantıları öğrenmesini etkili bir şekilde engelleyebilir. Bu, standart bir RNN'nin önceki cümleden bir kelimeyi hatırlayabileceği ancak üç paragraf önce oluşturulan bağlamı unutabileceği anlamına gelir. LSTM'ler, çok daha uzun süreler boyunca bir context window sürdürebilen daha karmaşık bir iç yapı sunarak bu sorunu çözmek için açıkça tasarlanmıştır.
LSTM'ler Nasıl Çalışır?#
Bir LSTM'nin temel kavramı, genellikle ağın tüm zinciri boyunca uzanan bir taşıma bandı olarak tanımlanan hücre durumudur. Bu durum, bilgilerin üzerinde değişmeden akmasına izin vererek uzun vadeli bağımlılıkları korur. Ağ, geçitler (gates) adı verilen yapıları kullanarak bu hücre durumunda neyin saklanacağına, güncelleneceğine veya atılacağına dair kararlar verir.
- Unutma Geçidi (Forget Gate): Bu mekanizma, hangi bilginin artık alakalı olmadığına ve hücre durumundan çıkarılması gerektiğine karar verir. Örneğin, bir dil modeli yeni bir özneyle karşılaştığında, önceki öznenin cinsiyetini "unutabilir".
- Giriş Geçidi (Input Gate): Bu geçit, hangi yeni bilgilerin hücre durumunda saklanacak kadar önemli olduğunu belirler.
- Çıkış Geçidi (Output Gate): Son olarak bu geçit, iç durumun hangi kısımlarının bir sonraki gizli duruma aktarılması ve anlık tahmin için kullanılması gerektiğini kontrol eder.
Bu bilgi akışını düzenleyerek LSTM'ler 1.000 adımdan uzun zaman gecikmelerini kapatabilir ve time series analysis gerektiren görevlerde geleneksel RNN'lerden çok daha iyi performans gösterebilir.
Gerçek Dünya Uygulamaları#
LSTM'ler son onlar yılda deep learning alanındaki büyük atılımların çoğuna güç vermiştir. İşte bunların uygulanmasının iki belirgin örneği:
- Çeviride Diziden Diziye Modelleme: LSTM'ler machine translation sistemlerinin temelidir. Bu mimaride, bir LSTM (kodlayıcı) bir dildeki (ör. İngilizce) girdi cümlesini işler ve bunu bir bağlam vektörüne sıkıştırır. İkinci bir LSTM (kod çözücü) daha sonra çeviriyi başka bir dilde (ör. Fransızca) üretmek için bu vektörü kullanır. Farklı uzunluklardaki girdi ve çıktı dizilerini işleme yeteneği natural language processing (NLP) için çok önemlidir.
- Video Analizi ve Etkinlik Tanıma: ResNet-50 gibi Evrişimli Sinir Ağları (CNN'ler) statik görüntülerdeki nesneleri tanımlamada mükemmel olsa da, zaman hissinden yoksundurlar. Yapay zeka sistemleri, CNN'leri LSTM'lerle birleştirerek video akışlarında action recognition gerçekleştirebilir. CNN her kareden özellikler çıkarır ve LSTM, bir kişinin yürüdüğünü, koştuğunu veya düştüğünü belirlemek için bu özelliklerin dizisini analiz eder.
LSTM'leri Bilgisayarlı Görü ile Entegre Etmek#
Modern computer vision alanında, LSTM'ler genellikle güçlü özellik çıkarıcıların yanında kullanılır. Örneğin, tek tek karelerdeki nesneleri tespit etmek için bir YOLO modeli ve bunların yörüngelerini izlemek veya gelecekteki hareketi tahmin etmek için bir LSTM kullanabilirsiniz.
İşte bir video akışından çıkarılan bir özellik vektörleri dizisini işleyebilen basit bir LSTM tanımlamak için torch kullanan kavramsal bir örnek:
import torch
import torch.nn as nn
# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)
# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)
# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)
print(f"Output shape: {output.shape}") # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")İlgili Kavramlar ve Farklılıklar#
LSTM'leri diğer dizi işleme mimarilerinden ayırmak faydalıdır:
- LSTM ve GRU: Gated Recurrent Unit (GRU), LSTM'nin basitleştirilmiş bir çeşididir. GRU'lar unutma ve girdi kapılarını tek bir "güncelleme kapısı"nda birleştirir ve hücre durumunu ve gizli durumu birleştirir. Bu, LSTM'lerin daha büyük, daha karmaşık veri setlerinde hala onlardan daha iyi performans gösterebilmesine rağmen, GRU'ları hesaplama açısından daha verimli ve eğitilmesi daha hızlı hale getirir.
- LSTM ve Transformers: Yinelemeden ziyade self-attention mekanizmalarına güvenen Transformer mimarisi, GPT-4 tarafından gerçekleştirilenler gibi NLP görevlerinde LSTM'lerin büyük ölçüde yerini almıştır. Transformers, sırayla değil tüm dizileri paralel olarak işleyebilir, böylece devasa veri setlerinde çok daha hızlı eğitime izin verir. Bununla birlikte LSTM'ler, sınırlı veriye sahip senaryolarda veya dikkat mekanizmalarının yükünün gereksiz olduğu belirli zaman serisi kısıtlamalarında alakalı kalmaya devam etmektedir.
Evrim ve Gelecek#
attention mechanism, generative AI alanında merkeze oturmuş olsa da, LSTM'ler özellikle hesaplama kaynaklarının kısıtlı olduğu edge AI ortamlarında hafif uygulamalar için sağlam bir seçim olmaya devam etmektedir. Araştırmacılar, LSTM'lerin hafıza verimliliğini modern object detection sistemlerinin temsil gücüyle birleştiren hibrit mimarileri keşfetmeye devam ediyor.
Dizi modellerini veya karmaşık görme görevlerini eğitmek için veri setlerini yönetmek isteyenler için Ultralytics Platform açıklama ve veri seti yönetimi için kapsamlı araçlar sunar. Dahası, LSTM'lerin nasıl çalıştığını anlamak, autonomous vehicles ve robotikte kullanılan daha gelişmiş zamansal modelleri kavrama için güçlü bir temel sağlar.






