더북(TheBook)

트랜스포머(transformer)는 2017년 6월에 “Attention is All You Need”(Ashish Vaswani et al.) 논문에서 발표된 것으로 어텐션을 극대화하는 방법입니다. 어텐션에서 다룬 인코더와 디코더에는 네트워크가 하나씩 있었습니다. 하지만 트랜스포머는 인코더와 디코더를 여러 개 중첩시킨 구조입니다. 이때 각각의 인코더와 디코더를 블록(block)이라고 합니다(논문에서는 인코더 블록과 디코더 블록을 여섯 개씩 중첩시킨 구조를 사용합니다).

▲ 그림 10-10 어텐션에서 인코더와 디코더

먼저 인코더 블록 구조를 살펴보겠습니다. 참고로 모든 블록 구조는 동일합니다. 하나의 인코더는 셀프 어텐션(self-attention)과 전방향 신경망(feed forward neural network)으로 구성되어 있습니다. 인코더에서는 단어를 벡터로 임베딩하며, 이를 셀프 어텐션과 전방향 신경망으로 전달합니다. 이때 셀프 어텐션은 문장에서 각 단어끼리 얼마나 관계가 있는지를 계산해서 반영합니다. 즉, 셀프 어텐션으로 문장 안에서 단어 간 관계를 파악할 수 있습니다. 셀프 어텐션에서 파악된 단어 간 관계는 전방향 신경망으로 전달됩니다.

▲ 그림 10-11 어텐션의 인코더 상세 구조

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