1.1 배경
VQA 시스템의 기본 구조는 일차적으로 convolutional neural network(CNN)를 이용하여 이미지정보를 이해하고, long short term memory(LSTM) 기반의 시계열 처리 모델을 활용하여 질문을 이해한 후 정답을 예측하는 방법으로 이루어져 왔다.
VQA( Visual Question Answering)는 시각정보를 활용한 질의 응답을 AI가 학습하는 시스템으로, VQA task는 이미지(Visual, 영상으로도 확장 가능)와 그 이미지에 대한 질문(Question)이 주어졌을 때, 해당 질문에 맞는 올바른 답변(Answer)을 만들어내는 task이다.
2016년도에 Yang. Z.이 CNN을 거친 이미지 정보를 LSTM의 입력으로 사용하는 VQA 모델을 처음으로 소개했다.
2017년 VQA 대회에서 region proposal CNN (Faster-RCNN)을 이용해 이미지 내 객체 후보군들을 먼저 알아낸 후, 이미지의 특징점을 활용하는 방안이 제안되었고 이후 VQA 연구는 대체로 Faster-RCNN을 사용하게 되었다.
이후 2018년도 VQA 대회에는 각 질문 특징점과 영상 특징점 쌍이 모두 고려되도록 하는 양방향 어텐션(billinear attention) 방법이 활용되어 최고 성적을 보였다.
가장 최근에는 ELMo, BERT와 같은 사전에 학습된 언어 모델을 활용하는 사례가 늘고 있는 추세이며, dual attention network (DAN) 기술을 활용해 질문정보와 이미지 정보간의 양방향 이해를 돕는 모델이 적용되었다.
1.2 학습과정
VQA 모델을 학습하기 위해서는 이미지와 질문에 대한 두 가지의 자질 생성이 필요하다.
본 과제에서는 기존에 제안된 연구를 토대로 한국어 VQA 모델 개발을 위해 CNN을 이용해 이미지를 이해하는(encoding) 방법을 사용했다.
본 연구에서는 비교적 가볍고 이미지 인식에서 좋은 성능을 보인 VGGNet 혹은 ResNet50의 마지막 히든 레이어 값을 이미지 자질로 사용했다.
질문 자질을 생성하기 위한 방법은 주로 word embedding과 LSTM을 활용한 모델을 사용한다.
학습 데이터의 입력으로 이미지와 질의(한국어), 응답(한국어)을 입력받는다.
베이스라인 모델
참조 코드 링크 제공
https://github.com/GT-Vision-Lab/VQA_LSTM_CNN
https://github.com/jiasenlu/HieCoAttenVQA
이중 질의 “이미지속에 몇 마리의 말이 있는가?”의 질문은 단어별로 하나의 벡터인 q가 되고 해당 벡터를 쌓아 매트릭스 Q로 만든다. 입력으로 받은 이미지는 ResNet 50을 백본으로 사용하여 추출된 자질 I를 생성한다.
이후 이미지의 지역정보 자질과, 질문의 단어자질을 양방향 어텐션(bilinear attention) 기법과 multi-layered perceptron (MLP) 기반의 분류기를 활용하여 정답을 예측하게 된다.
학습 도중 오류가 발생할 경우 Cross-Entropy 기반의 손실 함수를 활용하여 손실값을 구했으며, Adam-optimizer를 사용하여 역전파를 통해 오류에 대한 피드백을 반영했다.
주최 : 과학기술정통부, 한국정보화진흥원,
주관 : 유클리드소프트
운영 : AIFactory
참가 대상 : 시각정보 알고리즘 개발에 관심 있는 일반인, 학생, 기업 등 누구나 (단, 14세 이상)
https://aifactory.space 의 회원가입을 완료한 회원이 본 대회 참가를 할 경우에만 데이터 제공
회원가입 시 오류가 확인될 경우 가입 무효화 후 오류 메시지 팝업창 제시
"대회 규칙"에 대한 동의가 있어야만 대회 참가 가능
플랫폼 태스크 등록 및 경연대회 홍보: 2020.11.24
경연대회 : 2020.11.27 ~ 2020.12.06
1st랩 : 2020.11.27 ~ 2020.12.06, 23:59
※ 대회의 원활한 진행을 위해 일정은 변경될 수 있음.
랩은 총 1회를 진행하며, 총 상금 300만원을 지급합니다.
상금 및 수여팀은 다음과 같습니다.
랩 | 수여팀 | 상금 |
|---|---|---|
1st랩 | 대회 기간 중 체크 포인트 (Check Point Time)를 거친 후 대회 기간 동안 최고점수를 달성한 1등 참가자에게 상금 지급 | 1등: 300만원 |
체크 포인트 (Check Point Time)
1st랩 및 2nd랩은 대회 기간 중 참가자가 제출한 답안지와 주관사가 보유한 정답지의 %27비교 & 검증%27을 1시간 단위로 수행함.
※ 참가자가 팀인 경우 팀의 대표에게 지급함.
6.1 평가 방법
객관적인 성능 평가를 위해서 다음과같은 한국어 VQA성능을 측정 메트릭을 제안한다.
6.2 평가 과정
‘Public Score’는 리더보드 운영 기간 중에 확인 가능하며, ‘Private Score’는 리더보드 운영 기간 중에는 확인할 수 없으며, 대회 종료 이후에 공개됨.
단, Private Score는 마지막 제출 파일로 채점되므로, 참가자는 자신이 채점 받고 싶은 제출 파일을 최종적으로 갱신하여야 함.
랩별 종료일 이전에 목표점수 도달 시 리더보드 운영을 종료하고, Private Score 1순위 참가자는 AIFactory로 정해진 코드 양식에 맞는 코드파일과 제공되는 양식에 맞는 설명자료를 제출함.
평가는 다음과 같은 과정으로 이루어짐.
A. 공개 랭킹 (Public Score): 대회 중 Test 데이터의 일부로 채점함.
B. 최종 랭킹 (Private Score): Public Score에서 사용하지 않은 Test 데이터의 나머지로만 채점함 (랭킹에 사용되는 Test 데이터의 비율은 공개되지 않음).
C. 종합 최종 랭킹 (Final Private Score): 랩별 대회기간 안에 정해진 코드 양식에 맞는 코드파일과 제공되는 양식에 맞는 설명자료를 제출한 상위 참가자 팀들을 대상으로 다음의 평가 기준을 바탕으로 종합 최종 랭킹을 공개함.
평가기준 | 평가비율 |
|---|---|
Public Score 순위 | 100% |
Private Score 순위 | 0% |
※ 아래 내용에 대해서 동의 후 대회 참가할 수 있음.
7.1 외부 데이터 사용 관련
외부 공공 데이터 사용이 가능하나, 코드 제출 시 함께 제출
공공 데이터 외의 외부 데이터는 법적인 제약이 없는 경우에만 사용 가능
외부 데이터를 크롤링할 경우, 크롤링 코드도 함께 제출
7.2 팀 참가 관련
한 팀의 인원 제한은 없음.
팀 대표 1인만 대회참가 신청
제출은 반드시 팀 대표 1인의 아이디로 제출
팀이 수상하는 경우 팀 대표에게만 상금 지급