TrendShift 딥다이브 · 2026-07-02

AI-For-Beginners 딥다이브
— 마이크로소프트가 만든 12주 24강 "딥러닝 + 기호주의 AI" 커리큘럼

AI-For-Beginners는 "고전 머신러닝"을 다루는 자매 저장소(ML-For-Beginners)의 다음 단계다. 뉴런 한 개(퍼셉트론)부터 시작해 신경망 · CNN · RNN · 트랜스포머 · GAN · 강화학습 · 멀티모달(CLIP)까지, 24개 레슨으로 딥러닝 전 영역을 오른다. 가장 큰 특징 두 가지 — ① 거의 모든 레슨을 PyTorch와 TensorFlow(Keras) 양쪽으로 동시에 제공하고, ② 요즘 강의가 잘 안 다루는 기호주의 AI(GOFAI · 지식 표현/전문가 시스템)까지 포함한다. Microsoft의 Dmitry Soshnikov 박사가 이끌고, 실행 가능한 Jupyter 노트북 53개 · 퀴즈 40개 · Co-op Translator 자동 번역(50개+ 언어)을 갖췄다. (저장소: microsoft/AI-For-Beginners · Python/Jupyter Notebook · MIT License · GitHub 스타 3만 5천+)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석 — 커리큘럼 구조도
  5. 디렉토리 구조 해부
  6. 학습 포인트 (주제별)
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 저장소가 대체 무엇인가.

핵심 메시지

"뉴런 한 개(퍼셉트론)부터 트랜스포머·CLIP까지 — 딥러닝을 두 프레임워크로 동시에 배우는 12주 24강 정규 커리큘럼."

AI-For-Beginners는 소프트웨어 제품이 아니라 학습 자료집(교육 커리큘럼)이다. "I. AI 소개"부터 "VII. AI 윤리"까지 7개 대단원, 24개 레슨으로 구성되고, 각 레슨은 읽는 강의(README) + 실행 가능한 Jupyter 노트북 + 퀴즈 + 실습(Lab)이 한 세트로 온다.

자매품 ML-For-Beginners가 신경망 이전의 "고전 ML(회귀·분류·클러스터링)"을 다뤘다면, 이 저장소는 정확히 그 다음 칸신경망·딥러닝을 정면으로 다룬다. 여기에 요즘 강의들이 건너뛰는 기호주의 AI(규칙·지식 기반)와 유전 알고리즘·다중 에이전트까지 포함해 "AI의 역사 전체"를 훑는 게 특징이다.

용어
기호주의 AI (Symbolic AI / GOFAI)
신경망이 유행하기 전, AI의 주류였던 접근법. 사람이 지식을 규칙과 논리(IF-THEN, 온톨로지)로 직접 적어 넣으면 컴퓨터가 추론하는 방식이다. GOFAI는 "Good Old-Fashioned AI(좋았던 옛날 AI)"의 약자. 데이터로 스스로 배우는 신경망(연결주의)과 정반대 철학이라, 둘을 나란히 배우면 "AI에 접근하는 두 가지 큰 길"이 보인다. 이 커리큘럼 II단원(전문가 시스템·지식 표현)이 여기에 해당한다.

2왜 주목받는가

수많은 딥러닝 강의 대비 장점 · 트렌딩 이유.

딥러닝 입문 강의는 넘쳐난다. 그런데 이 저장소가 GitHub 스타 수만 개를 받으며 꾸준히 트렌딩에 오르는 이유는 세 가지다. 첫째 두 프레임워크 병행 — 대부분의 레슨이 PyTorch 노트북과 TensorFlow 노트북을 쌍으로 제공해서, 한쪽만 배우고 다른 쪽 코드를 못 읽는 반쪽짜리를 방지한다. 둘째 기호주의 AI까지 포함한 넓은 지도 — 신경망만 파는 강의와 달리 "AI의 다른 갈래"도 보여준다. 셋째 Microsoft 공식 저장소의 신뢰도 + MIT 라이선스 + 50개+ 언어 자동 번역이라는 접근성.

다른 딥러닝 학습 자료 대비 비교

기준일반 유튜브/블로그fast.ai 등 실전형 강의AI-For-Beginners
비용무료(광고)대부분 무료완전 무료 (MIT License)
커리큘럼 구조파편적✓ (하향식)✓ (12주 24강 고정 순서)
프레임워크보통 한쪽만주로 PyTorch(fastai)✓ PyTorch + TensorFlow 병행
기호주의 AI(GOFAI)거의 없음없음✓ (전문가 시스템·온톨로지)
프레임워크 직접 구현드묾일부✓ (4강 "나만의 프레임워크")
프리/포스트 퀴즈일부✓ (40개 퀴즈)
다국어 지원드묾영어 위주✓ (50개+ 언어 자동 번역)
범위제각각CV·NLP 중심CV·NLP·GAN·RL·유전알고리즘·멀티모달
이 커리큘럼이 피하려는 함정
"프레임워크부터 배우면 딥러닝이 영원히 블랙박스가 된다"

