I. 머신러닝 기초 및 학습 패러다임 (Fundamentals & Learning Paradigms)

A. 기본 개념 (Basic Concepts)

  • 머신러닝 (Machine Learning): 명시적인 프로그래밍 없이 데이터로부터 학습하여 패턴을 인식하고 예측 또는 결정을 내리는 시스템을 구축하는 인공지능의 한 분야이다.
  • 데이터 (Data), 특징 (Features), 레이블 (Labels): 학습의 기반이 되는 정보(데이터), 모델의 입력으로 사용되는 개별 속성(특징), 지도 학습에서 예측 대상이 되는 정답(레이블)이다.
  • 모델 (Model): 데이터로부터 학습된 패턴의 수학적 표현으로, 입력을 받아 출력을 생성한다.
  • 학습/훈련 (Learning/Training): 데이터를 사용하여 모델 파라미터를 조정하는 과정이다.
  • 추론/예측 (Inference/Prediction): 학습된 모델을 사용하여 새로운 데이터에 대한 결과를 생성하는 과정이다.
  • 과적합 (Overfitting) / 과소적합 (Underfitting): 모델이 훈련 데이터에만 너무 잘 맞거나(과적합), 훈련 데이터의 패턴조차 제대로 학습하지 못하는(과소적합) 현상이다.
  • 편향-분산 트레이드오프 (Bias-Variance Tradeoff): 모델의 예측 오차는 편향(모델의 단순성으로 인한 오류)과 분산(데이터 변화에 대한 민감성) 요소로 나뉘며, 이 둘 사이의 균형을 맞추는 것이 중요한다. 일반적으로 복잡도를 높이면 편향은 줄고 분산은 늘어난다.

B. 학습 패러다임 (Learning Paradigms)

  1. 지도 학습 (Supervised Learning)
  2. 비지도 학습 (Unsupervised Learning)
  3. 강화 학습 (Reinforcement Learning)
  4. 준지도 학습 (Semi-Supervised Learning)
  5. 자기지도 학습 (Self-Supervised Learning)

II. 주요 머신러닝 모델 및 알고리즘 (Key ML Models & Algorithms)

A. 모델 분류 기준 (Model Classification Criteria)

  1. 파라메트릭 모델 (Parametric Models)
  2. 비파라메트릭 모델 (Non-Parametric Models)
  3. 준파라메트릭 모델 (Semi-Parametric Models)

B. 선형 모델 (Linear Models)

  • Linear Regression: 입력과 출력 사이의 선형 관계를 추정하는 회귀 모델이다.
  • Polynomial Regression: 입력 변수의 다항식을 사용해 비선형 관계를 모델링합니다 (선형 모델의 확장).
  • Logistic Regression: 입력 변수의 선형 조합을 통해 이진 분류 클래스 확률을 예측한다.
  • Softmax Regression: 다중 클래스 분류를 위한 확장형 선형 모델이다. 출력층에 Softmax 함수를 적용해 확률 분포를 만든다.
  • Linear Discriminant Analysis (LDA): 클래스 간 분산을 최대화하고 클래스 내 분산을 최소화하는 선형 판별 분류 모델이다. (차원 축소 기법으로도 사용됨 - II.H 참고)
  • Ridge Regression: L2 정규화를 사용하여 과적합을 줄이는 선형 회귀이다.
  • Lasso Regression: L1 정규화를 사용하여 가중치 희소성을 유도하는 회귀이다.
  • Elastic Net: L1 L2 정규화를 혼합하여 사용하는 회귀 방법이다.

C. 결정 트리 및 앙상블 (Decision Trees & Ensembles)

  1. Decision Tree: 데이터 특성을 기반으로 조건 분기를 반복하여 예측하는 나무 구조 모델이다.
  2. 앙상블 학습 (Ensemble Learning): 여러 개의 약한 모델을 조합해 더 강한 모델을 만든다.

D. 서포트 벡터 머신 (Support Vector Machines - SVM)

  • Support Vector Machine (Classifier): 마진(margin) 최대화를 통해 최적의 분류 경계(결정 초평면)를 학습하는 모델이다. 커널 기법(Kernel Trick)을 통해 비선형 문제도 효과적으로 해결할 수 있다.
  • Support Vector Regression (SVR): SVM의 원리를 회귀 문제에 적용한 모델이다. 마진 내 오류는 허용하면서 마진 밖 오류를 최소화한다.

E. 베이즈 모델 (Bayesian Models)

  • Optimal Bayes Classifier: 베이즈 정리를 기반으로 사전 확률과 우도(likelihood)를 이용하여 분류 오류를 최소화하는 이론적인 최적 분류기이다. 실제 구현은 확률 분포 추정이 필요한다.
  • Naive Bayes: 모든 특징들이 클래스에 대해 조건부 독립(conditionally independent)이라고 가정하고 베이즈 정리를 적용하는 간단하면서도 효과적인 분류기이다.

F. 거리 기반 모델 (Distance-Based Models)

  • K-Nearest Neighbors (KNN): 새로운 데이터 포인트 주변의 가장 가까운 k개의 훈련 데이터 이웃을 참조하여 다수결(분류) 또는 평균(회귀)으로 예측하는 비파라메트릭 모델이다.
  • Minimum Distance Classifier: 각 클래스의 평균(또는 프로토타입)까지의 유클리드 거리(또는 다른 거리 척도)를 계산하여 가장 가까운 클래스로 분류하는 간단한 분류기이다.

G. 군집화 알고리즘 (Clustering Algorithms)

  • K-Means: 데이터를 k개의 중심점(centroid) 기준으로 반복적으로 할당하고 중심점을 업데이트하여 클러스터링한다.
  • Hierarchical Clustering: 데이터를 유사도(또는 거리) 기반으로 계층적인 트리 구조(덴드로그램)로 병합(agglomerative)하거나 분할(divisive)한다.
  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise): 데이터 포인트의 밀도를 기반으로 클러스터를 형성하며, 임의 형태의 클러스터를 찾고 잡음(noise) 데이터 식별에 강건한다.
  • Gaussian Mixture Model (GMM): 데이터가 여러 개의 가우시안(정규) 분포의 혼합으로 구성되었다고 가정하고, 각 데이터 포인트가 각 분포에 속할 확률을 추정하여 클러스터링합니다 (Soft Clustering).
  • Spectral Clustering: 데이터 포인트 간의 유사도를 그래프로 표현하고, 그래프 라플라시안 행렬의 고유벡터(eigenvectors)를 사용하여 저차원 공간으로 임베딩한 후 클러스터링을 수행한다. 복잡한 형태의 클러스터 분리에 효과적이다.

H. 차원 축소 및 표현 학습 (Dimensionality Reduction & Representation Learning)

  1. 선형 차원 축소 (Linear Dimensionality Reduction)
  2. 비선형 차원 축소 (Non-linear Dimensionality Reduction)
  3. 표현 학습 (Representation Learning) - 주로 Autoencoder 기반

I. 신경망 기초 (Neural Network Basics)

  • Neural Network (Artificial Neural Network, ANN): 상호 연결된 노드(뉴런)들의 층(layer)으로 구성된 모델이다. 비선형 활성화 함수를 통해 복잡한 패턴을 학습할 수 있으며, 지도, 비지도, 강화 학습 등 다양한 패러다임에 적용될 수 있다.

J. 기타 모델 (Other Models)

  • Gaussian Process Regression (GPR): 함수 자체에 대한 사전 분포(prior distribution, 주로 가우시안 프로세스)를 정의하고, 관측 데이터를 통해 사후 분포(posterior distribution)를 업데이트하여 예측을 수행하는 베이즈 비파라메트릭 회귀 방법이다. 예측의 불확실성 추정이 가능한다.
  • Generalized Additive Model (GAM): 선형 회귀를 확장하여 각 특징 변수에 대해 비선형 함수(주로 스플라인)를 적용한 후 이들의 합으로 예측하는 준파라메트릭 모델이다. 선형 모델의 해석 가능성을 유지하면서 비선형 관계를 모델링할 수 있다.
  • Cox Proportional Hazards Model: 생존 분석(survival analysis)에 주로 사용되는 준파라메트릭 모델로, 특정 시점에서의 사건 발생 위험률(hazard rate)을 공변량(covariates)의 함수로 모델링한다. 기저 위험 함수(baseline hazard function)는 비모수적으로, 공변량의 효과(계수)는 모수적으로 추정한다.

III. 딥러닝 아키텍처 (Deep Learning Architectures)

딥러닝은 여러 개의 은닉층을 가진 심층 신경망(Deep Neural Network, DNN)을 사용하여 복잡한 문제를 해결하는 머신러닝의 하위 분야이다. 특정 과업에 특화된 다양한 아키텍처가 개발되었다.

A. CNN (Convolutional Neural Network) 계열

  • LeNet: 최초의 실용적인 CNN 중 하나로, 주로 손글씨 숫자 인식(MNIST)에 사용되었다.
  • AlexNet: GPU를 활용하여 대규모 이미지 분류(ImageNet)에서 획기적인 성능을 보여 딥러닝 부흥을 이끈 모델이다.
  • VGGNet: 3x3 크기의 작은 합성곱 필터를 깊게 쌓아 네트워크 깊이의 중요성을 보여준 모델이다.
  • ResNet (Residual Network): 잔차 연결(residual connection) 또는 스킵 연결(skip connection)을 도입하여 매우 깊은 네트워크(수백~수천 개 층)의 학습을 가능하게 하고 기울기 소실 문제를 완화했다.
  • DenseNet (Densely Connected Convolutional Network): 각 층이 이후의 모든 층과 직접 연결되는 구조(dense connection)를 통해 특징 재사용(feature reuse)을 극대화하고 정보 흐름을 개선했다.
  • EfficientNet: 네트워크의 깊이(depth), 너비(width), 입력 해상도(resolution)를 복합적인 스케일링 방법(compound scaling)으로 균형 있게 확장하여 효율성과 성능을 동시에 높인 모델이다.

B. 순환 신경망 (RNN) 및 관련 구조 (Recurrent Neural Networks & Related Architectures)

  • RNN (Vanilla RNN): 순환 연결을 통해 이전 스텝의 정보를 현재 스텝의 계산에 활용하여 순차 데이터(sequence data)를 처리하는 기본적인 순환 구조이다. 장기 의존성 문제(long-term dependency problem)에 취약한다.
  • LSTM (Long Short-Term Memory): 입력, 망각, 출력 게이트(gate) 메커니즘을 도입하여 장기 의존성 문제를 효과적으로 해결한 RNN의 변형 구조이다.
  • GRU (Gated Recurrent Unit): LSTM의 구조를 간소화(업데이트 게이트, 리셋 게이트 사용)하여 계산 효율성을 높이면서 유사한 성능을 보이는 구조이다.
  • Bi-LSTM (Bidirectional LSTM): 순방향과 역방향의 LSTM을 모두 사용하여 과거와 미래의 문맥 정보를 동시에 활용하는 구조이다.
  • Seq2Seq (Sequence-to-Sequence): 인코더 RNN이 입력 시퀀스를 고정된 크기의 문맥 벡터로 압축하고, 디코더 RNN이 이 문맥 벡터를 받아 출력 시퀀스를 생성하는 구조이다. 기계 번역 등에 사용된다. 초기 Seq2Seq 모델은 고정된 크기의 문맥 벡터가 정보 병목 현상을 일으킬 수 있다는 한계가 있었다.

C. 어텐션 메커니즘 (Attention Mechanism)

  • 정의: 어텐션은 모델이 출력 시퀀스의 특정 부분을 생성할 때, 입력 시퀀스 전체에서 관련성이 높은 부분에 '집중'하여 가중치를 부여하는 메커니즘이다. 이는 인간이 정보를 처리할 때 중요한 부분에 집중하는 방식과 유사한다.
  • 역할: 초기에는 RNN 기반 Seq2Seq 모델의 한계(고정된 문맥 벡터로 인한 정보 손실)를 극복하기 위해 도입되었다. 디코더가 각 타임 스텝에서 입력 시퀀스의 모든 은닉 상태(hidden states)를 참고하되, 현재 예측과 관련성이 높은 상태에 더 높은 가중치(어텐션 스코어)를 부여하여 동적인 문맥 벡터를 생성한다.
  • 핵심 요소 (Query, Key, Value): 일반적인 어텐션 메커니즘은 쿼리(Query, Q), (Key, K), (Value, V)이라는 세 가지 요소로 설명될 수 있다.
  • 진화: 어텐션 메커니즘은 Seq2Seq 모델의 성능을 크게 향상시켰으며, 이후 트랜스포머 아키텍처에서는 순환 구조를 완전히 대체하는 핵심 구성 요소(셀프 어텐션)로 발전했다.

D. Transformer 계열 (Transformer Family)

  • Transformer: RNN의 순환 구조를 완전히 제거하고, 셀프 어텐션(Self-Attention) 메커니즘만을 사용하여 입력 시퀀스 내의 요소 간 관계(의존성)를 직접 모델링하는 혁신적인 아키텍처이다. 순환 구조가 없어 병렬 처리가 매우 용이하며, 이는 대규모 모델 학습 시간을 크게 단축시켰다.
  • BERT (Bidirectional Encoder Representations from Transformers): Transformer의 인코더 구조만을 사용하여, 문장 내 양방향 문맥을 동시에 고려하여 단어 및 문장 표현을 사전 학습(pre-training)하는 모델이다. 주로 자연어 이해(NLU) 작업에 강점을 보이며, 마스크된 언어 모델(Masked Language Model, MLM)과 다음 문장 예측(Next Sentence Prediction, NSP)이라는 두 가지 목표로 사전 학습된다.
  • GPT (Generative Pre-trained Transformer): Transformer의 디코더 구조를 기반으로, 대규모 텍스트 데이터로 사전 학습되어 주로 텍스트 생성(text generation) 작업에 강력한 성능을 보이는 모델이다. 이전 단어들을 바탕으로 다음 단어를 예측하는 방식으로 학습하며, 단방향(왼쪽에서 오른쪽) 문맥만을 고려한다.
  • T5 (Text-to-Text Transfer Transformer): 모든 NLP 문제를 텍스트 입력에서 텍스트 출력으로 변환하는 통일된 프레임워크(text-to-text)를 제안한 모델이다. 인코더-디코더 구조를 사용한다.
  • 최신 대형 언어 모델 (Large Language Models - LLMs):

E. Vision Transformer (ViT) 계열

  • ViT (Vision Transformer): 이미지를 여러 개의 작은 패치(patch)로 나누고, 각 패치를 시퀀스 데이터처럼 처리하여 Transformer 구조를 이미지 인식에 적용한 모델이다.
  • DeiT (Data-efficient Image Transformers): ViT를 더 적은 데이터로도 효율적으로 학습시키기 위해 지식 증류(knowledge distillation) 등의 기법을 사용한 모델이다.
  • Swin Transformer: 이미지를 계층적(hierarchical)으로 처리하고, 이동된 윈도우(shifted window) 기반의 로컬 어텐션을 사용하여 계산 효율성과 성능을 높인 ViT 변형 모델이다.
  • ConvNeXt: CNN의 고전적인 구조(: ResNet) Transformer의 설계 원칙(: 레이어 정규화, 활성화 함수 변경 등)을 점진적으로 적용하여 CNN의 성능을 크게 향상시킨 모델이다.

F. 그래프 신경망 (Graph Neural Networks - GNN)

  • GCN (Graph Convolutional Network): 그래프 구조 데이터에서 노드의 특징을 업데이트할 때, 인접 노드들의 특징 정보를 평균(또는 다른 집계 함수)하여 사용하는 기본적인 그래프 합성곱 방식이다.
  • GAT (Graph Attention Network): 노드 특징을 집계할 때, 인접 노드들과의 관계 중요도(어텐션 가중치)를 학습하여 가중 평균을 사용하는 방식이다.
  • GraphSAGE (Graph Sample and Aggregate): 대규모 그래프에서 모든 이웃 대신 일부 이웃을 샘플링하여 특징을 집계함으로써 확장성과 효율성을 높인 방식이다.
  • Graph Transformer: Transformer의 셀프 어텐션 메커니즘을 그래프 데이터에 적용하여 노드 간의 장거리 의존성 및 복잡한 관계를 모델링하는 구조이다.

G. 생성 모델 (Generative Models)

  • GAN (Generative Adversarial Network): 실제 데이터와 유사한 데이터를 생성하는 생성자(Generator)와 생성된 데이터가 실제인지 가짜인지 판별하는 판별자(Discriminator)가 서로 경쟁하며 학습하는 구조이다. 고품질 이미지 생성 등에 뛰어난다.
  • VAE (Variational Autoencoder): 확률적인 잠재 공간을 학습하여 데이터를 생성하는 오토인코더 기반 생성 모델이다. (II.H.3 참고)
  • Diffusion Models: 데이터에 점진적으로 노이즈를 추가하는 과정(forward process)과 노이즈로부터 원본 데이터를 점진적으로 복원하는 과정(reverse process)을 학습하여 고품질의 다양한 데이터를 생성하는 모델이다. GAN보다 학습이 안정적이고 생성된 샘플의 다양성이 높다는 장점이 있다.
  • Latent Diffusion Models (LDM): 고차원 데이터(: 이미지)를 직접 다루는 대신, 저차원의 압축된 잠재 공간(latent space)에서 확산(diffusion) 및 복원 과정을 수행하여 계산 효율성을 높인 모델이다 (: Stable Diffusion).
  • ControlNet: 사전 학습된 대규모 확산 모델(: Stable Diffusion)에 추가적인 조건(: 스케치, 자세)을 입력하여 생성 과정을 제어할 수 있도록 확장한 구조이다.

H. 멀티모달 / 분할 / 3D (Multimodal / Segmentation / 3D)

  • SAM (Segment Anything Model): 입력 이미지와 프롬프트(: 클릭, 박스)를 받아 이미지 내의 어떤 객체든 분할(segmentation)할 수 있는 범용적인 제로샷(zero-shot) 분할 모델이다.
  • NeRF (Neural Radiance Fields): 여러 각도에서 촬영된 2D 이미지들로부터 3D 장면을 연속적인 신경망 표현(신경 광채 필드)으로 학습하여, 새로운 시점에서의 이미지를 사실적으로 렌더링하는 기술이다.

IV. 모델 학습 및 평가 (Model Training & Evaluation)

A. 손실 함수 (Loss Functions)

모델의 예측값과 실제 값 사이의 오차를 측정하는 함수이다. 훈련 목표는 이 손실을 최소화하는 것이다.

  1. 회귀 문제용 (Regression Loss)
  2. 분류 문제용 (Classification Loss)
  3. 정보 이론 기반 손실 (Information Theory Based Loss)

