본문 바로가기

Project 🖥

project 07/14

아 굉장히 비효율적으로 코드를 짜서 쓸데없이 5000개의 document를 매번 임베딩하고 있었네..

한번에 sample 5000개와 target 5000개를 함수에 넣어서 비교할 수 있는데,

sample 1개, target 5000개를 넣어서 매번 계산하게 만들었어...

그래서 gpu를 쓰는데도 시간이 엄청 오래걸렸던거 훔,,

로그가 안보인다고 해서 가만히 있지말고 계속 확인하면서 세션 여러개 돌려보자

생각보다 겁이 많은 사람이라서 코드에도 겁이 참 많은 듯...

겁내지 말고 안되면 되게 만들면 되니까 괜찮아

Class Imbalance 관련

  • cross entropy loss : 잘못 예측한 경우에 패널티를 부여
    이 친구의 문제점은 잘 예측한 것에 대해서는 loss가 0이어서 패널티가 없다. 하지만, 잘못 예측하게 되면 그 값이 클수록 Loss는 -무한대까지 가게 된다. 패널티가 굉장히 커지게 된다. 
    클래스 1과 0에 해당하는 샘플에 대해서 0.95, 0.05로 잘 분류했다면,  둘의 Loss는 동일하게 들어가며 1에 해당하는 샘플이 훨씬 많다면 점점 더 1에 대한 학습이 많아지고 0에 대한 학습이 줄어들게 된다. 
  • balanced cross entropy : 데이터셋 내의 클래스가 불균형이 있을 때 minority class에 더 비중을 두어서 학습할 수 있도록 고려한 방법이다. 
    이 아이의 문제점은 단순히 개수가 많다고 해서 easy한 문제라고 판단하는 것이다. 데이터의 쉽고 어려움에 대해서 반영이 안된다.
  • focal loss : 이제 어렵고 쉬운 샘플까지 반영이 가능한 방법이다.
    위의 식에서 -(1-p)^gamma를 곱하여 gamma의 값을 잘 조절하여 성능을 높이는 것이다.

'Project 🖥' 카테고리의 다른 글

Naver AI rush 2022 회고  (0) 2022.08.23
project 07/19  (0) 2022.07.19