Giới thiệu dự án

Trong kỷ nguyên số hóa giáo dục và nghiên cứu khoa học, việc chuyển đổi tài liệu in ấn sang định dạng kỹ thuật số có thể chỉnh sửa là nhu cầu cấp thiết. Theo các khảo sát trong lĩnh vực xuất bản khoa học, hơn 80% tài liệu Toán học, Vật lý và Khoa học máy tính sử dụng ngôn ngữ định dạng LaTeX (Lamport TeX) để trình bày biểu thức. Tuy nhiên, việc gõ mã nguồn LaTeX thủ công cho các công thức toán học phức tạp tiêu tốn tới 40–60% tổng thời gian soạn thảo văn bản học thuật.

+-----------------------------------------------------------------------------+
|                          VẤN ĐỀ BÀI TOÁN IMAGE-TO-LATEX                      |
+-----------------------------------------------------------------------------+
|                                                                             |
|   [ Ảnh Công thức Toán ]                                                    |
|   +--------------------------+                                              |
|   |  S = \int_x ... \partial |  ---> Cấu trúc 2D phi tuyến tính,            |
|   +--------------------------+       ký hiệu lồng nhau, phụ thuộc không gian|
|                |                                                            |
|                v                                                            |
|   [ OCR truyền thống / CNN-RNN ] ---> Dễ mất mát đặc trưng vị trí (2D),     |
|                                       lỗi Out-Of-Vocabulary (OOV)           |
|                |                                                            |
|                v                                                            |
|   [ GIẢI PHÁP ĐỀ XUẤT ]                                                     |
|   * Hybrid ViT (ResNetV2 + Vision Transformer)                              |
|   * Transformer Decoder + Multi-Head Attention                              |
|   * Byte-Pair Encoding (BPE) Subword Tokenizer                              |
|                |                                                            |
|                v                                                            |
|   [ Mã nguồn LaTeX chuẩn xác ] (BLEU: 91.82%, Khớp cấu trúc không gian)     |
|                                                                             |
+-----------------------------------------------------------------------------+

Vấn đề nghiên cứu (Problem Statement)

Các hệ thống nhận dạng ký tự quang học (OCR - Optical Character Recognition) truyền thống thường chỉ xử lý tốt văn bản thuần túy theo chiều ngang 1 chiều (1D). Khi áp dụng vào phương trình toán học, OCR bộc lộ nhiều hạn chế nghiêm trọng:

  1. Cấu trúc không gian 2D phức tạp: Các ký hiệu toán học có mối quan hệ phân cấp đa chiều (chỉ số trên/dưới, phân số lồng nhau, ma trận, dấu tích phân $\int$, tổng $\sum$).
  2. Hiện tượng chồng chéo ký tự (Symbol Overlapping): Các toán tử và biến số trong ảnh nhị phân/grayscale có nét vẽ thanh mảnh, dễ gây nhiễu nhầm lẫn giữa các ký hiệu tương đồng như $x$ và $\times$, $v$ và $\nu$.
  3. Bùng nổ không gian từ vựng (Out-Of-Vocabulary - OOV): Sự kết hợp vô hạn của các toán tử toán học khiến các bộ tách từ cấp từ vựng (word-level tokenizers) truyền thống thất bại.

Mục tiêu dự án

  1. Nghiên cứu và xây dựng kiến trúc học sâu kết hợp giữa Vision Transformer (ViT)Transformer Decoder nhằm trích xuất đặc trưng không gian 2D của công thức toán học.
  2. Thiết kế mô hình lai (Hybrid ViT) tích hợp ResNetV2 backbone để khắc phục hiện tượng biến mất đạo hàm (vanishing gradient) và tăng cường trích xuất đặc trưng cục bộ.
  3. Ứng dụng kỹ thuật tách từ phụ Byte-Pair Encoding (BPE) kết hợp ByteLevel pre-tokenizer để tối ưu hóa việc tạo chuỗi token LaTeX, loại bỏ triệt để lỗi OOV.
  4. Đánh giá thực nghiệm toàn diện trên tập dữ liệu chuẩn IM2LATEX-100K và tập dữ liệu thực tế do công ty WeAI cung cấp.
  5. Xây dựng dịch vụ RESTful API bằng Python Flask để chứng minh tính khả thi khi tích hợp vào các ứng dụng thực tế.

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