B. 최적화 알고리즘 (Optimization Algorithms)

손실 함수를 최소화하기 위해 모델 파라미터(가중치)를 업데이트하는 방법이다.

  1. 1차 미분 기반 최적화 (First-Order Optimization): 기울기(gradient) 정보만 사용한다.
  2. 2차 미분 기반 최적화 (Second-Order Optimization): 헤시안 행렬(Hessian matrix) 2차 미분(곡률) 정보를 사용한다. 수렴 속도가 빠를 수 있지만 계산 비용이 매우 높다.
  3. 제약 최적화 (Constrained Optimization): 특정 제약 조건 하에서 목표 함수를 최적화한다.
  4. 메타휴리스틱 알고리즘 (Metaheuristic Algorithms): 문제에 대한 가정이 적고, 전역 최적해(global optimum)를 찾기 위한 경험적(heuristic) 탐색 기법이다. 주로 복잡하거나 미분 불가능한 문제에 사용된다.
  5. 이산 최적화 (Discrete Optimization): 결정 변수가 정수 또는 이산적인 값을 갖는 최적화 문제이다.
  6. 다목적 최적화 (Multi-Objective Optimization): 두 개 이상의 상충하는 목적 함수를 동시에 최적화하는 문제이다. 단일 최적해가 아닌 파레토 최적해(Pareto optimal solutions) 집합을 찾는 것을 목표로 한다.

C. 정규화 기법 (Regularization Techniques)

모델의 복잡도를 제어하여 과적합(Overfitting)을 방지하고 일반화 성능을 높이는 기법이다.

  1. 매개변수 규제 (Parameter Norm Penalties): 모델의 가중치(파라미터) 크기에 직접 제약을 가한다.
  2. 구조적/암시적 규제 (Structural/Implicit Regularization): 학습 과정이나 모델 구조 자체에 제약을 가하여 과적합을 막다.
  3. 특수 규제 (Specialized Regularization)

D. 평가 및 검증 (Evaluation & Validation)

모델의 성능을 측정하고 일반화 능력을 평가하는 방법 및 지표이다.

  1. 분류 문제용 지표 (Classification Metrics)
  2. 회귀 문제용 지표 (Regression Metrics)
  3. 검증 방법 (Validation Methods)
  4. 불확실성 평가 (Uncertainty Evaluation)

E. 하이퍼파라미터 탐색 (Hyperparameter Tuning/Search)

모델 성능에 영향을 미치는, 학습 전에 사용자가 설정해야 하는 하이퍼파라미터(: 학습률, 정규화 강도, 트리 깊이)의 최적 조합을 찾는 과정이다.

  • Grid Search: 탐색할 하이퍼파라미터 값들의 조합을 격자(grid) 형태로 모두 시도하여 최적 조합을 찾다. 계산 비용이 높다.
  • Random Search: 지정된 범위 내에서 하이퍼파라미터 값들을 무작위로 샘플링하여 탐색한다. Grid Search보다 효율적으로 좋은 조합을 찾을 수 있는 경우가 많다.
  • Bayesian Optimization: 이전 탐색 결과를 바탕으로 아직 탐색하지 않은 영역 중 성능 개선 가능성이 높은 지점(획득 함수(acquisition function) 최대화)을 확률적으로 선택하여 탐색하는 방식이다. 적은 시도 횟수로 최적 조합을 찾는 데 효과적이다.
  • Hyperband: 제한된 자원(: 시간, 반복 횟수) 하에서 여러 하이퍼파라미터 조합을 병렬로 시도하고, 성능이 낮은 조합은 조기에 중단(early-stopping)하여 유망한 조합에 더 많은 자원을 할당하는 효율적인 탐색 기법이다.
  • BOHB (Bayesian Optimization and HyperBand): Hyperband의 효율적인 자원 할당 방식과 Bayesian Optimization의 지능적인 탐색 방식을 결합한 기법이다.
  • Optuna: 베이즈 최적화, TPE(Tree-structured Parzen Estimator), CMA-ES 등 다양한 최신 탐색 알고리즘을 지원하고, 분산 환경에서의 병렬 탐색, 탐색 과정 시각화 등을 제공하는 자동화된 하이퍼파라미터 최적화 프레임워크이다.
  • Population-Based Training (PBT): 여러 모델(개체군)을 병렬로 훈련시키면서, 주기적으로 성능이 좋은 모델의 가중치와 하이퍼파라미터를 성능이 낮은 모델로 복사하고 약간의 변형(mutation)을 가하는 방식으로, 하이퍼파라미터와 모델 가중치를 동시에 최적화한다.

V. 관련 이론 및 고급 주제 (Related Theory & Advanced Topics)

A. 정보 이론 (Information Theory)

데이터의 불확실성을 정량화하고, 확률 분포 간의 관계를 측정하는 수학적 이론이다. 머신러닝에서 손실 함수 정의, 모델 평가, 특징 선택 등에 활용된다.

  • Shannon Entropy: 확률 변수의 불확실성(정보량)을 측정하는 기댓값이다. 분포가 균일할수록 엔트로피가 높다.
  • Conditional Entropy: 다른 확률 변수 Y의 값이 주어졌을 때, 확률 변수 X의 남은 불확실성을 측정합니다 (H(X|Y)).
  • Joint Entropy: 두 확률 변수 X Y가 함께 가질 수 있는 상태에 대한 총 불확실성을 측정합니다 (H(X, Y)).
  • Mutual Information (상호 정보량): 두 확률 변수 X Y가 공유하는 정보량이다. , Y를 앎으로써 X에 대한 불확실성이 얼마나 감소하는지를 나타냅니다 (I(X; Y) = H(X) - H(X|Y)).
  • Cross-Entropy: 실제 분포 P에 대해 예측 분포 Q를 사용하여 정보를 인코딩할 때 필요한 평균 비트 수이다. 분류 문제의 손실 함수로 널리 사용된다.
  • KL Divergence (Kullback-Leibler Divergence): 두 확률 분포 P Q 사이의 비대칭적인 거리(차이)를 측정한다. P Q로 근사할 때의 정보 손실량을 나타냅니다 (D_KL(P | | Q)).
  • Jensen-Shannon Divergence (JSD): KL Divergence를 대칭적으로 만들고 값 범위를 또는 [0, log2]로 제한한 거리 척도이다.

B. 설명 가능한 AI (Explainable AI - XAI)

복잡한 인공지능 모델(특히 딥러닝)의 예측 결과를 사람이 이해하고 신뢰할 수 있도록 설명하는 기술 및 방법론이다.

  • SHAP (SHapley Additive exPlanations): 게임 이론의 샤플리 값(Shapley value) 개념을 적용하여, 각 특징(feature)이 특정 예측 결과에 얼마나 기여했는지를 공정하게 측정하고 설명하는 통합 프레임워크이다.
  • LIME (Local Interpretable Model-agnostic Explanations): 특정 예측 결과 주변의 데이터를 샘플링하고, 이 로컬 영역에서 해석 가능한 간단한 모델(: 선형 모델)을 학습시켜 해당 예측을 설명하는 모델 불특정(model-agnostic) 기법이다.
  • Integrated Gradients (IG): 예측 결과의 변화에 대한 입력 특징의 기여도를 계산할 때, 기준선(baseline) 입력부터 실제 입력까지의 경로를 따라 기울기를 적분하여 특징 중요도를 측정하는 방법이다.
  • Grad-CAM (Gradient-weighted Class Activation Mapping): CNN 모델에서 특정 클래스 예측에 중요한 영향을 미친 입력 이미지 영역(특징 맵)을 시각화하여 모델이 어디를 보고 판단했는지 보여주는 기법이다.

C. 분산 학습 및 MLOps (Distributed Learning & MLOps)

대규모 데이터나 모델을 처리하기 위한 기술과 머신러닝 모델의 개발, 배포, 운영을 자동화하고 효율화하는 방법론이다.

  1. 분산 학습 구조 (Distributed Learning Architectures): 여러 컴퓨팅 자원(장비, 프로세스)을 사용하여 모델 학습을 병렬로 수행한다.
  2. MLOps (Machine Learning Operations): 머신러닝 모델의 전체 생명주기(데이터 준비, 실험, 훈련, 배포, 모니터링, 재훈련)를 안정적이고 효율적으로 관리하기 위한 원칙과 실천 방법이다. DevOps의 원칙을 머신러닝 시스템에 적용한 것이다.

D. 프라이버시 및 연합 학습 (Privacy & Federated Learning)

데이터 프라이버시를 보호하면서 머신러닝 모델을 학습하고 활용하는 기술이다.

  • Federated Learning (연합 학습): 원본 데이터를 중앙 서버로 보내지 않고, 각 사용자(클라이언트)의 로컬 장치에서 데이터를 사용하여 모델을 개별적으로 학습시킨 후, 모델 업데이트(: 가중치 변화량)만을 중앙 서버로 보내 통합(aggregation)하는 분산 학습 방식이다. 데이터 프라이버시 보호에 유리한다.
  • Split Learning (분할 학습): 모델의 일부는 사용자 장치에서, 나머지 부분은 서버에서 나누어 학습하는 방식으로, 연합 학습과 달리 모델 구조를 분할하여 프라이버시를 보호하고 계산 부담을 분산시킵니다.
  • Differential Privacy (차분 프라이버시): 데이터셋에 대한 질의(query) 결과나 학습된 모델 파라미터에 통계적인 노이즈를 추가하여, 특정 개인의 정보가 결과에 미치는 영향을 제한함으로써 개인 식별 위험을 수학적으로 보장하는 프라이버시 보호 기법이다.

E. 강화학습 심화 기술 (Advanced Reinforcement Learning Techniques)

  • MuZero: 게임 규칙이나 환경 모델을 명시적으로 알지 못해도, 스스로 상태 표현, 전이(dynamics), 보상 함수를 학습하는 모델 기반 강화학습 알고리즘이다. (I.B.3 참고)
  • Dreamer (DreamerV3): 환경 모델을 학습하여 잠재 공간(latent space)에서 미래 상태와 보상을 예측하고, 이를 바탕으로 상상(imagination) 속에서 정책을 효율적으로 학습하는 모델 기반 강화학습 구조이다. (I.B.3 참고)
  • MADDPG (Multi-Agent Deep Deterministic Policy Gradient): 여러 에이전트가 존재하는 환경에서, 각 에이전트가 다른 에이전트들의 정책 정보를 활용하여 협력 또는 경쟁하며 학습하는 다중 에이전트 강화학습 알고리즘이다.
  • QMIX: 개별 에이전트의 Q 함수를 비선형적으로 결합하여 팀 전체의 공동 Q 함수를 추정하고, 이를 통해 협력적인 다중 에이전트 환경에서 분산된 정책을 학습하는 기법이다.
  • Offline Reinforcement Learning (오프라인 강화학습): 환경과의 실시간 상호작용 없이, 미리 수집된 고정된 데이터셋(로그 데이터 등)만을 사용하여 정책을 학습하는 강화학습 방식이다. 관련 기법 예시: Conservative Q-Learning (CQL), Implicit Q-Learning (IQL), Advantage-Weighted Actor-Critic (AWAC).
  • Constrained Reinforcement Learning (제약 강화학습): 보상 최대화뿐만 아니라, 특정 제약 조건(: 안전 제약, 비용 제약)을 만족하도록 정책을 학습하는 강화학습 방식이다. 관련 기법 예시: Constrained Policy Optimization (CPO), Shielded Reinforcement Learning.

F. 수학적 최적화 (Mathematical Optimization) - ML과의 관계

머신러닝 모델 학습(손실 함수 최소화) 자체가 최적화 문제이며, 다양한 수학적 최적화 기법들이 직간접적으로 활용된다. (IV.B 최적화 알고리즘과 중복되는 내용이 많으나, 보다 이론적인 관점에서 분류)

  1. 선형 계획법 (Linear Programming - LP): 선형 목적 함수를 선형 등식/부등식 제약 조건 하에서 최적화한다.
  2. 이차 계획법 (Quadratic Programming - QP): 이차 목적 함수를 선형 제약 조건 하에서 최적화한다. SVM 등에서 활용된다.
  3. 비선형 계획법 (Nonlinear Programming - NLP): 비선형 목적 함수 또는 비선형 제약 조건을 갖는 최적화 문제이다. 대부분의 딥러닝 학습이 여기에 해당한다.
  4. 혼합 정수 계획법 (Mixed-Integer Programming - MIP): 일부 변수는 연속적이고 일부 변수는 정수인 최적화 문제이다.
  5. 동적 계획법 (Dynamic Programming - DP): 최적 부분 구조(optimal substructure)와 중복되는 부분 문제(overlapping subproblems) 특성을 갖는 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 저장하여 재활용하는 방식이다. 강화학습의 벨만 방정식(Bellman Equation) 등에서 활용된다.
  6. 제약 충족 문제 (Constraint Satisfaction Problems - CSP): 변수 집합, 각 변수의 도메인, 변수 간 제약 조건이 주어졌을 때, 모든 제약 조건을 만족하는 변수 값 할당을 찾는 문제이다.
  7. 이진 결정 다이어그램 (Binary Decision Diagrams - BDD): 부울 함수(Boolean function)를 효율적으로 표현하고 조작하기 위한 데이터 구조이다.
  8. 유한차분법 (Finite Difference Method): 미분 방정식을 이산적인 격자점(grid points)에서의 함수 값 차이를 이용하여 근사적인 대수 방정식으로 변환하여 수치적으로 해를 구하는 방법이다. (머신러닝 자체보다는 물리 시뮬레이션 등 관련 분야에서 사용)

G. 최신 연구 키워드 (Recent Research Keywords - 2023~2025 기준)

머신러닝 및 딥러닝 분야의 최신 연구 동향을 나타내는 주요 키워드이다.

  • Diffusion Models: 고해상도 이미지, 비디오, 오디오 등 다양한 데이터를 생성하는 데 탁월한 성능을 보이는 생성 모델 계열이다. (III.G 참고)
  • RAG (Retrieval-Augmented Generation): 대형 언어 모델(LLM)이 답변을 생성할 때, 외부 지식 베이스(: 문서 데이터베이스)에서 관련 정보를 검색(retrieve)하여 이를 참고함으로써 답변의 정확성과 최신성을 향상시키는 기법이다.
  • PEFT (Parameter-Efficient Fine-Tuning): 사전 학습된 대규모 모델(Foundation Model)을 특정 작업에 맞게 미세 조정(fine-tuning)할 때, 모델의 모든 파라미터를 업데이트하는 대신 일부 파라미터(또는 추가된 작은 파라미터)만 학습하여 계산 비용과 메모리 사용량을 크게 줄이는 기법이다. 예시:
  • RLHF (Reinforcement Learning from Human Feedback) / DPO (Direct Preference Optimization): 인간의 피드백(선호도 데이터 등)을 사용하여 언어 모델의 출력을 인간의 의도나 가치에 맞게 정렬(alignment)하고, 유해하거나 편향된 출력을 줄여 안전성을 높이는 기법이다.
  • Long-Context Transformers: 표준 Transformer 모델이 처리하기 어려운 매우 긴 입력 시퀀스(: 수십만~수백만 토큰)를 효율적으로 처리할 수 있도록 확장된 아키텍처 및 기법이다 (: FlashAttention, Ring Attention).
  • NeRF (Neural Radiance Fields): 3D 장면을 연속적인 신경망 표현으로 학습하여 새로운 시점 렌더링(novel view synthesis)을 가능하게 하는 기술이다. (III.H 참고)
  • SAM (Segment Anything Model): 제로샷(zero-shot)으로 이미지 내의 어떤 객체든 분할할 수 있는 대규모 비전 모델이다. (III.H 참고)
  • Foundation Model Compression: 대규모 파운데이션 모델을 경량화하여 모바일 기기나 제한된 환경에서도 사용할 수 있도록 만드는 기술이다. 예시:
  • Multimodal Integration: 텍스트, 이미지, 오디오, 비디오 등 여러 종류의 데이터(양식, modality)를 하나의 모델이 동시에 이해하고 처리하며 생성할 수 있는 기술이다. 최신 LLM(: GPT-4o, Gemini)들이 이러한 방향으로 발전하고 있다.
  • 대표 모델 (Representative Models): (III.D 참고) GPT-4o, Gemini, Claude 3, Mistral, LLaMA, Qwen, StableLM .

 

작년 이맘때쯤 수업을 들으면서 머신러닝을 처음 배우면서 관련 개념과 용어가 무슨 소리인지 아예 몰랐다.

당시 GPT를 이용해 뭔가 어떻게든 이해하기 위하여 정리도 해봤지만 솔직히 뭐가 뭔지 하나도 몰랐다.

정리한 것을 읽어도 한 문장마다 한 단어에는 꼭 걸려 넘어졌다.

예를 들어 Lasso Regression 에 대한 아래와 같은 설명을 읽을 때,
" L1 정규화를 사용하여 가중치 희소성을 유도하는 회귀다. "

L1은 무엇인지 정규화는 수학에서의 그 정규화가 맞는지 가중치 희소성은 무슨 말인지 회귀의 구체적 정의는 무엇인지 그려지지 않았다.


그러다 1년이 흘렀고 오늘 우연히 예전에 써둔 글을 다시 봤다.

이제는 왜 그렇게 묶이고 어떤 차이가 있는지 보인다. 문장을 읽을 때 머릿속에 무언가가 그려지고

개념을 아는 게 아니라 '구조'를 이해한 것 같다.

그게 너무 신기하고 좀 기뻐서 예전에 복붙해놓고도 몰랐던 알고리즘들을
지금의 나 기준에서 다시  GPT(초안) + Gemini Deep Research를 이용하여 정리해보기로 했다.

다음 1년 아니 이번엔 더 짧게

6개월 후에는 이것들 모두가 빠짐없이 머릿속에 그려지기를 바란다.


I. 머신러닝 기초 및 학습 패러다임 (Fundamentals & Learning Paradigms)

