다음은 인코더와 어텐션 디코더에 대한 네트워크와 모델 훈련 결과를 보여 줍니다.

    Encoder(
      (embedding): Embedding(13366, 256)
      (gru): GRU(256, 512)
    )
    AttnDecoderRNN(
      (embedding): Embedding(25937, 512)
      (attn): Linear(in_features=1024, out_features=20, bias=True)
      (attn_combine): Linear(in_features=1024, out_features=512, bias=True)
      (dropout): Dropout(p=0.1, inplace=False)
      (gru): GRU(512, 512)
      (out): Linear(in_features=512, out_features=25937, bias=True)
    )
    5000,   4.6978
    10000,   4.7173
    15000,   4.6978
    20000,   4.7262
    25000,   4.7349
    30000,   4.7383
    35000,   4.6993
    40000,   4.6851
    45000,   4.7425
    50000,   4.7331
    55000,   4.7473
    60000,   4.7026
    65000,   4.7150
    70000,   4.7498
    75000,   4.7222

    어텐션이 적용되지 않은 디코더와 비교할 때 어텐션이 적용되었다고 좋아진 것은 없어 보입니다. 오히려 훈련이 진행될수록 오차 값이 증가하고 있습니다. 어텐션 메커니즘의 성능 향상 효과를 보려면 시퀀스가 길수록 좋다는 점을 기억해 두세요.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.