반응형

Python으로 딥러닝하기|자연어 처리 1. 토크나이징

Python으로 딥러닝하기|자연어 2. 단어 임베딩, Word2Vec

Python으로 딥러닝하기|RNN(Recurrent Neural Networks) Part1. 이론

Python으로 딥러닝하기|LSTM(RNN) Part1&2. 이론 및 실습

Python으로 딥러닝하기|자연어 3. Seq2Seq, Attention

Python으로 딥러닝하기|자연어 4. Transfomer

 

Python으로 딥러닝하기|자연어 4. Transfomer

Python으로 딥러닝하기|자연어 처리 1. 토크나이징 Python으로 딥러닝하기|자연어 2. 단어 임베딩, Word2Vec Python으로 딥러닝하기|RNN(Recurrent Neural Networks) Part1. 이론 Python으로 딥러닝하기|LSTM(RNN) Part1&2.

everyday-deeplearning.tistory.com

 

 

BERT와 GPT는 각각 Transformer로 부터 발전한 형태의 모델입니다.

 


 

 

BERT paper: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

 

우선 BERT 부터 살펴보겠습니다.

 

BERT는 Transformer의 Encoder 구조를 사용합니다. 다만 BERT의 경우 논문 제목에서 알 수 있듯 앞뒤 맥락(Bidirectional )을 고려하여 이해하는 것이 특징입니다. 따라서 문장의 의미 이해, 감정 분석, QnA 시스템 등에서 뛰어난 성능을 보입니다.

 

Masked Language Model(MLM)과 Next Sentence Prediction(NSP) 를 통해 학습하여 성능 향상을 이뤘다고 합니다.

MLM이란 문장 중에 일부 단어를 Making하여 해당 단어를 예측하도록 하는 과정입니다. Word2vec의 CBOW처럼 주변 단어들의 정보를 활용하여 예측하는 방법으로 각 단어가 전체 문맥에서 어떤 의미를 가지는지 더 잘 이해할 수 있다고 합니다.

NSP란 두 문장이 연속적인지 예측하는 작업으로 문장 간 관계를 이해하는데 도움이 된다고 합니다.

 

BERT의 경우 먼저 대규모 텍스트 데이터셋으로 사전 학습(pre-training)을 거친 후, 특정 작업에 맞게 미세 조정(fine-tuning)할 수 있습니다.

 


 

GPT(Generative Pre-trained Transformer)-3 paper: Language Models are Few-Shot Learners

 

GPT는 Transformer의 Decoder 구조를 사용합니다. 따라서 Autoregressive Language Model로 뛰어난 성능을 보냅니다.

여기서 Autoregressive Language Model이란, 주어진 단어 시퀀스에 이어질 다음 단어를 예측하도록 학습하는 과정입니다. 기계 번역, 요약, 대화 시스템 등 텍스트 생성 분야에서 널리 사용되고 있습니다.

 

GPT는 가장 단순했던 GPT-1, 모델 크기를 확장 및 더 다양한 데이터 셋으로 학습했던 GPT-2, 더 극대화된 모델 크기와 Few-shot Learning 능력을 보여준 GPT-3, 최근에는 공개되지 않았지만 버전 4(2023-01-31기준)까지 나왔습니다.

각 버전 별로 발전하면서 모델의 크기를 증가시키고, 더 다양하고 방대한 데이터셋으로 학습하고 학습 방법을 개선하는 방향으로 발전하였습니다.

 

특히 GPT의 가장 두드러지는 특징은 스케일입니다. 이를 통해 사전 훈련된 학습 데이터만을 사용하여 특정 작업에 대한 추가적인 학습 없이도 더 다양하고 복잡한 작업을 수행할 수 있습니다. (a.k.a Zero-shot, Few-shot learning)

 


ChatGPT는 대화형 AI에 특화되어 있어 대화의 맥락을 이해하고 유지하는 데 더 강점을 발휘한다고 합니다.

 

*참고: 이 글은 ChatGPT와 함께 작성했습니다. :)

반응형
반응형

