발표자: 김경민 (서울대 박사과정)
발표일: 2017.6.
현재 서울대학교 바이오지능연구실 박사과정이고 써로마인드로보틱스 책임연구원으로 있으며, 관심분야는 딥러닝을 활용한 대화/질의응답 시스템, 비디오 마이닝, 지식베이스 구축입니다.
개요:
비디오 스토리에 대한 질의 응답 문제는 실세계의 시각과 언어를 모두 다루고 있기 때문에 인간수준 인공지능을 달성하기 위해 중요한 문제이다.
본 세미나에서는
비디오 스토리 질의응답을 위한 ‘뽀로로QA’ 데이터셋을 소개한다.
‘뽀로로QA’는 20.5시간 분량의 만화 비디오 ‘뽀로로’의 16,066개 화면-대화 쌍, 27,328개의 화면 설명 문장과 8,913개의 스토리 관련 질의 응답 쌍을 포함한다.
그리고
딥러닝을 활용한 비디오 스토리 질의응답 모델인 심층 임베딩 메모리망을 소개한다.
심층 임베딩 메모리망은 비디오의 화면-대화 스트림을 은닉 임베딩 공간에 매핑시킴으로써 스토리를 이해한다.
6. 기계학습을 활용한 전형적인 NLP 문제는 함수 f_1을 근사화
예> 감성분석
f_1(s) ∈ [0,1] where s is a sequence of tokens
때로는 좀 더 어려운 NLP 문제도 존재
예> 문장간 내용 유사도 측정
f_2(s1,s2) ∈ [0,1] * c where c is a rescaling factor
비디오 질의응답 문제는 함수 f_2에서 비디오를 추가로 고려
f_3(v, s1, s2) ∈ [0,1] where v is a video
비디오 스토리 질의응답 문제 (2/2)
문제 정의
7. 왜 만화 비디오 시리즈를 사용했는가?
7
데이터
어린이 만화 비디오 시리즈
‘뽀로로’의 특징
쉬운 문장
간단 명료한 스토리 구조
• 에피소드당 평균 7.2 분
• 비슷한 이벤트 반복발생
작은 규모의 환경
• 총 단어 종류: 3,729
• 총 등장인물 수: 13
-> 스토리 질의응답 문제의
테스트베드로써 적절 만화 비디오 ‘뽀로로’
8. 데이터 수집을 위한 웹사이트 구축
8
데이터
비디오
컨텐츠
QA (또는화면 설명문) 입력칸
QA를 특정 화면&대화쌍에
배치
화면
(animated
GIF)
대화
(자막)
9. 데이터 (1) – 화면 설명문
9
데이터
Loopy, Poby, Crong
and Eddy are
discussing something
except Pororo.
Pororo are going to
the cave.
Pororo is covered up
in snow resembling a
snowman.
Pororo is away
from
his friends.
Someone is taking a book
from the shelf.
Eddy is holding a book
and talking.
Poby is saying hello
by raising his right paw.
• 화면 설명문 예시
10. 데이터 (2) – QA
10
데이터
-That is we are gonna do -Okay, I am going down
the slide
-It is all done
Let’s go to my place
Q: What does Pororo do to listen the secret?
-Want to change
crongcrongcrong
- (Narration) Crong wanted to
play with the toy plane
-No thanks
Q: Does Pororo accept to change the plane with the car?
Scene
Dialogue
QA
A1: Pororo becomes a snow man. A2: Pororo hides behind the tree.
A3: Pororo becomes a joker. A4: Pororo plays with Crong.
A5: Pororo hides behind the Eddy.
A1: No, he doesn't accept. A2: Yes, he accepts to change.
A3: Yes, He likes the green car. A4: He accepts because he likes Crong.
A5: He accepts to give Crong both the car and the plane.
Scene
Dialogue
QA
• QA 예시
11. 데이터 통계 – 화면 설명문
27,328 개 화면 설명문
화면 설명문 하나당 평균 문장 / 단어 개수: 1.7 / 13.6 개
웹사이트에서 문법과 철자 오류 자동 교정
PororoQA와 MovieQA의 화면 설명문의 비교설문조사 결과
각 데이터 셋으로부터 100개의 샘플 추출
10명의 참가자가 0~1점 사이의 점수 부여
11
데이터
MovieQA* PororoQA
화면 설명문이 비디오의 시각정보로 얻을 수
있는 내용만 서술하고 있는가?
0.46 0.75
화면 설명문이 빠뜨린 정보없이 화면을 정확
히 설명하고 있는가?
0.40 0.71
* Makarand Tapaswi, Yukun Zhu, Rainer Stiefelhagen, Antonio Torralba, Raquel Urtasun, and Sanja Fidler. MovieQA: Understanding Stories in Movies through Question-Answering. In Proceedings of CVPR, 2016.
12. 데이터 통계 - QA
8,913 개 QA 쌍
가이드라인을 따르지 않은 ‘모호한’, ‘스토리 무관한’ 질의 제거
에피소드 1개당 평균 QA 개수: 약 52개
질의 유형별 예제와 통계
12
데이터
Type Example Ratio
Action What did Pororo do with the egg? 0.20
Person Who lives in the forest? 0.18
Abstract What is the main event of Pororo day? 0.16
Detail What does the little penguin wear? 0.15
Method How did the Crong introduce himself? 0.06
Reason Why did Pororo take egg to home? 0.06
Location Where is the small village situated? 0.04
Statement What did the dinosaur say first? 0.03
Causality What happens with Crong reaches the bottom of the hill? 0.03
Yes/No Did Pororo took shelter with Poby? 0.03
Time When did Pororo and his friends stop sliding downhill? 0.02
13. 데이터 통계
질의 유형별 통계
비디오 분석에 대한 다양한 데이터셋 비교
13
데이터
Dataset
TACoS M.L
[Rohrbach et al., 2014]
MPII-MD
[Rohrbach et al., 2015]
LSMDC
[Rohrbach et al., 2015]
M-VAD
[Torabi et al., 2015]
MSR-VTT
[Xu et al., 2016]
TGIF
[Li et al., 2016]
MovieQA
[Tapaswi et al., 2016]
PororoQA
(ours)
# videos 185 94 202 92 7,000 - 140 171
# clips 14,105 68,337 108,503 46,589 10,000 100,000 6,771 16,066
# sent. 52,593 68,375 108,470 46,523 200,000 125,781 N/A 43,394
# QAs - - - - - - 6,462 8,913
Domain Cooking Movie Movie Movie Open Open Movie Cartoon
Coherency X X X X X X X O
14. 14
U, W, V
은닉 유닛들은 연속된
벡터공간에서 오래 전 데이터
정보를 저장
길이가 매우 긴 입력 데이터가
주어진다면 은닉 유닛 벡터는
제한된 저장 공간에 많은 입력
정보를 저장해야함
ⓒ 2017 SNU Biointelligence Laboratory, http://bi.snu.ac.kr/
input
input
input
hidden
hidden
hidden
output
output
output
time
U U U
W W W
V V V
inputhiddenoutputU
W
V
unfold
st = tanh(Uxt + Wst-1)
yt' = softmax(Vst)
메모리가 필요한 순환 신경망
모델
15. 15
2017년은 앞으로의 산업계를 완전히 바꿔
놓을 새로운 기술이 본격 자리 잡는 한 해가
될 것이다. 앞으로 업계 변화를 주도할
기술은 무엇일까.
…
두 번째는 머신러닝(기계학습)을 통한
창조성 강한 디자인 등장이다. 머신러닝은
학습을 통해 사물을 구별하고 이를
바탕으로 새로운 것을 창조하는 단계에
이르렀다. 최근 `디자인 그래프`라 불리는
프로젝트로 구현됐다.
…
Q. 머신러닝으로 새로운 디자인을 창조하고자 하는
프로젝트 이름은 무엇인가?
QA 모델
A. 디자인 그래프
input
input
input
hidden
hidden
hidden
U U U
W W WW
input
input
input
hidden
hidden
hidden
U U U
W W W
…
문서 정보를 담고 있는 은닉 벡터
Question representation
질의 정보를 담고 있는 벡터
X
답변 생성
순환 신경망으로 QA 모델 만들기
모델
16. 16
앞방향 재현 신경망: 원본 문장의 가장 앞의 단어부터 인코더 재현 신경
망의 입력으로 주어짐
뒷방향 재현 신경망: 원본 문장의 가장 뒤의 단어부터 인코더 재현 신경
망의 입력으로 주어짐
인코더 재현 신경망의 은닉 유닛은 앞방향 / 뒷방향 재현 신경망의 은닉
유닛을 단순 이어붙임 (concatenation)
ⓒ 2017 SNU Biointelligence Laboratory, http://bi.snu.ac.kr/
inp
ut
inp
ut
inp
ut
hidde
n
hidde
n
hidde
n
U U U
W W W
inp
ut
inp
ut
inp
ut
hidde
n
hidde
n
hidde
nU U U
W W W
inp
ut
inp
ut
inp
ut
hidde
n
hidde
n
hidde
n
U U U
W W W W
hidde
n
hidde
n
hidde
n
W’ W’ W’
hidde
n
hidde
n
hidde
n
W’ W’ W’
hidde
n
Hidd
en'
hidde
n
W’ W’ W’ W’
U’ U’ U’ U’ U’ U’ U’ U’ U’
해결책1: 양방향 순환 신경망 (bi-directional RNN)
모델
17. 17ⓒ 2017 SNU Biointelligence Laboratory, http://bi.snu.ac.kr/
2017년은 앞으로의 산업계를 완전히 바꿔
놓을 새로운 기술이 본격 자리 잡는 한 해가
될 것이다. 앞으로 업계 변화를 주도할
기술은 무엇일까.
…
두 번째는 머신러닝(기계학습)을 통한
창조성 강한 디자인 등장이다. 머신러닝은
학습을 통해 사물을 구별하고 이를
바탕으로 새로운 것을 창조하는 단계에
이르렀다. 최근 `디자인 그래프`라 불리는
프로젝트로 구현됐다.
…
Q. 머신러닝으로 새로운 디자인을 창조하고자 하는
프로젝트 이름은 무엇인가?
QA 모델
A. 디자인 그래프
input
input
input
hidden
hidden
hidden
U U U
W W WW
input
input
input
hidden
hidden
hidden
U U U
W W W
…
Question representation
질의 정보를 담고 있는 벡터
X
답변 생성
RAM
저장
해결책2: 히든 유닛 벡터를 저장
모델
18. 18
질의 응답 모듈
스토리 (예> 문장) 선택 모듈
• 질의 q에 대해 가장 적절한 답변을 포함하고 있는 스토리 (문장) s*를 탐색
– 적절성 평가를 통해 가장 높은 점수를 받은 스토리가 선택됨
• 스토리 선택 모듈의 출력은 질의 q와 선택된 스토리 s*의 결합
– Ex> 머신러닝으로 새로운 디자인을 창조하고자 하는 프로젝트 이름은 무엇인가? 최근 `디자인 그래프`라 불리는 프로
젝트로 구현됐다.
답변 선택 모듈
• 가능한 답변의 집합 A={ar}1…k. 중 가장 적합한 답변 a*를 선택
적절성 평가 함수 (scoring function)
G(x,y) ∈ [0,1] (H 함수도 동일)
G(x,y) = U G
TUG (y)
H(x,y) = U H
TUH (y)
U는 임베딩 행렬
ⓒ 2017 SNU Biointelligence Laboratory, http://bi.snu.ac.kr/
* argmax ( , )
i
i
s
s G q s
*
arg max ( , )
r
a r
a
a H s a
메모리 네트워크
모델
19. 학습되어야하는 함수 : G, H
G, H 함수: 긍정 예(s* 또는 a*)와 부정 예(sㄱ* 또는 a ㄱ*) 의 점수 차이를 이상 차이가 나
게 만드는 것이 목표
손실값(에러값): max (0, − ,
∗
+ , )
긍정 예와 질의의 매치 점수가 부정 예와 질의의 매치 점수보다 이상 높을 경우 손실값은 0이 됨
훈련 데이터 전체에 대한 손실값:
경사 하강법을 사용하여 파라미터 UG와 UH를 학습
ⓒ 2017 SNU Biointelligence Laboratory, http://bi.snu.ac.kr/
* argmax ( , )
i
i
s
s G q s *
arg max ( , )
r
a r
a
a H s a
G(x,y) = UG
TUG (y)
H(x,y) = UH
TUH (y)
max (0, − ,
∗
+ , ) +
max (0, − [ ;
∗
],
∗
+ [ ;
∗
], )
메모리 네트워크의 학습: Triplet Loss
모델
21. 심층 임베딩 메모리 네트워크
21
모델
비디오 모달리티 추가
언어 특징 차원으로
임베딩
화면 설명문과
화면-대화 통합 특징
임베딩
화면(설명문)-대화 결합
주의집중 기반 모델 사용
22. 주의집중 기반 Scoring 함수
22
모델
문장 X와 Y의 유사도 계산
( ) tanh( ( ) )
exp( ( ))
' ( ) ( )
t
t
t t
o t
t t o
m W h W X
w m
h h
a y q
T
ms
y y
X
averaging
Y
weighted
averaging
cosine_similarity(X,Y)
23. 실험 세팅
데이터 분리
분리 비율: PororoQA 에피소드 171개 중 훈련 60%, 검증 20%, 테스트 20%
데이터 집합별 질의 개수: 5521 / 1955 / 1437개
성능 측정 모델
사람 성능
VQA 모델 (BoW V+Q, W2V V+Q, LSTM V+Q)
기존 스토리 질의 응답 모델의 성능 (메모리 네트워크, 종단 메모리 네트워크)
심층 임베딩 메모리 네트워크 성능
실험 종류 (full ablation experiments)
모델의 입력 조합이 될 수 있는 모든 경우의 수 생성
입력:
• 질의 Q
• 대화 L
• 화면 V
• 화면 설명문 E
23
실험 결과
24. 비디오의 정보를 사용할 수록 성능 향상
기존 스토리 학습 모델에 비해 더 좋은 결과를 보임
주의집중 기작을 사용하면 성능 좀 더 향상
기존 메모리 네트워크 모델은 시각과 언어 정보를 모델의 마지막 부분에
서 결합했음
정량적 평가 결과 - PororoQA
Method Q Q+L Q+V Q+E Q+V+E Q+L+V Q+L+E Q+L+V+E
Human 28.2 68.2 74.3 70.5 74.6 96.9 92.3 96.9
BoW V+Q 32.1 34.6 34.2 34.6 34.6 34.4 34.3 34.2
W2V V+Q 33.3 34.9 33.8 34.8 34.0 34.5 34.6 34.1
LSTM V+Q 34.8 42.6 33.5 36.2 34.6 41.7 36.3 41.1
MemN2N 31.1 41.9 45.6 50.9 53.7 56.5
MemNN 32.1 43.6 (0.16) 48.8 (0.11) 51.6 (0.12) 55.3 58.9
DEMN w/o
attn.
31.9 43.4 (0.15) 48.9 (0.11) 51.6 (0.12) 61.9 (0.19) 63.9 (0.20)
DEMN 32.0 47.5 (0.18) 49.7 (0.12) 54.2 (0.10) 65.1 (0.21) 68.0 (0.26)
24
실험 결과
25. 정량적 평가 결과 – MovieQA
MovieQA
140개 영화에 대해 6,462개의 QA 제공
심층 임베딩 메모리 네트워크가 validation, test 집합에서 기존 스토리 학습
모델에 비해 더 좋은 성능을 보임
MovieQA가 PororoQA에 비해 보다 복잡한 스토리 구조를 갖는 영화를 보유
하고 있음 -> 낮은 성능의 원인
25
실험 결과
Method
Val Test
Q+L Q+V Q+L+V Q+L Q+V Q+L+V
SSCB* 22.3 21.6 21.9 Rand. Rand. Rand.
MemN2N 38.0 23.1 34.2 Rand. Rand. Rand.
DEMN 42.4 39.5 44.7 28.5 29.4 30.0
* Makarand Tapaswi, Yukun Zhu, Rainer Stiefelhagen, Antonio Torralba, Raquel Urtasun, and Sanja Fidler. MovieQA: Understanding Stories in Movies through Question-Answering. In Proceedings of CVPR, 2016.
30. 결론 및 향후 연구
비디오 질의 응답 모델 ‘심층 임베딩 메모리망’과 데이터
‘PororoQA’ 제시
PororoQA, MovieQA 에 성능을 평가했을 때, 기존 스토리
학습 모델인 imageQA 모델들, 메모리망 앙상블, 종단 메모
리망 앙상블보다 우수한 성능 입증
향후 연구
Curriculum learning 적용
• PororoQA를 사용하여 보다 복잡한 스토리 구조를 갖는 MovieQA
성능 향상
답문장 생성 모델
비디오 이해 모델 개선
30
결론
32. The instructions for the AMT QA creators
32
Please read carefully. Your work will be rejected if you don't follow the guide lines.
1. After selecting an episode and watching a Youtube video, please make story-related
QAs in English. Please keep in mind that be sure to watch a video before making any
data.
2. Please select a scene-subtitle pair that is most likely to match with your question
and write down QAs. All questions should be localized in the video contents.
3. Please provide a correct answer to a question that most people would agree on
and four wrong answers for deception.
4. Your answer should be a complete sentence with correct grammar. The
minimum number of words in a sentence is four.
- "lunch" (x) -> "Pororo and Crong are having a lunch" (o)
5. Please avoid vague terms.
- "When did Pororo go there?" (x) -> "When did Pororo go Loopy's house?" (o)
- "What is Pororo doing?" (x) -> "What is Pororo doing when Crong is crying in the
house?" (o)
6. Please avoid completely unrelated questions.
- "How old is the earth" (x)
7. Please avoid image-specific (and not story-related) questions.
- "How many trees are in the video?" (x)
8. Please avoid creating duplicate questions in an episode.
9. Please use character names as follows.