๐Ÿค” ๋…ผ๋ฌธ ์ฝ๋Š”๋ฒ• by. Andrew Ng.

 

1. ๋…ผ๋ฌธ ์ฝ๋Š”๋ฒ•.

์ƒˆ๋กœ์šด ๋ถ„์•ผ๋ฅผ ์ตํžˆ๊ธฐ ์œ„ํ•œ ๋…ผ๋ฌธ์„ ์ฝ์„ ๋•Œ, ํ•œ ๋ถ„์•ผ์—์„œ 15~20๊ฐœ ์ •๋„์˜ ๋…ผ๋ฌธ์„ ์ฝ์œผ๋ฉด ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹ค๋งŒ, ์ด 15~20๊ฐœ๋ฅผ ์ฒ˜์Œ์—๋Š” 10%๋งŒ ์ฝ๊ณ  good/bad๋ฅผ ํŒ๋‹จํ•˜๋ฉด์„œ ์ ์  ์ฐพ์•„์„œ ์ฝ๋Š”๋‹ค.

์ด๋•Œ ๋งŒ์•ฝ 50~100์—ฌ๊ฐœ ์ •๋„๋ผ๋ฉด ํ•ด๋‹น ๋ถ„์•ผ์—์„œ ๊นŠ์€ ์ง€์‹์„ ์•Œ๊ณ ์žˆ๋‹ค ํ•ด๋„ ๋  ๊ฒƒ์ด๋‹ค.

 


2. ์ตœ์‹  ๋…ผ๋ฌธ ์ฝ๊ธฐ.

โ‘  Title / Abstract / Figure ๋ฐ Experiment 1~2๊ฐœ

Abstract, Figure(๊ตฌ์กฐ) ๋“ฑ์œผ๋กœ ์–ด๋Š์ •๋„ ํŒŒ์•…๊ฐ€๋Šฅ.

 

โ‘ก Intro / Conclusion / Figure / Related Works Skim(์†๋…)

Accept์„ ์œ„ํ•œ ์„ค๋“๋ ฅ์„ ๊ฐ–์ถ”๊ธฐ ์œ„ํ•ด Intro์™€ Conclusion์„ ์•„์ฃผ ์‹ ์ค‘ํ•˜๊ณ  ๊น”๋”ํžˆ ์š”์•ฝํ•œ๋‹ค.

Related Works๋Š” ํ•ด๋‹น๋ถ„์•ผ์˜ ์ค‘์š”๋…ผ๋ฌธ์„ ์•Œ๊ธฐ์œ„ํ•ด ์ค‘์š”. ๋”ฐ๋ผ์„œ Skim(์†๋…) or Skip์ด ์ถ”์ฒœ๋จ.

 

โ‘ข Math , etc ์ดํ•ด์•ˆ๋˜๋Š” ๊ฒƒ  → Skim or Skip

ํ•ด๋‹น ๋…ผ๋ฌธ์ด ๋‚ด ์—ฐ๊ตฌ์— ํ•„์š”ํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ๊ผผ๊ผผํžˆ ์ฝ์„ ๊ฒƒ (๊ตฌํ˜„๋  ์ •๋„๊นŒ์ง€ ํฌํ•จ)

๋‹ค๋งŒ, ๋งŽ์€ research๋…ผ๋ฌธ์„ ์ฝ์–ด์•ผ ํ•œ๋‹ค๋ฉด, skim or skip

 


3.  ๊ทธ๋Ÿผ ์–ด๋Š์ •๋„ ์ˆ˜์ค€์ด ์ดํ•ด๋๋‹ค ๋ณด๋Š”๊ฑฐ์ง€?

์•„๋ž˜ ์งˆ๋ฌธ์— ๋Œ€๋‹ต๊ฐ€๋Šฅํ•˜๋‹ค? ๊ทธ๋Ÿผ ๋งˆ์Œ๋†“๊ณ  ๋‹ค๋ฅธ๋…ผ๋ฌธ ์ฝ์œผ๋Ÿฌ ๊ฐ€๋ณด์ž.

โ—๏ธ์ €์ž์˜ ์„ฑ์ทจ์š”์†Œ (Main Contribution)

โ—๏ธMain Method์™€ ์ ‘๊ทผ๋ฐฉ์‹

โ—๏ธ์ด ๋…ผ๋ฌธ์—์„œ ๋‚ด๊ฐ€ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ”๋Š” ๋ฌด์—‡์ธ๊ฐ€?

โ—๏ธ๋‹ค๋ฅธ Reference๋ฅผ ๋ณผ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”๊ฐ€?

 


4. ๊ธฐํƒ€

โ‘  ๋…ผ๋ฌธ ์ •๋ณด ์–ป๋Š”๋ฒ•

๋ณธ์ธ: ์›น๊ฒ€์ƒ‰, ๋ธ”๋กœ๊ทธ ๋“ฑ๋“ฑ

Ng: Twitter / ML Subreddit / NIPS,ICML,ICLR๋“ฑ Top Confer / ArXiv Sanity

 

arxiv-sanity

 

arxiv-sanity-lite.com

 

 

โ‘ก ์ˆ˜์‹..๐Ÿซ 

๊ฐ„๋‹จํ•œ ์ˆ˜์‹์€ ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ Batch Norm, DDPM ๋“ฑ ์ˆ˜์‹์ด ๋งŽ๊ฑฐ๋‚˜ ์–ด๋ ค์šด ๊ฒฝ์šฐ, ์–ด๋–ป๊ฒŒ ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„๊นŒ?

 

โ—๏ธ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์œ ๋„ํ•ด๋ณด๊ธฐ

  • ์ •๋ง ์ž˜ ์ดํ•ดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, theoretical science๋‚˜ mathematics ์ธ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๋”ฐ๋กœ ์ ์–ด๋†“๊ณ  ๋นˆ ์ข…์ด์—๋‹ค๊ฐ€ ์œ ๋„ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค์‹œ ํ•ด๋ณธ๋‹ค. ๊ทธ๊ฑธ ํ•˜๋ฉด ์ •๋ง ์ž˜ ์ดํ•ดํ•œ ๊ฒƒ.
  • ๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ์ƒˆ๋กญ๊ฒŒ ์ผ๋ฐ˜ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ  ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ์–ป๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค. ์‹œ๊ฐ„์€ ๋งŽ์ด ๊ฑธ๋ฆฌ์ง€๋งŒ ๊ทธ๋งŒํผ ๋„์›€์ด ๋  ๊ฒƒ์ด๋‹ค.

 

โ‘ข Code

  • ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
  • ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฝ”๋“œ๋ฅผ ์žฌํ˜„ํ•ด๋ณด๊ธฐ

 


๐Ÿ“Œ ์„ ํ˜•๋Œ€์ˆ˜(Linear Algebra)

1. Baseline

i)

 

 


๐Ÿ“Œ ํ™•๋ฅ ํ†ต๊ณ„(Probability & Statistics)

์ฐธ๊ณ ): https://chan4im.tistory.com/229 , https://chan4im.tistory.com/233 ,

Uncertainty: ์–‘์ ํ‘œํ˜„์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด "ํ™•๋ฅ ๋ก "๋“ฑ์žฅ

 โˆ™ Epistemic(์ธ์‹๋ก ์ )

= systematic
→ ์œ ํ•œํ•œ dataset์— ์ ์ ˆ

 โˆ™ Aleotoric(์šฐ์—ฐ์„ฑ)

= intrinsic = stochastic = noise
→ ์„ธ์ƒ ์ผ๋ถ€๋งŒ ๊ด€์ฐฐํ•˜๊ธฐ์— noise๊ฐ€ ๋ฐœ์ƒ
→ ๋‹ค๋ฅธ์ข…๋ฅ˜์˜ data์ˆ˜์ง‘์œผ๋กœ noise ์™„ํ™”๊ฐ€๋Šฅ


 โˆ™ ํ•ฉ๊ณผ ๊ณฑ์˜ ๋ฒ•์น™

ํ•ฉโˆ™๊ณฑ๋ฒ•์น™ + ๊ฒฐ์ •์ด๋ก (decision theory)๋ฅผ ์ด์šฉํ•˜๋ฉด,
๋ชจํ˜ธํ•œ ์ •๋ณด( = uncertainty)๋”๋ผ๋„ optimal prediction์— ๋„๋‹ฌ๊ฐ€๋Šฅ

p(X,Y) : X์™€ Y์˜ ๊ฒฐํ•ฉํ™•๋ฅ (joint probability)

p(Y|X) : X์— ๋Œ€ํ•œ Y์˜ ์กฐ๊ฑด๋ถ€ํ™•๋ฅ  (X๋งŒ ๊ณ ๋ ค์‹œ, Y์ผ ํ™•๋ฅ )
p(X) : ์ฃผ๋ณ€ํ™•๋ฅ (marginal probability), ๋‹จ์ˆœ Xํ™•๋ฅ 
p(X,Y) = p(X)p(Y) : ๋…๋ฆฝ




Expectation & Covariance

 โˆ™ Expectation: ํ™•๋ฅ ๋ถ„ํฌ ํ•˜ ํ•จ์ˆ˜์˜ ๊ฐ€์ค‘ํ‰๊ท 

E[f] : ๋‹ค๋ฅธ x๊ฐ’๋“ค์ด ์ƒ๋Œ€์  ํ™•๋ฅ ์— ๋”ฐ๋ผ "๊ฐ€์ค‘"๋˜๋Š”๋ฐ, ์ด๋Š” ๊ณง "ํ™•๋ฅ ๋ถ„ํฌ p(x)ํ•˜์—์„œ ํ•จ์ˆ˜ f(x)์˜ ๊ฐ€์ค‘ํ‰๊ท "์„ ์˜๋ฏธ.

์ด์‚ฐ๋ณ€์ˆ˜์˜ ๊ธฐ๋Œ“๊ฐ’์˜ ๊ฒฝ์šฐ, sample์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์‹ค์ œํ•จ์ˆ˜์˜ ๊ฐ€์ค‘ํ‰๊ท ์— ๋”์šฑ ์ˆ˜๋ ดํ•˜๊ฒŒ ๋œ๋‹ค.
cf) ๋ถ„์‚ฐ: Var[f] = E[f(x)2] - E[f(x)]2. (feat. ์ œํ‰ํ‰์ œ)


 โˆ™ Covariance: ๋‘ ๋ณ€์ˆ˜๊ฐ€ ํ•จ๊ป˜ ์–ผ๋งˆ๋‚˜ ๋ณ€ํ•˜๋Š”์ง€๋ฅผ ์ธก์ •.


๋งŒ์•ฝ x์™€ y๊ฐ€ ๋…๋ฆฝ์ด๋ผ๋ฉด: Cov[x,y]=0


๋‘ ๋ฒกํ„ฐ x์™€ y์— ๋Œ€ํ•ด, ๊ทธ๋“ค์˜ ๊ณต๋ถ„์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ–‰๋ ฌ์ด๋‹ค:

๋งŒ์•ฝ ๋ฒกํ„ฐ x์˜ ๊ตฌ์„ฑ ์š”์†Œ๋“ค ๊ฐ„์˜ ๊ณต๋ถ„์‚ฐ์„ ๊ณ ๋ คํ•œ๋‹ค๋ฉด,
๋” ๊ฐ„๋‹จํ•œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ cov[x] ≡ cov[x, x]๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.




Gaussian Distribution

 โˆ™ Gaussian ๋ถ„ํฌ (์ตœ๋Œ€entropy์™€ CLT)

Maximum Entropy์™€ ์ค‘์‹ฌ ๊ทนํ•œ ์ •๋ฆฌ(CLT)์˜ ๊ด€์ ์—์„œ ์ž์—ฐ์Šค๋ ˆ ๋‚˜ํƒ€๋‚œ๋‹ค.
cf) ์ตœ๋Œ“๊ฐ’=์ตœ๋นˆ๊ฐ’์ด๋ฉฐ, precision = 1/σ2

 โˆ™ Likelihood ํ•จ์ˆ˜


์šฐ์ธก ๊ทธ๋ž˜ํ”„๋Š” Gaussian์˜ Likelihoodํ•จ์ˆ˜:
ํšŒ์ƒ‰์ : Gaussian๋ถ„ํฌ์—์„œ i.i.d์ธ Dataset
ํŒŒ๋ž€์ : ๊ฐ dataset์— ๋Œ€ํ•œ ๊ด€์ธก๊ฐ’, p(x)
Likelihoodํ•จ์ˆ˜: p(x)์™€ PDF์˜ ๊ณฑ์œผ๋กœ "ํŠน์ • data๊ด€์ฐฐ ํ™•๋ฅ ์„ ์˜๋ฏธ"

 

 โˆ™ Maximum Likelihood 

์ด๋•Œ ๊ด€์ฐฐ๋œ Dataset์œผ๋กœ Likelihood Function์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•.

์ขŒ์ธก ๊ฐ’์€ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์— ๋Œ€ํ•ด ์œ„ likelihoodํ•จ์ˆ˜๋ฅผ ์ตœ๋Œ€ํ™” ์‹œ,
๊ฐ๊ฐ์— ๋Œ€ํ•œ Maximum Likelihood ํ•ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

Maximum Likelihood์˜ ์ œํ•œ์‚ฌํ•ญ์ด ์กด์žฌํ•œ๋‹ค:
(MLE๋Š” ๋ชจ์ง‘๋‹จ ์ถ”์ •์— ์™„๋ฒฝํ•˜์ง€ ์•Š์€๋ฐ, ์ด๋Š” bias๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ๋‹ค)
μML   =  μ์˜ ๋ถˆํŽธ ์ถ”์ •๋Ÿ‰  ,  σML2 ≠  σ2์˜ ๋ถˆํŽธ ์ถ”์ •๋Ÿ‰. (N-1 / N)

[Bias๋ฐœ์ƒ์›์ธ]:
๋ถ„์‚ฐ์ด ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ ์กฐ์ •๋œ MLE๊ธฐ์ค€์œผ๋กœ ์ธก์ •๋˜๊ธฐ ๋•Œ๋ฌธ.
์•„๋ž˜ ๊ทธ๋ฆผ์€ MLE๋กœ Gaussian์˜ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์„ ๊ฒฐ์ •ํ•  ๋•Œ,
bias๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ง๊ด€์ ์ธ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋นจ๊ฐ„๊ณก์„ : Gaussian๋ถ„ํฌ
ํŒŒ๋ž€๊ณก์„ : 2๊ฐœ์˜ ๋…น์ƒ‰ data point๋กœ ์ด๋ค„์ง„ 3๊ฐœ์˜ dataset์— ML๋กœ ์–ป์€ Gaussian๋ถ„ํฌ.


์œ„ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋‹ค์Œ ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
3๊ฐœ์˜ dataset์„ ํ‰๊ท ํ™”ํ•˜๋ฉด ํ‰๊ท ์„ ๋™์ผํ•˜๋‹ค.
ํ•˜์ง€๋งŒ, ๋ถ„์‚ฐ์€ ์‹ค์ œ ํ‰๊ท ๊ณผ ๋น„๊ตโŒ  , ํ‘œ๋ณธํ‰๊ท ๊ณผ ๋น„๊ต → ๋‹ค์†Œ ๊ณผ์†Œํ‰๊ฐ€(N-1/N)๋œ๋‹ค.

๋‹ค๋งŒ, ์‹ ๊ฒฝ๋ง์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ๋ชจ๋ธ์—์„œ๋Š” ML์˜ bias๋ณด์ •์ด ์‰ฝ์ง€ ์•Š๋‹ค.
๋˜ํ•œ, MLE์˜ bias๋Š” Data point N์ด ๋งŽ์•„์ง€๋ฉด, ๋œ ์ค‘์š”ํ•ด์ง€์ง„๋‹ค.(lim N → ∞)

Gaussian์˜ ๊ฒฝ์šฐ, ๋„ˆ๋ฌด N์ด ์ ์ง€ ์•Š์€ ์ด์ƒ ์ด bias๊ฐ€ ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง„ ์•Š์ง€๋งŒ
๋ณธ ์ €์„œ๋Š” Deep Learning ์ฆ‰, ๋งŽ์€ parameter๋ฅผ ๊ฐ–๋Š” ๋ชจ๋ธ์— ์ดˆ์ ์„ ๋‘์—ˆ๊ธฐ์—
ML๊ณผ ๊ด€๋ จ๋œ bias๋ฌธ์ œ๋Š” ๋ณด๋‹ค ์‹ฌ๊ฐํ•˜๋‹ค.(Overfitting๋ฌธ์ œ์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์„ฑ์„ ๊ฐ€์ง.)

๋ณ€์ˆ˜๊ฐ„ ๋น„์„ ํ˜•๋ณ€ํ™˜: 

 โˆ™ Density ๋ณ€ํ™˜๋ฐฉ๋ฒ•:

๋ชจ๋“  ๋ฐ€๋„ p(y)๋Š” ๋ชจ๋“ ๊ณณ์—์„œ 0์ด์•„๋‹Œ ๊ณ ์ •๋œ ๋ฐ€๋„ q(x)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.
์ด๋•Œ, q(x)๋Š” x=f(y)์ธ ๋น„์„ ํ˜•๋ณ€์ˆ˜๋ณ€ํ™˜์œผ๋กœ ์–ป์–ด์ง„ ๊ฐ’.

๋นจ๊ฐ„๊ณก์„ 
: x์— ๋Œ€ํ•œ ์ •๊ทœ๋ถ„ํฌ p(x)
์ด ๋ถ„ํฌ์—์„œ N=5๋งŒ๊ฐœ ์  ์ถ”์ถœ, histogram์„ ๊ทธ๋ฆผ.
→ p(x)์™€ ๊ฑฐ์˜ ์ผ์น˜ํ•  ๊ฒƒ.


x→y๋กœ์˜ ๋น„์„ ํ˜•๋ณ€์ˆ˜๋ณ€ํ™˜์„ ๊ณ ๋ คํ•ด๋ณด๋ฉด:
x = g(y) = ln(y)-ln(1-y)+5
์ด ํ•จ์ˆ˜์˜ ์—ญํ•จ์ˆ˜๋Š” Sigmoidํ•จ์ˆ˜๋กœ ํŒŒ๋ž€๊ณก์„ ์ด๋‹ค.

px(g(y)): ๋งŒ์•ฝ ๋‹จ์ˆœํžˆ px(x)๋ฅผ x์˜ ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋ฉด ์–ป๋Š” ๋ถ„ํฌ, ๊ณก์„ ์˜ mode๊ฐ€ ๋ณ€ํ™˜๋œ ๊ฒƒ์„ ํ™•์ธ๊ฐ€๋Šฅ.
y์— ๋Œ€ํ•œ ๋ฐ€๋„๋Š” ์ขŒ์ธก ์‹์— ์˜ํ•ด ๋ณ€ํ˜•๋˜๊ธฐ์—

์ขŒ์ธก์˜ ํ•‘ํฌ ๊ณก์„ (right-skewed)์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

์ด ์‹์„ ๋‹ค๋ณ€๋Ÿ‰์— ๋Œ€ํ•ด ์ ์šฉํ•˜๋ ค๋ฉด Jacobian Matrix๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

x, y๊ฐ€ ๋‹ค๋ณ€๋Ÿ‰๋ถ„ํฌ์ผ ๋•Œ, ๋น„์„ ํ˜•๋ณ€ํ™˜์„ ์ ์šฉํ•˜๋ ค๋ฉดJacobian Matrix๋ฅผ ์‚ฌ์šฉ (py(y) = px(x) |det J|).


ํ•ด๋‹น ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด y์˜ ์ฃผ๋ณ€๋ถ„ํฌ๋กœ ๋–จ์–ด์ง€๋Š”๋ฐ ์ด๋ฅผ ๊ณต๊ฐ„์ƒ์œผ๋กœ ํ™•์žฅํ•œ ๊ฒƒ.
์ฆ‰, "์ฃผ๋ณ€ ์˜์—ญ"์œผ๋กœ ๋ณ€ํ™˜ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ.


cf) J์˜ ์—ญํ• : 
๊ณต๊ฐ„์˜ ์ผ๋ถ€๋ฅผ ํ™•์žฅํ•˜๊ณ  ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ์••์ถ•ํ•˜๋Š” ๊ฒƒ
(= ํ•ด๋‹น ๋ณ€์ˆ˜์˜ ๋ณ€ํ™”๋Ÿ‰์ด ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ์–ผ๋งˆ๋‚˜ ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€๋ฅผ ์˜๋ฏธ;
์ด๋ฅผ ๋ชจ๋“  ์˜์—ญ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•˜๋ฉด ์ „์ฒด ๊ณต๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ)



์ •๋ณด์ด๋ก : Entropy

 โˆ™ Entropy: ํŠน์ •๊ฐ’ ๊ด€์ฐฐ ์‹œ ์–ป๋Š” ์ •๋ณด๋Ÿ‰

๋ฌผ๋ฆฌํ•™์—์„œ์˜ entropy๋ณด๋‹จ, ์ •๋ณด์ด๋ก  ์ค‘์‹ฌ์˜ "์ •๋ณด๋Ÿ‰"๊ธฐ์ค€์œผ๋กœ ์‚ดํŽด๋ณด์ž.

์ •๋ณด๋‚ด์šฉ์˜ ์ธก์ •์€ ํ™•๋ฅ  ๋ถ„ํฌ p(x)์— ์˜์กด, ๋”ฐ๋ผ์„œ h(x)๋ฅผ ์ฐพ๋Š”๊ฒƒ์ด ๋ชฉํ‘œ.
h(x)
: 
p(x)์˜ ๋‹จ์กฐ ํ•จ์ˆ˜์ธ ์ •๋ณด ๋‚ด์šฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์–‘

[์ •๋ฆฌ]: ๋‘ ๋…๋ฆฝ์‚ฌ๊ฑด x,y์— ๋Œ€ํ•ด ์•„๋ž˜๊ฐ€ ์„ฑ๋ฆฝ.
  โˆ™ h(x,y) = h(x) + h(y)
  โˆ™ p(x,y) = p(x)p(y)
