컴퓨터 비전 - 12(Backprogation)

박승현·2023년 11월 6일
1

컴퓨터비전

목록 보기
12/15
post-thumbnail

Backprogation

  • 중간에 모델 구조가 바뀌거나 하는 일 때문에 중간 값을 알기위해선 처음부터 다시 계산해야하는 문제가 있음
  • 모듈화를 통해 중간값을 알고 싶음 -> Backprogation

example

  • 위의 식에서 x,y,z가 웨이트 w일경우 결국 우리가 원하는건 x,y,z의 편미분값
  • chain Rule
    • f에 대한 y의 미분값을 구할때 f와 y가 연결되어 있지 않아 q에대해 미분하고 q와 y를 연관지어 미분
    • 이 방법도 레이어가 많아지거나 방법이 바뀌면 계싼 횟수가 굉장히 많아지거나 다시 계산해야함 -> 모듈화필요
  • Local Gradient : 현재 나의 상태에서 바로 미분이 가능한 것
  • Upstream Gradient : 이전에 먼저 계산한(위의 레이어)에서 보이는 변수를 사용해 나에게 흘려준 값
  • Downstream Gradient : 내가 Local, Upstream을 체인룰을 활용해 계산 후 밑의 레이어로 흘려주는 값
  • 결국 흘러들어온 값에 내가 계산한 값을 곱해 밑으로 흘려주면 됨(모듈화)

Gradient Flow

  • 덧셈 게이트는 위에서 흘러 들어온 값이 그대로 들어오고 곱셈은 반대의 값에 곱함
  • 초록색이 현재 값 빨간색이 실제 흘러가는 값
  • 위 과정을 모듈화 가능
  • 모듈화를 해야 계산이 바뀌거나 처음 값이 바뀌는 등이 변동이 일어날때 즉시 수정이 가능
profile
KMU SW

0개의 댓글