+2

[Paper reading] Towards Multi-Lingual Visual Question Answering

Giới thiệu chung

Visual Question Answering (VQA) là một bài toán thú vị mô phỏng gần nhất khả năng của con người. Nói một cách ngắn gọn, ta cần huấn luyện máy để có thể thực hiện tương tác hỏi đáp giữa người và máy về một hình ảnh trực quan. Hiện tại, bái toán này chủ yếu thực hiện trên tiếng Anh vì có sẵn các VQA benchmark.

image.png

Trong bài báo, nhóm tác giả có 3 đóng góp chính như sau:

  1. Nhóm tác giả đề xuất một translation-based framework để thực hiện sinh dữ liệu cho bài toán VQA đa ngôn ngữ dựa vào các caption
  2. Phát triển cách gán nhãn hiệu qua và tạo benchmark cho việc thực hiện test trên đa ngôn ngữ. Benchmark có tên MAVERICS-XM3600 (MaXM) gồm 7 ngôn ngữ: English (en), French (fr), Hindi (hi), Hebrew (iw), Romanian (ro), Thai (th), và Chinese (zh)
  3. Đề xuất cách tiếp cận đối với mô hình mVQA thống nhất, có khả năng mở rộng, hoàn chỉnh và chứng minh hiệu suất mạnh mẽ trên cả benchmark hiện tại và benchmark được đề xuất

Multi-Lingual VQA Data Creation

Cũng giống như các task với Machine Learning khác, hạn chế chính trong bài toán mVQA là có một bộ dữ liệu được gán nhãn chất lượng. Đa phần những bộ dữ liệu tiếng Anh cho bài mVQA đều do con người gán nhãn câu hỏi và câu trả lời. Để hạn chế sử dụng sức lực của con người và áp dụng cho mọi ngôn ngữ trên thế giới, nhóm tác giả sử dụng những tiến bộ gần đây trong việc sinh câu hỏi tự động. Đặc biệt, nhóm tác giả mở rộng phương pháp sinh dữ liệu VQA bằng tiếng Anh tự động được gọi là Visual Question Generation với Question Answering validation hay VQ2AVQ^2A và nghiên cứu cách tận dụng nó cho mục đích tạo dữ liệu mVQA.

Background: VQ2A

Một cách tiếp cận hiệu quả về chi phí cho bài toán sinh dữ liệu VQA là tận dụng nguồn dữ liệu image-text có sẵn. Đặc biệt, ta có thể viết lại các cặp câu hỏi - trả lời về một hình ảnh. Một trong những phương pháp hiệu quả là VQ2AVQ^2A, bao gồm 3 bước chính:

  1. Candidate Answer Extraction Trích xuất các câu trả lời tiềm năng dựa trên phân tích cú pháp và ngữ nghĩa của một caption đầu vào
  2. Question Generation sinh các câu hỏi tiềm năng dựa trên caption và câu trả lời tiềm năng của caption đó
  3. Bộ lọc Question Answering và Answer Validation lọc các câu hỏi được sinh ở bước trên không vượt qua “round-trip" consistency check (Alberti et al., 2019; Honovich et al., 2021).

Tuy nhiên, mỗi bước trong VQ2AVQ^2A đều chỉ được tối ưu cho tiếng Anh. Bước 1 sử dụng English spaCy và cả 2 bước 2 và 3 tận dụng model English pre-trained T5 được fine-tuned trên bộ dữ liệu câu hỏi - trả lời bằng tiếng Anh.

Proposed Framework for mVQA Data Creation

Lấy cảm hứng từ VQ2AVQ^2A, mục tiêu của bài báo là sinh bộ dữ liệu VQA đa ngôn ngữ quy mô lớn dựa vào caption của ảnh.

image.png

Do sự phụ thuộc của VQ2AVQ^2A vào English tool, model và data mà việc thực hiện mỗi bước trong VQ2AVQ^2A đa ngôn ngữ là một nhiệm vụ không hề nhỏ, có thể yêu cầu các tài nguyên chuyên sâu cho mỗi ngôn ngữ nếu muốn mở rộng. Vì lý do đó, nhóm tác giả đề xuất nghiên cứu phiên bản mở rộng đơn giản của VQ2A theo hướng phiên dịch ngôn ngữ, có thể coi đây là bước khởi đầu của hướng tiếp cận này. 😃