h๋Š” p์˜ ์ •๋ณด๋Ÿ‰์ด๊ธฐ์— ์œ„ ์‹์ด ๋งŒ์กฑํ•˜๋ ค๋ฉด h๋Š” log๋กœ ์ฃผ์–ด์ง„๋‹ค.
 h(x) = -logโ‚‚p(x)๋กœ ์ฃผ์–ด์ง„๋‹ค.

์ •๋ณด๋ก : logโ‚‚๊ฐ€ ๊ด€๋ก€์ , ์ด๋Š” ๊ณง h(x)์˜ ๋‹จ์œ„๊ฐ€ bit('binary digits')์ž„์„ ์˜๋ฏธ.

์ด๋•Œ, entropy๋ฅผ ์ข€ ๋” ์ •๋ณด๋ก ์ ์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด์ž.
๋จผ์ € log ์‚ฌ์šฉ์ด์œ ์ด๋‹ค. 
์ •๋ณด ์ „๋‹ฌ ์‹œ, encoding์„ ํ•˜์—ฌ ์••์ถ•์„ ์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ, log๋Š” ์ž๋ฆฟ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค.
ex) log100 = 2, log1000 = 3

์ฆ‰, Entropy๋Š” random๋ณ€์ˆ˜์˜ ์ƒํƒœ๋ฅผ ์ „์†ก ์‹œ,
์ „์†ก ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ์งง์€, encoding๊ธธ์ด ์ตœ์†Ÿ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์ „์†ก๋‚ด์šฉ์€ ํ•„ํžˆ ์†์‹ค์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ๊ฐ–๋Š” data๋Š” ์ด์‚ฐํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ฆ‰, ๋งค์šฐ ์ •๋ฐ€ํ•˜๊ฒŒ ์ง€์ •ํ•˜๋ ค๋ฉด ๋งŽ์€ bit๊ฐ€ ํ•„์š”ํ•จ์„ ์˜๋ฏธํ•œ๋‹ค.


 โˆ™ H[x] : x์˜ entropy (= p(x)์˜ ๊ธฐ๋Œ“๊ฐ’ = ํ‰๊ท ์ •๋ณด๋Ÿ‰)

H[x]๋Š” x์˜ entropy๋กœ ํ‰๊ท ์ •๋ณด๋Ÿ‰ ์ฆ‰, p(x)์˜ ๊ธฐ๋Œ“๊ฐ’์„ ์˜๋ฏธ

cf) H[x, y] = H[y|x] + H[x]๋ฅผ ๋งŒ์กฑ.
์ฆ‰, x์™€ y๋ฅผ ์„ค๋ช…ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด = ์ฃผ์–ด์ง„ ์กฐ๊ฑด์—์„œ y๋ฅผ ์ง€์ •ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ถ”๊ฐ€์ •๋ณด + x๋งŒ์„ ์„ค๋ช…ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด.


โˆ™ KL Divergence : ๋‘ ๋ถ„ํฌ๊ฐ„์˜ ๋น„์œ ์‚ฌ๋„ ์ธก์ •.

๋ชจ๋ฅด๋Š” ๋ถ„ํฌ p(x)์™€ ๊ทผ์‚ฌ๋ถ„ํฌ q(x)์— ๋Œ€ํ•ด q(x)๋ฅผ ์ด์šฉํ•ด x๊ฐ’์„ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ „์†กํ•œ๋‹ค.
์ด๋•Œ, q(x)๋Š” ์‹ค์ œ๋ถ„ํฌ p(x)๋Œ€์‹  x๊ฐ’ ์ง€์ • ์‹œ ํ•„์š”ํ•œ "ํ‰๊ท ์ถ”๊ฐ€์ •๋ณด๋Ÿ‰"์„ ์˜๋ฏธํ•œ๋‹ค.
(์ฆ‰, ์ถ”๊ฐ€๋กœ ์ „์†กํ•ด์•ผํ•  ์ •๋ณด = ๋‘ ๋ถ„ํฌ๊ฐ„์˜ KL-Divergence)
์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, Cross Entropy - Entropy๊ฐ€ ๋ฐ”๋กœ KL Divergence์‹์ด๋‹ค.

cf) Deep Learning์—์„œ Loss function์œผ๋กœ KL Divergence๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€์š”?
์™œ KL Divergence๊ฐ€ ์•„๋‹Œ Cross Entropy๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์˜๋ฌธ์ด ๋“ค ์ˆ˜ ์žˆ๋‹ค.
KL-Divergence๋Š” cross entropy์—์„œ ์ตœ์†Œ๋Ÿ‰์ธ entropy๋ฅผ ๋นผ๋‹ˆ๊นŒ ์ด ์˜ค์ฐจ๊ฐ’,
์ฆ‰, cross entropy๊ฐ€ optimal(= entropy)ํ•ด์ง€๋„๋ก ํ‰๊ท ์ถ”๊ฐ€์ •๋ณด๋Ÿ‰์„ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ๋งž๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์˜ค์ฐจํ•จ์ˆ˜ ๋ฏธ๋ถ„ ์‹œ, Entropy๊ฐ€ ์ƒ์ˆ˜๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— 
๊ฒฐ๊ตญ KL-Divergence = Cross Entropy๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค.
๊ฒฐ๊ตญ Cross Entropy๋ฅผ ํŽธ์˜์ƒ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‹ค์ƒ์€ KL-Divergence๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

Bayes' Theorem: ๋ถˆํ™•์‹ค์„ฑ์˜ ์–‘์ ํ‘œํ˜„

 โˆ™ Frequentist ํ™•๋ฅ :

ํœœ ๋™์ „์˜ ๊ฒฝ์šฐ ๋™์ „์ด ์˜ค๋ชฉํ•œ ๋ฉด์œผ๋กœ ๋–จ์–ด์งˆ ํ™•๋ฅ ์ฒ˜๋Ÿผ ๋ฌด์ž‘์œ„, ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์‚ฌ๊ฑด์˜ ๋นˆ๋„์— ๋Œ€ํ•œ ํ™•๋ฅ .
[p(D|w)์— ๋Œ€ํ•œ ์ ‘๊ทผ๋ฐฉ์‹]: 
w๋Š”'estimator'์˜ ์ผ์ข…์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š”๊ณ ์ •๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ„์ฃผ
[๊ธฐ๊ณ„ํ•™์Šต์— ๋Œ€ํ•œ ์ ์šฉ๋ฐฉ์‹]: ์ •๊ทœํ™”๋œ MSE๊ฐ™์€ Loss function์„ ์ตœ์ ํ™”ํ•ด ์–ป์€ parameter์ง€์ ์˜ ์ถ”์ •์น˜๋ฅผ ์‚ฌ์šฉ


 โˆ™ Bayesian ํ™•๋ฅ 

[p(D|w)์— ๋Œ€ํ•œ ์ ‘๊ทผ๋ฐฉ์‹]: ํ•˜๋‚˜์˜ dataset D๋งŒ ์กด์žฌํ•˜๋ฉฐ (์ฆ‰, ์‹ค์ œ๋กœ ๊ด€์ธก๋œ ๋ฐ์ดํ„ฐ), ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ์€ w์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ํ†ตํ•ด ํ‘œํ˜„
[๊ธฐ๊ณ„ํ•™์Šต์— ๋Œ€ํ•œ ์ ์šฉ๋ฐฉ์‹]: ๋ฐ์ดํ„ฐ์˜ ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ๋ชจ๋ธ์„ ์„ ํƒ → ๋” ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ์„ ํ˜ธ → Overfitting
๊ทธ๋ ‡๊ธฐ์— Bayesian๊ธฐ๋ฐ˜ ๊ธฐ๊ณ„ํ•™์Šต ๋ชจ๋ธ์€ ์ ์€ dataset์ผ์ˆ˜๋ก ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ธ๋‹ค.


๋ถˆํ™•์‹ค์„ฑ์˜ ์–‘์ ํ‘œํ˜„, prior๊ฐ€ ์ž์—ฐ์Šค๋ ˆ ๋ฐœ์ƒํ•˜์—ฌ ํฌํ•จ๋œ๋‹ค.
"๋ถˆํ™•์‹ค์„ฑ ํ‘œํ˜„์„ ์œ„ํ•ด ํ™•๋ฅ ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด, ์ด์„ฑ์ ์ด๊ณ  ์ผ๊ด€๋œ ์ถ”๋ก ์„ ํ•  ์ˆ˜ ์—†๋‹ค."

ex) ๋ถˆํ™•์‹ค์„ฑ = ๋™์ „์˜ ์˜ค๋ชฉํ•œ ๋ฉด์ด ์–ด๋Š๋ฉด์ธ์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ
์˜ˆ๋ฅผ ๋“ค์–ด, ๋™์ „์ด ๋’ท๋ฉด์œผ๋กœ ๋” ๋งŽ์ด ๋–จ์–ด์ง€๋Š” ํšŸ์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋ฉด?
๋™์ „์ด ์˜ค๋ชฉํ•œ ๋ฉด์ด ๋’ท๋ฉด์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’๋‹ค๋Š” ์ฆ๊ฑฐ๋ฅผ ์ œ์‹œํ•˜๊ณ ,
์‹ค์ œ๋กœ ์ด๋Ÿฐ ์ง๊ด€์€ ๋งž๊ธฐ์— ์ด๋ฅผ ํ™•๋ฅ ๊ทœ์น™์œผ๋กœ ์‚ฌ์šฉํ•ด ์–‘์ ์œผ๋กœ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค
 Bayes์ •๋ฆฌ์— ์˜ํ•ด ๋™์ „ ๋˜์ง€๊ธฐ๋กœ ์ œ๊ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์˜ค๋ชฉํ•œ ๋ฉด์ด ์•ž๋ฉด์ผ ์‚ฌ์ „ ํ™•๋ฅ ์„ ์‚ฌํ›„ ํ™•๋ฅ ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ณผ์ •์ด ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•˜๊ธฐ์—, ์ƒˆ๋กœ์šด ๋™์ „ ๋˜์ง€๊ธฐ์—์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๋ฐ์—๋Š” ์ด์ „์˜ ์‚ฌํ›„ ํ™•๋ฅ ์ด ์‚ฌ์ „์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.


D
 : train dataset

p(D|w) : Likelihood ; ์ฃผ์–ด์ง„ parameter์—์„œ ๊ด€์ธก๋œ data๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ 
p(w) : prior ; ์„ ํ—˜์  ์ง€์‹์ด๋‚˜ ๋ฏฟ์Œ.
p(w|D) : posterior ; ์ œ๊ณต๋˜๋Š” update๋œ parameterํ™•๋ฅ ๋ถ„ํฌ
p(D) : Marginal Likelihood ; p(D|w)โˆ™p(w)์˜ ์ ๋ถ„๊ฐ’ ; ๋ชจ๋ธ์ „์ฒด์˜ ์ ํ•ฉ๋„.



์ด๋ฅผ ํ†ตํ•ด train data์— ๋Œ€ํ•œ ์šฐ๋ฆฌ์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ๋ฐ˜์˜์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ new data์— ๋Œ€ํ•œ ์˜ˆ์ธก ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์ด๋ ‡๊ฒŒ Bayesian์ ‘๊ทผ์€ model parameter์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ์„ ๊ณ ๋ คํ•œ ํ™•๋ฅ ์  ์ถ”๋ก ์„ ์ œ๊ฑฐ, ๋ถˆํ™•์‹ค์„ฑ update๋ฅผ ํ†ตํ•œ model๊ฐœ์„ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 


๐Ÿ“Œ ๊ธฐ๊ณ„ํ•™์Šต(Machine Learning)

1. Baseline

i)

 

 

 

 


๐Ÿ“Œ ์‹ฌ์ธตํ•™์Šต(Deep Learning)

1. Baseline

i)

 

 

 

 

 


๐Ÿ“Œ ์ปดํ“จํ„ฐ๋น„์ „(Computer Vision)

1. Baseline

i) Logit๊ณผ Softmax, Cross Entropy

class์— ๋Œ€ํ•ด ์˜ˆ์ธกํ•œ ๊ฐ’(-∞,)์œผ๋กœ sigmoid-1 ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.
์ฆ‰, ์‚ฌ๊ฑด์ด ์ผ์–ด๋‚  odds = P(์‚ฌ๊ฑด๋ฐœ์ƒโญ•๏ธ) / P(์‚ฌ๊ฑด๋ฐœ์ƒโŒ)์˜ ์ž์—ฐ๋กœ๊ทธ๊ฐ’์ด๋‹ค.


๋ณดํ†ต ์ด logit๊ฐ’์— softmax๋ฅผ ์ทจํ•œ๋‹ค.

๐Ÿค” Softmax๋ž€?
๋จผ์ € KL๋ฐœ์‚ฐ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ๋˜์งš์–ด๋ณด์ž.
KL๋ฐœ์‚ฐ์€ 2๊ฐœ์˜ ๋ถ„ํฌ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹ค์ œ๋ถ„ํฌ P์™€ ์ž„์˜๋ถ„ํฌ Q๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

KL๋ฐœ์‚ฐ๊ณผ Softmaxํ•จ์ˆ˜ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋Š” Cross Entropy์™€ ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค.
Cross Entropy๋ž€ ์‹ค์ œ๋ถ„ํฌ์™€ ์˜ˆ์ธก๋ถ„ํฌ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ธก์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
์ฆ‰, Softmaxํ•จ์ˆ˜๋Š” Cross Entropy์†์‹คํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, KL๋ฐœ์‚ฐ๊ณผ ๊ด€๋ จ๋œ Cross Entropy์†์‹ค์„ ์ตœ์†Œํ™” ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค.

๐Ÿค” One-Hot Encoding๊ณผ Softmax
์ตœ์ ํ™” ์ง„ํ–‰ ์‹œ, ๋‘˜ ์‚ฌ์ด ์œ ํด๋ฆฌ๋“œ๊ฑฐ๋ฆฌ(=MSE) ๊ณ„์‚ฐ๋ณด๋‹ค๋Š” Cross Entropy๊ฐ€ ๋” ์ ํ•ฉํ•œ๋ฐ, 
Cross Entropy์˜ ๊ฒฝ์šฐ, ์ˆ˜์น˜์  ์•ˆ์ •ํ™”๋ฅผ ์œ„ํ•ด log๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์†Œ์ˆ˜์ ์— ๊ฐ€๊นŒ์šด ํ™•๋ฅ ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ.)

 

 

 

ii) Batchโˆ™imageํฌ๊ธฐ, ์ •ํ™•๋„์™€ ๋น„์ƒ์‚ฐ์„ฑ

โˆ™ batch_size = 128
โˆ™ 128๊ฐœ img์— ๋Œ€ํ•ด ∇๋ฅผ ๊ณ„์‚ฐ ํ›„ updateํ•œ๋‹ค๋Š” ์˜๋ฏธ

๐Ÿšฉ ๋ณ‘๋ ฌํ™”๋ฅผ ํ†ตํ•ด solution์— ๋” ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌ.

GPU๋Š” RAM์ œํ•œ์ด ์žˆ๊ธฐ์—, img๊ฐ€ ํด์ˆ˜๋ก batch๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” img๊ฐ€ ์ ์–ด์ง„๋‹ค.
๋˜ํ•œ, ๋” ํฐ img๋กœ ํ›ˆ๋ จํ•˜๋ ค๋ฉด ๋ชจ๋ธ๋„ ๊ทธ๋งŒํผ ์ปค์•ผํ•˜๊ธฐ์— ๊ทธ์— ๋น„๋ก€ํ•˜๊ฒŒ ๊ฐ€์ค‘์น˜ ์ˆ˜๋„ ์กฐ์ ˆํ•ด์•ผํ•œ๋‹ค.

batch_size๊ฐ€ ํด์ˆ˜๋ก train๊ณก์„ ์ด ๋” ๋ถ€๋“œ๋Ÿฌ์›Œ์ง€๊ธฐ์— ํฐ img๋Š” ์ •ํ™•๋„์ธก๋ฉด์—์„œ ๋น„์ƒ์‚ฐ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.
HR-img๋Š” Noise๊ฐ€ ๋‘๋“œ๋Ÿฌ์ง€๋Š”๋ฐ, ํŠนํžˆ ์•ผ์™ธ๋‚˜ ์ €์กฐ๋„ ํ™˜๊ฒฝ์˜ ์˜์ƒ์€ ๋”์šฑ ๊ทธ๋ ‡๋‹ค.
(์ฆ‰, ํ•ด์ƒ๋„๋ฅผ ๋‚ฎ์ถ”๋ฉด img๊ฐ€ ๋ถ€๋“œ๋Ÿฌ์›Œ์ ธ train์†๋„ ๋ฐ ์ •ํ™•๋„๊ฐ€ ๋†’์•„์ง„๋‹ค.)

∴ ๊ฒฐ๋ก : img์˜ noiseํŠน์„ฑ์ด ๋ณด์žฅ๋˜๊ณ  ์˜ˆ์‚ฐ๊ฐ๋‹น๊ฐ€๋Šฅ ์„ ์—์„œ ์ตœ๊ณ ํ•ด์ƒ๋„ ์‚ฌ์šฉ์ด ๊ถŒ์žฅ.
restoring์‹œ, computing๋ณด๋‹ค ์ €๋ ดํ•ด JPEG๊ฐ™์€ ํ•ด์ƒ๋„๋ฅผ ๋‚ฎ์ถฐ ์ €์žฅํ•  ๊ฒƒ์ด ๊ถŒ์žฅ๋จ.
๐Ÿง Batch size์— ๋Œ€ํ•˜์—ฌ
Data๋‚˜ Model์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์ ์ ˆํ•œ Batch_size๊ฐ€ ์กด์žฌํ•˜๊ธฐ์—
batch_size๋ฅผ ๋„ˆ๋ฌด ์ž‘์€๊ฐ’์ด๋‚˜ ํฐ๊ฐ’์„ ์“ฐ๋ฉด ์˜คํžˆ๋ ค ํ•™์Šต์ด ์ž˜ ์•ˆ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์กด์žฌํ•œ๋‹ค.

cf) ํŠน์ •ํ•œ ๊ฐ€์„คํ•˜์— ์—ฐ์—ญ์ ์œผ๋กœ ์ฆ๋ช…๊ฐ€๋Šฅํ•  ๋•Œ,
batch size๋ฅผ 2๋ฐฐ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด step size๋Š” √2๋ฐฐ ์ฆ๊ฐ€์‹œ์ผœ์•ผํ•œ๋‹ค. 

cf) batch size๋ฅผ ์ฆ๊ฐ€์‹œ์ผฐ๋Š”๋ฐ๋„ ์ด epoch์ˆ˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋‘๋ฉด
ํ•œ epoch๋‹น iteration์ˆ˜๊ฐ€ ์ค„์–ด๋“ค๊ธฐ์—
๊ทธ๋งŒํผ gradient๋กœ parameter update๋ฅผ ๋œ ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ
Loss๊ฐ์†Œ์†๋„๊ฐ€ ๋Š๋ ค์ ธ ํ•™์Šต์ด ์ž˜ ์•ˆ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 

 

iii) Regularization

์ฆ‰, Softmaxํ•จ์ˆ˜๋Š” Cross Entropy์†์‹คํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, KL๋ฐœ์‚ฐ๊ณผ ๊ด€๋ จ๋œ Cross Entropy์†์‹ค์„ ์ตœ์†Œํ™” ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค.

๐Ÿค” One-Hot Encoding๊ณผ Softmax
์ตœ์ ํ™” ์ง„ํ–‰ ์‹œ, ๋‘˜ ์‚ฌ์ด ์œ ํด๋ฆฌ๋“œ๊ฑฐ๋ฆฌ(=MSE) ๊ณ„์‚ฐ๋ณด๋‹ค๋Š” Cross Entropy๊ฐ€ ๋” ์ ํ•ฉํ•œ๋ฐ, 
Cross Entropy์˜ ๊ฒฝ์šฐ, ์ˆ˜์น˜์  ์•ˆ์ •ํ™”๋ฅผ ์œ„ํ•ด log๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์†Œ์ˆ˜์ ์— ๊ฐ€๊นŒ์šด ํ™•๋ฅ ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ์šฉ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ.)

 

 

 

 

iv) Optimizer & Scheduler

๐Ÿค” Optimizer
โˆ™ SGD: Default Optimizer๋กœ ์‚ฌ์šฉ๋˜์—ˆ์—ˆ์Œ.
โˆ™ Adam: ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •๋œ ์ˆ˜๋ ด์„ ์œ„ํ•ด ์‚ฌ์šฉ๋จ.
โˆ™ F-trl: ๊ทน๋„๋กœ ํฌ์†Œํ•œ dataset์— ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์กด์žฌ.

โˆ™ AdamW: Differential LR์„ ์ด์šฉํ•ด ํ•™์Šต
(pretrain์—๋Š” ๋‚ฎ์€ lr)
(classifier์—๋Š” ๋ณดํ†ต์˜ lr)

LR: ๊ทน์†Œ๊ฐ’๋“ค์„ ๊ทธ๋ƒฅ ์ง€๋‚˜์นจ
lr: ๊ทน์†Œ๊ฐ’์„ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•จ

๐Ÿค” Scheduler
ํ•™์Šต๋ฅ ์„ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๊ธฐ๋ฒ•.
ํ•™์Šต๋ฅ ์€ ๋ชจ๋ธ์ด ๊ฐ ๋ฐ˜๋ณต(iteration)์—์„œ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์Šค์ผ€์ผ๋ง๋œ ๊ฐ’
๋„คํŠธ์›Œํฌ๊ฐ€ ์ตœ์ ์˜ ์†”๋ฃจ์…˜์œผ๋กœ ์ˆ˜๋ ดํ•˜๋Š” ์†๋„์™€ ์•ˆ์ •์„ฑ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.


