Cross-Encoder์™€ Bi-Encoder (feat. SentenceBERT)

1

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
12/16
post-thumbnail

๐Ÿ’ก ๊ฐœ์š”

๊ณฐํŒŒ๋‹ค ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ฌธ์žฅ ๊ฐ„ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•  ๋•Œ์— Bi-Encoder ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ธ SentenceBERT๋ฅผ ์‚ฌ์šฉํ•ด ํ•™์Šต์‹œํ‚ค๊ณ ์ž ํ–ˆ๋‹ค. ๋‹น์‹œ์— Cross-Encoder์™€ Bi-Encoder ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๋•Œ ์„ฑ๋Šฅ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์†๋„ ์ฐจ์ด๋„ ๋งค์šฐ ์ปธ์—ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ฒƒ์ด ์–ด๋–ค ์›์ธ์—์„œ ๊ธฐ์ธํ–ˆ๋Š”์ง€ ์ •ํ™•ํžˆ๋Š” ์•Œ์ง€ ๋ชปํ–ˆ๊ณ  ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ ๋ฐ”๋นด๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์— ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•˜๊ณ  ๋‹ค์Œ ํฌ์ŠคํŠธ์—์„œ๋Š” 1ํšŒ๋…์„ ์™„๋ฃŒํ•œ SentenceBERT ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค.

Cross-Encoder๋ž€?

์ „ํ†ต์ ์ธ BERT ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ฌธ์žฅ ๊ฐ„ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. Classification ํ˜น์€ Regression์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ Encoder ๊ตฌ์กฐ์— ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚ด๋†“๊ธฐ ์œ„ํ•œ layer๋ฅผ ์ถ”๊ฐ€๋กœ ์Œ“๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Encoder์— ๋ฌธ์žฅ Pair(ํ˜น์€ Triplet)์„ ๋„ฃ์–ด์ฃผ๊ณ  ๋ชจ๋ธ์—์„œ ๋‚˜์˜จ CLS ํ† ํฐ์„(ํ˜น์€ Mean / Max Pooling์„ ๊ฑฐ์นœ ๋ฒกํ„ฐ๋ฅผ) ์ถ”๊ฐ€๋œ layer์— ๋„ฃ์–ด์ฃผ์–ด ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค.

Pre-trained ๋ชจ๋ธ์„ ๊ฐ€์ ธ์™€์„œ fine-tuning์„ ์ง„ํ–‰์„ ํ•ด๋ณด์•˜๋‹ค๋ฉด ์ด์ฒ˜๋Ÿผ ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ์ด ํ•œ ๋ฒˆ์— [SEP]ํ† ํฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง„ ๊ตฌ์กฐ๊ฐ€ ์ต์ˆ™ํ•  ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” ํฐ ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.

ํ•ด๋‹น ๋ชจ๋ธ์—์„œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ๋ฌผ์€ ๊ฒฐ๊ตญ ์ž„๋ฒ ๋”ฉ์ด ์•„๋‹ˆ๋ผ ๋ฌธ์žฅ Pair๊ฐ€ ๋“ค์–ด๊ฐ”์„ ๋•Œ์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์ด๋‹ค. ์ฆ‰, [CLS] ํ† ํฐ์„ ๊ตฌํ•ด์ค€ ํ›„์— ๊ทธ๊ฒƒ์„ ์ถ”๊ฐ€์ ์ธ layer์˜ input์œผ๋กœ ๋„ฃ์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ์— ์ƒ๋‹นํžˆ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋˜ํ•œ Test ํ™˜๊ฒฝ์—์„œ๋„ ํ•ด๋‹น ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์žฅ pair๊ฐ€ ๋“ค์–ด๊ฐˆ ๋•Œ๋งˆ๋‹ค ์œ ์‚ฌ๋„๋ฅผ ์ „์ฒด ๋ชจ๋ธ์—์„œ ๊ตฌํ•ด์ฃผ์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋†’์€ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜๋‹ค. n๊ฐœ์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์ž์‹ ์„ ์ œ์™ธํ•œ n-1๊ฐœ์™€ ๋น„๊ต๋ฅผ ํ•˜๋ฉฐ ํ•™์Šตํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด n(nโˆ’1)2\frac {n(n-1)}{2} ์˜ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜๋‹ค.

