1) RNN
시계열 데이터를 처리하기 위해서 이전정보를 전달하는 장치를 추가했다.
2) LSTM
장기 기억을 돕기 위해서 gate를 추가했다.
3) seq2seq
sequence를 다른 sequence로 바꿔주는데 encoder, decoder로 구성이되고 encoder에는 여러 개의 lstm으로 구성된다.
encoder에서 만든 최종 hidden state인 context vector을 사용해서 decoder에서 새로운 sequence를 만들어낸다.
그런데, 이때 고정된 길의 context vector을 사용하기 때문에 정보의 소실이 있을 수 있다.
4) attention
정보의 소실 문제를 해결하기 위해서 encoder의 모든 hidden state를 참고하며, 길이를 고정하지 않는다.
그리고 decoder마다 더 주의깊게 살펴봐야하는 encode hidden state에 weight를 부여해서 성능을 향상시켰다.
방법은 decoder의 이전 hidden state vector와 encoder의 모든 hidden state vector과 내적을 해서 유사도를 측정한다.
그리고 이를 softmax를 취해주면, 어떤 encoder의 hidden state와 가장 유사한지 알 수 있게 되고 이를 가중치로 사용하여 weight sum을 할 수 있다.
이렇게 하면 정보의 손실이 줄어들어서 더 잘 표현할 수 있다.
'이제는 사용하지 않는 공부방 > Artificial intelligence' 카테고리의 다른 글
learn about a specific topic (0) | 2021.08.31 |
---|---|
senet: squeeze and excitation network (0) | 2021.08.12 |
[kaggle] topic modeling: LDA, NMF (0) | 2021.07.10 |
[GCN] graph convolutional network (0) | 2021.07.04 |
[논문] Inductive matrix completion based on gnn (0) | 2021.07.03 |