사진을 설명하는 캡션이 아니라 친구가 사진을 보냈을 때 자연스럽게 반응하는 ‘이미지 코멘팅’ 과제를 정의하고 포토챗 베타에 적용한 연구 과정을 다룬다. 976명이 만든 대화형 이미지-텍스트 데이터로 CLIP 계열 retrieval 모델과 encoder-decoder 생성 모델을 비교해, 당시에는 구체성과 안정성이 높은 retrieval 방식을 선택했다.
핵심 포인트- 이미지 코멘팅은 사진 내용을 묘사하는 captioning과 달리 “맛있겠다”, “직접 만든 거야?”처럼 관계와 대화를 잇는 답변을 목표로 한다.
- AI Hub와 Open Images에서 일상 대화에 등장할 사진을 모으고, 친구에게 답하듯 구체적이되 공격적이지 않은 코멘트를 레이블링했다.
- Retrieval은 CLIP형 dual encoder와 InfoNCE loss, Generation은 Vision Transformer encoder와 GPT-2 계열 decoder를 사용했다.
- ViT, Swin, BEiT, DeiT를 비교한 결과 retrieval과 generation 모두 Swin Transformer가 가장 좋은 정량 성능을 냈다.
- 블라인드 인간 평가에서 retrieval의 SSA가 in-domain 0.7617, out-domain 0.6167로 generation의 0.4500, 0.3950을 앞섰다.
상세 정리- 문제 정의: 기존 루다는 사진을 인식하지 못해 정해진 일반 답변만 했다. 사진을 매개로 친구와 관계를 이어가는 별도 태스크가 필요했다.
- 데이터 기준: ‘아끼는 친구가 메신저로 사진을 보냈을 때 실제 사람이 하는 답장’을 목표 품질로 삼았다.
- 이미지 수집: 셀카, 음식, 반려동물 등 메신저에서 주고받는 범주를 만들고 AI Hub의 학습용 데이터와 CC-BY-2.0 Open Images를 선별했다.
- 코멘트 가이드: “귀엽다” 같은 일반 반응과 대상의 세부를 언급하는 구체적 반응을 모두 모았다. 부정적·공격적 표현은 금지했다.
- 레이블링 결과: 976명이 참여했고 코멘트 평균 길이는 약 11글자였다. 짧은 채팅 말투를 유지하면서 표현 다양성을 확보했다.
- Retrieval 구조: Text encoder와 Vision encoder의 positive representation 코사인 유사도는 키우고 negative는 줄이는 양방향 InfoNCE loss로 학습했다.
- Generation 구조: 이미지를 patch로 나눠 Transformer encoder가 표현하고, Transformer decoder가 autoregressive language modeling objective로 코멘트를 생성했다.
- Encoder 비교: 네 모델 모두 Hugging Face Base 구현을 사용했다. Retrieval R@1은 Swin 24.38로 가장 높았고 R@5 52.92, R@10 64.42를 기록했다.
- 생성 정량 평가: BLEU, METEOR, ROUGE-L, CIDEr, PPL 여섯 지표를 썼으며 Swin이 전반적으로 가장 좋은 결과를 냈다.
- 인간 평가 구성: 학습 분포와 비슷한 이미지 100개와 외부 이미지 100개를 준비하고, 세 평가자가 모델 출처를 모른 채 판단했다.
- 평가 지표: Sensibleness는 이미지와 모순되지 않는지, Specificity는 이미지 세부와 관련된지를 0·1로 표시하고 평균해 SSA를 만들었다.
- 모델 선택: 생성 모델은 “어디야?”, “맛있겠다” 같은 generic 답변이 많아 Specificity가 낮았다. Retrieval은 구체적인 후보를 그대로 고를 수 있어 우세했다.
- 일반화 한계: 두 방식 모두 out-domain에서 성능이 떨어졌다. Retrieval은 답변 단위 선택이라 세부가 다른 사진에 덜 유연해 하락폭이 더 컸다.
- 제품 적용: 베타에는 retrieval 모델을 사용했다. 사진 오인식과 후보 문장 표현력 한계, 후속 대화에 이미지 정보가 전달되지 않는 문제는 남았다.
- 다음 연구: 충분한 데이터로 생성 모델을 고도화하고, 여러 이미지·텍스트 문맥을 함께 처리하며, 사진 속 scene text까지 활용하는 방향을 제시했다.
왜 읽나멀티모달 기능을 제품에 넣을 때 과제 정의부터 데이터 가이드, 정량·정성 평가와 모델 선택까지 어떻게 근거를 쌓는지 볼 수 있다.