Transformer

210911~210924

Attention Is All You Need

Abstract

์œ ๋งํ•œ transduction ๋ชจ๋ธ๋“ค์€ ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋ฅผ ํฌํ•จํ•˜๋Š” ๋ณต์žกํ•œ ๋ฐ˜๋ณต๊ตฌ์กฐ๋‚˜ ํ•ฉ์„ฑ๊ณฑ ๋„คํŠธ์›Œํฌ์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ ์žˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋ชจ๋ธ์€ attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. Transformer๋Š” ๊ธฐ์กด์˜ ๊ธฐ๋ฐ˜์„ ๋‘์ง€ ์•Š๊ณ  ์˜ค๋กœ์ง€ attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์—๋งŒ ๊ธฐ๋ฐ˜์„ ๋‘๋Š” ๊ฐ„๋‹จํ•œ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ์ด๋‹ค. Transformer๋Š” ๊ธฐ์กด ๋ชจ๋ธ๋ณด๋‹ค ์งˆ์ ์œผ๋กœ ๋” ์šฐ์›”ํ•˜๊ณ  ๋ณ‘๋ ฌ์ž‘์—…์ด ํ›จ์”ฌ ์ข‹์œผ๋ฉฐ ํ•™์Šตํ•˜๋Š”๋ฐ ์ ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค. ์šฐ๋ฆฌ ๋ชจ๋ธ์€ WMT 2014 ์˜์–ด-๋…์ผ์–ด ๋ฒˆ์—ญ ํƒœ์Šคํฌ์—์„œ 28.4 BLEU ์ ์ˆ˜๋ฅผ ๊ธฐ๋กํ–ˆ๋‹ค. ์ด ์ ์ˆ˜๋Š” ๊ธฐ์กด์˜ ์•™์ƒ๋ธ”์„ ์ ์šฉํ•œ ๋ชจ๋ธ์˜ ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ 2์ ์ด๋‚˜ ์ฐจ์ด๋‚˜๊ฒŒ ๋›ฐ์–ด ๋„˜์€ ์ ์ˆ˜์ด๋‹ค. WMT 2014 ์˜์–ด-ํ”„๋ž‘์Šค ๋ฒˆ์—ญ ํƒœ์Šคํฌ์—์„œ๋„ ์—ญ๋Œ€ ์ตœ๊ณ  ์ˆ˜์ค€์ธ 41.0์˜ BLEU score๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ์ด๋Š” 3.5์ผ๋™์•ˆ 8๊ฐœ์˜ GPU๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ์–ป์€ ๊ฒฐ๊ณผ๋กœ ์šฐ๋ฆฌ ๋…ผ๋ฌธ์— ์†Œ๊ฐœํ•œ ๋ชจ๋ธ์˜ ์•„์ฃผ ์ผ๋ถ€๋ถ„์— ํ•ด๋‹นํ•œ๋‹ค.

  • ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ์—์„œ literature๋Š” ๋ฌธํ—Œ์œผ๋กœ ์“ฐ์˜€์œผ๋ฉฐ "a small ~" ์˜ ๋ช…์‚ฌ๊ตฌ๊ฐ€ "for 3.5 days on eight GPUs" ๋ผ๋Š” ์ „์น˜์‚ฌ๊ตฌ๋ฅผ ๊พธ๋ฉฐ์ค€๋‹ค.

  • transduction

    • ํ•œ๊ตญ์–ด๋กœ ๋ณ€์—ญํ•˜๊ธฐ์—๋Š” ๋ณ€ํ™˜, ์ „ํ™˜, ์ „์ด, ์ „๋„ ๋“ฑ์˜ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋˜์–ด ๋ฒˆ์—ญํ•˜๊ธฐ ์‰ฌ์šด ๋‹จ์–ด๋Š” ์•„๋‹ˆ๋‹ค. transduce๋ž€ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฃผ์–ด์ง„ ํŠน์ • ์˜ˆ์ œ(ํ•™์Šต ๋ฐ์ดํ„ฐ)๋ฅผ ์ด์šฉํ•ด ๋‹ค๋ฅธ ํŠน์ • ์˜ˆ์ œ(ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ)๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

  • attention ๋ฉ”์ปค๋‹ˆ์ฆ˜

    • RNN๊ณผ LSTM์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์œผ๋ฉด ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. RNN์—์„œ Sequence๋ฅผ ๊ณ„์† ์ž…๋ ฅ๋ฐ›๋‹ค๋ณด๋ฉด ๊ณผ๊ฑฐ ์ •๋ณด๊ฐ€ ์ ์  ํฌ๋ฏธํ•ด์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋•Œ LSTM์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์˜ RNN๋ณด๋‹ค๋Š” ๊ฐœ์„ ๋˜์—ˆ์ง€๋งŒ ์™„๋ฒฝํžˆ Long Term Dependency๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๊ณ  ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด attention ์ด๋‹ค. ํŠน์ • time step์—์„œ ์ธ์ฝ”๋”์˜ ์ „์ฒด ์ž…๋ ฅ ๋ฌธ์žฅ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ฐธ๊ณ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

  • WMT 2014๋Š” ํ†ต๊ณ„ํ•™์  ๊ธฐ๊ณ„ ๋ฒˆ์—ญ์— ๋Œ€ํ•œ 90๊ฐœ์˜ ์›Œํฌ์ƒต์˜ ์—…๋ฌด์—์„œ ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค. ์›Œํฌ์ƒต์€ 4๊ฐœ์˜ task๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

    • news translation task

    • quality estimation task

    • metrics task

    • medical text translation task

1 Introduction

RNN, LSTM, GRU๋Š” ๊ธฐ๊ณ„ ๋ฒˆ์—ญ์ด๋‚˜ ์–ธ์–ด ๋ชจ๋ธ๋ง๊ณผ ๊ฐ™์€ transduction ๋ฌธ์ œ์™€ ์‹œํ€€์Šค ๋ชจ๋ธ๋ง์— ๋Œ€ํ•ด ๊ฐ€์žฅ ์ž˜ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ๋ชจ๋ธ๋“ค์ด๋‹ค. Recurrent ๋ชจ๋ธ๋“ค์€ input๊ณผ output์˜ ์œ„์น˜์— ๋”ฐ๋ผ ๊ณ„์‚ฐ์„ ํ•˜๊ณ  ๊ฐ ์œ„์น˜์—์„œ input๊ณผ ์ด์ „ hidden state htโˆ’1 h_{t-1} ๋ฅผ ๊ฐ€์ง€๊ณ  ํ˜„์žฌ์˜ hidden state ht h_t ๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ๊ทผ๋ฐ, ์ด๋Ÿฌํ•œ ๊ณผ์ •์€ ์‹œํ€€์Šค์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ๊ธธ์–ด์งˆ์ˆ˜๋ก ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ๋„ ์ ์  ์ž‘์•„์ง€๊ฒŒ ๋˜๊ณ  ๋ณ‘๋ ฌํ™”๋„ ํ•  ์ˆ˜ ์—†๊ฒŒ๋˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค. ์ตœ๊ทผ ์—ฐ๊ตฌ๋“ค์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‚ด๋ถ€ ์ธ์ž๋ฅผ ์กฐ์ž‘ํ•˜๊ณ  ์กฐ๊ฑด๋ถ€ ๊ณ„์‚ฐ์„ ํ•˜๋ฉด์„œ ๊ณ„์‚ฐ ํšจ์œจ์„ ๋†’์˜€๊ณ  ๊ทธ๋Ÿฌ๋ฉด์„œ ์ ์  ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ๋„ ์ฆ๊ฐ€ํ–ˆ์ง€๋งŒ ๋ณธ์งˆ์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€๋Š” ๋ชปํ–ˆ๋‹ค.