왜 Self-supervised learning을 할까?

  • Issue: 일반적으로 labeled data는 비싸고 대용량 데이터를 구하기 어렵다.
  • Solution
    1. Downstream task: 대용량 데이터로 pre-training을 하고 풀고자하는 task에 맞는 데이터로 fin-tuning하는 방법
    2. Self-supervised learning: Unlabeled data에서 자체적으로 label(pseudo label)을 만들어서 모델을 supervised learning방식으로 학습하는 방법

 

Self-supervised learning 예시

  1. teacher labeled data 학습
    https://youtu.be/QHXvAaptdqs?t=1261
  2. 학습한 teacher로 unlabeled data에서 pseudo label 생성
    • pseudo label: softmax를 이용하여 label로 사용
    • 단점: teacher가 부정확한 경우 student는 잘못된 label을 학습할 수 있음
  3. child model 학습
    https://youtu.be/QHXvAaptdqs?t=1261

 

Self-supdervised learning in Computer Vision

  1. jigsaw puzzle
    https://arxiv.org/pdf/1603.09246.pdf

    (1) 이미지를 split하고 patch를 섞는다. (2) Model로 몇 번째 위치에 해당하는 patch인지 분류한다.
  2. contrastive learning
    https://arxiv.org/pdf/2011.10566.pdf

    (1) data augumentation을 통해 data를 생성하고 (2) Model(with Negative Sampling)을 이용하여 Feature Extraction을 학습한다.
    : 같은 label에서 나온 데이터(positive)를 더 가깝게, 다른 데이터(negative)를 더 멀어지도록 학습한다.
  3. masked image
    https://arxiv.org/pdf/2106.08254.pdf, https://arxiv.org/pdf/2111.06377.pdf

    (1) 이미지를 split하고 patch를 임의로 (blockwise or random) masking한다. (2) Model로 masking된 부분의 representation을 예측한다.

 

Self-supervised learning in Natural Language Processing

NLP에서는 대표적으로 BERT가 있다.

https://wikidocs.net/115055

BERT: pretraining 방법으로 Masked Language Model(MLM)과 next sentence prediction을 사용했다.

  1. Masked Language Model(MLM)
    (1) input에서 token을 임의로 masking하고 (2) 주변 단어의 context만 보고 mask된 단어를 예측한다.
  2. Next sentence prediction: 두 문장을 같이 넣고 이어지는 문장인지 아닌지 맞춘다.

 

Self-supervised Learning in Speech

Speech에서도 BERT의 MLM을 적용한 방법을 사용했다.

https://arxiv.org/pdf/2006.11477.pdf,%20https://arxiv.org/pdf/2106.07447.pdf

 

wave2vec: (1) n개의 token을 연속적으로 masking한다. (2) 예측한 vector와 context vector간의 contrastiv loss로 학습한다.


 

최근 Self-supervised Learning, Semi-supervised Learning에 관한 논문이 많이 보여 간략하게 개념을 정리하였다.

반응형
반응형

 

본문 내용의 내용 및 그림의 출처는 "OSCAR(Object-Semantics Aligned Pre-training for Vision-Language Tasks)" 논문입니다.

 

 

microsoft/Oscar

Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks - microsoft/Oscar

github.com

 

Oscar: Objects are the secret key to link between language and vision

In vision-and-language pretraining (VLP), objects can be used as anchor points to make aligning semantics between image-text pairs easier. Learn how Oscar, a novel VLP framework utilizing objects, sets new state of the art on six vision-and-language tasks.

www.microsoft.com

 

[OSCAR] 출처:  https://github.com/microsoft/Oscar

오스카는 버트, 엘모 등과 같이 세서미 스트리트에 등장하는 캐릭터라고 합니다~ (사설)

 

Abstract

image-text 쌍을 이용한 cross-modal representations 학습하는 Large-scale pre-training 방법이 vision-language tasks에서 널리 사용되고 있다.

 

 

OSCAR에서는 기존 방법과 달리 detected image의 object tags를 anchor points로 이용하여 alignments 학습을 쉽게 한다.

 

