ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

 

 

Table of Content

1. Focal Loss์˜ ํ•„์š”์„ฑ

2. Focal Loss

    1. Crossentropy Loss๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  Focal Loss๋ฅผ ์“ฐ๋Š” ์ด์œ 

    2. Balanced Cross Entropy Loss๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  Focal Loss๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

    3. Focal Loss์˜ ์ ์šฉ


Object Detection์ด๋ž€?

 

์—ฌ๋Ÿฌ object๋“ค์„ Bounding Box๋ฅผ ํ†ตํ•ด Localization(์œ„์น˜ ์ฐพ๊ธฐ)ํ•˜๊ณ , Classification(์–ด๋–ค ๋ฌผ์ฒด์ธ์ง€ ๋ถ„๋ฅ˜)ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

 

Object Detection์˜ 2๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

1. R-CNN ๊ณ„์—ด์˜ two-stage detector

2. YOLO, SSD ๊ณ„์—ด์˜ one stage detector

SSD๊ด€๋ จ ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ: https://herbwood.tistory.com/15

 

์š”์•ฝํ•˜๋ฉด, 

two-stage detector: Localization์„ ํ•œ ๋‹ค์Œ์— classification์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋ธ

one-stage detector: Localization๊ณผ classification์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋ธ

 

์ •ํ™•๋„ ์„ฑ๋Šฅ์œผ๋กœ๋Š” two-stage detector๊ฐ€ ์ข‹์ง€๋งŒ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋‹จ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.


1. Focal Loss์˜ ํ•„์š”์„ฑ

 

Focal Loss๋Š” one-stage detector์˜ ์ •ํ™•๋„ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. one-stage detector๊ฐ€ two-stage detector์— ๋น„ํ•˜์—ฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌธ์ œ์ ์€ ํ•™์Šต ์ค‘ Class imbalance(ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๊ฐ€ ์‹ฌํ•˜๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.)

 

์˜ˆ๋ฅผ ๋“ค์–ด, ํ•™์Šต ์ค‘ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•˜์—ฌ ๋ฐ•์Šค๋ฅผ ์นœ ๊ฒƒ๊ณผ ์‹ค์ œ ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ๋ฐ•์Šค๋ฅผ ์นœ ๊ฒƒ์„ ๋น„์œจ์„ ์‚ดํŽด๋ณด๋ฉด ์••๋„์ ์œผ๋กœ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•˜์—ฌ ๋ฐ•์Šค๋ฅผ ์นœ ๊ฒƒ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํ•™์Šต ์ค‘์—์„œ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•œ ๋ฐ•์Šค๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ์˜ค๋ฅ˜๋ผ๊ณ  ํ•™์Šต์ด ๋˜์ง€๋งŒ ๊ทธ ๋นˆ๋„์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด ํ•™์Šต์— ๋ฐฉํ•ด๊ฐ€ ๋œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. (SSD์—์„œ๋Š” ํ•™์Šต ์‹œ ํ•œ ์ด๋ฏธ์ง€ ๋‹น ๋งŒ๊ฐœ ์ด์ƒ์˜ background์— ๋Œ€ํ•œ ๋ฐ•์Šค๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.)

 

์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” dense sampling of anchor boxes (possible object location)๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด RetinaNet์—์„œ๋Š” ๊ฐ๊ฐ์˜ pyramid layer์—์„œ anchor box๊ฐ€ ์ˆ˜์ฒœ๊ฐœ๊ฐ€ ์ถ”์ถœ๋ฉ๋‹ˆ๋‹ค.

 

์ •๋ฆฌํ•˜์ž๋ฉด ์ด์™€ ๊ฐ™์€ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๋Š” ๋‹ค์Œ 2๊ฐ€์ง€ ๋ฌธ์ œ์˜ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค.

