[CS231n] Lecture 2 | Image Classification ์š”์•ฝ ์ •๋ฆฌ

ํ•˜๋Š”ยท2024๋…„ 2์›” 27์ผ
0

cs231n

๋ชฉ๋ก ๋ณด๊ธฐ
2/14
post-thumbnail

๐Ÿ”—๊ฐ•์˜ ์˜์ƒ

๋ชฉ์ฐจ

  • Image Classification์ด๋ž€?
  • image Classification algorithm
  • Linear Classification

image classification์— ๋Œ€ํ•ด

์ปดํ“จํ„ฐ๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋Š” ๋กœ์ง

  • ์šฐ๋ฆฌ๋Š” ์ด ์‚ฌ์ง„์„ ๋ณด๊ณ  ๊ณ ์–‘์ด๋ผ๊ณ  ๋ฐ”๋กœ ์ธ์‹ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ์‹ค์ œ๋กœ ์ˆซ์ž๋“ค์˜ ๋‚˜์—ด๋กœ ์ธ์‹ํ•œ๋‹ค.
    ์กฐ๊ธˆ์˜ ๋ณ€ํ™”๊ฐ€ ์žˆ์–ด๋„ ์ด ์ˆซ์ž์˜ ๋‚˜์—ด์€ ๋งŽ์ด ๋‹ฌ๋ผ์ง„๋‹ค.

    ์นด๋ฉ”๋ผ ์œ„์น˜
    ๊ณ ์–‘์ด์˜ ํฌ์ฆˆ
    ๋ฐ๊ธฐ

cv์˜ ๋ชฉํ‘œ

์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์–ด๋„ ๊ณ ์–‘์ด ์‚ฌ์ง„์„ ๊ณ ์–‘์ด๋กœ ์ธ์‹ํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์–ด ํ•œ๋‹ค.

image Classification algorithm

ํŠน์ง•์  ์ฐพ๊ธฐ

์ดˆ๊ธฐ์—๋Š” edge(๋ฌผ์ฒด์˜ ํ…Œ๋‘๋ฆฌ)๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๊ท€์˜ ๋ชจ์–‘, ๋ˆˆ,์ฝ”,์ž… ๋“ฑ์˜ ํŠน์ง•์ด ๋˜๋Š” ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ๋ฌผ์ฒด๋ฅผ ๋ถ„๋ฅ˜(์ด ์‚ฌ์ง„ ๊ณ ์–‘์ด๋ผ๊ณ  ํŒ๋ณ„)ํ•˜๋Š” ์—ฐ๊ตฌ๋ฅผ ํ–ˆ๋‹ค.

  • ๋‹จ์ 
    • ๋ณ€ํ™”์— ๊ฐ•์ธ(robust)ํ•˜์ง€ ์•Š์•„์„œ ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋„์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค.
      - ๋ณ€ํ™”์— ๊ฐ•์ธํ•˜๋‹ค: ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์™ธ๋ถ€ ํ™˜๊ฒฝ์˜ ๋ณ€ํ™”๋‚˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๋™์—๋„ ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ํŠน์ • ์กฐ๊ฑด์ด๋‚˜ ๋ณ€ํ™”์— ์ทจ์•ฝํ•˜๋‹ค.
    • ๊ฐ•์•„์ง€, ์ง‘ ๋“ฑ ๋‹ค๋ฅธ ๊ฐ๊ฐ ๋ฌผ์ฒด๋ฅผ ์ธ์‹ํ•  ๋•Œ ๊ทธ ๋ฌผ์ฒด์— ๋Œ€ํ•œ ํŠน์ง•์„ ๊ฐ๊ฐ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ์‹์ด ๋น„ํšจ์œจ์ ์ด๋‹ค.

k๊ทผ์ ‘ ์ด์›ƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (K-Nearest Neighbor Algorithm)

๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

