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

โ€ขAI/NLP

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

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

๋ฌธ์„œ ๋ถ„๋ฅ˜(document classification)๋ž€ ๋ฌธ์„œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•ด๋‹น ๋ฌธ์„œ์˜ ๋ฒ”์ฃผ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ณผ์ œ์ด๋‹ค.

๋ณธ ๊ณผ์ œ์˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด

  • ๋‰ด์Šค๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ •์น˜, ๊ฒฝ์ œ, ์—ฐ์˜ˆ ๋“ฑ ๋ฒ”์ฃผ๋ฅผ ๋งž์ถ”๊ธฐ

  • ์˜ํ™” ๋ฆฌ๋ทฐ๊ฐ€ ๊ธ์ •/๋ถ€์ • ๋“ฑ ์–ด๋–ค ๊ทน์„ฑ (polarity)์„ ๊ฐ€์ง€๋Š”์ง€ ๋ถ„๋ฅ˜ํ•˜๊ธฐ

์ด๋ฒˆ ์‹ค์Šต์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” ๋„ค์ด๋ฒ„ ์˜ํ™” ๋ฆฌ๋ทฐ ๋ง๋ญ‰์น˜(NSMC)์ด๋‹ค.
์ด๋ฒˆ ์‹ค์Šต์—์„œ ๋งŒ๋“ค ๋ฌธ์„œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์€ ์˜ํ™” ๋ฆฌ๋ทฐ ๋ฌธ์žฅ์„ ์ž…๋ ฅ์œผ๋กœ ํ•˜๊ณ  ํ•ด๋‹น ๋ฌธ์žฅ์ด ์†ํ•œ ๊ทน์„ฑ์˜ ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•œ๋‹ค.
๋ฌธ์„œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์€ ํ™•๋ฅ ๊ฐ’์ด๋ฏ€๋กœ ์ ๋‹นํ•œ ํ›„์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ธ์ •, ๋ถ€์ •์ฒ˜๋Ÿผ ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์— ์ข‹์€ ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•œ๋‹ค.
์ด๋ฅผ ๊ฐ์„ฑ ๋ถ„์„ (sentiment analysis)๋ผ๊ณ  ํ•œ๋‹ค.

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

๋ณธ chapter์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์„œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์€ ์ž…๋ ฅ ๋ฌธ์žฅ์„ ํ† ํฐํ™”ํ•œ ๋’ค ๋ฌธ์žฅ ์‹œ์ž‘๊ณผ ๋์„ ์•Œ๋ฆฌ๋Š” ์ŠคํŽ˜์…œ ํ† ํฐ CLS์™€ SEP๋ฅผ ๊ฐ๊ฐ ์›๋ž˜ ํ† ํฐ ์‹œํ€€์Šค ์•ž๋’ค์— ๋ถ™์ธ๋‹ค.

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

๊ทธ๋ฆผ 1. ๋ฌธ์„œ ๋ถ„๋ฅ˜

๋ฌธ์„œ ๋ถ„๋ฅ˜

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

pooler_output ๋ฒกํ„ฐ ๋’ค์— ๋ถ™๋Š” ์ถ”๊ฐ€ ๋ชจ๋“ˆ์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๋™์ผํ•˜๋‹ค. ์šฐ์„  pooler_output๋ฒกํ„ฐ (๊ทธ๋ฆผ์—์„œ x) ์— ๋“œ๋กญ์•„์›ƒ์„ ์ ์šฉํ•œ๋‹ค.
๋“œ๋กญ์•„์›ƒ์„ ์ ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ๊ทธ๋ฆผ์—์„œ ์ž…๋ ฅ ๋ฒกํ„ฐ x์˜ 768๊ฐœ ์š”์†Ÿ๊ฐ’ ๊ฐ€์šด๋ฐ ์ผ๋ถ€๋ฅผ ๋žœ๋ค์œผ๋กœ 0์œผ๋กœ ๋ฐ”๊ฟ” ์ดํ›„ ๊ณ„์‚ฐ์— ํฌํ•จํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

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

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

๊ทธ ๋‹ค์Œ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์„ ๊ณฑํ•ด pooler_output์„ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•  ๋ฒ”์ฃผ ์ˆ˜๋งŒํผ์˜ ์ฐจ์›์„ ๊ฐ–๋Š” ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค (๊ทธ๋ฆผ์—์„œ net).
๋งŒ์ผ pooler_output๋ฒกํ„ฐ๊ฐ€ 768์ฐจ์›์ด๊ณ  ๋ถ„๋ฅ˜ ๋Œ€์ƒ ๋ฒ”์ฃผ ์ˆ˜๊ฐ€ 2๊ฐœ(๊ธ์ •, ๋ถ€์ •)๋ผ๋ฉด ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋Š” 768 * 2์ด ๋œ๋‹ค.
์—ฌ๊ธฐ์— ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์ทจํ•˜๋ฉด ๋ชจ๋ธ์˜ ์ตœ์ข… ์ถœ๋ ฅ (๊ทธ๋ฆผ์—์„œ y) ์ด ๋œ๋‹ค.

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

Share