머신러닝(5)
-
Transformer - 어텐션 원리 설명
https://ratsgo.github.io/nlpbook/docs/language_model/tr_self_attention/ Self Attention pratical tips for Natural Language Processing ratsgo.github.io
2023.08.30 -
딥러닝 - BERT(Bidirectional Encoder Representations from Transformers)
BERT는 트랜스포머를 이용하여 구현되었으며, 위키피디아와 BooksCorpus와 같은 레이블이 없는 텍스트 데이터로 사전 훈련된 언어 모델이다. BERT는 이미 기 학습된 사전 훈련 모델에 레이블이 있는 레이어 층을 하나 쌓아서 훈련해 파이미터를 재조정하여 다른 작업(task)에서도 좋은 성능을 낼 수 있다. 이러한 다른 작업을 위해 레이어를 쌓은 후 훈련하여 파라미터를 재 조정하는 과정을 파인튜닝(fine-tuning)이라고한다. 언어 모델(Language Model, LM) 언어 모델이란 단어들의 시퀀스에 대한 확률 분포다. 간단히 말하면 단어들의 모음이 있을 때 해당 단어의 모임이 어떤 확률로 등장할지를 나태나는 값이라 생각하면 된다. 예를 들면, Word2vec 모델 중 CBOW 모델은 주변 단..
2022.02.17 -
딥러닝 - 트랜스포머(Transformer)
트랜스포머(Transformer)는 구글이 발표한 논문인 "Attention is all you need"에서 나온 모델로 기존의 seq2seq의 구조인 인코더-디코더를 따르지만, 내부적으로 RNN 레이어 없이, 어텐션(Attention)으로만 구현한 모델이다. RNN을 이용한 기존 seq2seq의 한계 기존의 seq2seq 모델은 인코더-디코더 구조로 구성되어있고, 여기서 인코더는 입력 시퀀스를 하나의 벡터 표현으로 압축하고, 디코더는 이 벡터 표현을 통해 출력 시퀀스를 만들어냈다. 하지만 이러한 구조는 인코더가 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 입력 시퀀스의 정보가 일부 손실되는 단점이 있었다. 또한 RNN의 고질적인 기울기 소실 문제까지 더해졌다. 트랜스포머(Transformer)의 주..
2022.02.15 -
딥러닝 - 어텐션 메커니즘(Attention Mechanism)
어텐션 메커니즘 시퀀스-투-시퀀스(seq2seq) 모델 같은 경우는 인코더에서 입력 시퀀스를 컨텍스트 벡터(context vector)라는 하나의 고정된 크기의 벡터 표현으로 문장 시퀀스를 압축하고, 디코더는 해당 컨텍스트 벡터를 이용해 출력 시퀀스를 만들어낸다. 하지만, 이러한 RNN에 기반한 seq2seq 모델에는 아래와 같은 문제점이 있다. 하나의 고정된 크기의 벡터에 문장 시퀀스 정보 모두를 압축하려 하기에 정보 소실이 발생한다. RNN의 고질적인 문제인 기울기 소실(vanishing gradient)문제가 존재한다. 즉, 위와 같은 문제로 기계번역 같은 분야에서 입력된 문장의 길이가 길어지게 되면 번역 성능이 크게 줄어든다. 하지만 어텐션이라는 아이디어로 긴 입력 시퀀스에 대한 품질이 떨어지는 ..
2022.02.15 -
자연어 처리 개요
해당 포스팅은 위 이미지의 책의 챕터3을 읽은 리뷰입니다. :) 자연어 처리 개요 단어 표현 텍스트를 자연어 처리를 위한 모델에 적용할 수 있게 언어적인 특성을 반영해서 단어를 수치화하는 방법을 찾는 것이다. 보통 단어를 수치화할 때는 주로 벡터로 표현한다. 따라서 단어 표현은 "단어 임베딩(word embedding)" 또는 "단어 벡터(word vector)"로 표현한다. 단어 임베딩 기법 원-핫 인코딩(one-hot encoding) : 단어를 하나의 벡터로 표현하며 각 단어는 벡터 값 가운데 하나만 1이라는 값을 가지고 나머지는 모두 0값을 가짐. 분포 가설(Distributed hypothesis) 카운트 기반 방법 : 어떤 글의 문맥 안에 단어가 동시에 등장하는 횟수를 세는 방법(동시 등장 횟..
2022.01.20