0. Image Classification
- Semantic gap: ์ด๋ฏธ์ง๊ฐ ๊ณ ์์ด๋ผ๋ ์ฌ์ค๊ณผ, ์ค์ ์ปดํจํฐ๊ฐ ๋ณด๋ ์ ์ซ์๊ฐ์๋ ํฐ ๊ฒฉ์ฐจ๊ฐ ์กด์ฌ ⇒ ์ด๋ฅผ ์๋ฉํฑ ๊ฐญ์ด๋ผ๊ณ ์นญํจ.
- ์ฐ๋ ๊ตฌ๋๋ ์กฐ๋ช , ์์ธ ๋ณํ, ์ฌ๋ฌผ์ ๊ฐ๋ ค์ง๋ ๋ฑ ์ด๋ฌํ ๋ณํ์ ๋ฐ๋ผ ํฝ์ ๊ฐ๋ค์ ๋ณํ๊ฒ ๋๋๋ฐ, ๊ทธ๋ผ์๋ ์ปดํจํฐ๋ ‘๊ณ ์์ด’๋ผ๊ณ ์ธ์ ํ ์ ์์ด์ผํจ.
- ๊ทธ๋์ ์ด๋ฏธ์ง์์ edges์ ์ถ์ถํ๊ณ , ๊ท๋ชจ์์ด๋ ์ฝ๋ชจ์ ๊ฐ์ ๊ณ ์์ด์๊ฒ ํ์ํ ์งํฉ๋ค์ ํ๋์ฉ ์ฐพ์์ ์ด๋ฌํ ์งํฉ๋ค์ด ๋ค ์์ผ๋ฉด ๊ณ ์์ด๋ค ๋ผ๊ณ ์ธ์ํ๊ฒ ํจ.⇒ ํ์ง๋ง ๋นํจ์จ์ , ์ ์๋ํ์ง ์์
- ⇒ ๋ค๋ฅธ ๊ฐ์ฒด(๊ฐ์์ง๋ ์ง)๋ค์ ์ธ์ํ๊ธฐ ์ํด์๋ ๊ทธ ํด๋์ค์ ๋ง๋ ์งํฉ์ ๋ ํ๋์ฉ ๋ค ๋ง๋ค์ด์ค์ผ ํ๋ ๋ฌธ์ ๋ฐ์.
↔ ์ด๋์ ๋์จ ๋ฐฉ๋ฒ์ด ๋ฐ์ดํฐ ์ค์ฌ ์ ๊ทผ ๋ฐฉ๋ฒ(Data-Driven Approach)
- ํ ๊ฐ์ฒด์ ํ์ํ ์งํฉ๋ค(๊ท์น)์ ๋ง๋ค์ง ์์
- ์๋ง์ ๊ณ ์์ด ์ฌ์ง๋ค์ ์ปดํจํฐ์๊ฒ ์ฃผ๊ณ machine learning classifier์ ํ์ต์ํด.
1. K-Nearest Neighbor (KNN)
- Data Driven Approach ์์ ๋จธ์ ๋ฌ๋ ๋ถ๋ฅ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํจ.
- ๊ทธ ์ค ํ๋๊ฐ K-Nearest Neighbor Algorithm
- K-Nearest Neighbor Algorithm์ ๋ถ๋ฅ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก์จ, ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ๋ ์ด๋ ํ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฅ๋ฅผ ํ ๊ฒ์ธ๊ฐ๋ฅผ ์ ํด์ฃผ๋ ์๊ณ ๋ฆฌ์ฆ.
KNN ๊ณผ์
- Train: ๊ทธ๋ฅ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์๊ธฐ์ํด
- Predict: ์ ์ด๋ฏธ์ง๋ค์ ๋ฐ์ ํ์ต ๋ฐ์ดํฐ ์ค ๊ฐ์ฅ ๋น์ทํ ๊ฒ์ ์ฐพ์ ๊ทธ ์ด๋ฏธ์ง์ ๋ ์ด๋ธ๋ก ์์ธก.
Parameter 1) K๊ฐ
- K-NN ์ Distance metric ์ ์ด์ฉํด์ K๊ฐ์ ๊ฐ๊น์ด ์ด์(๋ฐ์ดํฐ)๋ฅผ ์ฐพ๊ณ , ์ด์๋ผ๋ฆฌ ํฌํ๋ฅผ ํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ๋ฅผ ํ๋ ๋ฐฉ๋ฒ.
- K๊ฐ์ ์ํด Overfitting (๊ณผ์ ํฉ) ๋ฐฉ์ง.
- ๋ํ K ๊ฐ์ ์กฐ์ ํ๋ฉด์, ๊ฒฝ๊ณ์ ์ ๋ถ๋๋ฝ๊ฒ ๋ง๋ค๊ฑฐ๋ ์์ญ์ ์ ํํ๊ฒ ๋๋ ์ ์์.
- K ๊ฐ์ ๋๋ ค ๋ ๋ง์ ์ด์์ด ํฌํ์ ์ฐธ์ฌํ๋ฉด ๊ฐ์ข ๋ ธ์ด์ฆ๋ค์ ๋ํด ์กฐ๊ธ ๋ robost ํด์ง ๊ฒ(๋ ๋๊ฐํด์ง)
- ๊ฐ๊น์ด ์ด์ K๊ฐ๋ฅผ ์ฐพ๊ณ , ํฌํ๋ฅผ ํตํด ๊ฐ์ฅ ๋ง์ ๋ ์ด๋ธ๋ก ์์ธกํจ.
- K๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๊ฒฝ๊ณ๊ฐ ๋ถ๋๋ฌ์์ง.
Parameter 2) Distance Metric(๊ฑฐ๋ฆฌ์ฒ๋)
- Distance Metric ๋ ๋ฐ์ดํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ด ๋ ์ฌ์ฉํ๋ ๊ธฐ์ค
- ์ฆ, ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅ(์์ธก) ํ ๋, ํ์ตํ ์ด๋ฏธ์ง ์ค ์ด๋ค ์ด๋ฏธ์ง์ ๋น์ทํ์ง ๋น๊ตํ๋ ์ฒ๋.
- ์ผ์ชฝ ์ด๋ฏธ์ง: ์ฐ๋ฆฌ๊ฐ ๊ถ๊ธํ ํ ์คํธ ์ด๋ฏธ์ง
- ์ค๋ฅธ์ชฝ ์ด๋ฏธ์ง๋ค: ํ์ต ์ด๋ฏธ์ง(ํ ์คํธ ์ด๋ฏธ์ง์ ์ ์ฌํ ์์๋ก ์ ๋ ฌ)
Distance Metric - L1 / L2 distance
- L1 distance
- ๊ฐ ํฝ์ ๊ฐ์ ๋น๊ตํ๊ณ , ๊ทธ ์ฐจ์ด์ ์ ๋๊ฐ์ ๋ชจ๋ ํฉํ์ฌ ํ๋์ ์งํ๋ก ์ค์ ํจ.
- ์์ ์์ ๋ ๋ ์ด๋ฏธ์ง๊ฐ์ 456๋งํผ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ ๊ณ์ฐํ ์ ์์.
- L2 distance
- L2 distance ๋ ํ์ต๋ ์ด๋ฏธ์ง์ ํ ์คํธ ์ด๋ฏธ์ง์ ํฝ์ ๊ฐ์ ์ฐจ์ด์ ์ ๊ณฑ ํฉ์ ์ ๊ณฑ๊ทผ์ ๊ฑฐ๋ฆฌ๋ก ์ด์ฉํ๋ ๋ฐฉ๋ฒ.
- L1 distance ๋ ์ขํ์ถ์ ๋ฐ๋ผ ๊ฑฐ๋ฆฌ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ํน์ ๋ฒกํฐ๊ฐ ๊ฐ๋ณ์ ์ธ ์๋ฏธ (ex. ํค, ๋ชธ๋ฌด๊ฒ) ๋ฅผ ๊ฐ์ง๊ณ ์์๋ ์ฌ์ฉํจ.
- ์ผ๋ฐ์ ์ธ ๋ฒกํฐ ์์๋ค์ ์๋ฏธ๋ฅผ ๋ชจ๋ฅด๊ฑฐ๋ ์๋ฏธ๊ฐ ๋ณ๋ก ์์ ๋๋ L2 distance๋ฅผ ์ฌ์ฉํจ.
1.2) + Hyper parameter
- ์์ ๊ฐ์ด K๊ฐ Distance Metric ๊ณผ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ค์ Hyper Parameter ์ด๋ผ๊ณ ํจ.
- ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ฅผ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ ํด์ผ ํ๋๊ฐ?
1. ๋จธ์ ๋ฌ๋ task ๋ training data ๋ฅผ ์ ๋ถ๋ฅ(์์ธก)ํ๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด unseen data ์ ๋ํด ์ ๋ถ๋ฅํด์ผ ์๋ฏธ๊ฐ ์์.
2. ์ ์ฒด ๋ฐ์ดํฐ์ ์ train data ์ test data ๋ก ๋๋์ด train data๋ก ํ์ต์ ์ํจ ๋ค, test data ์์ ๊ฐ์ฅ ์ฑ๋ฅ์ด ๋๊ฒ ๋์ค๋ hyperparameter ๋ฅผ ์ฌ์ฉ.
⇒ ํ์ง๋ง test data set์ผ๋ก๋ง ์ฑ๋ฅ์ ๋งค๊ธด ๊ฒ์ด unseen data๋ฅผ ๋ํํ์ง๋ ๋ชปํจ.
3. trainning set, validation set, test set ์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ
trainning set, validation set์ ํตํด hyperparmeter ์ ๋ํด ์คํํด๋ณด๊ณ ๋ง์ง๋ง์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ์ธ test set์ ํตํด ํ๊ฐํ๋ ๋ฐฉ๋ฒ.
4. cross validation
๋ง์ง๋ง์ ๋ฑ ํ๋ฒ ์ฌ์ฉํ ํ ์คํธ ๋ฐ์ดํฐ๋ ๋นผ๋์.
๋๋จธ์ง ๋ฐ์ดํฐ๋ค์ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋์ด์ค.
์ด๋ก์ ๋ฐ์ดํฐ๋ก ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ต์ํค๊ณ , ๋ ธ๋์์์ ์ด๋ฅผ ํ๊ฐ ํ ์ต์ ์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒฐ์
- K-NN ์ K ๊ฐ์ 5-fold cross-validation ์ ํตํด ๋ํ๋ด๋ฉด ์๋์ ๊ทธ๋ํ์ ๊ฐ์ด ๋ํ๋ผ ์ ์๊ณ , ์๋์ ๊ทธ๋ํ์ ๊ฒฝ์ฐ์๋ k ๊ฐ ์ฝ 7์ผ๋ ์ต์ ์ hyperparameter ๊ฐ ๋จ.
1.3) KNN์ ํ๊ณ
- ์ด๋ฏธ์ง ๋ถ๋ฅ์ ์ ์ฐ์ด์ง ์์.
1. test ํ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ
2. Distance Metric์ ํฝ์ ๋จ์์์ ์ ์ฉํ ์ ๋ณด๊ฐ ์๋
- 3๊ฐ์ ์๊ณก๋ ์ด๋ฏธ์ง๊ฐ ์กด์ฌ
- ์ ์ ๋ง์ ์ด๋ฏธ์ง, ๋ช ํฝ์ ์ ์๋๋ก ๋ด๋ฆฐ ์ด๋ฏธ์ง, ํ๋์ ์์กฐ๋ฅผ ๋๋๋ก ๋ง๋ ์ด๋ฏธ์ง
- ์๋ณธ๊ณผ ๋ฐ์ค๋ฅผ ๊ทธ๋ฆฐ ์ด๋ฏธ์ง์ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด ๋ณด๋ฉด, ์๋ณธ๊ณผ ์ด๋ํ ๊ฒ, ์๋ณธ๊ณผ ์์กฐ๊ฐ ๋ณํ ๊ฒ, ์ด ๋ชจ๋ ๊ฒ์ ๊ฐ์ L2 ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ง.
- ์ด๋ฌํ ์ด์ ๋ก ์ด๋ฏธ์ง ๊ฐ์ ์ด๋ฐ ์ธ์์ ์ฐจ์ด๋ฅผ ์ก์๋ด๋๋ฐ L2 ๊ฑฐ๋ฆฌ๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ง ๋ชปํจ.
3. ์ฐจ์์ ์ ์ฃผ
- ํ์ต ๋ฐ์ดํฐ ์ฃผ๋ณ์ผ๋ก ํ์ธํธ๋ฅผ ๋จ์ด๋จ๋ ค์ ๊ณต๊ฐ ๋ถ๋ฆฌํ๋๋ฐ ์ฌ์ฉ
- ์ฆ, Knn์ด ์ ๋์ํ๋ ค๋ฉด ์ ์ฒด ๊ณต๊ฐ์ ์กฐ๋ฐํ๊ฒ ์ปค๋ฒํ ๋งํผ์ ์ถฉ๋ถํ ํธ๋ ์ด๋ ์ํ์ด ํ์ํจ.
- ๊ทธ๋ ์ง ์์ผ๋ฉด ์ต๊ทผ์ ์ด์์ด ๊ฝค ๋ฉ๊ฒ ๋๊ณ , ํ ์คํ ํฌ์ธํธ์ ์ ์ฌํ์ง ์์ ์๋.
- ๊ณ ์ฐจ์์ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ณต๊ฐ์ ์ปค๋ฒํ ๋งํผ์ ๋ฐ์ดํฐ(ํ๋ จ ๋ฐ์ดํฐ)๋ฅผ ๋ชจ์ผ๋ ์ผ์ ํ์ค์ ์ผ๋ก ๋ถ๊ฐ๋ฅํจ.
2. Linear Classification
- NN(Neural Network)๊ณผ CNN์ ๊ธฐ๋ฐ์ด ๋๋ ์๊ณ ๋ฆฌ์ฆ
- ์ปค๋ค๋ ๋ ๊ณ ๋ชจํ์ Neural Network๋ผ๊ณ ํ ๋, ๋ ๊ณ ํ๋ํ๋์ ์ญํ ์ ํ๋ ๊ฒ์ด Linear classifier.
- ๋ฐ๋ผ์ Linear classifier์ ์ ํํ ์ดํดํ๋ ๊ฒ์ด ์ค์ํจ.
- input : 32*32*3, 10๊ฐ ์นดํ ๊ณ ๋ฆฌ ์ค ํ๋ ๋ถ๋ฅ
- W(๊ฐ์ค์น): train data์ ๋ํ ์์ฝ๋ ์ ๋ณด๊ฐ ๋ค์ด์์
- ๋ฅ๋ฌ๋์ f(x,W)๋ก ๋ ๊ฐ์ค ํจ์๋ฅผ ์ ์ ํ๊ฒ ์ค๊ณํ๋ ์ผ.⇒ ์ ๋ ฅ ๋ฐ์ดํฐ์ W๋ฅผ ์กฐํฉํด ๊ด๊ณ์์ ๋ง๋ฌ ⇒ linear classification (f=wx)
- B๋ bias๋ก ๋ฐ์ดํฐ์ ๋ฌด๊ดํ๊ฒ ํน์ ํด๋์ค์ ์ฐ์ ๊ถ์ ๋ถ์ฌํจ. ์ฃผ๋ก dataset์ด unbalanceํ ๋ ์ฌ์ฉํจ.
- b์ ๊ฐ์ ์ด์ฉํด์ ๋ด๊ฐ ์ํ๋ ์ ํ(linear classifier)์ ์ข ๋ ์ ๊ทผ์ฌํ ์ ์๋๋ก ํจ.
- ์ ๋ ฅ์ด๋ฏธ์ง๋ ํ๋ ฌ์ ํํ๋ก W(weight)์ ๊ณฑ(๋ด์ )ํด์ง๊ฒ ๋๊ณ ๊ฑฐ๊ธฐ์ bias ๋ฅผ ๋ํด ๊ฐ class ์ ๋ํ ์ ์๊ฐ ๋์ด.
- ์ฆ, ์ฌ๊ธฐ์ ๊ณฑํด์ง๋ w ์ ๊ฐ๊ฐ์ ํ(row)์ด ๊ฐ ํด๋์ค์ ํ๊ท ์ ์ธ ํ ํ๋ฆฟ์ด๋ผ๊ณ ํ ์
- ์ด๋ ๊ฒฐ๊ตญ ํด๋์ค์ ํฌํ๋ฆฟ๊ณผ ์ธํ ์ด๋ฏธ์ง(x)์ ์ ์ฌ๋๋ฅผ ์ธก์ ํ๋ ๊ฒ๊ณผ ๊ฐ์.
- CIFAR10 ๋ฐ์ดํฐ๋ก ํ์ต์ํจ Linear classifier ์ ๊ฐ์ค์น(W) ํ๋ ฌ์ ๊ฐ ํ์ ์๊ฐํ ํ ์ด๋ฏธ์ง
- Linear classifier ์ ๋ฌธ์ ์ ์ ํ class ๋ด์ ๋ค์ํ ํน์ง๋ค์ด ์กด์ฌํ ์ ์์ง๋ง, ๋ชจ๋ ๊ฒ๋ค์ ํ๊ท ํ ์ํจ๋ค๋ ์ ์ด ์์.
- horse class ์ ๋ํ W ํ์ ์๊ฐํํ ์ด๋ฏธ์ง๋ฅผ ํ์ธํ๋ฉด ๋ง์ ๋จธ๋ฆฌ๊ฐ ์์ชฝ์ผ๋ก ์๋ ๊ฒ์ ํ์ธํ ์ ์์.
- ์ด๋ฌํ ์ ์ด ํ๋์ linear classifier ์ด ๊ฐ์ง๋ ๋ฌธ์ ๊ฐ ๋๋ฌ๋๋ ๋ชจ์ต์์ ์ ์ ์์ต๋๋ค.
- ์ด๋ฏธ์ง๋ฅผ ๊ณ ์ฐจ์์ ํ ์ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด linear classifier์ ๊ฐ ํด๋์ค๋ฅผ ๊ตฌ๋ถํ๋ ์ ํ boundary ์ญํ ์ ํ๊ฒ ๋จ
⇒ ํ์ง๋ง ์ด์ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ์ ํ ๋ถ๋ฅ๊ธฐ๋ฅผ ํตํด ๋ถ๋ฅํ๊ธฐ ์ด๋ ค์.
⇒> lecture 3์์ ์ ํฉํ ๊ฐ์ค์น๋ฅผ ๊ณ ๋ฅด๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ค๋ช ํจ. (์์คํจ์)
'Deep Learning > 2023 DL ๊ธฐ์ด ์ด๋ก ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ๋ฅ๋ฌ๋ ํ์ดํ ์น] Part3 (0) | 2023.07.08 |
---|---|
[ํ์ด์ฌ ๋ฅ๋ฌ๋ ํ์ดํ ์น] Part5 (0) | 2023.07.08 |
[Standford_cs231n] Lecture 3 ) Loss Functions and Optimization (0) | 2023.07.08 |
[Standford_cs231n] Lecture 4 ) Introduction to Neural Networks (0) | 2023.07.08 |
[Standford_cs231n] Lecture 5 ) Convolutional Neural Networks (0) | 2023.07.07 |