๐ ๋ณธ ๋ด์ฉ์ Michigan University์ 'Deep Learning for Computer Vision' ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ฐ์ธ์ ์ผ๋ก ํ๊ธฐํ ๋ด์ฉ์
๋๋ค. ๋ด์ฉ์ ์ค๋ฅ๋ ํผ๋๋ฐฑ์ด ์์ผ๋ฉด ๋ง์ํด์ฃผ์๋ฉด ๊ฐ์ฌํ ๋ฐ์ํ๊ฒ ์ต๋๋ค.
(Stanford์ cs231n๊ณผ ๋ด์ฉ์ด ๊ฑฐ์ ์ ์ฌํ๋ ์ฐธ๊ณ ํ์๋ฉด ๋์ ๋์ค ๊ฒ ๊ฐ์ต๋๋ค)๐
1. Learning Rate Schedules
1) ๋น๊ต
- ํด์
- very high LR: loss๊ฐ ๊ธ์ฆํจ
- low LR: ๋งค์ฐ ์ฒ์ฒํ ํ์ต ์งํ
- high LR: ๋งค์ฐ ๋นจ๋ฆฌ ์๋ ดํ์ง๋ง, loss๊ฐ ๋ ๋ฎ์์ง
- good LR: ์ ๋น
- ์ง๋ฌธ
- Q. ์ด๋ค LR์ด ๊ฐ์ฅ ์ฌ์ฉํ๊ธฐ ์ ์ ํ๊ฐ?
- A. ๋ค ใฑใ
์! high LR๋ถํฐ ์์ํด์ ์ค์ฌ๊ฐ๋ณด์. = LR Schedule ์ด๋ผ๊ณ ํจ
2) LR Decay
a. Step Schedule
- ๊ฐ๋
- ๊ณ ์ ๋ point๋ค์ LR์ ๊ฐ์ํด์ค
- ex. ResNet โ 0.1๋ถํฐ ์์ํด์ 30 epoch๋ง๋ค 0.10.1, 0.10.1*0.1 ์ด๋ฐ์์ผ๋ก ์ค์
- ๋ฌธ์ ์
- trial & error๊ฐ ๋๋ฌด ๋ง์
= train model ์ ๋๋ฌด ๋ง์ ์๋ก์ด hyper parameter๋ฃ์
= ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ์ ์๋ฅผ ์๊ฐํด์ tuning ํด์ผ๋จ
= LR์ decayํ ํน์ ์ง์ ์ ํํด์ผ๋จ
โ ๋ช๋ฒ ๋ฐ๋ณต์๋ง๋ค LR์ค์ผ๊ฑด์ง & ์ด๋ค LR๋ก ์ค์ฌ๋๊ฐ๊ฑด์ง ๊ฒฐ์ ํด์ค์ผ ๋จ
b. Cosine Schedule
- ๊ฐ๋
- LR์ decayํ ํน์ ์ง์ ์ค์ ํ๋ ๋์ , ์ด๊ธฐ LR๋ง ์ค์
- ๊ธฐ์กด๋ณด๋ค ๋งค์ฐ ์ ์ hyperparameter๋ก trainํ๊ธฐ ๋ ์ฌ์
- train longer โ โ ์ฑ๋ฅ โ
- ํด์
- ์ ๋ฐ์ฏค์ LR์ด ๋จ์ด์ง
= ์ฒจ์ LR ๋๊ฒ ์์ํ๊ณ , train ๋์ฏค์ LR์ด 0์ ๊ฐ๊น์์ง
- ๋ฌธ์ ์
- ๊ณ์ฐ ๋ณต์ก๋ ์ฌ๋ผ๊ฐ
c. Linear Schedule
- ๊ฐ๋
- cf) cos๊ณผ linear์ค์ ๋ญ๊ฐ ๋ ๋์์ง๋ ์ฐ๊ตฌ๊ฐ ์ ์ด์ ๋งํ๊ธฐ ์ ๋งคํจ.
- domain๋ณ๋ก ์ ํธํ๋ LR schedule ์กด์ฌ
- cv : cos schedule ์ ํธ
- NLP: linear ์ ํธ
d. Inverse Sqrt Schedule
- ๊ฐ๋
- ๋ฌธ์ ์
- ์ด๊ธฐ high LR์์ ๊ฐ์๊ธฐ ํ ์ค์ด๋ฆ
e. Constant
- ๊ฐ๋
- ์ ค ํํจ
- ์๊ฐ๋ณด๋ค ์ ์ ์ฉ๋จ (๊ฑ ์ด๊ฑฐ ์ฌ์ฉํด๋ ใฑใ
์)
- ๋ ๋ณต์กํ schedule๋ก ๊ฐ์๋ก, ๋ช% ๋ ์ข์ ์ฑ๋ฅ
- ๊ธฐ์กด Schedule๊ณผ์ ์ฐจ์ด
- ๋ชจ๋ธ work/not work์์ ์ฐจ์ดX
- constant โ ๋ ๋ณต์กํ schedule๋ก ๊ฐ์๋ก, ๋ช% ๋ ์ข์ ์ฑ๋ฅ
- ๊ฑ ๋ชจ๋ธ์ด work๋ง ๋๊ฒ ํ๋ฉด ๋๋ฉด, constant๊ฐ ๊ด์ฐฎ์ ์ ํ
- cf) SGD+Momentum โ LR decay schedule ์ ํ ์ค์
RMSProp or Adam โ ๊ฑ constant ์จ๋ ใฑใ
- ๊ด๋ จ ์ง๋ฌธ Q. Loss๊ฐ ๋์์ก๋ค ๋ฎ์์ก๋ค ๋ค์ ๋์์ง๋ ๊ฒฝ์ฐ๊ฐ ์๋์?
A. ์์. zero-grad๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์ง ์์๋, task์ type์ ๋ฐ๋ผ bad dynamic์ ๋ณผ ์๋ ์๋ค. data corruption์ด explode๋ฅผ ์ ๋ฐ ๊ฐ๋ฅํ๋ค
(์ผ๋ฐ์ ์ธ ๋ต์ ์๋, ์ฌ๋ฐ์ฌ)
3) Early Stopping
- ๊ฐ๋
- val์ accuracy๊ฐ ๊ฐ์ํ๋ คํ ๋ (overfitting ์ ) ๋ฐ๋ณต ์ค์ง์์ผ์ผ๋จ
- ๋งค iteration๋ง๋ค์ model snapshot์ ์ฅํ, val set์์ ๊ฐ์ฅ ์ work์์ weight๊ฐ์ ธ์ด
2. (GPUๅค) Choosing Hyperparameters
๐ Grid, Random Search
1) ๋ฐฉ๋ฒ
a. Grid Search
- ๊ฐ๋
- ๋ฏธ๋ฆฌ ์ ํด์ง ์ซ์๋ค
b. Random Search
- ๊ฐ๋
- ๋ฒ์ ๋ด์ ๋๋คํ ์ซ์๋ค
2) ๋น๊ต
- ํด์
- Grid Search: ์ค์ ํ๋ผ๋ฏธํฐ๋ค์ ๋ ์ก์๋
- Random Search: ์ค์ ํ๋ผ๋ฏธํฐ๋ค์ ๋ ๋ง์ด ์ก์๋
3) Random Search Weight decay
3. (GPU ็ก) Choosing Hyperparameters
๐ ์ด 7step ๊ณผ์
1) ๊ณผ์
a. ์ด๊ธฐ loss ์ธก์
- weight decay ์ค์ ์ํ ์ํ์์, ๋งจ ์ฒ์ loss ํ์ธ
ex. softmax โ ๋งจ ์ฒ์ loss๊ฐ์ด logC๊ฐ ์๋๋ฉด, ๋คํธ์ํฌ ์ค๋ฅ์์
b. ์์ sample์ overfitํด๋ณด๊ธฐ
- ์์ training set (5~10 ๋ฏธ๋๋ฐฐ์น)์์ 100% accuracy๊ฐ ๋์ค๋์ง ํ์ธ
- loss๊ฐ ์ ์๋จ์ด์ง๋ฉด, LR, weight initialization ๊ณ ๋ ค
c. loss๊ฐ ์ค์ด๋๋ LR์ฐพ๊ธฐ
- Step2์ architecture ๊ณ ์ ํ, ๋ชจ๋ train data ํ์ฉํ์ฌ 100 iteration๋์์ LR์๋
โ loss๊ฐ ์ค์ด๋๋ LR ์ฐพ๊ธฐ
d. epoch 1~5๋ฒ ๋๋ ค๋ณด๋ฉฐ, weight decay ์กฐ์
- ์ฌ๊ธฐ์ ์์ฒญ ๋ฎ์ ์ฑ๋ฅ์ ์ป์๋ฆฌX
e. Refine grid, train longer
- Step4์์ ๊ณ ๋ฅธ ๋ชจ๋ธ epoch ๋๋ ค์ train์ํด
โ ์์ฒญ ์ค๋๊ฑธ๋ฆด์๋
f. Learning curve ํ์ธํ๊ธฐ
g. GOTO step5
- ํ์ดํผํ๋ผ๋ฏธํฐ ์กฐ์ ๋ฐ๋ณต
- LR, LR decay schedule, update type
- regularization(L2, Dropout strength)
4. After Training: Model Ensemble (Tip&trick: LR schedule, polyak averaging)
๐ ์์๋ธ, transfer learning, large-batch training
1) Model Ensembles
5. After Training: Transfer Learning
๐ feature extract, fine tuning
1) ๋ฐ์ ๋ฐฐ๊ฒฝ
- CNN์์ ๋ง์ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค๋ ๋ฌธ์ ์ ํด๊ฒฐ์ฑ
์ ์
2) CNN์์ ์ ์ฉํด๋ณด๊ธฐ
-
๊ฐ๋
- dataset์ด ์๋ค๋ฉด ๋งค์ฐ ํจ๊ณผ์
- CNN์ feature ์ถ์ถ๊ธฐ๋ก ๋ง๋ค๊ณ โ ๊ทธ ์์ linear ๋ถ๋ฅ
-
์ฌ์ฉ ์์
- feature๋ฅผ ์ฐ๋ฆฌ๊ฐ ์ ๊ฒฝ์ฐ๋ ์ด๋ค ์์ data set์ ์ ์ฉ (=์ด๋ฏธ์ง๋ท์ 1000๊ฐ ์นดํ
๊ณ ๋ฆฌ ๋ถ๋ฅ๋์ , 10๊ฐ์ ์ข
๋ฅ ๋ถ๋ฅ์ ๋๋ง ํ๊ณ ์ถ์ ๊ฒ)
โ ํ๋ ฌ ์์๋ก ์ฌ์ด๊ธฐํ (ex. imageNet: 40961000, ์๋ก์ด class: 4096c*10)
โ (Freeze these) ๋ชจ๋ ์ด์ ๊ณ์ธต์ ๊ฐ์ค์น ๊ณ ์
โ ์ ํ ๋ถ๋ฅ๊ธฐ ํ๋ จ
โ ๋ง์ง๋ง ๊ณ์ธต ํ๋ผ๋ฏธํฐ๋ค๋ง ํ๋ จ
โ ๋ฐ์ดํฐ์ ์๋ ด
-
์ฑ๋ฅ ๋น๊ต ์์
-
ํด์
- Alexnet feature๋ค์ ์ด์ ๋ฐฉ๋ฒ์ ์ ์ฉ์ํค๋ฉด ๋ ์ข์ ์ฑ๋ฅ
-
ํด์
- imageNet์์ feature์ถ์ถํ pretrained model๋ก โ feature๋ฒกํฐ์์ NN์ ์ฉ
= transfer learning์ผ๋ก๋ ์ ค ๊ฐ๋จํ ์์ (๋จ์ํ feature vector์ถ์ถํ๊ณ ์ฌ์ฉ)
- ์ต๊ทผ์ ์ด์ ๋ฐฉ๋ฒ์ผ๋ก image ๋ณต๊ตฌ์์
์ํ
3) Bigger dataset: Fine-Tuning
6. After Training: Transfer Learning_Architecture Matters & ํน์ง ์ผ๋ฐํ
- ํด์
- imageNet์์ ์๋๋ฉด ๋ค๋ฅธ ๋ฐ์๋ ์๋จ
- ์์
1) Transfer Learning ํน์ง ์ผ๋ฐํ
| ๋งค์ฐ ๋น์ทํ dataset | ๋งค์ฐ ๋ค๋ฅธ dataset |
---|
๋งค์ฐ ์ ์ data | ์ ์ผ ์๊ณ์ธต์์ linear classifier์ฌ์ฉ | ๊ณค๋ํ ์ํฉ, ์ฌ๋ฌ ๋จ๊ณ๋ก๋ถํฐ linear classifier ์๋ |
๊ฝค ๋ง์ data | ๋ช๊ฐ์ layer ๋ฏธ์ธ์กฐ์ | ๋ ๋ง์ ๊ณ์ธต fine tuning |
2) ์ ์ดํ์ต ํ์ฉ ์์๋ค
a. ๋ฌผ์ฒด ์ธ์, image captioning
- ํด์
- ๋ ๋ค CNN์ผ๋ก imageNet pretrainํจ + fine tuning
b.
์ ๋ฆฌ ์ค . . โ ๐ง