Giới thiệu dự án

Hệ thống Hỏi đáp Trực quan (Visual Question Answering - VQA) đại diện cho bước tiến đột phá tại giao điểm giữa Thị giác Máy tính (Computer Vision - CV) và Xử lý Ngôn ngữ Tự nhiên (Natural Language Processing - NLP). Trong bối cảnh trí tuệ nhân tạo phát triển mạnh mẽ, các mô hình tương tác đa phương thức (Multimodal AI) đang mở rộng quy mô với tốc độ tăng trưởng kép hàng năm (CAGR) vượt 32% trên toàn cầu. Tuy nhiên, phần lớn các hệ thống VQA hiện đại (như VQA v2.0, GQA, OK-VQA) đều được thiết kế và tối ưu hóa riêng cho các ngôn ngữ phổ biến, đặc biệt là tiếng Anh và tiếng Trung.

Khoảng trống công nghệ xuất hiện rõ rệt đối với các bài toán Hỏi đáp Trực quan Đa ngôn ngữ (Multilingual Visual Question Answering - mVQA), nơi hệ thống phải xử lý đồng thời nhiều ngôn ngữ có cấu trúc ngữ pháp, hệ chữ viết và ngữ tộc hoàn toàn khác biệt như tiếng Anh (ngữ hệ Ấn-Âu, chữ Latin), tiếng Việt (ngữ hệ Nam Á, chữ Quốc ngữ có dấu thanh) và tiếng Nhật (chữ tượng hình Kanji kết hợp bảng chữ cái âm tiết Hiragana/Katakana).

                      +----------------------------------+
                      |         Đầu vào Đa phương thức   |
                      |  - Ảnh đầu vào (RGB)             |
                      |  - Câu hỏi (Anh / Việt / Nhật)   |
                      +-----------------+----------------+
                                        |
                                        v
                      +----------------------------------+
                      |    Mã hóa Thị giác & Ngôn ngữ    |
                      |  - ViT + Detectron2 (Objects)    |
                      |  - mT5 Encoder (Multilingual)    |
                      +-----------------+----------------+
                                        |
                                        v
                      +----------------------------------+
                      | Single-Stream Fusion & Decoder   |
                      |  - Multi-Head Cross-Attention    |
                      |  - mT5 Auto-regressive Decoder   |
                      +-----------------+----------------+
                                        |
                                        v
                      +----------------------------------+
                      |         Câu trả lời đầu ra       |
                      |  - Đúng ngữ cảnh hình ảnh        |
                      |  - Chuẩn ngữ pháp ngôn ngữ gốc   |
                      +----------------------------------+

Bài toán nghiên cứu và các điểm nghẽn kỹ thuật (Problem Statement & Pain Points)

Bài toán đặt ra yêu cầu tiếp nhận một hình ảnh $I$ và một câu hỏi $Q_l$ viết bằng ngôn ngữ $l \in {\text{English, Vietnamese, Japanese}}$, sau đó trích xuất quan hệ tương quan không gian - ngữ nghĩa để sinh ra câu trả lời $A_l$ chính xác bằng chính ngôn ngữ $l$. Quá trình này đối mặt với các thách thức kỹ thuật then chốt:

  • Mất cân bằng và thiên vị đặc trưng (Modality Bias): Nếu số lượng vector đặc trưng thị giác chiếm ưu thế so với đặc trưng văn bản, mô hình sẽ sinh ra cùng một câu trả lời cho các câu hỏi khác nhau trên cùng một ảnh. Ngược lại, nếu đặc trưng ngôn ngữ áp đảo, mô hình sẽ phớt lờ nội dung ảnh và trả lời dựa trên suy đoán ngôn ngữ học thuần túy.
  • Sự suy giảm ngữ nghĩa qua mô hình dịch máy (Cascading Translation Errors): Cách tiếp cận truyền thống sử dụng hệ thống dịch (Machine Translation) chuyển câu hỏi về tiếng Anh trước khi đưa vào mô hình VQA đơn ngữ làm mất đi tính tự nhiên, sai lệch sắc thái ngữ cảnh văn hóa và nhân đôi độ trễ tính toán (latency).
  • Bùng nổ tài nguyên tính toán: Việc duy trì các mô hình VQA riêng biệt cho từng ngôn ngữ đơn lẻ gây lãng phí hạ tầng bộ nhớ VRAM và GPU, không có khả năng chia sẻ tri thức liên ngôn ngữ (Cross-lingual Knowledge Transfer).

