Loading...
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. 7. 11. 02:41

RNN의 여러가지 유형(one to one, one to many, many to one, many to many) 되돌아보기

RNN이 하나의 input을 넣어서 하나의 output이 나온다고만 생각해서는 안된다 이미지를 넣고 문장을 생성하는 one to many 문장을 넣고 문장의 감정 label을 생성하는 many to one 혹은 여러 날의 주가를 넣고 다음날 주식의 종가를 예측한 many to one 1. one to one sequence data가 아닌 일반적인 input을 받는 neural network의 구조 다음은 키,나이,몸무게 3차원 벡터를 갖는 input을 입력하여 혈압의 범주를 예측하는 one to one neural network 2. one to many input이 하나이고 여러개의 output을 출력하는 구조 근데 주의할 점은 사실 input이 하나인 것 처럼 보이지만 하나가 아니다. 들어가지 않는..

2023. 7. 11. 02:30

Vanilla RNN에서 hidden vector로 예측값을 만드는 과정

hidden vector의 차원은 hyperparameter이다. 여기서는 2차원이라고 가정해보자. 3차원의 입력벡터 $X_{t}$가 들어가고 2차원의 hidden state vector인 $h_{t-1}$이 RNN의 입력으로 들어간다고 해보자. 처음에는 $X_{t}$와 $h_{t-1}$이 concatenation되어 hidden layer에 fully connected 된다. 당연하지만 $h_{t-1}$이 2차원이기때문에 $h_{t}$를 뽑아내는 layer의 차원도 2차원이다. hidden layer의 선형변환 W와 입력벡터의 곱 WX에 nonlinear activation인 tanh(WX)로 $h_{t}$가 뽑힌다. Vanilla RNN이 실제로 tanh()를 activate function으로 썼다..

2023. 7. 5. 23:42

word embedding을 하는 또 다른 모델 Glove의 아이디어

1. Glove 입력단어,출력단어가 한 윈도우 내에 동시에 얼마나 나왔는지를 계산하는 co-occurrence matrix를 고려하여 동일한 단어쌍을 반복적으로 학습하는 일을 피하고자했다. 두 벡터의 내적에 이러한 co-occurrence matrix를 고려한 점을 loss function으로 나타내었다. 학습이 Word2Vec보다 빠르고 작은 단어뭉치에도 효과적이라고 알려져있다. Word2Vec은 특정한 입출력 단어 쌍이 자주 등장하는 경우 그들이 자연스럽게 여러번 내적되어 비례하여 유사도가 커지는데 Glove는 중복되는 단어쌍을 미리 계산하여 벌점화하여 중복계산을 줄여 학습이 빠르다는 것이다. 아무튼 두 모델 모두 단어의 embedding vector를 구한다. 성능도 꽤 비슷한것 같다 잘 나온건 W..

2023. 7. 5. 23:14

컴퓨터로 sound data를 표현하는 방법들에 대하여(Fourier transform, spectrogram, melspectrogram, MFCC)

1. sound representation 기본적으로 sound data는 1d signal waveform으로 주어짐 waveform에서 점을 임의로 뽑아 다음과 같이 1d tensor로 만듦 시간축에 따른 waveform을 그대로 사용하기는 어려워서 주파수 축에 옮기기 위해 Fourier transform을 이용 근데 그냥 전부 옮기는 것이 아니고 시간에 따른 변화를 파악하기 위해 굉장히 짧은 구간에서 변형시키는 short time Fourier transform을 사용 시간에 따른 변화를 구할려면 sliding window방식으로 구간을 옮겨가면서 변화시켜야함 짧은 구간인 A(20~25로 hyperparameter)에서 가운데 부분을 강조시키면서 boundary는 약하게 만들어서 spectrum으로..

2023. 7. 5. 03:00

multimodal learning2 - show, attend and tell, visual question answering -

1. visual and text cross modal translation 1-1) motivation 대표적으로 image captioning image(CNN)에서 text sequence(RNN)로 변환하는 문제 이미지가 주어지면 이미지를 가장 잘 설명하는 text description을 생성하는 문제 1-2) show and tell image captioning의 시초격인 모델 ImageNet에서 pre-train한 CNN을 이용하여 image를 encoding함 image encoding vector를 LSTM의 초기 vector로 사용 start token을 넣어 word를 생성 token을 넣기 전에 fully connected layer에 넣은 다음에 LSTM module에 넣는다 예측..