Skip to content

Latest commit

ย 

History

History
1290 lines (785 loc) ยท 70.1 KB

3-deep-learning.md

File metadata and controls

1290 lines (785 loc) ยท 70.1 KB

๐Ÿง  Deep Learning ๐Ÿง 

์งˆ๋ฌธ์€ zzsza๋‹˜์˜ Datascience-Interview-Questions๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


Table of Contents


#1

๋”ฅ๋Ÿฌ๋‹์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๋”ฅ๋Ÿฌ๋‹๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์˜ ์ฐจ์ด๋Š”?

๋”ฅ๋Ÿฌ๋‹์ด๋ž€ ์—ฌ๋Ÿฌ ์ธต์„ ๊ฐ€์ง„ ์ธ๊ณต์‹ ๊ฒฝ๋ง(Artificial Neural Network, ANN)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ์‹ฌ์ธตํ•™์Šต์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

๋”ฅ๋Ÿฌ๋‹์€ ์—„๋ฐ€ํžˆ ๋งํ•˜์ž๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹์— ํฌํ•จ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ „ํ†ต์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•๊ณผ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค.

์ธ๊ณต์‹ ๊ฒฝ๋ง, ํผ์…‰ํŠธ๋ก ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ reference๋ฅผ ์ฐธ๊ณ 

๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋”ฅ๋Ÿฌ๋‹์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๊ธฐ์กด ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ๋Š” ํ•™์Šตํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์—ฌ๋Ÿฌ ํŠน์ง• ์ค‘์—์„œ ์–ด๋–ค ํŠน์ง•์„ ์ถ”์ถœํ• ์ง€ ์‚ฌ๋žŒ์ด ์ง์ ‘ ๋ถ„์„ํ•˜๊ณ  ํŒ๋‹จํ•ด์•ผํ•˜๋Š” ๋ฐ˜๋ฉด, ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ๊ธฐ๊ณ„๊ฐ€ ์ž๋™์œผ๋กœ ํ•™์Šตํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ง•์„ ์ถ”์ถœํ•˜์—ฌ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ง• ์ถ”์ถœ์— ์‚ฌ๋žŒ์ด ๊ฐœ์ž…(feature engineering)ํ•˜๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹, ๊ฐœ์ž…ํ•˜์ง€ ์•Š์œผ๋ฉด ๋”ฅ๋Ÿฌ๋‹์ด๋‹ค. ๋˜ํ•œ, ๋”ฅ๋Ÿฌ๋‹์€ ๋จธ์‹ ๋Ÿฌ๋‹๋ณด๋‹ค ํฐ ๋ฐ์ดํ„ฐ์…‹๊ณผ ๊ธด ํ•™์Šต์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ์ •ํ˜•๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹, ๋น„์ •ํ˜•๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ๋”ฅ๋Ÿฌ๋‹ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ถ”๊ฐ€๋‚ด์šฉ) AI, ML, DL


์ธ๊ณต์ง€๋Šฅ์ด๋ž€ ์ธ๊ฐ„์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธ์‹, ํŒ๋‹จ ๋“ฑ์˜ ์ง€์  ๋Šฅ๋ ฅ์„ ๋ชจ๋ธ๋งํ•˜์—ฌ ์ปดํ“จํ„ฐ์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹ ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ๊ฐ€ ์ธ๊ณต์ง€๋Šฅ ๋‚ด์— ํฌํ•จ๋œ๋‹ค.

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

๋จธ์‹ ๋Ÿฌ๋‹์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ„๋ฅ˜๋œ๋‹ค.

  • ์ง€๋„ํ•™์Šต
    • ๋ถ„๋ฅ˜, ํšŒ๊ท€, ์ถ”์ฒœ์‹œ์Šคํ…œ, ์‹œ๊ฐ/์Œ์„ฑ ์ธ์ง€(DL), ํ…์ŠคํŠธ๋ถ„์„/NLP(DL)
  • ๋น„์ง€๋„ํ•™์Šต
    • ํด๋Ÿฌ์Šคํ„ฐ๋ง, ์ฐจ์›์ถ•์†Œ, ๊ฐ•ํ™”ํ•™์Šต

References


#2

Cost Function๊ณผ Activation Function์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

cost function

๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ํ˜„์žฌ ์˜ˆ์ธก์„ ์–ผ๋งˆ๋‚˜ ์ž˜ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•™์Šต ๋ฐฉํ–ฅ์„ ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ, ์–ผ๋งˆ๋‚˜ ๊ฐœ์„ ํ• ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋•Œ, ์˜ˆ์ธก ๊ฐ’๊ณผ ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ์ฐจ์ด์— ๋Œ€ํ•œ ํ•จ์ˆ˜๋ฅผ cost function(MSE, CrossEntropy ๋“ฑ) ์ด๋ผ๊ณ  ํ•œ๋‹ค.

cost function ์„ ์ตœ์†Œํ™”ํ•จ์œผ๋กœ์จ ๋ชจ๋ธ์„ ์ ์ ˆํ•œ ํ‘œํ˜„๋ ฅ์„ ๊ฐ–์ถ”๋„๋ก ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

activation function

๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์„ ํ˜• ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์„ ํ˜• ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ ์ ˆํ•œ ์˜ˆ์ธก์„ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋น„์„ ํ˜• ๋ชจ๋ธ์ด ํ•„์š”ํ•˜๋‹ค.

์„ ํ˜• ๋ชจ๋ธ์„ ๋น„์„ ํ˜• ๋ชจ๋ธ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋กœ ํ™œ์„ฑํ™” ํ•จ์ˆ˜ activation function(Sigmoid, ReLU ๋“ฑ) ์ด๋‹ค.

๋น„์„ ํ˜• ํ•จ์ˆ˜์ธ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ์„ ํ˜• ํ•จ์ˆ˜์™€ ๊ฒฐํ•ฉ๋จ์œผ๋กœ์จ ์„ ํ˜• ๋ชจ๋ธ์€ ๋น„์„ ํ˜• ๋ชจ๋ธ์ด ๋œ๋‹ค.

์„ ํ˜• ๋ชจ๋ธ์€ ๊นŠ๊ฒŒ ์Œ“์„ ์ˆ˜ ์—†๋‹ค. ๊นŠ๊ฒŒ ์Œ“์•„๋„ ํ•˜๋‚˜์˜ ์ธต์„ ์ž˜ ํŠœ๋‹ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋น„์„ ํ˜• ๋ชจ๋ธ์€ ๊นŠ๊ฒŒ ์Œ“์„ ์ˆ˜ ์žˆ๋‹ค. ์„ ํ˜•์œผ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค๊ฐ€ ๋น„์„ ํ˜•์œผ๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ๊ณ„์† ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ธ์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋” ํ‘œํ˜„๋ ฅ์ด ์ข‹์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.

ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•ด ๋” ๋†’๊ฒŒ ํ˜น์€ ๋” ๋‚ฎ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

References


#3

Tensorflow, PyTorch ํŠน์ง•๊ณผ ์ฐจ์ด๊ฐ€ ๋ญ˜๊นŒ์š”?

๊ตฌ๋ถ„ Tensorflow PyTorch
ํŒจ๋Ÿฌ๋‹ค์ž„ Define and Run Define by Run
๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ Static graph(์ •์ ) Dynamic graph(๋™์ )

Tensorflow์™€ Pytorch์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋”ฅ๋Ÿฌ๋‹์„ ๊ตฌํ˜„ํ•˜๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Tensorflow๋Š” Define-and-Run์ธ ๋ฐ˜๋ฉด์—, Pytorch๋Š” Define-by-Run์ด๋‹ค.

Define and Run (Tensorflow)
์ฝ”๋“œ๋ฅผ ์ง์ ‘ ๋Œ๋ฆฌ๋Š” ํ™˜๊ฒฝ์ธ ์„ธ์…˜์„ ๋งŒ๋“ค๊ณ , placeholder๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ด๊ฒƒ์œผ๋กœ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค๊ณ (Define), ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ์ ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด ์‹คํ–‰ํ•˜๋Š”(Run) ๋ฐฉ์‹์œผ๋กœ ์ด๋Š” ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ช…ํ™•ํžˆ ๋ณด์—ฌ์ฃผ๋ฉด์„œ ์‹คํ–‰์‹œ์ ์— ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ”๊ฟ”์ค˜๋„ ๋˜๋Š” ์œ ์—ฐํ•จ์„ ์žฅ์ ์œผ๋กœ ๊ฐ–์ง€๋งŒ, ๊ทธ ์ž์ฒด๋กœ ๋น„์ง๊ด€์ ์ด๋‹ค.

Define by Run (PyTorch)
์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘์–ด๋„ฃ๊ณ  ์„ธ์…˜๋„ ํ•„์š”์—†์ด ๋Œ๋ฆฌ๋ฉด ๋˜๊ธฐ๋•Œ๋ฌธ์— ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋‚œ์ด๋„๊ฐ€ ๋‚ฎ์€ ํŽธ์ด๋‹ค.

๋‘ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชจ๋‘ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ์ •์˜ํ•˜๊ณ  ์ž๋™์œผ๋กœ ๊ทธ๋ž˜๋””์–ธํŠธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ Tensorflow์˜ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋Š” ์ •์ ์ด๊ณ  Pytorch๋Š” ๋™์ ์ด๋‹ค.

์ฆ‰ Tensorflow์—์„œ๋Š” ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œ ๋ฒˆ ์ •์˜ํ•˜๊ณ  ๋‚˜๋ฉด ๊ทธ๋ž˜ํ”„์— ๋“ค์–ด๊ฐ€๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋งŒ ๋‹ค๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„๋งŒ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ PyTorch๋Š” ๊ฐ ์ˆœ์ „ํŒŒ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ์ •์˜ํ•˜์—ฌ ์ด์šฉํ•œ๋‹ค.


References


#4

Data Normalization์€ ๋ฌด์—‡์ด๊ณ  ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?

Data Normalization(๋ฐ์ดํ„ฐ ์ •๊ทœํ™”)์ด๋ž€ feature๋“ค์˜ ๋ถ„ํฌ(scale)์„ ์กฐ์ ˆํ•˜์—ฌ ๊ท ์ผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐ์ดํ„ฐ ์ •๊ทœํ™”๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ feature ๊ฐ„ scale ์ฐจ์ด๊ฐ€ ์‹ฌํ•˜๊ฒŒ ๋‚  ๋•Œ, ํฐ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€๋Š” feature(ex. ๊ฐ€๊ฒฉ)๊ฐ€ ์ž‘์€ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€๋Š” feature(ex. ๋‚˜์ด)๋ณด๋‹ค ๋” ๊ฐ•ํ•˜๊ฒŒ ๋ชจ๋ธ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ฆ‰, ๋ฐ์ดํ„ฐ ์ •๊ทœํ™”๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๊ฐ€ ๋™์ผํ•œ ์ •๋„์˜ ์Šค์ผ€์ผ(์ค‘์š”๋„)๋กœ ๋ฐ˜์˜๋˜๋„๋ก ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ์žฅ์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

  • ํ•™์Šต์†๋„๊ฐ€ ๊ฐœ์„ ๋œ๋‹ค.
  • ๋…ธ์ด์ฆˆ๊ฐ€ ์ž‘์•„์ง€๋ฏ€๋กœ ์˜ค๋ฒ„ํ”ผํŒ…์„ ์–ต์ œ์‹œํ‚จ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋œ ์น˜์šฐ์น˜๊ฒŒ ๋งŒ๋“œ๋ฏ€๋กœ, ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค.

