cs224n 7

[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-1. Word2Vec Optimization (SGD)

지난 포스팅에서 우리는 Word2vec으로 워드 임베딩을 하기 위한 손실 함수를 구했다. 우리가 학습해야 하는 벡터들(u,v)은 다 파라미터이다. 우리가 가진 목적 함수 J(θ)를 최소화 하기 위해서는 경사하강법(gradient descent)이라는 알고리즘을 사용한다. 경사하강법이란 J(θ)의 gradient를 계산해서, 기울기가 작아지는 방향으로 조금씩 나아가는 것이다. 우리는 u와 v를 이용해서 목적 함수를 만들었으므로 이 목적 함수를 최소화하는 파라미터를 찾는다면, 워드 임베딩이 잘 된 것이라고 할 수 있을 것이다. 아래 식을 보자. θ new 를 구하기 위해서는 θ old에서 (J(θ)를 편미분한 값 * α)를 빼주면 된다. α는 step size 혹은 learning rate라고 한다. 이는 ..

자연어처리 2024.03.19