โˆ™Step Decay: ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ(epoch ๋˜๋Š” iteration ์ˆ˜)๋งˆ๋‹ค ํ•™์Šต๋ฅ ์„ ๊ฐ์†Œ.

โˆ™Exponential Decay: ๋งค step๋งˆ๋‹ค LR์„ ์ง€์ˆ˜์ ์œผ๋กœ ๊ฐ์†Œ (by. decay factor์„ ๊ณฑํ•จ).

โˆ™Cosine Annealing: cos์„ ์ด์šฉํ•ด max-min ์‚ฌ์ด๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ง„๋™์‹œ์ผœ ํ•™์Šต๋ฅ ์„ ์กฐ์ ˆ.

โˆ™ReduceOnPlateau: val_loss๊ฐ€ ๋” ์ด์ƒ ๊ฐœ์„ ๋˜์ง€ ์•Š์„ ๋•Œ๋งˆ๋‹ค ํ•™์Šต๋ฅ ์„ ๊ฐ์†Œ.
๋ชจ๋ธ์ด ์ตœ์ ๊ฐ’์— ๊ฐ€๊นŒ์ด ์ˆ˜๋ ดํ• ์ˆ˜๋ก ํ•™์Šต๋ฅ ์„ ์ค„์—ฌ ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•˜๋„๋ก ๋•๋Š”๋‹ค.

 

 

 

 

v) Layer (Conv, Maxpool)

โˆ™Covolution Layer: ์ค‘์š”ํ•œ ๊ฒ€์ถœ๊ฐ’์˜ feature map ๋ฐ˜ํ™˜
  additive bias๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ReLU๋Š” ์ด bias๋ฅผ ์ž‘์€ ์–‘์ˆ˜๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  ํ™œ์„ฑํ™” ์ดํ›„ 0์ด ์•„๋‹Œ ๊ฐ’ ์ถœ๋ ฅ ๋ฐ 0์ด ์•„๋‹Œ gradient๋ฅผ ๊ฐ–๊ฒŒ ํ•œ๋‹ค.

โˆ™Maxpooling Layer: ์ตœ๋Œ€๊ฐ•๋„์˜ feature๋งŒ ๋‚จ๊น€,
 feature map์˜ ํ•ด์ƒ๋„↓ = Receptive Fieldํฌ๊ธฐ

 

 

 

 

 

vi) Video

โˆ™Frame๋ณ„ ์ฒ˜๋ฆฌ: ๋™์˜์ƒ์€ frame์œผ๋กœ ๊ตฌ์„ฑ๋จ.
๋”ฐ๋ผ์„œ ๋™์˜์ƒ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ณ„ frame์— ๋Œ€ํ•ด
image์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ข…ํ•ฉ→์ „์ฒด์˜์ƒ์„ ๋ถ„์„
(๋‹ค๋งŒ, ์ด ์ ‘๊ทผ๋ฐฉ์‹์€ ์ธ์ ‘ํ•œ frame๊ฐ„์˜ ์ƒ๊ด€์„ฑ์ด ๋†’๋‹ค.)

โˆ™3D CNN: ๋™์˜์ƒ ์ฒ˜๋ฆฌ์‹œ, ํ•œ๋ฒˆ์— ํ•œ frame์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ์œ„์˜ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ ํ”„๋ ˆ์ž„๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ด์šฉํ•˜๋Š”
"frame์˜ ์ด๋™ํ‰๊ท (rolling average)๋ฅผ ๊ณ„์‚ฐ"ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
์ด ๋ฐฉ์‹์€ ํ™”๋ฉด์— noise๊ฐ€ ๋งŽ์„ ๋•Œ ํŠนํžˆ๋‚˜ ์œ ์šฉํ•˜๋‹ค.
๋™์˜์ƒ ํด๋ฆฝ์„ [B,C,T,H,W]์˜ 5์ฐจ์› Tensor๋กœ ์ฝ๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ๋™์˜์ƒ์„ ์งง์€ ํด๋ฆฝ์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

โˆ™RNN ๊ณ„์—ด: RNN ๋“ฑ์˜ sequence๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
(์ด๋Š” ํ›ˆ๋ จ์ด ๋งค์šฐ ์–ด๋ ค์›Œ 3D-CNN์ ‘๊ทผ๋ฐฉ๋ฒ•์ด ๋” ์‹ค์šฉ์ ์ด๋‹ค)

 

 

 

vii) Data Preprocessing

โˆ™Train-Serving Skew:
inference time์—์„œ client๊ฐ€ ์ œ๊ณตํ•œ img์— ๋Œ€ํ•ด train์‹œ ์ ์šฉํ•œ ๋ชจ๋“  ์—ฐ์‚ฐ(๋””์ฝ”๋”ฉ, ํฌ๊ธฐ์กฐ์ •, ๋“ฑ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.
์—ฐ์‚ฐ์„ ๋น ๋œจ๋ฆฌ๊ฑฐ๋‚˜ train๊ณผ inference๊ฐ„์— ์•ฝ๊ฐ„์ด๋ผ๋„ ๋‹ค๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด, ์ž ์žฌ์ ์œผ๋กœ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฆ‰, "ํ›ˆ๋ จ ์ค‘์—๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ถ”๋ก  ์‹œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ"์ด๋‹ค.

Sol) ํ›ˆ๋ จ๊ณผ ์ถ”๋ก ์—์„œ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉ.

โˆ™Data Augmentation: ๊ฐ€์ค‘์น˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋ชจ๋ธํ›ˆ๋ จ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์€ "Data space Solution"์œผ๋กœ Dataset์˜ ํฌ๊ธฐ์™€ ํ’ˆ์งˆํ–ฅ์ƒ์— ๋„์›€์„ ์ค€๋‹ค.
๋Œ€ํ‘œ์ ์œผ๋กœ ์•„๋ž˜ 3๊ฐ€์ง€ ๋ฒ”์ฃผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

 โ—๏ธ ๊ณต๊ฐ„์  ๋ณ€ํ™˜: Flip, Rotate, Crop, Zoom, ...

 โ—๏ธ ์ƒ‰์ƒ ์™œ๊ณก: ๋ฐ๊ธฐ, ์ƒ‰์กฐ๋ณ€ํ™˜

 โ—๏ธ ๊ณต๊ฐ„์  ๋ณ€ํ™˜: Cutout, Mixup, ...

 


viii) TFRecords (Tensorflow Record)

์ด๋ฆ„์—์„œ tensorflow๋ผ ์ ํ˜€์žˆ๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ? pytorch์—์„œ๋„ ํ™œ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. (์•„๋ž˜ ๋งํฌ ์ฐธ์กฐ.)

โˆ™์‚ฌ์šฉ ์ด์œ :
img๋ฅผ JPEGํŒŒ์ผ๋กœ "์ €์žฅ"ํ•˜๋Š” ๊ฒƒ์€ ML๊ด€์ ์—์„œ ํšจ์œจ์ โŒ
→ ํšจ์œจ์ ์ธ ์ €์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ TFRecord๋ฅผ ์‚ฌ์šฉ

๋ณดํ†ต ํŒŒ์ผํฌ๊ธฐ๋Š” 10~100MB๊ฐ€ ์ด์ƒ์ ์ด๋‹ค.
(๋‹ค์ˆ˜์˜ worker(in GPU)์—์„œ image๋ฅผ ์ฝ๋Š” ๊ธฐ๋Šฅ๊ณผ
๋งŽ์€ batch์—์„œ latency๋ฅผ ์ƒ์‡„ํ• ๋งŒํผ ๊ฐ ํŒŒ์ผ์„ ์ถฉ๋ถ„ํžˆ ๊ธธ๊ฒŒ ์—ด์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ.)

TFRecord๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „, ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋งŽ์•„์ง€๋ฉด ํ›ˆ๋ จํŒŒ์ดํ”„๋ผ์ธ์—์„œ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰↓
๋”ฐ๋ผ์„œ ํ›ˆ๋ จ์†๋„์™€ ํšจ์œจ์„ฑ, ๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ๋Ÿ‰ ๋ชจ๋‘๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ค.

โˆ™๋ณ‘๋ ฌํ™”: cs์ƒ ๊ฐ€์ƒ CPU(= vCPU)๊ฐ€ 2๊ฐœ ์ด์ƒ์ผ ๋•Œ
 โ—๏ธ tensorflow์— dataset์ƒ์„ฑ ์‹œ, ์ฝ๊ธฐ๋ฅผ ์ž๋™์œผ๋กœ interleaveํ•˜๊ฒŒ ์š”์ฒญ๊ฐ€๋Šฅ
tf.data.TFRecordDataset(pattern, num_parallel_reads=AUTO)

 โ—๏ธ ๋‘ map()์—ฐ์‚ฐ์„ ๋ณ‘๋ ฌํ™” ๊ฐ€๋Šฅ.
.map(preproc.read_from_tfr, num_parallel_calls=AUTOTUNE)


์กฐ๊ธˆ ๋” ์ƒ์„ธํ•œ Train pipeline์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐ.
(https://www.oreilly.com/library/view/practical-machine-learning/9781098102357/)
 

Practical Machine Learning for Computer Vision

This practical book shows you how to employ machine learning models to extract information from images. ML engineers and data scientists will learn how to solve a variety of image … - Selection from Practical Machine Learning for Computer Vision [Book]

www.oreilly.com

 

TFRecordLoader — TorchData main documentation

Shortcuts

pytorch.org

 

 

 

 

 

 

 

cf) Metric

โ‘  Confusion Matrix

โˆ™Confusion Matrix:

 โ—๏ธAccuracy = (TP+TN) / n
    → ๋ฐ์ดํ„ฐ๋ถˆ๊ท ํ˜•, ํŽธํ–ฅ๋œ ๋ชจ๋ธ ๋“ฑ์—์„œ๋Š” ์ข‹์ง€์•Š์€ ํ‰๊ฐ€์ง€ํ‘œ.

 โ—๏ธ Precision = TP / (TP+FP) = PR์˜ ์ •ํ™•์„ฑ

 โ—๏ธ Recall(= Sensitivity) = TP / (TP+FN) = positive ๊ตฌ๋ถ„๊ฐ€๋Šฅ์„ฑ

 โ—๏ธSpecificity= TN / (TN+FP)


 โ—๏ธ F1-score = 2*(p×r)/(p+r)
    → ์ •๋ฐ€๋„์™€ ์žฌํ˜„์œจ๊ฐ„์˜ "์กฐํ™”ํ‰๊ท "

 โ—๏ธ Fβ-score = (1+β2) * (p×r)/(β2×p+r)
    → F1 score์— β๋ฅผ ์ถ”๊ฐ€, P์™€ R์— ๋Œ€ํ•œ ์ค‘์š”์„ฑ์„ ํ™•์žฅ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ.

๐Ÿšฉ Sensitivity and Specificity (๋ฏผ๊ฐ๋„ / ํŠน์ด๋„) --> ์˜ํ•™๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ

Sensitivity : True Positive Rate (TPR) = TP / (TP + FN) --> positive ๊ตฌ๋ถ„ ์„ฑ๋Šฅ

Specificity : True Negative Rate(TNR) = TN / (TN + FP)

โ€‹

๐Ÿšฉ Precision and Recall (์ •๋ฐ€๋„ / ์žฌํ˜„์œจ) --> information retrieval ์—์„œ ์‚ฌ์šฉ

Recall = Sensitivity

Precision = TP / (TP + FP) --> positive rate ์˜ ์ •ํ™•์„ฑ (ex. ๋ณด์•ˆ๋ถ„์•ผ)

 

 

โ‘ก ROC-AUC & PR Curve


โˆ™ROC-Curve: Recall์„ y์ถ•, FPR์„ x์ถ•์œผ๋กœ ๊ฐ–๋Š”๋‹ค. (FPR = FP / (FP+TN))

cf) AUC: ROC๊ณก์„ ์˜ ์•„๋ž˜๋ฉด์ (Area Under Curve): ์ด ๊ฐ’์„ ๊ณ„์‚ฐํ•ด ๋‹จ์ผ ์ˆซ์ž๋กœ ์ •๋ณด๋ฅผ ์š”์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

โˆ™PR-Curve
: Precision์„ y์ถ•, Recall์„ x์ถ•์œผ๋กœ ๊ฐ–๋Š”๋‹ค.

 โ—๏ธAUC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 0.5์ด์ƒ์ด์–ด์•ผ ํ•˜๋Š”๋ฐ, AUC=0.5๋ผ๋Š” ๋œป์€ ๋ชจ๋ธ์ด Random Classifier์™€ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 โ—๏ธData๊ฐ€ ๊ท ํ˜•์žกํ˜€ ์žˆ์„๋•Œ๋Š” AUC-ROC๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์ถ”์ฒœ๋œ๋‹ค.
 โ—๏ธClass Imbalanced, Biased๋œ ๊ฒฝ์šฐ AUC-PR์ด ๊ถŒ์žฅ๋œ๋‹ค.
โ€‹

 

 

cf) Macro์™€ Micro Average

F1- Score์˜ 3๊ฐ€์ง€ ์ข…๋ฅ˜
โˆ™ Macro Avg: Label๋ณ„ F1-score ์‚ฐ์ˆ ํ‰๊ท (= ๋ชจ๋“  data๊ฐ€ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜=์ค‘์š”๋„)

โˆ™ Micro Avg:
์ „์ฒด TP,FN,FP๋ฅผ ํ‰๊ท ํ•œ ๊ฒƒ = Accuracy

โˆ™ Weighted Avg:
Label๋ณ„ F1-score๋ฅผ ์ƒ˜ํ”Œ์ˆ˜์˜ ๋น„์ค‘์— ๋”ฐ๋ผ ๊ฐ€์ค‘ํ‰๊ท 

 

cf) EMR๊ณผ Hamming Score, Hamming Loss

โˆ™ EMR: Exact Match Ratio
์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ์ง€ํ‘œ๋Š” ๋ถ€๋ถ„์ง‘ํ•ฉ์ •ํ™•๋„(subset Acc)๋ผ๋„๋„ ๋ถ€๋ฅด๋Š”
์ •ํ™•ํ•œ ์ผ์น˜๋น„์œจ(EMR: Exact Match Ratio)์ด๋‹ค.
EMR์€ "๋ชจ๋“ "๋ผ๋ฒจ์ด ์ •ํ™•ํžˆ ๋งž๋Š” ์˜ˆ์˜ ๋ฐฑ๋ถ„์œจ์„ ์ธก์ •ํ•œ๋‹ค.
์ฆ‰, img์— 100๊ฐœ์˜ class๊ฐ€ ์žˆ๊ณ , 99๊ฐœ๋งŒ ์˜ˆ์ธกํ–ˆ๋‹ค๋ฉด ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์น˜์ง€ ์•Š๋Š”๋‹ค.

โˆ™ Hamming Score
EMR๋ณด๋‹ค ๋œ ์—„๊ฒฉํ•œ ์ง€ํ‘œ์˜ ๋‹ค์ค‘๋ผ๋ฒจ์ •ํ™•๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ ์ˆ˜์ง€ํ‘œ์ด๋‹ค.
๊ฐ ์˜ˆ์— ๋Œ€ํ•ด ์ด ๋ผ๋ฒจ์ˆ˜์™€ ์˜ฌ๋ฐ”๋กœ ์˜ˆ์ธก๋œ ๋ผ๋ฒจ์˜ ๋น„์œจ์„ ์ธก์ •ํ•ด ํ‰๊ท ํ•œ ๊ฒƒ์ด๋‹ค.
(์‚ฌ์‹ค IoU๋‚˜ Jaccard Index์™€ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•˜๋‹ค.)

โˆ™ Hamming Loss
0๊ณผ 1 ๋ฒ”์œ„์˜ ์†์‹คํ•จ์ˆ˜๋กœ Hamming Score์™€ ๋‹ฌ๋ฆฌ
์ž˜๋ชป์˜ˆ์ธก๋œ ํด๋ž˜์Šค ๋ผ๋ฒจ์— ๋Œ€ํ•œ example์˜ ๊ด€๋ จ์„ฑ์„ ์ธก์ •, ๋‹ค์Œ ํ•ด๋‹น ์ธก์ •์˜ ํ‰๊ท ์„ ๊ตฌํ•œ๋‹ค.
์ด๋Š” XOR์—ฐ์‚ฐ๊ณผ ์œ ์‚ฌํ•œ๋ฐ, example n์˜ ์ˆ˜์™€ ํด๋ž˜์Šค L์— ๋Œ€ํ•ด ์ด ๋‘ ์ˆ˜๋กœ ์ด์ค‘ํ•ฉ์„ ์ •๊ทœํ™”ํ•œ๋‹ค.

 

 

 

โ‘ข Regression Metric (MSE,MAE,Huber)

โˆ™ MSE : mean-unbiased ์ถ”์ •๋Ÿ‰
์ œ๊ณฑ์˜ค์ฐจํ‰๊ท ์œผ๋กœ 2์ฐจํ•ญ์œผ๋กœ ์ธํ•ด ๊ฐ๋„๊ฐ€ ํฐ ํ‰๊ท ํŽธํ–ฅ์ถ”์ •์น˜์ด๋‹ค.
์ฆ‰, ํฐ ๊ฐ๋„๋Š” ๋ช‡๊ฐ€์ง€ ์ด์ƒ์น˜์— ๊ณผ๋„ํ•˜๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

cf) RMSE๋ผ๋Š” MSE์— ๋ฃจํŠธ๋ฅผ ์”Œ์›Œ ์‚ฌ์šฉ๋˜๋Š” ์ง€ํ‘œ๋„ ์กด์žฌ.
cf) ์ถ”์ •๋Ÿ‰(estimator)์˜ ํ‘œ๋ณธํ‰๊ท ์ด ๋ถ„ํฌํ‰๊ท ๊ณผ ๊ฐ™์Œ (= mean-unbiased์ถ”์ •๋Ÿ‰)

โˆ™ MAE : median-unbiased ์ถ”์ •๋Ÿ‰
์ข€ ๋” ๋‹จ์ˆœํ•˜๊ณ  ํ•ด์„ํ•˜๊ธฐ ์‰ฌ์šด ์ง€ํ‘œ๋กœ ์ ˆ๋Œ€์ฐจ๊ฐ’์„ ์ด์šฉ.
์ œ๊ณฑ์ง€์ˆ˜๊ฐ€ ์žˆ๋Š” MSE, RMSE์— ๋น„ํ•ด ์ด์ƒ์น˜ ๋ช‡๊ฐœ๋กœ ์™œ๊ณก๋˜๋Š” ํ˜„์ƒ์€ ๋œํ•˜๋‹ค.

cf) ์ถ”์ •๋Ÿ‰์ด ๊ณผ๋Œ€ํ‰๊ฐ€ํ•˜๋Š” ๋นˆ๋„๊ฐ€ ๊ณผ์†Œํ‰๊ฐ€ํ•˜๋Š” ๋นˆ๋„์™€ ๊ฐ™์Œ (= median-unbiased์ถ”์ •๋Ÿ‰)

โˆ™ Huber Loss
MSE, MAE์žฅ์ ์„ ํ•œ๋ฒˆ์— ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.
์ ˆ๋Œ€์˜ค์ฐจ๊ฐ’์ด threshold(δ)๋ณด๋‹ค ์ž‘์œผ๋ฉด ์ œ๊ณฑํ•ญ์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์„ ํ˜•ํ•ญ์„ ์‚ฌ์šฉํ•œ๋‹ค.
0์— ๊ฐ€๊นŒ์šด ๊ฐ’์— ๋Œ€ํ•ด 2์ฐจ ํ•ญ์˜ ์ œ๊ณฑํ‰๊ท ๋ถˆํŽธ์ถ”์ •๋Ÿ‰์˜ ๋ฏผ๊ฐ๋„์™€
0์— ๋” ๋จผ ๊ฐ’์— ๋Œ€ํ•ด ์„ ํ˜• ํ•ญ์˜ ์ค‘์œ„๋ถˆํŽธ์ถ”์ •๋Ÿ‰์˜ ๊ฒฌ๊ณ ์„ฑ์„
๋ชจ๋‘ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 

 

โ‘ฃ IoU (Intersection Over Union)

โˆ™Detection:
Detection์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ง€ํ‘œ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ, ๊ต์ง‘ํ•ฉ / ํ•ฉ์ง‘ํ•ฉ ์ด๋‹ค.
์ด IoU๋ฅผ ์ด์šฉํ•ด Detection์—์„œ๋Š” ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ Detect๋œ ๊ฒƒ์ธ์ง€ ์•„๋‹Œ์ง€์— ๋Œ€ํ•œ ํŒ๋ณ„์ง€ํ‘œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— 
ํŠน์ • IoU๊ฐ’์„ threshold๋กœ ์ •ํ•ด ๊ฐ์ฒด๊ฒ€์ถœ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ž„๊ณ„๊ฐ’: 50, 75, 95%
TP = ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฒ€์ถœ๋œ ๊ฒƒ.
FP = ์ž˜๋ชป ๊ฒ€์ถœ ๋  ๊ฒƒ.
FN = ์‹ค์ œ Bbox๋ฅผ ์ „ํ˜€ ๊ฒ€์ถœํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ (= ๊ฒ€์ถœ ๋ˆ„๋ฝ)
(cf. TN์€ Detection์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.)

โ—๏ธ precision = TP / All_Detections

โ—๏ธ Recall = TP / All_Actual_Bbox

โ—๏ธ  Pinterpolated = maxR'≥R[P(R')] = Avg Recall

 

 

โ‘ค AP์™€ mAP

โˆ™ AP (Average Precision)
๋ณด๊ฐ„์„ ์œ„ํ•ด ๋ชจ๋“  ๊ณ ์œ ํ•œ ์žฌํ˜„์œจ์„ ์„ ํƒํ•˜๋Š” "ํ‰๊ท ์ •๋ฐ€๋„"๋Š” ๋ณด๊ฐ„๋œ PR-Curve์˜ ์•„๋ž˜๋ฉด์ ์ด๋‹ค.

