MewwSikk
article thumbnail

Focal Loss ๋„์ž… ๋ฐฐ๊ฒฝ


Focal Loss๋Š” Object Detection ๋ฌธ์ œ์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” Class Imbalance ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด RetinaNet ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆ๋œ ์†์‹ค ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ one-stage detector์—์„œ๋Š” ์ „์ฒด ์ด๋ฏธ์ง€์—์„œ anchor box๋ฅผ ๋งค์šฐ ์ด˜์ด˜ํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ด๋กœ ์ธํ•ด ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ anchor๋Š” ๋ฐฐ๊ฒฝ(background)์— ํ•ด๋‹นํ•˜๊ณ  ์‹ค์ œ ๊ฐ์ฒด(foreground)๋Š” ๋งค์šฐ ๋“œ๋ฌผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ ๊ธฐ์กด์˜ Cross Entropy ์†์‹คํ•จ์ˆ˜๋Š” ์‰ฝ๊ณ  ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐฐ๊ฒฝ anchor example์— ์ง€๋ฐฐ๋‹นํ•ด, ํ•™์Šต์ด ์–ด๋ ต๊ฑฐ๋‚˜ ๋น„ํšจ์œจ์ ์œผ๋กœ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Focal Loss๋Š” Cross Entropy์— modulating term์„ ์ถ”๊ฐ€ํ•˜์—ฌ, ๋ชจ๋ธ์ด ์ด๋ฏธ ์ž˜ ๋งž์ถ”๊ณ  ์žˆ๋Š” ์‰ฌ์šด ์˜ˆ์ œ(easy examples)๋“ค์˜ gradient์„ ์ค„์—ฌ, ์–ด๋ ค์šด ์˜ˆ์ œ(hard examples)์— ๋” ์ง‘์ค‘ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Object Detection์—์„œ ๊ธฐ์กด Cross Entropy์˜ ๋ฌธ์ œ์  & ์ˆ˜์‹ ๋ถ„์„
(ex) easy : hard = 10,000 : 1


(์•— ์˜คํƒ€๊ฐ€ ์žˆ๋„ค์š”. Otherwise ์˜†์— 1 - p์ž…๋‹ˆ๋‹ค.)

CE๋Š” background์™€ foreground๋ฅผ ๊ฐ™์€ ํ™•๋ฅ ๋กœ ์˜ˆ์ธกํ•œ ๊ฒฝ์šฐ ๋ชจ๋ธ์— ๋ถ€๊ณผ๋˜๋Š” ์†์‹ค ๊ธฐ์šธ๊ธฐ๊ฐ€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์œ„์ฒ˜๋Ÿผ ์‰ฌ์šด ์˜ˆ์ œ์™€ ์–ด๋ ค์šด ์˜ˆ์ œ์˜ ๊ฐœ์ˆ˜์ฐจ์ด๊ฐ€ ๋งค์šฐ ํฌ๋‹ค๋ฉด, ์‰ฌ์šด ์˜ˆ์ œ์— ํŽธํ–ฅ์ ์œผ๋กœ ํ•™์Šต์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Focal Loss ์ˆ˜์‹ ๋ถ„์„


๋ฐ˜๋ฉด Focal Loss๋Š” ๊ฐ๋งˆ(gamma)๊ฐ’๊ณผ ์ถ”๊ฐ€์ ์ธ ์•ŒํŒŒ๊ฐ’(์ƒ์ˆ˜ํ•ญ, alpha)์„ ํ†ตํ•ด ์‰ฌ์šด ์˜ˆ์ œ์— ๋ถ€๊ณผ๋˜๋Š” ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฑฐ์˜ ์—†์• ๋ฒ„๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด CE์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ FLโ€˜(p_t)๋ฅผ f(p_x)*g(p_x)๋กœ ์ชผ๊ฐœ์–ด ๋ณด๊ณ  desmos์— plot ์‹œ์ผœ๋ณด๋ฉด ๊ธฐ๋ณธ CE(p_x)์™€ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

+ ๊ทธ๋ƒฅ FLโ€™(p_t) ์ž์ฒด๋ฅผ plotํ•  ์ˆ˜๋„ ์žˆ์—ˆ์ง€๋งŒ, ํ•จ์ˆ˜์˜ ๊ตฌ์„ฑ์ด ์–ด๋–ป๊ฒŒ ๋˜๊ณ  ์ด ์‹์—์„œ ์ค‘์š”ํ•œ ํ•ญ์ธ f(p_x)์˜ ์—ญํ• ์„ ์•Œ ์ˆ˜ ์žˆ๊ธฐ์— ๋ถ„ํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค.

