Learning rate(Step size), Back propagation, Activation function딥러닝 네트워크 구조, Weight, Bias
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다.
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 라고 이해하면 된다