강의계획서

과목 개요

항목 내용
과목명 딥러닝 (Deep Learning)
대상 시스템경영공학부 3학년
담당교수 이지환
교재 본 강의 사이트 (이론 챕터 + 도장 + 실습)
도구 Python, PyTorch, Google Colab, HuggingFace

수업 방향

원리를 손으로 확인하는 딥러닝. 수식의 유도보다 의미와 계산 가능성에 집중한다. 퍼셉트론 → 콘볼루션 → 어텐션으로 이어지는 손계산 훈련이 수업의 등뼈이며, 실습은 백지 구현이 아니라 동작하는 코드를 읽고, 고치고, 실험하고, 해석하는 방식으로 진행한다.

다루는 네 축은 실무에서 가장 많이 쓰이는 것들이다: 정형 데이터, 이미지, 텍스트, LLM.

이 수업의 데이터 원칙

이미지 과제(HW2)와 팀 프로젝트의 학습 데이터는 직접 수집한다. 오픈데이터셋 사용은 금지한다. 정형 데이터 과제(HW1)만 예외로, 교수가 제공하는 표를 사용한다. 모델 코드는 10줄이지만 성능은 데이터 품질이 결정한다는 것 — 그것을 몸으로 배우는 것이 이 수업의 핵심 경험이다.

깊이의 계약

각 주제를 어디까지 다루는지 미리 정한다.

  • 원리(손계산 수준): 퍼셉트론 순전파, 손실함수, 경사하강 1스텝, 역전파(2층 연쇄법칙 1회), 콘볼루션 연산, CNN 파라미터 수, 어텐션 스코어, 인과 마스크, Multi-Head 분할과 파라미터 수, LayerNorm, Transformer 블록 파라미터 수
  • 개념 수준: 층 쌓기, 전이학습 전략 선택, 객체탐지의 출력 형태와 IoU·NMS 손계산, 시맨틱 분할의 출력 형태, 사전학습 스케일, RLHF
  • 다루지 않음: 탐지 모델의 내부 구조·학습과 라벨링(심화 자료로만 제공), LSTM 게이트 수식, GAN·VAE·확산모델, BERT/GPT 계보 상세, 어텐션의 역전파 유도, encoder-decoder 구조, sin/cos 위치 인코딩 수식

트랜스포머는 블록 하나를 직접 조립하고 파라미터 수를 손으로 세는 수준까지 간다. 그 위(사전학습, 활용)는 개념과 실습으로 다룬다.

주차별 계획

주차 주제 과제/이벤트 챕터
1 딥러닝 개요, 데이터와 모형 개요, 1장
2 퍼셉트론과 다층 퍼셉트론 2장
3 딥러닝의 학습: 순전파·손실·미분·경사하강법 3장
4 학습의 실전: 학습률·배치, 역전파 개념, 일반화, 정형 데이터 4장
5 이미지 데이터와 콘볼루션 연산 HW1 출제 5·6장
6 CNN 구조와 아키텍처 7장
7 CNN 학습 전략과 전이학습 8장
8 중간고사 (1~7주 범위)
9 텍스트를 숫자로: 토큰화, 임베딩, 시퀀스 텐서 프로젝트 킥오프 — 팀 구성, 주제 승인 / HW2 출제 10장
10 어텐션과 Self-Attention: 인과 마스크, Multi-Head (1차 수집 기간) 11장
11 Transformer 블록과 언어모델 — 블록 조립, 다음 토큰 예측 1차 제출 — 데이터셋 + 베이스라인 12장
12 사전학습 생태계와 활용 HW3 출제 / (진단 · 현장 테스트 촬영) 13장
13 프로젝트 점검 및 현장 테스트 결과 공유 현장 테스트 결과 공유 (수업 내 30분) / (2차 수집 · 재학습)
14 프로젝트 발표 발표 + 자료 제출
15 기말고사 (9~13주 범위)

3장은 3주차에 진행한다. 이후 이론은 한 수업 주차씩 앞당겨 4주차에 4장, 5주차에 5·6장, 6주차에 7장, 7주차에 8장을 다룬다. 중간고사 이후 9~12주차에는 10~13장을 진행한다. 객체탐지(9장)는 주차 계획에서 빠졌다. 관심 있는 학생을 위해 사이트에 심화 자료로 남겨 둔다.

매주 손계산 문제집 (도장)

