본문 바로가기
Computer Science/Deep Learning Application

[딥러닝] 10장 컴퓨터 비전, Conv와 멀티모달 학습

by na1-4an 2024. 6. 15.

10장 컴퓨터 비전, Conv와 멀티모달 학습

1. Visual Signals in Computer Vision

픽셀 하나하나가 feature

뭘 feature로 잡냐!

→ ex. color histogram, 선이 어떤 방향으로 있는지에 대한 gradient ...

 

과정

1) 랜덤하게 패치를 뽑고, 비슷한 애들끼리 클러스터해서 codebook만듦.

2) 인코딩할 이미지를 codebook 기반으로 feature를 만듦.

3) 다양한 방법을 가지고 feature를 만들어서 concat

 

사람은 눈과 가까운 곳에서는 잘게 잘게 인식하지만, 

시신경에서 되로 갈 수록 잘게 잘리 넞ㅇ보를 abstract하게 만들어 버림

-> 뇌는 추상화 한다

-> Neural Net에 적용하면? -> Convolution!

CNN구조로 어떤 task를 할 수 있느냐!

  • Classification
  • Retrieval
  • Detection
  • Segmentation
  • Image Captioning

(응용... 자율주행, 멀티모달, 이미지로 된 퍼즐문제, OCR활용해 문제 풀기)

 

2. Convolutional Neural Network

이미지의 각 픽셀은 RGB 각각 8bit(0~255)로 표현할 수 있음.

CNN과 달리 Fully-Connected Neural Net은 이미지의 공간적 변화에 취약함.

(ex. 이미지 회, 사이즈 축소확대 등등)

그래서 CNN을 씀!

 

CNN의 기본 구조

3by3에서 2by2 필터를 줄 때 계산하는 문제 낼 거임.

 

Conv Layer

conv 연산 방법

 

MaxPooling Layer

Fully-Connected Layer

 

3. Transformer + Multimodal LLM

1. MultiModal: Vision + Language

ex. Image Captioning

중간고사처럼 이미지 벡터로 내서 문제내기 좋음

 

RNN과 Attention 개념을 사용한 Image Captioning

매 time step마다 새로운 context를 줌.

이 새로운 context는 이전 hidden 벡터로 만든 alignment로 만들어진 것임.

 

2. Transformer + Multimodal LLM

CNN말고 transformer만 사용한다면?

이미 모아둔 이미지 데이터셋을 언어모델에 사용할 수 있지 않을까?!

 

① CLIP: Contrastive Language-Image Pre-training

  • Training - contrastive learning
  • Downstream - Zero shot 이미지 분류, 이미지-텍스트 검

② ViT: Vision Transformer

이미지를 어떻게 transformer에 넣을 수 있을까!

  • 16x16 크기의 작은 패치로 나눠 각각을 하나의 단어로 생각함. (+ 순서도 고려)
  • Scaling Law: 더 큰 규모에서도 성능이 계속 향상됨. 더 큰 규모로 도전할 동기를 줌.

 

③ BEiT: BERT Pre-Training of Image Transformer

BERT처럼 masking

 

3. Multi-Modal LLMs

 


upstream은 미리 훈련된 pre-trained model,
downstream은 내가 최종적으로 만들고자 하는 모델.