logo

LSTM – 장단기 기억이란 무엇입니까?

LSTM은 시퀀스 예측 작업에 탁월하여 장기적인 종속성을 포착합니다. 순서 의존성으로 인해 시계열, 기계 번역 및 음성 인식에 이상적입니다. 이 기사에서는 LSTM 모델, 아키텍처, 작동 원리 및 다양한 애플리케이션에서 수행하는 중요한 역할을 다루면서 LSTM에 대한 심층적인 소개를 제공합니다.

LSTM이란 무엇입니까?

장단기 기억 Hochreiter & Schmidhuber가 설계한 순환 신경망의 개선된 버전입니다.



전통적인 RNN 시간이 지남에 따라 단일 숨겨진 상태를 가지므로 네트워크가 장기적인 종속성을 학습하기 어려울 수 있습니다. LSTM 모델 장기간 정보를 저장할 수 있는 컨테이너인 메모리 셀을 도입하여 이 문제를 해결합니다.

LSTM 아키텍처는 순차 데이터의 장기적인 종속성을 학습할 수 있으므로 다음과 같은 작업에 적합합니다. 언어 번역 , 음성 인식 및 시계열 예측 .

LSTM은 다음과 같은 다른 신경망 아키텍처와 함께 사용할 수도 있습니다. 컨볼루셔널 신경망 (CNN) 이미지 및 비디오 분석을 위한 것입니다.



LSTM 아키텍처

LSTM 아키텍처에는 입력 게이트, 망각 게이트 및 출력 게이트의 세 가지 게이트로 제어되는 메모리 셀이 포함됩니다. 이 게이트는 메모리 셀에 추가, 제거, 출력할 정보를 결정합니다.

  • 입력 게이트는 메모리 셀에 추가되는 정보를 제어합니다.
  • 망각 게이트는 메모리 셀에서 어떤 정보가 제거되는지 제어합니다.
  • 출력 게이트는 메모리 셀에서 출력되는 정보를 제어합니다.

이를 통해 LSTM 네트워크는 정보가 네트워크를 통해 흐를 때 선택적으로 정보를 유지하거나 삭제할 수 있으며, 이를 통해 장기적인 종속성을 학습할 수 있습니다.

LSTM은 네트워크의 단기 메모리 역할을 하는 숨겨진 상태를 유지합니다. 히든 상태는 입력, 이전 히든 상태, 메모리 셀의 현재 상태를 기반으로 업데이트됩니다.



양방향 LSTM 모델

양방향 LSTM (Bi LSTM/BLSTM)은 순차 데이터를 순방향과 역방향 모두 처리할 수 있는 순환 신경망(RNN)입니다. 이를 통해 Bi LSTM은 순차 데이터를 한 방향으로만 처리할 수 있는 기존 LSTM보다 순차 데이터에서 더 먼 범위의 종속성을 학습할 수 있습니다.

  • Bi LSTM은 두 개의 LSTM 네트워크로 구성됩니다. 하나는 순방향으로 입력 시퀀스를 처리하고 다른 하나는 입력 시퀀스를 역방향으로 처리합니다.
  • 그런 다음 두 LSTM 네트워크의 출력이 결합되어 최종 출력을 생성합니다.

Bi LSTM을 포함한 LSTM 모델은 기계 번역, 음성 인식 및 텍스트 요약과 같은 다양한 작업에서 최첨단 성능을 보여주었습니다.

움직이는 HTML

LSTM 아키텍처의 네트워크를 쌓아 심층적인 아키텍처를 생성할 수 있으므로 순차 데이터에서 훨씬 더 복잡한 패턴과 계층 구조를 학습할 수 있습니다. 스택 구성의 각 LSTM 레이어는 입력 데이터 내에서 다양한 수준의 추상화 및 시간적 종속성을 캡처합니다.

LSTM 작동 중

LSTM 아키텍처는 4개의 신경망과 서로 다른 메모리 블록을 포함하는 체인 구조를 가지고 있습니다. 세포 .

정보는 세포에 의해 유지되고 기억 조작은 세포에 의해 수행됩니다. 게이트. 세 개의 문이 있습니다 –

포겟 게이트

셀 상태에서 더 이상 유용하지 않은 정보는 망각 게이트를 통해 제거됩니다. 2개의 입력 엑스 (특정 시간에 입력) 및 시간 t-1 (이전 셀 출력)이 게이트에 공급되고 가중치 행렬을 곱한 다음 편향을 추가합니다. 결과는 이진 출력을 제공하는 활성화 함수를 통해 전달됩니다. 특정 셀 상태의 경우 출력이 0이면 정보가 잊혀지고 출력 1의 경우 나중에 사용할 수 있도록 정보가 유지됩니다. 망각 게이트의 방정식은 다음과 같습니다.

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
어디:

  • W_f는 망각 게이트와 관련된 가중치 행렬을 나타냅니다.
  • [h_t-1, x_t]는 현재 입력과 이전 은닉 상태의 연결을 나타냅니다.
  • b_f는 망각 게이트의 바이어스입니다.
  • σ는 시그모이드 활성화 함수입니다.

