Sentence-BERT 논문을 읽고 #9
intrandom5
started this conversation in
Ideas
Replies: 1 comment 1 reply
-
유의 깊게 봐야 할 것으로는, |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
도입부
기존의 BERT는 두 문장의 유사도를 평가하기 위해 두 문장을 토큰을 사이에 두고 모델 하나에 같이 넣어 처리했다.
이는 매우 느리고 비효율적임.
SBERT는 두 문장을 각각 BERT에 넣어서 처리하는 방법을 사용. 이는 모델이 각 문장마다 임베딩 공간에 매핑하는 것을 수행하는 것이다.
모델
문장 임베딩을 뽑아내기 위해 BERT에 Pooling output을 적용. Mean Pooling이 가장 효과가 좋았다.
학습은 siamese, triplet network를 통해 이뤄진다.
Classification Objective Function
NLI task(두 문장의 유사도를 classification하는 문제.)에 사용.
o=softmax(W_t(u,v,|u-v|))
문장벡터 u, 문장벡터 v, 두 문장벡터의 차이 |u-v|를 concatenate 한 뒤에, W_t weight를 곱한다.
Regression Objective Function
문장벡터 u와 v의 cosine similarity를 측정 후, mse loss를 통해 결과를 측정.
Triplet Objective Function
주어진 anchor 문장 a와, 유사한 문장 p, 유사하지 않은 문장 n이 주어졌을 때, 문장 a는 문장 n보다 문장 p와 더 유사해야 한다.
max(||s_a-s_p||-||s_a-s_n||+e, 0)
모델 평가
Unsupervised STS
Supervised STS
Argument Facet Similarity
Beta Was this translation helpful? Give feedback.
All reactions