Yolo 비전 선전
선전
지금 참여하기
용어집

장단기 메모리 (LSTM)

LSTM(Long Short-Term Memory) 네트워크가 순차 데이터를 처리하고, RNN의 한계를 극복하며, NLP 및 예측과 같은 AI 작업을 강화하는 데 어떻게 탁월한지 알아보세요.

장기 단기 기억(LSTM)은 순차 예측 문제에서 순서 의존성을 학습할 수 있는 순환 신경망(RNN) 아키텍처의 특수한 유형입니다. 표준 피드포워드 신경망과 달리 LSTM은 피드백 연결을 통해 단일 데이터 포인트(예: 이미지)뿐만 아니라 전체 데이터 시퀀스(예: 음성 또는 영상)를 처리할 수 있습니다. 이러한 능력 덕분에 LSTM은 현재 데이터를 이해하는 데 이전 입력의 맥락이 중요한 작업에 특히 적합하며, 기존 RNN의 "단기 기억" 한계를 해결합니다.

표준 RNN의 문제점

LSTM의 혁신을 이해하려면 기본 재귀 신경망이 직면한 과제를 살펴보는 것이 도움이 됩니다. RNN은 순차적 정보를 처리하도록 설계되었지만, 소실되는 기울기 문제로 인해 긴 데이터 시퀀스 처리에는 어려움을 겪습니다. 네트워크가 시간에 따라 역전파될 때, 기울기 (네트워크 가중치를 업데이트하는 데 사용되는 값)는 지수적으로 작아질 수 있으며, 이는 네트워크가 먼 시간 간격의 사건들 사이 연결을 학습하는 것을 효과적으로 방해합니다. 이는 표준 RNN이 시간에 따라 멀리 떨어진 사건들 사이의 연결을 학습하는 것을 효과적으로 방해한다는 것을 의미합니다. 시간을 거슬러 역전파할 때, 네트워크 가중치를 업데이트하는 데 사용되는 기울기 값이 기하급수적으로 작아져 원거리 사건 간의 연결을 학습하는 것을 사실상 방해합니다. 이는 표준 RNN이 이전 문장의 단어는 기억하더라도 세 문단 전에 설정된 맥락은 잊어버릴 수 있음을 의미합니다. LSTM은 훨씬 더 긴 기간 동안 맥락 창을 유지할 수 있는 복잡한 내부 구조를 도입함으로써 이 문제를 해결하기 위해 명시적으로 설계되었습니다.

LSTM 작동 방식

LSTM의 핵심 개념은 셀 상태로, 종종 네트워크 전체 체인을 관통하는 컨베이어 벨트로 묘사됩니다. 이 상태는 정보가 변함없이 흐르도록 하여 장기적 의존성을 보존합니다. 네트워크는 게이트라는 구조를 사용하여 이 셀 상태에서 무엇을 저장, 업데이트 또는 폐기할지 결정합니다.

  • 포겟 게이트: 이 메커니즘은 더 이상 관련성이 없어 제거되어야 할 정보를 결정합니다. 예를 들어, 언어 모델이 새로운 주어를 만나면 이전 주어의 성별을 "잊어버릴" 수 있습니다.
  • 입력 게이트: 이 게이트는 어떤 새로운 정보가 셀 상태에 저장될 만큼 충분히 중요한지를 결정합니다.
  • 출력 게이트: 마지막으로, 이 게이트는 내부 상태의 어느 부분이 다음 숨겨진 상태로 출력되어 즉각적인 예측에 사용되어야 하는지를 제어합니다.

이 정보 흐름을 조절함으로써 LSTM은 1,000단계 이상의 시간 지연을 연결할 수 있으며, 시계열 분석이 필요한 작업에서 기존 RNN보다 훨씬 우수한 성능을 발휘합니다.

실제 애플리케이션