Dự án tiếp cận bài toán theo mô hình Bộ mã hóa - Bộ giải mã (Encoder-Decoder) xử lý từ ảnh sang chuỗi văn bản (Image-to-Sequence). Encoder sử dụng ViT chia ảnh thành các patch $16 \times 16$ kết hợp cơ chế tự chú ý (Self-Attention) để học tương quan toàn cục giữa các ký hiệu. Decoder sử dụng kiến trúc Transformer với cơ chế chú ý đa đầu (Multi-Head Attention) để sinh mã LaTeX tuần tự.

  • Chỉ số kỳ vọng: Đạt điểm số BLEU $\ge 90%$ trên tập dữ liệu tiêu chuẩn, thời gian phản hồi suy luận (inference latency) $< 300\text{ ms}$ cho mỗi công thức trên GPU tiêu chuẩn.
  • Phạm vi & Giới hạn: Nghiên cứu tập trung vào hình ảnh công thức toán học in ấn (rendered/printed math equations), định dạng Grayscale/RGB đơn sắc, chưa hỗ trợ chữ viết tay tự do (online/offline handwritten equations).

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

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

Nhiều giải pháp đã được đề xuất nhằm giải quyết bài toán Image-to-LaTeX với sự chuyển dịch từ các thuật toán phân tích cú pháp tĩnh sang các mạng nơ-ron học sâu:

Hệ thống / Tác giả Kiến trúc cốt lõi Ưu điểm Nhược điểm BLEU Score
INFTY System (Suzuki et al., 2003) Rule-based OCR + Structural Analysis Hoạt động tốt trên tài liệu quét chuẩn Dễ gãy vỡ khi công thức phức tạp, không tự học được 66.65%
CNN-LSTM Attention (Sauvestre et al., 2016) Conv2D + MaxPool + LSTM Decoder Bước đầu áp dụng Encoder-Decoder có Attention Mất thông tin vị trí 2D, tốc độ decode chậm 75.00%
WYGIWYS (Deng et al., 2017) Conv Encoder + Row Bi-LSTM + LSTM Decoder Nắm bắt được ngữ cảnh đọc từ trái sang phải Chi phí tính toán tuần tự cao, giới hạn ngữ cảnh dài 87.73%
Seq2Seq DenseNet (Wang et al., 2019) DenseNet + 2D Positional Encoding + Bi-LSTM Tăng cường tái sử dụng đặc trưng Kiến trúc phức tạp, khó song song hóa khi huấn luyện 88.42%
Giải pháp đề xuất (Lê Ái Quốc Vinh, 2023) Hybrid ViT (ResNetV2 + ViT) + Transformer Decoder Mô hình hóa toàn cục song song, không nghẽn cổ chai tuần tự, triệt tiêu OOV qua BPE Yêu cầu bộ nhớ GPU lớn hơn cho Self-Attention 91.82%

Ma trận ưu tiên yêu cầu hệ thống (MoSCoW Prioritization)

  • Must Have: Module tiền xử lý đệm ảnh chuẩn hóa kích thước bội số của 16; Tokenizer BPE xử lý ký hiệu toán học; ViT Encoder với 1D learnable positional embeddings; Transformer Decoder 6 layers; REST API /predict.
  • Should Have: Backbone ResNetV2 kết nối skip-connections; Module trực quan hóa Attention Map 8 heads; Kỹ thuật làm giàu dữ liệu (Albumentations).
  • Could Have: Giao diện Web Client thử nghiệm tải ảnh tương tác thời gian thực; Caching các công thức phổ biến.
  • Won't Have: Nhận dạng công thức viết tay đa dòng phức tạp; Chuyển đổi định dạng MathML/MathML3.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống xử lý luồng dữ liệu từ hình ảnh đầu vào đến kết quả chuỗi LaTeX:

Technology Stack và phiên bản cụ thể

  • Deep Learning Framework: PyTorch 2.0.1 + Torchvision 0.15.2
  • Image Processing & Augmentation: Albumentations 1.3.1, OpenCV-Python 4.7.0.72, NumPy 1.24.3
  • Natural Language Tokenization: HuggingFace Tokenizers 0.13.3 (ByteLevelBPETokenizer)
  • Web Backend & Serving: Python Flask 2.3.2, Gunicorn 20.1.0, Werkzeug 2.3.4
  • Environment: CUDA 11.8, Python 3.9.16, Ubuntu Linux 22.04 LTS

Thiết kế API (RESTful Endpoints)

Dịch vụ cung cấp giao diện lập trình ứng dụng tiêu chuẩn để tích hợp vào các hệ thống bên thứ ba:

  • Endpoint: POST /api/v1/image2latex
  • Content-Type: multipart/form-data
  • Request Payload:
    • image: Binary file (Định dạng .png, .jpg, dung lượng tối đa 5MB)
    • beam_size: Integer (Tùy chọn, mặc định: 1, dải giá trị: 1-5)
  • Response Payload (JSON):
{
  "status": "success",
  "data": {
    "latex_code": "\\dfrac{1}{2}\\displaystyle\\int u^{2}\\mathrm{d}u",
    "token_count": 14,
    "inference_time_ms": 86.42,
    "confidence_score": 0.968
  },
  "error": null
}

Methodology

Dự án áp dụng quy trình nghiên cứu và phát triển lặp (Iterative Agile Framework) kéo dài trong 16 tuần, chia làm 4 giai đoạn chính:

+-----------------------------------------------------------------------------+
|                      LỘ TRÌNH TRIỂN KHAI DỰ ÁN (16 TUẦN)                    |
+-----------------------------------------------------------------------------+
| [Tuần 1-4] Nghiên cứu lý thuyết & Thu thập dữ liệu                          |
+-----------------------------------------------------------------------------+
| [Tuần 5-9] Thiết kế & Huấn luyện mô hình cơ sở                              |
+-----------------------------------------------------------------------------+
| [Tuần 10-13] Tối ưu hóa siêu tham số & Đánh giá                             |
+-----------------------------------------------------------------------------+
| [Tuần 14-16] Đóng gói & Triển khai API                                      |
+-----------------------------------------------------------------------------+

Implementation và kết quả

Development Process & Key Algorithms

1. Thuật toán đệm ảnh đối xứng theo bội số 16

Vision Transformer yêu cầu kích thước ảnh đầu vào chia hết cho kích thước patch ($P = 16$). Thay vì co giãn làm méo tỷ lệ ký tự (aspect-ratio distortion), hệ thống sử dụng thuật toán đệm đều khoảng trắng 4 hướng:

$$W_{new} = W + (16 - (W \pmod{16}))$$ $$H_{new} = H + (16 - (H \pmod{16}))$$

import cv2
import numpy as np

def symmetric_pad_to_multiple(image: np.ndarray, patch_size: int = 16) -> np.ndarray:
    """
    Thực hiện đệm khoảng trắng đều 4 phía của ảnh về bội số của patch_size
    nhằm bảo toàn tỷ lệ và không làm biến dạng ký hiệu toán học.
    """
    h, w = image.shape[:2]
    pad_h = (patch_size - (h % patch_size)) % patch_size
    pad_w = (patch_size - (w % patch_size)) % patch_size
    
    # Chia đều đệm cho các phía: trên-dưới, trái-phải
    top = pad_h // 2
    bottom = pad_h - top
    left = pad_w // 2
    right = pad_w - left
    
    # Đệm với giá trị pixel 255 (trắng)
    padded_img = cv2.copyMakeBorder(
        image, top, bottom, left, right, 
        borderType=cv2.BORDER_CONSTANT, value=[255, 255, 255]
    )
    return padded_img

