[NLP] ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ

โ€ขAI/NLP

๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ ์ •๋ฆฌ

์ž์—ฐ์–ด์ฒ˜๋ฆฌ์˜ ์˜ˆ์ œ ์ค‘ ํ•˜๋‚˜์ธ ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์—, ์šฐ์„  ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

๋ณธ chapter์—์„œ๋Š” ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜(sentence pair classification)์˜ ๋Œ€ํ‘œ ์˜ˆ๋กœ ์ž์—ฐ์–ด ์ถ”๋ก (natural language inference, NLI) ๊ณผ์ œ๋ฅผ ์‹ค์Šตํ•œ๋‹ค.

"๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜๋ž€ ๋ฌธ์žฅ 2๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•ด๋‹น ๋ฌธ์žฅ ์‚ฌ์ด์˜ ๊ด€๊ณ„๊ฐ€ ์–ด๋–ค ๋ฒ”์ฃผ์ผ์ง€ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ณผ์ œ๋‹ค."

์ž์—ฐ์–ด ์ถ”๋ก ์€ 2๊ฐœ์˜ ๋ฌธ์žฅ(๋˜๋Š” ๋ฌธ์„œ)์ด ์ฐธ(entailment), ๊ฑฐ์ง“(contradiction), ์ค‘๋ฆฝ ๋˜๋Š” ํŒ๋‹จ ๋ถˆ๊ฐ€(neutral)์ธ์ง€ ๊ฐ€๋ ค๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
์—ฌ๊ธฐ์—์„œ entailment๋Š” 'ํ•จ์˜', contradiction์€ '๋ชจ์ˆœ'์œผ๋กœ ๋ฒˆ์—ญ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

์•„๋ž˜์˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด

  • ๋‚˜ ์ถœ๊ทผํ–ˆ์–ด + ๋‚œ ๋ฐฑ์ˆ˜์•ผ โ†’ ๊ฑฐ์ง“

  • ๋‚˜ ์ถœ๊ทผํ–ˆ์–ด + ๋‚œ ๊ฐœ๋ฐœ์ž์•ผ โ†’ ์ค‘๋ฆฝ

์ด๋ฒˆ ์‹ค์Šต์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” ์—…์Šคํ…Œ์ด์ง€์—์„œ ๊ณต๊ฐœํ•œ NLI๋ฐ์ดํ„ฐ์…‹* ์ด๋‹ค.
์ด ๋ฐ์ดํ„ฐ์…‹์€ ์ „์ œ(premise)์— ๋Œ€ํ•œ ๊ฐ€์„ค(hypothesis)์ด ์ฐธ์ธ์ง€, ๊ฑฐ์ง“์ธ์ง€, ์ค‘๋ฆฝ์ธ์ง€ ์ •๋ณด๊ฐ€ ๋ ˆ์ด๋ธ”(gold_label)๋กœ ์ฃผ์–ด์ ธ ์žˆ๋‹ค.

*klue-benchmark.com/tasks/68/overview/description

์ด๋ฒˆ chapter์—์„œ ๋งŒ๋“ค NLI ๊ณผ์ œ ์ˆ˜ํ–‰ ๋ชจ๋ธ์€ ์ „์ œ์™€ ๊ฐ€์„ค 2๊ฐœ ๋ฌธ์žฅ์„ ์ž…๋ ฅ์œผ๋กœ ํ•˜๊ณ , ๋‘ ๋ฌธ์žฅ์˜ ๊ด€๊ณ„๊ฐ€ ์–ด๋–ค ๋ฒ”์ฃผ์ผ์ง€ ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ถœ๊ฒฉ์„ ์ ๋‹นํ•œ ํ›„์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ฐธ(entailment), ๊ฑฐ์ง“(contradiction), ์ค‘๋ฆฝ(neutral) ๋“ฑ ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์— ์ข‹์€ ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•ด ์ค€๋‹ค.

๋ชจ๋ธ ๊ตฌ์กฐ

๋ณธ chapter์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์€ ์ „์ œ์™€ ๊ฐ€์„ค ๋‘ ๋ฌธ์žฅ์„ ๊ฐ๊ฐ ํ† ํฐํ™”ํ•œ ๋’ค [CLS] + ์ „์ œ + [SEP] + ๊ฐ€์„ค + [SEP] ํ˜•ํƒœ๋กœ ์ด์–ด ๋ถ™์ธ๋‹ค.
์—ฌ๊ธฐ์—์„œ CLS๋Š” ๋ฌธ์žฅ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ์ŠคํŽ˜์…œ ํ† ํฐ, SEP๋Š” ์ „์ œ์™€ ๊ฐ€์„ค์„ ์„œ๋กœ ๊ตฌ๋ถ„ํ•ด ์ฃผ๋Š” ์ŠคํŽ˜์…œ ํ† ํฐ์ด๋‹ค.