model.fit() 한 줄로 학습이 끝나는 편리함에 익숙해지면, 정작 "역전파(backpropagation)가 안에서 무슨 일을 하는지"는 끝까지 모른 채 남는다. 버그가 나거나 성능이 안 나올 때 손을 못 대는 이유가 바로 이것이다.

이 커리큘럼의 해결책
프레임워크를 쓰기 전에, 먼저 프레임워크를 직접 만들어본다

3단원(신경망 입문)은 순서가 특별하다. ③ 퍼셉트론(뉴런 1개) → ④ NumPy만으로 다층 퍼셉트론과 미니 딥러닝 프레임워크를 손수 구현(역전파 포함) → ⑤ 그제서야 PyTorch·Keras·TensorFlow를 도입한다. 원리를 손으로 한 번 겪은 뒤 프레임워크를 쓰기 때문에, 프레임워크가 "마법"이 아니라 "내가 짠 코드의 최적화판"으로 보이게 만든다. 이 순서가 이 저장소의 교육 철학을 가장 잘 보여준다.

이런 상황을 상상해봐

요리를 배우는데 처음부터 "전자레인지 버튼 누르는 법"만 익히면, 오븐이 고장 났을 때 아무것도 못 한다. 반대로 불 조절·재료 반응을 먼저 이해하면 어떤 조리도구를 줘도 요리할 수 있다. AI-For-Beginners는 후자 방식이다 — 뉴런과 역전파의 "불 조절"을 먼저 손으로 겪게 한 뒤, PyTorch·TensorFlow라는 "고급 오븐"을 쥐어준다.

그리고 오븐이 한 종류가 아니다. 같은 요리(예: CNN 이미지 분류)를 PyTorch 버전과 TensorFlow 버전 노트북으로 각각 제공하니, 현업에서 어느 쪽 코드를 만나도 읽을 수 있게 된다.

3기술 스택 전체 지도

딥러닝 프레임워크(2종 병행) + 데이터/CV/NLP 스택 + 퀴즈 앱(Vue) + 인프라 각각 상세.

핵심 딥러닝 프레임워크 (두 갈래 병행)

프레임워크역할주로 쓰이는 단원
PyTorch연구·실험용으로 널리 쓰이는 딥러닝 프레임워크. 파이썬스럽고 디버깅이 쉽다3~6단원 전체 (*PyTorch.ipynb)
TensorFlow산업 배포에 강한 구글의 프레임워크. 대규모 서빙에 유리3~6단원 전체 (*TF.ipynb)
Keras 3TensorFlow 위의 고수준 API — 몇 줄로 신경망을 조립. 입문 친화적5강 프레임워크 입문, CV/NLP 다수
NumPy (프레임워크 없이)4강에서 역전파를 직접 손으로 구현할 때. 프레임워크의 내부를 재현3-NeuralNetworks/04-OwnFramework
용어
PyTorch vs TensorFlow "쌍둥이 노트북"
대부분의 레슨은 같은 내용을 ConvNetsPyTorch.ipynbConvNetsTF.ipynb처럼 두 파일로 제공한다. 학습자는 둘 중 하나만 골라 끝까지 가면 되고, 둘 다 볼 필요는 없다. 다만 노트북 안에 이론 설명이 많이 들어 있어서, README만 읽고 노트북을 건너뛰면 핵심을 놓친다. 일부는 한쪽만 있다 — 객체 탐지·개체명 인식은 TensorFlow만, 대규모 언어모델(20강)은 PyTorch만.

데이터 · 컴퓨터 비전 · NLP 스택

라이브러리역할단원
numpy / matplotlib배열 연산 · 기본 시각화 (손실 곡선, 특성 맵 등)전 단원 공통
OpenCV고전 컴퓨터 비전 — 필터·에지 검출·움직임 감지4-ComputerVision/06-IntroCV
torchvision / scikit-image이미지 데이터셋 로드 · 전처리 · 증강CNN·전이학습·세그멘테이션
gensimWord2Vec·GloVe 등 단어 임베딩 학습/로드5-NLP/14-Embeddings
NLTK / tokenizers토큰화 · 고전 NLP 전처리 · BERT 토크나이저5-NLP 전체
huggingface (transformers)사전학습 트랜스포머(BERT) 로드 · 파인튜닝5-NLP/18-Transformers
gym (OpenAI Gym)강화학습 환경 시뮬레이션 (CartPole 등)6-Other/22-DeepRL
pygame강화학습 보드/게임 환경 시각화강화학습 · 유전 알고리즘

퀴즈 앱 스택 (etc/quiz-app/)

구성요소역할
Vue.js 2.640개 퀴즈(레슨마다 프리/포스트)를 구동하는 SPA 프레임워크
vue-router 3퀴즈 번호별 라우팅 (레슨 README의 quiz/13 링크와 매핑)
vue-i18n 8퀴즈 다국어 표시
@vue/cli-service 5빌드·개발 서버 (webpack 기반). npm run serve / build
Azure Static Web Apps공식 배포 대상. 온라인 판은 ff-quizzes.netlify.app에도 호스팅

개발 환경 · 인프라

