인공지능 딥러닝 개론 - 딥러닝이란 무엇인가

2026년 4월 9일 2026년 4월 10일 7분
초급
1h 30m
최종 편집 2026년 4월 10일
v2
인공지능 딥러닝 개론 대표 이미지

인공지능 딥러닝 개론

강의 상세 자료

강의 개요

“딥러닝이 도대체 무엇인지” 한 번에 감을 잡고 싶은 분들을 위한 입문 강의입니다.
수식보다는 그림·비유·인터랙티브 데모로 시작해서,
마지막에는 MNIST 숫자 분류 모델을 직접 따라가며 트레이닝-테스트-예측까지의 흐름을 체험합니다.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#e3f2fd','primaryBorderColor':'#90caf9','lineColor':'#546e7a','textColor':'#333','mainBkg':'#fafafa','nodeBorder':'#90a4ae','clusterBkg':'#f5f5f5','clusterBorder':'#bdbdbd'}}}%% flowchart LR subgraph 알고리즘["알고리즘 (사람이 작성)"] I1["입력\n2"] --> A1["if/else"] --> O1["출력\n초록색"] end subgraph 머신러닝["머신러닝 (기계가 학습)"] I2["입력\n이미지"] --> A2["w개의\n가중치"] --> O2["출력\nCar"] end 알고리즘 -- "복잡도 증가" --> 머신러닝 style I1 fill:#bbdefb,stroke:#1976d2,stroke-width:2px,rx:10,ry:10 style A1 fill:#eceff1,stroke:#546e7a,stroke-width:2px,rx:10,ry:10 style O1 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style I2 fill:#bbdefb,stroke:#1976d2,stroke-width:2px,rx:10,ry:10 style A2 fill:#fff9c4,stroke:#f9a825,stroke-width:2px,rx:10,ry:10 style O2 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style 알고리즘 rx:15,ry:15 style 머신러닝 rx:15,ry:15

강의 흐름

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#e3f2fd','primaryBorderColor':'#90caf9','lineColor':'#546e7a','textColor':'#333','mainBkg':'#fafafa','nodeBorder':'#90a4ae','clusterBkg':'#f5f5f5','clusterBorder':'#bdbdbd'}}}%% flowchart LR subgraph 전반부["전반부 — 개념"] direction TB P1["Part 1\n알고리즘과 함수"] P2["Part 2\n머신러닝과 딥러닝"] P3["Part 3\n신경망 구조"] P1 --> P2 --> P3 end subgraph 중반부["중반부 — 학습 원리"] direction TB P4["Part 4\n트레이닝 비유\n(농구·눈 가리고 걷기)"] P5["Part 5\n트레이닝·검증\n·테스트·예측"] P4 --> P5 end subgraph 후반부["후반부 — 실습 흐름"] direction TB P6["Part 6\n딥러닝의 한계"] P7["Part 7\n모델은 어떻게\n선택되는가"] P8["Part 8\nMNIST 실습\n(Dense → CNN)"] P6 --> P7 --> P8 end 전반부 --> 중반부 --> 후반부 style P1 fill:#e3f2fd,stroke:#90caf9,stroke-width:2px,rx:10,ry:10 style P2 fill:#e3f2fd,stroke:#90caf9,stroke-width:2px,rx:10,ry:10 style P3 fill:#e3f2fd,stroke:#90caf9,stroke-width:2px,rx:10,ry:10 style P4 fill:#fff9c4,stroke:#f9a825,stroke-width:2px,rx:10,ry:10 style P5 fill:#fff9c4,stroke:#f9a825,stroke-width:2px,rx:10,ry:10 style P6 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style P7 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style P8 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style 전반부 rx:15,ry:15 style 중반부 rx:15,ry:15 style 후반부 rx:15,ry:15

핵심 질문

이 강의는 다음 질문에 답하는 것을 목표로 합니다.

  • 알고리즘과 머신러닝, 딥러닝의 차이는 무엇인가요?
  • 28×28 흑백 이미지 한 장을 분류하는 데 왜 무한대에 가까운 경우의 수가 필요한가요?
  • “가중치(weight) w를 학습한다"는 말은 정확히 무슨 뜻인가요?
  • 활성화 함수는 왜 필요하고, softmax는 어떻게 확률을 만드나요?
  • 배치(batch)·스텝(step)·에포크(epoch)는 어떤 관계인가요?
  • 트레이닝(training)·검증(validation)·테스트(test)·예측(predict)은 어떻게 다른가요?
  • 같은 데이터·같은 모델인데 왜 학습할 때마다 결과가 달라지나요?
  • 오버피팅은 무엇이고, 왜 딥러닝은 100%가 안 되나요?
  • “Sonnet 4” 같은 모델은 어떤 과정을 거쳐 최종 선택되나요?

