Seq2Seq
·
AI/이론
Seq2Seq¶ Seq2Seq Model¶ 입력 문장을 읽어들이는 RNN은 ENCODER라고 부르고 출력문장을 순차적으로 단어 하나씩 생성하는 RNN를 DECODER라고 부른다. ENCODER와 DECODER는 파라미터를 공유하지 않는다. 위에 RNN의 세부 구조를 볼때 LSTM를 채용한 것을 볼 수 있다. ENCODER의 마지막 단어까지 읽어 들인 후 그 이후에 나오는 hidden state vector 즉, ENCODER 마지막 time step의 hidden state vector는 DECODER RNN에 $h_{0}$로 들어간다. 다시 말해 $h_{0}$는 DECODER의 첫번째 time step에 입력으로 주어지는 이전 time step의 hidden state값이 된다. DECODER에 처음 ..
[Day17] LSTM and GRU
·
AI/부스트 캠프 AI tech
[Day17] LSTM and GRU RNN and Language modeling https://n-brogrammer.tistory.com/87 LSTM and GRU https://n-brogrammer.tistory.com/88 중요 pack_padded_sequence NLP에서 매 배치(batch)마다 고정된 문장의 길이로 만들어주기 위해서 토큰 넣어야 한다. 아래 그림의 파란색 영역은 토큰이다. 위 처럼 batch에 문장들을 배치하고 연산을 진행 하게 되면 계산이 필요없는 토큰까지 연산을 진행 할 수 밖에 없다. 여기서 를 계산 안하고 효율적으로 진행하기 위해 아래와 같이 PackedSequence를 만든다. 위 그림과 같이 배치내에 문장의 길이를 기준으로 정렬 후, 하나의 통합된 배치로 만..
LSTM and GRU
·
AI/이론
LSTM and GRU¶ LSTM¶ http://colah.github.io/posts/2015-08-Understanding-LSTMs/ $W$값은 각각의 $x_{t}$와 $h_{t-1}$을 한번에 계산하기 위해 열의 길이는 2h가 된다. 정확히 말하면 $x_{t}$와 $h_{t-1}$의 차원의 합이 $W$의 열의 길이이다. 또한 행의 길이는 4개로 나눠서 각각 cell에 값을 계산하게된다. i: Input gate, Whether to write to cell f: Forget gate, Whether to erase cell o: Output gate, How much to reveal cell g: Gate gate, How much to write to cell $sigmoid$는 0~1사이 값..
[Day15] Generative model
·
AI/부스트 캠프 AI tech
[Day15] Generative model Generative Models https://n-brogrammer.tistory.com/80 중요 피어세션 유니온 파인드내용을 공부함. 위 정리한 LSTM 내용을 가지고 토론하였습니다. 그래프로 커밋로그 확인 : git log —graph —oneline 존재하는 모든 브랜치 확인 : git branch -a 현재 브랜치와 다른 브랜치끼리의 차이점 비교 : git diff --name-status BRANCH_NAME 다른 브랜치 상태로 현재브랜치 변경하기 : git checkout -p BRANCH_NAME add에 올라온 것 빼기: git reset HEAD 파일명 강제 푸쉬: git push origin +main git 참고사이트 다른 브랜치의 일부..
[Day14] RNN
·
AI/부스트 캠프 AI tech
[Day14] RNN RNN 맛보기 https://n-brogrammer.tistory.com/76 RNN - Sequential Models https://n-brogrammer.tistory.com/77 Transformer - Sequential Models https://n-brogrammer.tistory.com/78 중요 LSTM의 내용 정리 nn.LSTM nn.LSTM(input_size=28,hidden_size=256,num_layers=3,batch_first=True) 기본적으로 쓰이는 인자들만 예시로 넣었다. 아래는 LSTM의 인자들의 설명이다. 여기서 batch_first는 LSTM의 output이 어떤식으로 나올지 이다. input_size: The number of expect..
RNN - Sequential Models
·
AI/이론
RNN - Sequential Models¶ Sequential Model¶ 1️⃣ 기본 sequence model¶ 이전 데이터를 가지고 다음 데이터를 예측 해 보자. 시간이 지날수록 고려해야 할 과거의 변수들이 계속 늘어 난다. 2️⃣ Autoregressive model¶ 고정된 시간 만큼만 과거의 데이터를 본다. 3️⃣ Markov model(first-order autoregressive model)¶ 내 현재는 바로 전 과거에만 영향이 있다고 생각. 이러면 많은 정보를 버릴 수 밖에 없다. 가장 간단하게 생각할 수 있다. 4️⃣ Latent autoregressive model¶ 이 모델은 Hidden state가 추가 되었다. 이 값은 과거의 정보가 요약되어 있는 값으로 과거의 정보를 고려하..
RNN 맛보기
·
AI/이론
RNN(Recurrent Neural Network) 맛보기¶ 소리, 문자열, 주가 등의 데이터를 시퀀스(sequence)데이터로 분류한다. 시퀀스 데이터는 독립동등분포(i.i.d.) 가정을 잘 위배하기 때문에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀌게 된다. 시퀀스 데이터 다루기¶ 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기 위해 조건부확률을 이요할 수 있다. 이전에 봤던 베이즈 법칙을 사용한다. 아래 조건부확률은 과거의 모든 정보를 사용하지만 시퀀스 데이터를 분석할 때 모든 과거 정보들이 필요한 것은 아니다. 시퀀스 데이터를 다루기 위해선 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요하다. 조건부에 들어가는 데이터 길이는 가변적이다. 꼭 과거..