A A
[DL] Backpropagation (μ˜€μ°¨μ—­μ „νŒŒλ²•)

Backpropagation (μ˜€μ°¨μ—­μ „νŒŒλ²•)

Backpropagation(μ˜€μ°¨μ—­μ „νŒŒλ²•)은 Weight Parameter(κ°€μ€‘μΉ˜ λ§€κ°œλ³€μˆ˜)의 Gradient(기울기)λ₯Ό 효율적으둜 κ³„μ‚°ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
  • Backpropagation(μ˜€μ°¨μ—­μ „νŒŒλ²•)을 μ΄ν•΄ν•˜λŠ” 방법은 2가지가 μžˆμŠ΅λ‹ˆλ‹€. ν•˜λ‚˜λŠ” μˆ˜μ‹μ„ ν†΅ν•΄μ„œ, λ‹€λ₯Έ ν•˜λ‚˜λŠ” 계산 κ·Έλž˜ν”„λ₯Ό ν†΅ν•œκ²ƒμž…λ‹ˆλ‹€.
  • 보톡은 μˆ˜μ‹μ„ ν†΅ν•˜μ§€λ§Œ, μ΄λ²ˆμ—λŠ” 계산 κ·Έλž˜ν”„λ‘œ μ‚¬μš©ν•΄μ„œ 'μ‹œκ°μ '으둜 ν•œλ²ˆ 이해해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

계산 κ·Έλž˜ν”„

  • 계산 과정을 κ·Έλž˜ν”„λ‘œ ν•œλ²ˆ λ‚˜νƒ€λ‚΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œμ˜ κ·Έλž˜ν”„λŠ” μž˜μ•„λŠ” κ·Έλž˜ν”„ 자료ꡬ쑰둜, 볡수의 Node, Edge둜 ν‘œν˜„λ©λ‹ˆλ‹€.
  • ν•œλ²ˆ 문제λ₯Ό λ³΄λ©΄μ„œ 이해해 λ³΄κ² μŠ΅λ‹ˆλ‹€.
Q.1 ν˜„λΉˆ ꡰ은 μŠˆνΌμ—μ„œ 1κ°œμ— 100원인 사과λ₯Ό 2개 μƒ€μŠ΅λ‹ˆλ‹€. μ΄λ•Œ μ§€λΆˆ κΈˆμ•‘μ„ κ΅¬ν•˜μ„Έμš”. 단 μ†ŒλΉ„μ„Έκ°€ 10% λΆ€κ³Όλ©λ‹ˆλ‹€.

  • 계산 κ·Έλž˜ν”„λŠ” 계산 과정을 Node, ν™”μ‚΄ν‘œλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.
  • λ…Έλ“œλŠ” 원(O)으둜 ν‘œκΈ°ν•˜κ³  원 μ•ˆμ— μ—°μ‚° λ‚΄μš©μ„ μ μŠ΅λ‹ˆλ‹€. 또 계산 κ²°κ³Όλ₯Ό ν™”μ‚΄ν‘œ μœ„μ— 적어 각 Node의 계산 κ²°κ³Όκ°€ μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ μ „ν•΄μ§€κ²Œ ν•©λ‹ˆλ‹€. 문제 1λ²ˆμ„ 계산 κ·Έλž˜ν”„λ‘œ ν’€λ©΄ μœ„μ˜ 그림처럼 λ©λ‹ˆλ‹€.
  • μ²˜μŒμ— μ‚¬κ³Όμ˜ 100원이 'x2' λ…Έλ“œλ‘œ 흐λ₯΄κ³ , 200원이 λ˜μ–΄ λ‹€μŒ λ…Έλ“œλ‘œ μ „λ‹¬λ˜κ³ , 'x1.1' λ…Έλ“œλ₯Ό 거쳐 220원이 λ©λ‹ˆλ‹€.
  • 그리고 'x2'와 'x1.1'을 ν•˜λ‚˜μ˜ μ—°μ‚°μœΌλ‘œ μ·¨κΈ‰ν•˜μ§€ μ•Šκ³  'x'λ§Œμ„ μ—°μ‚°μœΌλ‘œ μƒκ°ν•˜λ©΄ 'μ‚¬κ³Όμ˜ 개수'와 'μ†ŒλΉ„μ„Έ'λŠ” λ³€μˆ˜κ°€ λ˜μ–΄ 원 밖에 ν‘œμ‹œν•©λ‹ˆλ‹€. μ•„λž˜μ˜ 그림이 κ·Έλ ‡κ²Œ ν‘œν˜„ν–ˆμŠ΅λ‹ˆλ‹€.