도구역할
conda 환경 ai4beg공식 설치법. environment.yml이 PyTorch·OpenCV·Jupyter를 한 번에 설치
requirements.txt (pip)TensorFlow 2.17·Keras 3·gensim·nltk·gym 등. PyTorch는 pip이 아닌 conda로 설치
.devcontainer (Codespaces)miniconda 기반 Dockerfile — VS Code Codespaces에서 클릭 한 번에 실습 환경
Binder브라우저에서 바로 노트북 실행 (별도 binder/ 환경 파일)
GitHub Actions (Co-op Translator)Azure AI 기반 자동 번역 — 50개+ 언어로 문서·이미지 갱신
CodeQL · OSSF Scorecard유일한 CI 워크플로우 — 빌드/테스트가 아니라 보안·공급망 점검

4아키텍처 심화 분석 — 커리큘럼 구조도

이 저장소의 "아키텍처"는 코드 구조가 아니라 학습 설계 구조다. 먼저 전체 지도 → 그다음 레슨 한 개의 흐름을 끝까지 따라간다.

전체 그림 한 장 — 7개 대단원 → 24개 레슨

0 Course Setup 개발 환경 세팅 (conda ai4beg / Codespaces / Binder) I. AI 소개 [노트북 없음] 01 AI의 정의와 역사 기호주의 vs 연결주의, AI의 흐름 II. 기호주의 AI (GOFAI) [지식 기반 · 데이터로 안 배움] 02 지식 표현·전문가 시스템 Animals / FamilyOntology / MSConceptGraph III.신경망 입문 ★핵심 순서★ 03 퍼셉트론 뉴런 1개 = 가장 작은 신경망 04 다층 퍼셉트론+나만의 프레임워크 NumPy로 역전파 직접 구현 05 프레임워크 입문+과적합 PyTorch / Keras / TensorFlow 도입 IV. 컴퓨터 비전 06 CV 입문·OpenCV 고전 이미지 처리 07 합성곱 신경망(CNN) 필터·특성 계층·VGG 등 아키텍처 08 전이학습·학습 요령 사전학습 모델 재활용 09 오토인코더·VAE 압축·생성의 기초 10 GAN·화풍 변환(Style) 가짜 이미지 생성 11 객체 탐지 [TF] 이미지 속 물체 위치까지 12 시맨틱 분할·U-Net 픽셀 단위 분류 V. 자연어 처리(NLP) 13 텍스트 표현 BoW/TF-IDF 단어를 숫자로 14 단어 임베딩 Word2Vec 의미를 벡터로 15 언어 모델링 임베딩 직접 학습 16 순환 신경망(RNN) 순서가 있는 데이터 17 생성형 RNN 텍스트 생성 18 트랜스포머·BERT 현대 NLP의 심장 19 개체명 인식(NER) [TF] 문장에서 이름 뽑기 20 거대 언어모델·프롬프트 [PyTorch] LLM·few-shot VI. 그 밖의 AI 기법 21 유전 알고리즘 진화로 문제 풀기 22 심층 강화학습 CartPole·OpenAI Gym 23 다중 에이전트 시스템 [개념 중심] VII.AI 윤리 24 책임 있는 AI MS 6대 원칙(공정·안전·투명 등) IX. 부록(Extras) X1 멀티모달·CLIP·VQGAN 이미지+텍스트 결합
용어
연결주의 (Connectionism)
지식을 사람이 규칙으로 적어 넣는 기호주의와 반대로, 수많은 뉴런의 연결 가중치를 데이터로 학습시키는 접근. 오늘날의 딥러닝이 여기에 속한다. 이 커리큘럼은 II단원에서 기호주의를, III단원부터 연결주의를 다뤄 "두 진영"을 모두 보여준다.

레슨 한 개의 학습 흐름 (모든 레슨이 이 사이클을 따른다)

