normalize layer
forward_normalization_layer
ํจ์ ์ด๋ฆ: forward_normalization_layer
์ ๋ ฅ:
layer (layer ๊ตฌ์กฐ์ฒด)
net (network ๊ตฌ์กฐ์ฒด)
๋์:
์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทํ๋ฅผ ์ํํ๋ ํจ์์ ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ๋ layer ๊ตฌ์กฐ์ฒด์ network ๊ตฌ์กฐ์ฒด์์ ๊ฐ์ ธ์ต๋๋ค.
ํจ์๋ ์ฃผ์ด์ง ์ ๋ ฅ ๋ฐ์ดํฐ์์ ์ ๋ ฅ ํฌ๊ธฐ์ ์ผ์นํ๋ ์ ๊ทํ๋ ์ถ๋ ฅ์ ๊ณ์ฐํฉ๋๋ค.
๊ณ์ฐ์๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ ์ฑ๋์ ๋ํด ์คํ์ด๋ ๊ฐ, ๋ ธ๋ฆ, ์ ๋ ฅ ๋ฐ์ดํฐ์ ํ ์ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
๊ณ์ฐ์ด ์๋ฃ๋๋ฉด ์ถ๋ ฅ ๋ฐ์ดํฐ๊ฐ layer ๊ตฌ์กฐ์ฒด์ ์ถ๋ ฅ ํฌ์ธํฐ๋ก ์ค์ ๋ฉ๋๋ค.
์ค๋ช :
layer: ์ ๊ทํ๋ฅผ ์ํํ ๋ ์ด์ด์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ layer ๊ตฌ์กฐ์ฒด์ ๋๋ค.
net: ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ network ๊ตฌ์กฐ์ฒด์ ๋๋ค.
w, h, c: layer ๊ตฌ์กฐ์ฒด์ ๋๋น, ๋์ด, ์ฑ๋ ์์ ๋๋ค.
batch: ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ฐฐ์น ํฌ๊ธฐ์ ๋๋ค.
squared: ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ ์ฑ๋์ ๋ํ ์คํ์ด๋ ๊ฐ์ ๋๋ค.
norms: ์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ ์ฑ๋์ ๋ํ ๋ ธ๋ฆ ๊ฐ์ ๋๋ค.
input: ์ ๋ ฅ ๋ฐ์ดํฐ์ ํ ์ ๊ฐ์ ๋๋ค.
kappa: ๋ ธ๋ฆ ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ๊ฐ์ ๋๋ค.
alpha: ๋ ธ๋ฆ ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ๊ฐ์ ๋๋ค.
size: ๋ ธ๋ฆ ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ํํฐ ํฌ๊ธฐ์ ๋๋ค.
beta: ์ถ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ ์น์ ๊ฐ์ ๋๋ค.
output: ์ ๊ทํ๋ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ํฌ์ธํฐ์ ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ์ ๊ฐ ์ฑ๋์ ๋ํด ์คํ์ด๋ ๊ฐ์ ๊ณ์ฐํ๊ณ , ๋ ธ๋ฆ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ด ๊ฐ๋ค์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํ๋ ์ถ๋ ฅ์ผ๋ก ๊ณ์ฐํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ๊ณ์ฐ๋ ์ถ๋ ฅ ๊ฐ์ด layer ๊ตฌ์กฐ์ฒด์ ์ถ๋ ฅ ํฌ์ธํฐ๋ก ์ค์ ๋ฉ๋๋ค.
backward_normalization_layer
ํจ์ ์ด๋ฆ: backward_normalization_layer
์ ๋ ฅ:
layer (์ ๊ทํ ๋ ์ด์ด ๊ตฌ์กฐ์ฒด)
net (์ ๊ฒฝ๋ง ๊ตฌ์กฐ์ฒด)
๋์:
์ ๊ทํ ๋ ์ด์ด์ ์ญ์ ํ๋ฅผ ์ํํ๊ณ , ์ ๋ ฅ๊ฐ์ ๋ํ ๋ธํ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค.
์ค๋ช :
์ด ํจ์๋ ์ ๊ทํ ๋ ์ด์ด์ ์ญ์ ํ๋ฅผ ์ํํ๋ ํจ์์ ๋๋ค.
์ ๋ ฅ์ผ๋ก๋ ์ ๊ทํ ๋ ์ด์ด ๊ตฌ์กฐ์ฒด(layer)์ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ์ฒด(net)๊ฐ ํ์ํฉ๋๋ค.
ํจ์ ๋ด๋ถ์์๋ ๋จผ์ ์ ๊ทํ ๋ ์ด์ด์ ๋ฒ ํ ๊ฐ์ ๋ํ ๊ฑฐ๋ญ์ ๊ณฑ ๊ณ์ฐ์ ์ํํฉ๋๋ค.
์ดํ, ์ ๊ทํ ๋ ์ด์ด์ ๋ธํ ๊ฐ๊ณผ ๊ฑฐ๋ญ์ ๊ณฑ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ณฑํ ๋ค, ์ ๋ ฅ๊ฐ์ ๋ํ ๋ธํ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค.
๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ net.delta์ ๋ฎ์ด์ฐ๊ธฐ ๋๋ฉฐ, ์ ํ๋์๋ ์ฝ๊ฐ์ ์ค์ฐจ๊ฐ ์์ ์ ์์ต๋๋ค.
resize_normalization_layer
ํจ์ ์ด๋ฆ: resize_normalization_layer
์ ๋ ฅ:
layer *layer: normalization_layer ๊ตฌ์กฐ์ฒด์ ํฌ์ธํฐ
int w: normalization_layer์ ๊ฐ๋ก ํฌ๊ธฐ
int h: normalization_layer์ ์ธ๋ก ํฌ๊ธฐ
๋์:
์ ๋ ฅ์ผ๋ก ๋ฐ์ normalization_layer์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
layer์ ์ถ๋ ฅ ํฌ๊ธฐ ๋ฐ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
layer์ ์ถ๋ ฅ, ๋ธํ, ์ ๊ณฑ, norms ๋ฐฐ์ด์ ์๋ก์ด ํฌ๊ธฐ์ ๋ง๊ฒ ๋ค์ ํ ๋นํฉ๋๋ค.
์ค๋ช :
์ด ํจ์๋ normalization layer์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์ด์ฉํด layer ๊ตฌ์กฐ์ฒด์ ํ๋ ๊ฐ์ ์ ๋ฐ์ดํธํฉ๋๋ค.
์ด ํจ์๋ ์ ๋ ฅ ํฌ๊ธฐ, ์ถ๋ ฅ ํฌ๊ธฐ ๋ฐ ์ถ๋ ฅ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ฌํ ๋นํฉ๋๋ค.
realloc ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌํ ๋นํ๋ฏ๋ก, ์ด์ ์ ํ ๋น๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ ํฉ๋๋ค.
์ด ํจ์๋ ์ ๋ ฅ์ผ๋ก ๋ฐ์ normalization_layer์ ํฌ์ธํฐ๋ฅผ ์ง์ ์์ ํ๋ฏ๋ก, ๋ฐํ ๊ฐ์ ์์ต๋๋ค.
make_normalization_layer
ํจ์ ์ด๋ฆ: make_normalization_layer
์ ๋ ฅ:
int batch: ๋ฐฐ์น ํฌ๊ธฐ
int w: normalization_layer์ ๊ฐ๋ก ํฌ๊ธฐ
int h: normalization_layer์ ์ธ๋ก ํฌ๊ธฐ
int c: normalization_layer์ ์ฑ๋ ์
int size: normalization์ ์ํํ๋ ์๋์ฐ์ ํฌ๊ธฐ
float alpha: ์ ๊ทํ์ ๊ฐ๋๋ฅผ ๊ฒฐ์ ํ๋ ๋งค๊ฐ๋ณ์
float beta: ์ ๊ทํ ์์
float kappa: ์ ๊ทํ๋ฅผ ์ํํ ๋ ์ถ๊ฐํ๋ ๊ฐ
๋์:
์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ๋ค์ ์ด์ฉํด normalization_layer ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
layer์ ํ๋ ๊ฐ์ ์ด๊ธฐํํฉ๋๋ค.
์ ๋ ฅ๊ณผ ์ถ๋ ฅ ๋ฐฐ์ด์ ํ ๋นํฉ๋๋ค.
layer์ forward, backward ํจ์๋ฅผ ์ค์ ํฉ๋๋ค.
์ค๋ช :
์ด ํจ์๋ normalization layer๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ๋ค์ ์ด์ฉํด normalization_layer ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
layer์ type ํ๋๋ NORMALIZATION์ผ๋ก ์ค์ ๋ฉ๋๋ค.
layer์ ์ถ๋ ฅ, ๋ธํ, ์ ๊ณฑ, norms ๋ฐฐ์ด์ ์ด๊ธฐํํฉ๋๋ค.
layer์ forward, backward ํจ์๋ฅผ ์ค์ ํฉ๋๋ค.
์ด ํจ์๋ normalization_layer ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
Last updated
Was this helpful?