cs231n 강의

Learning rate(Step size), Back propagation, Activation function딥러닝 네트워크 구조, Weight, Bias

삼선차니 2022. 4. 23. 16:51

초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다.

cs231n 수업을 더 잘 이해하기 위해 알아야 할 필요지식들이 더 있어 정리한다.

 

 

1. Learning rate(Step size)

- cs231n 3강에 나온 Gradient descent 알고리즘에 나오는 개념이다

- Gradient descent 에서 사를 따라 얼만씩 이동할지 정해준다

- Step size 라고 하기도 한다

 

 

2. Back propagation

- ANN을 학습시키기 위한 알고리즘 중 하나이다

- 원하는 목표값과 실제 모델이 계산한 출력값의 오차값을 구하고 그 오차값을 다시 뒤로 전파해가면서 각 노드가 가지고 있는 변수들을 갱신하는 알고리즘이다

 

 

3. Activation function

- ANN(인공신경망) 에서 입력을 변환하는 함수이다.

- 신경망의 각 노드에 연결되어 있다

- 각 노드의 입력이 모델의 예측과 관련되어 있는지 여부에 따라 활성화하는 함수

- 쉽게 말해서 노드에 입력을 받고 그 값들을 일정기준으로 확인 후 다음 노드로 출력하거나 안하는 (활성화) 함수이다

- 대표적인 함수들 : ReLU, 시그모이드 함수, 쌍곡탄젠트

 

 

4. 딥러닝 네트워크 구조

- 딥러닝은 인공신경망(ANN)을 사용하여 머신러닝 학습을 수행한다

- 따라서 딥러닝 네트워크 구조 = ANN의 구조 라고 생각한다

- ANN의 구조는 아래와 같다

 

 

입력층, 은닉층, 출력층 

이렇게 3개의 층으로 구성된 것

가장 기본적인 구조이다.

 

그림에서 동그라미 하나하나

노드(뉴런)라고 한다.

 

 

 

 

 

 

 

 

5. Weight

- 데이터를 각기 다른 비중으로 다음 은닉층로 전달시키기 Weight(가중치) 를 사용한다

- 즉 중요도(=가중치)를 다르게 한다고 이해하면 된다

- 아래 예시를 보면

 

수능점수 예측을 위해선 학습데이터 필요

 

4~9월 모의고사 점수로 수능점수 예측

 

4~6월 점수보단 7~9월 점수가

수능점수와 비슷할 듯

 

그래서 4~6월 점수보다 7~9월의 점수에

더 중요하게 비중을 둠

 

이것이 W : 가중치 라고 이해하면 됨

 

 

 

6. Bias

- Bias(편향) 은 하나의 노드에 입력된 모든 값을 모두 더하고 이 값(가중합)에 추가로 더 해주는 상수이다

- Bias 는 하나의 뉴런에서 활성화 함수를 거쳐 최종적으로 출력되는 값을 조절하는 역할을 한다

- 예시를 보면

 

그림에 파란 글씨

Party people 성향버프+ Bias 이다

 

누군가 파티에 갈지말지 결정할때

 

날씨 좋음, 절친 고고, 알바비 입금전

이라는 상황(Input) 도 같고

 

각각의 중요도(Weight) 도 같을때

 

파티를 좋아하는 사람이라면 파티에 가고

혼자있는걸 좋아하는 사람이면 가지 않는다

 

가고 안가고의 차이는 그 사람의 성향이다

 

이걸 Bias 라고 이해하면 된다