A. 기본 개념 (Basic Concepts)

  • 머신러닝 (Machine Learning): 명시적인 프로그래밍 없이 데이터로부터 학습하여 패턴을 인식하고 예측 또는 결정을 내리는 시스템을 구축하는 인공지능의 한 분야이다.
  • 데이터 (Data), 특징 (Features), 레이블 (Labels): 학습의 기반이 되는 정보(데이터), 모델의 입력으로 사용되는 개별 속성(특징), 지도 학습에서 예측 대상이 되는 정답(레이블)이다.
  • 모델 (Model): 데이터로부터 학습된 패턴의 수학적 표현으로, 입력을 받아 출력을 생성한다.
  • 학습/훈련 (Learning/Training): 데이터를 사용하여 모델 파라미터를 조정하는 과정이다.
  • 추론/예측 (Inference/Prediction): 학습된 모델을 사용하여 새로운 데이터에 대한 결과를 생성하는 과정이다.
  • 과적합 (Overfitting) / 과소적합 (Underfitting): 모델이 훈련 데이터에만 너무 잘 맞거나(과적합), 훈련 데이터의 패턴조차 제대로 학습하지 못하는(과소적합) 현상이다.
  • 편향-분산 트레이드오프 (Bias-Variance Tradeoff): 모델의 예측 오차는 편향(모델의 단순성으로 인한 오류)과 분산(데이터 변화에 대한 민감성) 요소로 나뉘며, 이 둘 사이의 균형을 맞추는 것이 중요하다. 일반적으로 복잡도를 높이면 편향은 줄고 분산은 늘어난다.

B. 학습 패러다임 (Learning Paradigms)

  1. 지도 학습 (Supervised Learning)
    • 정의: 정답(레이블)이 주어진 데이터를 바탕으로 예측 모델을 학습하는 방법이다.
    • 주요 과제:
      • 분류 (Classification): 데이터를 미리 정의된 범주로 할당한다.
      • 회귀 (Regression): 연속적인 수치 값을 예측한다.
    • 관련 알고리즘 예시 (세부 내용은 II장에서 다룸): Logistic Regression, Softmax Regression, LDA, SVM, Optimal Bayes Classifier, Minimum Distance Classifier, KNN, Decision Tree, Neural Network (분류/회귀 적용 시), Linear Regression, Polynomial Regression, Ridge/Lasso/Elastic Net Regression, SVR, Gaussian Process Regression.
  2. 비지도 학습 (Unsupervised Learning)
    • 정의: 정답 없이 데이터의 구조나 패턴을 스스로 학습하는 방법이다.
    • 주요 과제 및 관련 알고리즘:
      • 군집화 (Clustering): 유사한 데이터 포인트를 그룹으로 묶는다.
        • K-Means: 데이터를 k개의 중심점 기준으로 클러스터링한다.
        • Hierarchical Clustering: 데이터를 유사도 기반 트리 구조로 병합 또는 분할한다.
        • DBSCAN: 밀도 기반 클러스터링으로, 잡음 데이터에도 강건하다.
        • Gaussian Mixture Model (GMM): 데이터가 여러 정규분포의 혼합으로 구성되었다고 가정하고 클러스터링한다.
        • Spectral Clustering: 그래프 라플라시안의 고유벡터를 사용한 클러스터링이다.
      • 차원 축소 (Dimensionality Reduction): 특징의 수를 줄인다. (세부 내용은 II.H장에서 다룸)
        • PCA: 최대 분산 방향을 기준으로 축을 회전시켜 데이터를 투영한다.
        • ICA: 통계적으로 독립인 성분을 추출하는 기법이다.
        • t-SNE: 조건부 확률 기반으로 이웃 정보를 보존하며 시각화한다.
        • UMAP: 저차원 위상 구조를 보존하도록 임베딩한다.
        • Autoencoder 계열 (표현 학습과도 연관): 입력을 재구성하면서 중간 표현(잠재 공간)을 학습한다. (세부 내용은 II.H장에서 다룸)
      • 밀도 추정 (Density Estimation): 데이터의 확률 분포를 추정한다.
        • Kernel Density Estimation (KDE): 커널 함수로 확률 밀도함수를 추정한다.
        • Parzen Window: 고전 KDE 방식으로, 슬라이딩 윈도우 기반 밀도 추정이다.
  3. 강화 학습 (Reinforcement Learning)
    • 정의: 에이전트가 환경과 상호작용하며 보상을 극대화하는 정책(행동 전략)을 학습하는 방식이다.
    • 주요 접근법 및 관련 알고리즘:
      • 값 기반 (Value-Based): 상태 또는 상태-행동 쌍의 가치를 학습한다.
        • Q-Learning: Q값을 반복적으로 갱신해 최적 정책을 찾는다.
        • Deep Q Network (DQN): Q-Learning에 신경망을 적용하여 고차원 상태를 처리한다.
        • Double Q-Learning: Q-Learning의 과추정을 줄인다.
        • SARSA: on-policy 방식의 Q-learning이다.
        • Rainbow DQN: 여러 개선 기법을 통합한 DQN 구조이다.
      • 정책 기반 (Policy-Based): 정책을 직접 학습하고 최적화한다.
        • REINFORCE: 기대 보상을 최대화하도록 정책 확률을 직접 업데이트한다.
        • Policy Gradient: 정책에 직접 기울기를 계산하여 학습한다.
        • Proximal Policy Optimization (PPO): KL 발산을 제한해 안정적으로 정책을 업데이트한다.
        • Trust Region Policy Optimization (TRPO): Trust Region 안에서만 정책을 업데이트한다.
      • 액터-크리틱 (Actor-Critic): 값 함수(크리틱)와 정책(액터)을 함께 학습한다.
        • A2C, A3C: 액터와 크리틱을 분리해 서로를 보완하며 학습한다.
        • Deep Deterministic Policy Gradient (DDPG): 연속 액션을 다루는 deterministic 정책 기반 알고리즘이다.
        • Twin Delayed DDPG (TD3): DDPG의 overestimation 문제를 개선한 구조이다.
        • Soft Actor-Critic (SAC): stochastic 정책을 사용하며 entropy 보상을 포함한다.
      • 모델 기반 (Model-Based): 환경의 동작 방식(모델)을 학습하거나 사용하여 계획한다.
        • MuZero: 환경 모델 없이도 상태 전이와 보상을 예측하며 학습한다.
        • Dreamer: 상태-행동 예측을 위한 모델을 학습해 시뮬레이션으로 탐색을 효율화한다.
      • 심화 기술 (Advanced Techniques): (세부 내용은 V.E장에서 다룸)
  4. 준지도 학습 (Semi-Supervised Learning)
    • 정의: 라벨이 있는 데이터와 없는 데이터를 함께 활용하여 학습한다.
    • 관련 기법:
      • Label Propagation: 그래프 기반으로 라벨을 전파한다.
      • Pseudo-Labeling: 예측 결과를 임시 라벨로 사용해 비라벨 데이터를 학습에 포함시킨다.
      • FixMatch: 강한 증강에 대해 confident prediction만 반영하는 기법이다.
  5. 자기지도 학습 (Self-Supervised Learning)
    • 정의: 데이터 내부의 특성에서 스스로 레이블을 생성해 학습하는 방법 (비지도 학습의 한 형태). 주로 표현 학습(Representation Learning)에 사용된다.
    • 관련 기법:
      • SimCLR, BYOL: 대조 학습(Contrastive Learning) 기반으로 표현을 학습한다.
      • MAE, SimMIM: 입력의 일부를 마스크하고 복원하는 과제를 통해 표현을 학습한다.
      • DINO, DINOv2: 예측 대상의 다양한 증강본을 통해 표현을 정렬한다.

II. 주요 머신러닝 모델 및 알고리즘 (Key ML Models & Algorithms)

A. 모델 분류 기준 (Model Classification Criteria)

  1. 파라메트릭 모델 (Parametric Models)
    • 정의: 모델 구조가 고정되어 있으며, 학습을 통해 정해진 수의 파라미터만 학습한다.
    • 예시: Linear Regression, Logistic Regression, LDA, Naive Bayes, Neural Network (구조 고정 시), Transformer, Diffusion Model (구조 고정 시).
  2. 비파라메트릭 모델 (Non-Parametric Models)
    • 정의: 모델 복잡도가 데이터 크기에 따라 유동적으로 증가하며, 전체 데이터가 모델의 일부가 될 수 있다.
    • 예시: KNN, Decision Tree, Random Forest, KDE, Parzen Window.
  3. 준파라메트릭 모델 (Semi-Parametric Models)
    • 정의: 모델 일부는 파라메트릭, 일부는 비파라메트릭 특성을 가진다.
    • 예시: Gaussian Process, Generalized Additive Model (GAM), Cox Model (생존 분석).

B. 선형 모델 (Linear Models)

  • Linear Regression: 입력과 출력 사이의 선형 관계를 추정하는 회귀 모델이다.
  • Polynomial Regression: 입력 변수의 다항식을 사용해 비선형 관계를 모델링한다 (선형 모델의 확장).
  • Logistic Regression: 입력 변수의 선형 조합을 통해 이진 분류 클래스 확률을 예측한다.
  • Softmax Regression: 다중 클래스 분류를 위한 확장형 선형 모델이다. 출력층에 Softmax 함수를 적용해 확률 분포를 만든다.
  • Linear Discriminant Analysis (LDA): 클래스 간 분산을 최대화하고 클래스 내 분산을 최소화하는 선형 판별 분류 모델이다. (차원 축소 기법으로도 사용됨 - II.H 참고)
  • Ridge Regression: L2 정규화를 사용하여 과적합을 줄이는 선형 회귀다.
  • Lasso Regression: L1 정규화를 사용하여 가중치 희소성을 유도하는 회귀다.
  • Elastic Net: L1과 L2 정규화를 혼합하여 사용하는 회귀 방법이다.

C. 결정 트리 및 앙상블 (Decision Trees & Ensembles)

  1. Decision Tree: 데이터 특성을 기반으로 조건 분기를 반복하여 예측하는 나무 구조 모델이다.
  2. 앙상블 학습 (Ensemble Learning): 여러 개의 약한 모델을 조합해 더 강한 모델을 만든다.
    • 배깅 (Bagging): 독립적인 모델들을 병렬로 학습시켜 결합한다 (분산 감소 효과).
      • Random Forest: 다수의 결정 트리를 훈련 데이터의 bootstrap 샘플 및 특징 서브셋으로 학습하여 평균/다수결로 예측한다.
      • Extra Trees (Extremely Randomized Trees): 트리 구조 생성 시 분기점과 특징을 더욱 무작위화하여 편차를 줄인다.
    • 부스팅 (Boosting): 모델들을 순차적으로 학습하며 이전 모델의 오류를 보정한다 (편향 감소 효과).
      • AdaBoost (Adaptive Boosting): 이전 모델이 틀린 샘플에 가중치를 부여해 다음 모델을 학습시킨다.
      • Gradient Boosting Machines (GBM): 이전 모델의 잔여 오차(gradient)를 학습하여 점진적으로 성능을 개선한다.
      • XGBoost: 정규화와 가지치기, 병렬 처리 등을 추가하여 성능과 속도를 높인 GBM 기법이다.
      • LightGBM: 히스토그램 기반 분할과 리프 중심 트리 성장으로 학습 속도가 매우 빠르다.
      • CatBoost: 범주형 변수 처리에 특화되어 있으며, 과적합 방지 기술이 내장되어 있다.
    • 스태킹 / 보팅 / 블렌딩 (Stacking / Voting / Blending): 여러 다른 모델들의 예측을 결합하는 방식이다.
      • Voting: 각 모델의 예측을 다수결(분류) 또는 평균(회귀)으로 결합한다.
      • Stacking: 여러 기본 모델들의 예측 결과를 입력으로 사용하여 최종 예측을 하는 메타 모델을 학습시킨다.
      • Blending: 홀드아웃(검증) 데이터셋에 대한 기본 모델들의 예측을 입력으로 메타 모델을 학습시킨다.

D. 서포트 벡터 머신 (Support Vector Machines - SVM)

  • Support Vector Machine (Classifier): 마진(margin) 최대화를 통해 최적의 분류 경계(결정 초평면)를 학습하는 모델이다. 커널 기법(Kernel Trick)을 통해 비선형 문제도 효과적으로 해결할 수 있다.
  • Support Vector Regression (SVR): SVM의 원리를 회귀 문제에 적용한 모델이다. 마진 내 오류는 허용하면서 마진 밖 오류를 최소화한다.

E. 베이즈 모델 (Bayesian Models)

  • Optimal Bayes Classifier: 베이즈 정리를 기반으로 사전 확률과 우도(likelihood)를 이용하여 분류 오류를 최소화하는 이론적인 최적 분류기이다. 실제 구현은 확률 분포 추정이 필요하다.
  • Naive Bayes: 모든 특징들이 클래스에 대해 조건부 독립(conditionally independent)이라고 가정하고 베이즈 정리를 적용하는 간단하면서도 효과적인 분류기이다.

F. 거리 기반 모델 (Distance-Based Models)

  • K-Nearest Neighbors (KNN): 새로운 데이터 포인트 주변의 가장 가까운 k개의 훈련 데이터 이웃을 참조하여 다수결(분류) 또는 평균(회귀)으로 예측하는 비파라메트릭 모델이다.
  • Minimum Distance Classifier: 각 클래스의 평균(또는 프로토타입)까지의 유클리드 거리(또는 다른 거리 척도)를 계산하여 가장 가까운 클래스로 분류하는 간단한 분류기이다.

G. 군집화 알고리즘 (Clustering Algorithms)

  • K-Means: 데이터를 k개의 중심점(centroid) 기준으로 반복적으로 할당하고 중심점을 업데이트하여 클러스터링한다.
  • Hierarchical Clustering: 데이터를 유사도(또는 거리) 기반으로 계층적인 트리 구조(덴드로그램)로 병합(agglomerative)하거나 분할(divisive)한다.
  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise): 데이터 포인트의 밀도를 기반으로 클러스터를 형성하며, 임의 형태의 클러스터를 찾고 잡음(noise) 데이터 식별에 강건하다.
  • Gaussian Mixture Model (GMM): 데이터가 여러 개의 가우시안(정규) 분포의 혼합으로 구성되었다고 가정하고, 각 데이터 포인트가 각 분포에 속할 확률을 추정하여 클러스터링한다 (Soft Clustering).
  • Spectral Clustering: 데이터 포인트 간의 유사도를 그래프로 표현하고, 그래프 라플라시안 행렬의 고유벡터(eigenvectors)를 사용하여 저차원 공간으로 임베딩한 후 클러스터링을 수행한다. 복잡한 형태의 클러스터 분리에 효과적이다.

H. 차원 축소 및 표현 학습 (Dimensionality Reduction & Representation Learning)

  1. 선형 차원 축소 (Linear Dimensionality Reduction)
    • Principal Component Analysis (PCA): 데이터의 분산을 최대한 보존하는 주성분(principal components) 축으로 데이터를 투영하여 차원을 축소한다 (비지도).
    • Linear Discriminant Analysis (LDA): 클래스 간 분리를 최대화하는 축으로 데이터를 투영하여 차원을 축소한다 (지도). (II.B 참고)
    • Independent Component Analysis (ICA): 원본 데이터를 통계적으로 독립적인 비가우시안(non-Gaussian) 신호들의 선형 조합으로 분리하여 독립적인 성분을 추출한다.
    • Non-negative Matrix Factorization (NMF): 원본 행렬을 두 개의 음수 값을 갖지 않는 행렬의 곱으로 분해하여, 부분 기반(parts-based) 표현을 추출하는 데 유용하다 (예: 토픽 모델링).
  2. 비선형 차원 축소 (Non-linear Dimensionality Reduction)
    • t-Distributed Stochastic Neighbor Embedding (t-SNE): 고차원 공간에서의 데이터 포인트 간 유사도(조건부 확률)를 저차원 공간(주로 2D/3D)에서도 최대한 보존하도록 임베딩하여 시각화에 주로 사용된다.
    • Uniform Manifold Approximation and Projection (UMAP): 데이터의 국소적 위상 구조(local manifold structure)와 전역적 구조(global structure)를 모두 보존하도록 저차원 공간으로 임베딩하며, t-SNE보다 계산 효율성이 높고 시각화 및 일반 차원 축소에 사용된다.
    • Isomap (Isometric Mapping): 데이터 포인트 간의 측지선 거리(geodesic distance, 매니폴드 상의 최단 거리)를 기반으로 다차원 척도법(MDS)을 적용하여 비선형 구조를 보존하며 차원을 축소한다.
    • Locally Linear Embedding (LLE): 각 데이터 포인트가 이웃들의 선형 조합으로 잘 근사될 수 있다고 가정하고, 이러한 지역적 선형 관계를 저차원 공간에서도 유지하도록 임베딩한다.
  3. 표현 학습 (Representation Learning) - 주로 Autoencoder 기반
    • Autoencoder (AE): 인코더(encoder)와 디코더(decoder)로 구성된 신경망 구조로, 입력을 저차원의 잠재 공간(latent space)으로 압축했다가 다시 원본 입력으로 재구성하도록 학습하여 데이터의 유용한 표현(representation)을 학습한다 (비지도).
    • Denoising Autoencoder (DAE): 입력에 의도적으로 노이즈를 추가한 후 원본 노이즈 없는 입력을 복원하도록 학습하여, 더 강건하고 일반화된 표현을 학습한다.
    • Variational Autoencoder (VAE): 잠재 공간을 확률 분포(주로 가우시안)로 모델링하는 생성형 오토인코더이다. 잠재 공간에서 샘플링하여 새로운 데이터를 생성할 수 있다.
    • β-VAE: VAE의 손실 함수에 가중치(β)를 추가하여 잠재 공간의 각 차원이 더 독립적이고 해석 가능한 의미 단위(disentangled representation)를 학습하도록 유도한다.
    • Diffusion Autoencoder: (Diffusion Model과 관련) 점진적인 노이즈 추가 및 제거 과정을 통해 데이터를 재구성하며 표현을 학습한다.

I. 신경망 기초 (Neural Network Basics)

  • Neural Network (Artificial Neural Network, ANN): 상호 연결된 노드(뉴런)들의 층(layer)으로 구성된 모델이다. 비선형 활성화 함수를 통해 복잡한 패턴을 학습할 수 있으며, 지도, 비지도, 강화 학습 등 다양한 패러다임에 적용될 수 있다.

J. 기타 모델 (Other Models)

  • Gaussian Process Regression (GPR): 함수 자체에 대한 사전 분포(prior distribution, 주로 가우시안 프로세스)를 정의하고, 관측 데이터를 통해 사후 분포(posterior distribution)를 업데이트하여 예측을 수행하는 베이즈 비파라메트릭 회귀 방법이다. 예측의 불확실성 추정이 가능하다.
  • Generalized Additive Model (GAM): 선형 회귀를 확장하여 각 특징 변수에 대해 비선형 함수(주로 스플라인)를 적용한 후 이들의 합으로 예측하는 준파라메트릭 모델이다. 선형 모델의 해석 가능성을 유지하면서 비선형 관계를 모델링할 수 있다.
  • Cox Proportional Hazards Model: 생존 분석(survival analysis)에 주로 사용되는 준파라메트릭 모델로, 특정 시점에서의 사건 발생 위험률(hazard rate)을 공변량(covariates)의 함수로 모델링한다. 기저 위험 함수(baseline hazard function)는 비모수적으로, 공변량의 효과(계수)는 모수적으로 추정한다.

