머신러닝이란 무엇일까? 많이 접했지만 쉽사리 답하기 어려운 질문이기도 합니다. 이 물음에 답변하기 위해 머신러닝의 주요 도메인과 기본 프로세스를 통해 이해를 돕고자 합니다.
머신러닝은 데이터에서 시작해 모델을 통한 학습, 그리고 예측에 이르기까지 여러 단계를 포함하는 포괄적인 과정입니다.
1. Domain, 2. Range, 3. Model, 4. Loss, 5. Optimization, 6. Evaluation 이 6가지 키워드로 머신러닝 전 과정을 이해해봅시다.
머신러닝은 기본적으로 함수 f 에 대해 domain x 와 range y 가 주어졌을 때, x와 y 만 가지고 실제 함수 f 와 최대한 가까운 f: x ↦ y 를 만족하는 f를 찾는 과정입니다. 즉, 머신러닝은 입력 변수(X)를 출력 변수(Y)에 매핑하는 함수(f)를 학습하는 것이라고 요약할 수 있습니다.
따라서, 머신러닝의 첫 단계는 domain(x) 를 정의하는 과정입니다. 예를 들어, 컴퓨터 비전에서는 이미지와 비디오 데이터를, 자연어 처리에서는 텍스트 데이터를 사용합니다. 이때 데이터 증강(data augmentation) 기법이 활용될 수 있는데, 이는 한정된 데이터를 변형하여 데이터의 다양성을 높이고, 이를 통해 모델이 더욱 강인하게 학습할 수 있도록 돕습니다.
이때, 우리의 예측의 목표를 range y라고 정의할 수 있고, x 와 y는 함께 dataset을 구성합니다. 단, range y 는 반드시 존재하지 않을수도 있는데, y 가 존재하는 문제를 지도 학습(supervised learning), y가 존재하지 않는 문제를 비지도학습 혹은 자기지도학습(unsupervised learning / self-supervised learning)이라고 합니다.
아래는 머신러닝 모델링을 할 때 있어 고려해야할 중요한 개념들입니다.
2-1. parametric / non-parametric: 머신러닝 모델은 매개변수를 고정된 개수만큼 사용하는 파라메트릭 방식(예: 선형 회귀)일 수도 있고, 데이터에 직접 의존하는 KNN(최근접 이웃)처럼 비파라메트릭 방식일 수도 있습니다.
위에서 배운 개념을 적용해보자면, parametric 모델은 x+y를 모두 가지고있고, 이를 활용해 파라미터 Θ를 튜닝하는 방식으로 학습합니다. 반면, non-parametric 모델은 파라미터를 추정하거나 교정하는 식으로 동작하지 않습니다. 데이터가 스스로 말하게 한다 (dataset speaks itself)는 것인데, 데이터의 분포를 표현해놓고, 비슷한 입력에는 비슷한 출력을 내놓는다는 방침만 세우는 것이죠.
2-2. bias - variance trade off:
모델의 simplicity와 complexity 사이의 균형을 의미합니다. Complexity란? 다항함수는 고차함수로 갈수록 훈련 데이터를 지나치게 잘 학습하는 과적합의 위험을 증가시키는데, 이는 새로운 데이터에 대한 예측력을 떨어뜨립니다. 이에 bias - variance trade off 를 고려하는것은 과적합을 방지하는데 중요한 역할을 합니다.
2-3. 최신 모델
최신 모델로는 Transformer가 대표적입니다. Transformer 는 CNN(Convolutional Neural Networks)과 같은 고전적 모델과 종종 비교되고는 하는데, 아래와 같이 설명 가능성 제공 측면에서 고려할만한 부분이 있습니다.
content 3) 참고하면 좋은 개념:
인덕티브 바이어스(inductive bias)는 모델이 학습 과정에서 만들어내는 가정으로, 데이터에 아직 나타나지 않은 새로운 상황을 예측하는 데 중요한 역할을 한다. 아래 두 모델의 비교를 통해 각각의 inductive bias가 어떻게 다른지, 그리고 이러한 차이가 결과에 어떻게 영향을 미치는지 설명할 수 있다.
Explainable AI(XAI)를 통해 이러한 모델들이 어떻게 데이터를 해석하고 결정을 내리는지를 투명하게 만듦으로써 사용자가 AI의 결정 과정을 더 잘 이해하게 하는것이 점점 더 중요해지고 있다.
content 4) 참고하면 좋은 개념: SVM, LR (Hypothesis that model has) - have differend inductive bias.
SVM은 데이터 클래스 사이의 최대 마진을 찾아 분류하는 데 초점을 맞춘 모델이다. 이는 강한 inductive bias를 가지고 있으며, 특히 분류 문제에서 뛰어난 성능을 발휘한다. SVM은 hinge loss 함수를 사용하여 이진 분류를 수행합니다.
선형회귀(LR)는 데이터 포인트들 사이의 선형 관계를 모델링하며, 𝑌=𝑤𝑋+𝑏Y=wX+b 형태로 표현된다. 이는 보다 단순한 inductive bias를 반영하며, 연속적인 값의 예측에 적합하다. 이 두 모델의 다른 inductive bias는 각기 다른 유형의 데이터와 문제에 적합한 도구를 선택하는 데 도움을 준다.
3-1) Loss Functions
데이터와 타겟을 정한 후 모델을 선택하여 학습한 후, 이제 이 모델이 예측을 얼마나 잘 하는지 측정하기 위해 사용되는 손실 함수(loss functions)에 대해 알아봅시다.
분류 작업(classification)에는 교차 엔트로피 손실(Cross-Entropy Loss, CE)을 사용하며, 회귀 작업(Regression)에는 L1 또는 L2 손실을 사용할 수 있습니다. 이러한 손실 함수들은 모델이 예측한 값과 실제 값 사이의 차이를 수치화하여, 모델 학습 시 이 차이를 최소화하도록 합니다.
각 개념에 대해 간단히 알아보자면:
3-2) Regularization
정규화(Regularization)는 모델의 복잡성을 관리하는 데 도움을 줍니다. 이를 통해 모델이 학습 데이터에 과도하게 적합되는 과적합(overfitting) 문제를 방지할 수 있습니다. 정규화 기법은 모델의 파라미터 값들이 지나치게 크지 않도록 제한함으로써, 모델이 보다 일반화될 수 있도록 돕습니다.
content5) 참고하면 좋은 개념: Catastrophic forgetting,EWC(Elastic Weight Consolidation), MLE(Maximum Likelihood Estimation), MAP(Maximum A Posteriori)
최적화 기법은 모델의 성능을 최대화하기 위해 손실 함수를 최소화하는 모델 매개변수를 찾는 데 사용됩니다. 대표적인 최적화 기법으로는 SGD(Stochastic Gradient Descent, 확률적 경사 하강법)와 Adam(Adaptive Moment Estimation)이 있습니다. 이러한 방법들은 반복적으로 매개변수를 업데이트하여 모델의 성능을 개선합니다.
content 6) 참고하면 좋은 개념:
마지막 단계로, 모델이 잘 일반화되는지 (즉, 새로운 데이터에 대해 잘 수행되는지) 확인하기 위해, 교차 검증(cross-validation)과 같은 기법을 사용할 수 있습니다. 이는 다양한 데이터 서브셋을 순환시켜 훈련과 테스트를 반복함으로써 모델의 성능을 견고하게 평가할 수 있도록 합니다.
모델의 평가 결과가 기대에 미치지 못한다면, 모델 구조 재검토, 하이퍼파라미터 조정, 등을 검토해볼 수 있습니다. 대규모 데이터셋의 경우, 교차 검증은 계산적으로 매우 비효율적일 수 있기때문에, 이런 경우 단순화된 검증 절차나 데이터의 일부만을 사용하는 방법을 고려해보는것이 좋을수도 있습니다.
지금까지 머신러닝이 무엇이고, 어떤 과정을 거쳐 진행되는지 간략하게 알아보았습니다. content) 로 표시된, 참고하면 좋은 개념들은 설명하는데 다른 배경지식이 필요한 경우가 많아 생략된 부분이 많지만, 관심있으면 한번 조사해보는것을 추천합니다. 질문은 언제나 환영입니다.
작성자: 1기 홍진욱