7. Sequential Model

유승우·2022년 5월 11일
0

sqeuntial data를 처리하는데 있어서 가장 큰 어려움은 우리가 결국 얻고 싶은 것은 하나의 label 혹은 정보인데, sequential data는 길이를 알 수 없으므로, 받아들여야 하는 입력의 차원을 알 수 없는 것이다. input의 입력을 알 수 없으므로 여태까지 배워왔던 CNN과 같은 network들을 사용할 수 없다.

Naive sequence model


Autoregressive model


  • 가장 기본적인 sequence model은 입력이 여러 개 들어왔을때 다음번 입력에 대한 예측을 하는 Naive sequence model이다. 하지만, 시점이 늘어나게 되면 고려해야 될 과거의 데이터가 늘어나는 것이 문제가 된다.

  • 이를 개선하기 위해, 과거의 데이터 중 일부분만 고려하는 것이 Autoregressive model이다.

Markov model


  • 내가 가정을 하기에 내 현재는 바로 전 과거에만 의존하는 방식 ex) 내일 보는 수능은 전날 공부한 것에만 의존한다.
  • Markov model은 많은 정보를 버리게 되지만, 결합확률분포(joint distribution)을 표현하기 쉬워진다.

Latent autoregressive model


  • 과거의 모든 정보를 고려할 수 없으므로 hidden state를 통해 과거의 정보를 요약하며, 이후 time step은 hidden state 하나에만 의존하는 방식

Recurrent Neural Network


  • RNN은 시간 순서대로 풀어 나타낸 네트워크이며, Recurrent 구조 네트워크를 이렇게 풀어 나타내면 fully connect layer로 표현될 수 있다.
  • Time step을 고정시키고 시간 순서대로 풀게 되면 각각의 네트워크의 parameter를 공유하는 큰 네트워크가 된다.

Sh-term dependencies


  • 과거에 얻어진 정보들이 취합되서 미래에서 고려되어야 하는데, RNN 자체는 time step을 고정시켰기 때문에 최근의 정보는 잘 고려되지만, 오래된 과거의 정보는 고려하기 힘들다는 단점이 있다.

Long-term dependencies


  • 네트워크를 풀게 되면 반복되는 연산이 나타나는데 예를 들어, activation 함수를 시그모이드로 사용하게 되면 정보들이 손실되고, ReLU를 사용하게 되면 크게 폭발하는 등 학습이 되지 않는 문제가 나타난다.

Long Short Term Memory


  • 위와 같은 Long term dependency를 해결하기 위해 LSTM이라는 새로운 네트워크가 등장하였다.

  • LSTM의 input은 Pevious cell state와 Previous hidden state 그리고 해당 시점의 X가 들어가며, 실제로 나가는 output은 hidden state 뿐이다.
  • Previous cell state : 외부로는 나가지 않고, 내부에서만 흐르며 t 시점까지의 정보를 취합해주는 단계
  • Previous hidden state : output이 외부로 나가기도 하지만, 다음 시점의 Next hidden state에도 들어간다.

  • Core idea
    • cell state : 매 시점마다 컨베이어 벨트(cell state)에 정보가 하나씩 올라오고, 조작공들이 이 정보들을 잘 취합해서 어떤 정보가 유용하고 유용하지 않은지를 가지고 다음번에 넘겨준다고 생각하면 편하다.
    • gate : 이 때 컨베이어 벨트에서 어떤 것을 빼고 어떻게 조작할지에 대한 것이 바로 gate이다.
    • Forget Gate : 어떤 정보를 버릴지에 대한 단계로 시그모이드 함수가 통과하기 때문에 항상 0에서 1사이의 값을 갖는다.
    • Input Gate : 현재 입력이 들어왔을 때 무조건 컨베이어 벨트에 올리는 것이 아니라 어떤 정보를 추가할지를 결정하는 단계이며, 이전의 출력과 현재의 입력으로 만들어진 새로운 cell state 예비군이다.
    • Update Cell : Forget , Input gate를 통해 버려질 정보와 추가될 정보를 취합해 새로운 컨베이어 벨트(cell state)에 올리는 단계
    • Output Gate : 어떤 output을 밖으로 내보낼지에 대한 단계

Gated Recurrent Unit


  • cell state가 없고 hidden state만 존재하기 때문에 reset gate와 update gate 두 개의 gate로 이루어져 있다.

  • LSTM보다 GRU가 좋은 결과를 나타낼 때가 있는데, 이는 parameter가 조금 더 적기 때문에 나타난 것이다.

0개의 댓글