[이론 정리] Deep learning의 중요한 4 요소

2023. 3. 20. 14:21AI/이론 정리

1. 데이터

2. 모델

3. 손실함수

4. 최적화기법

 

데이터

여기서 가장 중요한 것은 데이터이다. 현재 모델의 성능을 향상시키기 위한 연구는 충분히 진행되었다. 따라서 양질의 데이터를 얼마나 많이 확보하느냐가 중요하다. 

 

모델

모델은 인풋을 원하는 아웃풋으로 바꾸어주는 시스템으로 아래와 같은 것들이 있다.

Alexnet, DQN, Encoder/Decoder, Adam optimizer, GAN, ResNet, Transformer, Bert, Big language Model, Self-Supervised learning

내가 하고자 하는 것이 무엇인지에 따라 사용해야할 모델도 달라진다. 예를 들어, Alexnet은 이미지 분류 문제에서 GAN(Generative Adversarial Network)의 경우 이미지 생성 분야에서 많이 활용되고 Transformer의 경우 NLP 분야에서 많이 활용된다.

 

손실함수

손실함수는 파라미터의 값을 수정하기 위해서 계산하는 함수이다. 딥러닝의 핵심이라고도 할 수 있다. 딥러닝의 원리는 인풋에 대해 원하는 아웃풋을 잘 도출해내는 파라미터의 값을 찾아가는 과정이기 때문이다. 이때 파라미터의 값을 찾기 위해서 사용되는 것이 바로 손실함수이다. 딥러닝의 과정을 전체적으로 살펴보자면 먼저 인풋이 모델에 들어간다. 각 모델은 아웃풋을 도출해주는데 이것을 예측값이라고 한다. 보통 훈련을 시킬 때 우리는 정답을 같이 넣어준다. 이를 라벨링이라고 한다. 그러면 이 예측값과 라벨값을 이용해서 손실함수를 계산하게 된다. 손실함수는 각각의 모델과 문제에 맞게 선택이 되는데 대표적으로 회귀 문제에서는 평균 제곱 오차(MSE)나 평균 절대 오차(MAE)를 사용한다. 분류 문제에서는 교차 엔트로피 오차(Cross-entropy loss)나 로지스틱 손실 함수(Logistic loss function)이 사용된다. 이 손실을 줄이게 하는 파라미터를 찾는 것이 딥러닝의 핵심이다.

 

최적화기법

이제 손실함수를 통해 손실을 구했으면 이 손실을 이용해서 파라미터의 값을 수정해야 한다. 이를 최적화기법이라고 하고 데이터와 모델에 따라 그 방법은 달라질 수 있다. 일단 공통적으로 알아야 할 것은 이 다양한 방법 모두 역전달(backpropagation)에 의존한다는 것이다. 역전달이란 손실함수를 통해 구한 손실을 각각의 파라미터에 대해 기울기값(gradient)을 구해주는 것이다. 역전달이라는 의미는 손실이 인풋이 되어 모델의 역방향으로 가며 기울기값을 구하기 때문이다. 만약 모델의 hidden 레이어가 1 이상이라면 체인 기법(chain rule)을 사용한다. 이렇게 구해진 기울기값은 파라미터의 값을 수정하는데 이용된다. 이러한 방법에는 Stochastic Gradient Descent(SGD), Adaptive Moment Estimation(Adam), Adagrad, RMSprop, L-BFGS 등이 있다. SGD의 경우 가중치(weight) = 가중치 - 학습률(learning_rate) * 기울기값(gradient)으로 구한다. Adam의 경우 weight = weight - (learning_rate / sqrt(v_corrected)) * m_corrected이다. 이렇게 파라미터를 수정하는 작업을 학습이라고 한다. 이 수정된 파라미터로 다시 학습을 하게 된다.