1. ๋Œ€๋ถ€๋ถ„์˜ Location์€ ํ•™์Šต์— ๊ธฐ์—ฌํ•˜์ง€ ์•Š๋Š” easy negative์ด๋ฏ€๋กœ (detector์— ์˜ํ•ด background๋กœ ์‰ฝ๊ฒŒ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ) ํ•™์Šต์— ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

2. easy negative ๊ฐ๊ฐ์€ ๋†’์€ ํ™•๋ฅ ๋กœ ๊ฐ์ฒด๊ฐ€ ์•„๋‹˜์„ ์ž˜ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ๊ฐ์˜ loss๊ฐ’์€ ์ž‘์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋น„์œจ์ด ๊ต‰์žฅํžˆ ํฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ, ์ „์ฒด loss ๋ฐ gradient๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ easy negative์˜ ์˜ํ–ฅ์ด ์••๋„์ ์œผ๋กœ ์ปค์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Focal Loss ๊ฐœ๋…์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

2. Focal Loss

2.1. Crossentropy Loss๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  Focal Loss๋ฅผ ์“ฐ๋Š” ์ด์œ 

Crossentropy์˜ ๋ฌธ์ œ์ ์€ ๋ชจ๋“  sample์— ๋Œ€ํ•œ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๋™๋“ฑํ•˜๊ฒŒ ๊ฐ€์ค‘์น˜๋ฅผ ๋‘”๋‹ค๋Š” ์  ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•˜์—ฌ ์–ด๋– ํ•œ ์‰ฝ๊ฒŒ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ž‘์ง€ ์•Š์€ gradient๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ณ  ๋งŽ์€ ์ˆ˜์˜ easy example์˜ loss๊ฐ€ ๋”ํ•ด์ ธ ๋ณด๊ธฐ ๋“œ๋ถ„ foreground์˜ class๋ฅผ ์••๋„ํ•ด๋ฒ„๋ ค ํ•™์Šต์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด์ง„ ๋ถ„๋ฅ˜์— ๋Œ€ํ•œ Binary Cross Entopry Loss๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณต์‹์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ Loss์ธ BCE ๊ณต์‹

์œ„์˜ ์‹์„ ๋ฐ”ํƒ•์œผ๋กœ p=0.95{$y_t=1$}, p=0.05{$y_t=0$}์ธ ์ƒํ™ฉ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

p=0.95์ผ๋•Œ์˜ Foreground ์ผ€์ด์Šค๋ฅผ ์‚ดํŽด๋ณด๋ฉด Foreground์ธ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋†’์€ ํ™•๋ฅ ์ธ 0.95๋กœ ์ž˜ ๋ถ„๋ฅ˜๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ Loss๊ฐ€ 0.05๋กœ ์ž‘์€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ p=0.05์˜ Background ์ผ€์ด์Šค๋ฅผ ์‚ดํŽด๋ณด๋ฉด Background์ž„์— ๋”ฐ๋ผ ๋‚ฎ์€ ํ™•๋ฅ ์ธ 0.05๋กœ ์ž˜ ๋ถ„๋ฅ˜๋˜์—ˆ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์œ„์™€ ๋™์ผํ•˜๊ฒŒ Loss๊ฐ€ 0.05๋กœ ์ž‘์€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜ํ”„๋กœ ์‚ดํŽด๋ด๋„ ์•Œ๋‹ค์‹œํ”ผ, ๊ฐ ํ•จ์ˆ˜๋Š” $y_p=0.5$๋ฅผ ๋Œ€์นญ์ถ•์œผ๋กœ ์‚ผ๊ณ  ์žˆ๋Š” ๊ฒƒ๋„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด ๋‘ ์‹์„ ์‚ดํŽด๋ณด๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ์—†์–ด๋ณด์ด์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ ์€ Foreground ์ผ€์ด์Šค์™€ Background ์ผ€์ด์Šค๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ Loss gradient๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด Background ์ผ€์ด์Šค์˜ ์ˆ˜๊ฐ€ ํ›จ์”ฌ ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๋น„์œจ๋กœ Loss๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด Background์— ๋Œ€ํ•ด์„œ ํ•™์Šต์ด ํ›จ์”ฌ ๋งŽ์ด ๋  ๊ฒƒ์ด๊ณ , ์ด ์ž‘์—…์ด ๊ณ„์† ๋ˆ„์ ๋˜๋ฉด Foreground์— ๋Œ€ํ•œ ํ•™์Šต๋Ÿ‰์ด ํ˜„์ €ํžˆ ์ค„์–ด๋“ค๊ฒŒ ๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

