[CoCa] 용어 정리

FSA·2024년 3월 1일
0

딥러닝 기초

목록 보기
32/36
  1. text.ids: [batch, sequence_length]
  • sequence_length는 각 텍스트의 토큰 수(또는 고정된 시퀀스 길이)
  • 이는 각 텍스트 토큰(단어)에 대응하는 정수 ID
  • 자연어 처리에서는 단어를 모델이 이해할 수 있는 형태로 변환하기 위해 단어를 정수 인덱스로 매핑하는 과정을 거칩니다.
  • 이러한 매핑을 통해 생성된 정수 시퀀스가 text.ids입니다.
  • https://velog.io/@hsbc/자연어-전처리-과정

  1. text.labels: [batch, sequence_length]
  • text.labels는 훈련 중에 모델의 예측을 실제 값과 비교하기 위한 정답 레이블입니다. 캡셔닝 작업에서는 모델이 예측한 각 토큰의 다음 토큰에 대한 정답을 이 레이블로 사용

  1. text.mask: [batch, sequence_length]
  • text.mask는 시퀀스 내에서 어떤 토큰이 실제 텍스트의 일부이고, 어떤 토큰이 패딩(padding)된 부분인지를 나타내는 이진 마스크
  • 패딩은 모든 텍스트 시퀀스를 동일한 길이로 만들기 위해 사용되며, 일반적으로 시퀀스 끝에 특수 토큰을 추가하여 이루어짐
  • 모델은 이 마스크를 사용하여 패딩된 토큰을 무시하고 실제 텍스트 토큰만을 처리

  1. con_query: ([batch, 1, d])
  • d는 토큰의 임베딩 차원
  • "contrastive query"의 줄임말로, 이미지 특징과 대조되는 텍스트 특징을 찾기 위해 사용되는 쿼리 토큰
  • 이 쿼리 토큰을 이용해서, img_feature([batch, seq, d])을 key value로 한 attention을 수행하여 -> con_feature([batch, 1, d]) 생성
    • con_feature은 이미지 각 패치 feature들을 적절히 잘 융합한 feature
    • con_feature은 추후 cls_token_feature와 contrastive loss 계산에 활용되어
      • 유사한 이미지와 유사한 text 간 embedding은 가깝게
      • 서로 관련 없는 이미지-text 조합의 embedding은 멀게 학습
  • 이 쿼리는 이미지 인코더가 생성한 representation([batch, seq_len, dim])과 대조적인 텍스트 표현 간의 관계를 학습하는 데 사용
  • 즉, 이 쿼리를 통해 모델은 이미지와 텍스트가 어떻게 서로 관련되어 있는지를 이해하려고 합니다.

  1. cap_query: [batch, N, d]
  • N은 캡션을 구성하는 토큰의 수
  • "captioning query"의 줄임말로, 이미지에 대한 캡션을 생성하기 위해 사용되는 쿼리 토큰 시퀀스
  • 캡셔닝 쿼리는 모델이 이미지에 대한 자세한 설명을 순차적으로 생성할 수 있도록 합니다.

  1. Attentional Pooling:
  • 이것은 특정 쿼리(예: con_query 또는 cap_query)에 대한 컨텍스트 정보를 얻기 위해 이미지 특징을 가중 평균하는 메커니즘
  • 멀티헤드 어텐션을 사용하여 이미지 특징들에 대한 가중치를 계산하고, 이 가중치를 바탕으로 각 쿼리에 가장 관련 있는 이미지 정보를 추출
  • 결과적으로, 모델은 이미지의 특정 부분에 주목하면서 텍스트를 생성

3.1. con_feature: [batch, 1, d]

  • "contrastive feature"
  • input
    • 이미지 인코더가 생성한 representation([batch, seq_len, dim])
    • con_query: ([batch, 1, d])
  • 이는 이미지 특징(feature)을 이용하여 계산된 벡터로, 이미지와 대조되는(contrastive) 텍스트 임베딩을 찾는 데 사용
  • con_query라는 특정 쿼리 토큰을 사용하는 어텐셔널 풀링을 통해 얻어지며, 대조적 학습에서 이미지와 텍스트의 매칭을 최적화하는 데 도움을 줍니다.

3.2. cap_feature: [batch, N, d]

  • "captioning feature"
  • input
    • 이미지 인코더가 생성한 representation([batch, seq_len, dim])
    • cap_query: ([batch, N, d])
  • 이미지 특징을 기반으로 하여 캡셔닝을 위한 쿼리 토큰(cap_query)에 의해 계산된 벡터
  • 이 특징은 이미지에 대한 캡션을 생성하는 데 사용되며, 각 캡셔닝 쿼리 토큰에 대한 어텐셔널 풀링을 통해 생성됩니다. 모델이 이미지에 대해 설명하는 적절한 텍스트를 생성할 수 있도록 돕습니다.
  1. cls_token_id -> [CLS]:
    • 이는 모델이 사용하는 어휘(vocabulary) 안에서 "[CLS]" 토큰에 할당된 고유한 정수 ID
    • [CLS] 토큰도 모델의 어휘(vocabulary)에 포함되어 있으며, 고유한 정수 ID를 부여받습니다.
    • id화 ([1]) -> Embedding화 ([Embedding]) 가 마찬가지로 진행됨.
    • BERT와 같은 트랜스포머 모델에서는 "[CLS]" 토큰이 종종 전체 입력 시퀀스의 의미를 집약적으로 표현하는 데 사용
    • 캡셔닝 모델에서는 이 "[CLS]" 토큰이 이미지 캡셔닝의 결과물인 텍스트 시퀀스와 연관되어, 전체 시퀀스의 문맥을 나타내는 데 사용
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글