Back to : deep-learning-study
Contents

์ด ๊ธ€์€ ์‹ฌ์ธต์‹ ๊ฒฝ๋ง ์ˆ˜์—…์—์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์— ๊ธฐ๋ฐ˜ํ•˜์ง€๋งŒ, ์ œ๊ฐ€ ๋‚˜๋ฆ„๋Œ€๋กœ ์ดํ•ดํ•œ ๋ฐ”๋ฅผ ๋ง๋ถ™์—ฌ์„œ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์กฐ๊ธˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

Introduction

Multi layer perceptron์ด ๋˜์—ˆ๋“ , Convolutionary neural network๊ฐ€ ๋˜์—ˆ๋“  ๊ธฐ๋ณธ์ ์ธ ํ‹€์€ logistic regression๊ณผ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค.

์„ค๋ช…์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ด ๊ธ€์—์„œ๋Š” MLP์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ฒ ์ง€๋งŒ, CNN๋„ ์‚ฌ์‹ค์€ ๋ณ„๋กœ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • MLP๋Š” ๊ฒฐ๊ตญ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์˜ ํ•จ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ํšŒ๊ท€ ๋ชจํ˜•์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. \(\begin{align*} y_L &= W_L y_{L-1} + b_L \\ y_{L - 1} &= \sigma(W_{L-1} y_{L - 2} + b_{L - 1}) \\ \cdots & \cdots \\ y_2 &= \sigma (W_2 y_1 + b_2) \\ y_1 &= \sigma (W_1 x + b_1) \end{align*}\)
  • ์—ฌ๊ธฐ์„œ $W_i, b_i$ ๋“ค์€ ๋ชจ๋‘ trainable weight ์ด๊ณ , $\sigma$๋Š” ์–ด๋–ค activation function ์ž…๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๋Š”, $y_L$์˜ ์ฐธ๊ฐ’ (์ด๋ผ๊ณ  ๋งํ•˜๋ฉด ์ข€ ์• ๋งคํ•˜์ง€๋งŒโ€ฆ) ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ $\tilde{y_L} = f(x)$ ๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ตœ๋Œ€ํ•œ ๊ทผ์‚ฌ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ € ์œ„ ํ˜•ํƒœ์˜ ํ•จ์ˆ˜ ($W_i, b_i$ ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‘œํ˜„๋˜๋Š” ํ•จ์ˆ˜) ๋ฅผ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค ๋ผ๊ณ  ์ •์˜ํ•˜๋ฉด, Ground-truth ํ•จ์ˆ˜์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ‘œํ˜„๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜ ๋ฅผ ์ฐพ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ground truth๋ฅผ ๋ชจ๋‘ ์•„๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋ช‡๋ช‡ ๋ฐ์ดํ„ฐ $x^1, x^2, \dots$ ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋”ฐ๋ผ์„œ, ์–ด๋–ค Loss function์„ ์ •์˜ํ•˜์—ฌ \(\sum_{i = 1}^{n} \mathcal{L}(y_L^{i}, \tilde{y_L}^{i})\) ์„ ์ •์˜ํ•œ ๋‹ค์Œ, ์ด $\mathcal{L}$ ์ด ์–ด๋–ค ์‹ค์ œ $\tilde{y_L}^i$ ๊ณผ $y_L^i$ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ œ์‹œํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ๊ฐ€๋Šฅํ•œ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ SGD ๋˜๋Š” ๊ทธ ๋น„์Šทํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, $W_k, b_k$ ํ–‰๋ ฌ ๋˜๋Š” ๋ฒกํ„ฐ์— ๋“ค์–ด ์žˆ๋Š” ๊ฐ ๋ณ€์ˆ˜ $W_k(i, j)$ ๋‚˜ $b_k(i)$ ๋ฅผ ์ด์šฉํ•ด์„œ ์ „์ฒด ๊ณต๊ฐ„์—์„œ์˜ Loss function์„ ๊ทธ๋ ค๋†“๊ณ , ๊ทธ minimum์„ (iterativeํ•˜๊ฒŒ) ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • SGD๋‚˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์“ฐ๋ ค๋ฉด, ๊ฒฐ๊ตญ์€ ์ด๋Ÿฐ ๋Š๋‚Œ์˜ ํŽธ๋ฏธ๋ถ„๊ณ„์ˆ˜๋“ค์„ ๊ผญ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. \(\pdv{\mathcal{L}}{W_k(i, j)} \quad \quad \pdv{\mathcal{L}}{b_k(i)}\)

๋ชจ๋ธ์ด ๊ฐ„๋‹จํ•˜๋ฉด ๋ญ ์ง์ ‘ ๋ฏธ๋ถ„ํ•œ๋‹ค๊ณ  ์น˜์ง€๋งŒ, ์œ„์— ์žˆ๋Š” MLP ์‹ ๊ฐ™์ด ์ƒ๊ธด ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฏธ๋ถ„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