┌──────────────────────────────────────────────────────┐ │ ① 프리렉처 퀴즈 (Pre-lecture quiz) │ │ ff-quizzes.netlify.app — 배경지식 점검 │ └───────────────────────┬──────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────┐ │ ② 강의 본문 (README.md) │ │ 개념 설명 + 스케치노트 + 이론 (읽기 자료) │ └───────────────────────┬──────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────┐ │ ③ 실습 노트북 — 둘 중 하나 선택 │ │ *PyTorch.ipynb ←또는→ *TF.ipynb │ │ (노트북 안에 이론 상당수 포함 → 반드시 실행) │ └───────────────────────┬──────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────┐ │ ④ 도전 과제 + 실습 랩 (lab/ 폴더, 일부 레슨) │ │ README 하단 "Challenge" + lab/*.ipynb │ └───────────────────────┬──────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────┐ │ ⑤ 포스트렉처 퀴즈 (Post-lecture quiz) │ │ 같은 퀴즈 앱, 다른 문항 — 정착도 재확인 │ └──────────────────────────────────────────────────────┘

핵심 갈림길은 ③이다. 초보자가 여기서 PyTorch 트랙과 TensorFlow 트랙 중 하나를 정해 커리큘럼 끝까지 그 트랙으로 간다. 한쪽으로 완주한 뒤 여유가 되면 다른 트랙의 같은 노트북을 열어 "같은 개념이 다른 프레임워크에선 어떻게 쓰이나"를 비교하는 게 이 저장소를 200% 활용하는 방법이다.

핵심 설계 패턴

패턴 1

이중 프레임워크 병렬 노트북 (PyTorch ∥ TensorFlow)

이 저장소의 정체성. 같은 레슨을 두 프레임워크로 각각 제공한다(...PyTorch.ipynb / ...TF.ipynb). 현업에서 두 프레임워크가 공존하는 현실을 반영해, 학습자가 어느 코드베이스를 만나도 읽을 수 있게 만든다. 대신 "둘 다 공부하라"는 부담을 주지 않도록 하나만 골라 완주하는 걸 기본 동선으로 설계했다.

패턴 2

"프레임워크를 쓰기 전에 프레임워크를 만든다"

3단원의 레슨 순서(퍼셉트론 → 나만의 프레임워크 → 기성 프레임워크)가 이 패턴이다. 4강에서 NumPy만으로 순전파·역전파(backpropagation)·경사하강을 직접 짜서 미니 프레임워크를 만든 뒤에야 PyTorch를 도입한다. "내부를 한 번 열어본" 경험이 이후 모든 단원에서 프레임워크를 덜 두렵게 만든다.

패턴 3

기호주의 + 연결주의를 한 커리큘럼에

대부분의 딥러닝 강의는 신경망만 다룬다. 이 저장소는 II단원에서 전문가 시스템·온톨로지·개념 그래프(규칙 기반 AI)를 먼저 보여준 뒤 신경망으로 넘어간다. "AI = 딥러닝"이라는 좁은 시야 대신 "AI에는 여러 갈래가 있다"는 지도를 먼저 심어주는 설계다.

패턴 4

퀴즈 앱을 별도 SPA로 분리 (etc/quiz-app/)

40개 퀴즈는 커리큘럼 본문과 분리된 독립 Vue.js 애플리케이션이다. 레슨 README의 quiz/숫자 링크가 이 앱의 해당 퀴즈로 연결된다. 콘텐츠(마크다운)와 인터랙티브 퀴즈(웹앱)의 관심사를 깔끔히 분리해, 각각 독립적으로 배포·번역된다.

패턴 5

번역 자동화 파이프라인 (Co-op Translator)

사람이 번역하지 않는다. GitHub Action이 main에 푸시될 때마다 Azure AI로 translations/<lang>/translated_images/를 50개+ 언어로 자동 생성한다. 그래서 번역 파일은 절대 손으로 수정하면 안 된다(다음 자동 실행에서 덮어써진다). 원본과 번역의 생성 경로를 완전히 분리한 설계다.

5디렉토리 구조 해부

lessons/ 명명 규칙 · quiz-app/ · translations/ · examples/ 분석.

AI-For-Beginners/ ├── lessons/ # 커리큘럼 본체 (여기가 핵심) │ ├── 0-course-setup/ # setup.md · how-to-run.md · for-teachers.md │ ├── 1-Intro/ # AI 역사 (노트북 없음, assignment.md만) │ ├── 2-Symbolic/ # 기호주의 AI │ │ ├── Animals.ipynb # 규칙 기반 전문가 시스템 │ │ ├── FamilyOntology.ipynb # 온톨로지(RDF) │ │ └── MSConceptGraph.ipynb # MS 개념 그래프 │ ├── 3-NeuralNetworks/ │ │ ├── 03-Perceptron/ # "NN-제목" 형식의 레슨 폴더 규칙 │ │ │ ├── Perceptron.ipynb │ │ │ └── lab/ # 확장 실습 (자체 README.md) │ │ ├── 04-OwnFramework/ # NumPy로 역전파 직접 구현 │ │ └── 05-Frameworks/ # IntroPyTorch / IntroKeras / IntroKerasTF │ ├── 4-ComputerVision/ # 06-IntroCV ~ 12-Segmentation │ │ └── 07-ConvNets/ │ │ ├── ConvNetsPyTorch.ipynb # ← 쌍둥이 노트북 │ │ ├── ConvNetsTF.ipynb # ← │ │ └── CNN_Architectures.md # 보충 이론 문서 │ ├── 5-NLP/ # 13-TextRep ~ 20-LangModels │ ├── 6-Other/ # 21-Genetic · 22-DeepRL · 23-Multiagent │ ├── 7-Ethics/ # 책임 있는 AI (노트북 없음) │ ├── X-Extras/X1-MultiModal/ # Clip.ipynb (CLIP·VQGAN) │ └── sketchnotes/ # 손그림 요약 이미지 ├── examples/ # 입문 온램프 (hello-ai-world.py 등) ├── etc/quiz-app/ # Vue.js SPA — 40개 퀴즈 ├── translations/ # Co-op Translator, 50개+ 언어 (직접 편집 금지) ├── translated_images/ # 번역된 도식/스케치노트 ├── binder/ # MyBinder 실행 환경 ├── .devcontainer/ # Codespaces용 Dockerfile(miniconda) ├── .github/workflows/ # codeql.yml · scorecard.yml (보안만) ├── requirements.txt # pip: TensorFlow/Keras/gensim/nltk/gym ├── environment.yml # conda env "ai4beg" (+ PyTorch) ├── AGENTS.md # AI 코딩 에이전트용 저장소 안내서 └── README.md # 24강 로드맵 (단일 진실원)
용어
레슨 폴더 명명 규칙
대단원 폴더(예: 4-ComputerVision) 안의 하위 레슨은 NN-주제명 형식으로 전역 번호가 붙는다(06-IntroCV, 07-ConvNets …). 이 두 자리 번호가 README 로드맵 표의 "레슨 번호 01~24"와 정확히 매핑된다. 즉 파일 시스템 순서 = 학습 순서로 설계돼 있어, 폴더만 훑어도 커리큘럼 진도를 알 수 있다.
용어
lab/ 서브폴더
일부 레슨(퍼셉트론·CNN·전이학습·세그멘테이션 등)에는 lab/ 하위 폴더가 있고, 그 안에 자체 README.md와 확장 실습 노트북(예: PetFaces.ipynb, OxfordPets.ipynb)이 들어 있다. 본 노트북이 "따라 하기"라면 lab은 "직접 응용해 보기"에 가깝다 — 채점 기준이나 데이터셋이 함께 제시된다.

6학습 포인트 (주제별)

각 단원에서 실제로 무엇을 배우는가 + 핵심 코드 패턴.

1. 기호주의 AI — 2-Symbolic

신경망이 아닌 규칙과 논리로 지능을 흉내 낸다. Animals.ipynb는 "다리 4개 + 털 있음 → 포유류" 같은 규칙을 연쇄 추론하는 전문가 시스템을, FamilyOntology.ipynb는 가족 관계를 온톨로지(개념 사이 관계망)로 표현해 질의한다.

배울 것: IF-THEN 규칙 기반 추론, 지식 표현(온톨로지·RDF), 순전파/역전파 추론(forward/backward chaining), "데이터로 배우는 AI"와 "지식을 적어 넣는 AI"의 근본 차이.

2. 신경망 기초 + 나만의 프레임워크 — 3-NeuralNetworks

이 커리큘럼의 심장. 뉴런 1개(퍼셉트론)에서 시작해, 4강에서 NumPy만으로 역전파를 직접 구현한다. 프레임워크가 자동으로 해주던 "미분"을 손으로 짜보는 경험이 이후 모든 단원의 이해도를 바꾼다.

# 3-NeuralNetworks/04-OwnFramework — 프레임워크 없이 역전파 직접
class Linear:
    def forward(self, x):
        self.x = x
        return x @ self.W + self.b
    def backward(self, dz):        # 핵심: 미분을 손으로 계산
        self.dW = self.x.T @ dz
        self.db = dz.sum(axis=0)
        return dz @ self.W.T       # 이전 층으로 흘려보낼 기울기

배울 것: 퍼셉트론과 활성화 함수, 순전파/역전파의 수학, 경사하강법, 과적합(overfitting)과 정규화, 그리고 5강에서 이 모든 걸 PyTorch·Keras·TensorFlow로 다시 짜며 "프레임워크가 대신 해주는 일"을 체감.

3. 컴퓨터 비전 & 전이학습 — 4-ComputerVision

OpenCV 고전 기법으로 몸을 푼 뒤 CNN으로 넘어간다. 핵심은 전이학습(Transfer Learning) — 이미 수백만 장으로 학습된 모델(VGG 등)을 가져와 마지막 층만 내 문제에 맞게 교체한다. 적은 데이터로도 높은 정확도를 내는 실전 필수 기법이다.

# 4-ComputerVision/08-TransferLearning (PyTorch 트랙)
import torchvision.models as models
vgg = models.vgg16(weights='IMAGENET1K_V1')
for p in vgg.features.parameters():
    p.requires_grad = False        # 사전학습 특성 추출부는 동결
vgg.classifier[6] = nn.Linear(4096, 2)  # 마지막 층만 내 문제(2클래스)로 교체

배울 것: 합성곱·풀링·특성 계층, 대표 CNN 아키텍처(VGG 등), 사전학습 모델 재활용, 오토인코더·VAE(9강)·GAN·화풍 변환(10강)으로 이어지는 생성 모델, 객체 탐지(11강)와 U-Net 시맨틱 분할(12강).

4. 자연어 처리 — 5-NLP

"단어를 숫자로 바꾸는 법"부터 트랜스포머까지 NLP의 역사를 순서대로 밟는다. BoW/TF-IDF(13강) → Word2Vec 임베딩(14강) → RNN(16강) → 트랜스포머·BERT(18강). 왜 트랜스포머가 RNN을 대체했는지를 "직접 겪으며" 이해하도록 설계됐다.

# 5-NLP/18-Transformers — 사전학습 BERT 불러오기
from transformers import AutoModel, AutoTokenizer
tok  = AutoTokenizer.from_pretrained('bert-base-uncased')
bert = AutoModel.from_pretrained('bert-base-uncased')
ids  = tok("deep learning is fun", return_tensors='pt')
out = bert(**ids).last_hidden_state   # 문맥이 반영된 단어 벡터

배울 것: 텍스트 벡터화(BoW·TF-IDF), 단어 임베딩의 의미 기하학, RNN/LSTM으로 순서 다루기, 어텐션(attention)과 트랜스포머 구조, BERT 파인튜닝, 개체명 인식(19강).

5. 거대 언어모델 & 프롬프트 — 5-NLP/20-LangModels

커리큘럼의 최신 접점. GPT 계열 거대 언어모델(LLM)의 원리와 프롬프트 프로그래밍·few-shot(예시 몇 개로 태스크 지시)를 다룬다. 앞 단원에서 트랜스포머를 이미 이해했기 때문에 "LLM이 왜 이렇게 작동하는지"를 마법이 아니라 구조로 받아들이게 된다.

배울 것: 언어모델의 다음 토큰 예측 원리, 프롬프트 설계, few-shot/zero-shot 개념, 사전학습→파인튜닝 패러다임. (더 깊은 생성형 AI는 자매 저장소 generative-ai-for-beginners로 연결.)

6. 강화학습 & 유전 알고리즘 — 6-Other

지도학습 바깥의 세계. 유전 알고리즘(21강)은 "진화"로 답을 찾고, 심층 강화학습(22강)은 보상을 통해 스스로 정책을 배운다. OpenAI Gym의 CartPole(막대 세우기)로 표준 RL 인터페이스를 익힌다.

# 6-Other/22-DeepRL — OpenAI Gym 표준 루프
import gym
env = gym.make("CartPole-v1")
obs, _ = env.reset()
for _ in range(1000):
    action = policy(obs)          # 정책이 행동 선택
    obs, reward, done, *_ = env.step(action)  # 환경이 보상을 돌려줌
    if done: obs, _ = env.reset()

배울 것: 유전 알고리즘(선택·교차·돌연변이), 강화학습의 상태/행동/보상, Q-Learning과 정책 경사, Gym 표준 인터페이스(reset/step), 다중 에이전트 시스템(23강)의 개념.

7. AI 윤리 & 멀티모달 — 7-Ethics · X-Extras

기술로 끝내지 않는다. 24강은 Microsoft의 책임 있는 AI 6대 원칙(공정성·신뢰성과 안전·프라이버시와 보안·포용성·투명성·책무성)을 다룬다. 부록에선 이미지와 텍스트를 한 공간에 매핑하는 CLIP·VQGAN 같은 멀티모달 모델을 맛본다.

배울 것: 편향(bias)과 공정성 지표, 책임 있는 AI 설계 원칙, 멀티모달 표현 학습(이미지↔텍스트), CLIP 제로샷 분류의 아이디어.

7시스템 요구사항

Python 환경 · GPU 필요 여부 · 설치 방법.

항목요구사항
Python 버전3.11 권장 (conda 환경 ai4beg 기준)
공식 설치법conda env create --name ai4beg --file environment.yml → PyTorch·OpenCV·Jupyter 일괄 설치
추가 pip 패키지requirements.txt: TensorFlow 2.17 · Keras 3 · gensim · nltk · gym · huggingface
GPU선택 — 입문·CV·NLP 대부분은 CPU/무료 Colab로 실습 가능. CNN·트랜스포머 학습은 GPU가 있으면 크게 빨라짐
클라우드 대안GitHub Codespaces(.devcontainer) · MyBinder · Google Colab — 로컬 설치 없이 실행
퀴즈 앱(선택)Node.js + npm (Vue.js / @vue/cli-service 5)
디스크 용량50개+ 언어 번역 포함 풀 클론은 매우 큼 → sparse-checkout으로 !translations 제외 권장
설치 없이 시작하는 법
Colab / Codespaces / Binder — 노트북을 브라우저에서 바로

딥러닝 환경 설정(특히 GPU 드라이버·CUDA)은 초보자가 가장 먼저 좌절하는 지점이다. 이 저장소는 노트북(.ipynb)을 그대로 Google Colab에 올리면 무료 GPU로 실행되고, Codespaces는 클릭 한 번에 conda 환경이 뜬다. "설치부터 막혀서 포기"를 구조적으로 막아둔 셈이다.

현실적 주의사항
전체 클론은 무겁다 — 번역·번역 이미지 때문

50개 이상 언어의 문서와 translated_images/ 미러가 포함돼 git clone이 매우 느리고 용량이 크다. README가 공식 안내하는 git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'로 번역을 빼고 받으면 훨씬 가볍다.

8직접 해볼 수 있는 실습 과제

난이도별 5개 — 커리큘럼 활용법.

난이도: 입문

실습 1 — 트랙을 정하고 퍼셉트론 레슨 완주하기1~2일

먼저 PyTorch 트랙과 TensorFlow 트랙 중 하나를 정한다. 그다음 3-NeuralNetworks/03-Perceptron에서 프리퀴즈 → README → Perceptron.ipynb 실행 → 포스트퀴즈까지 학습 사이클 하나를 처음부터 끝까지 겪어본다.

git clone --filter=blob:none --sparse https://github.com/microsoft/AI-For-Beginners.git
cd AI-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
cat lessons/3-NeuralNetworks/03-Perceptron/README.md

확인 포인트: 퍼셉트론이 "직선 하나로 두 그룹을 가르는" 가장 작은 신경망임을 노트북 그래프로 눈으로 확인한다.

난이도: 초급

실습 2 — 4강 "나만의 프레임워크"로 역전파 손구현하기3~4일

3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb를 따라, NumPy만으로 다층 퍼셉트론과 역전파를 짠다. 그런 다음 lab/MyFW_MNIST.ipynb에서 직접 만든 프레임워크로 손글씨 숫자(MNIST)를 분류해본다.

cd lessons/3-NeuralNetworks/04-OwnFramework
jupyter notebook OwnFramework.ipynb
# backward() 미분식을 한 줄씩 손으로 검산하며 실행

확인 포인트: 학습이 진행되며 손실(loss)이 줄어드는지 확인하고, 이 코드가 이후 5강 PyTorch loss.backward() 한 줄과 같은 일을 한다는 걸 대응시켜 이해한다.

난이도: 중급

실습 3 — 전이학습으로 내 이미지 분류기 만들기1주

4-ComputerVision/08-TransferLearning의 노트북을 참고해, 사전학습된 CNN의 마지막 층만 교체하고 내가 모은 이미지(예: 강아지 vs 고양이) 폴더로 파인튜닝한다.

cd lessons/4-ComputerVision/08-TransferLearning
jupyter notebook TransferLearningPyTorch.ipynb
# 데이터 경로를 내 이미지 폴더로 바꾸고, 마지막 Linear의 출력 수를 내 클래스 수로

확인 포인트: 사전학습 특성부를 requires_grad=False로 동결했을 때와 안 했을 때 정확도·학습 속도가 어떻게 달라지는지 비교한다.

난이도: 중급

실습 4 — 같은 레슨을 PyTorch ↔ TensorFlow로 비교하기4~5일

이미 한 트랙으로 완주한 CNN 레슨(07-ConvNets)을 반대 트랙 노트북으로 다시 연다. ConvNetsPyTorch.ipynbConvNetsTF.ipynb를 나란히 놓고 같은 개념이 어떻게 다르게 표현되는지 정리한다.

# 두 프레임워크의 "모델 정의" 방식 비교 노트를 직접 작성
# PyTorch: nn.Module 상속 + forward() 정의
# TF/Keras: Sequential([...]) 또는 함수형 API

확인 포인트: 층 정의·학습 루프·저장/불러오기 세 지점에서 API 철학 차이를 표로 정리하면, 어느 프레임워크 코드를 만나도 읽을 수 있게 된다.

난이도: 고급

실습 5 — BERT 파인튜닝 또는 CLIP 제로샷 실험2주+

5-NLP/18-Transformers의 BERT로 감성분석 데이터셋을 파인튜닝하거나, 부록 X-Extras/X1-MultiModal/Clip.ipynb로 "학습 없이(zero-shot)" 이미지를 텍스트 라벨로 분류하는 실험을 한다.

# CLIP 제로샷: 이미지와 텍스트 라벨을 같은 공간에 넣고 유사도 비교
labels = ["a cat", "a dog", "a car"]
# 학습 데이터 0장으로도 분류가 되는 원리를 직접 확인

확인 포인트: 사전학습 모델의 "지식"이 얼마나 강력한지 — 내 데이터로 거의 학습하지 않고도 쓸 만한 결과가 나오는 이유를 트랜스포머 구조와 연결해 설명해본다.

9관련 기술 심화 학습 로드맵

이 커리큘럼을 중심에 두고 앞뒤로 확장하는 주차별 경로.

0주차(선수) — 고전 ML 먼저 (선택이지만 강력 추천)

목표: 신경망에 들어가기 전에 "모델 학습의 기본 문법"(fit/predict, 과적합, 평가지표)을 고전 ML로 먼저 익힌다.

자료: 자매 저장소 microsoft/ML-For-Beginners(회귀·분류·클러스터링). 이미 익숙하다면 건너뛰어도 된다.

실습: Scikit-learn으로 회귀·분류 노트북 몇 개 완주 → train_test_split·과적합 개념 체화.

1~2주차 — 지도 세우기 (I·II·III단원)

목표: AI의 역사와 기호주의를 훑고, 3단원에서 퍼셉트론 → 나만의 프레임워크 → 기성 프레임워크 순서를 반드시 이 순서로 밟는다.

자료: lessons/1-Intro, 2-Symbolic, 3-NeuralNetworks 전체.

실습: 4강 역전파 손구현(실습 2)이 이 구간의 하이라이트 — 여기서 막히지 말고 시간을 들일 것.

3~5주차 — 컴퓨터 비전 (IV단원)

목표: CNN·전이학습을 손에 익히고, 오토인코더·GAN으로 생성 모델의 감을 잡는다.

자료: 4-ComputerVision 06~12강, 정한 트랙(PyTorch 또는 TF) 노트북.

실습: 전이학습으로 내 이미지 분류기(실습 3) → 작은 데이터로 높은 정확도를 직접 경험.

6~8주차 — 자연어 처리 & 트랜스포머 (V단원)

목표: 임베딩 → RNN → 트랜스포머·BERT로 이어지는 NLP의 진화를 순서대로 겪고, "왜 트랜스포머가 이겼는지"를 이해한다.

자료: 5-NLP 13~20강, Hugging Face transformers 공식 문서.

실습: BERT 파인튜닝(실습 5) → 사전학습→파인튜닝 패러다임 체득.

9~11주차 — 그 밖의 기법 (VI·VII단원)

목표: 강화학습·유전 알고리즘·다중 에이전트로 지도학습 바깥을 넓히고, AI 윤리로 마무리한다.

자료: 6-Other, 7-Ethics, Gymnasium(OpenAI Gym 후속) 문서.

실습: CartPole 강화학습 루프를 다른 Gym 환경(MountainCar 등)으로 바꿔보기.

12주차~ — 생성형 AI·LLM으로 확장

목표: 트랜스포머 기반을 갖췄으니, 현대 LLM·프롬프트 엔지니어링·RAG로 넘어간다.

자료: microsoft/generative-ai-for-beginners(생성형 AI 편), microsoft/ai-agents-for-beginners(에이전트 편) — 이 저장소가 직접 안내하는 다음 단계.

실습: 20강에서 배운 few-shot 프롬프트를 실제 LLM API로 확장해 미니 애플리케이션 하나 만들기.

10핵심 키워드 사전

이 저장소를 이해하는 데 필요한 핵심 용어.

딥러닝
Deep Learning
여러 층(deep)으로 쌓인 신경망으로 데이터에서 특징을 자동으로 학습하는 방식. 고전 ML은 사람이 특징을 골라줘야 했지만, 딥러닝은 층을 거치며 스스로 특징을 만든다. 이 커리큘럼의 III단원부터가 딥러닝이다.
역전파
Backpropagation
신경망이 틀린 정도(오차)를 출력에서 입력 방향으로 되짚어가며, 각 가중치를 얼마나 바꿔야 하는지(기울기)를 계산하는 알고리즘. 딥러닝 학습의 엔진이다. 4강에서 이걸 NumPy로 직접 구현하는 것이 이 저장소의 상징적 실습.
합성곱 신경망
CNN (Convolutional Neural Network)
작은 필터를 이미지 위로 훑으며(합성곱) 에지·질감·형태 같은 특징을 계층적으로 뽑는 신경망. 이미지 분류·탐지의 표준이다. 7강에서 다루며, VGG 같은 대표 아키텍처를 함께 배운다.
전이학습
Transfer Learning
대규모 데이터로 이미 학습된 모델을 가져와, 마지막 부분만 내 문제에 맞게 다시 학습시키는 기법. 적은 데이터·짧은 시간으로 높은 성능을 낸다. 8강의 핵심이며 실무에서 가장 자주 쓰는 CV 기법.
임베딩
Embedding
단어·문장 같은 이산적 대상을 의미가 담긴 숫자 벡터로 바꾼 것. 비슷한 의미일수록 벡터 공간에서 가깝다("왕−남자+여자≈여왕"). 14강 Word2Vec/GloVe에서 다룬다.
트랜스포머
Transformer
문장의 모든 단어가 서로를 동시에 "참고(어텐션)"하도록 만든 신경망 구조. 순차 처리하던 RNN의 한계를 넘어 병렬 학습이 가능해, 현대 NLP와 LLM의 토대가 됐다. 18강(BERT)에서 정면으로 다룬다.
어텐션
Attention
"지금 이 단어를 이해하려면 문장의 어느 단어에 주목해야 하는가"를 가중치로 학습하는 메커니즘. 트랜스포머의 핵심 부품이다. 문맥이 긴 문장에서도 관련 단어를 직접 연결할 수 있게 해준다.
생성적 적대 신경망
GAN (Generative Adversarial Network)
가짜를 만드는 생성자(Generator)와 진짜/가짜를 구별하는 판별자(Discriminator)를 서로 경쟁시켜, 점점 더 진짜 같은 데이터를 만들어내는 구조. 10강에서 이미지 생성·화풍 변환으로 다룬다.
과적합
Overfitting
모델이 학습 데이터의 잡음까지 외워버려, 새로운 데이터에서는 성능이 떨어지는 현상. 5강에서 정면으로 다루며, 드롭아웃·데이터 증강 같은 정규화로 완화한다. 딥러닝은 파라미터가 많아 특히 조심해야 한다.
강화학습
Reinforcement Learning
정답 데이터 대신 보상을 신호로, 시행착오를 거쳐 "좋은 행동 정책"을 스스로 배우는 학습. 게임·로봇 제어에 강하다. 22강에서 OpenAI Gym CartPole로 실습한다.

11참고 링크

더 깊이 파고들기 위한 공식 자료.