๐Ÿšฉ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ - part14. Vanishing Gradient Problem๊ณผ ๋”ฅ ๋Ÿฌ๋‹ ๊ฐœ์š”

vincaยท2022๋…„ 11์›” 22์ผ
0

๐ŸŒ“ AI/DL - theory

๋ชฉ๋ก ๋ณด๊ธฐ
15/24

๐ŸŸข Introduction

๊ธฐ์šธ๊ธฐ ์†Œ์‹ค์˜ ๋ฌธ์ œ(Vanishing gradient)

๊ธฐ์šธ๊ธฐ ์†Œ์‹ค์˜ ๋ฌธ์ œ๋Š” part13. ์˜ค์ฐจ์—ญ์ „ํŒŒ์˜ ๊ณผ์ •์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์˜ค์ฐจ ์—ญ์ „ํŒŒ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด์ž.

๋‹จ์ˆœํ•˜๊ฒŒ ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฅผ ์žฌ ์ •๋ฆฌํ•œ๋‹ค๋ฉด, ์ตœ์ข…์ ์œผ๋กœ ๋‚˜์˜จ LossLoss๋ฅผ ํŽธ๋ฏธ๋ถ„ํ•œ ๊ฐ’์„ ๊ณ„์†ํ•ด์„œ ๋’ค๋กœ ๋ฏธ๋ถ„ ๋˜ ๋ฏธ๋ถ„ํ•˜์—ฌ update์— ์‚ฌ์šฉํ•˜๋„๋ก ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๐Ÿ’ฅ ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์€๋‹‰์ธต์ด ๊นŠ์–ด์ง€๋ฉด ๊นŠ์–ด์งˆ์ˆ˜๋ก ์ตœ์ข…์ ์ธ Loss๊ฐ€ ํฌ๋”๋ผ๋„, ์•ž์ชฝ์˜ ์ž…๋ ฅ์ธต๊ณผ ๊ฐ€๊นŒ์šด ์€๋‹‰์ธต์˜ weight์—๋Š” "๋ฏธ๋ถ„ ๋˜ ๋ฏธ๋ถ„ ๋˜ ๋ฏธ๋ถ„ํ•œ ๊ฐ’"์ด ์ตœ์ข…์ ์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค.

์ฆ‰, update๊ฐ€ ์‚ฌ์‹ค์ƒ ์•ˆ ์ผ์–ด๋Š”๊ฒƒ๊ณผ ๋™์ผํ•œ "๋งค์šฐ ์ž‘์€ ๊ฐ’"์ด ์ „๋‹ฌ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ๋‹ค.

ex)
100๊ฐœ์˜ Layer๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ๊ฐ w0w_0~w100w_{100}์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.
100๋ฒˆ์งธ ww์˜ ๊ฒฝ์šฐ, w=w+lrโˆ—dLdw100w = w + lr * {dL \over dw_{100}}๋Š” ๋ฏธ๋ถ„์ด 1๋ฒˆ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๊ทธ๋Œ€๋กœ updateํ•ด ์ค„ ๊ฐ’์ด ์ „๋‹ฌ ๋  ๊ฒƒ์ด๋‹ค.
ํ•˜์ง€๋งŒ, 1๋ฒˆ์งธ ์ฆ‰, ์ž…๋ ฅ์ธต๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด layer์˜ weight์˜ ๊ฒฝ์šฐdLdw1{dL \over dw_{1}}๋Š” Chain rule์— ์˜๊ฑฐํ•˜์—ฌ 100๋ฒˆ์˜ ๋ฏธ๋ถ„์ด ์ˆ˜ํ–‰๋œ ๊ฒƒ๊ณผ ๊ฐ™์œผ๋ฏ€๋กœ, ๊ทธ ๊ฐ’์ด ๊นจ์ง€๊ณ  ์ง€์›Œ์ง€๊ณ  ๋ถ€์…”์ง€๊ณ  ์„ธ์ƒ๋งŒ์‚ฌ ๋‹ค ๊ฒช์—ˆ์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ์— ์•ž์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก weight์˜ update๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š” ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค์˜ ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค.