III. 딥러닝 아키텍처 (Deep Learning Architectures)

딥러닝은 여러 개의 은닉층을 가진 심층 신경망(Deep Neural Network, DNN)을 사용하여 복잡한 문제를 해결하는 머신러닝의 하위 분야이다. 특정 과업에 특화된 다양한 아키텍처가 개발되었다.

A. CNN (Convolutional Neural Network) 계열

  • LeNet: 최초의 실용적인 CNN 중 하나로, 주로 손글씨 숫자 인식(MNIST)에 사용되었다.
  • AlexNet: GPU를 활용하여 대규모 이미지 분류(ImageNet)에서 획기적인 성능을 보여 딥러닝 부흥을 이끈 모델이다.
  • VGGNet: 3x3 크기의 작은 합성곱 필터를 깊게 쌓아 네트워크 깊이의 중요성을 보여준 모델이다.
  • ResNet (Residual Network): 잔차 연결(residual connection) 또는 스킵 연결(skip connection)을 도입하여 매우 깊은 네트워크(수백~수천 개 층)의 학습을 가능하게 하고 기울기 소실 문제를 완화했다.
  • DenseNet (Densely Connected Convolutional Network): 각 층이 이후의 모든 층과 직접 연결되는 구조(dense connection)를 통해 특징 재사용(feature reuse)을 극대화하고 정보 흐름을 개선했다.
  • EfficientNet: 네트워크의 깊이(depth), 너비(width), 입력 해상도(resolution)를 복합적인 스케일링 방법(compound scaling)으로 균형 있게 확장하여 효율성과 성능을 동시에 높인 모델이다.

B. 순환 신경망 (RNN) 및 관련 구조 (Recurrent Neural Networks & Related Architectures)

  • RNN (Vanilla RNN): 순환 연결을 통해 이전 스텝의 정보를 현재 스텝의 계산에 활용하여 순차 데이터(sequence data)를 처리하는 기본적인 순환 구조이다. 장기 의존성 문제(long-term dependency problem)에 취약하다.
  • LSTM (Long Short-Term Memory): 입력, 망각, 출력 게이트(gate) 메커니즘을 도입하여 장기 의존성 문제를 효과적으로 해결한 RNN의 변형 구조이다.
  • GRU (Gated Recurrent Unit): LSTM의 구조를 간소화(업데이트 게이트, 리셋 게이트 사용)하여 계산 효율성을 높이면서 유사한 성능을 보이는 구조이다.
  • Bi-LSTM (Bidirectional LSTM): 순방향과 역방향의 LSTM을 모두 사용하여 과거와 미래의 문맥 정보를 동시에 활용하는 구조이다.
  • Seq2Seq (Sequence-to-Sequence): 인코더 RNN이 입력 시퀀스를 고정된 크기의 문맥 벡터로 압축하고, 디코더 RNN이 이 문맥 벡터를 받아 출력 시퀀스를 생성하는 구조이다. 기계 번역 등에 사용된다. 초기 Seq2Seq 모델은 고정된 크기의 문맥 벡터가 정보 병목 현상을 일으킬 수 있다는 한계가 있었다.

C. 어텐션 메커니즘 (Attention Mechanism)

  • 정의: 어텐션은 모델이 출력 시퀀스의 특정 부분을 생성할 때, 입력 시퀀스 전체에서 관련성이 높은 부분에 '집중'하여 가중치를 부여하는 메커니즘이다. 이는 인간이 정보를 처리할 때 중요한 부분에 집중하는 방식과 유사하다.
  • 역할: 초기에는 RNN 기반 Seq2Seq 모델의 한계(고정된 문맥 벡터로 인한 정보 손실)를 극복하기 위해 도입되었다. 디코더가 각 타임 스텝에서 입력 시퀀스의 모든 은닉 상태(hidden states)를 참고하되, 현재 예측과 관련성이 높은 상태에 더 높은 가중치(어텐션 스코어)를 부여하여 동적인 문맥 벡터를 생성한다.
  • 핵심 요소 (Query, Key, Value): 일반적인 어텐션 메커니즘은 쿼리(Query, Q), 키(Key, K), 값(Value, V)이라는 세 가지 요소로 설명될 수 있다.
    • 쿼리(Q): 현재 타겟(예: 디코더의 현재 상태)을 나타낸다. "무엇을 찾고 있는가?"에 해당한다.
    • 키(K): 입력 시퀀스의 각 요소(예: 인코더의 각 은닉 상태)를 나타내는 식별자이다. 쿼리와 비교되어 관련성을 계산하는 데 사용된다. "내가 무엇을 가지고 있는가?"에 해당한다.
    • 값(V): 입력 시퀀스의 각 요소에 대한 실제 내용 또는 표현이다. 키와 쿼리의 관련성(어텐션 가중치)에 따라 가중 합산되어 최종 출력을 만드는 데 사용된다. "내가 실제로 제공하는 것은 무엇인가?"에 해당한다.
    • 계산 과정: 쿼리와 모든 키의 유사도(예: 내적)를 계산하여 점수(score)를 얻고, 이를 소프트맥스(softmax) 함수를 통해 정규화하여 어텐션 가중치를 구한다. 이 가중치를 해당 키에 대응하는 값들에 곱하여 가중 합(weighted sum)을 계산하면 최종 어텐션 출력(문맥 벡터)이 된다.
  • 진화: 어텐션 메커니즘은 Seq2Seq 모델의 성능을 크게 향상시켰으며, 이후 트랜스포머 아키텍처에서는 순환 구조를 완전히 대체하는 핵심 구성 요소(셀프 어텐션)로 발전했다.

D. Transformer 계열 (Transformer Family)

  • Transformer: RNN의 순환 구조를 완전히 제거하고, 셀프 어텐션(Self-Attention) 메커니즘만을 사용하여 입력 시퀀스 내의 요소 간 관계(의존성)를 직접 모델링하는 혁신적인 아키텍처이다. 순환 구조가 없어 병렬 처리가 매우 용이하며, 이는 대규모 모델 학습 시간을 크게 단축시켰다.
    • 셀프 어텐션 (Self-Attention): 입력 시퀀스 내의 각 요소(예: 단어)가 다른 모든 요소들과의 관련성을 계산하여 자신의 표현(representation)을 업데이트하는 방식이다. 이를 통해 모델은 문맥 내에서 단어의 의미를 더 잘 파악할 수 있다. Q, K, V 벡터가 모두 동일한 입력 시퀀스로부터 생성된다.
    • 멀티 헤드 어텐션 (Multi-Head Attention): 어텐션 계산을 여러 개의 '헤드'로 나누어 병렬로 수행하고 결과를 결합하는 방식이다. 각 헤드는 서로 다른 표현 부분 공간(representation subspace)에서 Q, K, V를 학습하여, 모델이 다양한 관점에서 정보의 관계를 파악하고 집중할 수 있도록 한다.
  • BERT (Bidirectional Encoder Representations from Transformers): Transformer의 인코더 구조만을 사용하여, 문장 내 양방향 문맥을 동시에 고려하여 단어 및 문장 표현을 사전 학습(pre-training)하는 모델이다. 주로 자연어 이해(NLU) 작업에 강점을 보이며, 마스크된 언어 모델(Masked Language Model, MLM)과 다음 문장 예측(Next Sentence Prediction, NSP)이라는 두 가지 목표로 사전 학습된다.
  • GPT (Generative Pre-trained Transformer): Transformer의 디코더 구조를 기반으로, 대규모 텍스트 데이터로 사전 학습되어 주로 텍스트 생성(text generation) 작업에 강력한 성능을 보이는 모델이다. 이전 단어들을 바탕으로 다음 단어를 예측하는 방식으로 학습하며, 단방향(왼쪽에서 오른쪽) 문맥만을 고려한다.
  • T5 (Text-to-Text Transfer Transformer): 모든 NLP 문제를 텍스트 입력에서 텍스트 출력으로 변환하는 통일된 프레임워크(text-to-text)를 제안한 모델이다. 인코더-디코더 구조를 사용한다.
  • 최신 대형 언어 모델 (Large Language Models - LLMs):
    • 오픈소스 기반: LLaMA, Falcon, Qwen, Mistral 등
    • 상용/주요 모델: GPT-4o, Claude 3, Gemini 등 (멀티모달 기능 포함)

E. Vision Transformer (ViT) 계열

  • ViT (Vision Transformer): 이미지를 여러 개의 작은 패치(patch)로 나누고, 각 패치를 시퀀스 데이터처럼 처리하여 Transformer 구조를 이미지 인식에 적용한 모델이다.
  • DeiT (Data-efficient Image Transformers): ViT를 더 적은 데이터로도 효율적으로 학습시키기 위해 지식 증류(knowledge distillation) 등의 기법을 사용한 모델이다.
  • Swin Transformer: 이미지를 계층적(hierarchical)으로 처리하고, 이동된 윈도우(shifted window) 기반의 로컬 어텐션을 사용하여 계산 효율성과 성능을 높인 ViT 변형 모델이다.
  • ConvNeXt: CNN의 고전적인 구조(예: ResNet)에 Transformer의 설계 원칙(예: 레이어 정규화, 활성화 함수 변경 등)을 점진적으로 적용하여 CNN의 성능을 크게 향상시킨 모델이다.

F. 그래프 신경망 (Graph Neural Networks - GNN)

  • GCN (Graph Convolutional Network): 그래프 구조 데이터에서 노드의 특징을 업데이트할 때, 인접 노드들의 특징 정보를 평균(또는 다른 집계 함수)하여 사용하는 기본적인 그래프 합성곱 방식이다.
  • GAT (Graph Attention Network): 노드 특징을 집계할 때, 인접 노드들과의 관계 중요도(어텐션 가중치)를 학습하여 가중 평균을 사용하는 방식이다.
  • GraphSAGE (Graph Sample and Aggregate): 대규모 그래프에서 모든 이웃 대신 일부 이웃을 샘플링하여 특징을 집계함으로써 확장성과 효율성을 높인 방식이다.
  • Graph Transformer: Transformer의 셀프 어텐션 메커니즘을 그래프 데이터에 적용하여 노드 간의 장거리 의존성 및 복잡한 관계를 모델링하는 구조이다.

G. 생성 모델 (Generative Models)

  • GAN (Generative Adversarial Network): 실제 데이터와 유사한 데이터를 생성하는 생성자(Generator)와 생성된 데이터가 실제인지 가짜인지 판별하는 판별자(Discriminator)가 서로 경쟁하며 학습하는 구조이다. 고품질 이미지 생성 등에 뛰어나다.
  • VAE (Variational Autoencoder): 확률적인 잠재 공간을 학습하여 데이터를 생성하는 오토인코더 기반 생성 모델이다. (II.H.3 참고)
  • Diffusion Models: 데이터에 점진적으로 노이즈를 추가하는 과정(forward process)과 노이즈로부터 원본 데이터를 점진적으로 복원하는 과정(reverse process)을 학습하여 고품질의 다양한 데이터를 생성하는 모델이다. GAN보다 학습이 안정적이고 생성된 샘플의 다양성이 높다는 장점이 있다.
  • Latent Diffusion Models (LDM): 고차원 데이터(예: 이미지)를 직접 다루는 대신, 저차원의 압축된 잠재 공간(latent space)에서 확산(diffusion) 및 복원 과정을 수행하여 계산 효율성을 높인 모델이다 (예: Stable Diffusion).
  • ControlNet: 사전 학습된 대규모 확산 모델(예: Stable Diffusion)에 추가적인 조건(예: 스케치, 자세)을 입력하여 생성 과정을 제어할 수 있도록 확장한 구조이다.

H. 멀티모달 / 분할 / 3D (Multimodal / Segmentation / 3D)

  • SAM (Segment Anything Model): 입력 이미지와 프롬프트(예: 클릭, 박스)를 받아 이미지 내의 어떤 객체든 분할(segmentation)할 수 있는 범용적인 제로샷(zero-shot) 분할 모델이다.
  • NeRF (Neural Radiance Fields): 여러 각도에서 촬영된 2D 이미지들로부터 3D 장면을 연속적인 신경망 표현(신경 광채 필드)으로 학습하여, 새로운 시점에서의 이미지를 사실적으로 렌더링하는 기술이다.

IV. 모델 학습 및 평가 (Model Training & Evaluation)

A. 손실 함수 (Loss Functions)

모델의 예측값과 실제 값 사이의 오차를 측정하는 함수이다. 훈련 목표는 이 손실을 최소화하는 것이다.

  1. 회귀 문제용 (Regression Loss)
    • MSE (Mean Squared Error): 제곱 오차의 평균으로, 큰 오차에 민감하다.
    • MAE (Mean Absolute Error): 절대 오차의 평균으로, 이상치(outlier)에 덜 민감하다.
    • Huber Loss: 오차가 작을 때는 MSE처럼, 클 때는 MAE처럼 동작하여 두 함수의 장점을 결합한다.
    • Log-Cosh Loss: 로그 코사인 하이퍼볼릭 함수 기반으로, MSE와 유사하지만 더 부드러운(smooth) 손실 함수이다.
    • Quantile Loss: 예측 값이 특정 분위수(quantile)를 따르도록 유도하여, 예측 구간 추정 등에 사용된다.
  2. 분류 문제용 (Classification Loss)
    • Binary Cross-Entropy (Log Loss): 이진 분류 문제에서 모델의 확률 출력과 실제 레이블 간의 차이를 측정한다.
    • Categorical Cross-Entropy: 다중 클래스 분류 문제에서 사용되는 교차 엔트로피 손실이다.
    • Focal Loss: 정답을 맞추기 쉬운(easy) 샘플보다 어려운(hard) 샘플의 손실에 더 큰 가중치를 부여하여, 클래스 불균형 문제 등에 효과적이다 (주로 객체 탐지).
    • Hinge Loss: SVM에서 주로 사용되며, 올바른 클래스의 점수가 다른 클래스의 점수보다 특정 마진(margin) 이상 높도록 유도한다.
    • Squared Hinge Loss: Hinge Loss를 제곱한 형태로, 미분 가능하며 부드러운 경계를 만든다.
  3. 정보 이론 기반 손실 (Information Theory Based Loss)
    • KL Divergence (Kullback-Leibler Divergence): 두 확률 분포 간의 비대칭적인 거리(차이)를 측정한다. 예측 분포가 실제 분포에 얼마나 가까운지를 나타낸다.
    • Jensen-Shannon Divergence (JSD): KL Divergence를 대칭적으로 만들고 값 범위를 또는 [0, log2]로 제한하여 안정화시킨 거리 척도이다.
    • Cross-Entropy: (분류 손실과 연관) 실제 분포 P와 예측 분포 Q가 있을 때, P의 관점에서 Q를 사용하여 정보를 인코딩하는 데 필요한 평균 비트 수를 나타낸다. KL Divergence와 밀접한 관련이 있다 (CrossEntropy(P, Q) = Entropy(P) + KL(P | | Q)).
    • Energy Distance: 두 확률 분포 간의 통계적 거리를 측정하는 지표 중 하나로, 특성 함수(characteristic function)를 기반으로 한다.

B. 최적화 알고리즘 (Optimization Algorithms)