์ถ”๊ฐ€๋‚ด์šฉ) Regularization, Normalization, Standardization

Regularization(์ •๊ทœํ™”, ๊ทœ์ œ) ๋ž€ ๋ชจ๋ธ์— ์ œ์•ฝ(penalty)๋ฅผ ์ฃผ์–ด ๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ์„ ๋‚ฎ์ถ”๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์˜ค๋ฒ„ํ”ผํŒ…์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ œ์•ฝ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•™์Šต ์ •ํ™•๋„(train accuracy)๋Š” ์กฐ๊ธˆ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ…Œ์ŠคํŠธ ์ •ํ™•๋„(test accuracy)๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ์ •๊ทœํ™”์—๋Š” Drop out, Early Stopping, Weight decay(Parameter Norm Penalty)์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค.

  • ์ž์„ธํ•œ Regularization ๋ฐฉ๋ฒ•์€ reference ์ฐธ๊ณ 

Normalization, Standardization์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„(scale)์„ ์ถ•์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.(re-scaling) ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„ ์žฌ์กฐ์ •์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ๋„“์€ ๊ณณ์— ํผ์ ธ์žˆ์„ ๋•Œ(scale์ด ํฌ๋‹ค๋ฉด), ๋ฐ์ดํ„ฐ์…‹์ด outlier๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋ฐ˜์˜ํ•˜์—ฌ ์˜ค๋ฒ„ํ”ผํŒ…์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‘ ๋ฐฉ๋ฒ•์€ scale ์กฐ์ ˆ ๋ฐฉ์‹์— ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค.

Normalization(์ •๊ทœํ™”) ๋ฐฉ๋ฒ•์—๋Š” Batch Normalization, Min-Max Normalization ๋“ฑ์ด ์žˆ๋‹ค.

  • Batch Normalization: ์ ์šฉ์‹œํ‚ค๋ ค๋Š” ๋ ˆ์ด์–ด์˜ ํ†ต๊ณ„๋Ÿ‰, ๋ถ„ํฌ๋ฅผ ์ •๊ทœํ™”์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • Min-Max Normalization: ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ 0, ๊ฐ€์žฅ ํฐ ๊ฐ’์„ 1๋กœ ๋‘๊ณ , ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ๋น„์œจ์„ ๋งž์ถฐ์„œ ๋ชจ๋‘ 0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์Šค์ผ€์ผ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ชจ๋“  feature๋“ค์˜ ์Šค์ผ€์ผ์ด ๋™์ผํ•˜์ง€๋งŒ, ์ด์ƒ์น˜(outlier)๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Standardization(ํ‘œ์ค€ํ™”) ๋ž€ ํ‘œ์ค€ํ™” ํ™•๋ฅ ๋ณ€์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด๋Š” z-score๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค. z-score normalization์ด๋ผ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

  • Z-score: ๊ด€์ธก๊ฐ’์ด ํ‰๊ท  ๊ธฐ์ค€์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ์—์„œ ๋ฐ์ดํ„ฐ ์ „์ฒด์˜ ํ‰๊ท ์„ ๋นผ๊ณ , ์ด๋ฅผ ํ‘œ์ค€ํŽธ์ฐจ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด์ƒ์น˜(outlier)๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ, ์ •ํ™•ํžˆ ๋™์ผํ•œ ์ฒ™๋„๋กœ ์ •๊ทœํ™” ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

References


#5

์•Œ๊ณ ์žˆ๋Š” Activation Function์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์„ธ์š”. (Sigmoid, ReLU, LeakyReLU, Tanh ๋“ฑ)

Sigmoid



sigmoid ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์„ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

์ž…๋ ฅ ๊ฐ’์ด ํฌ๊ฑฐ๋‚˜ ์ž‘์„ ๋•Œ ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ์ง€๋Š” saturation ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
์ด๋Š” gradient vanishing ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•˜๋ฏ€๋กœ ์š”์ฆ˜์—๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ์„œ ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

๋˜ํ•œ ๊ฐ’์ด zero-centered ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ๊ฐ’์˜ ๋ถ€ํ˜ธ์— ๊ทธ๋Œ€๋กœ ์˜ํ–ฅ์„ ๋ฐ›์œผ๋ฏ€๋กœ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ๊ณผ์ •์—์„œ ์ •ํ™•ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์ง€ ๋ชปํ•˜๊ณ  ์ง€๊ทธ์žฌ๊ทธ๋กœ ์›€์ง์ด๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. 12-3 ์ฐธ๊ณ 

Tanh


tanh ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์„ -1~1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

sigmoid ํ•จ์ˆ˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ saturation ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

ReLU


ReLU ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์ด ์–‘์ˆ˜๋ฉด ๊ทธ๋Œ€๋กœ, ์Œ์ˆ˜๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

f(x) = max(0, x)

๊ณ„์‚ฐ ํšจ์œจ๊ณผ ์„ฑ๋Šฅ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜์ด๋‹ค.

์–‘์˜ ์ž…๋ ฅ์— ๋Œ€ํ•ด์„œ๋Š” saturation ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

์Œ์˜ ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋–ค ์—…๋ฐ์ดํŠธ๋„ ๋˜์ง€ ์•Š๋Š” Dead ReLU ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

LeakyReLU


f(x) = max(0.01x, x)

ReLU ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ข‹์€ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์Œ์ˆ˜ ์ž…๋ ฅ์ด 0์ด ์•„๋‹ˆ๊ฒŒ ๋จ์— ๋”ฐ๋ผ Dead ReLU ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

References


#6

์˜ค๋ฒ„ํ”ผํŒ…์ผ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•ด์•ผ ํ• ๊นŒ์š”?

Regularization

Generalization์ด ์ž˜๋˜๋„๋ก ๋ชจ๋ธ์— ์ œ์•ฝ์„ ์ฃผ๋ฉฐ ํ•™์Šต์„ ํ•˜์—ฌ overfitting์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Early stopping

    • training loss๋Š” ๊ณ„์† ๋‚ฎ์•„์ง€๋”๋ผ๋„ validation loss๋Š” ์˜ฌ๋ผ๊ฐ€๋Š” ์‹œ์ ์„ overfitting์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ํ•™์Šต์„ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Parameter norm penalty (weight decay)

    • ๋น„์šฉํ•จ์ˆ˜์— ์ œ๊ณฑ์„ ๋”ํ•˜๊ฑฐ๋‚˜( -Regularization) ์ ˆ๋Œ“๊ฐ’์„ ๋”ํ•ด์„œ( -Regularization) weight์˜ ํฌ๊ธฐ์— ํŽ˜๋„ํ‹ฐ๋ฅผ ๋ถ€๊ณผํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Data augmentation

    • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ์„ ๋•Œ, ๋ฐ์ดํ„ฐ์— ์ธ์œ„์ ์œผ๋กœ ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ•

  • Noise robustness

    • ๋…ธ์ด์ฆˆ๋‚˜ ์ด์ƒ์น˜๊ฐ™์€ ์—‰๋šฑํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์™€๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š”(robust ํ•œ) ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด input data๋‚˜ weight์— ์ผ๋ถ€๋Ÿฌ ๋…ธ์ด์ฆˆ๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•

  • Label smoothing

    • ๋ชจ๋ธ์ด Ground Truth๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธกํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ์–ด ์ •ํ™•ํ•˜์ง€ ์•Š์€ ํ•™์Šต ๋ฐ์ดํ„ฐ์…‹์— ์น˜์ค‘๋˜๋Š” ๊ฒฝํ–ฅ(overconfident)์„ ๋ง‰์•„์ฃผ๋Š” ๋ฐฉ๋ฒ•

  • Dropout

    • ๊ฐ ๊ณ„์ธต ๋งˆ๋‹ค ์ผ์ • ๋น„์œจ์˜ ๋‰ด๋Ÿฐ์„ ์ž„์˜๋กœ ์ •ํ•ด drop ์‹œํ‚ค๊ณ  ๋‚˜๋จธ์ง€ ๋‰ด๋Ÿฐ๋งŒ ํ•™์Šตํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋งค ํ•™์Šต๋งˆ๋‹ค drop ๋˜๋Š” ๋‰ด๋Ÿฐ์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์„ ์•™์ƒ๋ธ” ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค.
    • dropout์€ ํ•™์Šต ์‹œ์—๋งŒ ์ ์šฉํ•˜๊ณ , ์ถ”๋ก  ์‹œ์—๋Š” ์ ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • Batch normalization

    • ํ™œ์„ฑํ™”ํ•จ์ˆ˜์˜ ํ™œ์„ฑํ™”๊ฐ’ ๋˜๋Š” ์ถœ๋ ฅ๊ฐ’์„ ์ •๊ทœํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๊ฐ hidden layer์—์„œ ์ •๊ทœํ™”๋ฅผ ํ•˜๋ฉด์„œ ์ž…๋ ฅ๋ถ„ํฌ๊ฐ€ ์ผ์ •ํ•˜๊ฒŒ ๋˜๊ณ , ์ด์— ๋”ฐ๋ผ Learning rate์„ ํฌ๊ฒŒ ์„ค์ •ํ•ด๋„ ๊ดœ์ฐฎ์•„์ง„๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•™์Šต์†๋„๊ฐ€ ๋นจ๋ผ์ง€๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค.

References


#7

ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ(Hyper-parameter)๋Š” ๋ชจ๋ธ๋งํ•  ๋•Œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ธํŒ…ํ•ด์ฃผ๋Š” ๊ฐ’์„ ๋œปํ•œ๋‹ค. ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ •ํ•ด์ง„ ์ตœ์ ์˜ ๊ฐ’์ด ์—†์œผ๋ฉฐ, ์‚ฌ์šฉ์ž์˜ ์„ ํ—˜์  ์ง€์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์ •(ํœด๋ฆฌ์Šคํ‹ฑ)ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋”ฅ๋Ÿฌ๋‹์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ์—๋Š” ํ•™์Šต๋ฅ , ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ ๋“ฑ์ด ์žˆ๊ณ , ๊ฐ€์ค‘์น˜๋Š” ํ•™์Šต ๊ณผ์ •์—์„œ ๋ฐ”๋€Œ๋Š” ๊ฐ’์ด๋ฉฐ ์ด๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์— ์†ํ•œ๋‹ค. ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๊ธฐ๋ฒ•์—๋Š” Manual Search, Grid Search, Random Search, Bayesian Optimization ๋“ฑ์ด ์žˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹์—์„œ์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ์ฐธ๊ณ ํ•œ๋‹ค.