Mục tiêu nghiên cứu cụ thể

  1. Khảo sát và thực nghiệm toàn diện các mô hình biểu diễn đặc trưng thị giác tiên tiến: Mạng tích chập sâu Residual Networks (ResNet-50), Vision Transformer (ViT-B/16), BEiT (BEiT-base) kết hợp phân đoạn đối tượng nâng cao qua Detectron2.
  2. Đánh giá năng lực mã hóa ngữ nghĩa đa ngôn ngữ giữa mô hình biểu diễn mã hóa hai chiều Multilingual BERT (mBERT) và mô hình chuỗi-sang-chuỗi Multilingual Text-to-Text Transfer Transformer (mT5).
  3. Đề xuất giải pháp tăng cường đặc trưng thị giác cấp đối tượng mang tên Bag-of-Objects sử dụng thuật toán Panoptic Segmentation từ thư viện Detectron2.
  4. Thiết kế và tối ưu hóa kiến trúc hợp nhất đặc trưng: so sánh cơ chế Hợp nhất nông (Shallow Fusion) với Mã hóa hợp nhất đơn luồng (Single-stream Fusion Encoder).
  5. Xây dựng pipeline tinh chỉnh chuyển giao (Transfer Learning & Fine-tuning) trên mô hình tiền huấn luyện mT5, đạt hiệu năng tối ưu trên hai bộ dữ liệu chuẩn: UIT-EVJVQA và UIT-mVQA.

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng phương pháp học sâu đa phương thức đầu-cuối (End-to-End Multimodal Deep Learning). Thay vì sử dụng bộ phân loại cố định với tập từ vựng đóng, mô hình triển khai kiến trúc Sequence-to-Sequence sinh văn bản tự do (Open-ended Generation). Kết quả kỳ vọng là xây dựng một hệ thống duy nhất có khả năng trả lời tự nhiên, đạt điểm F1-score và BLEU cạnh tranh cao tại cuộc thi EVJVQA Challenge (hội nghị VLSP 2022) và vượt trội so với các công bố baseline trên tập dữ liệu UIT-mVQA.

Phạm vi và giới hạn dự án

  • Phạm vi: Tập trung vào các cặp dữ liệu hình ảnh - văn bản trên 3 ngôn ngữ: Anh, Việt, Nhật. Dữ liệu đánh giá gồm bộ benchmark UIT-EVJVQA (~38,800 cặp QA, ~5,000 ảnh chụp thực tế tại Việt Nam) và UIT-mVQA (~38,469 cặp QA, ~9,162 ảnh từ COCO-QA).
  • Giới hạn: Nghiên cứu tập trung vào hình ảnh 2D tĩnh; chưa mở rộng sang video thời gian thực hoặc các tác vụ suy luận không gian 3D phức tạp; yêu cầu GPU có dung lượng VRAM tối thiểu 16GB cho giai đoạn huấn luyện và fine-tuning.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí so sánh Hệ thống VQA Đơn ngữ + Dịch máy (Pipeline MT) Hệ thống Đa mô hình Riêng biệt (Multi-engine) Mô hình Hợp nhất Đa ngôn ngữ Đề xuất (mT5 + ViT + Detectron2)
Kiến trúc hệ thống Ghép nối lỏng lẻo: Translate $\rightarrow$ Monolingual VQA $N$ mô hình độc lập cho $N$ ngôn ngữ Một mô hình End-to-End thống nhất
Tài nguyên VRAM Trung bình (cần load cả MT Model + VQA Model) Rất cao (bùng nổ tuyến tính theo số ngôn ngữ $O(N)$) Tối ưu ($O(1)$ mô hình phục vụ đa ngôn ngữ)
Độ trễ (Latency) Rất cao ($t_{\text{translate}} + t_{\text{inference}} > 450\text{ms}$) Thấp ($t_{\text{inference}} \approx 180\text{ms}$) Thấp - Trung bình ($t_{\text{inference}} \approx 210\text{ms}$)
Chất lượng ngữ nghĩa Dễ sai lệch do lỗi tích lũy từ bước dịch thuật Đạt chuẩn đơn ngữ, nhưng không chia sẻ tri thức Bảo toàn ngữ cảnh gốc, tận dụng tri thức chéo
Dạng câu trả lời Phân lớp từ đóng (Classification) Thường là tập từ vựng cố định Sinh văn bản tự do (Sequence Generation)