LSTM의 아키텍처

입력 게이트

셀 상태에 유용한 정보를 추가하는 것은 입력 게이트에 의해 수행됩니다. 첫째, 시그모이드 함수를 사용하여 정보를 규제하고 입력을 사용하여 망각 게이트와 유사하게 기억할 값을 필터링합니다. 시간 t-1 그리고 엑스 .. 그런 다음 벡터는 다음을 사용하여 생성됩니다. 수상한 h에서 가능한 모든 값을 포함하는 -1에서 +1까지의 출력을 제공하는 함수t-1그리고 엑스 . 마지막으로 벡터의 값과 규제된 값을 곱하여 유용한 정보를 얻습니다. 입력 게이트의 방정식은 다음과 같습니다.

i_t = σ(W_i · [h_{t-1}, x_t] + b_i)

Ĉ_t = tanh(W_c · [h_{t-1}, x_t] + b_c)

이전 상태에 f를 곱합니다., 이전에 무시하기로 선택한 정보를 무시합니다. 다음으로, 우리는 i를 포함합니다*C. 이는 각 상태 값을 업데이트하기 위해 선택한 양에 맞게 조정된 업데이트된 후보 값을 나타냅니다.

C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t

어디

  • ⊙는 요소별 곱셈을 나타냅니다.
  • tanh는 tanh 활성화 함수입니다.

출력 게이트

현재 셀 상태에서 유용한 정보를 추출하여 출력으로 표시하는 작업은 출력 게이트에서 수행됩니다. 먼저 셀에 tanh 함수를 적용하여 벡터를 생성합니다. 그런 다음 시그모이드 함수를 사용하여 정보를 규제하고 입력을 사용하여 기억할 값으로 필터링합니다. h_{t-1} 그리고x_t. 마지막으로 벡터의 값과 조정된 값을 곱하여 출력 및 입력으로 다음 셀로 전송됩니다. 출력 게이트의 방정식은 다음과 같습니다.

o_t = σ(W_o · [h_{t-1}, x_t] + b_o)

배열과 배열리스트의 차이점

LSTM의 응용

LSTM의 유명한 응용 프로그램 중 일부는 다음과 같습니다.

  • 언어 모델링: LSTM은 언어 모델링, 기계 번역, 텍스트 요약과 같은 자연어 처리 작업에 사용되었습니다. 문장 내 단어 간의 종속성을 학습하여 일관되고 문법적으로 올바른 문장을 생성하도록 훈련할 수 있습니다.
  • 음성 인식: LSTM은 음성을 텍스트로 변환하고 음성 명령을 인식하는 등의 음성 인식 작업에 사용되었습니다. 그들은 말의 패턴을 인식하고 이를 해당 텍스트와 일치시키도록 훈련받을 수 있습니다.
  • 시계열 예측: LSTM은 주가, 날씨, 에너지 소비 예측과 같은 시계열 예측 작업에 사용되었습니다. 시계열 데이터의 패턴을 학습하고 이를 사용하여 미래 이벤트에 대한 예측을 할 수 있습니다.
  • 이상 탐지: LSTM은 사기 및 네트워크 침입 탐지와 같은 이상 탐지 작업에 사용되었습니다. 표준에서 벗어나는 데이터의 패턴을 식별하고 이를 잠재적인 이상으로 표시하도록 교육받을 수 있습니다.
  • 추천 시스템: LSTM은 영화, 음악, 책 추천 등의 추천 작업에 사용되어 왔습니다. 그들은 사용자 행동의 패턴을 학습하고 이를 사용하여 맞춤형 추천을 제공할 수 있습니다.
  • 비디오 분석: LSTM은 객체 감지, 활동 인식, 동작 분류와 같은 비디오 분석 작업에 사용되었습니다. CNN(Convolutional Neural Networks)과 같은 다른 신경망 아키텍처와 함께 사용하여 비디오 데이터를 분석하고 유용한 정보를 추출할 수 있습니다.

LTSM 대 RNN

특징

LSTM(장단기 기억)

RNN(반복 신경망)

메모리

순차 데이터의 장기 종속성을 학습할 수 있는 특수 메모리 장치가 있습니다.

메모리 유닛이 없습니다.

방향성

순차 데이터를 순방향 및 역방향으로 처리하도록 훈련할 수 있습니다.

한 방향으로만 순차적 데이터를 처리하도록 훈련할 수 있습니다.

훈련

게이트와 메모리 장치의 복잡성으로 인해 RNN보다 훈련하기가 더 어렵습니다.

LSTM보다 훈련하기가 더 쉽습니다.

장기 의존성 학습

제한된

순차적 데이터를 학습하는 능력

셀레늄 튜토리얼 자바

응용

기계 번역, 음성 인식, 텍스트 요약, 자연어 처리, 시계열 예측

자연어 처리, 기계 번역, 음성 인식, 이미지 처리, 비디오 처리

RNN의 장기 종속성 문제

