<content>

  • L2 regularization
  • dropout
  • data augmentation
  • early stopping

 

์ •๊ทœํ™” (variance๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•)

 

1. L2 regularization

 

L2 regularization์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

  • loss function์— W ํ–‰๋ ฌ์˜ norm์„ ๋”ํ•ด์ฃผ์–ด W ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋ฅผ ์ œ์•ฝํ•จ์œผ๋กœ์จ overfitting์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
  • W์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ปค์ง€๋ฉด ์ด ๊ฐ’์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€๋ฉฐ overfitting์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์—
    W์˜ ํฌ๊ธฐ๋ฅผ ์ œ์•ฝํ•จ์œผ๋กœ์จ ์ •๊ทœํ™” ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  • $$ J = \frac{1}{m} \sum_{i=1}^{m} L(\hat{y^{(i)}}, y^{(i)})+\frac{\lambda}{2m} \sum_{l=1}^{L} ||W^{[l]}||_F^{2}  $$
  • $$ ||W^{[l]}||_F^{2} = \sum_{i=1}^{n^{[l]}} \sum_{j=1}^{n^{[l-1]}}w_{ij}^{[l]} $$
  • * ์—ฌ๊ธฐ์„œ W^[l] ์€ l๋ฒˆ์งธ layer์—์„œ์˜ weight matrix๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • * ์—ฌ๊ธฐ์„œ n^[l]์€ l๋ฒˆ์งธ layer์—์„œ์˜ ๋…ธ๋“œ์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • * ์—ฌ๊ธฐ์„œ m์€ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์œ„์˜ ์‹๊ณผ ๊ฐ™์ด loss์— weight matrix์˜ norm์„ ๋”ํ•ด์ค€ ๊ฒƒ์„ ์ตœ์ข…์ ์ธ loss๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

backpropagation์—์„œ๋Š” ์–ด๋– ํ•œ ์ผ์ด ์ผ์–ด๋‚˜๋Š”๊ฐ€?

  • $$ \frac{\partial J}{\partial W^{[l]}} = \frac{1}{m} \sum_{i=1}^{m} \frac{\partial}{\W^{[l]}}L(\hat y^{(i)}, y^{(i)}) + \frac{\lambda}{m}W^{[l]}  $$
  • $$ W^{[l]} \leftarrow W^{[l]}-\alpha \frac{\partial J}{\partial W^{[l]}}    
    =W^{[l]} - \alpha \frac{1}{m} \sum_{i=1}^{m} \frac{\partial}{\W^{[l]}}L(\hat y^{(i)}, y^{(i)})  - \alpha \frac{\lambda}{m}W^{[l]} $$
  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋˜๋ฉฐ, weight matrix W๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๊ทธ ํฌ๊ธฐ๋ฅผ ๋” ์ž‘๊ฒŒ ๋งŒ๋“ ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด loss์— weight matrix์˜ norm์„ ๋”ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์™œ overfitting์„ ๋ง‰๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ธ๊ฐ€?

  • W๊ฐ€ ์ปค์ง€๋Š” ๊ฒƒ์„ ๋ง‰์•„ local noise์— ๋œ ๋ฏผ๊ฐํ•˜๋„๋ก ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • W๊ฐ€ ํฌ๋‹ค๋ฉด input์˜ ์‚ฌ์†Œํ•œ ์ฐจ์ด๊ฐ€ ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์˜๋˜์–ด ์˜ˆ์ธก๊ฐ’์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

  • activation function ๊ด€์ ์—์„œ ์ •๊ทœํ™”์˜ ํšจ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๋ฉด,
  • $$ z^{[l]}= w^{[l]}a^{[l-1]}+b^{[l]} $$
  • W^[l]์ด ์ž‘์•„์งˆ์ˆ˜๋ก z^[l] ๋˜ํ•œ 0์— ๊ฐ€๊นŒ์›Œ์ง€๊ฒŒ ๋œ๋‹ค.
  • ์ด ๋•Œ 0 ๊ทผ์ฒ˜์—์„œ ์„ ํ˜•ํ˜•ํƒœ๋ฅผ ๋„๋Š” sigmoid, tanh๋ฅผ ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด,
  • ๋น„์„ ํ˜• ์˜์‚ฌ๊ฒฐ์ •์ด ์ผ์–ด๋‚˜์ง€ ์•Š๊ณ , ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผํ•ด๋„ ์„ ํ˜• layer๋งŒ ์Œ“๋Š” ๊ผด์ด ๋˜์–ด overfitting์ด ๋ฐฉ์ง€๋˜๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค.

 

์ •๊ทœํ™”์˜ ์ •๋„๋Š” ์–ด๋–ป๊ฒŒ ์กฐ์ ˆํ•˜๋Š”๊ฐ€?

  • lambda๊ฐ’์„ ํ†ตํ•ด ์กฐ์ ˆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • lambda๊ฐ€ ํฌ๋‹ค๋ฉด weight matrix๋ฅผ ๋” ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •๊ทœํ™”์˜ ๊ฐ•๋„๊ฐ€ ์„ธ๋‹ค.
    (underfitting์˜ ์œ„ํ—˜ ์กด์žฌ)
  • lambda๊ฐ€ ์ž‘๋‹ค๋ฉด weight matrix๋ฅผ ๋œ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •๊ทœํ™”์˜ ๊ฐ•๋„๊ฐ€ ์•ฝํ•˜๋‹ค.
    (overfitting์˜ ์œ„ํ—˜ ์กด์žฌ)
  • ๋”ฐ๋ผ์„œ ์ ์ ˆํ•œ labmda ๊ฐ’์˜ ์„ค์ •์ด ์ค‘์š”ํ•˜๋‹ค.

 