์ถ”๊ฐ€๋‚ด์šฉ) ํŒŒ๋ผ๋ฏธํ„ฐ vs. ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ์ค€์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ค์ •ํ•˜๋Š๋ƒ ์•„๋‹ˆ๋ƒ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ค์ •ํ•˜๋ฉด ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ชจ๋ธ ํ˜น์€ ๋ฐ์ดํ„ฐ์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ๋”ฅ๋Ÿฌ๋‹์—์„œ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ํ•™์Šต๋ฅ , ๋ฐฐ์น˜ ํฌ๊ธฐ, ์€๋‹‰์ธต์˜ ๊ฐœ์ˆ˜ ๋“ฑ์ด ์žˆ๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๊ฐ€์ค‘์น˜, ํŽธํ–ฅ ๋“ฑ์ด ์žˆ๋‹ค.


โœ”๏ธŽ ์„ ํ—˜์  ์ง€์‹: ๊ฒฝํ—˜ํ•˜์ง€ ์•Š์•„๋„ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
โœ”๏ธŽ ํœด๋ฆฌ์Šคํ‹ฑ: ์ฒด๊ณ„์ ์ด๋ฉด์„œ ํ•ฉ๋ฆฌ์ ์ธ ํŒ๋‹จ์ด ๊ตณ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ ์‚ฌ๋žŒ๋“ค์ด ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ณด๋‹ค ์šฉ์ดํ•˜๊ฒŒ ๊ตฌ์„ฑ๋œ ๊ฐ„ํŽธ์ถ”๋ก ์˜ ๋ฐฉ๋ฒ•์ด๋‹ค. '๋Œ€์ถฉ ์–ด๋ฆผ์ง์ž‘ํ•˜๊ธฐ', '๋ˆˆ๋Œ€์ค‘์œผ๋กœ ๋งž์ถ”๊ธฐ' ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์ผ์ปซ๋Š”๋‹ค.

References


#8

Weight Initialization ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋งํ•ด์ฃผ์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋‚˜์š”?

๋”ฅ๋Ÿฌ๋‹์—์„œ ๊ฐ€์ค‘์น˜๋ฅผ ์ž˜ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค์ด๋‚˜ local minima ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•˜๋‹ค.

LeCun Initialization
๋”ฅ๋Ÿฌ๋‹์˜ ๋Œ€๊ฐ€ LeCun ๊ต์ˆ˜๋‹˜์ด ์ œ์‹œํ•œ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋…ธ๋“œ ์ˆ˜์— ๋Œ€ํ•ด ์ •๊ทœ ๋ถ„ํฌ์™€ ๊ท ๋“ฑ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


๊ท ๋“ฑ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


Xavier Initialization
LeCun ๋ฐฉ๋ฒ•๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋“ค์–ด์˜ค๋Š” ๋…ธ๋“œ ์ˆ˜์™€ ๋‚˜๊ฐ€๋Š” ๋…ธ๋“œ ์ˆ˜์— ์˜์กดํ•˜๊ณ , ์ ์ ˆํ•œ ์ƒ์ˆ˜๊ฐ’๋„ ๋ฐœ๊ฒฌํ•˜์—ฌ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


๊ท ๋“ฑ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


sigmoid ๋‚˜ tanh ํ•จ์ˆ˜์™€๋Š” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ์ง€๋งŒ ReLU ํ•จ์ˆ˜์™€ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ 0์— ์ˆ˜๋ ดํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
๋”ฐ๋ผ์„œ sigmoid ๋‚˜ tanh ํ•จ์ˆ˜์™€ ์ฃผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

He Initialization ReLU ์™€ ํ•จ๊ป˜ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, LeCun ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ง€๋งŒ ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜์˜€๋‹ค. ๋“ค์–ด์˜ค๋Š” ๋…ธ๋“œ๋งŒ ๊ณ ๋ คํ•œ๋‹ค.

์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


๊ท ๋“ฑ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•


References


#9

๋ณผ์ธ ๋งŒ ๋จธ์‹ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๋ณผ์ธ ๋งŒ ๋จธ์‹ ์€ ๊ฐ€์‹œ์ธต(Visible Layer)์™€ ์€๋‹‰์ธต(Hidden Layer), ์ด ๋‘ ๊ฐœ์˜ ์ธต์œผ๋กœ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ณผ์ธ ๋งŒ ๋จธ์‹ ์€ ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์™„์ „ ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ์ด๋ฉฐ, ์ œํ•œ๋œ ๋ณผ์ธ ๋งŒ ๋จธ์‹ (RBM)์—์„œ๋Š” ๊ฐ™์€ ์ธต์˜ ๋‰ด๋Ÿฐ๋“ค์€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋ชจ์–‘์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹จ์ธต๊ตฌ์กฐ์ด๋ฉฐ, ํ™•๋ฅ  ๋ชจ๋ธ์ด๋‹ค. ๋ถ„๋ฅ˜๋‚˜ ์„ ํ˜• ํšŒ๊ท€ ๋ถ„์„ ๋“ฑ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

ํŠนํžˆ DBN(Deep Belief Network)์—์„œ๋Š” RBM๋“ค์„ ์Œ“์•„์˜ฌ๋ ค, ๊ฐ ๋ณผ์ธ ๋งŒ ๋จธ์‹ ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šต์‹œํ‚จ๋‹ค.


์ƒ‰๊น” ๋ณ„ cell์˜ ์—ญํ• ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


References


#10

TF, PyTorch ๋“ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋””๋ฒ„๊น… ๋…ธํ•˜์šฐ๋Š”?

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ณณ, ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ง€์ ์„ ๋””๋ฒ„๊น… ํฌ์ธํŠธ๋กœ ๋‘๊ณ , ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๋˜, IDE์—์„œ ๋‹ค์–‘ํ•œ ๋””๋ฒ„๊น… extension์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ์ข‹์€ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, vs code์˜ jupyter extension์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„, ๋ณ€์ˆ˜๊ฐ’๋“ฑ์„ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ ฌํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋””๋ฒ„๊น… ๋…ธํ•˜์šฐ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋Œ€์ฒ˜๋ฐฉ์‹์„ ์ตํžˆ๋ฉด ์ข‹๋‹ค. ๋””๋ฒ„๊น… ํ•˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋””๋ฒ„๊น… ์‹œ๊ฐ„์„ ์•„๊ปด์ค€๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, ๊ฐ€์žฅ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋Š” CUDA out of memory์™€ shape ์˜ค๋ฅ˜์ด๋‹ค.(๊ฐœ์ธ์ ์ธ ์˜๊ฒฌ) out of memory์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๋Š” ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์ธ๋‹ค๊ฑฐ๋‚˜, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. shape ์˜ค๋ฅ˜๋Š” ๋””๋ฒ„๊น…์„ ํ†ตํ•ด์„œ ํ˜„์žฌ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ shape, type๋“ฑ์„ ํ™•์ธํ•˜๊ณ , ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์š”๊ตฌํ•˜๋Š” shape, type์— ๋งž๊ฒŒ ๋ณ€ํ˜•ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹ ๋””๋ฒ„๊น… ํˆด์€ ์•„๋‹ˆ์ง€๋งŒ, logging tool๋กœ์„œ tensorboard, wandb ๋“ฑ์ด ๋งค์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

References


#11

๋‰ด๋Ÿด๋„ท์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€? ์ด๋ฅผ ์œ„ํ•ด ๋‚˜์˜จ One-Shot Learning์€ ๋ฌด์—‡์ธ๊ฐ€?

์‚ฌ๋žŒ์€ ์ฒ˜์Œ ๋ณด๋Š” ๋ฌผ๊ฑด (์ƒˆ ๋ ˆ์ด๋ธ”) ์— ๋Œ€ํ•ด ์กฐ๊ธˆ๋งŒ ๋ด๋„ ๋‹ค๋ฅธ ๊ฒƒ๊ณผ ์ด ๋ฌผ๊ฑด์„ ๊ตฌ๋ถ„ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋‰ด๋Ÿด๋„ท์€ ์ด ๋ฌผ๊ฑด์„ ๊ตฌ๋ถ„ํ•ด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด ๋ฌผ๊ฑด์— ๋Œ€ํ•œ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•ด์•ผํ•œ๋‹ค.

One-shot Learning ์€ ๋‰ด๋Ÿด๋„ท๋„ ์ƒˆ๋กœ์šด ๋ ˆ์ด๋ธ”์„ ์ง€๋‹Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„ ๋•Œ (one-shot ์—์„œ๋Š” ํ•œ ๊ฐœ) ์—๋„ ๋ชจ๋ธ์ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋„๋ก ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์กด์— ๋‹ค๋ฅธ ๋ ˆ์ด๋ธ”์˜ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ์ž˜ ์ดํ•ดํ•˜๋Š” pretrained ๋ชจ๋ธ์ด ํ•„์š”ํ•˜๋‹ค.

ํ•™์Šต๋œ ๋ชจ๋ธ์— ์ƒˆ๋กœ์šด ๋ ˆ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ ๋˜์ ธ ์ฃผ๋ฉด ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ด ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•ด์„œ๋„ ์ดํ•ด๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค.

References


#12

์š”์ฆ˜ sigmoid ๋ณด๋‹ค ReLU๋ฅผ ๋งŽ์ด ์“ฐ๋Š”๋ฐ ๊ทธ ์ด์œ ๋Š”?


์šฐ์„  sigmoid์™€ ReLU ํ•จ์ˆ˜์˜ ๋ชจ์–‘์„ ๋ณด์ž. sigmoid๋Š” ๊ฐ’์ด ํฐ ์–‘์ˆ˜์ผ์ˆ˜๋ก 1์—, ํฐ ์Œ์ˆ˜์ผ์ˆ˜๋ก 0์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค. ๋ฐ˜๋ฉด ReLU๋Š” ๊ฐ’์ด ์–‘์ˆ˜์ด๋ฉด ์›๋ž˜ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐ€๊ณ , ์Œ์ˆ˜์ด๋ฉด 0์ด๋‹ค.

