LSTM 3

[Deep Learning] LSTM을 직접 구현해보자!

LSTM Cell 위 그림은 LSTM Cell의 구조이다. LSTM의 Cell을 구현한 코드는 아래와 같다. from typing import Optional, Tuple import torch from torch import nn class LSTMCell(nn.Module): def __init__(self, input_size: int, hidden_size: int): super().__init__() self.hidden_lin = nn.Linear(hidden_size, 4 * hidden_size) self.input_lin = nn.Linear(input_size, 4 * hidden_size, bias = False) def forward(self, x: torch.Tensor, h: t..

AI/Deep Learning 2023.03.29

[논문 리뷰] Sequence to Sequence Learning with Neural Networks

논문이 다루는 Task 본 논문에서는 LSTM을 활용해 높은 정확도로 입력 sequence가 주어졌을 때, 그에 상응하는 출력 sequence를 생성해내는 아키텍쳐를 제안하고, 이를 기계 번역 task에 사용한다. 기존 연구 한계 DNN (Deep Neural Network) DNN은 입력 벡터와 출력 벡터의 차원이 고정적이다. 따라서, 출력 벡터의 차원(출력 sequence의 길이)를 사전에 알기 힘든 Seq2Seq task에는 적합하지 않다. RNN (Recurrent Neural Network) 일반적으로 sequence 학습을 위해서는 RNN을 활용한 encoder와 decoder 구조를 사용한다. 그러나 이 방법은 long-term dependency 문제로 인해 이전의 정보들이 뒤로 갈수록 보..

AI/논문 리뷰 2023.03.28

[Deep Learning] RNN의 구조

sequential data를 처리하기 위한 모델인 RNN(Recurrent Neural Network)에 대해 알아보자. Sequential Model Naive sequence model Autoregressive model Markov model Latent autoregressive model RNN (Recurrent Neural Network) The problem of long-term dependencies RNN 구조에서는 먼 과거에 대한 정보가 잘 고려되지 않는 문제점이 있다. LSTM (Long Short Term Memory) RNN 구조의 한계인 long-term dependency 문제를 해결하기 위해 등장했다. previous cell state cell 밖으로 나가지 않는 정..

AI/Deep Learning 2023.03.24