๋˜ํ•œ ์ด๋Š” ๋ฌธ์žฅ ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ Encoder๊ฐ€ ํ•™์Šตํ–ˆ๋‹ค๋ผ๊ณ  ๋ณด๊ธฐ๋Š” ์–ด๋ ต๋‹ค. ๋‹จ์ผ ๋ฌธ์žฅ์ด Encoder์— ๋“ค์–ด๊ฐ€์„œ ๊ทธ๊ฒƒ์„ ์˜๋ฏธ์ ์œผ๋กœ ์ ์ ˆํ•œ ์œ„์น˜์— ์ž„๋ฒ ๋”ฉ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฌธ์žฅ ์œ ์‚ฌ๋„๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋‚ด๋ณด๋‚ด๋Š” ๋ชจ๋ธ์ด๋ƒ๊ฐ€ ๋ชฉํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Bi-Encoder๋ž€?

๊ทธ๋ ‡๋‹ค๋ฉด ์œ„์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ? ์šฐ๋ฆฌ์˜ Encoder๊ตฌ์กฐ๋ฅผ ์ถ”๊ฐ€์ ์ธ layer๊ฐ€ ์•„๋‹ˆ๋ผ ์ •๋ง Encoder ๊ทธ ์—ญํ• ์— ์ถฉ์‹คํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ๋ผ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์€ Encoder ์œ„์— ์ถ”๊ฐ€์ ์ธ layer๋ฅผ ์Œ“์ง€ ์•Š์œผ๋ฉด ๋œ๋‹ค. Encoder๋Š” ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์— ์ถฉ์‹คํ•˜๋„๋ก ๋งŒ๋“ค๊ณ  layer๊ฐ€ ์•„๋‹ˆ๋ผ ์ถ”๊ฐ€์ ์ธ ์™ธ๋ถ€ ๊ตฌ์กฐ๋กœ ๊ฒฐ๊ณผ๋ฌผ(์—ฌ๊ธฐ์„œ๋Š” ์œ ์‚ฌ๋„)๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์ด๋ฅผ Bi-Encoder ๊ตฌ์กฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

A๋ฌธ์žฅ, B๋ฌธ์žฅ์€ ํ•˜๋‚˜์˜ Encoder์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‘ Encoder์— ๊ฐ๊ฐ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ๋ฌธ์žฅ๋“ค์€ ๊ฐ๊ฐ ์ž„๋ฒ ๋”ฉ์ด ๋˜๋ฉฐ ๊ทธ๊ฒƒ๋“ค์˜ ๊ฒฐ๊ณผ๊ฐ€ Score๋ฅผ ์—ฐ์‚ฐํ•ด์ฃผ๋Š” ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ์ด ๋œ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ฏธ๋ฆฌ ํ•™์Šต๋œ ๋ฌธ์žฅ๋“ค(A, B๋ฌธ์žฅ)์€ ์ž„๋ฒ ๋”ฉ์ด ์™„๋ฃŒ๋˜์–ด ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค. Test ํ™˜๊ฒฝ์—์„œ ๋ฌธ์žฅ๋“ค์ด ์ฃผ์–ด์ง€๋ฉด(C, D๋ฌธ์žฅ) ๋ชจ๋ธ์€ ์ด๋ฏธ ์ €์žฅ๋œ ์ž„๋ฒ ๋”ฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ž„๋ฒ ๋”ฉ์„ ์—ฐ์‚ฐํ•ด์ฃผ๊ฒŒ ๋˜๊ณ  ์ด๋“ค์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฌผ์€ ์™ธ๋ถ€์  ๊ตฌ์กฐ๋กœ ์—ฐ์‚ฐ๋งŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋งค์šฐ ๋น ๋ฅด๊ณ  ๊ฐ๊ฐ์˜ ์—ญํ• ์ด ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๊ฐ€ ํ˜•์„ฑ์ด ๋œ๋‹ค. ํ•˜์ง€๋งŒ Bi-Encoder ๊ตฌ์กฐ๋„ ๋‹จ์ ์ด ์žˆ๋‹ค. ํ•˜๋‚˜์˜ Cross Encoder๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด Cross Encoder๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฌผ ์ž์ฒด๋ฅผ ์ž˜ ๋‚ด๊ธฐ ์œ„ํ•ด ๊ตฌํ˜„๋œ ๋ชจ๋ธ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฒˆ์™ธ) SentenceBERT ๋ž€?

(1) ๊ฐœ์š”

BERT๋กœ๋ถ€ํ„ฐ ๋ฌธ์žฅ ๋ฒกํ„ฐ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์กด์žฌ

๊ทธ์ค‘ ๋Œ€ํ‘œ์ ์ธ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

1) ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ [CLS] ํ† ํฐ์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ๋ฅผ ๋ฌธ์žฅ ๋ฒกํ„ฐ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ๊ฒƒ

  • BERT์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•
  • CLS ํ† ํฐ์ด ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์— ๋Œ€ํ•œ ์ด์ฒด์ ์ธ ํ‘œํ˜„์„ ์••์ถ•ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ„์ฃผํ•  ์ˆ˜ ์žˆ๋‹ค.

2) ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ BERT์˜ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ถœ๋ ฅ ๋ฒกํ„ฐ์— ๋Œ€ํ•ด์„œ ํ‰๊ท  ํ’€๋ง์„ ์ˆ˜ํ–‰ํ•œ ๋ฒกํ„ฐ๋ฅผ ๋ฌธ์žฅ ๋ฒกํ„ฐ๋กœ ๋ณด๋Š” ๊ฒƒ

์ด๋Š” CNN ๋ฐฉ์‹์—์„œ ์‚ฌ์šฉํ•˜๋Š” Pooling๊ณผ ๋™์ผํ•˜๋‹ค

3) ์„ธ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ 2๋ฒˆ๊ณผ ๋™์ผํ•˜์ง€๋งŒ ํ‰๊ท  ํ’€๋ง์ด ์•„๋‹Œ Max Pooling์„ ์ง„ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ

์ด๋•Œ ํ‰๊ท  ํ’€๋ง์„ ํ•˜๋Š๋ƒ์™€ ๋งฅ์Šค ํ’€๋ง์„ ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ์„œ ํ•ด๋‹น ๋ฌธ์žฅ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ€์ง€๋Š” ์˜๋ฏธ๋Š” ๋‹ค์†Œ ๋‹ค๋ฅธ๋ฐ, ํ‰๊ท  ํ’€๋ง์„ ์–ป์€ ๋ฌธ์žฅ ๋ฒกํ„ฐ์˜ ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์ชฝ์— ๊ฐ€๊น๋‹ค๋ฉด, ๋งฅ์Šค ํ’€๋ง์„ ์–ป์€ ๋ฌธ์žฅ ๋ฒกํ„ฐ์˜ ๊ฒฝ์šฐ์—๋Š” ์ค‘์š”ํ•œ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์ชฝ์— ๊ฐ€๊น๋‹ค.

(2) ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks ๋ผ๋Š” ๋…ผ๋ฌธ์—์„œ ์ฒ˜์Œ ๋“ฑ์žฅํ–ˆ๋‹ค.

SBERT๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ BERT์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์˜ ์„ฑ๋Šฅ์„ ์šฐ์ˆ˜ํ•˜๊ฒŒ ๊ฐœ์„ ์‹œํ‚จ ๋ชจ๋ธ

๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋Š” ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ ธ๊ฐ€๋˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ๋”์šฑ ํšจ๊ณผ์ ์œผ๋กœ ํ•˜๊ณ ์ž ํ–ˆ๋‹ค.

ํŠนํžˆ๋‚˜ SentenceBERT(์ดํ•˜ SBERT)๋Š” NLI ํ˜น์€ STS ๋ถ€๋ถ„์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋„๋ก fine-tuning์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ๋‘๋Š” ๋ชจ๋ธ

๋ชจ๋ธ ์ž์ฒด๊ฐ€ ์ด์— ๋Œ€ํ•œ Score ์œ„์ฃผ๋กœ ์ธก์ •์ด ๋˜์–ด ์žˆ๋‹ค.

(3) ๊ตฌ์กฐ

SBERT์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

ํ•ด๋‹น ํ˜•์‹์€ Bi-encoder ํ˜•์‹์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์•ž์„œ BERT์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ์–ป๊ธฐ์œ„ํ•œ ๋ฐฉ์‹์ด๋ผ๊ณ  ์–ธ๊ธ‰ํ–ˆ๋˜ ํ‰๊ท  ํ’€๋ง ๋˜๋Š” ๋งฅ์Šค ํ’€๋ง์„ ํ†ตํ•ด์„œ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ์–ป๋Š”๋‹ค

์ด๋ฅผ ๊ฐ๊ฐ u์™€ v๋ผ๊ณ  ํ•  ๋•Œ u๋ฒกํ„ฐ์™€ v๋ฒกํ„ฐ์˜ ์ฐจ์ด ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•œ๋‹ค. ์ด ๋ฒกํ„ฐ๋Š” ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด โˆฃuโˆ’vโˆฃ|u-v|์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ์„ธ ๊ฐ€์ง€ ๋ฒกํ„ฐ๋ฅผ ์—ฐ๊ฒฐ(concatenation)ํ•œ๋‹ค. ์„ธ๋ฏธ์ฝœ๋ก (;)์„ ์—ฐ๊ฒฐ ๊ธฐํ˜ธ๋กœ ํ•œ๋‹ค๋ฉด ์—ฐ๊ฒฐ๋œ ๋ฒกํ„ฐ์˜ ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

h=(u;v;โˆฃuโˆ’vโˆฃ)h = (u;v;|u-v|)