Attention mecahnisms์€ input๊ณผ output์˜ ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ ์˜์กด๋„๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค๋ผ๋Š” ์ ์—์„œ sequence modeling๊ณผ transduction models์— ๋‹ค์–‘ํ•œ task๋“ค์— ์žˆ์–ด ์„ค๋“๋ ฅ์žˆ๋Š” ๋ชจ๋ธ์ด๋˜์—ˆ๋‹ค.

๋…ผ๋ฌธ์—์„œ ์ œ์‹œํ•˜๋Š” Transformer๋Š” ์˜๋„์ ์œผ๋กœ recurrence๋ฅผ ํšŒํ”ผํ•œ๋‹ค. ๊ทธ๋Œ€์‹  ์ „์ฒด์ ์œผ๋กœ attention mechanism์— ์˜์กดํ•ด์„œ input๊ณผ output ์‚ฌ์ด์— ์žˆ๋Š” ์ „๋ฐ˜์ ์ธ ์˜์กด์„ฑ์„ ํ•ด์†Œํ•œ๋‹ค. ๊ทธ๋ž˜์„œ Transformer๋Š” ๋ณ‘๋ ฌํ™”์— ๋” ์ ํ•ฉํ•˜๊ณ  ๋ฒˆ์—ญ ๊ธฐ์ˆ ์— ์žˆ์–ด์„œ ์กฐ๊ธˆ์˜ ํ•™์Šต์œผ๋กœ๋„ ๋” ์ข‹์€ ํ’ˆ์งˆ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

2 Background

์—ฐ์†์ ์ธ ๊ณ„์‚ฐ์„ ์ค„์ด๋ ค๋Š” ์‹œ๋„๋Š” Extended Neural GPU, ByteNet ๊ทธ๋ฆฌ๊ณ  ConvS2S์—์„œ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ๋ชจ๋‘ ๋ชจ๋“  input๊ณผ output์„ hidden layer์—์„œ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด ๋ชจ๋ธ๋“ค์€ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ์ž„์˜์˜ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ์‹ ํ˜ธ๋ฅผ ํ•„์š”๋กœ ํ–ˆ๋Š”๋ฐ, ์ด ์—ฐ์‚ฐ์˜ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€์–ด์ง€๋ฉด ๋ฉ€์–ด์งˆ์ˆ˜๋ก ConvS2S์—์„œ๋Š” ์„ ํ˜•์ ์œผ๋กœ, ByteNet์—์„œ๋Š” log์ ์œผ๋กœ ์ฆ๊ฐ€ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์˜ ์ฆ๊ฐ€๋Š” ๊ฐ ์ง€์ ์—์„œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ํ•™์Šตํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์ง€๋Š” ์ด์œ ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋ฐ˜๋ฉด์— ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ์ƒ์ˆ˜๋ฒˆ์˜ ๊ณ„์‚ฐ๋งŒ์ด ์š”๊ตฌ๋œ๋‹ค. ๋น„๋ก ์–ดํ…์…˜ ๊ฐ€์ค‘ํ•ฉ์„ ํ‰๊ท ๋ƒ„์œผ๋กœ์จ ์œ ํšจํ•œ ์ •๋ณด์˜ ๊ฐ์†Œ๋กœ ์ด์–ด์ง€์ง€๋งŒ, ์ดํ›„ ์‚ดํŽด๋ณผ Multi-Head Attention์—์„œ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.

Self-attention์€ ๋•Œ๋•Œ๋กœ intra-attention์œผ๋กœ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ์–ด๋–ค ์‹œํ€€์Šค์˜ ์žˆ๋Š” ํŠน์ง•์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์ด ์‹œํ€€์Šค์˜ ์„œ๋กœ๋‹ค๋ฅธ ์š”์†Œ๋“ค์„ ๊ด€๊ณ„์‹œํ‚ค๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋…ํ•ด ๋Šฅ๋ ฅ, ๊ฐœ์š” ์š”์•ฝ, ๋ฌธ๋งฅ์  ํ•จ์˜์™€ ๊ด€๋ จ์žˆ๋Š” ๋ฌธ์žฅ ์ถ”์ถœ๋“ฑ์˜, ๋‹ค์–‘ํ•œ task์—์„œ Self-attention์€ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์™”๋‹ค.

์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ ๋„คํŠธ์›Œํฌ๋Š” ์‹œํ€€์Šค์˜ ๋ฐ˜๋ณต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  attention์˜ ๋ฐ˜๋ณต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  ๋‹จ์ผ ์–ธ์–ด ์ฒด๊ณ„์˜ ์งˆ์˜์‘๋‹ต๊ณผ ์–ธ์–ด ๋ชจ๋ธ๋ง task์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด์—ˆ๋‹ค.

๋‚ด๊ฐ€ ์•„๋Š” ํ•œ, ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๊ธฐ์กด์˜ RNN์ด๋‚˜ CNN์˜ ๋ฐ˜๋ณต ์‹œํ€€์Šค ๊ตฌ์กฐ๋Š” ๋ฒ„๋ฆฌ๊ณ  ์˜ค๋กœ์ง€ input๊ณผ output์œผ๋กœ ๊ณ„์‚ฐ๋œ self-attention์—๋งŒ ์ „์ ์œผ๋กœ ์˜์กดํ•˜๋Š” ์ตœ์ดˆ์˜ ๋ณ€ํ™˜๋ชจ๋ธ์ด๋‹ค. ์ด์–ด์ง€๋Š” ์ˆœ์„œ์—์„œ๋Š” Transformer๋ฅผ ์†Œ๊ฐœํ•  ๊ฒƒ์ด๋ฉฐ, self-attention์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์†Œ๊ฐœ์™€ ์ด์— ๋Œ€ํ•œ ์žฅ์ ์„ ์ด์•ผ๊ธฐํ•  ๊ฒƒ์ด๋‹ค.

3 Model Architecture

๋Œ€๋ถ€๋ถ„์˜ ๊ณ ์„ฑ๋Šฅ ๋ณ€ํ™˜ ๋ชจ๋ธ์€ ์ธ์ฝ”๋”-๋””์ฝ”๋” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. x๋กœ ํ‘œํ˜„๋˜๋Š” input sequence๋Š” ์—ฐ์†์ ์ธ z๋กœ ํ‘œํ˜„๋œ๋‹ค. ๋””์ฝ”๋”๋Š” z๋ฅผ ๊ฐ€์ง€๊ณ  output์— ํ•ด๋‹นํ•˜๋Š” y๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜์€ ํ•œ๋ฒˆ์— ์ผ์–ด๋‚œ๋‹ค. ์ด ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ๋Š” auto-regressive*ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ, ์ด์ „์— ์ƒ์„ฑ๋œ output์„ input์œผ๋กœ ์ž…๋ ฅํ•ด์„œ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

  • auto-regressive : ์ž๊ธฐ ์ž์‹ ์„ ์ž…๋ ฅ์œผ๋กœ ํ•˜์—ฌ ์ž๊ธฐ ์ž์‹ ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์„ ์˜๋ฏธํ•œ๋‹ค.

ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์—์„œ self-ateention๊ณผ fully connected layers๊ฐ€ ์Œ“์—ฌ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