Backpropagation

์œ„ ํ˜•ํƒœ๋ฅผ ์ž˜ ๋ณด๋ฉด, ํ•ฉ์„ฑํ•จ์ˆ˜ ํ˜•ํƒœ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ฉ์„ฑํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„์€ Chain rule์„ ์ด์šฉํ•ด์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
$x \in \R^m, y \in \R^n$, $g : \R^m \to \R^n, f : \R^n \to \R$ ์ •๋„์˜ ์„ธํŒ…์„ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. $\mathbf{y} = g(\mathbf{x}), z = \mathbf{y}$ ๋ผ ํ•  ๋•Œ, ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค. \(\pdv{z}{x_i} = \sum_{j} \pdv{z}{y_j} \pdv{y_j}{x_i}\) ์ด ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์„œ, ์šฐ๋ฆฌ๋Š” ์ „์ฒด $P$๊ฐœ์˜ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•ด $\pdv{\mathcal{L}}{w_i}$ ๋ฅผ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด, ๋จผ์ € Computational graph๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Computational graph๋ž€, ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ ๊ฐ’๋“ค์„ ๋…ธ๋“œ๋กœ, ๊ณ„์‚ฐ์— ํ•„์š”ํ•œ dependency๋“ค์„ edge๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ๋กœ ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. picture 3
(์‚ฌ์ง„์ถœ์ฒ˜ : ์„œ์šธ๋Œ€ํ•™๊ต ์‹ฌ์ธต์‹ ๊ฒฝ๋ง์˜ ์ˆ˜ํ•™์  ๊ธฐ์ดˆ ๊ฐ•์˜์ž๋ฃŒ)

์—ฌ๊ธฐ์„œ, โ€˜๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋กœ ๋ฏธ๋ถ„ํ•œ ๋ฏธ๋ถ„๊ณ„์ˆ˜โ€™ ๋“ค์„ ๊ตฌํ•˜๊ณ , โ€˜์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜๋กœ ๋ฏธ๋ถ„ํ•œ ๋ฏธ๋ถ„๊ณ„์ˆ˜โ€™ ๋ฅผ ๊ทธ ๊ฒฐ๊ณผ๋กœ ์–ป์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ,

  1. ๊ฐ edge์— ๋Œ€ํ•ด, ๋ณ€์ˆ˜๋ฅผ ๋ณ€์ˆ˜๋กœ ๋ฏธ๋ถ„ํ•œ ์ค‘๊ฐ„ ๋ฏธ๋ถ„๊ณ„์ˆ˜๋ฅผ edge์— ์ ์–ด๋„ฃ๊ณ ,
  2. ๋งˆ์ง€๋ง‰์—, root ๋…ธ๋“œ (i.e, ๊ณ„์‚ฐ์˜ ์ตœ์ข…๊ฐ’) ์—์„œ ์ถœ๋ฐœํ•ด์„œ, ์ž„์˜์˜ ๋…ธ๋“œ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๊ณฑํ•ด์„œ ๋”ํ•˜๋ฉด โ€˜์ตœ์ข…๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜๋กœ ๋ฏธ๋ถ„ํ•œโ€™ ๋ฏธ๋ถ„๊ณ„์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์–ธ์–ด๋กœ ๋งํ•˜์ž๋ฉด DAG ์œ„์—์„œ depth๊ฐ€ ๋‚ฎ์€ ๋…ธ๋“œ๋ถ€ํ„ฐ ๊ฑฐ๊พธ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ edge์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ  (DP), ๋Œ์•„์˜ฌ๋•Œ๋Š” topological order๋กœ ๊ณ„์‚ฐํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

