logistic_layer
forward_logistic_layer
ํจ์ ์ด๋ฆ: forward_logistic_layer
์ ๋ ฅ:
const layer l: ๋ ์ด์ด ๊ตฌ์กฐ์ฒด ํฌ์ธํฐ
network net: ๋คํธ์ํฌ ๊ตฌ์กฐ์ฒด
๋์:
๋ก์ง์คํฑ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์ด์ ์ถ๋ ฅ๊ฐ์ ๊ณ์ฐํ๊ณ , ๋ง์ฝ net.truth๊ฐ ์ฐธ(True)์ด๋ฉด ๋ก์ง์คํฑ ์์ค ํจ์๋ฅผ ๊ณ์ฐํ์ฌ l.loss์ l.delta๋ฅผ ์ ๋ฐ์ดํธํ๊ณ , l.cost์ l.loss์ ํฉ์ ์ ์ฅํ๋ค.
์ค๋ช :
copy_cpu(l.outputsl.batch, net.input, 1, l.output, 1): net.input์์ l.output์ผ๋ก l.outputsl.batch ๊ฐ์ ์ค์๊ฐ์ ๋ณต์ฌํ๋ค.
activate_array(l.output, l.outputs*l.batch, LOGISTIC): l.output ๋ฐฐ์ด์ ์๋ ๋ชจ๋ ๊ฐ์ ๋ํด ๋ก์ง์คํฑ ํ์ฑํ ํจ์๋ฅผ ์ ์ฉํ๋ค.
if(net.truth): ๋ง์ฝ net.truth๊ฐ ์ฐธ(True)์ด๋ฉด ๋ก์ง์คํฑ ์์ค ํจ์๋ฅผ ๊ณ์ฐํ์ฌ l.loss์ l.delta๋ฅผ ์ ๋ฐ์ดํธํ๊ณ , l.cost์ l.loss์ ํฉ์ ์ ์ฅํ๋ค.
logistic_x_ent_cpu(l.batch*l.inputs, l.output, net.truth, l.delta, l.loss): ๋ก์ง์คํฑ ์์ค ํจ์์ ๊ทธ ๋ํจ์๋ฅผ ๊ณ์ฐํ๊ณ , l.delta์ l.loss๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
l.cost[0] = sum_array(l.loss, l.batch*l.inputs): l.loss ๋ฐฐ์ด์ ๋ชจ๋ ๊ฐ์ ๋ํ์ฌ l.cost[0]์ ์ ์ฅํ๋ค.
backward_logistic_layer
ํจ์ ์ด๋ฆ: backward_logistic_layer
์ ๋ ฅ:
const layer l (๋ ์ด์ด ๊ตฌ์กฐ์ฒด)
network net (๋คํธ์ํฌ ๊ตฌ์กฐ์ฒด)
๋์:
๋ก์ง์คํฑ ํ๊ท ๋ ์ด์ด์ ์ญ์ ํ(backpropagation)๋ฅผ ์ํํฉ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ ์ค๋ฅ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ๊ณ , ๋คํธ์ํฌ์ ์ด์ ๋ ์ด์ด๋ก ๊ทธ๋๋์ธํธ๋ฅผ ์ ํํฉ๋๋ค.
์ค๋ช :
๋ก์ง์คํฑ ํ๊ท ๋ ์ด์ด์ ์ญ์ ํ ํจ์์ ๋๋ค.
์ ๋ ฅ์ผ๋ก๋ ๋ก์ง์คํฑ ํ๊ท ๋ ์ด์ด๋ฅผ ๋ํ๋ด๋ layer ๊ตฌ์กฐ์ฒด์, ํด๋น ๋ ์ด์ด๋ฅผ ์์ ํ๋ ๋คํธ์ํฌ๋ฅผ ๋ํ๋ด๋ network ๊ตฌ์กฐ์ฒด๊ฐ ์ ๋ ฅ๋ฉ๋๋ค.
ํจ์๋ l.delta์ net.delta๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ๊ณ , net.delta์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค.
make_logistic_layer
ํจ์ ์ด๋ฆ: make_logistic_layer
์ ๋ ฅ:
batch: ๋ฐฐ์น ํฌ๊ธฐ (int)
inputs: ์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ (int)
๋์:
๋ก์ง์คํฑ ํ๊ท์ ๊ต์ฐจ ์ํธ๋กํผ ์์ค ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ ์ด์ด๋ฅผ ์์ฑํฉ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ฐฐ์น ํฌ๊ธฐ๋ฅผ ์ค์ ํ๊ณ , ์ถ๋ ฅ, ๋ก์ค, ๋ธํ, ์ฝ์คํธ ๋ฑ์ ์ด๊ธฐํํฉ๋๋ค.
ํฌ์๋(forward)์ ๋ฐฑ์๋(backward) ํจ์๋ฅผ ์ค์ ํฉ๋๋ค.
์ค๋ช :
๋ก์ง์คํฑ ํ๊ท๋ ๋ถ๋ฅ ๋ฌธ์ ์์ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ด์ง ๋ถ๋ฅ(binary classification)ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ต์ฐจ ์ํธ๋กํผ ์์ค ํจ์๋ ๋ก์ง์คํฑ ํ๊ท์์ ์ฌ์ฉ๋๋ ์์ค ํจ์ ์ค ํ๋๋ก, ์์ธก ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ์ฌ ๋ชจ๋ธ์ ์์ค์ ๊ณ์ฐํฉ๋๋ค.
์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ ๋ชจ๋ธ์ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์๋ฏธํ๋ฉฐ, ๋ฐฐ์น ํฌ๊ธฐ๋ ํ ๋ฒ์ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์๋ฏธํฉ๋๋ค.
Last updated
Was this helpful?