Cho một caption đầu vào cc không nhất thiết phải là tiếng Anh và một ngôn ngữ mục tiêu (target language) lang\langle\operatorname{lang}\rangle, ta muốn sinh các cặp câu hỏi-trả lời sử dụng ngôn ngữ lang\langle\operatorname{lang}\rangle. Nhóm tác giả đề xuất Doubly-Translate-VQ2AVQ2A (DTVQ2A)(DTVQ2A), được mô tả như sau:

  • Bước 1 (Optional): Phiên dịch Caption. Nếu như caption cc không phải là tiếng Anh, ta cần tự động dịch caption đầu vào sang tiếng Anh cec_e
  • Bước 2: Áp dụng VQ2AVQ^2A. Nhóm tác giả áp dụng VQ2AVQ^2A với caption tiếng Anh cec_e để nhận một tập các cặp câu hỏi-trả lời bằng tiếng Anh qe,ae{q_e, a_e}
  • Bước 3: Dịch cặp câu hỏi-trả lời và đánh giá. Tự động dịch mỗi cặp câu hỏi-trả lời (qe,ae)(q_e, a_e) sang ngôn ngữ lang\langle\operatorname{lang}\rangle (q,a)(q,a) và xác minh xem câu trả lời đã dịch aa có trong caption gốc không cc
  • Bước 4 (Optional): Xác minh và sửa đổi. Những người gán nhãn thực hiện phân tích tính hợp lệ của mỗi cặp câu hỏi-câu trả lời được tạo (q,a)(q, a) và lọc nó ra hoặc thực hiện các chỉnh sửa để thu được (q,a)(q', a')

Một ưu điểm chính của DTVQ2ADTVQ^2A là khả năng áp dụng cho một bộ ngôn ngữ khổng lồ. Ngoài ra, nó đòi hỏi ít nỗ lực gán nhãn của con người hơn so với quy trình truyền thống. Mặt khác, một hạn chế có thể có của cách tiếp cận này là về ngữ nghĩa, do đó ở bước cuối cùng ta cần xác minh và chỉnh sửa bởi con người để có thể tăng độ chính xác.

MAVERICS-XM3600 (MaXM)

Trong phần này, nhóm tác giả mô tả nguồn dữ liệu, cách gán nhãn và phân tích về benchmark được đề xuất.

Nguồn dữ liệu

Lựa chọn ngôn ngữ. Nhóm tác giả chọn 7 ngôn ngữ đảm bảo các điều kiện sau: 1) đa dạng về kiểu chữ, 2) có bề dày lịch sử và 3) vị trí sử dụng: tiếng Anh (en), tiếng Pháp (fr), tiếng Hindi (hi), tiếng Do Thái (iw), tiếng Romania (ro), tiếng Thái (th) và tiếng Trung (zh).

Lựa chọn ảnh và Caption. Nhóm tác giả chọn ra một tập con gồm 3600 ảnh trong tập Crossmodal-3600 (XM3600) với các caption đa ngôn ngữ có chất lượng cao. Tất cả các ảnh được chọn đảm bảo bao phủ được một phạm vi rộng các khái niệm trực quan với nhiều bối cảnh văn hóa khác nhau.

Gán nhãn

Trong bảng dưới là cách thức gán nhãn cho cả câu hỏi và trả lời, gồm 3 nhãn “Correct”, “Almost Correct”, và “Incorrect”.

image.png

Kết hợp các thành phần

Cho một nguồn dữ liệu được gán nhãn, nhóm tác giả sử dụng DTVQ2ADTVQ^2A để sinh một lượng lớn cặp câu hỏi-trả lời cho mỗi ngôn ngữ.

Bộ lọc thống kê. Bảng dưới báo cáo số lượng các cặp câu hỏi-trả lời ở các giai đoạn khác nhau trong quy trình được mô tả ở phần trước. Nhìn chung, ta có thể sinh một số lượng lớn các cặp câu hỏi-trả lời bằng tất cả các ngôn ngữ. Hơn nữa, nhóm tác giả nhận thấy rằng, trên các ngôn ngữ, khoảng 30% các cặp câu hỏi-trả lời bằng tiếng Anh (đã dịch) được lọc ra theo quy trình VQ2AVQ^2A. Ngược lại, ta thấy rằng các tỷ lệ phần trăm khác nhau của các câu trả lời đã dịch giữa các ngôn ngữ được lọc ra dựa trên bộ lọc nhất quán của phụ đề-câu trả lời. Một lý do chính cho điều này là do hạn chế của việc dịch câu hỏi-trả lời.

