Published on

๐Ÿ“–STUDY ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ | 1๊ถŒ

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


1. ํผ์…‰ํŠธ๋ก 

ํ•˜๋‚˜์˜ ๋‰ด๋Ÿฐ์œผ๋กœ ์ž…๋ ฅ ์‹ ํ˜ธ โžก ์ถœ๋ ฅ ์‹ ํ˜ธ ๊ตฌ์กฐ๋ฅผ ์ง€๋‹˜
์ž…๋ ฅ ์‹ ํ˜ธ(xx)์—์„œ ์ถœ๋ ฅ ์‹ ํ˜ธ(yy) ์‚ฌ์ด ๊ฐ€์ค‘์น˜๊ฐ€ ๊ณฑํ•ด์ง y=xโˆ—wy=x*w

ํŠนํžˆ XOR ๊ฒŒ์ดํŠธ(๋ฒ ํƒ€์  ๋…ผ๋ฆฌํ•ฉ, ์ฆ‰, ์ž๊ธฐ์™ธ์—๋Š” ๋ชจ๋‘ ๊ฑฐ๋ถ€)๋Š” ์„ ํ˜•ํ•จ์ˆ˜๋กœ ํ‘œํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๋น„์„ ํ˜•ํ•จ์ˆ˜์˜ ํ˜•ํƒœ์ด๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ multi-layer perceptron์ด ๊ฐœ๋…์ด ๋‚˜ํƒ€๋‚ฌ๋‹ค.

XOR ๊ฒŒ์ดํŠธ๋Š” ๋‹จ์ผ ํผ์…‰ํŠธ๋ก ์ด ์•„๋‹Œ, NAND, OR โžก AND๋กœ ์ด์–ด์ง€๋Š” ๋‹ค์ค‘์ธต์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

2. ์‹ ๊ฒฝ๋ง

ํผ์…‰ํŠธ๋ก ์ด ํ•˜๋‚˜์˜ ๋‹จ์œ„๋ผ๋ฉด ์‹ ๊ฒฝ๋ง์€ ํผ์…‰ํŠธ๋ก (๋‰ด๋Ÿฐ, ๋…ธ๋“œ)๋“ค๋กœ ์—ฐ๊ฒฐ๋œ ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์ฒด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ตฌ์กฐ๋Š” ๋ณดํ†ต ์ž…๋ ฅ์ธต โžก ์€๋‹‰์ธต ์ถœ๋ ฅ์ถฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

ํผ์…‰ํŠธ๋ก ์€

  • ๊ฐ€์ค‘์น˜(weight)
  • ํŽธํ–ฅ(bias): ๋‰ด๋Ÿฐ์ด ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ํ™œ์„ฑํ™”๋˜๋Š” ์ง€ ์ œ์–ด

์ด๋Ÿฌํ•œ ์ž…๋ ฅ๊ฐ’ * ๊ฐ€์ค‘์น˜ + ํŽธํ–ฅ์œผ๋กœ ์–ป์€ ์ถœ๋ ฅ๊ฐ’์„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ ํ†ต๊ณผํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฒฐ๊ตญ์—๋Š” ์‹ ๊ฒฝ๋ง ํ•™์Šต์€ ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ํ•™์Šตํ•˜๋Š”์ง€๊ฐ€ ํฌ์ธํŠธ!

ํ™œ์„ฑํ™” ํ•จ์ˆ˜

ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ ์‹ ํ˜ธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐ ์˜์˜๊ฐ€ ์žˆ๋‹ค.

  • ์ž„๊ณ„๊ฐ’์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๋Š” ๊ณ„๋‹จ ํ•จ์ˆ˜ for ํผ์…‰ํŠธ๋ก 
  • ์„ ํ˜• ํ•จ์ˆ˜์ธ sigmoid ํ•จ์ˆ˜: 11+exp(โˆ’x)\frac{1}{1 + exp(-x)} for ์‹ ๊ฒฝ๋ง
  • ์ถœ๋ ฅ์ธต์—์„œ ํ™•๋ฅ ์„ ๋‚˜ํƒ€๋‚ด๋Š” softmax: exp(x)โˆ‘exp(x)\frac{exp(x)}{\sum_{exp(x)}}