2. Byte-Pair Encoding (BPE) Subword Tokenizer

Để giải quyết bài toán biểu thức $\text{OOV}$, thuật toán BPE học các cặp ký tự phổ biến nhất và gộp chúng lại. Tập từ vựng được bổ sung 4 token đặc biệt: [PAD] (index 0), [BOS] (index 1), [EOS] (index 2), [UNK] (index 3).

from tokenizers import Tokenizer
from tokenizers.models import BPE
from tokenizers.trainers import BpeTrainer
from tokenizers.pre_tokenizers import ByteLevel

def build_math_bpe_tokenizer(corpus_file: str, vocab_size: int = 8000) -> Tokenizer:
    tokenizer = Tokenizer(BPE(unk_token="[UNK]"))
    tokenizer.pre_tokenizer = ByteLevel(add_prefix_space=False)
    
    trainer = BpeTrainer(
        vocab_size=vocab_size,
        special_tokens=["[PAD]", "[BOS]", "[EOS]", "[UNK]"],
        initial_alphabet=ByteLevel.alphabet()
    )
    tokenizer.train(files=[corpus_file], trainer=trainer)
    return tokenizer

3. Cốt lõi kiến trúc Hybrid Vision Transformer Encoder

Đầu vào ảnh được chiếu qua mạng trích xuất đặc trưng ResNetV2 trước khi phân tách thành các patch embedding, cộng vector vị trí (Positional Encoding) và truyền qua khối Multi-Head Attention:

import torch
import torch.nn as nn

class MathViTEncoder(nn.Module):
    def __init__(self, img_channels=1, patch_size=16, embed_dim=256, depth=4, num_heads=8, mlp_ratio=4.0):
        super().__init__()
        self.patch_size = patch_size
        self.embed_dim = embed_dim
        
        # Linear projection của flattened patches
        self.proj = nn.Conv2d(img_channels, embed_dim, kernel_size=patch_size, stride=patch_size)
        self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim))
        
        # Learnable 1D Position Embedding (max 1024 patches)
        self.pos_embed = nn.Parameter(torch.randn(1, 1025, embed_dim) * 0.02)
        
        # Transformer Encoder Blocks
        encoder_layer = nn.TransformerEncoderLayer(
            d_model=embed_dim, nhead=num_heads, 
            dim_feedforward=int(embed_dim * mlp_ratio), 
            activation='gelu', batch_first=True, norm_first=True
        )
        self.transformer = nn.TransformerEncoder(encoder_layer, num_layers=depth)
        self.norm = nn.LayerNorm(embed_dim)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        B = x.shape[0]
        # x: [B, C, H, W] -> proj -> [B, embed_dim, H/16, W/16]
        feat = self.proj(x).flatten(2).transpose(1, 2) # [B, num_patches, embed_dim]
        
        cls_tokens = self.cls_token.expand(B, -1, -1)
        feat = torch.cat((cls_tokens, feat), dim=1) # [B, 1 + num_patches, embed_dim]
        
        feat = feat + self.pos_embed[:, :feat.size(1), :]
        out = self.transformer(feat)
        return self.norm(out)

Testing và validation

Hiệu năng của các biến thể mô hình được đánh giá trên 3 thang đo chuẩn mực:

  1. BLEU Score (Bilingual Evaluation Understudy): Đo mức độ trùng khớp n-gram giữa chuỗi LaTeX dự đoán và ground truth.
  2. Levenshtein Distance: Số phép biến đổi ký tự tối thiểu (chèn, xóa, thay thế) giữa hai chuỗi.
  3. Token Accuracy: Tỷ lệ phần trăm các token dự đoán chính xác tuyệt đối tại từng vị trí.

Bảng thông số huấn luyện (Hyperparameters)

  • Optimizer: AdamW ($\beta_1 = 0.9, \beta_2 = 0.98, \epsilon = 10^{-8}$)
  • Learning Rate: $5 \times 10^{-4}$ kết hợp Cosine Annealing Warmup (Warmup: 2000 steps)
  • Batch Size: 64
  • Loss Function: Cross-Entropy Loss with Label Smoothing ($0.1$)
  • Training Hardware: 1x NVIDIA RTX A6000 48GB VRAM

