자연어처리 12

[자연어처리] BERT

강필성 교수님 강의자료 지난 글에서 우리는 Pretraining 즉 사전학습에 대해서 알아보았다. 사전학습 아키텍처로 Encoder, Decoder, Encoder-Decoder 이렇게 3가지가 있었다. 이 글에서는 Encoder 방식으로 학습된 BERT에 대해서 알아보고자 한다. p. 2BERT(Bidirectional Encoder Representations from Transformer)는 양방향 Encoder로 Pretrained된 representations 모델이다.BERT는 transformer의 Encoder구조만을 사용하므로 양방향(Bidirectional) 모델이다. 따라서 전체 문맥을 이해하고 좋은 Representaion을 생성하기에 적합하다. 사전학습된 Bert를 finetuni..

자연어처리 2024.06.09

[CS224N, 자연어처리] #10. Prompting

언어 모델의 사이즈와 data는 어마어마하게 커져왔다. 이렇게 Pretrainied된 언어모델로서 기초적인(agents, beliefs, actions) 언어 모델링을 수행할 수 있다.여기서 우리는 그 이상의 문제들(math, code, medicine 등) 까지 다룰 수 있는 multitask assistants로서 언어모델을 사용하고자 한다.Prompt란 모델에게 주어지는 입력텍스트이고, Prompting이란 언어 모델이 특정 작업을 수행하도록 유도하는 방법이다. 텍스트 기반의 입력을 제공하여 이를 바탕으로 task를 수행하도록 한다. Prompting 방법으로는 Zero-shot 과 Few-shot 등 여러가지가 있는데, 이에 대해 자세히 알아보자.Generative Pretrained Transf..

자연어처리 2024.06.08

[CS224N] #9. Pretraining

🌟  Motivating model pretraining from word embeddings  🖇️ Where we were: pretrained word embeddings우리는 지금까지 사전학습된 워드 임베딩을 사용했다. 하지만 워드 임베딩은 문맥을 고려하지 않는다. 따라서 문맥적 의미는 task를 학습하면서 같이 학습할 수 있는데, 모든 문맥적 의미를 학습할 수 있을만큼의 많은 훈련 데이터를 필요로 하게 된다. 또한 모델의 파라미터들은 랜덤 초기화된다. 🖇️ Where we're going: pretraining whole models그래서 현대 NLP에서는 전체 모델을 사전학습하는 방식을 사용한다. 이렇게 하면 모델의 파라미터들이 사전학습을 통해 초기화된다. 사전 학습은 입력의 일부분을 가..

자연어처리 2024.05.24

[자연어처리, CS224N] Lec8 : Self-Attention and Transformer

두둥 .. 진짜 transformer 시작! 내일이 시험인데 블공이 맞나..? 싶지만 일단 하겠음목차1. From recurrence(RNN) to attention based NLP models - RNN에서 attention 기반의 NLP 모델까지2. The Transformer model3. Great results with Transformers4. Drawbacks and variants of Transformers우리는 지난 시간에 Multi-layer RNN for machine translation에 대해 배웠다. 하지만 Source Sentence의 마지막 인코딩만을 디코더의 입력으로 넣어준다는 점에서 문제가 생긴다. Source sentence의 마지막 인코딩은 Source Senten..

자연어처리 2024.04.30

[자연어처리, CS224N] #6 - LSTM

🔹 시작하며, 흐름 정리 Lecture 5에서는 RNN-LM에 대해 배웠다! RNN은 input 길이에 제한이 없었고, 매 step마다 같은 Weight를 적용했다. 각 step에서 ouput을 만드는 건 선택이었다. RNN을 이용하니 기존 LM의 문제들을 많이 극복했지만, Vanishing gradient problem이라는 심각한 문제가 있었다. 그래서 등장한 것이 이번 글에서 알아볼 LSTM이다. LSTM은 RNN에서 메모리를 분리해보면 어떨까?라는 질문으로부터 등장했다. RNN이 가지고 있는 메모리는 장기기억을 할 수 없기 때문이다. 🔹 LSTM이란? LSTM이란 장단기 메모리(Long Short-Term Memory RNNs)이다. time step마다 hidden state $h^{(t)}$ ..

