[cs231n] Lecture 2: Image Classification pipeline review

๊ฐ•๋™์—ฐยท2022๋…„ 1์›” 10์ผ
1

[CS231n-2017]

๋ชฉ๋ก ๋ณด๊ธฐ
1/7

๐Ÿ‘จโ€๐Ÿซ ๋ณธ ๋ฆฌ๋ทฐ๋Š” cs231n-2017 ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Syllabus
Youtube Link

Image Classification pipeline

๐Ÿ“Œ Image Classification: Computer Vision์˜ Core task์ด๋‹ค.!!!

โšก ์œ„ ์‚ฌ์ง„์„ ๋ณด๋ฉด ์šฐ๋ฆฌ๋Š” "๊ณ ์–‘์ด"๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ์ธ์‹ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

โšก ์œ„ ์‚ฌ์ง„์€ ์ปดํ“จํ„ฐ๊ฐ€ ๋ณด๋Š” ๊ณ ์–‘์ด ์‚ฌ์ง„์˜ ์ผ๋ถ€์ด๋‹ค.
๐Ÿ“Œ ์ปดํ“จํ„ฐ๊ฐ€ ๊ณ ์–‘์ด๋ฅผ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋‹ค์–‘ํ•œ ํ•ด๊ฒฐ์š”์†Œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

(1). Viewpoint variation: ์‹œ์„ ์˜ ๋ฐฉํ–ฅ์˜ ๋”ฐ๋ผ ํ”ฝ์…€์˜ ๊ฐ’์€ ํ•ญ์ƒ ๋‹ฌ๋ผ์ง„๋‹ค. ์ฆ‰, ์‚ฌ๋žŒ์˜ ์‹œ์„ ์œผ๋กœ๋Š” ๊ฐ™์€ ๋ฌผ์ฒด์ด์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ์•„๋‹ˆ๋‹ค.
(2). Illumination: ์กฐ๋ช…์ด๋‚˜ ๋ฐ๊ธฐ์— ๋”ฐ๋ผ ํ”ฝ์…€์˜ ๊ฐ’์€ ํ•ญ์ƒ ๋‹ฌ๋ผ์ง„๋‹ค.
(3). Deformation: ์ž์„ธ ๋ฐ ๋ณ€ํ˜•์ ์ธ ๋ชจ์Šต์—๋„ ๋ฌผ์ฒด๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.
(4). Occlusion: ์ผ๋ถ€๊ฐ€ ๊ฐ€๋ ค์ง„ ๋ฌผ์ฒด์—๋„ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.
(5). Challenges: ์ƒ‰ ๋ฐ ํ˜•์ฒด๊ฐ€ ๋น„์Šทํ•œ ๋ฐฐ๊ฒฝ์—๋„ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

๐Ÿ‘จโ€๐Ÿซ ์ข‹์€ Image Classification์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์œ„์™€ ๊ฐ™์€ ์กฐ๊ฑด๋“ค์ด ๋งŒ์กฑํ•ด์•ผํ•œ๋‹ค. ๊ฐ•์˜์—์„œ๋Š” 'robust' ํ•ด์•ผํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•œ๋‹ค.

** Robust๋ž€ ํ•ด์„ํ•˜์ž๋งŒ ์‚ฌ์ „์ ์œผ๋กœ "๊ฐ•๊ฑดํ•œ" ์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ์กฐ๊ธˆ ๋” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ด€์ ์œผ๋กœ ์ด์•ผ๊ธฐํ•˜๋ฉด outlier์— ๋œ ๋ฏผ๊ฐํ•˜๋‹ค๋Š” ๋œป์ด๋‹ค. (Ex. t-๋ถ„ํฌ๋Š” ์ •๊ทœ๋ถ„ํฌ๋ณด๋‹ค robustํ•˜๋‹ค. ๋‘ ๋ถ„ํฌ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด t-๋ถ„ํฌ๊ฐ€ ์ •๊ทœ๋ถ„ํฌ๋ณด๋‹ค ๋” ๋‘๊บผ์šด ๊ผฌ๋ฆฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.)



๐Ÿ“Œ ์ง๊ด€์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋Š” ๊ตฌํ˜„ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด๋‚˜ ์–ด๋ ค์šด ๊ณผ์ œ์ด๋‹ค. ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ง€ edges์™€ corners๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์œ„์˜ ๋ฐฉ์‹์€ ์œ„์˜ ์กฐ๊ฑด๋“ค์— ๋Œ€ํ•ด robust ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

Data-Driven Approach

(1). Collect a dataset of images and labels
(2). Use Machine Learning to train a classifier
(3). Evalute the classifier on new images

๐Ÿ“Œ ์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, Data-Driven Appoach ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์š”์•ฝํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ -> ๋ชจ๋ธ ํ•™์Šต -> ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋กœ test๋ฅผ ํ•œ๋‹ค. ์–ด๋–ค ์ง๊ด€์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

Classification

Nearest Neigbor

โœ” ๋งค์šฐ ๊ฐ„๋‹จํ•œ classification์„ ๋ชจ๋ธ์ด๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•ด classification์„ ํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค.


