순환신경망 RNN이란? (파이썬으로 집값 예측해보기)
- 최초 등록일
- 2023.11.04
- 최종 저작일
- 2023.11
- 6페이지/ MS 워드
- 가격 3,800원
소개글
"순환신경망 RNN이란? (파이썬으로 집값 예측해보기)"에 대한 내용입니다.
목차
1) 서론
2) 파이썬 코드 예제
본문내용
"Recurrent"라는 용어는 "되풀이되는"이나 "반복적인"이라는 의미를 가지고 있습니다. RNN에서 "Recurrent"라는 용어는 순환 연결의 특성을 나타내며, 현재 단계의 출력이 다시 입력으로 되돌아가는 구조를 가집니다. 이는 현재 단계의 출력이 다음 단계의 입력뿐만 아니라 현재 단계의 입력으로도 사용될 수 있다는 것을 의미합니다. 이러한 자기 회귀적인 특성으로 인해 RNN은 이전 단계의 정보를 현재 단계에서 계속해서 활용할 수 있습니다. 따라서 RNN은 자기 회귀적인 구조를 가지고 있다고 말할 수 있습니다.
그와는 달리, 일반적인 신경망은 피드포워드 구조의 신경망입니다. 이전 단계의 정보는 입력층에서 출력층으로의 단방향 흐름으로 전달되며, 각 층의 결과는 다음 층으로 순차적으로 전달됩니다. 이전 단계의 정보를 다음 단계에 반영하지 않고 입력 데이터에 대해서만 독립적으로 처리하기 때문에, 순차적인 패턴이나 시간적 의존성을 고려하기에는 어렵습니다. 따라서 시퀀스 데이터를 처리하거나 시간적인 의미를 파악하는 작업에는 피드포워드 신경망보다는 RNN이 더 적합합니다.
RNN의 핵심적인 특징은 순환 연결에서 찾을 수 있습니다. 순환 연결은 입력층에서 출력층으로만 정보가 흐르는 것뿐 아니라 연속된 단계 사이를 연결하는 루프를 통해 정보를 전달할 수 있게 합니다. 이러한 루프 메커니즘을 통해 RNN은 순차적 데이터에 내재된 시간적 의존성을 잘 모델링할 수 있어서, 예측이나 생성과 같은 시퀀스 관련 작업에 특히 유용합니다.
또한, RNN은 매개 변수 공유(parameter sharing)라는 특징을 갖고 있습니다. 이는 동일한 가중치와 편향이 시퀀스의 모든 단계에서 공유된다는 것을 의미합니다. 매개 변수 공유를 통해 RNN은 긴 시퀀스에 대해서도 별도의 가중치 복사본을 생성하지 않고도 효율적인 계산을 수행할 수 있습니다.
하지만, RNN에는 일부 제약이 존재합니다. 그 중 주요한 도전 과제는 시퀀스의 장기 의존성을 캡처하는 것입니다.
참고 자료
없음