AP๋Š” ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ(Bbox๊ฐ€ ์—ฌ๋Ÿฟ ๋‚˜ํƒ€๋‚˜๋Š” ์ƒํ™ฉ)์—์„œ ๊ณ„์‚ฐํ•œ๋‹ค.
AP๊ณ„์‚ฐ์„ ์œ„ํ•ด TP, FP, FN์„ ์„ธ์•ผํ•œ๋‹ค. cf) True = ๋งž์ถ˜๊ฒƒ์„ ์˜๋ฏธ

AP ๊ณ„์‚ฐ์•Œ๊ณ ๋ฆฌ์ฆ˜:
โ‘  ์‹ ๋ขฐ๋„ ์ž„๊ณ„๊ฐ’์„ ๋„˜๋Š” Bbox๋งŒ ์„ ํƒ, ์˜ˆ์ธก๋ชฉ๋ก์„ ์ƒ์„ฑ
โ‘ก ์˜ˆ์ธก๋ชฉ๋ก์— ์žˆ๋Š” Bbox๋ฅผ ์‹ ๋ขฐ๋„๋กœ ์ •๋ ฌ
โ‘ข Confidence๊ฐ’์ด ํฐ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ.
ํ˜„์žฌ Bbox๊ฐ€ IoU ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด TP๋กœ ํŒ์ •, ์•„๋‹ˆ๋ฉด FP๋กœ ํŒ์ •


โ—๏ธ์ด๋•Œ, 2๊ฐœ ์ด์ƒ์˜ ๋ฌผ์ฒด์— ํ•˜๋‚˜์˜ Bbox๊ฐ€ ๊ฒน์น˜๊ฒŒ ๋œ๋‹ค๋ฉด?
IoU๊ฐ€ ์ตœ๋Œ€์ธ ์Œ์„ ์‚ฌ์šฉํ•œ๋‹ค.
TP๋ฐœ์ƒ ์‹œ, ์ฐธ๊ฐ’๋ชฉ๋ก์—์„œ TP_Bbox๋ฅผ ์ œ๊ฑฐ, ์ด์ค‘์˜ ์Œ์„ ๋งบ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
์ด๋•Œ, ์˜ˆ์ธก๋ชฉ๋ก์— ์žˆ๋Š” Bbox๋ฅผ ๋ชจ๋‘์ฒ˜๋ฆฌํ›„, ์Œ์„ ๋งบ์ง€๋ชปํ•œ ์ฑ„ ๋‚จ์•„์žˆ๋Š” TP_Bbox๋Š” FN์œผ๋กœ ํŒ์ •ํ•œ๋‹ค.


โˆ™ mAP (mean Average Precision)
AP๋ฅผ ๊ฐ ๋ฌผ์ฒด class์— ๋Œ€ํ•ด ๊ณ„์‚ฐ → ์ด AP๋ฅผ ๋ชจ๋“  class์— ๋Œ€ํ•ด ํ‰๊ท ํ•œ ๊ฐ’์ด๋‹ค.

ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋Š” AP๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.
ํ•˜์ง€๋งŒ, Detection์—์„œ๋Š” ์ข…์ข… ๊ฒ€์ถœ์„ฑ๋Šฅ์ด ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๊ฐ€ ์žˆ๊ธฐ์—
๊ฐ ํด๋ž˜์Šค์˜ ํ‰๊ท  ์ •๋ฐ€๋„ํ‰๊ท (mAP)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค.


์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž.
๋จผ์ €, Precision๊ณผ Recall์€ ์•„๋ž˜์ˆ˜์‹์ฒ˜๋Ÿผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฆ‰, True = ๋งž์ถ˜๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ Precision๊ณผ Recall์€ ์•„๋ž˜์ฒ˜๋Ÿผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.
โˆ™ Precision = (๋งž์ถ˜๊ฒƒ=TP) / (์˜ˆ์ธกํ•œ ๊ฒƒ ์ค‘ = ?P)
โˆ™ Recall = (๋งž์ถ˜๊ฒƒ=TP) / (์‹ค์ œ ์ค‘)

๋จผ์ € mAP๋ฅผ ๊ตฌํ•˜๋Š” ์ˆœ์„œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค.

 

โ“ช Confidence=0.6  &  IoU=0.5 ๋กœ ์„ค์ •

โ‘  Confidence์ž„๊ณ„๊ฐ’์„ ๋„˜๊ธด Bbox๋กœ ์˜ˆ์ธก๋ชฉ๋ก {a,b,d}๋ฅผ ์ƒ์„ฑ

โ‘ก ์˜ˆ์ธก๋ชฉ๋ก์„ Confidence์ˆœ์œผ๋กœ ์ •๋ ฌ → {b,d,a}

โ‘ข ์‹ ๋ขฐ๋„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ b๋จผ์ € ์ฒ˜๋ฆฌ.
 โˆ™ b๋Š” 2,3๊ณผ ๊ฒน์นจ → IoU๊ฐ€ ๋” ํฐ 2์™€ ์Œ์„ ๋งบ์Œ
 โˆ™ b-2์Œ์„ TP๋กœ ํŒ์ • ํ›„, 2๋Š” ์ฐธ๊ฐ’(Ground_Truth)๋ชฉ๋ก์—์„œ ์ œ์™ธ.

โ‘ฃ 2๋ฒˆ์งธ ์‹ ๋ขฐ๋„๋ฅผ ๊ฐ–๋Š” d๋ฅผ ์ฒ˜๋ฆฌ
 โˆ™ d๋Š” 4์™€ IoU๊ฐ€ 0.12(<์ž„๊ณ„IoU)์ด๋ฏ€๋กœ FP๋กœ ํŒ์ •

โ‘ค ๋งˆ์ง€๋ง‰ Bbox์˜ˆ์ธก๋ชฉ๋ก์›์†Œ a๋ฅผ ์ฒ˜๋ฆฌ
 โˆ™ a๋Š” 1๊ณผ IoU๊ฐ€ 0.6(=์ž„๊ณ„IoU)์ด๋ฏ€๋กœ TP๋กœ ํŒ์ • 

โ‘ฅ Bbox๋กœ ์ƒ์„ฑํ•œ ์˜ˆ์ธก๋ชฉ๋ก์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค.

โ‘ฆ ์˜ˆ์ธก Bbox ์ฒ˜๋ฆฌ ํ›„, ์Œ์„ ๋ชป๋งบ์€ 3๊ณผ 4๋Š” FN์œผ๋กœ ํŒ์ •.

โ‘ง ์ตœ์ข…์ ์ธ Precision๊ณผ Recall์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
 โˆ™ TP=2 , FP=1 , FN=2
 	∴ Precision = 2/3
 	∴ Recall = 2/4

โ‘จ Confidence์ž„๊ณ„๊ฐ’์„ 0.5๋กœ ๋‚ฎ์ถ”๋ฉด, Precision๊ณผ Recall์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
 โˆ™ TP=3 , FP=2 , FN=1
 	∴ Precision = 3/5
 	∴ Recall = 3/4

โˆ™ AR๊ณผ mAR
AR(Average Recall)์€ AP์— ์‚ฌ์šฉ๋˜๋Š” PR-Curve๋Œ€์‹  Recall-IoU๊ณก์„ ์„ ์‚ฌ์šฉํ•œ๋‹ค.
์ด๋Š” ๋ชจ๋“  IoU(ํŠนํžˆ 50%์ด์ƒ)์— ๋Œ€ํ•ด ํ‰๊ท ํ•œ Recall๊ฐ’์œผ๋กœ AUC๊ฐ’์ด 2๋ฐฐ๊ฐ€ ๋œ๋‹ค.

mAR์€ mAP์ฒ˜๋Ÿผ ๋‹ค์ค‘ํด๋ž˜์Šค Object Detection์„ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ์ „์ฒด ํด๋ž˜์Šค์˜ AR์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

cf) weights ๋ถ„ํฌ์™€ NaN, Normalization

๐Ÿค” ๊ฐ€์ค‘์น˜ ๋ถ„ํฌ๋Š” ์–ด๋–ค ๋ชจ์Šต์ด์–ด์•ผ ํ• ๊นŒ?

์‹ ๊ฒฝ๋ง์˜ ๊ฐ ์ธต์—๋Š” ์ˆ˜์ฒœ~์ˆ˜๋ฐฑ๋งŒ๊ฐœ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด๋Ÿฐ ๊ฐ€์ค‘์น˜๊ฐ’๋“ค์˜ ํฐ ์ง‘ํ•ฉ์€ ๋ถ„ํฌ(Distribution)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
ํ›ˆ๋ จ ์‹œ์ž‘๊ณผ ๋์˜ ๊ฐ€์ค‘์น˜ ๋ถ„ํฌ๋Š” ๋งค์šฐ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ์—, ์ผ๋ฐ˜์ ์œผ๋กœ ์ดˆ๊ธฐ ๋ถ„ํฌ๋Š” ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™”์ „๋žต์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค.
์ด๋Š” ์ •๊ทœ๋ถ„ํฌ๋‚˜ ๊ท ๋“ฑ๋ถ„ํฌ์—์„œ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœ๋˜๊ณ , ์ •๊ทœํ™” ์š”์ธ์ด ์žˆ๊ฑฐ๋‚˜ ์—†๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋œ๋‹ค.

์ค‘์‹ฌ๊ทนํ•œ์ •๋ฆฌ(CLT: Central Limit Theorem)์— ๋”ฐ๋ฅด๋ฉด, ๊ฐ€์ค‘์น˜๋ถ„ํฌ๋Š” ๋ชจ๋ธ์ด ํ›ˆ๋ จ๋˜๊ณ  ์ˆ˜๋ ด๋จ์— ๋”ฐ๋ผ ๋” Gauss์ ์œผ๋กœ ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.
์ฆ‰, ํ‰๊ท  μ์™€ ํ‘œ์ค€ํŽธ์ฐจ σ๋ฅผ ๊ฐ–๋Š” ๋ชจ์ง‘๋‹จ์— ๋Œ€ํ•ด,
 โˆ™์ถฉ๋ถ„ํžˆ ๋งŽ์€ ์ˆ˜์˜ ๋ฌด์ž‘์œ„ ํ‘œ๋ณธ์ด ์ฃผ์–ด์ง€๋ฉด → ํ‘œ๋ณธํ‰๊ท ๋ถ„ํฌ๋Š” Gaussian Distribution์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค.

Butโ—๏ธ๋ชจ๋ธ์— system์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด?
๊ฐ€์ค‘์น˜๊ฐ€ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ๋ฐ˜์˜ํ•ด
โˆ™ 0๊ฐ’ (์ž…๋ ฅ๊ฐ’์˜ scale์ด ์ œ๋Œ€๋กœ ์กฐ์ •๋˜์ง€ ์•Š์€๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” 'Dying Layer Problem')
โˆ™ ๋งค์šฐ ํฐ๊ฐ’ (Overfitting)์œผ๋กœ ์น˜์šฐ์น  ์ˆ˜ ์žˆ๋‹ค.
weight๋ถ„ํฌ๋ฅผ ๋ณด๊ณ  ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ์ง„๋‹จ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!

์ฆ‰, Gaussian๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ๊ฐ€์ค‘์น˜๋ถ„ํฌ์— ๋Œ€ํ•ด ๋ช‡๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿšฉ ๋ถ„ํฌ๊ฐ€ 0์— ์น˜์šฐ์ณ ์žˆ๋Š” ๊ฒฝ์šฐ:
โˆ™ ์ž…๋ ฅ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ [0, 1] → [-1. 1]๋กœ scaling

โˆ™ ์ค‘๊ฐ„ Layer์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด, Batch Normalization์„ ์ถ”๊ฐ€.

๐Ÿšฉ ๋ถ„ํฌ๊ฐ€ ํฐ ์ชฝ์— ์น˜์šฐ์ณ ์žˆ๋Š” ๊ฒฝ์šฐ:
โˆ™ Regularization or Dataset↑

๐Ÿšฉ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ฐ€์šฐ์Šค๋ถ„ํฌ์—์„œ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ:
์ด๋Š” ์šฐ๋ฆฌ์˜ ์ดˆ๊ธฐํ™”์ „๋žต์ด ๋ถ€์ ์ ˆํ–ˆ๊ธฐ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์ž‘๊ณ  ์ •๊ทœ๋ถ„ํฌ๋ฅผ ์ด๋ฃจ๋Š” ํ‘œ์ค€system์„ ๋”ฐ๋ฅด๊ธฐ ์–ด๋ ค์› ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
→ Gradient๋ฌธ์ œ์ด๋ฏ€๋กœ Clipping, Regularization, Penalty ๋“ฑ์„ ์ถ”๊ฐ€.

์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์ค‘์น˜๋Š” ์ผ์ •๋ฒ”์œ„์•ˆ์—์„œ ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค.
์ด๋•Œ, ๊ฐ’์ด ๊ฐ‘์ž๊ธฐ ์ปค์ง„๋‹ค๋ฉด Gradient Exploding๋ฌธ์ œ์ด๋‹ค.
ํŠนํžˆ Loss๊ฐ’์ด NaN์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด weight๊ฐ€ overflow์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ๋งŒํผ ์ปค์กŒ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๋ณดํ†ต, scale์ด ์กฐ์ •๋˜์ง€ ์•Š์€ ์ž…๋ ฅ์€ ํฐ activation์„ ๋งŒ๋“ค์–ด ๊ธฐ์šธ๊ธฐํญ๋ฐœ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ์— ์ž…๋ ฅ์ธต์„ 0~255ํ”ฝ์…€์ด ์•„๋‹Œ, -1~1์ด๋‚˜ 0~1์‚ฌ์ด์˜ scale๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ scale์กฐ์ •์€ ์ดˆ๊ธฐ์—๋งŒ ์•ˆ์ •๋˜๋Š”๋ฐ, weight๊ฐ’์ด randomํ•œ ์ดˆ๊ธฐ๊ฐ’๊ณผ ๋ฉ€์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด๋ฅผ Covariate Shift(๊ณต๋ณ€๋Ÿ‰ ๋ณ€ํ™”)๋ผ ๋ถ€๋ฅด๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด Batch Normalization์„ ์‚ฌ์šฉํ•œ๋‹ค.

Batch Normalization์€ ์ด๋ฅผ ์œ„ํ•ด scale parameter(γ)์™€ shift parameter(β)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
(์ž…๋ ฅ์„ γ๋กœ ์กฐ์ •, β๋กœ ์ด๋™์‹œ์ผœ ์ถœ๋ ฅ.)
ํ›ˆ๋ จ๊ณผ์ •์—์„œ BN์ธต์€ ์ฑ„๋„๋ณ„ ํ‰๊ท โˆ™ํ‘œ์ค€ํŽธ์ฐจ์˜ ์ด๋™ํ‰๊ท (moving average)๋ฅผ ๊ณ„์‚ฐํ•ด ์ €์žฅํ•œ๋‹ค.

cf) Batch Norm v.s Layer Norm

Transformer๋Š” ํ•™์Šต๊ณผ์ •์•ˆ์ •์„ฑ์„ ์œ„ํ•ด Layer Normalization์„ ์‚ฌ์šฉํ•œ๋‹ค.


Batch Norm: ๊ฐ ์ฑ„๋„์˜ ์ถœ๋ ฅ์˜ ํ‰๊ท ์ด 0, ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 1์ด ๋˜๋„๋ก ์ •๊ทœํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•.
(์ด๋•Œ, batch์ฐจ์›๊ณผ ๊ณต๊ฐ„์ฐจ์›์— ๊ฑธ์ณ ์ •๊ทœํ™” ํ†ต๊ณ„์น˜๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค.)

Layer Norm: ์ฑ„๋„์ฐจ์›์— ๋Œ€ํ•ด ์ •๊ทœํ™” ํ†ต๊ณ„์น˜๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค.
๋”ฐ๋ผ์„œ batch์— ์žˆ๋Š” ๊ฐ sequence์œ„์น˜๋งˆ๋‹ค ์ •๊ทœํ™”ํ•œ๋‹ค.
(์ด๋•Œ, ์ •๊ทœํ™” ํ†ต๊ณ„์น˜ ๊ณ„์‚ฐ๋ฐฉ์‹์ด BN๊ณผ ์™„์ „ํžˆ ๋ฐ˜๋Œ€์ด๋‹ค.)

 

 

 

 

 

 

 

cf) Bias

ํŠน์ • ์˜ˆ๊ฐ€ dataset์ด ๋„ˆ๋ฌด ์ ๊ฑฐ๋‚˜ ๋งŽ์•„ ํ•ด๋‹น ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง„๋‹ค๋ฉด,

์ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜๋Š”๋ฐ ์ด์— ๋Œ€ํ•ด dataset์ด biased(ํŽธํ–ฅ)๋œ ๊ฒƒ์ด๋ผ ํ•œ๋‹ค.

 

 

์›์ธ

๐Ÿค” Bias vs Imbalanced
์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌํŒŒ๋ฆฌ ์ดฌ์˜ ์‹œ, ์žฌ๊ทœ์–ด๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์€ 1% ๋ฏธ๋งŒ์ผ ๊ฒƒ์ด๋‹ค. (๋ฐ€๋ฆผ์— ์žˆ๊ฑฐ๋“ ...)
์ด Dataset์— ๋งค์šฐ ์ ์€ ๋น„์œจ๋กœ ์žฌ๊ทœ์–ด๊ฐ€ ์žˆ์„ํ…๋ฐ, ๊ท ํ˜•์ด ๋งž์ง€๋Š” ์•Š์ง€๋งŒ ํŽธํ–ฅ์˜ ์ฆ๊ฑฐ๋ผ ํ•  ์ˆ˜๋Š” ์—†๋‹ค.
(์ฆ‰, Imbalanced๋Š” ๋งž์œผ๋‚˜ Bias๋ผ๊ณ ๋Š” ํ•˜๊ธฐ๋Š” ์• ๋งคํ•˜๋‹ค๋Š” ๊ฒƒ.)


๐Ÿค” Bias์˜ ์›์ธ
- Selection Bias
- Measurement Bias
- Confirmation Bias

 

 

 

 

์„ ํƒ ํŽธํ–ฅ(selection bias)

๋ชจ๋ธ์ด production์—์„œ ์ ‘ํ•  ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ํŽธํ–ฅ๋œ ํ•˜์œ„์ง‘ํ•ฉ์— ๋Œ€ํ•ด ํ•™์Šต ์‹œ ๋ฐœ์ƒ.

๋ฐœ์ƒ์ด์œ : 

  1. ํŠน์ • ๋ฒ”์ฃผ๊ฐ€ ์ œ์™ธ๋˜๊ฑฐ๋‚˜ ์ œ๋Œ€๋กœ ์ƒ˜ํ”Œ๋ง ๋˜์ง€ ์•Š๋„๋ก ์‹ค์ˆ˜๋กœ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ œํ•œํ•œ ๊ฒฐ๊ณผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ถˆ์™„์ „ํ•œ ๋ฐ์ดํ„ฐ์ˆ˜์ง‘
  2. ํŠน์ •์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์œ ํ˜•๋ณด๋‹ค ์ˆ˜์ง‘ํ•˜๊ธฐ ์‰ฌ์šธ ๋•Œ.
  3. ์ด์ƒ์น˜ ๊ฐ€์ง€์น˜๊ธฐ ๋ฐ ๋ฐ์ดํ„ฐ์…‹ ์ •๋ฆฌ์‹œ ๋ฐœ์ƒ๊ฐ€๋Šฅ

Sol)  production ์‹œ์Šคํ…œ์—์„œ๋ถ€ํ„ฐ ์ž‘์—…, ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์ „์— ์ˆ˜์ง‘

 

 

 

์ธก์ • ํŽธํ–ฅ(measurement bias)

ํ›ˆ๋ จ๊ณผ production๊ฐ„์— image์ˆ˜์ง‘๋ฐฉ์‹์ด ๋‹ค๋ฅผ ๋•Œ ๋ฐœ์ƒ

๋ฐœ์ƒ์ด์œ :

  1. ํ›ˆ๋ จ์„ ์œ„ํ•œ ์ด๋ฏธ์ง€์ˆ˜์ง‘๋ฐฉ์‹๊ณผ production์—์„œ์˜ ์ˆ˜์ง‘๋ฐฉ์‹์˜ ์ฐจ์ด๋กœ ๋ฐœ์ƒ.
  2. data๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋‹ฌ๋ผ์ง€๊ฑฐ๋‚˜ labeling์„ ์—ฌ๋Ÿฌ์‚ฌ๋žŒ์ด ์ˆ˜ํ–‰ํ•  ๋•Œ

์ฆ‰, ์ธก์ •ํŽธํ–ฅ์€ ๋งค์šฐ ๋ฏธ๋ฌ˜ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 

ํ™•์ฆ ํŽธํ–ฅ(confirmation bias)

์‹ค์ƒํ™œ์—์„œ ๊ฐ’์˜ ๋ถ„ํฌ๊ฐ€ ์›์น˜์•Š๋Š” ํ–‰๋™์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ชจ๋ธ๋กœ ์ด์–ด์งˆ ๋•Œ ๋ฐœ์ƒ

๋ฐœ์ƒ์ด์œ :

์•ž์„œ ํŽธํ–ฅ๊ณผ ๋ถˆ๊ท ํ˜•์˜ ๊ตฌ๋ถ„์ด ์ค‘์š”ํ•˜๋‹ค ํ–ˆ๋Š”๋ฐ, ํ™•์ฆํŽธํ–ฅ๊ณผ ๊ด€๋ จํ•ด ๋‘˜ ์‚ฌ์ด์˜ ์ฐจ์ด์ ๊ณผ ์ƒํ˜ธ๊ด€๊ณ„๋Š” ํŠนํžˆ๋‚˜ ์ค‘์š”ํ•˜๋‹ค.

