3-2/기계학습

11주차-Loss Function Design

Donghun Kang 2024. 12. 7. 21:42
  • Feature Extractor & Classifier

1. 입력 벡터 x가 주어진다.
2. 네트워크 레이어 W를 통과하며 hidden feature a를 생성한다.
=> 최종 hidden feature a[L-1]은 Feature Vector(Embedding Vector)로 사용 
3. Feature Vector v는 classifier g()를 통해 모델의 예측값 yhat으로 변환

 

  • Feature Embedding Space

- Embedding Vector v: 각 데이터 포인트가 Embedding space에 매핑된 Vector
- yij = 1: 두 샘플이 같은 클래스에 속한다.
- yij = 0: 두 샘플이 다른 클래스에 속한다.
- Easy Sample: 분리가 잘 된 샘플
- Hard Sample: 분리가 어려운 샘플

 

  • Contrastive Loss
- 두 벡터가 같은 클래스인지 다른 클래스인지에 따라 거리를 계산하고 조정하는 Loss Function
<수식>

<작동 원리>


<Weakness>
- 적절한 margin m을 setting하기 어렵다

 

  • Triplet Loss
- Anchor, Positive, Negative로 구성된 sample 삼중쌍을 사용해 학습
- Anchor과 Positive는 같은 클래스 / Anchor과 Negative는 다른 클래스
<수식>


<작동 원리>


<Weakness>

- 좋은 triplet을 구성하는 것이 까다롭다.

 

  • Center Loss
- 각 클래스의 중심과 데이터 샘플 간의 거리를 최소화하여 Intra-Class Variance를 줄이는 Loss Function
- 주로 분류 문제에서 사용되며, Softmax Cross-Entropy Loss와 함께 사용 가능
<수식>
* CE Loss(Cross-Entropy Loss)

<작동 원리>

1. 입력 데이터 x가 Feature Extractor f()를 통과하여 FeatureVector v를 생성
2. WEight Matrix W를 통해 최종 Embedding Vector z로 변환
3. Softmax를 통해 모델 예측 확률 p를 생성


<Weakness>

- Inter class Validation: 같은 클래스 내 샘플들이 서로 얼마나 가까운지를 나타냄
- Intra class Validation: 서로 다른 클래스 간 샘플들이 얼마나 멀리 떨어져 있는지를 나타냄
=> Center Loss의 의도
1. Intra class Validation 감소: 같은 클래스의 샘플들이 서로 가까워지도록 유도
2. Inter class Validation 증가: 사로 다른 클래스 간의 거리를 최대한 넓힌다.  

EX)

λ 작을 수록 클래스 간 경계가 명확하지 않다.

 

  • Proxy-based Loss
- 각 클래스에 대해 하나의 Proxy Vector W를 설정하고, 데이터 샘플의 Embedding Vector v와 Proxy Vector간의 유사도를 최적화하는 Loss Function
- 주로 분류 문제에서 사용되며, Embedding Vector가 해당 클래스의 Proxy에 가까워지도록 유도

<수식>

 

<작동 원리>
1. Embedding Vector v는 Feature Extractor f()를 통해 생성
2. 각 클래스의 Proxy Vextor Wi와의 내적 또는 Cosine Similirity를 통해 점수 zi를 계산
3. Softmax함수를 통해 예측 확률 p를 생성하고 Cross-Entropy Loss를 계산
4. v가 실제 클래스의 proxy Wi에 가까워지도록 조정

<주요 개념>

 

  • Generative Adversarial Networks(GANs)
- Generator와 Discriminator가 서로 경쟁하며 학습되도록 설계된 생성 모델

<Generator의 목표>
임의의 분포로 부터 샘플한 z에서 real 같은 fake data를 생성

<Discriminator의 목표>
Genrator가 만든 fake data와 training set으로 부터 가져온 real data를 구분함

EX)

 

  • Minmax Loss
- GAN의 학습 과정은 Minmax 게임으로 표현된다,
<수식>

<Discriminator 관점>
- 진짜 데이터 x에 대해서는 D(x)=>1
- 가짜 데이터 G(z)에 대해서는 D(G(z))=>0이 되도록 최대화

<Generator 관점>

- Disciminator가 생성한 가짜 데이터 G(z)를 진짜라고 판단하도록 D(G(z)) => 1이 되도록 최소화

 

'3-2 > 기계학습' 카테고리의 다른 글

12주차-Learning Strategies  (0) 2024.12.07
10주차-Multi-class Classification  (1) 2024.12.01
9주차-Activations, Implementation Details of Neural Network  (0) 2024.11.27
8주차-Neural Network  (0) 2024.11.27
7주차-Regularization  (1) 2024.10.27