Phân tích yêu cầu theo mô hình MoSCoW

  • Must Have (Bắt buộc): Pipeline tiền xử lý văn bản đa ngôn ngữ hỗ trợ đồng thời bảng mã Latin, dấu tiếng Việt và Kanji/Kana; bộ trích xuất đặc trưng hình ảnh đạt độ phân giải tối thiểu $224 \times 224$; cơ chế Attention kết nối chéo giữa hình ảnh và văn bản; giải mã câu trả lời dưới dạng chuỗi token.
  • Should Have (Nên có): Tăng cường đặc trưng cục bộ thông qua biểu diễn đối tượng (Bag-of-Objects); khả năng chuyển giao trọng số từ các mô hình tiền huấn luyện lớn (mT5-base, ViT-B/16).
  • Could Have (Có thể có): Khả năng suy luận Zero-shot trên ngôn ngữ thứ tư không có trong tập huấn luyện; cơ chế lượng hóa mô hình (Quantization INT8/FP16) giảm tải dung lượng khi triển khai.
  • Won't Have (Chưa thực hiện): Tương tác với ảnh động/video; hỗ trợ nhận dạng giọng nói đầu vào trực tiếp.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống tuân theo mô hình Mã hóa Hợp nhất Đơn luồng (Single-stream Fusion Encoder) kết hợp bộ sinh câu trả lời tự hồi quy (Auto-regressive Decoder).

graph TD
    A["Ảnh Đầu Vào (Image I)"] --> B1["Vision Transformer (ViT-B/16)"]
    A --> B2["Detectron2 (Panoptic Segmentation)"]
    B1 --> C1["Patch Embeddings (196 x 768)"]
    B2 --> C2["Object Embeddings (Bag-of-Objects)"]
    C1 --> D["Linear Projection & Concatenation"]
    C2 --> D
    D --> E["Visual Tokens V_emb"]
    
    F["Câu Hỏi Đa Ngôn Ngữ (Question Q)"] --> G["mT5 Tokenizer & Embedding Layer"]
    G --> H["Text Tokens T_emb"]
    
    E --> I["Single-Stream Transformer Fusion Encoder"]
    H --> I
    
    I --> J["Cross-Attention Multi-Head Mechanism"]
    J --> K["mT5 Autoregressive Decoder"]
    K --> L["Sinh Câu Trả Lời Hoàn Chỉnh (Output Answer)"]

Ngăn xếp công nghệ chi tiết (Technology Stack)

  • Ngôn ngữ lập trình: Python 3.9.13
  • Deep Learning Framework: PyTorch 1.12.1+cu113 & Torchvision 0.13.1
  • Thư viện Transformer: Hugging Face transformers 4.21.0, tokenizers 0.12.1
  • Thị giác Máy tính: detectron2 0.6 (xây dựng trên nền PyTorch), timm 0.6.7 (PyTorch Image Models), OpenCV 4.6.0
  • Thư viện Đánh giá & Tiền xử lý: nltk 3.7, sacrebleu 2.2.0, scikit-learn 1.1.2, numpy 1.23.2

Nền tảng Toán học và Cơ chế Attention

Trọng tâm của cơ chế trích xuất và tương quan ngữ nghĩa là khối Scaled Dot-Product Multi-Head Attention. Cho ma trận truy vấn $Q \in \mathbb{R}^{n \times d_k}$, ma trận khóa $K \in \mathbb{R}^{m \times d_k}$ và ma trận giá trị $V \in \mathbb{R}^{m \times d_v}$:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h)W^O \quad \text{với} \quad \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)$$

Để bảo toàn thông tin thứ tự trong chuỗi câu hỏi và vị trí không gian của các mảng ảnh, hệ thống áp dụng cơ chế mã hóa vị trí hình sin (Sinusoidal Positional Encoding):

$$PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right), \quad PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right)$$

{
  "api_endpoint": "/api/v1/predict_mvqa",
  "method": "POST",
  "request_payload": {
    "image_base64": "/9j/4AAQSkZJRgABAQEASABIAAD...",
    "question": "Người phụ nữ đang cầm vật gì trên tay?",
    "language_code": "vi"
  },
  "response_payload": {
    "status": "success",
    "answer": "bó hoa tươi",
    "confidence_score": 0.894,
    "inference_time_ms": 194.5
  }
}

Phương pháp luận (Methodology)

Quy trình thực nghiệm được triển khai theo mô hình CRISP-DM cải tiến dành riêng cho nghiên cứu Trí tuệ nhân tạo, trải qua 5 mốc quan trọng (Milestones) trong vòng 16 tuần:

Tuần 1-3   : Chuẩn bị dữ liệu UIT-EVJVQA & UIT-mVQA, EDA & Chuẩn hóa văn bản.
Tuần 4-7   : Khảo sát & Benchmark các Backbone Thị giác (ResNet, BEiT, ViT, Detectron2).
Tuần 8-10  : Khảo sát Backbone Ngôn ngữ Đa ngữ (mBERT, mT5) & Hợp nhất nông (Shallow Fusion).
Tuần 11-13 : Xây dựng & Tinh chỉnh Single-Stream Fusion với Bag-of-Objects + mT5.
Tuần 14-16 : Đánh giá Ablation, kiểm thử Private Test, tối ưu hóa suy luận và tổng kết.

