해결된 질문
작성
·
414
1
선생님 이해가 잘 안가는 부분이 있습니다 LSTM을 보면 f, i, s~, o 전부 같은 x, h t-1의 데이터를 쓰고 있지만 각각의 다른 가중치를 쓰는 것은 이해를 했습니다
그런데 input, forget 게이트에서 얼만큼 잊고, 얼만큼 받아 드린다고 하셨는데 이 부분은 각각 따로 계산이 되는건가요? 1-x가 아니여서 비율의 합이 1이 아닌데 어떤 원리로 이것을 forget gate라고 하는건가요? (아니면 s t-1이 자체가 전의 정보를 담고 있어서 이를 시그모이드로 비례적으로 계산하는건가요...?)
그리고 마지막으로 i,s~ 는 둘다 곱해서 이를 input gate라고 하는건가요? 아니면 i_t만 input gate인가요?
(i,s~ 둘다 같은 데이터인데 가중치만 달라서 혼동이 옵니다)
*요약하자면 선생님 써주신 공식을 보면 그냥 같은 데이터에 다른 가중치를 계산한건데 어떤 원리로 이게 작동하는지 잘 이해가 가지 않습니다
*가능하시면 해당 수식이 해당 모형에서 어떻게 작동하는지 조금 더 알려주시면 감사하겠습니다 :)
답변 1
1
안녕하세요.
이전 f와 현재 i값의 비율의 합이 1일 이유는 없습니다. 저자가 모델을 이렇게 제안한 것이지요. 물론 비율의 합이 1이 되는 형태로 f와 s 대신 1-f로 설계는 할 수 있고 원하신다면 어떤 것이 좋은지 비교하는 것도 공부에는 도움이 된다고 생각합니다 :) 반면에 GRU를 보시면 GRU 저자들이 LSTM를 간소화하면서 h state에 대해서 비율의 합이 1인 형태로 설계하신 것을 보실 수 있습니다. 인공신경망의 장점 중 하나가 설계 자유도가 높다는 점입니다. 엽강통강님도 이런 궁금증으로부터 새로운 아이디어를 만들어 모델을 개선하실 수 있습니다 :)
식에서 알 수 있듯이 forget gate f와 input gate i는 따로 계산됩니다.
f를 통해 이전 s를 얼마나 받을지를 정하는 것이고 이를 forget gate라고 정의하였습니다. f가 0에 가까울수록 이전 정보를 많이 잊고 1에 가까울수록 덜 잊는다는 개념입니다.
이전 질문에서도 말씀드렸듯이 큰 틀에서 RNN, LSTM, GRU는 같은 원리로 작동합니다. 순서가 있는 데이터를 처리할 때 이 전 state를 반영하여 현재 state를 계산하는 방식입니다. 좀 더 구체적으로 말씀드리면 각 기능마다 다른 가중치를 사용한다는 말은 다른 함수를 사용한다는 의미입니다. 즉, 서로 같은 데이터를 받아 다른 피쳐로 데이터를 가공할 수 있다는 말입니다. 이를 묶어 이전 가공된 정보와 현재 계산 된 정보를 함께 계산할 수 있게 됩니다.
열공하세요!