Gamma = 0

Gamma = 0.5
Gamma = 1
Gamma = 2
Gamma = 5


์‹ ์„ค๋ช…๋ถ€ํ„ฐ ํ•˜๊ณ  ๋“ค์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.
h(x): Focal Loss์˜ ๋„ํ•จ์ˆ˜
f(x), g(x): h(x)์˜ ์ธ์ˆ˜๋“ค
o(x): Cross Entropy์˜ ๋„ํ•จ์ˆ˜

์ด ํ•จ์ˆ˜๋“ค์„ ์ž˜ ์‚ดํŽด๋ณด๋ฉด ์ดˆ๋ก์ƒ‰ ๊ทธ๋ž˜ํ”„ g(x)์˜ ๊ฒฝ์šฐ r์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋“  ์•ฝ๊ฐ„์˜ ๋ณ€ํ™”๋Š” ์žˆ์ง€๋งŒ ํฐ ์ฐจ์ด๊ฐ€ ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ค‘์š”ํ•œ ๊ทธ๋ž˜ํ”„๋Š” f(x)๊ฒ ์ฃ ?

๋งŒ์•ฝ x์ถ•์—์„œ 1์— ๊ทผ์ ‘ํ•œ ๊ฐ’์ด ์‰ฌ์šด ์˜ˆ์ œ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ r๊ฐ’์ด ๋ณ€ํ™”ํ•จ์— ๋”ฐ๋ผ f(x)๊ฐ€ 0์— ๋‹ฌ๋ผ๋ถ™์–ด๊ฐ€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๋ฉด

I) r = 0
์ผ๋ฐ˜ CE์™€ ๊ฐ™์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

II) r = 0.5
x๊ฐ’์ด 0 -> 1๋กœ ๊ฐˆ๋•Œ์˜ f(x)์˜ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์™„๋งŒํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

III) r = 1
f(x)์˜ ์˜ํ–ฅ์ด ์‚ฌ๋ผ์ง„ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

IV) r = 2
๋“œ๋””์–ด f(x)์˜ ์ „๋ฐ˜์ ์ธ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค์—ˆ๊ณ , ์‰ฌ์šด ์˜ˆ์ œ(1์— ๊ทผ์ ‘ํ•œ ๊ฐ’๋“ค)๋“ค์— ๋Œ€ํ•ด์„œ ํ•จ์ˆซ๊ฐ’์ด 0์— ๊ฐ€๊นŒ์›Œ์ง„ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

V) r = 5
์•„๋ž˜๋กœ ๋ณผ๋กํ•œ ๋ชจ์Šต์œผ๋กœ x > .5์˜ ๊ฐ’์— ๋Œ€ํ•ด์„œ ๊ฑฐ์˜ 0์— ์ˆ˜๋ ดํ•œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

โ€”โ€”

์•Œ ์ˆ˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ


์ด๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ํ†ต์ฐฐ์€ r๊ฐ’์ด ์ปค์ง์— ๋”ฐ๋ผ ์‰ฌ์šด ์˜ˆ์ œ์— ๋ถ€๊ณผ๋˜๋Š” ๊ธฐ์šธ๊ธฐ(gradient)๊ฐ€ ์ ์  ์—†์–ด์ง„๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์—์„œ r๊ฐ’์ด 5๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ๋Š” p > 0.5์— ๋Œ€ํ•ด์„œ ๊ฑฐ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ฃผ์ง€ ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ทน๋‹จ์ ์ธ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ์–‘์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ ,
์‰ฌ์šด์˜ˆ์ œ์™€ ์–ด๋ ค์šด ์˜ˆ์ œ์— ๋Œ€ํ•œ ๋น„์œจ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด๋‚˜ ํฌ๋‹ค๋ฉด ํ•™์Šต์€ ์ž˜ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.


ํ•™์Šต ์ดˆ๋ฐ˜, Focal Loss๋ฅผ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ํ•„์š”ํ•œ ์ธ์ž, PI


sigmoid ํ•จ์ˆ˜์˜ ํ˜•ํƒœ


