[AIFFEL] Slow Paper Review

·2024년 2월 19일
0

AIFFEL

목록 보기
3/4
post-thumbnail

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

  • Transformer를 CV에 도입

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 : 처음 본 데이터를 사용해서 학습하기 위해서 사용
    • 프롬프트 엔지니어링 적용할때 임베딩 스페이스 공간에 앙상블 적용
      • 5% 성능 향상
    • 적은/모든 데이터셋에 대해서는 일반화가 떨어짐
  • 이미지, 텍스트를 각각의 인코더에 넣고, 유사도를 보기위해 dot product
  • distribution shift
    • 데이터에 변형을 가했을때 강건함을 보여줌

다양한 학습/메모리 최적화 기법 사용

  • mixed-precision
    • float16으로 사용(float32대신)
    • overflow가 발생하거나 underflow가 발생할수 있는 상황 있음
      • 그런 해당 경우에는 float32를 사용
  • 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

SA-1B 데이터셋

  • 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가지

  1. 합성곱
    • linear convolution
    • 요즘 사용하는 컨볼루션의 의미는 이쪽에 가까움
  2. 누적곱
    • 제어공학, 신호처리에서 사용하는 convolution 기법
    • 원리는 비슷하지만 계산 방법론이 다름

이 논문을 왜 볼까?

  • attention 논문만 대세였는데, Mamba 라는 논문 등장
  • Mamba를 이해하려면 S4 논문을 이해해야함
  • state space는 long term, 신호처리에서 주로 사용하는 이론이라고 함
    • 공학자들에게는 state space라는 게 더 수학적으로 증명되어있어서 더 인기있음


회고

  • 최신 논문에 대해 듣고 아이펠톤을 앞두고 참고할 레퍼런스를 얻어보는 시간으로 마련된 자리였지만 리서치분들의 설명을 듣고 영감을 얻어보기에는 힘들고 긴 시간이었다.
    • feat. 발표해주신 리서치 분들, 영빈 퍼실님 설명 고맙습니다🙏
  • 아이펠톤이 끝나면 주요 논문을 리뷰한 블로그를 참고하며 논문 공부도 시작해보자!
profile
사랑을담아봄

0개의 댓글