Computer Vision💖

    [Multimodal] 멀티모달 러닝 (Multimodal Learning)에 대한 아주 기초적인 이해

    [Multimodal] 멀티모달 러닝 (Multimodal Learning)에 대한 아주 기초적인 이해

    요즘 멀티모달에 빠져있다. 간단하게 블로그에도 개괄적인 멀티모달러닝에 관해 정리하면 좋을 것 같아서 포스팅을 하려고 한다. 😉 아마 text-to-image 같은 stable diffusion을 이용한 분야가 요즘 너무 핫해서, 다들 한번 쯤은 들어봤을 분야이지 않나 싶다. 이 게시글에서는 아주 아주 직관적이고 기초적인 부분만 다룬다. # Multimodal learning의 목적? 멀티모달 (Multimodal)은 기본적으로 여러개의 데이터 형태 (소리, 이미지, 비디오, 음성) 등을 의미한다. 우리가 살고있는 세상은 생각해보면 여러개의 modality로 이루어져 있고, 당연히 uni-modal input으로 만든 모델보다 multimodal 모델이 강력한 파워를 가질 수밖에 없다. 이들을 통합해서 딥..

    [CV] Hidden dimension이 너무 클 때 flatten 하지 말고 똑똑하게 layer 추가하기

    [CV] Hidden dimension이 너무 클 때 flatten 하지 말고 똑똑하게 layer 추가하기

    요즘 모델 아키텍처적인 설계를 많이 하구있다. 사실 내가 가장 못하는 구현이기도 하다. ㅜㅜ 연구를 점점 해나갈수록 내가 상대적으로 잘하는 것, 못하는 것이 슬슬 구분되기 시작하는데 이건 내가 못하는 것에 속한다 ㅎㅋ.. 예전에 친한 언니가 딥러닝은 차원맞추기라고 하는 얘기를 들었던 적이 있는데, 요즘 공감되구 있다. 암튼 ViT 아키텍처를 고치다가, weight matrix를 중간에 추가해야할 일이 생겼다. 그런데 dimension이 맞지 않는거다. 예를 들어서 아래와 같은 상황이다. [1, 65536, 64] 텐서에 특정 weight matrix를 곱해서, 결과적으로 [1,8] 크기의 행렬을 만들어야 함 # Flatten? 나는 아키텍처 설계에 익숙치 않기 때문에, 위와 같은 상황에서 처음에는 아래와..

    [CV] 이미지들 사이의 관계를 T-SNE plot으로 나타내기

    [CV] 이미지들 사이의 관계를 T-SNE plot으로 나타내기

    오늘은 논문용 그림을 그리다가.. T-SNE plotting에 대해 나중에 또 쓸 일이 있을 것 같아서 간단히 정리해놓는다! 😎 여러 공모전 참여에서 얻은 overfitting의 상처로.. 연구를 처음 배울 때부터 나는 domain shift에 관심이 많았다. DG/DA paper들에서 꼭 보이는 plot이 T-SNE plot 인데, 데이터들 사이에 domain shift를 보여주기에 딱이다. 이 포스팅에서는 ResNet18에서 얻은 feature들을 T-SNE으로 차원축소해, 이들이 얼마나 떨어져있는지 plotting 하는 방법을 다룬다. [1] Pretrained ResNet18 Setting 먼저 PyTorch 내장된 ResNet을 불러온다. ResNet18은 특히 Input size가 (224, ..

    [VQA] Zero-shot VQA + Domain Adaptation VQA 분야 개괄

    [VQA] Zero-shot VQA + Domain Adaptation VQA 분야 개괄

    오늘 우연히 난징..에서 오신 교수님 세미나를 듣게됐다. 가벼운 마음으로 갔는데 생각보다 내 관심분야랑 비슷해서 안들으려다가 슈루룩 들어버렸당. VQA는 원래도 좀 관심이 많았는데, (예전에 연구하려다가 엎어진..) 걍 아이디어 노트 개념으로 기록해놓는당 (가독성 떨어질 수 있음) Current problem of LLM .. Model Memorization > brittle GPT prompt sensitivity > unstable performance (bc of memory-based generalization이어서 그럼) Keys to unlock LLM capabilities .. Chain-of-thought prompting Think step by step Instruction Tuni..

    [Incremental Learning] Hybrid-based 방법론을 훑어보자(RPS-Net ,FRCL)

    [Incremental Learning] Hybrid-based 방법론을 훑어보자(RPS-Net ,FRCL)

    0. Overview 지금까지 전개된 CL 방법론 들은 크기 (1) Regularization based 방법과 (2) Rehearsal 방법으로 나뉜다. 하지만 hybrid 방법은 이 두가지는 각각 단점이 있다고 생각하고, 이들을 합쳐서 사용하는 방법이다. (1) Regularization based : 대부분의 방법이 task boundaries를 요구하고, representation drift에 민감하다. (New task가 들어오면, 기존에 최적화된 파라미터는 obsolete(무용지물)이 된다.) (2) Rehearsal based : 어떤 data를 저장할지는 heruistics하게 결정된다. 1. RPS-Net Random Path Selection for Incremental Learning..

    [Incremental Learning] Rehearsal-based 방법론을 훑어보자(ER-MIR, OCS)

    [Incremental Learning] Rehearsal-based 방법론을 훑어보자(ER-MIR, OCS)

    0. Overview Replay-based 방법은 과거의 샘플들을 replay buffer나 generative model에 저장해놓고, current task 학습에 사용하는 방법이다. 이러한 과거 샘플들을 이용해 retraining을 하기도 하고, 현재 학습의 constraints로 사용하기도 한다. 목표는 여전히 classifier $f$의 파라미터 $\theta$를 학습하는 것이다. Online learning에서는 task가 주어지지 않고, input data의 iid도 보장되지 않는다. (=single-pass through the data) 아래 방법론들은 랜덤이 아니라 샘플링을 "잘"해야한다고 주장하지만, 그 샘플링의 단위는 각각 다르니 유의해야할 것 같다. 1. ER-MIR Online..

    [Incremental Learning] Architecture-based 방법론을 짚어보자

    [Incremental Learning] Architecture-based 방법론을 짚어보자

    1. SupSup Supermasks in Superposition (NeurIPS'20) Training시에는 task별로 separate supermask (=subnetwork)를 학습하고, Inference 시에는 모든 task의 supermask 들을 위에 겹쳐놓고 gradients to maximize confidence를 이용해 task identity를 추론한다. (task별로 가장 좋은 성능을 낼 수 있는 supermask를 선택하기 위함) Supermask : 원래 pruning에서 나온 방법으로, 무작위로 초기화된 네트워크를 학습시켜 최종적으로 원하는 결과에 달성할 수 있는 subnetwork를 찾아내는 방법이다. Train/Test 시에 task ID 제공 여부에 따라 CL 흐름이 ..

    [Incremental Learning] Continual learning 갈래 짚어보기

    [Incremental Learning] Continual learning 갈래 짚어보기

    # Definitions Online continual setting : stream of samples가 딱 한번만 보여지고, 이들이 iid가 아닌 세팅