← 개념서태블릿/PC 버전
3과목 · 빅데이터 모델링·8

인공신경망과 딥러닝

퍼셉트론과 XOR 문제, 활성화 함수, 역전파와 기울기 소실, CNN의 합성곱·패딩·스트라이드·풀링과 출력 크기 계산, RNN·LSTM을 다룹니다.

인공신경망의 구조

사람 뉴런을 본떠 만든 모형으로, 입력층 → 은닉층 → 출력층으로 구성됩니다.

요소 대응
가중치(weight) 입력의 중요도. 학습으로 갱신되는 모수
편향(bias) 활성화 임계값을 조절하는 상수항
활성화 함수 가중합을 비선형으로 변환해 다음 층에 전달
은닉층 2개 이상이면 심층 신경망(DNN) = 딥러닝

퍼셉트론과 XOR 문제

단층 퍼셉트론은 입력층과 출력층만 있는 최초의 신경망으로, 선형 분리가 가능한 문제만 풀 수 있습니다.

논리 연산 단층 퍼셉트론
AND, OR, NAND 가능 (하나의 직선으로 분리 가능)
XOR 불가능 (직선 하나로 분리 불가)

XOR 문제는 은닉층을 추가한 다층 퍼셉트론(MLP) 으로 해결되었고, 다층 신경망의 학습법이 오차 역전파(back-propagation) 입니다.

"XOR 문제는 활성화 함수를 바꿔서 해결했다"는 오답입니다. 해법은 은닉층 추가(다층화) 이고, 그 다층 구조를 학습시키는 방법이 역전파입니다. 이 사건이 1차 AI 겨울과 그 극복의 서사로 자주 출제됩니다.

활성화 함수

함수 식/출력 범위 주 용도 특징
계단 함수(Step) 0 또는 1 초기 퍼셉트론 미분 불가 → 역전파 불가
시그모이드(Sigmoid) 1/(1+e⁻ˣ), 0 ~ 1 이진 분류 출력층 미분값 최대 0.25 → 층이 깊으면 기울기 소실
하이퍼볼릭 탄젠트(tanh) -1 ~ 1 은닉층 출력이 0 중심이라 시그모이드보다 학습이 빠름. 여전히 기울기 소실
ReLU max(0, x), 0 ~ ∞ 은닉층 기본값 계산이 빠르고 기울기 소실 완화. 음수 입력에서 뉴런이 죽는(dying ReLU) 문제
Leaky ReLU 음수 구간에 작은 기울기 은닉층 dying ReLU 보완
소프트맥스(Softmax) 합이 1인 확률 벡터 다중 분류 출력층 각 클래스의 확률로 해석

용도 배치가 그대로 문제가 됩니다. 은닉층 = ReLU, 이진 분류 출력 = 시그모이드, 다중 분류 출력 = 소프트맥스, 회귀 출력 = 항등 함수(활성화 없음). "소프트맥스를 은닉층에 쓴다"는 오답입니다.

손실함수도 짝지어 외웁니다. 회귀 = MSE, 이진 분류 = 이진 교차 엔트로피, 다중 분류 = 범주형 교차 엔트로피.

학습 — 순전파와 역전파

  1. 순전파: 입력 → 가중합 → 활성화 → 출력, 그리고 손실(오차) 계산
  2. 역전파: 출력층에서 입력층 방향으로 연쇄법칙(chain rule) 을 적용해 각 가중치의 기울기를 구함
  3. 경사하강법으로 가중치를 갱신 — 새 가중치 = 기존 가중치 - 학습률 × 기울기
경사하강 방식 갱신 단위
배치 경사하강법 전체 데이터로 한 번 갱신 — 안정적이지만 느림
확률적 경사하강법(SGD) 관측치 하나마다 갱신 — 빠르지만 진동
미니배치 경사하강법 소집단(예: 32·64개)마다 갱신 — 실무 표준

옵티마이저는 SGD → 모멘텀 → AdaGrad → RMSProp → Adam(모멘텀 + RMSProp) 순으로 발전했습니다. 1 에폭(epoch) 은 전체 데이터를 한 번 다 학습한 것을 뜻하고, 에폭 수 / 배치 크기 / 학습률은 모두 초매개변수입니다.

학습률이 너무 크면 최적점을 지나쳐 발산하고, 너무 작으면 학습이 느리고 지역 최솟값에 갇힙니다. 학습률은 학습되는 값이 아니라 사람이 정하는 초매개변수입니다.

기울기 소실과 대응

역전파에서 층을 거슬러 갈수록 기울기가 곱해지며 0에 수렴해 앞쪽 층이 학습되지 않는 현상기울기 소실(vanishing gradient) 입니다. 시그모이드의 미분값이 최대 0.25라 층이 깊을수록 급격히 작아집니다.