3.1 Encoder and Decoder Stacks

Enocder

์ธ์ฝ”๋”๋Š” 6๊ฐœ์˜ ๋™์ผํ•œ ๋ ˆ์ด์–ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ ˆ์ด์–ด๋Š” ๋‘ ๊ฐœ์˜ sub layer๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ, ์ฒซ๋ฒˆ์งธ๋Š” multi-head self attention์ด๊ณ  ๋‘๋ฒˆ์งธ๋Š” ๊ฐ„๋‹จํ•œ fully connected feed-forward network ์ด๋‹ค. ์ด ๋‘ ๋ ˆ์ด์–ด์— residual connection๊ณผ layer normalization์„ ์ ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด LayerNorm(x + Sublayer(x)) ๋กœ ๊ณ„์‚ฐ์ด ๋œ๋‹ค. ์ด ๋•Œ ์ž”์ฐจ๋ฅผ ์ด์šฉํ•˜๋ ค๋ฉด ๋ชจ๋“  ์„œ๋ธŒ ๋ ˆ์ด์–ด๊ฐ€ 512์˜ ์ฐจ์›์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

  • feed-forward network๋Š” ์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง์„ ์˜๋ฏธํ•œ๋‹ค. ๋…ธ๋“œ ๊ฐ„์˜ ์—ฐ๊ฒฐ์ด ์ˆœํ™˜์„ ํ˜•์„ฑํ•˜์ง€ ์•Š๋Š” ์‹ ๊ฒฝ๋ง์ด๋ฉฐ ์ด๋Š” RNN๊ณผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๊ฐœ๋…์ด๋‹ค.

  • residual connection์€ ResNet์—์„œ ๊ณ ์•ˆ๋œ ๊ฐœ๋…์œผ๋กœ layer์—์„œ ๋‚˜์˜จ output์—๋‹ค๊ฐ€ input์ž…๋ ฅ๊ฐ’์„ ๋”ํ•ด์ฃผ๋ฉด ์„ฑ๋Šฅ๊ณผ ์•ˆ์ •์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

  • layer normalization์€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ๋ฒกํ„ฐ์—์„œ ๊ฐ ์ฐจ์›์„ ๊ธฐ์ค€(=์„ธ๋กœ๋ฐฉํ–ฅ์œผ๋กœ)์œผ๋กœ normalization ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. RNN์—์„œ ์ด๋Ÿฌํ•œ ์ž‘์—…์€ hidden state์—์„œ์˜ ๋ณ€๋™์„ฑ์„ ์•ˆ์ •ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ์žˆ๋‹ค.

  • ์—ฌ๊ธฐ์„œ 512๋Š” Transformer๊ฐ€ ์ •ํ•œ ์ž„๋ฒ ๋”ฉ ์ฐจ์› ์ˆ˜์ด๋‹ค.

Decoder

๋””์ฝ”๋” ์—ญ์‹œ 6๊ฐœ์˜ ๋™์ผํ•œ ๋ ˆ์ด์–ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋‘ ๊ฐœ์˜ ์„œ๋ธŒ ๋ ˆ์ด์–ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๊ตฌ์กฐ์—์„œ encoder์—์„œ ๋ฐ›์€ output์„ ๊ฐ€์ง€๊ณ  multi-head attention์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„ธ๋ฒˆ์งธ ์„œ๋ธŒ ๋ ˆ์ด์–ด๊ฐ€ ์ถ”๊ฐ€๋˜์–ด์žˆ๋‹ค. ์ธ์ฝ”๋”์™€ ๋น„์Šทํ•œ ์ ์€ ์ž”์ฐจ์™€ LN์„ ์ด์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฅธ ์ ์€ ๋””์ฝ”๋”์—์„œ๋Š” ๋’ค์ชฝ์— ์กด์žฌํ•˜๋Š” ์œ„์น˜์—์„œ ์˜ค๋Š” attention์„ ์Œ“์ง€ ์•Š๋Š” ์ ์ด๋‹ค. ์ด๊ฒƒ์„ masking์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๊ฐ๊ฐ์˜ ์œ„์น˜์—์„œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ i๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ์˜ค๋กœ์ง€ i๋ฒˆ์งธ ์ด์ „์˜ ์ •๋ณด๋งŒ ๊ฐ€์ง€๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

3.2 Attention

attention์ด๋ž€ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” query ๋ฒกํ„ฐ์™€ key-value ๋ฒกํ„ฐ ์Œ์˜ ๊ด€๊ณ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” value ๋ฒกํ„ฐ์˜ ๊ฐ€์ค‘ํ•ฉ์œผ๋กœ ๊ณ„์‚ฐ์ด ๋˜๋Š”๋ฐ, ์ด๋•Œ์˜ ๊ฐ€์ค‘ํ•ฉ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์ค‘์น˜๋Š” ์ฟผ๋ฆฌ๋ฒกํ„ฐ์™€ ๊ทธ์— ์ƒ์‘ํ•˜๋Š” ํ‚ค์˜ ์—ฐ๊ด€์„ฑ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์— ์˜ํ•ด ๊ณ„์‚ฐ๋œ ๊ฐ’์ด๋‹ค.

3.2.1 Scaled Dot-Product Attention

์ด๋Ÿฌํ•œ attention์„ Scaled Dot-Product Attention ์œผ๋กœ๋„ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ž…๋ ฅ์€ dk์˜ ์ฐจ์›์„ ๊ฐ€์ง„ ์ฟผ๋ฆฌ๋ฒกํ„ฐ์™€ ํ‚ค๋ฒกํ„ฐ ๊ทธ๋ฆฌ๊ณ  dv์˜ ์ฐจ์›์„ ๊ฐ€์ง„ ๋ฐธ๋ฅ˜๋ฒกํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ ๋ฒกํ„ฐ๋Š” ๋ชจ๋“  ํ‚ค๋ฒกํ„ฐ๋ฅผ ๋‚ด์ ํ•˜๋ฉฐ ์ด ๊ฐ’์„ dk \sqrt d_k ๋กœ ๋‚˜๋ˆ ์ค€ ๋’ค softmax ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์ณ์„œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ตฌํ•˜๊ฒŒ ๋œ๋‹ค.

