강의계획서
과목 개요
| 항목 | 내용 |
|---|---|
| 과목명 | 딥러닝 (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차 수집의 근거가 되고, 그대로 발표의 중심이 된다.
주제 승인 기준
킥오프에서 다음 다섯 가지를 확인한다. 하나라도 안 되면 반려다.
- 사람이 봐도 가끔 헷갈리는가? — 100% 자신 있게 구분되면 너무 쉽다
- 조건을 바꿀 수 있는가? — 조명·각도·거리·배경 중 최소 3가지
- 클래스당 80장을 1~2일에 모을 수 있는가?
- 사람(얼굴·신체)이 안 나오는가?
- 계절·날씨에 묶이지 않는가?
주제 예시 (난이도는 “현장 테스트에서 얼마나 떨어질 것 같은가”로 매겼다)
| 주제 | 클래스 예 | 무엇이 어려운가 | 난이도 |
|---|---|---|---|
| 부품 불량 판정 | 정상 / 스크래치 / 찍힘 / 오염 | 조명 각도에 따라 흠집이 보였다 안 보였다 한다 | ★★★ |
| 과일 숙성도 | 덜 익음 / 적당 / 과숙 | 조명 색온도가 판정을 바꾼다 | ★★★ |
| 볼트·너트 규격 | 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주, 손계산 + 개념 — 문제집(도장)과 같은 유형 |
프로젝트 배점의 절반 가까이가 “수집 판단”에 있다는 점에 주의하라. 최종 정확도 자체에는 점수가 거의 배정되지 않는다.