๐Ÿ”Ž ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค์˜ ์›์ธ

์ด๋Ÿฌํ•œ ๊ธฐ์šธ๊ธฐ์˜ ์†Œ์‹ค์ด ๋ฐœ์ƒํ•˜๋Š” ์›์ธ์€ ๋ฌด์—‡์ผ๊นŒ?

๋ฏธ๋ถ„์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๊ฐ’์ด ์ ์  ์ž‘์•„์ง„๋‹ค๋Š” ๊ฒƒ์€ ๋Š๋‚Œ์ด ์™”์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ๋Œ€์ฒด ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ๋ฏธ๋ถ„ํ–ˆ๊ธธ๋ž˜ ๊ฐ’์ด ์ ์  ์ž‘์•„์ง€๊ฒŒ ๋œ๊ฒƒ์ผ๊นŒ?

์•ž์„œ, MLP๋ฅผ ๋ฐฐ์šธ ๋•Œ, ๊ฐ ์œ ๋‹›(Node)๋“ค์€ ํ•˜๋‚˜์˜ ์ด์ง„ ๋ถ„๋ฅ˜๊ธฐ๋ผ๊ณ  ์„ค๋ช…ํ–ˆ๋‹ค.
์ฆ‰, ๊ธฐ๋ณธ์ ์œผ๋กœ Sigmoidํ•จ์ˆ˜๋ฅผ ๋งˆ์ง€๋ง‰์— ํ†ต๊ณผํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

sigmoid ํ•จ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด์ž.

  • Sigmoidํ•จ์ˆ˜(ํŒŒ๋ž‘), Sigmoidํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„(์ฃผํ™ฉ)

์ฃผํ™ฉ์ƒ‰ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋ณด์ด๋Š”๊ฐ€?
sigmoidํ•จ์ˆ˜๋ฅผ ๋ฏธ๋ถ„ํ•œ fโ€ฒ(x)f'(x)์˜ ๊ฐ’์€ ์ตœ๋Œ€์น˜๊ฐ€ 0.25์ •๋„ ๋ฐ–์— ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ธต์„ ์Œ“์œผ๋ฉด ์Œ“์„์ˆ˜๋ก update๋˜๋Š” ๊ฐ’์ด 0.25 x 0.25 x 0.25 x 0.25 x 0.25 x 0.25 ....์ญ‰...
๊ทธ๋ ‡๊ฒŒ ์ ์ฐจ 0์— ์ˆ˜๋ ดํ•˜๊ฒŒ ๋˜๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ œ๋Œ€๋กœ๋œ ํ•™์Šต์ด ์ด๋ฃจ์–ด ์งˆ ์ˆ˜ ์—†๋‹ค.

ํ™œ์„ฑํ•จ์ˆ˜์˜ ์ข…๋ฅ˜

ReLU

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‚˜์˜จ ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋กœ ReLu์ด๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™œ์„ฑํ•จ์ˆ˜์˜ ์ข…๋ฅ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์žˆ์ง€๋งŒ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ReLu์— ๋Œ€ํ•ด์„œ ์ง‘์ค‘์ ์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค.

ReLu(์ดํ•˜ ๋ ๋ฃจ)ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๊ฐ’์ด ์–‘์ˆ˜์ผ ๊ฒฝ์šฐ, ์ž…๋ ฅ๊ฐ’์— ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ๋™์ผํ•œ ๋ฏธ๋ถ„ ๊ฐ’ 1์„ ๊ฐ€์ง„๋‹ค.

