๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Deep Learning/2023 DL ๊ธฐ์ดˆ ์ด๋ก  ๊ณต๋ถ€

[Standford_cs231n] Lecture 6 ) Training Neural Networks I

by ์ œ๋ฃฝ 2023. 7. 7.
728x90
๋ฐ˜์‘ํ˜•

 

1. Activation Functions
  • ํ™œ์„ฑํ™” ํ•จ์ˆ˜: ์ถœ๋ ฅ๊ฐ’์„ ํ™œ์„ฑํ™”๋ฅผ ์ผ์œผํ‚ค๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ์ •ํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๋ถ€์—ฌํ•˜๋Š” ํ•จ์ˆ˜.
  • ์‚ฌ์šฉํ•˜๋Š” ์ด์œ : Data๋ฅผ ๋น„์„ ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•จ
  • ์™œ ๋น„์„ ํ˜•์œผ๋กœ ๋ฐ”๊พธ๋Š”๊ฐ€?: ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ⇒ ์„ ํ˜•ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ, ๋ง์ด ๊นŠ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌ. ์•„๋ฌด๋ฆฌ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๊ณ  ํ•ด๋„ ex) h(x)= cx(์ผ์ฐจํ•จ์ˆ˜) ⇒ 3-layer ⇒ y(x)=h(h(h(x))) ⇒ y(x)=c^3x๋กœ ๋ฐ–์— ์•ˆ๋จ. ๊ฒฐ๊ตญ ๊ฐ™์€ ์„ ํ˜• ํ•จ์ˆ˜์ž„.๋”ฐ๋ผ์„œ, ๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ์—์„œ ์ธต์„ ์Œ“๋Š” ํ˜œํƒ์„ ์–ป๊ณ  ์‹ถ๋‹ค๋ฉด, ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ๋น„์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ.
  • ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž…๋ ฅ์ด ๋“ค์–ด๊ฐˆ ๋•Œ, ์ถœ๋ ฅ๊ฐ’์ด ์„ ํ˜•์œผ๋กœ ๋‚˜์˜ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ง์„ ๊นŠ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์  ์กด์žฌ.
  • ⇒ ๊ฒฐ๊ตญ linearํ•œ ์—ฐ์‚ฐ์„ ๊ฐ™์€ layer์„ ์ˆ˜์‹ญ๊ฐœ ์Œ“์•„๋„ ํ•˜๋‚˜์˜ ์„ ํ˜• ์—ฐ์‚ฐ์œผ๋กœ ๋ฐ–์— ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†์Œ. ⇒ hidden layer๊ฐ€ ํ•œ ์ค„๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋จ. (๋ณต์žก๋„x)
1. Sigmoid ํ•จ์ˆ˜
  • ๋‹จ์ผ, ์ด์ง„ ๋ถ„๋ฅ˜์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋จ

๋ฌธ์ œ์  1

  • ์Œ/์–‘์˜ ํฐ๊ฐ’์—์„œ Saturation๋˜๋Š” ๊ฒƒ์ด gradient๋ฅผ ์—†์•ค๋‹ค. (๊ธฐ์šธ๊ธฐ์†Œ์‹ค)
  • x๊ฐ€ 0์— ๊ฐ€๊นŒ์šด๊ฑด ์ž˜ ๋™์ž‘ํ•จ

๋ฌธ์ œ์  2

  • ์ถœ๋ ฅ์ด zero centered๊ฐ€ ์•„๋‹ˆ๋‹ค
  • ๋งŒ์•ฝ x๊ฐ€ ํ•ญ์ƒ ์–‘์ˆ˜์ผ ๋–„, w์˜ gradient๋Š” ์‹œ๊ทธ๋ชจ์ด๋“œ upstream gradient์™€ ๋ถ€ํ˜ธ๊ฐ€ ํ•ญ์ƒ ๊ฐ™๊ฒŒ ๋œ๋‹ค. ์ด๋Š” W๋กœ ํ•˜์—ฌ๊ธˆ ๋ชจ๋‘ ์–‘์˜ ๋ฐฉํ–ฅ์ด๋‚˜, ๋ชจ๋‘ ์Œ์˜ ๋ฐฉํ–ฅ์œผ๋กœ๋ฐ–์— ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, zig zag path๋ฅผ ๋”ฐ๋ฆ„ ⇒ ๋น„ํšจ์œจ์ 

