Loading...
2023. 7. 27. 00:38

RNN을 개선한 LSTM(Long short term memory)

1. introduction Vanilla RNN을 개선하였다. 그래서 gradient vanishing/exploding을 개선하여 좋은 성능을 보임 the problem of long term dependency를 해결하고자 time-step이 먼 경우에도 필요한 정보를 처리할 수 있도록 단기로 기억되는 hidden state 정보를 길게 가져오자. Vanilla RNN은 현재 input의 정보와 이전 시점의 hidden 정보를 조합하여 새로운 hidden 정보를 만든다. $$h_{t} = f_{w}(x_{t} + h_{t-1})$$ 반면 LSTM은 전 시점에서 다른 역할을 하는 2가지 정보와 input 정보를 이용함 $$f(C_{t}, h_{t}) = LSTM(X_{t}, C_{t-1}, h_{t-..

2023. 7. 12. 02:28

RNN의 특별한 학습방법 Backpropagation through time 이해해보기

1. Backpropagation through time RNN의 backpropagation 알고리즘 모든 token을 계산하면서 ground truth와 비교하면서 loss를 최소화하는 방향으로 backpropagation을 통해 gradient를 계산 그런데 수백, 수천만 길이의 sequence면 한정된 GPU에서 계산이 불가 2. Truncated backpropagation through time 그러니까 일부 time을 잘라가지고 만든 여러개의 truncation을 만든다. 그래서 제한된 sequence를 가지는 truncation에서 backpropagation을 진행하고 다음 truncation에서도 진행하고 과정을 반복한다 자른 구간에서는 이제 GPU가 허용하는 한에서 backpropag..

2023. 2. 27. 03:48

text data를 다루는 NLP + computer vision과의 활용 - image captioning 기본 배우기1

1. multi-modal learning 서로 다른 타입의 데이터를 같이 활용하는 학습 방법 이미지와 텍스트나 사운드를 같이 활용해서 학습할 수 있을까? 데이터라 하면 사람의 오감에서 얻는 정보나 social perception으로 불리는 사회적 감각에 의한 정보..(눈치) 3d sensor에서 얻은 정보나.. 예를 들어 text 하나의 데이터만 다루는 형태는 unimodal 이미지와 audio를 같이 활용한 학습이라면 multimodal 형태 2. multi-modal learning은 왜 어려운가 지금까지 배운 방식으로 image데이터라면 CNN에 넣어서 학습하고 text라면 RNN에 넣어서 학습해서 합치면 그만 아닌가? 일단 데이터마다 컴퓨터가 이해할 수 있도록 표현하는 방식이 다르다. 1) 소리..

2022. 12. 19. 03:47

RNN(Recurrent Neural Network)과 LSTM(Long Short-term Memory) 기본 개념 되돌아보기

1. RNN의 기본 구조 일반적으로 데이터 사이에 서로 영향을 주지 않고 시간적 정보가 없는 경우가 많다. 하지만 시계열과 같은 순차적 데이터(sequential data)는 과거가 미래에 영향을 주므로 데이터 사이에 독립을 가정한 모형을 적합시키면 좋은 성능을 기대하기 어렵다. Recurrent Neural Network(RNN)는 음성 인식과 자연어 처리와 같이 순차적 데이터에 사용되는 대표적인 알고리즘 Long Short term memory(LSTM)와 Gated Recurrent Unit(GRU)의 근간이 되는 모델 인공신경망과 CNN은 입력층에서 은닉층으로, 은닉층에서 출력층으로 움직이는 순방향 신경망(Feed forward neural network) 반면 RNN은 입력층에서 출력층(x ->..

2022. 4. 5. 01:12

seq2seq model이란?

0. seq2seq는 왜 등장했는가? “말은 끝까지 들어봐야 안다.” 예를 들어 일반적인 RNN의 챗봇을 생각해보자. 사람이 I broke up yesterday라고 적으면 챗봇은 broke up를 보고 슬픈 단어를 생성할 확률이 높아져서 sorry to hear that을 생성 그런데 그 이후 사람이 Today’s perfect weather makes me much sad를 쳤는데 분명 슬픈 문맥인데 챗봇은 perfect weather만 보고 긍정적인 단어를 생성할 확률이 높다가 sad보면서 꼬이기 시작해서 제대로 생성을 못함 그래서 나온 seq2seq는 문장을 encoder에 넣어서 문맥 정보를 decoder에 보낸 뒤 단어를 생성하고 그 단어를 받아 다음 단어를 생성하는 등 모든 문장을 들은 뒤 ..

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로 그대로 들..