๐Ÿ“Œ Distance Metric: ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
(1) L1 distance: I1, I2์˜ ์ฐจ๋ฅผ ์ ˆ๋Œ“๊ฐ’ํ•œ ํ›„ sumation ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
(2) L2 distance: I1, I2์˜ ์ฐจ์˜ ์ œ๊ณฑํ•ฉ์„ ๊ตฌํ•œ๋‹ค.
๐Ÿ“Œ Nearest Neigbor๋ชจ๋ธ๋กœ ํ•™์Šตํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ์œ„์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ดˆ๋กœ์ƒ‰ ๋ฐ”ํƒ•์•ˆ์— ๋…ธ๋ž€์  ํ•˜๋‚˜ ์œ ๋… ๋ˆˆ์— ๋›ด๋‹ค. ๋ถ„๋ช… ์œ„์˜ ๋…ธ๋ž€์ ์€ ์ดˆ๋ก์ƒ‰์œผ๋กœ ๋ถ„๋ฆฌํ–ˆ์–ด์•ผํ•œ๋‹ค. ๋ถ„๋ช… ์œ„์˜ ๋ชจ๋ธ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค.

K-Nearest Neigbor


๐Ÿ“Œ Nearest Neigbor๋ชจ๋ธ์—์„œ K๋งŒ ์ถ”๊ฐ€๋œ ๋ชจ๋ธ์ด๋‹ค. ์—ฌ๊ธฐ์„œ K๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด K๊ฐœ์˜ ํฌ์ธํŠธ๋ฅผ ์ฐพ์•„์„œ ํˆฌํ‘œ๋ฅผ ํ†ตํ•ด class๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ธฐ์กด์€ Nearest Neigbor๋ชจ๋ธ๊ณผ ๊ธฐ๋ณธ์ ์ธ ๋กœ์ง์€ ๋™์ผํ•˜๋‹ค. ์œ„์˜ ์‚ฌ์ง„์„ ๋ณด๋ฉด K๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜๋ก ๊ฒฝ๊ณ„๊ฐ€ ์ ์  ๋ถ€๋“œ๋Ÿฌ์›Œ ์ง€๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์ œ ๋ช‡๋ช‡ ํฌ์ธํŠธ๋Š” ์ž˜๋ชป๋œ class์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. K=5์ธ ๋ชจ๋ธ์ด K=1์ธ ๋ชจ๋ธ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ, K=5์ธ ๋ชจ๋ธ์ด ์กฐ๊ธˆ ๋” ์ผ๋ฐ˜์ ์ด๋‹ค. ๋ถ„๋ช… test case๋กœ ๊ฒ€์ฆํ•œ๋‹ค๋ฉด K=5์ธ ๋ชจ๋ธ์ด ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„ ๊ฒƒ์ด๋‹ค.



๐Ÿ“Œ ํ•˜์ง€๋งŒ Image classification์—์„œ K-Nearest Neigbor๋ชจ๋ธ์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด์œ ์˜ ์œ„์˜ ์‚ฌ์ง„๋“ค์„ ๋ณด๋ฉด, ์ง๊ด€์ ์œผ๋กœ ์›๋ณธ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ 3๊ฐœ์˜ ์‚ฌ์ง„๋“ค์ด ์ „๋ถ€ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€์ธ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ 3๊ฐ€์ง€ ์ด๋ฏธ์ง€ ์ „๋ถ€ ๊ฐ™์€ L2 ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ๋˜ ํ•˜๋‚˜์˜ ์ด์œ ๋Š” "Very slow at test time" ํ…Œ์ŠคํŠธํ•˜๋Š”๋ฐ ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์ด ๋“ ๋‹ค.

๐Ÿ“Œ ๋˜ํ•œ Curse of dimensionalilty(์ฐจ์›์˜ ์ €์ฃผ)๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ฐจ์›(=๋ณ€์ˆ˜)์ด ์ปค์งˆ์ˆ˜๋ก , ๊ณ„์‚ฐ๋ฒ•์ด ์ง€์ˆ˜์ ์œผ๋กœ ์ปค์ง€๋Š” ํ˜„์ƒ์ด๋‹ค. ๊ณ ์ฐจ์›์ด ๋  ์ˆ˜๋ก ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฉ€์–ด์ง€๊ณ , ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ธด๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด 1์ฐจ์›์ด ์ฆ๊ฐ€ํ•  ์ˆ˜๋ก ์ง€์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.



Hyperparameters

๐Ÿ“Œ Hyperparameter์€ ๋ฒˆ์—ญํ•˜๋ฉด ์ดˆ๊ฐœ๋งค๋ณ€์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. Hyperparameter์€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค์œ„ํ•ด ์ž„์˜์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๋ณ€์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. K-Nearest Neigbor์—์„œ K(=1,3,5..)์™€ distance(L1,L2)๋Š” ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ์‚ฌ๋žŒ์ด ์ž„์˜์ ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋“ค์„ Hyperparameter๋ผ๊ณ  ํ•œ๋‹ค. ์ตœ์ ์˜ Hyperparameter๋Š” ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์œผ๋ฉฐ problem-dependentํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