ํŒŒ๋ž€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ์ตœ์ ์˜ ์—…๋ฐ์ดํŠธ์ง€๋งŒ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ๋งŒ ์›€์ง์ž„ ⇒ ์˜ค๋ž˜ ๊ฑธ๋ฆผ

  • ์ž ์ด๋ง์ด ๋ฌด์—‡์ด๋ƒ, ์†์‹คํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์—ญ์ „ํŒŒ๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋•Œ ์†์‹คํ•จ์ˆ˜๊ฐ€ ์–‘์ˆ˜๋‚˜ ์Œ์ˆ˜๋ƒ์— ๋”ฐ๋ผ์„œ ๋ฐฉํ–ฅ์ด ๊ฒฐ์ •๋˜๋Š” ๊ฒƒ์ž„
  • ์‹œ๊ทธ๋ชจ์ด๋“œ์˜ ๊ธฐ์šธ๊ธฐ๋Š” ๋‹ค ์–‘์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์—, ์†์‹คํ•จ์ˆ˜์˜ ๊ฐ’์ด ์–‘์ดใ…‘ ์Œ์ด๋ƒ์— ๋”ฐ๋ผ์„œ ํ•œ์ชฝ์œผ๋กœ ๋ฐ–์— ์—…๋ฐ์ดํŠธ๊ฐ€ ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•จ.
  • ์ฆ‰, ์†์‹คํ•จ์ˆ˜๊ฐ€ ์–‘์ˆ˜์ด๋ฉด ์–‘์ˆ˜๋กœ๋งŒ, ์†์‹คํ•จ์ˆ˜๊ฐ€ ์Œ์ˆ˜๋ฉด ์Œ์ˆ˜๋กœ๋งŒ
  • ๋”ฐ๋ผ์„œ ์ง€๊ทธ์žฌ๊ทธ๊ฐ€ ํ˜•์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•จ.

๋ฌธ์ œ์  3

  • exp() ๊ฐ€ ์—ฐ์‚ฐ cost๊ฐ€ ๋น„์Œˆ
2. tanh ํ•จ์ˆ˜
  • sigmoid์˜ zero centered ๋ฌธ์ œ ํ•ด๊ฒฐ.⇒ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค๊ณผ exp ์—ฐ์‚ฐ ๋ฌธ์ œ ๋‚จ์Œ

์ด๋•Œ zero centered๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ์ข‹์€์  ⇒ ์•ž์˜ sigmoid ๊ฐ™์€ ๊ฒฝ์šฐ, ์ธํ’‹๊ณผ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ณฑํ•ด์ง„ ๊ฐ’์„ ์‹œ๊ทธ๋ชจ์ด๋“œ์— ๋„ฃ๊ฒŒ ๋˜๋ฉด 0~1 ์‚ฌ์ด ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ ์‹œ์ผœ๋ฒ„๋ฆผ (output) → ๋ฌด์กฐ๊ฑด ์–‘์˜ ๊ฐ’๋งŒ ๋‚˜์˜ค๊ฒŒ ๋˜๋ฏ€๋กœ ์•ž์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์–‘์ˆ˜๋ƒ ์Œ์ˆ˜๋ƒ์— ๋”ฐ๋ผ์„œ ๊ฐ’์ด ํ•˜๋‚˜๋กœ ์ •ํ•ด์ง

ํ•˜์ง€๋งŒ ํƒ„์  ํŠธ์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์„ 0์œผ๋กœ ์œ„์น˜ ์‹œํ‚ด.

