long-term dependency, 관련된 요소가 서로 멀리 떨어져있는 상황
🠒 LSTM은 가장 널리 사용되는 해결책!
입력 개폐구와 출력 개폐구
- 개폐구를 열면 신호가 흐르고, 닫으면 차단됨
- [0,1] 사이의 실수 값으로 개폐 정도를 조절(학습으로 알아낸 값)
LSTM 핵심 요소
- 메모리 블록(셀): 은닉 상태 장기 기억
- 망각 개폐구(forget gate): 기억 유지(1) 혹은 제거(0)
- 입력 개폐구(input gate): 입력 연산
- 출력 개폐구(output gate): 출력 연산
출력 게이트와 입력 개폐구의 값이 1.0으로 고정되면 RNN 동작과 동일하나, 이들 값은 가중치와 신호 값에 따라 정해지며 개폐 정도를 조절하여 RNN과 차별성을 가진다.
입력단, 입력 개폐구, 출력 개폐구에서의 계산
값은 가중치 , 현재 순간의 입력벡터 , 이전 순간의 상태 에 따라 결정되며, 이들 값에 따라 개폐 정도가 정해진다. 입력 개폐구의 값 가 0에 가깝다면 는 0에 가깝게 되어 입력단을 차단하는 효과가 있고, 이전 상태와 같게 된다. 즉 입력 개폐구가 차단되어 이전 내용을 그대로 기억하므로 이전 입력의 영향력을 더 멀리 확장하는 효과가 있다.
망각 개폐구에 의한 LSTM의 확장
- 이전 순간의 상태 , 즉 메모리 블록의 기억을 지우는 효과
작은 구멍(pinhole) 기능으로 LSTM 확장
- 작은 구멍은 블록 내부 상태를 3개의 개폐구에 알려주는 역할
- 순차 데이터를 처리하다가 어떤 조건에 따라 특별한 조치를 취해야 하는 응용에 효과적
1. 언어 모델
언어 모델이란
- 문장, 즉 단어 열의 확률분포를 모형화
- 음성 인식기 또는 언어 번역기가 후보로 출력한 문장이 여럿 있을 때, 언어 모델로 확률이 가장 높은 것을 선택하여 성능을 높이는 데 활용
- n-그램, 다층 퍼셉트론, 순환 신경망 등으로 확률분포 추정
순환 신경망을 이용한 언어 모델
- 현재까지 본 단어 열을 기반으로 다음 단어를 예측하는 방식으로 학습
- 확률분포 추정뿐만 아니라 문장 생성 기능까지 갖춤
- 비지도 학습에 해당하여 말뭉치로부터 쉽게 훈련집합 구축 가능
2. 기계 번역
언어 모델은 입력 문장과 출력 문장의 길이가 같은데, 기계 번역은 길이가 서로 다른 sequence to sequence 문제
LSTM을 사용한 번역 과정 학습
- 부호기(encoder)와 복호기(decoder)의 2개 LSTM 사용
- 부호기는 원시 언어 문장을 특징 벡터로 변환
- 복호기는 특징 벡터를 가지고 목적 언어 문장 생성
- 가변 길이의 문장을 고정 길이의 특징 벡터로 변환한 후, 고정 길이에서 가변 길이 문장을 생성
모든 순간의 상태 변수를 사용하는 방식
- 부호기의 계산 결과를 모두 복호기에 넘겨 줌
- 양방향 구조를 채택하여 어순이 다른 문제를 해결
3. 영상 주석 생성
영상 속 물체를 검출하고 인식, 물체의 속성과 행위, 물체 간의 상호 작용을 알아내는 일 + 의미를 요약하는 문장을 생성하는 일