目錄
- 概
- LLaVA
- 程式碼
Liu H., Li C., Wu Q. and Lee Y. J. Visual Instruction Tuning. NeurIPS, 2023.
概
LLaVA.
LLaVA
-
LLaVA 希望用 LLM 推理模態特徵, 想法很簡單:
- 用 Vision Encoder 得到模態特徵:\[\mathbf{Z}_v = g(\mathbf{X}_v). \]
- 用 Linear 投影:\[\mathbf{H}_v = \mathbf{W} \cdot \mathbf{Z}_v. \]
- 把 \(\mathbf{H}_v\) 和指令 \(\mathbf{H}_q\) 憑藉起來作為 LLM 的輸入.
- 用 Vision Encoder 得到模態特徵:
-
訓練的 Instruct 是這麼構造的: \((\mathbf{X}_q^1, \mathbf{X}_a^1, \cdots, \mathbf{X}_q^T, \mathbf{X}_a^T)\), 對於每個圖片都有 \(T\) 輪的對話資料 (question, answer). 然後
\[\mathbf{X}_{instruct}^t = \left \{ \begin{array}{ll} \text{Randomly choose } [\mathbf{X}_q^1, \mathbf{X}_v] \text{ or } [\mathbf{X}_v, \mathbf{X}_q^1], & \text{the first trun } t = 1, \\ \mathbf{X}_q^t, & \text{the remaining turns } t > 1. \end{array} \right . \]即就第一次的時候加一個圖片 (可以是圖片在前, 也可以是指令在前, 這比較符合實際的使用習慣).
-
Pre-training: 預訓練的時候固定 Vision encoder 和 LLM, 之訓練 projecter:
\[\min_{\mathbf{W}} \quad -\log p(\mathbf{X}_a, \mathbf{X}_v, \mathbf{X}_{instruct}). \] -
Fine-tuning: 固定 Vision encoder, 微調 LLM 和 projecter, 在一些 QA 資料集上微調.
程式碼
[official-code]