๊ทธ๋Ÿฌ๊ฒŒ ๋  ๊ฒฝ์šฐ ์†์‹คํ•จ์ˆ˜ ๊ฐ’์„ ๊ตฌํ•˜๊ฒŒ ๋˜์–ด๋„ -๊ฐ’๋ถ€ํ„ฐ ์–‘์ˆ˜ ๊ฐ’๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌใ…‡ใ…‡

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ•œ์ •์ ์ธ ํ•™์Šต์—์„œ ์ข€ ๋” ์ˆ˜์›”ํ•œ ํ•™์Šต์ด ์ผ์–ด๋‚˜๊ฒŒ ๋จใ…‡ใ…‡

⇒ ์–‘๋ถ€ํ„ฐ ์Œ๊ฐ’ ๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ฒŒ ⇒ ๋ฏธ๋ถ„ํ•ด๋„ ์–‘๋ถ€ํ„ฐ ์Œ๊ฐ’๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌ.

์ฆ‰, ์ด์ „์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์–‘์ˆ˜๋“ ์ง€ ์Œ์ˆ˜๋“ ์ง€ ๊ธฐ์šธ๊ธฐ ๊ฐ’์ด ๋‹ค์–‘ํ•˜๊ฒŒ ๋‚˜์˜ค๊ฒŒ ๋จ.

 

3. ReLU ํ•จ์ˆ˜
  • ์ƒ๋ฌผํ•™์  ๋‰ด๋Ÿฐ์ด ์ด๋ ‡๊ฒŒ ๋”ฐ๋ฅธ๋‹ค๊ณ  ํ•ด์„œ ๋‚˜์˜ด
  • ๊ณ„์‚ฐ ํšจ์œจ

๋ฌธ์ œ์ 

  • zero- centered๊ฐ€ ์•„๋‹˜
  • ์Œ์˜ ์˜์—ญ์—์„œ๋Š” saturation (x=0์—์„œ๋„ gradient 0)
  • gradient์˜ ์ ˆ๋ฐ˜์„ ์ฃฝ์ธ๋‹ค -> dead ReLU๋ผ๊ณ  ํ•จ

์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. ์ง€๋‚˜์น˜๊ฒŒ learning rate๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ
    • Update๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ํฌ๊ฒŒ ํ•ด์„œ ReLU๊ฐ€ ๋ฐ์ดํ„ฐ์˜ manifold๋ฅผ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋จ.
  1. ์ดˆ๊ธฐํ™”๋ฅผ ์ž˜๋ชปํ•œ ๊ฒฝ์šฐ
    • ๊ฐ€์ค‘์น˜ ํ‰๋ฉด์ด traning data๋กœ ๋ถ€ํ„ฐ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ
4. Leaky ReLU
  • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ธˆ์ด๋ผ๋„ ์›€์ง์ž„์„ ์ฃผ์ž! ํ•ด์„œ ๋‚˜์˜จ๊ฒŒ leaky~
5. PReLU
  • leaky์˜ ์กฐ๊ธˆ ๋ณ€ํ˜• ๋œ ๋ชจ๋ธ
  • ์•ŒํŒŒ ๊ฐ’์„ ํ•™์Šตํ•ด์„œ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•
  • Leaky ReLU์™€ ๋น„์Šทํ•˜์ง€๋งŒ ๊ธฐ์šธ๊ธฐ alpha (ํŒŒ๋ผ๋ฏธํ„ฐ)๋กœ ๊ฒฐ์ •๋จ
6. ELU
  • Exponential Linear Units (ELU)๋กœ ReLU์˜ ๋ณ€ํ˜•์œผ๋กœ ๋‚˜์˜จ ๊ฒƒ
  • ๊ทธ๋ฆฌ๊ณ  zero mean ํ˜•ํƒœ๊ฐ€ saturation ๋˜๋Š” ๋ฐ, ์ด๋Ÿฐ saturation์ด ์žก์Œ(noise)์— robust ํ•˜๋‹ค๊ณ  ํ•จ (feature selection๊ณผ ์—ฐ๊ด€)
  • ์™œ ReLU, ELU๋Š” ์™œ noise์— robustํ• ๊นŒ?
    • ์Œ์˜ ์˜์—ญ์—์„œ saturate๋˜์–ด gradient vanishing ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค. ์ด๋•Œ ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ 0์ธ ๋ถ€๋ถ„์ด ์žˆ์–ด ์„ ํƒ์ ์œผ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.(generalized)