์š”์ฆ˜ sigmoid๋ณด๋‹ค ReLU๋ฅผ ๋งŽ์ด ์“ฐ๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค ๋ฌธ์ œ(Gradient Vanishing) ๋•Œ๋ฌธ์ด๋‹ค. ๊ธฐ์šธ๊ธฐ๋Š” ์—ฐ์‡„ ๋ฒ•์น™(Chain Rule)์— ์˜ํ•ด ๊ตญ์†Œ์  ๋ฏธ๋ถ„๊ฐ’์„ ๋ˆ„์  ๊ณฑ์„ ์‹œํ‚ค๋Š”๋ฐ, sigmoid์˜ ๊ฒฝ์šฐ ๊ธฐ์šธ๊ธฐ๊ฐ€ ํ•ญ์ƒ 0๊ณผ 1์‚ฌ์ด์˜ ๊ฐ’์ด๋ฏ€๋กœ ์ด ๊ฐ’์„ ์—ฐ์‡„์ ์œผ๋กœ ๊ณฑํ•˜๊ฒŒ ๋˜๋ฉด 0์— ์ˆ˜๋ ดํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋ฐ˜๋ฉด ReLU๋Š” ๊ฐ’์ด ์–‘์ˆ˜์ผ ๋•Œ, ๊ธฐ์šธ๊ธฐ๊ฐ€ 1์ด๋ฏ€๋กœ ์—ฐ์‡„ ๊ณฑ์ด 1๋ณด๋‹ค ์ž‘์•„์ง€๋Š” ๊ฒƒ์„ ์–ด๋Š ์ •๋„ ๋ง‰์•„์ค„ ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋งŒ, ReLU๋Š” ๊ฐ’์ด ์Œ์ˆ˜์ด๋ฉด, ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ๋‰ด๋Ÿฐ์ด ์ฃฝ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•œ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ Leaky ReLU๊ฐ€ ์žˆ๋‹ค.

References


#12-1

Non-Linearity๋ผ๋Š” ๋ง์˜ ์˜๋ฏธ์™€ ๊ทธ ํ•„์š”์„ฑ์€?

๋น„์„ ํ˜•(non-linearity)์˜ ๋œป์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  ์„ ํ˜•(linearity)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์–ด๋–ค ๋ชจ๋ธ์ด ์„ ํ˜•์ (linearity)๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ๊ทธ ๋ชจ๋ธ์€ ๋ณ€์ˆ˜ ๊ณผ ๊ฐ€์ค‘์น˜ ์œผ๋กœ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ€์‚ฐ์„ฑ(Additreivityly)๊ณผ ๋™์ฐจ์„ฑ(Homogeneity)์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

  • ๊ฐ€์‚ฐ์„ฑ: ์ž„์˜์˜ ์ˆ˜ ์— ๋Œ€ํ•ด ๊ฐ€ ์„ฑ๋ฆฝ
  • ๋™์ฐจ์„ฑ: ์ž„์˜์˜ ์ˆ˜ $x, \alpha$์— ๋Œ€ํ•ด ๊ฐ€ ์„ฑ๋ฆฝ

์ด๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ชจ๋ธ์„ ๋น„์„ ํ˜• ๊ด€๊ณ„์— ์žˆ๋Š” ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋”ฅ๋Ÿฌ๋‹์—์„œ ์ด๋Ÿฐ ๋น„์„ ํ˜• ๊ด€๊ณ„๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜(activation function)์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๋น„์„ ํ˜• ๊ด€๊ณ„ ์ฆ‰, ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ์™œ ํ•„์š”ํ• ๊นŒ? ๋ฐ”๋กœ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ์ธต์„ ์Œ“์•„์„œ ๋” ๋ณต์žกํ•œ ํ‘œํ˜„์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ์ธ ์„ ํ˜• ํ•จ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์ด ๋•Œ ๊ฐœ์˜ ์ธต์„ ์Œ“์•˜๋‹ค๊ณ  ํ•  ๋•Œ, ๋ชจ๋ธ์€ ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋ผ๋Š” ์ƒ์ˆ˜๋กœ ์น˜ํ™˜ํ•˜๋ฉด ๊ฒฐ๊ตญ 1์ธต์„ ๊ฐ€์ง„ ์‹ ๊ฒฝ๋ง๊ณผ ๋™์ผํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋น„์„ ํ˜•์ธ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค.

References


#12-2

ReLU๋กœ ์–ด๋–ป๊ฒŒ ๊ณก์„  ํ•จ์ˆ˜๋ฅผ ๊ทผ์‚ฌํ•˜๋‚˜?

ReLU๋Š” ์–‘์ˆ˜์ผ ๋•Œ ์ธ ์„ ํ˜• ํ•จ์ˆ˜์™€ ์Œ์ˆ˜์ผ ๋•Œ ์ธ ์„ ํ˜• ํ•จ์ˆ˜ ๋‘ ๊ฐœ๋ฅผ ๊ฒฐํ•ฉ๋œ ํ˜•ํƒœ์ด๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ReLU๋Š” ์„ ํ˜• ํ•จ์ˆ˜๊ฐ€ ๊ฐ–๋Š” ๊ฐ€์‚ฐ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„์„ ํ˜• ํ•จ์ˆ˜๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ReLU๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ณก์„  ํ•จ์ˆ˜๋ฅผ ๊ทผ์‚ฌํ•  ์ˆ˜ ์žˆ์„๊นŒ?


ReLU๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๊ฒฐํ•ฉํ•˜๋ฉด, ํŠน์ • ์ง€์ ์—์„œ ํŠน์ • ๊ฐ๋„๋งŒํผ ์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ€๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ ๊ณก์„  ํ•จ์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ•จ์ˆ˜์— ๊ทผ์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

References


#12-3

ReLU์˜ ๋ฌธ์ œ์ ์€?

ReLU์˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ์ ์€ ๋ฐ”๋กœ ์ฃฝ์€ ๋‰ด๋Ÿฐ(Dead Neurons)์ด๋‹ค. ReLU๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ ๋ชจ๋‘ 0์œผ๋กœ ์ทจ๊ธ‰ํ•˜๋Š”๋ฐ, back propagation์‹œ ๊ธฐ์šธ๊ธฐ์— 0์ด ๊ณฑํ•ด์ ธ ํ•ด๋‹น ๋ถ€๋ถ„์˜ ๋‰ด๋Ÿฐ์€ ์ฃฝ๊ณ  ๊ทธ ์ดํ›„์˜ ๋‰ด๋Ÿฐ ๋ชจ๋‘ ์ฃฝ๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•œ Leaky ReLU๋Š” ๊ฐ’์ด ์Œ์ˆ˜์ผ ๋•Œ ์กฐ๊ธˆ์˜ ์Œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฐ–๋„๋ก ํ•˜์—ฌ ๋‰ด๋Ÿฐ์ด ์กฐ๊ธˆ์ด๋ผ๋„ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฐ–๋„๋ก ํ•œ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์ž…๋ ฅ๊ฐ’์— ์•„์ฃผ ์กฐ๊ธˆ์˜ ํŽธํ–ฅ(bias)๋ฅผ ์ฃผ์–ด ReLU๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์กฐ๊ธˆ ์ด๋™์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ž…๋ ฅ๊ฐ’์€ ๋ชจ๋‘ ์–‘์ˆ˜์ด๋ฏ€๋กœ ๋‰ด๋Ÿฐ์ด ๋ชจ๋‘ ํ™œ์„ฑํ™”๊ฐ€ ๋˜์–ด ๋‰ด๋Ÿฐ์ด ์ฃฝ์ง€ ์•Š๋Š”๋‹ค. ๊ด€๋ จ ๋‚ด์šฉ์€ CS231n 6๊ฐ• 16:45๋ฅผ ์ฐธ๊ณ !

๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ํŽธํ–ฅ ์ด๋™(Bias Shift)์ด๋‹ค. ReLU๋Š” ํ•ญ์ƒ 0์ด์ƒ์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์„ฑํ™”๊ฐ’์˜ ํ‰๊ท ์ด 0๋ณด๋‹ค ์ปค zero-centeredํ•˜์ง€ ์•Š๋‹ค. ํ™œ์„ฑํ™”๊ฐ’์ด zero-centered๋˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋™์ผํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ผ์„œ ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๊ด€๋ จ ๋‚ด์šฉ์€ CS231n 6๊ฐ• 8:46์„ ์ฐธ๊ณ !


์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์น˜ ์ •๊ทœํ™”(Batch Normalization)์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ zero-centered๋œ ELU, SeLU์™€ ๊ฐ™์€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

References


#12-4

ํŽธํ–ฅ(bias)๋Š” ์™œ ์žˆ๋Š”๊ฑธ๊นŒ?


bias๋ณ„ sigmoid ํ•จ์ˆ˜์˜ ์œ„์น˜

ํŽธํ–ฅ(bias)๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜๊ฐ€ ์™ผ์ชฝ ํ˜น์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ฐ€์ค‘์น˜(weight)๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜์˜ ๊ฐ€ํŒŒ๋ฅธ ์ •๋„ ์ฆ‰, ๊ธฐ์šธ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐ˜๋ฉด, ํŽธํ–ฅ(bias)๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์›€์ง์ž„์œผ๋กœ์จ ๋ฐ์ดํ„ฐ์— ๋” ์ž˜ ๋งž๋„๋ก ํ•œ๋‹ค.

References


#13

Gradient Descent์— ๋Œ€ํ•ด์„œ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•œ๋‹ค๋ฉด?

Gradient Descent๋Š” ์–ด๋–ค ํ•จ์ˆ˜์˜ ๊ทน์†Œ์ ์„ ์ฐพ๊ธฐ ์œ„ํ•ด gradient ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•ด ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.


๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” Loss function์„ ์ตœ์†Œํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•ด Loss function์„ ๋ฏธ๋ถ„ํ•˜์—ฌ ๊ทธ ๊ธฐ์šธ๊ธฐ๊ฐ’(gradient)์„ ๊ตฌํ•˜๊ณ , ๊ฒฝ์‚ฌ๊ฐ€ ํ•˜๊ฐ•ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ ์ง„์ ์œผ๋กœ ์ฐพ๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

Gradient Descent๋ฅผ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