Q2. ν˜„λΉˆ ꡰ은 μŠˆνΌμ—μ„œ 사과 2개, κ·€ 3개λ₯Ό μƒ€μŠ΅λ‹ˆλ‹€. μ‚¬κ³ΌλŠ” 1κ°œμ— 100원, 귀은 1κ°œμ— 150μ›μž…λ‹ˆλ‹€.. μ†ŒλΉ„μ„Έκ°€ 10%일 λ•Œ μ§€λΆˆ κΈˆμ•‘μ„ κ΅¬ν•˜μ„Έμš”.
  • 2번째 λ¬Έμ œλ„ 첫번째 문제λ₯Ό ν’€λ˜ λ°©μ‹μœΌλ‘œ ν•œλ²ˆ ν’€μ–΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

  • μ—¬κΈ°μ„œλŠ” λ§μ…ˆ λ…Έλ“œμΈ '+'κ°€ λ“±μž₯ν•΄μ„œ 사과 & 귀의 κΈˆμ•‘μ„ ν•©μ‚°ν•©λ‹ˆλ‹€. 그리고 λ°©ν–₯은 μ™Όμͺ½ -> 였λ₯Έμͺ½μœΌλ‘œ 계산을 μ§„ν–‰ν•©λ‹ˆλ‹€.
  • μ΄λ ‡κ²Œ 계산 κ·Έλž˜ν”„λ₯Ό μ΄μš©ν•œ λ¬Έμ œν’€μ΄λŠ” μ•„λž˜μ™€ 같은 νλ¦„μœΌλ‘œ μ§„ν–‰ν•©λ‹ˆλ‹€.
    1. 계산 κ·Έλž˜ν”„λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.
    2. κ·Έλž˜ν”„μ—μ„œ 계산을 μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ μ§„ν–‰ν•©λ‹ˆλ‹€.
  • μ΄λ ‡κ²Œ 2번째 계산을 'μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ 진행'ν•˜λŠ” 단계λ₯Ό μˆœμ „νŒŒ(forward propagation)라고 ν•˜κ³ , λ°˜λŒ€ λ°©ν–₯의 μ „νŒŒλŠ” μ—­μ „νŒŒ(backward propagation)라고 ν•©λ‹ˆλ‹€.

κ΅­μ†Œμ  계산

  • κ΅­μ†Œμ μ΄λž€ 'μžμ‹ κ³Ό 직접 κ΄€κ³„λœ μž‘μ€ λ²”μœ„'λΌλŠ” λœ»μž…λ‹ˆλ‹€.
  • κ΅­μ†Œμ  계산은 κ²°κ΅­ μ „μ²΄μ—μ„œ μ–΄λ–€ 일이 λ²Œμ–΄μ§€λ“  상관없이 μžμ‹ κ³Ό κ΄€κ³„λœ μ •λ³΄λ§ŒμœΌλ‘œ κ²°κ³Όλ₯Ό 좜λ ₯ν•  수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • ν•œλ²ˆ 예λ₯Ό λ“€μ–΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.
