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. 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. 16. 19:10

RNN의 기울기 소실(gradient vanishing) 문제

1. RNN의 역전파(Backpropagation through time) 빨간색은 그래디언트가 흘러들어가는 방향이다. Hidden layer에 대한 그래디언트 하나를 직접 계산해보면 빨간색 부분에 주목해보자. f의 미분값이 1보다 크면 곱해지면서 점점 커질 것이고 gradient exploding 현상이 일어난다. 즉 그래디언트가 매우 커져서 학습이 전혀 안된다는 것. 반대로 f의 미분값이 1보다 작으면 곱하면서 점점 작아질 것이고 gradient vanishing 현상이 일어난다. gradient가 0이 되어버리니 학습이 안된다는 소리임. 수식으로 더 써보면 그림과 같다. 잠재변수가 가중치행렬과 활성화함수의 반복적인 곱으로 이루어진다. 직관적으로 활성화함수가 시그모이드라면 정보를 압축하는 역할을 하는..

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보다 평균이 안정적인 느낌이라 변했다고 생각이 든다 -------------------------------------------..