본문 바로가기

미분류

딥러닝의 주요 개념

1. Perceptron

현재 Neural network의 최소 구성요소인 neruon, 혹은 unit의 전신이라 볼 수 있다. Activation function으로 계단 함수를 활용한다. 선형 문제를 해결한다.

 

2. Multi-layer perceptron

하나의 Perceptron은 비선형 문제를 풀 수 없다(예: XOR). 그러나 perceptron을 multi-layer로 구성했을 때 비선형 문제를 해결할 수 있다.

 

3. Sigmoid (Activation function)

계단함수를 사용하면 가중치가 변경되어도 일정량을 초과하지 않는다면 출력값에 변화를 주지 못한다. Sigmoid activation function은 이러한 문제를 해결하여 경사법을 가능케 하였다.

 

4. Loss

앞의 Sigmoid처럼, 어떤 문제를 해결함에 있어 정확도라는 지표는 때때로 가중치 변화에 따른 출력값의 변화가 미미하다. 가중치 변화에 민감한 Loss 지표를 활용하여 효율적인 가중치 업데이트가 가능하다. 여기서 Loss라는 수치를 구하는 방식이 다양한데, 이를 손실함수라고 한다. 오차제곱합, cross-entropy loss 등이 있다.

 

5. Gradient Descent

경사하강법. 어떻게 최소 Loss를 찾을 것인가? 에 대한 해답이다. 다양한 가중치와 손실값의 변화를 편미분하여 벡터화한 Gradient만큼 가중치를 수정한다. 항상 Gradient만큼인 건 아니고, 최저점을 더 잘 찾기 위해 learning rate라는 hyperparameter을 활용한다. 즉, 가중치 수정을 learning rate * gradient만큼 한다.

 

6. Batch

컴퓨터는 소규모 계산을 여러번 할 때보다 대규모 계산을 한두번 할 때 더 높은 효율을 낸다. 데이터를 하나로 뭉쳐 계산 속도를 더 빠르게 하는 것이 batch이다. 다만, batch가 크면 gradient descent 시 부작용이 생기기도 한다. 이로 인해 batch도 hyperparameter가 된다.