7. Maxout
  • max ๊ฐ’ ์ด์šฉํ•ด์„œ 2๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ค€ ๋’ค์— ์ข‹์€ ๊ฒƒ ์„ ํƒํ•˜๋Š” network.
  • ์—ฐ์‚ฐ๋Ÿ‰ ๋งŽ์•„์ ธ์„œ ์‚ฌ์šฉ ์•ˆํ•จ.
8. Activation ๊ฒฐ๋ก 
2. Data Preprocessing
  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ⇒ zero-centered, ์ •๊ทœํ™”๋ฅผ ๋งŽ์ด ์‚ฌ์šฉ
  • ์ด๋ฏธ ์ด๋ฏธ์ง€๊ฐ€ 0~255๋กœ ์ œํ•œ ๋˜์–ด ์žˆ์–ด์„œ ์ •๊ทœํ™” ์‚ฌ์šฉx zero๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๊ณ .

PCA์™€ Whitening ๊ธฐ๋ฒ•๋„ ์žˆ๋‹ค๊ณ ํ•˜๋Š”๋ฐ image์—์„œ๋Š” ์ž˜ ์“ฐ์ด์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • Principal Component Analysis(PCA)
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™” ์‹œํ‚ค๊ณ  ๊ณต๋ถ„์‚ฐ(Covariance) ํ–‰๋ ฌ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    • ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์ด๋ž€ ๊ฐ ๊ตฌ์กฐ๊ฐ„ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋งํ•ด์ฃผ๋Š” ํ–‰๋ ฌ์ž…๋‹ˆ๋‹ค.
    • SVD factorization์œผ๋กœ ์ƒ์œ„ ์ค‘์š”ํ•œ ๋ช‡ ๊ฐœ์˜ vector๋“ค๋งŒ ์ด์šฉํ•˜์—ฌ ์ฐจ์›์„ ์ถ•์†Œํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Whitening
    • input์˜ feature๋“ค์„ uncorrelatedํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ , ๊ฐ๊ฐ์˜ variance๋ฅผ 1๋กœ ๋งŒ๋“ค์–ด์คŒ
    • ๊ธฐ์ €๋ฒกํ„ฐ (eigenbasis) ๋ฐ์ดํ„ฐ๋ฅผ ์•„์ด์  ๋ฒจ๋ฅ˜(eigenvalue)๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ •๊ทœํ™” ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.
    • ์ด ๋ณ€ํ™˜์˜ ๊ธฐํ•˜ํ•™์  ํ•ด์„์€ ๋งŒ์•ฝ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๊ฐ€ multivariable gaussian ๋ถ„ํฌ ๋ผ๋ฉด ์ด ๋ฐ์ดํ„ฐ์˜ ํ‰๊ท ์€ 0, ๊ณต๋ถ„์‚ฐ์€ ๋‹จ์œ„ํ–‰๋ ฌ(I)์ธ ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
3. Weight initialization

๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๋ฉด?

  • Gradient vanishing ๋ฐœ์ƒ
  • ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ๊ฐ™์€์ผ์„ ํ•œ๋‹ค
  • ๋ชจ๋“  ๊ฐ€์ค‘์น˜๊ฐ€ ๋˜‘๊ฐ™์€ ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธ๋จ
  • ๋ชจ๋“  ๊ฐ€์ค‘์น˜๋ฅผ ๋™์ผํ•˜๊ฒŒ ์ดˆ๊ธฐํ™”์‹œํ‚ค๋ฉด symmetry breaking์ด ์ผ์–ด๋‚  ์ˆ˜ ์—†๋‹ค.
  • ์„œ๋กœ ๋‹ค๋ฅธ loss๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ๋งŽ์€ ๋‰ด๋Ÿฐ๋“ค์ด ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„๊ฒƒ์ด๋ฉฐ, ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋  ๊ฒƒ์ด๋‹ค.
  • 1. ์ž‘์€ ๋žœ๋ค๊ฐ’ ์ดˆ๊ธฐํ™”

    ⇒ ์ž„์˜์˜ ์ž‘์€ ๊ฐ’์œผ๋กœ

    ⇒ but ๊นŠ์€ network์—์„œ๋Š” ๋ฌธ์ œ ๋ฐœ

    • ์ธต์ด ๊นŠ์–ด์งˆ์ˆ˜๋ก weight๊ฐ€ ๋‹ค ์‚ฌ๋ผ์ ธ๋ฒ„๋ฆผ(๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด ์•ˆ๋˜๋Š” ์ง€์ ์ธ ๊ฐ€์šด๋ฐ๋งŒ ์‚ด์•„๋‚จ๊ฒŒ ๋จ)
    • ๊ฒฐ๊ตญ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค.

    ๋งŒ์•ฝ scale(0.01) ์‚ฌ์šฉ์•ˆํ•˜๊ฒŒ ๋˜๋ฉด -1๋˜๋Š” 1๋กœ ํ™”๋˜์–ด๋ฒ„๋ฆผ.

    • loss๊ฐ’ ์•ˆ์‚ฌ๋ผ์ง.
  • 2. Xavier initialization
    • ์œ„์—์„œ๋Š” ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ scaling, but ์ด์นœ๊ตฌ๋Š” ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋กœ ์ •๊ทœํ™”ํ•จ.
    • ์ž…๋ ฅ ์ˆ˜๊ฐ€ ์ž‘์œผ๋ฉด ๋” ์ž‘์€ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋” ํฐ๊ฐ’์„ ์–ป์Œ. ⇒ ์ด ๊ฒฝ์šฐ ๋” ํฐ ๊ฐ€์ค‘์น˜๊ฐ€ ํ•„์š”.
    • ํ•˜์ง€๋งŒ ReLU๋ฅผ ์“ฐ๋ฉด ์ถœ๋ ฅ ๋ถ„์‚ฐ์˜ ์ ˆ๋ฐ˜์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ๊ฑฐ๋ผ์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ. ๊ฐ’์ด ๋„ˆ๋ฌด ์ž‘์•„์ง. ๊ฒฐ๊ตญ ๋น„ํ™œ์„ฑ๋จ
    • ์ด๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€์ ์œผ๋กœ 2๋ฅผ ๋” ๋‚˜๋ˆ ์ฃผ์–ด ์ ˆ๋ฐ˜์ด ์—†์–ด์กŒ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ณ ๋ คํ•˜๋ฉด ๊ฝค ์ž˜์ž‘๋™
4. Batch Normalization
  • ๊ฐ€์šฐ์‹œ์•ˆ(์ •๊ทœ)๋ถ„ํฌ ๋ฒ”์œ„์—์„œ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ๊พธ์ค€ํžˆ ์ž˜ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•จ.
  • ๊ทธ๋ž˜์„œ ๋‚˜์˜จ ๊ธฐ๋ฒ•์ด batch ์ •๊ทœํ™”
  • ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์„ ์ „์ฒด์ ์œผ๋กœ ์•ˆ์ •์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ.
  • activation ์ „์— ์ž˜ ๋ถ„ํฌ๋˜๋„๋ก ํ•œ ํ›„์— activation ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ
  • ๊ทธ๋ž˜์„œ ์ˆœ์„œ๊ฐ€ ์ €๋ ‡๊ฒŒ ๋˜๋Š” ๊ฒƒ.
  • ์˜๋ฌธ์ 
    • Activation function์„ relu๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด?
    • ๊ฐ€์ค‘์น˜์˜ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ฌ๋•Œ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ง„๋‹ค๋ฉด?

    ๊ฐ๋งˆ ๊ฐ’์œผ๋กœ BN์˜ Variance ๊ฐ’์„ ์กฐ์ ˆํ•˜๋ฉฐ, ๋ฒ ํƒ€ ๊ฐ’์œผ๋กœ ํ‰๊ท  ๊ฐ’์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.์ฐธ๊ณ ๋กœ ๊ฐ๋งˆ ๊ฐ’์ด ํ‘œ์ค€ํŽธ์ฐจ์ด๊ณ , ๋ฒ ํƒ€๊ฐ€ ํ‰๊ท  ๊ฐ’์ด๋ฉด BN๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ๊ฐ๋งˆ : Scaling
    • ๋ฒ ํƒ€ : Shifting
  • ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ๋งˆ์™€ ๋ฒ ํƒ€ ๊ฐ’์„ ํ•™์Šต์˜ Hyperparameter๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์•Œ๋งž์€ ๊ฐ’์„ ์–ป์–ด๊ฐ€๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๊ธฐ์„œ ๊ฐ๋งˆ์™€ ๋ฒ ํƒ€ ๊ฐ’์ด ์ฃผ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • +++

