cxr-vlm-code / docs /methodology_revision_plan.md
convitom
f
215d2b1
|
Raw
History Blame Contribute Delete
11.9 kB
# Kế hoạch chỉnh sửa Methodology cho khớp văn phong thesis USTH
> Tài liệu này so sánh `docs/methodology (1).tex` (bản hiện tại, viết theo văn phong paper RaDialog/META-CXR/BLIP-2) với report tham khảo của anh khoá trên (`main.pdf` — *Multi-Agent AI System for Industrial Machine Maintenance*, USTH Bachelor Thesis 2025), và liệt kê những gì cần chỉnh để bản methodology của bạn "na ná" report thesis đó. **Chưa sửa `.tex` — chỉ là plan để bạn duyệt.**
---
## 1. Report tham khảo có cấu trúc & văn phong gì?
**Cấu trúc toàn luận văn (4 chương):**
1. **Introduction** — Problem Statement / Objectives / Expected Outcomes / Thesis structure
2. **Methodology** — Key Concepts and Definitions → Dataset → System Architecture → Agents (mô tả từng module) → Reasoning Strategy
3. **Experiments and Results** — Experimental Setup (Datasets, Environment) → Results and Discussion
4. **Conclusion** — Summary / Limitations / Future Work
+ Front matter: Acknowledgements, Abstract, **List of Abbreviations**, List of Figures, List of Tables
**Đặc điểm văn phong (cấp độ undergraduate, KHÔNG phải paper):**
- Mở đầu chương Methodology bằng tiểu mục **"Key Concepts and Definitions"** — định nghĩa từng khái niệm nền (Agent, LLM, ReAct/CoT, LangGraph) *trước khi* dùng. Đây là phần bản của bạn **đang thiếu hoàn toàn**.
- Mỗi module/thành phần được mô tả theo **template bullet cố định**: `Objective:` / `Input:` / `Output:` / `Core Logic:`. Rất dễ đọc, rất "thesis USTH".
- **Nhiều hình** (mỗi agent có 1 sơ đồ kiến trúc/flowchart riêng) và **nhiều bảng** (overview dataset, config, hyperparameters, sample output).
- Văn xuôi **đơn giản, mô tả** — câu ngắn, đôi khi xưng "I" ("I selected…", "I leverage…"). Ít biện luận kiểu nghiên cứu.
- Equation đánh số đơn giản (Eq 1, Eq 2…), giải thích ký hiệu bằng bullet `Where:`.
- **Evaluation/metrics nằm ở chương Experiments**, KHÔNG nằm trong Methodology.
-**bảng ví dụ output thật** (Sample Output from Alert Agent) để minh hoạ.
- Bibliography kiểu **IEEE đánh số `[1]`** kèm URL.
---
## 2. Methodology hiện tại của bạn đang như thế nào?
- 1 chương duy nhất, văn phong **paper top-tier**: Overview → Data Preparation → Model Architecture → Training Strategy → **Evaluation Protocol**.
- Văn xuôi **rất dày, học thuật cao** (đoạn dài, biện luận kiểu "ablations show…", "sweet spot in grid search over {1,2,4}", confidence interval bootstrap…).
- Chỉ có **1 hình** (TikZ pipeline). Có equation đẹp, vài bảng tốt.
- **Không có** phần định nghĩa khái niệm nền.
- **Có** cả Evaluation Protocol đầy đủ trong methodology (report tham khảo đẩy phần này sang Experiments).
- Bibliography kiểu `natbib`/`abbrvnat` (citep), khác kiểu IEEE số của report mẫu.
> Kết luận: nội dung của bạn **đầy đủ và chất lượng hơn** report mẫu, nhưng **văn phong & cách trình bày lệch hẳn** sang phong cách paper. Để "na ná thesis USTH" thì cần *hạ altitude*, *bullet-hoá*, *thêm hình/bảng*, và *thêm phần định nghĩa khái niệm*.
---
## 3. Bảng khác biệt chính & hướng xử lý
| Khía cạnh | Report mẫu (main.pdf) | Bản của bạn hiện tại | Cần chỉnh |
|---|---|---|---|
| Mở đầu chương | "Key Concepts and Definitions" định nghĩa nền | Vào thẳng Overview | **Thêm** tiểu mục Key Concepts |
| Mô tả module | Bullet `Objective/Input/Output/Core Logic` | Văn xuôi dày | **Bullet-hoá** từng module |
| Hình minh hoạ | Nhiều (mỗi module 1 sơ đồ) | 1 hình pipeline | **Thêm** 3–5 hình |
| Bảng | Overview, config, hyperparams, **sample output** | Có hyperparams, datasources, modes | **Thêm bảng sample output** |
| Văn phong | Đơn giản, undergrad, đôi khi "I" | Dày, paper, hedging nhiều | **Hạ altitude**, cắt biện luận thừa |
| Evaluation | Ở chương Experiments | Trong Methodology | **Cân nhắc tách** sang Experiments |
| Equation | Đơn giản + `Where:` bullet | Đẹp nhưng dày | Giữ, thêm `Where:` giải thích ký hiệu |
| Abbreviations | Có bảng riêng | Không | **Thêm** List of Abbreviations |
| Bibliography | IEEE số `[n]` + URL | natbib abbrvnat | (tuỳ template chung của luận văn) |
---
## 4. Khuyến nghị chỉnh sửa cụ thể
### 4.1. Thêm tiểu mục "Key Concepts and Definitions" (ưu tiên cao)
Đặt ngay sau phần Overview, định nghĩa ngắn gọn (mỗi mục 2–4 câu, có thể kèm 1 hình) các khái niệm:
- **Vision–Language Model (VLM)** — mô hình kết hợp ảnh + ngôn ngữ.
- **Chest X-ray report**: phân biệt **Findings** vs **Impression**; **VQA**.
- **Large Language Model / Vicuna** — vai trò decoder.
- **Vision Transformer (ViT) & self-supervised (DINOv2) → RAD-DINO**.
- **LoRA / PEFT / QLoRA (4-bit NF4)** — định nghĩa "parameter-efficient".
- **Image–Text Contrastive (ITC) / InfoNCE** — học căn chỉnh ảnh–văn bản.
- **CheXpert 14 pathologies & U-MultiClass (Positive/Negative/Uncertain)**.
> Lý do: report mẫu dành hẳn §2.1 cho việc này; người chấm USTH quen đọc định nghĩa nền trước khi vào hệ thống.
### 4.2. Bullet-hoá mô tả từng module (ưu tiên cao)
Áp dụng template của report mẫu cho 4 module trong §Model Architecture. Ví dụ cho **MLP Projection**:
```
Objective: Pool patch features thành số token cố định và bridge không gian
vision (768-d) → LLM (4096-d).
Input: Patch features P ∈ R^{B×1369×768} từ RAD-DINO (frozen).
Output: Visual tokens V ∈ R^{B×32×4096}; nhánh phụ xuất 1024-d cho ITC head.
Core Logic: 32 learnable query → cross-attention 8-head → MLP (GELU, dropout)
→ linear ra 4096-d. (kèm Eq. cross-attn)
```
Làm tương tự cho: Image Encoder, CheXpert Classifier, Language Model + LoRA. Giữ lại các equation hiện có, chỉ tách phần biện luận dài thành câu mô tả ngắn.
### 4.3. Thêm hình minh hoạ (ưu tiên cao — report mẫu rất "ăn điểm" nhờ hình)
Đề xuất tối thiểu 4 hình:
1. **Data preparation pipeline** (giống Fig 2.3 của mẫu): selection → resize/shard → unified JSON. (Hiện chỉ mô tả bằng chữ ở §Data Preparation.)
2. **Two-stage training schedule** — sơ đồ Stage 0 (CheXpert) → Stage 1 (ITC, không load LLM) → Stage 2 (instruction tuning), kèm ô "frozen/trainable".
3. **Projection module detail** — query tokens → cross-attn → MLP → (ITC head / LLM).
4. **Prompt assembly** — minh hoạ chèn `<image>` (1 token → 32 visual token) + PNU block + instruction.
> Hình pipeline TikZ hiện tại giữ nguyên làm Figure tổng quan ở Overview.
### 4.4. Thêm bảng "Sample Output" (ưu tiên trung bình)
Report mẫu có Table 2.7/2.8 ví dụ output thật → rất thuyết phục. Bạn nên thêm:
- **Bảng ví dụ một training sample hoàn chỉnh**: prompt (system + `<image>` + PNU + instruction) → target findings.
- **Bảng ví dụ PNU string** sinh ra từ CheXpert classifier.
- (Nếu có) ví dụ findings/impression model sinh ra vs ground-truth.
### 4.5. Hạ altitude văn phong (ưu tiên trung bình)
- Cắt/giảm các câu biện luận kiểu nghiên cứu sâu: "monotone improvement as batch grew from 8 to 64", "diverged within ~300 steps", "0.3% of best validation contrastive accuracy", "bootstrap 1000 resamples"… → giữ kết luận, bỏ chi tiết thí nghiệm (chuyển sang chương Experiments nếu muốn).
- Rút ngắn đoạn dài thành câu mô tả + bullet.
- Cho phép xưng "I"/"we" nhất quán như report mẫu (mẫu dùng "I").
### 4.6. Cân nhắc tách Evaluation Protocol sang chương Experiments (ưu tiên trung bình)
Report mẫu để toàn bộ metrics ở **Chapter 3 — Experiments and Results** (Experimental Setup → Results). Bản của bạn đang để Evaluation Protocol trong Methodology.
- **Phương án A (giống mẫu nhất):** chuyển §Evaluation Protocol → chương Experiments, mục "Evaluation Metrics".
- **Phương án B (giữ trong Methodology):** giữ nhưng rút gọn, bỏ phần Reporting/bootstrap CI (đẩy sang Experiments).
*Cần bạn quyết theo template chung của luận văn.*
### 4.7. Front matter & tiểu tiết (ưu tiên thấp)
- Thêm **List of Abbreviations**: CXR, VLM, LLM, RRG, VQA, LoRA, QLoRA, PEFT, ITC, InfoNCE, PNU, ViT, MLP, BLEU, ROUGE, NLG, MIMIC-CXR, RAD-DINO, CheXbert…
- Đồng bộ **bibliography style** với template luận văn (nếu khoa yêu cầu IEEE số `[n]` thì đổi từ natbib `abbrvnat`).
- Đảm bảo mọi hình/bảng đều được **ref trong văn** (mẫu làm rất kỹ điều này).
---
## 5. Outline đề xuất cho chương Methodology (sau chỉnh)
```
Chapter: Methodology
X.1 Overview (giữ, kèm Figure pipeline tổng quan)
X.2 Key Concepts and Definitions (MỚI — §4.1)
VLM · Findings/Impression/VQA · LLM/Vicuna · ViT/RAD-DINO ·
LoRA/QLoRA · ITC/InfoNCE · CheXpert U-MultiClass (PNU)
X.3 Dataset / Data Preparation (giữ; THÊM Figure pipeline dữ liệu)
Sources · Selection · Storage/Resize · Unified JSON
X.4 Model Architecture (bullet-hoá theo §4.2)
Image Encoder · MLP Projection · CheXpert Classifier · LLM + LoRA
· Prompt Assembly (THÊM Figure prompt + bảng sample)
X.5 Training Strategy (giữ; THÊM Figure 3-stage; hạ altitude §4.5)
Stage 0 · Stage 1 (ITC) · Stage 2 · Hyperparameters table
[X.6 Evaluation Protocol] (CÂN NHẮC chuyển sang Experiments — §4.6)
```
---
## 6. Checklist thực thi (khi bạn duyệt xong)
- [ ] Viết tiểu mục **Key Concepts and Definitions** (§4.1)
- [ ] Bullet-hoá 4 module + Prompt Assembly theo `Objective/Input/Output/Core Logic` (§4.2)
- [ ] Vẽ **4 hình** TikZ: data pipeline, 3-stage training, projection detail, prompt assembly (§4.3)
- [ ] Thêm **bảng sample**: training sample đầy đủ, PNU string (§4.4)
- [ ] **Hạ altitude** văn phong, cắt biện luận thí nghiệm thừa (§4.5)
- [ ] Quyết & xử lý **Evaluation Protocol** (giữ rút gọn / chuyển sang Experiments) (§4.6)
- [ ] Thêm **List of Abbreviations**; đồng bộ bibliography style (§4.7)
- [ ] Kiểm tra mọi figure/table đều được cross-ref trong văn
---
## 7. Lưu ý về nội dung (đối chiếu code/CLAUDE.md)
Nội dung methodology hiện tại **khớp tốt** với CLAUDE.md (RAD-DINO 518×518, 1369 patch token, projection 32 token 4096-d, ITC InfoNCE τ=0.07, LoRA r16/α32 trên q/k/v/o, QLoRA NF4, split_cascade + frontal_only_split, PNU 3-section…). Vài điểm cần bạn xác nhận lại với số liệu thật khi viết Experiments (không ảnh hưởng cấu trúc):
- Các con số sweep/grid-search (batch 16/32/64/96, lr 1e-4/2e-4/5e-4) — nếu là **minh hoạ/giả định** thì nên chuyển thành mô tả định tính, tránh khẳng định kết quả chưa chạy.
- Số study subset (40k/5k/5k), Δ prevalence <0.7pp — xác nhận đúng số liệu pipeline thật của bạn.
- Eval thresholds (max new tokens 300/200/64) — khớp config thật.
> Những điểm này thuộc về *độ chính xác số liệu*, sẽ chốt khi viết chương Experiments; không cản trở việc tái cấu trúc văn phong ở trên.