์ด ์‚ฌ์ง„์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ๊ณ„์‚ฐํ•˜๋ฉด์„œ ๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • step์ด ๋‚ฎ์€ ๊ฒƒ๋ถ€ํ„ฐ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ์ฆ‰, ์ฒ˜์Œ์—๋Š” step 1์ธ $a$-๋…ธ๋“œ์˜ ๋ฏธ๋ถ„๊ณ„์ˆ˜๋“ค์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด $\pdv{a}{x}$ ๋ฅผ ๊ตฌํ•˜๋ฉฐ, ์ด ๊ฐ’์€ $1/x$ ์ด๋ฏ€๋กœ 1/3์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ์ ์€, ์ผ๋ฐ˜์ ์ธ symbolic differntiation์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” $1/x$๋ฅผ ๋“ค๊ณ  ๊ฐ€์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์–ด์ฐจํ”ผ ์ตœ์ข…์ ์œผ๋กœ ์ˆ˜์น˜์—ฐ์‚ฐ์„ ํ•  ๊ฒƒ์ด๋ฏ€๋กœ $1/3$ ์ด๋ผ๋Š” ์‚ฌ์‹ค๋งŒ ๊ธฐ์–ตํ•˜๋ฉด $1/x$ ๋ผ๋Š” ๊ฐ’์€ ์žŠ์–ด๋ฒ„๋ ค๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ edge์— ์ ์–ด ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ดํ›„์— $a$๊ฐ’๋„ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— $a = \log 3$ ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋…ธ๋“œ์— ์ ์–ด๋„ฃ์Šต๋‹ˆ๋‹ค. ์ด์ œ, step 1๊นŒ์ง€ ์™”์Šต๋‹ˆ๋‹ค.
  • step 2์— ํ•ด๋‹นํ•˜๋Š” $b$๋ฅผ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. $\pdv{b}{a} = y, \pdv{b}{y} = a$ ์ด๋ฉฐ, ์ด๋Š” ๊ฐ๊ฐ $a, y$์˜ ์ด๋ฏธ ๊ณ„์‚ฐํ•œ ๋…ธ๋“œ๊ฐ’ ์„ ์ฐธ์กฐํ•ด์„œ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ $2, \log 3$ ์ด ๋  ๊ฒƒ์ด๋ฉฐ, ์ด๋ฅผ edge์— ์ ์–ด ๋„ฃ์Šต๋‹ˆ๋‹ค. $b$ ๋Š” $2 \log 3$ ์ด๊ณ . ์ด๊ฑด ๋…ธ๋“œ์— ์ ์–ด๋„ฃ์Šต๋‹ˆ๋‹ค.
  • step 3์— ํ•ด๋‹นํ•˜๋Š” $\pdv{c}{b}$ ๋Š” $\frac{1}{2\sqrt{b}} = \frac{1}{2\sqrt{\log 3}}$ ์ž…๋‹ˆ๋‹ค. $c = \sqrt{log 3}$ ์ž…๋‹ˆ๋‹ค.
  • step 4๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ, $\pdv{f}{c} = 1$, $\pdv{f}{b} = 1$ ์ด๋ฉฐ, $f$ ์˜ ์ตœ์ข…์ ์ธ ๊ฐ’์€ $\sqrt{2 \log 3} + 2 \log 3$ ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ์ง€๊ธˆ 1 ๊ณผ์ •์ด ๋๋‚œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ โ€œForward passโ€ ๋“ฑ์œผ๋กœ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. picture 4
์ด์ œ, ๋‹ค์‹œ ๊ฑฐ๊พธ๋กœ ๋Œ์•„๊ฐ€๋ฉด์„œ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

  • $\pdv{f}{c} = 1$. ์ด๋ฒˆ์—๋Š”, $c$์— ํ•ด๋‹นํ•˜๋Š” ๋…ธ๋“œ์— ์ด ๊ฐ’์„ ์ ์–ด๋„ฃ์Šต๋‹ˆ๋‹ค.
  • $\pdv{c}{b} = \frac{1}{2 \sqrt{2 \log 3}}$ ์ด๋ฉฐ, $\pdv{f}{b}$ ๋Š” ์—ฌ๊ธฐ์— ๋”ฐ๋กœ $b$๊ฐ€ $f$์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” 1์ด ์žˆ์œผ๋ฏ€๋กœ (๊ฐ€์žฅ ์•„๋ž˜ edge), $\pdv{f}{b} = \frac{1}{2 \sqrt{2 \log 3}} + 1$ ์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ $b$ ๋…ธ๋“œ์— ์ ์–ด ๋„ฃ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋’ค๋กœ ๊ณ„์† ๋‹ฌ๋ฆฝ๋‹ˆ๋‹ค. $\pdv{f}{a} = \frac{1}{\sqrt{2 \log 3}} + 2$.
  • ๊ฒฐ๊ตญ ๋‹ค ๊ณ„์‚ฐํ•˜๋ฉด, $\pdv{f}{x} = \frac{1}{3\sqrt{2\log 3}} + \frac{2}{3}$ ๊ณผ $\pdv{f}{y} = \sqrt{\frac{\log 3}{8}} + \log 3$ ์ด ๋‚จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ Backpropagation์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

