Local Minima, Test와 Trainig Set, SGD

DONGJIN IM·2022년 4월 5일
0

면접준비

목록 보기
5/8
post-thumbnail

Local Minima와 Global Minima에 대해 설명해주세요

모델에서는 경사하강법을 활용하여 Cost Function의 최소값을 찾게 된다.
그런데, 모델 자체가 2차 함수같이 볼록하거나 오목한 형식을 가치지 않고, 파라미터가 많기 때문에 구불구불한 함수처럼 나타나게 된다.
Global Minima는 우리가 경사하강법을 통해 궁극적으로 찾아야 하는 "함수에서의 최솟값"을 의미하며, Local Minima는 함수에서의 최솟값은 아니지만 기울기가 0이 되어 "특정 구간에서의 최소값"이 되는 것을 말한다.
이 때 Local Minima에 빠져 Global Minima를 찾지 못하는 위험성을 막기 위해 여러 가지 Optimizer 기법들이 나왔습니다.


Training Set와 Test Set을 분리하는 이유는?

우리는 Trainig Set를 모델을 학습하기 위해 활용한다. 이 때 Training Set를 Train Set와 Validation Set로 나누어 Train Set로 학습하고 Validation Set로 결과값을 비교하여 우리가 실험할 여러 모델들에 대해 Best Model을 뽑는데 활용한다.
Test Set은 우리가 특정 모델을 활용하기로 결정했을 때 마지막으로 해당 모델의 정확도 등의 성능을 알기 위해 활용한다. 특정 모델이 Validation Set에는 좋지만, Test Set, 즉 실제로 활용할 때는 낮은 성능을 가져올 수도 있기 때문이다.
한 마디로, 학습 때와 실제로 활용할 때의 Loss 차이를 최대한 줄이기 위해 둘을 분리하는 것이다.


SGD에서 Stochastic의 의미는?

Stochastic 자체는 "확률적"이라는 의미를 가지고 있다.
SGD 이전에 나온 Gradient Descent 방법에 BGD라는 것이 존재한다. 그런데 BGD 같은 경우 모든 Data에 대하여 각각의 Gradient를 계산하고, 이를 모두 활용하기 때문에 연산 Cost가 너무 비쌌다.
SGD에서는 Batch에서 랜덤하게 1개의 데이터를 뽑고, 이 데이터에 대하여 Gradient를 구해 활용한다.
이 때 Stochastic(확률적)의 의미는 전체 데이터를 모두 활용하지 않고 확률적으로 일부 샘플만 뽑아 해당 데이터만 활용한다는 것이다.

profile
개념부터 확실히!

0개의 댓글