Uzun Kısa Süreli Bellek (LSTM) ağlarını keşfedin. LSTM'lerin zaman serileri, NLP ve video analizi görevleri için RNN'lerdeki kaybolan gradyan sorununu nasıl çözdüğünü öğrenin.
Uzun Kısa Süreli Bellek (LSTM), tekrarlayan sinir ağı (RNN) mimarisi türüdür ve sıra tahmin problemlerinde sıra bağımlılığını öğrenme yeteneğine sahiptir. Standart ileri beslemeli sinir ağlarından farklı olarak, LSTM'ler geri besleme bağlantılarına sahiptir ve bu sayede tekil veri noktalarını (örneğin görüntüler) değil, tüm veri dizilerini (örneğin konuşma veya video) işleyebilirler. Bu özellik, önceki girdilerin bağlamının mevcut verileri anlamak için çok önemli olduğu görevler için LSTM'leri benzersiz bir şekilde uygun hale getirir ve geleneksel RNN'lerin "kısa süreli bellek" sınırlamalarını ortadan kaldırır.
LSTM'lerin yenilikçiliğini anlamak için, temel tekrarlayan sinir ağlarının karşılaştığı zorluklara bakmak yardımcı olur. RNN'ler sıralı bilgileri işlemek için tasarlanmış olsa da, kaybolan gradyan sorunu nedeniyle uzun veri dizileriyle zorlanırlar. Ağ zaman içinde geri yayıldıkça, ağın ağırlıklarını güncellemek için kullanılan değerler olan gradyanlar katlanarak küçülerek ağın uzak olaylar arasındaki bağlantıları öğrenmesini etkili bir şekilde engelleyebilir. Bu, standart bir RNN'nin önceki cümledeki bir kelimeyi hatırlayabileceği, ancak üç paragraf önce kurulan bağlamı unutabileceği anlamına gelir. LSTM'ler, çok daha uzun süreler boyunca bağlam penceresini koruyabilen daha karmaşık bir iç yapı sunarak bu sorunu çözmek için özel olarak tasarlanmıştır .
LSTM'nin temel kavramı, genellikle ağın tüm zincirini geçen bir konveyör bant olarak tanımlanan hücre durumudur. Bu durum, bilginin uzun vadeli bağımlılıkları koruyarak değişmeden akışını sağlar. Ağ, kapılar adı verilen yapılar kullanarak bu hücre durumundan neyin saklanacağı, güncelleneceği veya silineceği konusunda kararlar alır.
Bu bilgi akışını düzenleyerek, LSTM'ler 1.000 adımdan fazla zaman gecikmelerini köprüleyebilir ve zaman serisi analizi gerektiren görevlerde geleneksel RNN'lerden çok daha iyi performans gösterir .
LSTM'ler, son on yılda derin öğrenmede birçok önemli atılımın arkasında yer almıştır. İşte bunların uygulamasının iki önemli örneği:
Modern bilgisayar görüşünde, LSTM'ler genellikle güçlü özellik çıkarıcılarla birlikte kullanılır. Örneğin, tek tek karelerde detect için YOLO ve track yörüngelerini track veya gelecekteki hareketlerini tahmin etmek için bir LSTM kullanabilirsiniz.
İşte kavramsal bir örnek: torch video akışından çıkarılan bir dizi özellik vektörünü işleyebilen basit bir LSTM tanımlamak için:
vektörleri işleyebilen basit bir LSTM tanımlamak için:
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.")
LSTM'leri diğer dizi işleme mimarilerinden ayırt etmek faydalıdır:
Dikkat mekanizması üretken yapay zeka alanında ön plana çıkarken, LSTM'ler özellikle hesaplama kaynaklarının sınırlı olduğu uç yapay zeka ortamlarında daha hafif uygulamalar için güçlü bir seçenek olmaya devam ediyor. Araştırmacılar, LSTM'lerin bellek verimliliğini modern nesne algılama sistemlerinin temsil gücünü birleştiren hibrit mimarileri keşfetmeye devam ediyor.
Eğitim dizisi modelleri veya karmaşık görme görevleri için veri kümelerini yönetmek isteyenler için Ultralytics , açıklama ve veri kümesi yönetimi için kapsamlı araçlar sunar. Ayrıca, LSTM'lerin nasıl çalıştığını anlamak, otonom araçlarda ve robotikte kullanılan daha gelişmiş zamansal modelleri kavramak için güçlü bir temel sağlar.