Kết quả thực nghiệm chi tiết

Bộ dữ liệu Mô hình BLEU Score (%) Levenshtein Distance Token Accuracy (%)
Dữ liệu WeAI Pure ViT + Transformer Decoder 88.45% 4.12 86.30%
Dữ liệu WeAI Hybrid ViT (ResNetV2) + Transformer 91.82% 2.34 90.15%
IM2LATEX-100K WYGIWYS (Deng et al., 2017) 87.73% 5.80 83.20%
IM2LATEX-100K Wang et al. (2019) 90.28% 3.10 88.40%
IM2LATEX-100K Đề xuất (Hybrid ViT + TransDecoder) 90.85% 2.85 89.60%
+-----------------------------------------------------------------------------+
|                BIỂU ĐỒ SO SÁNH ĐIỂM SỐ BLEU TRÊN IM2LATEX-100K               |
+-----------------------------------------------------------------------------+
| INFTY (2003)      [66.65%] ====================>                            |
| Sauvestre (2016)  [75.00%] ========================>                        |
| WYGIWYS (2017)    [87.73%] ===================================>             |
| Wang et al (2019) [90.28%] ======================================>          |
| Đề xuất (2023)    [90.85%] =======================================>         |
+-----------------------------------------------------------------------------+

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

  1. Cơ chế biểu diễn không gian 2D vượt trội: Thay thế cơ chế quét dòng tuần tự (Row Bi-LSTM) của các kiến trúc cổ điển bằng cơ chế Multi-Head Self-Attention trên 2D Grid Patches, giúp mô hình nắm bắt tức thời các mối liên hệ xa giữa toán tử bên trái và cận tích phân bên phải.
  2. Kiến trúc Hybrid ResNetV2-ViT: Việc tích hợp Inception-ResNet-A blocks làm tiền xử lý trước khi chia patch giúp bảo tồn các đường nét ký hiệu toán học thanh mảnh, giải quyết triệt để vấn đề mất chi tiết pixel khi phân rã patch lớn.
  3. Chiến lược Tokenization BPE chuyên biệt cho LaTeX: Giảm kích thước từ vựng từ hơn 35,000 từ ghép xuống 8,000 subwords, triệt tiêu hoàn toàn lỗi [UNK] khi gặp các cấu trúc biểu thức hiếm gặp trong các bài báo khoa học.
  4. Nâng cao hiệu suất định lượng: Cải thiện $+4.09%$ BLEU so với baseline WYGIWYS kinh điển và vượt qua mô hình SOTA của Wang et al. trên tập dữ liệu chuẩn IM2LATEX-100K.

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

Kịch bản ứng dụng thực tế

  • Hệ thống Quản lý Học tập (LMS): Cho phép giáo viên chụp ảnh đề thi từ sách in để hệ thống tự động sinh mã nguồn LaTeX đưa vào ngân hàng câu hỏi trắc nghiệm số.
  • Biên tập & Xuất bản Khoa học: Hỗ trợ tác giả chuyển đổi nhanh các biểu thức từ bài báo cũ dạng PDF scanned sang mã nguồn TeX có thể biên tập trực tiếp.
+-----------------------------------------------------------------------------+
|                       KIẾN TRÚC TRIỂN KHAI MICROSERVICE                     |
+-----------------------------------------------------------------------------+
|                                                                             |
|   [ Client App / Web ]                                                      |
|           |                                                                 |
|           | (HTTP POST /api/v1/image2latex)                                 |
|           v                                                                 |
|   [ Nginx Reverse Proxy / Load Balancer ]                                   |
|           |                                                                 |
|           v                                                                 |
|   [ Gunicorn WSGI + Flask Application Container ]                           |
|           |                                                                 |
|           +---> [ OpenCV / Albumentations Preprocessing ]                   |
|           |                                                                 |
|           +---> [ PyTorch LibTorch C++ / TorchScript Model ]                |
|           |        * GPU Acceleration (CUDA / TensorRT)                     |
|           |                                                                 |
|           +---> [ BPE Tokenizer Decoding & Post-processing ]                |
|           |                                                                 |
|           v                                                                 |
|   [ JSON Response: { latex_code, latency_ms } ]                             |
|                                                                             |
+-----------------------------------------------------------------------------+