example) 사과 2개λ₯Ό 포함해 μ—¬λŸ¬ μ‹ν’ˆμ„ κ΅¬μž…ν•˜λŠ” μ˜ˆμ‹œ

  • κ·Έλ¦Όμ—μ„œλŠ” μ—¬λŸ¬ μ‹ν’ˆμ„ κ΅¬μž…ν•˜μ—¬ 총 κΈˆμ•‘μ€ 4,000원이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œμ˜ 핡심은, 각 λ…Έλ“œμ—μ„œμ˜ 계산은 κ΅­μ†Œμ  κ³„μ‚°μ΄λΌλŠ” μ μž…λ‹ˆλ‹€. κ°€λ Ή 사과와 κ·Έ μ™Έμ˜ λ¬Όν’ˆ 값을 λ”ν•˜λŠ” 계산 (4,000 + 200 = 4,200)은 4,000μ΄λΌλŠ” μˆ«μžκ°€ μ–΄λ–»κ²Œ κ³„μ‚°λ˜μ—ˆμœΌλƒ? κ·Έκ±°λž‘μ€ 상관없이 단지 두 숫자λ₯Ό λ”ν•˜λ©΄ λ©λ‹ˆλ‹€.
  • 각 NodeλŠ” μžμ‹ κ³Ό κ΄€λ ¨ν•œ κ³„μ‚°μ™Έμ—λŠ” 아무것도 μ‹ κ²½ μ“Έ 게 μ—†μŠ΅λ‹ˆλ‹€.
  • 이처럼 계산 κ·Έλž˜ν”„λŠ” κ΅­μ†Œμ  계산에 μ§‘μ€‘ν•©λ‹ˆλ‹€. 계산이 아무리 λ³΅μž‘ν•˜λ”λΌκ³  각 λ‹¨κ³„μ—μ„œ ν•˜λŠ”μΌμ€ ν•΄λ‹Ή Node의 'κ΅­μ†Œμ  계산'μž…λ‹ˆλ‹€.
  • κ΅­μ†Œμ μΈ 계산은 λ‹¨μˆœν•˜μ§€λ§Œ, κ·Έ κ²°κ³Όλ₯Ό μ „λ‹¬ν•¨μœΌλ‘œμ¨ 전체λ₯Ό κ΅¬μ„±ν•˜λŠ” λ³΅μž‘ν•œ 계산을 ν•΄λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ™œ 계산 κ·Έλž˜ν”„λ‘œ ν‘ΈλŠ”κ±ΈκΉŒμš”?

  • μ΄μœ λŠ” 3가지가 μžˆμŠ΅λ‹ˆλ‹€.
  1. κ΅­μ†Œμ  계산: 전체가 아무리 λ³΅μž‘ν•΄λ„ 각 λ…Έλ“œμ—μ„œλŠ” λ‹¨μˆœν•œ 계산에 μ§‘μ€‘ν•˜μ—¬ 문제λ₯Ό λ‹¨μˆœν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 쀑간 κ³„μ‚°μ˜ κ²°κ³Όλ₯Ό 보관할 수 μžˆμŠ΅λ‹ˆλ‹€.
  3. Backpropagation(μ—­μ „νŒŒ)λ₯Ό 톡해 미뢄을 효율적으둜 계산 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • μœ„μ˜ μ˜ˆμ‹œλ‘œ 보면 사과 가격이 였λ₯΄λ©΄ μ΅œμ’… κΈˆμ•‘μ— μ–΄λ–€ 영ν–₯을 λΌμΉ˜λŠ”μ§€ μ•Œκ³  μ‹Άλ‹€κ³  κ°€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • μœ„μ˜ μ˜ˆμ‹œλŠ” 사과 가격에 λŒ€ν•œ μ§€λΆˆ κΈˆμ•‘μ˜ 미뢄을 κ΅¬ν•˜λŠ” λ¬Έμ œμ— ν•΄λ‹Ήν•©λ‹ˆλ‹€. μ‚¬κ³Όμ˜ 값을 x, μ§€λΆˆ κΈˆμ•‘μ„ L이라고 ν–ˆμ„ λ•Œ, 을 κ΅¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œμ˜ λ―ΈλΆ„ 값은 사과 값이 'μ•„μ£Ό 쑰금' μ˜¬λžμ„λ•Œ μ§€λΆˆ κΈˆμ•‘μ΄ μ–Όλ§ˆλ‚˜ μ¦κ°€ν•˜λŠ”μ§€λ₯Ό ν‘œμ‹œν•˜λŠ”κ²ƒμž…λ‹ˆλ‹€.
  • '사과 가격에 λŒ€ν•œ μ§€λΆˆ κΈˆμ•‘μ˜ λ―ΈλΆ„'같은 계산 값을 계산 κ·Έλž˜ν”„μ—μ„œ Backpropagation(μ—­μ „νŒŒ)λ₯Ό ν•˜λ©΄ ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€. 
    • μ—¬κΈ°μ„œ Backpropagation(μ—­μ „νŒŒ)λŠ” 였λ₯Έμͺ½μ—μ„œ μ™Όμͺ½μœΌλ‘œ '1. -> 1.1 -> 2.2'순으둜 미뢄값을 μ „λ‹¬ν•©λ‹ˆλ‹€.
    • 사과가 1원 였λ₯΄λ©΄ μ΅œμ’… κΈˆμ•‘μ€ 2.2원 μ˜€λ¦…λ‹ˆλ‹€. μ •ν™•νžˆλŠ” 사과 값이 μ•„μ£Ό 쑰금 였λ₯΄λ©΄ μ΅œμ’… κΈˆμ•‘μ€ κ·Έ μ•„μ£Ό μž‘μ€ κ°’μ˜ 2.2배만큼 였λ₯Έλ‹€λŠ” λœ»μž…λ‹ˆλ‹€.
  • 이처럼 κ²Œμ‚° κ·Έλž˜ν”„μ˜ 이점은 Forward Propagation(μˆœμ „νŒŒ), Back Propagation(μ—­μ „νŒŒ)λ₯Ό ν™œμš©ν•΄μ„œ 각 λ³€μˆ˜μ˜ 미뢄을 효율적으둜 ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€.