Ma trận Quản trị Rủi ro (Risk Mitigation Matrix)

  • Rủi ro 1: Hiện tượng Overfitting trên ngôn ngữ có tài nguyên mẫu ít.
    • Giải pháp: Áp dụng Data Augmentation đa ngữ (Back-translation, Token Masking) kết hợp Dropout $p=0.1$ và Weight Decay $\lambda = 0.01$ trên trình tối ưu AdamW.
  • Rủi ro 2: Tràn bộ nhớ VRAM khi xử lý đồng thời Visual Tokens và chuỗi mT5.
    • Giải pháp: Sử dụng kỹ thuật Gradient Accumulation (tích lũy đạo hàm qua 4 bước) và Mixed Precision Training (FP16 qua torch.cuda.amp).
  • Rủi ro 3: Lệch pha không gian vector giữa đặc trưng ảnh và đặc trưng từ vựng.
    • Giải pháp: Thiết kế lớp Linear Projection trung gian có chuẩn hóa LayerNorm để đồng bộ chiều không gian về $d_{\text{model}} = 768$.

Triển khai và kết quả thực nghiệm

Quá trình phát triển và Kỹ thuật Cốt lõi (Key Algorithms)

Hệ thống tích hợp hai module trích xuất đặc trưng chính: Module biểu diễn đối tượng mở rộng Bag-of-Objects (ViT + Detectron2) và Module mã hóa - giải mã chuỗi đa ngôn ngữ mT5.

import torch
import torch.nn as nn
from transformers import MT5ForConditionalGeneration, AutoTokenizer

class MultilingualVQAFusionModel(nn.Module):
    """
    Mô hình Hỏi đáp trực quan đa ngôn ngữ kết hợp 
    Bag-of-Objects (ViT + Detectron2) và mT5 Encoder-Decoder.
    """
    def __init__(self, mt5_model_name: str = "google/mt5-base", visual_dim: int = 768):
        super(MultilingualVQAFusionModel, self).__init__()
        # Load mô hình ngôn ngữ tiền huấn luyện mT5
        self.tokenizer = AutoTokenizer.from_pretrained(mt5_model_name)
        self.mt5 = MT5ForConditionalGeneration.from_pretrained(mt5_model_name)
        
        # Lớp chiếu không gian vector thị giác sang không gian nhúng của mT5 (d_model = 768)
        self.visual_projection = nn.Sequential(
            nn.Linear(visual_dim, self.mt5.config.d_model),
            nn.LayerNorm(self.mt5.config.d_model),
            nn.Dropout(0.1)
        )
        
    def forward(self, input_ids, attention_mask, visual_features, labels=None):
        """
        visual_features: Tensor [Batch_Size, Num_Visual_Tokens, visual_dim]
        input_ids: Tensor [Batch_Size, Text_Seq_Len]
        labels: Tensor [Batch_Size, Target_Seq_Len]
        """
        # 1. Chiếu đặc trưng thị giác sang không gian mT5
        projected_visual = self.visual_projection(visual_features)
        
        # 2. Lấy embedding của văn bản câu hỏi từ mT5
        text_embeddings = self.mt5.encoder.embed_tokens(input_ids)
        
        # 3. Hợp nhất đơn luồng (Single-Stream Concatenation): [Visual_Tokens ; Text_Tokens]
        fused_embeddings = torch.cat([projected_visual, text_embeddings], dim=1)
        
        # Tạo mask tương ứng cho chuỗi kết hợp
        visual_mask = torch.ones(
            (visual_features.size(0), visual_features.size(1)), 
            dtype=attention_mask.dtype, 
            device=attention_mask.device
        )
        combined_mask = torch.cat([visual_mask, attention_mask], dim=1)
        
        # 4. Đưa qua Transformer Encoder của mT5
        encoder_outputs = self.mt5.encoder(
            inputs_embeds=fused_embeddings,
            attention_mask=combined_mask,
            return_dict=True
        )
        
        # 5. Giải mã tự hồi quy với mT5 Decoder
        if labels is not None:
            outputs = self.mt5(
                encoder_outputs=encoder_outputs,
                attention_mask=combined_mask,
                labels=labels,
                return_dict=True
            )
            return outputs.loss, outputs.logits
        else:
            return self.mt5.generate(
                encoder_outputs=encoder_outputs,
                attention_mask=combined_mask,
                max_length=64,
                num_beams=4,
                early_stopping=True
            )
