Aiffel Final Main Quest - 과제 1
- '교류회'라는 이름으로 진행한 리서치 과정의 Slow Paper 모듈의 결과물 발표를 듣고 정리한 내용
- 🚨내용을 이해하고 정리한 내용이라기 보단 발표를 들으며 기록한 내용에 가까움🚨
- 키워드 중심으로 기록
Papers
Attention Is All You Need
paper
- Seq2Seq model + Attention mechanism
- Recurrent 구조를 사용하지 않음
- 한번에 문장을 받아서 decoder로 출력
Encoder : multi-head self-attention
- target word를 더 잘 인코딩 하기 위함
- positional encoding
Positional encoding
- CNN과 결정적인 차이를 만드는 지점
- 위치값을 의미
- convolution / recurrence 를 사용하지 않음
Query, Key, Value
각 값은 입력문장의 모든 벡터로 통일됨
🔑 Keyword
- Recurrent 구조 X - Self-attention mechanism
- Multi-head attention: 병렬처리 가능!
- 인코딩 임베딩 자체를 학습
- 학습률 스케줄링 사용
ViT
paper
Positional embedding
- NLP에서 Transformer처럼 positional embedding을 사용해서 이미지 패치에 대한 공간 정보를 인코딩
🔑 Keyword
- Trainable linear projection
- BatchNormalization : 배치 차원에서 각 피처에 대해 정규화
- Layer normalization : Transformer encoder의 각 layer의 activation 함수를 정규화
- Positional embedding : 이미지 패치에 대한 공간 정보 인코딩
- inductive bias : global feature를 찾으려고하는것
- parameter sharing
- 자기지도학습
CLIP
Learning Transferable Visual Models From Natural Language Supervision
paper
- 학습한 모델을 finetuning + downstream task 적용할때 downstream task, 일반화 어려움
- 벤치마크 데이터셋에 최적화되어있어서 그 외 데이터셋에서는 저조한 성능을 보임 -> 강건성이 떨어짐
- 데이터셋을 만드는데도 비용이 많이 들어감
- pre-train from raw text
- NLP에서는 이렇게 하니까 'CV에서도 이미지 데이터셋을 텍스트로 입력해보자'라는 생각에서 시작됨
🔑 Keyword
- Image-Text pair
- 이미지-텍스트 쌍의 데이터를 수집
- ConViRT, VirText 도 10-20만개 데이터로 이렇게 데이터 수집 시도
- 검색키워드 = 레이블
- 위키백과에 100번 이상 출현한 문장을 바탕으로 검색
- 24개의 데이터셋을 사용해서 학습
- 대조학습 기반으로 학습
- positive & negative sample간의 관계를 학습
- 클래스 label이 단어일경우 보다 문장의 형태를 갖춰서 인코더에 넣었을때 성능이 좋음(1.3% 성능향상)
- 다양한 모델로 학습 비교
- Zero-shot Transfer : 처음 본 데이터를 사용해서 학습하기 위해서 사용
- 프롬프트 엔지니어링 적용할때 임베딩 스페이스 공간에 앙상블 적용
- 적은/모든 데이터셋에 대해서는 일반화가 떨어짐
- 이미지, 텍스트를 각각의 인코더에 넣고, 유사도를 보기위해 dot product
- distribution shift
다양한 학습/메모리 최적화 기법 사용
- mixed-precision
- float16으로 사용(float32대신)
- overflow가 발생하거나 underflow가 발생할수 있는 상황 있음
- gradient checkpointing
- 일부만 기울기값을 저장하고, 필요할때마다 직접 계산함(전체 기울기값을 저장하지 않음)
- gradient caching
적용
- object tracking
- 이미지에서 유해 부분 인식
- 생성형 ai
SAM : SEGMENT ANYTHING
🔑 Keyword
- image segmentation을 위한 foundation model 구축
- zero-shot
- image encoder, mask decoder, prompt encoder
- sparse : 위치 인코딩
- 모호함을 해결하기 위해 하나의 프롬프트에 대해 여러 유효한 마스크가 가능할 경우 이를 위해 여러 출력을 예측하도록 설계
- 토큰을 쿼리로 받아서 사용
- cross-attention
- stage 구분
- assisted-manual stage
- semi-automatic stage
- fully automatic stage
- Meta에서 제작한 데이터셋
- 인스턴스가 구분되어있는 특징
- 아프리카 대륙도 포함한 다양한 지리적 분포, 인종, 연령을 포함한 데이터를 포함
Self Attention does not need O(n2) memory
paper
🔑 Keyword
- self attention에 대해 메모리 절약
- attention이 메모리를 많이 사용하는건 아니라는걸 증명
- 수학적 트릭 사용
Efficiently Modeling Long Sequences with Structured State Spaces
paper
🔑 Keyword
- state space를 딥러닝에 녹여보려고 연구한 논문
- continuous data 연속형 데이터 / 이산형 데이터\
- 연속형데이터를 이산형으로 변환
- 이산형데이터를 다루는 방법
- 오일러 방법론, bi-linear 방법론, - 방법론 3가지 있음
-> 논문은 bi-linear 방법론을 사용함
- 대각화
- Hippo 행렬
convolutional
convolution하면 생각나는 키워드? CNN?
- No.
이 논문에서의 convolution은 '누적된다'는 의미에 가까움
convolutional 계산방식 2가지
- 합성곱
- linear convolution
- 요즘 사용하는 컨볼루션의 의미는 이쪽에 가까움
- 누적곱
- 제어공학, 신호처리에서 사용하는 convolution 기법
- 원리는 비슷하지만 계산 방법론이 다름
이 논문을 왜 볼까?
- attention 논문만 대세였는데, Mamba 라는 논문 등장
- Mamba를 이해하려면 S4 논문을 이해해야함
- state space는 long term, 신호처리에서 주로 사용하는 이론이라고 함
- 공학자들에게는 state space라는 게 더 수학적으로 증명되어있어서 더 인기있음
회고
- 최신 논문에 대해 듣고 아이펠톤을 앞두고 참고할 레퍼런스를 얻어보는 시간으로 마련된 자리였지만 리서치분들의 설명을 듣고 영감을 얻어보기에는 힘들고 긴 시간이었다.
- feat. 발표해주신 리서치 분들, 영빈 퍼실님 설명 고맙습니다🙏
- 아이펠톤이 끝나면 주요 논문을 리뷰한 블로그를 참고하며 논문 공부도 시작해보자!