학습 목표

  • 알고리즘 → 머신러닝 → 딥러닝으로 이어지는 발전 흐름을 직관적으로 이해합니다
  • 입력층·은닉층·출력층으로 이루어진 신경망의 기본 구조를 파악합니다
  • 가중치(weight), 편향(bias), 활성화 함수(ReLU, Softmax)의 역할을 이해합니다
  • 손실 함수(Loss Function), 옵티마이저(Optimizer), 학습률(Learning rate), 에포크(epoch) 개념을 익힙니다
  • 데이터 3분할(트레이닝/검증/테스트)과 오버피팅의 개념을 이해합니다
  • 모델 구조·데이터셋·트레이닝 조합을 비교해 최종 모델을 선택하는 과정을 이해합니다
  • MNIST 예제로 전체 딥러닝 파이프라인(입출력 정의 → 데이터 → 모델 → 트레이닝 → 테스트 → 예측)을 체험합니다

수강 대상 · 선수 지식

수강 대상선수 지식
딥러닝을 처음 시작하는 대학생·개발자프로그래밍 기초 (변수·함수·조건문 정도)
AI/ML 용어는 들어봤지만 원리가 궁금한 분행렬과 곱셈에 대한 막연한 이해 (없어도 무방)
비전공자이지만 AI 흐름을 따라가고 싶은 분Python을 몰라도 OK (코드는 흐름 위주로 설명)

시연 환경

항목구성
프레임워크TensorFlow / Keras
데이터셋MNIST (28×28 손글씨 숫자 70,000장)
코드 실행Python 3.11+, Jupyter Notebook
모델 비교Dense 단일 모델 vs Conv2D 활용 모델

강의 구성

Part 1 — 알고리즘과 함수

  • 함수: 입력을 받아 출력을 내보내는 처리 단위 (입력 2 → 함수 → 초록색)
  • 알고리즘: 사람이 어떤 문제의 풀이 방법을 고민해 컴퓨터 프로그램으로 만드는 것
  • 간단한 if/else 알고리즘 예시 — input < 4 면 green, 그렇지 않으면 blue
  • 핵심: 사람이 직접 풀이 방법을 만든다 — 입력이 단순할 때 잘 동작합니다

Part 2 — 머신러닝과 딥러닝

  • AI ⊃ Machine Learning ⊃ Deep Learning 의 포함 관계
  • 머신러닝: 사람이 풀이 방법을 만드는 대신, 기계가 학습해서 컴퓨터 프로그램을 만듭니다
  • 왜 필요할까? 입력이 복잡해지고(이미지), 입력에 따라 알고리즘이 계속 변해야 하는 상황 때문입니다
  • 28×28 흑백 이미지의 경우의 수: 256^784 ≈ ∞ — 모든 경우에 대응하는 알고리즘은 사실상 불가능합니다
  • 핵심: 무한대 변수가 필요한 문제를 유한한 w개의 가중치로 근사해서 풉니다.
    • 실제 자연 이미지는 그 거대한 공간 안의 극히 일부에만 존재하기 때문에, 유한한 가중치로도 충분히 근사가 가능합니다

Part 3 — 신경망 구조

  • 입력층 → 은닉층 → 출력층으로 이어지는 신경망의 기본 구조
  • 가중치(weight): 노드 사이의 연결 강도. 편향(bias): 노드 출력을 평행이동시키는 값
  • 활성화 함수: 곱하고 더한 결과에 비선형 함수를 통과시켜, 층을 쌓는 의미를 만들어줍니다
    • 은닉층: ReLU (음수는 0, 양수는 그대로)
    • 출력층: Softmax (여러 출력값을 합이 1이 되는 확률 분포로 변환)
  • 활성화 함수가 없으면(선형만 합성하면) 아무리 층을 쌓아도 하나의 선형 변환과 같습니다
  • Deep Learning = 은닉층을 여러 층 깊게 쌓은 신경망. 앞쪽 층은 단순한 특징(선·곡선), 뒤쪽 층은 추상적 특징(숫자의 형태 등)을 잡습니다

