Back to : deep-learning-study
Contents

Unsupervised Learning

Unsupervised (๋˜๋Š”, Self-supervised) ์˜ ์˜๋ฏธ๋Š”, ์ •๋‹ต์ด ์ œ๊ณต๋˜์ง€ ์•Š๋Š” ๋จธ์‹  ๋Ÿฌ๋‹ ์ƒํ™ฉ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด, ์ด์ „์— ์•Œ์•„๋ณธ supervised learning์˜ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์œผ๋กœ ๋Œ์•„๊ฐ€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋ฏธ์ง€์˜ ํ•จ์ˆ˜ $f$์— ๋Œ€ํ•ด ์•Œ๊ณ ์ž ํ•˜๋Š”๋ฐ,
  • ๋ชจ๋“  ์ง€์ ์ด ์•„๋‹Œ ์–ด๋–ค ์ง€์  $x_i$ ๋“ค์—์„œ๋งŒ ๊ทธ ๊ฐ’ $f(x^i) = y^i$ ๋ฅผ ์•Œ๊ณ  ์žˆ๊ณ ,
  • ๊ทธ๋ž˜์„œ ์–ด๋–ค ํŽ˜๋„ํ‹ฐ $\ell$ ์„ ์ •์˜ํ•ด์„œ, $\sum_i \ell(f(x^i), g(x^i))$๊ฐ€ ์ž‘์€ $g$๋ฅผ $f$์˜ ๊ทผ์‚ฌ-ํ•จ์ˆ˜๋กœ ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ์ด $g$๋ฅผ ๋ชจ๋“  ํ•จ์ˆ˜์˜ ๊ณต๊ฐ„์—์„œ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ,
  • ์–ด๋–ค parameter $\theta$ ์— ์˜ํ•ด ํ‘œํ˜„๋˜๋Š” ํ•จ์ˆ˜๊ณต๊ฐ„์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ $g_\theta$๋งŒ์„ ์ƒ๊ฐํ•˜๋ฉฐ,
  • $\minimize \sum_i \ell(f(x^i), g_\theta(x^i))$ by moving $\theta$๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ, โ€˜supervisionโ€™ ์€ ์ •๋‹ต $f(x^i) = y^i$ ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ (์˜ˆ๋ฅผ ๋“ค์–ด, Imagenet ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋žŒ์„ ์ž”๋œฉ ๊ณ ์šฉํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์‹ค์ œ๋กœ ๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค) ๋„ ์žˆ์ง€๋งŒ, ๋งŽ์€ ๊ฒฝ์šฐ์— ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์œผ๋Š” ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋งค์šฐ ๋น„์‹ธ๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š”, ์ด ํ”„๋ ˆ์ž„์„ ๊ณผ๊ฐํžˆ ํฌ๊ธฐํ•˜๊ณ , supervision ์—†์ด ๋ฐ์ดํ„ฐ ์ž์ฒด์˜ ๋‚ด๋ถ€์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•˜๋„๋ก ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, unsupervised learning์ด๋ž€:

  • ๋ฐ์ดํ„ฐ $X_1, \dots X_n$ ์ด ์ฃผ์–ด์งˆ ๋•Œ,
  • ๊ทธ ๋‚ด๋ถ€์˜ ์–ด๋–ค ๊ตฌ์กฐํ™”๊ฐ€ ์–ผ๋งŒํผ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€๋ฅผ ์‹ค์šฉ์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ ์–ด๋–ค loss function $\mathcal{L}(\theta)$ ์˜ ํ•™์Šต๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์„œ
  • ์ด๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Supervised learning๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์ด ํ”„๋ ˆ์ž„๋งŒ ์ฝ์–ด์„œ๋Š” ๋ฌด์—‡์„ ํ•˜๊ณ  ์‹ถ์€์ง€๊ฐ€ ๋ณ„๋กœ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ธ Autoencoder๋ฅผ ์ง์ ‘ ์‚ดํŽด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

Autoencoder

