- vừa được xem lúc

[Paper reading] Towards Multi-Lingual Visual Question Answering

0 0 9

Người đăng: Viblo AI

Theo Viblo Asia

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.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hành trình AI của một sinh viên tồi

Mình ngồi gõ những dòng này vào lúc 2h sáng (chính xác là 2h 2 phút), quả là một đêm khó ngủ. Có lẽ vì lúc chiều đã uống cốc nâu đá mà giờ mắt mình tỉnh như sáo, cũng có thể là vì những trăn trở về lý thuyết chồng chất ánh xạ mình đọc ban sáng khiến không tài nào chợp mắt được hoặc cũng có thể do mì

0 0 144

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 217

- vừa được xem lúc

Tìm hiểu về YOLO trong bài toán real-time object detection

1.Yolo là gì. . Họ các mô hình RCNN ( Region-Based Convolutional Neural Networks) để giải quyết các bài toán về định vị và nhận diện vật thể.

0 0 282

- vừa được xem lúc

Encoding categorical features in Machine learning

Khi tiếp cận với một bài toán machine learning, khả năng cao là chúng ta sẽ phải đối mặt với dữ liệu dạng phân loại (categorical data). Khác với các dữ liệu dạng số, máy tính sẽ không thể hiểu và làm việc trực tiếp với categorical variable.

0 0 258

- vừa được xem lúc

TF Lite with Android Mobile

Như các bạn đã biết việc đưa ứng dụng đến với người sử dụng thực tế là một thành công lớn trong Machine Learning.Việc làm AI nó không chỉ dừng lại ở mức nghiên cứu, tìm ra giải pháp, chứng minh một giải pháp mới,... mà quan trọng là đưa được những nghiên cứu đó vào ứng dụng thực tế, được sử dụng để

0 0 71

- vừa được xem lúc

Xây dựng hệ thống Real-time Multi-person Tracking với YOLOv3 và DeepSORT

Trong bài này chúng ta sẽ xây dựng một hệ thống sử dụng YOLOv3 kết hợp với DeepSORT để tracking được các đối tượng trên camera, YOLO là một thuật toán deep learning ra đời vào tháng 5 năm 2016 và nó nhanh chóng trở nên phổ biến vì nó quá nhanh so với thuật toán deep learning trước đó, sử dụng YOLO t

0 0 315