โš  exp(x)=exexp(x) = e^x๋Š” ๋‹จ์กฐ ์ฆ๊ฐ€ ํ•จ์ˆ˜๋กœ overflow์˜ ์œ„ํ—˜์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์งˆ์ ์ธ ์ฝ”๋”ฉ์—์„œ๋Š” delta๋ฅผ ๋”ํ•ด์„œ ๊ณ„์‚ฐํ•œ๋‹ค.

def softmax(a):
    c = np.max(a) # for numerical stability
    exp_a = np.exp(a - c)
    sum_exp_a = np.sum(exp_a)
    y = exp_a / sum_exp_a
    return y

๋ฐฐ์น˜

์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ. ๋ฐฐ์น˜ ํฌ๊ธฐ๋งŒํผ ์ด๋™ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ›ˆ๋ จํ•œ๋‹ค.

3. ์‹ ๊ฒฝ๋ง ํ•™์Šต

์‹ ๊ฒฝ๋ง ํ•™์Šต์€ ๋ฐ์ดํ„ฐ ์ฃผ๋„ ํ•™์Šต์ด๋‹ค.

๋ฐ์ดํ„ฐ ์ฃผ๋„ ํ•™์Šต

๊ธฐ๊ณ„ ํ•™์Šต: ๋ฐ์ดํ„ฐ์—์„œ ํŒจํ„ด(feature)์„ ์ฐพ๊ณ  ๋‹ต์„ ์ฐพ๋Š”๊ณผ์ •, ์ด ๋•Œ ์‚ฌ๋žŒ์˜ ๊ฐœ์ž…์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋”ฅ๋Ÿฌ๋‹(end-to-end ML)์œผ๋กœ ์ด์–ด์ง

๋ฐ์ดํ„ฐ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์„œ ํ›ˆ๋ จํ•œ๋‹ค.

  • train data
  • test data: for ๋ฒ”์šฉ๋Šฅ๋ ฅ ํ‰๊ฐ€. ์ง€๋‚˜์น˜๊ฒŒ ์ตœ์ ํ™”, ์ฆ‰ ์˜ค๋ฒ„ํ”ผํŒ…์„ ์ง€์–‘ํ•˜๊ธฐ ์œ„ํ•จ.

์†์‹ค ํ•จ์ˆ˜

ํ•˜๋‚˜์˜ ์ง€ํ‘œ ๊ธฐ์ค€์œผ๋กœ ์ตœ์ ์˜ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํƒ์ƒ‰

  • ํ•˜๋‚˜์˜ ์ง€ํ‘œ = ์–ผ๋งˆ๋‚˜ ์ •๋‹ต์—์„œ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š”๊ฐ€? โžก ์ •ํ™•๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ

์†์‹ค ํ•จ์ˆ˜๋Š” ๋ฏธ๋ถ„(=๊ธฐ์šธ๊ธฐ)์„ ์ด์šฉํ•ด์„œ ๊ฐฑ์‹ ์„ ํ•œ๋‹ค. ์ด ๋•Œ ์†์‹คํ•จ์ˆ˜๋Š” ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์†์‹คํ•จ์ˆ˜ ์ด๋‹ค.

  • ์˜ค์ฐจ์ œ๊ณฑํ•ฉ: 12โˆ‘i=1(yiโˆ’y^i)2\frac{1}{2} \sum_{i=1}(y_i - \hat{y}_i)^2 โžก โˆ’1nโˆ‘i=1n(yiโˆ’y^i)2-\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2, n as batch size, i as classification num
  • cross entropy error: โˆ’โˆ‘i=1nyilogโก(y^i)-\sum_{i=1}^{n} y_i \log(\hat{y}_i): ์‹ค์ ฏ๊ฐ’์˜ ํ™•๋ฅ ๋ถ„ํฌ์™€ ์˜ˆ์ธก๊ฐ’์˜ ํ™•๋ฅ ๋ถ„ํฌ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•จ