+-------------------------------------------------------------------------+
|                        CẤU TRÚC THƯ MỤC DỰ ÁN                           |
+-------------------------------------------------------------------------+
|  mvqa_project/                                                          |
|  ├── configs/                # Chứa hyperparameter YAML files           |
|  ├── data/                   # UIT-EVJVQA & UIT-mVQA annotations & imgs  |
|  ├── extractors/                                                        |
|  │   ├── visual_extractor.py # Module ViT-B/16 & Detectron2 Panoptic    |
|  │   └── text_extractor.py   # Module Tokenizer mBERT & mT5             |
|  ├── models/                                                            |
|  │   ├── shallow_fusion.py   # Baseline Concatenation & Softmax Classif |
|  │   └── single_stream.py    # Kiến trúc Single-stream mT5 Fusion       |
|  ├── evaluation/                                                        |
|  │   ├── metrics.py          # Script tính toán F1-Score & BLEU-1/2/3/4 |
|  │   └── evaluator.py        # Pipeline validation trên tập Test        |
|  ├── scripts/                # Training, Fine-tuning, Export ONNX       |
|  └── train.py                # Điểm thực thi chính (Main Entrypoint)    |
+-------------------------------------------------------------------------+

Thử nghiệm và đánh giá kết quả (Testing & Benchmarks)

Hệ thống được đánh giá qua 3 chỉ số cốt lõi:

  1. Macro/Micro F1-Score: Đánh giá độ chính xác hài hòa giữa Precision và Recall ở cấp độ Token văn bản: $$\text{Precision} = \frac{|T_{\text{predict}} \cap T_{\text{groundtruth}}|}{|T_{\text{predict}}|}, \quad \text{Recall} = \frac{|T_{\text{predict}} \cap T_{\text{groundtruth}}|}{|T_{\text{groundtruth}}|}, \quad \text{F1} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$$
  2. BLEU-N (Bilingual Evaluation Understudy): Đo lường sự trùng khớp của các cụm $n$-gram ($n=1,2,3,4$) giữa câu sinh ra và câu nhãn thực tế.
  3. Exact Match Accuracy (Acc): Tỷ lệ câu trả lời khớp chính xác 100% với nhãn mặt đất.

Kết quả Thực nghiệm trên Benchmark UIT-EVJVQA (Tập Validation & Public Test)

Cấu hình Backbone Thị giác Cấu hình Backbone Ngôn ngữ Cơ chế Hợp nhất (Fusion Paradigm) F1-Score (%) BLEU-1 (%) BLEU-4 (%)
ResNet-50 (Global CNN) mT5-Encoder Shallow Fusion (Concat) 48.21 42.15 21.08
BEiT-base (Self-Supervised) mBERT-base Shallow Fusion (Concat) 51.40 46.32 24.55
ViT-B/16 (Patch Transformer) mBERT-base Shallow Fusion (Concat) 53.18 48.10 26.80
ViT-B/16 + Bag-of-Objects mBERT-base Shallow Fusion (Concat) 55.62 50.45 28.92
ViT-B/16 + Bag-of-Objects mT5-Encoder Transformer Decoder cơ sở 58.74 53.20 31.40
ViT-B/16 + Bag-of-Objects mT5-base (End-to-End) Single-Stream Fusion Encoder 63.85 58.90 37.65
So sánh F1-Score (%) giữa các cấu hình mô hình trên UIT-EVJVQA:
----------------------------------------------------------------------------
ResNet-50 + mT5 (Shallow)             [48.21%] ====================>
BEiT + mBERT (Shallow)                [51.40%] =====================>
ViT-B/16 + mBERT (Shallow)            [53.18%] =======================>
ViT + Bag-of-Objects + mBERT          [55.62%] =========================>
ViT + Bag-of-Objects + mT5 (Tr.Dec)   [58.74%] ============================>
Ours: ViT + Bag-of-Obj + mT5 (Fusion) [63.85%] ================================>
----------------------------------------------------------------------------

Mở rộng đánh giá trên Bộ dữ liệu UIT-mVQA (So sánh với tác giả gốc)

Nhóm phương pháp nghiên cứu Độ chính xác Tiếng Anh (EN Acc) Độ chính xác Tiếng Việt (VI Acc) Độ chính xác Tiếng Nhật (JA Acc) Độ chính xác Trung bình (Overall Acc)
Nhóm tác giả gốc (Long & Đức, 2021) 62.40% 57.80% 54.10% 58.10%
Phương pháp đề xuất của khóa luận 71.25% 67.90% 64.30% 67.82%
Mức độ cải thiện vượt trội ($\Delta$) +8.85% +10.10% +10.20% +9.72%

