RNN (Recurrent Neural Network)의 기본 개념은 분명합니다. 나는 다음과 같은 방식으로 이해합니다 :
우리는 일련의 관측치 ( ) (즉, 다변량 시계열)가 있습니다. 각 단일 관측치 는 차원 숫자 형 벡터입니다. RNN 모델 내에서 다음 관측치 은 이전 관측치의 함수 및 이전 "숨겨진 상태" 여기서 숨겨진 상태는 숫자 형 벡터로 표시됩니다 (관찰 된 상태와 숨겨진 상태의 차원이 다를 수 있음). 숨겨진 상태 자체는 또한 이전 관측치와 숨겨진 상태에 의존하는 것으로 가정합니다.
마지막으로 RNN 모델에서 함수 는 신경망 인 것으로 가정합니다. 우리는 이용 가능한 데이터 (일련의 관측치)를 사용하여 신경망을 훈련 (적합)합니다. 교육에서 우리의 목표는 이전 관측치를 사용하여 다음 관측을 가능한 정확하게 예측할 수 있도록하는 것입니다.
이제 LSTM 네트워크는 RNN 네트워크의 수정입니다. 내가 이해하는 한 LSTM의 동기는 RNN 특유의 짧은 메모리 문제를 해결하는 것입니다.
LSTM 네트워크의 작동 방식을 이해합니다. 내가 찾은 LSTM에 대한 가장 좋은 설명은 다음과 같습니다 . 기본 아이디어는 다음과 같습니다.
그래서 제 질문은이 아키텍처가 왜 문제를 해결합니까 (또는 정확히)?
특히 나는 다음을 이해하지 못한다.
- 신경망을 사용하여 "오래된"메모리 (또는 셀 상태)와 혼합되어 "새로운"메모리 (셀 상태)를 얻는 "중간"메모리 (셀 상태 벡터)를 생성합니다. 혼합에 대한 가중치는 신경망에 의해 계산됩니다. 그러나 왜 하나의 신경망을 사용하여 "새로운"셀 상태 (또는 메모리)를 계산할 수 없습니까? 다시 말해, 왜 우리는 "새로운"메모리를 계산하는 신경망에 대한 입력으로 관측 된 상태, 숨겨진 상태 및 오래된 메모리를 사용할 수 없습니까?
- 결국 우리는 관찰 및 숨겨진 상태를 사용하여 새로운 숨겨진 상태를 계산 한 다음 "새"셀 상태 (또는 (장기) 메모리)를 사용하여 새로 계산 된 숨겨진 상태의 구성 요소를 수정합니다. 즉, 셀 상태의 구성 요소는 계산 된 숨겨진 상태의 해당 구성 요소를 줄이는 가중치로 사용됩니다. 그러나 왜 세포 상태 벡터가이 특별한 방식으로 사용됩니까? 셀 상태 벡터 (장기 메모리)를 신경망의 입력 (관측 및 숨겨진 상태를 입력으로 사용)에 입력하여 새로운 숨겨진 상태를 계산할 수없는 이유는 무엇입니까?
추가 :
다음은 다른 게이트 ( "keep", "write"및 "read")가 어떻게 구성되어 있는지 명확히 하는 데 도움 이되는 비디오입니다 .