2.2. Balanced Cross Entropy Loss๋ฅผ ์•ˆ์“ฐ๊ณ  Focal Loss๋ฅผ ์“ฐ๋Š” ์ด์œ 

Cross Entropy ์ผ€์ด์Šค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ธ Foreground ์ผ€์ด์Šค์˜ ๋น„์œจ์ด ๋‹ค๋ฅธ ์ ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Cross Entropy Loss ์ž์ฒด์— ๋น„์œจ์„ ๋ณด์ƒํ•˜๊ธฐ ์œ„ํ•œ weight๋ฅผ ์ถ”๊ฐ€๋กœ ๊ณฑํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด Foreground ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ˆ˜์™€ Background๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ˆ˜ ๊ฐ๊ฐ์˜ ์—ญ์ˆ˜๋ฅผ ๊ฐ Loss์— ๊ณฑํ•œ๋‹ค๋ฉด, ํด๋ž˜์Šค ์ˆ˜๊ฐ€ ๋งŽ์€ Background์˜ ๊ฒฝ์šฐ Loss๊ฐ€ ์ž‘๊ฒŒ ๋ฐ˜์˜๋  ๊ฒƒ์ด๊ณ  ํด๋ž˜์Šค ์ˆ˜๊ฐ€ ์ ์€ Foreground์˜ ๊ฒฝ์šฐ Loss๊ฐ€ ํฌ๊ฒŒ ๋ฐ˜์˜๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์ด์™€ ๊ฐ™์ด ๊ฐ ํด๋ž˜์Šค์˜ Loss ๋น„์œจ์„ ์กฐ์ ˆํ•œ๋А weight๋ฅผ ๊ณฑํ•ด์ฃผ์–ด imbalance class๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐœ์„ ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ Balanced Cross Entropy Loss๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

์ผ๋ฐ˜์ ์œผ๋กœ 0<wt<1๋ฒ”์œ„์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

Balanced Cross Entropy Loss

Cross Entropy Loss์˜ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ Foreground ๋Œ€๋น„ Background์˜ ๊ฐ์ฒด๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์ด ๋‚˜์˜ค๋Š” class imabalance ๋ฌธ์ œ์— ํ•ด๋‹น ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Balanced Cross Entropy Loss์˜ weight๋ฅผ ์ด์šฉํ•˜๋ฉด weight์— ๋Œ€ํ•œ ๊ฐ’์˜ ์กฐ์ ˆ์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ฆ‰, Foreground์˜ weight๋Š” ํฌ๊ฒŒ, Background์˜ weight๋Š” ์ž‘๊ฒŒ ์ ์šฉํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์—๋Š” ๋ฌธ์ œ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ, Easy/Hard example ๊ตฌ๋ถ„์„ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•˜๊ฒŒ ๊ฐฏ์ˆ˜๊ฐ€ ๋งŽ๋‹ค๊ณ  Easy๋ผ๊ณ  ํŒ๋‹จํ•˜๊ฑฐ๋‚˜ Hard๋ผ๊ณ  ํŒ๋‹จํ•œ๋А ๊ฒƒ์—๋Š” ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค.

0.95์˜ ํ™•๋ฅ ๋กœ Foreground ๊ฐ์ฒด๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ Foreground ์ผ€์ด์Šค์— weight 0.75๋ฅผ ์ฃผ๋Š” ๊ฒฝ์šฐ์™€, 

