Loading...
2022. 4. 1. 19:28

RNN을 이용한 글자 수준의 언어 모델(Character-level language model)

1. language model 주어진 token을 바탕으로 다음 token을 예측하는 task character-level이라는 것은 character sequence에서 이전 character를 바탕으로 다음 character가 무엇인지 예측하는 task ------------------------------------------------------------------------------------------------------------------------------------------------------------- decoder 시작할 때는 생성하고자하는 문장의 단어에 앞서 start token이라는 별도의 token이 들어간다. 예를 들어 ‘난 널 사랑해’를 번역한다고 하자. I ..

2022. 3. 20. 00:58

GRU(gated recurrent unit)와 LSTM의 backpropagation에 대하여

1. GRU(Gated Recurrent Unit) LSTM의 경량화, 적은 메모리와 빠른 계산시간 LSTM의 cell state와 hidden state를 하나의 hidden state로 일원화 하나의 input gate만 활용함 이전 hidden vector $h_{t-1}$과 input gate에서 계산한 $\tilde{h_{t}}$의 가중평균 형태로 새로운 hidden vector $h_{t}$가 업데이트되어 나감 하나는 다음 step의 hidden vector $h_{t}$로 나가고 예측이 필요하다면 똑같은 hidden vector $h_{t}$가 output layer로 들어가 예측을 수행 흐름과 식을 잘 봐야함 이전 hidden vector $h_{t-1}$가 input gate로 그대로 들..

2022. 3. 16. 00:39

RNN을 개선한 LSTM과 GRU 구조 알아보기

1. LSTM 일반적인 RNN(Vanilla RNN)의 구조 LSTM(Long Short Term Memory)의 구조 조금 더 자세히 살펴보면 이상한 것이 여러가지 있다 LSTM의 핵심 idea는 cell state에 있다 공장에서 컨베이어벨트 박스가 흘러들어가는 모습을 상상해보자. 노동자들이 박스 하나 집어서 이상없는지 확인하고 다시 올려서 그대로 보내듯이 이전에 가공한 정보를 그대로 흘려보내는 컨베이어벨트가 cell state이다. 1. forget gate 이제 입력 $x_{t}$와 이전 hidden state($h_{t-1}$)에서 나온 조합된 잠재정보가 흘러들어가면서 forget gate에서는 어떤 정보를 버릴지 결정한다 버려야할 정보는 sigmoid에 의해 0과 1 사이 값으로 압축이 됨 2..

2022. 2. 28. 22:09

Word2Vec의 sliding window 완벽하게 이해하기

중심단어 기준으로 몇개의 단어를 볼지 그 범위를 window라고 한다. 왜 헷갈리기 시작했냐면 중심단어가 무조건 하나만 있다고 생각이 고정되어버리는 거임 예측하고자 하는 중심단어는 선택할 수가 있다. 무슨말이냐면 "The fat cat sat on the mat" 이 문장이 입력으로 주어졌다고 생각해보자. 근데 이제 그냥 중심단어를 무조건 sat이라 하고 window size=3이라 해서 나머지 {"The", "fat", "cat", "on", "the", "mat"}가 주변단어라고 해버리니까 생각이 멈춰버리는거임.. 모델이 embedding vector를 구하는게 목적이라고 생각한다면 모든 단어에 대해서 embedding vector를 구해야할거 아니냐 그러니까 모든 단어가 중심단어가 될 수 있다는 것..

2022. 2. 19. 20:48

RNN의 기본 구조 이해하기

1. RNN의 기본구조 각 time step에 sequence data Xt와 전 step의 hidden state vector인 ht-1이 함께 입력으로 들어오고 현 step의 출력으로 ht를 구한다. 1-1) Rolled RNN Xt와 RNN에서 이전에 내놓은 ht-1돌면서 함께 들어가서 ht를 내놓는거 1-2) Unrolled RNN 위의 rolled version을 시간 순으로 풀어버리면 서로 다른 time step에서 들어오는 입력 처리할 때 동일한 parameter를 가지는 모듈 A를 반복적으로 사용하는 구조라서 Recurrent Neural Network 매 step마다 재귀적으로 모듈 A가 호출되어 거기서 나온 출력이 다음 step의 입력으로 들어간다 2. RNN의 예측값 그동안 보았던 N..

2022. 2. 15. 18:54

Word2Vec의 2가지 형태 - CBOW와 skip-gram 모델

1. CBOW(continuous bag of words) Word2Vec의 첫번째 방법으로 주변의 단어를 가지고 중심단어를 예측하는 과정이다. ‘I am going to school’이라는 문장에서 window size=2라면 중심단어는 going이고 주변단어는 I,am, to, school CBOW는 주변단어를 모두 써서 중심단어 하나를 예측하는 것 CBOW의 중간에 SUM과정이 있는데 input vector들의 평균을 구하는 과정으로 skip gram과 차이점이다. 근데 논문에서 처음 제시한 모형은 sum을 구하는 것이라고 한다. 그런데 큰 차이는 없는것같다. 그냥 sum보다 평균이 안정적인 느낌이라 변했다고 생각이 든다 -------------------------------------------..