[딥러닝] BLIP 논문 리뷰(이미지 캡셔닝, 비디오 내용 분석, 이미지 검색)
·
Study/Computer Vision
- 이번 포스팅에서는 CLIP 을 기반으로 발전한 이미지 내용 분석 및 자연어 생성 멀티 모달 모델인 BLIP 의 논문을 정리하겠습니다. 앞서 리뷰한 CoCa 모델에서 CLIP 을 기반으로 하여 이미지 캡셔닝, 비디오 내용 분석에 대한 새로운 접근 방식과 성능 향상 방법론을 배웠는데, BLIP 에서 발전한 BLIP-2 는 그보다 성능이 좋은 모델로 평가되므로 이전에 정리한 내용을 기반으로 어떤 방식으로 성능을 향상시켰는지를 파악할 수 있을 것입니다. [BLIP]- 논문 : BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation (2022, salesforce) (서론)- V..
[딥러닝] CoCa(Constrastive Captioners) 모델 논문 리뷰(CLIP 기반 자연어-이미지 임베딩 모델, 이미지 캡셔닝, 비디오 내용 분석)
·
Study/Computer Vision
- 이번 게시글에서는 앞서 정리한 CLIP 모델을 응용하여 이미지 캡셔닝 모델을 개선한 CoCa(Constrastive Captioners)에 대해 논문 리뷰를 진행하겠습니다. [CoCa(Constrastive Captioners)]- 논문 : CoCa: Contrastive Captioners are Image-Text Foundation Models (2022, Google) (서론)- 본 논문은 CoCa 라는 이미지-텍스트 기반 대규모 사전 학습 모델을 제안합니다.기존의 CLIP 처럼 이미지와 텍스트를 연결하는 능력과 더불어 SimVLM 과 같은 문장 생성 능력을 한번에 학습하는 모델이라고 하네요. SimVLM 에 대해서는 알아보지 않았는데, 아마 이미지-텍스트 의미 추출 + 이미지를 통한 문장 생..
[딥러닝] CLIP(Contrastive Language-Image Pre-training) 논문 리뷰 (멀티모달 임베딩 기술)
·
Study/Computer Vision
- 이번 포스팅에선 이미지와 텍스트를 기계가 동일 방식, 동일 공간으로 이해할 수 있도록 인코딩 하는 기술인 CLIP 에 대해 알아보고 정리하겠습니다. 제목에는 멀티 모달 임베딩 기술이라고 적었지만,일반적으로 생각하는 멀티 모달에 국한되는 개념이라기보다는 컴퓨터 비전 영역에 자연어를 융합하여 Zero-shot Learning 으로 다양한 작업을 처리할 수 있도록 하는, 단순 임베딩보다 넓은 개념의 방법론이라는 것을 아래 설명으로 이해하실 수 있을 것입니다. 이전에 멀티 모달 LLM 을 정리할 때(LLaVA 모델에서 사용한 인코더가 CLIP-ViT 였죠)에 간단히 설명 했었지만 논문을 기반으로 더욱 자세히 정리할 필요성을 느꼈기에, 본 게시글에서는 CLIP 에 대해 논문 내용을 정리하겠습니다. [CLIP(..
[딥러닝] 이미지 생성 Diffusion 모델 논문 리뷰(DDPM, DDIM, Latent Diffusion, Stable Diffusion)
·
Study/Data Science
- 이번 포스팅에서는 이미지 생성 모델로 유명한 Diffusion 모델에 대해 정리하겠습니다.Diffusion 모델은 눈에 띄는 퍼포먼스와 상업성으로 주목을 받아왔는데, 그만큼 파생된 모델도 현재 많이 개발되었습니다.이번 게시글에서는 그 근간이 되는 기본 원리에 대해 이해해보고, 이를 기반으로 현 시점 강세를 띄는 최고 성능의 모델들을 정리할 예정입니다. [이미지 생성 모델의 역사]- 근본 기술 리뷰이므로 Transformer 를 리뷰했을 때와 같이 기술 발전의 흐름을 먼저 이해하고 가겠습니다.Diffusion 모델이 나오기 전에도 DeepLearning 모델을 이용한 데이터 생성 모델의 연구는 많이 이뤄졌습니다. 데이터 생성의 가장 기본적인 모델로는,Auto Encoder 모델(2013)이 있었습니다...
[딥러닝] BiSeNet V2 (Semantic Segmentation, 파인 튜닝 및 개발 방법, 논문 해석)
·
Study/Computer Vision
- 이번 포스팅에서는 실시간 추론에 응용할 수 있는 Semantic Segmentation 모델들 중 현 시점 가장 효율이 좋은 BiSeNet V2 에 대한 실제 개발 방법 및 논문 해석을 통한 내부 원리 이해를 진행하겠습니다. - Image Segmentation 모델을 선택하는 기준을 먼저 말씀드리겠습니다. BiSeNet V2 보다 정확도가 높은 모델들이나 가벼운 모델들은 여럿 존재하지만,정확도가 일정 수준 이상 보장(mIoU 72.6)되는 동시에 경량 추론(FPS 124, Param 3.5M)을 지원하는 가장 균형적인 모델은 BiSeNet 이 가장 적합하며, 이보다 무겁고 더 정확한 모델의 경우는 Transformer 계열의 어텐션 모델(mIoU 78.6, FPS 60.3, Param 7.6M 이상..
[Flutter] 모바일 YOLOv11 객체 탐지 기능 구현(YOLOv11 빌드, TFLite 객체 탐지 추론, 이미지 전처리, 좌표 매핑)
·
Study/Computer Vision
- 이번 포스팅에서는 Flutter 를 사용하여 모바일 환경에서 YOLO v11 모델을 사용하여 객체 탐지를 적용하는 방식을 정리하겠습니다. - 현 시점 에지 디바이스에서 동작 시킬 수 있는 가장 경량에 가장 정확도가 높은 YOLO v11 모델은,경량 디바이스, 실시간을 고려한다면 가장 먼저 도입해볼 기술이죠. Python 을 이용한 YOLO v11 빌드 방식에서부터,인터페이스 구성에 대한 설명과, 이미지 전처리 방식, 출력 좌표 후처리 방식까지를 정리 후 Flutter 를 사용하여 안드로이드에서 실제로 동작이 가능한 데모 페이지를 만들어보겠습니다. - 추가로 공유드리자면,카메라 라이브러리와 연동하여 실시간으로 객체 탐지를 하는 앱도 구현해 보았는데, 갤럭시 S25 를 사용하여 추론을 돌렸을 때, FPS..
[딥러닝] FiLM (Feature-wise Linear Modulation) 모델 정리
·
Study/Data Science
- 이번 포스팅에서는 독특한 딥러닝 모델에 대해 정리하겠습니다.게시글 제목과 같이 FiLM 이라고 하는 모델입니다. FiLM 은, 어떠한 특징(Feature)을 녹여낸 Latent Vector 가 있을 때, 다른 조건의 입력값(x)이 주어졌을 경우 이를 선형 변환(gx + b) 하기 위한 파라미터 Gamma 와 Beta 를 추론하게 하는 모델로, 인코더 모델의 출력 벡터에 외부 조건을 추가 할 수 있는 방법론을 제시합니다. (FiLM)- 논문 : FiLM: Visual Reasoning with a General Conditioning Layer(2017) - FiLM 은 Visual Reasoning 을 위해 나온 모델입니다. 먼저 Visual Reasoning 에 대해 설명하자면,시각 정보의 위치적 ..
[Torch] 딥러닝 모델 경량화 방법 정리(Pruning, Quantization, 모바일 배포 방법, ONNX)
·
Study/Data Science
- 이번 포스팅에서는 딥러닝 모델 경량화 방법을 정리하겠습니다.최근 저는 개인적인 어플리케이션 개발과 더불어 실험적인 구조의 Image Segmentation 모델을 학습시키는 중인데,제가 만든 Image Segmentation 모델을 모바일/드론 등 엣지 디바이스에 적용하여 실시간(30FPS)으로 시각 정보를 처리하는 것을 목표로 하고 있습니다. 이렇게 모바일 환경과 같은 제한적인 환경에서 비교적 무거운 딥러닝 모델을 구동시키기 위해 필요한 몇가지 기법들을 정리하겠습니다. (Pruning(가지치기))- Pruning 이란, 가지치기라는 뜻과 같이 모델 구조에서 중요도가 떨어지는 부분을 잘라내는 기법을 의미합니다. - 쉽게 설명하자면,f(x) = x * w + b라는 수식이 무수히 많이 붙은 레이어에서,..
[딥러닝] LLM 학습 방법 정리(모델 경량화, GPU 요구사항, 학습 효율 기법)
·
Study/Data Science
- 이번 포스팅에서는 GPT 와 같은 LLM 을 학습하는 방식을 정리하겠습니다. LLM(Large Language Model) 은 이름 그대로 굉장히 커다란 모델이므로, 일반적인 장비로는 순전파조차 어렵고 학습은 더더욱 어려운 일입니다. 여기선 LLM 의 사이즈별 GPU 필요 사양, 오픈된 모델 사용 방식, 보다 낮은 사양으로 높은 모델을 학습시키는 방식, 그리고 학습 코드를 정리하여 공유드리겠습니다. (LLM 사이즈별 명칭 및 GPU 필요사항)- 딥러닝 모델의 사이즈 개념에 대해 알아보겠습니다.아시다시피 머신러닝/딥러닝은 데이터를 기반으로 입력값과 정답을 이어주는 함수를 만들어내는(=학습하는) 기술입니다. 정확히는, 함수를 구성하는 파라미터를 학습시키는 기술이죠. 모델이 추론을 할 때에도 해당 함수의 ..
Cosine Similarity 설명 및 벡터간 유사도 파악 정리
·
Study/Data Science
- Cosine 유사도는 두 벡터간의 유사도(정확히는 벡터 방향성)를 파악하기 위한 대표적인 방법입니다.벡터가 얼마나 유사한 방향성을 가지는지 구할 수 있는 방식이므로 딥러닝에서 손실함수로 사용되거나, 혹은 벡터 DB 에서 인코딩된 벡터를 유사도 기준으로 구할 때 사용되는 방식이죠.머신러닝의 인코딩 모델을 사용하여 상호간 유사도 파악을 할 때에 유용하게 사용할 수 있는 기법입니다. - Cosine 유사도를 구할 벡터의 값의 범위는 일반적으로 -1 ~ 1 사이의 값입니다.0의 의미는 벡터의 힘이 존재하지 않는 중립 상황이라는 뜻이고,1 을 최대값으로 두고, 양수 음수로 값의 방향성이 구해진다는 뜻입니다. - 벡터간 유사도를 나타내는 가장 간단한 이론은, 벡터간 유사도가 클수록 벡터간 내적의 값이 커진다는 ..