CLIP-ViT Image encoder에서, text기반으로 decomposition을 하여 각 요소마다 영향력을 분석하는 논문임.Image representation을 Image Patches + Model layers + Attention Heads의 sum으로 decomposition한 후, CLIP의 text representation을 사용하여 각 부분이 image representation에 미치는 효과를 자세히 분석하였음.각 요소들을 상세히 분석하여, CLIP에서 그닥 필요하지 않은 부분(=feature)을 제거하여 robust한 zero-shot image segmenter를 만들어 냄.CLIP-ViT Architecture$M_{img}$는 img encoder$(I_i, t_i)$는 ..
분류 전체보기
Abstract비디오를 온라인 방식으로 처리하고 과거 비디오 정보를 Memory Bank에 저장하여 long term video 분석LLM의 context length limit 이나 GPU memory limitation을 초과하지 않으면서도 과거 비디오 내용을 reference가능ContributionsLong term memory bank과거 비디오 프레임을 저장하고 참조할 수 있는 memory bank 도입.GPU 메모리 사용을 줄이고 LLM의 컨텍스트 길이 제한 문제 해결. (이는 memory bank compression method로 해결)모델 아키텍처:visual encoder: 비디오 프레임에서 특징 추출.쿼리 트랜스포머(Q-Former): 비주얼 및 텍스트 임베딩 정렬.대형 언어 모델(..
Abstract기존의 training 기법들은, 활용되는 tool에 대해 freeze를 하여 학습을 진행했지만, 이는 continual learning을 간과하였다고 봄.이에 따라, Inference, Reflection, Learning phase 총 세 단계를 거쳐 새로운 지식을 습득하는 환경을 조성할 수 있는 closed-loop learning framework인 CLOVA를 고안해 냄3단계의 phaseInference phase : LLM이 할당된 task에 맞게 그에 맞는 tool들을 실행한다Reflection phase : Multimodal이 전체적으로 human feedback을 하면서, tool들을 update한다Learning phase : 자동적으로 training data를 모으고..
PreliminariesPEFT (Parameter Efficient Fine-Tuning)성능은 그대로 유지하고, 파라미터 수를 줄여서 training time이나 memory efficiency 측면에서 장점을 갖게 됨Adapter, Prompt Tuning, LoRA 등의 방법론 제기.Adapter(추후 추가예정)Introduction최근 175B의 Parameter를 가진 GPT-3 모델을 fine tuning하는 것이 expensive하다는 문제가 제기되면서, 이를 경량화하려는 노력에 대한 시도가 많이 진행되고 있다.Low-Rank Adaptation (LoRA) 기법은, 기존에 pre-trained model을 freeze시키고 rank decomposition matrix를 기반으로 학습시키..
Paper Link : https://arxiv.org/pdf/2407.158412024-07-22 introducedAbstract학습 없이도 세부적인 공간 의미와 장기적인 시간적 문맥을 효과적으로 caputre 가능→ computation resource, model training time 줄일 수 있다!Slow와 Fast 두 개의 stream design을 사용하여 비디오 프레임의 feature을 aggregateSlow pathway는 낮은 프레임 속도로 공간 세부 사항을 유지하며 feature을 추출Fast pathway는 높은 프레임 속도로 움직임 단서를 capture기존 challenge :input video 넣을 때 frame 수 제한 (e.g., 6 for IG-VLM (Kim et ..
2023년 하반기가 마무리되고, 겨울방학도 끝났다. Prometheus 동아리에서 한 학기(6개월)동안 여럿 프로젝트를 해왔고, 기초스터디를 하면서 다양한 모델과 머신러닝 기법들을 배웠다. 기초스터디 팀에서는 "혼자 공부하는 머신러닝+딥러닝" 교재를 통해 다양한 머신러닝 기법과 딥러닝 기법들을 배웠고, 실제 코드를 통해 실습을 하였다. 기초스터디랍시고 다소 가볍게 여겼었는데.. 생각보다 어려운 부분도 많아서 배울 점도 많았다. 기억나지 않는 부분도 많고, 코드도 제대로 학습하지 않은 상태에서 기초스터디 강좌가 끝나서, 이 부분들을 다시 복습이라도 해야 양심에 찔리지 않을 것 같다. 여튼..! 중요한 부분은 기초스터디가 끝나고 시간이 남아, 간단한 토이프로젝트를 진행했다..! 프로젝트명은 "프로메테우스 닉..
1. What is MVC Pattern? 3가지 요소(Component)로 구성되는 패턴이다. Model View Controller 이는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. MVC 패턴을 도입하면 도메인(Business logic)영역과 UI 영역이 분리되므로 서로 영향을 주지 않고 유지보수가 가능함. 2. Structure of MVC Pattern 2.1. Model 데이터(data)의 가공, 비즈니스 로직(Business Logic)을 담당하는 요소(Component)이다. 데이터베이스, 계산 로직 또는 다른 데이터 소스와의 상호 작용을 관리한다. 비즈니스 로직을 처리한 모델의 변경사항을 컨트롤러와 뷰에 전달한다. 모델(Model)은 다음과 같은 규칙을 가진다. 사용자가 편..
https://www.acmicpc.net/problem/2143 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net - 누적 합(Cumulative Sum) - 이분 탐색(Binary Search) 우선 두 배열의 크기가 모두 1000이기 때문에, O(N^2)의 이중for문을 통해 가능한 모든 부분배열의 합의 경우의 수를 Asumcase, Bsumcase에 저장하였다. 그 이후, O(logN)의 lower_bound, upper_bou..
https://www.acmicpc.net/problem/2467 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net - 투 포인터(Two Pointer) - 이분 탐색(Binary Search) 간단한 투 포인터 문제로 보인다. 과정은 이러하다. (1) 용액 배열의 양 끝을 초깃값으로 잡은 뒤, 서로 다가오면서(투포인터) 두 개의 합이 0에 가장 가까울 경우 저장해준다. (2) 두 개의 합이 0 보다 작을 경우, 조금 더 0보다 가까운..
https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net - 이분 탐색(Binary Search) - 다이나믹 프로그래밍(Dynamic Programming) - 너무나도 중요한 문제이다. 가장 긴 증가하는 부분수열을 구하는 풀이법은 크게 두 가지가 있다. 첫 번째는 길이가 N인 수열을 돌면서, "현재의 숫자 앞에서 자신보다 작은 수이면서 가장 큰 부분수열을 가진 값 + 1" 을 구하는 시간복잡도 O(N^2)인 풀이법이 있다. 두 번째는 "현재의 숫자 ..