1# Deep_Learning μμ
2
3Deep_Learning ν΄λμ λ μ¨μ ν΄λΉνλ μ€ν κ°λ₯ν μμ μ½λμ
λλ€.
4
5## ν΄λ ꡬ쑰
6
7```
8examples/
9βββ pytorch/ # PyTorch ꡬν
10β βββ 01_tensor_autograd.py # ν
μ, μλ λ―ΈλΆ
11β βββ 02_neural_network.py # MLP, XOR λ¬Έμ
12β βββ 03_backprop.py # μμ ν μκ°ν
13β βββ 04_training.py # νμ΅ λ£¨ν, μ΅ν°λ§μ΄μ
14β βββ 05_cnn_basic.py # CNN κΈ°μ΄
15β βββ 06_cnn_advanced.py # ResNet, VGG
16β βββ 07_transfer_learning.py # μ μ΄ νμ΅
17β βββ 08_rnn_basic.py # RNN
18β βββ 09_lstm_gru.py # LSTM, GRU
19β βββ 10_transformer.py # Transformer
20β βββ ...
21β
22βββ numpy/ # NumPy μμ ꡬν
23 βββ 01_tensor_basics.py # ν
μ, μλ λ―ΈλΆ
24 βββ 02_neural_network_scratch.py # MLP μμ ν
25 βββ 03_backprop_scratch.py # μμ ν μ§μ ꡬν
26 βββ 04_training_scratch.py # SGD μ§μ ꡬν
27 βββ 05_conv2d_scratch.py # ν©μ±κ³± μ§μ ꡬν
28```
29
30## PyTorch vs NumPy ꡬν λΉκ΅
31
32| λ μ¨ | PyTorch | NumPy | λΉκ΅ ν¬μΈνΈ |
33|------|---------|-------|------------|
34| 01 | μλ λ―ΈλΆ | μλ λ―ΈλΆ | `backward()` vs μ§μ κ³μ° |
35| 02 | `nn.Module` | ν΄λμ€ μ§μ | μμ ν ꡬ쑰 |
36| 03 | `loss.backward()` | μ²΄μΈ λ£° ꡬν | μμ ν μ리 |
37| 04 | `optim.Adam` | SGD μ§μ ꡬν | μ΅ν°λ§μ΄μ μ리 |
38| 05 | `nn.Conv2d` | for 루ν | ν©μ±κ³± μ°μ° |
39| 06+ | PyTorch only | - | 볡μ‘λλ‘ μΈν΄ μλ΅ |
40
41## μ€ν λ°©λ²
42
43### νκ²½ μ€μ
44
45```bash
46# κ°μνκ²½ μμ±
47python -m venv dl-env
48source dl-env/bin/activate
49
50# PyTorch μ€μΉ (CUDA μ§μ)
51pip install torch torchvision torchaudio
52
53# κΈ°ν ν¨ν€μ§
54pip install numpy matplotlib
55```
56
57### μ€ν
58
59```bash
60# PyTorch μμ
61cd Deep_Learning/examples/pytorch
62python 01_tensor_autograd.py
63
64# NumPy μμ
65cd Deep_Learning/examples/numpy
66python 01_tensor_basics.py
67```
68
69## νμ΅ μμ
70
71### 1λ¨κ³: κΈ°μ΄ (PyTorch + NumPy λΉκ΅)
72```
73pytorch/01 ββ numpy/01 # ν
μ, λ―ΈλΆ
74pytorch/02 ββ numpy/02 # μ κ²½λ§ μμ ν
75pytorch/03 ββ numpy/03 # μμ ν
76pytorch/04 ββ numpy/04 # νμ΅
77```
78
79### 2λ¨κ³: CNN (κΈ°μ΄λ§ NumPy)
80```
81pytorch/05 ββ numpy/05 # CNN κΈ°μ΄ (ν©μ±κ³± μ΄ν΄)
82pytorch/06 # CNN μ¬ν (PyTorch only)
83pytorch/07 # μ μ΄ νμ΅ (PyTorch only)
84```
85
86### 3λ¨κ³: μνμ€ λͺ¨λΈ (PyTorch only)
87```
88pytorch/08 # RNN
89pytorch/09 # LSTM, GRU
90pytorch/10 # Transformer
91```
92
93## NumPy ꡬνμ νμ΅ κ°μΉ
94
951. **01-02**: ν
μ μ°μ°κ³Ό μμ νκ° λ¨μ νλ ¬ κ³±μμ μ΄ν΄
962. **03**: μμ νκ° μ²΄μΈ λ£°μ λ°λ³΅ μ μ©μμ μ΄ν΄
973. **04**: κ²½μ¬ νκ°λ²μ κ°μ€μΉ μ
λ°μ΄νΈ μ리 μ΄ν΄
984. **05**: ν©μ±κ³±μ΄ νν°μ μ¬λΌμ΄λ© μλμ°μμ μ΄ν΄
99
100## NumPy ꡬνμ΄ μ΄λ €μ΄ μμ
101
102- **CNN μ¬ν**: Skip Connection, Batch Normalization
103- **RNN/LSTM**: μκ° μΆ μμ ν(BPTT), κ²μ΄νΈ ꡬ쑰
104- **Transformer**: Multi-Head Attention, μμΉ μΈμ½λ©
105
106β μ΄ μμ λΆν° PyTorchλ§ μ¬μ©νμ¬ μ€μ μ μ§μ€
107
108## μ°Έκ³ μλ£
109
110- [PyTorch νν 리μΌ](https://pytorch.org/tutorials/)
111- [CS231n (Stanford CNN)](http://cs231n.stanford.edu/)
112- [3Blue1Brown Neural Networks](https://www.3blue1brown.com/topics/neural-networks)