GRU 네트워크
LSTM과 더불어 널리 쓰이는 순환 신경망 변형으로 Gated Recurrent Unit, 즉 GRU가 있어요. GRU의 장점은 단순함에 있습니다. GRU 셀은 LSTM 셀보다 계산량이 적으면서도 종종 비슷한 성능을 보여요.
제공된 코드는 이전에 작성했던 RNN 모델 정의입니다. 이 모델을 GRU 네트워크가 되도록 수정해 주세요. torch와 torch.nn as nn은 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
연습 안내
- RNN 모델 정의를 업데이트하여 GRU 네트워크를 만들고, GRU 레이어를
self.gru에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define RNN layer
self.rnn = nn.RNN(
input_size=1,
hidden_size=32,
num_layers=2,
batch_first=True,
)
self.fc = nn.Linear(32, 1)
def forward(self, x):
h0 = torch.zeros(2, x.size(0), 32)
out, _ = self.rnn(x, h0)
out = self.fc(out[:, -1, :])
return out