l a b . . ๐Ÿซง/๋…ผ๋ฌธ review

[SBERT] Sentence-BERT

H J 2023. 4. 27. 15:13

์ผ๋‹จ ์บก์Šคํ†ค์—์„œ SBERT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์žฅ ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ๋กœ ํ•ด์„œ SBERT ๋…ผ๋ฌธ์„ ์ฝ๊ณ  ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค


Abstract

BERT์™€ RoBERTa๋Š” ์˜๋ฏธ๋ก ์  ํ…์ŠคํŠธ ์œ ์‚ฌ์„ฑ(STS)๊ณผ ๊ฐ™์€ sentence-pair regression tasks์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ตœ์ฒจ๋‹จ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€์ง€๋งŒ, ๋‘ ๋ฌธ์žฅ์„ ๋ชจ๋‘ ๋„คํŠธ์›Œํฌ์— ์ž…๋ ฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋งค์šฐ ํผ

BERT์˜ ๊ตฌ์„ฑ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ง๊ณผ ๊ฐ™์€ ๊ฐ๋…๋˜์ง€ ์•Š์€ ์ž‘์—…๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜๋ฏธ๋ก ์  ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰์—๋„ ์ ํ•ฉํ•˜์ง€ ์•Š์Œ

 

→ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ์˜๋ฏธ๋ก ์ ์œผ๋กœ ์˜๋ฏธ ์žˆ๋Š” ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ๋„์ถœํ•˜๊ธฐ ์œ„ํ•ด siamese and triplet network structures๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ๋œ BERT ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์ •ํ•œ SBERT(Sentence-BERT)๋ฅผ ์ œ์‹œ

BERT์˜ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ž‘์—… ์‹œ๊ฐ„ ์ค„์ž„


1. Introduction

์˜๋ฏธ๋ก ์ ์œผ๋กœ ์˜๋ฏธ ์žˆ๋Š” ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ 2๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋Š” siamese and triplet network๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BERT ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์ •ํ•œ SBERT(Sentence-BERT)๋ฅผ ์ œ์‹œ

๋Œ€๊ทœ๋ชจ ์˜๋ฏธ ์œ ์‚ฌ์„ฑ ๋น„๊ต, ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ ์˜๋ฏธ ๊ฒ€์ƒ‰์„ ํ†ตํ•œ ์ •๋ณด ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

 

BERT๋Š” cross-encoder๋ฅผ ์‚ฌ์šฉ

๋‘ ๋ฌธ์žฅ์ด transformer network์— ์ „๋‹ฌ๋˜๊ณ  ๋ชฉํ‘ฏ๊ฐ’์„ ์˜ˆ์ธก → ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์ด ๋„ˆ๋ฌด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์Œ ํšŒ๊ท€ ์ž‘์—…์— ์ ํ•ฉํ•˜์ง€ ์•Š์Œ

 

ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ ์˜๋ฏธ ๊ฒ€์ƒ‰์„ ๋‹ค๋ฃจ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ๊ฐ ๋ฌธ์žฅ์„ ์˜๋ฏธ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ๋ฌธ์žฅ์ด ๊ทผ์ ‘ํ•˜๋„๋ก ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ

์—ฐ๊ตฌ์ž๋“ค์€ BERT์— ๊ฐœ๋ณ„ ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜๊ณ  ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ๋„์ถœํ•˜๊ธฐ ์‹œ์ž‘

์ฝ”์‚ฌ์ธ ์œ ์‚ฌ์„ฑ ๋˜๋Š” ๋งจํ•ดํŠผ/์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ์™€ ๊ฐ™์€ ์œ ์‚ฌ์„ฑ ์ธก๋„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜๋ฏธ๋ก ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ๋ฌธ์žฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ → SBERT๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜๋ฏธ๋ก ์  ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

(10,000๊ฐœ์˜ ๋ฌธ์žฅ ๋ชจ์Œ์—์„œ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ๋ฌธ์žฅ ์Œ์„ ์ฐพ๋Š” ๋ณต์žก์„ฑ์€ BERT๋ฅผ ์‚ฌ์šฉํ•œ 65์‹œ๊ฐ„์—์„œ 10,000๊ฐœ์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ(SBERT๋ฅผ ์‚ฌ์šฉํ•œ ์•ฝ 5์ดˆ) ๋ฐ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ์„ฑ ๊ณ„์‚ฐ(์•ฝ 0.01์ดˆ)์œผ๋กœ ๊ฐ์†Œ)

 

