순환 신경망, RNN (Recurrent Neural Network)
- 이전 step의 정보를 기억
- 데이터 입력를 고려하여 데이터를 처리, 입력 순서에 민감
- 이전 출력값(재귀 가중치)과 현재 입력값(입력 가중치)에 대해 서로 다른 가중치를 사용
- document를 입력하고 label을 출력하는 모델에 사용가능

LSTM / GRU: RNN의 단점인 장기 의존성(Long-term dependency) 문제 해결
GRU
- RNN의 변형으로, 주로 시퀀스 데이터에서 예측 작업을 위해 사용, 시퀀스 데이터를 모델링하는 데 적합
- LSTM보다 구조가 간단하여 연산 속도가 빠름
- 파라미터가 적어 데이터가 적을 때 유리
- 장기 의존성 문제도 해결 가능
Attention / Transformer: Many-to-Many 구조의 발전형 → 번역, 요약, 질의응답 등에서 주로 사용
One-to-One
- 입력 1개 → 출력 1개
- 전통적인 Feed-Forward Neural Network (FFNN) 구조와 동일
- 고정된 크기의 이미지 분류 (Image Classification → CNN이 더 일반적)
- 숫자 인식 (MNIST)
- 스팸 메일 분류
장점
- 단순한 구조로 학습이 빠름
- 입력과 출력의 관계가 명확
단점
- 시퀀스(Sequence) 데이터 처리 불가
- 시간적 의존성 학습 불가
One-to-Many
- 입력 1개 → 여러 개의 출력 (시간축으로 펼쳐짐)
- 하나의 입력을 기반으로 여러 시점의 출력을 생성
- 텍스트 생성
- 음악 생성
- 입력 : 특정 코드/음표
- 출력 : 연속된 음표 시퀀스
- 이미지를 설명하는 문장을 만드는 이미지 캡셔닝 (Image Captioning)
- 입력 : 한 장의 이미지
- 출력 : 여러 단어(문장)
장점
- 한 번의 입력으로 시퀀스 생성 가능
- 문장 생성, 음악 생성 등에 적합
단점
- 입력이 하나로 고정되어 다양성 부족 → 학습 난이도 불안정성
- 긴 시퀀스 생성 시 학습 불안정 가능 (Gradient Vanishing 문제)
- 예측이 시간에 따라 누적 오차 발생 가능
Many-to-One
- 여러 입력 시퀀스 → 하나의 출력
- 시퀀스 전체를 보고 결론을 내림
- 주가 예측 : 일정 기간의 가격 시퀀스 → 다음 날 상승 / 하락 여부 (One-to-One도 가능)
- 스팸 메일 분류, 주가 예측
- 시계열 예측 (다음 값 예측 등)
- 감정 분석 (Sentiment Analysis)
- 입력: 문장 (단어 시퀀스)
- 출력: 감정 라벨 (긍정/부정)
장점
- 시퀀스 정보를 모두 반영해 최종 판단 가능
- 문맥을 반영한 분류에 유리
단점
- 중간 상태(숨은 상태)를 해석하기 어려움
- 긴 시퀀스에서는 앞부분 정보 소실 가능
Many-to-Many
- 여러 입력 → 여러 출력
- 시퀀스 입력에 대해 시퀀스 출력
- 두 가지 형태가 있음
- 입력과 출력 길이 동일한 경우
- 입력 길이 ≠ 출력 길이 (Seq2Seq 구조)
- 기계 번역 (Machine Translation,Seq2Se1)
- 음성 인식 (Speech Recognition)
- 비디오 설명 생성 (Video Captioning)
- 시계열 예측 : 과거 시퀀스 → 미래 시퀀스
- 문장에서 단어 찾기
- POS 태깅 : 문장 단어 시퀀스 → 각 단어의 품사 시퀀스 (동기식, 입력 = 출력)
장점
- 복잡한 시퀀스 매핑 가능 (입력 ↔ 출력 모두 시퀀스)
- Encoder-Decoder 구조로 문맥 이해 및 생성 가능
단점
- 모델 복잡도 높음 (훈련 시간 및 데이터 요구 많음)
- 긴 시퀀스 학습 어려움 (→ LSTM, GRU, Attention 필요)
'개발 > Python' 카테고리의 다른 글
| PCA vs LDA vs t-SNE (0) | 2025.10.09 |
|---|---|
| 오즈와 오즈비 (0) | 2025.10.09 |
| 불균형 데이터 처리 (0) | 2025.10.08 |
| Batch Normalization vs Layer Normalization (0) | 2025.10.08 |
| 과대적합 해결 방법 (0) | 2025.10.08 |
댓글