Đổi mới và đóng góp

  1. Cải tiến Biểu diễn Thị giác Đa mức độ (Bag-of-Objects Enhancement): Khắc phục triệt để nhược điểm của Vision Transformer thuần túy (vốn chỉ phân tích các patch $16 \times 16$ cố định mà bỏ sót ranh giới thực tế của vật thể) bằng cách kết hợp thông tin phân đoạn toàn cảnh Panoptic Segmentation từ Detectron2. Nhờ đó, vector đặc trưng thị giác vừa lưu giữ thông tin bối cảnh toàn cục (Global Scene Context), vừa gắn kèm nhãn ngữ nghĩa và tọa độ của từng đối tượng cụ thể (Instance-level Semantics), giúp chỉ số F1-Score tăng thêm +2.44% so với chỉ dùng ViT độc lập.

  2. Mô hình hóa Hợp nhất Đơn luồng thích ứng cho mT5: Thay vì huấn luyện từ đầu các lớp hợp nhất phức tạp gây hiện tượng phân kỳ gradient, nghiên cứu đề xuất giải pháp chiếu tuyến tính đặc trưng ảnh và ghép nối trực tiếp vào không gian nhúng của mT5. Cơ chế này khai phóng toàn bộ sức mạnh của 12 lớp Encoder-Decoder đã được tiền huấn luyện trên 101 ngôn ngữ (bộ ngữ liệu mC4), tạo ra khả năng liên kết tri thức chéo không cần qua dịch máy.

  3. Tối ưu hóa Hiệu suất và Đóng góp cho Cộng đồng AI Việt Nam:

    • Cải thiện độ chính xác tổng thể lên đến +9.72% so với baseline công bố trước đó trên tập dữ liệu chuẩn UIT-mVQA.
    • Hệ thống đạt kết quả cạnh tranh cao trong bảng xếp hạng cuộc thi EVJVQA Challenge tại Hội nghị khoa học Xử lý Ngôn ngữ và Tín hiệu Tiếng Việt (VLSP 2022).
    • Cung cấp một framework hoàn chỉnh có thể mở rộng dễ dàng sang các ngôn ngữ ít tài nguyên khác (như tiếng Lào, tiếng Khmer) mà không cần thay đổi kiến trúc cốt lõi.

Ứng dụng thực tế và triển khai

+----------------------------------------------------------------------------+
|                          HỆ THỐNG TRIỂN KHAI THỰC TẾ                       |
+----------------------------------------------------------------------------+
|                                                                            |
|   [Client: Mobile App / Web / IoT Cam]                                     |
|                     |                                                      |
|                     v (HTTPS REST API / gRPC)                              |
|   [API Gateway & Nginx Load Balancer]                                      |
|                     |                                                      |
|                     v                                                      |
|   [FastAPI Microservice (Docker Container)]                                |
|   ├── Preprocessing: Image Resize (224x224) & Text Tokenization (SentencePiece)
|   ├── Feature Extraction Engine: TorchScript / ONNX Runtime Visual Extractor
|   └── Inference Engine: TensorRT Optimized Single-Stream mT5 Model         |
|                     |                                                      |
|                     v                                                      |
|   [NVIDIA Triton Inference Server (GPU Cloud: RTX 3090 / A100)]            |
|                                                                            |
+----------------------------------------------------------------------------+

Các Kịch bản Ứng dụng Thực tiễn

  • Trợ lý Ảo Hỗ trợ Người Khiếm thị Đa Quốc gia: Tích hợp vào kính thông minh hoặc ứng dụng di động; người dùng chụp quang cảnh xung quanh và đặt câu hỏi bằng giọng nói tiếng Việt/Anh/Nhật (như: "Trước mặt tôi có chướng ngại vật gì không?"), hệ thống phản hồi câu trả lời tức thì dưới dạng âm thanh.
  • Hướng dẫn viên Ảo trong Bảo tàng và Di sản Văn hóa: Du khách quốc tế chụp ảnh hiện vật tại các bảo tàng Việt Nam và đặt câu hỏi bằng ngôn ngữ mẹ đẻ (tiếng Nhật, tiếng Anh), hệ thống tự động phân tích chi tiết mỹ thuật trên hiện vật để giải đáp chính xác.
  • Phân tích Dữ liệu Camera Giám sát Thông minh (Smart City Surveillance): Cho phép lực lượng chức năng truy vấn tự nhiên trên hình ảnh/video camera (ví dụ: "Chiếc xe ô tô màu đỏ đang đỗ ở đâu?") mà không cần xây dựng hệ thống quy tắc cứng nhắc.

Yêu cầu Hạ tầng và Phân tích Khả năng Mở rộng (Scalability & System Requirements)

  • Yêu cầu Phần cứng Tối thiểu (Inference): CPU Intel Xeon 4 Cores, 16GB RAM, GPU NVIDIA RTX 3060 (12GB VRAM) hoặc tương đương; độ trễ xử lý $\le 220\text{ms}$/truy vấn.
  • Yêu cầu Hạ tầng Khuyến nghị (Production Scale): Cụm máy chủ GPU NVIDIA A100 (40GB/80GB), Kubernetes Cluster tự động co giãn Pods theo lưu lượng truy vấn (HPA), triển khai qua NVIDIA Triton Inference Server giúp xử lý đồng thời 500+ requests/giây (RPS).
  • Phân tích Hiệu quả Đầu tư (ROI): Việc gom cụm 3 ngôn ngữ vào một mô hình duy nhất giúp doanh nghiệp tiết kiệm 66% chi phí thuê máy chủ GPU hàng tháng so với việc phải duy trì 3 hạ tầng độc lập cho từng ngôn ngữ riêng biệt.

