hye-log

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 06_DAY 28 ๋ณธ๋ฌธ

Boostcourse/AI Tech 4๊ธฐ

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 06_DAY 28

iihye_ 2022. 10. 28. 22:44

๐Ÿ”ฅ ๊ฐœ๋ณ„ํ•™์Šต


[7] Training & Inference 1 - Loss, Optimizer, Metric

1. Loss

1) Loss ํ•จ์ˆ˜ = Cost ํ•จ์ˆ˜ = Error ํ•จ์ˆ˜

2) nn.Loss ํŒจํ‚ค์ง€์—์„œ ๋‹ค์–‘ํ•œ loss๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

3) loss.backward() : ํŒŒ๋ผ๋ฏธํ„ฐ์˜ grad ๊ฐ’์ด ์—…๋ฐ์ดํŠธ ๋จ

4) ์กฐ๊ธˆ ํŠน๋ณ„ํ•œ loss

- Focal Loss : Class Imablance์ธ ๊ฒฝ์šฐ ๋งž์ถœ ํ™•๋ฅ ์ด ๋†’์€ Class๋Š” ์กฐ๊ธˆ์˜ loss๋ฅผ, ๋งž์ถœ ํ™•๋ฅ ์ด ๋‚ฎ์€ Class๋Š” loss๋ฅผ ๋†’๊ฒŒ ๋ถ€์—ฌ

- Label Smoothing Loss : Class target label์„ one-hot์ด ์•„๋‹ˆ๋ผ soft ํ•˜๊ฒŒ ํ‘œํ˜„ํ•ด์„œ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ๋†’์ž„

 

2. Optimizer

1) learning rate๋ฅผ ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ์›€์ง์ผ์ง€ ์กฐ์ •ํ•ด ์คŒ2) LR schedular : learning rate๋ฅผ ๋™์ ์œผ๋กœ ์›€์ง์ด๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•- StepLR : ํŠน์ • Step ๋งˆ๋‹ค LR ๊ฐ์†Œ

schedular = torch.optim.lr_schedular.StepLR(optimizer, step_size=2, gamma=0.1)

- CosineAnnealingLR : Cosine ํ•จ์ˆ˜ ํ˜•ํƒœ์ฒ˜๋Ÿผ LR์„ ๊ธ‰๊ฒฉํžˆ ๋ณ€๊ฒฝ

schedular = torch.optim.lr_schedular.CosineAnnealingLR(optimizer, T_max=10, eta_min=0)

- ReduceLROnPlateau : ๋” ์ด์ƒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์—†์„ ๋•Œ LR ๊ฐ์†Œ

schedular = torch.optim.lr_schedular.ReduceLROnPlateau(optimizer, 'min')

https://www.kaggle.com/code/isbhargav/guide-to-pytorch-learning-rate-scheduling/log

 

3. Metric

1) ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๊ฐ๊ด€์ ์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€ํ‘œ๊ฐ€ ํ•„์š”2) ๋ฐ์ดํ„ฐ ์ƒํƒœ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ metric์„ ์„ ํƒํ•ด์•ผ ํ•จ- Accuracy : Class๋ณ„๋กœ ๋ฐธ๋Ÿฐ์Šค๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ถ„ํฌ- F1-score : Class๋ณ„ ๋ฐธ๋Ÿฐ์Šค๊ฐ€ ์ข‹์ง€ ์•Š์•„์„œ ๊ฐ ํด๋ž˜์Šค ๋ณ„๋กœ ์„ฑ๋Šฅ์„ ์ž˜ ๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ ํ•„์š”



๐Ÿ”ฅ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์˜ค์ „์—๋Š” ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ์„ ํ†ตํ•ด ์–ด๋–ค ์‹คํ—˜์„ ํ• ์ง€ ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„์ง€ ๋…ผ์˜ํ–ˆ๋‹ค. ํŠนํžˆ class imbalance ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฐ€์žฅ ๊นŠ๊ฒŒ ๊ณ ๋ฏผํ•œ ๊ฒƒ ๊ฐ™๋‹ค. model ๊ฐ•์˜๋ฅผ ํ•˜๋‚˜ ๋“ค์œผ๋ฉด์„œ ์‹คํ—˜๋„ ๋Œ๋ ค๋ดค๋‹ค. optimizer๋„ ๋ฐ”๊ฟ”๋ณด๊ณ  learning rate๋„ ์กฐ์ ˆํ•ด๋ณด๋ฉด์„œ ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ•ด๋ณด์•˜๋‹ค. ์ œ์ถœ์€ ํ•ด๋ดค์ง€๋งŒ ์•„์ง epoch๊ฐ€ ์ ์–ด์„œ ๊ทธ๋Ÿฐ์ง€ metric์— ํฐ ์ฐจ์ด๋Š” ์—†์—ˆ๋‹ค. ํ”ผ์–ด์„ธ์…˜ ๋•Œ์—๋„ ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•ด๋ณด๊ณ , ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์‹คํ—˜ ๋ฐฉ๋ฒ•๋“ค์„ ์ •๋ฆฌํ•ด๋ดค๋‹ค. ์˜ค๋Š˜์€ ๊ธˆ์š”์ผ์ด๋ผ ํŒ€ ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ํ•œ ์ฃผ ๋™์•ˆ ๋น ๋ฅด๊ฒŒ ์ง€๋‚˜๊ฐ”์ง€๋งŒ ๊ทธ๋ž˜๋„ ์ž˜ํ–ˆ๋˜ ์ ๊ณผ ์•„์‰ฌ์› ๋˜ ์ ๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ด๋ฒˆ ์ฃผ๋ฅผ ํšŒ๊ณ ํ–ˆ๋‹ค. ๋‹ค์Œ ์ฃผ๋Š” ๊ฒฝ์ง„๋Œ€ํšŒ ๋งˆ์ง€๋ง‰์ด๊ธฐ๋„ ํ•˜๊ณ , ์ด๋ฒˆ ์ฃผ์— ํ—ค๋งธ๋˜ ๊ฒƒ๋ณด๋‹ค๋Š” ๋‹ค์Œ ์ฃผ์—๋Š” ๋” ์ž˜ ํ•ด๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์•„์„œ ๊ธฐ๋Œ€๋œ๋‹ค!!

 

728x90
Comments