0.05์˜ ํ™•๋ฅ ๋กœ Background ๊ฐ์ฒด๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ Background ์ผ€์ด์Šค์— weight 0.25๋ฅผ ์ฃผ๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž.

 

์•ž์—์„œ ์„ค๋ช…ํ•œ ๋ฐ”์™€ ๊ฐ™์ด ํ†ต์ƒ์ ์œผ๋กœ Background ๊ฐ์ฒด์˜ ์ˆ˜๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ๋” ๋‚ฎ์€ Loss๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋” ์ž‘์€ weight๋ฅผ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹์„ ์‚ดํŽด๋ณด๋ฉด ๋ณ„ ์ฐจ์ด๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋Š” Easy์™€ Hard Example์— ๋Œ€ํ•œ ๋ฐ˜์˜์ด ๊ฑฐ์˜ ์—†๋Š” ์ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 

2.3. Focal Loss ์ ์šฉ

$$FL(p_t)=-\alpha_t(1-p_t)^\gamma\log(p_t)$$

 

Focal Loss์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ž…์žฅ์—์„œ ์‰ฝ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋Š” example์— ๋Œ€ํ•ด์„œ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ ํ™•๋ฅ (confidence)์ธ $p_t$๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜ฌ ํ…Œ๋‹ˆ $(1-p_t)^\gamma$๋ฅผ Categorical Crossentropy์— ์ถ”๊ฐ€ํ•ด์คŒ์œผ๋กœ์จ ๋†’์€ ํ™•์‹ ์— ๋Œ€ํ•ด ํŒจ๋„ํ‹ฐ๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Focal Loss๋Š” modulating factor $(1-p_t)^\gamma$์™€ $\gamma$๋ฅผ CE์— ์ถ”๊ฐ€ํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ $\gamma$๋ฅผ Focussing parameter๋ผ๊ณ  ํ•˜๋ฉด Easy Example์— ๋Œ€ํ•œ Loss์˜ ๋น„์ค‘์„ ๋‚ฎ์ถ”๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜๋Œ€๋กœ ์–ด๋ ค์›Œํ•˜๊ณ  ์žˆ๋Š” example์— ๋Œ€ํ•ด์„œ $p_t$๊ฐ€ ๋‚ฎ๊ฒŒ ๋‚˜์˜ฌํ…Œ๋‹ˆ $(1-p_t)^\gamma$๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋†’๊ฒŒ ๋‚˜์˜ฌ ๊ฒƒ ์ž…๋‹ˆ๋‹ค!!

 

์ด์ฒ˜๋Ÿผ Focal Loss๋Š” Easy Example์˜ weight๋ฅผ ์ค„์ด๊ณ  Hard Negative Example์— ๋Œ€ํ•œ ํ•™์Šต์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” Cross Entropy Loss์˜ ํ™•์žฅ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ Focal Loss์—์„œ๋Š” $\gamma$๊ฐ’์ด weight์˜ ์ง€์ˆ˜๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ๋งŒ ๋ณ€ํ™”ํ•ด๋„ ๊ธฐ์šธ๊ธฐ์— ๋ณ€ํ™”๊ฐ€ ํฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ $\gamma$๊ฐ’์„ ์ž˜ ์กฐ์ ˆํ•ด์•ผ ์ข‹์€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์ถ”๊ฐ€์ ์œผ๋กœ ์ „์ฒด์ ์ธ Loss๊ฐ’์„ ์กฐ์ ˆํ•˜๋Š” $\alpha$๊ฐ’ ๋˜ํ•œ ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋˜์–ด $\alpha$, $\gamma$๊ฐ’์„ ์กฐ์ ˆํ•˜์—ฌ ์–ด๋–ค ๊ฐ’์ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๊ฐ€์กŒ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์‹์€ ์•„๋ž˜์™€ ๊ฐ™๊ณ  ๋…ผ๋ฌธ์—์„œ๋Š” $\alpha=0.25$, $\gamma=2$๋ฅผ ์ตœ์ข…์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