class SimpleNet:
    def __init__(self):
        self.W = np.random.randn(2, 3)

    def predict(self, x):
        return np.dot(x, self.W)

    def loss(self, x, t):
        y = self.predict(x)
        return cross_entropy_error(softmax(y), t)

def f(W):
    return net.loss(x, t)

dW = numerical_gradient(f, net.W)

๐Ÿค” ์™œ ์ง€ํ‘œ๊ฐ€ ์ •ํ™•๋„๊ฐ€ ์•„๋‹Œ ์†์‹ค ํ•จ์ˆ˜์ผ๊นŒ? ๊ทธ๋ƒฅ ๋‹ต์— ๊ฐ€๊นŒ์šฐ๋ฉด 100 ์ด๋Ÿฐ์‹์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์•ˆ๋ ๊นŒ?

์ •ํ™•๋„๋กœ ์ง€ํ‘œ๋ฅผ ์‚ผ๊ฒŒ ๋˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์žฅ์†Œ์—์„œ 0์ด ๋˜์–ด๋ฒ„๋ฆผ. ์ฆ‰ ๋ฏธ์„ธํ•œ ์ฐจ์ด์—๋Š” ๋ฐ˜์‘์ด ์—†์œผ๋ฉฐ, ์„ค๋ น ์žˆ๋”๋ผ๋„ ๋ถˆ์—ฐ์†์ ์ธ ๊ฐ’(=๊ธฐ์šธ๊ธฐ๊ฐ€ 0)์œผ๋กœ ๋ฐ”๋€Œ์–ด์„œ ํ•™์Šต์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š์Œ.

๊ธฐ์šธ๊ธฐ

์‹ ๊ฒฝ๋ง ํ•™์Šต์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ = ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์†์‹ค ํ•จ์ˆ˜์˜ ์ถœ๋ ฅ๊ฐ’์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ

  • Stochastic Gradient Descent: ๊ทน์†Ÿ๊ฐ’์„ ์ฐพ์Œ โš  local optima as saddle point โžก ฮธtโˆ’ฮฑโˆ‡ฮธJ(ฮธ)\theta_t - \alpha \nabla_{\theta} J(\theta), alpha as learning rate, J as gradient

ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜

  1. ๋ฏธ๋‹ˆ ๋ฐฐ์น˜๋กœ ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜๋ฅผ ์ผ๋ถ€๋ฅผ ๊ทผ์‚ฌ์น˜๋กœ ํ•™์Šตํ•œ๋‹ค.(๐Ÿค”์ „์ฒด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์†์‹คํ•จ์ˆ˜ ๊ณ„์‚ฐ์€ ๋ฐฉ๋Œ€ํ•˜๋ฏ€๋กœ)
  2. ๊ธฐ์šธ๊ธฐ ์‚ฐ์ถœ: ๊ฐ€์ค‘์น˜์— ๋Œ€ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์†์‹ค ํ•จ์ˆ˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๊ฒŒ ๋ฐฉํ–ฅ์„ ์ œ์‹œ
  3. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐฑ์‹ 

4. ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ•(backpropagation)

์ˆœ์ „ํŒŒ(forward propagation): ์†์‹คํ•จ์ˆ˜ ๊ตฌํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ forward propagation, affine transform(ํ–‰๋ ฌ์˜ ๊ณฑ๊ณผ ํŽธํ–ฅ์˜ ํ•ฉ)์„ ๋”ฐ๋ฅธ๋‹ค.

์—ฐ์‡„๋ฒ•์น™(chain rule): ๊ตญ์†Œ์  ๊ณ„์‚ฐ(๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„ ์ƒ node ํ•˜๋‚˜์˜ ๊ณ„์‚ฐ) ๋ฐ ๋ฏธ๋ถ„์€ ์—ฐ์‡„๋ฒ•์น™์„ ๋”ฐ๋ฆ„

์—ฐ์‡„๋ฒ•์น™์€ ํ•ฉ์„ฑํ•จ์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•จ์ˆ˜ ๋ฏธ๋ถ„์˜ ๊ณฑ์œผ๋กœ ํ‘œํ˜„ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋กœ์จ ๋ฏธ๋ถ„๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ.