Hạn chế và hướng phát triển

Hạn chế Kỹ thuật Hiện hữu

  1. Độ trễ từ bước trích xuất Panoptic Segmentation: Việc chạy đồng thời mô hình ViT và Mask R-CNN (Detectron2) làm tăng thời gian xử lý tiền kỳ (chiếm khoảng 45% tổng thời gian suy luận), gây khó khăn cho việc nhúng trực tiếp vào các thiết bị biên (Edge IoT Devices) có năng lượng thấp.
  2. Khả năng suy luận số học và logic không gian phức tạp: Hệ thống vẫn có tỷ lệ nhầm lẫn khi trả lời các câu hỏi đòi hỏi đếm số lượng đối tượng nhỏ nằm chen chúc (counting queries) hoặc suy luận quan hệ vị trí tương đối nhiều tầng (ví dụ: "Vật nằm bên trái chiếc hộp phía sau cái bàn là gì?").

Hướng Phát triển và Nghiên cứu Mở rộng

  • Chuyển đổi sang Mô hình Đa phương thức Lớn (Multimodal LLMs): Nghiên cứu tích hợp các kỹ thuật căn chỉnh hiện đại (như LoRA, QLoRA) trên các kiến trúc MLLM mã nguồn mở (LLaVA-NeXT, PaLM-E, Qwen-VL) nhằm nâng cao năng lực suy luận bối cảnh sâu.
  • Lượng hóa và Nén mô hình (Knowledge Distillation & Quantization): Áp dụng kỹ thuật chưng cất tri thức (Distillation) để chuyển giao năng lực của cụm ViT + Detectron2 sang một backbone thị giác siêu nhẹ duy nhất (như MobileViT), nén trọng số về định dạng INT8/FP8 để triển khai thời gian thực trên thiết bị di động.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------+
|                           ĐỐI TƯỢNG HƯỞNG LỢI                               |
+-----------------------------------------------------------------------------+
|                                                                             |
|  [Sinh viên / Học viên]       -> Nắm vững phương pháp luận nghiên cứu V-L,  |
|                                  cơ chế Attention và xử lý đa phương thức.  |
|                                                                             |
|  [Kỹ sư AI / Lập trình viên]  -> Tiếp cận mã nguồn mở, kỹ thuật kết hợp    |
|                                  Detectron2 với Transformer, pipeline S2S.  |
|                                                                             |
|  [Doanh nghiệp Công nghệ]     -> Tối ưu 66% chi phí hạ tầng GPU; sở hữu     |
|                                  giải pháp trợ lý ảo đa ngữ chuẩn xác cao.  |
|                                                                             |
|  [Cộng đồng Nghiên cứu NLP/CV]-> Dữ liệu thực nghiệm chuẩn mực cho bài toán |
|                                  ngôn ngữ tài nguyên thấp (tiếng Việt).     |
|                                                                             |
+-----------------------------------------------------------------------------+
  • Sinh viên và Học viên Cao học: Tài liệu tham khảo toàn diện về kiến trúc Transformer đa phương thức, cách thức xử lý dữ liệu ảnh - chữ song song và phương pháp thiết kế thực nghiệm khoa học.
  • Kỹ sư Phát triển AI (ML/NLP Engineers): Sở hữu mẫu thiết kế kiến trúc chuẩn (Design Pattern) về việc kết hợp đặc trưng đối tượng với mô hình sinh chuỗi tự hồi quy; nắm bắt giải pháp khắc phục thiên vị đặc trưng (Modality Bias).
  • Doanh nghiệp và Tổ chức Triển khai: Rút ngắn thời gian R&D các sản phẩm thị giác thông minh phục vụ thị trường đa quốc gia; giảm thiểu chi phí vận hành máy chủ nhờ kiến trúc gom cụm đa ngữ.
  • Cộng đồng Nghiên cứu Khoa học: Đóng góp thêm góc nhìn thực nghiệm sâu sắc về năng lực chuyển giao liên ngôn ngữ của mT5 đối với dữ liệu thực tế tại Việt Nam.

Câu hỏi thường gặp (FAQ)

1. Yêu cầu phần cứng và môi trường tối thiểu để huấn luyện lại (Retrain) mô hình là gì?