$\gamma$ ๊ฐ’์— ๋”ฐ๋ฅธ Focal Loss Graph

์œ„ ๊ทธ๋ž˜ํ”„๋Š” $/gamma$๊ฐ€ 0~5๊นŒ์ง€ ๋ณ€ํ™”ํ•  ๋•Œ์˜ ๋ณ€ํ™”๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, $\gamma=0$์ผ ๋•Œ, Cross Entropy Loss์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. $\gamma$๊ฐ’์ด ์ปค์งˆ์ˆ˜๋ก Easy Example์— ๋Œ€ํ•œ Loss๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ค๋ฉฐ Easy Example์— ๋Œ€ํ•œ ๋ฒ”์œ„๋„ ๋”์šฑ ์ปค์ง‘๋‹ˆ๋‹ค.

 

์„œ๋กœ ๋‹ค๋ฅธ $\gamma$๊ฐ’์— ๋Œ€ํ•œ loss๋Š” ์œ„์˜ ๋„ํ‘œ๋ฅผ ํ†ตํ•ด ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

์œ„์˜ ๋„ํ‘œ์—์„œ ํŒŒ๋ž€์ƒ‰ ์„ ์€ CE๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ž€์ƒ‰ ์„ ์€ ๊ฒฝ์‚ฌ๊ฐ€ ์™„๋งŒํ•˜์—ฌ $p_t$๊ฐ€ ๋†’์€ example๊ณผ ๋‚ฎ์€ exampla ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Focal Loss๋Š” Focusing Parameter $\gamma$์— ๋”ฐ๋ผ์„œ $p_t$๊ฐ€ ๋†’์€ exampla๊ณผ ๋‚ฎ์€ example ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๋‹ค๋Š” ์ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์ฆ‰, $y=1$์ธ class์ž„์—๋„ $p_t$๊ฐ€ ๋‚ฎ์€ ๊ฒฝ์šฐ์™€, $y=-1$์ž„์—๋„ $p_t$๊ฐ€ ๋†’์€ ๊ฒฝ์šฐ์— Focal Loss๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค. 

๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ์—๋Š” down-weighted ๋˜์–ด Loss๊ฐ’์ด ๋‚ฎ๊ฒŒ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด๋ฅผ ํ†ตํ•ด Focal Loss์˜ ๋‘ ๊ฐ€์ง€ ํŠน์„ฑ์„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

1) $p_t$์™€ modulating factor $(1-p_t)^\gamma$์™€์˜ ๊ด€๊ณ„

example์ด ์ž˜๋ชป ๋ถ„๋ฅ˜๋˜๊ณ , $p_t$๊ฐ€ ์ž‘์œผ๋ฉด, modulating factor๋Š” 1๊ณผ ๊ฐ€๊นŒ์›Œ์ง€๋ฉด, loss๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 

๋ฐ˜๋Œ€๋กœ $p_t$๊ฐ’์ด ํฌ๋ฉด modulating factor๋Š” 0์— ๊ฐ€๊นŒ์›Œ์ง€๊ณ , ์ž˜ ๋ถ„๋ฅ˜๋œ example์˜ loss๋Š” down-weighted๋ฉ๋‹ˆ๋‹ค.

 

2) focusing parameter $\gamma$์˜ ์—ญํ• 

focusing parameter $\gamma$๋Š” easy example์„ down-weightํ•˜๋Š” ์ •๋„๋ฅผ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. 

$\gamma=0$์ธ ๊ฒฝ์šฐ, focal loss๋Š” CE์™€ ๋™์ผํ•˜๋ฉฐ, $\gamma$๊ฐ€ ์ƒ์Šนํ• ์ˆ˜๋ก modulating factor $(1-p_t)^\gamma$์˜ ์˜ํ–ฅ๋ ฅ์ด ์ปค์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ์‹คํ—˜ ์‹œ $\gamma=2$์ผ ๋•Œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์˜€๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