Notes

  • Autodiff๋ž€, ์‚ฌ์‹ค์€ forward autodiff ๋“ฑ ๋ช‡๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์ธ backpropagation์„ ์†Œ๊ฐœํ–ˆ๋Š”๋ฐ, ์‚ฌ์‹ค ์ƒ๊ฐํ•ด ๋ณด๋ฉด ๋ฐ˜๋Œ€๋กœ forward pass๋งŒ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ณผ์ •์—์„œ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” DP๋ฅผ ํ•  ๋•Œ, $\pdv{b}{a}$ ๊ฐ™์€ ๊ฐ’๋“ค์„ ๊ณ„์‚ฐํ•ด์„œ edge์— ์ ์–ด๋†“๊ณ , ๋ฐ”๋กœ $b$ ๋…ธ๋“œ์—๋Š” $\pdv{b}{x}, \pdv{b}{y}$ ๋ฅผ ๊ทธ์ž๋ฆฌ์—์„œ ๊ณ„์‚ฐํ•ด์„œ (์•ž์„œ $\pdv{a}{x}$ ๋„ ๋…ธ๋“œ์— ์ ์–ด๋†จ์„ ๊ฒƒ์ด๋ฏ€๋กœ) ๊ธฐ์–ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐํ•˜๋ฉด ํ•œ๋ฒˆ forward๋ฅผ ๋‹ฌ๋ฆด ๋•Œ ๋ชจ๋“  ๊ณ„์‚ฐ์ด ๋๋‚ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” deep learning์—์„œ์˜ gradient ๊ณ„์‚ฐ์€ ๋Œ€๋ถ€๋ถ„ backpropagation์ž…๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š”, ์ง€๊ธˆ ์œ„ ์˜ˆ์‹œ์—์„œ๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ด๊ธด ํ•˜์ง€๋งŒ MLP๋ฅผ ๋‹ค์‹œ ์ƒ๊ฐํ•ด ๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ์‚ฐ์ด ํ–‰๋ ฌ๊ณฑ์ด๋ฏ€๋กœ ์œ„ ์˜ˆ์‹œ์™€๋Š” ๋‹ฌ๋ฆฌ ๊ฐ edge์— ์Šค์นผ๋ผ๊ฐ’์ด ์•„๋‹ˆ๋ผ ํ–‰๋ ฌ์ด ์“ฐ์—ฌ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒŒ ์™œ ์˜๋ฏธ๊ฐ€ ์žˆ๋ƒ๋ฉด, ๊ฒฐ๊ตญ์€ โ€˜ํ–‰๋ ฌ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ๋งŽ์ดโ€™ ๊ณฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์–˜๊ธฐ๊ณ โ€ฆ ํ–‰๋ ฌ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๊ณฑํ•  ๋•Œ๋Š” ์ž‘์€ ํ–‰๋ ฌ๋ถ€ํ„ฐ ๊ณฑํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํฐ ํ–‰๋ ฌ๊ณผ ๊ณฑํ•˜๋Š” ๊ฒƒ์ด ๋Œ€์ฒด๋กœ ๋ณด๋‹ค ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. (์ด ํ‘œํ˜„์€ ์™„๋ฒฝํ•˜๊ฒŒ ์ •ํ™•ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ๋‹จ์กฐ์ฆ๊ฐ€ํ•œ๋‹ค๋ฉด ์ฐธ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค์€ ์ด ์ž์ฒด๊ฐ€ ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ ๋ผ๋Š” (๋ฐฑ์ค€์—๋„ ์žˆ๋Š”..ใ…‹ใ…‹) ๋งค์šฐ ์œ ๋ช…ํ•œ DP ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฐ๋ฐ MLP๋“  CNN์ด๋“ , ๋„คํŠธ์›Œํฌ ๋์ชฝ (์ถœ๋ ฅ์— ๊ฐ€๊นŒ์šด ์ชฝ) ์œผ๋กœ ํ–ฅํ•˜๋ฉด์„œ ์ ์  feature์˜ ๊ฐœ์ˆ˜๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋ฉฐ, ๋”ฐ๋ผ์„œ backpropagation ๋ฐฉ๋ฒ•์œผ๋กœ ๋’ค์—์„œ๋ถ€ํ„ฐ ๊ณฑํ•˜๋ฉด์„œ ์˜ค๋Š”๊ฒŒ ํ–‰๋ ฌ ๊ณฑ์…ˆ์„ ๋” ๋นจ๋ฆฌ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • Torch ๋“ฑ ๋”ฅ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์ด backpropagation์„ ์ž๋™์œผ๋กœ ์ž˜ ๋”ฐ๋ผ๊ฐ€ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ, ์ƒˆ๋กœ์šด loss function์„ ์ •์˜ํ•  ๋•Œ๋Š” ํ•ญ์ƒ ๋ฏธ๋ถ„๊ฐ€๋Šฅํ•œ์ง€๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Reference

  • ์„œ์šธ๋Œ€ํ•™๊ต ์‹ฌ์ธต์‹ ๊ฒฝ๋ง์˜ ์ˆ˜ํ•™์  ๊ธฐ์ดˆ ๊ฐ•์˜์ž๋ฃŒ (๋งํฌ)
  • Ian Goodfellow, Yoshua Bengio, & Aaron Courville (2016). Deep Learning. MIT Press.