Category NLP

NLP 논문 구현 (Transformer, GPT, BERT, T5)

논문을 보고 구현해 보는 것이 힘든 과정이지만 논문을 깊게 이해하고 동작 원리를 파악하기 위한 가장 좋은 방법이라 할 수 있습니다. 이 포스트는 최근 자연어처리에서 가장 좋은 결과를 내는 Pretrained LM(Langauge...

BERT(Bidirectional Encoder Representations from Transformers) 구현하기 (2/2)

BERT(Bidirectional Encoder Representations from Transformers) 구현하기 (1/2)에서 포스팅된 내용을 기반으로 Naver 영화리뷰 감정분석 학습과정을 정리 하겠습니다. Naver 영화리뷰 감정분석은 Classification task로 위 그림과 같이 ‘[CLS]’ 필드를 이용합니다.

BERT(Bidirectional Encoder Representations from Transformers) 구현하기 (1/2)

BERT Transformer Encoder를 활용한 Pretrained LM(Langauge Model)입니다. Pretrained LM이란 레이블이 없는 많은 데이터를 비지도 학습 방법으로 학습을 해서 모델이 언어를 이해 할 수 있도록 한 후 특정 Task에 적용해서 좋은...

GPT(Generative Pre-Training) 구현하기 (2/2)

GPT(Generative Pre-Training) 구현하기 (1/2)에서 포스팅된 내용을 기반으로 Naver 영화리뷰 감정분석 학습과정을 정리 하겠습니다. Naver 영화리뷰 감정분석은 Classification task로 위 그림의 첫번째 줄과 같이 동작합니다.

GPT(Generative Pre-Training) 구현하기 (1/2)

GPT는 Transformer Decoder를 활용한 Pretrained LM(Langauge Model)입니다. Pretrained LM이란 레이블이 없는 많은 데이터를 비지도 학습 방법으로 학습을 해서 모델이 언어를 이해 할 수 있도록 한 후 특정 Task에 적용해서 좋은...

Transformer (Attention Is All You Need) 구현하기 (3/3)

Transformer (Attention Is All You Need) 구현하기 (2/3)에서 포스팅된 내용을 기반으로 Naver 영화리뷰 감정분석 학습과정을 정리 하겠습니다.

Transformer (Attention Is All You Need) 구현하기 (2/3)

Transformer (Attention Is All You Need) 구현하기 (1/3)에서 포스팅된 내용을 기반으로 Encoder, Decoder 및 Transformer 모델 전체를 설명 하겠습니다.

Transformer (Attention Is All You Need) 구현하기 (1/3)

Transformer는 자연어처리에서 가장 중요한 논문이라고 생각이 됩니다. 이유는 2019년 12월 현재 각종 Benchmark 에서 가장 좋은 성능을 내고 있는 모델들이 Transformer 기반의 Pretrained 모델이기 때문 입니다.

Naver 영화리뷰 감정분석 데이터 전처리 하기

Naver 영화리뷰 감정분석 데이터를 다운로드 하고 Sentencepiece를 활용해 Vocab 만들기에서 생성된 vocab을 활용해 이후 학습하기 좋은 형태로 미리 작업을 해 놓는 과정 입니다.

Sentencepiece를 활용해 Vocab 만들기

Google SentencePiece를 이용하여 Vocab을 만드는 과정에 대한 설명 입니다.

Category NLP-tutorial

자연어처리를 위한 Negative Log Likelihood

이 포스트는 Negative Log Likelihood, Corss Entropy, Kullback–Leibler divergence에 대해서 이해하는데 목적이 있습니다.

자연어처리를 위한 One-Hot Encoding

이 포스트는 Discrete한 Value를 벡터형태로 표현하는 방법인 one-hot encoding에 대해서 이해하는데 목적이 있습니다. One-hot encoding에 대해서 알고 계시는 분은 다음 포스트를 참고하세요.

자연어처리를 위한 Tokenizer & Vocabulary

이 포스트는 자연어처리에서 입력문장을 일정한 단위로 분할하는 Tokenizer와 분할된 단위에 고유한 일련번호를 부여하는 Vocabulary에 대해서 이해하는데 목적이 있습니다.

자연어처리를 위한 행렬연산

이 포스트는 자연어처리에서 사용되는 기본적인 행렬연산에 대해서 이해하는데 목적이 있습니다. 행렬연산에 대해서 알고 계시는 분은 다음 포스트를 참고하세요.

간단한 문장분류 프로젝트를 통한 자연어처리 이해

이 포스트는 이전 프로젝트 간단한 단어분류 프로젝트를 통한 자연어처리 이해에 이어서 다음은 문장을 분류하는 프로젝트를 만들어 보면서 자연어처리의 개념을 이해하는데 목적이 있습니다.

간단한 단어분류 프로젝트를 통한 자연어처리 이해

많은 분이 자연어처리를 처음 접하게 되면 새로운 개념으로 인해 어려워합니다. 이 포스트는 자연어처리를 처음 접하고 어려워하는 분들이 직접 간단한 프로젝트를 만들어 보면서 자연어처리의 개념을 이해하는데 목적이 있습니다.

자연어처리 Tutorial (Learning by Doing)

자연어처리는 딥러닝분야에서 많은 분들이 어려워하는 분야입니다. 여러분들과 강의, 스터디 등 다양한 형태로 공부를 해보면서 느낀점은 적당한 이론과 실습의 조화가 자연어처리를 가장 잘 이해하는데 효과적인 방법이라고 생각합니다. 이 포스트는 자연어처리를 처음...