LSTM: 두 판 사이의 차이

IT 위키
편집 요약 없음
편집 요약 없음
 
(사용자 2명의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:인공지능]]
[[분류:인공지능]]
;Long Short Term Memory
Long Short Term Memory
RNN의 장기 의존성(long-term dependency) 문제를 해결하기 위해 고안된 순환 신경망(RNN)의 변형 구조


== [[RNN]]의 문제 ==
== [[RNN]]의 문제 ==
;RNN의 수식 표현 h<sub>t</sub> = f<sub>W</sub>(h<sub>t-1</sub>, x<sub>t</sub>)
RNN의 수식 표현 h<sub>t</sub> = f<sub>W</sub>(h<sub>t-1</sub>, x<sub>t</sub>)
* 문장 구성 수 만큼 Hidden Layer 형성하여 매우 Deep한 구조
* 문장 구성 수만큼 Hidden Layer가 순차적으로 연결되어 매우 Deep한 구조 형성
** Recurrent에 따른 동일한 가중치(f<sub>W</sub>)곱해지게 되므로 아래 문제 발생
** Recurrent 구조 특성상 동일한 가중치 f<sub>W</sub>가 계속 곱해지므로 아래 문제 발생
* f<sub>W</sub> < 1 인 경우, '''Vanishing Gradient'''
* f<sub>W</sub> < 1 인 경우 → [[기울기 소실|'''Vanishing Gradient''' (기울기 소실)]]
* f<sub>W</sub> > 1 인 경우, '''Exploding Gradient'''
* f<sub>W</sub> > 1 인 경우 → [[기울기 폭주|'''Exploding Gradient''' (기울기 폭주)]]
* , 관련 정보와 그 정보를 사용하는 지점이 먼 경우 학습 능력 저하
* 따라서 입력 시점과 출력 시점 간의 거리가 멀면, 학습 능력이 급격히 저하됨
** 장기 기억을 사용하지 못하고 단기 기억만을 사용
** 장기 기억을 반영하지 못하고 단기 기억만을 사용하는 한계
* '''LSTM(Long Short Term Memory)는 문제를 해결'''
* '''LSTM(Long Short Term Memory)는 이러한 문제를 해결하기 위해 제안되었다.'''


[[파일:RNN vs LSTM Cell State 개념도.png]]
[[파일:RNN vs LSTM Cell State 개념도.png]]


== 구성 요소 ==
== 구조 및 구성 요소 ==
[[파일:LSTM 개념도.png]]
LSTM은 정보를 장기적으로 보존할 수 있도록 '''셀 상태(cell state)'''를 도입하고, 이를 여러 게이트 구조로 제어한다. 셀 상태는 정보가 흐르는 통로 역할을 하며, 게이트들은 어떤 정보를 버리고, 추가하고, 출력할지를 조절한다.
 
[[파일:LSTM 개념도.png|600px]]
 
{| class="wikitable"
{| class="wikitable"
|-
|-
22번째 줄: 26번째 줄:
| Forget Gate Layer  
| Forget Gate Layer  
||  
||  
* 어떠한 정보를 반영할지에 대한 결정
* 어떤 정보를 버릴지를 결정
* sigmoid 활성화 함수를 통해 0~1사이의 값을 출력
* sigmoid 활성화 함수를 통해 0~1 사이의 값을 출력하여, 유지할 정보와 버릴 정보를 조절
|-
|-
| Input Gate Layer
| Input Gate Layer
||
||
* 새로운 정보가 cell state에 저장이 될지 결정하는 게이트
* 새로운 정보를 얼마나 반영할지 결정
* sigmoid layer, tanh layer로 구성
* sigmoid layer가 어떤 값들을 업데이트할지 결정하고, tanh layer가 새로운 후보 값들을 생성
|-
|-
| Update Cell State  
| Update Cell State  
||
||
* forget gate와 input gate에서 출력된 값들을 cell state로 업데이트
* forget gate와 input gate의 출력을 결합해 셀 상태(cell state)를 업데이트
* 장기 기억과 새로운 정보를 동시에 반영
|-
|-
| Output Gate Layer  
| Output Gate Layer  
||  
||  
* 출력값 결정 단계
* 다음 은닉 상태(hidden state, h<sub>t</sub>)를 결정
* sigmoid layer가 어떤 부분을 출력할지 결정하고, tanh를 통해 활성화된 cell state를 출력값으로 변환
|}
|}
== 특징 ==
* '''장기 의존성 문제 해결''' : 기울기 소실/폭발 문제를 완화하여 장기적인 맥락을 학습 가능
* '''셀 상태(Cell state)''' : 시간에 따라 정보를 전달하는 메모리 흐름
* '''게이트 구조''' : 정보의 선택적 보존과 삭제를 통해 효율적 학습 가능
* RNN 대비 학습 속도는 느리지만, 긴 시퀀스 데이터 처리에 효과적임
== 변형 ==
* '''GRU(Gated Recurrent Unit)'''
** LSTM의 단순화된 변형으로, forget gate와 input gate를 합쳐 update gate로 통합
** 파라미터 수가 적고 계산량이 줄어들어 효율적
* '''Peephole LSTM'''
** 게이트들이 cell state에 직접 접근하도록 하여, 더 세밀한 제어 가능
* '''Bidirectional LSTM'''
** 순방향과 역방향 LSTM을 함께 사용하여, 과거와 미래 문맥을 동시에 활용
== 활용 ==
* [[자연어 처리]] : 기계 번역, 음성 인식, 문서 요약, 감정 분석
* [[시계열 분석]] : 주가 예측, 센서 데이터 분석
* [[영상 처리]] : 비디오 캡셔닝, 행동 인식
* [[음악 생성]] 및 다양한 순차적 패턴 생성
== 같이 보기 ==
* [[RNN]]
* [[GRU]]
* [[딥러닝]]
* [[자연어 처리]]
== 참고 문헌 ==
* Sepp Hochreiter, Jürgen Schmidhuber. ''Long Short-Term Memory''. Neural Computation, 1997. 
* Ian Goodfellow, Yoshua Bengio, Aaron Courville. ''Deep Learning''. MIT Press, 2016. 
== 각주 ==
<references/>