(์ด์ „์— ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ ๋ฒกํ„ฐ์™€ ๋ชจ๋“  ํ‚ค๋ฒกํ„ฐ๋ฅผ ๋‚ด์ ํ•œ๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ) ์‹ค์ œ๋กœ๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฒกํ„ฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ํ‚ค๋ฒกํ„ฐ์˜ ๋‚ด์ ์„ ํ•œ๋ฒˆ์— ๊ณ„์‚ฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ์ฟผ๋ฆฌ ๋ฒกํ„ฐ๋ฅผ ํ–‰๋ ฌ Q, ํ‚ค ๋ฒกํ„ฐ์™€ ๋ฐธ๋ฅ˜ ๋ฒกํ„ฐ๋ฅผ ํ–‰๋ ฌ K์™€ V๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ–‰๋ ฌ ๊ณ„์‚ฐ์— ๋Œ€ํ•œ ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์ฃผ๋กœ ๋‘ ๊ฐœ์˜ attention ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, additive attention๊ณผ dot-product attention์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” dot-product attention์€ dk \sqrt d_k ๋กœ ๋‚˜๋ˆ ์ฃผ๋Š” ๊ณผ์ •์„ ์ œ์™ธํ•˜๋ฉด ๊ธฐ์กด dot-product attention ๋ฐฉ๋ฒ•๊ณผ ์™„์ „ํžˆ ๋™์ผํ•˜๋‹ค. additive attention์€ ํ•œ ๊ฐœ์˜ ์€๋‹‰์ธต์„ ๊ฐ€์ง„ ์‹ ๊ฒฝ๋ง์„ ์‚ฌ์šฉํ•  ๋•Œ ์—ฐ๊ด€์„ฑ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๋‘ attention ๋ฐฉ๋ฒ•์€ ์ด๋ก ์ ์œผ๋กœ ๋ณต์žก๋„๋Š” ๋น„์Šทํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” dot-product attention์ด ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋„ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด dot-product ์—ฐ์‚ฐ์— ์ตœ์ ํ™” ๋œ ํ–‰๋ ฌ ๊ณ„์‚ฐ ์ฝ”๋“œ๋กœ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฐจ์› dk๊ฐ€ ์ž‘์„ ๋•Œ๋Š” dot-product์™€ additive๋Š” ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด์ง€๋งŒ dk ๊ฐ’์ด ์ปค์ง€๋ฉด scaling์ด ์—†๋‹ค๋Š” ์กฐ๊ฑดํ•˜์— additive attention์ด ํ›จ์”ฌ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ธ๋‹ค. dk๊ฐ€ ์ปค์งˆ์ˆ˜๋ก dot product์˜ ๊ฒฐ๊ณผ๊ฐ’๋„ ์ปค์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์—ˆ๋‹ค. ์ด๋กœ์ธํ•ด softmax ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ (๊ฐ’๋“ค์ด ๋„ˆ๋ฌดํฌ๋‹ค๋ณด๋‹ˆ, softmax๋ฅผ ๊ฑฐ์น˜๋ฉด ํŠน์ • ๊ฐ’์— ๋น„์œจ์ด ๋ชฐ๋ฆฌ๊ฒŒ๋˜๊ณ  ๊ทธ๋Ÿฌ๋ฉด์„œ ๋‹ค๋ฅธ ๊ฐ’๋“ค์ด) ๊ทน๋„๋กœ ์ž‘์€ gradient๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€์ž‘์šฉ์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด dk \sqrt d_k ๋กœ dot product์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋‚˜๋ˆ ์ฃผ๊ฒŒ ๋˜์—ˆ๋‹ค.

3.2.2 Multi-Head Attention

์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ฐจ์›์ด dmodel d_{model} ์ธ ํ‚ค์™€ ๋ฐธ๋ฅ˜ ๊ทธ๋ฆฌ๊ณ  ์ฟผ๋ฆฌ๋ฒกํ„ฐ๋ฅผ single attenion์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„ ํ˜•์ ์œผ๋กœ ์ด๋“ค์„ ์‚ฌ์˜ํ•ด์„œ ์–ป์–ด์ง„ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ๊ฐ’๋“ค์„ ๊ฐ€์ง€๊ณ  ์—ฌ๋Ÿฌ๋ฒˆ์˜ attention์„ ๊ฐ๊ฐ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„๋ƒˆ๋‹ค. ๊ฐ๊ฐ์˜ ์‚ฌ์˜๋œ ๋ฒกํ„ฐ๋“ค์„ ๊ฐ€์ง€๊ณ  ๋ณ‘๋ ฌ์ ์œผ๋กœ attention์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฐจ์› dv์˜ ๊ฒฐ๊ณผ๋“ค์„ ์–ป๊ฒŒ๋œ๋‹ค. ์ด๋“ค์„ ๋‹ค์‹œ concat ํ•˜๊ณ  ํ•œ๋ฒˆ ๋” ์‚ฌ์˜ํ•ด์„œ ์ตœ์ข…์ ์œผ๋กœ ์–ป๋Š” ๊ฐ’์„ ๊ฒฐ๊ณผ๋ฒกํ„ฐ๋กœ ํ•œ๋‹ค.

Multi-head attention์€ ๊ฐ๊ฐ์˜ (single attention ๊ณต๊ฐ„์—์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” )์„œ๋กœ ๋‹ค๋ฅธ ํŠน์ง•์„ ๊ฐ€์ง„ ์ •๋ณด๋“ค์„ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. single attention์—์„œ๋Š” ์—ฌ๋Ÿฌ ํŠน์ง•์˜ ์ •๋ณด๋“ค์„ ํ‰๊ท ๋‚ด๋ฒ„๋ฆฌ๊ฒŒ ๋˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ์–ป๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

๊ฐ๊ฐ์˜ ๊ฐ€์ค‘์น˜๋Š” ์‹ค์ˆ˜ ๊ณต๊ฐ„์ด๋ฉฐ Q, K, V ๋ฒกํ„ฐ๋Š” ๋ชจ๋‘ dmodelร—dk d_{model} \times d_k์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” 8๊ฐœ์˜ ๋ณ‘๋ ฌ attention layer๋ฅผ ์ ์šฉํ–ˆ๋‹ค. ๊ฐ๊ฐ์˜ layer๋Š” ๊ธฐ์กด dmodel d_{model} ์—์„œ 8๋“ฑ๋ถ„ ๋œ 64๊ฐœ์˜ ์ฐจ์›์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ๊ฐ์˜ head์—์„œ๋Š” ๊ฐ์†Œํ•œ ์ฐจ์›์œผ๋กœ ์ง„ํ–‰๋˜์ง€๋งŒ ์ด ์—ฐ์‚ฐ๋Ÿ‰์€ ๋น„์Šทํ•˜๋‹ค.

3.2.3 Applications of Attention in our Model

