본문 바로가기

전체 글52

[Paper Review] VisualBERT: A Simple and Performant Baseline for Vision and Language 본 글은 https://arxiv.org/abs/1908.03557 내용을 기반으로 합니다.혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다.Abstract광범위한 vision-and-language task를 모델링 하기위한 간단하고 유연한 framework인 VisualBERT를 제안한다. VisualBERT는 self-attention을 통해 input text의 요소들과 연관된 input image의 영역을 정렬하는 Transformer layer로 구성된다. 추가적으로 image caption 데이터를 사용하여 VisualBERT를 pre-training을 하기 위한 두 가지 시각적으로 기반을 둔 언어 모델 objective를 제안한다. VQA, VCR, NLVR2, F.. 2024. 5. 23.
[미적분학] L1, L2 Regularization 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 본 글은 https://www.youtube.com/watch?v=swYILd-M2Ks 를 참고하여 만들었습니다. 저번 글에서 오차(예측값과 실측값의 차이)를 계산하는 Loss Function에 대해 알아보고 이를 이용해 오차를 어떠한 알고리즘으로 최소로 할지 계산하는 Optimization에 대해 알아보았다. 여기서 무조건적으로 오차를 줄이는 것이 좋을까? 아니다. 오차를 줄이고 0이 된다 해도 train dataset에만 잘 학습되고 일반화가 안된 모델이라면 좋지 않다. 이를 과적합이라 한다. 과적합을 줄이기 위해서는 여러 가지 방법들이 있다. 데이터 증가 : 더 많은 훈련 데이터를 사용하여 모델이 더 일반화된 패턴을 학습하.. 2024. 4. 21.
[미적분학] 테일러 급수 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 미적분학에서 테일러 급수는 도함수들의 한 점에서의 값으로 계산된 항의 무한합으로 함수를 나타내는 방법이다. 테일러 급수는 어떠한 함수를 다항식으로 근사하는 방법을 제공한다. 단, 미분 가능한 함수여야 한다. f(x)를 다음과 같이 멱급수 형태로 나타낼 수 있다. (증명은 생략..) 위 식을 통해 f(a)=a0, f'(a)=a1, f''(a)=2a2라는 것을 알 수 있다. 이를 통해 일반화를 시킬 수 있다. 위 식을 통해 여러 가지 함수를 1차 미분 값과 2차 미분 값을 간단하게 구할 수 있다. 대표적인 테일러 급수의 예로는 다음과 같다. 2024. 4. 9.
Stanford CS224N - Lecture 5. Recurrent Neural networks RNNs 본 글은 Stanford CS224N: NLP with Deep Learning | Winter 2021 내용을 기반으로 합니다.강의를 듣고 정리한 글로 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다.강의 순서1. Neural dependency parsing2. A bit more about neural networks3. Language modeling + RNNs 1. Neural dependency parsing 문제점 #1: sparse문제점 #2: incomplete훈련 데이터에 따라 특정 feature가 존재하여 없는 feature가 존재. 예를 들어, 어떤 단어는 동사 앞에 나오지 않는 경우 해당 feature는 존재하지 않는다.문제점 #3: expensive.. 2024. 4. 6.
Stanford CS224N - Lecture 4. Syntactic Structure and Dependency Parsing 본 글은 Stanford CS224N: NLP with Deep Learning | Winter 2021 내용을 기반으로 합니다.강의를 듣고 정리한 글로 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다.강의 순서1. Syntactic Structure: Consistency and Dependency2. Dependency Grammar and Treebanks3. Transition-based dependency parsing4. Neural dependency parsing1. Syntactic Structure: Consistency and DependencyNLP 모델이 문장을 깊게 이해하기 위해서 구문 구조를 분석하는 것이 필요하다.구문 구조를 분석하는 것에는 두 가지.. 2024. 4. 4.
[Paper Review] Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference 본 글은 https://aclanthology.org/2021.eacl-main.20/ 내용을 기반으로 합니다. 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 1. Introduction Few-shot Learning for LM - Pretrained Language Model(PLM)이 등장하면서 task description을 제공하는 idea가 실현 가능해짐 (GPT-2, GPT-3) Pattern-Exploiting Training (PET)를 소개 - Input 예제들을 cloze-style 구문으로 재구성하여 semi-supervised training (1) PLM을 small training set에 finetuning (2) 모든 모델들을 앙상블하여 la.. 2024. 3. 26.
[Paper Review] GPT-2, GPT-3 본 글은 GPT-2, GPT-3 paper 내용을 기반으로 합니다. 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. OpenAI GPT paper review는 이전 글을 참고해주시길 바랍니다. https://byeonggeuk.tistory.com/16 Language Models are Unsupervised Multitask Learners (GPT-2) 1. Introduction 1. 기계학습 시스템은 큰 dataset, 고용량 모델, supervised learning 등을 통해 발전 - 이러한 방법들은 데이터 분포에 민감하고 특정 task에만 좋음 2. 현재 가장 성능이 좋은 시스템은 pre-training과 supervised fine-tuning의 조합 - 이.. 2024. 3. 26.
[Paper Review Code] Attention Is All You Need (2) 본 내용은 https://arxiv.org/abs/1706.03762 논문을 기반으로 하고 https://github.com/ndb796/Deep-Learning-Paper-Review-and-Practice에서 Transformer 구현 코드를 참고하였습니다. 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. Text 전처리와 Encoder 구현은 저번 글에서 알아보았으니 이젠 Decoder 부분을 구현하고 전체 Transformer를 이용해 학습해보는 것을 알아보겠다. (Encoder 부분은 이전 글 참고) 디코더 디코더는 인코더와 다르게 두 개의 attention 층을 가지고 있다. Masked Multi-head self-attention : timestep마다 지난 출.. 2024. 3. 11.
[Paper Review Code] Attention Is All You Need (1) 본 내용은 https://arxiv.org/abs/1706.03762 논문을 기반으로 하고 https://github.com/ndb796/Deep-Learning-Paper-Review-and-Practice에서 Transformer 구현 코드를 참고하였습니다. 혹시 잘못된 부분이나 수정할 부분이 있다면 댓글로 알려주시면 감사하겠습니다. Transformer는 크게 인코더-디코더 아키텍처를 가진다. 아래 그림을 보면 상단이 인코더, 하단이 디코더이다. 인코더 인코더 층을 자세히 보면 아래 그림과 같다. 토큰화 import spacy spacy_en = spacy.load('en_core_web_sm') # 영어 토큰화 spacy_de = spacy.load('de_core_news_sm') # 독일어 토.. 2024. 3. 10.