상세 컨텐츠

본문 제목

[주요 용어 정리] 지도학습과 비지도학습, 경사하강법과 손실 함수, 전이 학습, ResNet vs FaceNet, Triplet Loss

😎 지식/머신러닝 딥러닝🦾

by :부셔져버린개발자 2024. 12. 15. 13:36

본문

지도학습과 비지도학습

지도학습은 입력데이터와 해당하는 출력 레이블이 주어진 상태에서 학습하는 방식이다

비지도학습은 출력 레이블이 없는 데이터를 사용하여 패턴을 찾고 데이터를 그룹화하거나 구조를 학습하는 방법이다 

 


경사하강법과 손실함수

손실함수는 모델이 예측한 값과 실제 값 사이의 차이를 나타낸다

 

경사하강법은 손실함수(loss function)나 비용함수(cost function)을 최소화하는 방향으로

모델의 파라미터를 업데이트하여 최적의 모델을 찾는데 사용된다

다시말하면, 기울기가 0인 지점(최솟값)을 찾기 위해 기울기가 감소하는 방향으로 파라미터를 업데이트한다

 

경사하강법 원리

1. 모델의 파라미터(가중치, 편향)을 임의로 초기화한다

2. 손실 함수의 파라미터에 대한 기울기를 계산한다

3. 계산된 기울기를 사용하여 파라미터를 업데이트하며 파라미터는 현재값 - 학습률 * 기울기로 업데이트된다

4. 이 과정을 손실함수가 최소값에 도달할 때까지 반복한다

 

경사하강법의 종류

 

  • 배치 경사하강법 (Batch Gradient Descent):
    • 전체 훈련 데이터를 사용하여 기울기를 계산하고 파라미터를 업데이트합니다.
    • 모든 데이터를 한 번에 사용하므로 메모리와 계산 자원이 많이 소모됩니다.
    • 수렴이 안정적이지만, 큰 데이터셋에서는 느리거나 비효율적일 수 있습니다.
  • 확률적 경사하강법 (Stochastic Gradient Descent, SGD):
    • 훈련 데이터 중 하나의 샘플만을 사용하여 기울기를 계산하고 파라미터를 업데이트합니다.
    • 계산이 빠르고 자원 소모가 적지만, 수렴이 불안정할 수 있습니다.
    • 그러나 매우 큰 데이터셋에서 유용합니다.
  • 미니배치 경사하강법 (Mini-Batch Gradient Descent):
    • 훈련 데이터를 작은 배치로 나누어 각 배치에서 기울기를 계산하고 파라미터를 업데이트합니다.
    • 배치 경사하강법의 장점과 확률적 경사하강법의 속도를 결합한 방식입니다.
    • 대부분의 딥러닝에서 선호되는 방법입니다.

 

경사하강법 단점

지역 최적해에 빠질 수 있다

학습률이 너무 크면 발산하고 너무 작으면 수렴이 느릴 수 있다

 


 

 

전이 학습(Transfer Learning)

전이학습은 Source Task에서 학습한 지식을 Target Task에 적용하는 과정으로

이미 학습된 모델을 새로운 문제에 재사용하는 기법이다

 

대규모 데이터 셋에서 학습된 모델의 지식을 새로운 작업에 적용하여 학습 시간을 단축하고 성능을 향상시키는데 사용된다

 

전이학습 아이디어 

Feature Extraction (이미 학습된 모델의 일부 레이어를 고정하고, 새로운 데이터에 맞는 출력층만 재학습하는 방법)

Fine-tuning(이미 학습된 모델의 일부 레이어를 고정시키고, 나머지 레이어들을 새로운 데이터에 맞게 학습하는 방법)

 


 

ResNet vs FaceNet

목표 얼굴 인식 및 특징 임베딩 일반적인 이미지 분류 및 특징 추출
사용된 손실 함수 Triplet Loss 크로스 엔트로피 손실 (일반적으로)
구조 CNN 기반 + Triplet Loss (특징 벡터 생성) Residual Block + 깊은 CNN 모델
입력 데이터 얼굴 이미지 일반 이미지
출력 128차원 얼굴 특징 벡터 분류 결과 (예: 클래스 확률)
응용 분야 얼굴 인식, 인증, 군집화 등 이미지 분류, 객체 검출, 세그멘테이션 등
특징
특징 임베딩을 위한 학습, 얼굴 이미지에 특화됨 매우 깊은 네트워크, 여러 컴퓨터 비전 작업에 적용

 


 

Triplet Loss

손실함수의 한 종류, 샘플 간의 관계를 학습하고 거리 기반으로 임베딩을 최적화한다.

얼굴 인식, 이미지 군집화, 비슷한 객체 찾기 등 거리 기반 학습을 활용하는 분야에서 많이 사용된다.

세 개의 샘플을 비교하여 Anchor, Positive, Negative 사이의 거리를 조정하는 방식으로 학습한다.

 

Anchor : 기준이 되는 샘플

Positive : Anchor와 동일한 클래스를 가지는 샘플

Negative : Anchor와 다른 클래스를 가지는 샘플

 

그외 손실함수 : Mean Squared Error (MSE) Loss

사용 분야 : 회귀 문제

설명 : 예측값과 실제 값 간의 차이를 제곱하여 평균을 취한 손실 함수, 값이 클 수로 부정확하다는 것을 의미한다

 

y: 실제값, y^ : 예측값, N : 데이터 포인트의 수

 

728x90

관련글 더보기