Chain Rule (연쇄법칙)

μ „μ—μ„œ, 'κ΅­μ†Œμ  λ―ΈλΆ„'에 λŒ€ν•˜μ—¬ μ•Œμ•„λ³΄μ•˜λŠ”λ°, 'κ΅­μ†Œμ  λ―ΈλΆ„'을 μ „λ‹¬ν•˜λŠ” μ›λ¦¬λŠ” Chain Rule(연쇄 법칙)에 λ”°λ₯Έ κ²ƒμž…λ‹ˆλ‹€.

계산 κ·Έλž˜ν”„μ˜ Backpropagation(μ—­μ „νŒŒ)

  • ν•œλ²ˆ 계산 κ·Έλž˜ν”„λ₯Ό μ΄μš©ν•œ μ—­μ „νŒŒμ˜ 예λ₯Ό ν•œλ²ˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. y = f(x)λΌλŠ” κ³„μ‚°μ˜ Backpropagation(μ—­μ „νŒŒ)λ₯Ό ν•œλ²ˆ λ³΄κ² μŠ΅λ‹ˆλ‹€.

계산 κ·Έλž˜ν”„μ˜ μ—­μ „νŒŒ: 순방ν–₯κ³ΌλŠ” λ°˜λŒ€ λ°©ν–₯으둜 κ΅­μ†Œμ  미뢄을 κ³±ν•œλ‹€.

  • μœ„μ˜ κ·Έλ¦Όκ³Ό 같이 Backpropagation(μ—­μ „νŒŒ)의 계산 μ ˆμ°¨λŠ” μ‹ ν˜Έ E에 Node의 κ΅­μ†Œμ  λ―ΈλΆ„(δy/δx)을 κ³±ν•˜κ³  λ‹€μŒ λ…Έλ“œλ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œ λ§ν•˜λŠ” κ΅­μ†Œμ  미뢄은 Forward Propagation(μˆœμ „νŒŒ) λ•Œμ˜ y = f(x) κ³„μ‚°μ˜ 미뢄을 κ΅¬ν•œλ‹€λŠ” 것이며, μ΄λŠ” x에 λŒ€ν•œ y의 λ―ΈλΆ„ (δy/δx)울 κ΅¬ν•œλ‹€λŠ” λœ»μž…λ‹ˆλ‹€.
  • 그리고 이 κ΅­μ†Œμ μΈ 미뢄을 상λ₯˜μ—μ„œ μ „λ‹¬λœ κ°’(μ—¬κΈ°μ„œλŠ” E)에 κ³±ν•΄ μ•žμͺ½ Node둜 μ „λ‹¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.이것이 Backpropagation(μ—­μ „νŒŒ)의 계산 μˆœμ„œμž…λ‹ˆλ‹€.