(Dataset์ด imbalanceํ•œ ์‹ค์ œ ๋ถ„ํฌ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด๋”๋ผ๋„ ํŽธํ–ฅ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ!)


๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋‹น์‹œ์—๋Š” ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์œผ๋‚˜, dataset์—์„œ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์— ํ˜ผ๋ž€์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

Ex) ํŠน์ •ํ•™๋ฒŒ์— ์œ ๋ฆฌ ํ•™์Šต๋œ ๋ชจ๋ธ →  ๋ชจ๋ธ์ด ์ด๋ฅผ ํ•™์Šตํ•ด ๋”ฐ๋ผํ•˜๊ฒŒ ๋จ.

์ฆ‰ ํŽธํ–ฅ๋˜์ง€ ์•Š์€ ๋ชจ๋ธ์€ ์ด์ œ ๊ทน๋„๋กœ ํŽธํ–ฅ๋˜์–ด handler์˜ ํŽธ๊ฒฌ์„ ํ™•์ฆํ•˜๊ณ  ์ง€์†์‹œํ‚ค๊ฒŒ ๋œ๋‹ค.

 

Sol) ‘๋ชจ๋ฅด๋Š” ๋ชจ๋ฆ„’์— ์†ํ•œ๊ฒƒ๋“ค์„ ‘์•„๋Š” ์•Ž’์ด๋‚˜ ‘์•„๋Š” ๋ชจ๋ฆ„’์˜ ๋ฒ”์ฃผ๋กœ ์˜์‹์ ์œผ๋กœ ๋Œ์–ด๋‚ด์•ผํ•œ๋‹ค.

๐Ÿค” ์ง€์‹์ด๋ž€?
‘์•„๋Š” ์•Ž’: ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ์ง€์‹์„ ์•ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์Šค์Šค๋กœ ์ž๊ฐํ•˜๋Š” ๊ฒƒ.
‘์•„๋Š” ๋ชจ๋ฆ„’: ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋ฅธ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•„๋Š” ๊ฒƒ
‘๋ชจ๋ฅด๋Š” ๋ชจ๋ฆ„’: ํ•ด๋‹น ์ง€์‹์„ ์•Œ์ง€๋ชปํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์กฐ์ฐจ ๋ชจ๋ฅด๋Š” ๊ฒƒ.

-Donald Rumsfeld, ์ „ ็พŽ ๊ตญ๋ฐฉ๋ถ€ ์žฅ๊ด€-

 

 

 

 

 

ํŽธํ–ฅ๊ฐ์ง€

ํŽธํ–ฅ๊ฐ์ง€๋ฅผ ์œ„ํ•ด ์Šฌ๋ผ์ด์Šค ํ‰๊ฐ€(Sliced Evaluation)์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์Šฌ๋ผ์ด์Šค ํ‰๊ฐ€์—์„œ๋Š” ๋ชจ๋ธ์˜ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์— ๋Œ€ํ•ด ๊ณ„์‚ฐํ•ด์„œ ๊ทธ๊ฒƒ์„ ๋น„๊ตฌ์„ฑ์›์— ๋Œ€ํ•œ ์ง€ํ‘œ์™€ ๋น„๊ตํ•œ๋‹ค.
๊ทธ ํ›„, ๋‹ค์Œ ์Šฌ๋ผ์ด์Šค ์ง€ํ‘œ๊ฐ€ ์ „์ฒด dataset์˜ ์ง€ํ‘œ์™€ ๋งค์šฐ ๋‹ค๋ฅธ ๊ทธ๋ฃน์„ ์กฐ์‚ฌํ•œ๋‹ค.

๋˜ํ•œ, Bayes ์ ‘๊ทผ๋ฐฉ์‹์„ ์ ์šฉํ•ด ํ•ด๋‹น ํ™•๋ฅ ์— ๋Œ€ํ•œ์ธก์ •๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๊ท€๋‚ฉํŽธํ–ฅ(Inductive Bias) feat. Transformer

๋จธ์‹  ๋Ÿฌ๋‹์ด๋‚˜ ํ†ต๊ณ„ํ•™์—์„œ ๋ชจ๋ธ์ด ์„ ํƒํ•˜๋Š” ๊ฐ€์„ค ๊ณต๊ฐ„์„ ์ œํ•œํ•˜๊ฑฐ๋‚˜ ์„ ํ˜ธํ•˜๋Š” ์„ฑ๊ฒฉ
์ฆ‰, ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๊ณ  ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ •์ด๋‚˜ ์„ ์ž…๊ฒฌ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ท€๋‚ฉ ํŽธํ–ฅ์€ ๋ชจ๋ธ์ด ํŠน์ • ์œ ํ˜•์˜ ํ•จ์ˆ˜ ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋” ์„ ํ˜ธํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ, 
ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŠน์ • ์œ ํ˜•์˜ ๊ฐ€์„ค์— ๋” ๊ฐ€๊น๊ฒŒ ์ˆ˜๋ ดํ•˜๋„๋ก ๋•๋Š”๋‹ค.

์ด๋Š” ๋ชจ๋ธ์ด ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ผ๋ฐ˜ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ, ํŠน์ • ๊ฐ€์ •์ด๋‚˜ ๊ฐ€์„ค ๊ณต๊ฐ„์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๋„๋ก ์œ ๋„ํ•จ์œผ๋กœ์จ
๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ํ•™์Šต์„ ๋„์™€์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.


๋ฐœ์ƒ์ด์œ :
1. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ์— ๋”ฐ๋ฅธ ํŽธํ–ฅ

: ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠน์ • ์œ ํ˜•์˜ ๋ชจ๋ธ์„ ๋” ์„ ํ˜ธํ•˜๋Š” ๊ฒฝํ–ฅ.
ex) ๊ฒฐ์ • ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


2. ๊ฐ€์ •์— ๋”ฐ๋ฅธ ํŽธํ–ฅ:
๋ชจ๋ธ์ด ํŠน์ • ๊ฐ€์ •์„ ๊ฐ€์ง€๊ณ  ํ•™์Šตํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ex) ์„ ํ˜• ํšŒ๊ท€๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์„ ํ˜• ๊ด€๊ณ„์— ์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.


3. ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •์— ๋”ฐ๋ฅธ ํŽธํ–ฅ


๋‹ค๋งŒ, ์ž˜๋ชป๋œ ๊ท€๋‚ฉ ํŽธํ–ฅ์€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

cf) ๋ชจ๋“  ๊ธฐ๊ณ„ํ•™์Šต๋ชจ๋ธ์€ ๊ท€๋‚ฉํŽธํ–ฅ(inductive bias)์ด ์กด์žฌํ•œ๋‹ค.
ex) CNN์˜ ๊ฒฝ์šฐ ์ด์›ƒํ•œ pixel๊ณผ ๋น„์Šทํ•œ ํŠน์„ฑ์„ ๊ฐ–๋Š”๋‹ค๋Š” "locality"์™€
๋ฌผ์ฒด๊ฐ€ ์ด๋™ํ•˜๋ฉด ์ด๋™ํ•œ ์œ„์น˜์— ๋™์ผํ•œ ํŠน์ง•์ด ์ถ”์ถœ๋œ๋‹ค๋Š” "translation-equivalent" ๋“ฑ์ด ๋Œ€ํ‘œ์ .

 CNN์˜ ๊ฒฝ์šฐ ์ด๋Ÿฐ ๊ท€๋‚ฉํŽธํ–ฅ์ด ๊ฐ•ํ•œ ํŽธ์œผ๋กœ ์ด๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ์ž์—ฐ์–ด์™€ ๊ฐ™์€ ๋‹ค๋ฅธ modality-data์— ์ ์šฉ์€ ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. (๋ฌผ๋ก , RNN๋„ ์‹œ๊ฐ„์ถ•๊ณผ ๊ด€๋ จ๋œ ๊ฐ•ํ•œ ๊ท€๋‚ฉํŽธํ–ฅ์„ ๊ฐ–๋Š”๋‹ค.)

cf) ๊ท€๋‚ฉํŽธํ–ฅ: ๊ธฐ๊ณ„ํ•™์Šต๋ชจ๋ธ์ด ํ•™์Šต๋‹จ๊ณ„์— ๋ณด์ง€์•Š์•˜๋˜ ์ƒˆ๋กœ์šด sample๋กœ ์˜ณ๊ฒŒ ์ถ”๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ •

- ํ•˜์ง€๋งŒ transformer์˜ ๊ฒฝ์šฐ, ๊ท€๋‚ฉํŽธํ–ฅ์ด ์•ฝํ•œ ํŽธ์œผ๋กœ
๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ํ™œ์šฉ๋˜๋Š” "Self-Attention"์€ image, text๋ฅผ ํฌํ•จํ•ด ๋Œ€๋ถ€๋ถ„์˜ signal์—์„œ ๋‚˜ํƒ€๋‚˜์„œ
์—ฌ๋Ÿฌ inputํ˜•ํƒœ (multi-modal data)์— ์ ์šฉํ•  ์—ฌ์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.
ex) ์ž์—ฐ์–ด->๊ทธ๋ฆผ์˜ DALL-E ๋“ฑ๋“ฑ vision๊ณผ NLP๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์—ฌ๋Ÿฌ ์‘์šฉ์—์„œ backbone์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 


2. Classification

i) Deeper = Why High Accuracy?

1. Expressivity ๊ฐ€์„ค
๋น„์„ ํ˜• ํ™œ์„ฑํ™”ํ•จ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ธต์„ ๋งŽ์ด ์Œ“์•„ ๋น„์„ ํ˜•์„ฑ์ด ๋ฐœ์ƒ
→ ๊ณ ๋„๋กœ ๋ณต์žกํ•œ ์ž‘์šฉ์— ๊ทผ์ ‘๊ฐ€๋Šฅโ—๏ธ

2. Generalization ๊ฐ€์„ค
MLP๋Š” ์ž…๋ ฅ์„ ์˜๋ฏธ๋ก ์ ์œผ๋กœ ๋ถ„ํ•ด, feature์˜ hierarchical๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
shallow ----> deeper
detail    ----> global feature
์ €์ˆ˜์ค€   ----> ๊ณ ์ˆ˜์ค€
์œผ๋กœ ๊ฐˆ ์ˆ˜๋ก classifier๊ฐ€ ๋” ์ผ๋ฐ˜ํ™”๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

3. Perceptive Field ๊ฐ€์„ค
image์ „์ฒด๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋ฉด N×N filter๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
Butโ—๏ธ ์ถฉ๋ถ„ํžˆ ๊นŠ๊ฒŒ ์Œ“์œผ๋ฉด 1×1, 3×3์œผ๋กœ๋„ N×N์˜์—ญ์„ "๋ณผ ์ˆ˜ ์žˆ๊ฒŒ"๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

 

ii) Deeper Network

๐Ÿค” Filter ๋ถ„ํ•ด
3×3 filter 2๋ฒˆ 5×5 filter
๐›‰ = 18(2×3×3) ๐›‰ = 25
์ฆ‰, ๋” ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜๋ฅผ ๊ฐ–์ง€๋งŒ 2๋ฒˆ์˜ ๋น„์„ ํ˜•์„ฑ์„ ํ†ตํ•ด ๋ชจ๋ธ์„ ๊นŠ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๐Ÿค” GAP (Global Average Pooling)
GAP์€ ํ•™์Šต๊ฐ€๋Šฅํ•œ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋‹ค๋Š” Pooling์˜ ํŠน์ง•์„ ์ด์šฉ.
๊ฐ channel๊ฐ’์„ ํ‰๊ท ํ™”ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.
๋‹ค๋งŒ, ์ด๋ฏธ์ง€์ƒ ์œ„์น˜๊ฐ€ ์ค‘์š”ํ•œ Detection์—์„œ๋Š” ๋ถ€์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

๐Ÿค” 1×1 filter
๊ทธ๋ƒฅ ์ด๋ฏธ์ง€๋ฅผ ์ด๋™ํ•˜๋ฉฐ ์ƒ์ˆ˜๋ฅผ ๊ณฑํ•˜๋Š” ์“ธ๋ฐ์—†์–ด ๋ณด์ด์ง€ ์•Š๋‚˜?
"๋‹ค์ค‘ channel์—์„œ channel๋ณ„ ๊ฐ€์ค‘์น˜๋ฅผ ๋‹ฌ๋ฆฌ"ํ•˜์—ฌ ์˜๋ฏธ๊ฐ€ ๋ฐœ์ƒ!
+ data์˜ channel์กฐ์ •์€ ๋ค! (ํ•™์Šต๊ฐ€๋Šฅ๐›‰ ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.)

cf) DenseNet์˜ ๊ฒฝ์šฐ, ์ด๋ฅผ ํ™œ์šฉํ•ด ํ•™์Šต๊ฐ€๋Šฅ๐›‰ ๋ฅผ ๊ฒฝ์ œ์ ์œผ๋กœ ์กฐ์ ˆํ•œ๋‹ค.
(DenseNet์€ Conv์˜ ๋‹จ๊ณ„์ˆ˜์— ๋”ฐ๋ผ channel์ˆ˜๊ฐ€ ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

 

 

 

 

iii) Module์‹ ๊ตฌ์กฐ (Skip-Connection์ด ์™œ ์ข‹์€๊ฐ€?)

Module์‹ ๊ตฌ์กฐ๋Š” ์—ฌ๋Ÿฌ ์„ ํƒ์‚ฌํ•ญ์„ ๋งŒ๋“  ํ›„ ์–ด๋Š๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€์ง€ ์‹ ๊ฒฝ๋ง์ด ํ•™์Šตํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์—์„œ ์ถœ๋ฐœํ•œ๋‹ค.
Inception module, Residual blocks, inverted residual bottlenecks ๋“ฑ์ด ์žˆ์œผ๋‚˜ ResNet์œ„์ฃผ๋กœ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค.

๐Ÿค” ResNet

์‹ ๊ฒฝ๋ง ๊นŠ์ด๊ฐ€ ๊นŠ์–ด์ง€๋ฉด ์ „์ฒด layer gradient๊ฐ€ ํฉ์–ด์ ธ ๋Š๋ฆฌ๊ฒŒ ์ˆ˜๋ ดํ•˜๊ฑฐ๋‚˜ ์ˆ˜๋ ดX
→ layer์‚ฌ์ด skip-connection์„ ์ถ”๊ฐ€, ์‹ ํ˜ธ๋ฅผ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•œ๋‹ค.
์ฆ‰, element-wise addition์„ ๋น„์„ ํ˜•์„ฑ์ด ์ถ”๊ฐ€๋œ signal๊ณผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๐Ÿค” Skip Connection์ด BP์ตœ์ ํ™” ๋‹จ๊ณ„์—์„œ Gradient Flow์— ์™œ ๋„์›€์„ ์ฃผ๋Š”๊ฐ€?

1. Addition ์—ฐ์‚ฐ
โˆ™ ๋ณดํ†ต์˜ DNN๋ชฉํ‘œ: ์›ํ•˜๋Š” ์ถœ๋ ฅ์„ ์œ„ํ•ด ๋‚ด๋ถ€ w๋ฅผ update
โˆ™ Skip Connection: input๊ณผ output์‚ฌ์ด  Δ or residue๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๊ฒƒ์ด ๋ชฉํ‘œ

2. Residual์—ฐ๊ฒฐ์ด ์‹ค์ œ๋กœ ์‹ ๊ฒฝ๋ง์„ ๋” shallowํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ.
(= ์ตœ์ƒ์˜ ๊ฒฝ๋กœ๋ฅผ ์Šค์Šค๋กœ ์„ ํƒ, ์‹ค์ œ๋กœ๋Š” ๊ทธ๋‹ฅ ๊นŠ์ง€ ์•Š์•„ ํšจ์œจ์ ์ธ ์ˆ˜๋ ด๊ฐ€๋Šฅ.)


3. Training ์ค‘ ์ตœ์ ํ™”๋œ J(w)์˜ topologyํ™˜๊ฒฝ

 

 

 

 

 

 

 

iv) MobileNet: ์ €์ฐจ์›์˜ ReLU๋Š” ๋„ˆ๋ฌด๋งŽ์€ ์ •๋ณด๋ฅผ ํŒŒ๊ดดํ•œ๋‹ค.

๐Ÿ“Œ Depth-wise Seperable Convolution
๊ธฐ์กด filter๋Š” ๋˜‘๊ฐ™์€ ๊ณต๊ฐ„์„ ์žฌ์ฐฝ์กฐํ•˜๊ธฐ์— ๐›‰๋ฅผ ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.


Filter๋Š” H×W×C๋กœ spatial filtering(H×W)๊ณผ Channel๊ณผ์˜ ์„ ํ˜•์žฌ์กฐํ•ฉ ๊ณผ์ •์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
์ด ๋‘์—ฐ์‚ฐ์ด ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€์•Š์œผ๋ฉฐ "๋…๋ฆฝ"(= ๋ถ„๋ฆฌ๊ฐ€๋Šฅ)ํ•˜๋ฉด, ์ ์€ ๐›‰ ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿค” Depth-wise Seperable Convolution์€ ๋‹ค์Œ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.
โˆ™ ๋…๋ฆฝ์ ์ธ filter set์œผ๋กœ channel๋ณ„ ์ž…๋ ฅ์„ filtering
โˆ™ ์ดํ›„ 1x1 convolution์œผ๋กœ ๊ฐœ๋ณ„์ ์ธ ์ถœ๋ ฅ์„ ๊ฒฐํ•ฉ (= channel๋ณ„ ๊ฐ€์ค‘ํ•ฉ)
(โˆต channel์€ ์ถ”์ถœํ•  "๋ชจ์–‘์ •๋ณด"๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ)
(๋‹ค๋งŒ, img๋Š” "๋ชจ์–‘์ •๋ณด"์ด๊ธฐ์— 3x3 filter๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)
๐Ÿค” Inverted Residual Bottlenecks
cf) latency๋ž€, inference time์—์„œ ์ง€์—ฐ์‹œ๊ฐ„์„ ์˜๋ฏธ

 

 

 

 

v) EfficientNet

์ตœ์ ํ™” ๋ชฉํ‘œ: ์˜ˆ์ธก์ •ํ™•๋„ > ์ถ”๋ก  latency
3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ convolution๊ตฌ์กฐ๋ฅผ ํ™•์žฅ.
โˆ™ layer ์ถ”๊ฐ€
โˆ™ layer๋ณ„ channel ์ถ”๊ฐ€
โˆ™ input img ํ•ด์ƒ๋„↑
์ด๋•Œ, ์œ„ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ค€๋‹ค.
(โˆต Receptive Field๋ฅผ ํ‚ค์šฐ๋ ค๋ฉด layer๊ฐ€ ๋” ํ•„์š”.)
(โˆต ๋” ํฐ img์˜ ๋ฏธ์„ธํŒจํ„ดํฌ์ฐฉ์„ ์œ„ํ•ด channel๋„ ๋งŽ์ด ํ•„์š”.)
EfficientNet๊ตฐ์€ Overfitting๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด B0~B7๊นŒ์ง€ Dropout์„ 0.2~0.5๋กœ ๋Š˜๋ฆฐ๋‹ค.
๋˜ํ•œ, AutoAugment์™€ SiLU(= Swish-1)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

 

vi) Vision Transformer with Self-Attention Mechanism

Transformer์˜ ๊ฒฝ์šฐ, Self Attention Mechanism์„ ์‚ฌ์šฉํ•œ๋‹ค.

[Self Attention Mechanism]: ์ž…๋ ฅ์‚ฌ์ด ์˜๋ฏธ๋ก ์  ๊ด€๊ณ„(Semantic Relation)์„ ์ธ์‹, ํŠน์ • patch๊ฐ€ ๋‹ค๋ฅธ patch์— ๋น„ํ•ด ๋” ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด๋ฅผ . ๋”๊ฐ•์กฐํ•ด ์ƒˆ๋กœ์šด ํ‘œํ˜„์„ ์ƒ์„ฑํ•œ๋‹ค.

 

Convolution์€ Dataset์ด ์ฆ๊ฐ€ํ•  ๋•Œ, ๊ฐ€์ค‘์น˜ ์ˆ˜๋ฅผ ์ค„์—ฌ์•ผ ํ•œ๋‹ค.

ViT๋Š” image๋ฅผ patch๋‹จ์œ„๋กœ ์ชผ๊ฐœ patch์˜ ํ”ฝ์…€๊ฐ’๊ณผ position์„ ์ด์–ด๋ถ™์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.

๋‹ค๋งŒ, ViT์˜ ๊ฒฝ์šฐ, Convolution๋ณด๋‹ค ๋” ๋งŽ์€ Dataset์„ ์š”๊ตฌํ•˜๊ธฐ์—

๋Œ€๋Ÿ‰์˜ Data๋กœ pretrainํ•œ ํ›„ ๋” ์ž‘์€ Dataset์œผ๋กœ Fine-tuningํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค.

 

 

 

 

vii) Ensembles & ๊ถŒ์žฅ ํ•™์Šต์ „๋žต.

ํ•ต์‹ฌ์€ ์•ฝ์ ๋ณด์™„์„ ์œ„ํ•ด "์ตœ๋Œ€ํ•œ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์„ ํƒ"ํ•˜๋Š” ๊ฒƒex) DenseNet + Xception + EfficientNet

โˆ™ Dataset์ด ๋งค์šฐ ์ž‘์„๋•Œ: Transfer Learning
โˆ™ Dataset์ด ๋ณดํ†ต์ผ ๋•Œ: Fine-Tuning
โˆ™ Dataset์ด ๋งค์šฐ ํด ๋•Œ: ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šต

 

 

 

 

 

 

 


3. Detection