순환 신경망(RNN)은 이전 시간 단계의 정보를 캡처하는 숨겨진 상태를 유지하여 순차 데이터를 처리하도록 설계되었습니다. 그러나 먼 시간 단계의 정보가 정확한 예측을 위해 중요한 장기 종속성을 학습하는 데 종종 어려움을 겪습니다. 이 문제는 Vanishing Gradient 문제 또는 폭발하는 Gradient 문제로 알려져 있습니다.

몇 가지 일반적인 문제는 다음과 같습니다.

사라지는 그라데이션

시간에 따른 역전파 동안 경사도는 반복 연결 체인을 통해 곱해지기 때문에 매우 작아질 수 있으며, 이로 인해 모델은 여러 시간 단계로 분리된 종속성을 학습하는 데 어려움을 겪게 됩니다.

폭발하는 그라데이션

반대로, 역전파 중에 기울기가 폭발하여 수치적 불안정성을 초래하고 모델이 수렴하기 어렵게 만들 수 있습니다.

자바 스위치

장기 단기 기억의 다양한 변형

시간이 지남에 따라 원래 LSTM 아키텍처에 대한 여러 변형과 개선 사항이 제안되었습니다.

바닐라 LSTM

이것은 Hochreiter와 Schmidhuber가 제안한 원래 LSTM 아키텍처입니다. 여기에는 정보의 흐름을 제어하기 위한 입력, 망각 및 출력 게이트가 있는 메모리 셀이 포함됩니다. 핵심 아이디어는 네트워크가 메모리 셀의 정보를 선택적으로 업데이트하고 삭제하도록 허용하는 것입니다.

엿보는 구멍 연결

Peephole LSTM에서는 게이트가 Hidden State 외에도 Cell State를 볼 수 있습니다. 이를 통해 게이트는 결정을 내릴 때 셀 상태를 고려하여 더 많은 컨텍스트 정보를 제공할 수 있습니다.

GRU(게이트 순환 단위)

그루 LSTM의 대안으로 더 간단하고 계산적으로 더 효율적으로 설계되었습니다. 입력 게이트와 망각 게이트를 단일 업데이트 게이트로 결합하고 셀 상태와 숨겨진 상태를 병합합니다. GRU는 LSTM보다 매개변수 수가 적지만 실제로는 비슷한 성능을 보이는 것으로 나타났습니다.

결론

LSTM(장단기 기억)은 장기 의존성이 있는 순차 데이터를 처리하는 데 적합한 강력한 유형의 순환 신경망(RNN)입니다. 이는 네트워크를 통한 정보 흐름을 제어하는 ​​게이팅 메커니즘을 도입하여 RNN의 일반적인 제한 사항인 Vanishing Gradient 문제를 해결합니다. 이를 통해 LSTM은 과거의 정보를 학습하고 유지할 수 있어 기계 번역, 음성 인식, 자연어 처리와 같은 작업에 효과적입니다.

또한 확인하십시오:

자주 묻는 질문(FAQ)

1. LSTM은 무엇이고 왜 사용되나요?

LSTM(Long Short-Term Memory)은 시퀀스 작업을 위해 설계된 순환 신경망 유형으로, 데이터의 장기 종속성을 캡처하고 활용하는 데 탁월합니다.

2. LSTM은 어떻게 작동하나요?

LSTM은 셀 상태를 사용하여 과거 입력에 대한 정보를 저장합니다. 이 셀 상태는 네트워크의 각 단계에서 업데이트되며, 네트워크는 이를 사용하여 현재 입력에 대해 예측합니다. 셀 상태는 셀 안팎으로 흐르는 정보의 양을 제어하는 ​​일련의 게이트를 사용하여 업데이트됩니다.

삼. LSTM 예제는 무엇입니까?

LSTM(Long Short-Term Memory) 예로는 음성 인식, 기계 번역, 시계열 예측 등이 ​​있으며, 순차 데이터의 장기 종속성을 캡처하는 기능을 활용합니다.

4. LSTM과 GRU(Gated Recurrent Unit)의 차이점은 무엇입니까?

LSTM에는 정보 흐름을 제어하는 ​​셀 상태 및 게이팅 메커니즘이 있는 반면, GRU에는 더 간단한 단일 게이트 업데이트 메커니즘이 있습니다. LSTM은 더 강력하지만 훈련 속도가 느린 반면, GRU는 더 간단하고 빠릅니다.

5. LSTM과 RNN의 차이점은 무엇입니까?

  • RNN 단방향 정보 흐름을 갖는 단순 반복 구조를 갖습니다.
  • LSTM 정보 흐름과 장기 기억을 위한 세포 상태를 제어하는 ​​게이팅 메커니즘을 가지고 있습니다.
  • LSTM 일반적으로 장기적인 종속성을 학습해야 하는 작업에서 RNN보다 성능이 뛰어납니다.

6. LSTM이 CNN보다 빠른가요?

아니요, LSTM과 CNN은 다른 용도로 사용됩니다. LSTM은 순차 데이터용입니다. CNN은 공간 데이터용입니다.

7. LSTM이 GRU보다 빠른가요?

일반적으로 그렇습니다. GRU는 매개변수가 적기 때문에 LSTM에 비해 훈련이 더 빨라질 수 있습니다.