5. ํ•™์Šต ๊ด€๋ จ ๊ธฐ์ˆ ๋“ค

๋ชฉํ‘œ: ์ „ํŒŒ์˜ '๊ณ ๋ฅธ' ํ™•์‚ฐ์„ ์œ„ํ•จ

๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐฑ์‹ 

์ตœ์ ํ™”๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ โžก optimizer

  • SGD: ๋ฌธ์ œ์— ๋”ฐ๋ผ ๋น„ํšจ์œจ์ ์ด๋‹ค. ๋น„๋“ฑ๋ฐฉ์„ฑ(๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๊ธฐ์šธ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์ง)์—์„œ ๋น„ํšจ์œจ์ 
  • ๋ชจ๋ฉ˜ํ…€: ๋ฌผ๋ฆฌ๋Ÿ‰์„ ์ด์šฉ โžก ๊ฒฝ๋กœ ํƒ์ƒ‰์— ์žˆ์–ด์„œ ์ง€๊ทธ์žฌ๊ทธ๋ฅผ ๋œ ๊ทธ๋ฆฌ๊ณ  ํšจ์œจ์ . vt+1=ฮฒvtโˆ’ฮฑโˆ‡ฮธJ(ฮธ)v_{t+1} = \beta v_t - \alpha \nabla_{\theta} J(\theta) ฮธt+1=ฮธt+vt+1\theta_{t+1} = \theta_t + v_{t+1}
  • AdaGrad: learning rate decay โžก ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋งž๊ฒŒ ํ•™์Šต๋ฅ  ์กฐ์ •, ๋ฏธ๊ฐœ๋ณ€์ˆ˜์˜ ์›€์ง์ž„์ด ๋งŽ์„ ์ˆ˜๋ก(grad^2), ํ•™์Šต๋ฃฐ์„ ๋‚ฎ์ถค Gt=Gtโˆ’1+โˆ‡ฮธJ(ฮธ)โŠ™โˆ‡ฮธJ(ฮธ)G_t = G_{t-1} + \nabla_{\theta} J(\theta) \odot \nabla_{\theta} J(\theta) ฮธt+1=ฮธtโˆ’ฮฑGt+ฯตโŠ™โˆ‡ฮธJ(ฮธ)\theta_{t+1} = \theta_t - \frac{\alpha}{\sqrt{G_t + \epsilon}} \odot \nabla_{\theta} J(\theta)
  • Adam = momentum + Adagrad: ํŽธํ–ฅ๋„ ๋ณด์ •์ด ๋˜๋Š” ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

๊ฐ€์ค‘์น˜ ์ดˆ๊นƒ๊ฐ’ ์„ค์ •

  • weight decay: ํ•™์Šต๊ณผ์ •์—์„œ ๊ฐ€์ค‘์น˜์— ๋Œ€ํ•œ ์ •๊ทœํ™” ํšจ๊ณผ๋ฅผ ์ฃผ์–ด ํฐ ๊ฐ€์ค‘์น˜์— ๋Œ€ํ•ด์„œ ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€๊ณผํ•จ์œผ๋กœ์จ ์˜ค๋ฒ„ํ”ผํŒ…์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

๐Ÿค” ๊ฐ€์ค‘์น˜๋ฅผ ๋ณดํ†ต 0์œผ๋กœ ์„ค์ • ํ˜น์€ ๋™์ผํ•œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋ฉด?

๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ๊ฐ™์€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„ ํ•™์Šต์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ, ๋•Œ๋ฌธ์— ๋ณดํ†ต์€ ์ดˆ๊นƒ๊ฐ’์€ randomํ•˜๊ฒŒ ์ ์ ˆํ•œ ๋ถ„ํฌ์— ๋”ฐ๋ผ ๋ถ€์—ฌํ•œ๋‹ค.

