KAIST Junior · 2026년 1학기 · AI 2차시

AI 2차시 과제 제출 준비

End-to-end 가짜 이미지 탐지 (ResNet-18) · 제출 마감: 2026년 5월 3일(일) 23:59

📌 이 문서의 용도
이번 차시 AI 과제는 (1) 실전해결 워크북 답변 (hwp/word 등 문서) + (2) 코랩 .ipynb 파일(zip) 2종 제출입니다. 이 문서는 제출 문서(워크북) 답안의 초안 과 작성 팁을 정리한 준비용 자료입니다. 실제 값(정확도, 학습 시간)은 노트북 실행 후 채워 넣으세요.

1. 과제 구성

파일내용형식
한정연_AI_2차시_답안.docx 실전해결 워크북 3개 질문 답안 + 결과 스크린샷 hwp / word
한정연_AI_2차시_코드.ipynb 11단계 End-to-end 파이프라인 코드 + 실행 결과 Colab .ipynb
zip 압축 위 2개 파일을 한 zip 으로 묶어 업로드 .zip

2. 노트북 실행 체크리스트

답안 작성 전, 아래 순서로 한정연_AI_2차시_코드.ipynb 를 끝까지 실행하고 결과를 기록하세요.

  1. Google Colab 에서 GPU 런타임 으로 설정 (런타임 → 런타임 유형 변경 → GPU)
  2. Step 1 셀 실행: 라이브러리 설치 (1분)
  3. Step 2 셀 실행: import + 한글 폰트 설정
  4. Step 3 셀 실행: gdown 으로 real_vs_fake_dataset 다운로드 (20초)
  5. Step 4~8 셀 실행: 데이터셋·전처리·모델 정의
  6. Step 11 셀 실행: 학습 5 epoch + 평가 (GPU 기준 2~5분 / CPU 기준 20분+)
  7. 출력된 최종 Accuracy 스크린샷 저장
  8. 선택 셀 (Confusion Matrix) 실행 후 그래프 스크린샷 저장
⚠️ GPU 설정 깜빡 방지!
Colab 기본값은 CPU 라서 5 epoch 에 20분 이상 걸립니다. 반드시 상단 메뉴에서 GPU(T4) 로 바꾼 뒤 셀을 실행하세요. device: cuda 가 출력되면 OK.

3. 실전해결 워크북 답안 초안

Q1. 1차시 CLIP + k-NN 과 비교해서 어떤 결과를 얻었나요?

정확도 비교

지표1차시 (CLIP + k-NN)2차시 (ResNet-18 End-to-end)
정확도___ %___ %
학습 시간거의 없음 (k-NN 은 학습 과정 없음)___ 분 (5 epoch)
모델 크기CLIP (~600MB) + k-NN 파라미터 없음ResNet-18 (~45MB) + 학습된 가중치
핵심 원리사전학습 특징 + 거리 기반 분류특징 추출 + 분류기를 한 번에 학습

관찰 포인트: (노트북 실행 후 작성) ResNet-18 End-to-end 방식은 1차시 k-NN 대비 _____________ 이라는 차이를 보였다.

Q2. 왜 이런 결과가 나왔을까요?

가능한 이유 4가지 (본인 결과에 맞게 1~2개 선택해 서술):

  1. 데이터 양의 한계: real_vs_fake_dataset 은 수백 장 규모라 End-to-end 학습에는 다소 부족할 수 있다. CLIP 같은 사전학습 모델이 작은 데이터에서 오히려 안정적인 성능을 보이는 이유.
  2. Transfer Learning 효과: pretrained=True 로 ImageNet 으로 학습된 앞쪽 Conv Layer 가중치를 그대로 물려받았기에, 모델이 "선·모서리·질감 같은 보편적 시각 특징을 이미 아는 상태" 에서 출발. 뒤쪽 Linear Layer(판사)만 우리 과제에 맞게 새로 배우면 되므로 5 epoch 만으로도 상당한 성능.
  3. Epoch 수: 5 epoch 는 짧은 편. Loss 가 계속 내려가고 있다면 10~20 epoch 로 늘리면 더 올라갈 여지가 있다.
  4. End-to-end 의 장점: 특징 추출과 분류를 하나의 손실 함수로 함께 최적화 하기 때문에, 진짜와 가짜를 구별하기에 특화된 특징을 학습. k-NN 은 CLIP이 뽑은 "범용 특징" 을 거리로만 비교하므로 미세한 차이 포착에 한계.
Q3. 어떻게 하면 더 좋은 성능을 달성할 수 있을까요?

실험 가능한 개선 아이디어 6가지:

개선 포인트구체 방법기대 효과
① 데이터 증강 transforms.RandomHorizontalFlip(), RandomRotation(10), ColorJitter() 과적합 방지, 정확도 +3~5%p
② 학습 길이 epochs=5 → 10 → 20 (Loss 가 감소 멈출 때까지) 정확도 상한까지 도달
③ 학습률 조정 lr=0.001 → 0.0005 → 0.0001 미세 조정으로 정확도 ↑
④ 더 큰 모델 ResNet-18 → ResNet-50, EfficientNet-B0 표현력 ↑, GPU 메모리 필요
⑤ 과적합 방지 Dropout, Weight Decay (Adam(..., weight_decay=1e-4)) 테스트 정확도 안정화
⑥ 검증 세트 분리 train 에서 10% 를 validation 으로 분리 → 과적합 시점 감지 조기 종료 가능

추천 실험 순서: ② 학습 길이 ↑ → ① 데이터 증강 → ③ 학습률 미세조정. 한 번에 여러 변수를 바꾸지 말고 한 가지씩 바꿔가며 Accuracy 변화를 기록.

4. 제출 문서 구조 예시

📝 워크북 문서 권장 구조
[표지]
- KAIST Junior AI 2차시 — End-to-end 가짜 이미지 탐지 모델 학습
- 이름: 한정연  학교: 용인외대부고 국제과정 2학년

[1. 실행 결과 요약]
- GPU/CPU: _______
- 학습 시간: ___ 분
- 최종 Accuracy: ___ %
- (Accuracy 스크린샷 삽입)
- (Confusion Matrix 스크린샷 삽입)

[2. Q1 — CLIP + k-NN 과 비교]
- (비교 표)
- (관찰 문장 3~5줄)

[3. Q2 — 왜 이런 결과가 나왔을까]
- (이유 1~2개를 본인 결과에 맞게 서술)

[4. Q3 — 성능 개선 아이디어]
- (6개 중 우선순위 높은 3개를 구체적으로)

[5. 배운 점 / 소감] (선택)
- 1차시 CLIP+k-NN 대비 End-to-end 방식에서 새로 이해한 것

5. 제출 전 최종 체크리스트

Junior KAIST 2026 1학기 · AI 2차시 과제 제출 준비 자료