Tracker/notes

지도학습과 비지도학습 개념정리

keemnh 2025. 4. 30. 21:41

지도학습(supervised)·비지도학습(unsupervised)은 머신러닝(ML)의 핵심 학습 패러다임.

 

ML(머신러닝)

: 데이터로부터 통계적·수치적 패턴을 학습하는 분야 전체

  • 지도·비지도·세미지도 등 학습 방식 전체
  • 전통적 알고리즘(SVM, 랜덤포레스트, 회귀 등) 포함

 

 DL(딥러닝)

: ML 안에서 심층 신경망을 써서 복잡한 비선형 함수를 학습하는 하위 영역

  • ML 중에서 심층 신경망(neural network)을 활용하는 영역
  • CNN·RNN·Transformer 같은 아키텍처 예시

 

LLM(대형 언어 모델)

: DL로 구현된 거대한 트랜스포머 기반 모델

  • 주로 자기지도학습(self-supervised learning)(일종의 비지도학습) 기법을 통해 대규모 텍스트 코퍼스에서 패턴을 학습한 뒤 여러 과제에 파인튜닝하거나 프롬프트로 응용하는 형태.
  • DL의 하위 분류로, 특히 Transformer 아키텍처를 쓰고
  • 자기지도학습(self-supervised learning) 방식으로 대규모 텍스트를 예측 과제(다음 단어 예측 등)로 학습
  • 이후 여러 언어 처리 과제에 그대로 쓰거나, 프롬프트/파인튜닝으로 특화

 LLM은 언어(Language)에 특화된 모델이기 때문에

– 딥러닝(DL)은 이미지·음성·텍스트 등 모든 분야에 적용 가능한 ‘신경망’이라는 큰 틀을 가리켜

– LLM은 대규모 텍스트 코퍼스에서 패턴을 학습하도록 설계된 모델이라, 언어 처리 능력 자체가 핵심

 

 

Transformer 기반이란? 

• 전통적인 RNN/LSTM과 달리 ‘어텐션(attention)’ 메커니즘을 여러 층(layer) 쌓아 만든 구조

• 문장 내 모든 단어가 서로를 참고하면서 정보를 주고받는 ‘자기어텐션(self-attention)’이 핵심

• 입력 길이에 비례하는 행렬 연산으로 병렬 처리 효율이 높고, 긴 문맥까지 한 번에 고려할 수 있음

 

 

정리:

– 지도/비지도 학습은 ML의 ‘라벨 유무’ 기준 학습 방식이고

– DL은 그 학습 방식 위에서 신경망 모델을 쓰는 기법이며

– LLM은 DL 카테고리에 속하는, 텍스트 처리에 특화된 초대형 신경망 모델을 일컫는 말.

 

 

지도학습

입력(x)와 그에 대응하는 정답(y) 쌍을 전부 줘서 모델이 x→y 관계를 배우도록 하는 방식

  • 주로 ‘A면 B이다’ 식의 분류(classification)나 ‘A값이 B 정도다’ 식의 회귀(regression) 문제에 적용됨
  • 예시: 이메일 본문 텍스트와 “스팸/비스팸” 라벨로 스팸 필터 만들기, 집 면적·위치 등 특성(feature)과 실제 가격(label)으로 집값 예측 모델 학습하기
  • 학습과정
    1. 각 사진에 특징들을 숫자나 벡터 형태로 입력(x)
    2. 그 옆에 미리 붙여 둔 라벨(y)를 같이 줌
    3. 모델이 “이 특징 조합이면 라벨이 이렇게 나오겠구나”를 배움

 

비지도학습

라벨 없이 입력(x)만 주고, 데이터 안에 숨은 구조나 군집(cluster), 차원 축소(dimensionality reduction) 같은 패턴을 찾아내는 방식

  • 클러스터링은 비슷한 샘플끼리 그룹으로 묶고
  • PCA·t-SNE 같은 기법은 고차원 데이터를 보기 편한 저차원으로 압축할 때 쓰임
  • 예시: 고객 구매 내역만으로 비슷한 성향의 고객 군집화, 수백 개 변수 데이터에서 핵심 축 몇 개로 차원 축소

 

라벨(label)

→ 지도학습에만 쓰임

모델 학습할 때 ‘특정 입력(x)에 대응하는 정답(y)’를 의미.

  • 모델이 “이 샘플은 어느 클래스에 속하나?”를 알려 주는 정답 태그.
  • 예) 사진 A.jpg → “고양이” 라벨, 사진 B.jpg → “강아지” 라벨

 

특징(feature)

모델이 입력으로 받아서 학습에 쓰는 속성들.

예) 꼬리 길이, 귀 모양, 눈 크기, 털 색깔 같은 측정 가능한 정보

 

 

세미지도학습

  1. 자기 학습(self-training, pseudo-labeling)
    • 일단 지도학습처럼 가진 라벨 데이터로 모델 초기 학습
    • 그 모델로 라벨 없는 데이터에 “이 샘플은 고양이일 확률 90%”처럼 예측 값(의사 라벨)을 달아줌
    • 높은 확신을 보인 의사 라벨만 골라 다시 지도학습에 포함
    • 이 과정을 반복하면서 라벨 없는 데이터까지 점차 활용
  2. 일관성 규제(consistency regularization)
    • 라벨 데이터엔 일반 지도 손실(supervised loss),
    • 비라벨 데이터엔 입력에 약간의 노이즈(증강)를 줬을 때 예측이 크게 변하지 않아야 한다는 목적 함수(unlabeled consistency loss)를 추가
    • 라벨 없는 데이터에 약간의 노이즈(이미지 크롭·색 변화 등)를 줘도 결과가 일관되게 나오도록 학습하는 기법
  • 예) 입력 이미지에 색 대비·크기 변화 줘도 “고양이” 예측이 흔들리지 않도록 모델 학습
  • 라벨 있는 사진이 100장, 라벨 없는 사진이 1,000장 있다고 가정
