• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    해결됨

Transformer의 input에 대해 질문드립니다.

22.07.25 22:18 작성 조회수 204

1

안녕하세요. Transformer에 대해 공부하면서 궁금한 점?이 있어 질문 글을 올리게 되었습니다.
 
Transformer는 기존 seq2seq 구조와 다르게 input이 통째로 들어가서 병렬계산이 가능하다는 장점이 있다고 알고 있었습니다.
 
하지만 Transformer의 input도 문장의 위치에 따라 Positional Encoding(위치에 따른 sin, cos 값)이 더해지는 형태이기 때문에 일련의 sequence 형태를 가져야 된다 생각했습니다.
 
위는 제가 만든 그림예시인데, input 문장이 "I am student"라면, "I student am"처럼 순서를 바꿀 경우 positional encoding 값이 위치에 따라 특정 값이 들어가고 기존의 input 값과 다르기 때문에 결과적으로 Transformer의 input도 순서를 가져야만 된다라는 결론에 도달했습니다.
 
그렇게 된다면 순차적으로 값을 입력하는 기존 RNN 및 LSTM의 seq2seq와 input 측면에서 크게 나아진점이 없어보이는데 이 관점이 맞는걸까요?
 
제가 생각했던 것을 글로 표현하여 질문을 하다보니, 두서가 없는 점 죄송합니다.
 
 

답변 1

답변을 작성해보세요.

1

안녕하세요 :)

 

말씀하신게 맞습니다. 트랜스포머도 말씀하신 방법들과 같이  인풋의 순서가 있습니다.

하지만 학습 가능한 포지셔널 임베딩을 사용하고 있다는 점과 멀티헤드 어텐션을 통해 먼 거리에 있는 시퀀스 관계를 보다 효율적으로 다룰 수 있다는 점이 가장 큰 차이점이라고 할 수 있습니다.

 

감사합니다!