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