Gradient Descent์˜ ๋ฌธ์ œ์ 

  • ์ ์ ˆํ•œ step size(learning rate)

    • step size๊ฐ€ ํฐ ๊ฒฝ์šฐ ํ•œ ๋ฒˆ ์ด๋™ํ•˜๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ์ปค์ง€๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, step size๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์„ค์ •ํ•ด๋ฒ„๋ฆฌ๋ฉด ์ตœ์†Œ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋„๋ก ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ•จ์ˆ˜ ๊ฐ’์ด ๊ณ„์† ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ตœ์ ํ™”๊ฐ€ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.
    • ํ•œํŽธ step size๊ฐ€ ๋„ˆ๋ฌด ์ž‘์€ ๊ฒฝ์šฐ ๋ฐœ์‚ฐํ•˜์ง€๋Š” ์•Š์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ตœ์ ์˜ x๋ฅผ ๊ตฌํ•˜๋Š”๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

  • local minima ๋ฌธ์ œ

    • gradient descent ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹œ์ž‘ํ•˜๋Š” ์œ„์น˜๋Š” ๋งค๋ฒˆ ๋žœ๋คํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” local minima์— ๋น ์ ธ ๊ณ„์† ํ—ค์–ด๋‚˜์˜ค์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ธด๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ #14-1. GD๊ฐ€ Local Minima ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์€? ์ฐธ๊ณ 

References


#13-1

์™œ ๊ผญ Gradient๋ฅผ ์จ์•ผ ํ• ๊นŒ? ๊ทธ ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ€๋กœ์ถ•๊ณผ ์„ธ๋กœ์ถ• ๊ฐ๊ฐ์€ ๋ฌด์—‡์ธ๊ฐ€? ์‹ค์ œ ์ƒํ™ฉ์—์„œ๋Š” ๊ทธ ๊ทธ๋ž˜ํ”„๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ทธ๋ ค์งˆ๊นŒ?


Gradient๊ฐ€ ์–‘์ˆ˜์ด๋ฉด ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐฉํ–ฅ์ด๋ฉฐ ์Œ์ˆ˜์ด๋ฉด ๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉํ–ฅ์ด๋‹ค. ์‹ค์ œ ์ƒํ™ฉ์—์„œ๋Š” Gradient ๊ทธ๋ž˜ํ”„๊ฐ€ 0์„ ์ค‘์‹ฌ์œผ๋กœ ์ง„๋™ํ•˜๋Š” ๋ชจ์–‘์ด ๋  ๊ฒƒ์ด๋‹ค.

References


#13-2

GD ์ค‘์— ๋•Œ๋•Œ๋กœ Loss๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ด์œ ๋Š”?


minima์— ๋“ค์–ด๊ฐ”๋‹ค๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์ผ ๊ฒƒ์ด๋‹ค.

์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” GD์—์„œ๋Š” local minima ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Momentum ๋“ฑ์˜ ๊ฐœ๋…์„ ๋„์ž…ํ•œ RMSprop, Adam ๋“ฑ์˜ optimization ์ „๋žต์„ ์‚ฌ์šฉํ•œ๋‹ค.

๊ฐ optimization ์ „๋žต์— ๋”ฐ๋ผ gradient๊ฐ€ ์–‘์ˆ˜์ธ ๋ฐฉํ–ฅ์œผ๋กœ๋„ parameter update step์„ ๊ฐ€์ ธ๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ์—๋Š” Loss๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ #17. SGD, RMSprop, Adam์— ๋Œ€ํ•ด์„œ ์•„๋Š”๋Œ€๋กœ ์„ค๋ช…ํ•œ๋‹ค๋ฉด? ์ฐธ๊ณ 

References


#13-3

Back Propagation์— ๋Œ€ํ•ด์„œ ์‰ฝ๊ฒŒ ์„ค๋ช… ํ•œ๋‹ค๋ฉด?

์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Loss์— ๋Œ€ํ•œ ์ž…๋ ฅ๊ฐ’์˜ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„๊ฐ’)๋ฅผ ์ถœ๋ ฅ์ธต layer์—์„œ๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฑฐ๊พธ๋กœ ์ „ํŒŒ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฑฐ๊พธ๋กœ ์ „ํŒŒ์‹œ์ผœ์„œ ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅ์ธต์—์„œ์˜ output๊ฐ’์— ๋Œ€ํ•œ ์ž…๋ ฅ์ธต์—์„œ์˜ input data์˜ ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ chain rule์ด ์ด์šฉ๋œ๋‹ค.

์ถœ๋ ฅ์ธต ๋ฐ”๋กœ ์ „ layer์—์„œ๋ถ€ํ„ฐ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„๊ฐ’)์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ด๋ฅผ ์ ์  ๊ฑฐ๊พธ๋กœ ์ „ํŒŒ์‹œํ‚ค๋ฉด์„œ ์ „ layer๋“ค์—์„œ์˜ ๊ธฐ์šธ๊ธฐ์™€ ์„œ๋กœ ๊ณฑํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋‚˜์•„๊ฐ€๋ฉด ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅ์ธต์˜ output์— ๋Œ€ํ•œ ์ž…๋ ฅ์ธต์—์„œ์˜ input์˜ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„๊ฐ’)์„ ๊ตฌํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐ”๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งค์šฐ ๋งŽ๊ณ  layer๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„๋•Œ ๊ฐ€์ค‘์น˜w์™€ b๋ฅผ ํ•™์Šต์‹œํ‚ค๊ธฐ ์–ด๋ ค์› ๋‹ค๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ด๋Š” ์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ฐ layer์—์„œ ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ๊ทธ ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ Gradient descent ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์ค‘์น˜w์™€ b๋ฅผ update์‹œํ‚ค๋ฉด์„œ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

References


#14

Local Minima ๋ฌธ์ œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋”ฅ๋Ÿฌ๋‹์ด ์ž˜ ๋˜๋Š” ์ด์œ ๋Š”?

local minima ๋ฌธ์ œ๊ฐ€ ์‚ฌ์‹ค์€ ๊ณ ์ฐจ์›(High Dimensional)์˜ ๊ณต๊ฐ„์—์„œ๋Š” ๋ฐœ์ƒํ•˜๊ธฐ ํž˜๋“ , ๋งค์šฐ ํฌ๊ท€ํ•œ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‹ค์ œ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ๋Š” weight๊ฐ€ ์ˆ˜๋„์—†์ด ๋งŽ์œผ๋ฉฐ, ๊ทธ ์ˆ˜๋งŽ์€ weight๊ฐ€ ๋ชจ๋‘ local minima์— ๋น ์ ธ์•ผ weight update๊ฐ€ ์ •์ง€๋˜๊ธฐ ๋•Œ๋ฌธ์— local minima๋Š” ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

Local Minima ๋ฌธ์ œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋”ฅ๋Ÿฌ๋‹์ด ์ž˜ ๋˜๋Š”, ๋” ๊ตฌ์ฒด์ ์ธ ์ด์œ 

๊ณ ์ฐจ์›์˜ ๊ณต๊ฐ„์—์„œ ๋ชจ๋“  ์ถ•์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์˜ค๋ชฉํ•œ ํ˜•ํƒœ๊ฐ€ ํ˜•์„ฑ๋  ํ™•๋ฅ ์€ ๊ฑฐ์˜ 0์— ๊ฐ€๊น๋‹ค. ๋”ฐ๋ผ์„œ, ๊ณ ์ฐจ์›์˜ ๊ณต๊ฐ„์—์„œ ๋Œ€๋ถ€๋ถ„์˜ critical point๋Š” local minima๊ฐ€ ์•„๋‹ˆ๋ผ saddle point๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๊ณ ์ฐจ์›์˜ ๊ณต๊ฐ„์—์„œ ์„ค๋ น local minima๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค ํ•˜๋”๋ผ๋„ ์ด๋Š” global minimum์ด๊ฑฐ๋‚˜ ๋˜๋Š” global minimum๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ์ˆ˜์ค€์˜ ์—๋Ÿฌ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. ์™œ๋ƒํ•˜๋ฉด, critical point์— ํฌํ•จ๋œ ์œ„๋กœ ๋ณผ๋ก์ธ ๋ฐฉํ–ฅ ์ถ•์˜ ๋น„์œจ์ด ํฌ๋ฉด ํด์ˆ˜๋ก ๋†’์€ ์—๋Ÿฌ๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.(์‹คํ—˜์  ๊ฒฐ๊ณผ) local minima๋Š” ์œ„๋กœ ๋ณผ๋ก์ธ ๊ฒฝ์šฐ๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋งค์šฐ ๋‚ฎ์€ ์—๋Ÿฌ๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.


์ถ”๊ฐ€์ž๋ฃŒ) Local minima

Local minima ๋ฌธ์ œ๋Š” ์—๋Ÿฌ๋ฅผ ์ตœ์†Œํ™”์‹œํ‚ค๋Š” ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์— ์žˆ์–ด์„œ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ณต๊ฐ„์— ์ˆ˜๋งŽ์€ ์ง€์—ญ์ ์ธ ํ™€(hole)๋“ค์ด ์กด์žฌํ•˜์—ฌ ์ด๋Ÿฌํ•œ local minima์— ๋น ์งˆ ๊ฒฝ์šฐ ์ „์—ญ์ ์ธ ํ•ด(global minimum)๋ฅผ ์ฐพ๊ธฐ ํž˜๋“ค๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์ผ์ปซ๋Š”๋‹ค.


Critical point, Saddle point, Local minima


  • critical point: ์ผ์ฐจ ๋ฏธ๋ถ„์ด 0์ธ ์ง€์ ์ด๋‹ค. (local/global)minima, (local/global)maxima, saddle point๋ฅผ ๊ฐ€๋ฆฌํ‚ด
  • local minimum: ๋ชจ๋“  ๋ฐฉํ–ฅ์—์„œ ๊ทน์†Œ๊ฐ’์„ ๋งŒ์กฑํ•˜๋Š” ์ 
  • global minimum: ๋ชจ๋“  ๋ฐฉํ–ฅ์—์„œ ๊ทน์†Œ๊ฐ’์„ ๋งŒ์กฑํ•˜๋Š” ์  ์ค‘์— ๊ฐ€์žฅ ๊ฐ’์ด ์ž‘์€ ์ (์ •๋‹ต)
  • saddle point: ์–ด๋Š ๋ฐฉํ–ฅ์—์„œ ๋ณด๋ฉด ๊ทน๋Œ€๊ฐ’์ด์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์—์„œ ๋ณด๋ฉด ๊ทน์†Œ๊ฐ’์ด ๋˜๋Š” ์ 

References


#14-1

GD(Gradient Descent)๊ฐ€ Local Minima ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์€?

Local minima ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” Momentum, Nesterov Accelerated Gradient(NAG), Adagrad, Adadelta, RMSprop, Adam ๋“ฑ์ด ์žˆ๋‹ค.

SGD๋Š” Stochastic Gradient Descent์œผ๋กœ, ํ•˜๋‚˜ ํ˜น์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•œ ํ›„์— ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ง€ ์ •ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ๋ฐฉ์‹์ด๋‹ค.

