728x90
논문링크
https://arxiv.org/pdf/1411.5726.pdf

Introduction


논문이 나온 시점에서 이미지에 설명하는 문제에 대해 이미지를 인간과 같은 방식으로 설명을 생성하는 관심이 생기고 있었다. 그 와 관련하여 Automatic evalution으로 Sentence evalution은 아직 어려운 분야였다. 

논문 이전의 Automatic evalution matric은 Precision 기반의 BLEU와 Recall 기반의 ROUGE가 있었다. 하지만 이러한 Metric은 Human evalution과 Automatic evalution의 Pearson correlation가 낮다고 표시된다. 이후 METEOR가 나오면서, 더 나은 Correlation을 보여주고 있지만 이미지 설명 평가를 할 수 없었다.

이미지 설명에 대해 평가를 할 수 있는 Automatic metric인 Consensus-based Image Desription Evaluation(CIDEr)에 대해 소개한다.

CIDEr의 방식은 다음과 같다.

Generated sentence의 각 n-gram을 Reference sentence에 대해 TF-IDF를 하고 평균을 통해 계산한다.

위와 같은 유사성 산출을 통해 다음 효과를 얻습니다.

  • Grammaticality
  • Correctness/truthfulness

다음 효과를 얻기 때문에 논문에서는 CIDEr을 제안한다.

 

The CIDEr Metric


Metric의 목표는 이미지 $I_i$에 대해 Candidate sentence, $c_i$가 이미지 설명 집합($I$) $S_i = \{s_{i1},..., s_{im}\}$ 에 대해 얼마나 유사한지를 통해 평가한다.

처음에는 Candidate sentence와 Reference sentence를 원래 형태로 매핑합니다("fishes", "fishing", "fished" - →  "fish") . 매핑한 후 1~4의 n-gram을 이용하여 계산합니다.

직관적으로 다음을 만족해야 한다.

Candidate sentence에서 많이 나타나는 n-gram은 적은 정보를 나타낼 수 있기 때문에 이에 대해 낮은 가중치를 주어야 한다. 

이를 위해 각 n-gram에 대해 TF-IDF 가중치 계산을 수행한다.

n-gram인 $\omega_k $에 대해 Candidate sentence인 $s_{ij}$에서 발생하는 횟수를 $h_k(s_{ij})$와 같이 표기하고, Candidate Sentence($c_i$)에 대해 $h_k(c_i)$로 표기한다. 각 n-gram인 $\omega_k$에 대한 TF-IDF 가중치 $g_k(s_{ij})$를 다음과 같이 계산한다.

$$ g_k(s_{ij}) = \frac{h_k(s_{ij})}{\sum_{ω_l \in Ω}h_l(s_{ij})}\text{log}(\frac{|I|}{\sum_{I_p\in I}min(1, \sum_qh_k(s_{pq}))}) $$

다음의 식에 대해 변수를 다시 한번 설명한다.

  • $s_{ij}$ : $s_i$에 대해 $j$번째 Reference Sentence
  • $h_k(s_{ij})$ : 참조 문장 $s_{ij}$에서 n-gram $\mathcal w_k$의 출연 횟수(빈도)
  • $\sum_{ω_l \in Ω}h_l(s_{ij})$ : 모든 문장에서 $I$의 단어의 총합
  • $\sum_{I_p\in I}min(1, \sum_qh_k(s_{pq}))$ : $I_p$에 대해서 해당하는 단어($h_k(s_{pq})$)가 있는지를 계산한다. 있다면 1, 없다면 0을 산출한다.
  • $\Omega$ : 모든 n-gram
  • $I$ : 모든 Sentence

$ g_k(s_{ij}) = \text{TF} \times \text{IDF} $ 와 같다. 첫째 항은 TF($\omega_k$의 빈도), 둘째 항은 IDF($\omega_k$ 의 희소성 )이다.

즉, 적게 나타난 단어에 가중치를 많이 주고 많이 나타난 단어에 가중치를 덜 주면서 $g_k(s_{ij})$를 계산한다.

 

다음은 길이가 n인 n-gram 대해  $\text {CIDEr}_n$ 점수는 Candidate sentence와 Reference sentence의 평균 Cosine similarity를 사용해 계산하며 Precision과 Recall을 모두 고려한다. Precision과 Recall이 고려되는 이유는 Cosine similarity를 이용해 중요한 정보를 얼마나 잘 포착하고 있는지, 그리고 불필요하거나 잘못된 정보를 얼마나 적게 포함하고 있는지를 종합적으로 평가하기 때문이다. 

$$ \text{CIDEr}_n(c_i,S_i) = \frac{1}{m}\sum_j\frac{g^n(c_i)\cdot g^n(s_{ij})}{||g^n(c_i)||||g^n(s_{ij})||} $$

여기서 $g^n(c_i)$는 길이 n의 모든 n-gram에 해당하는 $g_k(c_i)$ 벡터에 의해 형성된 벡터이고 $||g^n(c_i)||$은 벡터 $g^n(c_i)$의 크기다. 마찬가지로 $g^n(s_{ij})$에 대해서도 같다.

 

마지막으로, 우리는 문법적 특성뿐만 아니라 더 풍부한 의미를 포착하기 위해 더 높은 순서(길이가 긴)의 n-gram도 사용한다. 다음과 같이 다양한 길이의 n-gram의 점수를 결합한다:

$$ \text{CIDEr}(c_i,S_i) = \sum^P_{n=1}w_n\text{CIDEr}_n(c_i,S_i) $$

논문에서 균일 가중치 $w_n = \frac{1}{N}$이 가장 잘 작동한다는 것을 발견했으며, $N = 4$ 를 사용한다.