ํŠธ๋žœ์Šคํฌ๋จธ๋Š” 3๊ฐ€์ง€์˜ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ multi-head attention์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • encoder-decoder attention layer์—์„œ๋Š” ์ด์ „์˜ ๋””์ฝ”๋” ๋ ˆ์ด์–ด๋กœ๋ถ€ํ„ฐ ์ฟผ๋ฆฌ๋ฅผ ์–ป๊ณ  ํ‚ค์™€ ๋ฐธ๋ฅ˜ ๋ฒกํ„ฐ๋Š” ์ธ์ฝ”๋”์˜ ์ตœ์ข… output์—์„œ ๋ถ€ํ„ฐ ๋ฐ›๋Š”๋‹ค. ์ด๋Š” ๋””์ฝ”๋”์˜ ๋ชจ๋“  ์œ„์น˜์—์„œ input sequence์˜ ๋ชจ๋“  position์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋กํ•œ๋‹ค. ์ด๋Š” seq2seq์˜ attention mechanism๊ณผ ๋™์ผํ•˜๋‹ค.

  • encoder๋Š” self attention layer๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” queries, keys, values vector๋Š” ๋ชจ๋‘ ๊ฐ™์€ ์œ„์น˜์—์„œ ์ƒ์„ฑ๋œ๋‹ค. ํŠนํžˆ ์ด๋Š” ์ด์ „์˜ encoder์—์„œ ์ „๋‹ฌ๋ฐ›์œผ๋ฉฐ, ๊ฐ๊ฐ์˜ position์—์„œ ๋ชจ๋“  position์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์ด์™€ ๋น„์Šทํ•˜๊ฒŒ decoder์˜ self attention layer๋„ ๊ฐ๊ฐ์˜ position์—์„œ ํ•ด๋‹น position์„ ํฌํ•จํ•œ position๊นŒ์ง€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. auto-regressiveํ•œ ํŠน์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋””์ฝ”๋”์—์„œ๋Š” ์™ผ์ชฝ์œผ๋กœ ์ „๋‹ฌ๋˜๋Š” ์ •๋ณด์˜ ํ๋ฆ„์„ ๋ง‰์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด -inf ๊ฐ’์„ ๊ฐ€์ง€๊ณ  attention์— scaled dot product๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.์ด ๊ฐ’๋“ค์€ ํ›„์— softmax๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋˜๋ฉด (-inf ๊ฐ’์„ ๊ฐ€์ง€๋‹ค๋ณด๋‹ˆ 0์— ๊ฐ€๊นŒ์šด ๊ฐ’์ด ๋˜๋ฏ€๋กœ) ๋งˆ์Šคํ‚น์ด ๋œ๋‹ค.

3.3 Position-wise Feed-Forward Networks

attention layer์˜ feed forward network๋Š” ๊ฐ๊ฐ์˜ position์—์„œ ๋…๋ฆฝ์ ์ด๊ณ  ๊ฐœ๋ณ„์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ ˆ์ด์–ด๋Š” ๋‘ ๊ฐœ์˜ ์„ ํ˜•๋ณ€ํ™˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉฐ ReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๊ทธ ์‚ฌ์ด์— ์‚ฌ์šฉํ•œ๋‹ค.

์„ ํ˜•๋ณ€ํ™˜์€ ๊ฐ๊ฐ์˜ ์„œ๋กœ๋‹ค๋ฅธ position์—์„œ ๊ฐ™์€ ๋ณ€ํ™˜์œผ๋กœ ์ ์šฉ๋˜๋Š” ๋ฐ˜๋ฉด์— ์ธต๊ฐ„์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.. ์ด๊ฒƒ์„ ๋˜ ๋‹ค๋ฅด๊ฒŒ ์ด์•ผ๊ธฐํ•˜๋ฉด input๊ณผ output์ด ์ฐจ์›์€ 512์ด๊ณ  hidden layer์˜ ์ฐจ์›์€ 2048์ธ ์ปค๋„ ์‚ฌ์ด์ฆˆ๊ฐ€ 1์ธ ๋‘๊ฐœ์˜ cnn ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•  ๋•Œ ๋‘ ๋ฒˆ์˜ convolution์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ์ด๋‹ค.

3.4 Embeddings and Softmax

๋‹ค๋ฅธ ์‹œํ€€์Šค ๋ชจ๋ธ๊ณผ ๋น„์Šทํ•œ ์ ์€ ์ธํ’‹๊ณผ ์•„์›ƒํ’‹ ํ† ํฐ๋“ค์„ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ์„ ํ•™์Šตํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋˜, ๋””์ฝ”๋”์˜ ์•„์›ƒํ’‹์„ ๊ฐ€์ง€๊ณ  ๋‹ค์Œ ํ† ํฐ์— ๋Œ€ํ•œ ํ™•๋ฅ ์„ ๊ตฌํ•˜๋Š”๋ฐ ์„ ํ˜• ๋ณ€ํ™˜๊ณผ ์†Œํ”„ํŠธ๋งฅ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‘ ๊ฐœ์˜ ์ž„๋ฒ ๋”ฉ ๋ ˆ์ด์–ด์™€ ์†Œํ”„ํŠธ๋งฅ์Šค ์ „์— ์‚ฌ์šฉํ•˜๋Š” ์„ ํ˜• ๋ณ€ํ™˜ ์‚ฌ์ด์—๋Š” ๋™์ผํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค๋งŒ, ์ž„๋ฒ ๋”ฉ ๋ ˆ์ด์–ด์—์„œ๋Š” ์ด ๊ฐ€์ค‘์น˜๋ฅผ dmodel \sqrt {d_{model} } ๋กœ ๋‚˜๋ˆ„์–ด ์ฃผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

3.5 Positional Encoding

ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๋ฐ˜๋ณต ๊ตฌ์กฐ๋„, ํ•ฉ์„ฑ๊ณฑ ๊ตฌ์กฐ๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์‹œํ€€์Šค์˜ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ํ† ํฐ๋“ค์˜ ์œ„์น˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ƒ๋Œ€์ ์œผ๋กœ๋“  ์ ˆ๋Œ€์ ์œผ๋กœ๋“  ์ œ๊ณตํ•ด์ค˜์•ผ๋งŒ ํ–ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด positional encodings๋ฅผ ๊ฐ๊ฐ์˜ ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์˜ ์ฒซ input embedding์— ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค. positional encoding์˜ ์ฐจ์›๋„ ๋ชจ๋ธ์˜ ์ž„๋ฒ ๋”ฉ ์ฐจ์›๊ณผ ๋™์ผํ•ด์„œ ๋‘˜์€ ํ•ฉ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. positional encoding ํ•™์Šตํ•˜๊ฑฐ๋‚˜ ๊ณ ์ •ํ•˜๋Š” ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” ์ฃผ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ sine๊ณผ cosine ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

pos๋Š” (์‹œํ€€์Šค์—์„œ ํ† ํฐ์˜) ์œ„์น˜์ด๊ณ  i๋Š” ์ฐจ์›์ด๋‹ค. p.e์˜ ๊ฐ๊ฐ์˜ ์ฐจ์›์€ ์ •ํ˜„ํŒŒ์™€ ๋งคํ•‘๋œ๋‹ค. (์ด ์ •ํ˜„ํŒŒ์˜) ์ฃผ๊ธฐ๋Š” ๊ธฐํ•˜ํ•™์ ์œผ๋กœ 2pi ๋ถ€ํ„ฐ 10000pi ๊นŒ์ง€ ์ง„ํ–‰ํ•œ๋‹ค. ์–ด๋–ค ๋ณ€์ˆ˜ k์— ๋Œ€ํ•ด์„œ PEpos+k PE_{pos+k} ๋Š” PEpos PE_{pos} ์—์„œ ์„ ํ˜•์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์ธ ์œ„์น˜์—์„œ์˜ ํ•™์Šต์ด ์ž˜ ๋ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด์„œ ์ •ํ˜„ํŒŒ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

  • ์ •ํ˜„ํŒŒ๋Š” ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์ฃผ๊ธฐํ•จ์ˆ˜์ด๋‹ค.