์ข€ ๋” ์ƒ์„ธํ•œ ์„ค๋ช…์€ ๊ฐ€์žฅ ํ•˜๋‹จ๋ชฉ๋ก์„ ์ฐธ์กฐ.

RetinaNet(FPN, AnchorBox, NMS)

๐Ÿค” FPN (Feature Pyramid Network)
๋น„์„ ํ˜•์„ฑโŒ ์‹ ๊ฒฝ๋ง
Conv์ธต: Feature map์˜ ์˜๋ฏธ์ •๋ณด๋ฅผ ์ ์ฐจ ๋‹ค๋“ฌ๋Š”๋‹ค.
Pool์ธต: ๊ณต๊ฐ„(x,y)์ฐจ์›์—์„œ feature map์„ ์ถ•์†Œํ•œ๋‹ค.

๐Ÿค” Anchor Box
Bbox๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ์ด๊ฐ’(Δ)์œผ๋กœ ๊ณ„์‚ฐ๋˜๋Š”๋ฐ, ์ด๋Š” ๋‹จ์ˆœํžˆ ์‚ฌ๋ฌผ๊ณผ ๊ฒน์ณ์ง„ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
โˆ™ pred = Δ of Anchor ํฌ๊ธฐ&์œ„์น˜
โˆ™ ๋ชฉํ‘œ: ์‹ ๊ฒฝ๋ง์ด 0์ฃผ๋ณ€์˜ ์ž‘์€ ๊ฐ’์œผ๋กœ ์˜ˆ์ธกํ•˜๊ฒŒ ๋•๋Š” ๊ฒƒ.
(โˆต 0 ๋ถ€๊ทผ์—์„œ๋งŒ ๋น„์„ ํ˜•์„ฑ์„ ๊ฐ–๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ .)
Loss ๊ณ„์‚ฐ์‹œ, ์‹ค์ธก๋ฐ•์Šค(N) Anchor Box(M) ์Œ ๋ณ„ IoUํ–‰๋ ฌ(N×M)์„ ๊ณ„์‚ฐ,
์ด๋•Œ, ์œ ์˜๋ฏธํ•˜์ง€ ์•Š์€ ๊ฐ’ = Background๋กœ ๊ฐ„์ฃผํ•ด ์•„๋ฌด๊ฒƒ๋„ ๊ฒ€์ถœํ•˜์ง€ ์•Š๊ฒŒ ํ›ˆ๋ จ๋œ๋‹ค.


๐Ÿšฉ (ํด๋ž˜์Šค ๋ถ„๋ฅ˜): Focal Loss
Background Box์— ํ•ด๋‹นํ•˜๋Š” ์†์‹ค์ด ์ „์ฒด ์†์‹ค ์••๋„ ๊ฐ€๋Šฅ
→ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž RetinaNet๋…ผ๋ฌธ์—์„œ ์†์‹คํ•จ์ˆ˜๋ฅผ ์กฐ์ •(BCE with γ)
→ ๋นˆ ๋ฐฐ๊ฒฝ์— ํ›จ์”ฌ ๋” ์ž‘์€ Loss๊ฐ’์„ ์ƒ์„ฑํ•˜๊ฒŒ ํ•œ๋‹ค!


๐Ÿšฉ (๋ฐ•์Šค ํšŒ๊ท€): Smooth L1 Loss
L1: ๊ฒฝ์‚ฌ๊ฐ€ ๋ชจ๋“ ๊ณณ์—์„œ ๋™์ผํ•˜๋‹ค๋Š” ๋ฌธ์ œ
L2: pred์™€ target๊ฐ’์ด ๋ฉ€์ˆ˜๋ก ์˜ค์ฐจ๊ฐ’์ด ์ปค์ ธ outlier์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ
์ด์— ๋Œ€ํ•œ ์ ˆ์ถฉ์•ˆ์œผ๋กœ ๋“ฑ์žฅํ•œ Smooth L1 Loss (์ˆ˜์ •๋œ Huber Loss)๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋Š๋‚Œ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
โˆ™ ์˜ค์ฐจ๊ฐ€ ์ž‘์€ ๊ฐ’ → L2
โˆ™ ์˜ค์ฐจ๊ฐ€ ํฐ ๊ฐ’ → L1

๐Ÿค” NMS (Non-Maximum Suppression)
๋‹ค์ˆ˜์˜ Anchor Box ํ›„๋ณด์—์„œ IoU์™€ Confidence๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด๋ณ„ 1๊ฐœ์”ฉ๋งŒ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•œ "Greedy-Algorithm"
Step 1: Greedy๋กœ IoU > Threshold์ธ Box๋ฅผ ์ฐพ์Œ
Step 2: ๋” ๋†’์€ class confidence๋ฅผ ๊ฐ–๋Š” Box๋ฅผ ์‚ด๋ฆผ.

์ด๋ฅผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
def NMS(Boxes, Confidence):
	res_box = []
    for b1 in Boxes:
    	๋ฒ„๋ฆผ = False
        for b2 in Boxes:
        	if IoU(b1, b2) > threshold:
            	if Confidence[b2] > Confidence[b1]:
                	๋ฒ„๋ฆผ = True
		if not ๋ฒ„๋ฆผ:
        	res_box.append(b1)
            
return res_box

 

 

 

 

 

 

 

 

 

 

 

 

 


4. Segmentation

i) Semantic Segmentation 

instance segmentation์˜ ๊ฒฝ์šฐ, ๊ฐœ๋ณ„ instance๊ฐ€ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

semantic segmentation์˜ ๊ฒฝ์šฐ, ๊ฐ™์€ segment์˜ "pixel"๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

U-Net์˜ ๊ฒฝ์šฐ, Encoder to Decoder๊ตฌ์กฐ๋กœ "์ง์ ‘์ ์ธ" Skip connection์„ ์ง„ํ–‰ํ•œ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด Semantic granularity์ •๋ณด๋ฅผ Encoder์—์„œ Decoder๋กœ ์ง์ ‘ ๊ฐ€์ ธ์˜จ๋‹ค.

 

 

 

 

ii) Instance Segmentation (Atrous Convolution, Mask R-CNN)

๐Ÿค” Transposed Convolution
= Atrous Convolution
= Deconvolution
์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ์ด๋Š” ๊ธฐ์กด Upsampling๋ฐฉ๋ฒ•๊ณผ ๋‹ฌ๋ฆฌ "ํ•™์Šต๊ฐ€๋Šฅํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ํฌํ•จํ•˜๋Š” Upsampling"์—ฐ์‚ฐ์ด๋ผ๋Š” ์ ์—์„œ ์œ ์šฉํ•˜๋‹ค.
์ž์„ธํ•œ ์„ค๋ช…์€ ์ด ๋งํฌ ์ฐธ์กฐ.

๐Ÿค” Instance Segmentation with Mask R-CNN
Detection: Object ์ฃผ๋ณ€ Bbox๋ฅผ ์ฐพ์•„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ.
Instance Segmentation: Detection๋œ ๋ชจ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•ด ๊ฐ ๊ฐ์ฒด๋ชจ์–‘์— ๋งž๋Š” pixel mask๋ฅผ ์ถ”๊ฐ€.


๐Ÿšฉ Mask R-CNN
Mask R-CNN๊ณผ ๊ธฐํƒ€ RPN์€ ํ•œ๋ฒˆ์— ํ•œ ๊ณณ์˜ RoI์—์„œ ์ž‘๋™ํ•˜๊ธฐ์— ์ด๋Š” ์‹ค์ œ๋กœ Interest์ผ ํ™•๋ฅ ์ด ๋†’๊ณ , ์ฆ‰ RoI๋งˆ๋‹ค ๋” ๋งŽ์€ ์ž‘์—…์„ ๋” ๋†’์€ ์ •๋ฐ€๋„๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Instance Segmentation Head: detection๋œ ๊ฐ์ฒด์˜ Feature map์„ Transposed Convolution์œผ๋กœ Upsamplingํ•œ๋‹ค.
์ด๋•Œ, Mask-Head๋Š” ํด๋ž˜์Šค๋‹น 1๊ฐœ์˜ mask๋งŒ ์ƒ์„ฑํ•œ๋‹ค.


Segmentation Loss๋Š” ๋‹จ์ˆœ pixel by pixel์— ๋Œ€ํ•œ BCE Loss๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
(์˜ˆ์ธก๋œ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์˜ˆ์ธก๋œ mask๋งŒ Loss๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.)

 

 

 

 

 

 

 

 

 

 

 

5. Pose Estimation

๐Ÿค” Pose Estimation์ด๋ž€?
์‚ฌ๋žŒ์˜ ์ž์„ธ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ํŒ”๊ฟˆ์น˜, ๋ฌด๋ฆŽ, ์–ผ๊ตด ๋“ฑ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ. 
์‚ฌ๋žŒ์ด ์•‰์•„์žˆ๋Š”์ง€, ์„œ์žˆ๋Š”์ง€ ๋“ฑ์˜ ์ž์„ธํŒ๋ณ„์ด ๊ฐ€๋Šฅํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณณ์—์„œ ํ™œ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

Papandreous et al; 2018

๐Ÿค” PoseNet

[1๋‹จ๊ณ„]
โˆ™ Detection๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด Interest point์˜ Heatmap์„ ์‹๋ณ„
(์ผ๋ฐ˜์ ์ธ Interest point: ๊ด€์ ˆ(joint or landmark), ๋ˆˆ, ์ฝ” ๋“ฑ)
(Heatmap: Detection๋ชจ๋ธ classifier head์—์„œ ์ถœ๋ ฅ๋˜๋Š” ์ ์ˆ˜ = threshold์ง€์ • ์ด์ „๊ฐ’)

[2๋‹จ๊ณ„]
โˆ™ Detect๋œ ๊ฐ joint๋ฅผ ๊ธฐ์ค€, ๊ทผ์ฒ˜ joint์˜ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์žˆ๋Š” ์œ„์น˜ ์‹๋ณ„.

[3๋‹จ๊ณ„]
โˆ™ Hough Transform์ด๋ผ๋Š” Weighted Voting Mechanism์œผ๋กœ 1,2๋‹จ๊ณ„์— ๋”ฐ๋ผ ์„ ํƒ๋œ Joint๊ธฐ๋ฐ˜, pose๊ฒ€์ถœ.
์ด๋•Œ, 2,3๋‹จ๊ณ„๋Š” ๋‹ค์–‘ํ•œ jointํƒ์ง€๋ฅผ ์œ„ํ•ด ๋‹จ์ˆœ detection๋ชจ๋ธ๋กœ๋Š” ์ถฉ๋ถ„์น˜ ์•Š๊ธฐ์— ํ•„์ˆ˜์ ์ด๋‹ค.
๊ทธ๋ ‡๊ธฐ์— joint์™€ joints์‚ฌ์ด์˜ offset๋„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿค” ๋‹ค์ค‘๊ฐ์ฒด์˜ pose estimation
๋‹จ์ผ ์ด๋ฏธ์ง€์—์„œ ์—ฌ๋Ÿฌ์‚ฌ๋žŒ์˜ pose estimation์„ ์œ„ํ•ด ์œ„์˜ step์— ๋ช‡๊ฐ€์ง€ ๊ธฐ์ˆ ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

1. segmentation๋ชจ๋ธ์„ ํ™œ์šฉ, ์‚ฌ๋žŒ์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  pixel ์‹๋ณ„
2. joint์กฐํ•ฉ์„ ์ฐธ๊ณ ํ•ด ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ ๋†’์€ ์‹ ์ฒด๋ถ€์œ„ ์‹๋ณ„
3. ๊ฐ ์‚ฌ๋žŒ์—๊ฒŒ ์‚ฌ๋žŒ pixel์„ ํ• ๋‹น.
(1์—์„œ ์ฐพ์€ mask์˜ Pixel๊ณผ 2์—์„œ ์‹๋ณ„ํ•œ ๊ฐ€๋Šฅ์„ฑ๋†’์€ joint๋ฅผ ์ด์šฉ.)

 

๐Ÿง Human Pose Estimation ๋ฐฉ์‹

1) Top-Down ๋ฐฉ์‹

: ์‚ฌ๋žŒ์„ ๋จผ์ € Detect → Detect๋œ ์ž์„ธ๋ฅผ ์ถ”์ •.

์ •ํ™•๋„๊ฐ€ Bottom-up๋ฐฉ์‹๋ณด๋‹ค ๋†’์Œ.
๊ฒ€์ถœ๋œ ์‚ฌ๋žŒ๋“ค์„ ์ˆœํšŒํ•˜๋ฉฐ joint๋“ค์„ ์ฐพ๊ธฐ์— ์†๋„๊ฐ€ Bottom-up๋ฐฉ์‹๋ณด๋‹ค ๋Š๋ฆฌ๋‹ค
๋ณดํ†ต ์ €ํ•ด์ƒ๋„์—์„œ ๊ณ ํ•ด์ƒ๋„๋กœ ๊ณผ์ •์ด ์ˆ˜ํ–‰

์ฆ‰, object detector๋ฅผ ์‚ฌ์šฉํ•ด, ๊ฐœ๋ณ„ instance๋ฅผ ์‹๋ณ„(identifying), localizing → ํ•œ ์‚ฌ๋žŒ์˜ ํฌ์ฆˆ๋ฅผ ์ถ”์ •. 

ex) AlphaPose, Mask-RCNN


2) Bottom-Up ๋ฐฉ์‹

joint๋ฅผ ๋จผ์ € Detect → ์„œ๋กœ ์—ฐ๊ฒฐํ•ด ์ž์„ธ๋ฅผ ์ถ”์ •.
์ •ํ™•๋„๋Š” Top-down ๋ฐฉ์‹์— ๋น„ํ•ด ๋–จ์–ด์ง.

Object Detection ๊ณผ์ •์ด ์—†์–ด ์†๋„๊ฐ€ ๋นจ๋ผ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๋ณดํ†ต ๊ณ ํ•ด์ƒ๋„์—์„œ ์ €ํ•ด์ƒ๋„๋กœ ๊ณผ์ •์ด ์ˆ˜ํ–‰

์ฆ‰, ํ™•์ธ๋˜์ง€ ์•Š์€(identity-free) ์˜๋ฏธ๋ก ์  ์‹ค์ฒด(semantic entities)๋ฅผ ์ง€์—ญํ™”→์‚ฌ๋žŒ ์ธ์Šคํ„ด์Šค๋กœ ๊ทธ๋ฃนํ™”

ex) OpenPose

cf) Pose Estimation Guideline

 

Pose Estimation Guide - Fritz ai

Almost everything you need to know about how pose estimation works Pose estimation is a computer vision technique that predicts and tracks the location of a person or object. This is done by looking at a combination of the pose… Continue reading Pose Est

fritz.ai

 

 

 

 

 

 

 

 

 

 


๐Ÿ“Œ ์ƒ์„ฑ AI (Generation AI)

1. Baseline

ํ˜„์žฌ๊นŒ์ง€ ์ด 6๊ฐ€์ง€์˜ ํ๋ฆ„์œผ๋กœ Vision Generation์€ ๋ถ„๋ฅ˜๊ฐ€๋Šฅํ•˜๋‹ค:
โˆ™ VAE
โˆ™ GAN
โˆ™ Auto-Regressive
โˆ™ Normalizing Flow
โˆ™ Energy-Based Model
โˆ™ Diffusion

์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ํŠน์ง•์„ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

โˆ™ VAE

d
s

โˆ™ GAN

s
s

โˆ™ Auto-Regressive

s
s

โˆ™ Normalizing Flow

s
s

โˆ™ Energy-Based Model

s
s

โˆ™ Diffusion Model

s
s

2. Advanced GAN

ls
s

3. RL & World Model

ls
s

4. Multi-Modal

ls
s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


๐Ÿ“Œ Detection ์ƒ์„ธ์„ค๋ช…


1.  R-CNN ๊ณ„์—ด (RCNN, Fast R-CNN, Faster R-CNN)

1.1  R-CNN

R-CNN์€ ํ›„๋ณด์˜์—ญ์„ ์˜์—ญ์ œ์•ˆ[Region Proposal]์ด๋ผํ•œ๋‹ค.
2-stage๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— RCNN๊ณ„์—ด๋ฐฉ๋ฒ•๋“ค์„ 2-stage๋ฐฉ๋ฒ•์ด๋ผ ๋ถ€๋ฅธ๋‹ค.

โˆ™ ์˜์—ญ์ œ์•ˆ๊ณผ์ •

๋ฌผ์ฒด๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์˜์—ญ์„ ์ฐพ๋Š”๋‹จ๊ณ„.
RCNN์€ Selective Search Algorithm์œผ๋กœ  ํ›„๋ณด์˜์—ญ์„ ์ƒ์„ฑํ•œ๋‹ค.
Selective Search๋Š” image๋ฅผ super pixel๋กœ ๋ถ„ํ•  ํ›„, clustering๊ณผ์ •์œผ๋กœ ์˜์—ญ์„ ์ƒ์„ฑ.

์ƒ์„ฑ๋œ ์˜์—ญ์„ 227×227ํฌ๊ธฐ๋กœ ์ •๊ทœํ™”,CNN์— ์ž…๋ ฅ, ํŠน์ง•๋ฒกํ„ฐ๋ฅผ ์ถ”์ถœํ•œ๋‹ค.


โˆ™ ์˜์—ญ๋ถ„๋ฅ˜๊ณผ์ •

Binary-classifier์ธ SVM์ด ๊ฐ ํด๋ž˜์Šคํ™•๋ฅ ์„ ๊ณ„์‚ฐ, ํด๋ž˜์Šคํ™•๋ฅ ๋ฒกํ„ฐ๋ฅผ ์ถœ๋ ฅ.
ํ›„๋ณด์˜์—ญ์— ๋Œ€ํ•ด ์œ„์น˜์™€ ํด๋ž˜์Šค์ •๋ณด๋ฅผ ํ™•๋ณด ํ›„, ์œ„์น˜์™€ ํด๋ž˜์Šค๋ฅผ ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

์ฆ‰, "Selective Search์•Œ๊ณ ๋ฆฌ์ฆ˜ → RoI ์ƒ์„ฑ → CNN์œผ๋กœ ํŠน์ง•๋ฒกํ„ฐ ์ถ”์ถœ → SVM" ์ˆœ.

 

 

 

 

 

1.2  Fast-RCNN

โˆ™ ์˜์—ญ์ œ์•ˆ๋‹จ๊ณ„: Selective Search Algorithm ์‚ฌ์šฉ.
โˆ™ ์˜์—ญ๋ถ„๋ฅ˜๋‹จ๊ณ„: SVM์„ Neural Net์œผ๋กœ ๋Œ€์ฒด.


โˆ™ RoI  ํˆฌ์˜

ConvํŠน์ง•๋งต์—์„œ ํ›„๋ณด์˜์—ญ์— ํ•ด๋‹นํ•˜๋Š”๊ณณ์„ RoI(Region Of Interest)๋กœ ์ง€์ •ํ•˜๋Š”, RoIํˆฌ์˜์„ ์ง„ํ–‰.
๊ทธ๋ฆผ์—์„œ ์ขŒ์ธก์„ ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” RoI๊ฐ€ ๋…ธ๋ž€์ƒ‰์ธ๋ฐ, RoI์— RoIํ’€๋ง์ธต์„ ์ ์šฉํ•ด ๊ณ ์ •ํฌ๊ธฐ๋งต(๋…น์ƒ‰ 7×7๋งต)์„ ์ถœ๋ ฅํ•œ๋‹ค.


โˆ™ RoI  ํŠน์ง•๋ฒกํ„ฐ์ถ”์ถœ

์ด ํŠน์ง•๋งต์„ 2๊ฐœ์˜ FC์ธต์„ ํ†ต๊ณผ์‹œ์ผœ 4096์ฐจ์›์˜ RoIํŠน์ง•๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
RoIํŠน์ง•๋ฒกํ„ฐ๋Š” 2๊ฐˆ๋ž˜๋กœ ๋‚˜๋‰œ๋‹ค.


โˆ™ ๋ถ„๋ฅ˜ ๋ฐ ํšŒ๊ท€๊ณผ์ •์„ ๋ชจ๋“  RoI์— ์ ์šฉ

ํ•œ๊ณณ์€ ๋ถ„๋ฅ˜๋ฅผ ๋‹ด๋‹นํ•˜๋Š” FC์ธต์„ ํ†ต๊ณผ, ํด๋ž˜์Šคํ™•๋ฅ ๋ฒกํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ 
ํ•œ๊ณณ์€ ํšŒ๊ท€๋ฅผ ๋‹ด๋‹นํ•˜๋Š” FC์ธต์„ ํ†ต๊ณผ, ํด๋ž˜์Šค๋ณ„ ๋ฐ•์Šค์ •๋ณด(x,y,h,w)๊ฐ€ ๋œ๋‹ค.

์ฆ‰, "RoIํˆฌ์˜ → RoI ํŠน์ง•๋ฒกํ„ฐ์ถ”์ถœ → ๋ถ„๋ฅ˜ ๋ฐ ํšŒ๊ท€๊ณผ์ •์„ ๋ชจ๋“  RoI์— ์ ์šฉ" ํ•œ๋‹ค.
๋ฌผ์ฒด์—†์Œ์œผ๋กœ ํŒ์ •๋œ RoI๋Š” ๋ฒ„๋ฆฌ๊ณ , ๋‚˜๋จธ์ง€๋Š” ํ›„์ฒ˜๋ฆฌ ํ›„ ๋ฐ•์Šค์ •๋ณด์™€ ํด๋ž˜์Šค์ •๋ณด๋ฅผ ์ตœ์ข… Detection๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

 


