셀프어텐션

인공지능공부/자연어처리

Self-Attentive Sentence Embedding(SASE) 구현해보기

모델 성명은 여기를 참고해주세요. pytorch version 1.8.0입니다. SASE모델을 크게 아래처럼 쪼개갰습니다. embedder self-attention classifier loss function 먼저 들어가기 전에 라이브러리 import를 해주셔야합니다. import torch import torch.nn as nn import torch.nn.functional as F 1. Embedder 임베더는 말 그대로 초기 단어를 임베딩하고, bi-LSTM을 통해 문맥정보를 압축시켜주는 역할을 하는 부분입니다. 저는 word2vec을 따로 학습시켜주었고요. 다음과 같이 구현해주었습니다. 모델 그림으로 보면 위의 빨간 네모박스 부분이라고 생각해주시면 됩니다. 수식을 한번 볼까요? 윗 부분은 wo..

인공지능공부/자연어처리

Self-Attentive Sentence Embedding(SASE)의 모든 것

등장 배경 Word2vec, Fasttext와 같이 개별 단어에 대해 의미있는 표현들을 학습하는 word embedding 기법들은 많은 발전을 이루었는데요. 여러 단어 혹은 구가 나열된 문장의 표현을 학습하는 sentence embedding 기법들은 word embedding에 비해 많이 부족합니다. sentence embedding은 크게 두 가지로 나누어질 수 있는데요. 첫 번째는 unsupervised learning을 통해 universal sentence representation을 만드는 방법입니다. 대표적인 예로는 Skip Tought vector, ParagraphVector 등이 있습니다. ※ universal sentence representation이 뭐죠? 문장의 의미를 잘 표현..

논문/논문리딩

BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding

논문 https://arxiv.org/pdf/1810.04805.pdf Github https://github.com/google-research/bert ​ ​ 등장 배경 언어 모델의 사전 학습은 자연어 처리작업을 개선하는데 효과적인 것으로 나타났습니다. (GPT-1에서 이미 확인되었죠) 현재 나온 모델인 GPT-1은 왼쪽에서 오른쪽으로 이전 토큰만을 참고할 수 있는 단방향 구조를 사용합니다.(Transformer의 decoder를 사용하기 때문이죠.) 이 방법은 문장 수준의 작업에 적합하지 않고, 양방향 컨텍스트를 통합하는것이 중요한 질문,응답 문제에서 미세 조정을 할때, 좋지 않을 결과를 가지고 올 수 있습니다. 따라서 양방향 구조를 사용하는 BERT가 탄생합니다. ​ ※ 양방향 단방향 구조가 뭔가..

논문/논문리딩

Attention Is All You Need

논문 https://arxiv.org/pdf/1706.03762.pdf Github https://github.com/jadore801120/attention-is-all-you-need-pytorch ​ Attention is All You Need는 Transformer모델 즉, Self-Attention을 처음 제안하는 논문입니다. 현재 제안되는 최신 모델들은 대부분 Self-Attention을 기반으로 합니다. 자연어 분야를 뛰어 넘어, 멀티 모달 임베딩, 또는 이미지, 비디오, 그래프 등 다양하게 사용되고 있습니다. ​ 등장 배경 Self-Attention모델의 등장 이전, 대부분의 자연어 처리(자연어 생성, 질문-응답, 자연어 번역 등)는 Encoder-Decoder 구조를 가지는 RNN, C..

컴공누나
'셀프어텐션' 태그의 글 목록