๊ฐ€๊นŒ์šด ์ด์›ƒ k๊ฐœ๋ฅผ ์ฐพ๊ณ  ํˆฌํ‘œ๋ฅผ ํ†ตํ•ด ๊ฐ€์žฅ ๋งŽ์€ ๋ ˆ์ด๋ธ”๋กœ ์˜ˆ์ธก. k๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์ ์ฐจ ๊ฒฝ๊ณ„๊ฐ€ ๋ถ€๋“œ๋Ÿฌ์›Œ์ง€๋Š” ๋ชจ์Šต์„ ๋ณด์ธ๋‹ค.

  • K-Nearest Neighbor Algorithm์—์„œ ์‚ฌ์šฉํ•˜๋Š” Distance Metric

  • L1: ๋งจํ•˜ํƒ„ ๊ฑฐ๋ฆฌ
    • ์ ˆ๋Œ€๊ฐ’
    • ํŠน์ • ๋ฒกํ„ฐ๊ฐ€ ๊ฐœ๋ณ„์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค.
  • L2: ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ
    • ์ œ๊ณฑํ•ฉ
    • ๊ทธ ์™ธ์˜ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉ

L1์€ ์ขŒํ‘œ๊ณ„๊ฐ€ ํšŒ์ „ํ•˜๋ฉด ๋ณ€ํ•˜๊ณ  L2๋Š” ์ขŒํ‘œ๊ณ„๋ž‘ ๋…๋ฆฝ์ ์ด๋‹ค.

L1์˜ ๊ฒฝ์šฐ region์—์„œ๋„ ์ขŒํ‘œ์ถ•์— ์˜ํ–ฅ ๋ฐ›๊ณ  ์žˆ๋‹ค. L2์˜ boundary๊ฐ€ ๋” ๋ถ€๋“œ๋Ÿฝ๋‹ค.
knn์— ๋‹ค์–‘ํ•œ ๊ฑฐ๋ฆฌ ์ฒ™๋„๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€ ์™ธ์—๋„ ํ…์ŠคํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. (๋‘ ๋ฌธ์žฅ ๊ฑฐ๋ฆฌ ๋น„๊ต)

ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ

ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ •ํ•˜๋Š” ๊ธฐ์ค€

๋ฐ์ดํ„ฐ๋ฅผ train, validation, test์šฉ์œผ๋กœ ๋ถ„๋ฆฌ, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ train ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์‹œํ‚จ๋‹ค. validation data๋กœ ๊ฒ€์ฆ, ๊ฐ€์žฅ ์ข‹์•˜๋˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ ํƒ, ํ…Œ์ŠคํŠธ ์…‹์€ ๊ฐ€์žฅ ์ข‹์€ clasifier๋ฅผ ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ validation/test ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ : ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ๋งž๋‹ฅ๋œจ๋ ธ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

cross validation

ํ•œ ๋ฒˆ ๋‚˜๋ˆ„์–ด์„œ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ์ผ๋ฐ˜ํ™”๋œ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค
์‹ค์ œ๋กœ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์— ์ž˜ ์“ฐ์ง„ ์•Š๋Š”๋‹ค.

K-Nearest Neighbor Algorithm์˜ ๋‹จ์ 

  • ํ…Œ์ŠคํŠธ ์‹œ๊ฐ„์ด ๋А๋ฆผ.
  • L1, L2 ๊ฑฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ์ง€ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๊ธฐ์— ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹˜.
  • ์ฐจ์›์˜ ์ €์ฃผ์— ๋น ์ง€๊ธฐ ์‰ฌ์›€.

Linear Classification (์„ ํ˜• ๋ถ„๋ฅ˜)

  • neural network๊ณผ cnn์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜.
  • Parametric model์˜ ๊ธฐ์ดˆ๊ฐ€ ๋จ.
    • Parametric model์ด๋ž€?


์‚ฌ์ง„์—์„œ x: ์ž…๋ ฅ ์ด๋ฏธ์ง€, W: parameter
knn๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ ์“ฐ๊ณ  ์ „์ฒด ํŠธ๋ ˆ์ด๋‹ ์…‹์„ ๋‹ค ๋น„๊ตํ•˜๋Š” ๋ฐ˜๋ฉด, parametric ์ ‘๊ทผ๋ฒ•์€ train ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ์š”์•ฝํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ W์— ๋ชจ์•„์ค€๋‹ค.