1~7, 9~11주차의 개념을 손으로 계산하는 문제집이 나간다. 계산기 없이(또는 계산기만으로) 풀 수 있는 분량이다. 제출하지 않고, 성적에도 직접 반영되지 않는다 — 대신 중간·기말고사가 문제집과 같은 유형으로 출제된다. 문제집이 곧 시험의 기출이다.

주차 문제집 주제
1 변수 종류 구분, 모형·파라미터 식별, 학습된 모형으로 예측값 계산
2 퍼셉트론 순전파, 활성화 함수 값 계산, 신경망 파라미터 개수 세기
3 MSE 계산, Softmax, 이진·다중 클래스 교차 엔트로피, 여러 건의 교차 엔트로피 평균; 경사하강 1스텝, 퍼셉트론 파라미터의 경사하강 1스텝, 학습률과 수렴 판정
4 2층 네트워크 역전파(연쇄법칙), 러닝커브 읽고 과적합 진단, 표준화·원-핫
5 콘볼루션 연산, 출력 크기 공식(패딩·스트라이드)
6 풀링 계산, CNN 파라미터 수, 층별 출력 크기 추적
7 동결 층의 학습 파라미터 수, 전이학습 시나리오 판단
9 토큰화 절차, 임베딩 유사도(내적·코사인), 임베딩 층 파라미터 수
10 어텐션 스코어 손계산, 인과 마스크 적용, Multi-Head 모양·파라미터 수
11 LayerNorm 계산, Transformer 블록 파라미터 수, 다음 토큰 확률, temperature
  • 각 문제집은 강의 사이트의 도장 페이지(문제은행)와 짝을 이룬다. 학번을 입력하면 본인 전용 문제가 생성되어 옆 사람과 다른 문제가 나오고, “새 문제” 버튼으로 같은 유형을 무한히 연습할 수 있다. 답은 즉시 채점되며 단계별 풀이가 제공된다.

실습 과제

난이도 사다리: 실험·해석 → 자체 데이터 → LLM 활용.

과제 시점 내용 형태
HW1 5주 정형 데이터 MLP — 제공된 표(의료비)로 한 사이클 완성, 부스팅과 비교·해석 (빈칸 채우기, 자동 채점) 개인
HW2 9주 내가 찍은 사진으로 이미지 분류 — 전이학습, 클래스 2~3개 × 50장 개인
HW3 12주 프롬프트 개선 과제 — 동일 과업을 프롬프트 개선만으로 성능 향상 개인

HW2는 팀 프로젝트와 같은 주에 시작한다. 개인이 소규모(2~3클래스 × 50장)로 수집→학습→평가 파이프라인을 한 번 돌려 보고, 그 경험을 팀 프로젝트의 1차 수집에 바로 적용한다.

실습은 LAB1~7을 1~7주차에, LAB10~12를 9~11주차에 진행한다. LAB9(객체탐지)은 심화 자료다. 실습 번호와 수업 주차는 다를 수 있으며, 웹페이지와 Colab 링크는 주차별 계획에서 확인한다.

팀 프로젝트: 내가 모은 데이터로 이미지 분류

이 프로젝트의 진짜 목표

성능이 아니다. 데이터를 모으는 일이 왜 어려운지 몸으로 아는 것이다.

그래서 이 프로젝트는 수집을 두 번 시킨다. 한 번 모으고 끝나면 힘들기만 하고 왜 힘든지는 모른 채 끝나기 때문이다.

개요

항목 내용
팀 3~4인
과업 직접 촬영한 사진으로 다중 클래스 이미지 분류 (사전학습 모델 전이학습)
클래스 3~5개, 단 서로 헷갈리는 것으로 — 사람이 봐도 가끔 틀리는 정도
데이터 1차 클래스당 약 80장 + 2차 추가. 직접 촬영만 — 인터넷 이미지 수집 금지
기본 전략 사전학습 모델 동결 + 분류기 학습 (Ch08 Option 1)

세 단계로 진행한다

1차 수집  →  학습·진단  →  현장 테스트(충격)  →  2차 수집  →  재학습  →  발표
  9~10주       11주            11~12주            12~13주      13주      14주
시점 할 일 제출
9주 킥오프 팀 구성, 주제 선정, 클래스 정의 합의 주제 제안서 (교수 승인 필요)
10주 1차 수집 — 팀원 전원이 나눠 찍는다
11주 1차 제출 1차 데이터셋 + 베이스라인 모델 데이터 명세 + 러닝커브 + 혼동행렬
11~12주 진단 — 틀린 사진을 실제로 열어본다
11~12주 현장 테스트 촬영 — 지금까지와 다른 조건 3가지로 새로 찍는다
13주 현장 테스트 결과를 수업에서 공유 (팀당 1분) 검증 성능 → 현장 성능
12~13주 진단에 근거한 2차 수집과 재학습
14주 발표 발표 + 자료
현장 테스트 — 이 프로젝트의 핵심 장치

