딥러닝 기초이론

[딥러닝 기초이론2] AI(Artificial Intelligence)의 판단 기준과 학습법

컴퓨터비전 LCK 2024. 3. 6. 11:01

 

전 포스팅에서 AI는 통계분석 프로그램이라는 이야기를 했다.

 

주어진 데이터를 통해 특성간의 상관관계를 파악하고, 그에 기반하여 새로운 데이터에 대한 판단이 가능하게끔 동작하는 것을 인공지능이라고 칭한다.

 

이제 인공지능이 새로운 데이터에 대한 판단기준, 즉 예측 모델을 어떻게 만들어내는지에 대한 이야기를 해보겠다.

 

기존의 데이터는 이러하다.

 

이 데이터들을 보고 직선 형태의 예측 모델을 직접 만들어보자.

 

 

아마도 이와 비슷한 직선을 그렸을 것이라고 예상된다.

 

그렇다면 우리는 왜 이런 직선을 그리게 된 것일까?

 

그 이유는 이 직선이 실제 데이터들을 잘 대변하기 때문이다. 즉, 실제 데이터들과의 오차가 가장 적기 때문이다.

 

기존의 데이터들과 해당 지점에서의 예측치간 발생하는 오차를 Training loss 라고 한다.

 

이 Training loss를 최소화 하는 직선이 가장 훌륭한 예측모델이라는데에 어렵지 않게 동의할 수 있을 것이라고 생각한다.

 

실제로 AI를 훈련시킨다는 것의 의미는 loss 함수를 설정하고 해당 loss 함수가 최소화 되는 지점에서의 weight와 bias를 찾아나가는 과정이다.(이 예시에서는 1차 함수모양의 예측 모델이기 때문에 기울기와 y절편의 값이 구해져야 한다.)

 

 

손실함수는 모델의 목적에 따라 다양하지만, 선형 회귀 모델에서 자주 사용하는 MSE 손실함수를 한번 살펴보겠다. (선형 회귀에서 MSE 손실함수가 자주 사용되는 이유는 추후에 다루어보겠다.)

N=데이터의 수, y_i=i번째 데이터의 실제값, y ̂ =i번째 데이터의 예측값

 

이 함수를 살펴보면 실제값에서 예측값을 뺀 값, 즉 Training loss를 각각의 데이터에 대하여 제곱한 값을 모두 더해준 후에 평균을 낸 값이다.

 

이 MSE loss가 최솟값을 가질때의 모델이 Training loss를 최소화 하는 가장 훌륭한 예측모델이다.

 

x_i, y_i 는 실제값이므로 상수

 

이를 공간상에 표현하면 다음과 같은 형태이다.

 

 

이 함수가 최소일 때의 w값과 b를 구하는 법을 설명하기 위해 b는 정해진 값이고 문제를 직선의 기울기인 w값만 변하는 경우로 바꾸어 보겠다.

 

 

w의 초기값이 랜덤하게 설정되었다고 가정하고, 최종 목적지인 point D로 향하는 방향을 잡아준다. 

 

현재 지점에서의 미분계수에서의 반대방향으로 나아간다고 생각하면, 출발점이 point A던, point B던, point C던 간에 point D로 향하게 된다.

 

이 미분계수에 학습률(learning rate)을 곱해준 값을 원래의 초기값에다 업데이트하며 point D로 수렴하게 된다.

 

이 방법을 경사하강법(Gradient Descent) 이라고 한다.

 

weight 업데이트

 

이 과정을 순서도로 표현하면 다음과 같다.

 

이것이 인공지능의 스스로 학습하여 가장 적절한 모델을 만들어내는 과정이다.

 

다음시간에는 이 과정들을 인공신경망의 구조와 접목시켜 이해해보겠다.