image.png

Tính đúng đắn. Nhóm tác giả lấy mẫu ngẫu nhiên các cặp câu hỏi-trả lời từ các hình ảnh thuộc 7 ngôn ngữ được sử dụng. Sau đó yêu cầu người đánh giá xác minh và sửa đổi các cặp câu hỏi - trả lời cho đến khi đạt được 300 mẫu hợp lệ cho mỗi ngôn ngữ.

image.png

Phân tích và thảo luận

Bảng dưới cho ta phân phối các loại câu hỏi trong tập MaXM. Vì tiền tố của các câu hỏi ở một vài ngôn ngữ không chỉ ra loại câu hỏi (không như tiếng Anh), nhóm tác giả xấp xỉ loại câu hỏi sử dụng tiền tố của câu hỏi tiếng Anh trước khi phiên dịch.

image.png

Nhóm tác giả nhận thấy các loại câu hỏi đa dạng và các câu hỏi này có nhiều cách diễn đạt khác nhau.

image.png

Modeling

Đa phần các nghiên cứu trước đây về VQA được xây dựng trên tiếng Anh. Hơn nữa, cách tiếp cận này coi VQA như một bài toán classification trên một tập hợp các câu trả lời được xác định trước. Trong phần này, nhóm tác giả đề xuất mô hình VQA duy nhất và mở cho đa ngôn ngữ. Đây là một mô hình đáng kì vọng vì nó tận dụng ưu điểm của các thành phần trong các ngôn ngữ riêng lẻ và mối quan hệ giữa các ngôn ngữ liên quan.

image.png

Open-ended VQA

Kiến trúc khởi đầu được sử dụng là mT5, một biến thể đa ngôn ngữ của T5. mT5 là kiến trúc encoder-decoder dựa trên transformer, được pretrained trên Common Crawl-based dataset bao gồm 101 ngôn ngữ. Điều này cho phép tận dụng khả năng hiểu đa ngôn ngữ (cho các câu hỏi) và sinh các câu trả lời ngay từ đầu. Để điều chỉnh mT5 với nhiệm vụ VQA, nhóm tác giả thêm các patch embeddings từ hình ảnh đến token câu hỏi. Đặc biệt, nhóm tác giả encode các pixel hình ảnh bằng Vision Transformers (ViT). Nhóm tác giả sử dụng ViT-L16 và mT5-Large trong tất cả các thử nghiệm của mình. Cả mT5 và ViT đều được đào tạo cùng nhau theo kiểu end-to-end để đưa ra câu trả lời mục tiêu trước cho mỗi cặp câu hỏi hình ảnh, sử dụng cross-entropy loss.

Multi-Language Prompted Training

Nhóm tác giả sử dụng Multi-task training, trong đó task tương ứng với VQA cho một ngôn ngữ cụ thể. Cho câu hỏi đầu vào question\langle\operatorname{question}\rangle với ngôn ngữ lang\langle\operatorname{lang}\rangle, ta xây dựng câu thoại "Answer in lang\langle\operatorname{lang}\rangle: question\langle\operatorname{question}\rangle" và sử dụng câu thoại này làm văn bản đầu vào cho model. Cách thiết kế như vậy cho multi-task learning làm mở rộng VQA cho đa ngôn ngữ đơn giản hơn. Khi dữ liệu cho các ngôn ngữ bổ sung có sẵn, người ta có thể chỉ cần thêm chúng vào nhóm mà không cần thay đổi kiến trúc mô hình 😄

Tài liệu tham khảo

[1] Towards Multi-Lingual Visual Question Answering

[2] Chris Alberti, Daniel Andor, Emily Pitler, Jacob Devlin, and Michael Collins. 2019. Synthetic QA corpora generation with roundtrip consistency. In ACL

[3] Alex Wang, Kyunghyun Cho, and Mike Lewis. 2020. Asking and answering questions to evaluate the factual consistency of summaries. In ACL.

[4] Soravit Changpinyo, Doron Kukliansky, Idan Szpektor, Xi Chen, Nan Ding, and Radu Soricut. 2022. All you may need for VQA are image captions. In NAACL.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.