2025년 9월 25일 (목) 07:32 기준 최신판

Long Short Term Memory RNN의 장기 의존성(long-term dependency) 문제를 해결하기 위해 고안된 순환 신경망(RNN)의 변형 구조

RNN의 문제[편집 | 원본 편집]

RNN의 수식 표현 ht = fW(ht-1, xt)

  • 문장 구성 수만큼 Hidden Layer가 순차적으로 연결되어 매우 Deep한 구조 형성
    • Recurrent 구조 특성상 동일한 가중치 fW가 계속 곱해지므로 아래 문제 발생
  • fW < 1 인 경우 → Vanishing Gradient (기울기 소실)
  • fW > 1 인 경우 → Exploding Gradient (기울기 폭주)
  • 따라서 입력 시점과 출력 시점 간의 거리가 멀면, 학습 능력이 급격히 저하됨
    • 장기 기억을 반영하지 못하고 단기 기억만을 사용하는 한계
  • LSTM(Long Short Term Memory)는 이러한 문제를 해결하기 위해 제안되었다.

RNN vs LSTM Cell State 개념도.png

구조 및 구성 요소[편집 | 원본 편집]

LSTM은 정보를 장기적으로 보존할 수 있도록 셀 상태(cell state)를 도입하고, 이를 여러 게이트 구조로 제어한다. 셀 상태는 정보가 흐르는 통로 역할을 하며, 게이트들은 어떤 정보를 버리고, 추가하고, 출력할지를 조절한다.

LSTM 개념도.png

구성 요소 설명
Forget Gate Layer
  • 어떤 정보를 버릴지를 결정
  • sigmoid 활성화 함수를 통해 0~1 사이의 값을 출력하여, 유지할 정보와 버릴 정보를 조절
Input Gate Layer
  • 새로운 정보를 얼마나 반영할지 결정
  • sigmoid layer가 어떤 값들을 업데이트할지 결정하고, tanh layer가 새로운 후보 값들을 생성
Update Cell State
  • forget gate와 input gate의 출력을 결합해 셀 상태(cell state)를 업데이트
  • 장기 기억과 새로운 정보를 동시에 반영
Output Gate Layer
  • 다음 은닉 상태(hidden state, ht)를 결정
  • sigmoid layer가 어떤 부분을 출력할지 결정하고, tanh를 통해 활성화된 cell state를 출력값으로 변환

특징[편집 | 원본 편집]

  • 장기 의존성 문제 해결 : 기울기 소실/폭발 문제를 완화하여 장기적인 맥락을 학습 가능
  • 셀 상태(Cell state) : 시간에 따라 정보를 전달하는 메모리 흐름
  • 게이트 구조 : 정보의 선택적 보존과 삭제를 통해 효율적 학습 가능
  • RNN 대비 학습 속도는 느리지만, 긴 시퀀스 데이터 처리에 효과적임

변형[편집 | 원본 편집]

  • GRU(Gated Recurrent Unit)
    • LSTM의 단순화된 변형으로, forget gate와 input gate를 합쳐 update gate로 통합
    • 파라미터 수가 적고 계산량이 줄어들어 효율적
  • Peephole LSTM
    • 게이트들이 cell state에 직접 접근하도록 하여, 더 세밀한 제어 가능
  • Bidirectional LSTM
    • 순방향과 역방향 LSTM을 함께 사용하여, 과거와 미래 문맥을 동시에 활용

활용[편집 | 원본 편집]

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Sepp Hochreiter, Jürgen Schmidhuber. Long Short-Term Memory. Neural Computation, 1997.
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. MIT Press, 2016.

각주[편집 | 원본 편집]