sine๊ณผ cosine ๋Œ€์‹ ์— positional embedding์„ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹คํ—˜ํ•ด๋ดค๋Š”๋ฐ, ๋‘˜ ๋‹ค ๋น„์Šทํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ƒˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‘˜ ์ค‘ ์ •ํ˜„ํŒŒ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฒฐ์ •ํ–ˆ๋Š”๋ฐ, ์ด์œ ๋Š” ์ •ํ˜„ํŒŒ๋กœ position์„ ๊ฒฐ์ •ํ–ˆ์„ ๋•Œ, ํ•™์Šต ๋‹จ๊ณ„์—์„œ๋Š” ๋ณด์ง€๋ชปํ•œ ์‹œํ€€์Šค์˜ ๊ธธ์ด๋ณด๋‹ค ๋” ๊ธด ๊ธธ์ด์— ๋Œ€ํ•ด์„œ๋„ ๋” ์ž˜ ์™ธ์‚ฝ(=์ž‘์€ ๋ฒ”์œ„์—์„œ ๊ทธ ๋ฐ–์˜ ๋ฒ”์œ„๋ฅผ ์ถ”์ธกํ•˜๋Š” ๊ฒƒ)ํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

4 Why Self-Attention

(recurrent์™€ convolutional) ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜ x๋กœ ํ‘œํ˜„๋˜๋Š” ์‹œํ€€์Šค๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ์“ฐ๋Š” ์‹œํ€€์Šค ๋ณ€ํ™˜ ์ธ์ฝ”๋”๋‚˜ ๋””์ฝ”๋”์˜ hidden layer๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ๋™์ผํ•œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ๋ณ€์ˆ˜ z๋กœ ๋งคํ•‘๋œ๋‹ค. ์ด๋ฒˆ ์žฅ์—์„œ๋Š” self-attention layer์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ recurrent and convolutional layer์™€ ๋น„๊ตํ•  ๊ฒƒ์ด๋‹ค. self-attention์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” 3๊ฐ€์ง€ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด์ž.

์ฒซ๋ฒˆ์งธ๋Š” ๋ ˆ์ด์–ด๊ฐ„ ์ „์ฒด ์—ฐ์‚ฐ๋Ÿ‰์ด๊ณ  ๋‘๋ฒˆ์งธ๋Š” ์ ์€ ์—ฐ์‚ฐ์œผ๋กœ๋„ ๊ณ„์‚ฐ๋  ์ˆ˜ ์žˆ๋Š”, ๋ณ‘๋ ฌํ™”๋ฅผ ์—ฐ์‚ฐ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์„ธ๋ฒˆ์งธ๋Š” network์—์„œ ๊ธธ์ด๊ฐ€ ๊ธธ์—ˆ์„ ๋•Œ ์ƒ๊ธฐ๋Š” ์˜์กด์„ฑ(=๊ด€๊ณ„)์— ๋Œ€ํ•œ ๊ธธ์ด์ด๋‹ค. ๊ธด ๋ฒ”์œ„์˜ ์˜์กด์„ฑ์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ๋ฌธ์žฅ์„ ๋ฒˆ์—ญํ•˜๋Š” ์ผ์—์„œ ๋งค์šฐ ์–ด๋ ต๋‹ค. ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆœ๋ฐฉํ–ฅ ๋˜๋Š” ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์ง€๋‚˜๊ฐ€๋Š” ๊ฒฝ๋กœ์˜ ๊ธธ์ด์— ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ๋œ๋‹ค. input๊ณผ output๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์งง์„์ˆ˜๋ก ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ์„ ํ•™์Šตํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ layer์— ๋Œ€ํ•ด์„œ input๊ณผ output ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ตœ๋Œ€์ผ๋•Œ๋ฅผ ๋น„๊ตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์ด์ „์— ํ‘œ1 ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด self-attention layer๋Š” ๋ชจ๋“  ์‹œํ€€์Šค์˜ ์œ„์น˜์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š”๋ฐ, ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋  ๋•Œ ์ƒ์ˆ˜๋ฒˆ์˜ ํšŸ์ˆ˜๋งŒ ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐ˜๋ฉด์— RNN์€ O(n) ๋งŒํผ์˜ ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ๊ฐ„๋ณต์žก๋„์˜ ๊ด€์ ์—์„œ self-attention layer๋Š” recurrent layer๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๋‹ค. ๋ณดํ†ต ๋ฌธ์žฅ์˜ ๊ธธ์ด n์€ ์ž„๋ฒ ๋”ฉ ์ฐจ์› d๋ณด๋‹ค ์ž‘๊ธฐ ๋งˆ๋ จ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ž„๋ฒ ๋”ฉ ์ฐจ์›์€ word ๊ธฐ๋ฐ˜์œผ๋กœ ๋˜๋Š” byte-pair ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ง•์„ ๋‚˜ํƒ€๋‚  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ ์ตœ์‹  ๋ชจ๋ธ์—์„œ๋Š” ๋ฌธ์žฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฌธ์žฅ์ด ์•„์ฃผ ๊ธธ๋•Œ๋Š” ์—ฐ์‚ฐ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ self attention์€ r ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” (๊ทธ๋ž˜์„œ ์–‘์ชฝ์œผ๋กœ r๋งŒํผ์˜ position์— ๋Œ€ํ•ด์„œ๋งŒ) attention๋งŒ์„ ๊ณ ๋ คํ•˜๋Š” restricted self attention์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ maximum path length๋ฅผ ( O(1) ์—์„œ ) O(n/r)๋กœ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์ข€ ๋” ์—ฐ๊ตฌํ•  ๊ณ„ํš์ด๋‹ค.

  • Byte Pair Encoding์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์ž.

seq ๊ธธ์ด n๋ณด๋‹ค ์ปค๋„ width k๊ฐ€ ์ž‘์€ convolutional layer๋Š” ๋ชจ๋“  input๊ณผ output์ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค. ์ผ๋ฐ˜์ ์ธ convolutional layer๋Š” O(n/k), dilated convolution layer๋Š” O(logk(n)) ๋งŒํผ์ด ์†Œ์š”๋˜๋Š”๋ฐ ์ด ๋•Œ length of path๋„ ์ ์  ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค. Convolution layer๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ kernel๋•Œ๋ฌธ์— recurrent layer๋ณด๋‹ค ํ›จ์”ฌ ๋น„์šฉ์ด ๋งŽ์ด๋“ ๋‹ค. Separable convolution ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ƒ๋‹นํžˆ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธดํ•˜๋‚˜ k์™€ n์ด ๋™์ผํ•˜๋‹ค๋ฉด ์ด๋Š” T.F ๋ชจ๋ธ์—์„œ ์ทจํ•œ ๋ณต์žก๋„์™€ ๋™์ผํ•˜๋‹ค.