๋ณดํ†ต BN์„ ํ•˜๋ฉด Dropout์„ ์•ˆ์จ๋„ ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์ด์œ ๋Š” Dropout์€ ๋žœ๋คํ•˜๊ฒŒ ๊ฐ’์„ ๊บผ๋‚ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

BN๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐฐ์น˜๋งˆ๋‹ค ๊ฐ’์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๊ฒŒ ๋“ค์–ด๊ฐ€๊ณ  ๊ฐ’์ด ๊ณ„์† ๋ฐ”๋€Œ๊ฒŒ ๋˜์–ด ๋…ธ์ด์ฆˆ๊ฐ€ ์ ์–ด์ง€๊ฒŒ ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ BN์€ ์„ ํ˜•๋ณ€ํ™˜์œผ๋กœ ๊ธฐ์กด์˜ ๊ณต๊ฐ„์ ์ธ ๊ตฌ์กฐ๊ฐ€ ์ž˜ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

Notice) CONV์—์„œ Batch Normalization ํ• ๋•Œ ์ฃผ์˜์‚ฌํ•ญ

  • ๊ธฐ์กด์— Wx + b ํ˜•ํƒœ๋กœ weight๋ฅผ ์ ์šฉํ•ด ์ฃผ๋Š”๋ฐ BN์˜ Beta ๊ฐ’๊ณผ ์ค‘๋ณต๋œ๋‹ค.
  • ๊ณ ๋กœ Wx + b ์˜ bias ๊ฐ’์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • ์žฅ์ 
    • Network์— Gradient flow๋ฅผ ํ–ฅ์ƒ์‹œํ‚ด
    • ๋†’์€ learning rate๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์•ˆ์ •์ ์ธ ํ•™์Šต ๊ฐ€๋Šฅ
    • Weight ์ดˆ๊ธฐํ™”์˜ ์˜์กด์„ฑ์„ ์ค„์ž„
    • Regularization๊ธฐ๋Šฅ๋„ ํ•˜์—ฌ dropout์˜ ํ•„์š”์„ฑ์„ ๊ฐ์†Œ์‹œํ‚ด
    • Test ์‹œ์— overhead๊ฐ€ ์—†๋‹ค. (ํ•™์Šต๋œ ๊ฒƒ์„ ์‚ฌ์šฉ๋งŒ ํ•จ)
  • Testํ• ๋• Minibatch์˜ ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†์œผ๋‹ˆ Training์—์„œ ๊ตฌํ•œ ๊ณ ์ •๋œ Mean๊ณผ Std๋ฅผ ์‚ฌ์šฉํ•จ