Phân tích hiệu quả kinh tế (Cost-Benefit & Scalability)

  • Tiết kiệm thời gian: Một tài liệu 20 trang chứa trung bình 120 công thức toán học tiêu tốn khoảng 6 giờ gõ LaTeX thủ công. Hệ thống tự động hóa xử lý toàn bộ trong vòng dưới 15 giây (tăng tốc độ lên $1,440$ lần).
  • Khả năng mở rộng: Mô hình được xuất sang định dạng TorchScript và tối ưu hóa lượng tử hóa số nguyên INT8/FP16, cho phép phục vụ đồng thời $120\text{ requests/second}$ trên một máy chủ trang bị 1x GPU NVIDIA T4 Cloud.

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

Hạn chế kỹ thuật

  • Công thức đa dòng lồng bảng biểu: Khi phương trình có định dạng hệ phương trình $\begin{cases} ... \end{cases}$ trải dài nhiều dòng hoặc ma trận $N \times M$ kích thước lớn ($N, M > 6$), cấu trúc patch $16 \times 16$ có thể làm phân mảnh thông tin biên giới ma trận.
  • Độ nhạy với ảnh chất lượng cực thấp: Ảnh chụp điện thoại bị lóa sáng mạnh, mờ nhòe do rung tay hoặc có bóng đổ đậm vẫn tạo ra tỷ lệ lỗi ký tự (CER) khoảng $7.8%$.

Hướng phát triển trong tương lai

  1. Tích hợp Swin Transformer hoặc TrOCR: Thử nghiệm cơ chế chú ý cửa sổ dịch chuyển (Shifted Windows) để nắm bắt đặc trưng ở nhiều cấp độ phân giải khác nhau.
  2. Khuếch tán đa phương thức (Multimodal LLMs): Áp dụng kỹ thuật chưng cất tri thức (Knowledge Distillation) từ các mô hình ngôn ngữ thị giác lớn (như PaLM-E, GPT-4V) xuống mô hình gọn nhẹ phục vụ chạy trực tiếp trên thiết bị di động (Edge/On-device AI).
  3. Mở rộng sang nhận dạng viết tay (Handwritten Formula Recognition): Thu thập bộ dữ liệu công thức viết tay thực tế trên bảng phấn và màn hình cảm ứng để tăng cường tính ứng dụng cho lớp học thông minh.

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

  • Sinh viên & Học viên cao học: Tiếp cận mã nguồn mẫu về việc kết hợp Vision Transformer và Transformer Decoder trong bài toán thực tế; học hỏi kỹ thuật tokenization BPE cho dữ liệu có cấu trúc.
  • Kỹ sư Trí tuệ Nhân tạo (AI Developers): Tham khảo kiến trúc lai Hybrid ResNetV2-ViT, pipeline xử lý ảnh với Albumentations và thiết kế API microservice bằng Flask.
  • Doanh nghiệp Công nghệ Giáo dục (EdTech): Sở hữu giải pháp lõi để tích hợp tính năng giải toán qua ảnh, chuyển đổi tài liệu học tập tự động với chi phí bản quyền bằng 0.
  • Cộng đồng Nghiên cứu Khoa học: Tài liệu tham khảo có giá trị cao với các kết quả thực nghiệm chuẩn xác, minh bạch trên bộ dữ liệu chuẩn IM2LATEX-100K.

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