์„น์…˜ 3: SBERT ์ œ์‹œ

์„น์…˜ 4: ์ผ๋ฐ˜์ ์ธ STS ์ž‘์—…๊ณผ ๋„์ „์ ์ธ ์ธ์ˆ˜ ์ธก๋ฉด ์œ ์‚ฌ์„ฑ(AFS) ๋ง๋ญ‰์น˜์— ๋Œ€ํ•ด SBERT ํ‰๊ฐ€

์„น์…˜ 5: SentEval์—์„œ SBERT๋ฅผ ํ‰๊ฐ€

์„น์…˜ 6: SBERT์˜ ์ผ๋ถ€ ์„ค๊ณ„ ์ธก๋ฉด์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ ˆ์ œ ์—ฐ๊ตฌ๋ฅผ ์ˆ˜ํ–‰

์„น์…˜ 7: ๋‹ค๋ฅธ ์ตœ์ฒจ๋‹จ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•๊ณผ ๋Œ€์กฐ์ ์œผ๋กœ SBERT ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์˜ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ๋น„๊ต


2. Related Work

  • BERT

์งˆ๋ฌธ ๋‹ต๋ณ€, ๋ฌธ์žฅ ๋ถ„๋ฅ˜ ๋ฐ ๋ฌธ์žฅ ์Œ ํšŒ๊ท€๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ NLP ์ž‘์—…์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ตœ์ฒจ๋‹จ ๊ฒฐ๊ณผ๋ฅผ ์„ค์ •ํ•˜๋Š” pre-trained transformer network

๋ฌธ์žฅ ์Œ ํšŒ๊ท€ ๋ถ„์„์„ ์œ„ํ•œ BERT ์ž…๋ ฅ์€ ํŠน์ˆ˜ [SEP] ํ† ํฐ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ๋ฌธ์žฅ์œผ๋กœ ๊ตฌ์„ฑ

BERT ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ์˜ ํฐ ๋‹จ์ ์€ ๋…๋ฆฝ์ ์ธ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์ด ๊ณ„์‚ฐ๋˜์ง€ ์•Š์•„ BERT์—์„œ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ๋„์ถœํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ž„

 

  • ์ตœ์ฒจ๋‹จ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์žˆ์Œ

 

SBERT๋Š” 20๋ถ„ ์ด๋‚ด์— ํŠœ๋‹๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋น„๊ต ๊ฐ€๋Šฅํ•œ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ


3. Model

SBERT๋Š” BERT/RoBERTa์˜ ์ถœ๋ ฅ์— ํ’€๋ง ์—ฐ์‚ฐ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ณ ์ • ํฌ๊ธฐ์˜ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ๋„์ถœ

์„ธ ๊ฐ€์ง€ ํ’€๋ง ์ „๋žต์„ ์‹คํ—˜

CLS ํ† ํฐ์˜ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ถœ๋ ฅ ๋ฒกํ„ฐ์˜ ํ‰๊ท (ํ‰๊ท  ์ „๋žต)์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ถœ๋ ฅ ๋ฒกํ„ฐ์˜ ์ตœ๋Œ€ ์‹œ๊ฐ„(MAX-์ „๋žต)์„ ๊ณ„์‚ฐ (๊ธฐ๋ณธ ๊ตฌ์„ฑ์€ ํ‰๊ท )

  • Classification Objective Function

u์™€ v๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์žฅ์„ ์š”์†Œ๋ณ„ ์ฐจ์ด |u-v|์™€ ์—ฐ๊ฒฐํ•˜๊ณ  ํ›ˆ๋ จ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ค‘์น˜ Wt ∈ R 3n×k๋กœ ๊ณฑํ•จ

 

์—ฌ๊ธฐ์„œ n์€ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์˜ ์ฐจ์›, ๋ ˆ์ด๋ธ”์˜ ์ˆ˜ k → ์†Œํ”„ํŠธ๋งฅ์Šค ๋ถ„๋ฅ˜๊ธฐ ๋ชฉ์  ํ•จ์ˆ˜

 

  • Regression Objective Function

์œ ์‚ฌ์„ฑ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๋ก ์—์„œ์˜ SBERT ์•„ํ‚คํ…์ฒ˜

u์™€ v๋ฅผ ํฌํ•จํ•˜๋Š” ๋‘ ๋ฌธ์žฅ ์‚ฌ์ด์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ์„ฑ์ด ๊ณ„์‚ฐ

ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ ์†์‹ค(MSE)์„ ๋ชฉํ‘œ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ

 

 

  • Triplet Objective Function