Fast-RCNN์€ ๋ฐ•์Šค์ •๋ณด๋ฅผ ์•Œ์•„๋‚ด๋Š” ํšŒ๊ท€์™€ ํด๋ž˜์Šค๋ฅผ ์•Œ์•„๋‚ด๋Š” classification์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ Loss function์œผ๋กœ ๋‘ task๋ฅผ ๋‹ฌ์„ฑํ•ด์•ผํ•œ๋‹ค.
โˆ™ ์†์‹คํ•จ์ˆ˜: J = Jclassification + λโˆ™Jregression ํ˜•์‹
์ด๋Ÿฐ ์†์‹คํ•จ์ˆ˜๋ฅผ ๋‹ค์ค‘๊ณผ์—…์†์‹คํ•จ์ˆ˜(Multi-task Loss function)๋ผ ํ•œ๋‹ค.

 

 

 

1.3   Faster-RCNN

โˆ™ ์˜์—ญ์ œ์•ˆ๋‹จ๊ณ„: ์˜์—ญ์ œ์•ˆ๋ชจ๋“ˆ, RPN(Region Proposal Network)์‹ ๊ฒฝ๋ง ์‚ฌ์šฉ.
โˆ™ ์˜์—ญ๋ถ„๋ฅ˜๋‹จ๊ณ„: Fast R-CNN ์‚ฌ์šฉ.

โˆ™ RPN

Pre-Trained VGG16์„ ์•ž์— ๋ฐฐ์น˜ํ•ด ํŠน์ง•๋งต์„ ์ถ”์ถœ(๋…ธ๋ž€์ƒ‰ H×W๋งต)ํ•œ๋‹ค.
RPN์€ ์ด ํŠน์ง•๋งต์˜ ๊ฐ pixel์—์„œ 3×3 filter๋กœ 512์ฐจ์›์˜ ํŠน์ง•๋ฒกํ„ฐ๋ฅผ ์ถ”์ถœํ•œ๋‹ค.

์ด ํŠน์ง•๋งต์— ์„œ๋กœ ๋‹ค๋ฅธ 2๊ฐœ์˜ 1×1 convolution์„ ์ ์šฉํ•ด 6๊ฐœ์˜ ๊ฐ’๋“ค์„ ์ถ”์ถœํ•œ๋‹ค.
 โˆ™ ๋ฌผ์ฒด์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 2๊ฐœ์˜ ๊ฐ’
 โˆ™ ๋ฐ•์Šค์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 4๊ฐœ์˜ ๊ฐ’.

์œ„์˜ ์—ฐ์‚ฐ์„ 9๋ฒˆ ์ ์šฉํ•ด ํฌ๊ธฐ์™€ ๊ฐ€๋กœ์„ธ๋กœ๋น„์œจ์ด ๋‹ค๋ฅธ 9๊ฐœ์˜ ๋ฐ•์Šค (= Anchor)๋ฅผ ์ƒ์„ฑ.
Anchor: ์—ฌ๋Ÿฌํฌ๊ธฐ์˜ ๋ฌผ์ฒด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” Anchor๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ๋‹ค์ค‘ํฌ๊ธฐ์˜ ๋ฌผ์ฒดํƒ์ง€๋Šฅ๋ ฅ์„ ๊ฐ–์ถ˜๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ H×W์˜ pixel๋งˆ๋‹ค 9๊ฐœ์˜ Anchor๊ฐ€ ์ƒ์„ฑ๋˜๋ฏ€๋กœ H×W×9๊ฐœ์˜ Anchor๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
์—ฌ๊ธฐ์„œ NMS๋ฅผ ์ ์šฉํ•ด 2,000์—ฌ๊ฐœ์˜ Anchor๋งŒ ๋‚จ๊ธด๋‹ค.


์ฆ‰, CNN์œผ๋กœ ํŠน์ง•๋งต ์ถ”์ถœ → 1×1 conv๋กœ 6๊ฐœ๊ฐ’ ์ถ”์ถœ 9ํšŒ ์ง„ํ–‰ → Anchor Box์ƒ์„ฑ ์ˆœ์ด๋‹ค.


โˆ™ Fast R-CNN

์ด Anchor๋“ค์„ RoI์œผ๋กœ ๊ฐ„์ฃผํ•ด ์œ„ ๊ทธ๋ฆผ์˜ ์‹ ๊ฒฝ๋ง์˜ ๋’ท๋ถ€๋ถ„์— ์žˆ๋Š” Fast-RCNN์œผ๋กœ ์ž…๋ ฅํ•œ๋‹ค.
Fast-RCNN์€ ํ›„๋ณด์˜์—ญ ๊ฐ๊ฐ์— ๋Œ€ํ•ด RoIํˆฌ์˜ → RoI ํŠน์ง•๋ฒกํ„ฐ์ถ”์ถœ → ๋ถ„๋ฅ˜ ๋ฐ ํšŒ๊ท€๊ณผ์ •์„ ์ ์šฉํ•œ๋‹ค.

๋ฌผ์ฒด์—†์Œ์œผ๋กœ ํŒ์ •๋œ ํ›„๋ณด์˜์—ญ์€ ๋ฒ„๋ฆฌ๊ณ , ๋‚˜๋จธ์ง€ ํ›„์ฒ˜๋ฆฌ ํ›„, ๋ฐ•์Šค์ •๋ณด์™€ ํด๋ž˜์Šค์ •๋ณด๋ฅผ ์ตœ์ข… Detection๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2. YOLO ๊ณ„์—ด

 

YOLO v1์˜ ํŠน์ง•

image๋ฅผ s×s๊ฒฉ์ž๋กœ ๋‚˜๋ˆˆ๋‹ค.
(์‹ค์ œ ๊ตฌํ˜„์€ ์•„๋ž˜๊ทธ๋ฆผ์˜ ๋…ธ๋ž€๊ฒฉ์ž์ฒ˜๋Ÿผ s=7๋กœ ์„ค์ •ํ•ด  ์ด 49๊ฐœ์˜ ์นธ์ด ์กด์žฌํ•œ๋‹ค; ๋นจ๊ฐ„๋ฐ•์Šค๋Š” dataset์— ๋ผ๋ฒจ๋ง๋œ ์ฐธ๊ฐ’์ด๋‹ค.)

์•„๋ž˜๊ทธ๋ฆผ์—์„œ ๊ฒ€์€์นธ์„ ์˜ˆ๋กœ๋“ค์–ด 90์ฐจ์›์˜ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•ด๋ณด์ž.
๋นจ๊ฐ„์ƒ‰์˜ ์ขŒ์ธก์„ ์ˆ˜๋ฅผ ํ‘œ์‹œํ•œ ๋นจ๊ฐ„๋ฐ•์Šค์˜ ์ค‘์‹ฌ์€ ๊ฒ€์€์นธ์— ๋†“์ด๊ธฐ์— ๊ฒ€์€์นธ์ด ์ด ๋ฐ•์Šค๋ฅผ ์ฑ…์ž„์ง„๋‹ค.
๋ฒกํ„ฐ๋Š” 90์ฐจ์›์ธ๋ฐ ์•ž์˜ 5๊ฐœ์š”์†Œ(x1, y1, w1, h1, o1)๋Š” ์ด ๋ฐ•์Šค์˜ ์œ„์น˜์™€ ํฌ๊ธฐ, ์‹ ๋ขฐ๋„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋ฐ•์Šค์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋Š” ์˜์ƒ์ขŒํ‘œ๊ณ„๋ฅผ [0,1]์‚ฌ์ด๋กœ ์ •๊ทœํ™”ํ•˜๊ณ  ์ •๊ทœํ™”์ขŒํ‘œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
x2,y2,w2,h2,o2๋Š” ๋˜๋‹ค๋ฅธ ๋ฐ•์Šค๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ํ•œ์นธ์€ ๋ฐ•์Šค๋ฅผ 2๊ฐœ๊นŒ์ง€ ์ฑ…์ž„์งˆ ์ˆ˜ ์žˆ๋‹ค.

p0~p80์€ ํ•ด๋‹น๋ฐ•์Šค๊ฐ€ ์–ด๋–ค๊ฐ์ฒดํด๋ž˜์Šค์— ์†ํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” one-hot์ฝ”๋“œ์ด๋‹ค.
YOLO๊ฐ€ ๋ฌผ์ฒด์˜ ์œ„์น˜์™€ ํด๋ž˜์Šค๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹

YOLO๋Š” RCNN๊ณ„์—ด์— ๋น„ํ•ด ์ƒ๋‹นํžˆ ๋‹จ์ˆœํ•œ๋ฐ, ์•„๋ž˜ ๊ทธ๋ฆผ์€ YOLO๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” CNN์˜ ๊ตฌ์กฐ์ด๋‹ค.
โˆ™ Conv์ธต: 24๊ฐœ / MaxPool์ธต: 4๊ฐœ / FC์ธต: 2๊ฐœ ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ
  - input์€ 448×448ํฌ๊ธฐ๋กœ ๋ณ€ํ™˜๋˜์–ด ์ž…๋ ฅ๋˜๊ณ 
  - output์€ 7×7×90์˜ ์ถœ๋ ฅํ…์„œ๋ฅผ ๊ฐ–๋Š”๋‹ค.
์œ„ ๊ทธ๋ฆผ์—์„œ ์‹ ๊ฒฝ๋ง์€ image๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ 7×7×90์˜ ์ถœ๋ ฅํ…์„œ๋ฅผ ์ฐธ๊ฐ’์œผ๋กœ ์ฃผ์–ด ํ†ต์งธ๋กœ ํ•™์Šตํ•œ๋‹ค.

์ฐธ๊ฐ’ํ…์„œ์— [float์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” Bbox์ •๋ณด], [OneHot์ฝ”๋“œ๋กœ ํ‘œํ˜„๋˜๋Š” ํด๋ž˜์Šค์ •๋ณด]๊ฐ€ ์„ž์—ฌ์žˆ๊ธฐ์— classification๊ณผ regression์ด ๋™์‹œ์— ์ผ์–ด๋‚œ๋‹ค. 

 

 

 

YOLO v3

YOLO v3์€ (object, class)์˜ 85์ฐจ์› ๋ฒกํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ธต์„ ์‹ ๊ฒฝ๋ง 3๊ณณ์— ๋ฐฐ์น˜ํ•œ๋‹ค.

โˆ™ yolo_82์ธต์—์„œ๋Š” 14×14๊ฒฉ์ž๋กœ ๋‚˜๋ˆ  14×14×85×3ํ…์„œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 14×14์˜ ๊ฐ ์š”์†Œ๋Š” ๋ฐ•์Šค๋ฅผ 3๊ฐœ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.
โˆ™ yolo_94์ธต์—์„œ๋Š” 28×28๊ฒฉ์ž๋กœ ๋‚˜๋ˆ  28×28×85×3ํ…์„œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 
โˆ™ yolo_106์ธต์—์„œ๋Š” 56×56๊ฒฉ์ž๋กœ ๋‚˜๋ˆ  56×56×85×3ํ…์„œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ด ์ธต๋“ค์ด ์ถœ๋ ฅํ•œ ํ…์„œ๋ฅผ ๊ฐ์ฒด์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด, ์—ฌ๋Ÿฌ scale์˜ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Loss Function

์ •๋‹ต์œผ๋กœ Ground truth box์™€ ํด๋ž˜์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

โˆ™ 1, 2ํ•ญ์€ ๊ฐ ๋ฐ•์Šค์˜ ์œ„์น˜์˜ค๋ฅ˜์™€ ํฌ๊ธฐ์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•˜๋Š” Regression Loss์ด๋‹ค.
โˆ™ 3ํ•ญ์€ ๋ฌผ์ฒด๊ฐ€ ์žˆ์ง€๋งŒ ์—†๋‹ค๊ณ ํ•œ FN์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•˜๋Š” Confidence Loss์ด๊ณ ,
โˆ™ 4ํ•ญ์€ ๋ฌผ์ฒด๊ฐ€ ์—†์ง€๋งŒ ์žˆ๋‹ค๊ณ ํ•œ FP์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•˜๋Š” Confidence Loss์ด๋‹ค.
โˆ™ 5ํ•ญ์€ class๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” OneHot์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•˜๋Š” Classification Loss์ด๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3. Transformer : DETR , SETR

๊ณ ์•ˆ ๋ฐฐ๊ฒฝ)

๊ณ ์•ˆ ๋ฐฐ๊ฒฝ)Transformer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด,
โˆ™ ํ›„๋ณด์˜์—ญ(RoI)์„ ์ƒ์„ฑํ•˜๋Š” ์ค‘๊ฐ„๋‹จ๊ณ„์—†์ด Box์ง‘ํ•ฉ์„ ์ง์ ‘์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์„๊นŒ?
โˆ™ ์ค‘๋ณตํ˜„์ƒ์ด ์•„์˜ˆ ์ผ์–ด๋‚˜์ง€ ์•Š๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?
โˆ™ Convolution๊ธฐ๋ฐ˜์˜ Faster-RCNN์ด๋‚˜ YOLO๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์—†์„๊นŒ?

CNN์€ ์œ ์—ฐํ•˜๊ธฐ์— Faster-RCNN๊ณผ YOLO v3์˜ ๊ตฌ์กฐ๋ฅผ ์ž์œ ์ž์žฌ๋กœ ์„ค๊ณ„๊ฐ€๋Šฅํ•˜์˜€๋‹ค.

ํ•˜์ง€๋งŒ Transformer๋Š” ๋‹ค์†Œ ๊ณ ์ •์ ์ธ๋ฐ, ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
โˆ™ T × dmodel ํฌ๊ธฐ์˜ tensor๊ฐ€ ์—ฌ๋Ÿฌ encoder๋ธ”๋ก๊ณผ decoder๋ธ”๋ก์„ ํ๋ฅด๋ฉฐ ์—ฐ์‚ฐ์ด ์ง„ํ–‰


Encoder๋งŒ ์‚ฌ์šฉ๋˜๋Š” ViT์™€ ๋‹ฌ๋ฆฌ DETR๋Š” ์˜์ƒ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ•์Šค์ง‘ํ•ฉ์„ ์ถœ๋ ฅํ•ด์•ผํ•˜๊ธฐ์— Encoder์™€ Decoder ๋ชจ๋‘ ์‚ฌ์šฉํ•œ๋‹ค.
Decoder์— ๋ถ™์€ ์ถœ๋ ฅ์ธต์€ T × dmodel tensor๋ฅผ Box์ง‘ํ•ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•œ๋‹ค.

์†์‹คํ•จ์ˆ˜๋Š” Transformer๊ฐ€ ์˜ˆ์ธกํ•œ Box์ง‘ํ•ฉ๊ณผ label๋ฐ•์Šค์ง‘ํ•ฉ์ด ์ผ์น˜ํ•˜๋Š” ์ •๋„๋ฅผ ์ธก์ •ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
โˆ™ Box๋Š” ์ง์‚ฌ๊ฐํ˜•์„ ํ‘œํ˜„ํ•˜๋Š” 4๊ฐœ์˜ ์ขŒํ‘œ(coordinate)์™€
โˆ™ ๋ฌผ์ฒด ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Classํ™•๋ฅ ๋ฒกํ„ฐ(softmax)๋กœ ํ‘œํ˜„.

 

 

3.1 DETR (DEtection TRansformer)

Faster-RCNN๊ฐ™์€ CNN๊ธฐ๋ฐ˜ ์‹ ๊ฒฝ๋ง์€ Box์ง‘ํ•ฉ์„ ๋ฐ”๋กœ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ธฐ์—
RoI๋ฅผ ์ƒ์„ฑ ํ›„, ์˜์—ญ์„ ๋ถ„๋ฅ˜
ํ•˜๋Š” ์ผ์ข…์˜ ์šฐํšŒํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.
์ฆ‰, ๊ธฐ์กด๋ฌธ์ œ๋ฅผ ๋Œ€๋ฆฌ๋ฌธ์ œ๋กœ ๋ฐ”๊พธ๊ณ  ๋Œ€๋ฆฌ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์…ˆ์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

DETR์€ RoI์ƒ์„ฑ๋‹จ๊ณ„๊ฐ€ ์—†๊ณ , NMS๋ผ๋Š” ํ›„์ฒ˜๋ฆฌ๋‹จ๊ณ„๊ฐ€ ์—†๋Š”, End-to-End ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์œ„์˜ ๊ทธ๋ฆผ์€ DETR๋ชจ๋ธ๊ตฌ์กฐ๋กœ DETR์€ โ‘ ~โ‘ข๋กœ ํ‘œ์‹œํ•œ 3๊ฐ€์ง€ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

โˆ™ ๋ชจ๋“ˆ โ‘ 

CNN์„ ํ†ตํ•ด Feature Extraction์„ ์ง„ํ–‰.
๋˜ํ•œ, 1×1 convolution์„ ์ ์šฉํ•ด channel์„ C์—์„œ dmodel๋กœ ์ค„์—ฌ h×w×dmodel์˜ tensor๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
์ดํ›„ Flatten์œผ๋กœ pixel์„ ์ด์–ด๋ถ™์—ฌ ํ–‰์— ๋ฐฐ์น˜ํ•œ hw×dmodel ํ–‰๋ ฌ์„ ์–ป๋Š”๋‹ค.
์œ„ ๊ทธ๋ฆผ์—์„œ๋Š” hw๋ฅผ T๋กœ ํ‘œ๊ธฐํ•˜๋Š”๋ฐ, ์ด๋Š” ์ตœ์ข…์ ์œผ๋กœ transformer์˜ input์œผ๋กœ ์ž…๋ ฅํ•  T×dmodelํ–‰๋ ฌ์„ ์–ป์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

์ด ํ–‰๋ ฌ์˜ ๊ฐ ํ–‰์€ ์ถ•์†Œ๋œ image์˜ pixel์— ํ•ด๋‹นํ•˜๋ฉฐ, Self-Attention๊ณ„์‚ฐ ์‹œ ํ–‰์ด Query๋กœ ์ฐธ์—ฌํ•˜๊ธฐ์—
์ถ•์†Œ๋œ pixel(= patch)๊ฐ„์˜ attention์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ์…ˆ์ด๋‹ค.
์ฆ‰, DETR์€ Self-Attention์„ ๋ฐ˜์˜ํ•œ๋‹ค ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


 

โˆ™ ๋ชจ๋“ˆ โ‘ก

Encoder-Decoder๋กœ ๊ตฌ์„ฑ๋œ Transformer๋กœ
๋ชจ๋“ˆ โ‘ ์—์„œ ์ž…๋ ฅ๋œ T×dmodel ํ–‰๋ ฌ์— Position Encoding์„ ์ ์šฉํ•ด Encoder๋ธ”๋ก1์— ์ž…๋ ฅํ•œ๋‹ค.

Encoder๋ธ”๋ก1, ... , Encoder๋ธ”๋กM์„ ํ†ตํ•ด ๋ณ€ํ™˜๋œ ํ–‰๋ ฌ์€


Decoder์˜ MHA์— ์ž…๋ ฅ๋˜์–ด Key์™€ Value์˜ ์—ญํ• ์„ ํ•œ๋‹ค.


Decoder๋ฅผ ์ข€ ๋” ์‚ดํŽด๋ณด์ž.

๊ธฐ์กด Transformer์—์„œ๋Š” Decoder๊ฐ€ Auto-Regressive๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.
์ฆ‰, NLP์—์„œ <SOS>ํ† ํฐ์„ ์ฃผ๋ฉด ์ฒซ๋ฒˆ์งธ ๋‹จ์–ด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  
<SOS>ํ† ํฐ๊ณผ ์ฒซ๋ฒˆ์งธ ๋‹จ์–ด๋ฅผ ์ฃผ๋ฉด ๋‘๋ฒˆ์งธ ๋‹จ์–ด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
์ด๋Ÿฐ AR๋ฐฉ์‹์„ ๊ฐ์ฒดํƒ์ง€์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?? → โŒ 
(Bbox๋Š” ์ˆœ์„œ์—†์ด ์ง‘ํ•ฉ์œผ๋กœ๋งŒ ํ‘œํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ.)


Decoder ์ž…๋ ฅ์„ ๋ณด๋ฉด object queries๋ผ ํ‘œ์‹œ๋œ K๊ฐœ ๋ฒกํ„ฐ๊ฐ€ ์žˆ๋‹ค.
K×dmodelํฌ๊ธฐ์˜ ํ–‰๋ ฌ์ด ์ž…๋ ฅ๋œ๋‹ค๋Š” ์˜๋ฏธ๋กœ K๋Š” ํƒ์ง€๊ฐ€๋Šฅํ•œ ๋ฌผ์ฒด์˜ ์ตœ๋Œ€๊ฐœ์ˆ˜์ด๋‹ค.
์ถœ๋ ฅ์ธต์€ ๋ฌผ์ฒด๊ฐ€ ์•„๋‹Œ๊ฒฝ์šฐ, ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ธฐ์— ๊ฐ€๋ณ€๊ฐœ์ˆ˜์˜ ๊ฐ์ฒดํƒ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋ฆผ์˜ ์˜ˆ์‹œ์—์„œ๋Š” 2๊ฐœ์˜ ๋ฐ•์Šค์™€ 3๊ฐœ์˜ ๋ฅผ ์ถœ๋ ฅํ–ˆ๋‹ค.
Decoder์˜ ์ตœ์ดˆ ์ž…๋ ฅ์ธ object queries๋Š” Box์— ๋Œ€ํ•œ ์•„๋ฌด๋Ÿฐ ์ •๋ณดโŒ 
Position Encoding, P๋ฅผ ๊ฐ–๊ณ  ์ถœ๋ฐœํ•ด์•ผํ•˜๋Š”๋ฐ, DETR์€ ํ•™์Šต์„ ํ†ตํ•ด ์•Œ์•„๋‚ธ P๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


โˆ™ ๋ชจ๋“ˆ โ‘ข

