[ DeepML-CS231n ] Lec. 4 Backpropagation and Neural Networks

나융·2021년 10월 8일
0

aiffel

목록 보기
4/12

Computational graphs + Gradient

변수 x 에 대한 함수 F(x,y,z) 의 변화량을 알아보고싶다 -> 편미분
노드 사이의 관계식(연결성)을 가지고 있기때문에, 끝에서부터 단계별로 변화량을 계산 하면 전체에 대한 연산을 수행할 수 있다

Local gradient X upstream gradient (via chain rule)

dfdx=δfδqδqδx\frac{df}{dx} = \frac{\delta f}{\delta q} \frac{\delta q}{\delta x}
  • 각 항은 이전 단계의 두 가지 항으로 다시 분리할 수 있기 때문에, 출력과 입력 사이에 모든 단계에서 연속적인 계산이가능하다.
  • 각 항을 비교하여 시각화하면, 큰 변화를 나타내고 있는 지점을 특정할 수 있고, 이를 통해 커널에서의 특징feature이라거나, 네트워크에서 활성화된 위치를 특정할 수 있다. -> explainability

Pattern in backward flow

  • Add gate : gradient distributor, 동일한 비율 만큼 갱신값을 전달해준다
  • Max gate : gradient router (just pass back), 체인에서 한쪽 방향으로만 전파되도록 결정해준다
  • Mul gate : gradient switcher or scaler, 동일한 비율 만큼 값에 곱해주어 증폭시킨다(-방향 포함)

새롭게 알게 된 것들

  • 가중치들의 연결과 역전파 시 gradient 를 계산하는 방식을 논리회로와 비슷하게 표현하는 방법이, 개념을 이해하는데에 많은 도움을 준 것 같음.
  • 실제 뉴런의 구조를 비교해보면서 퍼셉트론이 어떻게 기능적으로 모사되었는지 알게되어서 유익했음

한 주의 회고

  • 풀잎 스쿨 진행방식에서 수강생들끼리 대화를 나누는 시간이 적어 조금 불만이었는데, 원활하게 수업을 진행하기 위해서 어쩔수 없는 상황이라는 것을 납득해버림. 기존에 알고 있던 개념도 명확하게 설명하는 데에 어려움을 겪는데, 완전히 새로운 개념을 받아들이는 과정이 굉장히 부하가 클 것이라는 생각이 들었음.
  • 강의를 들으면서 눈에 띄거나 머릿속에 계속 떠오른 것들 위주로 적다 보니, 강의가 남는 것 없이 훌쩍 지나간 기분이 듬.

다음 주의 다짐

  • 많은 개념을 머릿속에 집어넣으려고 하다보니, 전체적인 맥락과 개념들이 발전해 나가는 과정을 내 입으로 설명하기 어려운 점을 개선하고싶다.
  • 개별 스터디와 같은 공간에서 다시한번 내가 설명하고, 스스로 얼마나 이해하고 있는지 검토해보면 좋겠다.
profile
딥러닝 한발짝

0개의 댓글