3줄 요약
- softmax loss 를 2번(dual)하는데,
- Column 기준으로 1번, Row 기준으로 1번할 것이다.
- 이렇게 Loss 만 바꿨더니, 대부분의 모델 성능이 오른다.
논문의 가정은 이러하다
- 원래 Retrieval 분야의 loss 함수는 이렇게 2개를 각각 구해서 합친다.
- 첫번째 식은 video 1개를 넣었을 때, B개의 text 중 가장 유사한 걸 찾는 걸 의미한다.
- 두번째 식은 text 1개를 넣었을 때, B개의 video 중 가장 유사한 걸 찾는 걸 의미한다.
- 세번째 식은 2개의 LOSS 합이 최소화되도록 하여 정답을 맞추도록 유도한다.
- 여기서 기억해야 하는 건, 첫번째 식은 Video-to-Text 를 최대화하고, 두번째 식은 Text-to-Video 를 최대화한 것이다.
When a Text-to-Video or Video-to-Text pair reaches the optimal match, the symmetric Video-to-Text or Text-to-Video score should be the highest.
- 이 논문은 이러한 가설을 제시한다.
- Video-to-Text 의 최적화 지점은 곧 Text-to-Video 의 최적화와 같다.
예시로 이해해보다
- 위 그림은 Retrieval 예제다.
- 비디오: 구체적이고 다양하고 명확히 구분되는 특징을 볼 수 있다.
- 텍스트: 비디오에 비해 정보가 부족하고 애매한 경우가 많다. 예컨대 첫번째 텍스트는 매우 추상적이라서 막말로 모든 비디오에 붙여도 어울린다. 실제로 유사도 행렬을 보면, 첫번째 텍스트가 모든 비디오와 유사도가 높게 계산되어 있다.
- 실제로 inference 할 때도, 이런 점을 고려하지 않고 score를 구하기 때문에 성능이 방해를 받는다.
- 그래서 prior probability matrix 라는 걸 먼저 구한다.
- cross direction 으로 구해서 original matrix 에 곱하겠다는 의미다.
- 이때, prior probability 를 softmax 로 구하기 때문에 dual softmax 라는 이름이 붙는다.
- 이렇게 scaling 한 후 원래 softmax 연산을 취하면 양방향을 고려할 수 있다.
시각화하여 비교하다
- 잘 보면, 위쪽은 노란 점이 이상한 곳에 찍히는데 아래쪽은 대부분 대각선에 예쁘게 찍힌다.
- 저자는 2가지 장점이 있다고 이야기한다.
- 1) Filtering the outliers
- 2) Sharpening the crucial and confidence points
- 이건 위 예제에서 설명했던 거라서 더 자세하게 이야기하진 않겠다.
단점
- 실제, 그러니까 현실 세상에서 쓸 수 있는 방법인가? 보통 현실에선 Single Query 에 따라 답을 구할 수 있어야 하는데 이 방법론은 여러 개의 텍스트 쿼리가 동시에 들어오고 나서 구한 행렬이 필요하다.
이에 대한 논의는 추후에 나온 Sinkhorn 이라는 논문이 있다. 그걸 정리하려고 사실 이 글을 썼다.
참고 자료
https://arxiv.org/abs/2109.04290
https://dl.acm.org/doi/10.1145/3539618.3592064
'NLP > 용어정리' 카테고리의 다른 글
[용어정리] self-BLEU (0) | 2024.07.23 |
---|---|
[용어정리] LogSumExp (2) | 2024.02.06 |
[용어정리] SC: Self-Consistency (1) | 2024.01.09 |
[용어정리] MSE loss vs Cross Entropy loss (0) | 2023.04.11 |
[용어정리] reparameterization trick (0) | 2023.01.03 |