์€๋‹‰์ธต ํ™œ์„ฑํ™”๊ฐ’ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•˜๋ฉด ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค ๋ฌธ์ œ๋กœ 0, 1๋กœ ์ถœ๋ ฅ๊ฐ’๋“ค์ด ์น˜์šฐ์ณ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ. ๊ฐ€์ค‘์น˜์— ๋Œ€ํ•œ ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ ๋‚ฎ์„ ์ˆ˜๋ก ํ‘œํ˜„๋ ฅ์ด ์ œํ•œ์ด ๋˜์–ด ๋‹ค์–‘ํ•˜๊ฒŒ ํ™•์‚ฐ์ด ๋ชป๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์ง€๋‹˜.

  • xavier ์ดˆ๊นƒ๊ฐ’: ์ด์ „ ๋…ธ๋“œ๊ฐ€ n๊ฐœ์ผ ๋•Œ 1n\frac{1}{\sqrt{n}}์ธ ํ‘œ์ค€ํŽธ์ฐจ ๋ถ„ํฌ ์‚ฌ์šฉ sigmoidํ•จ์ˆ˜์™€ ๊ฐ™์ด ํ™œ์„ฑํ™”ํ•จ์ˆ˜๊ฐ€ ์„ ํ˜•์ธ ๊ฒƒ์„ ์ „์ œ๋กœ ํ•จ.
  • He ์ดˆ๊นƒ๊ฐ’: ์ด์ „ ๋…ธ๋“œ๊ฐ€ n๊ฐœ์ผ ๋•Œ 2n\frac{\sqrt{2}}{\sqrt{n}}์ธ ํ‘œ์ค€ํŽธ์ฐจ ๋ถ„ํฌ ์‚ฌ์šฉ, ReLU

๋ฐฐ์น˜ ์ •๊ทœํ™”

ํ™•์‚ฐ์„ ๊ฐ•์ œํ•˜๋Š” ์—ญํ• .

  1. ํ•™์Šต ์†๋„ ๊ฐœ์„ 
  2. ์ดˆ๊นƒ๊ฐ’ ์˜์กด โฌ‡
  3. ์˜ค๋ฒ„ํ”ผํŒ… โฌ‡, dropout ํ•„์š”์„ฑ โฌ‡

๋ฏธ๋‹ˆ๋ฐฐ์น˜ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ๊ฐ’ ์ •๊ทœํ™”
๊ณ„์ธต๋งˆ๋‹ค ์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ์— ๊ณ ์œ ํ•œ ํ™•๋Œ€์™€ ์ด๋™ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰: y=ฮณx^+ฮฒy = \gamma\hat{x} + \beta

๋ฐ”๋ฅธ ํ•™์Šต์„ ์œ„ํ•ด

์˜ค๋ฒ„ํ”ผํŒ…์€ ๊ณผ์ ํ•ฉ์œผ๋กœ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ๊ฑฐ๋‚˜ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์กฑ์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐ€์ค‘์น˜ ๊ฐ์†Œ(weight decay): L2 norm์„ ๋”ฐ๋ฅธ๋‹ค
  • Dropout: ๋‰ด๋Ÿฐ์„ ์ž„์˜๋กœ ์‚ญ์ œํ•˜๋ฉด์„œ ํ•™์Šต, ์‹œํ—˜ ๋•Œ๋Š” ์‚ญ์ œ ์•ˆํ•œ ๋น„์œจ์„ ๊ณฑํ•œ๋‹ค.

์ ์ ˆํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ฐพ๊ธฐ

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” validation data๋กœ ๊ฒ€์ฆํ•œ๋‹ค. ์‹œํ—˜ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค(์˜ค๋ฒ„ํ”ผํŒ… ๋ฐœ์ƒ)

ํ•ด๋‹น ์ฑ…์—์„œ ์ œ์‹œํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Œ.

  • learning rate ฮฑ\alpha
  • weight decay ฮณ\gamma

๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด

  • train data: ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•™์Šต
  • test data: ๋ฒ”์šฉ๋Šฅ๋ ฅ ํ‰๊ฐ€
  • validation data: ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์„ฑ๋Šฅ ํ‰๊ฐ€

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ตœ์ ํ™” ๊ณผ์ •์€ ์•„๋ž˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ค„์—ฌ๋‚˜๊ฐ„๋‹ค.

  1. ๋ฒ”์œ„๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ log scale๋กœ ์„ค์ •ํ•จ
  2. ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœ
  3. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋กœ ํ‰๊ฐ€

6. Convolutional Neural Network

์ด์ „ ์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์กฐ๋ฅผ Fully Connected(์ดํ•˜ FC)๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

CNN์€ ์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธ ์ ์€ ๋‘ ๊ฐ€์ง€ ๊ณ„์ธต์ด ์ถ”๊ฐ€๋œ๋‹ค.

  • Convolution layer
  • Pooling layer

Convolution layer

๊ธฐ์กด ๊ณ„์ธต๋“ค์€ ๋ฐ์ดํ„ฐ์˜ ํ˜•์ƒ์„ ๋ฌด์‹œ๋œ๋‹ค๋Š” ๋‹จ์ ์„ ์ง€๋‹ˆ๊ณ  ์žˆ์—ˆ์Œ. ๋ฐ˜๋ฉด CNN์€ ์œ ์ง€ํ•จ.

  • feature map: convolution layer์—์„œ์˜ ๋ฐ์ดํ„ฐ
  • ์ปค๋„ = ํ•„ํ„ฐ = ๊ฐ€์ค‘์น˜
  • fused multiply-add: ๋‹จ์ผ ๊ณฑ์…ˆ ๋ˆ„์‚ฐ
  • padding: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ฃผ๋ณ€์„ 0์œผ๋กœ ์ฑ„์›€
  • stride: ํ•„ํ„ฐ ์ น์šฉ ์œ„์น˜์˜ ๊ฐ„๊ฒฉ
  • ํ•ฉ์„ฑ ๊ณฑ ์—ฐ์‚ฐ์˜ ํ•ด์„: ์ฑ„๋„์„ ํฌํ•จํ•œ 3์ฐจ์› ๋ธ”๋ก๊ณผ ํ•œ๊ฐœ ์ฑ„๋„์˜ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ผ๋ฉด, n๊ฐœ์˜ 3์ฐจ์› ๋ธ”๋ก์€ n๊ฐœ์˜ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค.
  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: (Channel, Weight, Height) * N

Pooling layer

์˜์—ญ์„ ํ•˜๋‚˜์˜ ์›์†Œ ํ•˜๋‚˜๋กœ ์ง‘์•ฝํ•œ๋‹ค.

  • average pooling
  • max pooling

ํ•™์Šตํ•ด์•ผํ•  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•(ํ•„ํ„ฐ๊ฐ€ ์—†์Œ). ์ฑ„๋„๋งˆ๋‹ค ๋…๋ฆฝ์  ์—ฐ์‚ฐ์„ ํ•˜๋ฏ€๋กœ ์ฑ„๋„ ์ˆ˜์˜ ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค. ๋˜ํ•œ ์ž…๋ ฅ ๋ณ€ํ™”์— ์˜ํ–ฅ์ด ์—†๋Š”, ๊ฐ•๊ฑดํ•œ ๊ณ„์ธต์ด๋‹ค.

ํ•ด๋‹น CNN์„ feature map๋“ค์€ im2col๊ณผ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ฐœํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ๋•Œ์— ๋”ฐ๋ผ ๋ชจ์–‘์„ ์ ์ ˆํ•˜๊ฒŒ ์„ฑํ˜•ํ•˜๋ฉด ๋œ๋‹ค.


Terminology

  • one-hot-encoding: ํ•ด๋‹น๋˜๋Š” class๊ฐ€ 1์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” 0์œผ๋กœ ํ‘œํ˜„
  • end-to-end: ์‚ฌ๋žŒ ๊ฐœ์ž…์—†์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€
  • hyperparameter: ์‚ฌ๋žŒ์ด ์ง์ ‘ ์„ค์ •ํ•˜๋Š” ๋ณ€์ˆ˜(์‚ฌ๋žŒ์˜ ๊ฐœ์ž…)
Authors