์ˆ˜ํ•™์ ์œผ๋กœ ๋‹ค์Œ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™” → ๋ชฉ์ ํ•จ์ˆ˜

์•ต์ปค ๋ฌธ์žฅ a, ์–‘์˜ ๋ฌธ์žฅ p ๋ฐ ์Œ์˜ ๋ฌธ์žฅ n

์‚ผ์ค‘ํ•ญ ์†์‹ค์€ a์™€ p ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ a์™€ n ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ณด๋‹ค ์ž‘์•„์ง€๋„๋ก ๋„คํŠธ์›Œํฌ๋ฅผ ์กฐ์ •

 

3.1 Training Details

SNLI, Multi-General NLI ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์กฐํ•ฉ์— ๋Œ€ํ•ด SBERT๋ฅผ ๊ต์œก

ใ„ด ๋ชจ์ˆœ, ์†๋ฐ• ๋ฐ ์ค‘๋ฆฝ ๋ ˆ์ด๋ธ”๋กœ ์ฃผ์„์ด ๋‹ฌ๋ฆฐ 570,000๊ฐœ์˜ ๋ฌธ์žฅ ์Œ์˜ ๋ชจ์Œ / 430,000๊ฐœ์˜ ๋ฌธ์žฅ ์Œ์„ ํฌํ•จํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ์žฅ๋ฅด์˜ ๊ตฌ์–ด ๋ฐ ํ•„๊ธฐ ํ…์ŠคํŠธ๋ฅผ ํฌํ•จ

 

1๊ฐœ์˜ ์—ํฌํฌ์— ๋Œ€ํ•ด 3๋ฐฉํ–ฅ ์†Œํ”„ํŠธ๋งฅ์Šค ๋ถ„๋ฅ˜๊ธฐ ๋ชฉํ‘œ ํ•จ์ˆ˜๋กœ SBERT๋ฅผ ๋ฏธ์„ธ ์กฐ์ •

๋ฐฐ์น˜ ํฌ๊ธฐ 16, ํ•™์Šต ์†๋„ 2e-5์˜ Adam Optimizer ๋ฐ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ 10% ์ด์ƒ์˜ ์„ ํ˜• ํ•™์Šต ์†๋„ ์›Œ๋ฐ์—…์„ ์‚ฌ์šฉ

๊ธฐ๋ณธ ํ’€๋ง ์ „๋žต์€ ํ‰๊ท  ํ’€๋ง


8. Conclusion

BERT๊ฐ€ ๋ฌธ์žฅ์„ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ์„ฑ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์œ ์‚ฌ์„ฑ ์ธก์ •์— ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ๋‹ค์†Œ ๋ถ€์ ํ•ฉํ•œ ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ๋งคํ•‘ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์คŒ

์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด SBERT(Sentence-BERT)๋ฅผ ์ œ์‹œ

 

SBERT๋Š” ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜์—์„œ BERT๋ฅผ ๋ฏธ์„ธ ์กฐ์ •

SBERT๋Š” ๊ณ„์‚ฐ์ ์œผ๋กœ ํšจ์œจ์ 

SBERT๋Š” BERT๋กœ ๋ชจ๋ธ๋งํ•˜๊ธฐ์—๋Š” ๊ณ„์‚ฐ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ž‘์—…์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 


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

 

์šฐ๋ฆฌ ์บก์Šคํ†ค์—์„œ๋Š” ๋ฌธ์žฅ ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„๋ฅผ ํ‰๊ฐ€ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์žฅ ์Œ ํšŒ๊ท€ ํƒœ์Šคํฌ๋กœ ํŒŒ์ธ ํŠœ๋‹์— ๋Œ€ํ•ด์„œ ๋” ์•Œ์•„๋ณด์•˜๋‹ค

 

๊ทธ๋ฆฌ๊ณ  ๋…ผ๋ฌธ์—์„œ๋„ ์‚ด์ง ์–ธ๊ธ‰๋˜๊ธด ํ•˜๋Š”๋ฐ ๊ธฐ์กด BERT์˜ ๊ฒฝ์šฐ Cross-Encoder๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ SBERT์˜ ๊ฒฝ์šฐ์—๋Š” Bi-Encoder๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ๋„ ์ถ”๊ฐ€๋กœ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด์„  ๋‹ค์Œ ๊ธ€์— ๋” ์ž์„ธํžˆ ์จ์•ผ์ง€ !