Momentum์ด๋ž€ ๊ด€์„ฑ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด์ „ gradient์˜ ๋ฐฉํ–ฅ์„ฑ์„ ๋‹ด๊ณ ์žˆ๋Š” momentum ์ธ์ž๋ฅผ ํ†ตํ•ด ํ๋ฅด๋˜ ๋ฐฉํ–ฅ์„ ์–ด๋Š ์ •๋„ ์œ ์ง€์‹œ์ผœ local minima์— ๋น ์ง€์ง€ ์•Š๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ฆ‰, ๊ด€์„ฑ์„ ์ด์šฉํ•˜์—ฌ, ํ•™์Šต ์†๋„๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ํ•˜๊ณ , ๋ณ€๊ณก์ ์„ ์ž˜ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.


Nesterov Accelerated Gradient(NAG) ๋Š” ๋ชจ๋ฉ˜ํ…€๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” Look-ahead gradient ์ธ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ, ๋ผ๋Š” accumulate gradient๊ฐ€ gradient๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋ชจ๋ฉ˜ํ…€๊ณผ ๋‹ค๋ฅธ ์ ์€, ๋ฏธ๋ฆฌ ํ•œ ์Šคํ…์„ ์˜ฎ๊ฒจ๊ฐ€๋ณธ ํ›„์— ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ์ง€ ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.


  • Momentum vs. NAG

Adagrad๋ž€ ๋‰ด๋Ÿด๋„ท์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งŽ์ด ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ์ ๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ ๊ฒŒ ๋ณ€ํ•œ๊ฑด ๋” ํฌ๊ฒŒ ๋ณ€ํ•˜๊ฒŒ ํ•˜๊ณ , ํฌ๊ฒŒ ๋ณ€ํ•œ๊ฑด ๋” ์ž‘๊ฒŒ ๋ณ€ํ™”์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. Adagrad๋Š” sum of gradient squares( )๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด๋Š” ๊ทธ๋ž˜๋””์–ธํŠธ๊ฐ€ ์–ผ๋งŒํผ ๋ณ€ํ–ˆ๋Š”์ง€๋ฅผ ์ œ๊ณฑํ•ด์„œ ๋”ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ณ„์† ์ปค์ง„๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ฐ€ ๊ณ„์† ์ปค์ง€๋ฉด ๋ถ„๋ชจ๊ฐ€ ์ ์  ๋ฌดํ•œ๋Œ€์— ๊ฐ€๊นŒ์›Œ์ง€๊ฒŒ ๋˜์–ด, ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์ง€ ์•Š๊ฒŒ ๋˜์–ด, ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ํ•™์Šต์ด ์ ์  ์•ˆ๋˜๋Š” ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•œ๋‹ค.


Adadelta๋Š” Exponential Moving Average(EMA)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, Adagrad์˜ ๊ฐ€ ๊ณ„์† ์ปค์ง€๋Š” ํ˜„์ƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. EMA๋Š” ํ˜„์žฌ ํƒ€์ž„์Šคํ…์œผ๋กœ๋ถ€ํ„ฐ ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋งŒํผ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€ํ™”(๊ทธ๋ž˜๋””์–ธํŠธ ์ œ๊ณฑ์˜ ๋ณ€ํ™”)๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š”๋ฐ, ์ด์ „์˜ ๊ฐ’์„ ๋ชจ๋‘ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์ด์ „ ๋ณ€ํ™”๋Ÿ‰์— ํŠน์ • ๋น„์œจ์„ ๊ณฑํ•ด ๋”ํ•œ ์ธ์ž๋ฅผ ๋”ฐ๋กœ ๋‘๋Š” ๋ฐฉ์‹์ด๋‹ค. Adadelta๋Š” learning rate๊ฐ€ ์—†๋‹ค.


Momentum์˜ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋ฉ˜ํ…€์˜ ์ˆ˜์‹์„ ์ ์–ด ๋ณธ๋‹ค๋ฉด? ์ฐธ๊ณ 
SGD, RMSprop, Adam์— ๋Œ€ํ•œ ์„ค๋ช…์€ SGD, RMSprop, Adam์— ๋Œ€ํ•ด์„œ ์•„๋Š”๋Œ€๋กœ ์„ค๋ช…ํ•œ๋‹ค๋ฉด? ์ฐธ๊ณ 

References


#14-2

์ฐพ์€ ํ•ด๊ฐ€ Global Minimum์ธ์ง€ ์•„๋‹Œ์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€?

Gradient Descent ๋ฐฉ์‹์—์„œ lacal minima์— ๋„๋‹ฌํ•จ์€ ์ฆ๋ช…๋˜์–ด์žˆ์œผ๋‚˜, global minima์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ๋ณด์žฅ๋˜์ง€ ์•Š์•˜๋‹ค. ๋˜ํ•œ, ํ˜„์žฌ ์ง€์ ์ด global minima์ธ์ง€๋„ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋”ฅ๋Ÿฌ๋‹์—์„œ ๋‹ค๋ฃจ๋Š” ๋ฌธ์ œ๊ฐ€ convexity๋ฅผ ๋งŒ์กฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋Œ€์‹ , local minima๋ฅผ ์ฐพ๋Š”๋‹ค๋ฉด, ๊ทธ ์ง€์ ์ด ๊ณง global minima์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๋‹ค. Local Minima ๋ฌธ์ œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋”ฅ๋Ÿฌ๋‹์ด ์ž˜ ๋˜๋Š” ์ด์œ ๋Š”?์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ, saddle point๊ฐ€ ์•„๋‹Œ ์™„์ „ํ•œ local minimum์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ํฌ๊ท€ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๋ฐฉํ–ฅ์—์„œ ์•„๋ž˜๋กœ ๋ณผ๋ก์ธ local minima๋ฅผ ๋ฐœ๊ฒฌํ•œ๋‹ค๋ฉด, ๊ทธ ์ง€์ ์ด ๋ฐ”๋กœ global minima์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

References


#15

Training ์„ธํŠธ์™€ Test ์„ธํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ๋Š”?

๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์˜ˆ์ธก๊ฐ’์„ ๋งŒ๋“ค๊ณ  ์ •๋‹ต๊ณผ ๋น„๊ตํ•˜๋ฉฐ ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ํ•™์Šต์ด ๋œ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ธ๋‹ค ํ•˜๋”๋ผ๋„ ๋ณธ ์  ์—†๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•˜๋Š” ์˜ค๋ฒ„ํ”ผํŒ… ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ์ข‹์€ ๋ชจ๋ธ์ด ์•„๋‹ˆ๋‹ค.

์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ํ•™์Šต๋œ ๋ชจ๋ธ์ด ์ฒ˜์Œ ๋ณด๋Š” ๋ฐ์ดํ„ฐ์—๋„ ๊ฐ•๊ฑดํ•˜๊ฒŒ ์„ฑ๋Šฅ์„ ๋‚ด๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ test ์„ธํŠธ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ ๋‹ค.

References


#15-1

Validation ์„ธํŠธ๊ฐ€ ๋”ฐ๋กœ ์žˆ๋Š” ์ด์œ ๋Š”?

๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  test ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ํŒŒ์•…ํ•˜๊ณ , ๋‹ค์‹œ ๋ชจ๋ธ์— ์ƒˆ๋กœ์šด ์‹œ๋„๋ฅผ ํ•˜๊ณ  test ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํŒŒ์•…ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

์ด ๊ฒฝ์šฐ, ๋ชจ๋ธ์€ ๊ฒฐ๊ตญ test ๋ฐ์ดํ„ฐ์—๋„ ์˜ค๋ฒ„ํ”ผํŒ…์ด ๋˜์–ด ๋‹ค์‹œ ์ฒ˜์Œ ๋ณด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋ฉด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด validation ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. validation ์„ธํŠธ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๊ณ  ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ฆ‰, train ๋ฐ์ดํ„ฐ๋กœ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  valid ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต๋œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ํ•˜๊ณ  ๋” ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋ธ์„ ์ˆ˜์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ธ๋กœ test ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์ตœ์ข… ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•œ๋‹ค.

References


#15-2

Test ์„ธํŠธ๊ฐ€ ์˜ค์—ผ๋˜์—ˆ๋‹ค๋Š” ๋ง์˜ ๋œป์€?

test ๋ฐ์ดํ„ฐ๋Š” ํ•œ ๋ฒˆ๋„ ํ•™์Šต์—์„œ ๋ณธ ์  ์—†๋Š” ๋ฐ์ดํ„ฐ์—ฌ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ train ๋ฐ์ดํ„ฐ๊ฐ€ test ๋ฐ์ดํ„ฐ์™€ ํก์‚ฌํ•˜๊ฑฐ๋‚˜ ํฌํ•จ๋˜๊ธฐ๊นŒ์ง€ํ•œ๋‹ค๋ฉด test ๋ฐ์ดํ„ฐ๋Š” ๋”์ด์ƒ ํ•™์Šต๋œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ๊ฐ๊ด€์ ์œผ๋กœ ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์ด๋ ‡๋“ฏ test ๋ฐ์ดํ„ฐ๊ฐ€ train ๋ฐ์ดํ„ฐ์™€ ์œ ์‚ฌํ•˜๊ฑฐ๋‚˜ ํฌํ•จ๋œ ๊ฒฝ์šฐ์— test ์„ธํŠธ๊ฐ€ ์˜ค์—ผ๋˜์—ˆ๋‹ค๊ณ  ๋งํ•œ๋‹ค.

References


#15-3

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

๋ชจ๋ธ์˜ ์˜ค๋ฒ„ํ”ผํŒ…์„ ๋ง‰๊ณ  ์ฒ˜์Œ ๋ณด๋Š” ๋ฐ์ดํ„ฐ์—๋„ ์ž˜ ์˜ˆ์ธกํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ Regularization(์ผ๋ฐ˜ํ™”)๋ผ๊ณ  ํ•œ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ dropout, L1-L2 Regularization ๋“ฑ์ด ์žˆ๋‹ค. 6๋ฒˆ ์ฐธ๊ณ 


#16

Batch Normalization์˜ ํšจ๊ณผ๋Š”?


๋ฐฐ์น˜ ์ •๊ทœํ™”(Batch Normalization) ์ˆ˜์‹

๋ฐฐ์น˜ ์ •๊ทœํ™”(Batch Normalization)์€ ํ•™์Šต ์‹œ ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ๋‹จ์œ„๋กœ ์ž…๋ ฅ์˜ ๋ถ„ํฌ๊ฐ€ ํ‰๊ท ์ด 0, ๋ถ„์‚ฐ์ด 1์ด ๋˜๋„๋ก ์ •๊ทœํ™”ํ•œ๋‹ค. ๋”๋ถˆ์–ด ๋กœ ์Šค์ผ€์ผ๊ณผ ๋กœ ์ด๋™ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฐฐ์น˜ ์ •๊ทœํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

  • ์žฅ์  1 ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค/ํญ๋ฐœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์–ด ํฐ ํ•™์Šต๋ฅ ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด ํ•™์Šต์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค.
  • ์žฅ์  2 ํ•ญ์ƒ ์ž…๋ ฅ์„ ์ •๊ทœํ™”์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ค‘์น˜ ์ดˆ๊นƒ๊ฐ’์— ํฌ๊ฒŒ ์˜์กดํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • ์žฅ์  3 ์ž์ฒด์ ์ธ ๊ทœ์ œ(Regularization) ํšจ๊ณผ๊ฐ€ ์žˆ์–ด Dropout์ด๋‚˜ Weight Decay์™€ ๊ฐ™์€ ๊ทœ์ œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