๋งŒ์•ฝ BERT์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ฐจ์›์ดย n ์ด๋ผ๋ฉด ์„ธ ๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•œ ๋ฒกํ„ฐย h ์˜ ์ฐจ์›์€ย 3n์ด ๋  ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ๋ฒกํ„ฐ๋ฅผ ์ถœ๋ ฅ์ธต์œผ๋กœ ๋ณด๋‚ด ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๋ฌธ์ œ ํ˜น์€ Regression์„ ํ†ตํ•œ STS ๋ฌธ์ œ๋ฅผ ํ’€๋„๋ก ํ•œ๋‹ค.

NLI๋ผ๋ฉด 3๊ฐ€์ง€ class(contradiction, Entailment, Neutral)๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋„๋ก ํ•™์Šต์‹œํ‚ค๋ฉฐ STS์˜ ๊ฒฝ์šฐ 0~5์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋‚ด๋ณด๋‚ด๋„๋ก ํ•™์Šต์‹œํ‚จ๋‹ค.

Classification์˜ ๊ฒฝ์šฐ๋ผ๋ฉด ๋ถ„๋ฅ˜ํ•˜๊ณ ์ž ํ•˜๋Š” ํด๋ž˜์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ย k ๋ผ๋ฉด, ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌย 3nย Xย k ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ํ–‰๋ ฌย WyW_y ์„ ๊ณฑํ•œ ํ›„์— ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผ์‹œํ‚จ๋‹ค๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค

o=softmax(Wyh)o = softmax(W_yh)

์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” STS(Semantic Textual Similarity)์—์„œ๋„ ๋งค์šฐ ํšจ๊ณผ์ ์ด๋‹ค

  • STS๋Š” ์œ ์‚ฌ๋„๋ฅผ 0 ~ 5์˜ Regression ์ˆ˜์น˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.

์ด๊ฒƒ๋„ ๋™์ผํ•˜๊ฒŒ ๋ฌธ์žฅ A์™€ ๋ฌธ์žฅ B ๊ฐ๊ฐ์„ BERT์˜ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ๊ณ , ํ‰๊ท  ํ’€๋ง ๋˜๋Š” ๋งฅ์Šค ํ’€๋ง์„ ํ†ตํ•ด์„œ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ ์–ป๋Š”๋‹ค.

์ด๋ฅผ ๊ฐ๊ฐ u์™€ v๋ผ๊ณ  ํ•˜์˜€์„ ๋•Œ ์ด ๋‘ ๋ฒกํ„ฐ์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์œ ์‚ฌ๋„์™€ ๋ ˆ์ด๋ธ” ์œ ์‚ฌ๋„์™€์˜ ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ(Mean Squared Error, MSE)๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต์‹œํ‚จ๋‹ค.

  • ๋งˆ์น˜ Regression์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ

์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„์˜ ๊ฐ’์˜ ๋ฒ”์œ„๋Š” -1๊ณผ 1์‚ฌ์ด๋ฏ€๋กœ ์œ„ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด ๋ ˆ์ด๋ธ” ์Šค์ฝ”์–ด์˜ ๋ฒ”์œ„๊ฐ€ 0~5์ ์ด๋ผ๋ฉด ํ•™์Šต ์ „ ํ•ด๋‹น ๋ ˆ์ด๋ธ”๋“ค์˜ ๊ฐ’๋“ค์„ 5๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ค„์ธ ํ›„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์„ ํƒ์— ๋”ฐ๋ผ
1) ๋ฌธ์žฅ ์Œ ๋ถ„๋ฅ˜ ํƒœ์Šคํฌ๋กœ๋งŒ ํŒŒ์ธ ํŠœ๋‹ ํ•  ์ˆ˜๋„ ์žˆ๊ณ ,
2) ๋ฌธ์žฅ ์Œ ํšŒ๊ท€ ํƒœ์Šคํฌ๋กœ๋งŒ ํŒŒ์ธ ํŠœ๋‹ ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ
1)์„ ํ•™์Šตํ•œ ํ›„์— 2)๋ฅผ ํ•™์Šตํ•˜๋Š” ์ „๋žต์„ ์„ธ์šธ ์ˆ˜๋„ ์žˆ๋‹ค.

  • ํ•ด๋‹น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด SBERT๋ฅผ ๊ฐ€์ ธ์™€์„œ fine-tuning์‹œํ‚ฌ ๊ฒƒ

์ฐธ๊ณ ๋ฌธํ—Œ :

profile
ํ”„๋ฆฌ๋ฏธ์–ด์™€ IDE๋งŒ ์žˆ๋‹ค๋ฉด ๋ฌด์—‡์ด๋“  ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด

0๊ฐœ์˜ ๋Œ“๊ธ€