๋”ฐ๋ผ์„œ, ์ž…๋ ฅ๊ฐ’๋งŒ ์–‘์ˆ˜๋ผ๋ฉด Gradient๊ฐ’์ด ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค.
ํ•˜์ง€๋งŒ ๋ณด๋‹ค์‹œํ”ผ ์ž…๋ ฅ๊ฐ’์ด ์Œ์ˆ˜๋ผ๋ฉด ๋ฏธ๋ถ„๊ฐ’์ด ํ•ญ์ƒ 0์ด๋ฏ€๋กœ ๋‰ด๋Ÿฐ์ด ๊ทธ๋Œ€๋กœ ์ฃฝ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.(๋”์ด์ƒ์˜ update๊ฐ€ ์ด๋ฃจ์–ด ์ง€์ง€์•Š์Œ)

Leaky ReLU

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ
Leaky ReLUํ•จ์ˆ˜์ด๋‹ค.

์Œ์ˆ˜์ผ๋•Œ์˜ ์ถœ๋ ฅ๊ฐ’์„ 0์ด ์•„๋‹Œ 0.001๊ณผ ๊ฐ™์€ ๋งค์šฐ ์ž‘์€ ๊ฐ’์„ ์‚ฌ์šฉํ•ด์„œ, ์Œ์ˆ˜๋ผ ํ•˜๋”๋ผ๋„ Gradient๊ฐ’์ด 0์— ๋„๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‰ด๋Ÿฐ์ด ์ฃฝ๋Š”๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹ค์ œ ๋ชจ๋ธ์—๋Š” Leaky ReLU๋Š” ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์™ค๊นŒ?

๋ ๋ฃจ์˜ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ์—์„œ์˜ ๊ฐ„๋‹จํ•จ(์ž„๊ณ„๊ฐ’์— ์˜ํ•ด 0๋ณด๋‹ค ํฌ๋ฉด y=x๊ฐ’ ๊ทธ๋Œ€๋กœ, ์ž‘์œผ๋ฉด 0 ๋ฐ˜ํ™˜)์ด๋ผ๋Š” ์žฅ์  ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ„๋‹จํ•จ์„ ๋ฐ”ํƒ•์œผ๋กœ ์†๋„๋ฉด์—์„œ ๋งค์šฐ ๋น ๋ฅธ ๋ฐ˜๋ฉด, Leaky ReLU๋Š” 0๋ณด๋‹ค ์ž‘์€ ๊ฐ’์— ๋Œ€ํ•ด์„œ aa์ž‘์€ ๊ฐ’์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ณฑํ•ด ์ค˜์•ผํ•˜๋ฏ€๋กœ, ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.

๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๊ตฌ๋ถ„

  • lRestricted Boltzmann Machine
  • lAutoencoders
  • lConvolutional Neural Network
  • lRecurrent Neural Network
  • lGenerative Adversarial Network
  • lWord2vec

๊ธฐ๊ณ„ํ•™์Šต์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ๋ณ€ํ™”

๊ณ ์ „์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต๊ณผ ํ˜„๋Œ€์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

๊ณ ์ „์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต

์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํŠน์ง•(feture)๋ฅผ ์„ ์ •ํ•˜๊ณ , ๋ถ„๋ฅ˜๊ธฐ๋งŒ ์„ ํƒํ•˜์—ฌ ํ•™์Šต์‹œ์ผฐ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์ถ• ๐Ÿ‘‰ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํŠน์ง•์„ ์„ค๊ณ„ ๐Ÿ‘‰ ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ์„ ์„ ํƒ ๐Ÿ‘‰ ๋ชจ๋ธ ํ•™์Šต ๐Ÿ‘‰ ํ‰๊ฐ€

ํ˜„๋Œ€์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต

ํ˜„๋Œ€์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต์€ ํŠน์ง•์„ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ ๋ชจ๋ธ์ด ์ง์ ‘ ์„ค๊ณ„ํ•œ๋‹ค.

์ฆ‰, ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ตฌ์ถ• ๐Ÿ‘‰ ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ ์„ ํƒ ๐Ÿ‘‰ ํŠน์ง• ์„ค๊ณ„ ๋ฐ ํ•™์Šต ๐Ÿ‘‰ ์„ฑ๋Šฅ ํ‰๊ฐ€

profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

0๊ฐœ์˜ ๋Œ“๊ธ€