NL-164, Multimodal Dialogue Response Generation, ACL 2022
◼ Comment
- 이 논문은 photochat으로 실험한 첫 번째 논문으로 보인다.
- photochat 논문에서 제안한 2가지 테스크를 다른 식으로 해결한다.
- 트랜스포머에 텍스트와 이미지토큰을 동시에 넣는다.
- 이미지 토큰을 의미하는 스페셜 토큰이 나오면 이미지가 나와야하는 타이밍이라는 것이다.
- 또한 이미지를 후보중에 선택하는게 아닌, 생성하는 방식으로 간다.
- photochat 데이터로만 학습하면 성능은 떨어지기 때문에 외부데이터를 이용한다.
- 1) reddit 데이터로 대화 생성 모델 학습 G
- 2) ImageNet으로 image autoencoder decoder 모델 학습 V
- 3) YFCC100M으로 text-to-image 모델 F 학습 (여기서는 아마 2)의 image encoder 활용하는 듯)
- 4) Photochat으로 G, F joint 학습
- joint 학습시 생각해보면, G를 초기화로 다음의 입력: [context; text response; [DST]; image descriptions]에 대해 LM 학습처럼 학습된다.
- 이렇게 잘학습되면 인퍼런스시 context가 들어갔을 때, 모델이 text 응답이 나가야하면 text response 생성, image 응답이 나가야하면 [DST] 후 image descriptions 생성한다.
- image descriptions은 다시 text-to-image모델 F에 들어가 image tokens을 생성한다.
- 생성된 image tokens은 2)의 image decoder로 들어가 image을 생성한다.
- 여기서 image token이란, 2)에서 image encoder로 벡터화시켜서 사전정의된? codebook에서 가장가까운 토큰이다.
- 즉 학습할때, 주어진 이미지를 image tokenizer을 통해 text처럼 입력화시키는 것이다.
- 세부디테일은 모르나, 추측하기론 보통 text token이 embedding matrix으로인해 벡터로 매핑된다.
- 이미지도 마찬가지로, 이미지 입력이 들어오면, image encoder + codebook으로 적절한 image token embedding vector로 변환하는 것 같다.
- 즉 강아지 이미지가 들어오면, 강아지를 image encoder로 벡터화 시킨다. (정확힌 하나의 벡터가 아닌 여러 벡터가 나올 것이다.)
- 이 벡터가 codebook의 벡터중 어느 벡터와 가장 가까운지 판단한다.
- 3번째 codebook 벡터랑 가깝다고 하면, image token index = 31003 이렇게 되는 것이다.
- 그러면 text tokenizer처럼, 31003에 해당하는 벡터를 embedding matrix을 통해 추출하는 것이다.
- 단 여기서 31003 embedding matrix은 아마 3번째 codebook 벡터가 되는건가?
0 Abstract
- image에 응답하는 것은 지능적인 대화 에이전트를 위해 중요한 능력으로 인식되어왔다.
- 아직 기존의 연구들은 retrieval-based 방법들에 의존한 멀티모달 대화 모델을 탐구에 집중하고 있고, 생성 모델들은 무시하고있다.
- 차이들을 채우기 위해, 우리는 처음으로 새로운 테스크를 소개한다.
- 멀티모달 대화 응답 생성 (MDRG)
- 대화 컨텍스트가 주어지면, 하나의 모델은 text 혹은 image을 response으로써 생성한다.
- 그러한 MDRG 모델을 학습하는 것은 종종 text와 image을 둘 다 포함하는 멀티모달 대화를 요구하고, 이는 획득하기 어렵다.
- 실제로 챌린지로부터 영감을 받아, 우리는 사용가능한 학습예제들만의 제한인 자연스러운 가정에서 MDRG을 고려한다.
- low-resource setting아래에서, 우리는 새로운 대화 에이전트 Divter를 고한한다.
- 이는 전체 생성 모델로부터 멀티모달 대화에 의존하는 파라티머들을 분리하기 위함이다.
- 이를 통해, 모델의 주요 파트는 많은 수의 text-only 대화들, text-image pairs로부터 각각 학습이 될 수 있고 나서, 전체 파라미터들은 소량의 학습 예제들만을 사용해서 학습된다.
- 광범위한 실험들은 우리의 방법이 automatic, human evaluation에서 모두 SoTA을 달성하고, 유익한 text와 high-resolution image response들을 생성한다.
1 Introduction
- 최근 몇십년동안, 인스터튼 메시징 기술의 발존과 함께, 온라인 대화의 매개체도 pure text에서 다양한 시각적인 모달리티로 변화해왔다. (이미지, git animation, short video)
- 실제 메신저 툴들의 소통과 유사하게 (e.g., Facebook, WhatsApp, WeChat), 최고의 지능적인 대화에이전트는 plain text만 자유롭게 대화할뿐아니라 실제 시각적인 물리세계을 인지하고 공유하는 능력을 가져야한다.
- 최근 large-scale pre-trained text-only dialogue generation 모델들이 우수한 성능을 보여줌에도 불구하고 (DialoGPT (Zhang et al., 2020), Blender (Roller et al., 2021), Meena (Adiwardana et al., 2020와 같은), 그들은 시각적 인식의 풍부한 경험을 완전히 시뮬레이션하기 위해 여전히 일반 텍스트에만 전적으로 의존할 수 없습니다.
- 최근에, 다양한 vision-language tasks들이 소개되고 넓은 관심을 받았다.
- visual question answering (Ren et al., 2015; Lu et al., 2016; Anderson et al., 2018; Li et al., 2019a; Huang et al., 2020),
- image captioning (Xu et al., 2015; Anderson et al., 2016; Ghanimifard and Dobnik, 2019; Cornia et al., 2020),
- image-grounded dialogue (Das et al., 2017; Yang et al., 2021; Agarwal et al., 2020; Qi et al., 2020; Chen et al., 2021; Liang et al., 2021).
- 특별히, 사람과의 대화에서, 이미지들은 풍부한 시각적인 perception을 보여주고, 이는 plain text에 의해 표현되기 힘들다.
- 그림 1에서 보여주는 예제로써, 이미지들은 최소한 3개의 상황에서 필요하다.
- 1) 다른 화자가 당신이 봤던 objects의 knowledge가 적은 경우 (즉, colorful Burano, 1번째 사진)
- 2) 당신이 가지고 있는 그들의 일반적인 knowledge에도, objects의 세부사항을 좀 더 공유할 경우 (즉. red wine and pasta, 2번째 사진)
- 3) 구체적인 이벤트에 대한 당신의 감정들을 표현할 경우 (즉, happy, 3번째 사진)
- 기존 관련 작업은 photo sharing (Zang et al., 2021)로, 텍스트 컨텍스트를 기반으로 이미지를 선택하고 공유하는 것을 목표로 하며, 이전 작품들처럼 이미지에서 관련된 시각적 개체를 찾거나 주요 가시적 내용을 명시적으로 언급하기 보다는 모델이 인간의 상상력으로 보완된 background story를 이해해야 하는 도전적인 작업입니다.
- Zang(2021)은 위의 문제를 해결하기 위해 검색 기반 방법을 제안합니다.
- 그러나, retrieval-based 방법의 성능은 미리 구축된 conversational history repository의 사이즈에 의해 구체적인 도메인에 대한 한계가 존재한다.
- 특히 검색 시스템의 image response의 세트가 고정된경우, history에서 커버되지 않는 long-tail context에 대해서 한계가 존재한다.
- 반면에, 더 나은 방법은 그에따라 새로운 것을 생성하는 것이다.
- 이 논문에서, 우리는 새로운 문제를 형식화한다.
- Multimodal Dialogue Response Generation (MDRG)
- 즉 대화 컨텍스트가 주어지면, 모델은 pure text response만 생성할뿐 아니라 멀티모달 response도 생성할 능력을 가진다. (즉 image과 text 둘다 포함하는)
- 우리는 여전히 적용에 약간의 장애가 있다고 주장합니다.
- (1) 정교한 neural end-to-end 아키텍쳐는 매우 소량의 well-annotated training data에 오버피팅될 것이다. (즉 존재하는 소량의 10k 멀티모달 대화세트)
- 증거는 훈련 데이터 도메인 외부의 주제를 논의할 때 성능이 극적으로 떨어진다는 것입니다.
- (2) 사람 노력이 매우 비싸다, 이것은 새로운 도메인에 대해 충분한 학습데이터를 모으기 쉽지 않다.
- 위의 사실들을 기반으로, 우리는 한 걸음 더 나아가 MDRG의 가정을 소수의 multimodal dialogues만 사용할 수 있는 low-resource setting으로 확장합니다.
- 위의 챌린지들을 해결하기 위해, 우리의 주요 아이디어는 멀티모달 대화에 의존하는 파라미터들을 작게 만들고, textual response generation과 image response generation을 disentangling을 통해 독립적으로 하는 것이다.
- 그래서 우리는 훨씬 더 쉽게 얻을 수 있는 text-only 대화들과 pairs로부터 generation model의 주요 부분을 배울 수 있다.
- 즉 text만으로 text 생성 모델을 만들고, image-text 쌍은 적지만, 이를 연결하는 파라미터의 수는 작게한다.
- 따라서 text와 image가 각각 작동하는 파라미터들은 따로 존재하고 이는 disentangling을 통해 학습되는 느낌?
- 구체적으로, 우리는 Divter을 소개하고, 이는 새로운 conversational agent로 large-scale visual word experieneces에 구동된다.
- 그림 2에서 보여주듯이, 우리의 Divter은 두 개의 Transformer-based 요소로 구성된다: 멀티모달 대화 response generator, text-to-image translator
- 스텝이 두 개인 듯
- 첫 번째 스텝은 [대화 컨텍스트; 텍스트 응답; 이미지 설명] 이렇게 학습되는 Transformer이다.
- 두 번째 스텝은 [이미지 설명; 이미지 토큰] 이렇게 학습되는 Transformer이다.
- 따라서 이미지 설명이란 중간 과정을 통해 이미지를 생성하는 것.
- Divter은 대화 컨텍스트를 입력으로 받고나서, textual sequence을 생성한다.
- textual sequence는 text response 혹은 textual image description 혹은 이 둘다를 갖고있다.
- 즉 첫 번째 스텝을 학습할 때, 이미지 설명이 없는 경우는 빠지는 듯
- text-to-image translator은 위의 image description을 조건으로 받고나서, 현실적이고 일관된 high resolution image을 생성한다.
- 두 구성 요소는 서로 반대되는 지식으로 독립적이므로 많은 수의 텍스트 전용 대화와 쌍을 각각 사용하여 사전 훈련될 수 있습니다.
- 이게 핵심인 듯?
- end-to-end Divter는 튜플로 구성된 다중 모드 대화에 따라 다릅니다: (dialogue context, text response / <image description, image>
)
- 그러나 두 구성 요소의 joint learning and estimation에는 특정 도메인에 따라 몇 가지 교육 예제가 필요합니다.
- Contributions of this work are three-fold:
- To the best of our knowledge, it is the first work on the multimodal dialogue response generation. We explore the task under a low-resource setting where only a few multimodal dialogues are assumed available.
- We present Divter, a novel conversational agent which can effectively understand dialogue context and generate informative text and high-resolution image responses.
- Extensive experiments on PhotoChat Corpus (Zang et al., 2021) indicate the effectiveness of Divter, it achieves a significant improvement with pure text dialogue generation model and retrieval-based image sharing method.
2 Related Work
2.1 Textual Dialogue Response Generation
- textual open-domain dialogues를 위한 end-to-end response generation은 기계 번역에 신경 시퀀스 간 모델을 성공적으로 적용한 데서 영감을 받았습니다.
- 기본 아키텍처 외에도 바닐라 인코더-디코더 방법은 diversity of responses 개선, 대화 컨텍스트 모델링, controlling attributes of responses, 특정 페르소나에 대한 응답 편향, incorporating extra knowledge into generation을 포함하여 개방형 도메인 대화 시스템의 중요한 문제를 해결하기 위해 광범위하게 확장됩니다. 그리고 general pre-trained agents를 구축합니다.
- 일반 텍스트와 자유롭게 대화하는 열린 영역 대화 응답 생성에 대한 이전 작업과 달리 우리의 연구는 multimodal response generation에 대한 연구에 있습니다.
2.2 Text-to-Image Generation
- 텍스트-이미지 생성에 대한 연구에서는 다양한 작업들이 광범위하게 연구되어 왔다.
- Mansimov(2016)는 Draw 생성 모델이 자연어 설명에서 이미지를 생성할 수 있음을 보여주었습니다.
- Reed는 이미지 충실도를 향상시키기 위해 생성적 적대 네트워크를 제안했습니다.
- 그런 다음 스택 생성기, 주의 네트워크 및 추가 지식과 같은 일부 개선 방법이 생성 아키텍처를 계속 최적화합니다.
- Nguyen은 더 높은 해상도에서 고품질 이미지를 생성하기 위해 관련 활성화 최대화 방법에 대한 통합된 확률적 해석을 제공했습니다.
- 이와 별도로 Cho(2020)는 광범위한 마스킹 비율로 균일한 마스킹을 사용하고 적절한 사전 훈련 데이터 세트를 적절한 목표에 정렬했습니다.
- 보다 최근에 Ramesh(2021)와 (Ding et al., 2021)는 텍스트 및 이미지 토큰을 단일 데이터 스트림으로 자동 회귀적으로 모델링하는 변환기 기반 방법을 채택합니다.
- 이 다중 모드 응답 생성 시나리오의 경우 텍스트 이미지 설명을 사용하여 텍스트 대화 생성 및 텍스트-이미지 생성 모델을 연결합니다.
- 여기서 이미지 설명은 낮은 리소스 설정에서 전자의 출력이고 후자의 입력입니다.
3 Problem Formalization
- 우리는 데이터세트 $D_S = \{ (U_i, R_i \}^{n}_{i=1}$을 가지고 있다고 가정하고, 여기서 ∀i ∈ {1, . . . , n}, Ui = {ui,1, . . . , ui,ni }는 대화 컨텍스트 ui,j로 구성되고 ui,j는 j번째 발화이고 Ri는 Ui에 관한 response이다.
- 즉 i는 i번째 instance을 의미하는 것이라 무시하고
- U는 ni개의 발화로 구성되고, R은 이에대한 respnose라고 보면 됨
- ui,j와 Ri는 두 개의 모달리티: text와 image을 포함할 수 있다.
- goal은 generation model P(R∣U; θ)을 $D_S$로 학습하는 것이다. (θ는 모델의 파라미터를 가리킨다.)
- 그래서, 대화 컨텍스트 U 주어졌을 때, P(R∣U; θ)을 따라서 멀티모달 resopnse R을 생성한다.
4 Approach
- 이 섹션은 먼저 멀티모달 대화에 대한 unified tokenization 방법을 형식화한다.
- 우리는 그리고나서 low-resouce 시나리오에서 멀티모달 대화 response generation model (Divter)의 두 개의 중요한 요소를 소개한다.
- (i) textual dialogue response generator;
- (ii) text-to-image translator.
- Figure 2 shows the overall of our Divter.
4.1 Multimodal Tokenization
- 멀티모달 생성 모델을 학습하기 위해, 우리는 먼저 text와 image 둘 다의 unified representations을 모델링한다.
- DALLE (Esser et al., 2020) and VQGAN (Ramesh et al., 2021)로부터 영감을 받아, 텍스트-이미지 생성을 위해 표현력이 뛰어난 transformer 아키텍처를 활용하려면 pure text tokenization를 위해 일반적으로 수행하는 것과 유사한 시퀀스 형태로 이미지를 표현해야 합니다.
- 이 부분이 궁금하긴하네
- DALL-E 논문을 추가적으로 봐야하나?
4.1.1 Text Tokenization
- The tokenization for text is already well-studied, e.g., BPE (Gage, 1994).
- This work uses 50257 BPE-encoded tokens and distributed embedding of Transformer architecture to model the texts in a dialogue.
4.1.2 Image Tokenization
- image을 위한 tokenizer은 discrete Auto-Encoder (VQGAN) V으로 그림 2에서 보여준다.
- 즉 이미지 데이터로 discrete auto-encoder을 학습해서, 인코더의 feature을 token으로 사용한다?
- V는 encoder V_E을 사용해서 각 shape H*W*3을 가진 이미지 $r^v$을 shape h*w*d_z을 가진 z^으로 압축하고나서
- dimension dz의 각 벡터는 학습된 영역에서 가장가까운 embedding zk로 quantized된다.
- 학습된 영역: element-wise quantization q(⋅)의 action아래의 discrete codebook $Z=\{z_{k}\}^{K}_{k=1} \in \mathbb{R}^{d_z}$이다.
- 즉 autoencoder의 인코더로 추출된 feature space는 discrete codebook 중의 하나로 매핑이 된다.
- 이 codebook은 어떻게 설정하는 것이지? (ref을 봐야알듯)
- 모델의 두 번째 step에서 transformer은 이 codebook을 결국 예측하고 이를 decoder에 넣어서 이미지를 생성하게 되는 듯
- 그래서 $r^v$(이미지)는 codebook entries $z_q \in \mathbb{R}^{h \times w \times d_z}$의 spatial collection에 의해 표현된다.
- 디코더 $V_D$는 $z_q$을 다시 image $\tilde{r}^v$로 매핑하여 입력을 재구성한다.
- 이 연구에서는, H=W=256, h=w=16, K=16384, $d_z$=256이다.
- V와 Z의 학습 세부사항은 Zero-shot text-to-image generation을 따른다.
4.2 Low-resource Learning Model
- 효과적인 멀티모달 generation 모델을 single sequence-to-sequence 모델로 학습하는 것은 종종 많은 양의 학습 인스턴스들을 요구한다.
- 그러나, 소셜미디어와 값비싼 사람 노력에 대한 privacy 제한때문에 오직 작은 멀티모달 대화들만이 사용가능하다.
- 반면에, 그림 3에서 보여주듯이, 여기에는 open source text-only 대화들은 많이 있고 (즉, Reddit comments이고 $D_C = \{ (U_i, r^{e}_{i}) \}^{N}_{i=1}$ with $(U_i, r^{e}_{i})$인 <text dialogue context, text response>로 형식화되어있다)
- 그리고 많은 수의 pairs (즉 YFCC100M으로 $D_P = \{ c_j, r^{v}_{j}) \}^{M}_{j=1}$ with $(c_j, r^{v}_{j})$인 <textual image-description, image> pair로 형식화되어있다.
- 즉, 여기서 $D_C$는 텍스트 대화 데이터라 보면 되고
- $D_P$는 사진설명-사진응답 데이터라 보면 될듯
- 즉 $D_C$와 $D_P$는 Reddit, YFCC100M과 같은 많은 데이터가 있어서 이를 활용하자는 것인 듯
- 반면 $\tilde{D_S}$는 얼마 없음
- $\tilde{D_S}$란 context - image description response 형태를 의미한다.
- 위의 사실들과 MDRG task에 대한 low-resource challenges을 기반으로, 우리는 generative text-to-image translation을 text-only open domain dialogue response generation과 결합한다.
- 좀 더 구체적으로:
- (1) 만약 멀티모달 대화 컨텍스트가 이미지를 가진다면, 우리는 이미지를 그것의 description으로 바꿔서 text-only context 형태로 만든다. 그리고 이 이 컨텍스트를 텍스트 전용 대화 생성 모델 G의 (pre-trained with $D_C$)입력으로 사용합니다.
- (2) 만약 우리가 response의 부분으로써 이미지를 생성할 필요가 있다면, 우리는 먼저 textual description을 G로 생성하고나서, text-to-image translator module F (pre-trained with DP)로 description을 synonymous image로 변환한다.
- G와 F을 연결하기 위해, 우리는 $D_S$의 formalization을 새로운 $\tilde{D_S}$로 확장한다.
- 이는 각 이미지 r^v와 그것의 textual description c와 쌍인 것이다.
- (1)과 (2) 행동 모두 독닥전으로 학습되고, 이는 small $\tilde{D_S}$와 large D_C와 D_P을 돕는 키가 된다.
- 이를 통해 현재 goal은 generation model P(R|U; θ)을 D = {D̃S,DC,DP}로 학습하는 것이다.
- pre-trained G와 F가 사용가능하기 때문에, 우리는 마지막으로 D̃S를 사용하여 G와 F를 공동으로 미세 조정하여 다중 모드 응답을 생성하는 능력을 얻습니다.
- 즉, G는 reddit으로 학습 F는 YFCC100M으로 먼저 독단적으로 학습하고
- 그 뒤에 $\tilde{D_S}$을 이용해서 G와 F을 같이 학습시킨다?
- 즉 멀티모달 대화 데이터는 조인트하게 학습될때만 사용이 된다?
Figure 2 illustrates the architecture of our model. The model is made up of two components: a textual dialogue response generator G and a text-to-image translator F. In the rest of this section, we will elaborate these two modules in detail.
4.2.1 Textual Dialogue Response Generator
- textual dialogue response generator G는 seq2seq 모델로 트랜스포머 구조를 기반으로 한다.
- 트랜스포머는 24 layers Transformer with hidden size of 1024와 16 heads이다.
- 구체적으로, text dialogue context U = {u1, . . . , ul}가 D̃S로부터 소스로 주어지고, target은 text R̃ = {w1,⋯,[SEP],[DST],⋯,[SEP],⋯, wT }이다.
- 여기서 wt는 t번째 단어이고, [DST] token은 다음의 subsequence가 textual image description c을 의미한다.
- 데이터를 보니까, 이미지 나가기전에 응답텍스트가 있다.
- 즉 응답 = (text response, image response)이렇게 되어있는데 image description에 해당하는 응답에 대해서 위와 같이 ([DST] 토큰을 이용해서) 입력을 만들고 학습한다.
- 실제 인퍼런스 생각해보면, 이미지가 안나가도 될 타이밍엔, 그냥 [SEP] 토큰만을 이용해서 text response을 생성하고
- 이미지가 나가야할 타이이밍이면, [DST] 토큰을 넣어서 image description을 생성한다.
- generation loss은 다음에 의해 정의된다.
- context U와 image description token w_t-1이 조건으로 주어졌을 때, wt의 확률에 대해 곱들이 $p(\tilde{R})$이다.
- 즉, 일반적으로 LM을 학습하듯이 진행됨.
- Inference
- 새로운 텍스트 대화 컨텍스트 U가 주어지면 생성된 이미지 설명 c가 발생하면 다음 텍스트-이미지 변환기에 입력된 다음 synonymous image의 codebook embeddings으로 구성됩니다.
4.2.2 Text-to-Image Translator
- text-to-image translator F는 또한 트랜스포머 구조를 기반으로한 seq2seq generation model이다.
- 이는 24layers 트랜스포머로 hidden size 1024, 16 attention heads을 가진다.
- image $r^v \in \mathbb{R}^{H \times W \times 3}$와 textual description $c = \{w_1, ..., w_T\}$가 D̃S로부터 주어지고 V_E와 Z가 사용가능할 때, 우리는 encodings의 codebook indices에 관한 $r^v$을 표현할 수 있다. (4.2.1 참고)
- 좀 더 구체적으로, image $r^v$의 quantized encoding가 $z_q = q(V_E(r^v)) \in \mathbb{R}^{h \times w \times d_z}$에의해 주어진다.
- 이는 condebook Z로부터 인덱스의 sequence s ∈ {0,⋯, ..., |Z| − 1}^{h×w} 로 바뀔 수 있다.
- 이는 각 코드를 codebook Z의 인덱스로 대체하여 얻습니다.
- 즉 transformer의 입력은 image description 이고, 이로 생성하는 이미지는 codebook Z에 해당하는 index을 얻는다는 것 (h x w)
- 그리고 이를 decoder을 통해 이미지를 생성한다?
- 그리고나서, 우리는 tokenized c와 s을 single tokens의 stream으로 붙인다.
- 텍스트 및 이미지 토큰에 대한 공동 분포를 모델링하기 위해 autoregressive transformer를 훈련합니다.
- generation loss은 다음과 같이 정의됩니다.
- Inference
- 설명 c가 주어지면 텍스트-이미지 변환기를 활용하여 synonymous image의 표현 zˆ = F(c) ∈ Rh×w×dz를 생성합니다.
4.2.3 Learning Details
- 우리는 textual dialogue response generator G, image tokenizer V, text-to-image translator F의 파라미터들로써 {θg, θπ, θϕ} 로 표기한다.
- pre-traning stage에서, 우리는 textual dialogues $D_C$를 사용하여 θg를 추정하고 ImageNet을 사용하여 θπ를 추정하고 쌍 $D_P$를 사용하여 θϕ를 추정합니다.
- 즉 외부 데이터를 이용해서 각 파라미터들의 초기값을 구한다는 것
- 실제로 한다면 $D_C$인 Reddit 데이터로 text transformer G을 학습
- 그 다음 image encoder-decoder V은 ImageNet을 이용하여 학습
- 그 다음 image encoder과 YFCC100M인 $D_P$을 이용하여 text-to-image 모델 F 학습할 듯?
- 그 다음, 우리는 θπ을 고정하고나서 θg and θϕ 을 D̃S으로 공통으로 finetune하고 그래서 final objective는 다음의 intergrated loss을 최소화하도록 한다.
- where λ is a hyper parameter.
- Remarks.
- 이 작업에서 우리는 주로 텍스트 및 이미지 응답 생성을 통합하는 데 중점을 두지만 제안된 접근 방식은 실제로 대상 형식이 gif, 비디오 또는 음성 사운드 등이 될 수 있는 리소스가 적은 MDRG에 대한 일반적인 솔루션의 레시피를 제공합니다.
- 그렇게 하려면 특정 양식 유형과 호환되도록 텍스트-이미지 변환기를 수정한 다음 새 텍스트-번역기를 사전 훈련하기만 하면 됩니다.
5 Experiments
5.1 Dataset
- Divter의 성능을 평가하기 위해 Zang이 출시한 PhotoChat 데이터 세트에 대한 포괄적인 실험을 수행합니다.
- 이 데이터 세트는 대화 중에 공유되는 사용자 이미지와 각각 쌍을 이루는 10917개의 이미지와 12286개의 대화로 구성된 다중 모드 대화 데이터 세트입니다.
- 각 이미지는 텍스트 설명과 쌍을 이룹니다.
- 데이터 세트는 10286개의 기차, 1000개의 개발 및 1000개의 테스트 인스턴스로 분할되었습니다.
- 자세한 내용은 부록 A.1에 설명되어 있습니다.
5.2 Evaluation Metrics
- 우리는 자동 메트릭과 사람의 판단으로 평가를 수행합니다.
- 자동 평가의 경우 다음 네 가지 측면에 중점을 둡니다.
- (1) Image Intent Prediction, 이 테스크의 골은 이미지가 주어진 컨텍스트에 대해 다음 턴에서 image가 공유될지 말지를 예측하는 것이다.
- (2) Text Description Generation;
- (3) Image Generation Quality ;
- (4) Text Response Generation.
- (1)의 경우, 문제를 이진 분류 작업으로 공식화하고 F1을 메트릭으로 사용하는 Zang(2021)을 따릅니다.
- (2)와 (4)의 경우 PPL, BLEU(Papineni et al., 2002), Rouge(Lin, 2004) 및 F1을 사용합니다.
- (3) 우리는 Ramesh(2021)를 따르고 Frechet Inception Distance(FID)와 Inception Score(IS)를 사용합니다.
- 사람 평가를 위해서, 우리는 랜덤으로 200개의 dialogue contexts을 샘플링하고 Divter와 베이스라인들로 PhotoChat에 대한 response을 생성한다.
- 세 명의 human annotators은 response quality을 {0, 1, 2} scale로 4가지 관점으로 평가해달라고 요청받는다.
- (1) 컨텍스트 일관성: 텍스트 응답이 컨텍스트와 일관성이 있는지 여부.
- (2) 텍스트 유창성: 텍스트 응답이 자연스럽고 유창한지 여부;
- (3) 이미지 품질: 이미지 응답의 품질(정의 및 무결성 포함)
- (4) 이미지의 배경 일관성: 각 대화에 대해 생성/검색된 상위 8개 이미지 그룹을 선택하고 주석가에게 그룹이 대화 배경과 일치하는지 여부를 결정하도록 요청합니다. 정성적 평가도 그림 5에 나와 있습니다.
- 이미지 검색은 어떻게 이뤄지는거지? (SCAN 모델이 검색관련 모델인가?)
- 우리는 3명의 annotators에 대한 평균 점수를 리포트하고 높은 점수가 더 낫나는 것을 의미한다.
- 또한 pure text Divter와 다중 모드 Divter를 각각 DialoGPT와 비교합니다.
- "pure text Divter"는 디코딩 단계에서 어휘에서 [DST] 토큰을 차단하여 응답에 텍스트만 포함됨을 의미합니다.
- 또한 무작위로 200개의 대화를 샘플링합니다.
- 각 애노테이터에게 서로 다른 모델의 두 가지 응답이 제공되며, 소스를 숨기기 위해 무작위로 섞입니다.
- 그런 다음 어노테이터는 대화 경험과 매력을 향상시키는 데 어떤 응답이 더 효과적인지 판단합니다.
- annotators간의 일치는 Fleiss' Kappa에 의해 측정됩니다(Fleiss, 1971).
5.3 Implementation Details
- 텍스트 대화 응답 생성기 G의 경우 2005년부터 2017년까지 Reddit 댓글 체인에서 추출한 1억 4700만 개의 대화형 교환에 대해 훈련된 사전 훈련된 모델 초기화로 DialoGPT를 사용합니다.
- 미세 조정 단계에서 컨텍스트 턴을 토큰 [SEP]와 단일 시퀀스로 연결하고 Adam 옵티마이저를 1e-5의 초기 학습률로 채택하고,
- 배치 크기는 256이고 PhotoChat 교육은 16개의 Nvidia Tesla V100 32G GPU 카드에서 수행됩니다.
- 빔 검색(크기=5)을 사용하여 텍스트 시퀀스를 디코딩합니다.
- 추론 단계에서 CLIP(Radford et al., 2021)를 사용하여 생성된 256개 샘플의 순위를 재지정합니다.
- 공동 학습에서는 먼저 F를 48000단계로 훈련한 다음 G와 F를 2000단계로 공동 훈련합니다.
- 식 8의 λ는 0.2이다.
- 검증에 대한 조기 중지는 정규화 전략으로 채택됩니다.
- 모든 하이퍼 매개변수는 그리드 검색에 의해 결정됩니다.
- More details are described in Appendix A.3.
- We implement the image Auto-Encoder using the code https://github.com/CompVis/ taming-transformers,
- implement the Textual Dialogue Response Generator using the code https://github.com/microsoft/ DialoGPT, and
- implement the Text-to-Image Translator using the code https://github. com/lucidrains/DALLE-pytorch.
5.4 Baselines
- 2개의 사전 훈련된 모델 BERT-base 및 T5-3B가 섹션 5.2의 "Image Intent Prediction" 작업을 측정하기 위한 기준선으로 선택됩니다.
- 그들은 텍스트 대화 컨텍스트를 입력으로 사용하고 "다음 차례에 이미지를 공유할지 여부"를 예측합니다.
- SCAN은 Lee(2018)에 의해 제안되었으며, 모델은 image-text similarity을 추론하기 위해 이미지 영역과 텍스트 토큰 간의 상호 작용을 캡처하고, SCAN은 PhotoChat에서 "Image Retrieval" 작업의 최첨단 성능을 달성합니다.
- S2S-TF는 24레이어 Transformer가 있는 단일 시퀀스-투-시퀀스 모델입니다.
- 우리는 이 multimodal generation model을 훈련하기 위해 PhotoChat만 사용합니다.
5.5 Evaluation Results
- 표 1에서 보는 바와 같이 우리의 Divter는 최첨단 retrieval-based image response intent prediction model과 견줄만한 성능을 달성할 뿐만 아니라 모든 생성 메트릭에서 놀라운 성능을 달성합니다.
- 이는 Divter가 주어진 대화 컨텍스트로 이미지 응답을 생성하는 타이밍을 정확하게 판단하고 컨텍스트에 일관된 텍스트 응답을 생성하고 고품질 이미지 응답을 생성할 수 있음을 나타냅니다.
- 사전 훈련 없이 Divter와 기본 모델(예: S2S-TF, Divter 변형) 간의 상당한 성능 격차는 제안된 학습 전략의 우수성을 나타냅니다.
- 즉 외부데이터로 사전학습이 중요하다.
- 표 2는 사람의 평가 결과를 보고하며 Divter는 대부분의 측면에서 기준선을 훨씬 능가합니다.
- The comparison results shown in Table 3 indicates
5.6 Ablation Study
- 우리는 MDRG 작업에 대한 상대적 중요성을 더 잘 이해하기 위해 다양한 변형에 대해 광범위한 절제 실험을 수행합니다.
- 표 1에서 볼 수 있듯이 모든 변형은 대부분의 메트릭에서 성능을 저하시킵니다.
- 보다 직관적인 비교를 위해 정성적 평가 결과도 그림 4에 나와 있습니다.
- In particular, both quantitative and qualitative results on the ablation study validate that:
- (1) pre-training is crucial to low-resource multimodal dialogue response generation, since removing any component from pre-training causes performance drop when training data is small;
- (2) in terms of impact to performance of image generation, F > G, in terms of impact to performance of text generation, G > F ;
- (3) The joint learning also has contributions to Divter, indicating that leveraging the integrated learning of textual context and visual image benefits more in contrast to any single one of them.
5.7 Case Study
- To further investigate the quality of multimodal responses generated by Divter, we show two examples on the PhotoChat test data in Table 4.
- 주어진 첫 번째 컨텍스트는 "아이스크림"에 대한 것이고 두 번째 컨텍스트는 "꿀벌"에 관한 것입니다.
- 우리가 볼 수 있듯이 Divter는 배경과 일관된 사실적인 고해상도 이미지를 생성할 수 있을 뿐만 아니라 이미지를 기반으로 하는 유익한 텍스트 응답을 생성할 수 있습니다.
- 이와는 별도로 생성된 고품질 이미지는 Divter의 실행 가능성을 보여주는 실제 실제와 유사합니다.
5.8 Discussions
- Benefits over retrieval-based methods
- Divter와 검색 기반 방법 간의 일반화 기능을 추가로 조사하고 비교하기 위해 Divter에서 생성된 상위 10개 이미지와 동일한 컨텍스트가 주어진 SCAN 모델에서 검색된 동등한 이미지도 얻습니다.
- 즉 생성모델이 여러 개의 후보들을 생성할 수 있다. (빔서치와 같은 방법인가?)
- 그림 5에서 볼 수 있듯이 생성된 이미지의 다양성과 풍부함이 바람직한 반면 검색된 결과는 대화 배경과의 잘못된 일관성으로 인해 종종 어려움을 겪습니다.
- 예를 들어 두 번째 경우에서 대화는 "커피"에 대해 말하고 있지만 검색된 이미지에는 "우유", "케이크", "개" 및 "간식"과 같은 관련되지 않은 개체가 포함되어 있습니다.
- 그리고 세 번째 예에서는 훈련 및 검색 공간에 "커튼"이 거의 없기 때문에 모든 검색 결과가 잘못되었습니다.
- 이것은 검색 기반 방법의 성능이 특히 자원이 부족한 시나리오에서 미리 구성된 대화 내역 저장소의 크기에 의해 특정 도메인에서 극도로 제한된다는 사실을 보여줍니다.
- 또한 제안된 생성 기반 방법은 자원 부족 문제를 해결하기 위해 더 나은 일반화 기능을 보여줍니다.
6 Conclusion
- 이 논문에서는 자원이 적은 환경에서 다중 모드 대화 응답 생성을 탐색합니다.
- 새로운 작업과 불충분한 훈련 데이터의 문제를 극복하기 위해 우리는 텍스트-이미지 생성을 텍스트 전용 대화 응답 생성에 통합하는 신경 대화 에이전트인 Divter를 제안합니다.
- 대규모 텍스트 공개 도메인 대화 및 쌍에서 추정됩니다.
- 광범위한 실험은 Divter가 자동 및 인간 평가에서 최첨단 결과를 달성한다는 것을 보여줍니다.
- 앞으로 우리는 응답 생성에 더 많은 양식을 주입하는 보다 효율적인 방법을 탐색할 것입니다.
Reference
댓글
댓글 쓰기