본문 바로가기
CS231n 공부하기

Lecture 4 | Backpropagation and NN part 1

by 고공이 2020. 10. 20.

유투브 강의: www.youtube.com/watch?v=qtINaHvngm8&list=PL1Kb3QTCLIVtyOuMgyVgT-OeW0PYXl3j5&index=3

 

 

 

q는 매개변수

우리가 원하는 것은 인풋값에 대한 마지막 영향력. 

이를 구하기 위해 bp 를 구해야 한다.

 

y 미분값 구하는 과정.

y를 h만큼 증가하면 q도 h만큼 증가.

 

반드시 알아두기.

 

x 미분값도 똑같다.

 

 

이렇게 그라디언트를 구했다.

 

포워드패스일 때 로컬그라이던트는 우리가 구할 수 있다.

여기서 핵심 내용은, 로컬그라이던트는 포워드패스일때 구해서 메모리에 저장해둔다.

 

그렇다면, 글로벌 그라이던트는 어떻게 구할까.

아래와 같이 구함

이 과정을 Backward Pass = Backpropagation 이라고 한다.

z가 여러개의 노드인 경우에는, 그라디언트를 다 더해주면 된다.

 

이제 더 복잡한 경우를 살펴보자.

 

우리가 구할 것은 각각의 인풋에 대한 최종적인 로스에 대한 영향력.

위의 식을 미분한 것.

 

ㅎ..

시그모이드 펑션은 자기자신으로 표현됨.

 

Neural Network

 

NN 을 11줄로 표현한것.

2행 1이 2개니깐 바이너릭 클래식~?

3,4행 W 가중치 정의

6,7행 FP (계산식을 보면 시그모이드라는 것을 알 수 있다.)

8,9행 BP

10,11행 파라미터 업데이트

 

이를 도식화한 것.

 

시그모이드 함수가 가장 많ㅇ ㅣ사용된 이유는,

0-1사이에 수렴이 되기 때문에, 특정 뉴런의 영향력을 0-1사이로 확률처럼 특정해주기 쉽기 때문.

 

 

 

주의해야할 내용.

- 인공신경망이 우리의 신경망과 비슷하다? 주의해야 함.

 

2012년 등장. ReLU 가 디폴트되어있다. 현실적으로 일반화되어 사용. 개선사항이 많기 때문에 다양한 형태를이 존재한다.

 

인풋레이어는 W를 가지지 않기 때문에 저렇게 표현.

 

레이어로 구성하는 이유는,

기본적으로 효율적으로 계산할 수 있기 때문.

 

단일 레이어는 단일 연산으로 끝을 낼 수 있다.

 

 

이것은,

1. 레이어의 몇개를 구성해야 하는냐

2. 레이어의 사이즈, 즉 노드를 몇개를 가져야하는가 

 

=많아지면 많아질수록 분류를 하는 능력(capacity)이 좋아진다.

 

람다가 0.1 일때, 트레이닝 데이터에 오버피팅되지 않으면서 테스트데이터에 더 일반화할 수 잇음

정리하면,

데이터에 오버피팅이 일어나지 않도록 뉴런 네트워크를 잘 구성하는 옳은 방법은,

너트워크를 작게 만드는 것이 아닌 레귤러라이제이션 스트렝스는 더 높여주어야 한다.ㅁ

 

요약-

 

'CS231n 공부하기' 카테고리의 다른 글

Lecture 13 | Generative Models  (1) 2021.01.12
Lecture 7 | Training Neural Networks II  (0) 2020.12.01
Lecture 3 | Loss fn, optimization  (0) 2020.10.19
Lecture 2 | Image Classification  (0) 2020.10.13

댓글