본문 바로가기
Computer Technology 기록부/인공지능 학습 기록부

CS231n Lecture 04. Introduction to Neural Networks

by Amins 2022. 1. 28.

backpropagation - 목적 : 각각의 웨이트가 결과에 얼마나 영향을 미치는지를 알아보자!

Backpropagation with scalar - 각각의 가중치 값 찾기!!

  • q = x+y
  • f = q * z

 

  • Purpose : Want to calculate df/dx. df/dy, df/dz

(x,y,z가 함수 F에 미치는 영향을 알 수 있다. 기울기값이므로 초기 인풋값의 변화량만큼의 f값의 변화를 알 수 있기 때문)

 

Chain rule을 통해 단계마다의 함수값을 미분하며 올라가면 가장 최상층 웨이트의 미분값도 알 수 있다!! 


Process of backpropagation in Local gradient 

각 노드(함수)를 거슬러 올라갈때, [upstream gradient] X [local gradient] = [next step upstream gradient]
  • upstream gradient - 거슬러 올라온, 쌓여가는 미분값. 해당 그림에선 dL/dz가 upstream gradient
  • local gradient - 각각의 노드에 있는 함수의 해당 변수에 대한 미분값. 해당 그림에선 dz/dx, dz/dy가 된다. 

아무리 복잡한 식이라도, chain rule을 이용한 역전파 방식으로 모든 미분값을 구할 수 있다! - 컴퓨터 분야에서 역전파를 쓰는 이유!!!


Patterns in backward flow

  • 역전파시 게이트들의 역할
    • ADD gate - upstream gradient가 gate를 통과하며 여러 갈래로 나뉘어진다
    • MAX gate - upstream gradient가 gate를 통과하며, Max가 아닌 값에는 0이, Max 값에는 그대로 들어간다.
      • 이유 : 실제 MAXgate에 영향을 미치는 인자는 MAX값 밖에 없기 때문. 
    • MUL gate - upstream gradient가 gate를 통과하며 다른 브랜치의 값으로 scaling한다(크기 변경) - 곱하기니까

Backpropagation with vector

위처럼, 스칼라 값으로 역전파가 아닌 벡터 값으로 역전파를 해도 방식은 동일, 다만 local gradient는 jacobian matrix가 된다. - 각 요소의 미분값을 포함하는 행렬

자코비안 매트릭스 - 비선형변환의 미소부분을 선형변환으로 근사시키는 행렬


Quiz

입력의 어떤 부분이 출력에 영향을 주는가? 

  • 자코비안 매트릭스의 각각의 input은 output의 해당 요소에만 영향을 줌 - 대각 행렬 형태 지님

- 자코비안 벡터 예시


Neural networks - 신경망 모델

3-layer 신경망의 함수

  • 기존 : f = Wx의 form
  • 2-layer 신경망 : 두개의 함수 존재, 사이에 활성함수 존재

인공신경망과 신경망의 공통점

 

인공신경망 구조

 

댓글