Part 4 — 트레이닝의 비유

가중치를 학습시키는 과정을 두 가지 비유로 풀어봅니다.

  • 하루에 100번 농구공 던지기: 매일 시도하면서 점점 골대에 가까워집니다.
    • “얼마나 더 세게"가 미분,
    • “한 번에 얼마나 바꿀지"가 학습률(learning rate),
    • 바람이 불어서 같은 힘이어도 결과가 달라지는 것이 미니배치 노이즈입니다
  • 눈 가리고 걸어가기: 지시자가 수행자에게 방향과 거리를 알려줍니다.
    • 거리를 계산하는 것이 Loss Function,
    • 방향과 보폭을 결정하는 것이 옵티마이저,
    • 보폭 크기가 학습률입니다.
    • 지시자의 안내에는 잡음이 섞여 있어서 직선으로 가지 못합니다
  • 경사 하강법(Gradient Descent):
    • 손실 함수의 기울기 방향과 반대로 가중치를 조금씩 움직여 최저점에 도달합니다.
    • 학습률이 너무 작으면 느리고, 너무 크면 발산합니다

Part 5 — 트레이닝 · 검증 · 테스트 · 예측

  • 데이터 3분할: 트레이닝(학습용) / 검증(학습 중 모니터링) / 테스트(최종 평가).
    • 학습에 쓴 데이터로 평가하면 진짜 실력을 알 수 없습니다
  • Softmax: 모델이 내놓은 점수(logit)를 합이 1이 되는 확률 분포로 변환.
    • 작은 점수 차이가 지수 함수로 크게 증폭됩니다
  • 배치(batch): 가중치를 한 번 업데이트할 때 사용하는 데이터 묶음 (보통 32개)
  • 스텝(step): 한 배치를 처리하는 1회 업데이트.
    • 60,000개를 batch=32로 → 1 epoch당 1,875 step
  • 에포크(epoch): 전체 데이터를 한 번 다 훑은 단위.
    • 에포크를 반복할수록 가중치가 정교해집니다
  • 테스트: 학습 때 보지 않은 데이터로 모델의 일반화 성능 측정
  • 예측(Inference): 학습이 끝난 모델로 새로운 데이터의 답을 추론

Part 6 — 딥러닝은 모든 것을 해결할까?

  • 오버피팅: 트레이닝 데이터에 과도하게 맞춰진 나머지, 처음 보는 데이터에서는 성능이 떨어지는 현상.
    • 에포크를 늘렸더니 오히려 정확도가 떨어졌다면 오버피팅의 신호입니다
  • 트레이닝 데이터에 의한 편향: 학습 데이터의 분포가 곧 모델이 만들 수 있는 결과의 분포입니다.
    • PULSE 모델이 오바마 사진을 백인으로 복원한 사례
  • 모델 구조에 의한 차이: 같은 문제도 모델 구조에 따라 결과 차이가 큽니다 (Bicubic vs SRCNN 예시)
  • 랜덤 초기값에 의한 차이: 같은 모델을 같은 데이터로 학습해도 결과가 매번 달라집니다 — 가중치 초기값이 랜덤이기 때문
  • 100%가 안 되는 이유: 데이터 자체의 노이즈, 트레이닝/테스트 분포 차이, 오버피팅 vs 일반화의 trade-off

Part 7 — 모델은 어떻게 선택되는가

  • 실제로 “Sonnet 4"처럼 하나의 이름으로 발표되는 모델 뒤에는 수많은 조합 실험이 숨어 있습니다
  • 모델 구조 변형: 내부적으로 mark_1, mark_2, mark_3 등 구조가 다른 여러 버전을 만듭니다
  • 데이터셋 변형: 수집 범위·정제 방식이 다른 데이터셋을 준비합니다
  • 반복 트레이닝: 같은 조합이라도 랜덤 초기값 때문에 매번 결과가 다르므로 여러 번 트레이닝합니다
  • 테스트·선택: 별도의 테스트 데이터셋으로 평균 점수를 비교해 가장 좋은 조합이 최종 모델로 발표됩니다
  • 실제로는 하이퍼파라미터(학습률, 배치 크기, 에포크 수 등)까지 조합하므로 경우의 수는 훨씬 많습니다

Part 8 — MNIST 실습 흐름

