시작하기무료로 시작하기

GRU 네트워크

LSTM과 더불어 널리 쓰이는 순환 신경망 변형으로 Gated Recurrent Unit, 즉 GRU가 있어요. GRU의 장점은 단순함에 있습니다. GRU 셀은 LSTM 셀보다 계산량이 적으면서도 종종 비슷한 성능을 보여요.

제공된 코드는 이전에 작성했던 RNN 모델 정의입니다. 이 모델을 GRU 네트워크가 되도록 수정해 주세요. torchtorch.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
코드 편집 및 실행