train data์˜ ์š”์•ฝ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ W๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋”์ด์ƒ test๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
๋”ฅ๋Ÿฌ๋‹์ด๋ž€ ์—ฌ๊ธฐ์„œ ์ด ํ•จ์ˆ˜ f(x)๋ฅผ ์ž˜ ์„ค๊ณ„ํ•˜๋Š” ์ผ์ด๋‹ค.

f(x,W) = W*x+b์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜

- argument ์„ค๋ช…

2x2์ธ input ์ด๋ฏธ์ง€๋ฅผ 4x1๋กœ ๋ณ€ํ˜•์‹œํ‚จ๋‹ค. ์‹ค์ œ๋กœ ๋ณด์—ฌ์ง€๋Š” ํ”ฝ์…€ ์œ„์น˜๋Š” ๊ณ„์‚ฐํ•  ๋•Œ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ํŽธํ•˜๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ ฌ๋กœ ์„ธ์šด๋‹ค.
w(๊ฐ€์ค‘์น˜): ํ•œ ํ”ฝ์…€์ด ๊ฐ ํด๋ž˜์Šค์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€์— ๊ด€ํ•œ ์ˆ˜์น˜. w์˜ ํฌ๊ธฐ = (ํด๋ž˜์Šค ์ข…๋ฅ˜xํ•œ ์—ด๋กœ ์„ธ์šด input ์ด๋ฏธ์ง€ ๊ธธ์ด)
์œ„ ์‚ฌ์ง„์—์„œ 1.1, 3.2, -1.2 ๊ฐ’์˜ 1x3 box๋Š” b(bias, ํŽธํ–ฅ ๊ฐ’)์ด๋‹ค. ์ „์ฒด data set์— ๊ฐœ ์‚ฌ์ง„์ด ๋งŽ์•„์„œ ๊ฐœ๋กœ ๋” ๋งŽ์ด ๋ถ„๋ฅ˜๋˜๋Š” ํŽธํ–ฅ์„ ๋ณด์ด๋ฏ€๋กœ ๊ฐœ์˜ ๊ฐ’์ด ๊ฐ€์žฅ ๋†’๊ฒŒ ์„ค์ •๋œ ๋“ฏํ•˜๋‹ค.

- ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

W*x: ๊ฐ ํด๋ž˜์Šค๋ณ„ w๊ฐ’์„ ๋ชจ๋“  ํ”ฝ์…€ ๊ฐ’์— ์Šค์นผ๋ผ ๊ณฑ์…ˆ์„ ํ•ด์ค€๋‹ค.
ex) ๊ณ ์–‘์ด ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ: w ๊ฐ’ ์ค‘, ์ฃผํ™ฉ์ƒ‰(0.2, -0.5, 0.1, 2.0)์„ x๊ฐ’(56,231,24,2)์— ๊ณฑํ•ด์ค€๋‹ค. 11.2,-115.5,2.4,4.0๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด ๊ฐ’์„ ๋ชจ๋‘ ํ•ฉํ•ด์ฃผ๋ฉด -97.9๋‹ค.
๊ฐ ํด๋ž˜์Šค์— +b๋ฅผ ํ•œ๋‹ค.
์•„๊นŒ ๋„์ถœํ•œ -97.9์— [1.1, 3.2, -1.2] ์ค‘, ๊ณ ์–‘์ด ํด๋ž˜์Šค์˜ b๊ฐ’์ธ 1.1์„ ๋”ํ•ด์ฃผ๋ฉด -96.8์ด ๋„์ถœ๋œ๋‹ค.

- ๋‹จ์ 

์œ„ ์‚ฌ์ง„์˜ ์˜์—ญ์€ ์„ ํ˜• ๋ถ„๋ฅ˜๊ฐ€ ์–ด๋ ต๋‹ค.

  • parity problem(๋ฐ˜์ „์„ฑ ๋ฌธ์ œ): ํ™€,์ง ๋ถ„๋ฅ˜
  • multimodal problem: ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค์–‘ํ•œ ๊ณต๊ฐ„์— ๋ถ„ํฌ
profile
์ฒœ์ฒœํžˆ ๊พธ์ค€ํžˆ ์ทจ๋ฏธ์ฒ˜๋Ÿผ ๋ƒ๋ฏธ๐Ÿ˜‹

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