문제 대응
기울기 소실 ReLU 계열 활성화 함수, 배치 정규화, 잔차 연결(ResNet), LSTM/GRU
기울기 폭주 기울기 클리핑, 가중치 초기화 조정
과대적합 드롭아웃, L1·L2 규제, 조기 종료, 데이터 증강

드롭아웃(Dropout) 은 학습 중 은닉 노드의 일부를 무작위로 비활성화해 특정 노드 의존을 막는 기법이며, 예측(추론) 시에는 적용하지 않습니다. 가중치 초기화는 Xavier(시그모이드·tanh), He(ReLU) 를 씁니다.

CNN — 합성곱 신경망

이미지 처리에 특화된 구조로, 합성곱층(Convolution) → 활성화 → 풀링층(Pooling) 을 반복한 뒤 완전연결층(FC) 으로 분류합니다.

요소 역할
필터(커널) 입력을 훑으며 특징 맵(feature map) 을 생성. 가중치 역할
스트라이드(Stride) 필터가 이동하는 간격. 크면 출력이 작아짐
패딩(Padding) 가장자리에 0을 덧대 출력 크기 축소를 막고 경계 정보를 보존
풀링(Pooling) 특징 맵을 다운샘플링해 크기를 줄임. 최대 풀링·평균 풀링. 학습 파라미터가 없음
완전연결층 평탄화(flatten) 후 분류 수행

CNN의 장점은 가중치 공유(파라미터 수 감소)지역 수용영역을 통한 공간 정보 보존입니다.

출력 크기 계산식 — 반드시 계산 문제로 나옵니다

출력 크기 = (입력 크기 - 필터 크기 + 2 × 패딩) / 스트라이드 + 1

예제 ① 패딩 없음, 스트라이드 1 입력 32×32, 필터 5×5, 패딩 0, 스트라이드 1 → (32 - 5 + 0) / 1 + 1 = 27 + 1 = 28 → 출력 28 × 28

예제 ② 패딩 사용(크기 유지) 입력 32×32, 필터 5×5, 패딩 2, 스트라이드 1 → (32 - 5 + 2×2) / 1 + 1 = (32 - 5 + 4) + 1 = 31 + 1 = 32 → 출력 32 × 32 (크기 유지)

예제 ③ 스트라이드 2 입력 7×7, 필터 3×3, 패딩 0, 스트라이드 2 → (7 - 3 + 0) / 2 + 1 = 4/2 + 1 = 2 + 1 = 3 → 출력 3 × 3

예제 ④ 풀링 입력 28×28에 2×2 최대 풀링, 스트라이드 2 → (28 - 2) / 2 + 1 = 13 + 1 = 14 → 출력 14 × 14 (가로·세로가 절반)

계산의 함정은 세 가지입니다. ① 마지막 +1을 빠뜨리기, ② 패딩은 양쪽에 붙으므로 2P로 더해야 한다는 점, ③ 나눗셈 결과가 정수가 아니면 버림한다는 점. 그리고 패딩은 크기를 유지하기 위한 것이지 크기를 키우려는 장치가 아닙니다. 필터를 크게 하거나 스트라이드를 키우면 출력은 작아집니다.

RNN과 LSTM

RNN(순환 신경망) 은 은닉층의 출력을 다음 시점의 입력으로 되먹임해 순서·문맥을 기억하는 구조로, 시계열·음성·자연어에 씁니다.

한계는 시점이 길어질수록 앞쪽 정보가 사라지는 장기 의존성 문제(기울기 소실) 입니다.

모형 게이트 특징
LSTM 입력 게이트 · 삭제(망각) 게이트 · 출력 게이트 3개 + 셀 상태 오래된 정보를 셀 상태로 유지해 장기 의존성 해결
GRU 업데이트 게이트 · 리셋 게이트 2개 LSTM보다 구조가 단순하고 학습이 빠름, 성능은 유사

LSTM의 게이트는 3개, GRU는 2개이고, LSTM에만 셀 상태(cell state) 가 있다는 점이 핵심 비교입니다. "LSTM은 기울기 소실을 완화한다"는 맞는 서술입니다.

그 밖의 딥러닝 구조

구조 용도
오토인코더(AutoEncoder) 입력을 압축(인코더)했다가 복원(디코더). 비지도 차원 축소·이상탐지
GAN 생성자(Generator)판별자(Discriminator) 의 경쟁 학습으로 새로운 데이터 생성
DBN 제한 볼츠만 머신(RBM)을 쌓아 사전학습
전이학습(Transfer Learning) 사전학습 모형을 새로운 과제에 재사용

오토인코더는 정답 레이블 없이 입력 자신을 복원하도록 학습하는 비지도학습입니다. GAN의 생성자와 판별자 역할을 뒤바꾼 선택지도 단골이니, 생성자는 속이는 쪽, 판별자는 가려내는 쪽으로 기억합니다.