Jayden1116
Jayden`s LifeTrip ๐Ÿ”†
Jayden1116
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • Jayden`s (481)
    • ๐Ÿฏ Hello, Jayden (144)
      • ์ผ๊ธฐ (1)
      • ์‹ ๋ฌธ (121)
      • ์Œ์•… (6)
      • ๊ฒฝ์ œ (16)
    • ๐Ÿ’› JavaScript (88)
      • ์ด๋ชจ์ €๋ชจ (4)
      • ๋ฐฑ์ค€ (44)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (40)
      • ๋ฒ„๊ทธ (0)
    • ๐ŸŽญ HTML CSS (6)
      • ํํŠธ๋ฏ€๋ฅด (2)
      • ํฌ์Šค์Šค (4)
    • ๐Ÿ’ป CS (13)
      • ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (1)
      • ๋„คํŠธ์›Œํฌ (9)
      • ์šด์˜์ฒด์ œ (1)
      • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (0)
      • ๋””์ž์ธ ํŒจํ„ด (1)
    • ๐Ÿ Python (71)
      • ๋ฐฑ์ค€ (67)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
    • ๐Ÿ’ฟ Data (156)
      • ์ด๋ชจ์ €๋ชจ (65)
      • ๋ถ€ํŠธ์บ ํ”„ (89)
      • ๊ทธ๋กœ์Šค ํ•ดํ‚น (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ”ด ๋ธ”๋กœ๊ทธ(ํ™ˆ)
  • ๐Ÿฑ Github
  • ๊ธ€์“ฐ๊ธฐ
  • ํŽธ์ง‘
hELLO ยท Designed By JSW.
Jayden1116

Jayden`s LifeTrip ๐Ÿ”†

๐Ÿ’ฟ Data/์ด๋ชจ์ €๋ชจ

[๋”ฅ๋Ÿฌ๋‹]์˜ตํ‹ฐ๋งˆ์ด์ €(Optimizer)

2022. 2. 24. 17:23

Optimizer๋ž€

image

ํ˜น์‹œ ์…ฐ๋ฅดํŒŒ๋ผ๊ณ  ์•„์‹œ๋‚˜์š”? ์…ฐ๋ฅดํŒŒ๋Š” ํ‹ฐ๋ฒ ํŠธ์–ธ์–ด๋กœ, '์ผ๋กœ์„œ ๋“ฑ๋ฐ˜์„ ๋•๋Š” ์‚ฌ๋žŒ' ์ด๋ผ๋Š” ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
์ผ๋ฐ˜์ ์ธ ์šฐ๋ฆฌ๋‚˜๋ผ ์‚ฐ์ด ์•„๋‹Œ, ์ •๋ง ํ—˜๋‚œํ•œ ์‚ฐ์„ ๋“ฑ๋ฐ˜ํ•ด์•ผํ•œ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์ ๋‹นํ•œ ๊ธธ์žก์ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ ์ด์Šค์บ ํ”„๊ฐ€ ์–ด๋””์žˆ๋Š”์ง€๋ถ€ํ„ฐ, ํ•˜๋ฃจ์— ๋ช‡ํ‚ค๋กœ๋ฅผ ๊ฐ€๋Š” ๊ฒŒ ์ข‹์„์ง€, ๊ตฌ์„ฑ์›์— ๋”ฐ๋ผ ์ฒด๋ ฅ์•ˆ๋ฐฐ๋Š” ์–ด๋–ป๊ฒŒ ํ• ์ง€ ๋“ฑ๋“ฑ์„ ๊ฐ€์ด๋“œํ•ด์ค„ ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ๋ง์ด์ฃ .
๋“ฑ๋ฐ˜๋ณด๋‹จ ํ•˜์‚ฐ์— ์ข€๋” ๊ฐ€๊นŒ์šด ๋А๋‚Œ์ด์ง€๋งŒ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ €ํฌ๊ฐ€ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ํ†ตํ•ด ์ตœ์ ์ ์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์…ฐ๋ฅดํŒŒ์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ์˜ตํ‹ฐ๋งˆ์ด์ €์™€ ๋‹ฎ์•„์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ธธ์žก์ด๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ์€ ๋‹ค๋ฅธ ์กฐ๊ฑด์œผ๋กœ ๊ธธ์„ ๊ฐ€๋ฅด์ณ์ฃผ๊ณ , ๊ธธ์žก์ด์— ๋”ฐ๋ผ ์‚ฐ์„ ๋ฌด์‚ฌํžˆ ๋“ฑ๋ฐ˜ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ๋ ‡์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Optimizer ์ข…๋ฅ˜

  1. GD(Gradient Descent) : ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋ฉฐ, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์†์‹ค ํ•จ์ˆ˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
  2. SGD(Stochastic Gradient Descent) : ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” GD์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Iteration 1๋ฒˆ์— ๋ฐ์ดํ„ฐ ์ž…๋ ฅ๊ฐ’์„ 1๊ฐœ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
  3. Mini-batch GD : GD์™€ SGD์˜ ์ค‘๊ฐ„๋‹จ๊ณ„ ๋ฐฉ๋ฒ•์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์„ค์ •ํ•œ 'batch_size=N'๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ epoch ๋‹น Iteration == ์ „์ฒด ๋ฐ์ดํ„ฐ ์ˆ˜ / batch_size ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  4. Momentum : GD์— ๊ด€์„ฑ์„ ๋”ํ•œ ์˜ตํ‹ฐ๋งˆ์ด์ €์ž…๋‹ˆ๋‹ค.
    image
    V(n)์ด ํ˜„์žฌ ์†๋„๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด, V(n-1)์„ ๊ณผ๊ฑฐ์˜ ์†๋„๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ํŽธํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ„์˜ ์‹์„ ๋ณด๋ฉด, ์ฒซ๋ฒˆ์งธ ์‹์˜ Gradient f(x)๊ฐ€ 0์ด ๋˜์–ด๋„ ์•ž์˜ ํ–‰์ธ ์•ŒํŒŒ * V(n-1) ๊ฐ’์œผ๋กœ ์ธํ•ด V(n)์€ 0์ด ์•„๋‹ˆ๊ฒŒ ๋˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ทธ๋งŒํผ ๊ฐฑ์‹ ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (GD์—์„  Gradient๊ฐ€ 0์ด ๋˜๋ฉด V(n)=0์ด ๋˜๊ณ  ๊ฐ€์ค‘์น˜๊ฐ€ ๊ฐฑ์‹ ๋˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.)
  5. Adagrad : ํ•™์Šต๋ฅ ์„ ์กฐ์ •ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ € ์ž…๋‹ˆ๋‹ค.
    • ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ„๋กœ ๋‹ค๋ฅธ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋” ์ž์ฃผ ์—…๋ฐ์ดํŠธ๋ ์ˆ˜๋ก ๋” ์ž‘์€ ํ•™์Šต๋ฅ ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋นˆ๋„๊ฐ€ ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋” ํฐ ํ•™์Šต๋ฅ ์„ ์ฃผ์–ด ๊ทธ ์ •๋„๋ฅผ ๋งž์ถ”์–ด์ค๋‹ˆ๋‹ค.
  6. Adam : 4๋ฒˆ Momentum ๊ณผ 5๋ฒˆ Adagrad์˜ ์žฅ์ ์„ ํ•ฉ์นœ ์˜ตํ‹ฐ๋งˆ์ด์ € ์ž…๋‹ˆ๋‹ค.
  7. NAG(Nesterov Accelerated Gradient) : Momentum๊ณผ ๋น„์Šทํ•œ ๋ฐฉ์‹์˜ ์˜ตํ‹ฐ๋งˆ์ด์ €์ž…๋‹ˆ๋‹ค.
    • ๋ชจ๋ฉ˜ํ…€ ์˜ตํ‹ฐ๋งˆ์ด์ €์˜ ๊ฒฝ์šฐ, ๊ด€์„ฑ์„ ์ฃผ๊ธฐ๋•Œ๋ฌธ์— ๋ฉˆ์ถฐ์•ผํ•˜๋Š” ์ตœ์ ์ ์„ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒŒ NAG๋กœ, ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ๊ด€์„ฑ์„ ๋จผ์ € ๊ณ„์‚ฐํ•˜๊ณ  ์ด๊ฒƒ์„ ๋ฐ˜์˜ํ–ˆ์„ ๋•Œ์˜ ๊ทธ ์ž๋ฆฌ์—์„œ gradient๋ฅผ ๊ตฌํ•˜๊ณ  ๋‹ค์Œ ์‹ค์ œ actual step์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ๋งˆ์น˜ ๋ชจ๋ฉ˜ํ…€์ด ์•„๋ฌด๊ฒƒ๋„ ์ƒ๊ฐ์•ˆํ•˜๊ณ  ์ด์ „ ์†๋„์˜ ์˜ํ–ฅ์œผ๋กœ ์ฒœ์ง„๋‚œ๋งŒํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๋А๋‚Œ์ด๋ผ๋ฉด, NAG๋Š” ๊ด€์„ฑ์„ ๋ฐ›๋˜ ์•ž์— ๋ฐ”์œ„๊ฐ€ ์žˆ๋Š”์ง€ ๋ฌผ์›…๋ฉ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์–ด๋А์ •๋„ ์˜ˆ์ƒ๋˜๋Š” ๋ฏธ๋ž˜๋ฅผ ์ƒ๊ฐํ•˜๋ฉด์„œ ๋‚˜์•„๊ฐ€๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ €์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :)


์ฐธ๊ณ 1 : ์˜ตํ‹ฐ๋งˆ์ด์ €
์ฐธ๊ณ 2 : ๋ชจ๋ฉ˜ํ…€ ์˜ตํ‹ฐ๋งˆ์ด์ €
์ฐธ๊ณ 3 : ๋ชจ๋ฉ˜ํ…€๊ณผ NAG
์ฐธ๊ณ 4 : ์ผ€๋ผ์Šค ๊ณต์‹๋ฌธ์„œ

'๐Ÿ’ฟ Data > ์ด๋ชจ์ €๋ชจ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋”ฅ๋Ÿฌ๋‹]keras_cifar100 ์ด์šฉํ•œ ๊ฐ„๋‹จ ์‹ ๊ฒฝ๋ง ๋ฐ ๊ณผ์ ํ•ฉ ๋ฐฉ์ง€, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹  (0) 2022.02.26
[๋”ฅ๋Ÿฌ๋‹]๊ฐ„๋‹จ ์‹ ๊ฒฝ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง, ์„ฑ๋Šฅ ๋น„๊ต  (0) 2022.02.26
[๋”ฅ๋Ÿฌ๋‹]์†์‹ค ํ•จ์ˆ˜  (0) 2022.02.23
[๋”ฅ๋Ÿฌ๋‹]์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2022.02.23
[๋”ฅ๋Ÿฌ๋‹]ํผ์…‰ํŠธ๋ก , ์ž…๋ ฅ์ธต/์€๋‹‰์ธต/์ถœ๋ ฅ์ธต, ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ๊ฐœ๋…์ •๋ฆฌ  (0) 2022.02.22
    '๐Ÿ’ฟ Data/์ด๋ชจ์ €๋ชจ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋”ฅ๋Ÿฌ๋‹]keras_cifar100 ์ด์šฉํ•œ ๊ฐ„๋‹จ ์‹ ๊ฒฝ๋ง ๋ฐ ๊ณผ์ ํ•ฉ ๋ฐฉ์ง€, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹
    • [๋”ฅ๋Ÿฌ๋‹]๊ฐ„๋‹จ ์‹ ๊ฒฝ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง, ์„ฑ๋Šฅ ๋น„๊ต
    • [๋”ฅ๋Ÿฌ๋‹]์†์‹ค ํ•จ์ˆ˜
    • [๋”ฅ๋Ÿฌ๋‹]์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    Jayden1116
    Jayden1116
    ์•„๋งˆ๋„ ํ•œ๋ฒˆ ๋ฟ์ธ ์ธ์ƒ์„ ์—ฌํ–‰ ์ค‘์ธ Jayden์˜ ์ผ์ง€๐Ÿ„๐ŸŒŠ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”