2. dropout

 

dropout ์ด๋ž€?

  • ์ผ์ • ํ™•๋ฅ ๋กœ ๋…ธ๋“œ๋ฅผ ๋„๋Š” ๊ฒƒ์ด๋‹ค.
  • ์—ฌ๊ธฐ์„œ ๋…ธ๋“œ๋ฅผ ๋ˆ๋‹ค๋Š” ๊ฒƒ์€ activation function์„ ํ†ต๊ณผํ•œ ๊ฐ’์„ 0์œผ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
  • dropout์˜ ๊ฒฝ์šฐ, activation function์„ ํ†ต๊ณผํ•œ ๋’ค ์ ์šฉํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.
  • dropout ์ค‘ inverted dropout์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • inverted dropout์˜ ๊ฒฝ์šฐ dropout ํ›„ keep_prop์œผ๋กœ ๊ฐ’์„ ๋‚˜๋ˆ ์ฃผ๋Š”๋ฐ (=keep_prop์€ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์ด๋ฏ€๋กœ, keep_prop์œผ๋กœ ๋‚˜๋ˆ ์ฃผ๋Š” ๊ฒƒ์€ ๊ฐ’์„ ์ปค์ง€๊ฒŒ ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ์ค€๋‹ค), ๊ทธ ์ด์œ ๋Š” dropout์„ ์ง„ํ–‰ํ•œ ํ›„ activation function ํ†ต๊ณผํ•œ ๊ฐ’๋“ค์˜ ๊ธฐ๋Œ“๊ฐ’์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๋‚˜๋ˆ ์ฃผ์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ layer๋ฅผ ํ†ต๊ณผํ•˜๋ฉด์„œ ๊ฐ’์ด ์ ์  ์ž‘์•„์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • train ๊ณผ์ •์—์„œ dropout ํ™•๋ฅ ๋กœ ๋‚˜๋ˆ ์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ test ์‹œ dropout์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์„ฑํ™”ํ•จ์ˆ˜ ํ†ต๊ณผํ•ด์„œ ๋‚˜์˜จ ๊ฐ’์„ scalingํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ inverted dropout์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ํ•„์š”์—†๋‹ค.

 

dropout ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?

  • dropout์„ ์ ์šฉํ•˜๋ฉด ํŠน์ • node๊ฐ€ ๊บผ์ง€๋”๋ผ๋„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๊ธฐ ์œ„ํ•œ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.
    ์ด ๊ณผ์ •์—์„œ ํŠน์ • node์— ์˜์กดํ•˜๋Š” ํ˜„์ƒ์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์ด ์ด๋ค„์ง€๋ฉฐ overfitting์„ ๋ง‰์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ์ฆ‰ ํ•˜๋‚˜์˜ ๋…ธ๋“œ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์ง‘์ค‘๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๊ฐ€์ค‘์น˜๋ฅผ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋ผ๋ฆฌ ๊ณ ๋ฃจ ๋‚˜๋ˆ ๊ฐ€์ง€๊ฒŒ ๋˜์–ด overfitting์„ ๋ง‰์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

dropout ์‚ฌ์šฉํ•˜๋Š” ์‹œ์ ?

  • ๋ชจ๋“  neural network์— dropout์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค! overfitting ๋˜๋Š” ๊ฒฝ์šฐ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • computer vision์—์„œ๋Š” dropout์„ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ,
    computer vision์—์„œ๋Š” ์ฐจ์› ๋Œ€๋น„ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ ์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ๋†’์€ ํ™•๋ฅ ๋กœ overfitting์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๋ชจ๋“  layer์— dropout์„ ๋ฐ˜๋“œ์‹œ ์ ์šฉํ•  ํ•„์š”๋Š” ์—†๋‹ค. 
    overfitting์ด ๊ฑฑ์ •๋˜๋Š” layer, ์ฆ‰ W ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ํฐ layer์—์„œ ๋†’์€ ๋น„์œจ์˜ dropout์„ ์ ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

 

 


3. data augmentation

  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š” ํ•™์Šต ํšจ๊ณผ๊ฐ€ ๋‚ฎ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๋ฌด๋ฃŒ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ๋’ค์ง‘๊ธฐ, ์ž๋ฅด๊ธฐ ๋“ฑ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ฐ์ดํ„ฐ ํŠน์ง•์— ๋”ฐ๋ผ ์ž˜ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค!
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆซ์ž ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ์ขŒ์šฐ๋ฐ˜์ „์„ ํ•˜๋ฉด ์˜คํžˆ๋ ค ํ•™์Šต์— ๋ฐฉํ•ด๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

 


4. early stopping

  • ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ W ํ–‰๋ ฌ์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ปค์ง€๊ฒŒ ๋œ๋‹ค.
  • ์ „์ฒด ํ•œ ๋ฒˆ์˜ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๊ณ , W ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ ˆ๋ฐ˜ ์ •๋„๊ฐ€ ๋˜๋Š” ์ง€์ ์—์„œ์˜ ๊ฐ’์„ ์ทจํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

  • ํ˜น์€ epoch์— ๋”ฐ๋ผ validation loss๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ํ•™์Šต์„ ์ค‘๋‹จํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

https://www.commonlounge.com/discussion/14724b5b179f4a6eb2e2fb937c749eb5

+ Recent posts