LSTM은 지난 10년간 딥 러닝 분야의 주요 혁신을 주도해 왔습니다. 다음은 그 적용 사례 중 두 가지 대표적인 예시입니다:

  • 번역에서의 시퀀스-투-시퀀스 모델링: LSTM은 기계 번역 시스템의 핵심 요소입니다. 이 아키텍처에서 하나의 LSTM(인코더)은 한 언어(예: English)의 입력 문장을 처리하여 컨텍스트 벡터로 압축합니다. 두 번째 LSTM(디코더)은 이 벡터를 활용하여 다른 언어(예: 프랑스어)로 번역을 생성합니다. 서로 다른 길이의 입력 및 출력 시퀀스를 처리하는 이 능력은 자연어 처리(NLP)에 매우 중요합니다.
  • 영상 분석 및 동작 인식: ResNet-50과같은 컨볼루션 신경망(CNN)은 정적 이미지에서 물체를 식별하는 데 탁월하지만 시간 개념이 부족합니다. CNN과 LSTM을 결합함으로써 AI 시스템은 영상 스트림에서 동작 인식을 수행할 수 있습니다. CNN은 각 프레임에서 특징을 추출하고, LSTM은 이러한 특징들의 시퀀스를 분석하여 사람이 걷고 있는지, 뛰고 있는지, 넘어지고 있는지 판단합니다.

LSTM과 컴퓨터 비전의 통합

현대 컴퓨터 비전에서는 LSTM이 강력한 특징 추출기와 함께 자주 사용됩니다. 예를 들어, 개별 프레임에서 detect 위해 YOLO 사용하고 track 궤적을 track 향후 움직임을 예측하기 위해 LSTM을 사용할 수 있습니다.

다음은 개념적 예시를 사용한 것입니다. torch 비디오 스트림에서 추출된 특징 벡터 시퀀스를 처리할 수 있는 간단한 LSTM을 정의하기 위해:

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을 다른 시퀀스 처리 아키텍처와 구분하는 것이 유용합니다:

  • LSTM 대 GRU: 게이트드 재귀 유닛(GRU) 은 LSTM의 단순화된 변형입니다. GRU는 잊기 게이트와 입력 게이트를 단일 "업데이트 게이트"로 통합하고 셀 상태와 숨겨진 상태를 병합합니다. 이로 인해 GRU는 계산 효율성이 높아지고 훈련 속도가 빨라지지만, 더 크고 복잡한 데이터셋에서는 여전히 LSTM이 더 우수한 성능을 보일 수 있습니다.
  • LSTM 대 트랜스포머: 재귀 구조 대신 자기 주의 메커니즘에 의존하는 트랜스포머 아키텍처는 GPT-4와 같은 NLP 작업에서 LSTM을 대체했습니다. 트랜스포머는 전체 시퀀스를 순차적이지 않고 병렬로 처리할 수 있어 대규모 데이터셋에서 훨씬 빠른 훈련이 가능합니다. 그러나 데이터가 제한적이거나 특정 시계열 제약이 있는 상황에서는 어텐션 메커니즘의 오버헤드가 불필요하므로 LSTM이 여전히 유용합니다.

진화와 미래

생성형 AI 분야에서 어텐션 메커니즘이 주목받으면서도, LSTM은 여전히 경량 애플리케이션, 특히 컴퓨팅 자원이 제한된 엣지 AI 환경에서 견고한 선택지로 자리 잡고 있습니다. 연구자들은 LSTM의 기억 효율성과 현대적 객체 탐지 시스템의 표현력을 결합한 하이브리드 아키텍처를 지속적으로 탐구하고 있습니다.

시퀀스 모델 훈련이나 복잡한 비전 작업을 위한 데이터셋 관리를 원하는 분들을 위해 Ultralytics 주석 작업 및 데이터셋 관리를 위한 포괄적인 도구를 제공합니다. 또한 LSTM의 작동 방식을 이해하는 것은 자율주행 차량 및 로봇 공학에 활용되는 고급 시계열 모델을 파악하는 데 강력한 기반을 마련해 줍니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기