์ด๋ฅผ BERT ๋ชจ๋ธ์— ์ž…๋ ฅํ•˜๊ณ  ๋ฌธ์žฅ ์ˆ˜์ค€์˜ ๋ฒกํ„ฐ(pooler_output)๋ฅผ ๋ฝ‘๋Š”๋‹ค. ์ด ๋ฒกํ„ฐ์—” ์ „์ œ์™€ ๊ฐ€์„ค์˜ ์˜๋ฏธ๊ฐ€ ์‘์ถ•๋˜์–ด ์žˆ๋‹ค.
์—ฌ๊ธฐ์— ์ž‘์€ ์ถ”๊ฐ€ ๋ชจ๋“ˆ์„ ๋ง๋ถ™์—ฌ ๋ชจ๋ธ ์ „์ฒด์˜ ์ถœ๋ ฅ์ด [์ „์ œ์— ๋Œ€ํ•ด ๊ฐ€์„ค์ด ์ฐธ์ผ ํ™•๋ฅ , ์ „์ œ์— ๋Œ€ํ•ด ๊ฐ€์„ค์ด ๊ฑฐ์งˆ์ผ ํ™•๋ฅ , ์ „์ œ์— ๋Œ€ํ•ด ๊ฐ€์„ค์ด ์ค‘๋ฆฝ์ผ ํ™•๋ฅ ] ํ˜•ํƒœ๊ฐ€ ๋˜๋„๋ก ํ•œ๋‹ค.

๊ทธ๋ฆผ 1. ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜

๋ฌธ์žฅ์Œ ๋ถ„๋ฅ˜

ํƒœ์Šคํฌ ๋ชจ๋“ˆ

pooler_output ๋ฒกํ„ฐ ๋’ค์— ๋ถ™๋Š” ์ถ”๊ฐ€ ๋ชจ๋“ˆ์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๋™์ผํ•˜๋‹ค. ์šฐ์„  pooler_output๋ฒกํ„ฐ (๊ทธ๋ฆผ์—์„œ x) ์— ๋“œ๋กญ์•„์›ƒ์„ ์ ์šฉํ•œ๋‹ค.
๊ทธ ๋‹ค์Œ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์„ ๊ณฑํ•ด pooler_output์„ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•  ๋ฒ”์ฃผ ์ˆ˜๋งŒํผ์˜ ์ฐจ์›์„ ๊ฐ–๋Š” ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค (๊ทธ๋ฆผ์—์„œ net).
๋งŒ์ผ pooler_output๋ฒกํ„ฐ๊ฐ€ 768์ฐจ์›์ด๊ณ  ๋ถ„๋ฅ˜ ๋Œ€์ƒ ๋ฒ”์ฃผ ์ˆ˜๊ฐ€ 3๊ฐœ(์ฐธ, ๊ฑฐ์ง“, ์ค‘๋ฆฝ)๋ผ๋ฉด ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋Š” 768 * 3์ด ๋œ๋‹ค.

๊ทธ๋ฆผ 2. ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ ๋ชจ๋“ˆ

๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ ๋ชจ๋“ˆ

์—ฌ๊ธฐ์— ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์ทจํ•˜๋ฉด ๋ชจ๋ธ์˜ ์ตœ์ข… ์ถœ๋ ฅ (๊ทธ๋ฆผ์—์„œ y) ์ด ๋œ๋‹ค.
์ด๋ ‡๊ฒŒ ๋งŒ๋“  ๋ชจ๋ธ์˜ ์ตœ์ข… ์ถœ๋ ฅ๊ณผ ์ •๋‹ต ๋ ˆ์ด๋ธ”์„ ๋น„๊ตํ•ด ๋ชจ๋ธ ์ถœ๋ ฅ์ด ์ •๋‹ต ๋ ˆ์ด๋ธ”๊ณผ ์ตœ๋Œ€ํ•œ ๊ฐ™์•„์ง€๋„๋ก BERT ๋ ˆ์ด์–ด๋ฅผ ํฌํ•จํ•œ ๋ชจ๋ธ ์ „์ฒด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.

๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ ๋ชจ๋“ˆ์€ ๋ฌธ์„œ ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ ๋ชจ๋“ˆ๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ๋ชจ์Šต์ด๋‹ค.
๋ฌธ์„œ ๋ถ„๋ฅ˜ ๊ณผ์ œ๋ฅผ 3๊ฐœ ๋ฒ”์ฃผ(๊ธ์ •, ๋ถ€์ •, ์ค‘๋ฆฝ)๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ํƒœ์Šคํฌ๋กœ ์ƒ์ •ํ•œ๋‹ค๋ฉด ๋‘ ๋ชจ๋“ˆ ๊ตฌ์กฐ๋Š” ๋˜‘๊ฐ™๋‹ค.
๋‹ค๋งŒ ์ฐจ์ด๋Š” ํƒœ์Šคํฌ ๋ชจ๋“ˆ์˜ ์ž…๋ ฅ(pooler_output)์ด ๋œ๋‹ค.
์ฆ‰, pooler_output ์— ๋ฌธ์žฅ 1๊ฐœ์˜ ์˜๋ฏธ๊ฐ€ ์‘์ถ•๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ฌธ์„œ ๋ถ„๋ฅ˜, 2๊ฐœ์˜ ์˜๋ฏธ๊ฐ€ ๋‚ดํฌํ•ด ์žˆ๋‹ค๋ฉด ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ๊ณผ์ œ๊ฐ€ ๋œ๋‹ค.

Share