전체 딥러닝 과정을 6단계로 구분해 따라갑니다.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#e3f2fd','primaryBorderColor':'#90caf9','lineColor':'#546e7a','textColor':'#333','mainBkg':'#fafafa','nodeBorder':'#90a4ae','clusterBkg':'#f5f5f5','clusterBorder':'#bdbdbd'}}}%% flowchart TB S1["1. 입출력 정의"] --> S2["2. 데이터 세트 준비·처리"] S2 --> S3["3. 모델 구성·컴파일"] S3 --> S4["4. 트레이닝 및 검증"] S4 --> S5["5. 테스트"] S5 --> S6["6. 예측"] style S1 fill:#bbdefb,stroke:#1976d2,stroke-width:2px,rx:10,ry:10 style S2 fill:#bbdefb,stroke:#1976d2,stroke-width:2px,rx:10,ry:10 style S3 fill:#fff9c4,stroke:#f9a825,stroke-width:2px,rx:10,ry:10 style S4 fill:#fff9c4,stroke:#f9a825,stroke-width:2px,rx:10,ry:10 style S5 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10 style S6 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,rx:10,ry:10
  • 입출력 정의: 입력 28×28 이미지 → 출력 10개 클래스 확률. Loss는 SparseCategoricalCrossentropy
  • 데이터: MNIST 60,000장(트레이닝) + 10,000장(테스트). 정수 라벨 ↔ Sparse, 원-핫 ↔ Categorical 짝을 맞춤
  • 모델 예제 1: Input → Flatten → Dense(10, softmax) — 가중치 7,850개, 정확도 ~91%
  • 모델 예제 2: Conv2D → MaxPool2D → Conv2D → MaxPool2D → Flatten → Dense — 정확도 향상
  • 트레이닝: 입력 정규화(/255.0) → forward → loss → backward → update 반복. validation_split으로 검증
  • 테스트: 같은 전처리 적용 후 evaluate. 여러 모델/에포크 조합을 비교
  • 예측: model.predict()np.argmax()로 가장 높은 확률의 클래스를 답으로 선택

강의 방식

  • 형태: 오프라인/온라인 (1시간 30분)
  • 수식 최소화: 그림과 비유 위주로 설명, 필요한 계산은 단계별로 풀이
  • 인터랙티브 데모:
    • 활성화 함수 시각화, 뉴런 계산기, 농구 슛 트레이닝, 눈 가리고 걸어가기,
      경사 하강법, Softmax 시각화, 에포크 시각화, 오버피팅 곡선, 트레이닝 시뮬레이터,
      모델 선택 과정 시뮬레이터, MNIST 픽셀 탐색기
      등 11종의 인터랙티브 데모 제공
  • 실습 코드 공유: TensorFlow/Keras 기반 MNIST 예제 코드 제공
  • 질의응답: 강의 중 자유 질문 환영, 마지막 10분 별도 Q&A

핵심 메시지 요약

파트핵심 메시지
Part 1알고리즘은 사람이 풀이 방법을 직접 작성합니다. 입력이 단순할 때 잘 동작합니다
Part 2입력이 복잡해지면 사람이 모든 경우를 쓸 수 없습니다. 기계가 학습해 가중치 w로 근사합니다
Part 3신경망은 입력층·은닉층·출력층으로 이루어지며, 비선형 활성화 함수가 있어야 층을 깊게 쌓는 의미가 있습니다
Part 4트레이닝은 결과를 보고 가중치를 조금씩 바꾸는 과정입니다. Loss Function이 거리를, 옵티마이저가 방향과 보폭을 결정합니다
Part 5데이터를 트레이닝/검증/테스트로 분리해야 모델의 진짜 실력(일반화)을 알 수 있습니다. 에포크는 전체 데이터를 한 번 훑는 단위입니다
Part 6딥러닝은 만능이 아닙니다. 오버피팅, 데이터 편향, 모델 구조, 초기값에 따라 결과가 크게 달라집니다
Part 7하나의 모델 이름 뒤에는 모델 구조 x 데이터셋 x 트레이닝의 수많은 조합 실험이 숨어 있습니다. 별도의 테스트 데이터로 평균 점수가 가장 높은 조합이 최종 모델로 발표됩니다
Part 8Dense만으로도 90%는 가능하지만, Conv를 더하면 더 정교해집니다. 정확도·속도·메모리의 trade-off가 중요합니다

문의

강의 일정 및 비용 문의는 이메일로 연락 주세요.