1) 초기 지도학습
라벨 있는 100장만 써서 ‘고양이 vs 강아지’ 구분하는 모델 먼저 훈련
이때 x(이미지)와 y(라벨)가 쌍으로 들어가서 “이 특징 조합이면 고양이”를 배우는 단계

2) 의사 라벨(pseudo-label) 생성
훈련된 모델로 라벨 없는 1,000장에 대해 예측
예측 확신도가 높은(예: 95% 이상) 샘플에 “이건 고양이” 같은 임시 라벨 붙여 줌

3) 확신 샘플 재학습
라벨 100장 + 의사 라벨 붙은 몇백 장을 합쳐서 다시 지도학습
모델이 더 다양한 특징(특히 원래 라벨에 없던 패턴)을 배우도록 돕는 과정

4) 반복 또는 consistency 규제
이 과정을 몇 번 반복하거나(또는) 라벨 없는 데이터엔 입력을 약간 바꿔도(크롭·색 변형) 예측이 크게 달라지지 않도록 손실 함수 추가

결과적으로

– 라벨링된 100장만 있을 때보다

– 의사 라벨로 확장된 수백~수천 장 데이터를 활용해

– 지도학습의 예측 성능을 높이면서도

– 라벨링 비용을 크게 줄일 수 있는 절충안

간단히 말하면

‘조금만 라벨 주고 → 그걸로 모델 돌려 → 자신 있는 결과로 라벨 늘리고 → 다시 학습’ 하는 흐름이 세미지도학습 핵심

 

 

 

모델이란

모델이라는 건 결국 “입력(x)을 넣으면 출력(y)을 내놓는 함수”를 의미.

이 함수의 형태와 학습 방식이 바로 ‘어떤 모델을 썼냐’에 해당함.

  • 수학적 함수 혹은 알고리즘
    • 선형 회귀(linear regression): y = w·x + b 같은 간단한 직선 함수
    • 로지스틱 회귀(logistic regression): 분류용 시그모이드 함수
    • 결정 트리(decision tree): 조건문을 잎사귀까지 이어 붙인 트리 구조
    • 서포트 벡터 머신(SVM): 마진을 최대화하는 초평면(hyperplane)
    • 신경망(neural network): 다층 퍼셉트론(MLP), 합성곱신경망(CNN), 순환신경망(RNN), 트랜스포머(Transformer) 등
    • 파라미터(parameter)와 구조(architecture)
      • 파라미터 = 학습으로 구해지는 weight와 bias
      • 구조 = 층(layer)의 개수, 뉴런 수, 활성화 함수 종류 등
      • “모델을 학습시켰다”는 건 이 파라미터들을 수백 ~ 수십억 개를 주어진 데이터로 최적화한 걸 의미
  • 학습 방법(algorithm)
    • 경사 하강법(gradient descent), 확률적 경사 하강법(SGD), Adam 같은 옵티마이저(optimizer)
    • 배치 크기, 학습률(learning rate), 정규화(regularization) 기법 등도 모델 학습에 큰 영향을 줘
  • 하이퍼파라미터(hyperparameter)
    • 사용자가 직접 설정하는 값(예: 학습률, 에폭(epoch) 수, 배치 크기)
    • 모델 성능 튜닝(tuning)할 때 이 값을 조절하면서 최적 조합을 찾음

예를 들어 “이미지 분류를 위해 ResNet-50 모델을 학습했다”면

  • ResNet-50 = 모델 구조(50개 레이어로 된 잔차학습 residual learning 구조)
  • 내부 파라미터(필터 weight 등)는 학습 과정에서 최적화
  • 옵티마이저나 배치 크기, 에폭 수 같은 하이퍼파라미터도 설정한 상태

결국 “어떤 모델을 썼냐”는

  1. 어떤 알고리즘(혹은 아키텍처)을 선택했는지,
  2. 파라미터를 학습하기 위해 어떤 옵티마이저·학습률 등을 썼는지,
  3. 구조상 레이어 수나 뉴런 수 같은 세부 설정이 어땠는지를 묻는 거라고 보면 됨.

 

최적화(optimization)는

‘어떤 목표 함수(loss, 비용 함수)를 가능한 한 작게(혹은 크게) 만드는 파라미터 집합을 찾는 과정’을 의미.

머신러닝 모델은 입력 x와 정답 y 사이의 오차를 측정하는 손실 함수 L(θ;x,y)를 정의해 두고, 모델 파라미터 θ를 조금씩 바꿔가며 이 손실을 최소화하도록 학습함.

이때 파라미터 θ를 업데이트하는 알고리즘이 대표적으로 경사하강법(gradient descent) 계열.

 

예를 들어

• 순차적으로 전체 데이터에 대해 ∇θL을 계산해 한 번에 업데이트하는 배치 경사하강법

• 한 번에 일부(미니배치)만 뽑아서 계산하는 미니배치 SGD

• SGD에 모멘텀, RMSProp, Adam 같은 보정(term)을 붙여 수렴 속도·안정성을 높인 변형들이 있음.

학습률(learning rate), 배치 크기, 모멘텀 계수 같은 하이퍼파라미터를 조절하면서 ‘얼마나 빠르고 안정적으로’ 최적의 θ를 찾을지 제어하는 것.