l2norm_layer
forward_l2norm_layer
ํจ์ ์ด๋ฆ: forward_l2norm_layer
์ ๋ ฅ:
layer l
network net
๋์:
์ ๋ ฅ์ผ๋ก ๋ค์ด์จ ๋คํธ์ํฌ์์ l2norm ๋ ์ด์ด๋ฅผ forward propagation ํ๋ค.
์ ๋ ฅ๊ฐ์ ๋ณต์ฌํ๊ณ l2normalize ํจ์๋ฅผ ํธ์ถํ๋ค.
์ค๋ช :
l2norm ๋ ์ด์ด: ์ ๋ ฅ๊ฐ์ L2 norm์ผ๋ก ์ ๊ทํํ๋ ๋ ์ด์ด
copy_cpu(a, x, incx, y, incy): x์์ y๋ก a๊ฐ์ ์์๋ฅผ ๋ณต์ฌํ๋ค.
l2normalize_cpu(x, norm, batch, filters, spatial): x์ ๊ฐ batch์์ filters* spatial์ ๋ฒ์์์ L2 norm์ผ๋ก ์ ๊ทํํ๋ค. ์ด ๋, ๊ฐ filters๋ง๋ค ๊ฐ๊ฐ ์ค์ผ์ผ๊ฐ์ด ์์ผ๋ฉฐ norm ๋ฐฐ์ด์ ์ ์ฅ๋์ด ์๋ค.
backward_l2norm_layer
ํจ์ ์ด๋ฆ: backward_l2norm_layer
์ ๋ ฅ:
const layer l: ๋ ์ด์ด ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ตฌ์กฐ์ฒด ํฌ์ธํฐ
network net: ์ ๊ฒฝ๋ง ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ตฌ์กฐ์ฒด
๋์:
์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ๋ ์ด์ด์ ์ ๊ฒฝ๋ง ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ L2 normalization์ ์ํํ ๊ฒฐ๊ณผ ๊ฐ์ ์ด์ฉํ์ฌ ์ญ์ ํ๋ฅผ ์งํํจ
l.delta ๊ฐ์ ์ด์ฉํ์ฌ net.delta ๊ฐ์ ๊ณ์ฐํ๊ณ ์ ๋ฐ์ดํธํจ
์ค๋ช :
์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ๋ ์ด์ด ์ ๋ณด์์ l.delta ๊ฐ์ ํด๋น ๋ ์ด์ด์์์ ์ญ์ ํ์ ๋ํ ์ค์ฐจ๊ฐ์ ๋ํ๋
์ด์ ๋ ์ด์ด์์ ์ญ์ ํํ ๋ ์ด์ฉํ net.delta ๊ฐ์ axpy_cpu ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ ๋ฐ์ดํธํจ
make_l2norm_layer
ํจ์ ์ด๋ฆ: make_l2norm_layer
์ ๋ ฅ:
batch: int ํ์ . ๋ฏธ๋๋ฐฐ์น ํฌ๊ธฐ
inputs: int ํ์ . ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ฐจ์ ์
๋์:
L2 normalization์ ์ํํ๋ layer๋ฅผ ์์ฑํ๋ค.
์ค๋ช :
์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ batch * inputs์ด๋ค.
์ถ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ batch * inputs์ด๋ค.
l.scales, l.delta, l.output์ ๋ชจ๋ ํฌ๊ธฐ๊ฐ batch * inputs์ธ floatํ ๋ฐฐ์ด์ด๋ค.
์ด layer์ forward pass๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ l2normalize_cpu() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ L2 normalization์ ์ํํ๋ค.
์ด layer์ backward pass๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ฏธ๋ถ์ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ์ด์ ๋ ์ด์ด๋ก ์ ํํ๋ค.
์์ฑ๋ layer ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
Last updated
Was this helpful?