1. Yêu cầu phần cứng tối thiểu để triển khai mô hình là gì?

  • Môi trường huấn luyện: GPU NVIDIA có tối thiểu 16GB VRAM (khuyến nghị RTX 3090 / A5000 / A6000), 32GB RAM hệ thống, CPU 8 cores.
  • Môi trường suy luận (Production Inference): Có thể chạy mượt mà trên CPU Intel Xeon / AMD EPYC (thời gian xử lý $\sim 150-220\text{ ms/ảnh}$) hoặc GPU giá rẻ NVIDIA T4 / GTX 1660 Ti ($\sim 35-50\text{ ms/ảnh}$).

2. Tại sao mô hình chọn kích thước patch $16 \times 16$ thay vì $8 \times 8$ hay $32 \times 32$?

Kích thước $16 \times 16$ tạo ra sự cân bằng tối ưu giữa độ mịn chi tiết ký hiệu và chi phí tính toán của cơ chế Self-Attention (vốn có độ phức tạp bậc hai $\mathcal{O}(N^2)$ theo số lượng patches $N$). Thử nghiệm cho thấy patch $8 \times 8$ tăng gấp 4 lần số patch khiến bộ nhớ bùng nổ nhưng BLEU chỉ tăng $0.3%$, trong khi patch $32 \times 32$ làm giảm $4.2%$ điểm BLEU do mất các ký hiệu nhỏ như dấu phẩy, chỉ số dưới.

3. Hệ thống xử lý thế nào khi ảnh công thức có độ phân giải không đồng nhất?

Pipeline tiền xử lý áp dụng kỹ thuật đệm đều khoảng trắng đối xứng 4 hướng (Symmetric Padding) để đưa kích thước ảnh về bội số gần nhất của 16 mà hoàn toàn không thay đổi tỷ lệ khung hình hay bóp méo ký tự, sau đó chuẩn hóa giá trị pixel bằng phép biến đổi z-score.

4. Chi phí bản quyền và khả năng tích hợp vào phần mềm có sẵn?

Mô hình và mã nguồn được xây dựng hoàn toàn trên các thư viện nguồn mở (PyTorch, Albumentations, Flask) với giấy phép MIT/Apache 2.0. Hệ thống giao tiếp qua chuẩn REST API JSON nên có thể tích hợp tức thì vào bất kỳ ngôn ngữ nào (JavaScript/React, Python, Java, C#, Flutter/Dart).

5. Tại sao không sử dụng các mô hình ngôn ngữ lớn (LLMs) tổng quát để đọc ảnh toán học?

Mặc dù các LLM đa phương thức hiện nay có thể đọc được ảnh, nhưng chi phí suy luận (API cost) rất cao, độ trễ lớn ($1-3\text{ giây}$) và khó triển khai offline/on-premise trong các trường học hoặc máy chủ nội bộ. Mô hình chuyên biệt Hybrid ViT trong khóa luận có kích thước gọn nhẹ ($< 150\text{ MB}$), tốc độ cao gấp 20 lần và độ chính xác chuyên sâu vượt trội trên miền dữ liệu công thức toán.


Kết luận

Khóa luận tốt nghiệp "Xây Dựng Thuật Toán Trích Xuất Thông Tin Cho Tài Liệu Môn Toán" của tác giả Lê Ái Quốc Vinh đã giải quyết thành công bài toán chuyển đổi hình ảnh công thức toán học sang mã nguồn LaTeX bằng việc kết hợp sáng tạo giữa Vision Transformer, ResNetV2 backboneTransformer Decoder.

Với điểm số ấn tượng 91.82% BLEU trên tập dữ liệu thực tế và 90.85% BLEU trên tập chuẩn IM2LATEX-100K, nghiên cứu không chỉ khẳng định tính ưu việt của kiến trúc tự chú ý không gian 2D so với các mô hình tuần tự CNN-RNN truyền thống mà còn mở ra tiềm năng ứng dụng to lớn cho công cuộc số hóa học liệu giáo dục tại Việt Nam. Hệ sinh thái API Flask đi kèm đóng vai trò là nền tảng vững chắc để chuyển giao công nghệ thành các sản phẩm EdTech thương mại hoàn chỉnh.