Autoencoder๋ž€ ๊ฐ„๋‹จํžˆ ์••์ถ•์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํŽธํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ํ•จ์ˆ˜ $E_\theta$ ์™€ $D_\phi$๋ฅผ ๋งŒ๋“ค์–ด์„œ, $E_\theta$ ๊ฐ€ ๋ชจ๋ธ์˜ ์–ด๋–ค ํŠน์ง•์„ ์ธ์ฝ”๋”ฉ ํ•˜๊ณ , $D_\phi$ ๊ฐ€ ๋ฐ˜๋Œ€๋กœ ์ด๋ฅผ ๋””์ฝ”๋”ฉ ํ•˜๋„๋ก ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰โ€ฆ $\R^n$ ์—์„œ, $\R^m$ ์œผ๋กœ ๊ฐ€๋Š” ํ•จ์ˆ˜ $E_\theta$์™€, (์ˆ˜ํ•™์ ์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š”) ๊ทธ ์—ญํ•จ์ˆ˜ ๋น„์Šทํ•œ $D_\phi$๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. \(\mathcal{L}(\theta, \phi) = \expect{\norm{X - D_\phi(E_\theta(X))}^2}\) ์ด ๊ฐ’์ด ์ž‘๋‹ค๋Š” ๊ฒƒ์€, $D(E(X))$ ๊ฐ€ $X$๋ฅผ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐ„๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, $E(X)$๋Š” ์ผ์ข…์˜ ์••์ถ• ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , $D$๋Š” ์ด ์••์ถ•์„ ํ•ด์ œํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ, ์šฐ๋ฆฌ๋Š” expectation์„ ์ง์ ‘ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์—†๊ณ , ๋ฐ์ดํ„ฐ๋งŒ์„ ์ด์šฉํ•ด์„œ ๋ญ”๊ฐ€๋ฅผ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, \(\mathcal{L}(\theta, \phi) = \frac{1}{N} \sum_{i = 1}^{N} \norm{X_i - D_\phi(E_\theta(X_i))}^2\) ์ด ๊ฐ’์„ ๋Œ€์‹  ์ตœ์ ํ™”ํ•œ ๋‹ค์Œ, $\theta, \phi$๊ฐ€ ์ž˜ ์ตœ์ ํ™”๋˜์–ด ์‹ค์ œ๋กœ๋Š” expectation์ด ์ž‘๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์‹ค ์œ„์—์„œ ์„ค๋ช…ํ•œ supervised learning์˜ ์›๋ฆฌ์—์„œ๋„ ์ ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ• (์ถฉ๋ถ„ํžˆ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์ตœ์ ํ™”ํ•˜๋ฉด ์•„๋งˆ๋„ ์ž‘๋™ํ•  ๊ฒƒ์ด๋‹ค) ์ด๋ฏ€๋กœ, ์ด๋Ÿฌํ•œ ๋…ผ์ฆ์€ (๋น„๊ต์ ) ํ•ฉ๋ฆฌ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๊ฑธ๋กœ ๋ญ˜ ํ•  ์ˆ˜ ์žˆ์„์ง€๋Š” ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

  • Encoder๋Š” ์ผ์ข…์˜ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฏ€๋กœ, ์ถฉ๋ถ„ํžˆ ์ž˜ ํ›ˆ๋ จํ•œ autoencoder๋ฅผ ๊ทธ๋ƒฅ ์ด๋ฏธ์ง€ ์••์ถ•๊ฐ™์€๊ฑฐ์— ์จ๋„ ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์˜ noise๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Encoder-Decoder๋Š” ์•„๋งˆ๋„ ๋ฐ์ดํ„ฐ์˜ inherentํ•œ ๊ตฌ์กฐ๋ฅผ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ, noise๋Š” encoding๊ณผ์ •์— ๋ณ„๋กœ ์œ ์˜๋ฏธํ•˜๊ฒŒ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ฉฐ, decodingํ•  ๋•Œ ๊ทธ noise๊ฐ€ ์ค„์–ด๋“ค ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์˜ anomally๋ฅผ ์žก์•„๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ถฉ๋ถ„ํžˆ ์ž˜ ํ›ˆ๋ จํ•œ Encoder-Decoder์— ๋Œ€ํ•ด, $\norm{X - D_\phi(E_\theta(X))}^2$๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์— ๋น„ํ•ด ํŠน์ดํ•˜๊ฒŒ ํฐ ๋ญ”๊ฐ€๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด ๋ฐ์ดํ„ฐ์—๋Š” ๋‹ค๋ฅธ ๊ฐ’๋“ค๊ณผ ๋‹ค๋ฅธ ์–ด๋–ค ์š”์†Œ ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Label์€ ์—†์ง€๋งŒ, ๋น„์Šทํ•œ ๊ฒƒ๋“ค๋ผ๋ฆฌ ๋ฌถ๋Š”๊ฒƒ์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. K-means๊ฐ™์€ clustering.

์ฐธ๊ณ ๋กœ, classical machine learning์˜ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ PCA(Principal Component Analysis)๋Š” $E$๋กœ $y = Ax$๋ฅผ, $D$๋กœ $y = A^T x$๋ฅผ ์“ฐ๋Š” autoencoder๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‚˜์ค‘์— PCA์ •๋„๋Š” ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ ๊ทธ๋•Œ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.