Cross Entropy Loss vs Focal Loss

๋นจ๊ฐ„์ƒ‰ ์ผ€์ด์Šค์˜ ๊ฒฝ์šฐ Foreground Example์ด๋ฉฐ, ์ดˆ๋ก์ƒ‰์˜ ๊ฒฝ์šฐ Background Example์ž…๋‹ˆ๋‹ค. (Object์ผ ํ™•๋ฅ ๊ฐ’์ด 0.8 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๋ชจ๋ธ์ด ์ž˜ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š”) ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. (์œ„์˜ ๊ทธ๋ฆผ์—์„œ $\alpha=1$, $\gamma=1$์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.)

formula of CE & FL

Background Example::

CE์—์„œ FL๋กœ ๋ณ€ํ™”ํ•œ Loss gradient๊ฐ’์„ ๋ณด๋ฉด, 0.1์—์„œ 0.01๋กœ ๋‚ด๋ ค๊ฐ”์Šต๋‹ˆ๋‹ค. 

 

Foreground Example::

๋ฐ˜๋ฉด์— Foreground Example ์ผ๋•Œ๋Š” 2.3์—์„œ 2.1๋กœ ๋‚ด๋ ค๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Loss๊ฐ’ ์ˆซ์ž ์ž์ฒด๋งŒ ๋ณด๋ฉด Foreground Example์˜ Loss๊ฐ’์˜ ์ฐจ์ด๊ฐ€ ๋” ํฌ์ง€๋งŒ Loss๊ฐ’์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด ์˜คํžˆ๋ ค Background Example์ด ํ›จ์”ฌ ๋” ๋งŽ์ด ๊ฐ์†Œํ•œ ๊ฒƒ์ด ๋ฉ๋‹ˆ๋‹ค.

๋ณด๋ผ: Focal Loss ๋ฏธ๋ถ„, ํŒŒ๋ž‘: CE ๋ฏธ๋ถ„

 

๋ชจ๋ธ ํ•™์Šต ์ค‘ Loss์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ Loss function์˜ ๊ธฐ์šธ๊ธฐ์ธ๋ฐ, ์‰ฝ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„(0.8์ด์ƒ)์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ $/frac{1}{10}$์ •๋„๋กœ ์ค„์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

Hard ์ผ€์ด์Šค๋ณด๋‹ค Easy ์ผ€์ด์Šค์˜ ๊ฒฝ์šฐ weight๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋” ๋งŽ์ด ๋–จ์–ด์ง์œผ๋กœ์จ ๊ธฐ์กด์— ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ๋˜ ์ˆ˜๋งŽ์€ Easy Negative์ผ€์ด์Šค์— ์˜ํ•œ Loss๊ฐ€ ๋ˆ„์ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์›๋ฆฌ๋กœ ์ธํ•ด Focal Loss๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Cross-Entropy๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ณด๋‹ค ๋ชจ๋ธ์ด ํ•™์Šตํ•  ๋•Œ ์˜ค๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋” ์ง‘์ค‘ํ•ด์„œ ํ•™์Šตํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

 

################ CODE ##################

class Focal_Loss(tf.keras.losses.Loss):
    def __init__(self, gamma=2.1, alpha=1):
        super(Focal_Loss, self).__init__()
        self.gamma=gamma
        self.alpha=alpha

    def call(self, y_true, y_pred):
        e_cross=tf.expand_dims(tf.losses.categorical_crossentropy(y_true, y_pred), axis=-1)
        p_t=tf.where(y_true==1, y_pred, 1-y_pred)
        weight=self.alpha*tf.math.pow(p_t, self.gamma)
        return weight*e_cross

 

 

 

==์ฐธ์กฐ ๋ธ”๋กœ๊ทธ==

https://woochan-autobiography.tistory.com/929

๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ
๋ฐ˜์‘ํ˜•