Python Coding
[Python Coding] 순환신경망(RNN - Recurrent Neural Network)
hyunwoo_studying_note
2020. 2. 14. 11:52
보통의 NN(Neural Network)는 입력층 -> 은닉층 -> 출력층의 순환구조인 반면에 RNN은 은닉층의 결과값이 출력층으로 감과 동시에 은닉층의 입력값으로도 순환됨(내부 순환)
* 이는 순서(sequence)가 있는 데이터를 처리하는 데 강점을 가진 신경망
ex) i live in seoul
i seoul in live
순서가 있는 데이터
- 문장이나 음성 같은 연속적인 데이터
- 순서가 달라지면 데이터의 의미가 달라짐
- 즉, 현재 데이터 의미를 알기 위해서는 과거 데이터 또한 알고 있어야 함
- 그렇기 때문에 과거 데이터를 은닉층에서 내부 순환을 해주어야 과거 데이터를 계속 기억할 수 있음
- 여기에 추가로 입력된 데이터와 연결시켜 의미를 파악하는 구조
시간 개념을 포함함 RNN 구조
- 은닉층에서 기억하는 과거의 데이터와 일정 시간이 지난 후에 입력되는 데이터에 견결시켜 주는 구조로도 생각해볼 수 있음
* 생각할 수 있은 점
- 시계열 구조의 데이터를 분석할 때 용이할 수 있다는 생각이 듦
출처: https://www.youtube.com/watch?v=rDkDyGJpp7E&list=PLS8gIc2q83OjStGjdTF2LZtc0vefCAbnX&index=36&t=0s