새소식

부스트캠프 AI Tech 4기

[WEEK06-07] 의미 유사도 판별(Semantic Text Similarity, STS) 대회 Wrap-up 및 회고

  • -

프로젝트 Wrap-up 및 회고 링크

 

 

 


 

  • 라벨 불균형 문제는 실제로도 많이 발생하는데, Augmentation 말고 어떤 방법으로 해결할 수 있을까?
    • Undersampling 방식을 활용해서도 불균형 문제를 해결해볼 수 있을 것 같습니다.
    • 또 Weighted Loss function을 사용하여서 불균형 문제를 해결해볼 수 도 있을 것 같습니다. 클래스 분류 task라면 Cross Entropy에 Gamma와 Weight를 추가해 잘 맞추는 클래스에 대한 Loss 값을 줄여 갱신 속도를 늦춰주는 Focal loss를사용할 수 있을 것 같습니다. 그런데 만약 이번 프로젝트처럼 점수를 예측하는 STS task라면 클래스를 예측하는 것이 아닌데, 이런 경우에는 weighted loss를 사용할 수 있는 방법이 있을까요? 아니면 2 step으로 유사한지 유사하지 않은지를 먼저 분류하는 모델링을 만든 뒤에, 각각의 분류에 따라서 점수를 예측하는 모델을 통해 예측하도록 한다면, 유사한지 아닌지 분류하는 모델링에서 weighted loss를 사용하는 것이 라벨 불균형의 문제를 해소할 수 있다고 말할 수 있을까요?
    • 모델 앙상블을 통해 라벨 불균형 문제를 해소한다고 볼 수도 있을까요?
    • 우선 일반적인 방법들을 설명해주시면 됩니다! 잘 설명해 주신것 같습니다. 분류의 경우 말씀해주신것고 같이 focal 같은 손실함수를 사용하실 수 있죠. 리그래션의 경우에는 로스 자체를 변경한다기 보다는 샘플에 가중치를 주는 방향으로 시도해볼 수 있을 것 같아요. 적은 라벨 샘플의 로스는 많이  반영되게, 많은 라벨 샘플의 로스는 적게 반영 되게! (32, 1) 텐서가 결과로 나왔으면 32개의 로스를 평균내는것이 아니라 각각 가중치를 적용해주는 방법입니다!
      0~1 1~2 2~3 3~4 4~5 이렇게 구간을 나눠서 분류를 한뒤 그 안에서 점수를 예측하게 한다면, 어느정도 문제를 완화하기 위한 노력으로 볼 수 있을것 같습니다.
      앙상블! https://bmcmedinformdecismak.biomedcentral.com/articles/10.1186/s12911-022-01821-w 이런 논문도 있습니다! 어떻게 활용하느냐에 따라 달라질거 같아요.
  • Contrastive learning과 triplet loss에 대해서 설명해주세요
    • Contrastive learning은 metric learning을 위한 여러 학습 방법 중 하나입니다. 일반적인 학습은 feature간의 decision boundary를 찾도록 학습하지만 Contrastive learning은 이름에서 알 수 있듯이 positive pair와 negative pair 같은 대조군들을 사용해 Embedding space를 유사하지 않은 feature는 멀리 떨어지도록 학습합니다.
    • Triplet loss는 Contrastive learning을 위해 사용한 손실함수로, 유클리드 거리기반 손실함수입니다.  Triplet이라는 이름처럼 anchor(기준 데이터)와 positive, negative를 받아서 anchor와 positive의 거리는 가깝게, anchor와 negative의 거리는 멀리 할 수 있도록 하는 손실함수 입니다.
  • Contrastive learning에도 굉장히 다양한 손실함수 들이 존재하는데, triplet loss를 선택하신 이유는 무엇인가요?
    • Contrastive loss의 경우 Positive pair는 거리가 0, Negative는 특정 margin값이 되도록 학습하기 때문에 많이 차이가나는 Negative sample이나 적게 차이나는 Negative sample이나 동일한 margin 값이 되도록 학습된다는 문제점이 있습니다. 이에 반해 Triplet loss는 상대적인 거리 차리를 학습할 수 있기에 해당 loss function을 선택했습니다.
    • 그 밖의 다양한 손실함수에 대해서는 찾아보지 않고 저 2개를 비교해서 더 좋아보이는 함수를 선택했었는데,  그 밖의 다른 손실함수에 대해서 왜 사용해보지 않았냐고 질문이 들어오면 그 때는 다른 손실함수를 고려하지 못하였는데, 다음번에 metric learning을 하게되면 다른 손실함수들도 고려해보겠다고 답변을 해도 괜찮을까요?
    • 우선 설명과 답변은 잘해주신것 같아요.
      솔직하게 답변하는 것도 좋지만, 약간의 거짓을 섞어 어떤 로스들이 후보에 있었고 어떤 장단점이 있어서 triplet.loss를 선택하게 되었다. 고 준비하시면 더 좋을 것 같습니다!

 

728x90
Contents