11~12주에 팀은 지금까지와 다른 조건에서 사진을 새로 찍어 온다 (다른 시간대 · 다른 장소 · 다른 각도 · 다른 조명 중 3가지 이상).

그 사진을 이미 학습된 모델에 그대로 넣는다. 대부분의 팀은 성능이 크게 떨어진다.

13주 수업에서 팀별 하락폭을 칠판에 나열하고, 왜 어떤 팀은 덜 떨어졌는지 함께 찾는다. 여기서 나온 답이 2차 수집의 근거가 되고, 그대로 발표의 중심이 된다.

주제 승인 기준

킥오프에서 다음 다섯 가지를 확인한다. 하나라도 안 되면 반려다.

  1. 사람이 봐도 가끔 헷갈리는가? — 100% 자신 있게 구분되면 너무 쉽다
  2. 조건을 바꿀 수 있는가? — 조명·각도·거리·배경 중 최소 3가지
  3. 클래스당 80장을 1~2일에 모을 수 있는가?
  4. 사람(얼굴·신체)이 안 나오는가?
  5. 계절·날씨에 묶이지 않는가?

주제 예시 (난이도는 “현장 테스트에서 얼마나 떨어질 것 같은가”로 매겼다)

주제 클래스 예 무엇이 어려운가 난이도
부품 불량 판정 정상 / 스크래치 / 찍힘 / 오염 조명 각도에 따라 흠집이 보였다 안 보였다 한다 ★★★
과일 숙성도 덜 익음 / 적당 / 과숙 조명 색온도가 판정을 바꾼다 ★★★
볼트·너트 규격 M6 / M8 / M10 거리가 바뀌면 크기 판단이 무너진다 ★★★
생선 종류 고등어 / 삼치 / 전갱이 … 얼음·물기·각도. 사람 눈으로도 헷갈린다 ★★★
분리수거 플라스틱 / 캔 / 유리 / 종이 구겨짐·라벨·투명도. 클래스 정의부터 합의가 필요 ★★
캠퍼스 표지판 비상구 / 금연 / 주차 … 너무 쉽다 — 권장하지 않음 ★

촬영 규칙

  • 직접 촬영만. 인터넷 이미지 검색·크롤링·오픈데이터셋 사용 금지
  • 사람(얼굴·신체) 촬영 금지 — 사물·시설물 대상
  • 매장·시장 내부 촬영은 허락을 구할 것
  • 팀원 전원이 나눠 찍을 것 — 한 사람이 다 찍으면 다양성이 생기지 않는다

제출물

항목 내용
데이터 명세 클래스별 장수, 촬영자별 장수, 촬영 조건 목록
3단계 성능 표 1차 검증 / 현장 테스트 / 2차 재학습 후
진단 자료 러닝커브, 혼동행렬, 오분류 사진 실물
수집 판단 기록 1차에서 무엇을 놓쳤고, 어떻게 알았고, 2차에서 무엇을 바꿨는가
실험 비교 동결 vs 미세조정 / 증강 유무 등 최소 2가지
실패해도 좋다 — 단, 왜 실패했는지는 말해야 한다

현장 테스트에서 성능이 크게 떨어지는 것은 정상이고 예상된 일이다. 감점 사유가 아니다.

높은 평가를 받는 것은 “우리는 처음에 무엇을 놓쳤고, 어떻게 알아챘고, 어떻게 고쳤는가”를 자기 데이터로 설명하는 팀이다. 최종 성능이 낮아도 이 설명이 훌륭하면 높은 점수를 받는다.

반대로, 성능이 높아도 왜 그런지 모르는 팀은 좋은 평가를 받지 못한다.

평가

항목 비중 비고
출석 10%
실습 과제 (HW1~3) 15% 각 5%
중간고사 30% 1~7주, 손계산 중심 — 문제집(도장)과 같은 유형
팀 프로젝트 20% 수집 판단(1차→2차) 8% / 진단·실험 6% / 데이터 설계 3% / 발표 3%
기말고사 25% 9~13주, 손계산 + 개념 — 문제집(도장)과 같은 유형

프로젝트 배점의 절반 가까이가 “수집 판단”에 있다는 점에 주의하라. 최종 정확도 자체에는 점수가 거의 배정되지 않는다.