[ML] AI vs ML vs DL

2024. 2. 4. 16:53ML

인공지능(AI)은 크게 두 단계를 걸쳐 만들어진다.

1). 풀고자 하는 문제를 잘 파악하여 적절한 모델(=함수) 구조(=형태)을 추정한다. (e.g., 선형 함수, K-NN, 결정 트리)

2). 해당 모델 구조의 파라미터를 구한다. (e.g., 선형 함수면 모든 계수, K-NN이면 모든 데이터셋, 결정 트리면 모든 규칙)

 

ML 이전의 인공지능 모델은 "규칙 기반 알고리즘"이였다. 다시 말해, 인간이 "모델 구조 추정"과 "파라미터 계산"을 직접했다.

하지만, ML은 "파라미터 계산"을 컴퓨터가 대신한다. 물론 아직까지 "모델 구조 추정"은 인간이 한다.

(참고로, 파라미터를 구하는 방법 즉, 최적화 기법(e.g., gradient descent)도 사람이 컴퓨터에게 알려줘야 한다.)

 

그럼, 인공지능의 모델 구조를 설계할 때, 어떤 방식으로 설계하는지 살펴보자.

입출력 간의 관계를 기반으로 모델 구조를 추정하고 설계한다.

이는 "입력에서 출력까지의 관계를 찾아야 한다"는 의미이다.

당연히, 입출력 관계가 복잡할수록 모델 구조(=함수 형태)가 복잡해진다.

 

불행하게도, 기존 ML 모델은 구조가 간단해, 입출력 관계가 복잡한 문제를 풀 수 없다.

다시 말해, 간단한 함수만 표현할 수 있어, 복잡한 입출력 관계를 나타내는 함수를 표현할 수 없다.

이를 해결하기 위해서는, "사람이 직접 입력에서 특징을 추출해 복잡한 문제를 간단한 문제로 바꿔"줘야 한다.

 

그에 반해, DL 모델(DNN)은 표현력과 자유도가 높아, 기존 ML 모델보다 훨씬 수월하게 복잡한 입출력 관계를 풀 수 있다.

DNN은 모든 함수를 표현할 수 있음이 증명되어, 이론적으로 매우 복잡한 입출력 관계를 가진 문제도 풀 수 있다.

그뿐만 아니라, 모델 설계 자유도가 매우 높아, 추정한대로 모델 구조로 쉽게 설계할 수 있다.


What is fundamental goal of ML?

기계학습의 근본적인 목표는 관측한 데이터의 확률분포(e.g., $p_{Y|X}(y|x)$)를 추정하는 것이다. 

유한한 데이터를 관측해 모집단의 확률분포를 정확히 알아내는 것은 불가능하므로, 해당 확률분포를 근사적으로 추정할 수 밖에 없다.

 

확률분포를 추정하는 방식에는 크게 두 가지가 있다.

1. 모수적(parametric) 방법론: 데이터의 특정 확률분포를 가진다고 가설을 세운 후, 해당 확률분포의 모수를 추정하는 방식이다. (e.g., 선형 회귀, 딥러닝)

2. 비모수적(non-parametric) 방법론: 가설을 세우지 않고, 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌는 방식이다. (e.g., K-NN, 결정 트리)

 

모수적 방법론에 대해 자세히 살펴보도록 하자.

첫째, 가설을 세울 때 1). 풀고자 하는 문제에 맞는 2). 관측된 데이터의 히스토그램 모양 그리고 3).  데이터의 생성 원리와 유사한 확률분포(이산형/연속형 and 모형)를 선택해야 한다. 

두번째, 최대 가능도 추정법(Maximum Likelihood Estimation)으로 (데이터를 관찰할 가능성이 가장 높은) 모수를 추정한다.

이때, 딥러닝은 DNN으로 모수를 모델링한 후 DNN을 최적화하는 방식을 사용한다.

 

참고로, 기계학습의 목표는 모델이 학습한 확률분포와 관측된 데이터의 확률분포를 최소화하는 것과 매우 밀접한 관계를 가지고 있다.

대표적으로, 분류 문제에서의 MLE는 두 확률분포 사이의 거리인 KL-distance를 최소화하는 것과 동일하다.

 

해당 내용은 [DL] 7. How does DL solve problems?에서 보다 구체적으로 다룰 것이다.

 

'ML' 카테고리의 다른 글

[ML] 3. Generalization, Overfitting, Underfitting  (0) 2024.03.26
[ML] 2. Linear Regression  (0) 2024.01.30