๊ทธ๋ ‡์ง€๋งŒ T.F๋Š” ์—ฌ๊ธฐ์„œ ๋” ์ข‹์€์ ์ด ์žˆ๋‹ค. self-attention์ด ํ›จ์”ฌ ํ•ด์„์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ. T.F์˜ attention ๋ถ„ํฌ๋ฅผ ๋ถ„์„ํ•ด๋ดค๋Š”๋ฐ ์ด๋Š” ๋ถ€๋ก(=appendix)์—์„œ ์†Œ๊ฐœํ•˜๊ณ  ๋‹ค๋ฃฌ๋‹ค. ๊ฐ๊ฐ์˜ attention์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋ถ„๋ช…ํ•˜๊ฒŒ ํ•™์Šตํ• ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ฌธ์žฅ์—์„œ ์˜๋ฏธ๋ก ์  ๊ตฌ์กฐ๋‚˜ ๋ฌธ๋ฒ•์ ์ธ ๊ตฌ์กฐ์™€ ๊ด€๋ จํ•ด์„œ ํ•™์Šตํ–ˆ์Œ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

  • dilated convolution์€ reverse ์—ฐ์‚ฐ์„ ํ•ด์„œ ๊ธฐ์กด ์ด๋ฏธ์ง€๋ฅผ scale upํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

  • Separable convolution์€ CNN์—์„œ์˜ ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด Depthwise / Pointwise ๋ฐฉ์‹์„ ์ด์šฉํ•œ Convolution ๊ธฐ๋ฒ•์ด๋‹ค. ์ด์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์— ์žˆ๋‹ค.

5 Training

๋ชจ๋ธ์— ๋Œ€ํ•œ ์ŠคํŽ™์„ ์„ค๋ช…ํ•œ๋‹ค.

5.1 Training Data and Batching

450๋งŒ๊ฐœ์˜ WMT 2014 ์˜์–ด-๋…์ผ์–ด ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šตํ–ˆ๋‹ค. ๋ฌธ์žฅ๋“ค์€ ๋ฐ”์ดํŠธ ํŽ˜์–ด ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ–ˆ๊ณ  37,000๊ฐœ์˜ ํ† ํฐ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์˜์–ด-ํ”„๋ž‘์Šค์–ด๋Š” 360๋งŒ๊ฐœ์˜ ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šตํ–ˆ๊ณ  32,000๊ฐœ์˜ ํ† ํฐ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋ฐฐ์น˜์Œ๋“ค์€ ์ ์ ˆํ•œ ๋ฌธ์žฅ ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฐฐ์น˜ํ™”ํ–ˆ์œผ๋ฉฐ ๊ฐ๊ฐ์˜ ํ•™์Šต๋งˆ๋‹ค 25,000๊ฐœ์˜ ์ž…๋ ฅ ํ† ํฐ๊ณผ 25,000๊ฐœ์˜ ์ถœ๋ ฅ ํ† ํฐ์œผ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค.

  • ์•„๋งˆ valid set ์‚ฌ์šฉ ๋˜๋Š” dropout์„ ํ†ตํ•ด 25,000๊ฐœ์˜ ํ† ํฐ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ์ด ๋œ๊ฒŒ ์•„๋‹๊นŒ ์‹ถ๋‹ค.

5.2 Hardward and Schedule

์ด ๋ชจ๋ธ์€ 8๊ฐœ์˜ NVIDIA P100 GPU๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ ์–ธ๊ธ‰ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ , ํ•œ step๋งˆ๋‹ค ๋Œ€๋žต 0.4์ดˆ๊ฐ€ ๊ฑธ๋ ธ๋‹ค. 12์‹œ๊ฐ„๋™์•ˆ 10๋งŒ ์Šคํ…์œผ๋กœ ํ•™์Šตํ–ˆ๋‹ค. ๋น„๊ต์  ์‚ฌ์ด์ฆˆ๊ฐ€ ํฐ ๋ชจ๋ธ์€ ํ•œ step๋งˆ๋‹ค 1์ดˆ๊ฐ€ ๊ฑธ๋ ธ๊ณ  3.5์ผ๋™์•ˆ 30๋งŒ ์Šคํ…์œผ๋กœ ํ•™์Šตํ–ˆ๋‹ค.

5.3 Optimizer

Adam optimizer๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  b1 = 0.9, b2 =0.98, e = 10^-9 ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.ํ•™์Šต๋ฅ  ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ดˆ๋ฐ˜ warm up ๋‹จ๊ณ„์—์„œ๋Š” ์„ ํ˜•์ ์œผ๋กœ ํ•™์Šต๋ฅ ์ด ์ฆ๊ฐ€ํ•˜๋‹ค๊ฐ€ ์ดํ›„ ๋ฃจํŠธ ์—ญํ•จ์ˆ˜์˜ ๋น„์œจ๋กœ ๊ฐ์ˆ˜ํ•œ๋‹ค. warm up step์€ 4000์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

5.4 Regularization

3๊ฐ€์ง€ ๊ทœ์ œํ™”๋ฅผ ์ ์šฉํ–ˆ๋‹ค.

  • 3๊ฐ€์ง€๋ผ๊ณ  ํ•ด๋†“๊ณ  ๋ณธ๋ฌธ์—๋Š” 2๊ฐ€์ง€๋ฐ–์— ์—†๋‹ค.

Residual Dropout

๊ฐ๊ฐ์˜ ์„œ๋ธŒ ๋ ˆ์ด์–ด๋งˆ๋‹ค add์™€ normalize ์ด์ „์— ๋“œ๋ž์•„์›ƒ์„ ์ ์šฉํ–ˆ๋‹ค. ๋˜, ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์— ์žˆ๋Š” ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์™€ ํฌ์ง€์…”๋„ ์ž„๋ฒ ๋”ฉ๋ฒกํ„ฐ๋ฅผ ํ•ฉํ•œ ์ดํ›„์—๋„ ์ ์šฉํ–ˆ๋‹ค. dropout ๋น„์œจ์€ 0.1

Label Smoothing

ํ•™์Šต ๋™์•ˆ, e = 0.1์˜ ๋ผ๋ฒจ ์Šค๋ฌด๋”ฉ์„ ์ ์šฉํ–ˆ๋‹ค. ์ด๊ฒƒ์€ perplexity๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๊ณ  ๋ชจ๋ธ์ด ๋” ๋ถˆํ™•์‹คํ•˜๊ฒŒ ํ•™์Šตํ•˜๊ฒŒ ํ•˜์ง€๋งŒ ๊ทธ๋Œ€์‹  ์ •ํ™•๋„์™€ BLEU score๋ฅผ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค

  • perplexity๋Š” ๋ชจ๋Œˆ ๋‚ด์—์„œ ์„ฑ๋Šฅ์„ ์ˆ˜์น˜ํ™” ํ•œ ๋‚ด๋ถ€ ํ‰๊ฐ€์— ํ•ด๋‹นํ•œ๋‹ค. ์—ฌ๊ธฐ ์ฐธ๊ณ 

6 Results

6.1 Machine Translation