References


#16-1

Dropout์˜ ํšจ๊ณผ๋Š”?


๋“œ๋กญ์•„์›ƒ(Dropout)์€ ์„ค์ •๋œ ํ™•๋ฅ  ๋งŒํผ ์€๋‹‰์ธต(hidden layer)์— ์žˆ๋Š” ๋‰ด๋Ÿฐ์„ ๋ฌด์ž‘์œ„๋กœ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์˜ค๋ฒ„ํ”ผํŒ…์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. (์ •ํ™•ํžˆ๋Š” ์ถœ๋ ฅ์„ 0์œผ๋กœ ๋งŒ๋“ค์–ด ๋”์ด์ƒ์˜ ์ „ํŒŒ๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.) ๋“œ๋กญ์•„์›ƒ(Dropout)์€ ํ•™์Šต ๋•Œ๋งˆ๋‹ค ๋ฌด์ž‘์œ„๋กœ ๋‰ด๋Ÿฐ์„ ์ œ๊ฑฐํ•˜๋ฏ€๋กœ ๋งค๋ฒˆ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ถ”๋ก  ์‹œ ์ถœ๋ ฅ์— ์ œ๊ฑฐ ํ™•๋ฅ  ๋ฅผ ๊ณฑํ•จ์œผ๋กœ์จ ์•™์ƒ๋ธ” ํ•™์Šต์—์„œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์˜ ํ‰๊ท ์„ ๋‚ด๋Š” ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

References


#16-2

BN ์ ์šฉํ•ด์„œ ํ•™์Šต ์ดํ›„ ์‹ค์ œ ์‚ฌ์šฉ์‹œ์— ์ฃผ์˜ํ•  ์ ์€? ์ฝ”๋“œ๋กœ๋Š”?

ํ•™์Šต ๊ณผ์ •์—์„œ๋Š” ๋ฏธ๋‹ˆ ๋ฐฐ์น˜์˜ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐฐ์น˜ ์ •๊ทœํ™”๋ฅผ ์ ์šฉํ•˜์ง€๋งŒ, ์ถ”๋ก  ์‹œ์—๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ ์ „์ฒด์— ๋Œ€ํ•œ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ ์šฉ์„ ํ•ด์•ผ ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๋ฐฐ์น˜์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ถ”๋ก  ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€ํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

References


#16-3

GAN์—์„œ Generator ์ชฝ์—๋„ BN์„ ์ ์šฉํ•ด๋„ ๋ ๊นŒ?

์ผ๋ฐ˜์ ์œผ๋กœ GAN์—์„œ๋Š” ์ƒ์„ฑ๊ธฐ(Generator)์˜ ์ถœ๋ ฅ์ธต(Output Layer)์—๋งŒ BN(Batch Normalization)์„ ์ ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ƒ์„ฑ๊ธฐ๊ฐ€ ๋งŒ๋“  ์ด๋ฏธ์ง€๊ฐ€ BN์„ ์ง€๋‚˜๋ฉด ์‹ค์ œ ์ด๋ฏธ์ง€์™€๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

References


#17

SGD, RMSprop, Adam์— ๋Œ€ํ•ด์„œ ์•„๋Š”๋Œ€๋กœ ์„ค๋ช…ํ•œ๋‹ค๋ฉด?

SGD

Loss Function์„ ๊ณ„์‚ฐํ•  ๋•Œ ์ „์ฒด train set์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ Batch Gradient Descent ๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐ์„ ํ•  ๊ฒฝ์šฐ ํ•œ๋ฒˆ step์„ ๋‚ด๋”›์„ ๋•Œ ์ „์ฒด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด Loss Function์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋„ˆ๋ฌด ๋งŽ์€ ๊ณ„์‚ฐ๋Ÿ‰์ด ํ•„์š”ํ•˜๋‹ค.

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ณดํ†ต์€ Stochastic Gradient Descent(SGD)๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ด ๋ฐฉ๋ฒ•์—์„œ๋Š” loss function์„ ๊ณ„์‚ฐํ•  ๋•Œ ์ „์ฒด ๋ฐ์ดํ„ฐ(batch) ๋Œ€์‹  ๋ฐ์ดํ„ฐ ํ•œ ๊ฐœ ๋˜๋Š” ์ผ๋ถ€ ์กฐ๊ทธ๋งˆํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ(mini-batch)์— ๋Œ€ํ•ด์„œ๋งŒ loss function์„ ๊ณ„์‚ฐํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ํ•œ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ Stochastic Gradient Descent(SGD), ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€(mini-batch)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ mini-batch Stochastic Gradient Descent(mini-batch SGD)๋ผ๊ณ  ํ•˜์ง€๋งŒ ์˜ค๋Š˜๋‚ ์˜ ๋”ฅ๋Ÿฌ๋‹์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ต์šฉ๋˜๋Š” SGD๋Š” mini-batch SGD์ด๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ batch gradient descent ๋ณด๋‹ค ๋‹ค์†Œ ๋ถ€์ •ํ™•ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ํ›จ์”ฌ ๊ณ„์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ์‹œ๊ฐ„์— ๋” ๋งŽ์€ step์„ ๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•  ๊ฒฝ์šฐ ๋ณดํ†ต batch์˜ ๊ฒฐ๊ณผ์™€ ์œ ์‚ฌํ•œ ๊ฒฐ๊ณผ๋กœ ์ˆ˜๋ ดํ•œ๋‹ค.

๋˜ํ•œ, SGD๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ Batch Gradient Descent์—์„œ ๋น ์งˆ local minima์— ๋น ์ง€์ง€ ์•Š๊ณ  ๋” ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜๋ ดํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ๋‹ค.

RMSprop

RMSProp์€ ๋”ฅ๋Ÿฌ๋‹์˜ ๋Œ€๊ฐ€ ์ œํ”„๋ฆฌ ํžŒํ†ค์ด ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ์„œ, Adagrad์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

Adagrad์˜ ์‹์—์„œ gradient์˜ ์ œ๊ณฑ๊ฐ’์„ ๋”ํ•ด๋‚˜๊ฐ€๋ฉด์„œ ๊ตฌํ•œ ๋ถ€๋ถ„์„ ํ•ฉ์ด ์•„๋‹ˆ๋ผ ์ง€์ˆ˜ํ‰๊ท ์œผ๋กœ ๋ฐ”๊พธ์–ด์„œ ๋Œ€์ฒดํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋Œ€์ฒด๋ฅผ ํ•  ๊ฒฝ์šฐ Adagrad์ฒ˜๋Ÿผ ๊ฐ€ ๋ฌดํ•œ์ • ์ปค์ง€์ง€๋Š” ์•Š์œผ๋ฉด์„œ ์ตœ๊ทผ ๋ณ€ํ™”๋Ÿ‰์˜ ๋ณ€์ˆ˜๊ฐ„ ์ƒ๋Œ€์ ์ธ ํฌ๊ธฐ ์ฐจ์ด๋Š” ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.


Adam

Adam(Adaptive Moment Estimation)์€ RMSProp๊ณผ Momentum ๋ฐฉ์‹์„ ํ•ฉ์นœ ๊ฒƒ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

์ด ๋ฐฉ์‹์—์„œ๋Š” Momentum ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ง€๊ธˆ๊นŒ์ง€ ๊ณ„์‚ฐํ•ด์˜จ ๊ธฐ์šธ๊ธฐ์˜ ์ง€์ˆ˜ํ‰๊ท ์„ ์ €์žฅํ•˜๋ฉฐ, RMSProp๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ธฐ์šธ๊ธฐ์˜ ์ œ๊ณฑ๊ฐ’์˜ ์ง€์ˆ˜ํ‰๊ท ์„ ์ €์žฅํ•œ๋‹ค.


๋‹ค๋งŒ, Adam์—์„œ๋Š” m๊ณผ v๊ฐ€ ์ฒ˜์Œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต์˜ ์ดˆ๋ฐ˜๋ถ€์—์„œ๋Š” , ๊ฐ€ 0์— ๊ฐ€๊น๊ฒŒ bias ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ด๋ฅผ unbiased ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ž‘์—…์„ ๊ฑฐ์นœ๋‹ค.

์™€

์˜ ์‹์„ โˆ‘ ํ˜•ํƒœ๋กœ ํŽผ์นœ ํ›„ ์–‘๋ณ€์— expectation์„ ์”Œ์›Œ์„œ ์ •๋ฆฌํ•ด๋ณด๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณด์ •์„ ํ†ตํ•ด unbiased ๋œ expectation์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ๋ณด์ •๋œ expectation๋“ค์„ ๊ฐ€์ง€๊ณ  gradient๊ฐ€ ๋“ค์–ด๊ฐˆ ์ž๋ฆฌ์— , ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ž๋ฆฌ์— ๋ฅผ ๋„ฃ์–ด ๊ณ„์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค.


References


#17-1

SGD์—์„œ Stochastic์˜ ์˜๋ฏธ๋Š”?

SGD๋Š” Loss Function์„ ๊ณ„์‚ฐํ•  ๋•Œ ์ „์ฒด train dataset์„ ์‚ฌ์šฉํ•˜๋Š” Batch Gradient Descent์™€ ๋‹ค๋ฅด๊ฒŒ ์ผ๋ถ€ ์กฐ๊ทธ๋งˆํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์Œ(mini-batch)์— ๋Œ€ํ•ด์„œ๋งŒ loss function์„ ๊ณ„์‚ฐํ•œ๋‹ค.

Stochastic์€ mini-batch๊ฐ€ ์ „์ฒด train dataset์—์„œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

References


#17-2

๋ฏธ๋‹ˆ๋ฐฐ์น˜๋ฅผ ์ž‘๊ฒŒ ํ• ๋•Œ์˜ ์žฅ๋‹จ์ ์€?

  • ์žฅ์ 

    • ํ•œ iteration์˜ ๊ณ„์‚ฐ๋Ÿ‰์ด ์ ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— step ๋‹น ์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค.
    • ์ ์€ Graphic Ram์œผ๋กœ๋„ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋‹จ์ 

    • ๋ฐ์ดํ„ฐ ์ „์ฒด์˜ ๊ฒฝํ–ฅ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ญ์ƒ ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ํ•˜์ง€๋งŒ์€ ์•Š๋Š”๋‹ค.

