๐Understanding BLIP - BLIP ์์๋ณด๊ธฐ?!!
๐ง Understanding BLIP (in English!)
๐ It learned even from messy web data, and now it knows how to describe images all on its own!
Paper: BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
Conference: ICML 2022 (Salesforce Research)
Code: salesforce/BLIP
๐ก What is BLIP?
Unlike CLIP by OpenAI,
BLIP supports generation-based multimodal tasks, like interactive image descriptions!
1. ๐ง Bidirectional Vision-Language Learning
- Most models focus on either understanding or generation
- BLIP flexibly supports both directions!
2. ๐งน Bootstrapping Web Data
Think of bootstrapping here as an iterative self-improvement process!
- To clean noisy web-collected image-text pairs:
- Captioner: generates synthetic captions
- Filter: removes noisy examples
- ๐ This enables construction of a much more reliable dataset
3. ๐ Zero-shot Transferability
- Even without fine-tuning, BLIP performs on video-language tasks!
- It shows strong generalization ability and versatility
๐ง Why Did BLIP Emerge?
โ Limitations of Previous Models
- Most VLP (Vision-Language Pretraining) models were split:
- Understanding tasks (e.g., image-text retrieval)
- Generation tasks (e.g., captioning)
- Encoder-only (e.g., CLIP) or Encoder-Decoder models could not handle both well
๐ Poor Quality of Web Data
- Most VLP models were trained on noisy web-collected pairs
- Simple rule-based filtering couldnโt sufficiently clean the data
- Scaling up data helped performance, but lower text quality hindered fine-tuned learning
๐ Limitations of Traditional Data Augmentation
- In vision: augmentations like cropping, rotation are common
- In NLP: itโs much harder to augment text
- Existing VLP models used little to no textual augmentation, relying heavily on low-quality alt-text
BLIP overcomes this by generating its own captions using a pretrained LLM,
producing meaningful synthetic data rather than noise!
๐ BLIP Architecture & Learning
๐๏ธ BLIP Model Components
BLIP has three key components for understanding, aligning, and generating across image and text.
These are collectively called the โMEDโ architecture.
โ Summary of Training Objectives by Module
Category | ๐ฆ ITC (Contrastive) | ๐ฉ ITM (Matching) | ๐จ LM (Language Modeling) |
---|---|---|---|
๐ Goal | Align visual & text embeddings | Determine if image-text pair matches | Generate text from image |
๐ง Encoding | Encode image & text separately | Inject image into text via cross-attention | Decode text from image with a decoder |
โ๏ธ Mode | Unimodal Encoder | Image-Grounded Text Encoder | Image-Grounded Text Decoder |
๐ Loss | Contrastive Loss (pull/push pairs) | Binary classification (match or not) | Cross-Entropy + autoregressive generation |
๐ฏ Strength | Well-structured latent space for retrieval | Fine-grained alignment of multimodal input | Fluent and informative text generation |
๐งฉ 1. Unimodal Encoder (ITC)
Separately encodes image and text
Corresponds to ITC in the figure above
- Image encoder: ViT-based (patch + [CLS])
- Text encoder: BERT-like, with [CLS]
- Use: Retrieval and similarity-based understanding
๐งฉ 2. Image-Grounded Text Encoder (ITM)
Injects image into text encoding via Cross-Attention
Corresponds to ITM in the diagram
- Architecture: Transformer with Self-Attn โ Cross-Attn โ FFN
- Special [Encode] token added for multimodal representation
- Use: Tasks requiring fine-grained image-text matching
๐งฉ 3. Image-Grounded Text Decoder (LM)
For sequential generation using Causal Self-Attention
Corresponds to LM in the diagram
- Left-to-right decoding only
- Starts with [Decode] token, ends with [EOS]
- Use: Captioning, VQA, generation tasks
๐ Parameter Sharing Across Modules
SA must be separate due to directionality,
but Embedding, Cross-Attn, and FFN are shared!
Layer Type | Shared? | Notes |
---|---|---|
Self-Attention (SA) | โ No | Bi-directional for encoder vs. causal for decoder |
Embedding Layer | โ Yes | Word-to-vector layer is shared |
Cross-Attention (CA) | โ Yes | Connects image and text |
Feed Forward Network | โ Yes | Post-attention computations |
See below โ sharing everything except SA yields best trade-off!
๐งฌ CapFilt: Self-Filtering and Captioning of Web Data
- Raw Data: Human-annotated image-text pairs
(Iโ, Tโ)
- Initial Training: Train MED model with
(Iโ, Tโ)
- Web Data: Noisy pairs from the internet
(I๐ค, T๐ค)
Then:
- Train the Filter
- Fine-tune Image-grounded Text Encoder with ITC/ITM loss on
(Iโ, Tโ)
- Apply it to
(I๐ค, T๐ค)
to remove noise โ(I๐ค, T๐คโฒ)
- Fine-tune Image-grounded Text Encoder with ITC/ITM loss on
- Train the Captioner
- Fine-tune Image-grounded Text Decoder with LM loss on
(Iโ, Tโ)
- Generate synthetic captions for
I๐ค
โ(I๐ค, Tโ)
- Fine-tune Image-grounded Text Decoder with LM loss on
- Re-filter synthetic captions
- Apply Filter again to
(I๐ค, Tโ)
to remove mismatched results - Final result:
(I๐ค, Tโโฒ)
- Apply Filter again to
Noisy red text is removed, green synthetic captions are created!
โ Final Datasets Used to Re-train MED
- A. Human-annotated pairs
(Iโ, Tโ)
- B. Filtered web-text pairs
(I๐ค, T๐คโฒ)
- C. Filtered synthetic captions
(I๐ค, Tโโฒ)
These three are merged into a new training dataset for retraining MED!
This forms a bootstrapping loop where both the data and model improve together ๐ช
And indeed, as shown below โ using both Captioner and Filter improves performance!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
๐ฆ Initial MED Pretraining
โโโ Human-labeled pairs: (Iโ, Tโ)
โโโ Web-collected pairs: (I๐ค, T๐ค)
โโโ โค Initial MED training (Losses: ITC + ITM + LM)
๐ง CapFilt: Data Filtering and Module Refinement
โโโ Filter Training
โ โโโ Module: Image-grounded Text Encoder
โ โโโ Data: (Iโ, Tโ)
โ โโโ Loss: ITC / ITM
โ โโโ Result: Filtered text (I๐ค, T๐คโฒ)
โ
โโโ Captioner Training
โ โโโ Module: Image-grounded Text Decoder
โ โโโ Data: (Iโ, Tโ)
โ โโโ Loss: LM
โ โโโ Generate synthetic text (I๐ค, Tโ)
โ โโ Filter again โ (I๐ค, Tโโฒ)
๐ง Final Re-Pretraining of MED
โโโ Human annotations: (Iโ, Tโ)
โโโ Filtered web text: (I๐ค, T๐คโฒ)
โโโ Filtered synthetic captions: (I๐ค, Tโโฒ)
โโโ โค Train new MED on clean dataset Dโฒ
๐ Results from BLIP
BLIP outperforms prior models across both retrieval and captioning tasks!
๐ง Final Thoughts
While todayโs LLMs easily interpret and generate across modalities,
in 2022, BLIP was a milestone that helped machines โspeak based on what they see.โ
It went beyond classification or embedding โ
and introduced the ability to generate meaning from vision using language.
Its self-bootstrapping of both data and learning likely inspired later self-supervised techniques,
including models like DINO in vision representation learning.
To understand modern multimodal AI,
BLIP is truly a foundational model worth studying! ๐
๐ง (ํ๊ตญ์ด) BLIP ์์๋ณด๊ธฐ!
๐ ๊น๋ํ์ง ์์ ์น๋ฐ์ดํฐ๋๋ก ํผ์์๋ ์ ํ์ตํ๊ณ , ๊ทธ๋ฆผ์ ๋ณด๊ณ ํด์ํ ์ค ์์์!!!
๋ ผ๋ฌธ: BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
๋ฐํ: ICML 2022 (Salesforce Research)
์ฝ๋: salesforce/BLIP
๐ก BLIP ์์ฝ!!
์ด๋ฆ์ด ๋น์ทํ, OpenAI์ CLIP๊ณผ์ ์ฐจ์ด์ ์!!,
ํ ์คํธ ์์ฑ๊น์ง ํฌํจ๋ ๋ํํ ๋ฉํฐ๋ชจ๋ฌ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค๋ ์ !!
- ๐ง ์๋ฐฉํฅ ๋ฉํฐ๋ชจ๋ฌ ํ์ต
- ๊ธฐ์กด ๋ชจ๋ธ๋ค์ ์ดํด or ์์ฑ ์ค ํ๋์ ํนํ
- BLIP๋ ๋ ๋ฐฉํฅ ๋ชจ๋์ ์ ์ฐํ๊ฒ ์ ์ด ๊ฐ๋ฅ!
- ๐งน ์น ๋ฐ์ดํฐ ๋ถํธ์คํธ๋ํ
์์ผ๋ก ์ด ๋ถํธ์คํธ๋ํ์ ์ ์ง์ ๊ฐ์ ์ด๋ผ๋ ์๋ฏธ๋ก ๋ฐ์๋๋ ค์ฃผ์ธ์!
- ์น์์ ์์งํ noisy image-text ์ ๊ฐ์ ์ ์ํด
- Captioner: ๋ฌธ์ฅ ์์ฑ (synthetic caption)
- Filter: ๋ ธ์ด์ฆ ์ ๊ฑฐ
- ๐ ๋ ์ ๋ขฐ๋ ๋์ ํ์ต ๋ฐ์ดํฐ ๊ตฌ์ฑ
- ๐ ์ ๋ก์ท ์ ์ด ๊ฐ๋ฅ
- ๋น๋์ค-์ธ์ด ์์ ์๋ ์ฌ์ ํ์ต๋ง์ผ๋ก ์ง์ ์ ์ฉ ๊ฐ๋ฅ
- ๊ฐ๋ ฅํ ๋ฒ์ฉ์ฑ๊ณผ ์ผ๋ฐํ ๋ฅ๋ ฅ ๋ณด์
๐ง BLIP ๋ฑ์ฅ์ ๋ฐฐ๊ฒฝ
โ ๊ธฐ์กด ๋ชจ๋ธ์ ์ด๋ถํ๋ ์ฑ๋ฅ
- ๋๋ถ๋ถ์ VLP(Vision-Language Pretraining) ๋ชจ๋ธ๋ค์
- ์ดํด ์ค์ฌ ์์ (์: ์ด๋ฏธ์ง-ํ ์คํธ ๊ฒ์)
- ๋๋ ์์ฑ ์ค์ฌ ์์
(์: ์ด๋ฏธ์ง ์บก์
์์ฑ)
์ค ํ์ชฝ์๋ง ํนํ๋์ด ์์.
- Encoder-only (์: CLIP) ๋๋ Encoder-Decoder ๋ชจ๋ธ ๊ตฌ์กฐ๋
๋ ์์ ์ ๋์์ ์ ์ํํ์ง ๋ชปํ๋ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ์์.
๐ ์น ๊ธฐ๋ฐ ๋ฐ์ดํฐ์ ํ์ง ๋ฌธ์
- ๊ธฐ์กด VLP๋ ๋๋ถ๋ถ ์น์์ ์์ง๋ noisyํ ์ด๋ฏธ์ง-ํ ์คํธ ์์ผ๋ก ํ์ต๋จ.
- ๋จ์ํ ๊ท์น ๊ธฐ๋ฐ ํํฐ๋ง๋ง์ผ๋ก๋ ๋ ธ์ด์ฆ ์ ๊ฑฐ๊ฐ ๋ถ์์ ํจ.
- ๋ฐ์ดํฐ ๊ท๋ชจ๋ฅผ ํค์ฐ๋ฉด ์ฑ๋ฅ์ ์ฆ๊ฐํ์ง๋ง,
ํ ์คํธ ํ์ง ์ ํ๊ฐ ์ธ๋ฐํ ํ์ต์ ์ฅ์ ๊ฐ ๋จ.
๐ Data Augmentation ์์์ ํ๊ณ
- ๊ธฐ์กด ๋ฐฉ์:
- ์ปดํจํฐ ๋น์ ์์๋ ์ด๋ฏธ์ง ํ์ , ํฌ๋กญ ๋ฑ์ ๋ฐ์ดํฐ ์ฆ๊ฐ์ด ์ผ๋ฐ์ ์ด์ง๋ง,
- ์์ฐ์ด ์ฒ๋ฆฌ์์๋ ์ฆ๊ฐ์ด ๊น๋ค๋ก์.
๊ธฐ์กด VLP์์๋ ์ธ์ด ๊ธฐ๋ฐ ์ฆ๊ฐ์ด ๊ฑฐ์ ์ ์ฉ๋์ง ์๊ฑฐ๋,
์ ํ์ง ์น ํ ์คํธ์ ์์กดBLIP์ LLM์ผ๋ก ์บก์ ์ ๋ง๋ค์ด, ๋ ธ์ด์ฆ๊ฐ ์๋ ์ง์ง ์๋ฏธ์๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ด๋!!
๐ BLIP ๋ชจ๋ธ ๊ตฌ์กฐ์ ํ์ต!
๐๏ธ BLIP ๋ชจ๋ธ ๊ตฌ์กฐ
BLIP์ ์ด๋ฏธ์ง ํ ์คํธ๋ฅผ ๊ฐ๊ฐ ์ดํดํ๋๊ฑฐ๋, ํจ๊ผ ์ดํดํ๋๊ฑฐ๋, ์ด๋ฏธ์ง๋ฅผ ํด์ํ๋๊ฒ ๋ชจ๋ ํ๊ธฐ์ํด 3๊ฐ์ ๋ชจ๋์ด ์กด์ฌ!!
์ด๋ฅผ โMEDโ ๋ผ๊ณ ๋ถ๋ฅธ๋ค!!
โ BLIP ๋ชจ๋ธ๋ณ ํ์ต ๋ชฉ์ ์์ฝ
ํญ๋ชฉ | ๐ฆ ITC (Image-Text Contrastive) | ๐ฉ ITM (Image-Text Matching) | ๐จ LM (Language Modeling) |
---|---|---|---|
๐ ๋ชฉ์ | ํํ ๊ณต๊ฐ ์ ๋ ฌ (similarity) | ์ ๋ต/์ค๋ต ํ๋ณ (match ์ฌ๋ถ) | ์ด๋ฏธ์ง ๊ธฐ๋ฐ ํ ์คํธ ์์ฑ (ํ ์คํธ ์์ฑ ๋ฅ๋ ฅ) |
๐ง ์ธ์ฝ๋ฉ ๋ฐฉ์ | ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ๊ฐ๊ฐ ๋ฐ๋ก ์ธ์ฝ๋ฉ | ์ด๋ฏธ์ง+ํ ์คํธ ์์ cross-attention์ผ๋ก ์ฃผ์ | ์ด๋ฏธ์ง + ๋์ฝ๋์์ ํ ์คํธ ์์ฑ |
โ๏ธ ์ฌ์ฉ ๋ชจ๋ | Unimodal Encoder | Image-Grounded Text Encoder | Image-Grounded Text Decoder |
๐ ํ์ต ๋ฐฉ์ | Contrastive Loss (์์ฑ: ๊ฐ๊น์ด / ์์ฑ: ๋ฉ๋ฆฌ) | Binary Classification (์์ฑ/์์ฑ ๋ถ๋ฅ) | Cross-Entropy Loss + ์คํ ๋ฆฌ๊ทธ๋ ์๋ธ ์์ฑ |
๐ฏ ํน์ง | ํํ ๊ณต๊ฐ ๊ตฌ์กฐํ โ ๊ฒ์์ ์ ๋ฆฌ | ๋ฉํฐ๋ชจ๋ฌ ์๋ฏธ ์ ๋ ฌ โ fine-grained ๋์ ๊ฐ๋ฅ | ์์ฐ์ค๋ฌ์ด ๋ฌธ์ฅ ์์ฑ ๋ฅ๋ ฅ, ์บก์ /์ง๋ฌธ์๋ต ๊ฐํ |
๐งฉ 1. Unimodal Encoder
์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ํด์
์์ ์ด๋ฏธ์ง์์ ITC(image-text contrastive)์ ํด๋น
- ์ด๋ฏธ์ง ์ธ์ฝ๋: ViT ๊ธฐ๋ฐ (Patch + [CLS])
- ํ ์คํธ ์ธ์ฝ๋: BERT ๊ตฌ์กฐ, ์ ๋ ฅ์ [CLS] ํ ํฐ ํฌํจ
- ์ฌ์ฉ ์ฉ๋: ์ด๋ฏธ์ง-ํ ์คํธ ๋งค์นญ, retrieval ๋ฑ์ ์ดํด ์ค์ฌ ํ์คํฌ
๐งฉ 2. Image-Grounded Text Encoder
ํ ์คํธ ์ธ์ฝ๋ ๋ด๋ถ์ Cross-Attention์ ์ฝ์ ํ์ฌ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ์ฃผ์
์์ ์ด๋ฏธ์ง์์ ITM(a image-text matching)์ ํด๋น
- ๊ตฌ์กฐ: ๊ฐ Transformer block์ Self-Attention โ Cross-Attention โ FFN ์์
- [Encode] ํ ํฐ์ ํ ์คํธ ์ ๋ ฅ ๋์ ์ถ๊ฐ โ ์ด ํ ํฐ์ ์ถ๋ ฅ์ด ๋ฉํฐ๋ชจ๋ฌ ํํ
- ์ฌ์ฉ ์ฉ๋: ์ธ๋ฐํ ์ด๋ฏธ์ง-ํ ์คํธ ์๋ฏธ ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ
๐งฉ 3. Image-Grounded Text Decoder
์์ฐจ์ ํ ์คํธ ์์ฑ์ ์ํ Causal Self-Attention ๊ตฌ์กฐ
์์ ์ด๋ฏธ์ง์์ LM(language modeling)์ ํด๋น
- ๊ตฌ์กฐ: ์๋ฐฉํฅ์ด ์๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก๋ง ํ๋ฅด๋ Attention
- [Decode] ํ ํฐ์ผ๋ก ์์, [EOS]๋ก ์ข ๋ฃ
- ์ฌ์ฉ ์ฉ๋: ์ด๋ฏธ์ง ์บก์ ๋, ์ง๋ฌธ ์๋ต ๋ฑ ์์ฑ ๊ธฐ๋ฐ ํ์คํฌ
๐ ๋ชจ๋ธ ๋ด์ ํ๋ผ๋ฏธํฐ ๊ณต์ ์ฌ๋ถ
SA๋ ์ธ์ฝ๋์ ๋์ฝ๋์ โ๋์ ๋ฐฉํฅโ์ด ๋ฌ๋ผ์ ๋ฐ๋ก ํ์ํ์ง๋ง,
EmbeddingยทCAยทFFN์ โ๋จธ๋ฆฌ ์ ๊ณ์ฐ๊ธฐโ๋ ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ณต์ ํ๋ค!!
๋ ์ด์ด ์ข ๋ฅ | ๊ณต์ ์ฌ๋ถ | ์ค๋ช |
---|---|---|
Self-Attention (SA) | โ ๋ฏธ๊ณต์ | ์ธ์ฝ๋๋ ์๋ฐฉํฅ, ๋์ฝ๋๋ ์ธ๊ณผ์ ์ด๊ธฐ ๋๋ฌธ |
Embedding Layer | โ ๊ณต์ | ๋จ์ด๋ฅผ ๋ฒกํฐ๋ก ๋ณํํ๋ ๋ถ๋ถ |
Cross-Attention (CA) | โ ๊ณต์ | ์ด๋ฏธ์ง-ํ ์คํธ ์ฐ๊ฒฐ ๋ถ๋ถ |
Feed Forward Network(FFN) | โ ๊ณต์ | ์ธ์ฝ๋ฉ/๋์ฝ๋ฉ ํ ์ฒ๋ฆฌํ๋ ๊ณ์ฐ ๋ชจ๋ |
- ๊ณต์ ๋๋ ๋ถ๋ถ ๋๋ถ์ ํ๋ผ๋ฏธํฐ๋ ์ ๊ฐ๋๊ณ !(๊ฒฝ๋ํ), ํ์ต ํจ์จ ๋ฐ ๋น์ฉ๋ ๊ฐ์ํฉ๋๋ค!!
์๋ ์ด๋ฏธ์ง๋ฅผ ํตํด ์ ์ด๋ ๊ฒ ๊ณต์ ํ๊ฒ ๋์๋์ง ํ ์คํธํ ๊ฒฐ๊ณผ๋ ๋ณด์ฌ์ค๋๋ค!
SA ๋ง ๋นผ๊ณ ๊ณต์ ํ ๋๊ฐ ํ๋ผ๋ฏธํฐ๋ ์์ผ๋ฉด์๋ ๊ฒฐ๊ณผ๊ฐ ์ข์ง์!?
๐งฌ CapFilt : ์น ๋ฐ์ดํฐ ๋ถํธ์คํธ๋ํ์ ์ํ, ์ ํด์๋ฌ๊ธฐ ํํฐ!
- ์ฌ์ ์ฌ๋ฃ : ์ธ๊ฐ์ด annotate ํ ์ด๋ฏธ์ง&ํ
์คํธ
(Iโ, Tโ)
- ์ฌ์ ํ์ต๋ชจ๋ธ : ์ฌ์ ์ฌ๋ฃ๋ฅผ ๋ฐํ์ผ๋ก
MED
๋ชจ๋ธ ํ์ต ์ํด!! - ์ฌ์ฉํ ์ฌ๋ฃ : ์น์์ ์์ง๋ ์ด๋ฏธ์ง&ํ
์คํธ ์
(I๐ค, T๐ค)
์ด์ ๋ณธ๊ฒฉ ์์ํด์!!
- ํํฐ๋ฅผ ํ์ต
- ์ธ๊ฐ ์ฃผ์ ์
(Iโ, Tโ)
๋ก Image-grounded Text Encoder๋ฅผ ITC/ITM loss๋ก ํ์ต - ์น ํ
์คํธ ์
(I๐ค, T๐ค)
์ ๋ํด ๋ ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ ๋ ์(I๐ค, T๐คโฒ)
์์ฑ
- ์ธ๊ฐ ์ฃผ์ ์
- ๊ทธ๋ฆผ์ค๋ช
๋ชจ๋ธ(Captioner) ํ์ต
- ๋์ผํ ์ธ๊ฐ ์ฃผ์ ์
(Iโ, Tโ)
๋ก Image-grounded Text Decoder๋ฅผ LM loss๋ก ํ์ต - ์น ์ด๋ฏธ์ง
I๐ค
์ ๋ํด ํฉ์ฑ ์บก์ Tโ
์์ฑ
- ๋์ผํ ์ธ๊ฐ ์ฃผ์ ์
- Captioner ๊ฒฐ๊ณผ ์ฌ ํํฐ๋ง
- ์์ฑ๋
(I๐ค, Tโ)
์ ๋ค์ ํํฐ์ ํต๊ณผ์์ผ ITM ๊ธฐ๋ฐ์ผ๋ก ์ผ์นํ์ง ์๋ ๊ฒ ์ ๊ฑฐ - ์ต์ข
์ ์ผ๋ก ์ ์ ๋ ํฉ์ฑ ์
(I๐ค, Tโโฒ)
ํ๋
- ์์ฑ๋
์ด๋ ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ์๋ชป๋ ์น ํ ์คํธ(๋ถ์์)์ ์ ๊ฑฐ๋๊ณ , ์๋ก์ด ์บก์ (๋ น์)์ด ์์ฑ๋ฉ๋๋ค!
๊ทธ๋์ ์ต์ข ์ผ๋ก ์ถ์ถ๋ ๋ฐ์ดํฐ์ ์์!?
A. ์ธ๊ฐ ์ฃผ์ ์ (Iโ, Tโ)
B. ํํฐ๋ง๋ ์น ํ
์คํธ ์ (I๐ค,T๐คโฒ)
C. ์ ๊ท์์ฑ&ํํฐ๋ง๋ ์ (I๐ค, Tโโฒ)
์ด A/B/C ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ MED
๋ชจ๋ธ์ ๋ค์ ํ์ตํ๊ฒ ๋ฉ๋๋ค!
์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ ๋ฐ์ดํฐ๋ ์ ์ ๋ ์ ํํด์ง๊ฒ ๊ณ (Bootstrapping),
MED ๋ชจ๋ธ๋ ๊ณ ๋ํ๋๋ ์ ์ํ์ด ๋๊ฒ ์ง์~?
๊ทธ๋์ ์๋ ์ด๋ฏธ์ง ์ฒ๋ผ, captioner, Filter ๊ฐ ์ถ๊ฐ๋ ์๋ก ์ ํ๋๊ฐ ์ฌ๋ผ๊ฐ๋๋ค!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
๐ฆ ์ด๊ธฐ ์ฌ์ ํ์ต (Initial MED Pretraining)
โโโ ์ธ๊ฐ ์ฃผ์ ์: (Iโ, Tโ)
โโโ ์น ์์ง ์: (I๐ค, T๐ค)
โโโ โค MED ๋ชจ๋ธ ์ด๊ธฐ ํ์ต (์์ค: ITC + ITM + LM)
๐ง CapFilt: ๋ฐ์ดํฐ ์ ์ ๋ฐ ๊ตฌ์ฑ ์์ ๊ณ ๋ํ
โโโ Filter ํ์ต
โ โโโ ๊ตฌ์กฐ: Image-grounded Text Encoder
โ โโโ ๋ฐ์ดํฐ: (Iโ, Tโ)
โ โโโ ํ์ต ๋ชฉ์ : ITC / ITM loss
โ โโโ ์น ํ
์คํธ ํํฐ๋ง โ (I๐ค, T๐คโฒ)
โ
โโโ Captioner ํ์ต
โ โโโ ๊ตฌ์กฐ: Image-grounded Text Decoder
โ โโโ ๋ฐ์ดํฐ: (Iโ, Tโ)
โ โโโ ํ์ต ๋ชฉ์ : LM loss
โ โโโ ์น ์ด๋ฏธ์ง ์บก์
์์ฑ โ (I๐ค, Tโ)
โ โโ ํํฐ ์ฌ๊ฒ์ฆ โ (I๐ค, Tโโฒ)
๐ง ์ต์ข
์ฌ์ฌ์ ํ์ต (Re-Pretraining of MED)
โโโ ์ธ๊ฐ ์ฃผ์ ์: (Iโ, Tโ)
โโโ ํํฐ๋ง๋ ์น ํ
์คํธ: (I๐ค, T๐คโฒ)
โโโ ํํฐ๋ง๋ ํฉ์ฑ ์บก์
: (I๐ค, Tโโฒ)
โโโ โค ์ด ์ ์ ๋ฐ์ดํฐ์
Dโฒ๋ก MED ์ฌ์ฌ์ ํ์ต
๐ BLIP ๊ฒฐ๊ณผ ๋ถ์!!!
BLIP์ ๋ค๋ฅธ ๋ชจ๋ธ์ ๋นํด Retreival, Captioning ๋ฑ์์ ๋ชจ๋ ์ต๊ณ ์๋ค!!
๐ง ๋ง๋ฌด๋ฆฌ ์๊ฐ
์ง๊ธ์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ๋ต๋ณํ๋ LLM, ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ MLM ๋ฑ์ด ๋น์ฐํ์ง๋ง,
2022๋
์์ ์ ๋์๋ณด๋ฉด ์ด BLIP๋ โ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ๋งํ ์ ์๋ AIโ๋ก์ ์ง์
์ ์ ์ด์ด์ค ์ค์ํ ๋ชจ๋ธ์ธ๊ฒ ๊ฐ์ต๋๋ค!!
๋จ์ํ ์ด๋ฏธ์ง ๋ถ๋ฅ๋ ์๋ฒ ๋ฉ์ ๋์ด์, ์์ฐ์ด๋ฅผ ํตํด ์๊ฐ์ ์๋ฏธ๋ฅผ ์์ฑํ๊ณ ์ํตํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ธฐ ์์ํ ์์กฐ์ธ ๋ชจ๋ธ!!
๋ํ ์ค์ค๋ก ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๊ณ ํํฐ๋งํ๋ฉฐ ํ์ตํด์ ๊ณ ๋ํํ๋ ๋ถํธ์คํธ๋ํ ๊ธฐ๋ฒ์
์ดํ DINO์ ๊ฐ์ Self supervised ๋๋์ผ๋ก ์ดํ ๋ค๋ฅธ ์ฐ๊ตฌ์๋ ์ํฅ์ ๋ฏธ์ณค์๊ฒ ๊ฐ์ต๋๋ค!!
์ง๊ธ์ ๋ฉํฐ๋ชจ๋ฌ AI๋ฅผ ์ดํดํ๊ธฐ ์ํด,
๊ทธ ์์ ์ค์ ๋ชจ๋ธ์ ๊ณต๋ถํด๋ณด์์ต๋๋ค! :)