5. Babysitting the Learning Process
  1. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  1. ์•„ํ‚คํ…์ณ ์„ ํƒ
  1. ๋„คํŠธ์›Œํฌ ์ดˆ๊ธฐํ™”
  1. ์ดˆ๊ธฐ loss ์ฒดํฌ
  • soft max๋ผ๋ฉด ๋กœ๊ทธ ์ฒดํฌ, ์ดํ›„ regularization term ์ถ”๊ฐ€ํ›„ loss ์ฆ๊ฐ€ ์ฒดํฌ
  1. ๋ฐ์ดํ„ฐ ์ผ๋ถ€๋งŒ ํ•™์Šต์‹œ์ผœ๋ณด๊ธฐ
  • regularization ์‚ฌ์šฉ x
  • epoch๋งˆ๋‹ค loss ๋‚ด๋ ค๊ฐ€๋Š”์ง€ ํ™•์ธ, train accuracy ์ฆ๊ฐ€ ํ™•์ธ
  1. learning rate ์ •ํ•˜๊ธฐ
  • regulaization ์•ฝ๊ฐ„๋งŒ ์ฃผ๊ณ  learning rate ์ฐพ๊ธฐ
  • learning rate๊ฐ€ ์ž‘์œผ๋ฉด gradient ์—…๋ฐ์ดํŠธ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ผ์–ด๋‚˜์ง€ ์•Š์•„ loss๊ฐ€ ์ž˜์•ˆ์ค„์–ด๋“ฌ
  • ๋„ˆ๋ฌด ํฌ๋ฉด NaNs cost๋ฐœ์‚ฐ
  • ๋ณดํ†ต e-3 e-5 ์‚ฌ์ด ์‚ฌ์šฉ
6. Hyperparameter Optimization

cross-valindation์€ training set์œผ๋กœ ํ•™์Šต์‹œํ‚ค๊ณ  validation set์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹

  1. coarse stage: epoch ๋ช‡๋ฒˆ์œผ๋กœ ์ข‹์€์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จ -> ๋ฒ”์œ„ ๊ฒฐ์ •
  • ๋กœ๊ทธ ์ŠคํŽ˜์ด์Šค์—์„œ ์ฐจ์ˆ˜ ๊ฐ’๋งŒ ์ƒ˜ํ”Œ๋งํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค
  1. fine stage: ํ•™์Šต ์ข€ ๋” ๊ธธ๊ฒŒ
  • train ๋™์•ˆ cost ๋ณ€ํ™”๋ฅผ ์ฝ์ž. ์ด์ „ cost๋ณด๋‹ค ๋” ์ปค์ง€๊ฑฐ๋‚˜ 3๋ฐฐ ๋†’์•„์ง€๊ฑฐ๋‚˜ ํ•˜๋ฉด NaNs ๋‚˜์˜ด. ์—„์ฒญ ๋น ๋ฅด๊ฒŒ ์˜ค๋ฅด๋ฉด ๋ฉˆ์ถ”๊ณ  ๋‹ค๋ฅธ๊ฑฐ ์„ ํƒ
  • ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” cost๊ฐ€ ๋ญ”์ง€?
  • reg๋ฒ”์œ„, lr ๋ฒ”์œ„ ์ •ํ•จ
  • ์ตœ์  ๊ฐ’์ด ๋ฒ”์œ„์˜ ์ค‘์•™ ์ฏค์— ์œ„์น˜ํ•˜๋„๋ก ๋ฒ”์œ„๋ฅผ ์„ค์ •
  • random search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด important variable์—์„œ ๋” ๋‹ค์–‘ํ•œ ๊ฐ’์„ ์ƒ˜ํ”Œ๋ง ํ•  ์ˆ˜ ์žˆ์–ด ์ข‹๋‹ค

loss curve

  • ํ‰ํ‰ํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๊ฐ€ํŒŒ๋ฅด๊ฒŒ ๋‚ด๋ ค๊ฐ-> ์ดˆ๊ธฐํ™” ๋ฌธ์ œ

= gradient์˜ ์—ญ์ „ํŒŒ๊ฐ€ ์ดˆ๊ธฐ์—๋Š” ์ž˜ ๋˜์ง€ ์•Š๋‹ค๊ฐ€ ํ•™์Šต์ด ์ง„ํ–‰๋˜๋ฉด์„œ ํšŒ๋ณต

train๊ณผ va accuracy๊ฐ€ ํฐ ์ฐจ์ด๋ฉด ์˜ค๋ฒ„ํ• -> regularization์˜ ๊ฐ•๋„ ๋†’์ด๊ธฐ

gap์ด ์—†๋‹ค๋ฉด ์•„์ง overfitํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด๊ณ  capacity๋ฅผ ๋†’์ผ ์—ฌ์œ ์žˆ๋Š” ๊ฒƒ

 

 

728x90
๋ฐ˜์‘ํ˜•