AI/빅데이터

[빅데이터] 딥러닝 - CNN, RNN, Transformer까지 한 번에 정리

넷곰 2026. 4. 14. 13:51
[AI/ML #6] 딥러닝 — CNN, RNN, Transformer까지 한 번에 정리

개요

딥러닝은 ML의 한 종류로 인간 뇌의 신경망 구조를 모방한다. 선형회귀, 랜덤포레스트로 처리하기 어려운 이미지, 텍스트, 시계열 데이터에 강하다. CNN, RNN, Transformer는 모두 딥러닝의 하위 구조로, 처리하는 데이터 특성에 따라 구분된다. ChatGPT, RAG, Agent 전부 이 구조 위에서 동작한다.

WHY — 기존 ML로 안 되는 경우

랜덤포레스트는 표 형태의 정형 데이터에 강하다. 하지만 네트워크 로그 전체 흐름에서 패턴을 찾거나, 장애 원인을 자연어로 설명하거나, 시계열 트래픽의 장기 패턴을 학습하려면 다른 구조가 필요하다. 딥러닝은 이런 비정형 데이터와 복잡한 순서 정보를 처리하기 위해 등장했다.

HOW — 딥러닝 기초: 신경망 구조

뉴런과 신경망

인간 뇌의 뉴런은 신호가 일정 기준 이상이면 다음으로 전달한다. 딥러닝은 이를 수식으로 흉내낸다.

입력값들 × 가중치 → 합산 → 기준 넘으면 활성화 → 출력

신경망 구조:
입력층 → 은닉층1 → 은닉층2 → ... → 출력층

사용률 ──●
          ↘   ●
패킷크기 ──●  ↗ ↘   → 공격(1) / 정상(0)
          ↗   ●  ↗
포트번호 ──●
딥러닝 = 은닉층이 많은(깊은) 신경망. 층이 깊을수록 더 복잡한 패턴을 찾을 수 있다. ChatGPT는 가중치가 수천억 개다.

CNN (Convolutional Neural Network)

원래 목적 — 이미지 패턴 인식

컴퓨터에게 이미지는 숫자 배열이다. CNN은 작은 필터를 이미지 위에 슬라이딩하면서 패턴을 단계적으로 추출한다.

CNN 처리 흐름:

Convolution (패턴 추출)
→ 작은 필터를 전체 이미지에 슬라이딩
→ 필터1: 가로선 감지 / 필터2: 세로선 감지 / 필터3: 대각선 감지

Pooling (핵심만 남김)
→ 각 구역의 최댓값만 선택해 크기 축소
→ 데이터 크기 줄이면서 핵심 특징 유지

분류 (최종 판단)
→ 추출된 특징을 일반 신경망에 입력
→ "고양이" / "개" / "새" 출력

네트워크에서의 응용

트래픽 로그를 시간 순서대로 이미지처럼 변환하면 CNN으로 패턴을 감지할 수 있다. 예측 분석 강의에서 CNN이 등장한 이유가 이것이다.

24시간 트래픽 데이터
→ 시간대별 수치를 2D 배열로 변환
→ CNN으로 슬라이딩 스캔
→ "이 패턴은 DDoS 전조 패턴과 유사"

RNN / LSTM (Recurrent Neural Network)

순서가 있는 데이터를 위한 구조

CNN이 공간적 패턴을 처리한다면 RNN은 시간적 패턴을 처리한다. 이전 결과를 다음 입력에 같이 전달해서 순서 정보를 유지한다.

일반 신경망:
입력 → 처리 → 출력

RNN:
09:00 트래픽 → 처리 → 출력 + 기억
10:00 트래픽 + 이전 기억 → 처리 → 출력 + 기억
11:00 트래픽 + 이전 기억 → 처리 → "이상 징후 예측"

LSTM — 장기 기억 문제 해결

RNN은 기억을 계속 전달하다 보면 오래된 정보가 희미해진다. LSTM은 중요한 것은 오래 기억하고 불필요한 것은 지우는 구조로 이 문제를 해결했다.

항목RNNLSTM
장기 기억희미해짐유지됨
구조 복잡도단순복잡 (게이트 3개)
학습 속도빠름느림
활용짧은 시계열긴 시계열, 로그 분석

Transformer

전체를 한꺼번에 보는 구조

RNN은 순서대로 하나씩 처리한다. Transformer는 전체를 동시에 보고 중요한 부분에 집중한다. 이 집중 메커니즘을 Attention(어텐션)이라 한다.

RNN 방식:
1시간 → 2시간 → 3시간 → ... → 24시간 (순차 처리)

Transformer 방식:
1시간, 2시간, 3시간, ..., 24시간 (동시 처리)
→ "3시간과 21시간 패턴이 유사하다" 즉시 파악

Attention — 중요한 것에 집중

24시간 트래픽 분석:
→ 급증 구간: Attention 높음 (집중)
→ 평상시 구간: Attention 낮음 (상대적으로 무시)
→ 중요한 패턴을 더 정확하게 포착

ChatGPT 원리 연결

GPT = Generative Pre-trained Transformer

1. 인터넷 텍스트 수천억 개로 사전 학습
   (다음 단어 예측하는 방식)

2. Attention으로 문맥 전체 파악

3. 사용자 질문 입력
   → 문맥 파악 → 다음 토큰 예측 → 반복
   → 답변 완성

RNN vs Transformer 비교

항목RNN / LSTMTransformer
처리 방식순서대로 하나씩전체 동시 처리
장기 기억희미해짐 (LSTM 개선)전체 다 기억
병렬 처리어려움가능 (GPU 효율)
학습 속도느림빠름
대표 활용시계열 예측ChatGPT, 번역, RAG

전체 딥러닝 지도

딥러닝
├─ CNN
│   데이터: 이미지, 공간 패턴
│   원리:   필터 슬라이딩으로 특징 추출
│   활용:   이미지 인식, 트래픽 패턴 탐지
│
├─ RNN / LSTM
│   데이터: 시계열, 순서 있는 데이터
│   원리:   이전 결과를 다음 입력에 전달
│   활용:   트래픽 예측, 로그 분석
│
└─ Transformer
    데이터: 텍스트, 시계열 모두
    원리:   전체 동시 처리 + Attention
    활용:   ChatGPT, RAG, 장애 원인 분석
            → network-rag 프로젝트의 핵심

면접 포인트

Q. CNN과 RNN의 차이를 설명하세요.
처리하는 데이터의 특성이 다릅니다. CNN은 공간적 패턴을 처리합니다. 이미지처럼 위치 관계가 중요한 데이터에서 필터를 슬라이딩하며 특징을 추출합니다. RNN은 시간적 패턴을 처리합니다. 로그나 시계열 데이터처럼 순서가 중요한 데이터에서 이전 결과를 다음 입력에 함께 넣어 순서 정보를 유지합니다. 네트워크에서는 CNN은 트래픽 패턴 이미지 탐지에, RNN/LSTM은 시계열 트래픽 예측에 활용합니다.
Q. Transformer가 RNN보다 좋은 이유는 무엇인가요?
세 가지입니다. 첫째, 전체를 동시에 처리해서 속도가 빠릅니다. RNN은 순서대로 처리해야 해서 병렬화가 어렵습니다. 둘째, Attention으로 멀리 떨어진 위치의 관계도 직접 파악합니다. RNN은 오래된 정보가 희미해지는 문제가 있습니다. 셋째, GPU 병렬 처리에 최적화되어 대규모 학습이 가능합니다. 이 장점들 덕분에 ChatGPT 같은 대형 언어 모델이 가능해졌습니다.
Q. RAG(Retrieval-Augmented Generation)에서 Transformer가 어떤 역할을 하나요?
RAG는 외부 문서를 검색해서 LLM에게 제공하는 구조입니다. Transformer는 두 곳에서 쓰입니다. 첫째, 문서를 벡터로 변환할 때 Transformer 기반 임베딩 모델이 사용됩니다. 질문과 의미적으로 유사한 문서를 찾기 위해서입니다. 둘째, 검색된 문서와 질문을 함께 받아 답변을 생성할 때 GPT 같은 Transformer 기반 LLM이 사용됩니다. Attention이 "어떤 문서의 어떤 부분이 이 질문에 중요한가"를 파악하는 역할을 합니다.