Chain Rule (연쇄 법칙)μ΄λž€?

Chain Rule(연쇄 법칙) 연쇄법칙을 μ„€λͺ…ν•˜λ €λ©΄ μš°μ„  ν•©μ„±ν•¨μˆ˜μ— λ°ν•˜μ—¬ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • ν•©μ„± ν•¨μˆ˜λž€ μ—¬λŸ¬ ν•¨μˆ˜λ‘œ κ΅¬μ„±λœ ν•¨μˆ˜μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄μ„œ z = (x + y)**2 μ΄λΌλŠ” 식은 2개의 μ‹μœΌλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

  • Chain Rule(연쇄 법칙)은 ν•©μ„± ν•¨μˆ˜μ˜ 미뢄에 λŒ€ν•œ μ„±μ§ˆμ΄λ©° λ‹€μŒκ³Ό 같이 μ •μ˜λ©λ‹ˆλ‹€. 
"ν•©μ„± ν•¨μˆ˜μ˜ 미뢄은 ν•©μ„± ν•¨μˆ˜λ₯Ό κ΅¬μ„±ν•˜λŠ” 각 ν•¨μˆ˜μ˜ λ―ΈλΆ„μ˜ 곱으둜 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€."
  • 이것이 Chain Rule(연쇄 법칙)의 μ›λ¦¬μž…λ‹ˆλ‹€. μ–Έλœ» μ–΄λ ΅κ²Œ 보일지도 λͺ¨λ₯΄μ§€λ§Œ κ°„λ‹¨ν•œ μ„±μ§ˆμž…λ‹ˆλ‹€.
  • μœ„μ˜ μˆ˜μ‹μœΌλ‘œ μ˜ˆμ‹œλ₯Ό λ“€μ–΄μ£Όλ©΄ δz/δx (x에 λŒ€ν•œ z의 λ―ΈλΆ„)κ³Ό δt/δx (x에 λŒ€ν•œ t의 λ―ΈλΆ„)이 곱으둜 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
δz/δx = δz * δt / δt * δx - μ΄λ ‡κ²Œ μˆ˜μ‹μœΌλ‘œ μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.
그리고 μ΄λ ‡κ²Œ μš”μ•½μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. δz/δx = δz / δx
  • 그러면 연쇄 법칙을 μ¨μ„œ μ‹μ˜ λ―ΈλΆ„ δz/δx을 κ΅¬ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€, λ¨Όμ € 'κ΅­μ†Œμ  λ―ΈλΆ„(νŽΈλ―ΈλΆ„)'을 κ΅¬ν•©λ‹ˆλ‹€.
δz/δt = 2t, δt/δx = 1
  • μœ„μ˜ μˆ˜μ‹λ“€μ€ λ―ΈλΆ„ κ³΅μ‹μ—μ„œ ν•΄μ„μ μœΌλ‘œ κ΅¬ν•œ κ²°κ³Ό μž…λ‹ˆλ‹€. 그리고 μ΅œμ’…μ μœΌλ‘œ κ΅¬ν•˜κ³  싢은 δz/δx λŠ” μœ„μ—μ„œ κ΅¬ν•œ μ‹λ“€μ—μ„œ 두 미뢄을 κ³±ν•΄ κ³„μ‚°ν•©λ‹ˆλ‹€.
δz/δx = δz * δt / δt * δx = 2t * 1 = 2(x + y)

Chain Rule & 계산 κ·Έλž˜ν”„

그림의 연쇄법칙 계산을 계산 κ·Έλž˜ν”„λ‘œ λ‚˜νƒ€λ‚΄λ΄…λ‹ˆλ‹€. 2제곱 계산을 '**2' Node둜 λ‚˜νƒ€λ‚΄λ©΄ μ•„λž˜μ˜ 그림처럼 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

