transformer

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

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이 뭐죠? 문장의 의미를 잘 표현..

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

[huggingface🤗] 1.허깅페이스란?

허깅페이스 허깅페이스는 트랜스포머 기반의 다양한 모델들과 학습 스크립트를 구현해놓은 일종의 모듈입니다. 기존의 트랜스포머를 학습시킨다고 하면 딥러닝 프레임워크를 선택하고, 그에 맞게 구현을 해야했습니다. 하지만 허깅페이스는 그런 함수들이 이미 정의 되어있기 때문에, 간단하게 모델을 불러서 쓸 수 있습니다. 즉, 따로 구현을 하지 않고 arguments를 줌으로써 편하게 사용이 가능합니다. 또한 가장 좋은 점은 다른 누군가가 이미 학습한 모델을 가져다 쓸 수도 있다는 것입니다. 기존에는 직접 파일을 찾고, 받아서 사용했지만 간단하게 코드 몇 줄이면 그것도 손쉽게 할 수 있습니다. 이 말은 즉, 내가 학습시킨 모델도 허깅페이스에 올릴 수 있다는 것이죠! 뿐만 아니라 데이터도 다운받을 수 있습니다. 하지만! ..

논문/논문리딩

Language Models are Unsupervised Multitask Learners

논문 https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf Github https://github.com/openai/gpt-2 ​ 이 논문은 GPT-2에 대한 논문입니다. 기존의 GPT-1보다 어떤점이 더 나아졌는지 잘 살펴보겠습니다. ​ 등장 배경 기존 GPT-1은 대규모의 자연어 데이터로 사전 학습을 먼저 거친 뒤, 사용할 task에 맞게 미세 조정을 했습니다. GPT-2는 이러한 과정조차 다 없애버리고, 미세 조정을 하지 않고도, 각 task에 맞는 수행을 할 수 있도록 제안된 모델입니다. 그렇기 때문에 GPT-2모델은 어마어마하게 큽니다. ​ ※ 미세 조정을 왜 없앤건가요? 한번 사전 학습된 모델을 다시 미세..

논문/논문리딩

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..

컴공누나
'transformer' 태그의 글 목록