batch size์— ๊ด€๋ จ๋œ ๋…ผ๋ฌธ์€ Batch Size in Deep Learning - hyeonseob ์ฐธ๊ณ 

References


#17-3

๋ชจ๋ฉ˜ํ…€์˜ ์ˆ˜์‹์„ ์ ์–ด ๋ณธ๋‹ค๋ฉด?

Momentum ๋ฐฉ์‹์€ ๋ง ๊ทธ๋Œ€๋กœ Gradient Descent๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๊ณผ์ •์— ์ผ์ข…์˜ ๊ด€์„ฑ์„ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

ํ˜„์žฌ Gradient๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๋ฐฉํ–ฅ๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ, ๊ณผ๊ฑฐ์— ์ด๋™ํ–ˆ๋˜ ๋ฐฉ์‹์„ ๊ธฐ์–ตํ•˜๋ฉด์„œ ๊ทธ ๋ฐฉํ–ฅ์œผ๋กœ ์ผ์ • ์ •๋„๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

: time step t์—์„œ์˜ ์ด๋™ ๋ฒกํ„ฐ



์ด ๋•Œ,

๋Š” ์–ผ๋งˆ๋‚˜ momentum์„ ์ค„ ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ momentum term์ด๋‹ค.

References


#18

๊ฐ„๋‹จํ•œ MNIST ๋ถ„๋ฅ˜๊ธฐ๋ฅผ MLP+CPU ๋ฒ„์ „์œผ๋กœ numpy๋กœ ๋งŒ๋“ ๋‹ค๋ฉด ๋ช‡์ค„์ผ๊นŒ?

2-layer ์‹ ๊ฒฝ๋ง์„ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, 100์ค„ ์ด๋‚ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

References


#18-1

์–ด๋Š ์ •๋„ ๋Œ์•„๊ฐ€๋Š” ๋…€์„์„ ์ž‘์„ฑํ•˜๊ธฐ๊นŒ์ง€ ๋ช‡์‹œ๊ฐ„ ์ •๋„ ๊ฑธ๋ฆด๊นŒ?

๊ฐ„๋‹จํ•œ MNIST ๋ถ„๋ฅ˜๊ธฐ๋ฅผ MLP+CPU ๋ฒ„์ „์œผ๋กœ numpy๋กœ ๋งŒ๋“ , ์ฐธ๊ณ  ์ฝ”๋“œ(deeplearning_from_scratch - youbeebee)์˜ ๊ฒฝ์šฐ, 15 ์—ํญ ๊ธฐ์ค€ 0.9 ์ด์ƒ์˜ ์ •ํ™•๋„๊ฐ€ ๋‚˜์˜จ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด 100์ค„ ๊ฐ€๋Ÿ‰์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์‚ฌ๋žŒ๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ, ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํžˆ ์•Œ๊ณ ์žˆ๋‹ค๋ฉด ์˜ค๋ž˜๊ฑธ๋ ค๋„ 30๋ถ„ ๋‚ด์—๋Š” ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ pretrain๋˜์ง€ ์•Š์€ ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ, ํ•™์Šต์‹œ๊ฐ„์ด ๊ฝค ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•œ๋‹ค.

References


#18-2

Back Propagation์€ ๋ช‡์ค„์ธ๊ฐ€?

์ฐธ๊ณ  ์ฝ”๋“œ(๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์ ์šฉ) ๊ธฐ์ค€์œผ๋กœ 10์ค„์ด๋ฉด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. gradient_descent ํ•จ์ˆ˜๋ฅผ ๊ฐ ๋ ˆ์ด์–ด๋ณ„๋กœ ์ ์šฉํ•˜๋ฉด ๋ฏธ๋ถ„๊ฐ’์„ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

# ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•จ
def numerical_gradient(f, x):
    h = 1e-4
    grad = np.zeros_like(x)  # x์™€ ํ˜•์ƒ์ด ๊ฐ™์€ ๋ฐฐ์—ด์„ ์ƒ์„ฑ

    for idx in range(x.size):
        tmp_val = x[idx]
        # f(x+h) ๊ณ„์‚ฐ
        x[idx] = tmp_val + h
        fxh1 = f(x)

        # f(x-h) ๊ณ„์‚ฐ
        x[idx] = tmp_val - h
        fxh2 = f(x)

        grad[idx] = (fxh1 - fxh2) / (2 * h)
        x[idx] = tmp_val  # ๊ฐ’ ๋ณต์›

    return grad

for key in ('W1', 'b1', 'W2', 'b2'):
    network.params[key] -= learning_rate * grad[key]

References


#18-3

CNN์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ์ถ”๊ฐ€๋ ๊นŒ?

filter์˜ ์ˆ˜, ํฌ๊ธฐ, padding, stride ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ๊ณผ pooling layer๋“ฑ ๋ ˆ์ด์–ด์— ๊ด€ํ•œ ์ •์˜๊ฐ€ ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ์•ฝ 50์ค„ ์ •๋„ ์ถ”๊ฐ€๋œ๋‹ค.

MLP ๋ฒ„์ „๊ณผ CNN ๋ฒ„์ „์˜ ์ฐธ๊ณ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

References


#19

๊ฐ„๋‹จํ•œ MNIST ๋ถ„๋ฅ˜๊ธฐ๋ฅผ TF, PyTorch ๋“ฑ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ช‡์‹œ๊ฐ„์ด ํ•„์š”ํ•œ๊ฐ€?

TF ๋‚˜ Pytorch ๋ฅผ ๋ช‡ ๋ฒˆ ์‚ฌ์šฉํ•ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋„ํ๋จผํŠธ ์ฐธ๊ณ ๋„ ํ•˜๊ณ  ์ ๋‹นํžˆ ๊ตฌ๊ธ€๋ง๋„ ํ•˜๋ฉด, MNIST ๋ถ„๋ฅ˜๊ธฐ์˜ ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ, ๋ฐ์ดํ„ฐ์…‹, ๋ฐ์ดํ„ฐ๋กœ๋”, ๋ชจ๋ธ ์„ธํŒ…, ํ•™์Šต, ์ถ”๋ก  ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ 2์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.

๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋ชจ๋ธ๋„ ์ด๋Ÿฌํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ๊ตฌํ˜„ํ•ด๋‚ผ ์ˆ˜ ์žˆ์Œ์— ๊ฐ์‚ฌํ•˜๊ณ , ์ถ”์ƒํ™”๊ฐ€ ์ž˜ ๋œ ํ•จ์ˆ˜๋“ค์ผ์ง€๋ผ๋„ ์•ˆ์—์„œ๋Š” ์–ด๋–ค ๋™์ž‘์„ ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.


#19-1

CNN์ด ์•„๋‹Œ MLP๋กœ ํ•ด๋„ ์ž˜ ๋ ๊นŒ?

Convolution ๋ ˆ์ด์–ด๋Š” receptive field ๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ ์œ„์น˜ ์ •๋ณด๊นŒ์ง€ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

๋ฐ˜๋ฉด MLP ๋Š” ๋ชจ๋‘ Fully connected ๊ตฌ์กฐ์ด๋ฏ€๋กœ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ดํ•ดํ•˜๋Š”๋ฐ ํ”ฝ์…€๋งˆ๋‹ค ์œ„์น˜๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์—†๊ฒŒ๋œ๋‹ค.

๋”ฐ๋ผ์„œ MNIST ๋ถ„๋ฅ˜๊ธฐ์—์„œ MLP ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CNN ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ๋‹ค.


#19-2

๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์„ค๋ช… ํ•œ๋‹ค๋ฉด?

MNIST ๋ถ„๋ฅ˜๊ธฐ๋Š” Convolution ๋ ˆ์ด์–ด๋ฅผ ๊นŠ๊ฒŒ ์Œ“์œผ๋ฉฐ ์ˆซ์ž ์ด๋ฏธ์ง€์˜ ์ž‘์€ ํŠน์ง•๋ถ€ํ„ฐ ํฐ ํŠน์ง•๊นŒ์ง€ ํŒŒ์•…ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด, Fully connected ๋ ˆ์ด์–ด๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ์ทจํ•ฉํ•˜์—ฌ 10๊ฐœ์˜ ์ˆซ์ž ์ค‘ ์ ์ ˆํ•œ ์ˆซ์ž๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๋งŒ์•ฝ ๋” ๋งŽ์€ ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•ด ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์˜ out dimension ์„ ๊ทธ์— ๋งž๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.


#19-3

ํ•™์Šต์€ BCE loss๋กœ ํ•˜๋˜ ์ƒํ™ฉ์„ MSE loss๋กœ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด?

train ๊ณผ์ •์—์„œ criterion ์€ BinaryCrossEntropy ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , valid ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ valid loss ๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” MeanSquaredLoss ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


#20

๋”ฅ๋Ÿฌ๋‹ํ•  ๋•Œ GPU๋ฅผ ์“ฐ๋ฉด ์ข‹์€ ์ด์œ ๋Š”?

GPU(Graphics Processing Unit)์€ ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋งŽ์€ ์ฝ”์–ด๊ฐ€ ์žˆ์–ด ์ˆ˜ ๋งŽ์€ ์—ฐ์‚ฐ์„ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ CPU๋ณด๋‹ค ๋” ํฐ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ(Memory Bandwidth)๋ž€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ดˆ๋‹น ๋ฐ์ดํ„ฐ์–‘์„ ๋œปํ•œ๋‹ค.

References


#20-1

GPU๋ฅผ ๋‘๊ฐœ ๋‹ค ์“ฐ๊ณ  ์‹ถ๋‹ค. ๋ฐฉ๋ฒ•์€?

Pytorch์˜ ๊ฒฝ์šฐ torch.nn.DataParallel์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ GPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • torch.device๋ฅผ cuda๋กœ ์„ค์ •ํ•œ๋‹ค.
  • nn.DataParallel์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๊ฐ์‹ผ๋‹ค.
  • ๋ชจ๋ธ์„ model.to(device)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GPU๋กœ ๋ณด๋‚ธ๋‹ค.

References


#20-2

ํ•™์Šต์‹œ ํ•„์š”ํ•œ GPU ๋ฉ”๋ชจ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š”๊ฐ€?

Pytorch๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณผ ๋•Œ something.to('cuda')๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋œ๋‹ค. ๋ณดํ†ต GPU๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์€ ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ์…‹์ด๋ฏ€๋กœ, (๋ชจ๋ธ์˜ ํฌ๊ธฐ + ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ร— ๋ฐฐ์น˜ ํฌ๊ธฐ)๋กœ ํ•™์Šต์‹œ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.