본문 바로가기
Computer Science/Artificial Intelligence

[인공지능] SP09. Regularization

by na1-4an 2023. 12. 9.

0. Overfitting

  • training 데이터와 다른 값들이들어오면 loss가 커짐.
  • generalization과 반대! 

1. Regularization techniques

  • generalization하게 만들기 위한 방법들의 집합.

9-1 Explicit regularization

1. Explicit regularization

  • g[ϕ]: 매개변수가 덜 선호될 때 큰 값을 반환하는 스칼라를 반환하는 함수.
    • 어떤 매개변수를 덜 선호하도록 유도
  • λ: 원래 손실 함수와 정규화 항의 상대적인 기여를 제어하는 양의 스칼라.

  • a) Gabor모델의 손실함수
  • b) 중심에서 멀어질 수록 증가하는 패널티를 추가해 매개변수가 중심에 가까워지도록 유도
  • 최종 손실함수는 원래 손실함수 + 정규화 항의 합

 

2. 확률적 해석

  • 기존의 최대 우도 기법에서 사전 확률을 고려해 파라미터를 조정한다고 생각할 수 있음!

  • negative log-likelihood loss적용

 

3. L2 regularization

  • 그렇다면 어떤 솔루션에 대해 패널티를 주어야하는가!
  • 파라미터 값의 제곱의 합에 패널티 부여.
  • = tikhonov regularization =  ridge regression = frobenius norm regularization

 

4. 가중치 감소

  • L2정규화는 bias에는 적용되지 않고, 가중치에만 적용되어 weight decay라고 함.
  • 더 작은 가중치를 촉진해 출력 함수를 부드럽게 만듦.

람다 값이 커질 수록 급격해지는 부분이 smooth해짐.

 

5. 성능을 향상시키는 두 가지 이유

  • 학습데이터에만 절대적으로 따르려는 것과 smoth해지는 욕망 모두 작동 (모델은 꼭 모든 데이터 포인트를 지나가려고 하지 않아도 됨.)
  • over-parameterized된 모델은(정규화 항이 추가된) 훈련데이터에만 지나치게 의존하지 않고 새로운 데이터를 더 잘 학습.

 

9-2 Heuristices to improve performance

1. Early stopping

  • 완전히 수렴하기 전에 훈련을 멈추는 것.
  • val_data의 성능이 T 반복마다 한번씩 저장됨. 
  • (c)나 (d)에서 early stop됨.

 

2. Ensemble

  • 여러 모델들을 구축하고 그들의 예측을 평균화.
  • 이런 모델 그룹을 Ensemble이라고 함.
    • 회귀 문제 - 모델 출력의 평균/ 출력의 중앙값
    • 분류 문제 - pre-softmax 활성화의 평균/ 가장 빈번하게 예측된 클래스
  • 가정: 모델의 오류가 독립적이고, 상쇄될 것.
  • 그렇다면 어떻게 여러 모델을 만들지!?
  • (1) 서로 다른 랜덤 초기화를 사용. - 초기 가중치 무작위 초기화.
  • (2) boot strap aggregation. - 훈련 데이터를 복원 추출해 서로 다른 데이터셋을 생성하고, 다른 모델 훈련.
  • (3) 서로 다른 하이퍼파라미터로 모델 훈련시키기
  • (4) 완전히 다른 종류의 모델을 훈련시키기

 

3. Dropout

  • SGD의 각 반복에서 hiddden 유닛의 일부를 무작위로 제거.
  • 모델이 특정 hidden 유닛에 의존하지 않도록 유도.

  • 그렇다면 테스트는 어떻게 하냥!
  • (1) The weight scaling inference rule
    • 모든 은닉 유닛을 활성화해 평소처럼 학습시킴.
    • 그러나 훈련에서보다 더 많은 은닉 유닛이 있으므로 가중치에 (1-(dropout 확률))을 곱해준다.
  • (2) Monte Carlo dropout
    • 무작위로 선택된 은닉 유닛의 부분 집합을 활성화시킴.

 

4. Applying noise

(1) input에 노이즈 추가

 

(2) weight에 노이즈 추가

   가중치를 작은 변화에도 합리적인 예측을 하도록 격려. 가중치에 덜 민감해짐.

   훈련은 가중치가 크게 바뀌어도 중요하지 않은 넓고 평평한 영역의 로컬 최소값으로 수렴 ? ? ? 

(3) label에 노이즈 추가

   정답에 대해서는 높은 확률, 정답이 아닌 레이블에 대해서는 작은 비슷한 확률들 부여.

   훈련 반복에서 레이블을 무작위로 변경하므로서 실현.

 

5. Transfer learning and multi-task learning

train data가 제한적이 경우 다른 데이터 셋을 활용!

(1) 전이 학습

  • primary task에 대해서는 제한된 레이브 데이터가 있지만, secondary task에는  풍부한 데이터가 있는 경우 사용.
  • 아래의 그림에서 Depth는 primary task이고, Segmention이 secondary task이다.
  • Segmentation 모델을 훈련하고 최종레이어만 제거하고 Depth 레이어로 교체한다.
  • 그 뒤 전체 모델에 대해 fine-tuning한다.

(2) 멀티 테스크 학습

  • 하나의 모델이 여러 작업을 동시에 학습하도록함.
  • 동시에 학습되면 각 작업에 대한 모델 성능이 향상.

 

6. Self-supervised learning

  • Generative self-supervised 학습
    • 자신의 데이터의 일부를 제거하고 이를 완성하도록 학습시킴.
    • 이미지의 경우, 구멍 뚫어놓고.
    • 텍스트의 경우 단어 누락.
  • Contrastive self-supervised learning
    • 공통점이 있는 예제 쌍과 무관한 쌍과의 비교.
    • 이미지의 경우, 두 이미지가 서로의 변형 버전인지 또는 서로 무관한지를 식별
    • 텍스트의 경우, 두 문장이 원래 문서에서 이어지는 것인지를 결정

 

7. Augmentation

  • 데이터 증강: 추가 훈련 데이터를 생성
  • 이미지의 경우, 회전, 뒤집기, 흐리게 하거나 색상 균형을 조작.
  • 동의어로 대체하거나 다른 언어로 번역하고 다시 번역.

 

1. Regularization은 손실함수에 항을 추가해 최솟값의 위치를 변경하는것.
2. 이 용어는 사전 확률로도 해석됨.
3. 일반화를 향상시키기 위한 여러 휴리스틱이 존재함.
얼리 스톱핑 • 드롭아웃 • 앙상블 • 베이지안 접근법 • 노이즈 추가 • 전이 학습 • 멀티태스크 학습 • 데이터 증강