딥러닝은 이미지, 텍스트 등 복잡한 데이터에서 예측에 유용한 표현을 학습하는 머신러닝의 핵심 방법이다. 최근 생성형 AI의 발전으로 딥러닝 모델을 직접 구현하는 능력뿐 아니라, 모델의 구조와 훈련 과정을 이해하고 결과를 검증·판단하는 능력이 더욱 중요해졌다.
이 강의에서는 딥러닝의 핵심 개념을 필요한 만큼 배우고, 4개의 실전 프로젝트를 통해 실제 문제에 적용한다.
강의의 전체 흐름은 다음과 같다.
이해 → 활용 → 판단
코드를 많이 작성하는 것보다 모델이 무엇을 하는지 이해하고, 결과를 평가하고, 오류와 한계를 분석하는 데 초점을 둔다.
어떻게 배우는가¶
강의와 프로젝트를 분리하지 않는다. 각 프로젝트에서 필요한 핵심 개념을 먼저 배우고, 곧바로 실제 데이터와 모델에 적용한 뒤 결과를 다시 분석한다.
각 프로젝트는 3주 동안 진행하며,
90분 이론 강의 3회
90분 프로젝트 실습 3회
로 구성한다.
프로젝트에서는 다음 과정을 반복한다.
문제 이해 → 데이터 이해 → 모델 구성 → 훈련 → 평가 → 오류 분석 → 해석과 판단
딥러닝 프레임워크는 기존 강의노트의 케라스(Keras)를 기본 흐름으로 사용하고, 같은 딥러닝 원리를 파이토치(PyTorch)로도 함께 확인한다.
두 프레임워크의 API를 각각 암기하는 것이 목적은 아니다.
Keras와 PyTorch는 같은 딥러닝 원리를 서로 다른 방식으로 표현하는 도구다.
생성형 AI는 코드 작성, 코드 변환, 오류 수정, 모델 구조 제안, 결과 설명 등에 활용할 수 있다. 다만 문제 정의, 모델과 평가 방법의 선택, 결과의 해석, 오류와 한계의 판단은 학생이 직접 검토해야 한다.
주요 내용¶
강의노트는 프랑소와 숄레의 Deep Learning with Python(2판)과 공개 주피터 노트북을 주요 참고 자료로 사용하되, 프로젝트 수행에 필요한 핵심 내용 중심으로 재구성한다.
주요 내용은 다음과 같다.
신경망의 기본 구조와 훈련
층, 활성화 함수, 손실함수
그레이디언트, 역전파, 옵티마이저
훈련·검증·테스트와 일반화
합성곱 신경망(CNN)
이미지 분류
데이터 증식
전이 학습
어텐션(attention)
Query, Key, Value
self-attention
트랜스포머(Transformer)
multi-head attention
positional encoding
사전훈련 모델과 활용
Keras와 PyTorch를 이용한 딥러닝 구현
4개의 프로젝트를 통한 모델 평가, 오류 분석, 결과 해석
시계열 예측과 RNN/LSTM은 핵심 강의 범위에서 제외하고, 중간시험 이후에는 CNN, attention, Transformer에 집중한다.
전제 사항¶
이 강의에서는 프로그래밍 문법이나 라이브러리 사용법 자체를 익히는 데 많은 시간을 쓰지 않는다.
필요한 코드는 강의노트와 실습 노트북에서 제공하며, 생성형 AI를 이용해 코드를 작성하거나 수정하는 것도 허용한다.
대신 학생은 다음을 할 수 있어야 한다.
제공된 코드가 무엇을 하는지 읽고 설명한다.
입력 데이터와 출력의 의미를 확인한다.
코드가 문제에 맞게 작성되었는지 검토한다.
실행 결과를 해석하고 모델의 오류와 한계를 판단한다.
필요한 경우 코드를 수정하고 그 이유를 설명한다.
실습은 Jupyter Notebook 형식으로 진행하며 Google Colab을 사용할 수 있다.
이 강의에서 중요한 것은 코드를 처음부터 모두 작성하는 능력이 아니라, 딥러닝 모델과 코드를 이해하고 활용하며 결과를 검증하는 능력이다.