μμΉλ―ΈλΆμ ν΅ν΄ λ―ΈλΆ κ³μ°μ΄ κ°λ₯νμ§λ§ μμΉ λ―ΈλΆμ κ³μ° λΉμ©κ³Ό μ νλ λ©΄μ λ¬Έμ κ° μμ.
So, μμ ν(backpropagation, μ€μ°¨μμ νλ²)λ₯Ό μ΄μ©νλ©΄ λ―ΈλΆμ ν¨μ¨μ μΌλ‘ κ³μ°ν μ μκ³ κ²°κ΄κ°μ μ€μ°¨λ λ μ μ
μ°μ λ²μΉμ λ°λ₯΄λ©΄ ν©μ± ν¨μ(μ¬λ¬ ν¨μκ° μ°κ²°λ ν¨μ)μ λ―ΈλΆμ κ΅¬μ± ν¨μ κ°κ°μ λ―ΈλΆν ν κ³±ν κ²κ³Ό κ°μ
xμ λν yμ λ―ΈλΆμ "dy/dx = dy/db * db/da * da/dx" λ‘ ννν μ μμ.
μμμ μμ μλ― xμ λν yμ λ―ΈλΆμ κ΅¬μ± ν¨μ κ°κ°μ λ―ΈλΆκ°μ λͺ¨λ κ³±ν κ°κ³Ό κ°μ. μ¦, ν©μ±ν¨μμ λ―ΈλΆμ κ° ν¨μμ κ΅μμ λ―ΈλΆλ€λ‘ λΆν΄κ° κ°λ₯. --> μ°μ λ²μΉ
μ μ(dy/dx = dy/db * db/da * da/dx)μ "dy/dx = dy/dy * dy/db * db/da * da/dx" μΌλ‘λ ννμ΄ κ°λ₯ dy/dyμ μμ μ λν λ―ΈλΆμ΄λΌ νμ 1
"dy/dx = dy/dy * dy/db * db/da * da/dx" μ ν©μ± ν¨μμ λ―ΈλΆμ κ΅¬μ± ν¨μλ€μ λ―ΈλΆμ κ³±μΌλ‘ λΆν΄ν μ μμμ λ»ν¨
"dy/dx = (((dy/dy*dy/db)db/da)da/dx)" μκ³Ό κ°μ΄ μΆλ ₯μμ μ
λ ₯ λ°©ν₯μΌλ‘, μ¦ λ³΄ν΅μ κ³μ°κ³Όλ λ°λ λ°©ν₯μΌλ‘ λ―ΈλΆμ κ³μ°, μΆλ ₯ yμμ μ
λ ₯ x λ°©ν₯μΌλ‘ κ³±νλ©΄μ μμλλ‘ λ―ΈλΆνλ©΄ μ΅μ’
μ μΌλ‘ dy/dxκ° κ΅¬ν΄μ§
dy/dbλ ν¨μ y = C(b)μ λ―ΈλΆ, db/da = B(a)μ λ―ΈλΆ, da/dx = A(x)μ λ―ΈλΆ
"yμ λ³μμ λν λ―ΈλΆκ°"μ΄ λ³μ y, a, b, xμ λν λ―ΈλΆκ°μ΄ μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ μ νλ¨μ μ μ μμ μ΄κ²μ΄ μμ ν, μ νλλ λ°μ΄ν°λ λͺ¨λ "yμ λ―ΈλΆκ°"
μμ νμ μμ νκ°μ κ΄κ³λ₯Ό λ΄€μλ μμ ν μμ λ³μ aλ μμ ν μμ λ―ΈλΆ dy/daμ λμ, λ§μ°¬κ°μ§λ‘ bλ dy/db, xλ dy/dxκ° λμ. ν¨μμλ λ§μ°¬κ°μ§λ‘ ν¨μ Bλ μμ νμ B'(a)μ λμ Aλ A'(x)μ λμ. μ΄λ κ² λ³μλ 'ν΅μκ°'κ³Ό 'λ―ΈλΆκ°'μ΄ μ‘΄μ¬νκ³ ν¨μλ 'ν΅μ κ³μ°(μμ ν)'κ³Ό 'λ―ΈλΆκ°μ ꡬνκΈ° μν κ³μ°(μμ ν)'μ΄ μ‘΄μ¬νλ κ²μΌλ‘ μκ° κ°λ₯
μμ νλ₯Ό ꡬν λ C'(b)λ y = C(b)μ λ―ΈλΆκ°, μ΄ λ C'(b)κ³μ°μ μν΄μ bκ°μ΄ νμ λ§μ°¬κ°μ§λ‘ B'(a)λ₯Ό ꡬνκΈ° μν΄μ aμ κ°μ΄ νμν¨. μ¦, μμ ν μμλ μμ ν μ μ΄μ©ν λ°μ΄ν°κ° νμν¨ λ°λΌμ μμ νλ₯Ό ꡬνκΈ° μν΄μ λ¨Όμ μμ νλ₯Ό ν΄μΌ ν¨
- code
- step01.py: μλ μμ ν ꡬν
- step02.py: μλ μμ ν ꡬν - 1
- step03.py: μλ μμ ν ꡬν - 2
- μμ ν μ΄λ‘ : Backpropagation Theory
- μμ ν ꡬν : PythonμΌλ‘ μμ ν ꡬν