WMT 2014 ์˜์–ด-๋…์ผ์–ด ๋ฒˆ์—ญ์—์„œ ๋Œ€ํ˜• ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์ด ์ด์ „์˜ ์ตœ๊ณ  ๊ธฐ๋ก์„ 2.0 BLEU ์ฐจ์ด๋ฅผ ๋‚ด๋ฉฐ 28.4์ ์„ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ๋ชจ๋ธ์˜ ์„ค์ •์€ Table 3์— ์ž‘์„ฑ๋˜์–ด์žˆ๋‹ค. 3.5์ผ ๋™์•ˆ 8๊ฐœ์˜ GPU๋ฅผ ๊ฐ€์ง€๊ณ  ํ•™์Šตํ–ˆ๋‹ค. ๊ฒจ์šฐ ์ด์ •๋„๋งŒ ํ•ด๋„ ์ด์ „์˜ ์„ฑ๋Šฅ๋“ค์„ ๋Šฅ๊ฐ€ํ•œ ๊ฒƒ์ด๋‹ค.

2014 ์˜์–ด-๋ถˆ์–ด ๋ฒˆ์—ญ์—์„œ๋„ 41.0์˜ BLEU score๋ฅผ ๋‚ด๋ฉฐ ๋ชจ๋“  ๋ชจ๋ธ์„ ์ œ์ณค๋‹ค. ์ด๋Š” ๊ธฐ์กด ๋ชจ๋ธ์ด ํ•™์Šตํ–ˆ๋˜ ๊ฒƒ์˜ 1/4๋„ ์•ˆ๋˜๋Š” ์ŠคํŽ™์œผ๋กœ๋„ ๋Šฅ๊ฐ€ํ•œ ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ dropout์€ 0.1 ๋Œ€์‹  0.3์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ 5๊ฐœ์˜ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํ‰๊ท ๋‚ธ ๋‹จ์ผ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด ์ฒดํฌํฌ์ธํŠธ๋Š” 10๋ถ„๋งˆ๋‹ค ๊ธฐ๋ก๋œ๋‹ค. ๋Œ€ํ˜• ๋ชจ๋ธ์€ 20๊ฐœ์˜ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํ‰๊ท ๋ƒˆ๋‹ค. ๋˜, 4๊ฐœ์˜ beam size์™€ a=0.6์˜ penalty์˜ beam search๋ฅผ ์ด์šฉํ–ˆ๋‹ค. ์ด ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์‹คํ—˜์ ์œผ๋กœ ๊ฒฐ์ •๋˜์—ˆ๋‹ค. ์ถ”๋ก ์‹œ ์–ป์—ˆ๋˜ output์˜ ๊ธธ์ด๋Š” input๋ณด๋‹ค 50 ์ •๋„ ๋งŽ๊ฒŒ ์ฐจ์ด๊ฐ€ ๋‚  ์ˆ˜๋Š” ์žˆ์—ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๋น„์Šทํ–ˆ๋‹ค.

๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์š”์•ฝ๊ณผ ๋‹ค๋ฅธ ๋ชจ๋ธ๊ณผ์˜ ๋น„๊ต๋Š” Table 2์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์˜ ํฌ๊ธฐ๋Š” ํ•™์Šต ์‹œ๊ฐ„๊ณผ GPU์˜ ๊ฐœ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ GPU์—์„œ ์–ป์€ ์‹ค์ˆ˜ ์ •ํ™•๋„์— ๋Œ€ํ•œ ์ถ”์ •๊ฐ’์„ ๊ณฑํ•ด์„œ ์–ป์—ˆ๋‹ค.

6.2 Model Variations

ํŠธ๋žœ์Šคํฌ๋จธ์˜ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ „ํ˜€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋ธ์„ ๋ฐ”๊ฟจ๋‹ค. ์˜์–ด-๋…์ผ์–ด ๋ฒˆ์—ญ์— ๋Œ€ํ•ด newstest2013 ๋ฐ์ดํ„ฐ ์…‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋˜, ์ด์ „์— ๋งํ•œ beam search๋ฅผ ์ ์šฉํ–ˆ์ง€๋งŒ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํ‰๊ท ๋‚ด์ง€๋Š” ์•Š์•˜๋‹ค. ์ด์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋Š” Table 3 ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Table 3์˜ Bํ–‰์—์„œ attention size๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ•ด์นœ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ด๋Š” ๋‹จ์–ด๋“ค๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์ด ๋‹จ์ˆœํ•˜์ง€ ์•Š๊ณ  ๋งค์šฐ ์ •๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด์ ์ด์™ธ์— ์ข€ ๋” ํšจ์œจ์ ์ธ ํ•จ์ˆ˜๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ C์™€ Dํ–‰์—์„œ๋Š” ์˜ˆ์ƒํ–ˆ๋“ฏ์ด ๋ชจ๋ธ์ด ์ปค์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹์•˜๊ณ  dropout ์—ญ์‹œ ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•ด์คฌ๋‹ค. Eํ–‰์—์„œ๋Š” ์ •ํ˜„ํŒŒ ์œ„์น˜ ์ž„๋ฒ ๋”ฉ์„ ํ•™์Šต๋œ ์œ„์น˜ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ๋ฐ”๊ฟ”๋ดค๋Š”๋ฐ ๋งค์šฐ ๋น„์Šทํ–ˆ๋‹ค.

7 Conclusion

์ด ๋…ผ๋ฌธ์—์„œ ์šฐ๋ฆฌ๋Š” ํŠธ๋žœ์Šค ํฌ๋จธ๋ฅผ ์†Œ๊ฐœํ–ˆ๋‹ค. ์ด๋Š” ์–ดํ…์…˜์„ ์ „๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ–ˆ๊ณ  ๊ธฐ์กด์˜ ์ธ์ฝ”๋”-๋””์ฝ”๋” ๊ตฌ์กฐ์—์„œ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋˜ recurrent layer๋ฅผ multi-head self-attention์œผ๋กœ ๋Œ€์ฒดํ–ˆ๋‹ค.

๋ฒˆ์—ญ task ์—์„œ๋Š” rnn์ด๋‚˜ cnn์„ ์‚ฌ์šฉํ•˜๋˜ ๊ธฐ์กด ๋ชจ๋ธ๋ณด๋‹ค ๋‘๋“œ๋Ÿฌ์ง€๊ฒŒ ๋นจ๋ฆฌ ํ•™์Šต๋˜์—ˆ๋‹ค. WMT 2014 ์˜์–ด-๋…์ผ์–ด์™€ ์˜์–ด-๋ถˆ์–ด ๋ฒˆ์—ญ task ์—์„œ๋„ ์‹ ๊ธฐ๋ก์„ ์„ธ์› ๋‹ค.

attention์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ๋ชจ๋ธ์˜ ๋ฏธ๋ž˜๊ฐ€ ๊ธฐ๋Œ€๋˜๊ณ  ๋‹ค๋ฅธ ๋ถ„์•ผ์—์„œ๋„ ์ด๊ฒƒ์„ ์ ์šฉํ•  ๊ฒƒ์ด๋‹ค. ๋˜, ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ž…์ถœ๋ ฅ ๊ตฌ์กฐ๋ฅผ text๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด๋ฏธ์ง€๋‚˜ ์Œ์„ฑ, ์˜์ƒ๊ณผ ๊ฐ™์€ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด local ๋˜๋Š” restrictedํ•œ attention mechanism์„ ์—ฐ๊ตฌํ•  ๊ณ„ํš์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ•™์Šต๊ณผ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋Š” https://github.com/tensorflow/tensor2tensor. ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated

Was this helpful?