ํ‹ฐ์Šคํ† ๋ฆฌ์— ์‹์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชฐ๋ผ์„œ ์ˆ˜๊ธฐ๋กœ ์ž‘์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋ถ€์—ฐ์„ค๋ช…์„ ์ข€ ๋ง๋Œ€๋ฉด,
๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ์ฒ˜์Œ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ€์ค‘์น˜๋“ค์ด 0 ๊ทผ์ฒ˜๋กœ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด์ง„๋ถ„๋ฅ˜๋ฅผ ํ•˜๊ธฐ์œ„ํ•œ sigmoid์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ A(x) = W^t*x + b์—์„œ ์‚ด์•„๋‚จ์€ b๋งŒ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ดˆ๋ฐ˜์— background์˜ ๊ฐ’๋“ค์ด ๋‚ฎ์€ ํ™•๋ฅ ์ด ๋‚˜์™€ ํŒ๋ช…ํ•˜๊ธฐ ์–ด๋ ค์šด ์˜ˆ์ œ๋กœ ๋ถ„๋ฅ˜๋˜์—ˆ๋‹ค๋ฉด,
๋งŽ์€ ์‰ฌ์šด ์˜ˆ์ œ๋“ค์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋งŽ์ด ๋จน๊ณ  ๋ชจ๋ธ์ด ํ„ฐ์ ธ๋ฒ„๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜์Œ์—๋Š” ํ™•๋ฅ ๋“ค์„ PI๊ฐ’์œผ๋กœ ๋งŒ๋“ค๋„๋ก sigmoid๋ฅผ b๋งŒํผ ํ‰ํ–‰์ด๋™(bias๋ฅผ ์คŒ)์„ ์‹œํ‚ฌ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.  

ํ•ด๋‹น PI๊ฐ’์€ ๋…ผ๋ฌธ์—์„œ 0.01๋กœ ์„ค์ •ํ•˜๋ฏ€๋กœ ํ•œ๋ฒˆ b๊ฐ’์„ ๊ตฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


์ด๋ ‡๊ฒŒ b ๊ฐ’์„ ๊ตฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
-4.595์™€ ๊ทผ์ ‘ํ•œ ๊ฐ’์ด ๋‚˜์™”๊ตฐ์š”.

์ด์ œ ์ด ๊ฐ’์„ ๋งˆ์ง€๋ง‰ Dense ์ธต์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ํ‰ํ–‰์ด๋™์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ํ•™์Šต์— nan์ด ๋œจ์ง€ ์•Š๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ด๋ฃจ์–ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

(Focal Loss๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ด๋‹น ์ธ์ž๋ฅผ ๋„ฃ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.)

A-Balanced CE


ํ•ด๋‹น Cross Entropy๋Š” ๋…ผ๋ฌธ์—์„œ ์ž ๊น ์ œ์‹œํ•˜๋Š” ์•„์ด๋””์–ด์ธ๋ฐ,
๋งˆ์ง€๋ง‰ Focal Loss์˜ ๊ณต์‹์„ ์†Œ๊ฐœํ•  ๋•Œ ๋“ค์–ด๊ฐ€์žˆ์–ด์„œ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ฐ’์€ Loss์— ์•ž์— ๋ถ™๋Š” ์ƒ์ˆ˜๊ฐ’์œผ๋กœ์จ ํด๋ž˜์Šค์˜ ๋ถˆ๊ท ํ˜•์„ ํ•ด์†Œํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ณดํ†ต์€ ๋‹ค์ค‘ ๋ถ„๋ฅ˜์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ,
๋‹ค์ค‘ ํด๋ž˜์Šค์—๋Š” ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์ด ๋ถ€์กฑํ•˜๊ณ  ๋”ธ๋ฆฌ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋“ค์—ˆ๋˜ ์ƒ๊ฐ์€ 2์ง„ ๋ถ„๋ฅ˜์ผ๋•Œ๋Š” โ€œํ•ด๋‹น ๊ฐ’๊ณผ ์•„๋‹Œ ๊ฐ’๋งŒ ์žˆ์œผ๋ฏ€๋กœ foreground, background๋กœ ์ƒ๊ฐํ•œ๋‹ค๋ฉด modulating factor๊ฐ€ ๊ทธ ์—ญํ• ์„ ๋Œ€์‹ ํ•ด์ค„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?โ€ ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๋…ผ๋ฌธ์—์„œ๋Š” ๊ทน๋‹จ์  ๋ถˆ๊ท ํ˜• ์ƒํ™ฉ์—๋Š” ๊ฐ๋งˆ๊ฐ’์œผ๋กœ ๋ถ€์กฑํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ŒํŒŒ ์ƒ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์•ŒํŒŒ ๊ณ„์‚ฐ์€,
์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์ง€๋Š” ๋น„์œจ์„ ์ธก์ •ํ•œ ํ›„,
โ€์•ŒํŒŒ = ์ „์ฒด ๋ฐ์ดํ„ฐ/ํ•ด๋‹น ๋ฐ์ดํ„ฐโ€œ๋กœ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


Reference:
Focal Loss for Dense Object Detection (https://arxiv.org/abs/1708.02002)

profile

MewwSikk

@Mu Gyum

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!