손실 함수를 최소화하기 위해 모델 파라미터(가중치)를 업데이트하는 방법이다.

  1. 1차 미분 기반 최적화 (First-Order Optimization): 기울기(gradient) 정보만 사용한다.
    • Gradient Descent (GD): 전체 훈련 데이터를 사용하여 한 번에 파라미터를 업데이트한다. 데이터가 크면 느리다.
    • Stochastic Gradient Descent (SGD): 무작위로 선택한 하나의 데이터 샘플 또는 작은 미니배치를 사용하여 파라미터를 업데이트한다. 빠르지만 불안정할 수 있다.
    • Mini-Batch Gradient Descent: 전체 데이터와 SGD의 절충안으로, 일정 크기의 미니 배치 단위로 파라미터를 업데이트한다. 가장 널리 사용된다.
    • Momentum: 이전 업데이트 방향을 일정 비율 유지하여 관성처럼 이동함으로써 지역 최적점(local minimum) 탈출 및 수렴 속도 개선을 돕는다.
    • Nesterov Accelerated Gradient (NAG): Momentum을 개선하여, 현재 위치가 아닌 관성 방향으로 미리 이동한 지점에서 기울기를 계산하여 업데이트한다.
    • Adagrad (Adaptive Gradient Algorithm): 각 파라미터마다 학습률을 다르게 조정한다. 자주 업데이트되지 않은 파라미터는 더 큰 학습률을 갖는다.
    • Adadelta: Adagrad의 학습률이 계속 감소하는 문제를 해결하기 위해, 과거 기울기 정보의 양을 제한한다.
    • RMSProp (Root Mean Square Propagation): Adagrad와 유사하게 파라미터별 학습률을 조정하지만, 지수 이동 평균을 사용하여 최근 기울기 정보에 더 큰 가중치를 둔다.
    • Adam (Adaptive Moment Estimation): Momentum과 RMSProp의 장점을 결합한 방식으로, 1차 모멘텀(평균)과 2차 모멘텀(분산의 제곱근)을 함께 사용하여 파라미터별 학습률을 적응적으로 조정한다. 널리 사용되는 최적화 기법이다.
  2. 2차 미분 기반 최적화 (Second-Order Optimization): 헤시안 행렬(Hessian matrix) 등 2차 미분(곡률) 정보를 사용한다. 수렴 속도가 빠를 수 있지만 계산 비용이 매우 높다.
    • Newton's Method: 헤시안 행렬의 역행렬을 사용하여 2차 근사를 통해 파라미터를 업데이트한다.
    • Quasi-Newton Methods (준-뉴턴 방법): 헤시안 행렬의 역행렬을 직접 계산하는 대신 근사하여 사용한다.
      • BFGS (Broyden–Fletcher–Goldfarb–Shanno): 가장 널리 사용되는 준-뉴턴 방법 중 하나이다.
      • L-BFGS (Limited-memory BFGS): 메모리 사용량을 제한하여 대규모 문제에 적용 가능하도록 BFGS를 개선한 방법이다.
    • Conjugate Gradient Method: 헤시안 정보를 직접 사용하지 않으면서도, 매 스텝마다 이전 방향과 켤레(conjugate)인 방향으로 이동하여 효율적으로 최적점을 탐색한다.
    • Gauss-Newton Algorithm: 비선형 최소 제곱(non-linear least squares) 문제에 특화된 방법으로, 헤시안 대신 자코비안(Jacobian) 행렬을 사용한다.
    • Levenberg-Marquardt Algorithm (LMA): Gauss-Newton 방법과 Gradient Descent 방법을 절충하여, 안정성과 수렴 속도를 개선한 방법이다.
  3. 제약 최적화 (Constrained Optimization): 특정 제약 조건 하에서 목표 함수를 최적화한다.
    • Lagrange Multipliers: 등식 제약 조건(equality constraints)을 목표 함수에 통합하여 제약 없는 문제로 변환한다.
    • Augmented Lagrangian Methods: 라그랑주 승수법에 벌점 항(penalty term)을 추가하여 수렴성과 안정성을 개선한다.
    • Sequential Quadratic Programming (SQP): 각 반복 단계에서 원본 비선형 제약 문제를 이차 계획법(Quadratic Programming) 부문제로 근사하여 해를 구한다.
    • Interior-Point Methods / Barrier Methods: 부등식 제약 조건(inequality constraints)을 만족하는 영역 내부에서 시작하여, 제약 경계에 가까워질수록 큰 값을 갖는 장벽 함수(barrier function)를 목표 함수에 추가하여 최적점을 탐색한다.
    • Penalty Methods: 제약 조건을 위반할 경우 벌점(penalty)을 부과하는 항을 목표 함수에 추가하여 최적화한다.
    • Trust-Region Methods: 현재 해 주변의 신뢰 영역(trust region) 내에서 모델 함수(주로 2차 함수)를 최소화하는 방식으로 다음 해를 결정하여 안정성을 확보한다.
  4. 메타휴리스틱 알고리즘 (Metaheuristic Algorithms): 문제에 대한 가정이 적고, 전역 최적해(global optimum)를 찾기 위한 경험적(heuristic) 탐색 기법이다. 주로 복잡하거나 미분 불가능한 문제에 사용된다.
    • Genetic Algorithm (GA): 생물의 진화 과정을 모방하여, 해집단(population)을 유지하면서 선택(selection), 교차(crossover), 돌연변이(mutation) 연산을 통해 세대를 반복하며 더 좋은 해를 탐색한다.
    • Differential Evolution (DE): GA와 유사하지만, 해 벡터들 간의 차이를 이용하여 새로운 후보 해를 생성하는 방식이다.
    • Particle Swarm Optimization (PSO): 새 떼나 물고기 떼의 사회적 행동을 모방하여, 여러 입자(particle)들이 각자의 경험(개인 최적해)과 집단의 경험(전역 최적해)을 바탕으로 해 공간을 탐색한다.
    • Simulated Annealing (SA): 금속의 담금질(annealing) 과정에서 영감을 얻은 방법으로, 온도를 점차 낮추면서 현재 해보다 나쁜 해도 일정 확률로 수용하여 지역 최적점에서 벗어나 전역 최적점을 찾으려 시도한다.
    • Ant Colony Optimization (ACO): 개미들이 먹이를 찾아 집으로 돌아갈 때 페로몬(pheromone)을 남기는 행동을 모방하여, 인공 개미들이 해 공간을 탐색하며 페로몬 농도를 조절하여 최적 경로(해)를 찾는 방식이다. 주로 조합 최적화 문제에 사용된다.
    • Tabu Search (TS): 지역 탐색(local search)을 기반으로 하되, 최근에 방문했던 해나 이동(move)을 금지 목록(tabu list)에 저장하여 탐색 과정이 순환(cycling)에 빠지는 것을 방지하고 다양한 영역을 탐색하도록 유도한다.
    • Iterated Local Search (ILS): 좋은 지역 최적해를 찾은 후, 현재 해를 약간 변경(perturbation)하고 다시 지역 탐색을 수행하는 과정을 반복하여 더 나은 해를 찾으려는 기법이다.
    • Hill Climbing: 현재 해에서 이웃한 해들 중 가장 좋은 해로만 이동하는 단순한 지역 탐색 기법이다. 지역 최적점에 빠지기 쉽다.
    • Sparse Evolutionary Search: (비교적 덜 일반적) 희소한 연결 구조나 특징 부분집합 등을 진화적으로 탐색하는 데 특화된 기법일 수 있다.
  5. 이산 최적화 (Discrete Optimization): 결정 변수가 정수 또는 이산적인 값을 갖는 최적화 문제이다.
    • Branch-and-Bound: 해 공간을 트리 형태로 분할(branch)하고, 각 노드에서 해의 상한 또는 하한(bound)을 계산하여 가능성 없는 가지를 제거(prune)하며 최적해를 탐색한다.
    • Branch-and-Cut: Branch-and-Bound 방법에 절단 평면(cutting plane)을 추가하여 해 공간을 더욱 효과적으로 줄여나가는 기법이다.
    • Branch-and-Price: 대규모 정수 계획 문제에서 열 생성(column generation) 기법과 분지 한정법(Branch-and-Bound)을 결합한 방법이다.
    • Hungarian Algorithm: 이분 그래프(bipartite graph)에서 최대 가중치 매칭(maximum weight matching) 또는 최소 비용 할당(minimum cost assignment) 문제를 효율적으로 푸는 알고리즘이다.
  6. 다목적 최적화 (Multi-Objective Optimization): 두 개 이상의 상충하는 목적 함수를 동시에 최적화하는 문제이다. 단일 최적해가 아닌 파레토 최적해(Pareto optimal solutions) 집합을 찾는 것을 목표로 한다.
    • NSGA-II (Non-dominated Sorting Genetic Algorithm II): 파레토 지배 관계(Pareto dominance)와 혼잡도 거리(crowding distance)를 사용하여 다양한 파레토 최적해를 효율적으로 찾는 대표적인 유전 알고리즘 기반 다목적 최적화 기법이다.
    • Weighted Sum Method: 각 목적 함수에 가중치를 부여하여 단일 목적 함수로 변환한 후 최적화한다. 가중치에 따라 다른 파레토 해를 찾을 수 있다.
    • ε-Constraint Method: 하나의 목적 함수를 최적화하면서 나머지 목적 함수들은 특정 값(ε) 이하 또는 이상이 되도록 제약 조건으로 설정하는 방법이다.

C. 정규화 기법 (Regularization Techniques)

모델의 복잡도를 제어하여 과적합(Overfitting)을 방지하고 일반화 성능을 높이는 기법이다.

  1. 매개변수 규제 (Parameter Norm Penalties): 모델의 가중치(파라미터) 크기에 직접 제약을 가한다.
    • L1 Regularization (Lasso): 가중치의 절댓값 합()을 손실 함수에 추가하여, 일부 가중치를 정확히 0으로 만들어 특징 선택(feature selection) 효과를 유도한다 (희소성, sparsity).
    • L2 Regularization (Ridge / Weight Decay): 가중치의 제곱 합()을 손실 함수에 추가하여, 가중치 값을 전반적으로 작게 만들어 모델을 부드럽게 한다.
    • Elastic Net: L1과 L2 정규화를 선형 결합하여 사용하는 방식으로, L1의 특징 선택 효과와 L2의 안정성(특히 상관관계 높은 특징들이 있을 때)을 동시에 얻으려 한다.
    • Group Lasso: 미리 정의된 특징 그룹 단위로 L1 또는 L2 정규화를 적용하여, 그룹 전체가 선택되거나 제외되도록 유도한다.
  2. 구조적/암시적 규제 (Structural/Implicit Regularization): 학습 과정이나 모델 구조 자체에 제약을 가하여 과적합을 막는다.
    • Dropout: 신경망 훈련 시 각 뉴런(노드)을 일정 확률로 무작위 비활성화(출력을 0으로 만듦)하여, 모델이 특정 뉴런에 과도하게 의존하는 것을 방지하고 여러 개의 작은 모델을 앙상블하는 효과를 낸다.
    • DropConnect: Dropout이 뉴런을 비활성화하는 것과 달리, 뉴런 간의 연결(가중치)을 확률적으로 제거(0으로 만듦)한다.
    • Early Stopping: 훈련 중 검증 세트(validation set)에 대한 성능(예: 손실, 정확도)을 모니터링하다가, 성능이 더 이상 개선되지 않거나 나빠지기 시작하면 훈련을 조기에 중단한다.
    • Data Augmentation: 기존 훈련 데이터를 변형(예: 이미지 회전, 자르기, 밝기 조절)하여 데이터의 양과 다양성을 인위적으로 늘려 모델의 일반화 성능을 높인다.
    • Batch Normalization (BatchNorm): 신경망의 각 층 입력에 대해 미니 배치 단위로 평균과 분산을 계산하여 정규화(평균 0, 분산 1로 조정 후 스케일 및 시프트)함으로써, 학습 과정을 안정화하고 수렴 속도를 높이며 약간의 규제 효과도 제공한다.
    • Layer Normalization (LayerNorm): BatchNorm과 달리 미니 배치가 아닌 개별 데이터 샘플 내의 모든 뉴런(또는 특징)에 대해 정규화를 수행한다. 주로 RNN이나 Transformer와 같이 시퀀스 길이가 가변적인 모델에 사용된다.
    • Weight Decay: 최적화 단계에서 가중치 업데이트 시 현재 가중치 값에 비례하는 항을 빼주는 방식으로, L2 정규화와 동일한 효과를 낸다.
  3. 특수 규제 (Specialized Regularization)
    • Total Variation Regularization: 주로 영상 처리나 역 문제(inverse problem)에서 사용되며, 예측 결과(예: 복원된 이미지)의 총 변동(픽셀 값의 차이 합)을 최소화하여 결과가 부드럽고 노이즈가 적도록 유도하면서도 중요한 경계(edge)는 보존하려 한다.

D. 평가 및 검증 (Evaluation & Validation)

모델의 성능을 측정하고 일반화 능력을 평가하는 방법 및 지표이다.

  1. 분류 문제용 지표 (Classification Metrics)
    • Accuracy (정확도): 전체 샘플 중 올바르게 분류된 샘플의 비율이다. 클래스 불균형이 심할 경우 부적절할 수 있다.
    • Precision (정밀도): 양성(Positive)으로 예측된 샘플 중 실제로 양성인 샘플의 비율이다 (TP / (TP + FP)). 모델이 Positive라고 예측한 것이 얼마나 정확한지를 나타낸다.
    • Recall (재현율 / 민감도): 실제 양성인 샘플 중 모델이 양성으로 올바르게 예측한 샘플의 비율이다 (TP / (TP + FN)). 실제 Positive를 얼마나 잘 찾아내는지를 나타낸다.
    • F1 Score: 정밀도와 재현율의 조화 평균()이다. 두 지표가 모두 중요할 때 사용된다.
    • AUC-ROC (Area Under the Receiver Operating Characteristic Curve): ROC 곡선(다양한 분류 임계값에서 FPR(False Positive Rate) 대비 TPR(True Positive Rate, Recall)을 그린 그래프) 아래의 면적이다. 1에 가까울수록 모델 성능이 좋음을 의미하며, 임계값에 관계없이 모델의 전반적인 판별 능력을 평가한다.
    • PR-AUC (Area Under the Precision-Recall Curve): Precision-Recall 곡선 아래 면적이다. 클래스 불균형이 심한 데이터셋에서는 ROC-AUC보다 더 유용한 평가 지표가 될 수 있다.
    • Cohen’s Kappa: 우연에 의한 예측 일치 수준을 고려하여 평가자 간 또는 모델 예측과 실제 값 간의 일치도를 측정하는 지표이다.
    • Matthews Correlation Coefficient (MCC): 이진 분류 성능을 종합적으로 측정하는 지표로, 클래스 불균형에 강건하며 -1(완전 불일치)부터 +1(완전 일치) 사이의 값을 가진다.
  2. 회귀 문제용 지표 (Regression Metrics)
    • R² (결정 계수, Coefficient of Determination): 모델이 종속 변수의 분산을 얼마나 잘 설명하는지를 나타내는 비율이다 (0~1 사이 값). 1에 가까울수록 설명력이 높다.
    • Adjusted R² (조정된 결정 계수): 독립 변수(특징)의 수가 증가하면 R²가 높아지는 경향을 보정하기 위해 변수 수를 고려한 R² 값이다.
    • RMSE (Root Mean Squared Error): MSE(평균 제곱 오차)에 제곱근을 취한 값으로, 오차의 크기를 원래 데이터와 동일한 단위로 해석할 수 있게 한다.
    • MAPE (Mean Absolute Percentage Error): 실제 값 대비 절대 오차의 백분율 평균이다. 오차의 상대적인 크기를 평가할 때 유용하지만, 실제 값이 0에 가까우면 불안정해질 수 있다.
    • SMAPE (Symmetric Mean Absolute Percentage Error): MAPE의 비대칭성(과대 예측과 과소 예측의 페널티가 다름) 문제를 개선한 지표이다.
  3. 검증 방법 (Validation Methods)
    • Hold-out Method: 데이터를 훈련 세트와 테스트 세트로 한 번 나누어 평가한다. 간단하지만 데이터 분할에 따라 결과가 달라질 수 있다.
    • k-Fold Cross-Validation: 데이터를 k개의 폴드(fold)로 나누고, 각 폴드를 한 번씩 테스트 세트로 사용하고 나머지 k-1개 폴드를 훈련 세트로 사용하는 과정을 k번 반복하여 성능을 평균낸다. 더 안정적인 성능 추정치를 제공한다.
    • Stratified k-Fold Cross-Validation: k-Fold 교차 검증 시 각 폴드의 클래스 비율이 원본 데이터의 클래스 비율과 동일하게 유지되도록 데이터를 분할한다. 클래스 불균형 데이터에 유용하다.
    • LOOCV (Leave-One-Out Cross-Validation): k-Fold에서 k가 데이터 샘플 수(N)와 같은 극단적인 경우이다. 각 샘플을 한 번씩 테스트 세트로 사용한다. 계산 비용이 매우 높다.
    • Time Series Split (시계열 교차 검증): 시계열 데이터에서는 미래의 데이터를 사용하여 과거를 예측하는 것을 방지해야 하므로, 훈련 세트는 항상 테스트 세트보다 시간적으로 앞서도록 데이터를 분할한다 (예: Expanding Window, Sliding Window).
  4. 불확실성 평가 (Uncertainty Evaluation)
    • Calibration Curve (신뢰도 곡선): 모델이 예측한 확률(신뢰도)이 실제 정확도와 얼마나 일치하는지를 시각적으로 보여주는 그래프이다. 완벽하게 보정된 모델은 대각선 형태를 띤다.
    • Expected Calibration Error (ECE): 예측 확률과 실제 빈도 간의 평균적인 차이를 정량화하여 모델의 보정(calibration) 정도를 측정하는 지표이다.

E. 하이퍼파라미터 탐색 (Hyperparameter Tuning/Search)

모델 성능에 영향을 미치는, 학습 전에 사용자가 설정해야 하는 하이퍼파라미터(예: 학습률, 정규화 강도, 트리 깊이)의 최적 조합을 찾는 과정이다.

  • Grid Search: 탐색할 하이퍼파라미터 값들의 조합을 격자(grid) 형태로 모두 시도하여 최적 조합을 찾는다. 계산 비용이 높다.
  • Random Search: 지정된 범위 내에서 하이퍼파라미터 값들을 무작위로 샘플링하여 탐색한다. Grid Search보다 효율적으로 좋은 조합을 찾을 수 있는 경우가 많다.
  • Bayesian Optimization: 이전 탐색 결과를 바탕으로 아직 탐색하지 않은 영역 중 성능 개선 가능성이 높은 지점(획득 함수(acquisition function) 최대화)을 확률적으로 선택하여 탐색하는 방식이다. 적은 시도 횟수로 최적 조합을 찾는 데 효과적이다.
  • Hyperband: 제한된 자원(예: 시간, 반복 횟수) 하에서 여러 하이퍼파라미터 조합을 병렬로 시도하고, 성능이 낮은 조합은 조기에 중단(early-stopping)하여 유망한 조합에 더 많은 자원을 할당하는 효율적인 탐색 기법이다.
  • BOHB (Bayesian Optimization and HyperBand): Hyperband의 효율적인 자원 할당 방식과 Bayesian Optimization의 지능적인 탐색 방식을 결합한 기법이다.
  • Optuna: 베이즈 최적화, TPE(Tree-structured Parzen Estimator), CMA-ES 등 다양한 최신 탐색 알고리즘을 지원하고, 분산 환경에서의 병렬 탐색, 탐색 과정 시각화 등을 제공하는 자동화된 하이퍼파라미터 최적화 프레임워크이다.
  • Population-Based Training (PBT): 여러 모델(개체군)을 병렬로 훈련시키면서, 주기적으로 성능이 좋은 모델의 가중치와 하이퍼파라미터를 성능이 낮은 모델로 복사하고 약간의 변형(mutation)을 가하는 방식으로, 하이퍼파라미터와 모델 가중치를 동시에 최적화한다.

V. 관련 이론 및 고급 주제 (Related Theory & Advanced Topics)

A. 정보 이론 (Information Theory)

데이터의 불확실성을 정량화하고, 확률 분포 간의 관계를 측정하는 수학적 이론이다. 머신러닝에서 손실 함수 정의, 모델 평가, 특징 선택 등에 활용된다.

  • Shannon Entropy: 확률 변수의 불확실성(정보량)을 측정하는 기댓값이다. 분포가 균일할수록 엔트로피가 높다.
  • Conditional Entropy: 다른 확률 변수 Y의 값이 주어졌을 때, 확률 변수 X의 남은 불확실성을 측정한다 (H(X|Y)).
  • Joint Entropy: 두 확률 변수 X와 Y가 함께 가질 수 있는 상태에 대한 총 불확실성을 측정한다 (H(X, Y)).
  • Mutual Information (상호 정보량): 두 확률 변수 X와 Y가 공유하는 정보량이다. 즉, Y를 앎으로써 X에 대한 불확실성이 얼마나 감소하는지를 나타낸다 (I(X; Y) = H(X) - H(X|Y)).
  • Cross-Entropy: 실제 분포 P에 대해 예측 분포 Q를 사용하여 정보를 인코딩할 때 필요한 평균 비트 수이다. 분류 문제의 손실 함수로 널리 사용된다.
  • KL Divergence (Kullback-Leibler Divergence): 두 확률 분포 P와 Q 사이의 비대칭적인 거리(차이)를 측정한다. P를 Q로 근사할 때의 정보 손실량을 나타낸다 (D_KL(P | | Q)).
  • Jensen-Shannon Divergence (JSD): KL Divergence를 대칭적으로 만들고 값 범위를 또는 [0, log2]로 제한한 거리 척도이다.

B. 설명 가능한 AI (Explainable AI - XAI)