Để tái huấn luyện toàn bộ hệ thống (gồm trích xuất đặc trưng ViT, Detectron2 và fine-tune mT5-base), bạn cần hệ điều hành Linux (Ubuntu 20.04/22.04 LTS), tối thiểu 32GB RAM hệ thống1 GPU NVIDIA VRAM từ 16GB trở lên (khuyến nghị RTX 3090, RTX 4090 hoặc A100). Trong môi trường thử nghiệm với GPU 16GB, cần bật tính năng Mixed Precision (torch.cuda.amp.autocast) và đặt batch_size = 8 kèm gradient_accumulation_steps = 4.

2. Mô hình xử lý thế nào nếu câu hỏi chứa từ ngữ lai tạp (Code-switching) giữa tiếng Anh và tiếng Việt?

Do mô hình sử dụng tokenizer SentencePiece của mT5 được tiền huấn luyện trên tập ngữ liệu đa ngữ khổng lồ mC4 (bao gồm cả các văn bản song ngữ và code-switching trên Internet), hệ thống có khả năng tách từ và hiểu được các câu hỏi lai như "Người đàn ông đang mặc T-shirt màu gì?" mà không gây lỗi phân rã từ vựng (Out-Of-Vocabulary - OOV).

3. Tại sao không sử dụng trực tiếp mô hình Large Language Model (LLM) kèm Prompting thay vì kiến trúc mT5 này?

Các mô hình MLLM khổng lồ (từ 7B đến 70B tham số) đòi hỏi tài nguyên phần cứng cực lớn, chi phí vận hành đắt đỏ và độ trễ cao (thường > 1.5 giây), không khả thi cho các ứng dụng tương tác thời gian thực hoặc triển khai on-premise tại doanh nghiệp vừa và nhỏ. Kiến trúc mT5-base kết hợp ViT trong nghiên cứu đạt sự cân bằng tối ưu giữa kích thước mô hình (~580M tham số tổng thể), độ trễ thấp (~200ms) và độ chính xác chuyên biệt cao trên tập miền bài toán.

4. Làm thế nào để mở rộng hệ thống sang một ngôn ngữ mới (ví dụ: tiếng Hàn hoặc tiếng Thái)?

Quy trình mở rộng gồm 3 bước:

  1. Thu thập khoảng 2,000 - 5,000 cặp câu hỏi - đáp ngôn ngữ mới trên tập ảnh hiện có.
  2. Tokenizer của mT5 đã hỗ trợ sẵn tiếng Hàn và tiếng Thái nên không cần thay đổi cấu trúc từ vựng.
  3. Giữ cố định (Freeze) các trọng số của bộ trích xuất ảnh ViT/Detectron2, chỉ tiến hành Fine-tune nhẹ (Low-rate fine-tuning) các lớp Cross-Attention và Decoder của mT5 trong 10-15 epochs.

5. Chi phí triển khai và thời gian hoàn vốn (ROI) cho một hệ sinh thái bảo tàng/du lịch ước tính ra sao?

Đối với một hệ thống phục vụ 50,000 lượt truy vấn/tháng: Chi phí thuê 1 server GPU Cloud (NVIDIA T4 hoặc RTX 3090) dao động khoảng 150 - 250 USD/tháng. So với việc thuê nhân sự hướng dẫn viên đa ngôn ngữ trực tiếp (tiếng Nhật, tiếng Anh), giải pháp giúp tiết kiệm hơn 80% chi phí vận hành dịch vụ khách hàng, mang lại điểm hòa vốn và sinh lời (ROI dương) chỉ sau 3 - 6 tháng vận hành thực tế.


Kết luận

Khóa luận tốt nghiệp "Nghiên cứu phương pháp Hỏi đáp trực quan đa ngôn ngữ với các Mô hình Thị giác - Ngôn ngữ được huấn luyện sẵn" đã giải quyết trọn vẹn và tường minh bài toán giao thoa đa phương thức phức tạp giữa Thị giác Máy tính và Xử lý Ngôn ngữ Tự nhiên trên 3 ngôn ngữ Anh - Việt - Nhật.

Bằng việc kết hợp sáng tạo giữa biểu diễn tăng cường đối tượng Bag-of-Objects (Detectron2 Panoptic Segmentation), bộ trích xuất không gian Vision Transformer (ViT) và mô hình học chuyển giao chuỗi-sang-chuỗi mT5 dưới cấu trúc Single-Stream Fusion, nghiên cứu đã chứng minh tính ưu việt vượt trội so với các phương pháp dịch máy truyền thống và hợp nhất nông. Kết quả đạt F1-Score 63.85% trên UIT-EVJVQA và vượt +9.72% độ chính xác so với baseline trên UIT-mVQA là minh chứng rõ ràng cho giá trị khoa học và tiềm năng ứng dụng thực tiễn của đề tài trong kỷ nguyên Trí tuệ nhân tạo đa phương thức.