Forward Propagation(μˆœμ „νŒŒ) μ™€λŠ” λ°˜λŒ€ λ°©ν–₯으둜 κ΅­μ†Œμ  미뢄을 κ³±ν•˜μ—¬ μ „λ‹¬ν•©λ‹ˆλ‹€.

  • μœ„μ˜ κ·Έλ¦Όκ³Ό 같이 계산 κ·Έλž˜ν”„μ˜ Backpropagation(μ—­μ „νŒŒ)λŠ” 였λ₯Έμͺ½μ—μ„œ μ™Όμͺ½μœΌλ‘œ μ‹ ν˜Έλ₯Ό μ „νŒŒν•©λ‹ˆλ‹€.
  • Backpropagation(μ—­μ „νŒŒ)의 계산 μ ˆμ°¨μ—μ„œλŠ” Node(λ…Έλ“œ)둜 λ“€μ–΄μ˜¨ Input Signal(μž…λ ₯ μ‹ ν˜Έ)에 κ·Έ Node(λ…Έλ“œ)의 'κ΅­μ†Œμ  λ―ΈλΆ„(νŽΈλ―ΈλΆ„)'을 κ³±ν•œ ν›„ λ‹€μŒ Node(λ…Έλ“œ)둜 μ „λ‹¬ν•©λ‹ˆλ‹€.
  • 계산 κ·Έλž˜ν”„μ˜ μ—­μ „νŒŒ 결과에 λ”°λ₯΄λ©΄ δz/δxλŠ” 2(x + y)κ°€ λ©λ‹ˆλ‹€.


Backpropagation (μ—­μ „νŒŒ)

μ•žμ—μ„œ 계산 κ·Έλž˜ν”„μ˜ Backpropagation(μ—­μ „νŒŒ)의 Chain Rule(연쇄법칙)에 따라 μ§„ν–‰λ˜λŠ” λͺ¨μŠ΅μ„ μ„€λͺ…ν–ˆμŠ΅λ‹ˆλ‹€.
μ΄λ²ˆμ—λŠ” '+' & 'x'λ“±μ˜ 연산을 예둜 λ“€μ–΄ Backpropagation(μ—­μ „νŒŒ)의 ꡬ쑰λ₯Ό μ„€λͺ…ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ§μ…ˆ Node의 Backpropagation(μ—­μ „νŒŒ)

  • λ§μ…ˆ Node의 Backpropagation(μ—­μ „νŒŒ)μž…λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œλŠ” z = x + y λΌλŠ” 식을 λŒ€μƒμœΌλ‘œ κ·Έ Backpropagation(μ—­μ „νŒŒ)λ₯Ό μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • μš°μ„  z = x + y의 미뢄은 λ‹€μŒκ³Ό 같이 해석 ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. λ‘˜λ‹€ λͺ¨λ‘ 1이 λ˜λ―€λ‘œ 계산 κ·ΈλŒ€ν”„λ‘œλŠ” μ•„λž˜ 처럼 그릴수 μžˆμŠ΅λ‹ˆλ‹€.