자연어처리 2024.03.29

[자연어처리 CS224N] #5-2 Neural Language Model, Perplexity

🔷 시작하며, 흐름 정리 지난 포스팅에서 우리는 n-gram Language Model에 대해서 알아보았다. 이번 글에서 알아볼 것은 n-gram Language Model이 가지고 있는 치명적인 단점을 극복시켜줄 Neural Language Model이다. n-gram Language Model의 문제점부터 복습해보자. n-gram Language Model은 앞의 n-1개의 단어만을 보고 n번째 단어를 예측한다. 예를 들어 "students opened their"이 1000번 나왔고, "students opened their exams"가 100번 나왔다면, "students opened their" 다음에 "exams"가 나올 확률은 0.1(100/1000)이다. 따라서 n이 커질 수록 그 특정 ..

자연어처리 2024.03.26

[자연어처리 CS224N] #5-1. n-gram Language Model

오늘도 어김없이 자처 하수하따 🔹 Language Model 오늘은 Language Modeling에 대해 배웠다. Language Modeling은 단어가 주어졌을 때, 다음에 어떤 단어가 올 지를 예측하는 모델이다. 더 구체적으로 말하자면 일련의 단어들이 주어졌을 때(x1, x2, x3, ... ,xt), 다음 단어 x(t+1)이 무엇일지에 대한 조건부 확률을 계산하는 것이다. 이러한 시스템을 Language Model 이라고 부른다. 우리는 Language Model을 매일 사용한다. 스마트폰이나 검색창의 자동완성기능, GPT 등 모두 Language Model이다. 🔹 n-gram Language Model ▪️ n-gram Language Model 이란 Language Model은 어떻게 학습..

자연어처리 2024.03.24

[자연어처리 CS224N] #2-3. GloVe

GloVe는 Global Vectors for Word Representation의 약자로 카운트 기반(Count-based)과 예측 기반(Prediction-based)를 모두 사용하는 방법론이다. 통계정보를 포함한 Direct prediction embedding 방식이다. 어떻게 카운트 기반과 예측 기반 모두를 사용해서 두 개의 장점들을 취했을까? 손실함수를 보면서 이해해보자. (이 부분은 위키독스의 을 참고하여 작성했습니다.) 먼저 용어를 정리해보자면, X는 동시 등장 행렬(Co-occurrence Matrix)이다. Xij는 중심 단어 i가 등장했을 때 윈도우 내 주변 단어 j가 등장하는 횟수이다. P( i | j )는 중심 단어 j가 등장했을 때 윈도우 내 주변 단어 i가 등장할 확률이다. 예..

자연어처리 2024.03.24

[자연어처리 CS224N] #2-2. Skip-gram with Negative Sampling

지난 포스팅에서 우리는 Word2vec의 손실함수를 Optimization 하는 과정에 대해 배웠다. (참조 2024.03.19 - [자연어처리] - [자연어처리 CS224N] #2-1. Word2Vec Optimization (SGD)) 그런데 지난 글에서 알아본 바로는 우리는 cross entropy 연산을 통해 구한 오차로부터 임베딩 테이블에 있는 모든 단어에 대한 임베딩 벡터 값을 업데이트 한다고 했다. 단어 집합의 크기가 매우 크다면 이 작업은 굉장히 오랜 시간이 걸릴 것이다. 크게 중요하지 않은 계산까지도 모두 거쳐야 하기 때문에 연산량이 매우 많고 비효율적이다. 그래서 이를 해결하기 위해 negative sampling을 사용한다. 이 방법은 Word2vec이 학습 과정에서 전체 단어 집합이..

자연어처리 2024.03.24