복잡한 인공지능 모델(특히 딥러닝)의 예측 결과를 사람이 이해하고 신뢰할 수 있도록 설명하는 기술 및 방법론이다.

  • SHAP (SHapley Additive exPlanations): 게임 이론의 샤플리 값(Shapley value) 개념을 적용하여, 각 특징(feature)이 특정 예측 결과에 얼마나 기여했는지를 공정하게 측정하고 설명하는 통합 프레임워크이다.
  • LIME (Local Interpretable Model-agnostic Explanations): 특정 예측 결과 주변의 데이터를 샘플링하고, 이 로컬 영역에서 해석 가능한 간단한 모델(예: 선형 모델)을 학습시켜 해당 예측을 설명하는 모델 불특정(model-agnostic) 기법이다.
  • Integrated Gradients (IG): 예측 결과의 변화에 대한 입력 특징의 기여도를 계산할 때, 기준선(baseline) 입력부터 실제 입력까지의 경로를 따라 기울기를 적분하여 특징 중요도를 측정하는 방법이다.
  • Grad-CAM (Gradient-weighted Class Activation Mapping): CNN 모델에서 특정 클래스 예측에 중요한 영향을 미친 입력 이미지 영역(특징 맵)을 시각화하여 모델이 어디를 보고 판단했는지 보여주는 기법이다.

C. 분산 학습 및 MLOps (Distributed Learning & MLOps)

대규모 데이터나 모델을 처리하기 위한 기술과 머신러닝 모델의 개발, 배포, 운영을 자동화하고 효율화하는 방법론이다.

  1. 분산 학습 구조 (Distributed Learning Architectures): 여러 컴퓨팅 자원(장비, 프로세스)을 사용하여 모델 학습을 병렬로 수행한다.
    • Data Parallelism: 동일한 모델을 여러 장치(예: GPU)에 복제하고, 전체 훈련 데이터를 나누어 각 장치에서 병렬로 처리한 후 결과를 동기화(예: 기울기 평균)한다.
    • Model Parallelism: 모델 자체의 크기가 너무 커서 단일 장치에 올릴 수 없을 때, 모델의 다른 부분을 여러 장치에 나누어 배치하고 병렬로 연산한다.
    • Pipeline Parallelism: 모델의 계층(layer)들을 여러 장치에 순차적으로 배치하고, 미니 배치를 여러 마이크로 배치로 나누어 파이프라인처럼 처리하여 장치 활용률을 높인다.
    • Parameter Server Architecture: 파라미터 서버(중앙 서버)가 모델의 파라미터를 저장 및 관리하고, 여러 워커(worker) 노드가 데이터를 받아 학습을 수행하며 파라미터 업데이트를 요청/수신하는 구조이다.
    • 분산 학습 프레임워크/라이브러리:
      • Horovod: TensorFlow, PyTorch, Keras 등에서 MPI(Message Passing Interface) 기반의 효율적인 데이터 병렬 분산 훈련을 지원하는 프레임워크이다.
      • DeepSpeed: Microsoft에서 개발한 대규모 모델(수십억~수조 파라미터) 학습을 위한 최적화 라이브러리로, ZeRO(Zero Redundancy Optimizer) 등의 기술을 통해 메모리 효율성을 극대화한다.
      • TensorFlow Distributed: TensorFlow에서 제공하는 분산 훈련 전략(예: MirroredStrategy, MultiWorkerMirroredStrategy, ParameterServerStrategy)을 포함하는 프레임워크이다.
  2. MLOps (Machine Learning Operations): 머신러닝 모델의 전체 생명주기(데이터 준비, 실험, 훈련, 배포, 모니터링, 재훈련)를 안정적이고 효율적으로 관리하기 위한 원칙과 실천 방법이다. DevOps의 원칙을 머신러닝 시스템에 적용한 것이다.
    • 모델 관리 및 서빙 도구 (Model Management & Serving Tools):
      • MLflow: 실험 추적(tracking), 모델 패키징, 모델 레지스트리(저장 및 버전 관리), 모델 배포(serving) 등 머신러닝 생명주기 관리를 위한 오픈소스 플랫폼이다.
      • DVC (Data Version Control): Git과 유사하게 대규모 데이터셋과 머신러닝 모델 파일의 버전을 관리하고 실험 재현성을 높이는 도구이다.
      • Airflow: 워크플로우(작업 흐름)를 DAG(Directed Acyclic Graph) 형태로 정의하고 스케줄링, 모니터링, 실행하는 오픈소스 플랫폼이다. ML 파이프라인 자동화에 사용된다.
      • Kubeflow / Kubeflow Pipelines: Kubernetes 위에서 머신러닝 워크플로우를 구축, 배포, 관리하기 위한 플랫폼이다. 특히 컨테이너 기반의 확장 가능하고 이식성 있는 ML 시스템 구축에 유용하다.
      • BentoML: 학습된 머신러닝 모델을 고성능의 예측 서비스(REST API 등)로 쉽게 패키징하고 배포할 수 있도록 지원하는 프레임워크이다.
      • Seldon Core: Kubernetes 기반으로 머신러닝 모델을 배포, 확장, 모니터링하고 A/B 테스트, 카나리 배포 등을 지원하는 오픈소스 플랫폼이다.
    • 데이터 라벨링 도구 (Data Labeling Tools):
      • Label Studio: 이미지, 텍스트, 오디오, 비디오 등 다양한 유형의 데이터에 대한 라벨링(주석 작업) 인터페이스를 제공하는 오픈소스 도구이다.

D. 프라이버시 및 연합 학습 (Privacy & Federated Learning)

데이터 프라이버시를 보호하면서 머신러닝 모델을 학습하고 활용하는 기술이다.

  • Federated Learning (연합 학습): 원본 데이터를 중앙 서버로 보내지 않고, 각 사용자(클라이언트)의 로컬 장치에서 데이터를 사용하여 모델을 개별적으로 학습시킨 후, 모델 업데이트(예: 가중치 변화량)만을 중앙 서버로 보내 통합(aggregation)하는 분산 학습 방식이다. 데이터 프라이버시 보호에 유리하다.
  • Split Learning (분할 학습): 모델의 일부는 사용자 장치에서, 나머지 부분은 서버에서 나누어 학습하는 방식으로, 연합 학습과 달리 모델 구조를 분할하여 프라이버시를 보호하고 계산 부담을 분산시킨다.
  • Differential Privacy (차분 프라이버시): 데이터셋에 대한 질의(query) 결과나 학습된 모델 파라미터에 통계적인 노이즈를 추가하여, 특정 개인의 정보가 결과에 미치는 영향을 제한함으로써 개인 식별 위험을 수학적으로 보장하는 프라이버시 보호 기법이다.

E. 강화학습 심화 기술 (Advanced Reinforcement Learning Techniques)

  • MuZero: 게임 규칙이나 환경 모델을 명시적으로 알지 못해도, 스스로 상태 표현, 전이(dynamics), 보상 함수를 학습하는 모델 기반 강화학습 알고리즘이다. (I.B.3 참고)
  • Dreamer (DreamerV3): 환경 모델을 학습하여 잠재 공간(latent space)에서 미래 상태와 보상을 예측하고, 이를 바탕으로 상상(imagination) 속에서 정책을 효율적으로 학습하는 모델 기반 강화학습 구조이다. (I.B.3 참고)
  • MADDPG (Multi-Agent Deep Deterministic Policy Gradient): 여러 에이전트가 존재하는 환경에서, 각 에이전트가 다른 에이전트들의 정책 정보를 활용하여 협력 또는 경쟁하며 학습하는 다중 에이전트 강화학습 알고리즘이다.
  • QMIX: 개별 에이전트의 Q 함수를 비선형적으로 결합하여 팀 전체의 공동 Q 함수를 추정하고, 이를 통해 협력적인 다중 에이전트 환경에서 분산된 정책을 학습하는 기법이다.
  • Offline Reinforcement Learning (오프라인 강화학습): 환경과의 실시간 상호작용 없이, 미리 수집된 고정된 데이터셋(로그 데이터 등)만을 사용하여 정책을 학습하는 강화학습 방식이다. 관련 기법 예시: Conservative Q-Learning (CQL), Implicit Q-Learning (IQL), Advantage-Weighted Actor-Critic (AWAC).
  • Constrained Reinforcement Learning (제약 강화학습): 보상 최대화뿐만 아니라, 특정 제약 조건(예: 안전 제약, 비용 제약)을 만족하도록 정책을 학습하는 강화학습 방식이다. 관련 기법 예시: Constrained Policy Optimization (CPO), Shielded Reinforcement Learning.

F. 수학적 최적화 (Mathematical Optimization) - ML과의 관계

