www.youtube.com/watch?v=OoUX-nOEjG0&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv&index=2
Stanford University ์์ 2017๋ ๋์ ๊ฐ์ํ CS231n๋ฅผ ๋ค์ผ๋ฉฐ ์ ๋ฆฌ, ์์ฝํ๋ค.
2๊ฐ Image Classification ๊ฐ์ ์์ฝ ์์!
์ด๋ฏธ์ง ๋ถ๋ฅ์ ๋ฌธ์ ์
์ปดํจํฐ๊ฐ ๋ณด๋ ๊ณ ์์ด!
x, y, rgb ์ฐจ์ (800 * 600 * 3)
์กฐ๊ธ๋ง ์นด๋ฉ๋ผ ๊ฐ๋๋ฅผ ๋ฐ๊พธ๊ฑฐ๋,
๋น์ ์์น๊ฐ ๋ฌ๋ผ์ง๊ฑฐ๋,
๊ณ ์์ด๊ฐ ์ผํ ๋ฐ์ ์จ์ด์๋ค๋ฉด ์ด ํฝ์ ๊ฐ๋ค์ ํฌ๊ฒ ๋ฐ๋ ๊ฒ์ด๋ค.
๋ฐฐ๊ฒฝ์ด ๋ณต์กํ๊ฑฐ๋ ์ฌ๋ฌ ๋ง๋ฆฌ๊ฐ ๋ญ์ณ์๋ ๊ฒฝ์ฐ์๋ ์๊ณ ๋ฆฌ์ฆ์ ํผ๋์ ๊ฒช์ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ฌ๋์ ms๋ง์ ์ฌ์ง์ด ๊ณ ์์ด๋ผ๋ ๊ฒ์ ๊ฐ๋ณํด๋ธ๋ค.
sort number์ ๊ฐ์ ๊ฒ์ ๋ช ํํ algorithm ์ด ์๋๋ฐ,
์ด๋ฏธ์ง ๋ถ๋ฅ๋ ์์ ๊ฐ์ด ๋๋ฌด๋ ๋ค์ํ ๋ณ์ด๊ฐ ์๋ค๋ ์ด์ ๋ก algorithm์ ๋ง๋ค๊ธฐ ํ๋ค๋ค.
๊ทธ๋์ data-driven ์ ๊ทผ์ ์ด์ฉํ๊ธฐ๋ก ํ๋ค.
๋ชจ๋ ์ฌ์ง์ input์ผ๋ก ๋ฐ๊ณ , ๊ทธ ์ ๋ณด๋ฅผ ์ํํ ๋ค ๋ถ๋ฅ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋จธ์ ๋ฌ๋์ ํ๊ธฐ๋ก ํ๋ค.
Image classification ์ ์์ : CIFAR10
๊ทธ๋ผ ์๋ง์ ์ด๋ฏธ์ง๋ฅผ ๋น๊ตํ ๋, ์ด ๋ ์ด๋ฏธ์ง๊ฐ ๊ฐ์ ๋ถ๋ฅ๋ผ๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ๊ฒ์ธ๊ฐ?
Distance Metric
๋ ์ด๋ฏธ์ง๋ฅผ ๋น๊ตํ๋ ์์ฃผ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก L1 distance๊ฐ ์๋ค.
๋ ์ด๋ฏธ์ง์ ์ฐจ์ด๋ฅผ ๊ตฌํ ์ ์๋ ์์ฃผ ๊ฐ๋จํ ๋ฐฉ๋ฒ.
train์์๋ input์ ๋ณด๋ฅผ ๊ทธ๋๋ก ์ ์ฅํจ
predict์์๋ train image๋ ๊ฐ์ฅ ๋น์ทํ class ์ฐพ์.
์ด๋ ๊ฒ ํ๋ฉด 1๊ฐ์ ์ด๋ฏธ์ง ํ ์คํธ ํ๋๋ฐ ๋ชจ๋ train set์ด๋ ๋น๊ตํด๋ด์ผ ํจ. -> ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆผ
nearest neighbor
nearest neighbor ๋ถ๋ฅ๋ฅผ ํ๋ฉด ์ด๋ค ๋ชจ์ต์ธ๊ฐ?
space๋ฅผ ๊ฐ๊น์ด ์ ๋ค์ ์์กดํด์ ์์น ํจ (class๋ฅผ ๋๋)
๊ทผ๋ฐ ๊ฐ์ด๋ฐ๊ฐ ์ด๋ก์ ์ฌ์ด์ yellow island๊ฐ ์๊น
๊ทธ๋ฆฌ๊ณ ๋นจ/ํ ์ฌ์ด์ fingers๋ค์ด ์๊น
๊ทธ๋์ K-nearest neighbors ๋ฐฉ๋ฒ์ ์ด์ฉ
K-nearest neighbors
K๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ๋ค์๊ฒ ํฌํ๋ฅผ ๋ฐ์์ ๊ณต๊ฐ ์์ ์ ํ๋ ๊ฒ.
smooth ํ๊ฒ decition boundary ์ ํ ์ ์๋ค.
Distanse Metric
L1๋ง๊ณ L2 distance๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
L1์ ์ฐจ์์ ๋ณํ์ ๋ฐ๋ผ ์๋ก์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฌ๋ผ์ง ์๋ ์๋๋ฐ L2๋ ๊ทธ๋ ์ง ์๋ค.
์ด๋ป๊ฒ ์ด๋ฏธ์ง์ ์ฐจ์ด๋ฅผ ๊ตฌํ ์ง๋ ์๊ฐํด๋ด์ผ ํ ๋ฌธ์ ์ด๋ค
L2์ L1๋น๊ต
L1์ coordinate axis์ ์ํฅ์ ๋ฐ๊ณ , L2๋ ๊ทธ๋ ์ง ์๋ค
์ด๋ค K๋ฅผ ๊ณ ๋ฅผ์ง, ์ด๋ค distance๋ฅผ ๊ณ ๋ฅผ์ง?
์ด๋ฐ ๊ฒ ๋ค์ Hyperparameters๋ผ๊ณ ํ๋ค.
Hyperparameters
๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋งค์ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ญ๊ฐ ๋ ๋ซ๋ค๊ณ ํ ์ ์๋ค, problem๊ณผ data์ ์๋ง๊ฒ ์ฌ์ฉํด์ผ ํจ
training set์ label๊ฐ์ ๊ฐ์ง๊ณ ํ์ต์ ํ๋ set์ด๊ณ
val์ label์ ์ ๊ทผ์ ๋ชปํ ์ฒด ์ถ๋ก ํ label๊ณผ ๋น๊ต, ์ด๋ ์ ๋ ํ์ต๋๋์ง ๋ณด์ฌ์ฃผ๋ ์งํ
Hyperparameters์ ๊ณ ๋ฅผ ๋
๋ฌด์กฐ๊ฑด training data๊ฐ ์ข๊ฒ ๋์ค๋ ์ชฝ์ผ๋ก ์ฌ์ฉ -> ์๋จ
train๊ณผ test๋ฅผ ๋๋ ๋๊ณ test ๊ฐ์ด ์ ๋์ค๋ ๊ฒ์ ์ฌ์ฉ -> ์๋จ
๊ฐ์ง๊ณ ์๋ data set์์ ์ ์๋ํ๋ ๊ฒ์ด ์๋๋ผ ์ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์๋ํ๊ฒ ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์ด๊ธฐ ๋๋ฌธ
์๋ก์ด data๊ฐ ๋ค์ด์์ ๋๋ ์ ์๋ํ๊ฒ ๋ผ์ผ ํจ
train์ผ๋ก ํ์ต์ ์ํค๊ณ , validation set์ ํตํด ์ํ์ ํ ๋ค best์ธ Hyperparameters์ ๊ณ ๋ฆ
๊ทธ๋ค์์ test ์ ์ ํ๋ฒ ๋๋ ค๋ณธ ํ, ๊ทธ ์์น๋ฅผ report์ ์ฐ๋ ๊ฑฐ์
Cross Validation
train๋ฐ์ดํฐ๋ฅผ 5๊ฐ์ fold๋ก ๋๋
๊ฐ๊ฐ์ fold๋ฅผ validation์ ์ฌ์ฉํจ :
๋ชจ๋ ๋ฐ์ดํฐ ์ ์ train์ ์ฌ์ฉํ ์ ์๊ณ , ๋ฐ์ดํฐ ๋ถ์กฑ์ผ๋ก ์๊ธฐ๋ underfitting์ ๋ง์ ์ ์๋ค.
data set์ด ์ ์ ๋ ์ ์ฉํ๋ค๊ณ ํจ.
x์ถ์ K๊ฐ, y์ถ์ K์ ๋ฐ๋ฅธ ์ ํ๋
์ฌ๊ธฐ์์ K=7 ์ ๋์์ best
ํ์ง๋ง K-nearest๋ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์๋๋ค.
๋จ์
1. test ํ ๋ ๋งค์ฐ ๋๋ฆผ
2. ํฝ์ ๋ค์ ๊ฑฐ๋ฆฌ๊ฐ ์ฃผ๋ ์ ๋ณด๊ฐ ๋ณ๋ก ์๋ค
๋, ์ฝ ๊ฐ๋ฆฌ๊ฑฐ๋, ์ฝ๊ฐ ์์ง์ด๊ฑฐ๋, ํดํธ ํํฐ๋ฅผ ์์ ์ ๋ ๋ชจ๋ ๊ฐ์ L2 distance๋ฅผ ๊ฐ์ง๋ค.
๋ ๋ค๋ฅธ ๋ฌธ์ ๋ก๋
์ฐจ์์ด ์ปค์ง์ ๋ฐ๋ผ ์ต์คํฌ๋จ์ ํ๊ฒ ํฝ์ ์ ๊ฐ ๋ง์์ง
๋ชจ๋ ์ฐจ์์ ๋นฝ๋นฝํ๊ฒ ์ฑ์ฐ๋ ค๋ฉด ํ์ํ ๋ฐ์ดํฐ๊ฐ ์ต์คํฌ๋จ์ ํ๊ฒ ๋ง์์ง
KNN ์์ฝ
์ด๋ฏธ์ง์์๋ ์ ๋ง ์ ์ฐ์ด์ง ์์
Linear Classification
๋น๋ฉ ๋ธ๋ก์ ๋น๊ต๋๋ค๊ณ ํจ
๋ ๊ณ ๋ธ๋ญ ๊ฐ์ ๋คํธ์ํฌ์ ์์ - ๋์ค์ ๋ฐฐ์ธ ์์
๋ค์ CIFAR 10์ผ๋ก ๋์๊ฐ์
x๋ input data
W๋ parameters
test time์๋ x๋ ํ์ ์๊ณ W๋ง ํ์ํจ
x๋ฅผ ์ญ ํด์ 3072*1๋ก ๋ง๋ค๊ณ 10๊ฐ์ ํด๋์ค ์ค 1๊ฐ๋ก ์์ธกํ๊ณ ์ถ๋ค
๊ทธ๋ผ 10*3072๊ฐ W์ ์ฐจ์์ด ๋ ๊ฒ์ด๋ค
b๋ bias์ด๋ค.
์์
W๋ 3*4 x๋ 4*1
W ์ฌ๊ธฐ์์
์ฃผํฉ์ ๋ถ๋ถ์ cat
๋ณด๋ผ์ ๋ถ๋ถ์ dog
์ด๋ก์ ๋ถ๋ถ์ ship์ ๋ํ๋ธ๋ค
์์ ์ฃผํฉ, ๋ณด๋ผ, ์ด๋ก ๋ถ๋ถ์ฒ๋ผ W์์ ๊ฐ๊ฐ ํด๋์ค์ ํด๋นํ๋ ๋ถ๋ถ์ visualize ์ํจ ๋ชจ์ต
๋ฌธ์ ์ : ํ ํด๋์ค์ ํ ํ ํ๋ฆฟ๋ง ํ์ตํ๋ค
horse๋ฅผ ๋ณด๋ฉด ์ด๋ก์ ํ๋ฐญ์ ์์๊ณ , ๋จธ๋ฆฌ๊ฐ 2๊ฐ์ธ ๋ง์ ๋ชจ์ต์ด ๋ณด์
32*32*3์ ์ญ ํด๋ฉด 3072*1์ด๊ณ ์ด๋ 3072์ฐจ์ ์์ ํ ์ ์ผ๋ก ํํ๋๋ค.
linear classifier์ ์ด๋ฅผ ๊ณต๊ฐ์์ผ๋ก ๋๋๋ ๊ฒ
์ด๋ฐ ๊ฒฝ์ฐ linear classifier๋ก ๋๋๋ ๊ฒ์ด ์ด๋ ต๋ค
2์ฐจ์์ ๊ณต๊ฐ์์ blue์ red๋ฅผ ๋๋ ์ ์๋ ํ๋์ ์ ์ด ๋์ค์ง ์๋๋ค
์ ํต์ ์ผ๋ก linear classifier์ ๋ฌธ์ ์
์์๋ก ๋ง์ด ์ค๋ฅธ์ชฝ์ ๋ณด๊ณ ์๋ ๊ฒฝ์ฐ island๋ ๋ง์ด ์ผ์ชฝ์ผ๋ก ๋ณด๊ณ ์๋ ๊ฒฝ์ฐ๋ฅผ ํ island๋ก ๋ถ๋ฅํ๋ ๊ฒ์ด ํ๋ค ์ ์๋ค
์ด๋ป๊ฒ W๋ฅผ ์ ํ์ต์์ผฐ๋์ง, W๊ฐ ์ข์ ๊ฐ์ธ์ง ์๋์ง ์ ์ ์์๊น?
๋ค์ ์๊ฐ์!
'KAIST MASTER๐ > CS231n' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS231n] Lecture 5 - Convolutional Neural Networks (0) | 2021.02.03 |
---|---|
[CS231n] Lecture 4 - Introduction to Neural Networks (0) | 2021.02.01 |
[CS231n] Lecture 3 - Loss Functions and Optimization (0) | 2021.01.31 |
๋๊ธ