RNN (Recurrent Neural Network)
배경
DNN이나 CNN은 input의 길이가 고정된 이후 모델 생성과 이용이 가능하다.
자연어 처리 등에서 input의 길이가 고정된다는 것은 현실적이지 않다.
RNN은 임의의 길이를 input으로 받아들여 처리할 수 있다.
특징
- RNN은 임의의 길이를 input으로 받아들여서 임의의 길이의 output을 낼 수 있다.
- 반드시 흐름에 따라 처리되는 것이 아니라 bidirectional하게 구성할 수 있다.
- Weight Sharing (recurrent)
- Unit 간 weight을 공유한다.
- 각 unit 별로 weight을 다르게 사용하면 input개수(unit 개수)만큼의 weight을 가지고 있어야 한다.
- RNN은 weight을 공유함으로써 이 문제를 해결한다.
장점
- RNN은 가변 길이의 input을 받아들일 수 있어서 자유도가 높다.
- 또한 중간에 잘린 영상 복구 등의 적은 파라미터로 CNN보다 많은 일을 할 수 있다.
'Computer Science > AL, ML' 카테고리의 다른 글
[RNN] LSTM (Long Short-Term Memory Network) (0) | 2022.06.16 |
---|---|
[RNN] Vanilla RNN (0) | 2022.06.15 |
[CNN] 다양한 CNN (0) | 2022.06.15 |
[CNN] Pooling (0) | 2022.06.07 |
[CNN] CNN의 구조와 Notation (0) | 2022.06.06 |
댓글