Decoder๋ธ”๋ก์ด ์ถœ๋ ฅํ•œ K×dmodelํ–‰๋ ฌ์˜ ๊ฐ ํ–‰์„ Feed-Foward์— ํ†ต๊ณผ์‹œ์ผœ ๋ฐ•์Šค์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๋ฐ•์Šค์ง‘ํ•ฉ์„ ลท๋ผ ํ•˜๊ณ 
์ •๋‹ต์— ํ•ด๋‹นํ•˜๋Š” Ground_Truth Box์ง‘ํ•ฉ์„ y๋ผ ํ•˜์ž.

y์— ๋ฐ•์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด ลท์ฒ˜๋Ÿผ K๊ฐœ ๋ฐ•์Šค๋ฅผ ๊ฐ–๊ฒŒ ํ•œ๋‹ค. 
ลท๊ณผ y์— Hungarian Algorithm์„ ์‚ฌ์šฉํ•ด ์ตœ์ ๋งค์นญ์Œ์„ ๊ตฌํ•œ๋‹ค.



๐Ÿ“Œ Loss Function
๋งค์นญ๋œ ์ฐธ๊ฐ’๋ฐ•์Šค i์™€ ์˜ˆ์ธก๋ฐ•์Šค j์Œ์„ ์ด์šฉํ•ด ์•„๋ž˜ ์ฒ˜๋Ÿผ ์†์‹คํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•œ๋‹ค.

์ฒซ๋ฒˆ์งธ ํ•ญ์€ class๋ฅผ ๋งž์ท„๋Š”์ง€ ์ธก์ •ํ•œ๋‹ค. (pฬ‚j(ci)๋Š” classํ™•๋ฅ ๋ฒกํ„ฐ์—์„œ ์ฐธ๊ฐ’class์— ํ•ด๋‹นํ•˜๋Š” ํ™•๋ฅ .)
๋‘๋ฒˆ์งธ, ์„ธ๋ฒˆ์งธ ํ•ญ์€ ๋ฌผ์ฒด์œ„์น˜๋ฅผ ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํžˆ ๋งžํ˜”๋Š”์ง€ ์ธก์ •ํ•œ๋‹ค. (2๋ฒˆ์งธํ•ญ: IoU ; 3๋ฒˆ์งธํ•ญ: L1 Distance)




Self-Attention Matrix์‹ = softmax(QKT / √dkey).
์ด ํ–‰๋ ฌ์€ image๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์—ฌ๋Ÿฌ Q๋ฒกํ„ฐ๊ฐ€ ์ƒํ˜ธ์ฃผ๋ชฉํ•˜๋Š” ์ •๋„๋ฅผ ํ‘œํ˜„.

์ „์ˆ ํ–ˆ๋“ฏ, DETR์—์„œ ๋ชจ๋“ˆ โ‘ ์ด m×nํฌ๊ธฐ์˜ ๊ธฐ์กดimage๋ฅผ h×w๋กœ ์ถ•์†Œํ•˜๊ณ 
์ถ•์†Œ๋œ ํŠน์ง•๋งต์—์„œ ํ™”์†Œ๊ฐ๊ฐ์„ Q๋ฒกํ„ฐ๋กœ ์ทจํ•˜๊ธฐ์— Self-Attention Matrix๋Š” ์ถ•์†Œ๋œ pixel (= patch)๊ฐ€ ์ƒํ˜ธ์ฃผ๋ชฉํ•˜๋Š” ์ •๋„๋ฅผ ์ธก์ •.

์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์ฃผํ™ฉ์ƒ‰ ํ‘œ์‹œ๋œ ์ฝ”๋ผ๋ฆฌ์˜ ๊ฒฝ์šฐ, ์ฝ”์™€ ๋ฐœ, ๋“ฑ, ๊ผฌ๋ฆฌ์— ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋Š” Bbox์˜ ๊ฒฝ๊ณ„์— ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ์‚ฌ์‹ค์„ ๋ฐ”ํƒ•์œผ๋กœ Decoder์˜ ์—ญํ• ์„ ์ถ”๋ก ํ•ด๋ณด๋ฉด, Decoder๋Š” Bbox๋ฅผ ์ œ๋Œ€๋กœ ์•Œ์•„๋‚ด๊ธฐ์œ„ํ•ด Self-Attention Matrix๋ฅผ ํ†ตํ•ด ๋ฌผ์ฒด์˜ ์ƒํ•˜์ขŒ์šฐ ๊ฒฝ๊ณ„์— ์ฃผ๋ชฉํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

3.2 SETR (SEgmentation TRansformer)

DETR๋Š” Object Detection์˜ ๋ชฉ์ ์œผ๋กœ ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
์ด๋•Œ, Transformer์˜ ํŠน์„ฑ์œผ๋กœ์ธํ•ด ๋ถ„ํ• ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
DETR Architecture
์œ„์˜ DETR๋ชจ๋ธ์˜ ๋ชจ๋“ˆ โ‘ข์€ ์ถœ๋ ฅํ–‰๋ ฌ์„ ํ•ด์„ํ•ด Box์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•˜๋Š”, Detection์šฉ๋„์˜ Head์ด๋‹ค.
๋”ฐ๋ผ์„œ, Segmentation์šฉ๋„์˜ Head๋ฅผ ๋ถ™์ด๋ฉด, SETR์ด ๋œ๋‹ค.
์ฆ‰, ์š”์•ฝํ•˜๋ฉด SETR์€ Encoder(Transformer) - Decoder(CNN)์˜ ๊ตฌ์กฐ๋ฅผ ๋ˆ๋‹ค.


Segmentation Head๋Š” ์ถ•์†Œ๋œ ํ•ด์ƒ๋„๋ฅผ ์›๋ž˜ ํ•ด์ƒ๋„๋กœ ๋ณต๊ตฌํ•˜๊ธฐ์œ„ํ•ด UpSampling์„ ์œ„ํ•œ Convolution์ธต์ด ํฌํ•จ๋œ๋‹ค.
SETR Architecture
(a). ๋จผ์ € image(m×n×3)๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ patch๋กœ ๋‚˜๋ˆ„๊ณ 
๊ฐ patch๋ฅผ ์„ ํ˜• ์ž„๋ฒ ๋”ฉํ•œ ๋‹ค์Œ Position Embedding์„ ์ถ”๊ฐ€ํ•œ ํ›„,
๊ฒฐ๊ณผ ๋ฒกํ„ฐ ์‹œํ€€์Šค๋ฅผ ํ‘œ์ค€ ํŠธ๋žœ์Šคํฌ๋จธ ์ธ์ฝ”๋”์— ๊ณต๊ธ‰ํ•œ๋‹ค.
(์ด๋•Œ, ํ”ฝ์…€ ๋‹จ์œ„ ๋ถ„ํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋””์ฝ”๋”๋ฅผ ๋„์ž…ํ•œ๋‹ค)


(b) Decoder๋Š” ์ ์ง„์  UpSampling(resulting in a variant called SETRPUP)์œผ๋กœ
์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ Convolution์ธต์„ ์Œ“์•„ ํ”ผ๋ผ๋ฏธ๋“œ ํ˜•ํƒœ๋กœ ์Œ“์€ Decoder๋ฅผ ์ œ์•ˆํ•œ๋‹ค.

(c) multi-level feature aggregation (a variant called SETR-MLA).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


4. Swin Transformer

4.1 Backbone Transformer

CNN transfer learning์€ DNN์˜ ํฐ ์ด์ ์ด๋‹ค.
๋ณดํ†ต ์ „์ดํ•™์Šต(transfer learning)์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Backbone model๋กœ๋Š” VGG, GoogLeNet, ResNet, DenseNet121 ๋“ฑ์ด ์žˆ์—ˆ์œผ๋ฉฐ, ์ตœ๊ทผ์—๋Š” EfficientNet ๋“ฑ์ด ์žˆ๋‹ค.

Backbone model์€ ์ฃผ๋กœ input data์—์„œ feature map์„ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 
์ฃผ๋กœ pretrained model์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ๊ตฌ์กฐ(CNNs, Transformers, ResNets)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์กด NLP์—์„œ Transformer๊ฐ€ ์‚ฌ์šฉ์ด ๋˜์—ˆ๊ธฐ์—(GPT, BERT), ์ดˆ๋ฐ˜์—๋Š” transformer๋„ transfer learning์„ ์œ„ํ•œ Backbone model๋กœ ์“ธ ์ˆ˜ ์žˆ์„๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์—์„œ ์ถœ๋ฐœํ–ˆ๋‹ค.

์ง€์—ญ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” Convolution์—ฐ์‚ฐ์— ์˜์กดํ•˜๋Š” CNN์— ๋น„ํ•ด Self-Attention์— ์˜์กดํ•˜๋Š” Transformer๊ฐ€ Transfer Learning์— ํ›จ์”ฌ ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์‹คํ—˜์  ์ž…์ฆ์ด ๋งŽ์ด ๋ฐœํ‘œ๋˜์—ˆ๋Š”๋ฐ,
Backbone์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” Vision Transformer๋ฅผ ์ œ์ž‘ํ•  ์ˆ˜ ์—†์„๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์—์„œ Swin Transformer๋กœ ๋‹ต์„ ํ•ด์ค€๋‹ค.

Backbone์ด ๋˜๋ ค๋ฉด image์˜ feature๋ฅผ ์ถฉ๋ถ„ํžˆ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•ด์•ผํ•œ๋‹ค.
๊ธฐ์กด transformer๋Š” ๋ฌธ์žฅ์ฒ˜๋ฆฌ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๊ธฐ์—, ์กฐ๊ธˆ์˜ ๋ณ€ํ˜•์ด ํ•„์š”ํ•˜๋‹ค.
Backbone๋ชจ๋ธ์ด ๋˜๋ ค๋ฉด ์•„๋ž˜์˜ ํŠน์„ฑ๋“ค์„ ์ž˜ ๋ฐ˜์˜ํ•ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
(๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์–ด๋Š” scale๋ณ€ํ™”๊ฐ€ ์—†์œผ๋‚˜ image๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” Object๋Š” ์•„์ฃผ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜ํƒ€๋‚˜๊ธฐ์— scale๋ณ€ํ™”๊ฐ€ ์‹ฌํ•œํŽธ.)
(๋˜ํ•œ, ํ•œ ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์–ด๋Š” ์ˆ˜์‹ญโˆ™์ˆ˜๋ฐฑ๊ฐœ์— ๋ถˆ๊ณผํ•˜์ง€๋งŒ, image๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” pixel์€ ์ˆ˜๋งŒ~์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์ด๋‹ค.)
(๋ฌธ์žฅ์˜ ๋‹จ์–ด๋Š” ๋„์–ด์“ฐ๊ธฐ๋กœ ์ž˜ ๋ถ„ํ• ๋˜์–ด์žˆ์ง€๋งŒ, image๋Š” Object๋ผ๋ฆฌ ํ˜น์€ ๋ฐฐ๊ฒฝ์ด ์‹ฌํ•˜๊ฒŒ ์„ž์—ฌ์žˆ๋‹ค.)

 

 

4.2 Hierarchical Feature map. &. Shifted Window

Swin Transformer๋Š” imageํŠน์„ฑ์„ ๋ฐ˜์˜ํ•˜๊ธฐ์œ„ํ•œ ํ•ต์‹ฌ์•„์ด๋””์–ด๋ฅผ 2๊ฐ€์ง€๋กœ ์„ค๋ช…ํ•œ๋‹ค.

โˆ™ Hierarchical  ViT

์•„๋ž˜ ๊ทธ๋ฆผ(a)์€ Hierarchical ViT(= Hierarchical Featuremap)์„ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด์˜ scale๋ณ€ํ™˜์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค.
๋ชจ๋“  window๋Š” M×M๊ฐœ์˜ patch๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. (์—ฌ๊ธฐ์„œ M=4)
๋งจ ์•„๋ž˜์ธต์€ ์ž‘์€ patch_size๋กœ window๊ฐ€ 4×4๊ฐœ๊ฐ€ ์žˆ๋‹ค.
๊ฐ€์šด๋ฐ ์ธต์€ patch_size๊ฐ€ 2๋ฐฐ๋กœ ์ปค์ ธ 2×2๊ฐœ์˜ window๊ฐ€ ์žˆ๊ณ , ๋งจ ์œ—์ธต์€ 1๊ฐœ์˜ window๊ฐ€ ์žˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์ž‘์€ patch๋ถ€ํ„ฐ ํฐ patch๋กœ ๊ตฌ๋ถ„ํ•ด ์ฒ˜๋ฆฌํ•˜๋ฉด, ์—ฌ๋Ÿฌ ํฌ๊ธฐ์˜ ๊ฐ์ฒด๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ฑฐ๋‚˜ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆผ (b)์˜ ViT์˜ ๊ฒฝ์šฐ, ์˜์ƒ์„ ๋ถ„๋ฅ˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๊ฐ์ฒดํƒ์ง€ ๋ฐ ๋ถ„ํ• ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.


๊ณ„์ธต์  ํŠน์ง•๋งต์€ ๊ณ„์‚ฐํšจ์œจ์ƒ์—๋„ ํฐ ์ด์ ์ด ์กด์žฌํ•œ๋‹ค.

๋‹จ์ผํ•ด์ƒ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ViT์˜ ๊ฒฝ์šฐ)
224×224 image๋ฅผ 16×16 patch(= 14×14๊ฐœ)๋กœ ๋‚˜๋ˆˆ๋‹ค ๊ฐ€์ •ํ•˜์ž.
์ด ๊ฒฝ์šฐ, T = 196์ธ ํ–‰๋ ฌ์ด ์ž…๋ ฅ๋˜๋Š”๋ฐ, MHA๋Š” T๊ฐœ patch๋ผ๋ฆฌ Self-Attention์„ ๊ณ„์‚ฐํ•˜๊ธฐ์— T2๋ฒˆ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์ด๋•Œ, ์—ฐ์‚ฐ์€ QKT์˜ ํ–‰๋ ฌ๊ณฑ์œผ๋กœ ์ด๋ค„์ง„๋‹ค.
Q์™€ K๊ฐ€ T×dkeyํ–‰๋ ฌ์ด๋ฏ€๋กœ T2×dkey๋งŒํผ ๊ณฑ์…ˆ์ด ์ˆ˜ํ–‰๋œ๋‹ค. 

๋‹ค์ค‘ํ•ด์ƒ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Swin์˜ ๊ฒฝ์šฐ)
window๋ณ„๋กœ self-attention์„ ์ ์šฉํ•œ๋‹ค.
window๋Š” M×M๊ฐœ์˜ patch๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ์— ํ•œ window๋Š” M2×dkey๋งŒํผ ๊ณฑ์…ˆ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ฆ‰, ViT์—๋น„ํ•ด (T×T) / (M×M×window๊ฐœ์ˆ˜)๋ฐฐ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐ๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด ๊ทธ๋ฆผ(a)์˜ ๋งจ ์•„๋ž˜์ธต์—์„œ๋Š” window๊ฐ€ 16๊ฐœ์ด๋ฏ€๋กœ 49๋ฐฐ ๋น ๋ฅด๋‹ค.


โˆ™ Shifted Window

Swin Transformer์˜ ์ด๋ฆ„์ด Shifted WINdow์—์„œ ์œ ๋ž˜๋˜์—ˆ์„ ์ •๋„๋กœ ํ•ต์‹ฌ์•„์ด๋””์–ด์ด๋‹ค.
โ„“๋ฒˆ์งธ layer์—์„œ ์ด์ „์ฒ˜๋Ÿผ window๋ฅผ ๋‚˜๋ˆ„๋Š”๋ฐ,
๊ทธ ๋‹ค์Œ โ„“+1์ธต์—์„œ๋Š” window๋ฅผ ์ ˆ๋ฐ˜ํฌ๊ธฐ๋งŒํผ ์ˆ˜ํ‰๊ณผ ์ˆ˜์ง๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•ด ๋‚˜๋ˆˆ๋‹ค.


shifted window๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด window๊ฐ„์˜ ์—ฐ๊ฒฐ์„ฑ๊ฐ•ํ™” ๋ฐ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ ,
๊ฐ์ฒด์˜ ์ƒ๋Œ€์ ์ธ ์œ„์น˜์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋“ฑ ์ด๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅํ–ฅ์ƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

 

4.3 Swin Transformer Architecture

์•„๋ž˜๊ทธ๋ฆผ์€ Swin Transformer์˜ ๊ตฌ์กฐ์ด๋‹ค.
์ขŒ์ธก์—์„œ ์šฐ์ธก์œผ๋กœ ํ๋ฅด๋Š” ๋‹จ๊ณ„ 1~4๋Š”
์ขŒ์ธก๊ทธ๋ฆผ์˜ (a)์˜ ์•„๋ž˜์—์„œ ์œ„๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ patch๋Š” ์ปค์ง€๊ณ 
window๊ฐœ์ˆ˜๋Š” ์ž‘์•„์ง€๋Š” ๋ฐฉํ–ฅ์— ํ•ด๋‹นํ•œ๋‹ค.




์˜ˆ๋ฅผ๋“ค์–ด, C=96์œผ๋กœ ํ•˜๊ณ , m×n = 448×448 image๊ฐ€ ์ž…๋ ฅ๋  ๋•Œ,
๋‹จ๊ณ„1) input tensor: 112×112×48 // output tensor: 112×112×96
๋‹จ๊ณ„2) input tensor: 112×112×96 // output tensor: 56×56×192
๋‹จ๊ณ„3) input tensor: 56×56×192 // output tensor: 28×28×384
๋‹จ๊ณ„4) input tensor: 28×28×384 // output tensor: 14×14×768

์œ„ ๊ทธ๋ฆผ์˜ (a)๋Š” ์ด๋Ÿฐ tensor๋ณ€ํ™˜์„ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.
๋‹จ๊ณ„ 2์—์„œ patchํ•ฉ์น˜๊ธฐ ์ ์šฉ์‹œ, ๋งจ ์•„๋ž˜์ธต์—์„œ ๋งจ ์œ„์ธต์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ •์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‹จ์ˆœํžˆ ์ด์›ƒํ•œ 4๊ฐœ patch๋ฅผ ํ•˜๋‚˜์˜ patch๋กœ ํ•ฉ์น˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค.

๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์–ป์€ ํŠน์ง•๋งต์— classification์„ ์œ„ํ•œ head๋ฅผ ๋ถ™์ด๋ฉด classifier๊ฐ€ ๋˜๊ณ ,
Detection์„ ์œ„ํ•œ head๋ฅผ ๋ถ™์ด๋ฉด detector๊ฐ€,
Segmentation์„ ์œ„ํ•œ head๋ฅผ ๋ถ™์ด๋ฉด segmentor๊ฐ€ ๋œ๋‹ค.
์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ Swin Transformer๋Š” Backbone ๋ชจ๋ธ๋กœ ์ž‘์šฉํ•œ๋‹ค.

์ด์ œ ๋‹จ๊ณ„ 1~4์— ๋…ธ๋žœ์ƒ‰ ํ‘œ์‹œ๋œ Swin Transformer Block์˜ ๋™์ž‘์„ ๊ทธ๋ฆผ (b)๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž.
(b)๋Š” Encoder Block์„ 2๊ฐœ ์Œ“์€ ์ƒํ™ฉ์œผ๋กœ ํ˜„์žฌ Block โ„“์€ โ„“-1๋ฒˆ์งธ Block์—์„œ xโ„“-1 tensor๋ฅผ ๋ฐ›์•„ Layer Normalization์„ ๊ฑฐ์ณ W-MHSA์ธต์œผ๋กœ Self-Attention์„ ์ ์šฉํ•œ๋‹ค.
์ดํ›„, Add์™€ Norm, FF, Add๋ฅผ ์ ์šฉํ•ด xโ„“์„ ์ถœ๋ ฅํ•œ๋‹ค.

โ„“+1๋ฒˆ์งธ Block์€ xโ„“์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ xโ„“+1 tensor๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
โ„“ Block๊ณผ โ„“+1 Block์˜ Self-Attention์„ W-MHA, SW-MHA๋กœ ํ‘œ๊ธฐํ–ˆ๋‹ค.
W-MHA๋Š” window๋ฅผ ๋ถ„ํ• ํ•˜๊ณ  SW-MHA๋Š” Shifted Window๋กœ ๋ถ„ํ• ํ•œ๋‹ค.

Backbone๋ชจ๋ธ๋กœ์จ์˜ Swin Transformer

Swin Transformer๋Š” Backbone์œผ๋กœ ์“ฐ์ด๋Š” CNN์ธ ResNet๋“ฑ๊ณผ ํ˜ธํ™˜๋˜๋„๋ก tensor๋ชจ์–‘์„ ์„ค์ •ํ–ˆ๊ธฐ์—
๊ธฐ์กด ๋”ฅ๋Ÿฌ๋‹๋ชจ๋ธ์—์„œ CNN-Backbone์„ ๋“ค์–ด๋‚ด๊ณ  Swin-Transformer๋กœ ์‰ฝ๊ฒŒ ๋Œ€์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

5. ETC

cf) InternImage

 

[๋…ผ๋ฌธ review] - InternImage(2023): Exploring Large-Scale Vision Foundation Models withDeformable Convolutions

๐Ÿ“Œ InternImage [CVPR 2023] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions Paperswithcode ํ™ˆํŽ˜์ด์ง€์—์„œ Detection, Segmentation ๋“ฑ ๋งŽ์€ Benchmark Dataset์—์„œ ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ(SOTA)๋ฅผ ๋‹ฌ์„ฑํ•œ (๋ฌด์นœ

chan4im.tistory.com

 

 

cf) W&B

 

'Deep Learning : Vision System/MLOps Tool: Weights & Biass' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก

์ปดํ“จํ„ฐ๊ณผํ•™, ์ธ๊ณต์ง€๋Šฅ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ์—ด์‹ฌํžˆ ํ•˜๋Š” ๊ณต๋Œ€์ƒ

chan4im.tistory.com

  1. 41OTI4NT
  2. 40OTk0Nj
  3. 43MTg2OD

 

 

+ Recent posts