AI 모델 개발: 신경망 구조 – RNN
ㅁ 신경망 구조
ㅇ 정의:
순환신경망(Recurrent Neural Network, RNN)은 시퀀스 데이터 처리에 특화된 인공신경망 구조로, 이전 시점의 출력을 현재 시점의 입력으로 재사용하여 시간적 의존성을 학습하는 모델.
ㅇ 특징:
– 입력 데이터의 순서를 고려하여 처리함.
– 내부에 순환 구조를 가져 과거 정보를 은닉 상태(hidden state)에 저장.
– 시계열 예측, 자연어 처리 등 연속성이 있는 데이터에 강점.
– 장기 의존성 문제(vanishing/exploding gradient) 발생 가능.
ㅇ 적합한 경우:
– 주가 예측, 날씨 예측 등 시계열 분석.
– 기계 번역, 음성 인식 등 순차적 데이터 처리.
– 문맥 유지가 필요한 텍스트 생성.
ㅇ 시험 함정:
– RNN은 입력 순서에 민감하므로 순서를 무시하는 데이터에는 적합하지 않음.
– LSTM, GRU는 RNN의 한 종류로, RNN과 동일하게 취급하면 오답.
– RNN은 기본적으로 고정 길이 입력만 처리 가능하다고 오해할 수 있으나, 가변 길이 시퀀스도 처리 가능.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) RNN은 시퀀스 데이터의 시간적 의존성을 학습하는 구조이다.
– (O) RNN은 이전 시점의 은닉 상태를 다음 시점 계산에 사용한다.
– (X) RNN은 입력 데이터의 순서와 무관하게 동작한다.
– (X) RNN은 장기 의존성 문제를 완전히 해결한다.
ㅁ 추가 학습 내용
RNN 시험 대비 핵심 정리
1. RNN 기본 구조 외 변형 모델
– LSTM: 장기 의존성 문제 해결에 강점, 게이트 구조로 정보 흐름 제어
– GRU: LSTM보다 구조 단순, 계산 효율 높음, 성능은 유사
– 차이점: LSTM은 입력·출력·망각 게이트, GRU는 업데이트·리셋 게이트
– 장단점: LSTM은 복잡하지만 장기 의존성 처리 우수, GRU는 빠르고 파라미터 수 적음
2. BPTT(Backpropagation Through Time)
– 시간 축을 따라 펼친 RNN에 역전파 적용
– 기울기 소실/폭발 문제 발생 가능
– 원인: 시퀀스 길어질수록 기울기 값이 0 또는 무한대로 수렴
– 해결 방법: Gradient Clipping, 가중치 초기화 기법, LSTM/GRU 사용
3. RNN 구조 변형
– 양방향 RNN(Bidirectional RNN): 순방향과 역방향 정보를 모두 활용, 문맥 이해에 유리
– 다층 RNN(Stacked RNN): 여러 층 쌓아 복잡한 패턴 학습 가능
4. 최근 동향
– 실제 응용에서 Transformer 계열 모델이 RNN을 대체하는 추세
– 시험에서 RNN과 Transformer 비교 문장 출제 가능 (예: 최근에는 RNN보다 Transformer 사용이 많아짐)