Cross-validation & Split Datasets

๐Ÿ“Œ ์ผ๋ฐ˜์ ์œผ๋กœ Dataset์„ train-validation-test๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. ์‰ฝ๊ฒŒ train์€ ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•ด test๋Š” ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋Ÿผ validation์€ ๋ฌด์—‡์ผ๊นŒ?


โœ” validation์€ Cross-validation์ด๋ž‘ ์—ฎ์–ด์„œ ์ดํ•ดํ•˜๋ฉด ์‰ฝ๋‹ค. Cross-validation ํŠน์ • ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ์ดํ„ฐ์…‹์„ ๋ถ„๋ฆฌํ•ด ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋ถ„๋ฆฌ๋œ train์…‹ ํ•˜๋‚˜๋ฅผ ํ…Œ์ŠคํŠธ์…‹์œผ๋กœ ๋†“๊ณ  ํŠน์ • ๊ฐœ์ˆ˜๋งŒํผ ํ•™์Šต์„ ์‹œํ‚จ๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ์…‹์ด validation์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Cross-validation์„ ๋ชฉ์ ์€ ์™œ ํ•˜๋Š”๊ฒƒ์ผ๊นŒ? ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด Hyperparameter์€ ์ž„์˜๋กœ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค Hyperparameter๋“ค์ด ์ตœ์ ์˜ Hyperparameter์ธ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ์šฐ๋ฆฌ๋Š” Cross-validation ์ตœ์ ์˜ Hyperparameter๋ฅผ ์ฐพ์„๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Linear Classification


๐Ÿ“Œ ์œ„ ์‚ฌ์ง„์€ ๊ฐ•์˜ ์ค‘ Linear classifiers์™€ Neural Network๋ฅผ ๋ธ”๋Ÿญ ์Œ“๊ธฐ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์‹ ์„ ํ•œ ํ‘œํ˜„์ด๋ผ์„œ ๊ฐ€์ง€๊ณ  ์™”์ง€๋งŒ, ์‹ค์ƒ์€ ํ›จ์”ฌ ๋” ์–ด๋ ต๋‹ค๋Š...๋Š๋Š...ใ… ใ… 

Parametric Appoach




๐Ÿ“Œ Parametic classifier๋ž€ ๊ฐ„๋‹จํ•˜๊ฒŒ train data์˜ ์ •๋ณด๊ฐ€ ๊ฐ€์ค‘์น˜ W๋กœ ์š”์•ฝ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ“Œ Linear Classification์€ ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ•จ์ˆ˜ F๋ฅผ ํ†ตํ•ด ํŠน์ • ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ด์ „๊ณผ ๋‹ค๋ฅธ์ ์€ W์ธ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ Parameter or weights๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ๊ธฐ์กด K-NN์—์„œ๋Š” ๋”ฐ๋กœ Parameter๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•˜๋‹ค. Linear Classification์—์„œ Parameter์˜ ์—ญํ™œ์€ ๊ฒฐ๊ณผ์— ๋งŽ์€ ์˜ํ–ฅ์ด ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•ด์„ , ์ข‹์€ ํŒŒ๋ผ๋ฏธํ„ฐ(?)๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๐Ÿ“Œ ์œ„์˜ ์‚ฌ์ง„์—์„œ ํ•จ์ˆ˜ f(x,W)๊ฐ€ ๊ธฐ๋ณธ์ ์ธ Linear Classification์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. x๋Š” input, W๋Š” Parameter or weights, b๋Š” bias๋ผ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์ง€์นญํ•œ๋‹ค. Linear Classification์„ ์‚ฌ์šฉํ•  ๋•Œ(?) ์ค‘์š”ํ•œ ์ ์€ dimension์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ–‰๋ ฌ์—ฐ์‚ฐ์€ dimension์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ์— ํ•ญ์ƒ ์œ ๋…ํ•ด์•ผํ•œ๋‹ค.




๐Ÿ“Œ ์œ„ ์•„๋ž˜ 10๊ฐ€์ง€์˜ ํ๋ฆฟํ•œ ์‚ฌ์ง„๋“ค์€ trained weights ๊ฐ’๋“ค์ด๋‹ค. ์‚ฌ์ง„์„ ๋ณด์‹œ๋‹ค ์‹ถ์ด ์–ด๋Š์ •๋„ ๋น„์Šทํ•œ ๋ถ€๋ถ„์ด ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ ํ˜•ํƒœ๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜ ์—†๋‹ค.


๐Ÿ“Œ ์œ„ ์‚ฌ์ง„์€ Linear Classification ํ•œ๊ณ„์ ์ด๋‹ค. Class 1,2๋ฒˆ์€ Pairty data, Class 3๋ฒˆ์€ Multimodel data๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ์œ„์˜ ๋ชจ๋“  ์‚ฌ์ง„๋“ค์€ Linearํ•œ ์„ ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๋‹ค. ํ•˜๋‚˜์˜ ์„ ์œผ๋กœ๋Š” ์œ„ Classs๋“ค์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
profile
Maybe I will be an AI Engineer?

0๊ฐœ์˜ ๋Œ“๊ธ€