머신러닝 모델 학습(손실 함수 최소화) 자체가 최적화 문제이며, 다양한 수학적 최적화 기법들이 직간접적으로 활용된다. (IV.B 최적화 알고리즘과 중복되는 내용이 많으나, 보다 이론적인 관점에서 분류)

  1. 선형 계획법 (Linear Programming - LP): 선형 목적 함수를 선형 등식/부등식 제약 조건 하에서 최적화한다.
    • Simplex Method: 해 공간의 꼭짓점(vertex)을 따라 이동하며 최적해를 탐색하는 고전적인 해법이다.
    • Interior-Point Methods: 해 공간의 내부(interior)에서 시작하여 중심 경로(central path)를 따라 최적점에 점근적으로 접근하는 해법이다.
  2. 이차 계획법 (Quadratic Programming - QP): 이차 목적 함수를 선형 제약 조건 하에서 최적화한다. SVM 등에서 활용된다.
    • Active Set Methods (e.g., Wolfe's Method): 활성 제약 조건(active constraints) 집합을 관리하며 최적해를 찾는 방식이다.
    • Primal-Dual Interior Point Methods: LP와 유사하게 내부점 방법을 적용하여 QP 문제를 해결한다.
  3. 비선형 계획법 (Nonlinear Programming - NLP): 비선형 목적 함수 또는 비선형 제약 조건을 갖는 최적화 문제이다. 대부분의 딥러닝 학습이 여기에 해당한다.
    • Gradient Descent 계열: (IV.B.1 참고)
    • Newton's Method, SQP, Trust-Region Methods: (IV.B.2, IV.B.3 참고)
  4. 혼합 정수 계획법 (Mixed-Integer Programming - MIP): 일부 변수는 연속적이고 일부 변수는 정수인 최적화 문제이다.
    • Branch-and-Bound, Branch-and-Cut, Branch-and-Price: (IV.B.5 참고)
  5. 동적 계획법 (Dynamic Programming - DP): 최적 부분 구조(optimal substructure)와 중복되는 부분 문제(overlapping subproblems) 특성을 갖는 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 저장하여 재활용하는 방식이다. 강화학습의 벨만 방정식(Bellman Equation) 등에서 활용된다.
    • Bellman Equation: 현재 상태의 가치 함수를 다음 상태의 가치 함수와 즉각적인 보상으로 표현하는 재귀적인 관계식이다. DP 및 강화학습의 핵심 원리이다.
    • Viterbi Algorithm: 은닉 마르코프 모델(Hidden Markov Model, HMM)과 같은 시퀀스 모델에서 가장 가능성 높은 은닉 상태(hidden state) 시퀀스를 찾는 동적 계획법 기반 알고리즘이다.
  6. 제약 충족 문제 (Constraint Satisfaction Problems - CSP): 변수 집합, 각 변수의 도메인, 변수 간 제약 조건이 주어졌을 때, 모든 제약 조건을 만족하는 변수 값 할당을 찾는 문제이다.
    • Backtracking Search: 변수에 값을 할당해 보면서 제약 조건을 만족하는지 확인하고, 만족하지 않으면 이전 단계로 돌아가 다른 값을 시도하는 완전 탐색 기반 알고리즘이다.
    • Forward Checking: 변수에 값을 할당할 때마다, 해당 할당으로 인해 제약 조건에 영향을 받는 다른 변수들의 도메인에서 불가능한 값들을 미리 제거하는 기법이다.
    • Arc Consistency (AC-3 Algorithm): 변수 쌍 간의 제약 조건을 반복적으로 검사하여, 각 변수의 도메인에서 제약을 만족하는 값이 없는 값들을 제거하여 도메인을 축소하는 기법이다.
  7. 이진 결정 다이어그램 (Binary Decision Diagrams - BDD): 부울 함수(Boolean function)를 효율적으로 표현하고 조작하기 위한 데이터 구조이다.
    • ROBDD (Reduced Ordered Binary Decision Diagram): 변수 순서가 고정되고, 중복 노드와 불필요한 노드가 제거된 표준적인 형태의 BDD이다.
    • ZDD (Zero-suppressed Binary Decision Diagram): 희소한 조합 구조(예: 특징 부분집합) 표현에 특화된 BDD 변형이다.
  8. 유한차분법 (Finite Difference Method): 미분 방정식을 이산적인 격자점(grid points)에서의 함수 값 차이를 이용하여 근사적인 대수 방정식으로 변환하여 수치적으로 해를 구하는 방법이다. (머신러닝 자체보다는 물리 시뮬레이션 등 관련 분야에서 사용)
    • Forward/Backward Euler Method: 시간 또는 공간에 대해 전진(forward) 또는 후진(backward) 차분을 사용하여 1차 미분을 근사하는 가장 간단한 방법이다.
    • Crank-Nicolson Method: 시간 축에서 현재와 다음 시간 스텝의 평균을 사용하여 미분을 근사하는 암시적(implicit) 방법으로, 안정성이 높다.

G. 최신 연구 키워드 (Recent Research Keywords - 2023~2025 기준)

머신러닝 및 딥러닝 분야의 최신 연구 동향을 나타내는 주요 키워드이다.

  • Diffusion Models: 고해상도 이미지, 비디오, 오디오 등 다양한 데이터를 생성하는 데 탁월한 성능을 보이는 생성 모델 계열이다. (III.G 참고)
  • RAG (Retrieval-Augmented Generation): 대형 언어 모델(LLM)이 답변을 생성할 때, 외부 지식 베이스(예: 문서 데이터베이스)에서 관련 정보를 검색(retrieve)하여 이를 참고함으로써 답변의 정확성과 최신성을 향상시키는 기법이다.
  • PEFT (Parameter-Efficient Fine-Tuning): 사전 학습된 대규모 모델(Foundation Model)을 특정 작업에 맞게 미세 조정(fine-tuning)할 때, 모델의 모든 파라미터를 업데이트하는 대신 일부 파라미터(또는 추가된 작은 파라미터)만 학습하여 계산 비용과 메모리 사용량을 크게 줄이는 기법이다. 예시:
    • LoRA (Low-Rank Adaptation): 기존 가중치 행렬의 업데이트를 저차원(low-rank) 행렬의 곱으로 근사하여 학습 파라미터 수를 줄인다.
    • QLoRA: LoRA를 더욱 개선하여, 사전 학습된 모델의 가중치를 낮은 비트(예: 4비트)로 양자화(quantization)하고 저차원 어댑터만 학습하여 메모리 효율성을 극대화한다.
    • 기타: Adapter Tuning, Prompt Tuning, P-tuning 등.
  • RLHF (Reinforcement Learning from Human Feedback) / DPO (Direct Preference Optimization): 인간의 피드백(선호도 데이터 등)을 사용하여 언어 모델의 출력을 인간의 의도나 가치에 맞게 정렬(alignment)하고, 유해하거나 편향된 출력을 줄여 안전성을 높이는 기법이다.
    • RLHF: 인간 선호도를 학습한 보상 모델(reward model)을 구축하고, 이 보상 모델을 최대화하도록 강화학습을 통해 언어 모델을 미세 조정한다.
    • DPO: RLHF의 복잡한 파이프라인(보상 모델 학습 + 강화학습) 대신, 선호도 데이터를 직접 사용하여 선호되는 응답의 확률은 높이고 선호되지 않는 응답의 확률은 낮추는 방향으로 언어 모델을 직접 최적화(분류 문제로 변환)하는 더 간단하고 안정적인 방법이다.
  • Long-Context Transformers: 표준 Transformer 모델이 처리하기 어려운 매우 긴 입력 시퀀스(예: 수십만~수백만 토큰)를 효율적으로 처리할 수 있도록 확장된 아키텍처 및 기법이다 (예: FlashAttention, Ring Attention).
  • NeRF (Neural Radiance Fields): 3D 장면을 연속적인 신경망 표현으로 학습하여 새로운 시점 렌더링(novel view synthesis)을 가능하게 하는 기술이다. (III.H 참고)
  • SAM (Segment Anything Model): 제로샷(zero-shot)으로 이미지 내의 어떤 객체든 분할할 수 있는 대규모 비전 모델이다. (III.H 참고)
  • Foundation Model Compression: 대규모 파운데이션 모델을 경량화하여 모바일 기기나 제한된 환경에서도 사용할 수 있도록 만드는 기술이다. 예시:
    • Pruning (가지치기): 모델의 중요도가 낮은 가중치나 연결, 또는 구조(채널, 레이어 등)를 제거하여 모델 크기를 줄인다.
    • Quantization (양자화): 모델의 가중치나 활성화 값을 높은 정밀도(예: 32비트 부동소수점)에서 낮은 정밀도(예: 8비트 정수)로 변환하여 모델 크기와 계산량을 줄인다.
    • Knowledge Distillation (지식 증류): 크고 성능 좋은 교사 모델(teacher model)의 지식을 작고 빠른 학생 모델(student model)에게 전달하여 학습시키는 방식이다.
    • Low-Rank Factorization/Decomposition (저차원 분해): 모델 내의 큰 가중치 행렬을 더 작은 행렬들의 곱으로 분해하여 파라미터 수를 줄인다. (LoRA도 이 원리를 활용한다)
  • Multimodal Integration: 텍스트, 이미지, 오디오, 비디오 등 여러 종류의 데이터(양식, modality)를 하나의 모델이 동시에 이해하고 처리하며 생성할 수 있는 기술이다. 최신 LLM(예: GPT-4o, Gemini)들이 이러한 방향으로 발전하고 있다.
  • 대표 모델 (Representative Models): (III.D 참고) GPT-4o, Gemini, Claude 3, Mistral, LLaMA, Qwen, StableLM 등.

인공지능이 문장을 만든다고 할 때, 그것이 정말로 ‘세계’를 이해하고 있는 것인지 궁금해진다.
사람의 말은 세상에서 직접 부딪히는 경험과 감각 위에 쌓여 있지만 LLM의 말은 방대한 텍스트 패턴에서 비롯된다.
그럼에도, LLM이 만들어내는 언어 속에는 묘하게도 우리의 세계가 담겨 있는 듯 보인다.

 

언어가 곧 세계라는 말이 떠오른다.
비트겐슈타인은 언어가 세계를 ‘그림’으로 보여준다고 생각했고 동시에 언어로 표현할 수 없는 것은 말할 수 없다고 보았다.
LLM은 말할 수 있는 문장을 폭넓게 생성해내지만 그 말이 실제 세계를 반영하는 것인지
아니면 텍스트라는 장막 너머에서 ‘통계적 그림자’를 보여주는 것인지 아직 분명치 않다.

괴델은 형식 체계가 스스로를 완전히 증명할 수 없다고 말했다.
LLM 역시 방대한 텍스트라는 ‘형식 체계’에서 작동하며 그 체계를 벗어나 자기 작동 원리를 오롯이 해명하는 데에는 스스로의 한계를 가진다. 이 점에서, 우리가 언어를 통해 모든 것을 정의하고 설명할 수 없는 것처럼 LLM 역시 텍스트에 기반을 두면서도 그 바깥의 세계를 온전히 담아낼 수 있을지는 의문이다.

컴퓨터가 자기 코드를 읽을 수 있어도 스스로를 완전히 재설계하지는 못한다.
이 말은 LLM에게도 적용된다.
LLM은 자신이 어떻게 동작하는지 대략적인 설명을 만들 수 있다고 해도 근본적인 구조 자체를 새롭게 짜는 일은 하기 어렵다.
하지만 인간도 마찬가지다.
우리가 스스로를 인식하고 반성한다 해도 자기 뇌를 갈아엎는 단계까지 가기는 사실상 불가능하다.

 

LLM은 프롬프트에 따라 즉각적으로 답변을 바꾸고 그 답변은 확률적 예측으로 결정된다.
우리가 던지는 질문의 방식, 단어의 선택, 문맥의 흐름에 따라 그 안에서 펼쳐지는 ‘세계’는 전혀 달라진다.
하나의 고정된 세계를 가리키기보다 매 순간 질문자에 의해 갱신되는 가능성의 세계를 제시한다. 이런 구조는 ‘관찰하는 방식이 결과를 바꾸는’ 체계와 닮아 있다. 하이젠베르크의 불확정성 원리가 떠오르는 지점이다.
입자의 위치와 속도를 동시에 정확히 알 수 없다는 물리학의 통찰은 어쩌면 LLM의 언어 생성 구조와도 겹친다.
LLM은 관찰자이자 질문자인 사용자의 방식에 따라 그때그때 전혀 다른 언어적 세계를 구성한다.

이때 생성되는 문장은 고정된 사실의 재현이 아니라 입력된 조건과 맥락에 반응하여 실시간으로 조합된 결과다.
그 점에서 LLM은, 정적 지식보다는 맥락과 조건에 따라 ‘해석된 의미’를 만들어내는 해석적·조합적 사고의 시스템으로 작동한다.

그렇게 보면 LLM은 인간의 사고 방식과 닮은 구석이 있다. 우리는 언제나 삶의 맥락 속에서, 경험과 감각을 바탕으로
하나의 세계를 구성하고 해석한다. 정답을 꺼내 쓰는 것이 아니라 상황과 언어 속에서 의미를 조율하고 생성하는 존재다.

 

그렇지만 많은 인공지능 학자들이 주장하고 있는 결정적인 차이가 있다.
인간은 세계 안에 몸을 지니고 살아간다. 우리는 보고 듣고 만지고 아프고 추위를 느끼며 그 감각을 언어로 옮긴다.
경험은 언어를 떠받치고, 감각은 의미를 만든다. LLM에게는 그런 몸이 없다.

LLM은 텍스트 안에서만 태어나고 성장한다. 몸으로 부딪히며 형성된 세계가 아니라 언어의 궤적 위에서 예측 가능한 조각들을 이어 붙일 뿐이다. 이를 두고 “언어가 곧 세계”라는 관점에 따르면 큰 문제가 없을 수도 있고 “삶의 맥락이 의미의 조건이 되는가?”라는 관점에선 결정적 한계로 볼 수도 있다.

결국 LLM이 월드모델인지 아닌지는 “우리가 어떤 방식으로 세계를 구성하고 인식하는가”라는 더 큰 질문으로 이어진다.
인간 역시 불완전한 체계 안에서 자신을 들여다보며 그 한계를 자각하면서도 끊임없이 넘어보려 애쓴다.

LLM은 그런 의미에서, 우리 인식의 거울 같은 존재가 될 수도 있다.
거울 속 상(像)이 스스로 아무것도 할 수 없지만 우리가 그 모습 속에서 무언가를 깨닫는 것처럼 말이다.

나로서는 이 질문에 대한 최종 답을 쉽게 내릴 수 없지만 적어도 LLM의 언어가 우리 세계를 얼마나 섬세하게 보여주고 있는지 그리고 어디에서 한계를 드러내고 있는지는 계속 살펴볼 만한 가치가 있다고 생각한다.

SNN과 STDP를 이용한 인공신경망 이해

1. 목적

Spiking Neural Networks(SNN)Spike-Timing-Dependent Plasticity(STDP)는 생물학적 신경망의 동작을 모방하여 신경망 학습과 정보 처리를 개선하는 데 중요한 역할을 한다. 이 글에서는 SNN의 동작 원리, STDP 메커니즘, 그리고 관련된 수학적 모델을 소개하고, SNN이 기존의 인공신경망(ANN)과 비교하여 가지는 장점과 한계를 논의하고자 한다.


2. 막전위의 동역학 (Membrane Potential Dynamics)

2.1 막전위 변화의 기본 수식

막전위 $V_m(t)$의 변화는 다음의 기본 방정식으로 나타낼 수 있다:

$$
I(t) - \frac{V_m(t)}{R_m} = C_m \frac{dV_m(t)}{dt}
$$

  • $I(t)$: 시간에 따른 입력 전류를 의미한다. 신경세포로 들어오는 외부 자극을 나타낸다.
  • $V_m(t)$: 시간에 따른 막전위로, 신경세포 내부와 외부 사이의 전위차를 의미한다.
  • $R_m$: 막의 저항으로, 신경세포 막을 통해 흐르는 전류에 대한 저항 특성을 나타낸다.
  • $C_m$: 막의 정전용량으로, 신경세포 막이 전하를 저장하는 능력을 나타낸다.
  • $\frac{dV_m(t)}{dt}$: 시간에 따른 막전위의 변화율을 나타내며, 막전위가 시간에 따라 어떻게 변하는지를 설명한다.

이 방정식은 뉴런이 외부 자극을 받았을 때, 시간이 지남에 따라 막전위가 어떻게 변화하는지를 설명한다. 이 변화는 뉴런이 스파이크를 발화할지 여부를 결정하는 중요한 요소다.

2.2 전위 변화의 시간적 해석

막전위의 시간적 변화는 다음과 같은 수식으로 설명할 수 있다:

$$
V_m(t) = V_{\infty} + \left( V_m(0) - V_{\infty} \right) e^{-t/\tau_m}
$$

  • $V_{\infty}$: 정상 상태에서의 전위를 나타내며, $V_{\infty} = I(t) R_m$로 정의된다.
  • $\tau_m$: 막의 시간 상수로, 전위 변화의 속도를 결정한다. 이는 $\tau_m = R_m C_m$으로 계산된다.

이 수식은 뉴런이 특정 임계값에 도달할 때 스파이크를 발화할지 여부를 결정하는 중요한 요소다. 시간이 지남에 따라 막전위가 어떻게 변하는지를 수학적으로 설명하며, 이는 SNN에서 매우 중요한 역할을 한다.


3. 스파이크 발생 메커니즘과 주요 모델

3.1 Leaky Integrate-and-Fire (LIF) 모델

Leaky Integrate-and-Fire (LIF) 모델은 가장 간단하고 널리 사용되는 Spiking Neuron 모델이다. 이 모델에서 뉴런의 막전위는 입력 신호에 비례하여 증가하고, 일정한 임계값에 도달하면 스파이크를 발화한다.

LIF 모델에서 막전위의 변화는 다음과 같은 방정식으로 표현된다:

$$
\tau_m \frac{dV_m(t)}{dt} = -V_m(t) + RI(t)
$$

  • $\tau_m = R_m C_m$: 막 시간 상수로, 뉴런의 전위 변화 속도를 결정한다.
  • $V_m(t)$: 시간에 따른 막전위를 의미한다.
  • $R$: 저항으로, 뉴런의 막에 흐르는 전류에 대한 저항을 나타낸다.
  • $I(t)$: 시간에 따른 입력 전류를 나타낸다.

이 모델은 뉴런이 스파이크를 발화한 후, 막전위가 $V_{\text{reset}}$으로 초기화되고, 잠시 동안 새로운 스파이크를 발화하지 못하는 불응기(refractory period)를 겪는 과정을 설명한다.

3.2 Izhikevich 모델

Izhikevich 모델은 Hodgkin-Huxley 모델의 정밀함과 LIF 모델의 단순함 사이의 절충안으로, 다양한 뉴런 발사 패턴을 간단한 방정식으로 표현할 수 있다. 이 모델의 기본 방정식은 다음과 같다:

$$
\frac{dV}{dt} = 0.04V^2 + 5V + 140 - u + I
$$

  • $V$: 막전위로, 시간에 따른 뉴런의 전위 상태를 의미한다.
  • $u$: 복원 변수로, 뉴런이 스파이크를 발사한 후 복원되는 속도를 조절한다.
  • $a, b, c, d$: 뉴런의 다양한 동작 패턴을 설명하는 모델 매개변수다.

이 모델은 복잡한 뉴런의 발사 패턴을 비교적 단순한 수식으로 표현할 수 있어, 신경과학 연구에서 많이 사용된다.

3.3 Hodgkin-Huxley 모델

Hodgkin-Huxley 모델은 뉴런의 막전위 변화와 이온 채널의 동역학을 매우 정밀하게 모사하는 모델이다. 이 모델은 생물학적 사실성을 높이기 위해 고안되었으며, 뉴런의 전기적 활동을 정확히 재현하는 데 사용된다.

3.3.1 기본 개념

Hodgkin-Huxley 모델은 뉴런의 막전위를 조절하는 주요 이온 채널, 즉 나트륨(Na(^+))칼륨(K(^+)) 이온의 흐름을 모델링한다. 이온의 흐름은 전압 의존성 게이트에 의해 조절되며, 이 게이트는 시간에 따라 변하는 막전위에 의해 열리거나 닫힌다.

3.3.2 핵심 방정식

Hodgkin-Huxley 모델은 뉴런의 막전위 변화를 다음과 같은 미분 방정식으로 설명한다:

$$
C_m \frac{dV_m(t)}{dt} = I_{\text{Na}}(t) + I_{\text{K}}(t) + I_{\text{leak}}(t) + I_{\text{ext}}(t)
$$

여기서:

  • $C_m$: 막의 정전용량.
  • $I_{\text{Na}}(t)$: 나트륨 이온 전류.
  • $I_{\text{K}}(t)$: 칼륨 이온 전류.
  • $I_{\text{leak}}(t)$: 기타 이온에 의한 누출 전류.
  • $I_{\text{ext}}(t)$: 외부 자극에 의한 전류.

각 이온 전류는 다음과 같이 정의된다:

$$
I_{\text{Na}}(t) = g_{\text{Na}}(t) \cdot (V_m(t) - E_{\text{Na}})
$$

$$
I_{\text{K}}(t) = g_{\text{K}}(t) \cdot (V_m(t) - E_{\text{K}})
$$

$$
I_{\text{leak}}(t) = g_{\text{leak}} \cdot (V_m(t) - E_{\text{leak}})
$$

  • $g_{\text{Na}}(t)$, $g_{\text{K}}(t)$, $g_{\text{leak}}$: 각각 나트륨, 칼륨, 그리고 누출 전류의 전도도.
  • $E_{\text{Na}}$, $E_{\text{K}}$, $E_{\text{leak}}$: 각각의 역치 전위(reversal potential).

이 방정식들은 뉴런의 전기적 활동을 매우 정밀하게 모사하며, 신경과학 연구에서 중요한 역할을 한다.


4. 시냅스 동역학 (Synaptic Dynamics)

Spiking Neural Networks(SNN)의 핵심은 시냅스를 통한 뉴런 간의 연결이다. 시냅스를 통해 전파되는 신호는 다음 뉴런의 입력 전류로 작용하며, 이 과정은 시냅스 가중치 $w_j$에 의해 결정된다.

![Synaptic Dynamics](path/to/Synaptic Dynamics.png)
이미지 1: 단기 시냅스 가소성

4.1 시냅스 전위의 합성

시냅스 입력은 여러 입력 스파이크의 시간적 합성으로 이루어지며, 이를 다음과 같은 수식으로 나타낼 수 있다:

$$
I(t) = \sum_{j} w_j \cdot \sum_{t_j^f} \delta(t - t_j^f)
$$

여기서:

  • $w_j$: 시냅스 가중치로, 시냅스의 강도를 나타낸다.
  • $t_j^f$: 뉴런 $j$가 스파이크를 발생시킨 시간이다.
  • $\delta(t - t_j^f)$: 디랙 델타 함수로, 특정 시간에 스파이크가 발생했음을 나타낸다.

이 방정식은 시냅스를 통해 전달되는 신호가 어떻게 뉴런의 막전위에 반영되는지를 설명한다.


5. 학습 규칙 (Learning Rules) - STDP

5.1 STDP 메커니즘

Spike-Timing Dependent Plasticity(STDP)는 프리시냅틱 뉴런과 포스트시냅틱 뉴런 간의 스파이크 발생 시간 차이에 따라 시냅스 강도가 변화하는 학습 규칙이다. STDP는 시냅스 가소성(synaptic plasticity)의 중요한 메커니즘 중 하나로, 다음과 같은 수식으로 표현된다:

$$
\Delta w =
\begin{cases}
A_+ \cdot e^{-\Delta t / \tau_+}, & \text{if } \Delta t > 0 \ (\text{pre precedes post}) \
A_- \cdot e^{\Delta t / \tau_-}, & \text{if } \Delta t \leq 0 \ (\text{post precedes pre})
\end{cases}
$$

STDP 그래프
이미지 2: STDP 그래프

  • $\Delta t = t_{\text{post}} - t_{\text{pre}}$: 포스트시냅틱 뉴런과 프리시냅틱 뉴런 간의 스파이크 시간 차이로, 시냅스 강도 변화의 방향과 크기를 결정한다.
  • $A_+$, $A_-$: 각각 LTP와 LTD의 학습률을 나타내며, 시냅스 강화 및 약화의 크기를 조절한다.
  • $\tau_+$, $\tau_-$: 시간 상수로, 학습 효과가 얼마나 빠르게 감소하는지를 나타낸다.

STDP 메커니즘을 통해 뉴런 간의 시공간적 상관관계에 따라 시냅스 연결이 강화되거나 약화된다.

5.2 장기 강화 (Long-Term Potentiation, LTP)와 장기 저하 (Long-Term Depression, LTD)

LTP(Long-Term Potentiation)는 특정 시냅스에서 반복적인 활성화가 일어날 때 시냅스 연결이 지속적으로 강화되는 현상을 의미한다. LTP는 신경망이 특정 입력 패턴을 학습하고 기억을 형성하는 데 중요한 역할을 한다.

$$
\Delta w = A_+ \cdot e^{-\Delta t / \tau_+}, \quad \text{where } \Delta t > 0
$$

LTD(Long-Term Depression)는 시냅스가 적게 활성화되거나 비활성화될 때 시냅스 연결이 약화되는 현상을 설명한다. LTD는 신경망의 과도한 흥분성을 억제하고 균형을 유지하는 데 중요한 역할을 한다.

$$
\Delta w = A_- \cdot e^{\Delta t / \tau_-}, \quad \text{where } \Delta t \leq 0
$$

LTD와 LTP
이미지 3: LTD와 LTP

5.3 STDP의 다양한 그래프

STDP는 다양한 외부 입력, 신경전달물질, 발달 단계 등의 요인에 따라 여러 형태의 그래프를 그릴 수 있다. 이러한 다양한 STDP의 형태와 영향을 미치는 요인들은 뉴런 간의 연결 강도를 조절하는 데 중요한 역할을 한다.

STDP 그래프2
이미지 4: STDP의 다양한 그래프 1

STDP 그래프3
이미지 5: STDP의 다양한 그래프 2


6. Spiking Neural Networks (SNN)

6.1 SNN과 ANN의 비교

Spiking Neural Networks(SNN)는 전통적인 Artificial Neural Networks(ANN)와는 구조적 및 기능적으로 상이한 신경망 모델이다. ANN은 동기적 처리를 수행하지만, SNN은 비동기적으로 스파이크를 발생시키며 정보 처리를 수행한다.

동기적 vs. 비동기적 처리

  • ANN: 모든 뉴런이 동시에 활성화되어 동일한 시간에 작업을 수행한다.
  • SNN: 특정 뉴런만이 스파이크를 발생시키며, 각 뉴런이 독립적으로 작동하여 정보 처리가 비동기적으로 이루어진다.

Sparse 특성

  • ANN: 모든 뉴런이 동시에 활성화되므로 연산량이 많고 에너지 소모가 크다.
  • SNN: 특정 뉴런만이 활성화되고 나머지 뉴런은 비활성 상태로 남아 Sparse한 네트워크 구조를 형성한다. 이는 에너지와 계산 자원을 효율적으로 사용할 수 있게 한다.

시간 정보 처리

  • ANN: 연속적인 실수 값을 입력으로 받아 처리하지만, 시간 정보나 이산적 이벤트를 직접적으로 처리하는 데 한계가 있다.
  • SNN: 스파이크 발생 시점에 중요한 정보를 담아 시계열 데이터나 실시간 데이터를 효율적으로 처리할 수 있다.

6.2 STDP와 SNN의 학습 메커니즘

Spike-Timing-Dependent Plasticity(STDP)는 SNN에서 뉴런 간 시냅스 강도가 스파이크 발생 시점에 따라 변화하는 중요한 학습 메커니즘이다. STDP는 두 뉴런 간 스파이크 타이밍 차이에 따라 시냅스 가중치를 조정하며, 시간적으로 가까운 스파이크가 더 강한 연결을 형성하도록 한다.

STDP의 동작 원리

  • 시간 의존적 학습: 프리시냅스 뉴런이 포스트시냅스 뉴런보다 먼저 스파이크를 발사하면, 그 연결 강도는 강화된다. 반대로, 포스트시냅스 뉴런이 먼저 스파이크를 발사하면, 그 연결 강도는 약화된다.

STDP의 장점

  • 시간적 패턴 학습: STDP를 통해 SNN은 시간적 패턴을 효과적으로 학습할 수 있다.
  • 자율 학습: STDP는 외부 감독 없이 자율적으로 학습이 이루어지도록 하여, SNN이 비지도 학습 환경에서도 효과적으로 동작할 수 있게 한다.

6.3 Surrogate Gradient를 활용한 SNN 학습

Surrogate Gradient(대리 기울기) 방법은 스파이킹 신경망(Spiking Neural Networks, SNNs)에서 비분화성(non-differentiability) 문제를 해결하기 위해 도입된 기법이다. SNN에서 뉴런 $i$의 스파이크 출력 $S_i(t)$는 다음과 같이 표현된다:

$$
S_i(t) = \Theta(U_i(t) - \vartheta)
$$

여기서:

  • $U_i(t)$: 시간 $t$에서 뉴런 $i$의 막전위(membrane potential)다.
  • $\vartheta$: 스파이크 발생을 위한 임계값이다.
  • $\Theta(x)$: 단위 계단 함수(Heaviside step function)로, $x \geq 0$일 때 $1$, 그렇지 않으면 $0$을 반환한다.

스파이킹 뉴런의 비선형성으로 인해 단위 계단 함수 $\Theta$는 비분화성이 나타난다. 이로 인해 기울기 기반 학습에서 기울기를 계산하는 것이 불가능해진다. 이 문제를 해결하기 위해, Surrogate Gradient 방법에서는 매끄러운(smooth) 함수의 기울기를 대리 기울기로 사용한다.

예를 들어, 시그모이드 함수 $\sigma(x)$를 사용한 대리 기울기는 다음과 같이 정의된다:

$$
g(x) = \frac{\partial \sigma(x)}{\partial x} = \sigma(x)(1 - \sigma(x))
$$

여기서:

  • $\sigma(x)$: 시그모이드 함수로, $\sigma(x) = \frac{1}{1 + \exp(-x)}$로 정의된다.
  • $g(x)$: 대리 기울기로, 실제로는 $\Theta(x)$의 기울기를 대신하여 사용된다.

따라서, SNN에서 뉴런 $i$의 대리 출력 $\hat{S}_i(t)$에 대한 기울기는 다음과 같이 표현된다:

$$
\frac{\partial \hat{S}_i(t)}{\partial U_i(t)} \approx g(U_i(t) - \vartheta)
$$

이 방법을 통해 SNN에서도 기존의 기울기 기반 최적화 알고리즘(BPTT 등)을 사용할 수 있게 된다.


7. Liquid Neural Networks (LNN)

7.1 LNN의 개요

Liquid Neural Networks(LNN)는 신경과학의 원리를 머신러닝 모델에 통합함으로써 기존 딥러닝 모델보다 더 컴팩트하고, 지속 가능하며, 설명 가능한 모델을 목표로 한다. LNN은 연속 시간 동안 뉴런 상태의 변화를 모델링하며, 비선형 동역학을 통해 복잡한 시계열 데이터를 효과적으로 처리할 수 있다.

7.2 SNN과 LNN의 차이점

LNN과 SNN은 모두 생물학적 신경계를 모방하려는 시도에서 비롯되었지만, 접근 방식에는 중요한 차이점이 존재한다.

모델링 방식

  • SNN: 뉴런의 발화를 이산적 이벤트로 모델링하며, 특정 임계값을 초과했을 때 스파이크를 발생시킨다.
  • LNN: 연속적인 미분 방정식을 통해 뉴런 상태의 변화를 모델링하며, 시간에 따른 연속적 변화를 포착한다.

시간 처리 방식

  • SNN: 스파이크의 발생 시점이 중요하며, 비동기적 이벤트 기반 처리를 수행한다.
  • LNN: 연속적 시간 모델을 사용하여 뉴런 상태를 처리하며, 시간의 흐름에 따른 변화를 정교하게 표현한다.

복잡성 처리

  • SNN: 상대적으로 단순한 뉴런 발화 메커니즘을 모사하지만, 에너지 효율성이 뛰어나다.
  • LNN: 복잡한 비선형 동역학을 적용하여, 더욱 복잡한 시계열 데이터 처리에 적합하다.

7.3 LNN의 주요 특성 요약

LNN은 연속적 시간 모델링과 비선형 동역학을 통해 복잡한 시계열 데이터 및 인과 관계를 정밀하게 포착할 수 있다. 이는 강력한 메모리 및 상태 안정성을 제공하며, 기존 딥러닝 모델이 효과적으로 처리하기 어려운 문제를 해결하는 데 유리하다.


8. 결론

SNN은 생물학적인 뇌의 동작을 모방하려는 시도로, 막전위의 동역학, 스파이크 발생 메커니즘, 시냅스 동역학, 학습 규칙 등 다양한 수식적 모델이 결합되어 있다. 이러한 수식적 접근을 통해 SNN은 시공간 데이터 처리, 복잡한 패턴 인식 등에 강력한 성능을 발휘할 수 있는 잠재력을 가지고 있다. 그러나 실제로 이를 구현하고 응용하기 위해서는 더욱 발전된 학습 알고리즘과 하드웨어의 지원이 필요하다.

LNN은 이러한 생물학적 신경계 모델과는 다른 접근 방식으로, 연속적 시간 모델링을 통해 뉴런 상태의 변화를 정교하게 처리하며, 복잡한 시계열 데이터 및 인과 관계를 포착하는 데 유리하다. LNN은 기존 딥러닝 모델보다 더 컴팩트하고 지속 가능하며, 설명 가능한 모델을 목표로 한다. 이러한 특성으로 인해 LNN은 기존 모델이 처리하기 어려운 문제를 해결하는 데 중요한 역할을 할 수 있다.


출처 및 공부자료

한 학기 남짓 너무나도 많은 수업을 듣고있다...

솔직히 뭐가 뭔지 잘 모른다. 이게 저거 같고 저게 이거 같고..

이럴 때는 지식을 분류하는 게 좋다.

그래서, 챗 gpt와의 꽤나 긴 시간의 대화 끝에 배운 어떤 알고리즘들이 있는지 나열할 수 있었다.

1. 문제 유형에 따른 분류

분류 알고리즘:

  1. Linear Discriminant Analysis (LDA) - 선형 판별 분석
  2. Support Vector Machine (SVM) - 서포트 벡터 머신
  3. Neural Networks - 신경망
  4. K-Nearest Neighbors (KNN) - k-최근접 이웃
  5. Decision Trees - 의사결정나무
  6. Random Forest - 랜덤 포레스트
  7. Naive Bayes - 나이브 베이즈
  8. Logistic Regression - 로지스틱 회귀
  9. Softmax Regression - 소프트맥스 회귀
  10. Minimum Distance Classifier - 최소 거리 분류기
  11. Optimal Statistical Classifier - 최적 통계 분류기

회귀 알고리즘:

  1. Linear Regression - 선형 회귀
  2. Polynomial Regression - 다항 회귀
  3. Ridge Regression - 릿지 회귀
  4. Lasso Regression - 라쏘 회귀

2. 모델 유형에 따른 분류

파라메트릭 모델 (Parametric Models):

  1. Linear Regression - 선형 회귀
  2. Logistic Regression - 로지스틱 회귀
  3. LDA - 선형 판별 분석
  4. Ridge Regression - 릿지 회귀
  5. Lasso Regression - 라쏘 회귀
  6. Softmax Regression - 소프트맥스 회귀

비파라메트릭 모델 (Non-Parametric Models):

  1. K-Nearest Neighbors (KNN) - k-최근접 이웃
  2. Decision Trees - 의사결정나무
  3. Random Forest - 랜덤 포레스트
  4. Naive Bayes - 나이브 베이즈
  5. Neural Networks - 신경망
  6. Parzen Window - 파르젠 윈도우

3. 최적화 알고리즘

확률적 최적화 (Stochastic Optimization):

  1. Genetic Algorithm - 유전 알고리즘
  2. Simulated Annealing - 시뮬레이티드 어닐링
  3. Particle Swarm Optimization - 입자 군집 최적화
  4. Differential Evolution - 차등 진화
  5. Monte Carlo Methods - 몬테카를로 방법

결정적 최적화 (Deterministic Optimization):

  1. Gradient Descent - 경사 하강법
    • Batch Gradient Descent - 배치 경사 하강법
    • Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
    • Mini-Batch Gradient Descent - 미니 배치 경사 하강법
  2. Newton's Method - 뉴턴 방법
  3. Conjugate Gradient Method - 공액 기울기 방법
  4. Quasi-Newton Methods - 의사 뉴턴 방법
  5. Greedy Algorithm - 탐욕 알고리즘
  6. Steepest Descent - 최급강하법
  7. Gauss-Newton Method - 가우스-뉴턴 방법
  8. Levenberg-Marquardt Method - 레벤버그-마쿼트 방법

4. 계산 복잡도에 따른 분류

단순 계산 최적화 (Simple Calculation Optimization):

  1. Gradient Descent - 경사 하강법
    • Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
    • Mini-Batch Gradient Descent - 미니 배치 경사 하강법

복잡한 계산 최적화 (Complex Calculation Optimization):

  1. Newton's Method - 뉴턴 방법
  2. Conjugate Gradient Method - 공액 기울기 방법
  3. Quasi-Newton Methods - 의사 뉴턴 방법
  4. Genetic Algorithm - 유전 알고리즘
  5. Particle Swarm Optimization - 입자 군집 최적화
  6. Differential Evolution - 차등 진화
  7. Tabu Search - 타부 탐색
  8. Ant Colony Optimization - 개미 군집 최적화
  9. Complexity-Based Search - 복잡도 기반 탐색
  10. Orthogonal Array Search - 직교 배열 탐색
  11. Iterated Local Search - 반복적 지역 탐색

5. 정규화 기법

  1. Total Variation Regularization - 총 변동 정규화
  2. Ridge Regularization - 릿지 정규화
  3. Lasso Regularization - 라쏘 정규화

6. 강화 학습 알고리즘

  1. Q-Learning - Q-러닝
  2. Double Q-Learning - 더블 Q-러닝
  3. SARSA (State-Action-Reward-State-Action) - SARSA
  4. Deep Q-Network (DQN) - 딥 Q-네트워크
  5. Policy Gradient Methods - 정책 경사법
    • REINFORCE - REINFORCE
    • Actor-Critic - 액터-크리틱
    • Proximal Policy Optimization (PPO) - 근접 정책 최적화
    • Trust Region Policy Optimization (TRPO) - 신뢰 영역 정책 최적화
    • Advantage Actor-Critic (A2C, A3C) - 어드밴티지 액터-크리틱
    • Deep Deterministic Policy Gradient (DDPG) - 딥 결정적 정책 경사법
    • Soft Actor-Critic (SAC) - 소프트 액터-크리틱

7. 손실 함수

회귀 문제:

  1. Mean Squared Error (MSE) - 평균 제곱 오차
  2. Mean Absolute Error (MAE) - 평균 절대 오차
  3. Huber Loss - 후버 손실
  4. Log-Cosh Loss - 로그-코시 손실

분류 문제:

  1. Cross-Entropy Loss - 교차 엔트로피 손실
  2. Binary Cross-Entropy Loss - 이진 교차 엔트로피 손실
  3. Categorical Cross-Entropy Loss - 범주형 교차 엔트로피 손실
  4. Kullback-Leibler Divergence (KL Divergence) - 쿨백-라이블러 발산

일반화된 손실 함수:

  1. Hinge Loss - 힌지 손실
  2. Squared Hinge Loss - 제곱 힌지 손실

8. 정보 엔트로피

  1. Shannon Entropy - 섀넌 엔트로피
  2. Conditional Entropy - 조건부 엔트로피
  3. Joint Entropy - 결합 엔트로피
  4. Relative Entropy (Kullback-Leibler Divergence) - 상대 엔트로피 (쿨백-라이블러 발산)
  5. Mutual Information - 상호 정보
  6. Cross-Entropy - 교차 엔트로피
  7. Jensen-Shannon Divergence - 젠슨-섀넌 발산

9. 기타 개념

모델 평가 및 선택:

  1. Bias-Variance Tradeoff - 편향-분산 트레이드오프
  2. Cross-Validation - 교차 검증
  3. ROC Curve - ROC 곡선
  4. Precision-Recall Curve - 정밀도-재현율 곡선
  5. F1 Score - F1 점수

집합 학습 (Ensemble Learning):

  1. Ensemble Methods (e.g., Bagging, Boosting, Stacking) - 집합 학습 방법
  2. Gradient Boosting Machines (GBM): XGBoost, LightGBM, CatBoost - 그래디언트 부스팅 기법

차원 축소 (Dimensionality Reduction):

  1. Principal Component Analysis (PCA) - 주성분 분석
  2. Independent Component Analysis (ICA) - 독립 성분 분석
  3. t-Distributed Stochastic Neighbor Embedding (t-SNE) - t-분포 확률적 이웃 임베딩
  4. Autoencoders - 오토인코더

하이퍼파라미터 튜닝 (Hyperparameter Tuning):

  1. Hyperparameter Tuning (e.g., Grid Search, Random Search) - 하이퍼파라미터 튜닝
  2. Bayesian Optimization - 베이지안 최적화

심층 학습 (Deep Learning):

  1. Convolutional Neural Networks (CNNs) - 합성곱 신경망
  2. Recurrent Neural Networks (RNNs) - 순환 신경망
  3. Long Short-Term Memory Networks (LSTMs) - 장단기 메모리 네트워크
  4. Generative Adversarial Networks (GANs) - 생성적 적대 신경망

최신 연구 동향 및 기술:

  1. Transfer Learning (전이 학습) - 전이 학습
  2. Meta-Learning (메타 학습) - 메타 학습
  3. AutoML (자동화 머신러닝) - 자동화 머신러닝
  4. Semi-Supervised Learning (반지도 학습) - 반지도 학습
  5. Self-Supervised Learning (자기지도 학습) - 자기지도 학습
  6. Metric Learning (거리 학습) - 거리 학습

10. 고급 개념 및 최신 연구

고급 최적화 알고리즘:

  1. Second-Order Methods (BFGS 등) - 2차 미분 기반 방법
  2. Constrained Optimization (Lagrange Multipliers, SQP 등) - 제한 조건 최적화

분산 및 병렬 최적화:

  1. Distributed Computing (Horovod, TensorFlow Distributed 등) - 분산 컴퓨팅
  2. Federated Learning - 연합 학습

최신 알고리즘 및 모델:

  1. Transformers (BERT, GPT, T5 등) - 트랜스포머
  2. Graph Neural Networks (GNNs) - 그래프 신경망
  3. Self-Supervised Learning (SimCLR, BYOL 등) - 자기지도 학습

최적화 기법의 응용:

  1. Hyperparameter Optimization (Hyperband, Optuna 등) - 하이퍼파라미터 최적화
  2. Meta-Learning (MAML 등) - 메타 학습

MLOps (Machine Learning Operations):

  • MLflow - MLflow
  • Kubeflow - Kubeflow

Explainable AI (XAI):

  1. SHAP (SHapley Additive exPlanations) - SHAP
  2. LIME (Local Interpretable Model-agnostic Explanations) - LIME

11. 수학적 최적화 알고리즘 (Mathematical Optimization Algorithms)

선형 계획법 (Linear Programming)

  • 설명: 선형 관계식으로 구성된 제약 조건과 목표 함수를 가지는 최적화 문제를 해결하는 기법.
  • 예시: Simplex Algorithm, Interior Point Methods.

비선형 계획법 (Nonlinear Programming)

  • 설명: 비선형 관계식으로 구성된 제약 조건과 목표 함수를 가지는 최적화 문제를 해결하는 기법.
  • 예시: Gradient Descent, Newton's Method, Sequential Quadratic Programming (SQP).

혼합 정수 계획법 (Mixed Integer Programming, MIP)

  • 설명: 일부 변수는 정수로 제한되는 최적화 문제를 해결하는 기법.
  • 예시: Branch and Cut, Branch and Price.

동적 계획법 (Dynamic Programming)

  • 설명: 문제를 더 작은 하위 문제로 나누어 순차적으로 해결하는 최적화 기법.
  • 예시: Bellman Equation, Viterbi Algorithm.

제약 충족 문제 (Constraint Satisfaction Problems, CSP)

  • 설명: 주어진 제약 조건을 만족하는 해를 찾는 문제.
  • 예시: Backtracking, Forward Checking, Arc Consistency.

이진 결정 다이어그램 (Binary Decision Diagrams, BDD)

  • 설명: 불 대수 함수의 효율적인 표현과 조작을 위한 데이터 구조.
  • 예시: ROBDD (Reduced Ordered BDD), ZDD (Zero-suppressed BDD).

메타휴리스틱 (Metaheuristics)

  • 설명: 다양한 최적화 문제에 적용 가능한 일반적인 탐색 기법.
  • 예시: Genetic Algorithms, Simulated Annealing, Tabu Search, Ant Colony Optimization, Particle Swarm Optimization.

라그랑주안 최적화 (Lagrangian Optimization)

  • 설명: 제약 조건을 가진 최적화 문제를 해결하기 위한 방법.
  • 예시: Lagrangian Relaxation, Augmented Lagrangian Methods.

라그랑주 승수법 (Lagrange Multipliers)

  • 설명: 제약 조건이 있는 최적화 문제를 해결하기 위한 방법.
  • 예시: Method of Lagrange Multipliers.

이차 계획법 (Quadratic Programming)

  • 설명: 목표 함수가 이차 함수이고 제약 조건이 선형인 최적화 문제를 해결하는 기법.
  • 예시: Wolfe's Method, Interior Point Methods for QP.

유한차분법 (Finite Difference Methods)

  • 설명: 미분 방정식의 수치 해법을 찾는 방법.
  • 예시: Forward Euler Method, Backward Euler Method, Crank-Nicolson Method.

제약 최적화 (Constrained Optimization)

  • 설명: 제약 조건이 있는 최적화 문제를 해결하는 방법.
  • 예시: Penalty Methods, Barrier Methods.

실수 기반 최적화 (Real-Valued Optimization)

  • 설명: 실수 공간에서 최적화 문제를 해결하는 방법.
  • 예시: Hill Climbing, Simulated Annealing.

비선형 방정식 시스템 (Nonlinear Systems of Equations)

  • 설명: 비선형 방정식의 집합을 해결하는 방법.
  • 예시: Newton-Raphson Method, Broyden's Method.

이산 최적화 (Discrete Optimization)

  • 설명: 이산 변수로 구성된 최적화 문제를 해결하는 방법.
  • 예시: Integer Programming, Combinatorial Optimization.

다목적 최적화 (Multi-Objective Optimization)

  • 설명: 여러 개의 목표 함수를 동시에 최적화하는 방법.
  • 예시: Pareto Optimization, Weighted Sum Method, ε-Constraint Method.

+ Recent posts