OSCAR model을 6.5 million text-image 쌍으로 pre-train하고 downstream tasks에서 fine-tune하여 잘 알려진 6개(4. Adapting to V+L Tasks)의 vision-language Understanding 및 generation tasks에서 새로운 SoTA를 만든다.

 

  • downsteam task란, 해당 field에서 pre-train된 모델이나 component를 활용한 supervised-learning tasks를 의미한다.

downstream tasks is what the field calls those supervised-learning tasks that utilize a pre-trained model or component ( 출처: http://jalammar.github.io/illustrated-bert/)

 

1. Introduction

cross-modal representations를 학습하는 것은 vision-language(V+L) tasks의 기본이다.

 

이 논문은 image와 text 사이의 semantic alignments 학습을 쉽게 하기 위해 이미지에서 detect된 objects tags를 anchor poins로 도입하여 cross-modal representations 학습을 상당히 향상시킬 수 있음을 보여준다.

 

또한, 새로운 VLP(Vision-Language Pre-training) 방법인 OSCAR를 제안한다.

여기서 훈련 샘플은 3가지(1. 연속적인 word sequence, 2. object tags, 3. image region features)로 정의한다.

 

OSCAR 모델은 large-scale V+L dataset에 pre-train되어 있고 7개의 V+L understanding과 generation tasks에 fine-tune, evaluate 된다.

 

Fig.1: OSCAR pipeline

 

요약

  1. V+L understanding과 generation tasks를 위한 generic image-text representations 을 학습하는 강력한 VLP방법인 OSCAR 소개한다.
  2. 새로운 SoTA 모델 OSCAR는 기존 접근 방식(여러 V+L 벤치마크)을 크게 능가한다.
  3. cross-modal representation 학습과 downsteam tasks를 위해 object tags를 anchor points로 사용하는 효과에 대한 insights를 제공하기 위해 광범위한 실험과 분석을 제시한다.

 

2. Background

많은 V+L tasks의 training data는 image-text 쌍으로 구성된다.(Fig.2)

 

Fig.2 Illustration on the process

 

pre-training의 목적은 self-supervised manner에서 image-text쌍의 cross-modal representations을 학습하는 것이다.

 

VPL는 일반적으로 각 modality의 singular embedding을 기반으로 cross-modal contextualized representations 학습하기 위해 multi-layer self-attention Transformers를 사용한다. 따라서 VLP의 성공은 기본적으로 input singular embeddings 퀄리티에 의존한다.

 

기존의 VLP 방법의 2가지 issues가 있다.

  1. Ambiguity(모호성). visual region features는 보통 over-sampled region(overlaps among image regions at different positions) 에서 추출된다.

    예를 들어, Fig2(a)에서 dog와 couch의 regions가 heavily overlap 되어있다.

  2. Lack of grounding(기초의 부족). VLP는 본래 이미지의 regions 또는 object와 text의 words 혹은 phrases 사이의 명시적으로 label된 alignments가 없기 때문에 weakly-supervised learning 문제가 있다.

    하지만, OSCAR에서는 Fig2(a)에서와 같이 dog와 couch를 이미지와 text 쌍으로 표현된 두드러진 objects가 제시되고, Fig2(b)에서와 같이 image regions와 textual unis사이의 의미적 alignments 훈련을 위한 anchor points로 사용될 수 있음을 알 수 있다.

 

3. OSCAR Pre-training

사람들은 여러 channels를 통해 세상을 이해한다. 심지어 각 채널의 incomplete 혹은 noisy가 있지만, 여러 channel에서 중요한 factors는 여전히 공유된다. (oscar's motivation)

 

Oscar는 input image-text 쌍이 표현되는 방식과 pre-training 목표가 기존의 VLP와 다르다.(Fig.3)

 

Fig.3 Illustration of OSCAR

 

Input

OSCAR는 Word-Tag-Image 3가지(w, q, v)로 각 input image-text 쌍을 표현한다.

(w: text's word embeddings sequence, q: object tags(image에서 detect된)의 word embedding sequence, v: image's region vectors set)

 

OSCAR는 기존 VLP와 달리 image-text alignment 학습을 쉽게 하기 위한 anchor points로 q를 소개한다.

text에서 q와 w 사이의 alignments는 사전 훈련된 BERT를 사용하여 비교적 쉽게 식별될 수 있기 때문에 text에서 의미적으로 관련된 단어가 query 가 될 때 다른 영역보다 object tag가 dectect된 이미지 영역은 더 높은 attention 가중치를 가질 가능성이 높다.-Fig2(b)

이 과정은 image objects의 ground(기초?바탕?)를 학습하는 것으로 해석될 수 있으며 Fig2(a) 에서 dog와 couch가 vision space에서 애매하게 표현되지만, Fig2(c)에서 표현된 것 처럼 language space에 뚜렷하게 표현될 수 있다.

 

  • BERT(Bidirectional Encoder Representations from Transformer): 구글이 공개한 NLP 모델

 

인공지능(AI) 언어모델 ‘BERT(버트)'는 무엇인가 - 인공지능신문

지난해 11월, 구글이 공개한 인공지능(AI) 언어모델 ‘BERT(이하 버트, Bidirectional Encoder Representations from Transformers)’는 일부 성능 평가에서 인간보다 더 높은 정확도를 보이며 2018년 말 현재, ...

www.aitimes.kr

 

Pre-Training Objective

Pre-Training Objective 2가지 관점

Oscar의 input은 2가지 관점으로 볼 수 있다. x는 text와 image 간의 representations을 구별하기 위한 modality view이다. x'은 두 개의 다른 semantic space를 구별하기 위한 dictionary view이다.

 

 

A Dictionary View: Masked Token Loss(MTL)

object tags와 work token은 같은 linguistic semantic space를 공유하지만 image region feature는 visual semantic space에 있다. 이산(discrete) token sequence를 h ≜ [w,q]로 정의하고, pre-training을 위해 MTL을 적용한다.

훈련의 목표는 negative log-likelihood를 최소화하는 주변 token h\i과 모든 이미지 features v를 기반으로 masked token을 예측하는 것이다. BERT에서 사용된 masked language model과 비슷하다.

Masked Token Loss(MTL)

 

A Modality View: Contrastive Loss.

image modality를 h' ≜ [q,v] 그룹으로 표현하고, w는 language modality로 고려했다. 그런 다음 q의 각 object tag를 50%로 대체하여 dataset D에서 랜덤하게 샘플링된 다른 tag로 "polluted(오염된)" image representations 샘플링 한다.

 

Contrastive Loss

(f: FC layer on of it as a binary classifier, y: polluted ones = 0, image representation = 1)

 

The full pre-training objective of OSCAR is:

Full Pre-Training Objective of OSCAR

 

Discussion.

  1. 각 loss는 representative learning signal을 제공한다.
  2. 모든 loss는 기존 VLP 방법보다 훨씬 simple하다.

 

Pre-Training Corpus

Pre-training Corpus

 

Implementation Details

BERT 기반의 parameters로 initialize된 OscarB 과 OscarL 2가지 모델의 variants를 pre-train했다. image region features는 BERT와 동일한 input embedding size를 갖도록 했고, AdamW Optimizer 사용했다.

**참고: 자세한 사항은 논문 참고

 

4. Adapting to V+L Tasks

pre-trained model을 7개의 downstream V+L taskes에 적용

** 간략한 설명입니다. 자세한 부분은 논문을 참고하세요.

** 참고: 각 task에 관한 Fine-tuning Settings에 관해 논문에 자세히 기재되어 있음

 

Image-Text Retrieval

image-text retrieval(검색)은 representations와 깊은 관련이 있다.

retrieved target으로 사용된 modality에 의존하는 image retrieval 과 text retrieval 2가지 sub-tasks가 있다.

binary classification loss를 사용하는 것이 ranking losses보다 더 나은 결과를 보인다.

Image Captioning

image captioning을 사용하려면 모델이 image content의 natural language description을 생성해야한다.

sentence를 생성하기위해 seq2seq objective여 사용하여 OSCAR를 fine-tune한다.

self-attention mask는 uni-directional 생성(generation) 프로세스를 시뮬레이션하기 위해 이전 token에서만 사용할 수 있도록 제한된다.

Novel Object Captioning (NoCaps)

(image captioning task의 확장버전)

VQA

VQA는 image를 기반으로 natural language 질의(questions)에 모델이 응답(answer)을 요구한다. image 와 질문이 있을 때, multi-choice list에서 알맞은 정답을 선택하는 task이다.

VQA는 multi-label classification 문제로 cross-entropy loss를 최소화하여 모델을 fine-tune한다.

GQA

VQA와 비슷하지만, GQA는 추가 질문에 답해야한다.

Natural Language Visual Reasoning for Real (NLVR2)

NLVR2의 목적은 image에 대해 natural language 설명이 참인지 여부를 결정하는 것이다.

 

5. Experimental Results & Analysis

** 자세한 부분은 논문을 통해 표와 함께 확인하세요.

  • Pre-trained 모델: object tags 유무에 따른 비교

object tags 유무에 따른 비교

  • generated captions: 모델 비교

generated captions: 모델 비교

 

6. Related Work

Vision-Language Pre-training

다양한 V+L 문제를 해결하기 위해 pre-training generic 모델에 대한 관심이 증가했다.

이 논문에서, OSCAR 모델은 understanding과 generation tasks를 포함하여 넓은 범위의 downstream tasks에 적용되었고, 대부분의 새로운 SoTA에 달성했다. 실제로, OSCAR 모델은 대부분의 V+L tasks에서 기존의 large VLP 모델보다 더 좋은 성능을 보였다.

Object Tags

이 논문에서, pre-trained linguistic semantic space에서 object-region features를 aligne하기 위해 object tags 사용을 제안했다.

object tags(with 해당하는 region features & word embeddings)의 구성은 특히 linguistic entity embeddings가 pre-train되었을 때 object에 대해 보다 완전하고 유익한 representations를 제공한다.

Multimodal Embeddings

V+L tasks에서 image 와 text 간의 공유된 embedding space는 이점을 가진다.

 

Socher et al.의 초기 시도에서 word와 image regions를 kernelized canonical correlation 분석을 사용여 common space에 project(투영?)하고 annotation과 segmentation에서 좋은 결과를 얻었다.

 

DeViSE은 un-annotated text에서 수집된 semantic 정보를 사용하여 visual objects를 식별할 것을 제안한다. 이러한 semantic 정보는 훈련 중에 관찰되지 않는 이미지 label의 예측을 위해 활용되며, vision 모델에서 볼 수 없었던 새로운 label로 zero-shot 예측을 드라마틱하게 개선한다.

 

 

실제로, novel(새로운) object captioning에 대한 결과는 Oscar가 pre-train된 모델의 일반화(generalizability)를 향상시키는데 도움이 된다는 것을 보여준다.

 

7. Conclusion

object tags를 (공유된 semantic space에서 image와 language modalities를 결합하는) anchor points로 사용하는 새로운 pre-training 방법인 OSCAR를 소개했다.

 

내가 생각하는 결론

딥러닝 분야의 양대 산맥이라고 할 수 있는 Computer Vision과 NLP를 모두 아우르는(?) Vision-Language Tasks의 BERT 가 될 수 있을지 흥미가 생기는 논문이었다.

 

개인적인 의견을 최대한 제하고 단순 해석하여 논문 리뷰를 작성했기 때문에, 본문에서 반복해서 언급되는 내용이 결국 이 논문이 이야기 하고자 하는 핵심 아이디어라고 할 수 있다.

 

요약하자면,

다른 VLP 모델과 달리 3가지 Input(Word, Tag, Image 특히 Object-Tags)을 사용하여 pre-train된 OSCAR를 이용하면 더 좋은 cross-modal representations를 생성할 수 있다. 여러 V+L downstream tasks에서 보다 좋은 성능을 기대할 수 있다.

 

 

 

(본문에 부족한 내용 혹은 오류가 있다면 첨언 부탁드립니다. 감사합니다!)

 

반응형

+ Recent posts