λ§μ…ˆ λ…Έλ“œμ˜ μ—­μ „νŒŒ: μ™Όμͺ½μ΄ μˆœμ „νŒŒ, 였λ₯Έμͺ½μ΄ μ—­μ „νŒŒμ΄λ‹€. λ§μ…ˆλ…Έλ“œμ˜ μ—­μ „νŒŒλŠ” μž…λ ₯ 값을 κ·ΈλŒ€λ‘œ 흘렀 보낸닀.

  • μœ„μ˜ κ·Έλ¦Όκ³Ό 같이 Backpropagation(μ—­μ „νŒŒ)λ•ŒλŠ” 상λ₯˜μ—μ„œ 전해짐 λ―ΈλΆ„(μ—¬κΈ°μ„œλŠ” , μž…λ ₯된 값을 κ·ΈλŒ€λ‘œ λ‹€μŒ λ…Έλ“œλ‘œ λ³΄λ‚΄κ²Œ λ©λ‹ˆλ‹€.
  • 즉, λ§μ…ˆ λ…Έλ“œμ˜ Backpropagation(μ—­μ „νŒŒ)λŠ” 1을 κ³±ν•˜κΈ°λ§Œ ν•©λ‹ˆλ‹€.
  • μžμ„Ένžˆ μ„€λͺ…해보면, 상λ₯˜μ—μ„œ 전해진 λ―ΈλΆ„ 값을  

λ§μ…ˆ Node Backpropagation의 ꡬ체적인 μ˜ˆμ‹œ

  • λ§μ…ˆ λ…Έλ“œ Backpropagation(μ—­μ „νŒŒ)λŠ” μž…λ ₯ μ‹ ν˜Έλ₯Ό λ‹€μŒ λ…Έλ“œλ‘œ 좜λ ₯ν•  λΏμ΄λ―€λ‘œ κ·ΈλŒ€λ‘œ λ‹€μŒ λ…Έλ“œλ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.

κ³±μ…ˆ Node의 Backpropagation(μ—­μ „νŒŒ)

κ³±μ…ˆ Node의 Backpropagation(μ—­μ „νŒŒ)λ₯Ό λ³΄κ² μŠ΅λ‹ˆλ‹€. ν•œλ²ˆ z = xy λΌλŠ” μˆ˜μ‹μœΌλ‘œ ν•œλ²ˆ λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

λ§μ…ˆ λ…Έλ“œμ˜ μ—­μ „νŒŒ: μ™Όμͺ½μ΄ μˆœμ „νŒŒ, 였λ₯Έμͺ½μ΄ μ—­μ „νŒŒμ΄λ‹€. κ³±μ…ˆ λ…Έλ“œμ˜ μ—­μ „νŒŒλŠ” 상λ₯˜μ˜ κ°’μ˜ μˆœμ „νŒŒλ•Œμ˜ μž…λ ₯ μ‹ ν˜Έλ“€μ„ 'μ„œλ‘œ 봐꾼 κ°’'을 κ³±ν•΄μ„œ ν•˜λ₯˜λ‘œ 보낸닀.

  • κ³±μ…ˆ λ…Έλ“œμ˜ Back propagation(μ—­μ „νŒŒ)λŠ” 상λ₯˜μ˜ κ°’μ˜ Forward propagation(μˆœμ „νŒŒ)λ•Œμ˜ μž…λ ₯ μ‹ ν˜Έλ“€μ„ 'μ„œλ‘œ 봐꾼 κ°’'을 κ³±ν•΄μ„œ ν•˜λ₯˜λ‘œ λ³΄λƒ…λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œ μ„œλ‘œ 봐꾼 κ°’μ΄λž€, Forward propagation(μˆœμ „νŒŒ)λ•Œ xμ˜€λ‹€λ©΄ Back propagation(μ—­μ „νŒŒ)μ—μ„œλŠ” y, Forward propagation(μˆœμ „νŒŒ)λ•Œ yμ˜€λ‹€λ©΄ Back propagation(μ—­μ „νŒŒ)μ—μ„œλŠ” x둜 λ΄κΎΌλ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€.
  • μ˜ˆμ‹œλ₯Ό 듀어보면 '10 x 5 = 50'μ΄λΌλŠ” 계산이 있고, Back propagation(μ—­μ „νŒŒ)λ•Œ 상λ₯˜μ—μ„œ 1.3 값이 ν˜λŸ¬μ˜¨λ‹€κ³  ν•˜κ² μŠ΅λ‹ˆλ‹€.
  • 이λ₯Ό 계산 κ·Έλž˜ν”„λ‘œ 그리면 μ•„λž˜μ˜ 그림처럼 λ©λ‹ˆλ‹€.

κ³±μ…ˆ Node Backpropagation의 ꡬ체적인 μ˜ˆμ‹œ

  • κ³±μ…ˆμ˜ Back propagation(μ—­μ „νŒŒ)μ—μ„œλŠ” μž…λ ₯ μ‹ ν˜Έλ₯Ό 봐꾼 값을 κ³±ν•˜μ—¬ ν•˜λ‚˜λŠ” 1.3 x 5 = 6.5, λ‹€λ₯Έ ν•˜λ‚˜λŠ” 1.3 x 10 = 13이 λ©λ‹ˆλ‹€.
  • λ§μ…ˆμ˜ Backpropagation(μ—­μ „νŒŒ)μ—μ„œλŠ” 상λ₯˜μ˜ 값을 κ·ΈλŒ€λ‘œ 흘러 λ³΄λ‚΄μ„œ Forward propagation(μˆœμ „νŒŒ) μž…λ ₯ μ‹ ν˜Έμ˜ 값은 ν•„μš”ν•˜μ§€ μ•Šμ§€λ§Œ, κ³±μ…ˆμ˜ Back propagation(μ—­μ „νŒŒ)λŠ” 순방ν–₯ μž…λ ₯ μ‹ ν˜Έμ˜ 값이 ν•„μš”ν•©λ‹ˆλ‹€.
  • κ·Έλž˜μ„œ κ³±μ…ˆ λ…Έλ“œλ₯Ό κ΅¬ν˜„ν•  λ•ŒλŠ” Forward propagation(μˆœμ „νŒŒ)의 μž…λ ₯ μ‹ ν˜Έλ₯Ό λ³€μˆ˜μ— μ €μž₯ν•΄λ‘‘λ‹ˆλ‹€.

Example

μ•žμ—μ„œ λ³Έ 사과 쇼핑을 ν•˜λŠ”κ±Έλ‘œ μ˜ˆμ‹œλ₯Ό ν•œλ²ˆ λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • μ—¬κΈ°μ„œ μ‚¬κ³Όμ˜ 가격, 개수, μ†ŒλΉ„μ„Έ λΌλŠ” 3개의 λ³€μˆ˜ 각각이 μ΅œμ’… κΈˆμ•‘μ— μ–΄λ–»κ²Œ 영ν–₯을 μ£ΌλŠλƒλ₯Ό ν’€κ³ μž ν•©λ‹ˆλ‹€.
  • '사과 가격에 λŒ€ν•œ μ§€λΆˆ κΈˆμ•‘μ˜ λ―ΈλΆ„', '사과 κ°œμˆ˜μ— λŒ€ν•œ μ§€λΆˆ κΈˆμ•‘μ˜ λ―ΈλΆ„', 'μ†ŒλΉ„μ„Έμ•Ό λŒ€ν•œ μ§€λΆˆ κΈˆμ•‘μ˜ λ―ΈλΆ„'을 κ΅¬ν•˜λŠ” 것에 ν•΄λ‹Ήν•©λ‹ˆλ‹€. 이λ₯Ό 계산 κ·Έλž˜ν”„μ˜ Backpropagation(μ—­μ „νŒŒ)λ₯Ό μ‚¬μš©ν•΄μ„œ ν’€λ©΄ μ•„λž˜μ˜ 그림처럼 λ©λ‹ˆλ‹€.

  • μœ„μ—μ„œ μ„€λͺ… ν–ˆλ“―μ΄, κ³±μ…ˆ λ…Έλ“œμ˜ Backpropagation(μ—­μ „νŒŒ)μ—μ„œλŠ” μž…λ ₯ μ‹ ν˜Έλ₯Ό μ„œλ‘œ λ΄κΏ”μ„œ ν•˜λ₯˜λ‘œ ν˜λ¦½λ‹ˆλ‹€.
  • 사과 2개 κ°€κ²©μ˜ 미뢄은 2.2, 사과 2개 개수의 미뢄은 110, μ†ŒλΉ„μ„Έμ˜ 미뢄은 200μž…λ‹ˆλ‹€.
  • μ΄λŠ” μ†ŒλΉ„μ„Έμ™€ 사과 가격이 같은 μ–‘λ§ŒνΌ 였λ₯΄λ©΄ μ΅œμ’… κΈˆμ•‘μ—μ„  μ†ŒλΉ„μ„Έκ°€ 200의 크기둜, 사과 가격이 2.2 크기둜 영ν–₯을 μ€€λ‹€κ³  해석할 수 μžˆμŠ΅λ‹ˆλ‹€.
그러면 '사과와 κ·€ μ‡Όν•‘'의 Backpropagation(μ—­μ „νŒŒ)λ₯Ό ν’€μ–΄λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • 귀의 3개 개수의 미뢄은 150, κ·€ 3개의 κ°€κ²©μ˜ 3.3, 총 μ†ŒλΉ„μ„Έμ˜ 미뢄은 650 μž…λ‹ˆλ‹€.

  • μ•„λž˜μ˜ 그림이 μ •λ‹΅μž…λ‹ˆλ‹€.